quasar 2.3.1 → 2.4.0

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 (315) hide show
  1. package/dist/api/AppFullscreen.json +15 -8
  2. package/dist/api/BottomSheet.json +6 -0
  3. package/dist/api/Cookies.json +4 -3
  4. package/dist/api/Dialog.json +24 -10
  5. package/dist/api/Loading.json +0 -2
  6. package/dist/api/LoadingBar.json +8 -3
  7. package/dist/api/Morph.json +14 -7
  8. package/dist/api/Mutation.json +1 -1
  9. package/dist/api/Notify.json +41 -27
  10. package/dist/api/QAjaxBar.json +6 -3
  11. package/dist/api/QBreadcrumbs.json +8 -4
  12. package/dist/api/QBreadcrumbsEl.json +35 -12
  13. package/dist/api/QBtn.json +36 -17
  14. package/dist/api/QBtnDropdown.json +41 -20
  15. package/dist/api/QBtnToggle.json +7 -2
  16. package/dist/api/QCard.json +2 -1
  17. package/dist/api/QCardActions.json +2 -1
  18. package/dist/api/QCardSection.json +2 -1
  19. package/dist/api/QCarousel.json +10 -5
  20. package/dist/api/QCarouselControl.json +4 -2
  21. package/dist/api/QChatMessage.json +0 -4
  22. package/dist/api/QCheckbox.json +8 -4
  23. package/dist/api/QChip.json +2 -1
  24. package/dist/api/QCircularProgress.json +14 -7
  25. package/dist/api/QColor.json +6 -3
  26. package/dist/api/QDate.json +33 -5
  27. package/dist/api/QDialog.json +8 -4
  28. package/dist/api/QDrawer.json +10 -5
  29. package/dist/api/QEditor.json +10 -5
  30. package/dist/api/QExpansionItem.json +36 -13
  31. package/dist/api/QFab.json +41 -6
  32. package/dist/api/QFabAction.json +12 -2
  33. package/dist/api/QField.json +3 -1
  34. package/dist/api/QFile.json +8 -2
  35. package/dist/api/QFooter.json +2 -1
  36. package/dist/api/QForm.json +1 -1
  37. package/dist/api/QHeader.json +4 -2
  38. package/dist/api/QIcon.json +2 -1
  39. package/dist/api/QImg.json +8 -4
  40. package/dist/api/QInfiniteScroll.json +6 -3
  41. package/dist/api/QInnerLoading.json +8 -4
  42. package/dist/api/QInput.json +3 -1
  43. package/dist/api/QIntersection.json +4 -2
  44. package/dist/api/QItem.json +33 -11
  45. package/dist/api/QKnob.json +8 -4
  46. package/dist/api/QLayout.json +9 -1
  47. package/dist/api/QLinearProgress.json +4 -2
  48. package/dist/api/QMarkupTable.json +2 -1
  49. package/dist/api/QMenu.json +8 -4
  50. package/dist/api/QNoSsr.json +2 -1
  51. package/dist/api/QOptionGroup.json +76 -5
  52. package/dist/api/QPage.json +2 -1
  53. package/dist/api/QPageScroller.json +8 -4
  54. package/dist/api/QPageSticky.json +2 -1
  55. package/dist/api/QPagination.json +10 -6
  56. package/dist/api/QParallax.json +2 -1
  57. package/dist/api/QPopupEdit.json +5 -2
  58. package/dist/api/QPopupProxy.json +7 -4
  59. package/dist/api/QRange.json +600 -111
  60. package/dist/api/QRating.json +5 -2
  61. package/dist/api/QResizeObserver.json +4 -1
  62. package/dist/api/QRouteTab.json +35 -13
  63. package/dist/api/QScrollArea.json +29 -6
  64. package/dist/api/QScrollObserver.json +13 -1
  65. package/dist/api/QSelect.json +76 -47
  66. package/dist/api/QSeparator.json +2 -1
  67. package/dist/api/QSkeleton.json +8 -4
  68. package/dist/api/QSlideItem.json +9 -0
  69. package/dist/api/QSlideTransition.json +2 -1
  70. package/dist/api/QSlider.json +512 -43
  71. package/dist/api/QSpinner.json +2 -1
  72. package/dist/api/QSplitter.json +4 -2
  73. package/dist/api/QStep.json +2 -1
  74. package/dist/api/QStepper.json +6 -3
  75. package/dist/api/QTab.json +4 -2
  76. package/dist/api/QTabPanels.json +6 -3
  77. package/dist/api/QTable.json +154 -88
  78. package/dist/api/QTabs.json +4 -2
  79. package/dist/api/QTime.json +16 -4
  80. package/dist/api/QTimeline.json +4 -2
  81. package/dist/api/QTimelineEntry.json +4 -2
  82. package/dist/api/QToggle.json +8 -4
  83. package/dist/api/QTooltip.json +18 -9
  84. package/dist/api/QTree.json +34 -19
  85. package/dist/api/QUploader.json +28 -6
  86. package/dist/api/QVirtualScroll.json +26 -11
  87. package/dist/api/ScrollFire.json +1 -1
  88. package/dist/api/TouchHold.json +2 -1
  89. package/dist/api/TouchRepeat.json +2 -1
  90. package/dist/api/TouchSwipe.json +2 -1
  91. package/dist/icon-set/bootstrap-icons.umd.prod.js +1 -1
  92. package/dist/icon-set/eva-icons.umd.prod.js +1 -1
  93. package/dist/icon-set/fontawesome-v5-pro.umd.prod.js +1 -1
  94. package/dist/icon-set/fontawesome-v5.umd.prod.js +1 -1
  95. package/dist/icon-set/ionicons-v4.umd.prod.js +1 -1
  96. package/dist/icon-set/line-awesome.umd.prod.js +1 -1
  97. package/dist/icon-set/material-icons-outlined.umd.prod.js +1 -1
  98. package/dist/icon-set/material-icons-round.umd.prod.js +1 -1
  99. package/dist/icon-set/material-icons-sharp.umd.prod.js +1 -1
  100. package/dist/icon-set/material-icons.umd.prod.js +1 -1
  101. package/dist/icon-set/mdi-v3.umd.prod.js +1 -1
  102. package/dist/icon-set/mdi-v4.umd.prod.js +1 -1
  103. package/dist/icon-set/mdi-v5.umd.prod.js +1 -1
  104. package/dist/icon-set/mdi-v6.umd.prod.js +1 -1
  105. package/dist/icon-set/svg-bootstrap-icons.umd.prod.js +1 -1
  106. package/dist/icon-set/svg-eva-icons.umd.prod.js +1 -1
  107. package/dist/icon-set/svg-fontawesome-v5.umd.prod.js +1 -1
  108. package/dist/icon-set/svg-ionicons-v4.umd.prod.js +1 -1
  109. package/dist/icon-set/svg-ionicons-v5.umd.prod.js +1 -1
  110. package/dist/icon-set/svg-ionicons-v6.umd.prod.js +6 -0
  111. package/dist/icon-set/svg-line-awesome.umd.prod.js +1 -1
  112. package/dist/icon-set/svg-material-icons-outlined.umd.prod.js +1 -1
  113. package/dist/icon-set/svg-material-icons-round.umd.prod.js +1 -1
  114. package/dist/icon-set/svg-material-icons-sharp.umd.prod.js +1 -1
  115. package/dist/icon-set/svg-material-icons.umd.prod.js +1 -1
  116. package/dist/icon-set/svg-mdi-v4.umd.prod.js +1 -1
  117. package/dist/icon-set/svg-mdi-v5.umd.prod.js +1 -1
  118. package/dist/icon-set/svg-mdi-v6.umd.prod.js +1 -1
  119. package/dist/icon-set/svg-themify.umd.prod.js +1 -1
  120. package/dist/icon-set/themify.umd.prod.js +1 -1
  121. package/dist/lang/ar.umd.prod.js +1 -1
  122. package/dist/lang/az-Latn.umd.prod.js +1 -1
  123. package/dist/lang/bg.umd.prod.js +1 -1
  124. package/dist/lang/bn.umd.prod.js +1 -1
  125. package/dist/lang/ca.umd.prod.js +1 -1
  126. package/dist/lang/cs.umd.prod.js +1 -1
  127. package/dist/lang/da.umd.prod.js +1 -1
  128. package/dist/lang/de.umd.prod.js +1 -1
  129. package/dist/lang/el.umd.prod.js +1 -1
  130. package/dist/lang/en-GB.umd.prod.js +1 -1
  131. package/dist/lang/en-US.umd.prod.js +1 -1
  132. package/dist/lang/eo.umd.prod.js +1 -1
  133. package/dist/lang/es.umd.prod.js +1 -1
  134. package/dist/lang/et.umd.prod.js +1 -1
  135. package/dist/lang/fa-IR.umd.prod.js +1 -1
  136. package/dist/lang/fa.umd.prod.js +1 -1
  137. package/dist/lang/fi.umd.prod.js +1 -1
  138. package/dist/lang/fr.umd.prod.js +1 -1
  139. package/dist/lang/gn.umd.prod.js +1 -1
  140. package/dist/lang/he.umd.prod.js +1 -1
  141. package/dist/lang/hr.umd.prod.js +1 -1
  142. package/dist/lang/hu.umd.prod.js +1 -1
  143. package/dist/lang/id.umd.prod.js +1 -1
  144. package/dist/lang/is.umd.prod.js +1 -1
  145. package/dist/lang/it.umd.prod.js +1 -1
  146. package/dist/lang/ja.umd.prod.js +1 -1
  147. package/dist/lang/km.umd.prod.js +1 -1
  148. package/dist/lang/ko-KR.umd.prod.js +1 -1
  149. package/dist/lang/kur-CKB.umd.prod.js +1 -1
  150. package/dist/lang/lt.umd.prod.js +1 -1
  151. package/dist/lang/lu.umd.prod.js +1 -1
  152. package/dist/lang/lv.umd.prod.js +1 -1
  153. package/dist/lang/ml.umd.prod.js +1 -1
  154. package/dist/lang/ms.umd.prod.js +1 -1
  155. package/dist/lang/nb-NO.umd.prod.js +1 -1
  156. package/dist/lang/nl.umd.prod.js +1 -1
  157. package/dist/lang/pl.umd.prod.js +1 -1
  158. package/dist/lang/pt-BR.umd.prod.js +1 -1
  159. package/dist/lang/pt.umd.prod.js +1 -1
  160. package/dist/lang/ro.umd.prod.js +1 -1
  161. package/dist/lang/ru.umd.prod.js +1 -1
  162. package/dist/lang/sk.umd.prod.js +1 -1
  163. package/dist/lang/sl.umd.prod.js +1 -1
  164. package/dist/lang/sr-CYR.umd.prod.js +1 -1
  165. package/dist/lang/sr.umd.prod.js +1 -1
  166. package/dist/lang/sv.umd.prod.js +1 -1
  167. package/dist/lang/ta.umd.prod.js +1 -1
  168. package/dist/lang/th.umd.prod.js +1 -1
  169. package/dist/lang/tr.umd.prod.js +1 -1
  170. package/dist/lang/ug.umd.prod.js +1 -1
  171. package/dist/lang/uk.umd.prod.js +1 -1
  172. package/dist/lang/vi.umd.prod.js +1 -1
  173. package/dist/lang/zh-CN.umd.prod.js +1 -1
  174. package/dist/lang/zh-TW.umd.prod.js +1 -1
  175. package/dist/quasar.cjs.prod.js +2 -2
  176. package/dist/quasar.css +268 -184
  177. package/dist/quasar.esm.prod.js +2 -2
  178. package/dist/quasar.prod.css +1 -1
  179. package/dist/quasar.rtl.css +340 -263
  180. package/dist/quasar.rtl.prod.css +1 -1
  181. package/dist/quasar.sass +272 -212
  182. package/dist/quasar.umd.js +16532 -16216
  183. package/dist/quasar.umd.prod.js +2 -2
  184. package/dist/ssr-directives/Morph.js +1 -1
  185. package/dist/transforms/loader-asset-urls.json +20 -0
  186. package/dist/types/api/cookies.d.ts +1 -1
  187. package/dist/types/api/slider.d.ts +46 -0
  188. package/dist/types/api/validation.d.ts +4 -0
  189. package/dist/types/api.d.ts +2 -0
  190. package/dist/types/composables.d.ts +7 -3
  191. package/dist/types/extras/icon-set.d.ts +1 -0
  192. package/dist/types/index.d.ts +759 -177
  193. package/dist/vetur/quasar-attributes.json +251 -83
  194. package/dist/vetur/quasar-tags.json +59 -17
  195. package/dist/web-types/web-types.json +587 -155
  196. package/icon-set/svg-ionicons-v6.js +225 -0
  197. package/package.json +2 -2
  198. package/src/api.extends.json +0 -1
  199. package/src/components/breadcrumbs/QBreadcrumbs.js +7 -2
  200. package/src/components/breadcrumbs/QBreadcrumbs.sass +0 -3
  201. package/src/components/breadcrumbs/QBreadcrumbsEl.js +14 -8
  202. package/src/components/btn/QBtn.js +6 -5
  203. package/src/components/btn/use-btn.js +21 -21
  204. package/src/components/btn/use-btn.json +22 -13
  205. package/src/components/btn-dropdown/QBtnDropdown.json +1 -0
  206. package/src/components/btn-toggle/QBtnToggle.json +3 -0
  207. package/src/components/checkbox/use-checkbox.js +1 -1
  208. package/src/components/chip/QChip.json +1 -2
  209. package/src/components/color/QColor.js +32 -26
  210. package/src/components/color/QColor.sass +10 -23
  211. package/src/components/date/QDate.json +25 -1
  212. package/src/components/date/QDate.sass +2 -0
  213. package/src/components/drawer/QDrawer.js +18 -15
  214. package/src/components/editor/QEditor.js +3 -3
  215. package/src/components/editor/QEditor.sass +10 -1
  216. package/src/components/expansion-item/QExpansionItem.js +4 -1
  217. package/src/components/expansion-item/QExpansionItem.json +2 -1
  218. package/src/components/fab/QFab.js +18 -12
  219. package/src/components/fab/QFab.json +36 -1
  220. package/src/components/fab/QFab.sass +1 -1
  221. package/src/components/fab/QFabAction.js +14 -7
  222. package/src/components/fab/QFabAction.json +10 -0
  223. package/src/components/field/QField.json +3 -3
  224. package/src/components/file/QFile.js +12 -5
  225. package/src/components/file/QFile.json +9 -6
  226. package/src/components/file/QFile.sass +4 -2
  227. package/src/components/footer/QFooter.js +1 -1
  228. package/src/components/form/QForm.json +2 -3
  229. package/src/components/header/QHeader.js +1 -1
  230. package/src/components/icon/QIcon.js +2 -2
  231. package/src/components/infinite-scroll/QInfiniteScroll.js +4 -5
  232. package/src/components/item/QItem.js +2 -3
  233. package/src/components/layout/QLayout.json +8 -1
  234. package/src/components/linear-progress/QLinearProgress.js +3 -2
  235. package/src/components/linear-progress/QLinearProgress.sass +1 -1
  236. package/src/components/option-group/QOptionGroup.js +3 -0
  237. package/src/components/option-group/QOptionGroup.json +48 -2
  238. package/src/components/pagination/QPagination.json +0 -1
  239. package/src/components/parallax/QParallax.js +4 -2
  240. package/src/components/popup-edit/QPopupEdit.js +2 -5
  241. package/src/components/popup-edit/QPopupEdit.json +1 -0
  242. package/src/components/popup-proxy/QPopupProxy.json +2 -1
  243. package/src/components/radio/QRadio.js +2 -7
  244. package/src/components/range/QRange.js +103 -222
  245. package/src/components/range/QRange.json +11 -121
  246. package/src/components/rating/QRating.json +1 -1
  247. package/src/components/resize-observer/QResizeObserver.json +2 -0
  248. package/src/components/scroll-area/QScrollArea.js +11 -14
  249. package/src/components/scroll-area/QScrollArea.json +29 -9
  250. package/src/components/scroll-observer/QScrollObserver.json +11 -0
  251. package/src/components/select/QSelect.js +1 -1
  252. package/src/components/select/QSelect.json +41 -15
  253. package/src/components/slide-item/QSlideItem.json +9 -0
  254. package/src/components/slider/QSlider.js +46 -132
  255. package/src/components/slider/QSlider.json +1 -121
  256. package/src/components/slider/QSlider.sass +198 -132
  257. package/src/components/slider/use-slider.js +453 -109
  258. package/src/components/slider/use-slider.json +546 -0
  259. package/src/components/stepper/QStepper.js +3 -3
  260. package/src/components/stepper/QStepper.sass +24 -26
  261. package/src/components/table/QTable.js +27 -47
  262. package/src/components/table/QTable.json +104 -55
  263. package/src/components/table/table-pagination.js +4 -0
  264. package/src/components/tabs/QRouteTab.js +1 -2
  265. package/src/components/tabs/QRouteTab.json +0 -7
  266. package/src/components/tabs/QTabs.js +71 -20
  267. package/src/components/tabs/use-tab.js +26 -13
  268. package/src/components/time/QTime.json +8 -0
  269. package/src/components/tree/QTree.js +14 -12
  270. package/src/components/tree/QTree.json +26 -21
  271. package/src/components/tree/QTree.sass +45 -41
  272. package/src/components/uploader/QUploader.json +14 -2
  273. package/src/components/uploader/uploader-core.js +16 -9
  274. package/src/components/uploader/xhr-uploader-plugin.json +8 -3
  275. package/src/components/virtual-scroll/QVirtualScroll.json +15 -0
  276. package/src/components/virtual-scroll/QVirtualScroll.sass +1 -0
  277. package/src/components/virtual-scroll/use-virtual-scroll.js +30 -17
  278. package/src/components/virtual-scroll/use-virtual-scroll.json +7 -5
  279. package/src/composables/private/use-field.js +7 -7
  280. package/src/composables/private/use-file.js +20 -5
  281. package/src/composables/private/use-form.js +2 -3
  282. package/src/composables/private/use-fullscreen.js +15 -4
  283. package/src/composables/private/use-router-link.js +44 -23
  284. package/src/composables/private/use-router-link.json +26 -10
  285. package/src/composables/private/use-split-attrs.js +12 -9
  286. package/src/composables/private/use-validate.js +21 -15
  287. package/src/composables/private/use-validate.json +1 -0
  288. package/src/composables/use-dialog-plugin-component.js +1 -0
  289. package/src/css/core/helpers.sass +3 -0
  290. package/src/css/core/positioning.sass +5 -0
  291. package/src/directives/Mutation.json +2 -3
  292. package/src/directives/ScrollFire.js +1 -0
  293. package/src/directives/ScrollFire.json +2 -3
  294. package/src/icon-set.js +2 -4
  295. package/src/plugins/AppFullscreen.js +70 -53
  296. package/src/plugins/AppFullscreen.json +8 -8
  297. package/src/plugins/AppVisibility.js +2 -3
  298. package/src/plugins/BottomSheet.js +3 -5
  299. package/src/plugins/Cookies.json +2 -2
  300. package/src/plugins/Dialog.js +3 -5
  301. package/src/plugins/Dialog.json +6 -5
  302. package/src/plugins/LoadingBar.js +17 -18
  303. package/src/plugins/LoadingBar.json +4 -3
  304. package/src/plugins/Notify.js +296 -295
  305. package/src/plugins/Notify.json +13 -19
  306. package/src/plugins/Platform.js +14 -14
  307. package/src/utils/date.js +4 -4
  308. package/src/utils/dom.js +2 -2
  309. package/src/utils/open-url.js +2 -2
  310. package/src/utils/patterns.js +1 -0
  311. package/src/utils/private/define-reactive-plugin.js +10 -8
  312. package/src/utils/private/global-dialog.js +6 -8
  313. package/src/utils/private/global-dialog.json +6 -0
  314. package/src/utils/private/inject-obj-prop.js +13 -0
  315. package/src/utils/private/is.js +2 -2
@@ -12,58 +12,43 @@
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\""
56
21
  ],
57
- "category": "model"
22
+ "category": "model",
23
+ "required": false
58
24
  },
59
25
  "max": {
60
26
  "type": "Number",
61
- "desc": "Maximum value of the model",
27
+ "desc": "Maximum value of the model; Set track's maximum value",
62
28
  "default": 100,
63
29
  "examples": [
64
30
  ":max=\"100\""
65
31
  ],
66
- "category": "model"
32
+ "category": "model",
33
+ "required": false
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"
67
52
  },
68
53
  "step": {
69
54
  "type": "Number",
@@ -72,7 +57,13 @@
72
57
  "examples": [
73
58
  ":step=\"1\""
74
59
  ],
75
- "category": "model"
60
+ "category": "model",
61
+ "required": false
62
+ },
63
+ "snap": {
64
+ "type": "Boolean",
65
+ "desc": "Snap on valid values, rather than sliding freely; Suggestion: use with 'step' prop",
66
+ "category": "behavior"
76
67
  },
77
68
  "reverse": {
78
69
  "type": "Boolean",
@@ -84,16 +75,6 @@
84
75
  "desc": "Display in vertical direction",
85
76
  "category": "behavior"
86
77
  },
87
- "drag-range": {
88
- "type": "Boolean",
89
- "desc": "User can drag range instead of just the two thumbs",
90
- "category": "content"
91
- },
92
- "drag-only-range": {
93
- "type": "Boolean",
94
- "desc": "User can drag only the range instead and NOT the two thumbs",
95
- "category": "content"
96
- },
97
78
  "color": {
98
79
  "type": "String",
99
80
  "desc": "Color name for component from the Quasar Color Palette",
@@ -103,91 +84,99 @@
103
84
  ],
104
85
  "category": "style"
105
86
  },
106
- "label": {
107
- "type": "Boolean",
108
- "desc": "Popup labels (for left and right thumbs) when user clicks/taps on the slider thumb and moves it",
109
- "category": "labels"
110
- },
111
- "label-color": {
87
+ "track-color": {
112
88
  "type": "String",
113
- "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",
114
90
  "examples": [
115
91
  "primary",
116
92
  "teal-10"
117
93
  ],
118
- "category": "labels"
94
+ "category": "style",
95
+ "addedIn": "v2.4"
119
96
  },
120
- "label-text-color": {
97
+ "track-img": {
121
98
  "type": "String",
122
- "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,
123
101
  "examples": [
124
- "primary",
125
- "teal-10"
102
+ "~assets/my-pattern.png"
126
103
  ],
127
- "category": "labels"
104
+ "category": "style",
105
+ "addedIn": "v2.4"
128
106
  },
129
- "left-label-color": {
107
+ "inner-track-color": {
130
108
  "type": "String",
131
- "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",
132
110
  "examples": [
133
111
  "primary",
134
112
  "teal-10"
135
113
  ],
136
- "category": "labels"
114
+ "category": "style",
115
+ "addedIn": "v2.4"
137
116
  },
138
- "left-label-text-color": {
117
+ "inner-track-img": {
139
118
  "type": "String",
140
- "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,
141
121
  "examples": [
142
- "primary",
143
- "teal-10"
122
+ "~assets/my-pattern.png"
144
123
  ],
145
- "category": "labels"
124
+ "category": "style",
125
+ "addedIn": "v2.4"
146
126
  },
147
- "right-label-color": {
127
+ "selection-color": {
148
128
  "type": "String",
149
- "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",
150
130
  "examples": [
151
131
  "primary",
152
132
  "teal-10"
153
133
  ],
154
- "category": "labels"
134
+ "category": "style",
135
+ "addedIn": "v2.4"
155
136
  },
156
- "right-label-text-color": {
137
+ "selection-img": {
157
138
  "type": "String",
158
- "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,
159
141
  "examples": [
160
- "primary",
161
- "teal-10"
142
+ "~assets/my-pattern.png"
162
143
  ],
163
- "category": "labels"
144
+ "category": "style",
145
+ "addedIn": "v2.4"
164
146
  },
165
- "left-label-value": {
166
- "type": [
167
- "String",
168
- "Number"
169
- ],
170
- "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",
171
155
  "examples": [
172
- ":left-label-value=\"model.min + 'px'\""
156
+ "primary",
157
+ "teal-10"
173
158
  ],
174
- "category": "labels"
159
+ "category": "style"
175
160
  },
176
- "right-label-value": {
177
- "type": [
178
- "String",
179
- "Number"
180
- ],
181
- "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",
182
164
  "examples": [
183
- ":right-label-value=\"model.max + 'px'\""
165
+ "primary",
166
+ "teal-10"
184
167
  ],
185
- "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"
186
175
  },
187
176
  "label-always": {
188
177
  "type": "Boolean",
189
- "desc": "Always display the labels",
190
- "category": "labels"
178
+ "desc": "Always display the label",
179
+ "category": "behavior|content"
191
180
  },
192
181
  "markers": {
193
182
  "type": [
@@ -201,19 +190,161 @@
201
190
  ":markers=\"5\""
202
191
  ]
203
192
  },
204
- "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": {
205
302
  "type": "Boolean",
206
- "desc": "Snap thumbs on valid values, rather than sliding freely; Suggestion: use with 'step' prop",
207
- "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"
208
338
  },
209
339
  "thumb-path": {
210
340
  "type": "String",
211
- "desc": "Set custom thumbs svg path",
341
+ "desc": "Set custom thumb svg path",
212
342
  "default": "M 4, 10 a 6,6 0 1,0 12,0 a 6,6 0 1,0 -12,0",
213
343
  "examples": [
214
344
  "M5 5 h10 v10 h-10 v-10"
215
345
  ],
216
- "category": "style"
346
+ "category": "style",
347
+ "required": false
217
348
  },
218
349
  "dark": {
219
350
  "type": "Boolean",
@@ -246,21 +377,369 @@
246
377
  "100"
247
378
  ],
248
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"
249
503
  }
250
504
  },
251
- "events": {
252
- "update:model-value": {
253
- "desc": "Emitted when the component needs to change the model; Is also used by v-model",
254
- "params": {
255
- "value": {
256
- "type": "Any",
257
- "desc": "New model value",
258
- "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
+ }
259
636
  }
260
637
  }
261
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": {
262
741
  "change": {
263
- "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)",
264
743
  "params": {
265
744
  "value": {
266
745
  "type": "Any",
@@ -281,6 +760,16 @@
281
760
  ]
282
761
  }
283
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
+ }
284
773
  }
285
774
  }
286
775
  }