@quidgest/ui 0.24.0 → 0.26.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 (186) hide show
  1. package/CHANGELOG.md +34 -0
  2. package/dist/json/api.json +54 -9
  3. package/dist/ui.css +239 -192
  4. package/dist/ui.esm.js +582 -575
  5. package/dist/ui.js +540 -533
  6. package/dist/ui.min.css +1 -1
  7. package/dist/ui.min.js +540 -533
  8. package/dist/ui.scss +300 -260
  9. package/esm/components/QBadge/constants.d.ts.map +1 -1
  10. package/esm/components/QButton/QButton.d.ts +3 -2
  11. package/esm/components/QButton/QButton.d.ts.map +1 -1
  12. package/esm/components/QButton/QButton.vue.js +68 -40
  13. package/esm/components/QButton/index.d.ts +8 -5
  14. package/esm/components/QButton/index.d.ts.map +1 -1
  15. package/esm/components/QButton/types.d.ts +8 -0
  16. package/esm/components/QButton/types.d.ts.map +1 -1
  17. package/esm/components/QCarousel/QCarousel.d.ts +2 -2
  18. package/esm/components/QCarousel/QCarousel.d.ts.map +1 -1
  19. package/esm/components/QCarousel/constants.d.ts.map +1 -1
  20. package/esm/components/QCarousel/index.d.ts +6 -6
  21. package/esm/components/QCarousel/types.d.ts +2 -2
  22. package/esm/components/QCarousel/types.d.ts.map +1 -1
  23. package/esm/components/QCheckbox/constants.d.ts.map +1 -1
  24. package/esm/components/QCollapsible/constants.d.ts.map +1 -1
  25. package/esm/components/QCombobox/QCombobox.d.ts +34 -28
  26. package/esm/components/QCombobox/QCombobox.d.ts.map +1 -1
  27. package/esm/components/QCombobox/constants.d.ts.map +1 -1
  28. package/esm/components/QCombobox/index.d.ts +26 -23
  29. package/esm/components/QCombobox/index.d.ts.map +1 -1
  30. package/esm/components/QCombobox/types.d.ts +3 -3
  31. package/esm/components/QCombobox/types.d.ts.map +1 -1
  32. package/esm/components/QDateTimePicker/QDateTimePicker.d.ts +54 -36
  33. package/esm/components/QDateTimePicker/QDateTimePicker.d.ts.map +1 -1
  34. package/esm/components/QDateTimePicker/constants.d.ts.map +1 -1
  35. package/esm/components/QDateTimePicker/index.d.ts +27 -18
  36. package/esm/components/QDateTimePicker/index.d.ts.map +1 -1
  37. package/esm/components/QDateTimePicker/types.d.ts +3 -3
  38. package/esm/components/QDateTimePicker/types.d.ts.map +1 -1
  39. package/esm/components/QDefaultsProvider/types.d.ts +2 -2
  40. package/esm/components/QDefaultsProvider/types.d.ts.map +1 -1
  41. package/esm/components/QDialog/QDialog.d.ts +3 -3
  42. package/esm/components/QDialog/QDialog.d.ts.map +1 -1
  43. package/esm/components/QDialog/constants.d.ts +4 -4
  44. package/esm/components/QDialog/constants.d.ts.map +1 -1
  45. package/esm/components/QDialog/index.d.ts +12 -12
  46. package/esm/components/QDialog/types.d.ts +5 -5
  47. package/esm/components/QDialog/types.d.ts.map +1 -1
  48. package/esm/components/QDismissibleLayer/QDismissibleLayer.d.ts +9 -9
  49. package/esm/components/QDismissibleLayer/QDismissibleLayer.d.ts.map +1 -1
  50. package/esm/components/QDismissibleLayer/index.d.ts +20 -20
  51. package/esm/components/QDismissibleLayer/types.d.ts +2 -2
  52. package/esm/components/QDismissibleLayer/types.d.ts.map +1 -1
  53. package/esm/components/QDropdownMenu/QDropdownMenu.d.ts +2 -2
  54. package/esm/components/QDropdownMenu/QDropdownMenuContent.d.ts +20 -20
  55. package/esm/components/QDropdownMenu/QDropdownMenuContent.d.ts.map +1 -1
  56. package/esm/components/QDropdownMenu/constants.d.ts.map +1 -1
  57. package/esm/components/QDropdownMenu/index.d.ts +8 -8
  58. package/esm/components/QDropdownMenu/types.d.ts +3 -3
  59. package/esm/components/QDropdownMenu/types.d.ts.map +1 -1
  60. package/esm/components/QFileUpload/constants.d.ts.map +1 -1
  61. package/esm/components/QIcon/QIcon.d.ts.map +1 -1
  62. package/esm/components/QIcon/QIcon.vue.js +4 -4
  63. package/esm/components/QIcon/types.d.ts +1 -2
  64. package/esm/components/QIcon/types.d.ts.map +1 -1
  65. package/esm/components/QInputGroup/types.d.ts +3 -3
  66. package/esm/components/QInputGroup/types.d.ts.map +1 -1
  67. package/esm/components/QList/QList.d.ts +6 -6
  68. package/esm/components/QList/QList.d.ts.map +1 -1
  69. package/esm/components/QList/constants.d.ts.map +1 -1
  70. package/esm/components/QList/index.d.ts +6 -6
  71. package/esm/components/QList/types.d.ts +6 -6
  72. package/esm/components/QList/types.d.ts.map +1 -1
  73. package/esm/components/QObfuscation/constants.d.ts.map +1 -1
  74. package/esm/components/QOverflow/constants.d.ts.map +1 -1
  75. package/esm/components/QPasswordField/QPasswordField.d.ts.map +1 -1
  76. package/esm/components/QPasswordField/constants.d.ts.map +1 -1
  77. package/esm/components/QPasswordField/index.d.ts +3 -3
  78. package/esm/components/QPasswordField/types.d.ts +4 -4
  79. package/esm/components/QPasswordField/types.d.ts.map +1 -1
  80. package/esm/components/QPhoneField/QPhoneField.d.ts +38 -38
  81. package/esm/components/QPhoneField/index.d.ts +19 -19
  82. package/esm/components/QPropertyList/QPropertyList.d.ts +1 -1
  83. package/esm/components/QPropertyList/constants.d.ts.map +1 -1
  84. package/esm/components/QPropertyList/index.d.ts +3 -3
  85. package/esm/components/QPropertyList/types.d.ts +2 -2
  86. package/esm/components/QPropertyList/types.d.ts.map +1 -1
  87. package/esm/components/QRemoveScrollBar/QRemoveScrollBar.d.ts +2 -2
  88. package/esm/components/QRemoveScrollBar/QRemoveScrollBar.d.ts.map +1 -1
  89. package/esm/components/QRemoveScrollBar/index.d.ts +3 -3
  90. package/esm/components/QRemoveScrollBar/types.d.ts +2 -2
  91. package/esm/components/QRemoveScrollBar/types.d.ts.map +1 -1
  92. package/esm/components/QRemoveScrollBar/utils/gap.d.ts +3 -3
  93. package/esm/components/QRemoveScrollBar/utils/gap.d.ts.map +1 -1
  94. package/esm/components/QSection/QSection.d.ts +2 -0
  95. package/esm/components/QSection/QSection.d.ts.map +1 -1
  96. package/esm/components/QSection/QSection.vue.js +18 -14
  97. package/esm/components/QSection/index.d.ts +2 -0
  98. package/esm/components/QSection/index.d.ts.map +1 -1
  99. package/esm/components/QSelect/QSelect.d.ts +18 -18
  100. package/esm/components/QSelect/QSelect.d.ts.map +1 -1
  101. package/esm/components/QSelect/constants.d.ts.map +1 -1
  102. package/esm/components/QSelect/index.d.ts +18 -18
  103. package/esm/components/QSelect/types.d.ts +3 -3
  104. package/esm/components/QSelect/types.d.ts.map +1 -1
  105. package/esm/components/QSidebar/QSidebar.d.ts +5 -5
  106. package/esm/components/QSidebar/QSidebar.d.ts.map +1 -1
  107. package/esm/components/QSidebar/QSidebarAnchor.d.ts +2 -2
  108. package/esm/components/QSidebar/QSidebarAnchor.d.ts.map +1 -1
  109. package/esm/components/QSidebar/QSidebarItem.d.ts +6 -0
  110. package/esm/components/QSidebar/QSidebarItem.d.ts.map +1 -1
  111. package/esm/components/QSidebar/context.d.ts +6 -6
  112. package/esm/components/QSidebar/context.d.ts.map +1 -1
  113. package/esm/components/QSidebar/index.d.ts +5 -2
  114. package/esm/components/QSidebar/index.d.ts.map +1 -1
  115. package/esm/components/QSidebar/types.d.ts +2 -2
  116. package/esm/components/QSidebar/types.d.ts.map +1 -1
  117. package/esm/components/QTabs/QTab.d.ts +18 -12
  118. package/esm/components/QTabs/QTab.d.ts.map +1 -1
  119. package/esm/components/QTabs/QTabs.d.ts.map +1 -1
  120. package/esm/components/QTabs/QTabs.vue.js +106 -112
  121. package/esm/components/QTabs/context.d.ts +5 -5
  122. package/esm/components/QTabs/context.d.ts.map +1 -1
  123. package/esm/components/QTabs/index.d.ts +9 -6
  124. package/esm/components/QTabs/index.d.ts.map +1 -1
  125. package/esm/components/QTextArea/QTextArea.d.ts.map +1 -1
  126. package/esm/components/QTextArea/QTextArea.vue.js +9 -7
  127. package/esm/components/QTextField/QTextField.d.ts.map +1 -1
  128. package/esm/components/QTextField/QTextField.vue.js +11 -9
  129. package/esm/components/QThemeProvider/types.d.ts +2 -2
  130. package/esm/components/QThemeProvider/types.d.ts.map +1 -1
  131. package/esm/components/QToast/QToaster.vue.js +1 -1
  132. package/esm/components/QToast/constants.d.ts.map +1 -1
  133. package/esm/components/QToggle/QToggle.vue.js +1 -0
  134. package/esm/components/QToggle/index.d.ts +3 -0
  135. package/esm/components/QToggle/index.d.ts.map +1 -1
  136. package/esm/components/QToggleGroup/QToggleGroupItem.vue.js +1 -0
  137. package/esm/components/QTooltip/index.d.ts +3 -3
  138. package/esm/components/QTooltip/types.d.ts +2 -2
  139. package/esm/components/QTooltip/types.d.ts.map +1 -1
  140. package/esm/components/__internal__/QChevron/constants.d.ts.map +1 -1
  141. package/esm/components/__internal__/QClearButton/constants.d.ts.map +1 -1
  142. package/esm/components/__internal__/QSafeTriangle/QSafeTriangle.d.ts +1 -1
  143. package/esm/components/__internal__/QSafeTriangle/index.d.ts +1 -1
  144. package/esm/composables/defaults.d.ts +7 -7
  145. package/esm/composables/defaults.d.ts.map +1 -1
  146. package/esm/composables/index.d.ts +3 -3
  147. package/esm/composables/index.d.ts.map +1 -1
  148. package/esm/composables/theme.d.ts +20 -20
  149. package/esm/composables/theme.d.ts.map +1 -1
  150. package/esm/composables/useColor/index.d.ts +24 -9
  151. package/esm/composables/useColor/index.d.ts.map +1 -1
  152. package/esm/composables/useColor/index.js +17 -10
  153. package/esm/composables/useColor/types.d.ts +3 -3
  154. package/esm/composables/useColor/types.d.ts.map +1 -1
  155. package/esm/composables/useDialog/index.d.ts +3 -3
  156. package/esm/composables/useDialog/index.d.ts.map +1 -1
  157. package/esm/composables/useDialog/types.d.ts +3 -3
  158. package/esm/composables/useDialog/types.d.ts.map +1 -1
  159. package/esm/composables/useDismissibleLayerStack/index.d.ts +2 -2
  160. package/esm/composables/useDismissibleLayerStack/index.d.ts.map +1 -1
  161. package/esm/composables/useEnabledSelection/index.d.ts +33 -0
  162. package/esm/composables/useEnabledSelection/index.d.ts.map +1 -0
  163. package/esm/composables/useEnabledSelection/index.js +15 -0
  164. package/esm/composables/useGroup/index.d.ts +6 -6
  165. package/esm/composables/useGroup/index.d.ts.map +1 -1
  166. package/esm/composables/useToast/index.d.ts +3 -3
  167. package/esm/composables/useToast/index.d.ts.map +1 -1
  168. package/esm/composables/useToast/types.d.ts +3 -3
  169. package/esm/composables/useToast/types.d.ts.map +1 -1
  170. package/esm/framework.d.ts +6 -6
  171. package/esm/framework.d.ts.map +1 -1
  172. package/esm/index.d.ts +2 -2
  173. package/esm/index.d.ts.map +1 -1
  174. package/esm/symbols/dismissibleLayer.d.ts +2 -2
  175. package/esm/symbols/dismissibleLayer.d.ts.map +1 -1
  176. package/esm/templates/theme.d.ts +3 -3
  177. package/esm/templates/theme.d.ts.map +1 -1
  178. package/esm/utils/color/merge.d.ts +3 -3
  179. package/esm/utils/color/merge.d.ts.map +1 -1
  180. package/esm/utils/color/theme-colors.d.ts +2 -2
  181. package/esm/utils/color/theme-colors.d.ts.map +1 -1
  182. package/esm/utils/color/types.d.ts +2 -2
  183. package/esm/utils/color/types.d.ts.map +1 -1
  184. package/esm/utils/theme.d.ts +9 -9
  185. package/esm/utils/theme.d.ts.map +1 -1
  186. package/package.json +1 -1
package/dist/ui.scss CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Quidgest UI v0.24.0
2
+ * Quidgest UI v0.26.0
3
3
  * (c) 2026 Quidgest - Consultores de Gestão, S.A.
4
4
  * Released under the MIT License.
5
5
  */
@@ -373,9 +373,9 @@ summary {
373
373
  [type='color']::-moz-color-swatch {
374
374
  border: 0;
375
375
  }
376
- $q-control-height-compact-md: 25px !default;
377
- $q-control-height-regular-md: 32px !default;
378
- $q-control-height-loose-md: 44px !default;
376
+ $q-control-height-compact-md: 1.5625rem !default;
377
+ $q-control-height-regular-md: 2rem !default;
378
+ $q-control-height-loose-md: 2.75rem !default;
379
379
  $q-density-scale-compact: math.div(
380
380
  $q-control-height-compact-md,
381
381
  $q-control-height-regular-md
@@ -485,7 +485,6 @@ $breakpoint-xxl: 1400px;
485
485
  --q-density-scale-base: #{$q-density-scale-regular};
486
486
  --q-density-scale: var(--q-density-scale-base);
487
487
 
488
- --q-font-size-base: 0.9rem;
489
488
  --q-font-weight-regular: 400;
490
489
  --q-font-weight-bold: 700;
491
490
  --q-font-weight-black: 900;
@@ -498,21 +497,21 @@ $breakpoint-xxl: 1400px;
498
497
  --q-transition-duration: 0.2s;
499
498
  --q-transition-timing-function: ease;
500
499
 
501
- --q-space-1-base: 4px;
502
- --q-space-2-base: 8px;
503
- --q-space-3-base: 12px;
504
- --q-space-4-base: 16px;
505
- --q-space-5-base: 20px;
506
- --q-space-6-base: 24px;
507
- --q-control-height-sm-base: 28px;
500
+ --q-space-1-base: 0.25rem;
501
+ --q-space-2-base: 0.5rem;
502
+ --q-space-3-base: 0.75rem;
503
+ --q-space-4-base: 1rem;
504
+ --q-space-5-base: 1.25rem;
505
+ --q-space-6-base: 1.5rem;
506
+ --q-control-height-sm-base: 1.75rem;
508
507
  --q-control-height-md-base: #{$q-control-height-regular-md};
509
- --q-control-height-lg-base: 40px;
510
- --q-control-padding-x-sm-base: 8px;
511
- --q-control-padding-x-md-base: 10px;
512
- --q-control-padding-x-lg-base: 12px;
513
- --q-control-padding-y-sm-base: 4px;
514
- --q-control-padding-y-md-base: 6px;
515
- --q-control-padding-y-lg-base: 8px;
508
+ --q-control-height-lg-base: 2.5rem;
509
+ --q-control-padding-x-sm-base: 0.5rem;
510
+ --q-control-padding-x-md-base: 0.625rem;
511
+ --q-control-padding-x-lg-base: 0.75rem;
512
+ --q-control-padding-y-sm-base: 0.25rem;
513
+ --q-control-padding-y-md-base: 0.375rem;
514
+ --q-control-padding-y-lg-base: 0.5rem;
516
515
  --q-font-size-sm-base: 0.75rem;
517
516
  --q-font-size-md-base: 0.875rem;
518
517
  --q-font-size-lg-base: 1rem;
@@ -528,8 +527,8 @@ $breakpoint-xxl: 1400px;
528
527
  --q-icon-size-sm-base: 1em;
529
528
  --q-icon-size-md-base: 1.15em;
530
529
  --q-icon-size-lg-base: 1.45em;
531
- --q-icon-padding-base: 4px;
532
- --q-border-radius-base: 4px;
530
+ --q-icon-padding-base: 0.25rem;
531
+ --q-border-radius-base: 0.25rem;
533
532
  @include q-density-scoped-tokens;
534
533
  }
535
534
  [data-q-density='compact'],
@@ -558,9 +557,9 @@ $breakpoint-xxl: 1400px;
558
557
  }
559
558
  body {
560
559
  background-color: var(--q-theme-background);
561
- font-size: var(--q-font-size-base);
562
- color: var(--q-theme-on-background);
563
- caret-color: var(--q-theme-on-background);
560
+ font-size: var(--q-font-size-md);
561
+ color: var(--q-theme-neutral-dark);
562
+ caret-color: var(--q-theme-neutral-dark);
564
563
 
565
564
  * {
566
565
 
@@ -717,7 +716,7 @@ body {
717
716
  height: fit-content;
718
717
  }
719
718
  .q-avatar {
720
- --q-avatar-size: calc(48px * var(--q-density-scale));
719
+ --q-avatar-size: calc(var(--q-space-1) * 12);
721
720
  display: flex;
722
721
  align-items: center;
723
722
  justify-content: center;
@@ -743,10 +742,10 @@ body {
743
742
  }
744
743
 
745
744
  &--small {
746
- --q-avatar-size: calc(32px * var(--q-density-scale));
745
+ --q-avatar-size: calc(var(--q-space-1) * 8);
747
746
  }
748
747
  &--large {
749
- --q-avatar-size: calc(64px * var(--q-density-scale));
748
+ --q-avatar-size: calc(var(--q-space-1) * 16);
750
749
  }
751
750
 
752
751
  &--square {
@@ -805,6 +804,19 @@ body {
805
804
  .q-icon {
806
805
  color: currentcolor;
807
806
  }
807
+
808
+
809
+ &__content,
810
+ &__remove {
811
+ .q-icon__svg,
812
+ .q-icon__img {
813
+ width: var(--q-icon-size-sm);
814
+ height: var(--q-icon-size-sm);
815
+ }
816
+ .q-icon__font {
817
+ font-size: var(--q-icon-size-sm);
818
+ }
819
+ }
808
820
  &__remove.q-button {
809
821
  padding: var(--q-control-padding-y-sm);
810
822
  min-width: fit-content;
@@ -821,7 +833,7 @@ body {
821
833
  border-bottom-left-radius: 0;
822
834
  border-color: transparent;
823
835
  .q-button__content {
824
- padding: calc(0.08rem * var(--q-density-scale));
836
+ padding: calc(var(--q-space-1) * 0.32);
825
837
  border-radius: 9999px;
826
838
  }
827
839
  &:not(:disabled):hover {
@@ -881,9 +893,9 @@ body {
881
893
  }
882
894
  .q-badge-indicator {
883
895
  $this: &;
884
- --q-badge-indicator-size: calc(1.25rem * var(--q-density-scale));
885
- --q-badge-indicator-padding: calc(0.25rem * var(--q-density-scale));
886
- --q-badge-indicator-dot-size: calc(8px * var(--q-density-scale));
896
+ --q-badge-indicator-size: var(--q-space-5);
897
+ --q-badge-indicator-padding: var(--q-space-1);
898
+ --q-badge-indicator-dot-size: var(--q-space-2);
887
899
  flex-wrap: wrap;
888
900
  place-content: center center;
889
901
  align-items: center;
@@ -964,6 +976,16 @@ body {
964
976
  transform-origin: 100% 100%;
965
977
  }
966
978
  }
979
+ @keyframes q-button-ripple {
980
+ 0% {
981
+ transform: scale(0);
982
+ opacity: 0.3;
983
+ }
984
+ 100% {
985
+ transform: scale(1);
986
+ opacity: 0;
987
+ }
988
+ }
967
989
  .q-button {
968
990
  $this: &;
969
991
  --q-button-main-color: var(--q-theme-primary);
@@ -979,6 +1001,7 @@ body {
979
1001
  --q-button-padding-x: var(--q-control-padding-x-sm);
980
1002
  --q-button-labeled-padding-x: var(--q-control-padding-x-lg);
981
1003
  --q-button-font-size: var(--q-font-size-md);
1004
+ --q-button-ripple-duration: 0.6s;
982
1005
  display: inline-flex;
983
1006
  user-select: none;
984
1007
  align-items: center;
@@ -1057,6 +1080,15 @@ body {
1057
1080
  color: currentcolor;
1058
1081
  }
1059
1082
  }
1083
+ &__ripple {
1084
+ position: absolute;
1085
+ border-radius: 50%;
1086
+ background-color: currentcolor;
1087
+ opacity: 0;
1088
+ transform: scale(0);
1089
+ pointer-events: none;
1090
+ animation: q-button-ripple var(--q-button-ripple-duration) ease-out;
1091
+ }
1060
1092
 
1061
1093
  &--bold {
1062
1094
  background-color: var(--q-button-main-color);
@@ -1171,6 +1203,14 @@ body {
1171
1203
  min-width: 100%;
1172
1204
  }
1173
1205
  }
1206
+ @media (prefers-reduced-motion: reduce) {
1207
+ .q-button__ripple {
1208
+
1209
+
1210
+ animation-duration: 0.001s;
1211
+ opacity: 0;
1212
+ }
1213
+ }
1174
1214
  .q-button-group {
1175
1215
  position: relative;
1176
1216
  display: inline-flex;
@@ -1206,15 +1246,14 @@ body {
1206
1246
  --q-card-padding: var(--q-space-4);
1207
1247
  --q-card-border: var(--q-border-width) solid var(--q-border-color);
1208
1248
  --q-card-width: fit-content;
1209
- --q-card-hover: 0 calc(5px * var(--q-density-scale)) calc(15px * var(--q-density-scale))
1210
- rgb(var(--q-theme-neutral-rgb) / 25%);
1249
+ --q-card-hover: var(--q-shadow-lg);
1211
1250
  --q-card-scale: 1;
1212
1251
  --q-card-shadow: none;
1213
1252
  --q-card-background: var(--q-theme-container);
1214
1253
  --q-card-title-font-size: calc(var(--q-font-size-lg) * 1.05);
1215
1254
  --q-card-subtitle-font-size: var(--q-font-size-sm);
1216
- --q-card-min-width: calc(7rem * var(--q-density-scale));
1217
- --q-card-min-height: calc(5rem * var(--q-density-scale));
1255
+ --q-card-min-width: calc(var(--q-space-1) * 28);
1256
+ --q-card-min-height: calc(var(--q-space-1) * 20);
1218
1257
  min-width: var(--q-card-min-width);
1219
1258
  min-height: var(--q-card-min-height);
1220
1259
  height: 100%;
@@ -1329,40 +1368,38 @@ body {
1329
1368
  }
1330
1369
 
1331
1370
  &--loading {
1332
- padding: calc(3rem * var(--q-density-scale)) calc(5rem * var(--q-density-scale));
1371
+ padding: calc(var(--q-space-1) * 12) calc(var(--q-space-1) * 20);
1333
1372
  justify-content: center;
1334
1373
  align-items: center;
1335
1374
  }
1336
1375
 
1337
- @mixin card-width($width, $multiplier: 1) {
1376
+ @mixin q-card-width($width, $multiplier: 1) {
1338
1377
  &--#{$width} {
1339
1378
  --q-card-width: calc(#{$multiplier} * 5em + #{$multiplier - 1} * var(--q-space-1));
1340
1379
  }
1341
1380
  }
1342
- @include card-width(medium, 3);
1343
- @include card-width(large, 4);
1344
- @include card-width(xlarge, 6);
1345
- @include card-width(xxlarge, 8);
1381
+ @include q-card-width(medium, 3);
1382
+ @include q-card-width(large, 4);
1383
+ @include q-card-width(xlarge, 6);
1384
+ @include q-card-width(xxlarge, 8);
1346
1385
  &--block {
1347
1386
  --q-card-width: 100%;
1348
1387
  }
1349
1388
  }
1350
- $q-carousel-height: 360px;
1351
- $q-carousel-height-md: 300px;
1352
1389
  .q-carousel {
1353
- --q-carousel-height: calc(#{$q-carousel-height} * var(--q-density-scale));
1354
- --q-carousel-control-size: calc(48px * var(--q-density-scale));
1390
+ --q-carousel-height: calc(var(--q-space-1) * 90);
1391
+ --q-carousel-control-size: calc(var(--q-space-1) * 12);
1355
1392
  --q-carousel-control-icon-size: var(--q-icon-size-lg);
1356
- --q-carousel-control-inset: calc(1rem * var(--q-density-scale));
1357
- --q-carousel-caption-bottom: calc(3.5rem * var(--q-density-scale));
1358
- --q-carousel-indicator-width: calc(30px * var(--q-density-scale));
1359
- --q-carousel-indicator-height: calc(4px * var(--q-density-scale));
1360
- --q-carousel-indicator-gap: calc(0.5rem * var(--q-density-scale));
1361
- --q-carousel-indicators-bottom: calc(1rem * var(--q-density-scale));
1393
+ --q-carousel-control-inset: var(--q-space-4);
1394
+ --q-carousel-caption-bottom: calc(var(--q-space-1) * 14);
1395
+ --q-carousel-indicator-width: calc(var(--q-space-1) * 7.5);
1396
+ --q-carousel-indicator-height: var(--q-space-1);
1397
+ --q-carousel-indicator-gap: var(--q-space-2);
1398
+ --q-carousel-indicators-bottom: var(--q-space-4);
1362
1399
  --q-carousel-title-size: calc(var(--q-font-size-lg) * 2);
1363
1400
  --q-carousel-subtitle-size: calc(var(--q-font-size-lg) * 1.1);
1364
- --q-carousel-skeleton-gap: calc(8px * var(--q-density-scale));
1365
- --q-carousel-skeleton-inset: calc(16px * var(--q-density-scale));
1401
+ --q-carousel-skeleton-gap: var(--q-space-2);
1402
+ --q-carousel-skeleton-inset: var(--q-space-4);
1366
1403
  position: relative;
1367
1404
  overflow: hidden;
1368
1405
  width: 100%;
@@ -1429,7 +1466,7 @@ $q-carousel-height-md: 300px;
1429
1466
  position: relative;
1430
1467
  width: var(--q-carousel-indicator-width);
1431
1468
  height: var(--q-carousel-indicator-height);
1432
- border-radius: calc(2px * var(--q-density-scale));
1469
+ border-radius: calc(var(--q-space-1) * 0.5);
1433
1470
  background-color: rgb(255 255 255 / 50%);
1434
1471
  cursor: pointer;
1435
1472
  transition: all 0.3s ease;
@@ -1525,11 +1562,11 @@ $q-carousel-height-md: 300px;
1525
1562
  }
1526
1563
  @media (max-width: $breakpoint-md) {
1527
1564
  .q-carousel {
1528
- --q-carousel-height: calc(#{$q-carousel-height-md} * var(--q-density-scale));
1565
+ --q-carousel-height: calc(var(--q-space-1) * 75);
1529
1566
  --q-carousel-control-size: var(--q-control-height-lg);
1530
1567
  --q-carousel-control-icon-size: var(--q-icon-size-md);
1531
- --q-carousel-control-inset: calc(0.5rem * var(--q-density-scale));
1532
- --q-carousel-caption-bottom: calc(3rem * var(--q-density-scale));
1568
+ --q-carousel-control-inset: var(--q-space-2);
1569
+ --q-carousel-caption-bottom: calc(var(--q-space-1) * 12);
1533
1570
  --q-carousel-title-size: calc(var(--q-font-size-lg) * 1.5);
1534
1571
  --q-carousel-subtitle-size: var(--q-font-size-lg);
1535
1572
  }
@@ -1556,7 +1593,7 @@ $q-carousel-height-md: 300px;
1556
1593
  --q-transition-duration: 0.15s;
1557
1594
  display: flex;
1558
1595
  align-items: center;
1559
- gap: calc(0.5rem * var(--q-density-scale));
1596
+ gap: var(--q-space-2);
1560
1597
  width: fit-content;
1561
1598
  box-sizing: border-box;
1562
1599
  min-height: var(--q-interactive-height);
@@ -1627,14 +1664,14 @@ $q-carousel-height-md: 300px;
1627
1664
 
1628
1665
  @include q-size-modifiers;
1629
1666
 
1630
- @mixin color-variant($color) {
1667
+ @mixin q-color-variant($color) {
1631
1668
  &--#{$color} {
1632
1669
  --q-active-color: var(--q-theme-#{$color});
1633
1670
  --q-icon-color: var(--q-theme-on-#{$color});
1634
1671
  }
1635
1672
  }
1636
1673
  @each $color in (primary, info, success, warning, danger) {
1637
- @include color-variant($color);
1674
+ @include q-color-variant($color);
1638
1675
  }
1639
1676
 
1640
1677
  &--checked,
@@ -1693,8 +1730,8 @@ $q-carousel-height-md: 300px;
1693
1730
  }
1694
1731
  .q-collapsible {
1695
1732
  $this: &;
1696
- --q-collapsible-btn-padding: calc(0.2rem * var(--q-density-scale));
1697
- --q-collapsible-header-padding: calc((0.75rem - 0.2rem) * var(--q-density-scale));
1733
+ --q-collapsible-btn-padding: var(--q-space-1);
1734
+ --q-collapsible-header-padding: calc(var(--q-space-1) * 2.2);
1698
1735
  display: flex;
1699
1736
  flex-direction: column;
1700
1737
  overflow-wrap: break-word;
@@ -1746,7 +1783,7 @@ $q-carousel-height-md: 300px;
1746
1783
  display: flex;
1747
1784
  flex-direction: column;
1748
1785
  align-items: start;
1749
- letter-spacing: calc(0.02rem * var(--q-density-scale));
1786
+ letter-spacing: calc(var(--q-space-1) * 0.08);
1750
1787
  h4 {
1751
1788
  margin: 0;
1752
1789
  font-size: var(--q-font-size-md);
@@ -1758,7 +1795,7 @@ $q-carousel-height-md: 300px;
1758
1795
  &__title {
1759
1796
  display: flex;
1760
1797
  width: 100%;
1761
- gap: calc(0.2rem * var(--q-density-scale));
1798
+ gap: var(--q-space-1);
1762
1799
  position: relative;
1763
1800
  text-align: start;
1764
1801
  align-items: center;
@@ -1768,7 +1805,7 @@ $q-carousel-height-md: 300px;
1768
1805
  }
1769
1806
  }
1770
1807
  &__subtitle {
1771
- margin-left: calc(1.25rem * var(--q-density-scale));
1808
+ margin-left: var(--q-space-5);
1772
1809
  text-align: start;
1773
1810
  line-height: var(--q-line-height-sm);
1774
1811
  font-size: var(--q-font-size-sm);
@@ -1776,11 +1813,11 @@ $q-carousel-height-md: 300px;
1776
1813
  white-space: nowrap;
1777
1814
  color: var(--q-theme-neutral);
1778
1815
  padding: 0;
1779
- padding-top: calc(0.3rem * var(--q-density-scale));
1816
+ padding-top: var(--q-space-1);
1780
1817
  }
1781
1818
  &__content {
1782
1819
  padding: var(--q-space-4);
1783
- padding-top: calc(0.75rem * var(--q-density-scale));
1820
+ padding-top: var(--q-space-3);
1784
1821
  &-wrapper {
1785
1822
  display: grid;
1786
1823
  grid-template-rows: 0fr;
@@ -1819,13 +1856,13 @@ $q-carousel-height-md: 300px;
1819
1856
  }
1820
1857
  }
1821
1858
 
1822
- @mixin header-spacing($spacing, $increment) {
1859
+ @mixin q-header-spacing($spacing, $increment) {
1823
1860
  &--#{$spacing} .q-collapsible__btn.q-button {
1824
1861
  padding: calc(var(--q-collapsible-header-padding) + #{$increment});
1825
1862
  }
1826
1863
  }
1827
- @include header-spacing(relaxed, var(--q-space-1));
1828
- @include header-spacing(tight, calc(-1 * var(--q-space-1)));
1864
+ @include q-header-spacing(relaxed, var(--q-space-1));
1865
+ @include q-header-spacing(tight, calc(-1 * var(--q-space-1)));
1829
1866
  }
1830
1867
  .q-color-picker__swatch {
1831
1868
  --q-color-picker-swatch-padding: calc(var(--q-field-padding-y) * 2);
@@ -1861,11 +1898,11 @@ $q-carousel-height-md: 300px;
1861
1898
  }
1862
1899
  .q-date-time-picker__menu {
1863
1900
  --q-date-view-height: 0;
1864
- width: calc(16rem * var(--q-density-scale));
1901
+ width: calc(var(--q-space-1) * 64);
1865
1902
  display: flex;
1866
1903
  flex-direction: column;
1867
1904
  background-color: var(--q-theme-container);
1868
- color: var(--q-theme-on-background);
1905
+ color: var(--q-theme-neutral-dark);
1869
1906
  border-radius: var(--q-border-radius);
1870
1907
  gap: var(--q-space-1);
1871
1908
  padding: var(--q-space-2);
@@ -1923,8 +1960,8 @@ $q-carousel-height-md: 300px;
1923
1960
  .q-date-time-picker__year-grid {
1924
1961
  overflow: auto;
1925
1962
 
1926
- margin: 0 calc(-3px * var(--q-density-scale));
1927
- padding: calc(3px * var(--q-density-scale));
1963
+ margin: 0 calc(var(--q-space-1) * -0.75);
1964
+ padding: calc(var(--q-space-1) * 0.75);
1928
1965
  }
1929
1966
  .q-date-time-picker__calendar {
1930
1967
  display: flex;
@@ -2035,7 +2072,7 @@ $q-carousel-height-md: 300px;
2035
2072
  }
2036
2073
  }
2037
2074
  .q-date-time-picker__time-number {
2038
- width: calc(3rem * var(--q-density-scale));
2075
+ width: calc(var(--q-space-1) * 12);
2039
2076
  border-radius: 0;
2040
2077
  .q-field__control {
2041
2078
  border: none;
@@ -2149,7 +2186,7 @@ $q-carousel-height-md: 300px;
2149
2186
  }
2150
2187
  .q-divider {
2151
2188
  --q-divider-thickness: 1px;
2152
- --q-divider-color: var(--q-theme-neutral-light);
2189
+ --q-divider-color: var(--q-border-color);
2153
2190
  display: flex;
2154
2191
  align-items: center;
2155
2192
  justify-content: center;
@@ -2180,8 +2217,8 @@ $q-carousel-height-md: 300px;
2180
2217
  }
2181
2218
 
2182
2219
  &--horizontal.q-divider--inset {
2183
- max-width: calc(100% - (72px * var(--q-density-scale)));
2184
- margin-inline-start: calc(72px * var(--q-density-scale));
2220
+ max-width: calc(100% - (var(--q-space-1) * 18));
2221
+ margin-inline-start: calc(var(--q-space-1) * 18);
2185
2222
  }
2186
2223
 
2187
2224
  &--vertical {
@@ -2214,12 +2251,12 @@ $q-carousel-height-md: 300px;
2214
2251
  &--vertical.q-divider--inset {
2215
2252
  margin-bottom: var(--q-space-2);
2216
2253
  margin-top: var(--q-space-2);
2217
- max-height: calc(100% - (16px * var(--q-density-scale)));
2254
+ max-height: calc(100% - var(--q-space-4));
2218
2255
  }
2219
2256
  }
2220
2257
  .q-dropdown-menu {
2221
2258
  &__body {
2222
- min-width: calc(8rem * var(--q-density-scale));
2259
+ min-width: calc(var(--q-space-1) * 32);
2223
2260
  .q-list-item-group {
2224
2261
  padding: var(--q-space-1);
2225
2262
  & + .q-list-item-group {
@@ -2279,12 +2316,12 @@ $q-carousel-height-md: 300px;
2279
2316
  }
2280
2317
  &__prepend {
2281
2318
  padding-right: var(--q-space-1);
2282
- padding-left: calc(2px * var(--q-density-scale));
2319
+ padding-left: calc(var(--q-space-1) * 0.5);
2283
2320
  }
2284
2321
  &__append {
2285
2322
  margin-left: auto;
2286
2323
  padding-left: var(--q-space-1);
2287
- padding-right: calc(2px * var(--q-density-scale));
2324
+ padding-right: calc(var(--q-space-1) * 0.5);
2288
2325
  }
2289
2326
 
2290
2327
  &--readonly {
@@ -2323,7 +2360,7 @@ $q-carousel-height-md: 300px;
2323
2360
  }
2324
2361
  }
2325
2362
 
2326
- @mixin field-size($size, $multiplier: 1) {
2363
+ @mixin q-field-size($size, $multiplier: 1) {
2327
2364
  &--#{$size} {
2328
2365
  > #{$this}__control {
2329
2366
  width: calc(#{$multiplier} * 5em + #{$multiplier - 1} * var(--q-space-1));
@@ -2331,19 +2368,19 @@ $q-carousel-height-md: 300px;
2331
2368
  }
2332
2369
  }
2333
2370
  }
2334
- @include field-size(mini, 1);
2335
- @include field-size(small, 2);
2336
- @include field-size(medium, 3);
2337
- @include field-size(large, 4);
2338
- @include field-size(xlarge, 6);
2339
- @include field-size(xxlarge, 8);
2371
+ @include q-field-size(mini, 1);
2372
+ @include q-field-size(small, 2);
2373
+ @include q-field-size(medium, 3);
2374
+ @include q-field-size(large, 4);
2375
+ @include q-field-size(xlarge, 6);
2376
+ @include q-field-size(xxlarge, 8);
2340
2377
  &--block {
2341
2378
  width: 100%;
2342
2379
  }
2343
2380
  }
2344
2381
  .q-file-input {
2345
2382
  $this: &;
2346
- --q-file-input-preview-side: calc(3rem * var(--q-density-scale));
2383
+ --q-file-input-preview-side: calc(var(--q-space-1) * 12);
2347
2384
  --q-file-input-preview-padding: var(--q-space-3);
2348
2385
 
2349
2386
  &.q-field__control {
@@ -2450,15 +2487,15 @@ $q-carousel-height-md: 300px;
2450
2487
  .q-gauge {
2451
2488
  display: flex;
2452
2489
  width: 100%;
2453
- min-width: min(calc(14rem * var(--q-density-scale)), 100%);
2490
+ min-width: min(calc(var(--q-space-1) * 56), 100%);
2454
2491
  flex-direction: column;
2455
2492
  align-items: center;
2456
- padding: var(--q-space-4) var(--q-space-4) calc(1.125rem * var(--q-density-scale));
2493
+ padding: var(--q-space-4) var(--q-space-4) calc(var(--q-space-1) * 4.5);
2457
2494
  border: var(--q-border-width) solid var(--q-border-color);
2458
2495
  border-radius: var(--q-border-radius);
2459
2496
  background-color: var(--q-theme-container);
2460
2497
  box-shadow: var(--q-shadow-sm);
2461
- color: var(--q-theme-on-background);
2498
+ color: var(--q-theme-neutral-dark);
2462
2499
  &__label {
2463
2500
  width: 100%;
2464
2501
  overflow: hidden;
@@ -2472,7 +2509,7 @@ $q-carousel-height-md: 300px;
2472
2509
  }
2473
2510
  &__visual {
2474
2511
  width: 100%;
2475
- max-width: calc(18rem * var(--q-density-scale));
2512
+ max-width: calc(var(--q-space-1) * 72);
2476
2513
  margin-top: var(--q-space-1);
2477
2514
  }
2478
2515
  &__svg {
@@ -2561,10 +2598,7 @@ $q-carousel-height-md: 300px;
2561
2598
  }
2562
2599
  &__hub {
2563
2600
  fill: var(--q-theme-container);
2564
- filter: drop-shadow(
2565
- 0 calc(0.4rem * var(--q-density-scale)) calc(0.45rem * var(--q-density-scale))
2566
- rgb(var(--q-theme-neutral-dark-rgb) / 28%)
2567
- );
2601
+ filter: drop-shadow(var(--q-shadow-lg));
2568
2602
  stroke: rgb(var(--q-theme-neutral-light-rgb) / 65%);
2569
2603
  stroke-width: 1;
2570
2604
  }
@@ -2573,11 +2607,11 @@ $q-carousel-height-md: 300px;
2573
2607
  }
2574
2608
  &__value-row {
2575
2609
  display: flex;
2576
- min-height: calc(1.75rem * var(--q-density-scale));
2610
+ min-height: calc(var(--q-space-1) * 7);
2577
2611
  align-items: baseline;
2578
2612
  justify-content: center;
2579
2613
  gap: var(--q-space-1);
2580
- margin-top: calc(-0.25rem * var(--q-density-scale));
2614
+ margin-top: calc(var(--q-space-1) * -1);
2581
2615
  }
2582
2616
  &__value {
2583
2617
  color: var(--q-theme-neutral-dark);
@@ -2592,7 +2626,7 @@ $q-carousel-height-md: 300px;
2592
2626
  &__secondary {
2593
2627
  color: var(--q-theme-neutral);
2594
2628
  font-size: var(--q-font-size-sm);
2595
- min-height: calc(1.125rem * var(--q-density-scale));
2629
+ min-height: calc(var(--q-space-1) * 4.5);
2596
2630
  margin-top: var(--q-space-1);
2597
2631
  text-align: center;
2598
2632
  }
@@ -2601,8 +2635,8 @@ $q-carousel-height-md: 300px;
2601
2635
  width: 100%;
2602
2636
  flex-wrap: wrap;
2603
2637
  justify-content: center;
2604
- gap: calc(0.375rem * var(--q-density-scale)) calc(0.75rem * var(--q-density-scale));
2605
- margin: calc(0.75rem * var(--q-density-scale)) 0 0;
2638
+ gap: calc(var(--q-space-1) * 1.5) var(--q-space-3);
2639
+ margin: var(--q-space-3) 0 0;
2606
2640
  padding: 0;
2607
2641
  list-style: none;
2608
2642
  }
@@ -2610,7 +2644,7 @@ $q-carousel-height-md: 300px;
2610
2644
  display: inline-flex;
2611
2645
  min-width: 0;
2612
2646
  align-items: center;
2613
- gap: calc(0.3125rem * var(--q-density-scale));
2647
+ gap: calc(var(--q-space-1) * 1.25);
2614
2648
  color: var(--q-theme-neutral);
2615
2649
  font-size: var(--q-font-size-sm);
2616
2650
  line-height: 1.2;
@@ -2620,17 +2654,17 @@ $q-carousel-height-md: 300px;
2620
2654
  font-weight: var(--q-font-weight-bold);
2621
2655
  }
2622
2656
  &__legend-swatch {
2623
- width: calc(0.75rem * var(--q-density-scale));
2624
- height: calc(0.75rem * var(--q-density-scale));
2625
- flex: 0 0 calc(0.75rem * var(--q-density-scale));
2657
+ width: var(--q-space-3);
2658
+ height: var(--q-space-3);
2659
+ flex: 0 0 var(--q-space-3);
2626
2660
  border: var(--q-border-width) solid rgb(var(--q-theme-neutral-dark-rgb) / 12%);
2627
- border-radius: calc(0.125rem * var(--q-density-scale));
2661
+ border-radius: calc(var(--q-space-1) * 0.5);
2628
2662
  }
2629
2663
  &__legend-target {
2630
- width: calc(1rem * var(--q-density-scale));
2664
+ width: var(--q-space-4);
2631
2665
  height: 0;
2632
- flex: 0 0 calc(1rem * var(--q-density-scale));
2633
- border-top: calc(0.1875rem * var(--q-density-scale)) solid var(--q-theme-success);
2666
+ flex: 0 0 var(--q-space-4);
2667
+ border-top: calc(var(--q-space-1) * 0.75) solid var(--q-theme-success);
2634
2668
  border-radius: 999px;
2635
2669
  }
2636
2670
  &__legend-target--missed {
@@ -2650,8 +2684,8 @@ $q-carousel-height-md: 300px;
2650
2684
  width: 100%;
2651
2685
  margin-left: auto;
2652
2686
  margin-right: auto;
2653
- padding-left: calc(16px * var(--q-density-scale));
2654
- padding-right: calc(16px * var(--q-density-scale));
2687
+ padding-left: var(--q-space-4);
2688
+ padding-right: var(--q-space-4);
2655
2689
  }
2656
2690
  .q-container--fluid {
2657
2691
  max-width: 100%;
@@ -2736,7 +2770,7 @@ $q-carousel-height-md: 300px;
2736
2770
  width: auto;
2737
2771
  max-width: 100%;
2738
2772
  }
2739
- @mixin generate-cols($infix: '') {
2773
+ @mixin q-generate-cols($infix: '') {
2740
2774
  @for $i from 1 through 12 {
2741
2775
  $width: math.div($i, 12) * 100%;
2742
2776
  .q-col#{$infix}-#{$i} {
@@ -2745,21 +2779,21 @@ $q-carousel-height-md: 300px;
2745
2779
  }
2746
2780
  }
2747
2781
  }
2748
- @include generate-cols;
2782
+ @include q-generate-cols;
2749
2783
  @media (min-width: $breakpoint-sm) {
2750
- @include generate-cols('-sm');
2784
+ @include q-generate-cols('-sm');
2751
2785
  }
2752
2786
  @media (min-width: $breakpoint-md) {
2753
- @include generate-cols('-md');
2787
+ @include q-generate-cols('-md');
2754
2788
  }
2755
2789
  @media (min-width: $breakpoint-lg) {
2756
- @include generate-cols('-lg');
2790
+ @include q-generate-cols('-lg');
2757
2791
  }
2758
2792
  @media (min-width: $breakpoint-xl) {
2759
- @include generate-cols('-xl');
2793
+ @include q-generate-cols('-xl');
2760
2794
  }
2761
2795
  @media (min-width: $breakpoint-xxl) {
2762
- @include generate-cols('-xxl');
2796
+ @include q-generate-cols('-xxl');
2763
2797
  }
2764
2798
  
2765
2799
  .q-spacer {
@@ -2912,7 +2946,7 @@ $input-group-addon-background: rgb(var(--q-theme-neutral-light-rgb) / 25%);
2912
2946
  height: inherit;
2913
2947
  > * {
2914
2948
  border-radius: 0;
2915
- min-width: calc(40px * var(--q-density-scale));
2949
+ min-width: calc(var(--q-space-1) * 10);
2916
2950
  height: 100%;
2917
2951
  justify-content: center;
2918
2952
  }
@@ -2926,19 +2960,23 @@ $input-group-addon-background: rgb(var(--q-theme-neutral-light-rgb) / 25%);
2926
2960
  background-color: $input-group-addon-background;
2927
2961
  color: $input-group-addon-color;
2928
2962
  white-space: nowrap;
2929
- padding: 0 calc(0.4rem * var(--q-density-scale));
2963
+ padding: 0 calc(var(--q-space-1) * 1.6);
2930
2964
  }
2931
2965
  > * + * {
2932
2966
  margin-left: -1px;
2933
2967
  }
2934
2968
  }
2969
+
2970
+
2971
+ &.q-field:not(.q-field--disabled) > .q-field__control:focus-within {
2972
+ outline: none;
2973
+ }
2935
2974
  > .q-field__control {
2936
2975
  display: flex;
2937
2976
  align-items: stretch;
2938
2977
  height: auto;
2939
2978
  border-width: 0;
2940
2979
  padding: 0;
2941
- outline: none !important;
2942
2980
  > * + * {
2943
2981
  margin-left: -1px;
2944
2982
  }
@@ -2987,7 +3025,7 @@ $input-group-addon-background: rgb(var(--q-theme-neutral-light-rgb) / 25%);
2987
3025
  $q-line-loader-height: var(--q-line-loader-height);
2988
3026
  $q-line-loader-color: var(--q-line-loader-color);
2989
3027
  .q-line-loader {
2990
- --q-line-loader-height: calc(4px * var(--q-density-scale));
3028
+ --q-line-loader-height: var(--q-space-1);
2991
3029
  --q-line-loader-color: var(--q-theme-primary-rgb);
2992
3030
  width: 100%;
2993
3031
  height: $q-line-loader-height;
@@ -3077,8 +3115,13 @@ $q-line-loader-color: var(--q-line-loader-color);
3077
3115
  cursor: not-allowed;
3078
3116
  }
3079
3117
  }
3118
+
3080
3119
  &--selected {
3081
- background-color: var(--q-theme-primary-light) !important;
3120
+ background-color: var(--q-theme-primary-light);
3121
+ &:hover,
3122
+ &:focus {
3123
+ background-color: var(--q-theme-primary-light);
3124
+ }
3082
3125
  }
3083
3126
  em {
3084
3127
  font-style: normal;
@@ -3150,7 +3193,7 @@ $q-line-loader-color: var(--q-line-loader-color);
3150
3193
  &__track {
3151
3194
  position: relative;
3152
3195
  width: 100%;
3153
- height: calc(0.5rem * var(--q-density-scale));
3196
+ height: var(--q-space-2);
3154
3197
  overflow: hidden;
3155
3198
  border-radius: var(--q-border-radius);
3156
3199
  background-color: rgb(var(--q-theme-neutral-light-rgb) / 50%);
@@ -3235,9 +3278,8 @@ $q-line-loader-color: var(--q-line-loader-color);
3235
3278
  flex-shrink: 0;
3236
3279
  }
3237
3280
  }
3238
- $q-overflow-fade-size: 2.5rem;
3239
3281
  .q-overflow {
3240
- --q-overflow-fade-size: calc(#{$q-overflow-fade-size} * var(--q-density-scale));
3282
+ --q-overflow-fade-size: calc(var(--q-space-1) * 10);
3241
3283
  display: flex;
3242
3284
  align-items: stretch;
3243
3285
  min-width: 0;
@@ -3452,13 +3494,13 @@ $q-overflow-fade-size: 2.5rem;
3452
3494
  $this: &;
3453
3495
 
3454
3496
  --q-overlay-bg: var(--q-theme-container);
3455
- --q-overlay-color: var(--q-theme-on-background);
3456
- --q-overlay-border-color: var(--q-theme-neutral-light);
3457
- --q-overlay-arrow-gap: calc(8px * var(--q-density-scale));
3497
+ --q-overlay-color: var(--q-theme-neutral-dark);
3498
+ --q-overlay-border-color: var(--q-border-color);
3499
+ --q-overlay-arrow-gap: var(--q-space-2);
3458
3500
  --q-overlay-arrow-size: calc(var(--q-overlay-arrow-gap) * 1.4142);
3459
- --q-overlay-arrow-tip-radius: calc(0.1rem * var(--q-density-scale));
3460
- --q-overlay-viewport-inset-x: calc(1rem * var(--q-density-scale));
3461
- --q-overlay-viewport-inset-y: calc(2rem * var(--q-density-scale));
3501
+ --q-overlay-arrow-tip-radius: calc(var(--q-space-1) * 0.4);
3502
+ --q-overlay-viewport-inset-x: var(--q-space-4);
3503
+ --q-overlay-viewport-inset-y: calc(var(--q-space-1) * 8);
3462
3504
  position: fixed;
3463
3505
  z-index: var(--q-overlay-z-index);
3464
3506
  max-width: calc(100vw - var(--q-overlay-viewport-inset-x));
@@ -3668,7 +3710,7 @@ $q-overflow-fade-size: 2.5rem;
3668
3710
  color: var(--q-theme-neutral-dark);
3669
3711
  }
3670
3712
  & + .q-select__items {
3671
- --q-phone-field-country-list-max-height: calc(15rem * var(--q-density-scale));
3713
+ --q-phone-field-country-list-max-height: calc(var(--q-space-1) * 60);
3672
3714
  width: 100%;
3673
3715
  min-width: 0;
3674
3716
  max-height: var(--q-phone-field-country-list-max-height);
@@ -3696,7 +3738,7 @@ $q-overflow-fade-size: 2.5rem;
3696
3738
  position: relative;
3697
3739
  display: flex;
3698
3740
  flex-direction: column;
3699
- max-width: calc(276px * var(--q-density-scale));
3741
+ max-width: calc(var(--q-space-1) * 69);
3700
3742
  gap: var(--q-space-2);
3701
3743
  padding: var(--q-space-4);
3702
3744
  font-size: var(--q-font-size-sm);
@@ -3717,7 +3759,6 @@ $q-overflow-fade-size: 2.5rem;
3717
3759
  font-size: var(--q-font-size-md);
3718
3760
  }
3719
3761
  }
3720
- $transition-speed: 0.4s !default;
3721
3762
  @keyframes q-progress-move {
3722
3763
  from {
3723
3764
  background-position: 0 0;
@@ -3747,13 +3788,14 @@ $transition-speed: 0.4s !default;
3747
3788
  }
3748
3789
  }
3749
3790
  .q-progress {
3791
+ --q-transition-duration: 0.4s;
3750
3792
  --q-progress-main-color: var(--q-theme-primary);
3751
3793
  --q-progress-main-color-rgb: var(--q-theme-primary-rgb);
3752
3794
  --q-progress-on-main-color: var(--q-theme-on-primary);
3753
- --q-progress-bar-height: calc(1.2rem * var(--q-density-scale));
3754
- --q-progress-bar-height-mini: calc(0.35rem * var(--q-density-scale));
3755
- --q-progress-stripe-size: calc(1rem * var(--q-density-scale));
3756
- --q-progress-values-gap: calc(5px * var(--q-density-scale));
3795
+ --q-progress-bar-height: calc(var(--q-space-1) * 4.8);
3796
+ --q-progress-bar-height-mini: calc(var(--q-space-1) * 1.4);
3797
+ --q-progress-stripe-size: var(--q-space-4);
3798
+ --q-progress-values-gap: calc(var(--q-space-1) * 1.25);
3757
3799
  &__bar {
3758
3800
  display: flex;
3759
3801
  overflow: hidden;
@@ -3777,7 +3819,7 @@ $transition-speed: 0.4s !default;
3777
3819
  text-align: center;
3778
3820
  white-space: nowrap;
3779
3821
  background-color: var(--q-progress-main-color);
3780
- transition: width $transition-speed ease;
3822
+ transition: width var(--q-transition-duration) var(--q-transition-timing-function);
3781
3823
  &-text {
3782
3824
  position: relative;
3783
3825
  z-index: 1;
@@ -3854,11 +3896,8 @@ $transition-speed: 0.4s !default;
3854
3896
  }
3855
3897
  }
3856
3898
  }
3857
- $table-header-bg: rgb(var(--q-theme-neutral-light-rgb) / 25%);
3858
- $row-hover-bg: rgb(var(--q-theme-primary-light-rgb) / 50%);
3859
- $row-selected-bg: rgb(var(--q-theme-primary-rgb) / 15%);
3860
- $base-border: var(--q-border-width) solid rgb(var(--q-theme-neutral-light-rgb) / 50%);
3861
3899
  .q-property-list {
3900
+ $base-border: var(--q-border-width) solid var(--q-border-color);
3862
3901
  margin: 0;
3863
3902
  font-size: var(--q-font-size-md);
3864
3903
  display: inline-flex;
@@ -3868,19 +3907,19 @@ $base-border: var(--q-border-width) solid rgb(var(--q-theme-neutral-light-rgb) /
3868
3907
  border-radius: var(--q-border-radius);
3869
3908
  overflow: hidden;
3870
3909
  &-panel {
3871
- padding: calc(0.4rem * var(--q-density-scale));
3910
+ padding: calc(var(--q-space-1) * 1.6);
3872
3911
  display: flex;
3873
3912
  flex-direction: column;
3874
3913
  overflow-y: auto;
3875
- min-height: calc(50px * var(--q-density-scale));
3876
- max-height: calc(80px * var(--q-density-scale));
3914
+ min-height: calc(var(--q-space-1) * 12.5);
3915
+ max-height: calc(var(--q-space-1) * 20);
3877
3916
  gap: var(--q-space-4);
3878
3917
  }
3879
3918
  &--side-panel {
3880
3919
  flex-direction: row;
3881
3920
  .q-property-list-panel {
3882
3921
  border-left: $base-border;
3883
- width: calc(250px * var(--q-density-scale));
3922
+ width: calc(var(--q-space-1) * 62.5);
3884
3923
  max-height: unset;
3885
3924
  }
3886
3925
  }
@@ -3902,12 +3941,12 @@ $base-border: var(--q-border-width) solid rgb(var(--q-theme-neutral-light-rgb) /
3902
3941
  }
3903
3942
  }
3904
3943
  &__header {
3905
- background: $table-header-bg;
3906
- height: calc(25px * var(--q-density-scale));
3944
+ background: rgb(var(--q-theme-neutral-light-rgb) / 25%);
3945
+ height: calc(var(--q-space-1) * 6.25);
3907
3946
  }
3908
3947
  &__row {
3909
3948
  &:hover {
3910
- background-color: $row-hover-bg;
3949
+ background-color: rgb(var(--q-theme-primary-light-rgb) / 50%);
3911
3950
  }
3912
3951
  .q-field:not(.q-field--readonly) .q-field__control {
3913
3952
  background-color: var(--q-theme-background);
@@ -3916,7 +3955,7 @@ $base-border: var(--q-border-width) solid rgb(var(--q-theme-neutral-light-rgb) /
3916
3955
  display: none;
3917
3956
  }
3918
3957
  &--selected {
3919
- background-color: $row-selected-bg;
3958
+ background-color: rgb(var(--q-theme-primary-rgb) / 15%);
3920
3959
  }
3921
3960
  }
3922
3961
  &__cell {
@@ -3940,14 +3979,14 @@ $base-border: var(--q-border-width) solid rgb(var(--q-theme-neutral-light-rgb) /
3940
3979
  &-group {
3941
3980
  cursor: pointer;
3942
3981
  td {
3943
- padding: calc(0.2rem * var(--q-density-scale)) var(--q-space-1);
3982
+ padding: var(--q-space-1);
3944
3983
  }
3945
3984
  &__content {
3946
3985
  display: flex;
3947
3986
  align-items: center;
3948
3987
  }
3949
3988
  ~ .q-property-list__row .q-property-list__cell-label {
3950
- padding: 0 calc(2rem * var(--q-density-scale));
3989
+ padding: 0 calc(var(--q-space-1) * 8);
3951
3990
  }
3952
3991
  &--no-toggle {
3953
3992
  cursor: default;
@@ -4062,13 +4101,13 @@ $base-border: var(--q-border-width) solid rgb(var(--q-theme-neutral-light-rgb) /
4062
4101
  }
4063
4102
  }
4064
4103
 
4065
- @mixin color-variant($color) {
4104
+ @mixin q-color-variant($color) {
4066
4105
  &--#{$color} {
4067
4106
  --q-radio-button-checked-color: var(--q-theme-#{$color});
4068
4107
  }
4069
4108
  }
4070
4109
  @each $color in (primary, info, success, warning, danger) {
4071
- @include color-variant($color);
4110
+ @include q-color-variant($color);
4072
4111
  }
4073
4112
 
4074
4113
  &--disabled {
@@ -4148,7 +4187,7 @@ $base-border: var(--q-border-width) solid rgb(var(--q-theme-neutral-light-rgb) /
4148
4187
  margin: 0;
4149
4188
  margin-top: var(--q-space-1);
4150
4189
  display: flex;
4151
- align-items: flex-start;
4190
+ align-items: center;
4152
4191
  width: fit-content;
4153
4192
  gap: var(--q-space-1);
4154
4193
  margin-bottom: var(--q-space-2);
@@ -4167,7 +4206,7 @@ $base-border: var(--q-border-width) solid rgb(var(--q-theme-neutral-light-rgb) /
4167
4206
  &--minor-border-top {
4168
4207
  background-color: transparent;
4169
4208
  border: none;
4170
- border-top: var(--q-border-width) solid var(--q-theme-neutral-light);
4209
+ border-top: var(--q-border-width) solid var(--q-border-color);
4171
4210
  border-radius: 0;
4172
4211
  margin-top: var(--q-space-2);
4173
4212
  padding: var(--q-space-1) 0;
@@ -4186,12 +4225,12 @@ $base-border: var(--q-border-width) solid rgb(var(--q-theme-neutral-light-rgb) /
4186
4225
  }
4187
4226
  }
4188
4227
  &--title-background {
4189
- padding: 0 !important;
4228
+ padding: 0;
4190
4229
  &::before {
4191
4230
  position: absolute;
4192
4231
  top: 0;
4193
4232
  left: 0;
4194
- height: calc(30px * var(--q-density-scale));
4233
+ height: calc(var(--q-space-1) * 7.5);
4195
4234
  width: 100%;
4196
4235
  content: '';
4197
4236
  background-color: rgb(var(--q-theme-neutral-light-rgb) / 25%);
@@ -4204,19 +4243,19 @@ $base-border: var(--q-border-width) solid rgb(var(--q-theme-neutral-light-rgb) /
4204
4243
  font-weight: 700;
4205
4244
  line-height: var(--q-line-height-md);
4206
4245
  letter-spacing: var(--q-letter-spacing-sm);
4207
- color: var(--q-theme-on-background);
4246
+ color: var(--q-theme-neutral-dark);
4208
4247
  text-transform: none;
4209
4248
  z-index: 10;
4210
4249
  position: relative;
4211
4250
  }
4212
4251
  > #{$this}__content {
4213
- padding: calc(0.2rem * var(--q-density-scale)) var(--q-space-4) var(--q-space-4);
4252
+ padding: var(--q-space-1) var(--q-space-4) var(--q-space-4);
4214
4253
  }
4215
4254
  }
4216
4255
  &--subsection {
4217
4256
  border: none;
4218
- margin-left: calc(0.625rem * var(--q-density-scale));
4219
- margin-bottom: calc(0.625rem * var(--q-density-scale));
4257
+ margin-left: calc(var(--q-space-1) * 2.5);
4258
+ margin-bottom: calc(var(--q-space-1) * 2.5);
4220
4259
  #{$this}__title {
4221
4260
  font-size: var(--q-section-minor-title-size);
4222
4261
  line-height: var(--q-line-height-md);
@@ -4334,7 +4373,7 @@ $base-border: var(--q-border-width) solid rgb(var(--q-theme-neutral-light-rgb) /
4334
4373
  &__items {
4335
4374
  min-width: fit-content;
4336
4375
  width: 100%;
4337
- max-height: calc(240px * var(--q-density-scale));
4376
+ max-height: calc(var(--q-space-1) * 60);
4338
4377
  align-items: start;
4339
4378
  }
4340
4379
  &__loader {
@@ -4356,7 +4395,6 @@ $sidebar-size-medium: 27rem;
4356
4395
  $sidebar-size-large: 35rem;
4357
4396
  $sidebar-size-xlarge: 50%;
4358
4397
  $sidebar-size-block: 100%;
4359
- $sidebar-border-color: rgb(var(--q-theme-neutral-rgb) / 25%);
4360
4398
  $sidebar-sizes: (
4361
4399
  small: $sidebar-size-small,
4362
4400
  medium: $sidebar-size-medium,
@@ -4364,7 +4402,7 @@ $sidebar-sizes: (
4364
4402
  xlarge: $sidebar-size-xlarge,
4365
4403
  block: $sidebar-size-block
4366
4404
  );
4367
- @mixin sidebar-size-modifiers($prefix, $property) {
4405
+ @mixin q-sidebar-size-modifiers($prefix, $property) {
4368
4406
  @each $size, $value in $sidebar-sizes {
4369
4407
  $suffix: if($prefix == '', $size, '#{$prefix}-#{$size}');
4370
4408
  .q-sidebar--expanded.q-sidebar--#{$suffix} {
@@ -4373,6 +4411,7 @@ $sidebar-sizes: (
4373
4411
  }
4374
4412
  }
4375
4413
  .q-sidebar {
4414
+ --q-sidebar-border-color: rgb(var(--q-theme-neutral-rgb) / 25%);
4376
4415
  height: 100%;
4377
4416
  display: flex;
4378
4417
  overflow: hidden;
@@ -4397,7 +4436,7 @@ $sidebar-sizes: (
4397
4436
  display: flex;
4398
4437
  flex-direction: column;
4399
4438
  flex-shrink: 0;
4400
- width: calc(50px * var(--q-density-scale));
4439
+ width: calc(var(--q-space-1) * 12.5);
4401
4440
  background-color: var(--q-theme-container);
4402
4441
  z-index: 10;
4403
4442
  }
@@ -4412,9 +4451,14 @@ $sidebar-sizes: (
4412
4451
  aspect-ratio: 1;
4413
4452
  border-radius: 0;
4414
4453
  border-width: 0;
4415
- border-bottom-width: 1px;
4416
- border-bottom-color: $sidebar-border-color !important;
4454
+ border-bottom-width: var(--q-border-width);
4455
+ border-bottom-color: var(--q-sidebar-border-color);
4417
4456
  font-size: calc(var(--q-font-size-sm) * 0.8);
4457
+
4458
+
4459
+ &:hover:not(:disabled) {
4460
+ border-bottom-color: var(--q-sidebar-border-color);
4461
+ }
4418
4462
  .q-icon {
4419
4463
  font-size: var(--q-icon-size-lg);
4420
4464
  }
@@ -4462,7 +4506,7 @@ $sidebar-sizes: (
4462
4506
  .q-sidebar-panel__handle {
4463
4507
  position: absolute;
4464
4508
  top: 0;
4465
- width: calc(10px * var(--q-density-scale));
4509
+ width: calc(var(--q-space-1) * 2.5);
4466
4510
  height: 100%;
4467
4511
  cursor: ew-resize;
4468
4512
  display: flex;
@@ -4479,30 +4523,36 @@ $sidebar-sizes: (
4479
4523
  width: var(--q-space-1);
4480
4524
  height: var(--q-space-6);
4481
4525
  background-color: var(--q-theme-neutral);
4482
- border-radius: calc(2px * var(--q-density-scale));
4526
+ border-radius: calc(var(--q-space-1) * 0.5);
4483
4527
  }
4484
- @include sidebar-size-modifiers('', width);
4485
- @include sidebar-size-modifiers('min', min-width);
4486
- @include sidebar-size-modifiers('max', max-width);
4528
+ @include q-sidebar-size-modifiers('', width);
4529
+ @include q-sidebar-size-modifiers('min', min-width);
4530
+ @include q-sidebar-size-modifiers('max', max-width);
4487
4531
  .q-sidebar--right {
4488
- right: 0;
4532
+ box-shadow: calc(var(--q-space-1) * -0.5) 0 var(--q-space-2)
4533
+ rgb(var(--q-theme-neutral-dark-rgb) / 15%);
4489
4534
  flex-direction: row-reverse;
4490
- }
4491
- .q-sidebar--left .q-sidebar__indicator {
4492
- left: 0;
4493
- }
4494
- .q-sidebar--right .q-sidebar__indicator {
4495
4535
  right: 0;
4536
+ .q-sidebar-panel,
4537
+ .q-sidebar-anchor {
4538
+ border-left-width: var(--q-border-width);
4539
+ border-left-color: var(--q-sidebar-border-color);
4540
+ }
4541
+ .q-sidebar__indicator {
4542
+ right: 0;
4543
+ }
4496
4544
  }
4497
- .q-sidebar--left .q-sidebar-panel,
4498
- .q-sidebar--left .q-sidebar-anchor {
4499
- border-right-width: 1px;
4500
- border-right-color: $sidebar-border-color;
4501
- }
4502
- .q-sidebar--right .q-sidebar-panel,
4503
- .q-sidebar--right .q-sidebar-anchor {
4504
- border-left-width: 1px;
4505
- border-left-color: $sidebar-border-color;
4545
+ .q-sidebar--left {
4546
+ box-shadow: calc(var(--q-space-1) * 0.5) 0 var(--q-space-2)
4547
+ rgb(var(--q-theme-neutral-dark-rgb) / 15%);
4548
+ .q-sidebar-panel,
4549
+ .q-sidebar-anchor {
4550
+ border-right-width: var(--q-border-width);
4551
+ border-right-color: var(--q-sidebar-border-color);
4552
+ }
4553
+ .q-sidebar__indicator {
4554
+ left: 0;
4555
+ }
4506
4556
  }
4507
4557
  @media (prefers-reduced-motion: reduce) {
4508
4558
  .q-sidebar__indicator {
@@ -4563,7 +4613,7 @@ $sidebar-sizes: (
4563
4613
  }
4564
4614
  $spinner-color: var(--q-theme-primary);
4565
4615
  .q-spinner-loader {
4566
- font-size: calc(48px * var(--q-density-scale));
4616
+ font-size: calc(var(--q-space-1) * 12);
4567
4617
  width: 1em;
4568
4618
  padding: 0.15em;
4569
4619
  aspect-ratio: 1;
@@ -4586,13 +4636,13 @@ $spinner-color: var(--q-theme-primary);
4586
4636
 
4587
4637
 
4588
4638
 
4589
- --q-switch-inner-padding: calc(2px * var(--q-density-scale));
4639
+ --q-switch-inner-padding: calc(var(--q-space-1) * 0.5);
4590
4640
  --q-switch-border-radius: 9999px;
4591
4641
  --q-switch-transition-duration: 0.15s;
4592
4642
  --q-switch-transition-easing: ease-out;
4593
4643
 
4594
- --q-switch-label-padding-v: calc(10px * var(--q-density-scale));
4595
- --q-switch-label-padding-h: calc(15px * var(--q-density-scale));
4644
+ --q-switch-label-padding-v: calc(var(--q-space-1) * 2.5);
4645
+ --q-switch-label-padding-h: calc(var(--q-space-1) * 3.75);
4596
4646
  --q-switch-font-size: var(--q-font-size-sm);
4597
4647
 
4598
4648
  --q-switch-label-block-size: calc(
@@ -4608,15 +4658,15 @@ $spinner-color: var(--q-theme-primary);
4608
4658
 
4609
4659
  --q-switch-shadow-color-primary: rgb(var(--q-theme-on-background-rgb) / 20%);
4610
4660
  --q-switch-shadow-color-secondary: rgb(var(--q-theme-on-background-rgb) / 10%);
4611
- --q-switch-shadow-blur-base: calc(3px * var(--q-density-scale));
4612
- --q-switch-shadow-offset-y: calc(1px * var(--q-density-scale));
4613
- --q-switch-shadow-spread: calc(2px * var(--q-density-scale));
4661
+ --q-switch-shadow-blur-base: calc(var(--q-space-1) * 0.75);
4662
+ --q-switch-shadow-offset-y: calc(var(--q-space-1) * 0.25);
4663
+ --q-switch-shadow-spread: calc(var(--q-space-1) * 0.5);
4614
4664
 
4615
4665
  --q-switch-shadow-color-primary-hover: rgb(var(--q-theme-on-background-rgb) / 30%);
4616
4666
  --q-switch-shadow-color-secondary-hover: rgb(var(--q-theme-on-background-rgb) / 15%);
4617
- --q-switch-shadow-blur-hover: calc(6px * var(--q-density-scale));
4618
- --q-switch-shadow-offset-y-hover: calc(2px * var(--q-density-scale));
4619
- --q-switch-shadow-spread-hover: calc(4px * var(--q-density-scale));
4667
+ --q-switch-shadow-blur-hover: calc(var(--q-space-1) * 1.5);
4668
+ --q-switch-shadow-offset-y-hover: calc(var(--q-space-1) * 0.5);
4669
+ --q-switch-shadow-spread-hover: var(--q-space-1);
4620
4670
 
4621
4671
  --q-switch-disabled-opacity: 0.5;
4622
4672
  --q-switch-hover-background-opacity: 0.5;
@@ -4728,9 +4778,7 @@ $spinner-color: var(--q-theme-primary);
4728
4778
  padding-left: var(--q-switch-label-padding-v);
4729
4779
  }
4730
4780
  .q-switch--with-labels {
4731
- --q-switch-label-padding-v: calc(
4732
- 4px * var(--q-density-scale)
4733
- );
4781
+ --q-switch-label-padding-v: var(--q-space-1);
4734
4782
  .q-switch__label {
4735
4783
  padding: var(--q-switch-label-padding-v) var(--q-switch-label-padding-h);
4736
4784
  }
@@ -4789,7 +4837,7 @@ $spinner-color: var(--q-theme-primary);
4789
4837
  }
4790
4838
  }
4791
4839
  .q-tabs {
4792
- --q-tabs-indicator-thickness: calc(4px * var(--q-density-scale));
4840
+ --q-tabs-indicator-thickness: var(--q-space-1);
4793
4841
  display: flex;
4794
4842
  gap: 0;
4795
4843
  &--horizontal {
@@ -5054,7 +5102,7 @@ $spinner-color: var(--q-theme-primary);
5054
5102
  border: 0;
5055
5103
  padding: var(--q-control-padding-y-lg) var(--q-control-padding-x-lg);
5056
5104
  &.q-button.q-button--text {
5057
- color: var(--q-theme-on-background);
5105
+ color: var(--q-theme-neutral-dark);
5058
5106
  }
5059
5107
  &--active.q-button.q-button--text {
5060
5108
  color: var(--q-theme-primary);
@@ -5101,7 +5149,7 @@ $spinner-color: var(--q-theme-primary);
5101
5149
  color: inherit;
5102
5150
  background-color: transparent;
5103
5151
  padding: 0;
5104
- min-height: calc(2.5rem * var(--q-density-scale));
5152
+ min-height: calc(var(--q-space-1) * 10);
5105
5153
  resize: vertical;
5106
5154
  font-family: inherit;
5107
5155
  font-size: inherit;
@@ -5117,15 +5165,15 @@ $spinner-color: var(--q-theme-primary);
5117
5165
  cursor: inherit;
5118
5166
  }
5119
5167
 
5120
- @mixin resize-attr($direction) {
5168
+ @mixin q-resize-attr($direction) {
5121
5169
  &[resize='#{$direction}'] {
5122
5170
  resize: $direction;
5123
5171
  }
5124
5172
  }
5125
- @include resize-attr(none);
5126
- @include resize-attr(horizontal);
5127
- @include resize-attr(vertical);
5128
- @include resize-attr(both);
5173
+ @include q-resize-attr(none);
5174
+ @include q-resize-attr(horizontal);
5175
+ @include q-resize-attr(vertical);
5176
+ @include q-resize-attr(both);
5129
5177
  }
5130
5178
  .q-text-area__input {
5131
5179
  flex: 1;
@@ -5166,23 +5214,14 @@ $spinner-color: var(--q-theme-primary);
5166
5214
  }
5167
5215
  .q-theme-provider {
5168
5216
  background: var(--q-theme-background);
5169
- color: var(--q-theme-on-background);
5170
- caret-color: var(--q-theme-on-background);
5171
- }
5172
- $q-toast-width: calc(8 * 5em + 7 * var(--q-space-1)) !default;
5173
- $q-toast-duration: 0.3s !default;
5174
- $q-toast-duration-leave: 0.24s !default;
5175
- $q-toast-spacing-buffer: clamp(
5176
- calc(1rem * var(--q-density-scale)),
5177
- 4vw,
5178
- calc(2.5rem * var(--q-density-scale))
5179
- ) !default;
5180
- $q-toast-slide-distance: clamp(
5181
- calc(1rem * var(--q-density-scale)),
5182
- 3vw,
5183
- calc(1.5rem * var(--q-density-scale))
5184
- ) !default;
5217
+ color: var(--q-theme-neutral-dark);
5218
+ caret-color: var(--q-theme-neutral-dark);
5219
+ }
5185
5220
  .q-toaster {
5221
+ --q-toast-duration: 0.3s;
5222
+ --q-toast-duration-leave: 0.24s;
5223
+ --q-toast-spacing-buffer: clamp(var(--q-space-4), 4vw, calc(var(--q-space-1) * 10));
5224
+ --q-toast-slide-distance: clamp(var(--q-space-4), 3vw, var(--q-space-6));
5186
5225
  position: fixed;
5187
5226
  z-index: 9999;
5188
5227
  inset: 0;
@@ -5215,7 +5254,8 @@ $q-toast-slide-distance: clamp(
5215
5254
  --q-toast-main-color: var(--q-theme-info);
5216
5255
  --q-toast-on-main-color: var(--q-theme-on-info);
5217
5256
  --q-toast-tonal-color: var(--q-theme-info-light);
5218
- max-width: #{$q-toast-width};
5257
+ --q-toast-width: calc(8 * 5em + 7 * var(--q-space-1));
5258
+ max-width: var(--q-toast-width);
5219
5259
  &.q-card {
5220
5260
  --q-card-base-padding: 0;
5221
5261
  --q-card-padding: 0;
@@ -5264,66 +5304,66 @@ $q-toast-slide-distance: clamp(
5264
5304
  color: var(--q-toast-main-color);
5265
5305
  }
5266
5306
  }
5267
- .toast-stack-enter-active {
5307
+ .q-toast-stack-enter-active {
5268
5308
  transition:
5269
- transform $q-toast-duration cubic-bezier(0.4, 0, 0.2, 1),
5270
- opacity $q-toast-duration cubic-bezier(0.4, 0, 0.2, 1);
5309
+ transform var(--q-toast-duration) cubic-bezier(0.4, 0, 0.2, 1),
5310
+ opacity var(--q-toast-duration) cubic-bezier(0.4, 0, 0.2, 1);
5271
5311
  }
5272
- .toast-stack-leave-active {
5312
+ .q-toast-stack-leave-active {
5273
5313
  transition:
5274
- transform $q-toast-duration-leave cubic-bezier(0.4, 0, 0.2, 1),
5275
- opacity $q-toast-duration-leave cubic-bezier(0.4, 0, 0.2, 1);
5314
+ transform var(--q-toast-duration-leave) cubic-bezier(0.4, 0, 0.2, 1),
5315
+ opacity var(--q-toast-duration-leave) cubic-bezier(0.4, 0, 0.2, 1);
5276
5316
  will-change: transform, opacity;
5277
5317
  }
5278
- .toast-stack-move {
5279
- transition: transform $q-toast-duration cubic-bezier(0.4, 0, 0.2, 1);
5318
+ .q-toast-stack-move {
5319
+ transition: transform var(--q-toast-duration) cubic-bezier(0.4, 0, 0.2, 1);
5280
5320
  }
5281
- .toast-stack-enter-from {
5321
+ .q-toast-stack-enter-from {
5282
5322
  opacity: 0;
5283
- transform: translateY($q-toast-slide-distance) scale(0.96);
5323
+ transform: translateY(var(--q-toast-slide-distance)) scale(0.96);
5284
5324
  }
5285
- .toast-stack-leave-to[data-placement*='right'] {
5325
+ .q-toast-stack-leave-to[data-placement*='right'] {
5286
5326
  opacity: 0;
5287
- transform: translateX(calc(100% + $q-toast-spacing-buffer)) scale(0.94);
5327
+ transform: translateX(calc(100% + var(--q-toast-spacing-buffer))) scale(0.94);
5288
5328
  }
5289
- .toast-stack-leave-to[data-placement*='left'] {
5329
+ .q-toast-stack-leave-to[data-placement*='left'] {
5290
5330
  opacity: 0;
5291
- transform: translateX(calc(-100% - $q-toast-spacing-buffer)) scale(0.94);
5331
+ transform: translateX(calc(-100% - var(--q-toast-spacing-buffer))) scale(0.94);
5292
5332
  }
5293
- .toast-stack-leave-to[data-placement^='top'] {
5333
+ .q-toast-stack-leave-to[data-placement^='top'] {
5294
5334
  opacity: 0;
5295
- transform: translateY(calc(-1 * $q-toast-slide-distance)) scale(0.94);
5335
+ transform: translateY(calc(-1 * var(--q-toast-slide-distance))) scale(0.94);
5296
5336
  }
5297
- .toast-stack-leave-to[data-placement^='bottom'] {
5337
+ .q-toast-stack-leave-to[data-placement^='bottom'] {
5298
5338
  opacity: 0;
5299
- transform: translateY($q-toast-slide-distance) scale(0.94);
5339
+ transform: translateY(var(--q-toast-slide-distance)) scale(0.94);
5300
5340
  }
5301
- .toast-stack-leave-to[data-placement$='center'] {
5341
+ .q-toast-stack-leave-to[data-placement$='center'] {
5302
5342
  opacity: 0;
5303
5343
  transform: scale(0.92);
5304
5344
  }
5305
- .toast-stack-leave-to {
5345
+ .q-toast-stack-leave-to {
5306
5346
  opacity: 0;
5307
5347
  transform: scale(0.94);
5308
5348
  }
5309
5349
  @media (prefers-reduced-motion: reduce) {
5310
- .toast-stack-enter-active,
5311
- .toast-stack-leave-active,
5312
- .toast-stack-move {
5350
+ .q-toast-stack-enter-active,
5351
+ .q-toast-stack-leave-active,
5352
+ .q-toast-stack-move {
5313
5353
  transition-duration: 0.1s;
5314
5354
  transition-timing-function: ease;
5315
5355
  }
5316
- .toast-stack-enter-from,
5317
- .toast-stack-leave-to {
5356
+ .q-toast-stack-enter-from,
5357
+ .q-toast-stack-leave-to {
5318
5358
  transform: none;
5319
5359
  }
5320
5360
  }
5321
- .toast-stack-enter-active,
5322
- .toast-stack-leave-active {
5361
+ .q-toast-stack-enter-active,
5362
+ .q-toast-stack-leave-active {
5323
5363
  will-change: transform, opacity;
5324
5364
  }
5325
- .toast-stack-enter-to,
5326
- .toast-stack-leave-to {
5365
+ .q-toast-stack-enter-to,
5366
+ .q-toast-stack-leave-to {
5327
5367
  will-change: auto;
5328
5368
  }
5329
5369
  .q-toggle {
@@ -5356,6 +5396,6 @@ $q-toast-slide-distance: clamp(
5356
5396
  word-spacing: normal;
5357
5397
  white-space: normal;
5358
5398
  letter-spacing: normal;
5359
- max-width: calc(200px * var(--q-density-scale));
5399
+ max-width: calc(var(--q-space-1) * 50);
5360
5400
  }
5361
5401
  }