@quidgest/ui 0.20.1 → 0.21.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (129) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/README.md +10 -0
  3. package/dist/json/api.json +36 -1
  4. package/dist/ui.css +52 -248
  5. package/dist/ui.esm.js +782 -677
  6. package/dist/ui.js +718 -613
  7. package/dist/ui.min.css +1 -1
  8. package/dist/ui.min.js +718 -613
  9. package/dist/ui.scss +74 -34
  10. package/esm/components/QAccordion/QAccordionItem.vue.js +1 -1
  11. package/esm/components/QBadge/QBadge.d.ts.map +1 -1
  12. package/esm/components/QBadge/QBadge.vue.js +20 -24
  13. package/esm/components/QButton/QButton.d.ts.map +1 -1
  14. package/esm/components/QButton/QButton.vue.js +32 -29
  15. package/esm/components/QCheckbox/QCheckbox.vue.js +1 -1
  16. package/esm/components/QDialog/QDialog.d.ts +4 -2
  17. package/esm/components/QDialog/QDialog.d.ts.map +1 -1
  18. package/esm/components/QDialog/QDialog.vue.js +84 -74
  19. package/esm/components/QDialog/QDialogProvider.d.ts.map +1 -1
  20. package/esm/components/QDialog/QDialogProvider.vue.js +21 -12
  21. package/esm/components/QDialog/index.d.ts +72 -3
  22. package/esm/components/QDialog/index.d.ts.map +1 -1
  23. package/esm/components/QDialog/types.d.ts +10 -1
  24. package/esm/components/QDialog/types.d.ts.map +1 -1
  25. package/esm/components/QDismissibleLayer/QDismissibleLayer.d.ts.map +1 -1
  26. package/esm/components/QDismissibleLayer/QDismissibleLayer.vue.js +9 -8
  27. package/esm/components/QDivider/QDivider.d.ts.map +1 -1
  28. package/esm/components/QDivider/QDivider.vue.js +3 -3
  29. package/esm/components/QFileUpload/QFileUpload.vue.js +1 -1
  30. package/esm/components/QGauge/QGauge.vue.js +1 -1
  31. package/esm/components/QList/QListItem.d.ts.map +1 -1
  32. package/esm/components/QList/QListItem.vue.js +5 -2
  33. package/esm/components/QList/QListItemGroup.vue.js +1 -1
  34. package/esm/components/QObfuscation/QObfuscation.vue.js +1 -1
  35. package/esm/components/QPhoneField/QPhoneField.d.ts.map +1 -1
  36. package/esm/components/QPhoneField/QPhoneField.vue.js +1 -1
  37. package/esm/components/QPropertyList/QPropertyListGroup.vue.js +1 -1
  38. package/esm/components/QPropertyList/QPropertyListRow.vue.js +1 -1
  39. package/esm/components/QPropertyList/index.d.ts.map +1 -1
  40. package/esm/components/QRadioGroup/QRadioButton.vue.js +1 -1
  41. package/esm/components/QRadioGroup/QRadioGroup.vue.js +2 -2
  42. package/esm/components/QSelect/QSelect.d.ts.map +1 -1
  43. package/esm/components/QSelect/QSelect.vue.js +1 -1
  44. package/esm/components/QSidebar/QSidebar.d.ts.map +1 -1
  45. package/esm/components/QSidebar/QSidebar.vue.js +19 -10
  46. package/esm/components/QSidebar/QSidebarItem.d.ts.map +1 -1
  47. package/esm/components/QSidebar/QSidebarItem.vue.js +51 -49
  48. package/esm/components/QSidebar/context.d.ts +7 -0
  49. package/esm/components/QSidebar/context.d.ts.map +1 -1
  50. package/esm/components/QSwitch/QSwitch.vue.js +1 -1
  51. package/esm/components/QTabs/QTab.d.ts.map +1 -1
  52. package/esm/components/QTabs/QTab.vue.js +52 -50
  53. package/esm/components/QTabs/QTabs.d.ts.map +1 -1
  54. package/esm/components/QTabs/QTabs.vue.js +37 -12
  55. package/esm/components/QTabs/context.d.ts +7 -0
  56. package/esm/components/QTabs/context.d.ts.map +1 -1
  57. package/esm/components/QTextArea/QTextArea.vue.js +1 -1
  58. package/esm/components/QTextField/QTextField.d.ts.map +1 -1
  59. package/esm/components/QTextField/QTextField.vue.js +1 -1
  60. package/esm/components/QThemeProvider/QThemeProvider.vue.js +1 -1
  61. package/esm/components/QToast/QToast.d.ts +4 -2
  62. package/esm/components/QToast/QToast.d.ts.map +1 -1
  63. package/esm/components/QToast/QToast.vue.js +80 -67
  64. package/esm/components/QToast/QToaster.d.ts.map +1 -1
  65. package/esm/components/QToast/QToaster.vue.js +21 -16
  66. package/esm/components/QToast/index.d.ts +39 -3
  67. package/esm/components/QToast/index.d.ts.map +1 -1
  68. package/esm/components/QToast/types.d.ts +6 -2
  69. package/esm/components/QToast/types.d.ts.map +1 -1
  70. package/esm/components/QToggleGroup/QToggleGroupItem.vue.js +1 -1
  71. package/esm/components/QTooltip/QTooltip.vue.js +1 -1
  72. package/esm/composables/index.d.ts +2 -2
  73. package/esm/composables/index.d.ts.map +1 -1
  74. package/esm/composables/useColor/index.d.ts +46 -17
  75. package/esm/composables/useColor/index.d.ts.map +1 -1
  76. package/esm/composables/useColor/index.js +57 -29
  77. package/esm/composables/useColor/types.d.ts +4 -1
  78. package/esm/composables/useColor/types.d.ts.map +1 -1
  79. package/esm/composables/useDialog/_internal.d.ts +2 -0
  80. package/esm/composables/useDialog/_internal.d.ts.map +1 -0
  81. package/esm/composables/useDialog/_internal.js +65 -0
  82. package/esm/composables/useDialog/index.d.ts +11 -3
  83. package/esm/composables/useDialog/index.d.ts.map +1 -1
  84. package/esm/composables/useDialog/index.js +38 -22
  85. package/esm/composables/useDialog/types.d.ts +25 -11
  86. package/esm/composables/useDialog/types.d.ts.map +1 -1
  87. package/esm/composables/useDismissibleLayerStack/index.d.ts +17 -2
  88. package/esm/composables/useDismissibleLayerStack/index.d.ts.map +1 -1
  89. package/esm/composables/useDismissibleLayerStack/index.js +28 -11
  90. package/esm/composables/useGroup/index.d.ts.map +1 -1
  91. package/esm/composables/useGroup/index.js +12 -1
  92. package/esm/composables/useId/index.d.ts +18 -0
  93. package/esm/composables/useId/index.d.ts.map +1 -0
  94. package/esm/composables/useId/index.js +10 -0
  95. package/esm/composables/useToast/_internal.d.ts +2 -0
  96. package/esm/composables/useToast/_internal.d.ts.map +1 -0
  97. package/esm/composables/useToast/_internal.js +142 -0
  98. package/esm/composables/useToast/index.d.ts +8 -25
  99. package/esm/composables/useToast/index.d.ts.map +1 -1
  100. package/esm/composables/useToast/index.js +29 -26
  101. package/esm/composables/useToast/types.d.ts +31 -17
  102. package/esm/composables/useToast/types.d.ts.map +1 -1
  103. package/esm/framework.d.ts.map +1 -1
  104. package/esm/framework.js +16 -12
  105. package/esm/templates/theme.js +39 -39
  106. package/esm/utils/color/contrast.d.ts +11 -4
  107. package/esm/utils/color/contrast.d.ts.map +1 -1
  108. package/esm/utils/color/contrast.js +16 -3
  109. package/esm/utils/color/index.d.ts +1 -0
  110. package/esm/utils/color/index.d.ts.map +1 -1
  111. package/esm/utils/color/merge.d.ts +9 -0
  112. package/esm/utils/color/merge.d.ts.map +1 -1
  113. package/esm/utils/color/merge.js +21 -22
  114. package/esm/utils/color/parse.d.ts +21 -5
  115. package/esm/utils/color/parse.d.ts.map +1 -1
  116. package/esm/utils/color/parse.js +88 -20
  117. package/esm/utils/color/theme-colors.d.ts +35 -0
  118. package/esm/utils/color/theme-colors.d.ts.map +1 -0
  119. package/esm/utils/color/theme-colors.js +25 -0
  120. package/esm/utils/index.js +50 -42
  121. package/package.json +3 -5
  122. package/esm/composables/uid.d.ts +0 -9
  123. package/esm/composables/uid.d.ts.map +0 -1
  124. package/esm/composables/uid.js +0 -8
  125. package/esm/composables/useToast/types.js +0 -4
  126. package/esm/vendors/uuid/dist/native.js +0 -3
  127. package/esm/vendors/uuid/dist/rng.js +0 -11
  128. package/esm/vendors/uuid/dist/stringify.js +0 -8
  129. package/esm/vendors/uuid/dist/v4.js +0 -20
package/CHANGELOG.md CHANGED
@@ -9,6 +9,23 @@ On `0.x`, breaking changes typically ship as a **minor** bump. The `/release` wo
9
9
 
10
10
  Entries below start at **0.16.0**. Earlier history is in git / GitLab MRs. Patch releases within a minor line may be summarized under that minor unless a break shipped in between.
11
11
 
12
+ ## [0.21.0] - 2026-09-10
13
+
14
+ ### Changed
15
+
16
+ - **Breaking:** `useId` — no longer returns a UUID-based `Ref` (`uid-…`); wraps Vue `useId` as a `ComputedRef` with `q-…` ids (custom `app.config.idPrefix` becomes `q-<prefix>-…`) and must run during setup. Drop any reliance on the removed `uuid` dependency from `@quidgest/ui`.
17
+ - **Breaking:** `useDialog` / `useToast` — require `createFramework` plus a mounted `QDialogProvider` / `QToaster`. `addDialog` / `addToast` no longer take a separate `id` argument and return `Promise<string>`; prefer `await addDialog(props)` / `await addToast(props)`, pass overrides via `props.id`, and use `cancelDialog` / `cancelToast` before registration. `removeDialog` / `removeToast` throw if the id is missing; do not mutate the public `dialogs` / `toasts` lists to update the store.
18
+ - **Breaking:** Package exports — the `./*` catch-all export was removed; import only via documented entry points.
19
+ - **Breaking:** Color utilities — public `isCssColor` removed; use `isThemeColor` for utility/BEM classification, or `tryParseColor` / `parseColor` to test parseability. Unsupported / unparsed CSS colors no longer silently fall back to primary-like CSS vars (expect `undefined` style and a non-production warning). Contrasting/`on*` text for custom colors may change where WCAG luminance disagrees with the old HSL-lightness heuristic.
20
+ - **Breaking:** `QButton` / `QBadge` / `QToast` — utility color BEM modifiers (`q-button--primary`, `q-badge--…`, `q-toast--…`, etc.) are no longer emitted; style via bound `--q-*-main-color` / hover CSS variables (`.q-button--background` remains for that special case). Do not target those color modifier classes in consumer CSS.
21
+ - Theme / `useColor` — Light/Dark schemes and default `on*` tokens aligned with WCAG; pure `on*` surface tokens; utility colors always bind style (including Dark-scheme hover).
22
+
23
+ ### Fixed
24
+
25
+ - `QInputGroup` — restore radius for solo addons; equalize sibling control heights
26
+ - `QIcon` — size uncropped SVGs correctly in controls
27
+ - Storybook — set per-story Vue `idPrefix` to avoid id collisions across stories
28
+
12
29
  ## [0.20.1] - 2026-09-04
13
30
 
14
31
  ### Added
package/README.md CHANGED
@@ -42,6 +42,16 @@ import framework from './plugins/quidgest-ui'
42
42
  createApp(App).use(framework).mount('#app')
43
43
  ```
44
44
 
45
+ Mount **one** `QDialogProvider` and **one** `QToaster` in the app root (for example `App.vue`). `useDialog` / `useToast` share a single list per app; mounting a second provider or toaster for the same app throws.
46
+
47
+ ```vue
48
+ <template>
49
+ <q-dialog-provider />
50
+ <q-toaster />
51
+ <router-view />
52
+ </template>
53
+ ```
54
+
45
55
  Once installed, components can be used like so:
46
56
 
47
57
  ```vue
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "0.20.1",
2
+ "version": "0.21.0",
3
3
  "components": [
4
4
  {
5
5
  "name": "QAccordion",
@@ -2871,6 +2871,16 @@
2871
2871
  "default": "DEFAULT_ICONS",
2872
2872
  "required": false,
2873
2873
  "category": "Configuration"
2874
+ },
2875
+ {
2876
+ "name": "entryKey",
2877
+ "type": {
2878
+ "kind": "primitive",
2879
+ "name": "string"
2880
+ },
2881
+ "description": "",
2882
+ "default": "undefined",
2883
+ "required": false
2874
2884
  }
2875
2885
  ],
2876
2886
  "events": [
@@ -4397,6 +4407,16 @@
4397
4407
  "description": "Groups buttons with fields.",
4398
4408
  "code": "<q-input-group v-bind=\"args\">\n\t\t\t\t<q-text-field placeholder=\"Search\" />\n\t\t\t\t<template #append>\n\t\t\t\t\t<q-button>\n\t\t\t\t\t\t<q-icon icon=\"magnify\" />\n\t\t\t\t\t</q-button>\n\t\t\t\t</template>\n\t\t\t</q-input-group>"
4399
4409
  },
4410
+ {
4411
+ "title": "Append Only",
4412
+ "description": "Append-only group — all four corners of the control should be rounded.",
4413
+ "code": "<q-input-group v-bind=\"args\">\n\t\t\t\t<template #append>\n\t\t\t\t\t<q-button>\n\t\t\t\t\t\t<q-icon icon=\"cog\" />\n\t\t\t\t\t</q-button>\n\t\t\t\t</template>\n\t\t\t</q-input-group>"
4414
+ },
4415
+ {
4416
+ "title": "Prepend Only",
4417
+ "description": "Prepend-only group — all four corners of the control should be rounded.",
4418
+ "code": "<q-input-group v-bind=\"args\">\n\t\t\t\t<template #prepend>\n\t\t\t\t\t<q-button>\n\t\t\t\t\t\t<q-icon icon=\"cog\" />\n\t\t\t\t\t</q-button>\n\t\t\t\t</template>\n\t\t\t</q-input-group>"
4419
+ },
4400
4420
  {
4401
4421
  "title": "Button Group Addon",
4402
4422
  "description": "Further extends button addons with multiple buttons.",
@@ -4407,6 +4427,11 @@
4407
4427
  "description": "Provides a textual description for the group.",
4408
4428
  "code": "<QInputGroup :label=\"Full name\" :required=\"true\" />"
4409
4429
  },
4430
+ {
4431
+ "title": "Mixed Heights",
4432
+ "description": "Keeps sibling controls aligned when one child has a larger intrinsic height.",
4433
+ "code": "<q-input-group v-bind=\"args\">\n\t\t\t\t<q-text-field placeholder=\"Name\" />\n\t\t\t\t<q-text-area placeholder=\"Notes\" :rows=\"3\" />\n\t\t\t</q-input-group>"
4434
+ },
4410
4435
  {
4411
4436
  "title": "Advanced Usage",
4412
4437
  "description": "Supports the creation of custom input groups using selects, text fields, buttons, and more.",
@@ -9485,6 +9510,16 @@
9485
9510
  "default": "DEFAULT_ICONS",
9486
9511
  "required": false,
9487
9512
  "category": "Configuration"
9513
+ },
9514
+ {
9515
+ "name": "entryKey",
9516
+ "type": {
9517
+ "kind": "primitive",
9518
+ "name": "string"
9519
+ },
9520
+ "description": "",
9521
+ "default": "undefined",
9522
+ "required": false
9488
9523
  }
9489
9524
  ],
9490
9525
  "events": [
package/dist/ui.css CHANGED
@@ -1462,6 +1462,10 @@ body *::-webkit-scrollbar-track {
1462
1462
  padding: 0.1rem;
1463
1463
  opacity: 0.5;
1464
1464
  }
1465
+ .q-clear-btn.q-button svg {
1466
+ width: 1.0005em;
1467
+ height: 1.0005em;
1468
+ }
1465
1469
  .q-clear-btn.q-button:hover {
1466
1470
  cursor: inherit;
1467
1471
  }
@@ -1637,86 +1641,6 @@ body *::-webkit-scrollbar-track {
1637
1641
  opacity: 0.6;
1638
1642
  pointer-events: none;
1639
1643
  }
1640
- .q-badge--primary {
1641
- --q-badge-main-color: var(--q-theme-primary);
1642
- --q-badge-main-color-rgb: var(--q-theme-primary-rgb);
1643
- --q-badge-on-main-color: var(--q-theme-on-primary);
1644
- --q-badge-on-main-color-rgb: var(--q-theme-on-primary-rgb);
1645
- --q-badge-hover-color: var(--q-theme-primary-dark);
1646
- --q-badge-hover-color-rgb: var(--q-theme-primary-dark-rgb);
1647
- --q-badge-on-hover-color: var(--q-theme-on-primary);
1648
- --q-badge-on-hover-color-rgb: var(--q-theme-on-primary-rgb);
1649
- }
1650
- .q-badge--secondary {
1651
- --q-badge-main-color: var(--q-theme-secondary);
1652
- --q-badge-main-color-rgb: var(--q-theme-secondary-rgb);
1653
- --q-badge-on-main-color: var(--q-theme-on-secondary);
1654
- --q-badge-on-main-color-rgb: var(--q-theme-on-secondary-rgb);
1655
- --q-badge-hover-color: var(--q-theme-secondary-dark);
1656
- --q-badge-hover-color-rgb: var(--q-theme-secondary-dark-rgb);
1657
- --q-badge-on-hover-color: var(--q-theme-on-secondary);
1658
- --q-badge-on-hover-color-rgb: var(--q-theme-on-secondary-rgb);
1659
- }
1660
- .q-badge--highlight {
1661
- --q-badge-main-color: var(--q-theme-highlight);
1662
- --q-badge-main-color-rgb: var(--q-theme-highlight-rgb);
1663
- --q-badge-on-main-color: var(--q-theme-on-highlight);
1664
- --q-badge-on-main-color-rgb: var(--q-theme-on-highlight-rgb);
1665
- --q-badge-hover-color: var(--q-theme-highlight-dark);
1666
- --q-badge-hover-color-rgb: var(--q-theme-highlight-dark-rgb);
1667
- --q-badge-on-hover-color: var(--q-theme-on-highlight);
1668
- --q-badge-on-hover-color-rgb: var(--q-theme-on-highlight-rgb);
1669
- }
1670
- .q-badge--info {
1671
- --q-badge-main-color: var(--q-theme-info);
1672
- --q-badge-main-color-rgb: var(--q-theme-info-rgb);
1673
- --q-badge-on-main-color: var(--q-theme-on-info);
1674
- --q-badge-on-main-color-rgb: var(--q-theme-on-info-rgb);
1675
- --q-badge-hover-color: var(--q-theme-info-dark);
1676
- --q-badge-hover-color-rgb: var(--q-theme-info-dark-rgb);
1677
- --q-badge-on-hover-color: var(--q-theme-on-info);
1678
- --q-badge-on-hover-color-rgb: var(--q-theme-on-info-rgb);
1679
- }
1680
- .q-badge--success {
1681
- --q-badge-main-color: var(--q-theme-success);
1682
- --q-badge-main-color-rgb: var(--q-theme-success-rgb);
1683
- --q-badge-on-main-color: var(--q-theme-on-success);
1684
- --q-badge-on-main-color-rgb: var(--q-theme-on-success-rgb);
1685
- --q-badge-hover-color: var(--q-theme-success-dark);
1686
- --q-badge-hover-color-rgb: var(--q-theme-success-dark-rgb);
1687
- --q-badge-on-hover-color: var(--q-theme-on-success);
1688
- --q-badge-on-hover-color-rgb: var(--q-theme-on-success-rgb);
1689
- }
1690
- .q-badge--warning {
1691
- --q-badge-main-color: var(--q-theme-warning);
1692
- --q-badge-main-color-rgb: var(--q-theme-warning-rgb);
1693
- --q-badge-on-main-color: var(--q-theme-on-warning);
1694
- --q-badge-on-main-color-rgb: var(--q-theme-on-warning-rgb);
1695
- --q-badge-hover-color: var(--q-theme-warning-dark);
1696
- --q-badge-hover-color-rgb: var(--q-theme-warning-dark-rgb);
1697
- --q-badge-on-hover-color: var(--q-theme-on-warning);
1698
- --q-badge-on-hover-color-rgb: var(--q-theme-on-warning-rgb);
1699
- }
1700
- .q-badge--danger {
1701
- --q-badge-main-color: var(--q-theme-danger);
1702
- --q-badge-main-color-rgb: var(--q-theme-danger-rgb);
1703
- --q-badge-on-main-color: var(--q-theme-on-danger);
1704
- --q-badge-on-main-color-rgb: var(--q-theme-on-danger-rgb);
1705
- --q-badge-hover-color: var(--q-theme-danger-dark);
1706
- --q-badge-hover-color-rgb: var(--q-theme-danger-dark-rgb);
1707
- --q-badge-on-hover-color: var(--q-theme-on-danger);
1708
- --q-badge-on-hover-color-rgb: var(--q-theme-on-danger-rgb);
1709
- }
1710
- .q-badge--neutral {
1711
- --q-badge-main-color: var(--q-theme-neutral);
1712
- --q-badge-main-color-rgb: var(--q-theme-neutral-rgb);
1713
- --q-badge-on-main-color: var(--q-theme-on-neutral);
1714
- --q-badge-on-main-color-rgb: var(--q-theme-on-neutral-rgb);
1715
- --q-badge-hover-color: var(--q-theme-neutral-dark);
1716
- --q-badge-hover-color-rgb: var(--q-theme-neutral-dark-rgb);
1717
- --q-badge-on-hover-color: var(--q-theme-on-neutral);
1718
- --q-badge-on-hover-color-rgb: var(--q-theme-on-neutral-rgb);
1719
- }
1720
1644
  .q-badge--large {
1721
1645
  min-height: 44px;
1722
1646
  }
@@ -1819,8 +1743,8 @@ body *::-webkit-scrollbar-track {
1819
1743
  --q-button-on-main-color-rgb: var(--q-theme-on-primary-rgb);
1820
1744
  --q-button-hover-color: var(--q-theme-primary-dark);
1821
1745
  --q-button-hover-color-rgb: var(--q-theme-primary-dark-rgb);
1822
- --q-button-on-hover-color: var(--q-theme-on-primary);
1823
- --q-button-on-hover-color-rgb: var(--q-theme-on-primary-rgb);
1746
+ --q-button-on-hover-color: var(--q-theme-on-primary-dark);
1747
+ --q-button-on-hover-color-rgb: var(--q-theme-on-primary-dark-rgb);
1824
1748
  display: inline-flex;
1825
1749
  -webkit-user-select: none;
1826
1750
  -moz-user-select: none;
@@ -1844,6 +1768,9 @@ body *::-webkit-scrollbar-track {
1844
1768
  .q-button.q-button--labeled {
1845
1769
  padding: 0.4rem 0.8rem;
1846
1770
  }
1771
+ .q-button.q-button--labeled:where(:has(.q-button__content > .q-icon)):where(:not(.q-button--icon-end)):where(:not(.q-button--icon-top)):where(:not(.q-button--icon-bottom)) {
1772
+ padding: 0.4rem 0.8rem 0.4rem 0.6rem;
1773
+ }
1847
1774
  .q-button__content {
1848
1775
  display: inline-flex;
1849
1776
  align-items: center;
@@ -1852,6 +1779,9 @@ body *::-webkit-scrollbar-track {
1852
1779
  width: 100%;
1853
1780
  z-index: 1;
1854
1781
  }
1782
+ .q-button__append {
1783
+ display: contents;
1784
+ }
1855
1785
  .q-button:disabled {
1856
1786
  opacity: 0.6;
1857
1787
  }
@@ -1945,91 +1875,11 @@ body *::-webkit-scrollbar-track {
1945
1875
  .q-button--pill {
1946
1876
  border-radius: 9999px;
1947
1877
  }
1948
- .q-button--primary {
1949
- --q-button-main-color: var(--q-theme-primary);
1950
- --q-button-main-color-rgb: var(--q-theme-primary-rgb);
1951
- --q-button-on-main-color: var(--q-theme-on-primary);
1952
- --q-button-on-main-color-rgb: var(--q-theme-on-primary-rgb);
1953
- --q-button-hover-color: var(--q-theme-primary-dark);
1954
- --q-button-hover-color-rgb: var(--q-theme-primary-dark-rgb);
1955
- --q-button-on-hover-color: var(--q-theme-on-primary);
1956
- --q-button-on-hover-color-rgb: var(--q-theme-on-primary-rgb);
1957
- }
1958
- .q-button--secondary {
1959
- --q-button-main-color: var(--q-theme-secondary);
1960
- --q-button-main-color-rgb: var(--q-theme-secondary-rgb);
1961
- --q-button-on-main-color: var(--q-theme-on-secondary);
1962
- --q-button-on-main-color-rgb: var(--q-theme-on-secondary-rgb);
1963
- --q-button-hover-color: var(--q-theme-secondary-dark);
1964
- --q-button-hover-color-rgb: var(--q-theme-secondary-dark-rgb);
1965
- --q-button-on-hover-color: var(--q-theme-on-secondary);
1966
- --q-button-on-hover-color-rgb: var(--q-theme-on-secondary-rgb);
1967
- }
1968
- .q-button--highlight {
1969
- --q-button-main-color: var(--q-theme-highlight);
1970
- --q-button-main-color-rgb: var(--q-theme-highlight-rgb);
1971
- --q-button-on-main-color: var(--q-theme-on-highlight);
1972
- --q-button-on-main-color-rgb: var(--q-theme-on-highlight-rgb);
1973
- --q-button-hover-color: var(--q-theme-highlight-dark);
1974
- --q-button-hover-color-rgb: var(--q-theme-highlight-dark-rgb);
1975
- --q-button-on-hover-color: var(--q-theme-on-highlight);
1976
- --q-button-on-hover-color-rgb: var(--q-theme-on-highlight-rgb);
1977
- }
1978
- .q-button--info {
1979
- --q-button-main-color: var(--q-theme-info);
1980
- --q-button-main-color-rgb: var(--q-theme-info-rgb);
1981
- --q-button-on-main-color: var(--q-theme-on-info);
1982
- --q-button-on-main-color-rgb: var(--q-theme-on-info-rgb);
1983
- --q-button-hover-color: var(--q-theme-info-dark);
1984
- --q-button-hover-color-rgb: var(--q-theme-info-dark-rgb);
1985
- --q-button-on-hover-color: var(--q-theme-on-info);
1986
- --q-button-on-hover-color-rgb: var(--q-theme-on-info-rgb);
1987
- }
1988
- .q-button--success {
1989
- --q-button-main-color: var(--q-theme-success);
1990
- --q-button-main-color-rgb: var(--q-theme-success-rgb);
1991
- --q-button-on-main-color: var(--q-theme-on-success);
1992
- --q-button-on-main-color-rgb: var(--q-theme-on-success-rgb);
1993
- --q-button-hover-color: var(--q-theme-success-dark);
1994
- --q-button-hover-color-rgb: var(--q-theme-success-dark-rgb);
1995
- --q-button-on-hover-color: var(--q-theme-on-success);
1996
- --q-button-on-hover-color-rgb: var(--q-theme-on-success-rgb);
1997
- }
1998
- .q-button--warning {
1999
- --q-button-main-color: var(--q-theme-warning);
2000
- --q-button-main-color-rgb: var(--q-theme-warning-rgb);
2001
- --q-button-on-main-color: var(--q-theme-on-warning);
2002
- --q-button-on-main-color-rgb: var(--q-theme-on-warning-rgb);
2003
- --q-button-hover-color: var(--q-theme-warning-dark);
2004
- --q-button-hover-color-rgb: var(--q-theme-warning-dark-rgb);
2005
- --q-button-on-hover-color: var(--q-theme-on-warning);
2006
- --q-button-on-hover-color-rgb: var(--q-theme-on-warning-rgb);
2007
- }
2008
- .q-button--danger {
2009
- --q-button-main-color: var(--q-theme-danger);
2010
- --q-button-main-color-rgb: var(--q-theme-danger-rgb);
2011
- --q-button-on-main-color: var(--q-theme-on-danger);
2012
- --q-button-on-main-color-rgb: var(--q-theme-on-danger-rgb);
2013
- --q-button-hover-color: var(--q-theme-danger-dark);
2014
- --q-button-hover-color-rgb: var(--q-theme-danger-dark-rgb);
2015
- --q-button-on-hover-color: var(--q-theme-on-danger);
2016
- --q-button-on-hover-color-rgb: var(--q-theme-on-danger-rgb);
2017
- }
2018
- .q-button--neutral {
2019
- --q-button-main-color: var(--q-theme-neutral);
2020
- --q-button-main-color-rgb: var(--q-theme-neutral-rgb);
2021
- --q-button-on-main-color: var(--q-theme-on-neutral);
2022
- --q-button-on-main-color-rgb: var(--q-theme-on-neutral-rgb);
2023
- --q-button-hover-color: var(--q-theme-neutral-dark);
2024
- --q-button-hover-color-rgb: var(--q-theme-neutral-dark-rgb);
2025
- --q-button-on-hover-color: var(--q-theme-on-neutral);
2026
- --q-button-on-hover-color-rgb: var(--q-theme-on-neutral-rgb);
2027
- }
2028
1878
  .q-button--background {
2029
1879
  --q-button-main-color: var(--q-theme-background);
2030
1880
  --q-button-on-main-color: var(--q-theme-on-background);
2031
1881
  --q-button-hover-color: var(--q-theme-primary-dark);
2032
- --q-button-on-hover-color: var(--q-theme-on-primary);
1882
+ --q-button-on-hover-color: var(--q-theme-on-primary-dark);
2033
1883
  }
2034
1884
  .q-button--loading:hover {
2035
1885
  cursor: not-allowed;
@@ -2044,6 +1894,12 @@ body *::-webkit-scrollbar-track {
2044
1894
  .q-button--small.q-button--labeled {
2045
1895
  padding: 0.25rem 0.5rem;
2046
1896
  }
1897
+ .q-button--small.q-button--labeled:where(:has(.q-button__content > .q-icon)):where(:not(.q-button--icon-end)):where(:not(.q-button--icon-top)):where(:not(.q-button--icon-bottom)) {
1898
+ padding: 0.25rem 0.5rem 0.25rem 0.375rem;
1899
+ }
1900
+ .q-button--small.q-button--icon-end.q-button--labeled:where(:has(.q-button__content > .q-icon)) {
1901
+ padding: 0.25rem 0.375rem 0.25rem 0.5rem;
1902
+ }
2047
1903
  .q-button--borderless {
2048
1904
  border-color: transparent;
2049
1905
  }
@@ -2053,6 +1909,9 @@ body *::-webkit-scrollbar-track {
2053
1909
  .q-button--icon-end .q-button__content {
2054
1910
  flex-direction: row-reverse;
2055
1911
  }
1912
+ .q-button--icon-end.q-button--labeled:where(:has(.q-button__content > .q-icon)) {
1913
+ padding: 0.4rem 0.6rem 0.4rem 0.8rem;
1914
+ }
2056
1915
  .q-button--icon-top .q-button__content {
2057
1916
  flex-direction: column;
2058
1917
  }
@@ -2741,6 +2600,10 @@ body *::-webkit-scrollbar-track {
2741
2600
  padding: 0.1rem;
2742
2601
  opacity: 0.5;
2743
2602
  }
2603
+ .q-combobox__chevron.q-button svg {
2604
+ width: 1.0005em;
2605
+ height: 1.0005em;
2606
+ }
2744
2607
  .q-combobox__chevron.q-button:hover {
2745
2608
  cursor: inherit;
2746
2609
  }
@@ -5816,8 +5679,8 @@ body *::-webkit-scrollbar-track {
5816
5679
  fill: currentcolor;
5817
5680
  }
5818
5681
  .q-icon__svg, .q-icon__img {
5819
- width: 1em;
5820
- height: 1em;
5682
+ width: 1.15em;
5683
+ height: 1.15em;
5821
5684
  }
5822
5685
 
5823
5686
  .q-input-group__prepend > :first-child {
@@ -5828,6 +5691,14 @@ body *::-webkit-scrollbar-track {
5828
5691
  border-top-right-radius: var(--border-radius);
5829
5692
  border-bottom-right-radius: var(--border-radius);
5830
5693
  }
5694
+ .q-input-group > .q-field__control > .q-input-group__append:first-child > :first-child {
5695
+ border-top-left-radius: var(--border-radius);
5696
+ border-bottom-left-radius: var(--border-radius);
5697
+ }
5698
+ .q-input-group > .q-field__control > .q-input-group__prepend:last-child > :last-child {
5699
+ border-top-right-radius: var(--border-radius);
5700
+ border-bottom-right-radius: var(--border-radius);
5701
+ }
5831
5702
  .q-input-group__prepend, .q-input-group__append {
5832
5703
  display: flex;
5833
5704
  align-items: stretch;
@@ -5867,10 +5738,17 @@ body *::-webkit-scrollbar-track {
5867
5738
  }
5868
5739
  .q-input-group > .q-field__control > * {
5869
5740
  border-radius: 0;
5741
+ align-self: stretch;
5870
5742
  }
5871
5743
  .q-input-group > .q-field__control > *:focus-within {
5872
5744
  z-index: 2;
5873
5745
  }
5746
+ .q-input-group > .q-field__control > .q-field > .q-field__control {
5747
+ height: 100%;
5748
+ }
5749
+ .q-input-group > .q-field__control > .q-button {
5750
+ height: auto;
5751
+ }
5874
5752
  .q-input-group > .q-field__control > :first-child {
5875
5753
  border-top-left-radius: var(--border-radius);
5876
5754
  border-bottom-left-radius: var(--border-radius);
@@ -5955,6 +5833,7 @@ body *::-webkit-scrollbar-track {
5955
5833
  gap: 0.25rem;
5956
5834
  align-items: center;
5957
5835
  padding: 0.375rem 0.5rem;
5836
+ min-height: calc(1.15rem + 0.75rem);
5958
5837
  list-style: none;
5959
5838
  line-height: 15px;
5960
5839
  overflow-wrap: break-word;
@@ -6010,6 +5889,10 @@ body *::-webkit-scrollbar-track {
6010
5889
  .q-list-item__check-container--top {
6011
5890
  align-self: flex-start;
6012
5891
  }
5892
+ .q-list-item__check-container .q-list-item__check {
5893
+ width: 1.0005em;
5894
+ height: 1.0005em;
5895
+ }
6013
5896
  .q-list-item__description {
6014
5897
  display: flex;
6015
5898
  gap: 0.25rem;
@@ -6794,6 +6677,10 @@ body *::-webkit-scrollbar-track {
6794
6677
  padding: 0.1rem;
6795
6678
  opacity: 0.5;
6796
6679
  }
6680
+ .q-select__chevron.q-button svg {
6681
+ width: 1.0005em;
6682
+ height: 1.0005em;
6683
+ }
6797
6684
  .q-select__chevron.q-button:hover {
6798
6685
  cursor: inherit;
6799
6686
  }
@@ -7671,94 +7558,11 @@ body *::-webkit-scrollbar-track {
7671
7558
  border-color: transparent;
7672
7559
  color: var(--q-toast-hover-color);
7673
7560
  }
7674
- .q-toast--tonal .q-toast__dismiss.q-button {
7675
- --q-button-main-color: var(--q-toast-hover-color);
7676
- }
7677
7561
  .q-toast--outlined {
7678
7562
  background-color: transparent;
7679
7563
  border-color: var(--q-toast-main-color);
7680
7564
  color: var(--q-toast-main-color);
7681
7565
  }
7682
- .q-toast--primary {
7683
- --q-toast-main-color: var(--q-theme-primary);
7684
- --q-toast-main-color-rgb: var(--q-theme-primary-rgb);
7685
- --q-toast-on-main-color: var(--q-theme-on-primary);
7686
- --q-toast-on-main-color-rgb: var(--q-theme-on-primary-rgb);
7687
- --q-toast-hover-color: var(--q-theme-primary-dark);
7688
- --q-toast-hover-color-rgb: var(--q-theme-primary-dark-rgb);
7689
- --q-toast-on-hover-color: var(--q-theme-on-primary);
7690
- --q-toast-on-hover-color-rgb: var(--q-theme-on-primary-rgb);
7691
- }
7692
- .q-toast--secondary {
7693
- --q-toast-main-color: var(--q-theme-secondary);
7694
- --q-toast-main-color-rgb: var(--q-theme-secondary-rgb);
7695
- --q-toast-on-main-color: var(--q-theme-on-secondary);
7696
- --q-toast-on-main-color-rgb: var(--q-theme-on-secondary-rgb);
7697
- --q-toast-hover-color: var(--q-theme-secondary-dark);
7698
- --q-toast-hover-color-rgb: var(--q-theme-secondary-dark-rgb);
7699
- --q-toast-on-hover-color: var(--q-theme-on-secondary);
7700
- --q-toast-on-hover-color-rgb: var(--q-theme-on-secondary-rgb);
7701
- }
7702
- .q-toast--highlight {
7703
- --q-toast-main-color: var(--q-theme-highlight);
7704
- --q-toast-main-color-rgb: var(--q-theme-highlight-rgb);
7705
- --q-toast-on-main-color: var(--q-theme-on-highlight);
7706
- --q-toast-on-main-color-rgb: var(--q-theme-on-highlight-rgb);
7707
- --q-toast-hover-color: var(--q-theme-highlight-dark);
7708
- --q-toast-hover-color-rgb: var(--q-theme-highlight-dark-rgb);
7709
- --q-toast-on-hover-color: var(--q-theme-on-highlight);
7710
- --q-toast-on-hover-color-rgb: var(--q-theme-on-highlight-rgb);
7711
- }
7712
- .q-toast--info {
7713
- --q-toast-main-color: var(--q-theme-info);
7714
- --q-toast-main-color-rgb: var(--q-theme-info-rgb);
7715
- --q-toast-on-main-color: var(--q-theme-on-info);
7716
- --q-toast-on-main-color-rgb: var(--q-theme-on-info-rgb);
7717
- --q-toast-hover-color: var(--q-theme-info-dark);
7718
- --q-toast-hover-color-rgb: var(--q-theme-info-dark-rgb);
7719
- --q-toast-on-hover-color: var(--q-theme-on-info);
7720
- --q-toast-on-hover-color-rgb: var(--q-theme-on-info-rgb);
7721
- }
7722
- .q-toast--success {
7723
- --q-toast-main-color: var(--q-theme-success);
7724
- --q-toast-main-color-rgb: var(--q-theme-success-rgb);
7725
- --q-toast-on-main-color: var(--q-theme-on-success);
7726
- --q-toast-on-main-color-rgb: var(--q-theme-on-success-rgb);
7727
- --q-toast-hover-color: var(--q-theme-success-dark);
7728
- --q-toast-hover-color-rgb: var(--q-theme-success-dark-rgb);
7729
- --q-toast-on-hover-color: var(--q-theme-on-success);
7730
- --q-toast-on-hover-color-rgb: var(--q-theme-on-success-rgb);
7731
- }
7732
- .q-toast--warning {
7733
- --q-toast-main-color: var(--q-theme-warning);
7734
- --q-toast-main-color-rgb: var(--q-theme-warning-rgb);
7735
- --q-toast-on-main-color: var(--q-theme-on-warning);
7736
- --q-toast-on-main-color-rgb: var(--q-theme-on-warning-rgb);
7737
- --q-toast-hover-color: var(--q-theme-warning-dark);
7738
- --q-toast-hover-color-rgb: var(--q-theme-warning-dark-rgb);
7739
- --q-toast-on-hover-color: var(--q-theme-on-warning);
7740
- --q-toast-on-hover-color-rgb: var(--q-theme-on-warning-rgb);
7741
- }
7742
- .q-toast--danger {
7743
- --q-toast-main-color: var(--q-theme-danger);
7744
- --q-toast-main-color-rgb: var(--q-theme-danger-rgb);
7745
- --q-toast-on-main-color: var(--q-theme-on-danger);
7746
- --q-toast-on-main-color-rgb: var(--q-theme-on-danger-rgb);
7747
- --q-toast-hover-color: var(--q-theme-danger-dark);
7748
- --q-toast-hover-color-rgb: var(--q-theme-danger-dark-rgb);
7749
- --q-toast-on-hover-color: var(--q-theme-on-danger);
7750
- --q-toast-on-hover-color-rgb: var(--q-theme-on-danger-rgb);
7751
- }
7752
- .q-toast--neutral {
7753
- --q-toast-main-color: var(--q-theme-neutral);
7754
- --q-toast-main-color-rgb: var(--q-theme-neutral-rgb);
7755
- --q-toast-on-main-color: var(--q-theme-on-neutral);
7756
- --q-toast-on-main-color-rgb: var(--q-theme-on-neutral-rgb);
7757
- --q-toast-hover-color: var(--q-theme-neutral-dark);
7758
- --q-toast-hover-color-rgb: var(--q-theme-neutral-dark-rgb);
7759
- --q-toast-on-hover-color: var(--q-theme-on-neutral);
7760
- --q-toast-on-hover-color-rgb: var(--q-theme-on-neutral-rgb);
7761
- }
7762
7566
 
7763
7567
  .toast-stack-enter-active {
7764
7568
  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.3s cubic-bezier(0.4, 0, 0.2, 1);