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
@@ -27,24 +27,24 @@ export interface AppFullscreen {
27
27
  /**
28
28
  * The DOM element used as root for fullscreen, otherwise 'null'
29
29
  */
30
- activeEl: LooseDictionary;
30
+ activeEl: Element | null;
31
31
  /**
32
32
  * Request going into Fullscreen (with optional target)
33
33
  * @param target Optional Element of target to request Fullscreen on
34
- * @returns A Promise with the outcome (true -> validation was a success, false -> invalid models detected)
34
+ * @returns A Promise which is resolved when transitioned to fullscreen mode. It gets rejected with 'Not capable' if the browser is not capable, and with an Error object if something else went wrong.
35
35
  */
36
- request: (target?: Element) => Promise<any>;
36
+ request: (target?: Element) => Promise<void>;
37
37
  /**
38
38
  * Request exiting out of Fullscreen mode
39
- * @returns A Promise with the outcome (true -> validation was a success, false -> invalid models detected)
39
+ * @returns A Promise which is resolved when exited out of fullscreen mode. It gets rejected with 'Not capable' if the browser is not capable, and with an Error object if something else went wrong.
40
40
  */
41
- exit: () => Promise<any>;
41
+ exit: () => Promise<void>;
42
42
  /**
43
43
  * Request toggling Fullscreen mode (with optional target if requesting going into Fullscreen only)
44
44
  * @param target Optional Element of target to request Fullscreen on
45
- * @returns A Promise with the outcome (true -> validation was a success, false -> invalid models detected)
45
+ * @returns A Promise which is resolved when transitioned to / exited out of fullscreen mode. It gets rejected with 'Not capable' if the browser is not capable, and with an Error object if something else went wrong.
46
46
  */
47
- toggle: (target?: Element) => Promise<any>;
47
+ toggle: (target?: Element) => Promise<void>;
48
48
  }
49
49
 
50
50
  export interface AppVisibility {
@@ -156,9 +156,9 @@ export interface Cookies {
156
156
  */
157
157
  domain?: string;
158
158
  /**
159
- * SameSite cookie option (not supported by IE11)
159
+ * SameSite cookie option
160
160
  */
161
- sameSite?: string;
161
+ sameSite?: "Lax" | "Strict" | "None";
162
162
  /**
163
163
  * Is cookie Http Only?
164
164
  */
@@ -254,7 +254,6 @@ export interface Loading {
254
254
  message?: string;
255
255
  /**
256
256
  * Render the message as HTML; This can lead to XSS attacks so make sure that you sanitize the message first
257
- * Default value: false
258
257
  */
259
258
  html?: boolean;
260
259
  /**
@@ -351,9 +350,9 @@ export interface LoadingBar {
351
350
  increment: (amount?: number) => void;
352
351
  /**
353
352
  * Set the inner QAjaxBar's props
354
- * @param ...props QAjaxBar component props
353
+ * @param props QAjaxBar component props
355
354
  */
356
- setDefaults: (...props: any[]) => void;
355
+ setDefaults: (props: LooseDictionary) => void;
357
356
  }
358
357
 
359
358
  export interface LocalStorage {
@@ -1383,25 +1382,33 @@ export interface QBreadcrumbs
1383
1382
 
1384
1383
  export interface QBreadcrumbsElProps {
1385
1384
  /**
1386
- * Equivalent to Vue Router <router-link> 'to' property
1385
+ * Equivalent to Vue Router <router-link> 'to' property; Superseeded by 'href' prop if used
1387
1386
  */
1388
1387
  to?: string | LooseDictionary | undefined;
1389
1388
  /**
1390
- * Equivalent to Vue Router <router-link> 'exact' property
1389
+ * Equivalent to Vue Router <router-link> 'exact' property; Superseeded by 'href' prop if used
1391
1390
  */
1392
1391
  exact?: boolean | undefined;
1393
1392
  /**
1394
- * Equivalent to Vue Router <router-link> 'replace' property
1393
+ * Equivalent to Vue Router <router-link> 'replace' property; Superseeded by 'href' prop if used
1395
1394
  */
1396
1395
  replace?: boolean | undefined;
1397
1396
  /**
1398
- * Equivalent to Vue Router <router-link> 'active-class' property
1397
+ * Equivalent to Vue Router <router-link> 'active-class' property; Superseeded by 'href' prop if used
1399
1398
  */
1400
1399
  activeClass?: string | undefined;
1401
1400
  /**
1402
- * Equivalent to Vue Router <router-link> 'active-class' property
1401
+ * Equivalent to Vue Router <router-link> 'active-class' property; Superseeded by 'href' prop if used
1403
1402
  */
1404
1403
  exactActiveClass?: string | undefined;
1404
+ /**
1405
+ * Native <a> link href attribute; Has priority over the 'to'/'exact'/'replace'/'active-class'/'exact-active-class' props
1406
+ */
1407
+ href?: string | undefined;
1408
+ /**
1409
+ * Native <a> link target attribute; Use it only along with 'href' prop; Has priority over the 'to'/'exact'/'replace'/'active-class'/'exact-active-class' props
1410
+ */
1411
+ target?: string | undefined;
1405
1412
  /**
1406
1413
  * Put component in disabled mode
1407
1414
  */
@@ -1440,28 +1447,32 @@ export interface QBtnDropdownProps {
1440
1447
  /**
1441
1448
  * Controls Menu show/hidden state; Either use this property (along with a listener for 'update:modelValue' event) OR use v-model directive
1442
1449
  */
1443
- modelValue: boolean;
1450
+ modelValue?: boolean;
1444
1451
  /**
1445
1452
  * Size in CSS units, including unit name or standard size name (xs|sm|md|lg|xl)
1446
1453
  */
1447
1454
  size?: string | undefined;
1448
1455
  /**
1449
- * Define the button HTML DOM type
1456
+ * 1) Define the button native type attribute (submit, reset, button) or 2) render component with <a> tag so you can access events even if disable or 3) Use 'href' prop and specify 'type' as a media tag
1450
1457
  * Default value: button
1451
1458
  */
1452
- type?: "a" | "submit" | "button" | "reset" | undefined;
1459
+ type?: string | undefined;
1453
1460
  /**
1454
- * Equivalent to Vue Router <router-link> 'to' property
1461
+ * Equivalent to Vue Router <router-link> 'to' property; Superseeded by 'href' prop if used
1455
1462
  */
1456
1463
  to?: string | LooseDictionary | undefined;
1457
1464
  /**
1458
- * Equivalent to Vue Router <router-link> 'replace' property
1465
+ * Equivalent to Vue Router <router-link> 'replace' property; Superseeded by 'href' prop if used
1459
1466
  */
1460
1467
  replace?: boolean | undefined;
1461
1468
  /**
1462
- * Equivalent to Vue Router <router-link> 'append' property
1469
+ * Native <a> link href attribute; Has priority over the 'to' and 'replace' props
1463
1470
  */
1464
- append?: boolean | undefined;
1471
+ href?: string | undefined;
1472
+ /**
1473
+ * Native <a> link target attribute; Use it only with 'to' or 'href' props
1474
+ */
1475
+ target?: string | undefined;
1465
1476
  /**
1466
1477
  * The text that will be shown on the button
1467
1478
  */
@@ -1796,7 +1807,10 @@ export interface QBtnToggleProps {
1796
1807
  * Slot name to use for this button content; Useful for customizing content or even add tooltips
1797
1808
  */
1798
1809
  slot?: string;
1799
- [index: string]: any;
1810
+ /**
1811
+ * Any other QBtn props (including class and style)
1812
+ */
1813
+ [props: string]: any;
1800
1814
  }[];
1801
1815
  /**
1802
1816
  * Color name for component from the Quasar Color Palette
@@ -1904,6 +1918,10 @@ export interface QBtnToggleSlots {
1904
1918
  * Suggestions: QTooltip, QBadge
1905
1919
  */
1906
1920
  default: () => VNode[];
1921
+ /**
1922
+ * Any other dynamic slots to be used with 'slot' property of the 'options' prop
1923
+ */
1924
+ [key: string]: () => VNode[];
1907
1925
  }
1908
1926
 
1909
1927
  export interface QBtnToggle extends ComponentPublicInstance<QBtnToggleProps> {}
@@ -1914,22 +1932,26 @@ export interface QBtnProps {
1914
1932
  */
1915
1933
  size?: string | undefined;
1916
1934
  /**
1917
- * Define the button HTML DOM type
1935
+ * 1) Define the button native type attribute (submit, reset, button) or 2) render component with <a> tag so you can access events even if disable or 3) Use 'href' prop and specify 'type' as a media tag
1918
1936
  * Default value: button
1919
1937
  */
1920
- type?: "a" | "submit" | "button" | "reset" | undefined;
1938
+ type?: string | undefined;
1921
1939
  /**
1922
- * Equivalent to Vue Router <router-link> 'to' property
1940
+ * Equivalent to Vue Router <router-link> 'to' property; Superseeded by 'href' prop if used
1923
1941
  */
1924
1942
  to?: string | LooseDictionary | undefined;
1925
1943
  /**
1926
- * Equivalent to Vue Router <router-link> 'replace' property
1944
+ * Equivalent to Vue Router <router-link> 'replace' property; Superseeded by 'href' prop if used
1927
1945
  */
1928
1946
  replace?: boolean | undefined;
1929
1947
  /**
1930
- * Equivalent to Vue Router <router-link> 'append' property
1948
+ * Native <a> link href attribute; Has priority over the 'to' and 'replace' props
1931
1949
  */
1932
- append?: boolean | undefined;
1950
+ href?: string | undefined;
1951
+ /**
1952
+ * Native <a> link target attribute; Use it only with 'to' or 'href' props
1953
+ */
1954
+ target?: string | undefined;
1933
1955
  /**
1934
1956
  * The text that will be shown on the button
1935
1957
  */
@@ -2344,6 +2366,7 @@ export interface QCarouselSlots {
2344
2366
  btnProps: LooseDictionary;
2345
2367
  /**
2346
2368
  * Default trigger when clicked/tapped on
2369
+ * @param evt JS event object
2347
2370
  */
2348
2371
  onClick: (evt: LooseDictionary) => void;
2349
2372
  }) => VNode[];
@@ -2473,22 +2496,18 @@ export interface QChatMessageProps {
2473
2496
  size?: string | undefined;
2474
2497
  /**
2475
2498
  * Render the label as HTML; This can lead to XSS attacks so make sure that you sanitize the message first
2476
- * Default value: false
2477
2499
  */
2478
2500
  labelHtml?: boolean | undefined;
2479
2501
  /**
2480
2502
  * Render the name as HTML; This can lead to XSS attacks so make sure that you sanitize the message first
2481
- * Default value: false
2482
2503
  */
2483
2504
  nameHtml?: boolean | undefined;
2484
2505
  /**
2485
2506
  * Render the text as HTML; This can lead to XSS attacks so make sure that you sanitize the message first
2486
- * Default value: false
2487
2507
  */
2488
2508
  textHtml?: boolean | undefined;
2489
2509
  /**
2490
2510
  * Render the stamp as HTML; This can lead to XSS attacks so make sure that you sanitize the message first
2491
- * Default value: false
2492
2511
  */
2493
2512
  stampHtml?: boolean | undefined;
2494
2513
  }
@@ -2975,14 +2994,20 @@ export interface QDateProps {
2975
2994
  yearsInMonthView?: boolean | undefined;
2976
2995
  /**
2977
2996
  * A list of events to highlight on the calendar; If using a function, it receives the date as a String and must return a Boolean (matches or not); If using a function then for best performance, reference it from your scope and do not define it inline
2997
+ * @param date The current date being processed.
2998
+ * @returns If true, the current date will be highlighted
2978
2999
  */
2979
3000
  events?: any[] | ((date: string) => boolean) | undefined;
2980
3001
  /**
2981
3002
  * Color name (from the Quasar Color Palette); If using a function, it receives the date as a String and must return a String (color for the received date); If using a function then for best performance, reference it from your scope and do not define it inline
3003
+ * @param date The current date being processed.
3004
+ * @returns Color for the current date.
2982
3005
  */
2983
3006
  eventColor?: string | ((date: string) => string) | undefined;
2984
3007
  /**
2985
3008
  * Optionally configure the days that are selectable; If using a function, it receives the date as a String and must return a Boolean (is date acceptable or not); If using a function then for best performance, reference it from your scope and do not define it inline; Incompatible with 'range' prop
3009
+ * @param date The current date being processed.
3010
+ * @returns If true, the current date will be made available for selection
2986
3011
  */
2987
3012
  options?: any[] | ((date: string) => boolean) | undefined;
2988
3013
  /**
@@ -3055,7 +3080,7 @@ export interface QDateProps {
3055
3080
  /**
3056
3081
  * Object of properties of the range starting point (only if range)
3057
3082
  */
3058
- from: {
3083
+ from?: {
3059
3084
  /**
3060
3085
  * The year
3061
3086
  */
@@ -3072,7 +3097,7 @@ export interface QDateProps {
3072
3097
  /**
3073
3098
  * Object of properties of the range ending point (only if range)
3074
3099
  */
3075
- to: {
3100
+ to?: {
3076
3101
  /**
3077
3102
  * The year
3078
3103
  */
@@ -3617,6 +3642,7 @@ export interface QEditorProps {
3617
3642
  param?: string;
3618
3643
  /**
3619
3644
  * Is button disabled?
3645
+ * @returns If true, the button will be disabled
3620
3646
  */
3621
3647
  disable?: boolean | (() => boolean);
3622
3648
  /**
@@ -3738,25 +3764,33 @@ export interface QEditor extends ComponentPublicInstance<QEditorProps> {
3738
3764
 
3739
3765
  export interface QExpansionItemProps {
3740
3766
  /**
3741
- * Equivalent to Vue Router <router-link> 'to' property
3767
+ * Equivalent to Vue Router <router-link> 'to' property; Superseeded by 'href' prop if used
3742
3768
  */
3743
3769
  to?: string | LooseDictionary | undefined;
3744
3770
  /**
3745
- * Equivalent to Vue Router <router-link> 'exact' property
3771
+ * Equivalent to Vue Router <router-link> 'exact' property; Superseeded by 'href' prop if used
3746
3772
  */
3747
3773
  exact?: boolean | undefined;
3748
3774
  /**
3749
- * Equivalent to Vue Router <router-link> 'replace' property
3775
+ * Equivalent to Vue Router <router-link> 'replace' property; Superseeded by 'href' prop if used
3750
3776
  */
3751
3777
  replace?: boolean | undefined;
3752
3778
  /**
3753
- * Equivalent to Vue Router <router-link> 'active-class' property
3779
+ * Equivalent to Vue Router <router-link> 'active-class' property; Superseeded by 'href' prop if used
3754
3780
  */
3755
3781
  activeClass?: string | undefined;
3756
3782
  /**
3757
- * Equivalent to Vue Router <router-link> 'active-class' property
3783
+ * Equivalent to Vue Router <router-link> 'active-class' property; Superseeded by 'href' prop if used
3758
3784
  */
3759
3785
  exactActiveClass?: string | undefined;
3786
+ /**
3787
+ * Native <a> link href attribute; Has priority over the 'to'/'exact'/'replace'/'active-class'/'exact-active-class' props
3788
+ */
3789
+ href?: string | undefined;
3790
+ /**
3791
+ * Native <a> link target attribute; Use it only along with 'href' prop; Has priority over the 'to'/'exact'/'replace'/'active-class'/'exact-active-class' props
3792
+ */
3793
+ target?: string | undefined;
3760
3794
  /**
3761
3795
  * Put component in disabled mode
3762
3796
  */
@@ -4059,6 +4093,36 @@ export interface QFabSlots {
4059
4093
  * Slot specifically designed for a QTooltip
4060
4094
  */
4061
4095
  tooltip: () => VNode[];
4096
+ /**
4097
+ * Slot for icon shown when FAB is closed; Suggestion: QIcon
4098
+ * @param scope
4099
+ */
4100
+ icon: (scope: {
4101
+ /**
4102
+ * FAB is opened
4103
+ */
4104
+ opened: boolean;
4105
+ }) => VNode[];
4106
+ /**
4107
+ * Slot for icon shown when FAB is opened; Suggestion: QIcon
4108
+ * @param scope
4109
+ */
4110
+ "active-icon": (scope: {
4111
+ /**
4112
+ * FAB is opened
4113
+ */
4114
+ opened: boolean;
4115
+ }) => VNode[];
4116
+ /**
4117
+ * Slot for label
4118
+ * @param scope
4119
+ */
4120
+ label: (scope: {
4121
+ /**
4122
+ * FAB is opened
4123
+ */
4124
+ opened: boolean;
4125
+ }) => VNode[];
4062
4126
  }
4063
4127
 
4064
4128
  export interface QFab extends ComponentPublicInstance<QFabProps> {
@@ -4181,6 +4245,14 @@ export interface QFabActionSlots {
4181
4245
  * Suggestion for this slot: QTooltip
4182
4246
  */
4183
4247
  default: () => VNode[];
4248
+ /**
4249
+ * Slot for icon; Suggestion: QIcon
4250
+ */
4251
+ icon: () => VNode[];
4252
+ /**
4253
+ * Slot for label
4254
+ */
4255
+ label: () => VNode[];
4184
4256
  }
4185
4257
 
4186
4258
  export interface QFabAction extends ComponentPublicInstance<QFabActionProps> {
@@ -4211,7 +4283,7 @@ export interface QFieldProps {
4211
4283
  /**
4212
4284
  * Array of Functions/Strings; If String, then it must be a name of one of the embedded validation rules
4213
4285
  */
4214
- rules?: any[] | undefined;
4286
+ rules?: ValidationRule[] | undefined;
4215
4287
  /**
4216
4288
  * By default a change in the rules does not trigger a new validation until the model changes; If set to true then a change in the rules will trigger a validation; Has a performance penalty, so use it only when you really need it
4217
4289
  */
@@ -4419,7 +4491,7 @@ export interface QFieldSlots {
4419
4491
  /**
4420
4492
  * DOM element of the field
4421
4493
  */
4422
- field: LooseDictionary;
4494
+ field: Element;
4423
4495
  /**
4424
4496
  * Field is editable
4425
4497
  */
@@ -4438,6 +4510,7 @@ export interface QFieldSlots {
4438
4510
  modelValue: any;
4439
4511
  /**
4440
4512
  * Function that emits an @input event in the context of the field
4513
+ * @param value Value to be emitted
4441
4514
  */
4442
4515
  emitValue: (value: any) => void;
4443
4516
  }) => VNode[];
@@ -4499,6 +4572,8 @@ export interface QFileProps {
4499
4572
  maxFiles?: number | string | undefined;
4500
4573
  /**
4501
4574
  * Custom filter for added files; Only files that pass this filter will be added to the queue and uploaded; For best performance, reference it from your scope and do not define it inline
4575
+ * @param files Candidate files to be added to queue
4576
+ * @returns Filtered files to be added to queue
4502
4577
  */
4503
4578
  filter?: ((files: FileList | any[]) => any[]) | undefined;
4504
4579
  /**
@@ -4520,7 +4595,7 @@ export interface QFileProps {
4520
4595
  /**
4521
4596
  * Array of Functions/Strings; If String, then it must be a name of one of the embedded validation rules
4522
4597
  */
4523
- rules?: any[] | undefined;
4598
+ rules?: ValidationRule[] | undefined;
4524
4599
  /**
4525
4600
  * By default a change in the rules does not trigger a new validation until the model changes; If set to true then a change in the rules will trigger a validation; Has a performance penalty, so use it only when you really need it
4526
4601
  */
@@ -4659,6 +4734,8 @@ export interface QFileProps {
4659
4734
  useChips?: boolean | undefined;
4660
4735
  /**
4661
4736
  * Label for the counter; The 'counter' prop is necessary to enable this one
4737
+ * @param props Object containing counter label information
4738
+ * @returns String to display for the counter label
4662
4739
  */
4663
4740
  counterLabel?:
4664
4741
  | ((props: {
@@ -4762,7 +4839,7 @@ export interface QFileSlots {
4762
4839
  /**
4763
4840
  * Reference to the QFile component
4764
4841
  */
4765
- ref: LooseDictionary;
4842
+ ref: QFile;
4766
4843
  }) => VNode[];
4767
4844
  /**
4768
4845
  * Override default selection slot; Suggestion: QChip
@@ -4776,7 +4853,7 @@ export interface QFileSlots {
4776
4853
  /**
4777
4854
  * Reference to the QFile component
4778
4855
  */
4779
- ref: LooseDictionary;
4856
+ ref: QFile;
4780
4857
  }) => VNode[];
4781
4858
  }
4782
4859
 
@@ -4898,7 +4975,7 @@ export interface QFormProps {
4898
4975
  * Emitted after a validation was triggered and at least one of the inner Quasar components models are NOT valid
4899
4976
  * @param ref Vue reference to the first component that triggered the validation error
4900
4977
  */
4901
- onValidationError?: (ref: LooseDictionary) => void;
4978
+ onValidationError?: (ref: Component) => void;
4902
4979
  }
4903
4980
 
4904
4981
  export interface QFormSlots {
@@ -5196,7 +5273,7 @@ export interface QInfiniteScrollProps {
5196
5273
  * @param index The index parameter can be used to make some sort of pagination on the content you load. It takes numeric values starting with 1 and incrementing with each call
5197
5274
  * @param done Function to call when you made all necessary updates. DO NOT forget to call it otherwise your loading message will continue to be displayed
5198
5275
  */
5199
- onLoad?: (index: number, done: (stop: boolean) => void) => void;
5276
+ onLoad?: (index: number, done: (stop?: boolean) => void) => void;
5200
5277
  }
5201
5278
 
5202
5279
  export interface QInfiniteScrollSlots {
@@ -5339,7 +5416,7 @@ export interface QInputProps {
5339
5416
  /**
5340
5417
  * Array of Functions/Strings; If String, then it must be a name of one of the embedded validation rules
5341
5418
  */
5342
- rules?: any[] | undefined;
5419
+ rules?: ValidationRule[] | undefined;
5343
5420
  /**
5344
5421
  * By default a change in the rules does not trigger a new validation until the model changes; If set to true then a change in the rules will trigger a validation; Has a performance penalty, so use it only when you really need it
5345
5422
  */
@@ -5658,25 +5735,33 @@ export interface QIntersection
5658
5735
 
5659
5736
  export interface QItemProps {
5660
5737
  /**
5661
- * Equivalent to Vue Router <router-link> 'to' property
5738
+ * Equivalent to Vue Router <router-link> 'to' property; Superseeded by 'href' prop if used
5662
5739
  */
5663
5740
  to?: string | LooseDictionary | undefined;
5664
5741
  /**
5665
- * Equivalent to Vue Router <router-link> 'exact' property
5742
+ * Equivalent to Vue Router <router-link> 'exact' property; Superseeded by 'href' prop if used
5666
5743
  */
5667
5744
  exact?: boolean | undefined;
5668
5745
  /**
5669
- * Equivalent to Vue Router <router-link> 'replace' property
5746
+ * Equivalent to Vue Router <router-link> 'replace' property; Superseeded by 'href' prop if used
5670
5747
  */
5671
5748
  replace?: boolean | undefined;
5672
5749
  /**
5673
- * Equivalent to Vue Router <router-link> 'active-class' property
5750
+ * Equivalent to Vue Router <router-link> 'active-class' property; Superseeded by 'href' prop if used
5674
5751
  */
5675
5752
  activeClass?: string | undefined;
5676
5753
  /**
5677
- * Equivalent to Vue Router <router-link> 'active-class' property
5754
+ * Equivalent to Vue Router <router-link> 'active-class' property; Superseeded by 'href' prop if used
5678
5755
  */
5679
5756
  exactActiveClass?: string | undefined;
5757
+ /**
5758
+ * Native <a> link href attribute; Has priority over the 'to'/'exact'/'replace'/'active-class'/'exact-active-class' props
5759
+ */
5760
+ href?: string | undefined;
5761
+ /**
5762
+ * Native <a> link target attribute; Use it only along with 'href' prop; Has priority over the 'to'/'exact'/'replace'/'active-class'/'exact-active-class' props
5763
+ */
5764
+ target?: string | undefined;
5680
5765
  /**
5681
5766
  * Put component in disabled mode
5682
5767
  */
@@ -6342,7 +6427,10 @@ export interface QOptionGroupProps {
6342
6427
  * If true, the option will be disabled
6343
6428
  */
6344
6429
  disable?: boolean;
6345
- [index: string]: any;
6430
+ /**
6431
+ * Any other props from QToggle, QCheckbox, or QRadio
6432
+ */
6433
+ [props: string]: any;
6346
6434
  }[]
6347
6435
  | undefined;
6348
6436
  /**
@@ -6392,19 +6480,48 @@ export interface QOptionGroupProps {
6392
6480
  export interface QOptionGroupSlots {
6393
6481
  /**
6394
6482
  * Generic slot for all labels
6395
- * @param scope
6483
+ * @param scope The corresponding option entry from the 'options' prop
6396
6484
  */
6397
6485
  label: (scope: {
6398
6486
  /**
6399
- * The corresponding option entry from the 'options' prop
6487
+ * Label to display along the component
6488
+ */
6489
+ label: string;
6490
+ /**
6491
+ * Value of the option that will be used by the component model
6492
+ */
6493
+ value: any;
6494
+ /**
6495
+ * If true, the option will be disabled
6400
6496
  */
6401
- opt: LooseDictionary;
6497
+ disable?: boolean;
6498
+ /**
6499
+ * Any other props from QToggle, QCheckbox, or QRadio
6500
+ */
6501
+ [props: string]: any;
6402
6502
  }) => VNode[];
6403
6503
  /**
6404
6504
  * Slot to define the specific label for the option at '[name]' where name is a 0-based index; Overrides the generic 'label' slot if used
6405
- * @param scope
6505
+ * @param scope The corresponding option entry from the 'options' prop
6406
6506
  */
6407
- [key: `label-${string}`]: (scope: { [index: string]: any }) => VNode[];
6507
+ [key: `label-${string}`]: (scope: {
6508
+ /**
6509
+ * Label to display along the component
6510
+ */
6511
+ label: string;
6512
+ /**
6513
+ * Value of the option that will be used by the component model
6514
+ */
6515
+ value: any;
6516
+ /**
6517
+ * If true, the option will be disabled
6518
+ */
6519
+ disable?: boolean;
6520
+ /**
6521
+ * Any other props from QToggle, QCheckbox, or QRadio
6522
+ */
6523
+ [props: string]: any;
6524
+ }) => VNode[];
6408
6525
  }
6409
6526
 
6410
6527
  export interface QOptionGroup
@@ -6503,6 +6620,9 @@ export interface QPageProps {
6503
6620
  /**
6504
6621
  * Override default CSS style applied to the component (sets minHeight); Function(offset: Number) => CSS props/value: Object; For best performance, reference it from your scope and do not define it inline
6505
6622
  * Default value: (see source code)
6623
+ * @param offset Header + Footer height (in pixels)
6624
+ * @param height Value in pixels of container height (if containerized) or window height otherwise
6625
+ * @returns Object with CSS properties to apply to Page DOM element
6506
6626
  */
6507
6627
  styleFn?: ((offset: number, height: number) => LooseDictionary) | undefined;
6508
6628
  }
@@ -6540,7 +6660,6 @@ export interface QPaginationProps {
6540
6660
  min?: number | undefined;
6541
6661
  /**
6542
6662
  * Number of last page (must be higher than 'min')
6543
- * Default value: 100
6544
6663
  */
6545
6664
  max: number;
6546
6665
  /**
@@ -6603,6 +6722,8 @@ export interface QPaginationProps {
6603
6722
  iconLast?: string | undefined;
6604
6723
  /**
6605
6724
  * Generate link for page buttons; For best performance, reference it from your scope and do not define it inline
6725
+ * @param page Page number to navigate to
6726
+ * @returns Object or String that can be passed to a <router-link> as `to` parameter
6606
6727
  */
6607
6728
  toFn?: ((page: number) => LooseDictionary | string) | undefined;
6608
6729
  /**
@@ -6768,6 +6889,8 @@ export interface QPopupEditProps {
6768
6889
  color?: string | undefined;
6769
6890
  /**
6770
6891
  * Validates model then triggers 'save' and closes Popup; Returns a Boolean ('true' means valid, 'false' means abort); Syntax: validate(value); For best performance, reference it from your scope and do not define it inline
6892
+ * @param value Model to validate
6893
+ * @returns Is the model valid or not?
6771
6894
  */
6772
6895
  validate?: ((value: any) => boolean) | undefined;
6773
6896
  /**
@@ -6902,6 +7025,8 @@ export interface QPopupEditSlots {
6902
7025
  value: any;
6903
7026
  /**
6904
7027
  * Function that checks if the value is valid
7028
+ * @param value Value to be checked
7029
+ * @returns Checked value is valid or not
6905
7030
  */
6906
7031
  validate: (value: any) => boolean;
6907
7032
  /**
@@ -7147,35 +7272,31 @@ export interface QRangeProps {
7147
7272
  */
7148
7273
  name?: string | undefined;
7149
7274
  /**
7150
- * 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
7151
- */
7152
- modelValue:
7153
- | {
7154
- /**
7155
- * Model value for left thumb
7156
- */
7157
- min?: number | null;
7158
- /**
7159
- * Model value for right thumb
7160
- */
7161
- max?: number | null;
7162
- }
7163
- | null
7164
- | undefined;
7165
- /**
7166
- * Minimum value of the model
7275
+ * Minimum value of the model; Set track's minimum value
7167
7276
  */
7168
7277
  min?: number | undefined;
7169
7278
  /**
7170
- * Maximum value of the model
7279
+ * Maximum value of the model; Set track's maximum value
7171
7280
  * Default value: 100
7172
7281
  */
7173
7282
  max?: number | undefined;
7283
+ /**
7284
+ * 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
7285
+ */
7286
+ innerMin?: number | undefined;
7287
+ /**
7288
+ * 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
7289
+ */
7290
+ innerMax?: number | undefined;
7174
7291
  /**
7175
7292
  * Specify step amount between valid values (> 0.0); When step equals to 0 it defines infinite granularity
7176
7293
  * Default value: 1
7177
7294
  */
7178
7295
  step?: number | undefined;
7296
+ /**
7297
+ * Snap on valid values, rather than sliding freely; Suggestion: use with 'step' prop
7298
+ */
7299
+ snap?: boolean | undefined;
7179
7300
  /**
7180
7301
  * Work in reverse (changes direction)
7181
7302
  */
@@ -7185,67 +7306,92 @@ export interface QRangeProps {
7185
7306
  */
7186
7307
  vertical?: boolean | undefined;
7187
7308
  /**
7188
- * User can drag range instead of just the two thumbs
7309
+ * Color name for component from the Quasar Color Palette
7189
7310
  */
7190
- dragRange?: boolean | undefined;
7311
+ color?: string | undefined;
7191
7312
  /**
7192
- * User can drag only the range instead and NOT the two thumbs
7313
+ * Color name for the track (can be 'transparent' too) from the Quasar Color Palette
7193
7314
  */
7194
- dragOnlyRange?: boolean | undefined;
7315
+ trackColor?: string | undefined;
7195
7316
  /**
7196
- * Color name for component from the Quasar Color Palette
7317
+ * Apply a pattern image on the track
7197
7318
  */
7198
- color?: string | undefined;
7319
+ trackImg?: string | undefined;
7320
+ /**
7321
+ * Color name for the inner track (can be 'transparent' too) from the Quasar Color Palette
7322
+ */
7323
+ innerTrackColor?: string | undefined;
7199
7324
  /**
7200
- * Popup labels (for left and right thumbs) when user clicks/taps on the slider thumb and moves it
7325
+ * Apply a pattern image on the inner track
7326
+ */
7327
+ innerTrackImg?: string | undefined;
7328
+ /**
7329
+ * Color name for the selection bar (can be 'transparent' too) from the Quasar Color Palette
7330
+ */
7331
+ selectionColor?: string | undefined;
7332
+ /**
7333
+ * Apply a pattern image on the selection bar
7334
+ */
7335
+ selectionImg?: string | undefined;
7336
+ /**
7337
+ * Popup a label when user clicks/taps on the slider thumb and moves it
7201
7338
  */
7202
7339
  label?: boolean | undefined;
7203
7340
  /**
7204
- * Color name for labels background from the Quasar Color Palette; Applies to both labels, unless specific label color props are used
7341
+ * Color name for component from the Quasar Color Palette
7205
7342
  */
7206
7343
  labelColor?: string | undefined;
7207
7344
  /**
7208
- * Color name for labels text from the Quasar Color Palette; Applies to both labels, unless specific label text color props are used
7345
+ * Color name for component from the Quasar Color Palette
7209
7346
  */
7210
7347
  labelTextColor?: string | undefined;
7211
7348
  /**
7212
- * Color name for left label background from the Quasar Color Palette
7349
+ * Switch the position of the label (top <-> bottom or left <-> right)
7213
7350
  */
7214
- leftLabelColor?: string | undefined;
7351
+ switchLabelSide?: boolean | undefined;
7215
7352
  /**
7216
- * Color name for left label text from the Quasar Color Palette
7353
+ * Always display the label
7217
7354
  */
7218
- leftLabelTextColor?: string | undefined;
7355
+ labelAlways?: boolean | undefined;
7219
7356
  /**
7220
- * Color name for right label background from the Quasar Color Palette
7357
+ * Display markers on the track, one for each possible value for the model or using a custom step (when specifying a Number)
7221
7358
  */
7222
- rightLabelColor?: string | undefined;
7359
+ markers?: boolean | number | undefined;
7223
7360
  /**
7224
- * Color name for right label text from the Quasar Color Palette
7361
+ * 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
7362
+ * @param value The marker value to transform
7363
+ * @returns Marker definition Object or directly a String for the label of the marker
7225
7364
  */
7226
- rightLabelTextColor?: string | undefined;
7365
+ markerLabels?:
7366
+ | SliderMarkerLabels
7367
+ | SliderMarkerLabels
7368
+ | SliderMarkerLabels
7369
+ | SliderMarkerLabels
7370
+ | undefined;
7227
7371
  /**
7228
- * Override default label for min value
7372
+ * CSS class(es) to apply to the marker labels container
7229
7373
  */
7230
- leftLabelValue?: string | number | undefined;
7374
+ markerLabelsClass?: string | undefined;
7231
7375
  /**
7232
- * Override default label for max value
7376
+ * Switch the position of the marker labels (top <-> bottom or left <-> right)
7233
7377
  */
7234
- rightLabelValue?: string | number | undefined;
7378
+ switchMarkerLabelsSide?: boolean | undefined;
7235
7379
  /**
7236
- * Always display the labels
7380
+ * Track size (including CSS unit)
7381
+ * Default value: 4px
7237
7382
  */
7238
- labelAlways?: boolean | undefined;
7383
+ trackSize?: string | undefined;
7239
7384
  /**
7240
- * Display markers on the track, one for each possible value for the model or using a custom step (when specifying a Number)
7385
+ * Thumb size (including CSS unit)
7386
+ * Default value: 20px
7241
7387
  */
7242
- markers?: boolean | number | undefined;
7388
+ thumbSize?: string | undefined;
7243
7389
  /**
7244
- * Snap thumbs on valid values, rather than sliding freely; Suggestion: use with 'step' prop
7390
+ * Color name for component from the Quasar Color Palette
7245
7391
  */
7246
- snap?: boolean | undefined;
7392
+ thumbColor?: string | undefined;
7247
7393
  /**
7248
- * Set custom thumbs svg path
7394
+ * Set custom thumb svg path
7249
7395
  * Default value: M 4, 10 a 6,6 0 1,0 12,0 a 6,6 0 1,0 -12,0
7250
7396
  */
7251
7397
  thumbPath?: string | undefined;
@@ -7270,12 +7416,63 @@ export interface QRangeProps {
7270
7416
  */
7271
7417
  tabindex?: number | string | undefined;
7272
7418
  /**
7273
- * Emitted when the component needs to change the model; Is also used by v-model
7274
- * @param value New model value
7419
+ * 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
7275
7420
  */
7276
- "onUpdate:modelValue"?: (value: any) => void;
7421
+ modelValue:
7422
+ | {
7423
+ /**
7424
+ * Model value for left thumb
7425
+ */
7426
+ min?: number | null;
7427
+ /**
7428
+ * Model value for right thumb
7429
+ */
7430
+ max?: number | null;
7431
+ }
7432
+ | null
7433
+ | undefined;
7277
7434
  /**
7278
- * Emitted on lazy model value change (after user slides then releases thumb)
7435
+ * User can drag range instead of just the two thumbs
7436
+ */
7437
+ dragRange?: boolean | undefined;
7438
+ /**
7439
+ * User can drag only the range instead and NOT the two thumbs
7440
+ */
7441
+ dragOnlyRange?: boolean | undefined;
7442
+ /**
7443
+ * Color name for left label background from the Quasar Color Palette
7444
+ */
7445
+ leftLabelColor?: string | undefined;
7446
+ /**
7447
+ * Color name for left label text from the Quasar Color Palette
7448
+ */
7449
+ leftLabelTextColor?: string | undefined;
7450
+ /**
7451
+ * Color name for right label background from the Quasar Color Palette
7452
+ */
7453
+ rightLabelColor?: string | undefined;
7454
+ /**
7455
+ * Color name for right label text from the Quasar Color Palette
7456
+ */
7457
+ rightLabelTextColor?: string | undefined;
7458
+ /**
7459
+ * Override default label for min value
7460
+ */
7461
+ leftLabelValue?: string | number | undefined;
7462
+ /**
7463
+ * Override default label for max value
7464
+ */
7465
+ rightLabelValue?: string | number | undefined;
7466
+ /**
7467
+ * Color name (from the Quasar Color Palette) for left thumb
7468
+ */
7469
+ leftThumbColor?: string | undefined;
7470
+ /**
7471
+ * Color name (from the Quasar Color Palette) for right thumb
7472
+ */
7473
+ rightThumbColor?: string | undefined;
7474
+ /**
7475
+ * Emitted on lazy model value change (after user slides then releases the thumb)
7279
7476
  * @param value New model value
7280
7477
  */
7281
7478
  onChange?: (value: any) => void;
@@ -7284,9 +7481,67 @@ export interface QRangeProps {
7284
7481
  * @param phase Phase of panning
7285
7482
  */
7286
7483
  onPan?: (phase: "start" | "end") => void;
7484
+ /**
7485
+ * Emitted when the component needs to change the model; Is also used by v-model
7486
+ * @param value New model value
7487
+ */
7488
+ "onUpdate:modelValue"?: (value: any) => void;
7287
7489
  }
7288
7490
 
7289
- export interface QRangeSlots {}
7491
+ export interface QRangeSlots {
7492
+ /**
7493
+ * What should the menu display after filtering options and none are left to be displayed; Suggestion: <div>
7494
+ * @param scope
7495
+ */
7496
+ "marker-label": (scope: {
7497
+ /**
7498
+ * Config for current marker label
7499
+ */
7500
+ marker: SliderMarkerLabelConfig;
7501
+ /**
7502
+ * Array of marker label configs
7503
+ */
7504
+ markerList: SliderMarkerLabelArrayConfig[];
7505
+ /**
7506
+ * Object with key-value where key is the model and the value is the marker label config
7507
+ */
7508
+ markerMap: SliderMarkerLabelObjectConfig;
7509
+ /**
7510
+ * Required CSS classes to be applied to the marker element
7511
+ */
7512
+ classes: string;
7513
+ /**
7514
+ * 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
7515
+ * @param value The marker label equivalent model value
7516
+ * @returns CSS style Object to apply to a marker element at respective model value
7517
+ */
7518
+ getStyle: (value: number) => LooseDictionary;
7519
+ }) => VNode[];
7520
+ /**
7521
+ * What should the menu display after filtering options and none are left to be displayed; Suggestion: <div>
7522
+ * @param scope
7523
+ */
7524
+ "marker-label-group": (scope: {
7525
+ /**
7526
+ * Array of marker label configs
7527
+ */
7528
+ markerList: SliderMarkerLabelArrayConfig[];
7529
+ /**
7530
+ * Object with key-value where key is the model and the value is the marker label config
7531
+ */
7532
+ markerMap: SliderMarkerLabelObjectConfig;
7533
+ /**
7534
+ * Required CSS classes to be applied to the marker element
7535
+ */
7536
+ classes: string;
7537
+ /**
7538
+ * 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
7539
+ * @param value The marker label equivalent model value
7540
+ * @returns CSS style Object to apply to a marker element at respective model value
7541
+ */
7542
+ getStyle: (value: number) => LooseDictionary;
7543
+ }) => VNode[];
7544
+ }
7290
7545
 
7291
7546
  export interface QRange extends ComponentPublicInstance<QRangeProps> {}
7292
7547
 
@@ -7472,7 +7727,7 @@ export interface QScrollAreaProps {
7472
7727
  /**
7473
7728
  * Vue reference to the QScrollArea which triggered the event
7474
7729
  */
7475
- ref: LooseDictionary;
7730
+ ref: QScrollArea;
7476
7731
  /**
7477
7732
  * Vertical scroll position (in px)
7478
7733
  */
@@ -7520,7 +7775,7 @@ export interface QScrollArea extends ComponentPublicInstance<QScrollAreaProps> {
7520
7775
  * Get the scrolling DOM element target
7521
7776
  * @returns DOM element upon which scrolling takes place
7522
7777
  */
7523
- getScrollTarget: () => LooseDictionary;
7778
+ getScrollTarget: () => Element;
7524
7779
  /**
7525
7780
  * Get the current scroll information
7526
7781
  * @returns Scroll information
@@ -7741,7 +7996,7 @@ export interface QSelectProps {
7741
7996
  /**
7742
7997
  * Model of the component; Must be Array if using 'multiple' prop; Either use this property (along with a listener for 'update:modelValue' event) OR use v-model directive
7743
7998
  */
7744
- modelValue: number | string | any[] | null | undefined;
7999
+ modelValue: any;
7745
8000
  /**
7746
8001
  * Does field have validation errors?
7747
8002
  */
@@ -7757,7 +8012,7 @@ export interface QSelectProps {
7757
8012
  /**
7758
8013
  * Array of Functions/Strings; If String, then it must be a name of one of the embedded validation rules
7759
8014
  */
7760
- rules?: any[] | undefined;
8015
+ rules?: ValidationRule[] | undefined;
7761
8016
  /**
7762
8017
  * By default a change in the rules does not trigger a new validation until the model changes; If set to true then a change in the rules will trigger a validation; Has a performance penalty, so use it only when you really need it
7763
8018
  */
@@ -7892,7 +8147,6 @@ export interface QSelectProps {
7892
8147
  displayValue?: number | string | undefined;
7893
8148
  /**
7894
8149
  * Force render the selected option(s) as HTML; This can lead to XSS attacks so make sure that you sanitize the content; Does NOT apply when using 'selected' or 'selected-item' slots!
7895
- * Default value: false
7896
8150
  */
7897
8151
  displayValueHtml?: boolean | undefined;
7898
8152
  /**
@@ -7903,6 +8157,8 @@ export interface QSelectProps {
7903
8157
  /**
7904
8158
  * Property of option which holds the 'value'; If using a function then for best performance, reference it from your scope and do not define it inline
7905
8159
  * Default value: value
8160
+ * @param option The current option being processed
8161
+ * @returns Value of the current option
7906
8162
  */
7907
8163
  optionValue?:
7908
8164
  | ((option: string | LooseDictionary) => any)
@@ -7911,6 +8167,8 @@ export interface QSelectProps {
7911
8167
  /**
7912
8168
  * Property of option which holds the 'label'; If using a function then for best performance, reference it from your scope and do not define it inline
7913
8169
  * Default value: label
8170
+ * @param option The current option being processed
8171
+ * @returns Label of the current option
7914
8172
  */
7915
8173
  optionLabel?:
7916
8174
  | ((option: string | LooseDictionary) => string)
@@ -7919,6 +8177,8 @@ export interface QSelectProps {
7919
8177
  /**
7920
8178
  * Property of option which tells it's disabled; The value of the property must be a Boolean; If using a function then for best performance, reference it from your scope and do not define it inline
7921
8179
  * Default value: disable
8180
+ * @param option The current option being processed
8181
+ * @returns If true, the current option will be disabled
7922
8182
  */
7923
8183
  optionDisable?:
7924
8184
  | ((option: string | LooseDictionary) => boolean)
@@ -7954,7 +8214,6 @@ export interface QSelectProps {
7954
8214
  optionsSelectedClass?: string | undefined;
7955
8215
  /**
7956
8216
  * Force render the options as HTML; This can lead to XSS attacks so make sure that you sanitize the content; Does NOT apply when using 'option' slot!
7957
- * Default value: false
7958
8217
  */
7959
8218
  optionsHtml?: boolean | undefined;
7960
8219
  /**
@@ -8104,9 +8363,9 @@ export interface QSelectProps {
8104
8363
  */
8105
8364
  direction: "increase" | "decrease";
8106
8365
  /**
8107
- * Vue reference to the QVirtualList which triggered the event
8366
+ * Vue reference to the QSelect
8108
8367
  */
8109
- ref: LooseDictionary;
8368
+ ref: QSelect;
8110
8369
  }) => void;
8111
8370
  /**
8112
8371
  * When using the 'clearable' property, this event is emitted when the clear icon is clicked
@@ -8158,7 +8417,7 @@ export interface QSelectProps {
8158
8417
  */
8159
8418
  onNewValue?: (
8160
8419
  inputValue: string,
8161
- doneFn: (item: any, mode: "add" | "add-unique" | "toggle") => void
8420
+ doneFn: (item?: any, mode?: "add" | "add-unique" | "toggle") => void
8162
8421
  ) => void;
8163
8422
  /**
8164
8423
  * Emitted when user wants to filter a value
@@ -8168,10 +8427,7 @@ export interface QSelectProps {
8168
8427
  */
8169
8428
  onFilter?: (
8170
8429
  inputValue: string,
8171
- doneFn: (
8172
- callbackFn: () => void,
8173
- afterFn: (ref: LooseDictionary) => void
8174
- ) => void,
8430
+ doneFn: (callbackFn: () => void, afterFn?: (ref: QSelect) => void) => void,
8175
8431
  abortFn: () => void
8176
8432
  ) => void;
8177
8433
  /**
@@ -8272,10 +8528,12 @@ export interface QSelectSlots {
8272
8528
  selected: boolean;
8273
8529
  /**
8274
8530
  * Remove selected option located at specific index
8531
+ * @param index Index at which to remove selection
8275
8532
  */
8276
8533
  removeAtIndex: (index: number) => void;
8277
8534
  /**
8278
8535
  * Add/remove option from model
8536
+ * @param opt Option to add to model
8279
8537
  */
8280
8538
  toggleOption: (opt: any) => void;
8281
8539
  /**
@@ -8306,10 +8564,12 @@ export interface QSelectSlots {
8306
8564
  focused: boolean;
8307
8565
  /**
8308
8566
  * Add/remove option from model
8567
+ * @param opt Option to add to model
8309
8568
  */
8310
8569
  toggleOption: (opt: any) => void;
8311
8570
  /**
8312
8571
  * Sets option from menu as 'focused'
8572
+ * @param index Index of option from menu
8313
8573
  */
8314
8574
  setOptionIndex: (index: number) => void;
8315
8575
  /**
@@ -8412,7 +8672,7 @@ export interface QSelect extends ComponentPublicInstance<QSelectProps> {
8412
8672
  * @param value String to set the input value to
8413
8673
  * @param noFilter Set to true if you don't want the filter (if any) to be also triggered
8414
8674
  */
8415
- updateInputValue: (value?: string, noFilter?: boolean) => void;
8675
+ updateInputValue: (value: string, noFilter?: boolean) => void;
8416
8676
  /**
8417
8677
  * Tells if an option is selected
8418
8678
  * @param opt Option entry
@@ -8717,23 +8977,31 @@ export interface QSliderProps {
8717
8977
  */
8718
8978
  name?: string | undefined;
8719
8979
  /**
8720
- * Model of the component (must be between min/max); Either use this property (along with a listener for 'update:modelValue' event) OR use v-model directive
8721
- */
8722
- modelValue: number | null | undefined;
8723
- /**
8724
- * Minimum value of the model
8980
+ * Minimum value of the model; Set track's minimum value
8725
8981
  */
8726
8982
  min?: number | undefined;
8727
8983
  /**
8728
- * Maximum value of the model
8984
+ * Maximum value of the model; Set track's maximum value
8729
8985
  * Default value: 100
8730
8986
  */
8731
8987
  max?: number | undefined;
8988
+ /**
8989
+ * 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
8990
+ */
8991
+ innerMin?: number | undefined;
8992
+ /**
8993
+ * 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
8994
+ */
8995
+ innerMax?: number | undefined;
8732
8996
  /**
8733
8997
  * Specify step amount between valid values (> 0.0); When step equals to 0 it defines infinite granularity
8734
8998
  * Default value: 1
8735
8999
  */
8736
9000
  step?: number | undefined;
9001
+ /**
9002
+ * Snap on valid values, rather than sliding freely; Suggestion: use with 'step' prop
9003
+ */
9004
+ snap?: boolean | undefined;
8737
9005
  /**
8738
9006
  * Work in reverse (changes direction)
8739
9007
  */
@@ -8746,6 +9014,30 @@ export interface QSliderProps {
8746
9014
  * Color name for component from the Quasar Color Palette
8747
9015
  */
8748
9016
  color?: string | undefined;
9017
+ /**
9018
+ * Color name for the track (can be 'transparent' too) from the Quasar Color Palette
9019
+ */
9020
+ trackColor?: string | undefined;
9021
+ /**
9022
+ * Apply a pattern image on the track
9023
+ */
9024
+ trackImg?: string | undefined;
9025
+ /**
9026
+ * Color name for the inner track (can be 'transparent' too) from the Quasar Color Palette
9027
+ */
9028
+ innerTrackColor?: string | undefined;
9029
+ /**
9030
+ * Apply a pattern image on the inner track
9031
+ */
9032
+ innerTrackImg?: string | undefined;
9033
+ /**
9034
+ * Color name for the selection bar (can be 'transparent' too) from the Quasar Color Palette
9035
+ */
9036
+ selectionColor?: string | undefined;
9037
+ /**
9038
+ * Apply a pattern image on the selection bar
9039
+ */
9040
+ selectionImg?: string | undefined;
8749
9041
  /**
8750
9042
  * Popup a label when user clicks/taps on the slider thumb and moves it
8751
9043
  */
@@ -8759,9 +9051,9 @@ export interface QSliderProps {
8759
9051
  */
8760
9052
  labelTextColor?: string | undefined;
8761
9053
  /**
8762
- * Override default label value
9054
+ * Switch the position of the label (top <-> bottom or left <-> right)
8763
9055
  */
8764
- labelValue?: string | number | undefined;
9056
+ switchLabelSide?: boolean | undefined;
8765
9057
  /**
8766
9058
  * Always display the label
8767
9059
  */
@@ -8771,9 +9063,38 @@ export interface QSliderProps {
8771
9063
  */
8772
9064
  markers?: boolean | number | undefined;
8773
9065
  /**
8774
- * Snap on valid values, rather than sliding freely; Suggestion: use with 'step' prop
9066
+ * 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
9067
+ * @param value The marker value to transform
9068
+ * @returns Marker definition Object or directly a String for the label of the marker
8775
9069
  */
8776
- snap?: boolean | undefined;
9070
+ markerLabels?:
9071
+ | SliderMarkerLabels
9072
+ | SliderMarkerLabels
9073
+ | SliderMarkerLabels
9074
+ | SliderMarkerLabels
9075
+ | undefined;
9076
+ /**
9077
+ * CSS class(es) to apply to the marker labels container
9078
+ */
9079
+ markerLabelsClass?: string | undefined;
9080
+ /**
9081
+ * Switch the position of the marker labels (top <-> bottom or left <-> right)
9082
+ */
9083
+ switchMarkerLabelsSide?: boolean | undefined;
9084
+ /**
9085
+ * Track size (including CSS unit)
9086
+ * Default value: 4px
9087
+ */
9088
+ trackSize?: string | undefined;
9089
+ /**
9090
+ * Thumb size (including CSS unit)
9091
+ * Default value: 20px
9092
+ */
9093
+ thumbSize?: string | undefined;
9094
+ /**
9095
+ * Color name for component from the Quasar Color Palette
9096
+ */
9097
+ thumbColor?: string | undefined;
8777
9098
  /**
8778
9099
  * Set custom thumb svg path
8779
9100
  * Default value: M 4, 10 a 6,6 0 1,0 12,0 a 6,6 0 1,0 -12,0
@@ -8800,10 +9121,13 @@ export interface QSliderProps {
8800
9121
  */
8801
9122
  tabindex?: number | string | undefined;
8802
9123
  /**
8803
- * Emitted when the component needs to change the model; Is also used by v-model
8804
- * @param value New model value
9124
+ * Model of the component (must be between min/max); Either use this property (along with a listener for 'update:modelValue' event) OR use v-model directive
8805
9125
  */
8806
- "onUpdate:modelValue"?: (value: number | null) => void;
9126
+ modelValue: number | null | undefined;
9127
+ /**
9128
+ * Override default label value
9129
+ */
9130
+ labelValue?: string | number | undefined;
8807
9131
  /**
8808
9132
  * Emitted on lazy model value change (after user slides then releases the thumb)
8809
9133
  * @param value New model value
@@ -8814,9 +9138,67 @@ export interface QSliderProps {
8814
9138
  * @param phase Phase of panning
8815
9139
  */
8816
9140
  onPan?: (phase: "start" | "end") => void;
9141
+ /**
9142
+ * Emitted when the component needs to change the model; Is also used by v-model
9143
+ * @param value New model value
9144
+ */
9145
+ "onUpdate:modelValue"?: (value: number | null) => void;
8817
9146
  }
8818
9147
 
8819
- export interface QSliderSlots {}
9148
+ export interface QSliderSlots {
9149
+ /**
9150
+ * What should the menu display after filtering options and none are left to be displayed; Suggestion: <div>
9151
+ * @param scope
9152
+ */
9153
+ "marker-label": (scope: {
9154
+ /**
9155
+ * Config for current marker label
9156
+ */
9157
+ marker: SliderMarkerLabelConfig;
9158
+ /**
9159
+ * Array of marker label configs
9160
+ */
9161
+ markerList: SliderMarkerLabelArrayConfig[];
9162
+ /**
9163
+ * Object with key-value where key is the model and the value is the marker label config
9164
+ */
9165
+ markerMap: SliderMarkerLabelObjectConfig;
9166
+ /**
9167
+ * Required CSS classes to be applied to the marker element
9168
+ */
9169
+ classes: string;
9170
+ /**
9171
+ * 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
9172
+ * @param value The marker label equivalent model value
9173
+ * @returns CSS style Object to apply to a marker element at respective model value
9174
+ */
9175
+ getStyle: (value: number) => LooseDictionary;
9176
+ }) => VNode[];
9177
+ /**
9178
+ * What should the menu display after filtering options and none are left to be displayed; Suggestion: <div>
9179
+ * @param scope
9180
+ */
9181
+ "marker-label-group": (scope: {
9182
+ /**
9183
+ * Array of marker label configs
9184
+ */
9185
+ markerList: SliderMarkerLabelArrayConfig[];
9186
+ /**
9187
+ * Object with key-value where key is the model and the value is the marker label config
9188
+ */
9189
+ markerMap: SliderMarkerLabelObjectConfig;
9190
+ /**
9191
+ * Required CSS classes to be applied to the marker element
9192
+ */
9193
+ classes: string;
9194
+ /**
9195
+ * 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
9196
+ * @param value The marker label equivalent model value
9197
+ * @returns CSS style Object to apply to a marker element at respective model value
9198
+ */
9199
+ getStyle: (value: number) => LooseDictionary;
9200
+ }) => VNode[];
9201
+ }
8820
9202
 
8821
9203
  export interface QSlider extends ComponentPublicInstance<QSliderProps> {}
8822
9204
 
@@ -9668,6 +10050,8 @@ export interface QTableProps {
9668
10050
  /**
9669
10051
  * Property of each row that defines the unique key of each row (the result must be a primitive, not Object, Array, etc); The value of property must be string or a function taking a row and returning the desired (nested) key in the row; If supplying a function then for best performance, reference it from your scope and do not define it inline
9670
10052
  * Default value: id
10053
+ * @param row The current row being processed
10054
+ * @returns Current row's key
9671
10055
  */
9672
10056
  rowKey?: string | ((row: LooseDictionary) => any) | undefined;
9673
10057
  /**
@@ -9756,6 +10140,8 @@ export interface QTableProps {
9756
10140
  label: string;
9757
10141
  /**
9758
10142
  * Row Object property to determine value for this column or function which maps to the required property
10143
+ * @param row The current row being processed
10144
+ * @returns Value for this column
9759
10145
  */
9760
10146
  field: string | ((row: LooseDictionary) => any);
9761
10147
  /**
@@ -9773,6 +10159,11 @@ export interface QTableProps {
9773
10159
  sortable?: boolean;
9774
10160
  /**
9775
10161
  * Compare function if you have some custom data or want a specific way to compare two rows
10162
+ * @param a Value of the first comparison term
10163
+ * @param b Value of the second comparison term
10164
+ * @param rowA Full Row object in which is contained the first term
10165
+ * @param rowB Full Row object in which is contained the second term
10166
+ * @returns Comparison result of term 'a' with term 'b'. Less than 0 when 'a' should come first; greater than 0 if 'b' should come first; equal to 0 if their position must not be changed with respect to each other
9776
10167
  */
9777
10168
  sort?: (
9778
10169
  a: any,
@@ -9787,14 +10178,19 @@ export interface QTableProps {
9787
10178
  sortOrder?: "ad" | "da";
9788
10179
  /**
9789
10180
  * Function you can apply to format your data
10181
+ * @param val Value of the cell
10182
+ * @param row Full Row object in which the cell is contained
10183
+ * @returns The resulting formatted value
9790
10184
  */
9791
10185
  format?: (val: any, row: LooseDictionary) => any;
9792
10186
  /**
9793
10187
  * Style to apply on normal cells of the column
10188
+ * @param row The current row being processed
9794
10189
  */
9795
10190
  style?: string | ((row: LooseDictionary) => string);
9796
10191
  /**
9797
10192
  * Classes to add on normal cells of the column
10193
+ * @param row The current row being processed
9798
10194
  */
9799
10195
  classes?: string | ((row: LooseDictionary) => string);
9800
10196
  /**
@@ -9887,6 +10283,8 @@ export interface QTableProps {
9887
10283
  loadingLabel?: string | undefined;
9888
10284
  /**
9889
10285
  * Text to display when user selected at least one row; For best performance, reference it from your scope and do not define it inline
10286
+ * @param numberOfRows Number of rows available
10287
+ * @returns Label to display
9890
10288
  */
9891
10289
  selectedRowsLabel?: ((numberOfRows: number) => string) | undefined;
9892
10290
  /**
@@ -9895,6 +10293,10 @@ export interface QTableProps {
9895
10293
  rowsPerPageLabel?: string | undefined;
9896
10294
  /**
9897
10295
  * Text to override default pagination label at bottom of table (unless 'pagination' scoped slot is used); For best performance, reference it from your scope and do not define it inline
10296
+ * @param firstRowIndex Index of first displayed row
10297
+ * @param endRowIndex Index of last displayed row
10298
+ * @param totalRowsNumber Number of total rows available in data
10299
+ * @returns Label to display
9898
10300
  */
9899
10301
  paginationLabel?:
9900
10302
  | ((
@@ -9946,6 +10348,11 @@ export interface QTableProps {
9946
10348
  /**
9947
10349
  * The actual filtering mechanism; For best performance, reference it from your scope and do not define it inline
9948
10350
  * Default value: (see source code)
10351
+ * @param rows Array of rows
10352
+ * @param terms Terms to filter with (is essentially the 'filter' prop value)
10353
+ * @param cols Column definitions
10354
+ * @param getCellValue Optional function to get a cell value
10355
+ * @returns Filtered rows
9949
10356
  */
9950
10357
  filterMethod?:
9951
10358
  | ((
@@ -10005,6 +10412,10 @@ export interface QTableProps {
10005
10412
  /**
10006
10413
  * The actual sort mechanism. Function (rows, sortBy, descending) => sorted rows; For best performance, reference it from your scope and do not define it inline
10007
10414
  * Default value: (see source code)
10415
+ * @param rows Array with rows
10416
+ * @param sortBy Column name (from column definition)
10417
+ * @param descending Is sorting in descending order?
10418
+ * @returns Sorted rows
10008
10419
  */
10009
10420
  sortMethod?:
10010
10421
  | ((rows: any[], sortBy: string, descending: boolean) => any[])
@@ -10070,15 +10481,23 @@ export interface QTableProps {
10070
10481
  };
10071
10482
  /**
10072
10483
  * Filter method (the 'filter-method' prop)
10484
+ * @param rows Array of rows
10485
+ * @param terms Terms to filter with (is essentially the 'filter' prop value)
10486
+ * @param cols Optional column definitions
10487
+ * @param getCellValue Optional function to get a cell value
10488
+ * @returns Filtered rows
10073
10489
  */
10074
10490
  filter: (
10075
10491
  rows: any[],
10076
10492
  terms: string | LooseDictionary,
10077
- cols: any[],
10078
- getCellValue: (col: LooseDictionary, row: LooseDictionary) => any
10493
+ cols?: any[],
10494
+ getCellValue?: (col: LooseDictionary, row: LooseDictionary) => any
10079
10495
  ) => any[];
10080
10496
  /**
10081
- * Optional function to get a cell value
10497
+ * Function to get a cell value
10498
+ * @param col Column name from column definitions
10499
+ * @param row The row object
10500
+ * @returns Parsed/Processed cell value
10082
10501
  */
10083
10502
  getCellValue: (col: LooseDictionary, row: LooseDictionary) => any;
10084
10503
  }) => void;
@@ -10125,6 +10544,10 @@ export interface QTableProps {
10125
10544
  * How many rows per page? 0 means Infinite
10126
10545
  */
10127
10546
  rowsPerPage: number;
10547
+ /**
10548
+ * For server-side fetching only. How many total database rows are there to be added to the table.
10549
+ */
10550
+ rowsNumber?: number;
10128
10551
  }) => void;
10129
10552
  /**
10130
10553
  * Used by Vue on 'v-model:selected' prop for updating its value
@@ -10196,6 +10619,7 @@ export interface QTableSlots {
10196
10619
  colsMap: LooseDictionary;
10197
10620
  /**
10198
10621
  * Trigger a table sort
10622
+ * @param col Column name or column definition object
10199
10623
  */
10200
10624
  sort: (col: string | LooseDictionary) => void;
10201
10625
  /**
@@ -10208,7 +10632,6 @@ export interface QTableSlots {
10208
10632
  expand: boolean;
10209
10633
  /**
10210
10634
  * Color name for component from the Quasar Color Palette
10211
- * Default value: grey-8
10212
10635
  */
10213
10636
  color: string;
10214
10637
  /**
@@ -10251,6 +10674,7 @@ export interface QTableSlots {
10251
10674
  colsMap: LooseDictionary;
10252
10675
  /**
10253
10676
  * Trigger a table sort
10677
+ * @param col Column name or column definition object
10254
10678
  */
10255
10679
  sort: (col: string | LooseDictionary) => void;
10256
10680
  /**
@@ -10263,7 +10687,6 @@ export interface QTableSlots {
10263
10687
  expand: boolean;
10264
10688
  /**
10265
10689
  * Color name for component from the Quasar Color Palette
10266
- * Default value: grey-8
10267
10690
  */
10268
10691
  color: string;
10269
10692
  /**
@@ -10318,6 +10741,7 @@ export interface QTableSlots {
10318
10741
  colsMap: LooseDictionary;
10319
10742
  /**
10320
10743
  * Trigger a table sort
10744
+ * @param col Column name or column definition object
10321
10745
  */
10322
10746
  sort: (col: string | LooseDictionary) => void;
10323
10747
  /**
@@ -10330,7 +10754,6 @@ export interface QTableSlots {
10330
10754
  expand: boolean;
10331
10755
  /**
10332
10756
  * Color name for component from the Quasar Color Palette
10333
- * Default value: grey-8
10334
10757
  */
10335
10758
  color: string;
10336
10759
  /**
@@ -10381,6 +10804,7 @@ export interface QTableSlots {
10381
10804
  colsMap: LooseDictionary;
10382
10805
  /**
10383
10806
  * Trigger a table sort
10807
+ * @param col Column name or column definition object
10384
10808
  */
10385
10809
  sort: (col: string | LooseDictionary) => void;
10386
10810
  /**
@@ -10393,7 +10817,6 @@ export interface QTableSlots {
10393
10817
  expand: boolean;
10394
10818
  /**
10395
10819
  * Color name for component from the Quasar Color Palette
10396
- * Default value: grey-8
10397
10820
  */
10398
10821
  color: string;
10399
10822
  /**
@@ -10420,6 +10843,7 @@ export interface QTableSlots {
10420
10843
  colsMap: LooseDictionary;
10421
10844
  /**
10422
10845
  * Trigger a table sort
10846
+ * @param col Column name or column definition object
10423
10847
  */
10424
10848
  sort: (col: string | LooseDictionary) => void;
10425
10849
  /**
@@ -10432,7 +10856,6 @@ export interface QTableSlots {
10432
10856
  expand: boolean;
10433
10857
  /**
10434
10858
  * Color name for component from the Quasar Color Palette
10435
- * Default value: grey-8
10436
10859
  */
10437
10860
  color: string;
10438
10861
  /**
@@ -10471,6 +10894,7 @@ export interface QTableSlots {
10471
10894
  colsMap: LooseDictionary;
10472
10895
  /**
10473
10896
  * Trigger a table sort
10897
+ * @param col Column name or column definition object
10474
10898
  */
10475
10899
  sort: (col: string | LooseDictionary) => void;
10476
10900
  /**
@@ -10483,7 +10907,6 @@ export interface QTableSlots {
10483
10907
  expand: boolean;
10484
10908
  /**
10485
10909
  * Color name for component from the Quasar Color Palette
10486
- * Default value: grey-8
10487
10910
  */
10488
10911
  color: string;
10489
10912
  /**
@@ -10514,6 +10937,7 @@ export interface QTableSlots {
10514
10937
  colsMap: LooseDictionary;
10515
10938
  /**
10516
10939
  * Trigger a table sort
10940
+ * @param col Column name or column definition object
10517
10941
  */
10518
10942
  sort: (col: string | LooseDictionary) => void;
10519
10943
  /**
@@ -10526,7 +10950,6 @@ export interface QTableSlots {
10526
10950
  expand: boolean;
10527
10951
  /**
10528
10952
  * Color name for component from the Quasar Color Palette
10529
- * Default value: grey-8
10530
10953
  */
10531
10954
  color: string;
10532
10955
  /**
@@ -10569,6 +10992,7 @@ export interface QTableSlots {
10569
10992
  colsMap: LooseDictionary;
10570
10993
  /**
10571
10994
  * Trigger a table sort
10995
+ * @param col Column name or column definition object
10572
10996
  */
10573
10997
  sort: (col: string | LooseDictionary) => void;
10574
10998
  /**
@@ -10581,7 +11005,6 @@ export interface QTableSlots {
10581
11005
  expand: boolean;
10582
11006
  /**
10583
11007
  * Color name for component from the Quasar Color Palette
10584
- * Default value: grey-8
10585
11008
  */
10586
11009
  color: string;
10587
11010
  /**
@@ -10608,6 +11031,7 @@ export interface QTableSlots {
10608
11031
  colsMap: LooseDictionary;
10609
11032
  /**
10610
11033
  * Trigger a table sort
11034
+ * @param col Column name or column definition object
10611
11035
  */
10612
11036
  sort: (col: string | LooseDictionary) => void;
10613
11037
  /**
@@ -10620,7 +11044,6 @@ export interface QTableSlots {
10620
11044
  expand: boolean;
10621
11045
  /**
10622
11046
  * Color name for component from the Quasar Color Palette
10623
- * Default value: grey-8
10624
11047
  */
10625
11048
  color: string;
10626
11049
  /**
@@ -11087,12 +11510,17 @@ export interface QTable extends ComponentPublicInstance<QTableProps> {
11087
11510
  };
11088
11511
  /**
11089
11512
  * Filtering method (the 'filter-method' prop)
11513
+ * @param rows Array of rows
11514
+ * @param terms Terms to filter with (is essentially the 'filter' prop value)
11515
+ * @param cols Optional column definitions
11516
+ * @param getCellValue Optional function to get a cell value
11517
+ * @returns Filtered rows
11090
11518
  */
11091
11519
  filter?: (
11092
11520
  rows: any[],
11093
11521
  terms: string | LooseDictionary,
11094
- cols: any[],
11095
- getCellValue: (col: LooseDictionary, row: LooseDictionary) => any
11522
+ cols?: any[],
11523
+ getCellValue?: (col?: LooseDictionary, row?: LooseDictionary) => any
11096
11524
  ) => any[];
11097
11525
  }) => void;
11098
11526
  /**
@@ -11170,7 +11598,7 @@ export interface QTable extends ComponentPublicInstance<QTableProps> {
11170
11598
  /**
11171
11599
  * Scroll the table to the row with the specified index in page (0 based)
11172
11600
  * @param index The index of the row in page (0 based)
11173
- * @param edge Only for virtual scroll - the edge to align to if the row is not visible already (by default it aligns to end if scrolling towards the end and to start otherwise); If the '-force' version is used then it always aligns
11601
+ * @param edge Only for virtual scroll - the edge to align to if the row is not visible already; If the '-force' version is used then it always aligns
11174
11602
  */
11175
11603
  scrollTo: (
11176
11604
  index: string | number,
@@ -11250,25 +11678,33 @@ export interface QTr extends ComponentPublicInstance<QTrProps> {}
11250
11678
 
11251
11679
  export interface QRouteTabProps {
11252
11680
  /**
11253
- * Equivalent to Vue Router <router-link> 'to' property
11681
+ * Equivalent to Vue Router <router-link> 'to' property; Superseeded by 'href' prop if used
11254
11682
  */
11255
- to: string | LooseDictionary;
11683
+ to?: string | LooseDictionary | undefined;
11256
11684
  /**
11257
- * Equivalent to Vue Router <router-link> 'exact' property
11685
+ * Equivalent to Vue Router <router-link> 'exact' property; Superseeded by 'href' prop if used
11258
11686
  */
11259
11687
  exact?: boolean | undefined;
11260
11688
  /**
11261
- * Equivalent to Vue Router <router-link> 'replace' property
11689
+ * Equivalent to Vue Router <router-link> 'replace' property; Superseeded by 'href' prop if used
11262
11690
  */
11263
11691
  replace?: boolean | undefined;
11264
11692
  /**
11265
- * Equivalent to Vue Router <router-link> 'active-class' property
11693
+ * Equivalent to Vue Router <router-link> 'active-class' property; Superseeded by 'href' prop if used
11266
11694
  */
11267
11695
  activeClass?: string | undefined;
11268
11696
  /**
11269
- * Equivalent to Vue Router <router-link> 'active-class' property
11697
+ * Equivalent to Vue Router <router-link> 'active-class' property; Superseeded by 'href' prop if used
11270
11698
  */
11271
11699
  exactActiveClass?: string | undefined;
11700
+ /**
11701
+ * Native <a> link href attribute; Has priority over the 'to'/'exact'/'replace'/'active-class'/'exact-active-class' props
11702
+ */
11703
+ href?: string | undefined;
11704
+ /**
11705
+ * Native <a> link target attribute; Use it only along with 'href' prop; Has priority over the 'to'/'exact'/'replace'/'active-class'/'exact-active-class' props
11706
+ */
11707
+ target?: string | undefined;
11272
11708
  /**
11273
11709
  * Put component in disabled mode
11274
11710
  */
@@ -11571,6 +12007,9 @@ export interface QTimeProps {
11571
12007
  defaultDate?: string | undefined;
11572
12008
  /**
11573
12009
  * Optionally configure what time is the user allowed to set; Overridden by 'hour-options', 'minute-options' and 'second-options' if those are set; For best performance, reference it from your scope and do not define it inline
12010
+ * @param hr Hour
12011
+ * @param min Minutes
12012
+ * @param sec Seconds
11574
12013
  */
11575
12014
  options?: ((hr: number, min: number, sec: number) => void) | undefined;
11576
12015
  /**
@@ -12121,6 +12560,9 @@ export interface QTreeProps {
12121
12560
  /**
12122
12561
  * The function to use to filter the tree nodes; For best performance, reference it from your scope and do not define it inline
12123
12562
  * Default value: (see source code)
12563
+ * @param node Node currently being filtered
12564
+ * @param filter Filter text to match against
12565
+ * @returns Matches or not
12124
12566
  */
12125
12567
  filterMethod?:
12126
12568
  | ((node: LooseDictionary, filter: string) => boolean)
@@ -12158,8 +12600,9 @@ export interface QTreeProps {
12158
12600
  key: string;
12159
12601
  /**
12160
12602
  * The callback to be carried out when the loading is successful
12603
+ * @param children Array of nodes
12161
12604
  */
12162
- done: (children: any[]) => void;
12605
+ done: (children?: any[]) => void;
12163
12606
  /**
12164
12607
  * The callback to be carried out should the loading fails
12165
12608
  */
@@ -12202,7 +12645,7 @@ export interface QTreeSlots {
12202
12645
  /**
12203
12646
  * QTree instance
12204
12647
  */
12205
- tree: LooseDictionary;
12648
+ tree: QTree;
12206
12649
  /**
12207
12650
  * Node object
12208
12651
  */
@@ -12236,7 +12679,7 @@ export interface QTreeSlots {
12236
12679
  /**
12237
12680
  * QTree instance
12238
12681
  */
12239
- tree: LooseDictionary;
12682
+ tree: QTree;
12240
12683
  /**
12241
12684
  * Node object
12242
12685
  */
@@ -12270,7 +12713,7 @@ export interface QTreeSlots {
12270
12713
  /**
12271
12714
  * QTree instance
12272
12715
  */
12273
- tree: LooseDictionary;
12716
+ tree: QTree;
12274
12717
  /**
12275
12718
  * Node object
12276
12719
  */
@@ -12304,7 +12747,7 @@ export interface QTreeSlots {
12304
12747
  /**
12305
12748
  * QTree instance
12306
12749
  */
12307
- tree: LooseDictionary;
12750
+ tree: QTree;
12308
12751
  /**
12309
12752
  * Node object
12310
12753
  */
@@ -12378,24 +12821,34 @@ export interface QTree extends ComponentPublicInstance<QTreeProps> {
12378
12821
  export interface QUploaderProps {
12379
12822
  /**
12380
12823
  * Function which should return an Object or a Promise resolving with an Object; For best performance, reference it from your scope and do not define it inline
12824
+ * @param files Uploaded files
12825
+ * @returns Optional configuration for the upload process; You can override QUploader props in this Object (url, method, headers, formFields, fieldName, withCredentials, sendRaw); Props of these Object can also be Functions with the form of (file[s]) => value
12381
12826
  */
12382
12827
  factory?: ((files: any[]) => LooseDictionary | Promise<any>) | undefined;
12383
12828
  /**
12384
12829
  * URL or path to the server which handles the upload. Takes String or factory function, which returns String. Function is called right before upload; If using a function then for best performance, reference it from your scope and do not define it inline
12830
+ * @param files Uploaded files
12831
+ * @returns URL or path to the server which handles the upload
12385
12832
  */
12386
12833
  url?: string | ((files: any[]) => string) | undefined;
12387
12834
  /**
12388
12835
  * HTTP method to use for upload; Takes String or factory function which returns a String; Function is called right before upload; If using a function then for best performance, reference it from your scope and do not define it inline
12389
12836
  * Default value: POST
12837
+ * @param files Uploaded files
12838
+ * @returns HTTP method to use for upload
12390
12839
  */
12391
12840
  method?: "POST" | "PUT" | ((files: any[]) => string) | undefined;
12392
12841
  /**
12393
12842
  * Field name for each file upload; This goes into the following header: 'Content-Disposition: form-data; name="__HERE__"; filename="somefile.png"; If using a function then for best performance, reference it from your scope and do not define it inline
12394
12843
  * Default value: (file) => file.name
12844
+ * @param files The current file being processed
12845
+ * @returns Field name for the current file upload
12395
12846
  */
12396
12847
  fieldName?: string | ((files: File) => string) | undefined;
12397
12848
  /**
12398
12849
  * Array or a factory function which returns an array; Array consists of objects with header definitions; Function is called right before upload; If using a function then for best performance, reference it from your scope and do not define it inline
12850
+ * @param files Uploaded files
12851
+ * @returns An array consists of objects with header definitions
12399
12852
  */
12400
12853
  headers?:
12401
12854
  | {
@@ -12412,6 +12865,8 @@ export interface QUploaderProps {
12412
12865
  | undefined;
12413
12866
  /**
12414
12867
  * Array or a factory function which returns an array; Array consists of objects with additional fields definitions (used by Form to be uploaded); Function is called right before upload; If using a function then for best performance, reference it from your scope and do not define it inline
12868
+ * @param files Uploaded files
12869
+ * @returns An array consists of objects with additional fields definitions (used by Form to be uploaded)
12415
12870
  */
12416
12871
  formFields?:
12417
12872
  | {
@@ -12428,14 +12883,20 @@ export interface QUploaderProps {
12428
12883
  | undefined;
12429
12884
  /**
12430
12885
  * Sets withCredentials to true on the XHR that manages the upload; Takes boolean or factory function for Boolean; Function is called right before upload; If using a function then for best performance, reference it from your scope and do not define it inline
12886
+ * @param files Uploaded files
12887
+ * @returns If true, withCredentials will be set to true on the XHR that manages the upload
12431
12888
  */
12432
12889
  withCredentials?: boolean | ((files: any[]) => boolean) | undefined;
12433
12890
  /**
12434
12891
  * Send raw files without wrapping into a Form(); Takes boolean or factory function for Boolean; Function is called right before upload; If using a function then for best performance, reference it from your scope and do not define it inline
12892
+ * @param files Uploaded files
12893
+ * @returns If true, raw files will get sent without wrapping into a Form()
12435
12894
  */
12436
12895
  sendRaw?: boolean | ((files: any[]) => boolean) | undefined;
12437
12896
  /**
12438
12897
  * Upload files in batch (in one XHR request); Takes boolean or factory function for Boolean; Function is called right before upload; If using a function then for best performance, reference it from your scope and do not define it inline
12898
+ * @param files Uploaded files
12899
+ * @returns If true, files will be uploaded in a batch (in one XHR request)
12439
12900
  */
12440
12901
  batch?: boolean | ((files: any[]) => boolean) | undefined;
12441
12902
  /**
@@ -12464,6 +12925,8 @@ export interface QUploaderProps {
12464
12925
  maxFiles?: number | string | undefined;
12465
12926
  /**
12466
12927
  * Custom filter for added files; Only files that pass this filter will be added to the queue and uploaded; For best performance, reference it from your scope and do not define it inline
12928
+ * @param files Candidate files to be added to queue
12929
+ * @returns Filtered files to be added to queue
12467
12930
  */
12468
12931
  filter?: ((files: FileList | any[]) => any[]) | undefined;
12469
12932
  /**
@@ -12558,10 +13021,10 @@ export interface QUploaderProps {
12558
13021
  }) => void;
12559
13022
  /**
12560
13023
  * Emitted when factory function is supplied with a Promise which is rejected
12561
- * @param err Error Object which is the Promise rejection reason
13024
+ * @param err Error object which is the Promise rejection reason
12562
13025
  * @param files Files which were to get uploaded
12563
13026
  */
12564
- onFactoryFailed?: (err: LooseDictionary, files: any[]) => void;
13027
+ onFactoryFailed?: (err: Error, files: any[]) => void;
12565
13028
  /**
12566
13029
  * Emitted after files are picked and some do not pass the validation props (accept, max-file-size, max-total-size, filter, etc)
12567
13030
  * @param rejectedEntries Array of { failedPropValidation: string, file: File } Objects for files that do not pass the validation
@@ -12590,12 +13053,14 @@ export interface QUploaderProps {
12590
13053
  export interface QUploaderSlots {
12591
13054
  /**
12592
13055
  * Slot for custom header; Scope is the QUploader instance itself
13056
+ * @param scope QUploader instance
12593
13057
  */
12594
- header: () => VNode[];
13058
+ header: (scope: QUploader) => VNode[];
12595
13059
  /**
12596
13060
  * Slot for custom list; Scope is the QUploader instance itself
13061
+ * @param scope QUploader instance
12597
13062
  */
12598
- list: () => VNode[];
13063
+ list: (scope: QUploader) => VNode[];
12599
13064
  }
12600
13065
 
12601
13066
  export interface QUploader extends ComponentPublicInstance<QUploaderProps> {
@@ -12714,6 +13179,9 @@ export interface QVirtualScrollProps {
12714
13179
  itemsSize?: number | undefined;
12715
13180
  /**
12716
13181
  * Function to return the scope for the items to be displayed; Should return an array for items starting from 'from' index for size length; For best performance, reference it from your scope and do not define it inline
13182
+ * @param from Index of the first item (0 based)
13183
+ * @param size Number of items to return
13184
+ * @returns List of scope for items to be displayed
12717
13185
  */
12718
13186
  itemsFn?: ((from: number, size: number) => any[]) | undefined;
12719
13187
  /**
@@ -12742,9 +13210,9 @@ export interface QVirtualScrollProps {
12742
13210
  */
12743
13211
  direction: "increase" | "decrease";
12744
13212
  /**
12745
- * Vue reference to the QVirtualList which triggered the event
13213
+ * Vue reference to the QVirtualScroll
12746
13214
  */
12747
- ref: LooseDictionary;
13215
+ ref: QVirtualScroll;
12748
13216
  }) => void;
12749
13217
  }
12750
13218
 
@@ -12807,7 +13275,7 @@ export interface DialogChainObject {
12807
13275
  * @param callbackFn Tell what to do
12808
13276
  * @returns Chained Object
12809
13277
  */
12810
- onOk: (callbackFn: (payload: any) => void) => DialogChainObject;
13278
+ onOk: (callbackFn: (payload?: any) => void) => DialogChainObject;
12811
13279
  /**
12812
13280
  * Receives a Function as param to tell what to do when Cancel is pressed / dialog is dismissed
12813
13281
  * @param callbackFn Tell what to do
@@ -12875,6 +13343,8 @@ export interface QDialogOptions {
12875
13343
  type?: string;
12876
13344
  /**
12877
13345
  * Is typed content valid?
13346
+ * @param val The value of the input
13347
+ * @returns The text passed validation or not
12878
13348
  */
12879
13349
  isValid?: (val: string) => boolean;
12880
13350
  /**
@@ -12945,6 +13415,8 @@ export interface QDialogOptions {
12945
13415
  items?: any[];
12946
13416
  /**
12947
13417
  * Is the model valid?
13418
+ * @param model The current model (String if it's of type radio or Array otherwise)
13419
+ * @returns The selection passed validation or not
12948
13420
  */
12949
13421
  isValid?: (model: string | any[]) => boolean;
12950
13422
  };
@@ -12966,11 +13438,27 @@ export interface QDialogOptions {
12966
13438
  /**
12967
13439
  * Props for an 'OK' button
12968
13440
  */
12969
- ok?: string | { [index: string]: any } | boolean;
13441
+ ok?:
13442
+ | string
13443
+ | {
13444
+ /**
13445
+ * See QBtn for available props
13446
+ */
13447
+ [props: string]: any;
13448
+ }
13449
+ | boolean;
12970
13450
  /**
12971
13451
  * Props for a 'CANCEL' button
12972
13452
  */
12973
- cancel?: string | { [index: string]: any } | boolean;
13453
+ cancel?:
13454
+ | string
13455
+ | {
13456
+ /**
13457
+ * See QBtn for available props
13458
+ */
13459
+ [props: string]: any;
13460
+ }
13461
+ | boolean;
12974
13462
  /**
12975
13463
  * What button to focus, unless you also have 'prompt' or 'options'
12976
13464
  * Default value: ok
@@ -13033,7 +13521,7 @@ export interface QDialogOptions {
13033
13521
  /**
13034
13522
  * Use custom dialog component; use along with 'componentProps' prop where possible
13035
13523
  */
13036
- component?: any;
13524
+ component?: Component;
13037
13525
  /**
13038
13526
  * User defined props which will be forwarded to underlying custom component if 'component' prop is used
13039
13527
  */
@@ -13044,6 +13532,100 @@ import { WebStorageGetItemMethodType } from "./api";
13044
13532
  import { WebStorageGetIndexMethodType } from "./api";
13045
13533
  import { WebStorageGetKeyMethodType } from "./api";
13046
13534
  import { WebStorageGetAllKeysMethodType } from "./api";
13535
+ import { ValidationRule } from "./api";
13536
+ export interface SliderMarkerLabels {
13537
+ /**
13538
+ * Value of equivalent model where to position the marker
13539
+ */
13540
+ value: number;
13541
+ /**
13542
+ * Label to use
13543
+ */
13544
+ label?: number | string;
13545
+ /**
13546
+ * CSS classes to be attributed to the marker label
13547
+ */
13548
+ classes?: string | any[] | LooseDictionary;
13549
+ /**
13550
+ * Style definitions to be attributed to the marker label
13551
+ */
13552
+ style?: LooseDictionary;
13553
+ }
13554
+
13555
+ export interface SliderMarkerLabelConfig {
13556
+ /**
13557
+ * Index of the marker label (0-based)
13558
+ */
13559
+ index?: number;
13560
+ /**
13561
+ * Equivalent model value for the marker label
13562
+ */
13563
+ value?: number;
13564
+ /**
13565
+ * Configured label for the marker
13566
+ */
13567
+ label?: number | string;
13568
+ /**
13569
+ * Required CSS classes to be applied to the marker element
13570
+ */
13571
+ classes?: string;
13572
+ /**
13573
+ * Style definitions to be attributed to the marker label
13574
+ */
13575
+ style?: LooseDictionary;
13576
+ }
13577
+
13578
+ export interface SliderMarkerLabelArrayConfig {
13579
+ /**
13580
+ * Index of the marker label (0-based)
13581
+ */
13582
+ index?: number;
13583
+ /**
13584
+ * Equivalent model value for the marker label
13585
+ */
13586
+ value?: number;
13587
+ /**
13588
+ * Configured label for the marker
13589
+ */
13590
+ label?: number | string;
13591
+ /**
13592
+ * Required CSS classes to be applied to the marker element
13593
+ */
13594
+ classes?: string;
13595
+ /**
13596
+ * Style definitions to be attributed to the marker label
13597
+ */
13598
+ style?: LooseDictionary;
13599
+ }
13600
+
13601
+ export interface SliderMarkerLabelObjectConfig {
13602
+ /**
13603
+ * Marker label config
13604
+ */
13605
+ [key: string]: {
13606
+ /**
13607
+ * Index of the marker label (0-based)
13608
+ */
13609
+ index?: number;
13610
+ /**
13611
+ * Equivalent model value for the marker label
13612
+ */
13613
+ value?: number;
13614
+ /**
13615
+ * Configured label for the marker
13616
+ */
13617
+ label?: number | string;
13618
+ /**
13619
+ * Required CSS classes to be applied to the marker element
13620
+ */
13621
+ classes?: string;
13622
+ /**
13623
+ * Style definitions to be attributed to the marker label
13624
+ */
13625
+ style?: LooseDictionary;
13626
+ };
13627
+ }
13628
+
13047
13629
  import { QVueGlobals, QSingletonGlobals } from "./globals";
13048
13630
  declare module "./globals" {
13049
13631
  export interface QVueGlobals {