@quidgest/ui 0.26.0 → 0.27.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 (247) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/dist/json/api.json +487 -155
  3. package/dist/manifest/components.json +3 -0
  4. package/dist/ui.css +1017 -142
  5. package/dist/ui.esm.js +988 -939
  6. package/dist/ui.js +1229 -1183
  7. package/dist/ui.min.css +1 -1
  8. package/dist/ui.min.js +1229 -1183
  9. package/dist/ui.scss +1267 -158
  10. package/esm/components/QAccordion/QAccordion.d.ts.map +1 -1
  11. package/esm/components/QAccordion/QAccordion.vue.js +19 -18
  12. package/esm/components/QAccordion/QAccordionItem.vue.js +4 -4
  13. package/esm/components/QBadge/QBadge.d.ts.map +1 -1
  14. package/esm/components/QBadge/QBadge.vue.js +58 -55
  15. package/esm/components/QBadgeIndicator/QBadgeIndicator.d.ts.map +1 -1
  16. package/esm/components/QBadgeIndicator/QBadgeIndicator.vue.js +17 -16
  17. package/esm/components/QBreadcrumbs/QBreadcrumb.d.ts +81 -0
  18. package/esm/components/QBreadcrumbs/QBreadcrumb.d.ts.map +1 -0
  19. package/esm/components/QBreadcrumbs/QBreadcrumb.vue.js +85 -0
  20. package/esm/components/QBreadcrumbs/QBreadcrumb2.vue.js +5 -0
  21. package/esm/components/QBreadcrumbs/QBreadcrumbs.d.ts +22 -0
  22. package/esm/components/QBreadcrumbs/QBreadcrumbs.d.ts.map +1 -0
  23. package/esm/components/QBreadcrumbs/QBreadcrumbs.vue.js +74 -0
  24. package/esm/components/QBreadcrumbs/QBreadcrumbs2.vue.js +5 -0
  25. package/esm/components/QBreadcrumbs/constants.d.ts +20 -0
  26. package/esm/components/QBreadcrumbs/constants.d.ts.map +1 -0
  27. package/esm/components/QBreadcrumbs/constants.js +10 -0
  28. package/esm/components/QBreadcrumbs/context.d.ts +103 -0
  29. package/esm/components/QBreadcrumbs/context.d.ts.map +1 -0
  30. package/esm/components/QBreadcrumbs/context.js +4 -0
  31. package/esm/components/QBreadcrumbs/index.d.ts +108 -0
  32. package/esm/components/QBreadcrumbs/index.d.ts.map +1 -0
  33. package/esm/components/QBreadcrumbs/index.js +7 -0
  34. package/esm/components/QBreadcrumbs/types.d.ts +100 -0
  35. package/esm/components/QBreadcrumbs/types.d.ts.map +1 -0
  36. package/esm/components/QButton/QButton.d.ts.map +1 -1
  37. package/esm/components/QButton/QButton.vue.js +55 -52
  38. package/esm/components/QButtonGroup/QButtonGroup.d.ts.map +1 -1
  39. package/esm/components/QButtonGroup/QButtonGroup.vue.js +16 -15
  40. package/esm/components/QCard/QCard.d.ts.map +1 -1
  41. package/esm/components/QCard/QCard.vue.js +51 -52
  42. package/esm/components/QCarousel/QCarousel.d.ts.map +1 -1
  43. package/esm/components/QCarousel/QCarousel.vue.js +119 -115
  44. package/esm/components/QCheckbox/QCheckbox.d.ts.map +1 -1
  45. package/esm/components/QCheckbox/QCheckbox.vue.js +10 -14
  46. package/esm/components/QCollapsible/QCollapsible.d.ts.map +1 -1
  47. package/esm/components/QCollapsible/QCollapsible.vue.js +52 -51
  48. package/esm/components/QColorPicker/QColorPicker.d.ts.map +1 -1
  49. package/esm/components/QColorPicker/QColorPicker.vue.js +48 -47
  50. package/esm/components/QCombobox/QCombobox.d.ts +6 -4
  51. package/esm/components/QCombobox/QCombobox.d.ts.map +1 -1
  52. package/esm/components/QCombobox/QCombobox.vue.js +119 -116
  53. package/esm/components/QCombobox/index.d.ts +3 -2
  54. package/esm/components/QCombobox/index.d.ts.map +1 -1
  55. package/esm/components/QDateTimePicker/QDateTimePicker.d.ts.map +1 -1
  56. package/esm/components/QDateTimePicker/QDateTimePicker.vue.js +468 -429
  57. package/esm/components/QDateTimePicker/constants.d.ts +5 -0
  58. package/esm/components/QDateTimePicker/constants.d.ts.map +1 -1
  59. package/esm/components/QDateTimePicker/constants.js +5 -0
  60. package/esm/components/QDialog/QDialog.d.ts +2 -1
  61. package/esm/components/QDialog/QDialog.d.ts.map +1 -1
  62. package/esm/components/QDialog/QDialog.vue.js +84 -65
  63. package/esm/components/QDialog/constants.d.ts +6 -1
  64. package/esm/components/QDialog/constants.d.ts.map +1 -1
  65. package/esm/components/QDialog/constants.js +6 -2
  66. package/esm/components/QDialog/index.d.ts +6 -0
  67. package/esm/components/QDialog/index.d.ts.map +1 -1
  68. package/esm/components/QDialog/types.d.ts +13 -1
  69. package/esm/components/QDialog/types.d.ts.map +1 -1
  70. package/esm/components/QDivider/QDivider.d.ts.map +1 -1
  71. package/esm/components/QDivider/QDivider.vue.js +22 -21
  72. package/esm/components/QDropdownMenu/QDropdownMenuContent.d.ts +8 -6
  73. package/esm/components/QDropdownMenu/QDropdownMenuContent.d.ts.map +1 -1
  74. package/esm/components/QDropdownMenu/QDropdownMenuContent.vue.js +126 -125
  75. package/esm/components/QField/QField.d.ts.map +1 -1
  76. package/esm/components/QField/QField.vue.js +36 -34
  77. package/esm/components/QFileUpload/QFileUpload.vue.js +16 -16
  78. package/esm/components/QGauge/QGauge.d.ts +1 -1
  79. package/esm/components/QGauge/QGauge.d.ts.map +1 -1
  80. package/esm/components/QGauge/QGauge.vue.js +9 -9
  81. package/esm/components/QIcon/QIcon.d.ts.map +1 -1
  82. package/esm/components/QIcon/QIcon.vue.js +20 -19
  83. package/esm/components/QIcon/QIconFont.d.ts.map +1 -1
  84. package/esm/components/QIcon/QIconFont.vue.js +13 -12
  85. package/esm/components/QIcon/QIconImg.d.ts.map +1 -1
  86. package/esm/components/QIcon/QIconImg.vue.js +12 -11
  87. package/esm/components/QIcon/QIconSvg.d.ts.map +1 -1
  88. package/esm/components/QIcon/QIconSvg.vue.js +19 -18
  89. package/esm/components/QIcon/QSvgSymbol.d.ts +54 -0
  90. package/esm/components/QIcon/QSvgSymbol.d.ts.map +1 -0
  91. package/esm/components/QIcon/QSvgSymbol.vue.js +88 -0
  92. package/esm/components/QIcon/QSvgSymbol2.vue.js +5 -0
  93. package/esm/components/QInputGroup/QInputGroup.d.ts.map +1 -1
  94. package/esm/components/QInputGroup/QInputGroup.vue.js +30 -29
  95. package/esm/components/QLabel/QLabel.d.ts.map +1 -1
  96. package/esm/components/QLabel/QLabel.vue.js +20 -19
  97. package/esm/components/QLineLoader/QLineLoader.d.ts.map +1 -1
  98. package/esm/components/QLineLoader/QLineLoader.vue.js +14 -13
  99. package/esm/components/QList/QList.d.ts +4 -4
  100. package/esm/components/QList/QList.d.ts.map +1 -1
  101. package/esm/components/QList/QList.vue.js +135 -135
  102. package/esm/components/QList/QListItem.d.ts.map +1 -1
  103. package/esm/components/QList/QListItem.vue.js +42 -40
  104. package/esm/components/QList/QListItemGroup.d.ts +1 -1
  105. package/esm/components/QList/QListItemGroup.d.ts.map +1 -1
  106. package/esm/components/QList/index.d.ts +2 -2
  107. package/esm/components/QList/types.d.ts +6 -0
  108. package/esm/components/QList/types.d.ts.map +1 -1
  109. package/esm/components/QMeter/QMeter.d.ts.map +1 -1
  110. package/esm/components/QMeter/QMeter.vue.js +20 -19
  111. package/esm/components/QObfuscation/QObfuscation.d.ts.map +1 -1
  112. package/esm/components/QObfuscation/QObfuscation.vue.js +53 -53
  113. package/esm/components/QOverflow/QOverflow.d.ts +1 -1
  114. package/esm/components/QOverflow/QOverflow.d.ts.map +1 -1
  115. package/esm/components/QOverflow/QOverflow.vue.js +10 -10
  116. package/esm/components/QOverlay/QOverlay.d.ts.map +1 -1
  117. package/esm/components/QOverlay/QOverlay.vue.js +139 -138
  118. package/esm/components/QPasswordField/QPasswordField.d.ts +2 -0
  119. package/esm/components/QPasswordField/QPasswordField.d.ts.map +1 -1
  120. package/esm/components/QPasswordField/QPasswordField.vue.js +63 -60
  121. package/esm/components/QPasswordField/QPasswordFieldMeterOverlay.vue.js +1 -1
  122. package/esm/components/QPasswordField/constants.d.ts +4 -0
  123. package/esm/components/QPasswordField/constants.d.ts.map +1 -1
  124. package/esm/components/QPasswordField/constants.js +4 -1
  125. package/esm/components/QPasswordField/index.d.ts +6 -0
  126. package/esm/components/QPasswordField/index.d.ts.map +1 -1
  127. package/esm/components/QPasswordField/types.d.ts +7 -1
  128. package/esm/components/QPasswordField/types.d.ts.map +1 -1
  129. package/esm/components/QPhoneField/QPhoneField.d.ts +7 -5
  130. package/esm/components/QPhoneField/QPhoneField.d.ts.map +1 -1
  131. package/esm/components/QPhoneField/QPhoneField.vue.js +88 -88
  132. package/esm/components/QPhoneField/index.d.ts +3 -2
  133. package/esm/components/QPhoneField/index.d.ts.map +1 -1
  134. package/esm/components/QPopover/QPopover.d.ts.map +1 -1
  135. package/esm/components/QPopover/QPopover.vue.js +51 -28
  136. package/esm/components/QProgress/QProgress.vue.js +3 -3
  137. package/esm/components/QPropertyList/QPropertyList.d.ts.map +1 -1
  138. package/esm/components/QPropertyList/QPropertyList.vue.js +65 -55
  139. package/esm/components/QPropertyList/QPropertyListGroup.d.ts +8 -4
  140. package/esm/components/QPropertyList/QPropertyListGroup.d.ts.map +1 -1
  141. package/esm/components/QPropertyList/QPropertyListGroup.vue.js +31 -28
  142. package/esm/components/QPropertyList/QPropertyListPanel.d.ts.map +1 -1
  143. package/esm/components/QPropertyList/QPropertyListPanel.vue.js +13 -12
  144. package/esm/components/QPropertyList/QPropertyListRow.d.ts.map +1 -1
  145. package/esm/components/QPropertyList/QPropertyListRow.vue.js +41 -16
  146. package/esm/components/QPropertyList/constants.d.ts +2 -0
  147. package/esm/components/QPropertyList/constants.d.ts.map +1 -1
  148. package/esm/components/QPropertyList/constants.js +5 -1
  149. package/esm/components/QPropertyList/index.d.ts +16 -4
  150. package/esm/components/QPropertyList/index.d.ts.map +1 -1
  151. package/esm/components/QSection/QSection.d.ts.map +1 -1
  152. package/esm/components/QSection/QSection.vue.js +19 -18
  153. package/esm/components/QSelect/QSelect.d.ts +6 -4
  154. package/esm/components/QSelect/QSelect.d.ts.map +1 -1
  155. package/esm/components/QSelect/QSelect.vue.js +129 -124
  156. package/esm/components/QSelect/index.d.ts +3 -2
  157. package/esm/components/QSelect/index.d.ts.map +1 -1
  158. package/esm/components/QSidebar/QSidebar.d.ts +1 -1
  159. package/esm/components/QSidebar/QSidebar.d.ts.map +1 -1
  160. package/esm/components/QSidebar/QSidebar.vue.js +68 -67
  161. package/esm/components/QSidebar/QSidebarItem.d.ts +1 -1
  162. package/esm/components/QSidebar/QSidebarItem.d.ts.map +1 -1
  163. package/esm/components/QSidebar/QSidebarItem.vue.js +8 -8
  164. package/esm/components/QSidebar/QSidebarPanel.d.ts.map +1 -1
  165. package/esm/components/QSidebar/QSidebarPanel.vue.js +40 -36
  166. package/esm/components/QSidebar/context.d.ts +1 -1
  167. package/esm/components/QSidebar/context.d.ts.map +1 -1
  168. package/esm/components/QSidebar/types.d.ts +8 -0
  169. package/esm/components/QSidebar/types.d.ts.map +1 -1
  170. package/esm/components/QSkeletonLoader/QSkeletonLoader.d.ts.map +1 -1
  171. package/esm/components/QSkeletonLoader/QSkeletonLoader.vue.js +15 -14
  172. package/esm/components/QSpinnerLoader/QSpinnerLoader.d.ts.map +1 -1
  173. package/esm/components/QSpinnerLoader/QSpinnerLoader.vue.js +11 -10
  174. package/esm/components/QSteps/QStepHeader.d.ts +58 -0
  175. package/esm/components/QSteps/QStepHeader.d.ts.map +1 -0
  176. package/esm/components/QSteps/QStepHeader.vue.js +49 -0
  177. package/esm/components/QSteps/QStepHeader2.vue.js +5 -0
  178. package/esm/components/QSteps/QSteps.d.ts +269 -0
  179. package/esm/components/QSteps/QSteps.d.ts.map +1 -0
  180. package/esm/components/QSteps/QSteps.vue.js +260 -0
  181. package/esm/components/QSteps/QSteps2.vue.js +5 -0
  182. package/esm/components/QSteps/QStepsNav.d.ts +59 -0
  183. package/esm/components/QSteps/QStepsNav.d.ts.map +1 -0
  184. package/esm/components/QSteps/QStepsNav.vue.js +42 -0
  185. package/esm/components/QSteps/QStepsNav2.vue.js +5 -0
  186. package/esm/components/QSteps/constants.d.ts +28 -0
  187. package/esm/components/QSteps/constants.d.ts.map +1 -0
  188. package/esm/components/QSteps/constants.js +16 -0
  189. package/esm/components/QSteps/index.d.ts +228 -0
  190. package/esm/components/QSteps/index.d.ts.map +1 -0
  191. package/esm/components/QSteps/index.js +6 -0
  192. package/esm/components/QSteps/types.d.ts +190 -0
  193. package/esm/components/QSteps/types.d.ts.map +1 -0
  194. package/esm/components/QSwitch/QSwitch.vue.js +3 -3
  195. package/esm/components/QTabs/QTab.d.ts +1 -1
  196. package/esm/components/QTabs/QTab.d.ts.map +1 -1
  197. package/esm/components/QTabs/QTab.vue.js +10 -12
  198. package/esm/components/QTabs/QTabs.d.ts +1 -1
  199. package/esm/components/QTabs/QTabs.d.ts.map +1 -1
  200. package/esm/components/QTabs/QTabs.vue.js +108 -107
  201. package/esm/components/QTabs/context.d.ts +1 -1
  202. package/esm/components/QTabs/context.d.ts.map +1 -1
  203. package/esm/components/QTabs/types.d.ts +1 -1
  204. package/esm/components/QTextArea/QTextArea.d.ts +1 -1
  205. package/esm/components/QTextArea/index.d.ts +3 -3
  206. package/esm/components/QThemeProvider/QThemeProvider.vue.js +3 -3
  207. package/esm/components/QToast/QToast.d.ts +2 -1
  208. package/esm/components/QToast/QToast.d.ts.map +1 -1
  209. package/esm/components/QToast/QToast.vue.js +95 -78
  210. package/esm/components/QToast/QToaster.d.ts.map +1 -1
  211. package/esm/components/QToast/QToaster.vue.js +20 -19
  212. package/esm/components/QToast/constants.d.ts +3 -0
  213. package/esm/components/QToast/constants.d.ts.map +1 -1
  214. package/esm/components/QToast/constants.js +2 -2
  215. package/esm/components/QToast/index.d.ts +6 -0
  216. package/esm/components/QToast/index.d.ts.map +1 -1
  217. package/esm/components/QToast/types.d.ts +7 -1
  218. package/esm/components/QToast/types.d.ts.map +1 -1
  219. package/esm/components/QToggle/QToggle.d.ts.map +1 -1
  220. package/esm/components/QToggle/QToggle.vue.js +52 -15
  221. package/esm/components/QToggleGroup/QToggleGroup.d.ts.map +1 -1
  222. package/esm/components/QToggleGroup/QToggleGroup.vue.js +21 -20
  223. package/esm/components/QTooltip/QTooltip.vue.js +5 -5
  224. package/esm/components/__internal__/QChevron/QChevron.d.ts.map +1 -1
  225. package/esm/components/__internal__/QChevron/QChevron.vue.js +16 -15
  226. package/esm/components/__internal__/QClearButton/QClearButton.d.ts.map +1 -1
  227. package/esm/components/__internal__/QClearButton/QClearButton.vue.js +19 -18
  228. package/esm/components/index.d.ts +2 -0
  229. package/esm/components/index.d.ts.map +1 -1
  230. package/esm/components/index.js +108 -103
  231. package/esm/composables/useColor/index.d.ts +2 -0
  232. package/esm/composables/useColor/index.d.ts.map +1 -1
  233. package/esm/composables/useColor/index.js +49 -39
  234. package/esm/composables/useColor/types.d.ts +15 -0
  235. package/esm/composables/useColor/types.d.ts.map +1 -1
  236. package/esm/index.d.ts +3 -0
  237. package/esm/utils/color/contrast.d.ts +20 -0
  238. package/esm/utils/color/contrast.d.ts.map +1 -1
  239. package/esm/utils/color/contrast.js +24 -13
  240. package/esm/utils/color/merge.js +8 -8
  241. package/esm/utils/index.js +56 -54
  242. package/package.json +12 -6
  243. package/esm/components/QIcon/InlineSvg.d.ts +0 -110
  244. package/esm/components/QIcon/InlineSvg.d.ts.map +0 -1
  245. package/esm/components/QIcon/InlineSvg.js +0 -95
  246. package/esm/utils/time.d.ts +0 -36
  247. package/esm/utils/time.d.ts.map +0 -1
package/dist/ui.scss CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Quidgest UI v0.26.0
2
+ * Quidgest UI v0.27.0
3
3
  * (c) 2026 Quidgest - Consultores de Gestão, S.A.
4
4
  * Released under the MIT License.
5
5
  */
@@ -444,13 +444,13 @@ $breakpoint-xxl: 1400px;
444
444
  --q-focus-ring: var(--q-focus-ring-width) solid var(--q-focus-ring-color);
445
445
 
446
446
  --q-shadow-sm: 0 calc(1px * var(--q-density-scale)) calc(2px * var(--q-density-scale)) 0
447
- rgb(0 0 0 / 5%);
447
+ rgb(var(--q-theme-neutral-dark-rgb) / 5%);
448
448
 
449
449
  --q-shadow-md:
450
450
  0 calc(4px * var(--q-density-scale)) calc(6px * var(--q-density-scale))
451
- calc(-1px * var(--q-density-scale)) rgb(0 0 0 / 10%),
451
+ calc(-1px * var(--q-density-scale)) rgb(var(--q-theme-neutral-dark-rgb) / 10%),
452
452
  0 calc(2px * var(--q-density-scale)) calc(4px * var(--q-density-scale))
453
- calc(-2px * var(--q-density-scale)) rgb(0 0 0 / 10%);
453
+ calc(-2px * var(--q-density-scale)) rgb(var(--q-theme-neutral-dark-rgb) / 10%);
454
454
 
455
455
  --q-shadow-lg: 0 calc(8px * var(--q-density-scale)) calc(12px * var(--q-density-scale))
456
456
  rgb(var(--q-theme-neutral-dark-rgb) / 25%);
@@ -773,7 +773,8 @@ body {
773
773
  width: calc(100% + 2px);
774
774
  height: calc(100% + 2px);
775
775
  border-radius: inherit;
776
- opacity: 0.1;
776
+
777
+ opacity: 0.12;
777
778
  }
778
779
  &__content {
779
780
  white-space: normal;
@@ -854,10 +855,10 @@ body {
854
855
  &--outlined {
855
856
  background-color: transparent;
856
857
  border-color: var(--q-badge-main-color);
857
- color: var(--q-badge-main-color);
858
+ color: var(--q-badge-text-color);
858
859
  }
859
860
  &--tonal {
860
- color: var(--q-badge-main-color);
861
+ color: var(--q-badge-text-color);
861
862
  #{$this}__underlay {
862
863
  background-color: var(--q-badge-main-color);
863
864
  }
@@ -874,7 +875,7 @@ body {
874
875
  }
875
876
  }
876
877
  &--disabled {
877
- opacity: 0.6;
878
+
878
879
  pointer-events: none;
879
880
  }
880
881
 
@@ -976,6 +977,75 @@ body {
976
977
  transform-origin: 100% 100%;
977
978
  }
978
979
  }
980
+ .q-breadcrumbs {
981
+ &__list {
982
+ display: flex;
983
+ flex-wrap: wrap;
984
+ align-items: stretch;
985
+ min-height: var(--q-interactive-height);
986
+ margin: 0;
987
+ padding: 0;
988
+ list-style: none;
989
+ }
990
+ &__item {
991
+ display: flex;
992
+ align-items: stretch;
993
+ min-width: 0;
994
+
995
+
996
+
997
+
998
+ &--collapsed .q-breadcrumbs__link {
999
+ @include q-sr-only;
1000
+ }
1001
+ }
1002
+ &__separator {
1003
+ display: inline-flex;
1004
+ align-items: center;
1005
+ margin-inline: var(--q-space-1);
1006
+ color: var(--q-theme-neutral-light);
1007
+ }
1008
+ &__link {
1009
+ display: inline-flex;
1010
+ align-items: center;
1011
+ gap: var(--q-space-1);
1012
+ color: var(--q-theme-neutral-dark);
1013
+ text-decoration: none;
1014
+ border-radius: var(--q-border-radius);
1015
+ min-width: 0;
1016
+ &:focus-visible {
1017
+ outline: var(--q-focus-ring);
1018
+ outline-offset: var(--q-focus-ring-offset);
1019
+ }
1020
+ &[aria-current='page'] {
1021
+ font-weight: var(--q-font-weight-bold);
1022
+ cursor: default;
1023
+ }
1024
+ &:is(a):not([aria-current='page']) {
1025
+ cursor: pointer;
1026
+ @media (hover: hover) {
1027
+ &:hover {
1028
+ color: var(--q-theme-primary);
1029
+ text-decoration: underline;
1030
+ }
1031
+ }
1032
+ }
1033
+ }
1034
+ &__label {
1035
+ overflow: hidden;
1036
+ text-overflow: ellipsis;
1037
+ white-space: nowrap;
1038
+ }
1039
+ &__collapsed-trigger {
1040
+ margin-inline: calc(var(--q-space-1) * -1);
1041
+
1042
+ @media (hover: hover) {
1043
+ &.q-button--text:hover:not(:disabled) {
1044
+ text-decoration: none;
1045
+ }
1046
+ }
1047
+ }
1048
+ }
979
1049
  @keyframes q-button-ripple {
980
1050
  0% {
981
1051
  transform: scale(0);
@@ -992,6 +1062,8 @@ body {
992
1062
  --q-button-main-color-rgb: var(--q-theme-primary-rgb);
993
1063
  --q-button-on-main-color: var(--q-theme-on-primary);
994
1064
  --q-button-on-main-color-rgb: var(--q-theme-on-primary-rgb);
1065
+ --q-button-text-color: var(--q-theme-primary);
1066
+ --q-button-hover-text-color: var(--q-theme-primary-dark);
995
1067
  --q-button-hover-color: var(--q-theme-primary-dark);
996
1068
  --q-button-hover-color-rgb: var(--q-theme-primary-dark-rgb);
997
1069
  --q-button-on-hover-color: var(--q-theme-on-primary-dark);
@@ -1021,7 +1093,8 @@ body {
1021
1093
  text-decoration: none;
1022
1094
  white-space: nowrap;
1023
1095
  transition-property:
1024
- color, background-color, border-color, box-shadow, text-decoration-color, fill, stroke;
1096
+ color, background-color, border-color, box-shadow, text-decoration, text-decoration-color, fill,
1097
+ stroke;
1025
1098
  transition-duration: 0.15s;
1026
1099
  &#{$this}--labeled {
1027
1100
  padding: var(--q-button-padding-y) var(--q-button-labeled-padding-x);
@@ -1103,9 +1176,10 @@ body {
1103
1176
  }
1104
1177
  }
1105
1178
  &--tonal {
1179
+
1106
1180
  background-color: rgb(var(--q-button-main-color-rgb) / 12%);
1107
1181
  border-color: transparent;
1108
- color: var(--q-button-main-color);
1182
+ color: var(--q-button-text-color);
1109
1183
  @media (hover: hover) {
1110
1184
  &:hover:not(:disabled) {
1111
1185
  background-color: var(--q-button-hover-color);
@@ -1117,7 +1191,7 @@ body {
1117
1191
  &--outlined {
1118
1192
  background-color: transparent;
1119
1193
  border-color: var(--q-button-main-color);
1120
- color: var(--q-button-main-color);
1194
+ color: var(--q-button-text-color);
1121
1195
  @media (hover: hover) {
1122
1196
  &:hover:not(:disabled) {
1123
1197
  background-color: var(--q-button-hover-color);
@@ -1129,24 +1203,26 @@ body {
1129
1203
  &--ghost {
1130
1204
  background-color: transparent;
1131
1205
  border-color: transparent;
1132
- color: var(--q-button-main-color);
1206
+ color: var(--q-button-text-color);
1133
1207
  @media (hover: hover) {
1134
1208
  &:hover:not(:disabled) {
1209
+
1135
1210
  background-color: rgb(var(--q-button-hover-color-rgb) / 6%);
1136
1211
  border-color: transparent;
1137
- color: var(--q-button-hover-color);
1212
+ color: var(--q-button-hover-text-color);
1138
1213
  }
1139
1214
  }
1140
1215
  }
1141
1216
  &--text {
1142
1217
  background-color: transparent;
1143
1218
  border-color: transparent;
1144
- color: var(--q-button-main-color);
1219
+ color: var(--q-button-text-color);
1145
1220
  @media (hover: hover) {
1146
1221
  &:hover:not(:disabled) {
1147
1222
  background-color: transparent;
1148
1223
  border-color: transparent;
1149
- color: var(--q-button-hover-color);
1224
+ color: var(--q-button-hover-text-color);
1225
+ text-decoration: underline;
1150
1226
  }
1151
1227
  }
1152
1228
  }
@@ -1158,6 +1234,8 @@ body {
1158
1234
  &--background {
1159
1235
  --q-button-main-color: var(--q-theme-background);
1160
1236
  --q-button-on-main-color: var(--q-theme-on-background);
1237
+ --q-button-text-color: var(--q-theme-background);
1238
+ --q-button-hover-text-color: var(--q-theme-background);
1161
1239
  --q-button-hover-color: var(--q-theme-primary-dark);
1162
1240
  --q-button-on-hover-color: var(--q-theme-on-primary-dark);
1163
1241
  }
@@ -1167,7 +1245,7 @@ body {
1167
1245
  cursor: not-allowed;
1168
1246
  }
1169
1247
  span {
1170
- visibility: hidden;
1248
+ opacity: 0;
1171
1249
  }
1172
1250
  }
1173
1251
 
@@ -1468,10 +1546,17 @@ body {
1468
1546
  height: var(--q-carousel-indicator-height);
1469
1547
  border-radius: calc(var(--q-space-1) * 0.5);
1470
1548
  background-color: rgb(255 255 255 / 50%);
1471
- cursor: pointer;
1472
1549
  transition: all 0.3s ease;
1473
1550
  overflow: hidden;
1474
1551
  }
1552
+ .q-carousel__indicator-button {
1553
+ position: absolute;
1554
+ inset: 0;
1555
+ padding: 0;
1556
+ border: 0;
1557
+ background: transparent;
1558
+ cursor: pointer;
1559
+ }
1475
1560
  .q-carousel__indicator:hover {
1476
1561
  background-color: rgb(255 255 255 / 80%);
1477
1562
  }
@@ -1581,8 +1666,10 @@ body {
1581
1666
  .q-carousel:focus-visible {
1582
1667
  outline: var(--q-focus-ring);
1583
1668
  }
1584
- .q-carousel__control:focus-visible,
1585
- .q-carousel__indicator:focus-visible {
1669
+ .q-carousel__control:focus-visible {
1670
+ outline: var(--q-focus-ring);
1671
+ }
1672
+ .q-carousel__indicator:has(.q-carousel__indicator-button:focus-visible) {
1586
1673
  outline: var(--q-focus-ring);
1587
1674
  }
1588
1675
  .q-checkbox {
@@ -1593,7 +1680,7 @@ body {
1593
1680
  --q-transition-duration: 0.15s;
1594
1681
  display: flex;
1595
1682
  align-items: center;
1596
- gap: var(--q-space-2);
1683
+ gap: var(--q-space-1);
1597
1684
  width: fit-content;
1598
1685
  box-sizing: border-box;
1599
1686
  min-height: var(--q-interactive-height);
@@ -1777,6 +1864,12 @@ body {
1777
1864
  --q-button-font-size: var(--q-font-size-md);
1778
1865
 
1779
1866
  padding: var(--q-collapsible-header-padding);
1867
+
1868
+ @media (hover: hover) {
1869
+ &.q-button--text:hover:not(:disabled) {
1870
+ text-decoration: none;
1871
+ }
1872
+ }
1780
1873
  .q-button__content {
1781
1874
  gap: 0;
1782
1875
  padding: var(--q-collapsible-btn-padding);
@@ -1988,7 +2081,7 @@ body {
1988
2081
  text-align: center;
1989
2082
  font-size: var(--q-font-size-sm);
1990
2083
  font-weight: 600;
1991
- opacity: 0.7;
2084
+ color: var(--q-theme-neutral);
1992
2085
  padding: var(--q-space-2) 0;
1993
2086
  }
1994
2087
  }
@@ -2001,8 +2094,13 @@ body {
2001
2094
  aspect-ratio: 1;
2002
2095
  display: flex;
2003
2096
  transition-duration: 0s;
2004
- &.q-date-time-picker__day--other-month {
2005
- opacity: 0.5;
2097
+ &.q-date-time-picker__day--other-month:not(
2098
+ .q-date-time-picker__day--selected,
2099
+ .q-date-time-picker__day--in-range,
2100
+ .q-date-time-picker__day--range-start,
2101
+ .q-date-time-picker__day--range-end
2102
+ ) {
2103
+ color: var(--q-theme-neutral);
2006
2104
  }
2007
2105
  &.q-date-time-picker__day--today {
2008
2106
  border-color: var(--q-button-main-color);
@@ -2141,6 +2239,12 @@ body {
2141
2239
  position: absolute;
2142
2240
  top: var(--q-space-2);
2143
2241
  right: var(--q-space-2);
2242
+
2243
+ @media (hover: hover) {
2244
+ &.q-button--text:hover:not(:disabled) {
2245
+ text-decoration: none;
2246
+ }
2247
+ }
2144
2248
  }
2145
2249
  &__underlay {
2146
2250
  background-color: rgb(var(--q-theme-on-background-rgb) / 30%);
@@ -2191,7 +2295,7 @@ body {
2191
2295
  align-items: center;
2192
2296
  justify-content: center;
2193
2297
  position: relative;
2194
- color: var(--q-divider-color);
2298
+ color: var(--q-divider-label-color, var(--q-theme-neutral-dark));
2195
2299
  font-size: var(--q-font-size-md);
2196
2300
 
2197
2301
  &--horizontal {
@@ -2458,7 +2562,7 @@ body {
2458
2562
  display: flex;
2459
2563
  align-items: center;
2460
2564
  gap: var(--q-space-1);
2461
- color: var(--q-theme-neutral);
2565
+ color: var(--q-theme-neutral-dark);
2462
2566
  min-height: var(--q-file-input-preview-side);
2463
2567
  }
2464
2568
 
@@ -3022,20 +3126,18 @@ $input-group-addon-background: rgb(var(--q-theme-neutral-light-rgb) / 25%);
3022
3126
  align-self: center;
3023
3127
  }
3024
3128
  }
3025
- $q-line-loader-height: var(--q-line-loader-height);
3026
- $q-line-loader-color: var(--q-line-loader-color);
3027
3129
  .q-line-loader {
3028
3130
  --q-line-loader-height: var(--q-space-1);
3029
3131
  --q-line-loader-color: var(--q-theme-primary-rgb);
3030
3132
  width: 100%;
3031
- height: $q-line-loader-height;
3133
+ height: var(--q-line-loader-height);
3032
3134
  background: linear-gradient(
3033
3135
  90deg,
3034
- rgb(#{$q-line-loader-color} / 6.7%) 33%,
3035
- rgb(#{$q-line-loader-color} / 100%) 50%,
3036
- rgb(#{$q-line-loader-color} / 6.7%) 66%
3136
+ rgb(var(--q-line-loader-color) / 6.7%) 33%,
3137
+ rgb(var(--q-line-loader-color) / 100%) 50%,
3138
+ rgb(var(--q-line-loader-color) / 6.7%) 66%
3037
3139
  )
3038
- #f2f2f2;
3140
+ var(--q-theme-neutral-light);
3039
3141
  background-size: 300% 100%;
3040
3142
  animation: l1 1s infinite linear;
3041
3143
  &--rounded {
@@ -3107,6 +3209,11 @@ $q-line-loader-color: var(--q-line-loader-color);
3107
3209
  &:focus,
3108
3210
  &--highlighted {
3109
3211
  background-color: rgb(var(--q-theme-primary-light-rgb) / 50%);
3212
+
3213
+
3214
+ .q-checkbox:not(.q-checkbox--disabled) .q-checkbox__input {
3215
+ border-color: var(--q-active-color);
3216
+ }
3110
3217
  }
3111
3218
  &--disabled {
3112
3219
  pointer-events: none;
@@ -3167,7 +3274,7 @@ $q-line-loader-color: var(--q-line-loader-color);
3167
3274
  gap: var(--q-space-1);
3168
3275
  align-items: flex-start;
3169
3276
  color: var(--q-theme-neutral);
3170
- font-size: 0.75em;
3277
+ font-size: calc(var(--q-font-size-md) * 0.75);
3171
3278
  .q-icon {
3172
3279
  color: currentcolor;
3173
3280
  font-size: inherit;
@@ -3243,6 +3350,12 @@ $q-line-loader-color: var(--q-line-loader-color);
3243
3350
  }
3244
3351
  &.q-button--text {
3245
3352
  color: var(--q-theme-primary);
3353
+
3354
+ @media (hover: hover) {
3355
+ &:hover:not(:disabled) {
3356
+ text-decoration: none;
3357
+ }
3358
+ }
3246
3359
  }
3247
3360
  }
3248
3361
  &__content {
@@ -3268,6 +3381,12 @@ $q-line-loader-color: var(--q-line-loader-color);
3268
3381
  }
3269
3382
  &.q-button--text {
3270
3383
  color: var(--q-theme-primary);
3384
+
3385
+ @media (hover: hover) {
3386
+ &:hover:not(:disabled) {
3387
+ text-decoration: none;
3388
+ }
3389
+ }
3271
3390
  }
3272
3391
  .q-obfuscation__icon.q-icon {
3273
3392
  width: var(--q-icon-size-sm);
@@ -3689,13 +3808,13 @@ $q-line-loader-color: var(--q-line-loader-color);
3689
3808
 
3690
3809
 
3691
3810
  color: var(--CountryFlagIcon-height, var(--q-theme-neutral-dark));
3692
- font-size: 0.65em;
3811
+ font-size: calc(var(--q-font-size-md) * 0.65);
3693
3812
  font-weight: var(--q-font-weight-bold);
3694
3813
  }
3695
3814
  &__flag-fallback {
3696
3815
  background-color: rgb(var(--q-theme-neutral-light-rgb) / 25%);
3697
3816
  color: var(--q-theme-neutral-dark);
3698
- font-size: 0.65em;
3817
+ font-size: calc(var(--q-font-size-md) * 0.65);
3699
3818
  font-weight: var(--q-font-weight-bold);
3700
3819
  }
3701
3820
  &__validation-message {
@@ -3960,12 +4079,6 @@ $q-line-loader-color: var(--q-line-loader-color);
3960
4079
  }
3961
4080
  &__cell {
3962
4081
  padding: var(--q-space-1) var(--q-space-2);
3963
- &--label {
3964
- width: 20%;
3965
- font-size: var(--q-font-size-sm);
3966
- text-wrap: nowrap;
3967
- opacity: 0.8;
3968
- }
3969
4082
  .q-field {
3970
4083
  max-width: 100%;
3971
4084
  width: 100%;
@@ -3984,6 +4097,12 @@ $q-line-loader-color: var(--q-line-loader-color);
3984
4097
  &__content {
3985
4098
  display: flex;
3986
4099
  align-items: center;
4100
+
4101
+ @media (hover: hover) {
4102
+ .q-button--text:hover:not(:disabled) {
4103
+ text-decoration: none;
4104
+ }
4105
+ }
3987
4106
  }
3988
4107
  ~ .q-property-list__row .q-property-list__cell-label {
3989
4108
  padding: 0 calc(var(--q-space-1) * 8);
@@ -4034,7 +4153,7 @@ $q-line-loader-color: var(--q-line-loader-color);
4034
4153
  box-sizing: border-box;
4035
4154
  height: var(--q-interactive-height);
4036
4155
  min-height: var(--q-interactive-height);
4037
- gap: calc(var(--q-space-1) * 1.5);
4156
+ gap: var(--q-space-1);
4038
4157
  font-size: var(--q-font-size-md);
4039
4158
 
4040
4159
  line-height: var(--q-radio-button-circle-size);
@@ -4632,131 +4751,1102 @@ $spinner-color: var(--q-theme-primary);
4632
4751
  transform: rotate(1turn);
4633
4752
  }
4634
4753
  }
4635
- .q-switch {
4636
-
4637
-
4638
-
4639
- --q-switch-inner-padding: calc(var(--q-space-1) * 0.5);
4640
- --q-switch-border-radius: 9999px;
4641
- --q-switch-transition-duration: 0.15s;
4642
- --q-switch-transition-easing: ease-out;
4643
-
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);
4646
- --q-switch-font-size: var(--q-font-size-sm);
4647
-
4648
- --q-switch-label-block-size: calc(
4649
- var(--q-switch-label-padding-v) * 2 + var(--q-switch-font-size)
4650
- );
4651
- --q-switch-drawn-height: calc(
4652
- var(--q-switch-inner-padding) * 2 + var(--q-switch-label-block-size)
4653
- );
4654
- --q-switch-hit-padding-block: max(
4655
- 0px,
4656
- calc((var(--q-interactive-height) - var(--q-switch-drawn-height)) / 2)
4657
- );
4658
-
4659
- --q-switch-shadow-color-primary: rgb(var(--q-theme-on-background-rgb) / 20%);
4660
- --q-switch-shadow-color-secondary: rgb(var(--q-theme-on-background-rgb) / 10%);
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);
4664
-
4665
- --q-switch-shadow-color-primary-hover: rgb(var(--q-theme-on-background-rgb) / 30%);
4666
- --q-switch-shadow-color-secondary-hover: rgb(var(--q-theme-on-background-rgb) / 15%);
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);
4670
-
4671
- --q-switch-disabled-opacity: 0.5;
4672
- --q-switch-hover-background-opacity: 0.5;
4673
-
4674
- --q-switch-checked-background: var(--q-theme-primary);
4675
- --q-switch-on-checked-background: var(--q-theme-on-primary);
4676
- --q-switch-unchecked-background: rgb(var(--q-theme-neutral-light-rgb) / 50%);
4677
- --q-switch-on-unchecked-background: var(--q-theme-neutral);
4678
-
4679
-
4680
-
4681
- display: inline-flex;
4682
- align-items: center;
4683
- position: relative;
4684
- white-space: nowrap;
4685
- box-sizing: border-box;
4686
- height: var(--q-interactive-height);
4687
- min-height: var(--q-interactive-height);
4754
+ .q-steps {
4755
+ --q-steps-indicator-size: calc(var(--q-space-1) * 8);
4756
+ --q-steps-arrow-size: var(--q-space-3);
4757
+ --q-steps-connector-width: calc(var(--q-space-1) * 0.5);
4758
+ --q-steps-connector-gap: calc(var(--q-space-1) * 1.5);
4759
+ display: flex;
4760
+ flex-direction: column;
4761
+ gap: var(--q-space-4);
4688
4762
 
4689
- padding: var(--q-switch-hit-padding-block) 0;
4690
- background: transparent;
4691
- border-radius: var(--q-switch-border-radius);
4692
- cursor: pointer;
4763
+ .q-step__indicator-content .q-icon,
4764
+ .q-steps__panel-header-icon .q-icon,
4765
+ .q-step__badge .q-icon {
4766
+ color: currentcolor;
4767
+ fill: currentcolor;
4768
+ * {
4769
+ fill: currentcolor;
4770
+ }
4771
+ }
4693
4772
 
4694
4773
 
4695
4774
 
4696
- @include q-size-modifiers;
4775
+ .q-step__badge {
4776
+ position: absolute;
4777
+ top: var(--q-space-2);
4778
+ z-index: 2;
4779
+ box-sizing: border-box;
4780
+ min-height: 0;
4781
+ aspect-ratio: 1;
4782
+ border: var(--q-border-width) solid var(--q-theme-background);
4783
+ }
4697
4784
 
4698
4785
 
4699
4786
 
4700
- &--disabled {
4701
- opacity: var(--q-switch-disabled-opacity);
4702
- pointer-events: none;
4703
- cursor: not-allowed;
4787
+ .q-step__badge .q-icon {
4788
+ transform: scale(1.3);
4704
4789
  }
4705
- }
4706
- .q-switch:not(.q-switch--with-labels) {
4707
- --q-switch-label-padding-h: var(--q-switch-label-padding-v);
4708
- }
4709
- .q-switch__container {
4710
- position: relative;
4711
- display: inline-flex;
4712
- align-items: center;
4713
- justify-content: center;
4714
- gap: 0.5em;
4715
- }
4716
- .q-switch__input {
4717
- position: absolute;
4718
- inset: var(--q-switch-hit-padding-block) 0 var(--q-switch-hit-padding-block) 0;
4719
-
4720
- width: auto;
4721
- height: auto;
4722
- margin: 0;
4723
- padding: 0;
4724
- appearance: none;
4725
- border: none;
4726
- background: transparent;
4727
- cursor: pointer;
4728
- border-radius: var(--q-switch-border-radius);
4729
- z-index: 2;
4730
-
4731
- &:focus-visible {
4732
- outline: var(--q-focus-ring);
4790
+ &__list {
4791
+ display: flex;
4792
+ list-style: none;
4793
+ margin: 0;
4794
+ padding: 0;
4795
+ }
4796
+ &__content {
4797
+ min-width: 0;
4798
+ }
4799
+ &__body {
4800
+ display: flex;
4801
+ flex-direction: column;
4802
+ gap: var(--q-space-2);
4803
+ min-width: 0;
4804
+ }
4805
+ &__nav {
4806
+ display: flex;
4807
+ align-items: center;
4808
+ gap: var(--q-space-2);
4733
4809
  }
4734
4810
 
4735
- &:disabled {
4736
- cursor: not-allowed;
4737
- &:focus-visible {
4738
- outline: none;
4811
+ &--horizontal {
4812
+
4813
+
4814
+
4815
+
4816
+
4817
+
4818
+
4819
+ --q-steps-visible-count: 4;
4820
+ @media (max-width: $breakpoint-md) {
4821
+ --q-steps-visible-count: 3;
4739
4822
  }
4740
- }
4741
- }
4742
- .q-switch__labels {
4743
- display: flex;
4744
- align-items: center;
4745
- width: 100%;
4746
- position: relative;
4747
- box-sizing: border-box;
4748
- padding: var(--q-switch-inner-padding);
4749
- background: var(--q-switch-unchecked-background);
4750
- border-radius: var(--q-switch-border-radius);
4751
- transition: background var(--q-switch-transition-duration) var(--q-switch-transition-easing);
4752
- }
4753
- .q-switch__label {
4754
- display: inline-flex;
4755
- align-items: center;
4756
- justify-content: center;
4757
- border-radius: var(--q-switch-border-radius);
4758
- padding: var(--q-switch-label-padding-v) var(--q-switch-label-padding-h);
4759
- user-select: none;
4823
+ @media (max-width: $breakpoint-sm) {
4824
+
4825
+
4826
+ .q-step:not(.q-step--active) .q-step__labels {
4827
+ display: none;
4828
+ }
4829
+ }
4830
+ @media (min-width: $breakpoint-xxl) {
4831
+ --q-steps-visible-count: 5;
4832
+ }
4833
+ .q-steps__list {
4834
+ width: 100%;
4835
+ }
4836
+ .q-steps__overflow {
4837
+ width: 100%;
4838
+ }
4839
+ .q-steps__track {
4840
+ display: flex;
4841
+ flex-direction: row;
4842
+ align-items: stretch;
4843
+ }
4844
+ .q-step {
4845
+ display: flex;
4846
+ flex: 1 0 calc(100% / var(--q-steps-visible-count));
4847
+ min-width: 0;
4848
+ }
4849
+ .q-step__header {
4850
+ width: 100%;
4851
+ }
4852
+ .q-steps__panel {
4853
+ border: var(--q-border-width) solid var(--q-border-color);
4854
+ border-radius: var(--q-border-radius);
4855
+ overflow: hidden;
4856
+ }
4857
+ .q-steps__panel-header {
4858
+ display: flex;
4859
+ align-items: center;
4860
+ gap: var(--q-space-2);
4861
+ padding: var(--q-space-3) var(--q-space-4);
4862
+ background-color: var(--q-theme-primary);
4863
+ color: var(--q-theme-on-primary);
4864
+ font-weight: var(--q-font-weight-bold);
4865
+ }
4866
+ .q-steps__panel-header-icon {
4867
+ display: inline-flex;
4868
+ align-items: center;
4869
+ justify-content: center;
4870
+ }
4871
+ .q-steps__content {
4872
+ padding: var(--q-space-4);
4873
+ }
4874
+ }
4875
+ &--vertical {
4876
+ .q-steps__list {
4877
+ flex-direction: column;
4878
+ gap: 0;
4879
+ }
4880
+ .q-step {
4881
+ display: flex;
4882
+ flex-direction: column;
4883
+ }
4884
+ }
4885
+
4886
+ &--circle {
4887
+ .q-step__header {
4888
+ position: relative;
4889
+ display: flex;
4890
+ align-items: flex-start;
4891
+ gap: var(--q-space-3);
4892
+ margin: 0;
4893
+ padding: var(--q-space-2);
4894
+ border: 0;
4895
+ border-radius: var(--q-border-radius);
4896
+ background: transparent;
4897
+ color: inherit;
4898
+ font: inherit;
4899
+ text-align: start;
4900
+ cursor: pointer;
4901
+ &:disabled {
4902
+ cursor: not-allowed;
4903
+ }
4904
+ &:focus-visible {
4905
+ outline: var(--q-focus-ring);
4906
+ }
4907
+ }
4908
+ .q-step__indicator {
4909
+ position: relative;
4910
+ z-index: 1;
4911
+ display: inline-flex;
4912
+ flex-shrink: 0;
4913
+ align-items: center;
4914
+ justify-content: center;
4915
+ width: var(--q-steps-indicator-size);
4916
+ height: var(--q-steps-indicator-size);
4917
+
4918
+
4919
+ border: var(--q-border-width) solid transparent;
4920
+ border-radius: 50%;
4921
+ background-color: var(--q-theme-neutral);
4922
+ color: var(--q-theme-on-primary);
4923
+ font-weight: var(--q-font-weight-bold);
4924
+ line-height: 1;
4925
+ }
4926
+ .q-step__indicator-content {
4927
+ display: inline-flex;
4928
+ align-items: center;
4929
+ justify-content: center;
4930
+ }
4931
+ .q-step__labels {
4932
+ display: flex;
4933
+ flex-direction: column;
4934
+ gap: calc(var(--q-space-1) * 0.5);
4935
+ min-width: 0;
4936
+ }
4937
+ .q-step__title {
4938
+ display: inline-flex;
4939
+ align-items: baseline;
4940
+ gap: calc(var(--q-space-1) * 0.5);
4941
+ font-weight: var(--q-font-weight-bold);
4942
+ color: var(--q-theme-on-background);
4943
+ }
4944
+ .q-step__caption {
4945
+ font-size: var(--q-font-size-sm);
4946
+ color: var(--q-theme-neutral);
4947
+ }
4948
+ .q-step__header:not(.q-step--active, .q-step--visited) .q-step__title {
4949
+ color: var(--q-theme-neutral);
4950
+ }
4951
+ .q-step--active {
4952
+ .q-step__indicator {
4953
+ background-color: var(--q-theme-primary);
4954
+ border-color: var(--q-theme-primary);
4955
+ color: var(--q-theme-on-primary);
4956
+ box-shadow: var(--q-shadow-sm);
4957
+ }
4958
+ .q-step__title {
4959
+ color: var(--q-theme-on-background);
4960
+ }
4961
+ }
4962
+ .q-step--visited {
4963
+ .q-step__indicator {
4964
+ background-color: var(--q-theme-background);
4965
+ border-color: var(--q-theme-primary);
4966
+ color: var(--q-theme-primary);
4967
+ }
4968
+ }
4969
+
4970
+
4971
+ @media (hover: hover) {
4972
+ .q-step__header:not(.q-step--active, .q-step--visited):hover:not(:disabled)
4973
+ .q-step__indicator {
4974
+ background-color: var(--q-theme-neutral-dark);
4975
+ }
4976
+ .q-step__header.q-step--active:hover:not(:disabled) .q-step__indicator {
4977
+ background-color: var(--q-theme-primary-dark);
4978
+ border-color: var(--q-theme-primary-dark);
4979
+ }
4980
+ .q-step__header.q-step--visited:hover:not(:disabled) .q-step__indicator {
4981
+ background-color: var(--q-theme-primary-dark);
4982
+ border-color: var(--q-theme-primary-dark);
4983
+ color: var(--q-theme-on-primary-dark);
4984
+ }
4985
+ }
4986
+ &.q-steps--horizontal {
4987
+ .q-steps__track {
4988
+ align-items: flex-start;
4989
+ }
4990
+ .q-step__header {
4991
+ position: relative;
4992
+ flex-direction: column;
4993
+ align-items: center;
4994
+ text-align: center;
4995
+ }
4996
+
4997
+
4998
+ .q-step__badge {
4999
+ inset-inline-start: calc(50% + (var(--q-steps-indicator-size) * 0.5));
5000
+ transform: translate(-50%, -30%);
5001
+ }
5002
+ .q-step:not(:last-child) .q-step__header::after {
5003
+ content: '';
5004
+ position: absolute;
5005
+ top: calc(var(--q-space-2) + (var(--q-steps-indicator-size) * 0.5));
5006
+ inset-inline-start: calc(
5007
+ 50% + (var(--q-steps-indicator-size) * 0.5) + var(--q-steps-connector-gap)
5008
+ );
5009
+ width: calc(100% - var(--q-steps-indicator-size) - (var(--q-steps-connector-gap) * 2));
5010
+ height: var(--q-steps-connector-width);
5011
+ background-color: var(--q-theme-neutral);
5012
+ }
5013
+ .q-step--next-reached:not(:last-child) .q-step__header::after {
5014
+ background-color: var(--q-theme-primary);
5015
+ }
5016
+ .q-step__labels {
5017
+ align-items: center;
5018
+ text-align: center;
5019
+ }
5020
+ }
5021
+ &.q-steps--vertical {
5022
+
5023
+
5024
+
5025
+ --q-steps-row-gap: var(--q-space-2);
5026
+ .q-step {
5027
+ position: relative;
5028
+ }
5029
+ .q-step__header {
5030
+ align-items: flex-start;
5031
+ }
5032
+
5033
+
5034
+ .q-step__badge {
5035
+ inset-inline-start: calc(var(--q-space-2) + var(--q-steps-indicator-size));
5036
+ transform: translate(-50%, -40%);
5037
+ }
5038
+ .q-step:not(.q-step--last, .q-step--active) {
5039
+ margin-block-end: var(--q-steps-row-gap);
5040
+ }
5041
+
5042
+
5043
+
5044
+
5045
+ .q-step:not(.q-step--last)::before {
5046
+ content: '';
5047
+ position: absolute;
5048
+ top: calc(var(--q-space-2) + var(--q-steps-indicator-size) + var(--q-steps-connector-gap));
5049
+ inset-inline-start: calc(
5050
+ var(--q-space-2) + (var(--q-steps-indicator-size) * 0.5) -
5051
+ (var(--q-steps-connector-width) * 0.5)
5052
+ );
5053
+
5054
+
5055
+
5056
+ bottom: calc(var(--q-steps-connector-gap) - var(--q-space-2) - var(--q-steps-row-gap));
5057
+ width: var(--q-steps-connector-width);
5058
+ background-color: var(--q-theme-neutral);
5059
+ }
5060
+ .q-step--next-reached:not(.q-step--last)::before {
5061
+ background-color: var(--q-theme-primary);
5062
+ }
5063
+ .q-step--active:not(.q-step--last)::before {
5064
+ bottom: 0;
5065
+ }
5066
+ .q-steps__body {
5067
+ position: relative;
5068
+ padding-inline-start: calc(var(--q-steps-indicator-size) + var(--q-space-5));
5069
+ padding-block-start: var(--q-steps-row-gap);
5070
+ &:not(:last-child) {
5071
+ margin-block-end: var(--q-steps-row-gap);
5072
+ }
5073
+ &:not(:last-child)::before {
5074
+ content: '';
5075
+ position: absolute;
5076
+ top: 0;
5077
+ bottom: calc(var(--q-steps-connector-gap) - var(--q-space-2) - var(--q-steps-row-gap));
5078
+ inset-inline-start: calc(
5079
+ var(--q-space-2) + (var(--q-steps-indicator-size) * 0.5) -
5080
+ (var(--q-steps-connector-width) * 0.5)
5081
+ );
5082
+ width: var(--q-steps-connector-width);
5083
+ background-color: var(--q-theme-neutral);
5084
+ }
5085
+ &.q-step--next-reached::before {
5086
+ background-color: var(--q-theme-primary);
5087
+ }
5088
+ }
5089
+ }
5090
+ }
5091
+
5092
+ &--dot {
5093
+ --q-steps-dot-size: var(--q-space-2);
5094
+ --q-steps-dot-size-active: var(--q-space-3);
5095
+
5096
+
5097
+
5098
+ --q-steps-indicator-size: var(--q-steps-dot-size-active);
5099
+
5100
+
5101
+
5102
+
5103
+ --q-steps-dot-current-size: var(--q-steps-dot-size);
5104
+ .q-step__header {
5105
+ display: flex;
5106
+ align-items: flex-start;
5107
+ gap: var(--q-space-3);
5108
+ margin: 0;
5109
+ padding: var(--q-space-2);
5110
+ border: 0;
5111
+ border-radius: var(--q-border-radius);
5112
+ background: transparent;
5113
+ color: inherit;
5114
+ font: inherit;
5115
+ text-align: start;
5116
+ cursor: pointer;
5117
+ &:disabled {
5118
+ cursor: not-allowed;
5119
+ }
5120
+ &:focus-visible {
5121
+ outline: var(--q-focus-ring);
5122
+ }
5123
+ }
5124
+ .q-step__indicator {
5125
+ position: relative;
5126
+ z-index: 1;
5127
+ display: inline-flex;
5128
+ flex-shrink: 0;
5129
+ align-items: center;
5130
+ justify-content: center;
5131
+ width: var(--q-steps-indicator-size);
5132
+ height: var(--q-steps-indicator-size);
5133
+ &::after {
5134
+ content: '';
5135
+ width: var(--q-steps-dot-size);
5136
+ height: var(--q-steps-dot-size);
5137
+ border-radius: 50%;
5138
+ background-color: var(--q-theme-neutral);
5139
+ transition:
5140
+ width var(--q-transition-duration) var(--q-transition-timing-function),
5141
+ height var(--q-transition-duration) var(--q-transition-timing-function),
5142
+ background-color var(--q-transition-duration) var(--q-transition-timing-function);
5143
+ }
5144
+ }
5145
+ .q-step__labels {
5146
+ display: flex;
5147
+ flex-direction: column;
5148
+ gap: calc(var(--q-space-1) * 0.5);
5149
+ min-width: 0;
5150
+ }
5151
+ .q-step__title {
5152
+ display: inline-flex;
5153
+ align-items: baseline;
5154
+ gap: calc(var(--q-space-1) * 0.5);
5155
+ font-weight: var(--q-font-weight-bold);
5156
+ color: var(--q-theme-on-background);
5157
+ line-height: var(--q-line-height-md);
5158
+ }
5159
+ .q-step__caption {
5160
+ font-size: var(--q-font-size-sm);
5161
+ color: var(--q-theme-neutral);
5162
+ }
5163
+ .q-step__header:not(.q-step--active, .q-step--visited) .q-step__title {
5164
+ color: var(--q-theme-neutral);
5165
+ }
5166
+ .q-step__header.q-step--active {
5167
+ --q-steps-dot-current-size: var(--q-steps-dot-size-active);
5168
+ }
5169
+ .q-step--active .q-step__indicator::after {
5170
+ width: var(--q-steps-dot-size-active);
5171
+ height: var(--q-steps-dot-size-active);
5172
+ background-color: var(--q-theme-primary);
5173
+ }
5174
+ .q-step--visited .q-step__indicator::after {
5175
+ background-color: var(--q-theme-primary);
5176
+ }
5177
+
5178
+
5179
+
5180
+ .q-step--completed .q-step__indicator::after {
5181
+ background-color: var(--q-theme-success);
5182
+ }
5183
+
5184
+
5185
+ @media (hover: hover) {
5186
+ .q-step__header:not(.q-step--active, .q-step--visited):hover:not(:disabled)
5187
+ .q-step__indicator::after {
5188
+ background-color: var(--q-theme-neutral-dark);
5189
+ }
5190
+ .q-step__header.q-step--active:hover:not(:disabled) .q-step__indicator::after,
5191
+ .q-step__header.q-step--visited:hover:not(:disabled) .q-step__indicator::after {
5192
+ background-color: var(--q-theme-primary-dark);
5193
+ }
5194
+ .q-step__header.q-step--completed:hover:not(:disabled) .q-step__indicator::after {
5195
+ background-color: var(--q-theme-success-dark);
5196
+ }
5197
+ }
5198
+ &.q-steps--horizontal {
5199
+ .q-steps__track {
5200
+ align-items: flex-start;
5201
+ }
5202
+ .q-step__header {
5203
+ position: relative;
5204
+ flex-direction: column;
5205
+ align-items: center;
5206
+ text-align: center;
5207
+ }
5208
+
5209
+
5210
+
5211
+
5212
+
5213
+ .q-step__badge {
5214
+ top: calc(
5215
+ var(--q-space-2) +
5216
+ ((var(--q-steps-indicator-size) - var(--q-steps-dot-current-size)) * 0.5)
5217
+ );
5218
+ inset-inline-start: calc(50% + (var(--q-steps-dot-current-size) * 0.5));
5219
+ transform: translate(-50%, -50%);
5220
+ }
5221
+ .q-step:not(:last-child) .q-step__header::after {
5222
+ content: '';
5223
+ position: absolute;
5224
+ top: calc(var(--q-space-2) + (var(--q-steps-indicator-size) * 0.5));
5225
+ inset-inline-start: calc(
5226
+ 50% + (var(--q-steps-indicator-size) * 0.5) + var(--q-steps-connector-gap)
5227
+ );
5228
+ width: calc(100% - var(--q-steps-indicator-size) - (var(--q-steps-connector-gap) * 2));
5229
+ height: var(--q-steps-connector-width);
5230
+ background-color: var(--q-theme-neutral);
5231
+ }
5232
+ .q-step--next-reached:not(:last-child) .q-step__header::after {
5233
+ background-color: var(--q-theme-primary);
5234
+ }
5235
+ .q-step__labels {
5236
+ align-items: center;
5237
+ text-align: center;
5238
+ }
5239
+ }
5240
+ &.q-steps--vertical {
5241
+ --q-steps-row-gap: var(--q-space-2);
5242
+
5243
+
5244
+
5245
+
5246
+ --q-steps-indicator-row-height: var(--q-line-height-md);
5247
+ .q-step {
5248
+ position: relative;
5249
+ }
5250
+ .q-step__header {
5251
+ align-items: flex-start;
5252
+ }
5253
+ .q-step__indicator {
5254
+ height: var(--q-steps-indicator-row-height);
5255
+ }
5256
+
5257
+
5258
+
5259
+
5260
+
5261
+ .q-step__badge {
5262
+ top: calc(
5263
+ var(--q-space-2) +
5264
+ ((var(--q-steps-indicator-row-height) - var(--q-steps-dot-current-size)) * 0.5)
5265
+ );
5266
+ inset-inline-start: calc(
5267
+ var(--q-space-2) +
5268
+ ((var(--q-steps-indicator-size) + var(--q-steps-dot-current-size)) * 0.5)
5269
+ );
5270
+ transform: translate(-50%, -50%);
5271
+ }
5272
+ .q-step:not(.q-step--last, .q-step--active) {
5273
+ margin-block-end: var(--q-steps-row-gap);
5274
+ }
5275
+ .q-step:not(.q-step--last)::before {
5276
+ content: '';
5277
+ position: absolute;
5278
+ top: calc(
5279
+ var(--q-space-2) +
5280
+ ((var(--q-steps-indicator-row-height) + var(--q-steps-dot-size-active)) * 0.5) +
5281
+ var(--q-steps-connector-gap)
5282
+ );
5283
+ inset-inline-start: calc(
5284
+ var(--q-space-2) + (var(--q-steps-indicator-size) * 0.5) -
5285
+ (var(--q-steps-connector-width) * 0.5)
5286
+ );
5287
+
5288
+
5289
+
5290
+ bottom: calc(
5291
+ var(--q-steps-connector-gap) - var(--q-space-2) - var(--q-steps-row-gap) -
5292
+ ((var(--q-steps-indicator-row-height) - var(--q-steps-dot-size-active)) * 0.5)
5293
+ );
5294
+ width: var(--q-steps-connector-width);
5295
+ background-color: var(--q-theme-neutral);
5296
+ }
5297
+ .q-step--next-reached:not(.q-step--last)::before {
5298
+ background-color: var(--q-theme-primary);
5299
+ }
5300
+ .q-step--active:not(.q-step--last)::before {
5301
+ bottom: 0;
5302
+ }
5303
+ .q-steps__body {
5304
+ position: relative;
5305
+ padding-inline-start: calc(var(--q-steps-indicator-size) + var(--q-space-5));
5306
+ padding-block-start: var(--q-steps-row-gap);
5307
+ &:not(:last-child) {
5308
+ margin-block-end: var(--q-steps-row-gap);
5309
+ }
5310
+ &:not(:last-child)::before {
5311
+ content: '';
5312
+ position: absolute;
5313
+ top: 0;
5314
+ bottom: calc(
5315
+ var(--q-steps-connector-gap) - var(--q-space-2) - var(--q-steps-row-gap) -
5316
+ ((var(--q-steps-indicator-row-height) - var(--q-steps-dot-size-active)) * 0.5)
5317
+ );
5318
+ inset-inline-start: calc(
5319
+ var(--q-space-2) + (var(--q-steps-indicator-size) * 0.5) -
5320
+ (var(--q-steps-connector-width) * 0.5)
5321
+ );
5322
+ width: var(--q-steps-connector-width);
5323
+ background-color: var(--q-theme-neutral);
5324
+ }
5325
+ &.q-step--next-reached::before {
5326
+ background-color: var(--q-theme-primary);
5327
+ }
5328
+ }
5329
+ }
5330
+ }
5331
+
5332
+ &--boxed {
5333
+ .q-step__header {
5334
+ position: relative;
5335
+ display: flex;
5336
+ flex-direction: column;
5337
+ align-items: center;
5338
+ justify-content: center;
5339
+ gap: var(--q-space-1);
5340
+ margin: 0;
5341
+ padding: var(--q-space-3) var(--q-space-2);
5342
+ border: var(--q-border-width) solid transparent;
5343
+ border-radius: var(--q-border-radius);
5344
+ background-color: rgb(var(--q-theme-neutral-rgb) / 12%);
5345
+ color: var(--q-theme-neutral-dark);
5346
+ font: inherit;
5347
+ text-align: center;
5348
+ cursor: pointer;
5349
+ box-shadow: none;
5350
+ &:disabled {
5351
+ cursor: not-allowed;
5352
+ }
5353
+ &:focus-visible {
5354
+ outline: var(--q-focus-ring);
5355
+ }
5356
+ }
5357
+
5358
+
5359
+
5360
+
5361
+ .q-step__badge {
5362
+ top: var(--q-space-1);
5363
+ }
5364
+ .q-step__indicator {
5365
+ display: inline-flex;
5366
+ align-items: center;
5367
+ justify-content: center;
5368
+ font-size: var(--q-space-5);
5369
+ font-weight: var(--q-font-weight-bold);
5370
+ line-height: 1;
5371
+ color: inherit;
5372
+ }
5373
+ .q-step__indicator-content {
5374
+ display: inline-flex;
5375
+ align-items: center;
5376
+ justify-content: center;
5377
+ }
5378
+ .q-step__labels {
5379
+ display: flex;
5380
+ flex-direction: column;
5381
+ align-items: center;
5382
+ gap: calc(var(--q-space-1) * 0.5);
5383
+ }
5384
+ .q-step__title {
5385
+ display: inline-flex;
5386
+ align-items: baseline;
5387
+ gap: calc(var(--q-space-1) * 0.5);
5388
+ font-weight: var(--q-font-weight-bold);
5389
+ color: inherit;
5390
+ }
5391
+ .q-step__caption {
5392
+ font-size: var(--q-font-size-sm);
5393
+ color: inherit;
5394
+ opacity: 0.9;
5395
+ }
5396
+ .q-step__header.q-step--active {
5397
+ background-color: var(--q-theme-primary);
5398
+ border-color: var(--q-theme-primary);
5399
+ color: var(--q-theme-on-primary);
5400
+ box-shadow: var(--q-shadow-md);
5401
+ }
5402
+ .q-step__header.q-step--visited {
5403
+ background-color: rgb(var(--q-theme-primary-rgb) / 12%);
5404
+ color: var(--q-theme-primary);
5405
+ }
5406
+
5407
+
5408
+
5409
+
5410
+ @media (hover: hover) {
5411
+ .q-step__header:not(.q-step--active, .q-step--visited):hover:not(:disabled) {
5412
+ background-color: var(--q-theme-neutral-dark);
5413
+ color: var(--q-theme-on-neutral-dark);
5414
+ }
5415
+ .q-step__header.q-step--active:hover:not(:disabled) {
5416
+ background-color: var(--q-theme-primary-dark);
5417
+ border-color: var(--q-theme-primary-dark);
5418
+ }
5419
+ .q-step__header.q-step--visited:hover:not(:disabled) {
5420
+ background-color: var(--q-theme-primary-dark);
5421
+ border-color: var(--q-theme-primary-dark);
5422
+ color: var(--q-theme-on-primary-dark);
5423
+ }
5424
+ }
5425
+ &.q-steps--horizontal {
5426
+ .q-steps__track {
5427
+ gap: var(--q-space-2);
5428
+ }
5429
+ .q-step__badge {
5430
+ inset-inline-end: var(--q-space-1);
5431
+ }
5432
+ }
5433
+ &.q-steps--vertical {
5434
+ .q-steps__list {
5435
+ gap: var(--q-space-2);
5436
+ }
5437
+ .q-step__header {
5438
+ width: 100%;
5439
+ flex-direction: row;
5440
+ justify-content: flex-start;
5441
+ text-align: start;
5442
+ gap: var(--q-space-3);
5443
+ padding-inline: var(--q-space-5) var(--q-space-4);
5444
+ }
5445
+
5446
+
5447
+
5448
+ .q-step__indicator {
5449
+ flex-shrink: 0;
5450
+ width: var(--q-steps-indicator-size);
5451
+ height: var(--q-steps-indicator-size);
5452
+ }
5453
+
5454
+
5455
+
5456
+
5457
+ .q-step__badge {
5458
+ position: static;
5459
+ order: -1;
5460
+ flex-shrink: 0;
5461
+ transform: none;
5462
+ }
5463
+ .q-step__labels {
5464
+ align-items: flex-start;
5465
+ }
5466
+ .q-steps__body {
5467
+ padding-block: var(--q-space-2);
5468
+ }
5469
+ }
5470
+ }
5471
+
5472
+ &--arrow {
5473
+ .q-step__header {
5474
+ position: relative;
5475
+ display: flex;
5476
+ flex-direction: column;
5477
+ align-items: center;
5478
+ justify-content: center;
5479
+ gap: var(--q-space-1);
5480
+ margin: 0;
5481
+ padding: var(--q-space-3) var(--q-space-4);
5482
+ border: 0;
5483
+ border-radius: var(--q-border-radius);
5484
+ background-color: rgb(var(--q-theme-neutral-rgb) / 12%);
5485
+ color: var(--q-theme-neutral-dark);
5486
+ font: inherit;
5487
+ text-align: center;
5488
+ cursor: pointer;
5489
+ &:disabled {
5490
+ cursor: not-allowed;
5491
+ }
5492
+
5493
+
5494
+
5495
+ &:focus-visible {
5496
+ outline: none;
5497
+ }
5498
+ }
5499
+ .q-step__indicator {
5500
+ display: inline-flex;
5501
+ align-items: center;
5502
+ justify-content: center;
5503
+ font-size: var(--q-space-5);
5504
+ font-weight: var(--q-font-weight-bold);
5505
+ line-height: 1;
5506
+ color: inherit;
5507
+ }
5508
+ .q-step__indicator-content {
5509
+ display: inline-flex;
5510
+ align-items: center;
5511
+ justify-content: center;
5512
+ }
5513
+ .q-step__labels {
5514
+ display: flex;
5515
+ flex-direction: column;
5516
+ align-items: center;
5517
+ gap: calc(var(--q-space-1) * 0.5);
5518
+ }
5519
+ .q-step__title {
5520
+ display: inline-flex;
5521
+ align-items: baseline;
5522
+ gap: calc(var(--q-space-1) * 0.5);
5523
+ font-weight: var(--q-font-weight-bold);
5524
+ color: inherit;
5525
+ }
5526
+ .q-step__caption {
5527
+ font-size: var(--q-font-size-sm);
5528
+ color: inherit;
5529
+ opacity: 0.9;
5530
+ }
5531
+ .q-step__header.q-step--active {
5532
+ background-color: var(--q-theme-primary);
5533
+ color: var(--q-theme-on-primary);
5534
+ }
5535
+
5536
+
5537
+
5538
+ .q-step__header.q-step--visited {
5539
+ background-color: rgb(var(--q-theme-primary-rgb) / 12%);
5540
+ color: var(--q-theme-primary);
5541
+ }
5542
+
5543
+
5544
+ @media (hover: hover) {
5545
+ .q-step__header:not(.q-step--active, .q-step--visited):hover:not(:disabled) {
5546
+ background-color: var(--q-theme-neutral-dark);
5547
+ color: var(--q-theme-on-neutral-dark);
5548
+ }
5549
+ .q-step__header.q-step--active:hover:not(:disabled) {
5550
+ background-color: var(--q-theme-primary-dark);
5551
+ }
5552
+ .q-step__header.q-step--visited:hover:not(:disabled) {
5553
+ background-color: var(--q-theme-primary-dark);
5554
+ color: var(--q-theme-on-primary-dark);
5555
+ }
5556
+ }
5557
+
5558
+
5559
+
5560
+
5561
+
5562
+ .q-step:has(.q-step__header:focus-visible) {
5563
+ outline: var(--q-focus-ring);
5564
+ border-radius: var(--q-border-radius);
5565
+ }
5566
+
5567
+
5568
+
5569
+ &.q-steps--horizontal {
5570
+ .q-steps__track {
5571
+ gap: 0;
5572
+ }
5573
+ .q-step__header {
5574
+ position: relative;
5575
+ min-width: 0;
5576
+
5577
+ clip-path: polygon(
5578
+ 0 0,
5579
+ calc(100% - var(--q-steps-arrow-size)) 0,
5580
+ 100% 50%,
5581
+ calc(100% - var(--q-steps-arrow-size)) 100%,
5582
+ 0 100%,
5583
+ var(--q-steps-arrow-size) 50%
5584
+ );
5585
+ padding-inline: calc(var(--q-space-4) + var(--q-steps-arrow-size));
5586
+ margin-inline-end: calc(var(--q-steps-arrow-size) * -0.5);
5587
+ }
5588
+
5589
+
5590
+
5591
+
5592
+ .q-step__badge {
5593
+ top: var(--q-space-1);
5594
+ inset-inline-end: var(--q-steps-arrow-size);
5595
+ }
5596
+ .q-steps__track > .q-step:first-child .q-step__header {
5597
+ clip-path: polygon(
5598
+ 0 0,
5599
+ calc(100% - var(--q-steps-arrow-size)) 0,
5600
+ 100% 50%,
5601
+ calc(100% - var(--q-steps-arrow-size)) 100%,
5602
+ 0 100%
5603
+ );
5604
+ padding-inline-start: var(--q-space-3);
5605
+ }
5606
+
5607
+ .q-steps__track > .q-step:last-child .q-step__header {
5608
+ clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%, var(--q-steps-arrow-size) 50%);
5609
+ padding-inline-end: var(--q-space-3);
5610
+ margin-inline-end: 0;
5611
+ }
5612
+ }
5613
+ &.q-steps--vertical {
5614
+ .q-steps__list {
5615
+ gap: 0;
5616
+ }
5617
+
5618
+
5619
+
5620
+
5621
+
5622
+
5623
+ .q-step__header {
5624
+ width: 100%;
5625
+ flex-direction: row;
5626
+ justify-content: flex-start;
5627
+ text-align: start;
5628
+ gap: var(--q-space-3);
5629
+ clip-path: polygon(
5630
+ 0 0,
5631
+ calc(50% - var(--q-steps-arrow-size)) 0,
5632
+ 50% var(--q-steps-arrow-size),
5633
+ calc(50% + var(--q-steps-arrow-size)) 0,
5634
+ 100% 0,
5635
+ 100% calc(100% - var(--q-steps-arrow-size)),
5636
+ calc(50% + var(--q-steps-arrow-size)) calc(100% - var(--q-steps-arrow-size)),
5637
+ 50% 100%,
5638
+ calc(50% - var(--q-steps-arrow-size)) calc(100% - var(--q-steps-arrow-size)),
5639
+ 0 calc(100% - var(--q-steps-arrow-size))
5640
+ );
5641
+ padding-inline-start: var(--q-space-5);
5642
+ padding-block: var(--q-space-3) calc(var(--q-space-3) + var(--q-steps-arrow-size));
5643
+ margin-block-end: calc(var(--q-steps-arrow-size) * -0.5);
5644
+ }
5645
+
5646
+
5647
+
5648
+ .q-step__indicator {
5649
+ flex-shrink: 0;
5650
+ width: var(--q-steps-indicator-size);
5651
+ height: var(--q-steps-indicator-size);
5652
+ }
5653
+
5654
+
5655
+
5656
+ .q-step__badge {
5657
+ position: static;
5658
+ order: -1;
5659
+ flex-shrink: 0;
5660
+ transform: none;
5661
+ }
5662
+ .q-step:first-child .q-step__header {
5663
+ clip-path: polygon(
5664
+ 0 0,
5665
+ 100% 0,
5666
+ 100% calc(100% - var(--q-steps-arrow-size)),
5667
+ calc(50% + var(--q-steps-arrow-size)) calc(100% - var(--q-steps-arrow-size)),
5668
+ 50% 100%,
5669
+ calc(50% - var(--q-steps-arrow-size)) calc(100% - var(--q-steps-arrow-size)),
5670
+ 0 calc(100% - var(--q-steps-arrow-size))
5671
+ );
5672
+ }
5673
+
5674
+
5675
+ .q-step--last .q-step__header {
5676
+ clip-path: polygon(
5677
+ 0 0,
5678
+ calc(50% - var(--q-steps-arrow-size)) 0,
5679
+ 50% var(--q-steps-arrow-size),
5680
+ calc(50% + var(--q-steps-arrow-size)) 0,
5681
+ 100% 0,
5682
+ 100% 100%,
5683
+ 0 100%
5684
+ );
5685
+ padding-block-end: var(--q-space-3);
5686
+ margin-block-end: 0;
5687
+ }
5688
+ .q-step__labels {
5689
+ align-items: flex-start;
5690
+ }
5691
+ .q-steps__body {
5692
+ padding-block: var(--q-space-2);
5693
+ }
5694
+ }
5695
+ }
5696
+ }
5697
+ .q-step {
5698
+ &__indicator {
5699
+ transition:
5700
+ background-color var(--q-transition-duration) var(--q-transition-timing-function),
5701
+ box-shadow var(--q-transition-duration) var(--q-transition-timing-function),
5702
+ color var(--q-transition-duration) var(--q-transition-timing-function);
5703
+ }
5704
+ &__title,
5705
+ &__caption {
5706
+ transition: color var(--q-transition-duration) var(--q-transition-timing-function);
5707
+ }
5708
+ &__header {
5709
+ transition:
5710
+ background-color var(--q-transition-duration) var(--q-transition-timing-function),
5711
+ box-shadow var(--q-transition-duration) var(--q-transition-timing-function),
5712
+ color var(--q-transition-duration) var(--q-transition-timing-function),
5713
+ opacity var(--q-transition-duration) var(--q-transition-timing-function);
5714
+ &::after {
5715
+ transition: background-color var(--q-transition-duration) var(--q-transition-timing-function);
5716
+ }
5717
+ }
5718
+ &::before {
5719
+ transition: background-color var(--q-transition-duration) var(--q-transition-timing-function);
5720
+ }
5721
+ &--disabled .q-step__header {
5722
+ opacity: 0.6;
5723
+ }
5724
+ }
5725
+ .q-switch {
5726
+
5727
+
5728
+
5729
+ --q-switch-inner-padding: calc(var(--q-space-1) * 0.5);
5730
+ --q-switch-border-radius: 9999px;
5731
+ --q-switch-transition-duration: 0.15s;
5732
+ --q-switch-transition-easing: ease-out;
5733
+
5734
+ --q-switch-label-padding-v: calc(var(--q-space-1) * 2.5);
5735
+ --q-switch-label-padding-h: calc(var(--q-space-1) * 3.75);
5736
+ --q-switch-font-size: var(--q-font-size-sm);
5737
+
5738
+ --q-switch-label-block-size: calc(
5739
+ var(--q-switch-label-padding-v) * 2 + var(--q-switch-font-size)
5740
+ );
5741
+ --q-switch-drawn-height: calc(
5742
+ var(--q-switch-inner-padding) * 2 + var(--q-switch-label-block-size)
5743
+ );
5744
+ --q-switch-hit-padding-block: max(
5745
+ 0px,
5746
+ calc((var(--q-interactive-height) - var(--q-switch-drawn-height)) / 2)
5747
+ );
5748
+
5749
+ --q-switch-shadow-color-primary: rgb(var(--q-theme-on-background-rgb) / 20%);
5750
+ --q-switch-shadow-color-secondary: rgb(var(--q-theme-on-background-rgb) / 10%);
5751
+ --q-switch-shadow-blur-base: calc(var(--q-space-1) * 0.75);
5752
+ --q-switch-shadow-offset-y: calc(var(--q-space-1) * 0.25);
5753
+ --q-switch-shadow-spread: calc(var(--q-space-1) * 0.5);
5754
+
5755
+ --q-switch-shadow-color-primary-hover: rgb(var(--q-theme-on-background-rgb) / 30%);
5756
+ --q-switch-shadow-color-secondary-hover: rgb(var(--q-theme-on-background-rgb) / 15%);
5757
+ --q-switch-shadow-blur-hover: calc(var(--q-space-1) * 1.5);
5758
+ --q-switch-shadow-offset-y-hover: calc(var(--q-space-1) * 0.5);
5759
+ --q-switch-shadow-spread-hover: var(--q-space-1);
5760
+
5761
+ --q-switch-disabled-opacity: 0.5;
5762
+ --q-switch-hover-background-opacity: 0.5;
5763
+
5764
+ --q-switch-checked-background: var(--q-theme-primary);
5765
+ --q-switch-on-checked-background: var(--q-theme-on-primary);
5766
+ --q-switch-unchecked-background: rgb(var(--q-theme-neutral-light-rgb) / 50%);
5767
+ --q-switch-on-unchecked-background: var(--q-theme-neutral);
5768
+
5769
+
5770
+
5771
+ display: inline-flex;
5772
+ align-items: center;
5773
+ position: relative;
5774
+ white-space: nowrap;
5775
+ box-sizing: border-box;
5776
+ height: var(--q-interactive-height);
5777
+ min-height: var(--q-interactive-height);
5778
+
5779
+ padding: var(--q-switch-hit-padding-block) 0;
5780
+ background: transparent;
5781
+ border-radius: var(--q-switch-border-radius);
5782
+ cursor: pointer;
5783
+
5784
+
5785
+
5786
+ @include q-size-modifiers;
5787
+
5788
+
5789
+
5790
+ &--disabled {
5791
+ opacity: var(--q-switch-disabled-opacity);
5792
+ pointer-events: none;
5793
+ cursor: not-allowed;
5794
+ }
5795
+ }
5796
+ .q-switch:not(.q-switch--with-labels) {
5797
+ --q-switch-label-padding-h: var(--q-switch-label-padding-v);
5798
+ }
5799
+ .q-switch__container {
5800
+ position: relative;
5801
+ display: inline-flex;
5802
+ align-items: center;
5803
+ justify-content: center;
5804
+ gap: 0.5em;
5805
+ }
5806
+ .q-switch__input {
5807
+ position: absolute;
5808
+ inset: var(--q-switch-hit-padding-block) 0 var(--q-switch-hit-padding-block) 0;
5809
+
5810
+ width: auto;
5811
+ height: auto;
5812
+ margin: 0;
5813
+ padding: 0;
5814
+ appearance: none;
5815
+ border: none;
5816
+ background: transparent;
5817
+ cursor: pointer;
5818
+ border-radius: var(--q-switch-border-radius);
5819
+ z-index: 2;
5820
+
5821
+ &:focus-visible {
5822
+ outline: var(--q-focus-ring);
5823
+ }
5824
+
5825
+ &:disabled {
5826
+ cursor: not-allowed;
5827
+ &:focus-visible {
5828
+ outline: none;
5829
+ }
5830
+ }
5831
+ }
5832
+ .q-switch__labels {
5833
+ display: flex;
5834
+ align-items: center;
5835
+ width: 100%;
5836
+ position: relative;
5837
+ box-sizing: border-box;
5838
+ padding: var(--q-switch-inner-padding);
5839
+ background: var(--q-switch-unchecked-background);
5840
+ border-radius: var(--q-switch-border-radius);
5841
+ transition: background var(--q-switch-transition-duration) var(--q-switch-transition-easing);
5842
+ }
5843
+ .q-switch__label {
5844
+ display: inline-flex;
5845
+ align-items: center;
5846
+ justify-content: center;
5847
+ border-radius: var(--q-switch-border-radius);
5848
+ padding: var(--q-switch-label-padding-v) var(--q-switch-label-padding-h);
5849
+ user-select: none;
4760
5850
  transition:
4761
5851
  padding-left var(--q-switch-transition-duration) var(--q-switch-transition-easing),
4762
5852
  padding-right var(--q-switch-transition-duration) var(--q-switch-transition-easing),
@@ -5103,6 +6193,12 @@ $spinner-color: var(--q-theme-primary);
5103
6193
  padding: var(--q-control-padding-y-lg) var(--q-control-padding-x-lg);
5104
6194
  &.q-button.q-button--text {
5105
6195
  color: var(--q-theme-neutral-dark);
6196
+
6197
+ @media (hover: hover) {
6198
+ &:hover:not(:disabled) {
6199
+ text-decoration: none;
6200
+ }
6201
+ }
5106
6202
  }
5107
6203
  &--active.q-button.q-button--text {
5108
6204
  color: var(--q-theme-primary);
@@ -5253,6 +6349,8 @@ $spinner-color: var(--q-theme-primary);
5253
6349
  $this: &;
5254
6350
  --q-toast-main-color: var(--q-theme-info);
5255
6351
  --q-toast-on-main-color: var(--q-theme-on-info);
6352
+ --q-toast-text-color: var(--q-theme-info-dark);
6353
+ --q-toast-tonal-text-color: var(--q-theme-info-dark);
5256
6354
  --q-toast-tonal-color: var(--q-theme-info-light);
5257
6355
  --q-toast-width: calc(8 * 5em + 7 * var(--q-space-1));
5258
6356
  max-width: var(--q-toast-width);
@@ -5296,12 +6394,23 @@ $spinner-color: var(--q-theme-primary);
5296
6394
  &--tonal {
5297
6395
  background-color: var(--q-toast-tonal-color);
5298
6396
  border-color: transparent;
5299
- color: var(--q-toast-hover-color);
6397
+ color: var(--q-toast-tonal-text-color);
6398
+
6399
+
6400
+
6401
+ .q-toast__dismiss.q-button {
6402
+ color: var(--q-toast-tonal-text-color);
6403
+ @media (hover: hover) {
6404
+ &:hover:not(:disabled) {
6405
+ color: var(--q-toast-tonal-text-color);
6406
+ }
6407
+ }
6408
+ }
5300
6409
  }
5301
6410
  &--outlined {
5302
6411
  background-color: transparent;
5303
6412
  border-color: var(--q-toast-main-color);
5304
- color: var(--q-toast-main-color);
6413
+ color: var(--q-toast-text-color);
5305
6414
  }
5306
6415
  }
5307
6416
  .q-toast-stack-enter-active {