Commit Graph

557 Commits

Author SHA1 Message Date
Pascal Precht f635bad63c feat(StatusBaseInput): enforce `maximumLength` if it's set
Prior to this commit, setting `charLimit` on `StatusInput` would only have a visual effect
(rendering the char limit), however it wouldn't actually enforce this limit.

This was by intended behaviour, because we wanted to leave some room
for possible validators to kick in (for example a max length validator).

If however the char limit is enforce, such a validator would never kick in.
There seems to be consensus in the team that the limit should be enforced though.

This commit enables that.
2021-08-16 09:28:35 +02:00
Pascal Precht 58a3071626 feat(StatusIcon): add `play-filled` and `pause-filled` icons
Closes #310
2021-08-13 15:02:23 +02:00
Khushboo Mehta d24c2e6208 fix(StatusChatToolBar): Use updated StatusFlatRoundButton
Adapting the StatusChatToolBar with the new StatusFlatRoundButton and initializing it
2021-08-12 17:23:47 +02:00
Khushboo Mehta 5a0489ba17 feat(StatusFlatRoundButton): Adding tooltip to the button
Adding the StatusToolTip to the StatusFlatRoundButton. This will only function when the tooltip text is set from the outside
2021-08-12 17:23:47 +02:00
Khushboo Mehta ee4296837a feat(StatusToolTip): Adding an offset property
Added an offset property with which the arrow position for the tooltip can be adjusted from the outside
2021-08-12 17:23:47 +02:00
Pascal Precht 87ae7b90e7
chore: cut 0.4.0 release 2021-08-12 12:57:33 +02:00
Alexandra Betouni 30f5ae4b32 feat(StatusQ.Popups) Adding SearchPopup component
Closes #264
2021-08-12 11:35:09 +02:00
Pascal Precht 90aa9d76c0 fix(StatusPopupMenu): ensure icon or image settings exist
Fixes #295
2021-08-10 15:12:28 +02:00
RichΛrd 2e1359c9e2
fix(StatusAppNavBar): add profile button (#311) 2021-08-06 12:47:57 -04:00
RichΛrd aab59763e5
chore: replace profile icon (#312) 2021-08-06 12:47:52 -04:00
Alexandra Betouni a8e830f76c fix(StatusChatToolBar) Fixing more menu not closing
The menu has a CloseOnReleaseOutside policy and so it
was closing and immediately re-opened when the kebab icon
was clicked since it's outside the menu area and also was
calling the popup function of the menu. Added dummy bool
property to detect whether the menu is already closed and
not open it again

Closes #308
2021-08-05 09:59:39 +02:00
Pascal Precht b345c75a4c fix(StatusChatListItem): don't signal item selection if already selected
Closes #303
2021-08-03 09:48:53 +02:00
Jonathan Rainville 7e03daeaf9
feat(StatusListItem): add enabled prop to StatusLIneItem (#302) 2021-07-29 09:33:32 -04:00
Pascal Precht 556e5ccafc
feat(StatusQ.Theme.Core): introduce theme colors for StatusChatInput (#299)
There's some usage specific color being added to the chat input (which doesn't live in
StatusQ yet). To make sure we don't lose that change, I'm adding the new
colors to StatusQ theming system and have Status Desktop use it for the time being
until `StatusChatInput` is moved to StatusQ anyways.
2021-07-28 16:16:54 -04:00
Pascal Precht 79200f066e
chore: cut v0.3.0 release 2021-07-27 16:22:07 +02:00
Alexandra Betouni d327c51521 fix(StatusAppThreePanelLayout): limit right panel width to 300px
Also added handle in DemoApp as well as hiding text when in minimum
width for right and left panels
2021-07-26 16:49:53 +02:00
Pascal Precht e71bd45c55
chore(sandbox): make app wider due to minimum layout width
There have been minimum layout widths introduced lately which break the
sandbox app's UI. This commit makes it wider by default so this doesn't happen
2021-07-26 15:13:04 +02:00
Alexandra Betouni 762ff87bcc fix(StatusAppThreePanelLayout): limit center panel width to 300px 2021-07-26 15:07:06 +02:00
Pascal Precht 731a0f8c8f feat(sandbox): make use of `StatusInput` in chat view 2021-07-26 15:03:54 +02:00
Pascal Precht c8e903496c feat(StatusBaseInput): add icon support
Usage:

```qml
StatusBaseInput {
    icon.name: "..."
}
```

Closes #242
2021-07-26 15:03:54 +02:00
Pascal Precht f16e857c72 fix(StatusBaseInput): some minor style adjustment to adhere to design 2021-07-26 15:03:54 +02:00
Pascal Precht 3cf53d0233 feat(StatusInput): implement error message and charlimit APIs
Usage:

```qml
StatusInput {
  label: "Fieldname"
  charLimit: 30
  errorMessage: "Some error occured"

  input.valid: false
  input.text: "Some invalid value"
  input.valid: false
}
```

Closes #289, #290
2021-07-26 15:03:54 +02:00
Pascal Precht 646c00bd3a feat(Controls): introduce `StatusInput`
`StatusInput` is a wrapper around `StatusBaseInput` to provide additional
component composition for labels, error messages and alike

Closes #288
2021-07-26 15:03:54 +02:00
Pascal Precht ab3035930b fix(StatusBaseInput): ensure input text is selectable with mouse
This also sets the correcrt selection and selected text color.
2021-07-26 15:03:54 +02:00
Pascal Precht e8cce72c25 feat(StatusBaseInput): add visual validity state
Closes #287
2021-07-26 15:03:54 +02:00
Pascal Precht de1cec7e51 fix(StatusBaseInput): ensure clear button has the correct color
Also only render clear button when input has active focus.

Closes #286
2021-07-26 15:03:54 +02:00
Pascal Precht e1ebdaae2c feat(StatusBaseInput): add hover state visuals
Closes #285
2021-07-26 15:03:54 +02:00
Pascal Precht 35f20e33df fix(StatusBaseInput): add visuals for disabled state
Closes #284
2021-07-26 15:03:54 +02:00
Pascal Precht a2d48a5827 refactor(StatusBaseInput): change implicitWidth to adhere to design 2021-07-26 15:03:54 +02:00
Pascal Precht a1662adead chore(sandbox): introduce StatusInputPage 2021-07-26 15:03:54 +02:00
Pascal Precht 116ddfbb4d fix(StatusBaseInput): expose text prop alias 2021-07-26 15:03:54 +02:00
Alexandra Betouni 6170599060 fix(StatusAppThreePanelLayout): hide right panel when closed
Brought back opacity condition deleted by mistake
2021-07-26 11:27:34 +02:00
Alexandra Betouni ffc6fcb429 feat(StatusQ.Layout): introducing StatusAppThreePanelLayout
Added new component to support a 3 column view

Closes #272
2021-07-23 11:06:41 +02:00
Pascal Precht e3f7931442
fix(StatusListItem): ensure title area wraps text 2021-07-23 10:54:44 +02:00
Pascal Precht 3c4c7f040a feat(StatusPopupMenu): add support for letter identicons, identicons and images
This extends the popup menu to accept image or icon configurations a la `StatusIconSettings`
and `StatusImageSettings` in menu items, as well as nested menus.

Usage:

```qml
StatusPopupMenu {

    StatusMenuItem {
        text: "Custom Image icon"
        image.source: // image source
    }

    StatusMenuItem {
        text: "Custom identicon icon"
        image.source: // identicon source
        image.isIdenticon: true
    }

    StatusMenuItem {
        text: "Custom letter identicon"
        iconSettings.isLetterIdenticon: true
        iconSettings.background.color: "red"
    }
}
```

Few things to note:

- Because `StatusMenuItem` is an `Action` type, we can't extend its `icon` property,
  so we have to introduce our own (`iconSettings`) which can be of type `StatusIconSettings`
- Where possible, `StatusPopupMenu` will prefer `iconSettings.[...]` over `icon.[...]`,
  which means, both would work: `icon.name` and `iconSettings.name`.
  This is for consistency's sake. Consumers can switch completely to `iconSettings` if desired.
- When `isLetterIdenticon` is true, `iconSettings.background.color` must be set, similar
  to how it work in any other StatusQ component that makes use of this configuration type.

Closes #263
2021-07-22 13:24:26 +02:00
Pascal Precht 246bec0d97 feat(Popups): introduce `StatusMenuHeadline` component
This component can be used to group different sections within a popup menu.

Usage:

```qml
StatusPopupMenu {

    StatusMenuItem {
        text: "One"
        icon.name: "info"
    }

    StatusMenuHeadline {
        text: "Some text"
    }

    StatusMenuItem {
        text: "Two"
        icon.name: "info"
    }
}
```
2021-07-22 07:29:59 +02:00
Pascal Precht baefedb895 fix(StatusChatInfoButton): ensure pin icon button is always rendered
Closes #278
2021-07-22 07:29:34 +02:00
Pascal Precht e4e7ebe3cd
fix(StatusModal): reset image/identicon width when loader state has changed 2021-07-21 11:46:22 +02:00
Pascal Precht ca6fb2b9e4
chore(CHANGELOG): add missing version number 2021-07-21 10:16:00 +02:00
Pascal Precht b26d350cde
chore: cut 0.2.0 release 2021-07-21 10:10:54 +02:00
Pascal Precht 51b7c71dce feat(StatusToolTip): expose `arrow` for fine-grain control
There's cases where the arrow on the tooltip needs to be repositioned, for example
when the tooltip doesn't fit into the viewport anymore but is centered below a button.
2021-07-21 09:57:27 +02:00
Pascal Precht 031319968d feat(StatusListItem): support tertiaryTitle
Usage:

```qml
StatusListItem {
    title: ...
    subTitle: ...
    tertiaryTitle: ...
}
```

Closes #275
2021-07-21 09:57:15 +02:00
Pascal Precht fda9b71f7b feat(StatusModal): introduce support for identicons and letter identicons
Usage:

```qml
StatusModal {

    header.image.isIdenticon: ...

    // or

    header.icon.isLetterIdenticon: ...
    header.icon.background.color: ...
}
```

Closes #269
2021-07-21 09:57:03 +02:00
Pascal Precht 6775460356 chore: add thumbs up/down icons 2021-07-21 09:56:54 +02:00
Pascal Precht d1f8e3e5f0 fix(StatusPopupMenu): ensure menu items elide 2021-07-20 12:40:25 +02:00
Pascal Precht 18dbaadd43 feat(StatusModal): render header and footer border by default
This adds a `StatusModalDivider` to the header and footer so they don't
have to be put into `content` and therefore won't scroll out of the viewport
if the content exceeds the modal height.

The footer divider is only rendered when there's indeed action buttons
provided.

Closes #265
2021-07-16 13:40:09 +02:00
Anthony Laibe 52cb97e409 fix(StatusChatListCategory): ensures showActionButtons is taken into account
when showing the menu button and right click
2021-07-16 13:39:33 +02:00
Anthony Laibe 9cfcdace21 feat(StatusChatListAndCategories): new API showPopupMenu 2021-07-16 13:39:33 +02:00
Anthony Laibe 38c04cb91c feat(StatusChatInfoToolBar): make statusMenuButton public 2021-07-16 13:39:33 +02:00
Pascal Precht 214ef6b021 feat(StatusListItem): add identicon support
Closes #261
2021-07-16 08:55:48 +02:00