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
@@ -12,44 +12,9 @@
12
12
  ],
13
13
  "category": "behavior"
14
14
  },
15
- "model-value": {
16
- "desc": "Model of the component of type { min, max } (both values must be between global min/max); Either use this property (along with a listener for 'update:modelValue' event) OR use v-model directive",
17
- "required": true,
18
- "category": "model",
19
- "type": [
20
- "Object",
21
- "null",
22
- "undefined"
23
- ],
24
- "definition": {
25
- "min": {
26
- "type": [
27
- "Number",
28
- "null"
29
- ],
30
- "desc": "Model value for left thumb",
31
- "examples": [
32
- 2
33
- ]
34
- },
35
- "max": {
36
- "type": [
37
- "Number",
38
- "null"
39
- ],
40
- "desc": "Model value for right thumb",
41
- "examples": [
42
- 12
43
- ]
44
- }
45
- },
46
- "examples": [
47
- "v-model=\"positionModel\""
48
- ]
49
- },
50
15
  "min": {
51
16
  "type": "Number",
52
- "desc": "Minimum value of the model",
17
+ "desc": "Minimum value of the model; Set track's minimum value",
53
18
  "default": 0,
54
19
  "examples": [
55
20
  ":min=\"0\""
@@ -59,7 +24,7 @@
59
24
  },
60
25
  "max": {
61
26
  "type": "Number",
62
- "desc": "Maximum value of the model",
27
+ "desc": "Maximum value of the model; Set track's maximum value",
63
28
  "default": 100,
64
29
  "examples": [
65
30
  ":max=\"100\""
@@ -67,6 +32,24 @@
67
32
  "category": "model",
68
33
  "required": false
69
34
  },
35
+ "inner-min": {
36
+ "type": "Number",
37
+ "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",
38
+ "examples": [
39
+ ":inner-min=\"0\""
40
+ ],
41
+ "category": "model",
42
+ "addedIn": "v2.4"
43
+ },
44
+ "inner-max": {
45
+ "type": "Number",
46
+ "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",
47
+ "examples": [
48
+ ":max-value=\"100\""
49
+ ],
50
+ "category": "model",
51
+ "addedIn": "v2.4"
52
+ },
70
53
  "step": {
71
54
  "type": "Number",
72
55
  "desc": "Specify step amount between valid values (> 0.0); When step equals to 0 it defines infinite granularity",
@@ -77,6 +60,11 @@
77
60
  "category": "model",
78
61
  "required": false
79
62
  },
63
+ "snap": {
64
+ "type": "Boolean",
65
+ "desc": "Snap on valid values, rather than sliding freely; Suggestion: use with 'step' prop",
66
+ "category": "behavior"
67
+ },
80
68
  "reverse": {
81
69
  "type": "Boolean",
82
70
  "desc": "Work in reverse (changes direction)",
@@ -87,16 +75,6 @@
87
75
  "desc": "Display in vertical direction",
88
76
  "category": "behavior"
89
77
  },
90
- "drag-range": {
91
- "type": "Boolean",
92
- "desc": "User can drag range instead of just the two thumbs",
93
- "category": "content"
94
- },
95
- "drag-only-range": {
96
- "type": "Boolean",
97
- "desc": "User can drag only the range instead and NOT the two thumbs",
98
- "category": "content"
99
- },
100
78
  "color": {
101
79
  "type": "String",
102
80
  "desc": "Color name for component from the Quasar Color Palette",
@@ -106,91 +84,99 @@
106
84
  ],
107
85
  "category": "style"
108
86
  },
109
- "label": {
110
- "type": "Boolean",
111
- "desc": "Popup labels (for left and right thumbs) when user clicks/taps on the slider thumb and moves it",
112
- "category": "labels"
113
- },
114
- "label-color": {
87
+ "track-color": {
115
88
  "type": "String",
116
- "desc": "Color name for labels background from the Quasar Color Palette; Applies to both labels, unless specific label color props are used",
89
+ "desc": "Color name for the track (can be 'transparent' too) from the Quasar Color Palette",
117
90
  "examples": [
118
91
  "primary",
119
92
  "teal-10"
120
93
  ],
121
- "category": "labels"
94
+ "category": "style",
95
+ "addedIn": "v2.4"
122
96
  },
123
- "label-text-color": {
97
+ "track-img": {
124
98
  "type": "String",
125
- "desc": "Color name for labels text from the Quasar Color Palette; Applies to both labels, unless specific label text color props are used",
99
+ "desc": "Apply a pattern image on the track",
100
+ "transformAssetUrls": true,
126
101
  "examples": [
127
- "primary",
128
- "teal-10"
102
+ "~assets/my-pattern.png"
129
103
  ],
130
- "category": "labels"
104
+ "category": "style",
105
+ "addedIn": "v2.4"
131
106
  },
132
- "left-label-color": {
107
+ "inner-track-color": {
133
108
  "type": "String",
134
- "desc": "Color name for left label background from the Quasar Color Palette",
109
+ "desc": "Color name for the inner track (can be 'transparent' too) from the Quasar Color Palette",
135
110
  "examples": [
136
111
  "primary",
137
112
  "teal-10"
138
113
  ],
139
- "category": "labels"
114
+ "category": "style",
115
+ "addedIn": "v2.4"
140
116
  },
141
- "left-label-text-color": {
117
+ "inner-track-img": {
142
118
  "type": "String",
143
- "desc": "Color name for left label text from the Quasar Color Palette",
119
+ "desc": "Apply a pattern image on the inner track",
120
+ "transformAssetUrls": true,
144
121
  "examples": [
145
- "primary",
146
- "teal-10"
122
+ "~assets/my-pattern.png"
147
123
  ],
148
- "category": "labels"
124
+ "category": "style",
125
+ "addedIn": "v2.4"
149
126
  },
150
- "right-label-color": {
127
+ "selection-color": {
151
128
  "type": "String",
152
- "desc": "Color name for right label background from the Quasar Color Palette",
129
+ "desc": "Color name for the selection bar (can be 'transparent' too) from the Quasar Color Palette",
153
130
  "examples": [
154
131
  "primary",
155
132
  "teal-10"
156
133
  ],
157
- "category": "labels"
134
+ "category": "style",
135
+ "addedIn": "v2.4"
158
136
  },
159
- "right-label-text-color": {
137
+ "selection-img": {
160
138
  "type": "String",
161
- "desc": "Color name for right label text from the Quasar Color Palette",
139
+ "desc": "Apply a pattern image on the selection bar",
140
+ "transformAssetUrls": true,
162
141
  "examples": [
163
- "primary",
164
- "teal-10"
142
+ "~assets/my-pattern.png"
165
143
  ],
166
- "category": "labels"
144
+ "category": "style",
145
+ "addedIn": "v2.4"
167
146
  },
168
- "left-label-value": {
169
- "type": [
170
- "String",
171
- "Number"
172
- ],
173
- "desc": "Override default label for min value",
147
+ "label": {
148
+ "type": "Boolean",
149
+ "desc": "Popup a label when user clicks/taps on the slider thumb and moves it",
150
+ "category": "content"
151
+ },
152
+ "label-color": {
153
+ "type": "String",
154
+ "desc": "Color name for component from the Quasar Color Palette",
174
155
  "examples": [
175
- ":left-label-value=\"model.min + 'px'\""
156
+ "primary",
157
+ "teal-10"
176
158
  ],
177
- "category": "labels"
159
+ "category": "style"
178
160
  },
179
- "right-label-value": {
180
- "type": [
181
- "String",
182
- "Number"
183
- ],
184
- "desc": "Override default label for max value",
161
+ "label-text-color": {
162
+ "type": "String",
163
+ "desc": "Color name for component from the Quasar Color Palette",
185
164
  "examples": [
186
- ":right-label-value=\"model.max + 'px'\""
165
+ "primary",
166
+ "teal-10"
187
167
  ],
188
- "category": "labels"
168
+ "category": "style"
169
+ },
170
+ "switch-label-side": {
171
+ "type": "Boolean",
172
+ "desc": "Switch the position of the label (top <-> bottom or left <-> right)",
173
+ "category": "style",
174
+ "addedIn": "v2.4"
189
175
  },
190
176
  "label-always": {
191
177
  "type": "Boolean",
192
- "desc": "Always display the labels",
193
- "category": "labels"
178
+ "desc": "Always display the label",
179
+ "category": "behavior|content"
194
180
  },
195
181
  "markers": {
196
182
  "type": [
@@ -204,14 +190,155 @@
204
190
  ":markers=\"5\""
205
191
  ]
206
192
  },
207
- "snap": {
193
+ "marker-labels": {
194
+ "type": [
195
+ "Boolean",
196
+ "Array",
197
+ "Object",
198
+ "Function"
199
+ ],
200
+ "tsType": "SliderMarkerLabels",
201
+ "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",
202
+ "definition": {
203
+ "value": {
204
+ "type": "Number",
205
+ "required": true,
206
+ "desc": "Value of equivalent model where to position the marker"
207
+ },
208
+ "label": {
209
+ "type": [
210
+ "Number",
211
+ "String"
212
+ ],
213
+ "desc": "Label to use"
214
+ },
215
+ "classes": {
216
+ "type": [
217
+ "String",
218
+ "Array",
219
+ "Object"
220
+ ],
221
+ "desc": "CSS classes to be attributed to the marker label",
222
+ "examples": [
223
+ "my-class-name"
224
+ ]
225
+ },
226
+ "style": {
227
+ "type": "Object",
228
+ "desc": "Style definitions to be attributed to the marker label",
229
+ "examples": [
230
+ "{ height: '24px' }"
231
+ ]
232
+ }
233
+ },
234
+ "params": {
235
+ "value": {
236
+ "type": "Number",
237
+ "desc": "The marker value to transform",
238
+ "required": true,
239
+ "examples": [
240
+ "5"
241
+ ]
242
+ }
243
+ },
244
+ "returns": {
245
+ "type": [
246
+ "String",
247
+ "Object"
248
+ ],
249
+ "desc": "Marker definition Object or directly a String for the label of the marker",
250
+ "definition": {
251
+ "value": {
252
+ "type": "Number",
253
+ "desc": "Value of equivalent model where to position the marker"
254
+ },
255
+ "label": {
256
+ "type": [
257
+ "Number",
258
+ "String"
259
+ ],
260
+ "desc": "Label to use"
261
+ },
262
+ "classes": {
263
+ "type": [
264
+ "String",
265
+ "Array",
266
+ "Object"
267
+ ],
268
+ "desc": "CSS classes to be attributed to the marker label",
269
+ "examples": [
270
+ "my-class-name"
271
+ ]
272
+ },
273
+ "style": {
274
+ "type": "Object",
275
+ "desc": "Style definitions to be attributed to the marker label",
276
+ "examples": [
277
+ "{ height: '24px' }"
278
+ ]
279
+ }
280
+ }
281
+ },
282
+ "category": "content",
283
+ "examples": [
284
+ true,
285
+ "[ { value: 0, label: '0%' }, { value: 5, classes: 'my-class', style: { width: '24px' } } ]",
286
+ "{ 0: '0%', 5: { label: '5%', classes: 'my-class', style: { width: '24px' } } }",
287
+ "val => (10 * val) + '%'",
288
+ "val => ({ label: (10 * val) + '%', classes: 'my-class', style: { width: '24px' } })"
289
+ ],
290
+ "addedIn": "v2.4"
291
+ },
292
+ "marker-labels-class": {
293
+ "type": "String",
294
+ "desc": "CSS class(es) to apply to the marker labels container",
295
+ "examples": [
296
+ "text-orange"
297
+ ],
298
+ "category": "style",
299
+ "addedIn": "v2.4"
300
+ },
301
+ "switch-marker-labels-side": {
208
302
  "type": "Boolean",
209
- "desc": "Snap thumbs on valid values, rather than sliding freely; Suggestion: use with 'step' prop",
210
- "category": "content"
303
+ "desc": "Switch the position of the marker labels (top <-> bottom or left <-> right)",
304
+ "category": "style",
305
+ "addedIn": "v2.4"
306
+ },
307
+ "track-size": {
308
+ "type": "String",
309
+ "desc": "Track size (including CSS unit)",
310
+ "default": "4px",
311
+ "examples": [
312
+ "35px"
313
+ ],
314
+ "category": "style",
315
+ "addedIn": "v2.4",
316
+ "required": false
317
+ },
318
+ "thumb-size": {
319
+ "type": "String",
320
+ "desc": "Thumb size (including CSS unit)",
321
+ "default": "20px",
322
+ "examples": [
323
+ "20px"
324
+ ],
325
+ "category": "style",
326
+ "addedIn": "v2.4",
327
+ "required": false
328
+ },
329
+ "thumb-color": {
330
+ "type": "String",
331
+ "desc": "Color name for component from the Quasar Color Palette",
332
+ "examples": [
333
+ "primary",
334
+ "teal-10"
335
+ ],
336
+ "category": "style",
337
+ "addedIn": "v2.4"
211
338
  },
212
339
  "thumb-path": {
213
340
  "type": "String",
214
- "desc": "Set custom thumbs svg path",
341
+ "desc": "Set custom thumb svg path",
215
342
  "default": "M 4, 10 a 6,6 0 1,0 12,0 a 6,6 0 1,0 -12,0",
216
343
  "examples": [
217
344
  "M5 5 h10 v10 h-10 v-10"
@@ -250,21 +377,369 @@
250
377
  "100"
251
378
  ],
252
379
  "category": "general"
380
+ },
381
+ "model-value": {
382
+ "desc": "Model of the component of type { min, max } (both values must be between global min/max); Either use this property (along with a listener for 'update:modelValue' event) OR use v-model directive",
383
+ "required": true,
384
+ "category": "model",
385
+ "type": [
386
+ "Object",
387
+ "null",
388
+ "undefined"
389
+ ],
390
+ "definition": {
391
+ "min": {
392
+ "type": [
393
+ "Number",
394
+ "null"
395
+ ],
396
+ "desc": "Model value for left thumb",
397
+ "examples": [
398
+ 2
399
+ ]
400
+ },
401
+ "max": {
402
+ "type": [
403
+ "Number",
404
+ "null"
405
+ ],
406
+ "desc": "Model value for right thumb",
407
+ "examples": [
408
+ 12
409
+ ]
410
+ }
411
+ },
412
+ "examples": [
413
+ "v-model=\"positionModel\""
414
+ ]
415
+ },
416
+ "drag-range": {
417
+ "type": "Boolean",
418
+ "desc": "User can drag range instead of just the two thumbs",
419
+ "category": "content"
420
+ },
421
+ "drag-only-range": {
422
+ "type": "Boolean",
423
+ "desc": "User can drag only the range instead and NOT the two thumbs",
424
+ "category": "content"
425
+ },
426
+ "left-label-color": {
427
+ "type": "String",
428
+ "desc": "Color name for left label background from the Quasar Color Palette",
429
+ "examples": [
430
+ "primary",
431
+ "teal-10"
432
+ ],
433
+ "category": "labels"
434
+ },
435
+ "left-label-text-color": {
436
+ "type": "String",
437
+ "desc": "Color name for left label text from the Quasar Color Palette",
438
+ "examples": [
439
+ "primary",
440
+ "teal-10"
441
+ ],
442
+ "category": "labels"
443
+ },
444
+ "right-label-color": {
445
+ "type": "String",
446
+ "desc": "Color name for right label background from the Quasar Color Palette",
447
+ "examples": [
448
+ "primary",
449
+ "teal-10"
450
+ ],
451
+ "category": "labels"
452
+ },
453
+ "right-label-text-color": {
454
+ "type": "String",
455
+ "desc": "Color name for right label text from the Quasar Color Palette",
456
+ "examples": [
457
+ "primary",
458
+ "teal-10"
459
+ ],
460
+ "category": "labels"
461
+ },
462
+ "left-label-value": {
463
+ "type": [
464
+ "String",
465
+ "Number"
466
+ ],
467
+ "desc": "Override default label for min value",
468
+ "examples": [
469
+ ":left-label-value=\"model.min + 'px'\""
470
+ ],
471
+ "category": "labels"
472
+ },
473
+ "right-label-value": {
474
+ "type": [
475
+ "String",
476
+ "Number"
477
+ ],
478
+ "desc": "Override default label for max value",
479
+ "examples": [
480
+ ":right-label-value=\"model.max + 'px'\""
481
+ ],
482
+ "category": "labels"
483
+ },
484
+ "left-thumb-color": {
485
+ "type": "String",
486
+ "desc": "Color name (from the Quasar Color Palette) for left thumb",
487
+ "examples": [
488
+ "primary",
489
+ "teal-10"
490
+ ],
491
+ "category": "labels",
492
+ "addedIn": "v2.4"
493
+ },
494
+ "right-thumb-color": {
495
+ "type": "String",
496
+ "desc": "Color name (from the Quasar Color Palette) for right thumb",
497
+ "examples": [
498
+ "primary",
499
+ "teal-10"
500
+ ],
501
+ "category": "labels",
502
+ "addedIn": "v2.4"
253
503
  }
254
504
  },
255
- "events": {
256
- "update:model-value": {
257
- "desc": "Emitted when the component needs to change the model; Is also used by v-model",
258
- "params": {
259
- "value": {
260
- "type": "Any",
261
- "desc": "New model value",
262
- "required": true
505
+ "slots": {
506
+ "marker-label": {
507
+ "desc": "What should the menu display after filtering options and none are left to be displayed; Suggestion: <div>",
508
+ "addedIn": "v2.4",
509
+ "scope": {
510
+ "marker": {
511
+ "type": "Object",
512
+ "tsType": "SliderMarkerLabelConfig",
513
+ "desc": "Config for current marker label",
514
+ "definition": {
515
+ "index": {
516
+ "type": "Number",
517
+ "desc": "Index of the marker label (0-based)"
518
+ },
519
+ "value": {
520
+ "type": "Number",
521
+ "desc": "Equivalent model value for the marker label"
522
+ },
523
+ "label": {
524
+ "type": [
525
+ "Number",
526
+ "String"
527
+ ],
528
+ "desc": "Configured label for the marker"
529
+ },
530
+ "classes": {
531
+ "type": "String",
532
+ "desc": "Required CSS classes to be applied to the marker element"
533
+ },
534
+ "style": {
535
+ "type": "Object",
536
+ "desc": "Style definitions to be attributed to the marker label",
537
+ "examples": [
538
+ "{ height: '24px' }"
539
+ ]
540
+ }
541
+ }
542
+ },
543
+ "markerList": {
544
+ "type": "Array",
545
+ "tsType": "SliderMarkerLabelArrayConfig",
546
+ "desc": "Array of marker label configs",
547
+ "definition": {
548
+ "index": {
549
+ "type": "Number",
550
+ "desc": "Index of the marker label (0-based)"
551
+ },
552
+ "value": {
553
+ "type": "Number",
554
+ "desc": "Equivalent model value for the marker label"
555
+ },
556
+ "label": {
557
+ "type": [
558
+ "Number",
559
+ "String"
560
+ ],
561
+ "desc": "Configured label for the marker"
562
+ },
563
+ "classes": {
564
+ "type": "String",
565
+ "desc": "Required CSS classes to be applied to the marker element"
566
+ },
567
+ "style": {
568
+ "type": "Object",
569
+ "desc": "Style definitions to be attributed to the marker label",
570
+ "examples": [
571
+ "{ height: '24px' }"
572
+ ]
573
+ }
574
+ }
575
+ },
576
+ "markerMap": {
577
+ "type": "Object",
578
+ "tsType": "SliderMarkerLabelObjectConfig",
579
+ "desc": "Object with key-value where key is the model and the value is the marker label config",
580
+ "definition": {
581
+ "...key": {
582
+ "type": "Object",
583
+ "desc": "Marker label config",
584
+ "definition": {
585
+ "index": {
586
+ "type": "Number",
587
+ "desc": "Index of the marker label (0-based)"
588
+ },
589
+ "value": {
590
+ "type": "Number",
591
+ "desc": "Equivalent model value for the marker label"
592
+ },
593
+ "label": {
594
+ "type": [
595
+ "Number",
596
+ "String"
597
+ ],
598
+ "desc": "Configured label for the marker"
599
+ },
600
+ "classes": {
601
+ "type": "String",
602
+ "desc": "Required CSS classes to be applied to the marker element"
603
+ },
604
+ "style": {
605
+ "type": "Object",
606
+ "desc": "Style definitions to be attributed to the marker label",
607
+ "examples": [
608
+ "{ height: '24px' }"
609
+ ]
610
+ }
611
+ }
612
+ }
613
+ }
614
+ },
615
+ "classes": {
616
+ "type": "String",
617
+ "desc": "Required CSS classes to be applied to the marker element"
618
+ },
619
+ "getStyle": {
620
+ "type": "Function",
621
+ "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",
622
+ "params": {
623
+ "value": {
624
+ "type": "Number",
625
+ "desc": "The marker label equivalent model value",
626
+ "required": true,
627
+ "examples": [
628
+ "5"
629
+ ]
630
+ }
631
+ },
632
+ "returns": {
633
+ "type": "Object",
634
+ "desc": "CSS style Object to apply to a marker element at respective model value"
635
+ }
263
636
  }
264
637
  }
265
638
  },
639
+ "marker-label-group": {
640
+ "desc": "What should the menu display after filtering options and none are left to be displayed; Suggestion: <div>",
641
+ "addedIn": "v2.4",
642
+ "scope": {
643
+ "markerList": {
644
+ "type": "Array",
645
+ "tsType": "SliderMarkerLabelArrayConfig",
646
+ "desc": "Array of marker label configs",
647
+ "definition": {
648
+ "index": {
649
+ "type": "Number",
650
+ "desc": "Index of the marker label (0-based)"
651
+ },
652
+ "value": {
653
+ "type": "Number",
654
+ "desc": "Equivalent model value for the marker label"
655
+ },
656
+ "label": {
657
+ "type": [
658
+ "Number",
659
+ "String"
660
+ ],
661
+ "desc": "Configured label for the marker"
662
+ },
663
+ "classes": {
664
+ "type": "String",
665
+ "desc": "Required CSS classes to be applied to the marker element"
666
+ },
667
+ "style": {
668
+ "type": "Object",
669
+ "desc": "Style definitions to be attributed to the marker label",
670
+ "examples": [
671
+ "{ height: '24px' }"
672
+ ]
673
+ }
674
+ }
675
+ },
676
+ "markerMap": {
677
+ "type": "Object",
678
+ "tsType": "SliderMarkerLabelObjectConfig",
679
+ "desc": "Object with key-value where key is the model and the value is the marker label config",
680
+ "definition": {
681
+ "...key": {
682
+ "type": "Object",
683
+ "desc": "Marker label config",
684
+ "definition": {
685
+ "index": {
686
+ "type": "Number",
687
+ "desc": "Index of the marker label (0-based)"
688
+ },
689
+ "value": {
690
+ "type": "Number",
691
+ "desc": "Equivalent model value for the marker label"
692
+ },
693
+ "label": {
694
+ "type": [
695
+ "Number",
696
+ "String"
697
+ ],
698
+ "desc": "Configured label for the marker"
699
+ },
700
+ "classes": {
701
+ "type": "String",
702
+ "desc": "Required CSS classes to be applied to the marker element"
703
+ },
704
+ "style": {
705
+ "type": "Object",
706
+ "desc": "Style definitions to be attributed to the marker label",
707
+ "examples": [
708
+ "{ height: '24px' }"
709
+ ]
710
+ }
711
+ }
712
+ }
713
+ }
714
+ },
715
+ "classes": {
716
+ "type": "String",
717
+ "desc": "Required CSS classes to be applied to the marker element"
718
+ },
719
+ "getStyle": {
720
+ "type": "Function",
721
+ "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",
722
+ "params": {
723
+ "value": {
724
+ "type": "Number",
725
+ "desc": "The marker label equivalent model value",
726
+ "required": true,
727
+ "examples": [
728
+ "5"
729
+ ]
730
+ }
731
+ },
732
+ "returns": {
733
+ "type": "Object",
734
+ "desc": "CSS style Object to apply to a marker element at respective model value"
735
+ }
736
+ }
737
+ }
738
+ }
739
+ },
740
+ "events": {
266
741
  "change": {
267
- "desc": "Emitted on lazy model value change (after user slides then releases thumb)",
742
+ "desc": "Emitted on lazy model value change (after user slides then releases the thumb)",
268
743
  "params": {
269
744
  "value": {
270
745
  "type": "Any",
@@ -285,6 +760,16 @@
285
760
  ]
286
761
  }
287
762
  }
763
+ },
764
+ "update:model-value": {
765
+ "desc": "Emitted when the component needs to change the model; Is also used by v-model",
766
+ "params": {
767
+ "value": {
768
+ "type": "Any",
769
+ "desc": "New model value",
770
+ "required": true
771
+ }
772
+ }
288
773
  }
289
774
  }
290
775
  }