quasar 2.3.3 → 2.4.2

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 (228) hide show
  1. package/dist/api/Dialog.json +1 -1
  2. package/dist/api/Loading.json +2 -6
  3. package/dist/api/QBreadcrumbsEl.json +31 -10
  4. package/dist/api/QBtn.json +30 -14
  5. package/dist/api/QBtnDropdown.json +31 -15
  6. package/dist/api/QBtnToggle.json +3 -0
  7. package/dist/api/QChatMessage.json +4 -12
  8. package/dist/api/QExpansionItem.json +34 -12
  9. package/dist/api/QFab.json +33 -2
  10. package/dist/api/QFabAction.json +8 -0
  11. package/dist/api/QField.json +1 -0
  12. package/dist/api/QFile.json +5 -2
  13. package/dist/api/QForm.json +1 -1
  14. package/dist/api/QInput.json +1 -0
  15. package/dist/api/QItem.json +31 -10
  16. package/dist/api/QOptionGroup.json +74 -4
  17. package/dist/api/QPopupProxy.json +3 -2
  18. package/dist/api/QRange.json +592 -107
  19. package/dist/api/QRating.json +3 -1
  20. package/dist/api/QRouteTab.json +31 -11
  21. package/dist/api/QScrollArea.json +3 -2
  22. package/dist/api/QSelect.json +9 -16
  23. package/dist/api/QSlider.json +504 -39
  24. package/dist/api/QTree.json +8 -4
  25. package/dist/api/QUploader.json +16 -2
  26. package/dist/api/QVirtualScroll.json +3 -2
  27. package/dist/icon-set/bootstrap-icons.umd.prod.js +1 -1
  28. package/dist/icon-set/eva-icons.umd.prod.js +1 -1
  29. package/dist/icon-set/fontawesome-v5-pro.umd.prod.js +1 -1
  30. package/dist/icon-set/fontawesome-v5.umd.prod.js +1 -1
  31. package/dist/icon-set/ionicons-v4.umd.prod.js +1 -1
  32. package/dist/icon-set/line-awesome.umd.prod.js +1 -1
  33. package/dist/icon-set/material-icons-outlined.umd.prod.js +1 -1
  34. package/dist/icon-set/material-icons-round.umd.prod.js +1 -1
  35. package/dist/icon-set/material-icons-sharp.umd.prod.js +1 -1
  36. package/dist/icon-set/material-icons.umd.prod.js +1 -1
  37. package/dist/icon-set/mdi-v3.umd.prod.js +1 -1
  38. package/dist/icon-set/mdi-v4.umd.prod.js +1 -1
  39. package/dist/icon-set/mdi-v5.umd.prod.js +1 -1
  40. package/dist/icon-set/mdi-v6.umd.prod.js +1 -1
  41. package/dist/icon-set/svg-bootstrap-icons.umd.prod.js +1 -1
  42. package/dist/icon-set/svg-eva-icons.umd.prod.js +1 -1
  43. package/dist/icon-set/svg-fontawesome-v5.umd.prod.js +1 -1
  44. package/dist/icon-set/svg-ionicons-v4.umd.prod.js +1 -1
  45. package/dist/icon-set/svg-ionicons-v5.umd.prod.js +1 -1
  46. package/dist/icon-set/svg-ionicons-v6.umd.prod.js +1 -1
  47. package/dist/icon-set/svg-line-awesome.umd.prod.js +1 -1
  48. package/dist/icon-set/svg-material-icons-outlined.umd.prod.js +1 -1
  49. package/dist/icon-set/svg-material-icons-round.umd.prod.js +1 -1
  50. package/dist/icon-set/svg-material-icons-sharp.umd.prod.js +1 -1
  51. package/dist/icon-set/svg-material-icons.umd.prod.js +1 -1
  52. package/dist/icon-set/svg-mdi-v4.umd.prod.js +1 -1
  53. package/dist/icon-set/svg-mdi-v5.umd.prod.js +1 -1
  54. package/dist/icon-set/svg-mdi-v6.umd.prod.js +1 -1
  55. package/dist/icon-set/svg-themify.umd.prod.js +1 -1
  56. package/dist/icon-set/themify.umd.prod.js +1 -1
  57. package/dist/lang/ar.umd.prod.js +1 -1
  58. package/dist/lang/az-Latn.umd.prod.js +1 -1
  59. package/dist/lang/bg.umd.prod.js +1 -1
  60. package/dist/lang/bn.umd.prod.js +1 -1
  61. package/dist/lang/ca.umd.prod.js +1 -1
  62. package/dist/lang/cs.umd.prod.js +1 -1
  63. package/dist/lang/da.umd.prod.js +1 -1
  64. package/dist/lang/de.umd.prod.js +1 -1
  65. package/dist/lang/el.umd.prod.js +1 -1
  66. package/dist/lang/en-GB.umd.prod.js +1 -1
  67. package/dist/lang/en-US.umd.prod.js +1 -1
  68. package/dist/lang/eo.umd.prod.js +1 -1
  69. package/dist/lang/es.umd.prod.js +1 -1
  70. package/dist/lang/et.umd.prod.js +1 -1
  71. package/dist/lang/fa-IR.umd.prod.js +1 -1
  72. package/dist/lang/fa.umd.prod.js +1 -1
  73. package/dist/lang/fi.umd.prod.js +1 -1
  74. package/dist/lang/fr.umd.prod.js +1 -1
  75. package/dist/lang/gn.umd.prod.js +1 -1
  76. package/dist/lang/he.umd.prod.js +1 -1
  77. package/dist/lang/hr.umd.prod.js +1 -1
  78. package/dist/lang/hu.umd.prod.js +1 -1
  79. package/dist/lang/id.umd.prod.js +1 -1
  80. package/dist/lang/is.umd.prod.js +1 -1
  81. package/dist/lang/it.umd.prod.js +1 -1
  82. package/dist/lang/ja.umd.prod.js +1 -1
  83. package/dist/lang/km.umd.prod.js +1 -1
  84. package/dist/lang/ko-KR.umd.prod.js +1 -1
  85. package/dist/lang/kur-CKB.umd.prod.js +1 -1
  86. package/dist/lang/lt.umd.prod.js +1 -1
  87. package/dist/lang/lu.umd.prod.js +1 -1
  88. package/dist/lang/lv.umd.prod.js +1 -1
  89. package/dist/lang/ml.umd.prod.js +1 -1
  90. package/dist/lang/ms.umd.prod.js +1 -1
  91. package/dist/lang/nb-NO.umd.prod.js +1 -1
  92. package/dist/lang/nl.umd.prod.js +1 -1
  93. package/dist/lang/pl.umd.prod.js +1 -1
  94. package/dist/lang/pt-BR.umd.prod.js +1 -1
  95. package/dist/lang/pt.umd.prod.js +1 -1
  96. package/dist/lang/ro.umd.prod.js +1 -1
  97. package/dist/lang/ru.umd.prod.js +1 -1
  98. package/dist/lang/sk.umd.prod.js +1 -1
  99. package/dist/lang/sl.umd.prod.js +1 -1
  100. package/dist/lang/sr-CYR.umd.prod.js +1 -1
  101. package/dist/lang/sr.umd.prod.js +1 -1
  102. package/dist/lang/sv.umd.prod.js +1 -1
  103. package/dist/lang/ta.umd.prod.js +1 -1
  104. package/dist/lang/th.umd.prod.js +1 -1
  105. package/dist/lang/tr.umd.prod.js +1 -1
  106. package/dist/lang/ug.umd.prod.js +1 -1
  107. package/dist/lang/uk.umd.prod.js +1 -1
  108. package/dist/lang/vi.umd.prod.js +1 -1
  109. package/dist/lang/zh-CN.umd.prod.js +1 -1
  110. package/dist/lang/zh-TW.umd.prod.js +1 -1
  111. package/dist/quasar.cjs.prod.js +2 -2
  112. package/dist/quasar.css +275 -191
  113. package/dist/quasar.esm.prod.js +2 -2
  114. package/dist/quasar.prod.css +1 -1
  115. package/dist/quasar.rtl.css +347 -270
  116. package/dist/quasar.rtl.prod.css +1 -1
  117. package/dist/quasar.sass +275 -217
  118. package/dist/quasar.umd.js +16598 -16283
  119. package/dist/quasar.umd.prod.js +2 -2
  120. package/dist/ssr-directives/Morph.js +1 -1
  121. package/dist/transforms/loader-asset-urls.json +20 -0
  122. package/dist/types/api/slider.d.ts +46 -0
  123. package/dist/types/api/validation.d.ts +4 -0
  124. package/dist/types/api.d.ts +2 -0
  125. package/dist/types/composables.d.ts +3 -3
  126. package/dist/types/index.d.ts +611 -140
  127. package/dist/vetur/quasar-attributes.json +251 -83
  128. package/dist/vetur/quasar-tags.json +59 -17
  129. package/dist/web-types/web-types.json +580 -152
  130. package/package.json +1 -1
  131. package/src/api.extends.json +0 -1
  132. package/src/components/breadcrumbs/QBreadcrumbs.js +7 -2
  133. package/src/components/breadcrumbs/QBreadcrumbs.sass +0 -3
  134. package/src/components/breadcrumbs/QBreadcrumbsEl.js +14 -8
  135. package/src/components/btn/QBtn.js +5 -5
  136. package/src/components/btn/use-btn.js +21 -21
  137. package/src/components/btn/use-btn.json +22 -13
  138. package/src/components/btn-dropdown/QBtnDropdown.json +1 -0
  139. package/src/components/btn-toggle/QBtnToggle.json +3 -0
  140. package/src/components/checkbox/use-checkbox.js +1 -1
  141. package/src/components/chip/QChip.json +1 -2
  142. package/src/components/color/QColor.js +32 -26
  143. package/src/components/color/QColor.sass +10 -23
  144. package/src/components/date/QDate.sass +2 -0
  145. package/src/components/drawer/QDrawer.js +18 -15
  146. package/src/components/editor/QEditor.js +1 -1
  147. package/src/components/editor/QEditor.sass +10 -1
  148. package/src/components/expansion-item/QExpansionItem.js +4 -1
  149. package/src/components/expansion-item/QExpansionItem.json +2 -1
  150. package/src/components/fab/QFab.js +18 -12
  151. package/src/components/fab/QFab.json +36 -1
  152. package/src/components/fab/QFab.sass +1 -1
  153. package/src/components/fab/QFabAction.js +14 -7
  154. package/src/components/fab/QFabAction.json +10 -0
  155. package/src/components/file/QFile.js +12 -5
  156. package/src/components/file/QFile.json +6 -6
  157. package/src/components/file/QFile.sass +4 -2
  158. package/src/components/footer/QFooter.js +1 -1
  159. package/src/components/form/QForm.json +2 -3
  160. package/src/components/header/QHeader.js +1 -1
  161. package/src/components/icon/QIcon.js +2 -2
  162. package/src/components/infinite-scroll/QInfiniteScroll.js +4 -5
  163. package/src/components/item/QItem.js +2 -3
  164. package/src/components/linear-progress/QLinearProgress.js +3 -2
  165. package/src/components/option-group/QOptionGroup.js +3 -0
  166. package/src/components/option-group/QOptionGroup.json +48 -2
  167. package/src/components/parallax/QParallax.js +4 -2
  168. package/src/components/popup-edit/QPopupEdit.js +2 -5
  169. package/src/components/popup-proxy/QPopupProxy.json +2 -1
  170. package/src/components/radio/QRadio.js +2 -7
  171. package/src/components/range/QRange.js +103 -222
  172. package/src/components/range/QRange.json +11 -121
  173. package/src/components/rating/QRating.json +1 -1
  174. package/src/components/scroll-area/QScrollArea.js +3 -1
  175. package/src/components/scroll-area/QScrollArea.json +5 -6
  176. package/src/components/select/QSelect.js +4 -1
  177. package/src/components/select/QSelect.json +17 -4
  178. package/src/components/slider/QSlider.js +46 -132
  179. package/src/components/slider/QSlider.json +1 -121
  180. package/src/components/slider/QSlider.sass +198 -132
  181. package/src/components/slider/use-slider.js +453 -109
  182. package/src/components/slider/use-slider.json +546 -0
  183. package/src/components/stepper/QStepper.js +3 -3
  184. package/src/components/stepper/QStepper.sass +24 -26
  185. package/src/components/table/QTable.js +27 -47
  186. package/src/components/tabs/QRouteTab.js +1 -2
  187. package/src/components/tabs/QRouteTab.json +0 -7
  188. package/src/components/tabs/QTabs.js +71 -20
  189. package/src/components/tabs/use-tab.js +26 -13
  190. package/src/components/tree/QTree.js +14 -12
  191. package/src/components/tree/QTree.json +12 -12
  192. package/src/components/tree/QTree.sass +45 -41
  193. package/src/components/uploader/QUploader.json +14 -2
  194. package/src/components/uploader/uploader-core.js +16 -9
  195. package/src/components/virtual-scroll/QVirtualScroll.json +15 -0
  196. package/src/components/virtual-scroll/QVirtualScroll.sass +1 -0
  197. package/src/components/virtual-scroll/use-virtual-scroll.js +30 -17
  198. package/src/components/virtual-scroll/use-virtual-scroll.json +2 -5
  199. package/src/composables/private/use-field.js +5 -5
  200. package/src/composables/private/use-file.js +20 -5
  201. package/src/composables/private/use-form.js +2 -3
  202. package/src/composables/private/use-fullscreen.js +15 -4
  203. package/src/composables/private/use-router-link.js +44 -23
  204. package/src/composables/private/use-router-link.json +26 -10
  205. package/src/composables/private/use-split-attrs.js +4 -4
  206. package/src/composables/private/use-validate.js +21 -15
  207. package/src/composables/private/use-validate.json +1 -0
  208. package/src/css/core/helpers.sass +3 -0
  209. package/src/css/core/positioning.sass +5 -0
  210. package/src/css/variables.sass +4 -6
  211. package/src/directives/ScrollFire.js +1 -0
  212. package/src/icon-set.js +2 -4
  213. package/src/plugins/AppFullscreen.js +70 -53
  214. package/src/plugins/AppVisibility.js +2 -3
  215. package/src/plugins/BottomSheet.js +3 -5
  216. package/src/plugins/Dialog.js +3 -5
  217. package/src/plugins/Dialog.json +2 -3
  218. package/src/plugins/LoadingBar.js +17 -18
  219. package/src/plugins/Notify.js +296 -295
  220. package/src/plugins/Platform.js +14 -14
  221. package/src/utils/date.js +4 -4
  222. package/src/utils/dom.js +2 -2
  223. package/src/utils/open-url.js +2 -2
  224. package/src/utils/patterns.js +1 -0
  225. package/src/utils/private/define-reactive-plugin.js +10 -8
  226. package/src/utils/private/global-dialog.js +6 -8
  227. package/src/utils/private/inject-obj-prop.js +13 -0
  228. package/src/utils/private/is.js +2 -2
package/dist/quasar.sass CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Quasar Framework v2.3.3
2
+ * Quasar Framework v2.4.2
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,250 @@ 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
3535
3568
  &--h
3536
3569
  top: 50%
3537
- margin-top: -10px
3538
- transform: translateX(-10px) #{"/* rtl:ignore */"}
3539
3570
  will-change: left
3571
+ &-ltr
3572
+ transform: scale(1) translate(-50%,-50%) #{"/* rtl:ignore */"}
3573
+ &-rtl
3574
+ transform: scale(1) translate(50%,-50%) #{"/* rtl:ignore */"}
3540
3575
  &--v
3541
- left: 50%
3542
- margin-left: -10px
3543
- transform: translateY(-10px)
3576
+ left: 50% #{"/* rtl:ignore */"}
3544
3577
  will-change: top
3545
- &__thumb
3578
+ &-ltr
3579
+ transform: scale(1) translate(-50%,-50%) #{"/* rtl:ignore */"}
3580
+ &-rtl
3581
+ transform: scale(1) translate(-50%,50%) #{"/* rtl:ignore */"}
3582
+ &__thumb-shape
3546
3583
  top: 0
3547
3584
  left: 0
3548
- transform: scale(1)
3549
- transition: transform .18s ease-out, fill .18s ease-out, stroke .18s ease-out
3550
3585
  stroke-width: 3.5
3551
3586
  stroke: currentColor
3587
+ transition: transform .28s
3552
3588
  path
3553
3589
  stroke: currentColor
3554
3590
  fill: currentColor
3555
3591
  &__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
3592
  border-radius: 50%
3560
3593
  opacity: 0
3594
+ transition: transform 266.67ms ease-out, opacity 266.67ms ease-out, background-color 266.67ms ease-out
3561
3595
  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
3596
+ &__pin
3597
+ opacity: 0
3598
+ white-space: nowrap
3599
+ transition: opacity .28s ease-out
3600
+ transition-delay: .14s
3601
+ &:before
3602
+ content: ''
3603
+ width: 0
3604
+ height: 0
3605
+ position: absolute
3568
3606
  &--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)
3607
+ &:before
3608
+ border-left: 6px solid transparent
3609
+ border-right: 6px solid transparent
3610
+ left: 50%
3611
+ transform: translateX(-50%)
3612
+ &-standard
3613
+ bottom: 100%
3614
+ &:before
3615
+ bottom: 2px
3616
+ border-top: 6px solid currentColor
3617
+ &-switched
3618
+ top: 100%
3619
+ &:before
3620
+ top: 2px
3621
+ border-bottom: 6px solid currentColor
3575
3622
  &--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
3623
+ top: 0
3624
+ &:before
3625
+ top: 50%
3626
+ transform: translateY(-50%)
3627
+ border-top: 6px solid transparent
3628
+ border-bottom: 6px solid transparent
3629
+ &-standard
3630
+ left: 100%
3631
+ &:before
3632
+ left: 2px
3633
+ border-right: 6px solid currentColor
3634
+ &-switched
3635
+ right: 100%
3636
+ &:before
3637
+ right: 2px
3638
+ border-left: 6px solid currentColor
3639
+ &__label
3584
3640
  z-index: 1
3585
3641
  white-space: nowrap
3642
+ position: absolute
3586
3643
  &--h
3587
- bottom: 0
3588
- right: 0
3589
- transform: scale(0) translateY(0)
3590
- will-change: left
3644
+ left: 50%
3645
+ transform: translateX(-50%)
3646
+ &-standard
3647
+ bottom: 7px
3648
+ &-switched
3649
+ top: 7px
3591
3650
  &--v
3592
3651
  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
3652
+ transform: translateY(-50%)
3653
+ &-standard
3654
+ left: 7px
3655
+ &-switched
3656
+ right: 7px
3657
+ &__text-container
3658
+ min-height: 25px
3659
+ padding: 2px 8px
3660
+ border-radius: $generic-border-radius
3661
+ background: currentColor
3662
+ position: relative
3663
+ text-align: center
3664
+ &__text
3665
+ color: #fff
3666
+ font-size: 12px
3614
3667
  &--no-value
3615
- .q-slider__thumb, .q-slider__track
3668
+ .q-slider__thumb,
3669
+ .q-slider__inner,
3670
+ .q-slider__selection
3616
3671
  visibility: hidden
3617
3672
  &--focus
3618
3673
  .q-slider__thumb
3619
3674
  transform: scale(1)
3620
- &--focus, body.desktop &.q-slider--editable:hover
3675
+ &--focus,
3676
+ body.desktop &.q-slider--editable .q-slider__track-container:hover
3621
3677
  .q-slider__focus-ring
3622
3678
  background: currentColor
3623
3679
  transform: scale3d(1.55, 1.55, 1)
3624
3680
  opacity: .25
3625
- .q-slider__thumb, .q-slider__track
3681
+ .q-slider__thumb,
3682
+ .q-slider__inner,
3683
+ .q-slider__selection
3626
3684
  visibility: visible
3627
3685
  &--inactive
3628
- .q-slider__thumb-container
3686
+ .q-slider__thumb
3629
3687
  &--h
3630
3688
  transition: left .28s, right .28s
3631
3689
  &--v
3632
3690
  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
3691
+ .q-slider__selection
3692
+ transition: width .28s, left .28s, right .28s, height .28s, top .28s, bottom .28s
3693
+ .q-slider__text-container
3694
+ transition: transform .28s
3638
3695
  &--active
3639
3696
  cursor: grabbing
3640
- .q-slider__thumb
3697
+ .q-slider__thumb-shape
3641
3698
  transform: scale(1.5)
3642
- .q-slider__focus-ring, &.q-slider--label .q-slider__thumb
3699
+ .q-slider__focus-ring,
3700
+ &.q-slider--label .q-slider__thumb-shape
3643
3701
  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)
3702
+ body.desktop &.q-slider--enabled .q-slider__track-container:hover
3703
+ .q-slider__pin
3704
+ opacity: 1
3651
3705
  &--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)
3706
+ &.q-slider--active,
3707
+ .q-slider--focus,
3708
+ &.q-slider--label-always
3709
+ .q-slider__pin
3710
+ opacity: 1
3659
3711
  &--dark
3712
+ .q-slider__track
3713
+ background: rgba(#fff,.1)
3714
+ .q-slider__inner
3715
+ background: rgba(#fff,.1)
3716
+ .q-slider__markers
3717
+ color: rgba(#fff,.3)
3718
+ &--dense
3660
3719
  .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
3720
  &--h
3667
- transform: translateX(10px) #{"/* rtl:ignore */"}
3721
+ padding: 6px 0
3668
3722
  &--v
3669
- transform: translateY(10px)
3670
- &--dense
3671
- &--h
3672
- height: 20px
3673
- &--v
3674
- width: 20px
3723
+ padding: 0 6px
3675
3724
  .q-space
3676
3725
  flex-grow: 1 !important
3677
3726
  .q-spinner
@@ -3829,6 +3878,30 @@ body.platform-ios
3829
3878
  text-align: center
3830
3879
  &:before, &:after
3831
3880
  display: none
3881
+ &--contracted
3882
+ min-height: 72px
3883
+ &.q-stepper__header--alternative-labels
3884
+ .q-stepper__tab
3885
+ min-height: 72px
3886
+ &:first-child
3887
+ align-items: flex-start
3888
+ &:last-child
3889
+ align-items: flex-end
3890
+ .q-stepper__tab
3891
+ padding: 24px 0
3892
+ &:first-child
3893
+ .q-stepper__dot
3894
+ transform: translateX(24px)
3895
+ &:last-child
3896
+ .q-stepper__dot
3897
+ transform: translateX(-24px)
3898
+ .q-stepper__tab:not(:last-child)
3899
+ .q-stepper__dot:after
3900
+ display: block !important
3901
+ .q-stepper__dot
3902
+ margin: 0
3903
+ .q-stepper__label
3904
+ display: none
3832
3905
  &__nav
3833
3906
  padding-top: 24px
3834
3907
  &--bordered
@@ -3914,31 +3987,6 @@ body.platform-ios
3914
3987
  background: $separator-dark-color
3915
3988
  .q-stepper__label
3916
3989
  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
3990
  .q-tab-panels
3943
3991
  background: #fff
3944
3992
  .q-tab-panel
@@ -4904,39 +4952,42 @@ body.desktop
4904
4952
  .q-tree__node-header:before,
4905
4953
  .q-tree__node-body:after
4906
4954
  display: none !important
4907
- &--dense .q-tree
4908
- &__arrow,
4909
- &__spinner
4910
- margin-right: 1px
4911
- &__img
4912
- height: 32px
4913
- &__tickbox
4914
- margin-right: 3px
4915
- &__node
4916
- padding: 0
4917
- &:after
4918
- top: 0
4919
- left: -8px
4920
- &__node-header
4921
- margin-top: 0
4922
- padding: 1px
4923
- &:before
4924
- top: 0
4925
- left: -8px
4926
- width: 8px
4927
- &__node--child
4928
- padding-left: 17px
4929
- > .q-tree__node-header:before
4930
- left: -25px
4931
- width: 21px
4932
- &__node-body
4933
- padding: 0 0 2px
4934
- &__node--parent > .q-tree__node-collapsible > .q-tree__node-body
4935
- padding: 0 0 2px 20px
4936
- &:after
4937
- left: 8px
4938
- &__children
4939
- padding-left: 16px
4955
+ &--dense
4956
+ > .q-tree__node--child > .q-tree__node-header
4957
+ padding-left: 1px
4958
+ .q-tree
4959
+ &__arrow,
4960
+ &__spinner
4961
+ margin-right: 1px
4962
+ &__img
4963
+ height: 32px
4964
+ &__tickbox
4965
+ margin-right: 3px
4966
+ &__node
4967
+ padding: 0
4968
+ &:after
4969
+ top: 0
4970
+ left: -8px
4971
+ &__node-header
4972
+ margin-top: 0
4973
+ padding: 1px
4974
+ &:before
4975
+ top: 0
4976
+ left: -8px
4977
+ width: 8px
4978
+ &__node--child
4979
+ padding-left: 17px
4980
+ > .q-tree__node-header:before
4981
+ left: -25px
4982
+ width: 21px
4983
+ &__node-body
4984
+ padding: 0 0 2px
4985
+ &__node--parent > .q-tree__node-collapsible > .q-tree__node-body
4986
+ padding: 0 0 2px 20px
4987
+ &:after
4988
+ left: 8px
4989
+ &__children
4990
+ padding-left: 16px
4940
4991
  [dir=rtl]
4941
4992
  .q-tree__arrow
4942
4993
  transform: rotate3d(0, 0, 1, 180deg) #{"/* rtl:ignore */"}
@@ -5076,6 +5127,7 @@ img.responsive
5076
5127
  outline: 0
5077
5128
  &__content
5078
5129
  outline: none
5130
+ contain: content
5079
5131
  *
5080
5132
  overflow-anchor: none
5081
5133
  &__padding
@@ -6795,6 +6847,8 @@ body.q-ios-padding .q-notifications__list
6795
6847
  .q-link
6796
6848
  outline: 0
6797
6849
  text-decoration: none
6850
+ &--focusable:focus-visible
6851
+ text-decoration: underline dashed currentColor 1px
6798
6852
  body.electron
6799
6853
  .q-electron-drag
6800
6854
  -webkit-user-select: none
@@ -6920,6 +6974,10 @@ img.responsive
6920
6974
  border-radius: 0 !important
6921
6975
  max-width: 100vw
6922
6976
  max-height: 100vh
6977
+ body.q-ios-padding .fullscreen
6978
+ padding-top: $ios-statusbar-height !important
6979
+ padding-top: env(safe-area-inset-top) !important
6980
+ padding-bottom: env(safe-area-inset-bottom) !important
6923
6981
  .absolute-full, .fullscreen, .fixed-full
6924
6982
  top: 0
6925
6983
  right: 0