quasar 2.3.4 → 2.4.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 (204) hide show
  1. package/dist/api/Loading.json +2 -6
  2. package/dist/api/QBreadcrumbsEl.json +31 -10
  3. package/dist/api/QBtn.json +30 -14
  4. package/dist/api/QBtnDropdown.json +30 -14
  5. package/dist/api/QBtnToggle.json +3 -0
  6. package/dist/api/QChatMessage.json +4 -12
  7. package/dist/api/QExpansionItem.json +31 -10
  8. package/dist/api/QFab.json +30 -0
  9. package/dist/api/QFabAction.json +8 -0
  10. package/dist/api/QField.json +1 -0
  11. package/dist/api/QFile.json +1 -0
  12. package/dist/api/QInput.json +1 -0
  13. package/dist/api/QItem.json +31 -10
  14. package/dist/api/QOptionGroup.json +74 -4
  15. package/dist/api/QRange.json +592 -107
  16. package/dist/api/QRouteTab.json +31 -11
  17. package/dist/api/QSelect.json +3 -6
  18. package/dist/api/QSlider.json +504 -39
  19. package/dist/api/QUploader.json +16 -2
  20. package/dist/icon-set/bootstrap-icons.umd.prod.js +1 -1
  21. package/dist/icon-set/eva-icons.umd.prod.js +1 -1
  22. package/dist/icon-set/fontawesome-v5-pro.umd.prod.js +1 -1
  23. package/dist/icon-set/fontawesome-v5.umd.prod.js +1 -1
  24. package/dist/icon-set/ionicons-v4.umd.prod.js +1 -1
  25. package/dist/icon-set/line-awesome.umd.prod.js +1 -1
  26. package/dist/icon-set/material-icons-outlined.umd.prod.js +1 -1
  27. package/dist/icon-set/material-icons-round.umd.prod.js +1 -1
  28. package/dist/icon-set/material-icons-sharp.umd.prod.js +1 -1
  29. package/dist/icon-set/material-icons.umd.prod.js +1 -1
  30. package/dist/icon-set/mdi-v3.umd.prod.js +1 -1
  31. package/dist/icon-set/mdi-v4.umd.prod.js +1 -1
  32. package/dist/icon-set/mdi-v5.umd.prod.js +1 -1
  33. package/dist/icon-set/mdi-v6.umd.prod.js +1 -1
  34. package/dist/icon-set/svg-bootstrap-icons.umd.prod.js +1 -1
  35. package/dist/icon-set/svg-eva-icons.umd.prod.js +1 -1
  36. package/dist/icon-set/svg-fontawesome-v5.umd.prod.js +1 -1
  37. package/dist/icon-set/svg-ionicons-v4.umd.prod.js +1 -1
  38. package/dist/icon-set/svg-ionicons-v5.umd.prod.js +1 -1
  39. package/dist/icon-set/svg-ionicons-v6.umd.prod.js +1 -1
  40. package/dist/icon-set/svg-line-awesome.umd.prod.js +1 -1
  41. package/dist/icon-set/svg-material-icons-outlined.umd.prod.js +1 -1
  42. package/dist/icon-set/svg-material-icons-round.umd.prod.js +1 -1
  43. package/dist/icon-set/svg-material-icons-sharp.umd.prod.js +1 -1
  44. package/dist/icon-set/svg-material-icons.umd.prod.js +1 -1
  45. package/dist/icon-set/svg-mdi-v4.umd.prod.js +1 -1
  46. package/dist/icon-set/svg-mdi-v5.umd.prod.js +1 -1
  47. package/dist/icon-set/svg-mdi-v6.umd.prod.js +1 -1
  48. package/dist/icon-set/svg-themify.umd.prod.js +1 -1
  49. package/dist/icon-set/themify.umd.prod.js +1 -1
  50. package/dist/lang/ar.umd.prod.js +1 -1
  51. package/dist/lang/az-Latn.umd.prod.js +1 -1
  52. package/dist/lang/bg.umd.prod.js +1 -1
  53. package/dist/lang/bn.umd.prod.js +1 -1
  54. package/dist/lang/ca.umd.prod.js +1 -1
  55. package/dist/lang/cs.umd.prod.js +1 -1
  56. package/dist/lang/da.umd.prod.js +1 -1
  57. package/dist/lang/de.umd.prod.js +1 -1
  58. package/dist/lang/el.umd.prod.js +1 -1
  59. package/dist/lang/en-GB.umd.prod.js +1 -1
  60. package/dist/lang/en-US.umd.prod.js +1 -1
  61. package/dist/lang/eo.umd.prod.js +1 -1
  62. package/dist/lang/es.umd.prod.js +1 -1
  63. package/dist/lang/et.umd.prod.js +1 -1
  64. package/dist/lang/fa-IR.umd.prod.js +1 -1
  65. package/dist/lang/fa.umd.prod.js +1 -1
  66. package/dist/lang/fi.umd.prod.js +1 -1
  67. package/dist/lang/fr.umd.prod.js +1 -1
  68. package/dist/lang/gn.umd.prod.js +1 -1
  69. package/dist/lang/he.umd.prod.js +1 -1
  70. package/dist/lang/hr.umd.prod.js +1 -1
  71. package/dist/lang/hu.umd.prod.js +1 -1
  72. package/dist/lang/id.umd.prod.js +1 -1
  73. package/dist/lang/is.umd.prod.js +1 -1
  74. package/dist/lang/it.umd.prod.js +1 -1
  75. package/dist/lang/ja.umd.prod.js +1 -1
  76. package/dist/lang/km.umd.prod.js +1 -1
  77. package/dist/lang/ko-KR.umd.prod.js +1 -1
  78. package/dist/lang/kur-CKB.umd.prod.js +1 -1
  79. package/dist/lang/lt.umd.prod.js +1 -1
  80. package/dist/lang/lu.umd.prod.js +1 -1
  81. package/dist/lang/lv.umd.prod.js +1 -1
  82. package/dist/lang/ml.umd.prod.js +1 -1
  83. package/dist/lang/ms.umd.prod.js +1 -1
  84. package/dist/lang/nb-NO.umd.prod.js +1 -1
  85. package/dist/lang/nl.umd.prod.js +1 -1
  86. package/dist/lang/pl.umd.prod.js +1 -1
  87. package/dist/lang/pt-BR.umd.prod.js +1 -1
  88. package/dist/lang/pt.umd.prod.js +1 -1
  89. package/dist/lang/ro.umd.prod.js +1 -1
  90. package/dist/lang/ru.umd.prod.js +1 -1
  91. package/dist/lang/sk.umd.prod.js +1 -1
  92. package/dist/lang/sl.umd.prod.js +1 -1
  93. package/dist/lang/sr-CYR.umd.prod.js +1 -1
  94. package/dist/lang/sr.umd.prod.js +1 -1
  95. package/dist/lang/sv.umd.prod.js +1 -1
  96. package/dist/lang/ta.umd.prod.js +1 -1
  97. package/dist/lang/th.umd.prod.js +1 -1
  98. package/dist/lang/tr.umd.prod.js +1 -1
  99. package/dist/lang/ug.umd.prod.js +1 -1
  100. package/dist/lang/uk.umd.prod.js +1 -1
  101. package/dist/lang/vi.umd.prod.js +1 -1
  102. package/dist/lang/zh-CN.umd.prod.js +1 -1
  103. package/dist/lang/zh-TW.umd.prod.js +1 -1
  104. package/dist/quasar.cjs.prod.js +2 -2
  105. package/dist/quasar.css +264 -183
  106. package/dist/quasar.esm.prod.js +2 -2
  107. package/dist/quasar.prod.css +1 -1
  108. package/dist/quasar.rtl.css +331 -262
  109. package/dist/quasar.rtl.prod.css +1 -1
  110. package/dist/quasar.sass +235 -178
  111. package/dist/quasar.umd.js +16537 -16226
  112. package/dist/quasar.umd.prod.js +2 -2
  113. package/dist/ssr-directives/Morph.js +1 -1
  114. package/dist/transforms/loader-asset-urls.json +20 -0
  115. package/dist/types/api/slider.d.ts +46 -0
  116. package/dist/types/api/validation.d.ts +4 -0
  117. package/dist/types/api.d.ts +2 -0
  118. package/dist/types/composables.d.ts +3 -3
  119. package/dist/types/index.d.ts +594 -120
  120. package/dist/vetur/quasar-attributes.json +250 -82
  121. package/dist/vetur/quasar-tags.json +59 -17
  122. package/dist/web-types/web-types.json +578 -149
  123. package/package.json +1 -1
  124. package/src/api.extends.json +0 -1
  125. package/src/components/breadcrumbs/QBreadcrumbs.js +7 -2
  126. package/src/components/breadcrumbs/QBreadcrumbs.sass +0 -3
  127. package/src/components/breadcrumbs/QBreadcrumbsEl.js +14 -8
  128. package/src/components/btn/QBtn.js +5 -5
  129. package/src/components/btn/use-btn.js +21 -21
  130. package/src/components/btn/use-btn.json +22 -13
  131. package/src/components/btn-toggle/QBtnToggle.json +3 -0
  132. package/src/components/checkbox/use-checkbox.js +1 -1
  133. package/src/components/color/QColor.js +32 -26
  134. package/src/components/color/QColor.sass +10 -23
  135. package/src/components/date/QDate.sass +2 -0
  136. package/src/components/drawer/QDrawer.js +18 -15
  137. package/src/components/editor/QEditor.js +1 -1
  138. package/src/components/editor/QEditor.sass +10 -1
  139. package/src/components/expansion-item/QExpansionItem.js +4 -1
  140. package/src/components/fab/QFab.js +18 -12
  141. package/src/components/fab/QFab.json +33 -0
  142. package/src/components/fab/QFab.sass +1 -1
  143. package/src/components/fab/QFabAction.js +14 -7
  144. package/src/components/fab/QFabAction.json +10 -0
  145. package/src/components/file/QFile.js +12 -5
  146. package/src/components/file/QFile.sass +4 -2
  147. package/src/components/footer/QFooter.js +1 -1
  148. package/src/components/header/QHeader.js +1 -1
  149. package/src/components/icon/QIcon.js +1 -1
  150. package/src/components/infinite-scroll/QInfiniteScroll.js +4 -5
  151. package/src/components/item/QItem.js +2 -3
  152. package/src/components/option-group/QOptionGroup.js +3 -0
  153. package/src/components/option-group/QOptionGroup.json +48 -2
  154. package/src/components/parallax/QParallax.js +4 -2
  155. package/src/components/popup-edit/QPopupEdit.js +2 -5
  156. package/src/components/radio/QRadio.js +2 -7
  157. package/src/components/range/QRange.js +103 -222
  158. package/src/components/range/QRange.json +11 -121
  159. package/src/components/scroll-area/QScrollArea.js +3 -1
  160. package/src/components/slider/QSlider.js +46 -132
  161. package/src/components/slider/QSlider.json +1 -121
  162. package/src/components/slider/QSlider.sass +198 -132
  163. package/src/components/slider/use-slider.js +453 -109
  164. package/src/components/slider/use-slider.json +546 -0
  165. package/src/components/stepper/QStepper.js +3 -3
  166. package/src/components/stepper/QStepper.sass +24 -26
  167. package/src/components/table/QTable.js +26 -46
  168. package/src/components/tabs/QRouteTab.js +1 -2
  169. package/src/components/tabs/QRouteTab.json +0 -7
  170. package/src/components/tabs/QTabs.js +71 -20
  171. package/src/components/tabs/use-tab.js +26 -13
  172. package/src/components/tree/QTree.js +14 -12
  173. package/src/components/uploader/QUploader.json +14 -2
  174. package/src/components/uploader/uploader-core.js +16 -9
  175. package/src/components/virtual-scroll/QVirtualScroll.sass +1 -0
  176. package/src/components/virtual-scroll/use-virtual-scroll.js +30 -17
  177. package/src/composables/private/use-field.js +5 -5
  178. package/src/composables/private/use-file.js +20 -5
  179. package/src/composables/private/use-form.js +2 -3
  180. package/src/composables/private/use-fullscreen.js +15 -4
  181. package/src/composables/private/use-router-link.js +44 -23
  182. package/src/composables/private/use-router-link.json +26 -10
  183. package/src/composables/private/use-split-attrs.js +4 -4
  184. package/src/composables/private/use-validate.js +21 -15
  185. package/src/composables/private/use-validate.json +1 -0
  186. package/src/css/core/helpers.sass +3 -0
  187. package/src/css/core/positioning.sass +5 -0
  188. package/src/directives/ScrollFire.js +1 -0
  189. package/src/icon-set.js +2 -4
  190. package/src/plugins/AppFullscreen.js +70 -53
  191. package/src/plugins/AppVisibility.js +2 -3
  192. package/src/plugins/BottomSheet.js +3 -5
  193. package/src/plugins/Dialog.js +3 -5
  194. package/src/plugins/LoadingBar.js +17 -18
  195. package/src/plugins/Notify.js +296 -295
  196. package/src/plugins/Platform.js +14 -14
  197. package/src/utils/date.js +4 -4
  198. package/src/utils/dom.js +2 -2
  199. package/src/utils/open-url.js +2 -2
  200. package/src/utils/patterns.js +1 -0
  201. package/src/utils/private/define-reactive-plugin.js +10 -8
  202. package/src/utils/private/global-dialog.js +6 -8
  203. package/src/utils/private/inject-obj-prop.js +13 -0
  204. package/src/utils/private/is.js +2 -2
package/dist/quasar.css CHANGED
@@ -399,9 +399,6 @@ input[type=search]::-webkit-search-decoration {
399
399
  .q-breadcrumbs__el-icon--with-label {
400
400
  margin-right: 8px;
401
401
  }
402
- .q-breadcrumbs--last a {
403
- pointer-events: none;
404
- }
405
402
 
406
403
  [dir=rtl] .q-breadcrumbs__separator .q-icon {
407
404
  transform: scaleX(-1) /* rtl:ignore */;
@@ -1314,35 +1311,28 @@ body.desktop .q-chip--clickable:focus {
1314
1311
  border-radius: 50%;
1315
1312
  transform: translate(-5px, -5px);
1316
1313
  }
1317
- .q-color-picker__hue .q-slider__track-container {
1314
+ .q-color-picker__hue .q-slider__track {
1318
1315
  background: linear-gradient(to right, #f00 0%, #ff0 17%, #0f0 33%, #0ff 50%, #00f 67%, #f0f 83%, #f00 100%) !important;
1319
1316
  opacity: 1;
1320
1317
  }
1321
1318
  .q-color-picker__alpha .q-slider__track-container {
1322
- color: #fff;
1323
- opacity: 1;
1324
- height: 8px;
1325
- background-color: #fff !important;
1326
- background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAAH0lEQVQoU2NkYGAwZkAFZ5G5jPRRgOYEVDeB3EBjBQBOZwTVugIGyAAAAABJRU5ErkJggg==") !important;
1319
+ padding-top: 0;
1327
1320
  }
1328
- .q-color-picker__alpha .q-slider__track-container:after {
1321
+ .q-color-picker__alpha .q-slider__track:before {
1329
1322
  content: "";
1330
1323
  position: absolute;
1331
1324
  top: 0;
1332
1325
  right: 0;
1333
1326
  bottom: 0;
1334
1327
  left: 0;
1328
+ border-radius: inherit;
1335
1329
  background: linear-gradient(90deg, rgba(255, 255, 255, 0), #757575);
1336
1330
  }
1337
1331
  .q-color-picker__sliders {
1338
- padding: 4px 16px 16px;
1339
- }
1340
- .q-color-picker__sliders .q-slider__track-container {
1341
- height: 10px;
1342
- margin-top: -5px;
1332
+ padding: 0 16px;
1343
1333
  }
1344
- .q-color-picker__sliders .q-slider__track {
1345
- display: none;
1334
+ .q-color-picker__sliders .q-slider__thumb {
1335
+ color: #424242;
1346
1336
  }
1347
1337
  .q-color-picker__sliders .q-slider__thumb path {
1348
1338
  stroke-width: 2px;
@@ -1351,11 +1341,6 @@ body.desktop .q-chip--clickable:focus {
1351
1341
  .q-color-picker__sliders .q-slider--active path {
1352
1342
  stroke-width: 3px;
1353
1343
  }
1354
- .q-color-picker__sliders .q-slider {
1355
- height: 16px;
1356
- margin-top: 8px;
1357
- color: #424242;
1358
- }
1359
1344
  .q-color-picker__tune-tab .q-slider {
1360
1345
  margin-left: 18px;
1361
1346
  margin-right: 18px;
@@ -1400,8 +1385,8 @@ body.desktop .q-chip--clickable:focus {
1400
1385
  .q-color-picker--dark .q-color-picker__tune-tab input {
1401
1386
  border: 1px solid rgba(255, 255, 255, 0.3);
1402
1387
  }
1403
- .q-color-picker--dark .q-slider {
1404
- color: #bdbdbd;
1388
+ .q-color-picker--dark .q-slider__thumb {
1389
+ color: #fafafa;
1405
1390
  }
1406
1391
 
1407
1392
  .q-date {
@@ -1506,6 +1491,9 @@ body.desktop .q-chip--clickable:focus {
1506
1491
  line-height: 30px;
1507
1492
  text-align: center;
1508
1493
  }
1494
+ .q-date__calendar-item > button {
1495
+ line-height: 22px;
1496
+ }
1509
1497
  .q-date__calendar-item--out {
1510
1498
  opacity: 0.18;
1511
1499
  }
@@ -1825,6 +1813,7 @@ body.q-ios-padding .q-dialog__inner > div {
1825
1813
  border-bottom-left-radius: inherit;
1826
1814
  border-bottom-right-radius: inherit;
1827
1815
  overflow: auto;
1816
+ max-width: 100%;
1828
1817
  }
1829
1818
  .q-editor__content pre {
1830
1819
  white-space: pre-wrap;
@@ -1844,6 +1833,9 @@ body.q-ios-padding .q-dialog__inner > div {
1844
1833
  border-bottom: 1px solid rgba(0, 0, 0, 0.12);
1845
1834
  min-height: 32px;
1846
1835
  }
1836
+ .q-editor__toolbars-container {
1837
+ max-width: 100%;
1838
+ }
1847
1839
  .q-editor .q-btn {
1848
1840
  margin: 4px;
1849
1841
  }
@@ -2632,8 +2624,10 @@ body.q-ios-padding .q-dialog__inner > div {
2632
2624
  cursor: pointer;
2633
2625
  }
2634
2626
  .q-file__filler {
2635
- opacity: 0;
2636
- pointer-events: none;
2627
+ visibility: hidden;
2628
+ width: 100%;
2629
+ border: none;
2630
+ padding: 0;
2637
2631
  }
2638
2632
  .q-file__dnd {
2639
2633
  outline: 1px dashed currentColor;
@@ -3764,144 +3758,240 @@ body.platform-ios:not(.native-mobile) .q-dialog__inner--top .q-select__dialog--f
3764
3758
 
3765
3759
  .q-slider {
3766
3760
  position: relative;
3767
- color: var(--q-primary);
3768
- outline: 0;
3769
3761
  }
3770
3762
  .q-slider--h {
3771
3763
  width: 100%;
3772
- height: 40px;
3773
3764
  }
3774
3765
  .q-slider--v {
3775
- width: 40px;
3776
3766
  height: 200px;
3777
3767
  }
3768
+ .q-slider--editable .q-slider__track-container {
3769
+ cursor: -webkit-grab;
3770
+ cursor: grab;
3771
+ }
3778
3772
  .q-slider__track-container {
3779
- background: rgba(0, 0, 0, 0.26);
3773
+ outline: 0;
3780
3774
  }
3781
3775
  .q-slider__track-container--h {
3782
- top: 50%;
3783
- margin-top: -1px;
3784
3776
  width: 100%;
3785
- height: 2px;
3777
+ padding: 12px 0;
3778
+ }
3779
+ .q-slider__track-container--h .q-slider__selection {
3780
+ will-change: width, left;
3786
3781
  }
3787
3782
  .q-slider__track-container--v {
3788
- left: 50%;
3789
- margin-left: -1px;
3790
3783
  height: 100%;
3791
- width: 2px;
3784
+ padding: 0 12px;
3785
+ }
3786
+ .q-slider__track-container--v .q-slider__selection {
3787
+ will-change: height, top;
3792
3788
  }
3793
3789
  .q-slider__track {
3790
+ color: var(--q-primary);
3791
+ background: rgba(0, 0, 0, 0.1);
3792
+ border-radius: 4px;
3793
+ width: inherit;
3794
+ height: inherit;
3795
+ }
3796
+ .q-slider__inner {
3797
+ background: rgba(0, 0, 0, 0.1);
3798
+ border-radius: inherit;
3799
+ width: 100%;
3800
+ height: 100%;
3801
+ }
3802
+ .q-slider__selection {
3794
3803
  background: currentColor;
3804
+ border-radius: inherit;
3805
+ width: 100%;
3806
+ height: 100%;
3795
3807
  }
3796
- .q-slider__track--h {
3797
- will-change: width, left;
3798
- top: 0;
3799
- bottom: 0;
3808
+ .q-slider__markers {
3809
+ color: rgba(0, 0, 0, 0.3);
3810
+ border-radius: inherit;
3811
+ width: 100%;
3812
+ height: 100%;
3800
3813
  }
3801
- .q-slider__track--v {
3802
- will-change: height, top;
3803
- left: 0;
3814
+ .q-slider__markers:after {
3815
+ content: "";
3816
+ position: absolute;
3817
+ background: currentColor;
3818
+ }
3819
+ .q-slider__markers--h {
3820
+ background-image: repeating-linear-gradient(to right, currentColor, currentColor 2px, rgba(255, 255, 255, 0) 0, rgba(255, 255, 255, 0));
3821
+ }
3822
+ .q-slider__markers--h:after {
3823
+ height: 100%;
3824
+ width: 2px;
3825
+ top: 0;
3804
3826
  right: 0;
3805
3827
  }
3806
- .q-slider__track-markers {
3807
- color: #000;
3828
+ .q-slider__markers--v {
3829
+ background-image: repeating-linear-gradient(to bottom, currentColor, currentColor 2px, rgba(255, 255, 255, 0) 0, rgba(255, 255, 255, 0));
3808
3830
  }
3809
- .q-slider__track-markers--h {
3810
- background-image: repeating-linear-gradient(to right, currentColor, currentColor 2px, rgba(255, 255, 255, 0) 0, rgba(255, 255, 255, 0));
3831
+ .q-slider__markers--v:after {
3832
+ width: 100%;
3833
+ height: 2px;
3834
+ left: 0;
3835
+ bottom: 0;
3811
3836
  }
3812
- .q-slider__track-markers--v {
3813
- background-image: repeating-linear-gradient(to top, currentColor, currentColor 2px, rgba(255, 255, 255, 0) 0, rgba(255, 255, 255, 0));
3837
+ .q-slider__marker-labels-container {
3838
+ position: relative;
3839
+ width: 100%;
3840
+ height: 100%;
3841
+ min-height: 24px;
3842
+ min-width: 24px;
3814
3843
  }
3815
- .q-slider__track-markers:after {
3816
- content: "";
3844
+ .q-slider__marker-labels {
3817
3845
  position: absolute;
3818
- right: 0;
3846
+ }
3847
+ .q-slider__marker-labels--h-standard {
3819
3848
  top: 0;
3849
+ }
3850
+ .q-slider__marker-labels--h-switched {
3820
3851
  bottom: 0;
3821
- height: 2px;
3822
- width: 2px;
3823
- background: currentColor;
3824
3852
  }
3825
- .q-slider__thumb-container {
3826
- width: 20px;
3827
- height: 20px;
3853
+ .q-slider__marker-labels--h-ltr {
3854
+ transform: translateX(-50%) /* rtl:ignore */;
3855
+ }
3856
+ .q-slider__marker-labels--h-rtl {
3857
+ transform: translateX(50%) /* rtl:ignore */;
3858
+ }
3859
+ .q-slider__marker-labels--v-standard {
3860
+ left: 4px;
3861
+ }
3862
+ .q-slider__marker-labels--v-switched {
3863
+ right: 4px;
3864
+ }
3865
+ .q-slider__marker-labels--v-ltr {
3866
+ transform: translateY(-50%) /* rtl:ignore */;
3867
+ }
3868
+ .q-slider__marker-labels--v-rtl {
3869
+ transform: translateY(50%) /* rtl:ignore */;
3870
+ }
3871
+ .q-slider__thumb {
3872
+ z-index: 1;
3828
3873
  outline: 0;
3874
+ color: var(--q-primary);
3875
+ transition: transform 0.18s ease-out, fill 0.18s ease-out, stroke 0.18s ease-out;
3829
3876
  }
3830
- .q-slider__thumb-container--h {
3877
+ .q-slider__thumb--h {
3831
3878
  top: 50%;
3832
- margin-top: -10px;
3833
- transform: translateX(-10px) /* rtl:ignore */;
3834
3879
  will-change: left;
3835
3880
  }
3836
- .q-slider__thumb-container--v {
3837
- left: 50%;
3838
- margin-left: -10px;
3839
- transform: translateY(-10px);
3881
+ .q-slider__thumb--h-ltr {
3882
+ transform: scale(1) translate(-50%, -50%) /* rtl:ignore */;
3883
+ }
3884
+ .q-slider__thumb--h-rtl {
3885
+ transform: scale(1) translate(50%, -50%) /* rtl:ignore */;
3886
+ }
3887
+ .q-slider__thumb--v {
3888
+ left: 50% /* rtl:ignore */;
3840
3889
  will-change: top;
3841
3890
  }
3842
- .q-slider__thumb {
3891
+ .q-slider__thumb--v-ltr {
3892
+ transform: scale(1) translate(-50%, -50%) /* rtl:ignore */;
3893
+ }
3894
+ .q-slider__thumb--v-rtl {
3895
+ transform: scale(1) translate(-50%, 50%) /* rtl:ignore */;
3896
+ }
3897
+ .q-slider__thumb-shape {
3843
3898
  top: 0;
3844
3899
  left: 0;
3845
- transform: scale(1);
3846
- transition: transform 0.18s ease-out, fill 0.18s ease-out, stroke 0.18s ease-out;
3847
3900
  stroke-width: 3.5;
3848
3901
  stroke: currentColor;
3902
+ transition: transform 0.28s;
3849
3903
  }
3850
- .q-slider__thumb path {
3904
+ .q-slider__thumb-shape path {
3851
3905
  stroke: currentColor;
3852
3906
  fill: currentColor;
3853
3907
  }
3854
3908
  .q-slider__focus-ring {
3855
- width: 20px;
3856
- height: 20px;
3857
- transition: transform 266.67ms ease-out, opacity 266.67ms ease-out, background-color 266.67ms ease-out;
3858
3909
  border-radius: 50%;
3859
3910
  opacity: 0;
3911
+ transition: transform 266.67ms ease-out, opacity 266.67ms ease-out, background-color 266.67ms ease-out;
3860
3912
  transition-delay: 0.14s;
3861
3913
  }
3862
- .q-slider__arrow {
3863
- position: absolute;
3914
+ .q-slider__pin {
3915
+ opacity: 0;
3916
+ white-space: nowrap;
3917
+ transition: opacity 0.28s ease-out;
3918
+ transition-delay: 0.14s;
3919
+ }
3920
+ .q-slider__pin:before {
3921
+ content: "";
3864
3922
  width: 0;
3865
3923
  height: 0;
3866
- transform-origin: 50% 50%;
3867
- transition: transform 100ms ease-out;
3924
+ position: absolute;
3868
3925
  }
3869
- .q-slider__arrow--h {
3870
- top: 19px;
3871
- left: 4px;
3872
- border-top: 6px solid currentColor;
3926
+ .q-slider__pin--h:before {
3873
3927
  border-left: 6px solid transparent;
3874
3928
  border-right: 6px solid transparent;
3875
- transform: scale(0) translateY(0);
3929
+ left: 50%;
3930
+ transform: translateX(-50%);
3876
3931
  }
3877
- .q-slider__arrow--v {
3878
- top: 4px;
3879
- left: 15px;
3932
+ .q-slider__pin--h-standard {
3933
+ bottom: 100%;
3934
+ }
3935
+ .q-slider__pin--h-standard:before {
3936
+ bottom: 2px;
3937
+ border-top: 6px solid currentColor;
3938
+ }
3939
+ .q-slider__pin--h-switched {
3940
+ top: 100%;
3941
+ }
3942
+ .q-slider__pin--h-switched:before {
3943
+ top: 2px;
3944
+ border-bottom: 6px solid currentColor;
3945
+ }
3946
+ .q-slider__pin--v {
3947
+ top: 0;
3948
+ }
3949
+ .q-slider__pin--v:before {
3950
+ top: 50%;
3951
+ transform: translateY(-50%);
3880
3952
  border-top: 6px solid transparent;
3881
3953
  border-bottom: 6px solid transparent;
3954
+ }
3955
+ .q-slider__pin--v-standard {
3956
+ left: 100%;
3957
+ }
3958
+ .q-slider__pin--v-standard:before {
3959
+ left: 2px;
3882
3960
  border-right: 6px solid currentColor;
3883
- transform: scale(0) translateX(-20px);
3884
3961
  }
3885
- .q-slider__pin {
3886
- transition: transform 100ms ease-out;
3962
+ .q-slider__pin--v-switched {
3963
+ right: 100%;
3964
+ }
3965
+ .q-slider__pin--v-switched:before {
3966
+ right: 2px;
3967
+ border-left: 6px solid currentColor;
3968
+ }
3969
+ .q-slider__label {
3887
3970
  z-index: 1;
3888
3971
  white-space: nowrap;
3972
+ position: absolute;
3889
3973
  }
3890
- .q-slider__pin--h {
3891
- bottom: 0;
3892
- right: 0;
3893
- transform: scale(0) translateY(0);
3894
- will-change: left;
3974
+ .q-slider__label--h {
3975
+ left: 50%;
3976
+ transform: translateX(-50%);
3895
3977
  }
3896
- .q-slider__pin--v {
3978
+ .q-slider__label--h-standard {
3979
+ bottom: 7px;
3980
+ }
3981
+ .q-slider__label--h-switched {
3982
+ top: 7px;
3983
+ }
3984
+ .q-slider__label--v {
3897
3985
  top: 50%;
3898
- left: 20px;
3899
- height: 0;
3900
- transform: scale(0) translateX(-20px);
3901
- will-change: top;
3902
- transform-origin: left center;
3986
+ transform: translateY(-50%);
3903
3987
  }
3904
- .q-slider__pin-text-container {
3988
+ .q-slider__label--v-standard {
3989
+ left: 7px;
3990
+ }
3991
+ .q-slider__label--v-switched {
3992
+ right: 7px;
3993
+ }
3994
+ .q-slider__text-container {
3905
3995
  min-height: 25px;
3906
3996
  padding: 2px 8px;
3907
3997
  border-radius: 4px;
@@ -3909,93 +3999,73 @@ body.platform-ios:not(.native-mobile) .q-dialog__inner--top .q-select__dialog--f
3909
3999
  position: relative;
3910
4000
  text-align: center;
3911
4001
  }
3912
- .q-slider__pin-text-container--h {
3913
- right: -50%;
3914
- }
3915
- .q-slider__pin-text-container--v {
3916
- transform: translateY(-50%);
3917
- }
3918
- .q-slider__pin-text {
4002
+ .q-slider__text {
3919
4003
  color: #fff;
3920
4004
  font-size: 12px;
3921
4005
  }
3922
- .q-slider--editable {
3923
- cursor: -webkit-grab;
3924
- cursor: grab;
3925
- }
3926
- .q-slider--no-value .q-slider__thumb, .q-slider--no-value .q-slider__track {
4006
+ .q-slider--no-value .q-slider__thumb,
4007
+ .q-slider--no-value .q-slider__inner,
4008
+ .q-slider--no-value .q-slider__selection {
3927
4009
  visibility: hidden;
3928
4010
  }
3929
4011
  .q-slider--focus .q-slider__thumb {
3930
4012
  transform: scale(1);
3931
4013
  }
3932
- .q-slider--focus .q-slider__focus-ring, body.desktop .q-slider.q-slider--editable:hover .q-slider__focus-ring {
4014
+ .q-slider--focus .q-slider__focus-ring, body.desktop .q-slider.q-slider--editable .q-slider__track-container:hover .q-slider__focus-ring {
3933
4015
  background: currentColor;
3934
4016
  transform: scale3d(1.55, 1.55, 1);
3935
4017
  opacity: 0.25;
3936
4018
  }
3937
- .q-slider--focus .q-slider__thumb, .q-slider--focus .q-slider__track, body.desktop .q-slider.q-slider--editable:hover .q-slider__thumb, body.desktop .q-slider.q-slider--editable:hover .q-slider__track {
4019
+ .q-slider--focus .q-slider__thumb,
4020
+ .q-slider--focus .q-slider__inner,
4021
+ .q-slider--focus .q-slider__selection, body.desktop .q-slider.q-slider--editable .q-slider__track-container:hover .q-slider__thumb,
4022
+ body.desktop .q-slider.q-slider--editable .q-slider__track-container:hover .q-slider__inner,
4023
+ body.desktop .q-slider.q-slider--editable .q-slider__track-container:hover .q-slider__selection {
3938
4024
  visibility: visible;
3939
4025
  }
3940
- .q-slider--inactive .q-slider__thumb-container--h {
4026
+ .q-slider--inactive .q-slider__thumb--h {
3941
4027
  transition: left 0.28s, right 0.28s;
3942
4028
  }
3943
- .q-slider--inactive .q-slider__thumb-container--v {
4029
+ .q-slider--inactive .q-slider__thumb--v {
3944
4030
  transition: top 0.28s, bottom 0.28s;
3945
4031
  }
3946
- .q-slider--inactive .q-slider__track--h {
3947
- transition: width 0.28s, left 0.28s, right 0.28s;
4032
+ .q-slider--inactive .q-slider__selection {
4033
+ transition: width 0.28s, left 0.28s, right 0.28s, height 0.28s, top 0.28s, bottom 0.28s;
3948
4034
  }
3949
- .q-slider--inactive .q-slider__track--v {
3950
- transition: height 0.28s, top 0.28s, bottom 0.28s;
4035
+ .q-slider--inactive .q-slider__text-container {
4036
+ transition: transform 0.28s;
3951
4037
  }
3952
4038
  .q-slider--active {
3953
4039
  cursor: -webkit-grabbing;
3954
4040
  cursor: grabbing;
3955
4041
  }
3956
- .q-slider--active .q-slider__thumb {
4042
+ .q-slider--active .q-slider__thumb-shape {
3957
4043
  transform: scale(1.5);
3958
4044
  }
3959
- .q-slider--active .q-slider__focus-ring, .q-slider--active.q-slider--label .q-slider__thumb {
4045
+ .q-slider--active .q-slider__focus-ring, .q-slider--active.q-slider--label .q-slider__thumb-shape {
3960
4046
  transform: scale(0) !important;
3961
4047
  }
3962
- body.desktop .q-slider.q-slider--enabled:hover .q-slider__pin--h,
3963
- body.desktop .q-slider.q-slider--enabled:hover .q-slider__arrow--h {
3964
- transform: scale(1) translateY(-25px);
3965
- }
3966
- body.desktop .q-slider.q-slider--enabled:hover .q-slider__pin--v,
3967
- body.desktop .q-slider.q-slider--enabled:hover .q-slider__arrow--v {
3968
- transform: scale(1) translateX(5px);
3969
- }
3970
- .q-slider--label.q-slider--active .q-slider__pin--h,
3971
- .q-slider--label.q-slider--active .q-slider__arrow--h, .q-slider--label .q-slider--focus .q-slider__pin--h,
3972
- .q-slider--label .q-slider--focus .q-slider__arrow--h, .q-slider--label.q-slider--label-always .q-slider__pin--h,
3973
- .q-slider--label.q-slider--label-always .q-slider__arrow--h {
3974
- transform: scale(1) translateY(-25px);
3975
- }
3976
- .q-slider--label.q-slider--active .q-slider__pin--v,
3977
- .q-slider--label.q-slider--active .q-slider__arrow--v, .q-slider--label .q-slider--focus .q-slider__pin--v,
3978
- .q-slider--label .q-slider--focus .q-slider__arrow--v, .q-slider--label.q-slider--label-always .q-slider__pin--v,
3979
- .q-slider--label.q-slider--label-always .q-slider__arrow--v {
3980
- transform: scale(1) translateX(5px);
4048
+ body.desktop .q-slider.q-slider--enabled .q-slider__track-container:hover .q-slider__pin {
4049
+ opacity: 1;
3981
4050
  }
3982
- .q-slider--dark .q-slider__track-container {
3983
- background: rgba(255, 255, 255, 0.3);
4051
+ .q-slider--label.q-slider--active .q-slider__pin,
4052
+ .q-slider--label .q-slider--focus .q-slider__pin, .q-slider--label.q-slider--label-always .q-slider__pin {
4053
+ opacity: 1;
3984
4054
  }
3985
- .q-slider--dark .q-slider__track-markers {
3986
- color: #fff;
4055
+ .q-slider--dark .q-slider__track {
4056
+ background: rgba(255, 255, 255, 0.1);
3987
4057
  }
3988
- .q-slider--reversed .q-slider__thumb-container--h {
3989
- transform: translateX(10px) /* rtl:ignore */;
4058
+ .q-slider--dark .q-slider__inner {
4059
+ background: rgba(255, 255, 255, 0.1);
3990
4060
  }
3991
- .q-slider--reversed .q-slider__thumb-container--v {
3992
- transform: translateY(10px);
4061
+ .q-slider--dark .q-slider__markers {
4062
+ color: rgba(255, 255, 255, 0.3);
3993
4063
  }
3994
- .q-slider--dense--h {
3995
- height: 20px;
4064
+ .q-slider--dense .q-slider__track-container--h {
4065
+ padding: 6px 0;
3996
4066
  }
3997
- .q-slider--dense--v {
3998
- width: 20px;
4067
+ .q-slider--dense .q-slider__track-container--v {
4068
+ padding: 0 6px;
3999
4069
  }
4000
4070
 
4001
4071
  .q-space {
@@ -4208,6 +4278,36 @@ body.desktop .q-slider.q-slider--enabled:hover .q-slider__arrow--v {
4208
4278
  .q-stepper__header--alternative-labels .q-stepper__label:before, .q-stepper__header--alternative-labels .q-stepper__label:after {
4209
4279
  display: none;
4210
4280
  }
4281
+ .q-stepper__header--contracted {
4282
+ min-height: 72px;
4283
+ }
4284
+ .q-stepper__header--contracted.q-stepper__header--alternative-labels .q-stepper__tab {
4285
+ min-height: 72px;
4286
+ }
4287
+ .q-stepper__header--contracted.q-stepper__header--alternative-labels .q-stepper__tab:first-child {
4288
+ align-items: flex-start;
4289
+ }
4290
+ .q-stepper__header--contracted.q-stepper__header--alternative-labels .q-stepper__tab:last-child {
4291
+ align-items: flex-end;
4292
+ }
4293
+ .q-stepper__header--contracted .q-stepper__tab {
4294
+ padding: 24px 0;
4295
+ }
4296
+ .q-stepper__header--contracted .q-stepper__tab:first-child .q-stepper__dot {
4297
+ transform: translateX(24px);
4298
+ }
4299
+ .q-stepper__header--contracted .q-stepper__tab:last-child .q-stepper__dot {
4300
+ transform: translateX(-24px);
4301
+ }
4302
+ .q-stepper__header--contracted .q-stepper__tab:not(:last-child) .q-stepper__dot:after {
4303
+ display: block !important;
4304
+ }
4305
+ .q-stepper__header--contracted .q-stepper__dot {
4306
+ margin: 0;
4307
+ }
4308
+ .q-stepper__header--contracted .q-stepper__label {
4309
+ display: none;
4310
+ }
4211
4311
  .q-stepper__nav {
4212
4312
  padding-top: 24px;
4213
4313
  }
@@ -4314,36 +4414,6 @@ body.desktop .q-slider.q-slider--enabled:hover .q-slider__arrow--v {
4314
4414
  .q-stepper--dark .q-stepper__tab--disabled .q-stepper__label {
4315
4415
  color: rgba(255, 255, 255, 0.54);
4316
4416
  }
4317
- .q-stepper--contracted .q-stepper__header {
4318
- min-height: 72px;
4319
- }
4320
- .q-stepper--contracted .q-stepper__header--alternative-labels .q-stepper__tab {
4321
- min-height: 72px;
4322
- }
4323
- .q-stepper--contracted .q-stepper__header--alternative-labels .q-stepper__tab:first-child {
4324
- align-items: flex-start;
4325
- }
4326
- .q-stepper--contracted .q-stepper__header--alternative-labels .q-stepper__tab:last-child {
4327
- align-items: flex-end;
4328
- }
4329
- .q-stepper--contracted .q-stepper__header .q-stepper__tab {
4330
- padding: 24px 0;
4331
- }
4332
- .q-stepper--contracted .q-stepper__header .q-stepper__tab:first-child .q-stepper__dot {
4333
- transform: translateX(24px);
4334
- }
4335
- .q-stepper--contracted .q-stepper__header .q-stepper__tab:last-child .q-stepper__dot {
4336
- transform: translateX(-24px);
4337
- }
4338
- .q-stepper--contracted .q-stepper__tab:not(:last-child) .q-stepper__dot:after {
4339
- display: block !important;
4340
- }
4341
- .q-stepper--contracted .q-stepper__dot {
4342
- margin: 0;
4343
- }
4344
- .q-stepper--contracted .q-stepper__label {
4345
- display: none;
4346
- }
4347
4417
 
4348
4418
  .q-tab-panels {
4349
4419
  background: #fff;
@@ -5880,6 +5950,7 @@ img.responsive {
5880
5950
  }
5881
5951
  .q-virtual-scroll__content {
5882
5952
  outline: none;
5953
+ contain: content;
5883
5954
  }
5884
5955
  .q-virtual-scroll__content * {
5885
5956
  overflow-anchor: none;
@@ -10165,6 +10236,10 @@ body.q-ios-padding .q-notifications__list--center, body.q-ios-padding .q-notific
10165
10236
  outline: 0;
10166
10237
  text-decoration: none;
10167
10238
  }
10239
+ .q-link--focusable:focus-visible {
10240
+ -webkit-text-decoration: underline dashed currentColor 1px;
10241
+ text-decoration: underline dashed currentColor 1px;
10242
+ }
10168
10243
 
10169
10244
  body.electron .q-electron-drag {
10170
10245
  -webkit-user-select: none;
@@ -10368,6 +10443,12 @@ img.responsive {
10368
10443
  max-height: 100vh;
10369
10444
  }
10370
10445
 
10446
+ body.q-ios-padding .fullscreen {
10447
+ padding-top: 20px !important;
10448
+ padding-top: env(safe-area-inset-top) !important;
10449
+ padding-bottom: env(safe-area-inset-bottom) !important;
10450
+ }
10451
+
10371
10452
  .absolute-full, .fullscreen, .fixed-full {
10372
10453
  top: 0;
10373
10454
  right: 0;