quasar 2.3.4 → 2.4.3

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 (238) hide show
  1. package/dist/api/BottomSheet.json +1 -1
  2. package/dist/api/Loading.json +2 -6
  3. package/dist/api/Notify.json +5 -5
  4. package/dist/api/QAvatar.json +1 -1
  5. package/dist/api/QBreadcrumbsEl.json +32 -11
  6. package/dist/api/QBtn.json +32 -16
  7. package/dist/api/QBtnDropdown.json +33 -17
  8. package/dist/api/QBtnToggle.json +4 -1
  9. package/dist/api/QCarousel.json +4 -4
  10. package/dist/api/QChatMessage.json +4 -12
  11. package/dist/api/QChip.json +4 -4
  12. package/dist/api/QExpansionItem.json +34 -13
  13. package/dist/api/QFab.json +32 -2
  14. package/dist/api/QFabAction.json +9 -1
  15. package/dist/api/QField.json +1 -0
  16. package/dist/api/QFile.json +1 -0
  17. package/dist/api/QInput.json +1 -0
  18. package/dist/api/QItem.json +31 -10
  19. package/dist/api/QLinearProgress.json +1 -1
  20. package/dist/api/QOptionGroup.json +74 -4
  21. package/dist/api/QPagination.json +4 -4
  22. package/dist/api/QPullToRefresh.json +1 -1
  23. package/dist/api/QRange.json +592 -107
  24. package/dist/api/QRating.json +3 -3
  25. package/dist/api/QRouteTab.json +32 -12
  26. package/dist/api/QSelect.json +4 -7
  27. package/dist/api/QSlider.json +504 -39
  28. package/dist/api/QStep.json +4 -4
  29. package/dist/api/QStepper.json +4 -4
  30. package/dist/api/QTab.json +1 -1
  31. package/dist/api/QTable.json +4 -4
  32. package/dist/api/QTimelineEntry.json +1 -1
  33. package/dist/api/QToggle.json +1 -1
  34. package/dist/api/QTree.json +1 -1
  35. package/dist/api/QUploader.json +16 -2
  36. package/dist/api/QVideo.json +11 -1
  37. package/dist/icon-set/bootstrap-icons.umd.prod.js +1 -1
  38. package/dist/icon-set/eva-icons.umd.prod.js +1 -1
  39. package/dist/icon-set/fontawesome-v5-pro.umd.prod.js +1 -1
  40. package/dist/icon-set/fontawesome-v5.umd.prod.js +1 -1
  41. package/dist/icon-set/ionicons-v4.umd.prod.js +1 -1
  42. package/dist/icon-set/line-awesome.umd.prod.js +1 -1
  43. package/dist/icon-set/material-icons-outlined.umd.prod.js +1 -1
  44. package/dist/icon-set/material-icons-round.umd.prod.js +1 -1
  45. package/dist/icon-set/material-icons-sharp.umd.prod.js +1 -1
  46. package/dist/icon-set/material-icons.umd.prod.js +1 -1
  47. package/dist/icon-set/mdi-v3.umd.prod.js +1 -1
  48. package/dist/icon-set/mdi-v4.umd.prod.js +1 -1
  49. package/dist/icon-set/mdi-v5.umd.prod.js +1 -1
  50. package/dist/icon-set/mdi-v6.umd.prod.js +1 -1
  51. package/dist/icon-set/svg-bootstrap-icons.umd.prod.js +1 -1
  52. package/dist/icon-set/svg-eva-icons.umd.prod.js +1 -1
  53. package/dist/icon-set/svg-fontawesome-v5.umd.prod.js +1 -1
  54. package/dist/icon-set/svg-ionicons-v4.umd.prod.js +1 -1
  55. package/dist/icon-set/svg-ionicons-v5.umd.prod.js +1 -1
  56. package/dist/icon-set/svg-ionicons-v6.umd.prod.js +1 -1
  57. package/dist/icon-set/svg-line-awesome.umd.prod.js +1 -1
  58. package/dist/icon-set/svg-material-icons-outlined.umd.prod.js +1 -1
  59. package/dist/icon-set/svg-material-icons-round.umd.prod.js +1 -1
  60. package/dist/icon-set/svg-material-icons-sharp.umd.prod.js +1 -1
  61. package/dist/icon-set/svg-material-icons.umd.prod.js +1 -1
  62. package/dist/icon-set/svg-mdi-v4.umd.prod.js +1 -1
  63. package/dist/icon-set/svg-mdi-v5.umd.prod.js +1 -1
  64. package/dist/icon-set/svg-mdi-v6.umd.prod.js +1 -1
  65. package/dist/icon-set/svg-themify.umd.prod.js +1 -1
  66. package/dist/icon-set/themify.umd.prod.js +1 -1
  67. package/dist/lang/ar.umd.prod.js +1 -1
  68. package/dist/lang/az-Latn.umd.prod.js +1 -1
  69. package/dist/lang/bg.umd.prod.js +1 -1
  70. package/dist/lang/bn.umd.prod.js +1 -1
  71. package/dist/lang/ca.umd.prod.js +1 -1
  72. package/dist/lang/cs.umd.prod.js +1 -1
  73. package/dist/lang/da.umd.prod.js +1 -1
  74. package/dist/lang/de.umd.prod.js +1 -1
  75. package/dist/lang/el.umd.prod.js +1 -1
  76. package/dist/lang/en-GB.umd.prod.js +1 -1
  77. package/dist/lang/en-US.umd.prod.js +1 -1
  78. package/dist/lang/eo.umd.prod.js +1 -1
  79. package/dist/lang/es.umd.prod.js +1 -1
  80. package/dist/lang/et.umd.prod.js +1 -1
  81. package/dist/lang/fa-IR.umd.prod.js +1 -1
  82. package/dist/lang/fa.umd.prod.js +1 -1
  83. package/dist/lang/fi.umd.prod.js +1 -1
  84. package/dist/lang/fr.umd.prod.js +1 -1
  85. package/dist/lang/gn.umd.prod.js +1 -1
  86. package/dist/lang/he.umd.prod.js +1 -1
  87. package/dist/lang/hr.umd.prod.js +1 -1
  88. package/dist/lang/hu.umd.prod.js +1 -1
  89. package/dist/lang/id.umd.prod.js +1 -1
  90. package/dist/lang/is.umd.prod.js +1 -1
  91. package/dist/lang/it.umd.prod.js +1 -1
  92. package/dist/lang/ja.umd.prod.js +1 -1
  93. package/dist/lang/km.umd.prod.js +1 -1
  94. package/dist/lang/ko-KR.umd.prod.js +1 -1
  95. package/dist/lang/kur-CKB.umd.prod.js +1 -1
  96. package/dist/lang/lt.umd.prod.js +1 -1
  97. package/dist/lang/lu.umd.prod.js +1 -1
  98. package/dist/lang/lv.umd.prod.js +1 -1
  99. package/dist/lang/ml.umd.prod.js +1 -1
  100. package/dist/lang/ms.umd.prod.js +1 -1
  101. package/dist/lang/nb-NO.umd.prod.js +1 -1
  102. package/dist/lang/nl.umd.prod.js +1 -1
  103. package/dist/lang/pl.umd.prod.js +1 -1
  104. package/dist/lang/pt-BR.umd.prod.js +1 -1
  105. package/dist/lang/pt.umd.prod.js +1 -1
  106. package/dist/lang/ro.umd.prod.js +1 -1
  107. package/dist/lang/ru.umd.prod.js +1 -1
  108. package/dist/lang/sk.umd.prod.js +1 -1
  109. package/dist/lang/sl.umd.prod.js +1 -1
  110. package/dist/lang/sr-CYR.umd.prod.js +1 -1
  111. package/dist/lang/sr.umd.prod.js +1 -1
  112. package/dist/lang/sv.umd.prod.js +1 -1
  113. package/dist/lang/ta.umd.prod.js +1 -1
  114. package/dist/lang/th.umd.prod.js +1 -1
  115. package/dist/lang/tr.umd.prod.js +1 -1
  116. package/dist/lang/ug.umd.prod.js +1 -1
  117. package/dist/lang/uk.umd.prod.js +1 -1
  118. package/dist/lang/vi.umd.prod.js +1 -1
  119. package/dist/lang/zh-CN.umd.prod.js +1 -1
  120. package/dist/lang/zh-TW.umd.prod.js +1 -1
  121. package/dist/quasar.cjs.prod.js +2 -2
  122. package/dist/quasar.css +277 -196
  123. package/dist/quasar.esm.prod.js +2 -2
  124. package/dist/quasar.prod.css +1 -1
  125. package/dist/quasar.rtl.css +344 -275
  126. package/dist/quasar.rtl.prod.css +1 -1
  127. package/dist/quasar.sass +243 -189
  128. package/dist/quasar.umd.js +16670 -16294
  129. package/dist/quasar.umd.prod.js +2 -2
  130. package/dist/ssr-directives/Morph.js +1 -1
  131. package/dist/transforms/loader-asset-urls.json +20 -0
  132. package/dist/types/api/slider.d.ts +46 -0
  133. package/dist/types/api/validation.d.ts +4 -0
  134. package/dist/types/api.d.ts +2 -0
  135. package/dist/types/composables.d.ts +3 -3
  136. package/dist/types/index.d.ts +599 -121
  137. package/dist/types/utils/date.d.ts +2 -1
  138. package/dist/vetur/quasar-attributes.json +254 -82
  139. package/dist/vetur/quasar-tags.json +61 -18
  140. package/dist/web-types/web-types.json +635 -197
  141. package/package.json +1 -1
  142. package/src/api.extends.json +1 -2
  143. package/src/components/breadcrumbs/QBreadcrumbs.js +7 -2
  144. package/src/components/breadcrumbs/QBreadcrumbs.sass +0 -3
  145. package/src/components/breadcrumbs/QBreadcrumbsEl.js +14 -8
  146. package/src/components/btn/QBtn.js +5 -5
  147. package/src/components/btn/use-btn.js +21 -21
  148. package/src/components/btn/use-btn.json +22 -13
  149. package/src/components/btn-toggle/QBtnToggle.json +3 -0
  150. package/src/components/checkbox/use-checkbox.js +1 -1
  151. package/src/components/color/QColor.js +32 -26
  152. package/src/components/color/QColor.sass +10 -23
  153. package/src/components/date/QDate.sass +2 -0
  154. package/src/components/dialog/QDialog.js +7 -5
  155. package/src/components/drawer/QDrawer.js +18 -15
  156. package/src/components/editor/QEditor.js +1 -1
  157. package/src/components/editor/QEditor.sass +10 -1
  158. package/src/components/expansion-item/QExpansionItem.js +4 -1
  159. package/src/components/fab/QFab.js +18 -12
  160. package/src/components/fab/QFab.json +33 -0
  161. package/src/components/fab/QFab.sass +1 -1
  162. package/src/components/fab/QFabAction.js +14 -7
  163. package/src/components/fab/QFabAction.json +10 -0
  164. package/src/components/file/QFile.js +12 -5
  165. package/src/components/file/QFile.sass +4 -2
  166. package/src/components/footer/QFooter.js +1 -1
  167. package/src/components/header/QHeader.js +1 -1
  168. package/src/components/icon/QIcon.js +1 -1
  169. package/src/components/infinite-scroll/QInfiniteScroll.js +4 -5
  170. package/src/components/item/QItem.js +2 -3
  171. package/src/components/linear-progress/QLinearProgress.json +1 -1
  172. package/src/components/menu/QMenu.js +6 -2
  173. package/src/components/option-group/QOptionGroup.js +3 -0
  174. package/src/components/option-group/QOptionGroup.json +48 -2
  175. package/src/components/parallax/QParallax.js +4 -2
  176. package/src/components/popup-edit/QPopupEdit.js +2 -5
  177. package/src/components/radio/QRadio.js +2 -7
  178. package/src/components/range/QRange.js +132 -273
  179. package/src/components/range/QRange.json +11 -121
  180. package/src/components/rating/QRating.json +3 -3
  181. package/src/components/resize-observer/QResizeObserver.js +11 -10
  182. package/src/components/scroll-area/QScrollArea.js +8 -2
  183. package/src/components/scroll-observer/QScrollObserver.js +2 -0
  184. package/src/components/select/QSelect.js +4 -1
  185. package/src/components/slider/QSlider.js +61 -137
  186. package/src/components/slider/QSlider.json +1 -121
  187. package/src/components/slider/QSlider.sass +203 -138
  188. package/src/components/slider/use-slider.js +454 -107
  189. package/src/components/slider/use-slider.json +546 -0
  190. package/src/components/stepper/QStepper.js +3 -3
  191. package/src/components/stepper/QStepper.sass +24 -26
  192. package/src/components/table/QTable.js +26 -46
  193. package/src/components/tabs/QRouteTab.js +1 -2
  194. package/src/components/tabs/QRouteTab.json +0 -7
  195. package/src/components/tabs/QTabs.js +91 -24
  196. package/src/components/tabs/use-tab.js +26 -13
  197. package/src/components/tooltip/QTooltip.js +1 -2
  198. package/src/components/tree/QTree.js +14 -12
  199. package/src/components/uploader/QUploader.json +14 -2
  200. package/src/components/uploader/uploader-core.js +16 -9
  201. package/src/components/video/QVideo.js +4 -1
  202. package/src/components/video/QVideo.json +12 -1
  203. package/src/components/virtual-scroll/QVirtualScroll.sass +1 -0
  204. package/src/components/virtual-scroll/use-virtual-scroll.js +30 -17
  205. package/src/composables/private/use-field.js +18 -20
  206. package/src/composables/private/use-file.js +20 -5
  207. package/src/composables/private/use-form.js +2 -3
  208. package/src/composables/private/use-fullscreen.js +15 -4
  209. package/src/composables/private/use-model-toggle.js +1 -1
  210. package/src/composables/private/use-portal.js +9 -7
  211. package/src/composables/private/use-router-link.js +44 -23
  212. package/src/composables/private/use-router-link.json +26 -10
  213. package/src/composables/private/use-split-attrs.js +4 -4
  214. package/src/composables/private/use-tick.js +7 -14
  215. package/src/composables/private/use-validate.js +21 -15
  216. package/src/composables/private/use-validate.json +1 -0
  217. package/src/css/core/helpers.sass +3 -0
  218. package/src/css/core/positioning.sass +5 -0
  219. package/src/css/variables.sass +4 -6
  220. package/src/directives/ScrollFire.js +1 -0
  221. package/src/icon-set.js +2 -4
  222. package/src/plugins/AppFullscreen.js +70 -53
  223. package/src/plugins/AppVisibility.js +2 -3
  224. package/src/plugins/BottomSheet.js +3 -5
  225. package/src/plugins/Dialog.js +3 -5
  226. package/src/plugins/LoadingBar.js +17 -18
  227. package/src/plugins/Notify.js +296 -295
  228. package/src/plugins/Platform.js +14 -14
  229. package/src/utils/clone.js +53 -4
  230. package/src/utils/date.js +4 -4
  231. package/src/utils/dom.js +2 -2
  232. package/src/utils/open-url.js +2 -2
  233. package/src/utils/patterns.js +1 -0
  234. package/src/utils/private/define-reactive-plugin.js +10 -8
  235. package/src/utils/private/focus-manager.js +8 -10
  236. package/src/utils/private/global-dialog.js +6 -8
  237. package/src/utils/private/inject-obj-prop.js +13 -0
  238. package/src/utils/private/is.js +2 -2
package/dist/quasar.sass CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Quasar Framework v2.3.4
2
+ * Quasar Framework v2.4.3
3
3
  * (c) 2015-present Razvan Stoenescu
4
4
  * Released under the MIT License.
5
5
  */
@@ -77,16 +77,14 @@ $body-font-size : 14px !default
77
77
  $body-line-height : 1.5 !default
78
78
  $flex-gutter: ('none': 0, 'xs': $flex-gutter-xs, 'sm': $flex-gutter-sm, 'md': $flex-gutter-md, 'lg': $flex-gutter-lg, 'xl': $flex-gutter-xl) !default
79
79
  $sizes: ('xs': 0, 'sm': ($breakpoint-xs + 1), 'md': ($breakpoint-sm + 1), 'lg': ($breakpoint-md + 1), 'xl': ($breakpoint-lg + 1)) !default
80
- $breakpoint-xs-min: 0 !default
81
- $breakpoint-xs-max: $breakpoint-xs !default
80
+ $breakpoint-xs-max: (map-get($sizes, "sm") - 0.02) !default
82
81
  $breakpoint-sm-min: map-get($sizes, "sm") !default
83
- $breakpoint-sm-max: $breakpoint-sm !default
82
+ $breakpoint-sm-max: (map-get($sizes, "md") - 0.02) !default
84
83
  $breakpoint-md-min: map-get($sizes, "md") !default
85
- $breakpoint-md-max: $breakpoint-md !default
84
+ $breakpoint-md-max: (map-get($sizes, "lg") - 0.02) !default
86
85
  $breakpoint-lg-min: map-get($sizes, "lg") !default
87
- $breakpoint-lg-max: $breakpoint-lg !default
86
+ $breakpoint-lg-max: (map-get($sizes, "xl") - 0.02) !default
88
87
  $breakpoint-xl-min: map-get($sizes, "xl") !default
89
- $breakpoint-xl-max: 9999px !default
90
88
  $h1: (size: 6rem, line-height: 6rem, letter-spacing: -.01562em, weight: 300) !default
91
89
  $h2: (size: 3.75rem, line-height: 3.75rem, letter-spacing: -.00833em, weight: 300) !default
92
90
  $h3: (size: 3rem, line-height: 3.125rem, letter-spacing: normal, weight: 400) !default
@@ -822,8 +820,6 @@ input[type='search']::-webkit-search-decoration
822
820
  font-size: 125%
823
821
  &--with-label
824
822
  margin-right: 8px
825
- &--last a
826
- pointer-events: none
827
823
  [dir=rtl] .q-breadcrumbs__separator .q-icon
828
824
  transform: scaleX(-1) #{"/* rtl:ignore */"}
829
825
  .q-btn
@@ -1549,40 +1545,30 @@ body.desktop .q-chip--clickable:focus
1549
1545
  box-shadow: 0 0 0 1.5px #fff, inset 0 0 1px 1px rgba(0,0,0,.3), 0 0 1px 2px rgba(0,0,0,.4)
1550
1546
  border-radius: 50%
1551
1547
  transform: translate(-5px, -5px)
1552
- &__hue .q-slider__track-container
1548
+ &__hue .q-slider__track
1553
1549
  background: linear-gradient(to right, #f00 0%, #ff0 17%, #0f0 33%, #0ff 50%, #00f 67%, #f0f 83%, #f00 100%) !important
1554
1550
  opacity: 1
1555
- &__alpha .q-slider__track-container
1556
- color: #fff
1557
- opacity: 1
1558
- height: 8px
1559
- background-color: #fff !important
1560
- background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAAH0lEQVQoU2NkYGAwZkAFZ5G5jPRRgOYEVDeB3EBjBQBOZwTVugIGyAAAAABJRU5ErkJggg==') !important
1561
- &:after
1551
+ &__alpha
1552
+ .q-slider__track-container
1553
+ padding-top: 0
1554
+ .q-slider__track:before
1562
1555
  content: ''
1563
1556
  position: absolute
1564
1557
  top: 0
1565
1558
  right: 0
1566
1559
  bottom: 0
1567
1560
  left: 0
1561
+ border-radius: inherit
1568
1562
  background: linear-gradient(90deg, rgba(255,255,255,0), $grey-7)
1569
1563
  &__sliders
1570
- padding: 4px 16px 16px
1571
- .q-slider__track-container
1572
- height: 10px
1573
- margin-top: -5px
1574
- .q-slider__track
1575
- display: none
1564
+ padding: 0 16px
1576
1565
  .q-slider__thumb
1566
+ color: $grey-9
1577
1567
  path
1578
1568
  stroke-width: 2px
1579
1569
  fill: transparent
1580
1570
  .q-slider--active path
1581
1571
  stroke-width: 3px
1582
- .q-slider
1583
- height: 16px
1584
- margin-top: 8px
1585
- color: $grey-9
1586
1572
 
1587
1573
  &__tune-tab
1588
1574
  .q-slider
@@ -1621,8 +1607,8 @@ body.desktop .q-chip--clickable:focus
1621
1607
  &--dark
1622
1608
  .q-color-picker__tune-tab input
1623
1609
  border: 1px solid rgba(#fff, .3)
1624
- .q-slider
1625
- color: $grey-5
1610
+ .q-slider__thumb
1611
+ color: $grey-1
1626
1612
  .q-date
1627
1613
  display: inline-flex
1628
1614
  box-shadow: $shadow-2
@@ -1705,6 +1691,8 @@ body.desktop .q-chip--clickable:focus
1705
1691
  > div
1706
1692
  line-height: 30px
1707
1693
  text-align: center
1694
+ > button
1695
+ line-height: 22px
1708
1696
  &--out
1709
1697
  opacity: .18
1710
1698
  &--fill
@@ -1952,7 +1940,9 @@ body.q-ios-padding .q-dialog__inner
1952
1940
  background-color: #fff
1953
1941
  &.disabled
1954
1942
  border-style: dashed
1955
- > div:first-child, &__toolbars-container, &__toolbars-container > div:first-child
1943
+ > div:first-child,
1944
+ &__toolbars-container,
1945
+ &__toolbars-container > div:first-child
1956
1946
  border-top-left-radius: inherit
1957
1947
  border-top-right-radius: inherit
1958
1948
  &__content
@@ -1962,6 +1952,7 @@ body.q-ios-padding .q-dialog__inner
1962
1952
  border-bottom-left-radius: inherit
1963
1953
  border-bottom-right-radius: inherit
1964
1954
  overflow: auto
1955
+ max-width: 100%
1965
1956
  pre
1966
1957
  white-space: pre-wrap
1967
1958
  hr
@@ -1976,6 +1967,8 @@ body.q-ios-padding .q-dialog__inner
1976
1967
  &__toolbar
1977
1968
  border-bottom: 1px solid $editor-border-color
1978
1969
  min-height: 32px
1970
+ &__toolbars-container
1971
+ max-width: 100%
1979
1972
  .q-btn
1980
1973
  margin: $editor-button-gutter
1981
1974
  &__toolbar-group
@@ -2182,7 +2175,6 @@ body.q-ios-padding .q-dialog__inner
2182
2175
  &--up, &--down
2183
2176
  left: 50%
2184
2177
  margin-left: -28px
2185
-
2186
2178
  &--opened
2187
2179
  opacity: 1
2188
2180
  transform: scale(1) translate(0, 0)
@@ -2633,8 +2625,10 @@ $field-transition-label-right-up: .324s cubic-bezier(.4,0,.2,1)
2633
2625
  &::-webkit-file-upload-button
2634
2626
  cursor: pointer
2635
2627
  &__filler
2636
- opacity: 0
2637
- pointer-events: none
2628
+ visibility: hidden
2629
+ width: 100%
2630
+ border: none
2631
+ padding: 0
2638
2632
  &__dnd
2639
2633
  outline: 1px dashed currentColor
2640
2634
  outline-offset: -4px
@@ -3483,195 +3477,249 @@ body.platform-ios
3483
3477
  cursor: pointer
3484
3478
  .q-slider
3485
3479
  position: relative
3486
- color: var(--q-primary)
3487
- outline: 0
3488
3480
  &--h
3489
3481
  width: 100%
3490
- height: 40px
3491
3482
  &--v
3492
- width: 40px
3493
3483
  height: 200px
3484
+ &--editable .q-slider__track-container
3485
+ cursor: grab
3494
3486
  &__track-container
3495
- background: rgba(0,0,0,.26)
3487
+ outline: 0
3496
3488
  &--h
3497
- top: 50%
3498
- margin-top: -1px
3499
3489
  width: 100%
3500
- height: 2px
3490
+ padding: 12px 0
3491
+ .q-slider__selection
3492
+ will-change: width, left
3501
3493
  &--v
3502
- left: 50%
3503
- margin-left: -1px
3504
3494
  height: 100%
3505
- width: 2px
3495
+ padding: 0 12px
3496
+ .q-slider__selection
3497
+ will-change: height, top
3506
3498
  &__track
3499
+ color: var(--q-primary)
3500
+ background: rgba(0,0,0,.1)
3501
+ border-radius: $generic-border-radius
3502
+ width: inherit
3503
+ height: inherit
3504
+ &__inner
3505
+ background: rgba(0,0,0,.1)
3506
+ border-radius: inherit
3507
+ width: 100%
3508
+ height: 100%
3509
+ &__selection
3507
3510
  background: currentColor
3508
- &--h
3509
- will-change: width, left
3510
- top: 0
3511
- bottom: 0
3512
- &--v
3513
- will-change: height, top
3514
- left: 0
3515
- right: 0
3516
- &__track-markers
3517
- color: #000
3518
- &--h
3519
- background-image: repeating-linear-gradient(to right, currentColor, currentColor 2px, rgba(255,255,255,0) 0, rgba(255,255,255,0))
3520
- &--v
3521
- background-image: repeating-linear-gradient(to top, currentColor, currentColor 2px, rgba(255,255,255,0) 0, rgba(255,255,255,0))
3511
+ border-radius: inherit
3512
+ width: 100%
3513
+ height: 100%
3514
+ &__markers
3515
+ color: rgba(0,0,0,.3)
3516
+ border-radius: inherit
3517
+ width: 100%
3518
+ height: 100%
3522
3519
  &:after
3523
3520
  content: ''
3524
3521
  position: absolute
3525
- right: 0
3526
- top: 0
3527
- bottom: 0
3528
- height: 2px
3529
- width: 2px
3530
3522
  background: currentColor
3531
- &__thumb-container
3532
- width: 20px
3533
- height: 20px
3523
+ &--h
3524
+ background-image: repeating-linear-gradient(to right, currentColor, currentColor 2px, rgba(255,255,255,0) 0, rgba(255,255,255,0))
3525
+ &:after
3526
+ height: 100%
3527
+ width: 2px
3528
+ top: 0
3529
+ right: 0
3530
+ &--v
3531
+ background-image: repeating-linear-gradient(to bottom, currentColor, currentColor 2px, rgba(255,255,255,0) 0, rgba(255,255,255,0))
3532
+ &:after
3533
+ width: 100%
3534
+ height: 2px
3535
+ left: 0
3536
+ bottom: 0
3537
+ &__marker-labels-container
3538
+ position: relative
3539
+ width: 100%
3540
+ height: 100%
3541
+ min-height: 24px
3542
+ min-width: 24px
3543
+ &__marker-labels
3544
+ position: absolute
3545
+ &--h
3546
+ &-standard
3547
+ top: 0
3548
+ &-switched
3549
+ bottom: 0
3550
+ &-ltr
3551
+ transform: translateX(-50%) #{"/* rtl:ignore */"}
3552
+ &-rtl
3553
+ transform: translateX(50%) #{"/* rtl:ignore */"}
3554
+ &--v
3555
+ &-standard
3556
+ left: 4px
3557
+ &-switched
3558
+ right: 4px
3559
+ &-ltr
3560
+ transform: translateY(-50%) #{"/* rtl:ignore */"}
3561
+ &-rtl
3562
+ transform: translateY(50%) #{"/* rtl:ignore */"}
3563
+ &__thumb
3564
+ z-index: 1
3534
3565
  outline: 0
3566
+ color: var(--q-primary)
3567
+ transition: transform .18s ease-out, fill .18s ease-out, stroke .18s ease-out
3568
+ &.q-slider--focus
3569
+ opacity: 1 !important
3535
3570
  &--h
3536
3571
  top: 50%
3537
- margin-top: -10px
3538
- transform: translateX(-10px) #{"/* rtl:ignore */"}
3539
3572
  will-change: left
3573
+ &-ltr
3574
+ transform: scale(1) translate(-50%,-50%) #{"/* rtl:ignore */"}
3575
+ &-rtl
3576
+ transform: scale(1) translate(50%,-50%) #{"/* rtl:ignore */"}
3540
3577
  &--v
3541
- left: 50%
3542
- margin-left: -10px
3543
- transform: translateY(-10px)
3578
+ left: 50% #{"/* rtl:ignore */"}
3544
3579
  will-change: top
3545
- &__thumb
3580
+ &-ltr
3581
+ transform: scale(1) translate(-50%,-50%) #{"/* rtl:ignore */"}
3582
+ &-rtl
3583
+ transform: scale(1) translate(-50%,50%) #{"/* rtl:ignore */"}
3584
+ &__thumb-shape
3546
3585
  top: 0
3547
3586
  left: 0
3548
- transform: scale(1)
3549
- transition: transform .18s ease-out, fill .18s ease-out, stroke .18s ease-out
3550
3587
  stroke-width: 3.5
3551
3588
  stroke: currentColor
3589
+ transition: transform .28s
3552
3590
  path
3553
3591
  stroke: currentColor
3554
3592
  fill: currentColor
3555
3593
  &__focus-ring
3556
- width: 20px
3557
- height: 20px
3558
- transition: transform 266.67ms ease-out, opacity 266.67ms ease-out, background-color 266.67ms ease-out
3559
3594
  border-radius: 50%
3560
3595
  opacity: 0
3596
+ transition: transform 266.67ms ease-out, opacity 266.67ms ease-out, background-color 266.67ms ease-out
3561
3597
  transition-delay: .14s
3562
- &__arrow
3563
- position: absolute
3564
- width: 0
3565
- height: 0
3566
- transform-origin: 50% 50%
3567
- transition: transform 100ms ease-out
3598
+ &__pin
3599
+ opacity: 0
3600
+ white-space: nowrap
3601
+ transition: opacity .28s ease-out
3602
+ transition-delay: .14s
3603
+ &:before
3604
+ content: ''
3605
+ width: 0
3606
+ height: 0
3607
+ position: absolute
3568
3608
  &--h
3569
- top: 19px
3570
- left: 4px
3571
- border-top: 6px solid currentColor
3572
- border-left: 6px solid transparent
3573
- border-right: 6px solid transparent
3574
- transform: scale(0) translateY(0)
3609
+ &:before
3610
+ border-left: 6px solid transparent
3611
+ border-right: 6px solid transparent
3612
+ left: 50%
3613
+ transform: translateX(-50%)
3614
+ &-standard
3615
+ bottom: 100%
3616
+ &:before
3617
+ bottom: 2px
3618
+ border-top: 6px solid currentColor
3619
+ &-switched
3620
+ top: 100%
3621
+ &:before
3622
+ top: 2px
3623
+ border-bottom: 6px solid currentColor
3575
3624
  &--v
3576
- top: 4px
3577
- left: 15px
3578
- border-top: 6px solid transparent
3579
- border-bottom: 6px solid transparent
3580
- border-right: 6px solid currentColor
3581
- transform: scale(0) translateX(-20px)
3582
- &__pin
3583
- transition: transform 100ms ease-out
3625
+ top: 0
3626
+ &:before
3627
+ top: 50%
3628
+ transform: translateY(-50%)
3629
+ border-top: 6px solid transparent
3630
+ border-bottom: 6px solid transparent
3631
+ &-standard
3632
+ left: 100%
3633
+ &:before
3634
+ left: 2px
3635
+ border-right: 6px solid currentColor
3636
+ &-switched
3637
+ right: 100%
3638
+ &:before
3639
+ right: 2px
3640
+ border-left: 6px solid currentColor
3641
+ &__label
3584
3642
  z-index: 1
3585
3643
  white-space: nowrap
3644
+ position: absolute
3586
3645
  &--h
3587
- bottom: 0
3588
- right: 0
3589
- transform: scale(0) translateY(0)
3590
- will-change: left
3646
+ left: 50%
3647
+ transform: translateX(-50%)
3648
+ &-standard
3649
+ bottom: 7px
3650
+ &-switched
3651
+ top: 7px
3591
3652
  &--v
3592
3653
  top: 50%
3593
- left: 20px
3594
- height: 0
3595
- transform: scale(0) translateX(-20px)
3596
- will-change: top
3597
- transform-origin: left center
3598
- &-text-container
3599
- min-height: 25px
3600
- padding: 2px 8px
3601
- border-radius: $generic-border-radius
3602
- background: currentColor
3603
- position: relative
3604
- text-align: center
3605
- &--h
3606
- right: -50%
3607
- &--v
3608
- transform: translateY(-50%)
3609
- &-text
3610
- color: #fff
3611
- font-size: 12px
3612
- &--editable
3613
- cursor: grab
3654
+ transform: translateY(-50%)
3655
+ &-standard
3656
+ left: 7px
3657
+ &-switched
3658
+ right: 7px
3659
+ &__text-container
3660
+ min-height: 25px
3661
+ padding: 2px 8px
3662
+ border-radius: $generic-border-radius
3663
+ background: currentColor
3664
+ position: relative
3665
+ text-align: center
3666
+ &__text
3667
+ color: #fff
3668
+ font-size: 12px
3614
3669
  &--no-value
3615
- .q-slider__thumb, .q-slider__track
3616
- visibility: hidden
3617
- &--focus
3618
- .q-slider__thumb
3619
- transform: scale(1)
3620
- &--focus, body.desktop &.q-slider--editable:hover
3670
+ .q-slider__thumb,
3671
+ .q-slider__inner,
3672
+ .q-slider__selection
3673
+ opacity: 0
3674
+ &--focus,
3675
+ body.desktop &.q-slider--editable .q-slider__track-container:hover
3621
3676
  .q-slider__focus-ring
3622
3677
  background: currentColor
3623
3678
  transform: scale3d(1.55, 1.55, 1)
3624
3679
  opacity: .25
3625
- .q-slider__thumb, .q-slider__track
3626
- visibility: visible
3680
+ .q-slider__thumb,
3681
+ .q-slider__inner,
3682
+ .q-slider__selection
3683
+ opacity: 1
3627
3684
  &--inactive
3628
- .q-slider__thumb-container
3685
+ .q-slider__thumb
3629
3686
  &--h
3630
3687
  transition: left .28s, right .28s
3631
3688
  &--v
3632
3689
  transition: top .28s, bottom .28s
3633
- .q-slider__track
3634
- &--h
3635
- transition: width .28s, left .28s, right .28s
3636
- &--v
3637
- transition: height .28s, top .28s, bottom .28s
3690
+ .q-slider__selection
3691
+ transition: width .28s, left .28s, right .28s, height .28s, top .28s, bottom .28s
3692
+ .q-slider__text-container
3693
+ transition: transform .28s
3638
3694
  &--active
3639
3695
  cursor: grabbing
3640
- .q-slider__thumb
3696
+ .q-slider__thumb-shape
3641
3697
  transform: scale(1.5)
3642
- .q-slider__focus-ring, &.q-slider--label .q-slider__thumb
3698
+ .q-slider__focus-ring,
3699
+ &.q-slider--label .q-slider__thumb-shape
3643
3700
  transform: scale(0) !important
3644
- body.desktop &.q-slider--enabled:hover
3645
- .q-slider__pin,
3646
- .q-slider__arrow
3647
- &--h
3648
- transform: scale(1) translateY(-25px)
3649
- &--v
3650
- transform: scale(1) translateX(5px)
3701
+ body.desktop &.q-slider--enabled .q-slider__track-container:hover
3702
+ .q-slider__pin
3703
+ opacity: 1
3651
3704
  &--label
3652
- &.q-slider--active, .q-slider--focus, &.q-slider--label-always
3653
- .q-slider__pin,
3654
- .q-slider__arrow
3655
- &--h
3656
- transform: scale(1) translateY(-25px)
3657
- &--v
3658
- transform: scale(1) translateX(5px)
3705
+ &.q-slider--active,
3706
+ .q-slider--focus,
3707
+ &.q-slider--label-always
3708
+ .q-slider__pin
3709
+ opacity: 1
3659
3710
  &--dark
3711
+ .q-slider__track
3712
+ background: rgba(#fff,.1)
3713
+ .q-slider__inner
3714
+ background: rgba(#fff,.1)
3715
+ .q-slider__markers
3716
+ color: rgba(#fff,.3)
3717
+ &--dense
3660
3718
  .q-slider__track-container
3661
- background: rgba(#fff, .3)
3662
- .q-slider__track-markers
3663
- color: #fff
3664
- &--reversed
3665
- .q-slider__thumb-container
3666
3719
  &--h
3667
- transform: translateX(10px) #{"/* rtl:ignore */"}
3720
+ padding: 6px 0
3668
3721
  &--v
3669
- transform: translateY(10px)
3670
- &--dense
3671
- &--h
3672
- height: 20px
3673
- &--v
3674
- width: 20px
3722
+ padding: 0 6px
3675
3723
  .q-space
3676
3724
  flex-grow: 1 !important
3677
3725
  .q-spinner
@@ -3829,6 +3877,30 @@ body.platform-ios
3829
3877
  text-align: center
3830
3878
  &:before, &:after
3831
3879
  display: none
3880
+ &--contracted
3881
+ min-height: 72px
3882
+ &.q-stepper__header--alternative-labels
3883
+ .q-stepper__tab
3884
+ min-height: 72px
3885
+ &:first-child
3886
+ align-items: flex-start
3887
+ &:last-child
3888
+ align-items: flex-end
3889
+ .q-stepper__tab
3890
+ padding: 24px 0
3891
+ &:first-child
3892
+ .q-stepper__dot
3893
+ transform: translateX(24px)
3894
+ &:last-child
3895
+ .q-stepper__dot
3896
+ transform: translateX(-24px)
3897
+ .q-stepper__tab:not(:last-child)
3898
+ .q-stepper__dot:after
3899
+ display: block !important
3900
+ .q-stepper__dot
3901
+ margin: 0
3902
+ .q-stepper__label
3903
+ display: none
3832
3904
  &__nav
3833
3905
  padding-top: 24px
3834
3906
  &--bordered
@@ -3914,31 +3986,6 @@ body.platform-ios
3914
3986
  background: $separator-dark-color
3915
3987
  .q-stepper__label
3916
3988
  color: rgba(255,255,255,.54)
3917
- &--contracted
3918
- .q-stepper__header
3919
- min-height: 72px
3920
- &--alternative-labels
3921
- .q-stepper__tab
3922
- min-height: 72px
3923
- &:first-child
3924
- align-items: flex-start
3925
- &:last-child
3926
- align-items: flex-end
3927
- .q-stepper__tab
3928
- padding: 24px 0
3929
- &:first-child
3930
- .q-stepper__dot
3931
- transform: translateX(24px)
3932
- &:last-child
3933
- .q-stepper__dot
3934
- transform: translateX(-24px)
3935
- .q-stepper__tab:not(:last-child)
3936
- .q-stepper__dot:after
3937
- display: block !important
3938
- .q-stepper__dot
3939
- margin: 0
3940
- .q-stepper__label
3941
- display: none
3942
3989
  .q-tab-panels
3943
3990
  background: #fff
3944
3991
  .q-tab-panel
@@ -5079,6 +5126,7 @@ img.responsive
5079
5126
  outline: 0
5080
5127
  &__content
5081
5128
  outline: none
5129
+ contain: content
5082
5130
  *
5083
5131
  overflow-anchor: none
5084
5132
  &__padding
@@ -6798,6 +6846,8 @@ body.q-ios-padding .q-notifications__list
6798
6846
  .q-link
6799
6847
  outline: 0
6800
6848
  text-decoration: none
6849
+ &--focusable:focus-visible
6850
+ text-decoration: underline dashed currentColor 1px
6801
6851
  body.electron
6802
6852
  .q-electron-drag
6803
6853
  -webkit-user-select: none
@@ -6923,6 +6973,10 @@ img.responsive
6923
6973
  border-radius: 0 !important
6924
6974
  max-width: 100vw
6925
6975
  max-height: 100vh
6976
+ body.q-ios-padding .fullscreen
6977
+ padding-top: $ios-statusbar-height !important
6978
+ padding-top: env(safe-area-inset-top) !important
6979
+ padding-bottom: env(safe-area-inset-bottom) !important
6926
6980
  .absolute-full, .fullscreen, .fixed-full
6927
6981
  top: 0
6928
6982
  right: 0