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
@@ -1,5 +1,5 @@
1
1
  {
2
- "mixins": [ "composables/private/use-form" ],
2
+ "mixins": [ "components/slider/use-slider" ],
3
3
 
4
4
  "meta": {
5
5
  "docsUrl": "https://v2.quasar.dev/vue-components/slider"
@@ -13,60 +13,6 @@
13
13
  "examples": [ "v-model=\"positionModel\"" ]
14
14
  },
15
15
 
16
- "min": {
17
- "type": "Number",
18
- "desc": "Minimum value of the model",
19
- "default": 0,
20
- "examples": [ ":min=\"0\"" ],
21
- "category": "model"
22
- },
23
-
24
- "max": {
25
- "type": "Number",
26
- "desc": "Maximum value of the model",
27
- "default": 100,
28
- "examples": [ ":max=\"100\"" ],
29
- "category": "model"
30
- },
31
-
32
- "step": {
33
- "type": "Number",
34
- "desc": "Specify step amount between valid values (> 0.0); When step equals to 0 it defines infinite granularity",
35
- "default": 1,
36
- "examples": [ ":step=\"1\"" ],
37
- "category": "model"
38
- },
39
-
40
- "reverse": {
41
- "type": "Boolean",
42
- "desc": "Work in reverse (changes direction)",
43
- "category": "behavior"
44
- },
45
-
46
- "vertical": {
47
- "type": "Boolean",
48
- "desc": "Display in vertical direction",
49
- "category": "behavior"
50
- },
51
-
52
- "color": {
53
- "extends": "color"
54
- },
55
-
56
- "label": {
57
- "type": "Boolean",
58
- "desc": "Popup a label when user clicks/taps on the slider thumb and moves it",
59
- "category": "content"
60
- },
61
-
62
- "label-color": {
63
- "extends": "color"
64
- },
65
-
66
- "label-text-color": {
67
- "extends": "color"
68
- },
69
-
70
16
  "label-value": {
71
17
  "type": [ "String", "Number" ],
72
18
  "desc": "Override default label value",
@@ -74,56 +20,6 @@
74
20
  ":label-value=\"model + 'px'\""
75
21
  ],
76
22
  "category": "content"
77
- },
78
-
79
- "label-always": {
80
- "type": "Boolean",
81
- "desc": "Always display the label",
82
- "category": "behavior|content"
83
- },
84
-
85
- "markers": {
86
- "type": [ "Boolean", "Number" ],
87
- "desc": "Display markers on the track, one for each possible value for the model or using a custom step (when specifying a Number)",
88
- "category": "content",
89
- "examples": [
90
- "markers",
91
- ":markers=\"5\""
92
- ]
93
- },
94
-
95
- "snap": {
96
- "type": "Boolean",
97
- "desc": "Snap on valid values, rather than sliding freely; Suggestion: use with 'step' prop",
98
- "category": "behavior"
99
- },
100
-
101
- "thumb-path": {
102
- "type": "String",
103
- "desc": "Set custom thumb svg path",
104
- "default": "M 4, 10 a 6,6 0 1,0 12,0 a 6,6 0 1,0 -12,0",
105
- "examples": [ "M5 5 h10 v10 h-10 v-10" ],
106
- "category": "style"
107
- },
108
-
109
- "dark": {
110
- "extends": "dark"
111
- },
112
-
113
- "dense": {
114
- "extends": "dense"
115
- },
116
-
117
- "disable": {
118
- "extends": "disable"
119
- },
120
-
121
- "readonly": {
122
- "extends": "readonly"
123
- },
124
-
125
- "tabindex": {
126
- "extends": "tabindex"
127
23
  }
128
24
  },
129
25
 
@@ -135,22 +31,6 @@
135
31
  "type": [ "Number", "null" ]
136
32
  }
137
33
  }
138
- },
139
-
140
- "change": {
141
- "extends": "update:model-value",
142
- "desc": "Emitted on lazy model value change (after user slides then releases the thumb)"
143
- },
144
-
145
- "pan": {
146
- "desc": "Triggered when user starts panning on the component",
147
- "params": {
148
- "phase": {
149
- "type": "String",
150
- "desc": "Phase of panning",
151
- "values": [ "start", "end" ]
152
- }
153
- }
154
34
  }
155
35
  }
156
36
  }
@@ -1,225 +1,290 @@
1
1
  .q-slider
2
2
  position: relative
3
- color: var(--q-primary)
4
- outline: 0
5
3
 
6
4
  &--h
7
5
  width: 100%
8
- height: 40px
9
6
  &--v
10
- width: 40px
11
7
  height: 200px
12
8
 
9
+ &--editable .q-slider__track-container
10
+ cursor: grab
11
+
13
12
  &__track-container
14
- background: rgba(0,0,0,.26)
13
+ outline: 0
15
14
 
16
15
  &--h
17
- top: 50%
18
- margin-top: -1px
19
16
  width: 100%
20
- height: 2px
17
+ padding: 12px 0
18
+ .q-slider__selection
19
+ will-change: width, left
21
20
  &--v
22
- left: 50%
23
- margin-left: -1px
24
21
  height: 100%
25
- width: 2px
22
+ padding: 0 12px
23
+ .q-slider__selection
24
+ will-change: height, top
26
25
 
27
26
  &__track
27
+ color: var(--q-primary)
28
+ background: rgba(0,0,0,.1)
29
+ border-radius: $generic-border-radius
30
+ width: inherit
31
+ height: inherit
32
+
33
+ &__inner
34
+ background: rgba(0,0,0,.1)
35
+ border-radius: inherit
36
+ width: 100%
37
+ height: 100%
38
+
39
+ &__selection
28
40
  background: currentColor
41
+ border-radius: inherit
42
+ width: 100%
43
+ height: 100%
44
+
45
+ &__markers
46
+ color: rgba(0,0,0,.3)
47
+ border-radius: inherit
48
+ width: 100%
49
+ height: 100%
50
+
51
+ &:after
52
+ content: ''
53
+ position: absolute
54
+ background: currentColor
29
55
 
30
56
  &--h
31
- will-change: width, left
32
- top: 0
33
- bottom: 0
57
+ background-image: repeating-linear-gradient(to right, currentColor, currentColor 2px, rgba(255,255,255,0) 0, rgba(255,255,255,0))
58
+ &:after
59
+ height: 100%
60
+ width: 2px
61
+ top: 0
62
+ right: 0
63
+
34
64
  &--v
35
- will-change: height, top
36
- left: 0
37
- right: 0
65
+ background-image: repeating-linear-gradient(to bottom, currentColor, currentColor 2px, rgba(255,255,255,0) 0, rgba(255,255,255,0))
66
+ &:after
67
+ width: 100%
68
+ height: 2px
69
+ left: 0
70
+ bottom: 0
71
+
72
+ &__marker-labels-container
73
+ position: relative
74
+ width: 100%
75
+ height: 100%
76
+ min-height: 24px
77
+ min-width: 24px
38
78
 
39
- &__track-markers
40
- color: #000
79
+ &__marker-labels
80
+ position: absolute
41
81
 
42
82
  &--h
43
- background-image: repeating-linear-gradient(to right, currentColor, currentColor 2px, rgba(255,255,255,0) 0, rgba(255,255,255,0))
83
+ &-standard
84
+ top: 0
85
+ &-switched
86
+ bottom: 0
87
+
88
+ &-ltr
89
+ transform: translateX(-50%) #{"/* rtl:ignore */"}
90
+ &-rtl
91
+ transform: translateX(50%) #{"/* rtl:ignore */"}
92
+
44
93
  &--v
45
- background-image: repeating-linear-gradient(to top, currentColor, currentColor 2px, rgba(255,255,255,0) 0, rgba(255,255,255,0))
94
+ &-standard
95
+ left: 4px
96
+ &-switched
97
+ right: 4px
46
98
 
47
- &:after
48
- content: ''
49
- position: absolute
50
- right: 0
51
- top: 0
52
- bottom: 0
53
- height: 2px
54
- width: 2px
55
- background: currentColor
99
+ &-ltr
100
+ transform: translateY(-50%) #{"/* rtl:ignore */"}
101
+ &-rtl
102
+ transform: translateY(50%) #{"/* rtl:ignore */"}
56
103
 
57
- &__thumb-container
58
- width: 20px
59
- height: 20px
104
+ &__thumb
105
+ z-index: 1
60
106
  outline: 0
107
+ color: var(--q-primary)
108
+ transition: transform .18s ease-out, fill .18s ease-out, stroke .18s ease-out
109
+
110
+ &.q-slider--focus
111
+ opacity: 1 !important
61
112
 
62
113
  &--h
63
114
  top: 50%
64
- margin-top: -10px
65
- transform: translateX(-10px) #{"/* rtl:ignore */"}
66
115
  will-change: left
116
+ &-ltr
117
+ transform: scale(1) translate(-50%,-50%) #{"/* rtl:ignore */"}
118
+ &-rtl
119
+ transform: scale(1) translate(50%,-50%) #{"/* rtl:ignore */"}
120
+
67
121
  &--v
68
- left: 50%
69
- margin-left: -10px
70
- transform: translateY(-10px)
122
+ left: 50% #{"/* rtl:ignore */"}
71
123
  will-change: top
124
+ &-ltr
125
+ transform: scale(1) translate(-50%,-50%) #{"/* rtl:ignore */"}
126
+ &-rtl
127
+ transform: scale(1) translate(-50%,50%) #{"/* rtl:ignore */"}
72
128
 
73
- &__thumb
129
+ &__thumb-shape
74
130
  top: 0
75
131
  left: 0
76
- transform: scale(1)
77
- transition: transform .18s ease-out, fill .18s ease-out, stroke .18s ease-out
78
132
  stroke-width: 3.5
79
133
  stroke: currentColor
134
+ transition: transform .28s
80
135
 
81
136
  path
82
137
  stroke: currentColor
83
138
  fill: currentColor
84
139
 
85
140
  &__focus-ring
86
- width: 20px
87
- height: 20px
88
- transition: transform 266.67ms ease-out, opacity 266.67ms ease-out, background-color 266.67ms ease-out
89
141
  border-radius: 50%
90
142
  opacity: 0
143
+ transition: transform 266.67ms ease-out, opacity 266.67ms ease-out, background-color 266.67ms ease-out
91
144
  transition-delay: .14s
92
145
 
93
- &__arrow
94
- position: absolute
95
- width: 0
96
- height: 0
97
- transform-origin: 50% 50%
98
- transition: transform 100ms ease-out
146
+ &__pin
147
+ opacity: 0
148
+ white-space: nowrap
149
+ transition: opacity .28s ease-out
150
+ transition-delay: .14s
151
+
152
+ &:before
153
+ content: ''
154
+ width: 0
155
+ height: 0
156
+ position: absolute
99
157
 
100
158
  &--h
101
- top: 19px
102
- left: 4px
103
- border-top: 6px solid currentColor
104
- border-left: 6px solid transparent
105
- border-right: 6px solid transparent
106
- transform: scale(0) translateY(0)
107
- &--v
108
- top: 4px
109
- left: 15px
110
- border-top: 6px solid transparent
111
- border-bottom: 6px solid transparent
112
- border-right: 6px solid currentColor
113
- transform: scale(0) translateX(-20px)
159
+ &:before
160
+ border-left: 6px solid transparent
161
+ border-right: 6px solid transparent
162
+ left: 50%
163
+ transform: translateX(-50%)
164
+ &-standard
165
+ bottom: 100%
166
+ &:before
167
+ bottom: 2px
168
+ border-top: 6px solid currentColor
169
+ &-switched
170
+ top: 100%
171
+ &:before
172
+ top: 2px
173
+ border-bottom: 6px solid currentColor
114
174
 
115
- &__pin
116
- transition: transform 100ms ease-out
175
+ &--v
176
+ top: 0
177
+ &:before
178
+ top: 50%
179
+ transform: translateY(-50%)
180
+ border-top: 6px solid transparent
181
+ border-bottom: 6px solid transparent
182
+ &-standard
183
+ left: 100%
184
+ &:before
185
+ left: 2px
186
+ border-right: 6px solid currentColor
187
+ &-switched
188
+ right: 100%
189
+ &:before
190
+ right: 2px
191
+ border-left: 6px solid currentColor
192
+
193
+ &__label
117
194
  z-index: 1
118
195
  white-space: nowrap
196
+ position: absolute
119
197
 
120
198
  &--h
121
- bottom: 0
122
- right: 0
123
- transform: scale(0) translateY(0)
124
- will-change: left
199
+ left: 50%
200
+ transform: translateX(-50%)
201
+ &-standard
202
+ bottom: 7px
203
+ &-switched
204
+ top: 7px
205
+
125
206
  &--v
126
207
  top: 50%
127
- left: 20px
128
- height: 0
129
- transform: scale(0) translateX(-20px)
130
- will-change: top
131
- transform-origin: left center
132
-
133
- &-text-container
134
- min-height: 25px
135
- padding: 2px 8px
136
- border-radius: $generic-border-radius
137
- background: currentColor
138
- position: relative
139
- text-align: center
140
-
141
- &--h
142
- right: -50%
143
- &--v
144
- transform: translateY(-50%)
145
-
146
- &-text
147
- color: #fff
148
- font-size: 12px
208
+ transform: translateY(-50%)
209
+ &-standard
210
+ left: 7px
211
+ &-switched
212
+ right: 7px
213
+
214
+ &__text-container
215
+ min-height: 25px
216
+ padding: 2px 8px
217
+ border-radius: $generic-border-radius
218
+ background: currentColor
219
+ position: relative
220
+ text-align: center
149
221
 
150
- &--editable
151
- cursor: grab
222
+ &__text
223
+ color: #fff
224
+ font-size: 12px
152
225
 
153
226
  &--no-value
154
- .q-slider__thumb, .q-slider__track
155
- visibility: hidden
227
+ .q-slider__thumb,
228
+ .q-slider__inner,
229
+ .q-slider__selection
230
+ opacity: 0
156
231
 
157
- &--focus
158
- .q-slider__thumb
159
- transform: scale(1)
160
-
161
- &--focus, body.desktop &.q-slider--editable:hover
232
+ &--focus,
233
+ body.desktop &.q-slider--editable .q-slider__track-container:hover
162
234
  .q-slider__focus-ring
163
235
  background: currentColor
164
236
  transform: scale3d(1.55, 1.55, 1)
165
237
  opacity: .25
166
- .q-slider__thumb, .q-slider__track
167
- visibility: visible
238
+ .q-slider__thumb,
239
+ .q-slider__inner,
240
+ .q-slider__selection
241
+ opacity: 1
168
242
 
169
243
  &--inactive
170
- .q-slider__thumb-container
244
+ .q-slider__thumb
171
245
  &--h
172
246
  transition: left .28s, right .28s
173
247
  &--v
174
248
  transition: top .28s, bottom .28s
175
249
 
176
- .q-slider__track
177
- &--h
178
- transition: width .28s, left .28s, right .28s
179
- &--v
180
- transition: height .28s, top .28s, bottom .28s
250
+ .q-slider__selection
251
+ transition: width .28s, left .28s, right .28s, height .28s, top .28s, bottom .28s
252
+
253
+ .q-slider__text-container
254
+ transition: transform .28s
181
255
 
182
256
  &--active
183
257
  cursor: grabbing
184
258
 
185
- .q-slider__thumb
259
+ .q-slider__thumb-shape
186
260
  transform: scale(1.5)
187
261
 
188
- .q-slider__focus-ring, &.q-slider--label .q-slider__thumb
262
+ .q-slider__focus-ring,
263
+ &.q-slider--label .q-slider__thumb-shape
189
264
  transform: scale(0) !important
190
265
 
191
- body.desktop &.q-slider--enabled:hover
192
- .q-slider__pin,
193
- .q-slider__arrow
194
- &--h
195
- transform: scale(1) translateY(-25px)
196
- &--v
197
- transform: scale(1) translateX(5px)
266
+ body.desktop &.q-slider--enabled .q-slider__track-container:hover
267
+ .q-slider__pin
268
+ opacity: 1
198
269
 
199
270
  &--label
200
- &.q-slider--active, .q-slider--focus, &.q-slider--label-always
201
- .q-slider__pin,
202
- .q-slider__arrow
203
- &--h
204
- transform: scale(1) translateY(-25px)
205
- &--v
206
- transform: scale(1) translateX(5px)
271
+ &.q-slider--active,
272
+ .q-slider--focus,
273
+ &.q-slider--label-always
274
+ .q-slider__pin
275
+ opacity: 1
207
276
 
208
277
  &--dark
209
- .q-slider__track-container
210
- background: rgba(#fff, .3)
211
- .q-slider__track-markers
212
- color: #fff
278
+ .q-slider__track
279
+ background: rgba(#fff,.1)
280
+ .q-slider__inner
281
+ background: rgba(#fff,.1)
282
+ .q-slider__markers
283
+ color: rgba(#fff,.3)
213
284
 
214
- &--reversed
215
- .q-slider__thumb-container
285
+ &--dense
286
+ .q-slider__track-container
216
287
  &--h
217
- transform: translateX(10px) #{"/* rtl:ignore */"}
288
+ padding: 6px 0
218
289
  &--v
219
- transform: translateY(10px)
220
-
221
- &--dense
222
- &--h
223
- height: 20px
224
- &--v
225
- width: 20px
290
+ padding: 0 6px