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
@@ -0,0 +1,546 @@
1
+ {
2
+ "mixins": [ "composables/private/use-form" ],
3
+
4
+ "props": {
5
+ "min": {
6
+ "type": "Number",
7
+ "desc": "Minimum value of the model; Set track's minimum value",
8
+ "default": 0,
9
+ "examples": [ ":min=\"0\"" ],
10
+ "category": "model"
11
+ },
12
+
13
+ "max": {
14
+ "type": "Number",
15
+ "desc": "Maximum value of the model; Set track's maximum value",
16
+ "default": 100,
17
+ "examples": [ ":max=\"100\"" ],
18
+ "category": "model"
19
+ },
20
+
21
+ "inner-min": {
22
+ "type": "Number",
23
+ "desc": "Inner minimum value of the model; Use in case you need the model value to be inside of the track's min-max values; Needs to be higher or equal to 'min' prop; Defaults to 'min' prop",
24
+ "examples": [ ":inner-min=\"0\"" ],
25
+ "category": "model",
26
+ "addedIn": "v2.4"
27
+ },
28
+
29
+ "inner-max": {
30
+ "type": "Number",
31
+ "desc": "Inner maximum value of the model; Use in case you need the model value to be inside of the track's min-max values; Needs to be lower or equal to 'max' prop; Defaults to 'max' prop",
32
+ "examples": [ ":max-value=\"100\"" ],
33
+ "category": "model",
34
+ "addedIn": "v2.4"
35
+ },
36
+
37
+ "step": {
38
+ "type": "Number",
39
+ "desc": "Specify step amount between valid values (> 0.0); When step equals to 0 it defines infinite granularity",
40
+ "default": 1,
41
+ "examples": [ ":step=\"1\"" ],
42
+ "category": "model"
43
+ },
44
+
45
+ "snap": {
46
+ "type": "Boolean",
47
+ "desc": "Snap on valid values, rather than sliding freely; Suggestion: use with 'step' prop",
48
+ "category": "behavior"
49
+ },
50
+
51
+ "reverse": {
52
+ "type": "Boolean",
53
+ "desc": "Work in reverse (changes direction)",
54
+ "category": "behavior"
55
+ },
56
+
57
+ "vertical": {
58
+ "type": "Boolean",
59
+ "desc": "Display in vertical direction",
60
+ "category": "behavior"
61
+ },
62
+
63
+ "color": {
64
+ "extends": "color"
65
+ },
66
+
67
+ "track-color": {
68
+ "extends": "color",
69
+ "desc": "Color name for the track (can be 'transparent' too) from the Quasar Color Palette",
70
+ "addedIn": "v2.4"
71
+ },
72
+
73
+ "track-img": {
74
+ "type": "String",
75
+ "desc": "Apply a pattern image on the track",
76
+ "transformAssetUrls": true,
77
+ "examples": [ "~assets/my-pattern.png" ],
78
+ "category": "style",
79
+ "addedIn": "v2.4"
80
+ },
81
+
82
+ "inner-track-color": {
83
+ "extends": "color",
84
+ "desc": "Color name for the inner track (can be 'transparent' too) from the Quasar Color Palette",
85
+ "addedIn": "v2.4"
86
+ },
87
+
88
+ "inner-track-img": {
89
+ "type": "String",
90
+ "desc": "Apply a pattern image on the inner track",
91
+ "transformAssetUrls": true,
92
+ "examples": [ "~assets/my-pattern.png" ],
93
+ "category": "style",
94
+ "addedIn": "v2.4"
95
+ },
96
+
97
+ "selection-color": {
98
+ "extends": "color",
99
+ "desc": "Color name for the selection bar (can be 'transparent' too) from the Quasar Color Palette",
100
+ "addedIn": "v2.4"
101
+ },
102
+
103
+ "selection-img": {
104
+ "type": "String",
105
+ "desc": "Apply a pattern image on the selection bar",
106
+ "transformAssetUrls": true,
107
+ "examples": [ "~assets/my-pattern.png" ],
108
+ "category": "style",
109
+ "addedIn": "v2.4"
110
+ },
111
+
112
+ "label": {
113
+ "type": "Boolean",
114
+ "desc": "Popup a label when user clicks/taps on the slider thumb and moves it",
115
+ "category": "content"
116
+ },
117
+
118
+ "label-color": {
119
+ "extends": "color"
120
+ },
121
+
122
+ "label-text-color": {
123
+ "extends": "color"
124
+ },
125
+
126
+ "switch-label-side": {
127
+ "type": "Boolean",
128
+ "desc": "Switch the position of the label (top <-> bottom or left <-> right)",
129
+ "category": "style",
130
+ "addedIn": "v2.4"
131
+ },
132
+
133
+ "label-always": {
134
+ "type": "Boolean",
135
+ "desc": "Always display the label",
136
+ "category": "behavior|content"
137
+ },
138
+
139
+ "markers": {
140
+ "type": [ "Boolean", "Number" ],
141
+ "desc": "Display markers on the track, one for each possible value for the model or using a custom step (when specifying a Number)",
142
+ "category": "content",
143
+ "examples": [
144
+ "markers",
145
+ ":markers=\"5\""
146
+ ]
147
+ },
148
+
149
+ "marker-labels": {
150
+ "type": [ "Boolean", "Array", "Object", "Function" ],
151
+ "tsType": "SliderMarkerLabels",
152
+ "desc": "Configure the marker labels (or show the default ones if 'true'); Array of definition Objects or Object with key-value where key is the model and the value is the marker label definition",
153
+ "definition": {
154
+ "value": {
155
+ "type": "Number",
156
+ "required": true,
157
+ "desc": "Value of equivalent model where to position the marker",
158
+ "__exemption": [ "examples" ]
159
+ },
160
+ "label": {
161
+ "type": [ "Number", "String" ],
162
+ "desc": "Label to use",
163
+ "__exemption": [ "examples" ]
164
+ },
165
+ "classes": {
166
+ "type": [ "String", "Array", "Object" ],
167
+ "desc": "CSS classes to be attributed to the marker label",
168
+ "examples": [ "my-class-name" ]
169
+ },
170
+ "style": {
171
+ "type": "Object",
172
+ "desc": "Style definitions to be attributed to the marker label",
173
+ "examples": [ "{ height: '24px' }" ]
174
+ }
175
+ },
176
+ "params": {
177
+ "value": {
178
+ "type": "Number",
179
+ "desc": "The marker value to transform",
180
+ "required": true,
181
+ "examples": [ "5" ]
182
+ }
183
+ },
184
+ "returns": {
185
+ "type": [ "String", "Object" ],
186
+ "desc": "Marker definition Object or directly a String for the label of the marker",
187
+ "definition": {
188
+ "value": {
189
+ "type": "Number",
190
+ "desc": "Value of equivalent model where to position the marker",
191
+ "__exemption": [ "examples" ]
192
+ },
193
+ "label": {
194
+ "type": [ "Number", "String" ],
195
+ "desc": "Label to use",
196
+ "__exemption": [ "examples" ]
197
+ },
198
+ "classes": {
199
+ "type": [ "String", "Array", "Object" ],
200
+ "desc": "CSS classes to be attributed to the marker label",
201
+ "examples": [ "my-class-name" ]
202
+ },
203
+ "style": {
204
+ "type": "Object",
205
+ "desc": "Style definitions to be attributed to the marker label",
206
+ "examples": [ "{ height: '24px' }" ]
207
+ }
208
+ }
209
+ },
210
+ "category": "content",
211
+ "examples": [
212
+ true,
213
+ "[ { value: 0, label: '0%' }, { value: 5, classes: 'my-class', style: { width: '24px' } } ]",
214
+ "{ 0: '0%', 5: { label: '5%', classes: 'my-class', style: { width: '24px' } } }",
215
+ "val => (10 * val) + '%'",
216
+ "val => ({ label: (10 * val) + '%', classes: 'my-class', style: { width: '24px' } })"
217
+ ],
218
+ "addedIn": "v2.4"
219
+ },
220
+
221
+ "marker-labels-class": {
222
+ "type": "String",
223
+ "desc": "CSS class(es) to apply to the marker labels container",
224
+ "examples": [ "text-orange" ],
225
+ "category": "style",
226
+ "addedIn": "v2.4"
227
+ },
228
+
229
+ "switch-marker-labels-side": {
230
+ "type": "Boolean",
231
+ "desc": "Switch the position of the marker labels (top <-> bottom or left <-> right)",
232
+ "category": "style",
233
+ "addedIn": "v2.4"
234
+ },
235
+
236
+ "track-size": {
237
+ "type": "String",
238
+ "desc": "Track size (including CSS unit)",
239
+ "default": "4px",
240
+ "examples": [ "35px" ],
241
+ "category": "style",
242
+ "addedIn": "v2.4"
243
+ },
244
+
245
+ "thumb-size": {
246
+ "type": "String",
247
+ "desc": "Thumb size (including CSS unit)",
248
+ "default": "20px",
249
+ "examples": [ "20px" ],
250
+ "category": "style",
251
+ "addedIn": "v2.4"
252
+ },
253
+
254
+ "thumb-color": {
255
+ "extends": "color",
256
+ "addedIn": "v2.4"
257
+ },
258
+
259
+ "thumb-path": {
260
+ "type": "String",
261
+ "desc": "Set custom thumb svg path",
262
+ "default": "M 4, 10 a 6,6 0 1,0 12,0 a 6,6 0 1,0 -12,0",
263
+ "examples": [ "M5 5 h10 v10 h-10 v-10" ],
264
+ "category": "style"
265
+ },
266
+
267
+ "dark": {
268
+ "extends": "dark"
269
+ },
270
+
271
+ "dense": {
272
+ "extends": "dense"
273
+ },
274
+
275
+ "disable": {
276
+ "extends": "disable"
277
+ },
278
+
279
+ "readonly": {
280
+ "extends": "readonly"
281
+ },
282
+
283
+ "tabindex": {
284
+ "extends": "tabindex"
285
+ }
286
+ },
287
+
288
+ "slots": {
289
+ "marker-label": {
290
+ "desc": "What should the menu display after filtering options and none are left to be displayed; Suggestion: <div>",
291
+ "addedIn": "v2.4",
292
+ "scope": {
293
+ "marker": {
294
+ "type": "Object",
295
+ "tsType": "SliderMarkerLabelConfig",
296
+ "desc": "Config for current marker label",
297
+ "definition": {
298
+ "index": {
299
+ "type": "Number",
300
+ "desc": "Index of the marker label (0-based)",
301
+ "__exemption": [ "examples" ]
302
+ },
303
+ "value": {
304
+ "type": "Number",
305
+ "desc": "Equivalent model value for the marker label",
306
+ "__exemption": [ "examples" ]
307
+ },
308
+ "label": {
309
+ "type": [ "Number", "String" ],
310
+ "desc": "Configured label for the marker",
311
+ "__exemption": [ "examples" ]
312
+ },
313
+ "classes": {
314
+ "type": "String",
315
+ "desc": "Required CSS classes to be applied to the marker element",
316
+ "__exemption": [ "examples" ]
317
+ },
318
+ "style": {
319
+ "type": "Object",
320
+ "desc": "Style definitions to be attributed to the marker label",
321
+ "examples": [ "{ height: '24px' }" ]
322
+ }
323
+ }
324
+ },
325
+
326
+ "markerList": {
327
+ "type": "Array",
328
+ "tsType": "SliderMarkerLabelArrayConfig",
329
+ "desc": "Array of marker label configs",
330
+ "definition": {
331
+ "index": {
332
+ "type": "Number",
333
+ "desc": "Index of the marker label (0-based)",
334
+ "__exemption": [ "examples" ]
335
+ },
336
+ "value": {
337
+ "type": "Number",
338
+ "desc": "Equivalent model value for the marker label",
339
+ "__exemption": [ "examples" ]
340
+ },
341
+ "label": {
342
+ "type": [ "Number", "String" ],
343
+ "desc": "Configured label for the marker",
344
+ "__exemption": [ "examples" ]
345
+ },
346
+ "classes": {
347
+ "type": "String",
348
+ "desc": "Required CSS classes to be applied to the marker element",
349
+ "__exemption": [ "examples" ]
350
+ },
351
+ "style": {
352
+ "type": "Object",
353
+ "desc": "Style definitions to be attributed to the marker label",
354
+ "examples": [ "{ height: '24px' }" ]
355
+ }
356
+ }
357
+ },
358
+
359
+ "markerMap": {
360
+ "type": "Object",
361
+ "tsType": "SliderMarkerLabelObjectConfig",
362
+ "desc": "Object with key-value where key is the model and the value is the marker label config",
363
+ "definition": {
364
+ "...key": {
365
+ "type": "Object",
366
+ "desc": "Marker label config",
367
+ "definition": {
368
+ "index": {
369
+ "type": "Number",
370
+ "desc": "Index of the marker label (0-based)",
371
+ "__exemption": [ "examples" ]
372
+ },
373
+ "value": {
374
+ "type": "Number",
375
+ "desc": "Equivalent model value for the marker label",
376
+ "__exemption": [ "examples" ]
377
+ },
378
+ "label": {
379
+ "type": [ "Number", "String" ],
380
+ "desc": "Configured label for the marker",
381
+ "__exemption": [ "examples" ]
382
+ },
383
+ "classes": {
384
+ "type": "String",
385
+ "desc": "Required CSS classes to be applied to the marker element",
386
+ "__exemption": [ "examples" ]
387
+ },
388
+ "style": {
389
+ "type": "Object",
390
+ "desc": "Style definitions to be attributed to the marker label",
391
+ "examples": [ "{ height: '24px' }" ]
392
+ }
393
+ }
394
+ }
395
+ }
396
+ },
397
+
398
+ "classes": {
399
+ "type": "String",
400
+ "desc": "Required CSS classes to be applied to the marker element",
401
+ "__exemption": [ "examples" ]
402
+ },
403
+
404
+ "getStyle": {
405
+ "type": "Function",
406
+ "desc": "Get CSS style Object to apply to a marker element at respective model value; For perf reasons, use only if requested model value is not already part of markerMap",
407
+ "params": {
408
+ "value": {
409
+ "type": "Number",
410
+ "desc": "The marker label equivalent model value",
411
+ "required": true,
412
+ "examples": [ "5" ]
413
+ }
414
+ },
415
+ "returns": {
416
+ "type": "Object",
417
+ "desc": "CSS style Object to apply to a marker element at respective model value",
418
+ "__exemption": [ "examples" ]
419
+ },
420
+ "__exemption": [ "examples" ]
421
+ }
422
+ }
423
+ },
424
+
425
+ "marker-label-group": {
426
+ "desc": "What should the menu display after filtering options and none are left to be displayed; Suggestion: <div>",
427
+ "addedIn": "v2.4",
428
+ "scope": {
429
+ "markerList": {
430
+ "type": "Array",
431
+ "tsType": "SliderMarkerLabelArrayConfig",
432
+ "desc": "Array of marker label configs",
433
+ "definition": {
434
+ "index": {
435
+ "type": "Number",
436
+ "desc": "Index of the marker label (0-based)",
437
+ "__exemption": [ "examples" ]
438
+ },
439
+ "value": {
440
+ "type": "Number",
441
+ "desc": "Equivalent model value for the marker label",
442
+ "__exemption": [ "examples" ]
443
+ },
444
+ "label": {
445
+ "type": [ "Number", "String" ],
446
+ "desc": "Configured label for the marker",
447
+ "__exemption": [ "examples" ]
448
+ },
449
+ "classes": {
450
+ "type": "String",
451
+ "desc": "Required CSS classes to be applied to the marker element",
452
+ "__exemption": [ "examples" ]
453
+ },
454
+ "style": {
455
+ "type": "Object",
456
+ "desc": "Style definitions to be attributed to the marker label",
457
+ "examples": [ "{ height: '24px' }" ]
458
+ }
459
+ }
460
+ },
461
+
462
+ "markerMap": {
463
+ "type": "Object",
464
+ "tsType": "SliderMarkerLabelObjectConfig",
465
+ "desc": "Object with key-value where key is the model and the value is the marker label config",
466
+ "definition": {
467
+ "...key": {
468
+ "type": "Object",
469
+ "desc": "Marker label config",
470
+ "definition": {
471
+ "index": {
472
+ "type": "Number",
473
+ "desc": "Index of the marker label (0-based)",
474
+ "__exemption": [ "examples" ]
475
+ },
476
+ "value": {
477
+ "type": "Number",
478
+ "desc": "Equivalent model value for the marker label",
479
+ "__exemption": [ "examples" ]
480
+ },
481
+ "label": {
482
+ "type": [ "Number", "String" ],
483
+ "desc": "Configured label for the marker",
484
+ "__exemption": [ "examples" ]
485
+ },
486
+ "classes": {
487
+ "type": "String",
488
+ "desc": "Required CSS classes to be applied to the marker element",
489
+ "__exemption": [ "examples" ]
490
+ },
491
+ "style": {
492
+ "type": "Object",
493
+ "desc": "Style definitions to be attributed to the marker label",
494
+ "examples": [ "{ height: '24px' }" ]
495
+ }
496
+ }
497
+ }
498
+ }
499
+ },
500
+
501
+ "classes": {
502
+ "type": "String",
503
+ "desc": "Required CSS classes to be applied to the marker element",
504
+ "__exemption": [ "examples" ]
505
+ },
506
+
507
+ "getStyle": {
508
+ "type": "Function",
509
+ "desc": "Get CSS style Object to apply to a marker element at respective model value; For perf reasons, use only if requested model value is not already part of markerMap",
510
+ "params": {
511
+ "value": {
512
+ "type": "Number",
513
+ "desc": "The marker label equivalent model value",
514
+ "required": true,
515
+ "examples": [ "5" ]
516
+ }
517
+ },
518
+ "returns": {
519
+ "type": "Object",
520
+ "desc": "CSS style Object to apply to a marker element at respective model value",
521
+ "__exemption": [ "examples" ]
522
+ },
523
+ "__exemption": [ "examples" ]
524
+ }
525
+ }
526
+ }
527
+ },
528
+
529
+ "events": {
530
+ "change": {
531
+ "extends": "update:model-value",
532
+ "desc": "Emitted on lazy model value change (after user slides then releases the thumb)"
533
+ },
534
+
535
+ "pan": {
536
+ "desc": "Triggered when user starts panning on the component",
537
+ "params": {
538
+ "phase": {
539
+ "type": "String",
540
+ "desc": "Phase of panning",
541
+ "values": [ "start", "end" ]
542
+ }
543
+ }
544
+ }
545
+ }
546
+ }
@@ -13,10 +13,10 @@ const camelRE = /(-\w)/g
13
13
 
14
14
  function camelizeProps (props) {
15
15
  const acc = {}
16
- Object.keys(props).forEach(key => {
16
+ for (const key in props) {
17
17
  const newKey = key.replace(camelRE, m => m[ 1 ].toUpperCase())
18
18
  acc[ newKey ] = props[ key ]
19
- })
19
+ }
20
20
  return acc
21
21
  }
22
22
 
@@ -68,7 +68,6 @@ export default createComponent({
68
68
  `q-stepper q-stepper--${ props.vertical === true ? 'vertical' : 'horizontal' }`
69
69
  + (props.flat === true || isDark.value === true ? ' q-stepper--flat no-shadow' : '')
70
70
  + (props.bordered === true || (isDark.value === true && props.flat === false) ? ' q-stepper--bordered' : '')
71
- + (props.contracted === true ? ' q-stepper--contracted' : '')
72
71
  + (isDark.value === true ? ' q-stepper--dark q-dark' : '')
73
72
  )
74
73
 
@@ -76,6 +75,7 @@ export default createComponent({
76
75
  'q-stepper__header row items-stretch justify-between'
77
76
  + ` q-stepper__header--${ props.alternativeLabels === true ? 'alternative' : 'standard' }-labels`
78
77
  + (props.flat === false || props.bordered === true ? ' q-stepper__header--border' : '')
78
+ + (props.contracted === true ? ' q-stepper__header--contracted' : '')
79
79
  + (props.headerClass !== void 0 ? ` ${ props.headerClass }` : '')
80
80
  )
81
81
 
@@ -87,6 +87,30 @@
87
87
  text-align: center
88
88
  &:before, &:after
89
89
  display: none
90
+ &--contracted
91
+ min-height: 72px
92
+ &.q-stepper__header--alternative-labels
93
+ .q-stepper__tab
94
+ min-height: 72px
95
+ &:first-child
96
+ align-items: flex-start
97
+ &:last-child
98
+ align-items: flex-end
99
+ .q-stepper__tab
100
+ padding: 24px 0
101
+ &:first-child
102
+ .q-stepper__dot
103
+ transform: translateX(24px)
104
+ &:last-child
105
+ .q-stepper__dot
106
+ transform: translateX(-24px)
107
+ .q-stepper__tab:not(:last-child)
108
+ .q-stepper__dot:after
109
+ display: block !important
110
+ .q-stepper__dot
111
+ margin: 0
112
+ .q-stepper__label
113
+ display: none
90
114
 
91
115
  &__nav
92
116
  padding-top: 24px
@@ -182,29 +206,3 @@
182
206
  background: $separator-dark-color
183
207
  .q-stepper__label
184
208
  color: rgba(255,255,255,.54)
185
-
186
- &--contracted
187
- .q-stepper__header
188
- min-height: 72px
189
- &--alternative-labels
190
- .q-stepper__tab
191
- min-height: 72px
192
- &:first-child
193
- align-items: flex-start
194
- &:last-child
195
- align-items: flex-end
196
- .q-stepper__tab
197
- padding: 24px 0
198
- &:first-child
199
- .q-stepper__dot
200
- transform: translateX(24px)
201
- &:last-child
202
- .q-stepper__dot
203
- transform: translateX(-24px)
204
- .q-stepper__tab:not(:last-child)
205
- .q-stepper__dot:after
206
- display: block !important
207
- .q-stepper__dot
208
- margin: 0
209
- .q-stepper__label
210
- display: none