quasar 2.3.4 → 2.4.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (238) hide show
  1. package/dist/api/BottomSheet.json +1 -1
  2. package/dist/api/Loading.json +2 -6
  3. package/dist/api/Notify.json +5 -5
  4. package/dist/api/QAvatar.json +1 -1
  5. package/dist/api/QBreadcrumbsEl.json +32 -11
  6. package/dist/api/QBtn.json +32 -16
  7. package/dist/api/QBtnDropdown.json +33 -17
  8. package/dist/api/QBtnToggle.json +4 -1
  9. package/dist/api/QCarousel.json +4 -4
  10. package/dist/api/QChatMessage.json +4 -12
  11. package/dist/api/QChip.json +4 -4
  12. package/dist/api/QExpansionItem.json +34 -13
  13. package/dist/api/QFab.json +32 -2
  14. package/dist/api/QFabAction.json +9 -1
  15. package/dist/api/QField.json +1 -0
  16. package/dist/api/QFile.json +1 -0
  17. package/dist/api/QInput.json +1 -0
  18. package/dist/api/QItem.json +31 -10
  19. package/dist/api/QLinearProgress.json +1 -1
  20. package/dist/api/QOptionGroup.json +74 -4
  21. package/dist/api/QPagination.json +4 -4
  22. package/dist/api/QPullToRefresh.json +1 -1
  23. package/dist/api/QRange.json +592 -107
  24. package/dist/api/QRating.json +3 -3
  25. package/dist/api/QRouteTab.json +32 -12
  26. package/dist/api/QSelect.json +4 -7
  27. package/dist/api/QSlider.json +504 -39
  28. package/dist/api/QStep.json +4 -4
  29. package/dist/api/QStepper.json +4 -4
  30. package/dist/api/QTab.json +1 -1
  31. package/dist/api/QTable.json +4 -4
  32. package/dist/api/QTimelineEntry.json +1 -1
  33. package/dist/api/QToggle.json +1 -1
  34. package/dist/api/QTree.json +1 -1
  35. package/dist/api/QUploader.json +16 -2
  36. package/dist/api/QVideo.json +11 -1
  37. package/dist/icon-set/bootstrap-icons.umd.prod.js +1 -1
  38. package/dist/icon-set/eva-icons.umd.prod.js +1 -1
  39. package/dist/icon-set/fontawesome-v5-pro.umd.prod.js +1 -1
  40. package/dist/icon-set/fontawesome-v5.umd.prod.js +1 -1
  41. package/dist/icon-set/ionicons-v4.umd.prod.js +1 -1
  42. package/dist/icon-set/line-awesome.umd.prod.js +1 -1
  43. package/dist/icon-set/material-icons-outlined.umd.prod.js +1 -1
  44. package/dist/icon-set/material-icons-round.umd.prod.js +1 -1
  45. package/dist/icon-set/material-icons-sharp.umd.prod.js +1 -1
  46. package/dist/icon-set/material-icons.umd.prod.js +1 -1
  47. package/dist/icon-set/mdi-v3.umd.prod.js +1 -1
  48. package/dist/icon-set/mdi-v4.umd.prod.js +1 -1
  49. package/dist/icon-set/mdi-v5.umd.prod.js +1 -1
  50. package/dist/icon-set/mdi-v6.umd.prod.js +1 -1
  51. package/dist/icon-set/svg-bootstrap-icons.umd.prod.js +1 -1
  52. package/dist/icon-set/svg-eva-icons.umd.prod.js +1 -1
  53. package/dist/icon-set/svg-fontawesome-v5.umd.prod.js +1 -1
  54. package/dist/icon-set/svg-ionicons-v4.umd.prod.js +1 -1
  55. package/dist/icon-set/svg-ionicons-v5.umd.prod.js +1 -1
  56. package/dist/icon-set/svg-ionicons-v6.umd.prod.js +1 -1
  57. package/dist/icon-set/svg-line-awesome.umd.prod.js +1 -1
  58. package/dist/icon-set/svg-material-icons-outlined.umd.prod.js +1 -1
  59. package/dist/icon-set/svg-material-icons-round.umd.prod.js +1 -1
  60. package/dist/icon-set/svg-material-icons-sharp.umd.prod.js +1 -1
  61. package/dist/icon-set/svg-material-icons.umd.prod.js +1 -1
  62. package/dist/icon-set/svg-mdi-v4.umd.prod.js +1 -1
  63. package/dist/icon-set/svg-mdi-v5.umd.prod.js +1 -1
  64. package/dist/icon-set/svg-mdi-v6.umd.prod.js +1 -1
  65. package/dist/icon-set/svg-themify.umd.prod.js +1 -1
  66. package/dist/icon-set/themify.umd.prod.js +1 -1
  67. package/dist/lang/ar.umd.prod.js +1 -1
  68. package/dist/lang/az-Latn.umd.prod.js +1 -1
  69. package/dist/lang/bg.umd.prod.js +1 -1
  70. package/dist/lang/bn.umd.prod.js +1 -1
  71. package/dist/lang/ca.umd.prod.js +1 -1
  72. package/dist/lang/cs.umd.prod.js +1 -1
  73. package/dist/lang/da.umd.prod.js +1 -1
  74. package/dist/lang/de.umd.prod.js +1 -1
  75. package/dist/lang/el.umd.prod.js +1 -1
  76. package/dist/lang/en-GB.umd.prod.js +1 -1
  77. package/dist/lang/en-US.umd.prod.js +1 -1
  78. package/dist/lang/eo.umd.prod.js +1 -1
  79. package/dist/lang/es.umd.prod.js +1 -1
  80. package/dist/lang/et.umd.prod.js +1 -1
  81. package/dist/lang/fa-IR.umd.prod.js +1 -1
  82. package/dist/lang/fa.umd.prod.js +1 -1
  83. package/dist/lang/fi.umd.prod.js +1 -1
  84. package/dist/lang/fr.umd.prod.js +1 -1
  85. package/dist/lang/gn.umd.prod.js +1 -1
  86. package/dist/lang/he.umd.prod.js +1 -1
  87. package/dist/lang/hr.umd.prod.js +1 -1
  88. package/dist/lang/hu.umd.prod.js +1 -1
  89. package/dist/lang/id.umd.prod.js +1 -1
  90. package/dist/lang/is.umd.prod.js +1 -1
  91. package/dist/lang/it.umd.prod.js +1 -1
  92. package/dist/lang/ja.umd.prod.js +1 -1
  93. package/dist/lang/km.umd.prod.js +1 -1
  94. package/dist/lang/ko-KR.umd.prod.js +1 -1
  95. package/dist/lang/kur-CKB.umd.prod.js +1 -1
  96. package/dist/lang/lt.umd.prod.js +1 -1
  97. package/dist/lang/lu.umd.prod.js +1 -1
  98. package/dist/lang/lv.umd.prod.js +1 -1
  99. package/dist/lang/ml.umd.prod.js +1 -1
  100. package/dist/lang/ms.umd.prod.js +1 -1
  101. package/dist/lang/nb-NO.umd.prod.js +1 -1
  102. package/dist/lang/nl.umd.prod.js +1 -1
  103. package/dist/lang/pl.umd.prod.js +1 -1
  104. package/dist/lang/pt-BR.umd.prod.js +1 -1
  105. package/dist/lang/pt.umd.prod.js +1 -1
  106. package/dist/lang/ro.umd.prod.js +1 -1
  107. package/dist/lang/ru.umd.prod.js +1 -1
  108. package/dist/lang/sk.umd.prod.js +1 -1
  109. package/dist/lang/sl.umd.prod.js +1 -1
  110. package/dist/lang/sr-CYR.umd.prod.js +1 -1
  111. package/dist/lang/sr.umd.prod.js +1 -1
  112. package/dist/lang/sv.umd.prod.js +1 -1
  113. package/dist/lang/ta.umd.prod.js +1 -1
  114. package/dist/lang/th.umd.prod.js +1 -1
  115. package/dist/lang/tr.umd.prod.js +1 -1
  116. package/dist/lang/ug.umd.prod.js +1 -1
  117. package/dist/lang/uk.umd.prod.js +1 -1
  118. package/dist/lang/vi.umd.prod.js +1 -1
  119. package/dist/lang/zh-CN.umd.prod.js +1 -1
  120. package/dist/lang/zh-TW.umd.prod.js +1 -1
  121. package/dist/quasar.cjs.prod.js +2 -2
  122. package/dist/quasar.css +277 -196
  123. package/dist/quasar.esm.prod.js +2 -2
  124. package/dist/quasar.prod.css +1 -1
  125. package/dist/quasar.rtl.css +344 -275
  126. package/dist/quasar.rtl.prod.css +1 -1
  127. package/dist/quasar.sass +243 -189
  128. package/dist/quasar.umd.js +16670 -16294
  129. package/dist/quasar.umd.prod.js +2 -2
  130. package/dist/ssr-directives/Morph.js +1 -1
  131. package/dist/transforms/loader-asset-urls.json +20 -0
  132. package/dist/types/api/slider.d.ts +46 -0
  133. package/dist/types/api/validation.d.ts +4 -0
  134. package/dist/types/api.d.ts +2 -0
  135. package/dist/types/composables.d.ts +3 -3
  136. package/dist/types/index.d.ts +599 -121
  137. package/dist/types/utils/date.d.ts +2 -1
  138. package/dist/vetur/quasar-attributes.json +254 -82
  139. package/dist/vetur/quasar-tags.json +61 -18
  140. package/dist/web-types/web-types.json +635 -197
  141. package/package.json +1 -1
  142. package/src/api.extends.json +1 -2
  143. package/src/components/breadcrumbs/QBreadcrumbs.js +7 -2
  144. package/src/components/breadcrumbs/QBreadcrumbs.sass +0 -3
  145. package/src/components/breadcrumbs/QBreadcrumbsEl.js +14 -8
  146. package/src/components/btn/QBtn.js +5 -5
  147. package/src/components/btn/use-btn.js +21 -21
  148. package/src/components/btn/use-btn.json +22 -13
  149. package/src/components/btn-toggle/QBtnToggle.json +3 -0
  150. package/src/components/checkbox/use-checkbox.js +1 -1
  151. package/src/components/color/QColor.js +32 -26
  152. package/src/components/color/QColor.sass +10 -23
  153. package/src/components/date/QDate.sass +2 -0
  154. package/src/components/dialog/QDialog.js +7 -5
  155. package/src/components/drawer/QDrawer.js +18 -15
  156. package/src/components/editor/QEditor.js +1 -1
  157. package/src/components/editor/QEditor.sass +10 -1
  158. package/src/components/expansion-item/QExpansionItem.js +4 -1
  159. package/src/components/fab/QFab.js +18 -12
  160. package/src/components/fab/QFab.json +33 -0
  161. package/src/components/fab/QFab.sass +1 -1
  162. package/src/components/fab/QFabAction.js +14 -7
  163. package/src/components/fab/QFabAction.json +10 -0
  164. package/src/components/file/QFile.js +12 -5
  165. package/src/components/file/QFile.sass +4 -2
  166. package/src/components/footer/QFooter.js +1 -1
  167. package/src/components/header/QHeader.js +1 -1
  168. package/src/components/icon/QIcon.js +1 -1
  169. package/src/components/infinite-scroll/QInfiniteScroll.js +4 -5
  170. package/src/components/item/QItem.js +2 -3
  171. package/src/components/linear-progress/QLinearProgress.json +1 -1
  172. package/src/components/menu/QMenu.js +6 -2
  173. package/src/components/option-group/QOptionGroup.js +3 -0
  174. package/src/components/option-group/QOptionGroup.json +48 -2
  175. package/src/components/parallax/QParallax.js +4 -2
  176. package/src/components/popup-edit/QPopupEdit.js +2 -5
  177. package/src/components/radio/QRadio.js +2 -7
  178. package/src/components/range/QRange.js +132 -273
  179. package/src/components/range/QRange.json +11 -121
  180. package/src/components/rating/QRating.json +3 -3
  181. package/src/components/resize-observer/QResizeObserver.js +11 -10
  182. package/src/components/scroll-area/QScrollArea.js +8 -2
  183. package/src/components/scroll-observer/QScrollObserver.js +2 -0
  184. package/src/components/select/QSelect.js +4 -1
  185. package/src/components/slider/QSlider.js +61 -137
  186. package/src/components/slider/QSlider.json +1 -121
  187. package/src/components/slider/QSlider.sass +203 -138
  188. package/src/components/slider/use-slider.js +454 -107
  189. package/src/components/slider/use-slider.json +546 -0
  190. package/src/components/stepper/QStepper.js +3 -3
  191. package/src/components/stepper/QStepper.sass +24 -26
  192. package/src/components/table/QTable.js +26 -46
  193. package/src/components/tabs/QRouteTab.js +1 -2
  194. package/src/components/tabs/QRouteTab.json +0 -7
  195. package/src/components/tabs/QTabs.js +91 -24
  196. package/src/components/tabs/use-tab.js +26 -13
  197. package/src/components/tooltip/QTooltip.js +1 -2
  198. package/src/components/tree/QTree.js +14 -12
  199. package/src/components/uploader/QUploader.json +14 -2
  200. package/src/components/uploader/uploader-core.js +16 -9
  201. package/src/components/video/QVideo.js +4 -1
  202. package/src/components/video/QVideo.json +12 -1
  203. package/src/components/virtual-scroll/QVirtualScroll.sass +1 -0
  204. package/src/components/virtual-scroll/use-virtual-scroll.js +30 -17
  205. package/src/composables/private/use-field.js +18 -20
  206. package/src/composables/private/use-file.js +20 -5
  207. package/src/composables/private/use-form.js +2 -3
  208. package/src/composables/private/use-fullscreen.js +15 -4
  209. package/src/composables/private/use-model-toggle.js +1 -1
  210. package/src/composables/private/use-portal.js +9 -7
  211. package/src/composables/private/use-router-link.js +44 -23
  212. package/src/composables/private/use-router-link.json +26 -10
  213. package/src/composables/private/use-split-attrs.js +4 -4
  214. package/src/composables/private/use-tick.js +7 -14
  215. package/src/composables/private/use-validate.js +21 -15
  216. package/src/composables/private/use-validate.json +1 -0
  217. package/src/css/core/helpers.sass +3 -0
  218. package/src/css/core/positioning.sass +5 -0
  219. package/src/css/variables.sass +4 -6
  220. package/src/directives/ScrollFire.js +1 -0
  221. package/src/icon-set.js +2 -4
  222. package/src/plugins/AppFullscreen.js +70 -53
  223. package/src/plugins/AppVisibility.js +2 -3
  224. package/src/plugins/BottomSheet.js +3 -5
  225. package/src/plugins/Dialog.js +3 -5
  226. package/src/plugins/LoadingBar.js +17 -18
  227. package/src/plugins/Notify.js +296 -295
  228. package/src/plugins/Platform.js +14 -14
  229. package/src/utils/clone.js +53 -4
  230. package/src/utils/date.js +4 -4
  231. package/src/utils/dom.js +2 -2
  232. package/src/utils/open-url.js +2 -2
  233. package/src/utils/patterns.js +1 -0
  234. package/src/utils/private/define-reactive-plugin.js +10 -8
  235. package/src/utils/private/focus-manager.js +8 -10
  236. package/src/utils/private/global-dialog.js +6 -8
  237. package/src/utils/private/inject-obj-prop.js +13 -0
  238. package/src/utils/private/is.js +2 -2
@@ -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
  /**
@@ -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
  */
@@ -1446,22 +1453,26 @@ export interface QBtnDropdownProps {
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
  */
@@ -2474,22 +2496,18 @@ export interface QChatMessageProps {
2474
2496
  size?: string | undefined;
2475
2497
  /**
2476
2498
  * Render the label as HTML; This can lead to XSS attacks so make sure that you sanitize the message first
2477
- * Default value: false
2478
2499
  */
2479
2500
  labelHtml?: boolean | undefined;
2480
2501
  /**
2481
2502
  * Render the name as HTML; This can lead to XSS attacks so make sure that you sanitize the message first
2482
- * Default value: false
2483
2503
  */
2484
2504
  nameHtml?: boolean | undefined;
2485
2505
  /**
2486
2506
  * Render the text as HTML; This can lead to XSS attacks so make sure that you sanitize the message first
2487
- * Default value: false
2488
2507
  */
2489
2508
  textHtml?: boolean | undefined;
2490
2509
  /**
2491
2510
  * Render the stamp as HTML; This can lead to XSS attacks so make sure that you sanitize the message first
2492
- * Default value: false
2493
2511
  */
2494
2512
  stampHtml?: boolean | undefined;
2495
2513
  }
@@ -3746,25 +3764,33 @@ export interface QEditor extends ComponentPublicInstance<QEditorProps> {
3746
3764
 
3747
3765
  export interface QExpansionItemProps {
3748
3766
  /**
3749
- * Equivalent to Vue Router <router-link> 'to' property
3767
+ * Equivalent to Vue Router <router-link> 'to' property; Superseeded by 'href' prop if used
3750
3768
  */
3751
3769
  to?: string | LooseDictionary | undefined;
3752
3770
  /**
3753
- * Equivalent to Vue Router <router-link> 'exact' property
3771
+ * Equivalent to Vue Router <router-link> 'exact' property; Superseeded by 'href' prop if used
3754
3772
  */
3755
3773
  exact?: boolean | undefined;
3756
3774
  /**
3757
- * Equivalent to Vue Router <router-link> 'replace' property
3775
+ * Equivalent to Vue Router <router-link> 'replace' property; Superseeded by 'href' prop if used
3758
3776
  */
3759
3777
  replace?: boolean | undefined;
3760
3778
  /**
3761
- * 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
3762
3780
  */
3763
3781
  activeClass?: string | undefined;
3764
3782
  /**
3765
- * 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
3766
3784
  */
3767
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;
3768
3794
  /**
3769
3795
  * Put component in disabled mode
3770
3796
  */
@@ -4067,6 +4093,36 @@ export interface QFabSlots {
4067
4093
  * Slot specifically designed for a QTooltip
4068
4094
  */
4069
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[];
4070
4126
  }
4071
4127
 
4072
4128
  export interface QFab extends ComponentPublicInstance<QFabProps> {
@@ -4189,6 +4245,14 @@ export interface QFabActionSlots {
4189
4245
  * Suggestion for this slot: QTooltip
4190
4246
  */
4191
4247
  default: () => VNode[];
4248
+ /**
4249
+ * Slot for icon; Suggestion: QIcon
4250
+ */
4251
+ icon: () => VNode[];
4252
+ /**
4253
+ * Slot for label
4254
+ */
4255
+ label: () => VNode[];
4192
4256
  }
4193
4257
 
4194
4258
  export interface QFabAction extends ComponentPublicInstance<QFabActionProps> {
@@ -4219,7 +4283,7 @@ export interface QFieldProps {
4219
4283
  /**
4220
4284
  * Array of Functions/Strings; If String, then it must be a name of one of the embedded validation rules
4221
4285
  */
4222
- rules?: any[] | undefined;
4286
+ rules?: ValidationRule[] | undefined;
4223
4287
  /**
4224
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
4225
4289
  */
@@ -4531,7 +4595,7 @@ export interface QFileProps {
4531
4595
  /**
4532
4596
  * Array of Functions/Strings; If String, then it must be a name of one of the embedded validation rules
4533
4597
  */
4534
- rules?: any[] | undefined;
4598
+ rules?: ValidationRule[] | undefined;
4535
4599
  /**
4536
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
4537
4601
  */
@@ -5352,7 +5416,7 @@ export interface QInputProps {
5352
5416
  /**
5353
5417
  * Array of Functions/Strings; If String, then it must be a name of one of the embedded validation rules
5354
5418
  */
5355
- rules?: any[] | undefined;
5419
+ rules?: ValidationRule[] | undefined;
5356
5420
  /**
5357
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
5358
5422
  */
@@ -5671,25 +5735,33 @@ export interface QIntersection
5671
5735
 
5672
5736
  export interface QItemProps {
5673
5737
  /**
5674
- * Equivalent to Vue Router <router-link> 'to' property
5738
+ * Equivalent to Vue Router <router-link> 'to' property; Superseeded by 'href' prop if used
5675
5739
  */
5676
5740
  to?: string | LooseDictionary | undefined;
5677
5741
  /**
5678
- * Equivalent to Vue Router <router-link> 'exact' property
5742
+ * Equivalent to Vue Router <router-link> 'exact' property; Superseeded by 'href' prop if used
5679
5743
  */
5680
5744
  exact?: boolean | undefined;
5681
5745
  /**
5682
- * Equivalent to Vue Router <router-link> 'replace' property
5746
+ * Equivalent to Vue Router <router-link> 'replace' property; Superseeded by 'href' prop if used
5683
5747
  */
5684
5748
  replace?: boolean | undefined;
5685
5749
  /**
5686
- * 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
5687
5751
  */
5688
5752
  activeClass?: string | undefined;
5689
5753
  /**
5690
- * 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
5691
5755
  */
5692
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;
5693
5765
  /**
5694
5766
  * Put component in disabled mode
5695
5767
  */
@@ -6050,7 +6122,7 @@ export interface QLinearProgressProps {
6050
6122
  instantFeedback?: boolean | undefined;
6051
6123
  /**
6052
6124
  * Animation speed (in milliseconds, without unit)
6053
- * Default value: 300
6125
+ * Default value: 2100
6054
6126
  */
6055
6127
  animationSpeed?: string | number | undefined;
6056
6128
  }
@@ -6355,7 +6427,10 @@ export interface QOptionGroupProps {
6355
6427
  * If true, the option will be disabled
6356
6428
  */
6357
6429
  disable?: boolean;
6358
- [index: string]: any;
6430
+ /**
6431
+ * Any other props from QToggle, QCheckbox, or QRadio
6432
+ */
6433
+ [props: string]: any;
6359
6434
  }[]
6360
6435
  | undefined;
6361
6436
  /**
@@ -6405,19 +6480,48 @@ export interface QOptionGroupProps {
6405
6480
  export interface QOptionGroupSlots {
6406
6481
  /**
6407
6482
  * Generic slot for all labels
6408
- * @param scope
6483
+ * @param scope The corresponding option entry from the 'options' prop
6409
6484
  */
6410
6485
  label: (scope: {
6411
6486
  /**
6412
- * 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
6496
+ */
6497
+ disable?: boolean;
6498
+ /**
6499
+ * Any other props from QToggle, QCheckbox, or QRadio
6413
6500
  */
6414
- opt: LooseDictionary;
6501
+ [props: string]: any;
6415
6502
  }) => VNode[];
6416
6503
  /**
6417
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
6418
- * @param scope
6505
+ * @param scope The corresponding option entry from the 'options' prop
6419
6506
  */
6420
- [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[];
6421
6525
  }
6422
6526
 
6423
6527
  export interface QOptionGroup
@@ -7168,35 +7272,31 @@ export interface QRangeProps {
7168
7272
  */
7169
7273
  name?: string | undefined;
7170
7274
  /**
7171
- * 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
7172
- */
7173
- modelValue:
7174
- | {
7175
- /**
7176
- * Model value for left thumb
7177
- */
7178
- min?: number | null;
7179
- /**
7180
- * Model value for right thumb
7181
- */
7182
- max?: number | null;
7183
- }
7184
- | null
7185
- | undefined;
7186
- /**
7187
- * Minimum value of the model
7275
+ * Minimum value of the model; Set track's minimum value
7188
7276
  */
7189
7277
  min?: number | undefined;
7190
7278
  /**
7191
- * Maximum value of the model
7279
+ * Maximum value of the model; Set track's maximum value
7192
7280
  * Default value: 100
7193
7281
  */
7194
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;
7195
7291
  /**
7196
7292
  * Specify step amount between valid values (> 0.0); When step equals to 0 it defines infinite granularity
7197
7293
  * Default value: 1
7198
7294
  */
7199
7295
  step?: number | undefined;
7296
+ /**
7297
+ * Snap on valid values, rather than sliding freely; Suggestion: use with 'step' prop
7298
+ */
7299
+ snap?: boolean | undefined;
7200
7300
  /**
7201
7301
  * Work in reverse (changes direction)
7202
7302
  */
@@ -7206,67 +7306,92 @@ export interface QRangeProps {
7206
7306
  */
7207
7307
  vertical?: boolean | undefined;
7208
7308
  /**
7209
- * User can drag range instead of just the two thumbs
7309
+ * Color name for component from the Quasar Color Palette
7210
7310
  */
7211
- dragRange?: boolean | undefined;
7311
+ color?: string | undefined;
7212
7312
  /**
7213
- * 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
7214
7314
  */
7215
- dragOnlyRange?: boolean | undefined;
7315
+ trackColor?: string | undefined;
7216
7316
  /**
7217
- * Color name for component from the Quasar Color Palette
7317
+ * Apply a pattern image on the track
7218
7318
  */
7219
- 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;
7220
7324
  /**
7221
- * 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
7222
7338
  */
7223
7339
  label?: boolean | undefined;
7224
7340
  /**
7225
- * 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
7226
7342
  */
7227
7343
  labelColor?: string | undefined;
7228
7344
  /**
7229
- * 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
7230
7346
  */
7231
7347
  labelTextColor?: string | undefined;
7232
7348
  /**
7233
- * Color name for left label background from the Quasar Color Palette
7349
+ * Switch the position of the label (top <-> bottom or left <-> right)
7234
7350
  */
7235
- leftLabelColor?: string | undefined;
7351
+ switchLabelSide?: boolean | undefined;
7236
7352
  /**
7237
- * Color name for left label text from the Quasar Color Palette
7353
+ * Always display the label
7238
7354
  */
7239
- leftLabelTextColor?: string | undefined;
7355
+ labelAlways?: boolean | undefined;
7240
7356
  /**
7241
- * 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)
7242
7358
  */
7243
- rightLabelColor?: string | undefined;
7359
+ markers?: boolean | number | undefined;
7244
7360
  /**
7245
- * 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
7246
7364
  */
7247
- rightLabelTextColor?: string | undefined;
7365
+ markerLabels?:
7366
+ | SliderMarkerLabels
7367
+ | SliderMarkerLabels
7368
+ | SliderMarkerLabels
7369
+ | SliderMarkerLabels
7370
+ | undefined;
7248
7371
  /**
7249
- * Override default label for min value
7372
+ * CSS class(es) to apply to the marker labels container
7250
7373
  */
7251
- leftLabelValue?: string | number | undefined;
7374
+ markerLabelsClass?: string | undefined;
7252
7375
  /**
7253
- * Override default label for max value
7376
+ * Switch the position of the marker labels (top <-> bottom or left <-> right)
7254
7377
  */
7255
- rightLabelValue?: string | number | undefined;
7378
+ switchMarkerLabelsSide?: boolean | undefined;
7256
7379
  /**
7257
- * Always display the labels
7380
+ * Track size (including CSS unit)
7381
+ * Default value: 4px
7258
7382
  */
7259
- labelAlways?: boolean | undefined;
7383
+ trackSize?: string | undefined;
7260
7384
  /**
7261
- * 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
7262
7387
  */
7263
- markers?: boolean | number | undefined;
7388
+ thumbSize?: string | undefined;
7264
7389
  /**
7265
- * Snap thumbs on valid values, rather than sliding freely; Suggestion: use with 'step' prop
7390
+ * Color name for component from the Quasar Color Palette
7266
7391
  */
7267
- snap?: boolean | undefined;
7392
+ thumbColor?: string | undefined;
7268
7393
  /**
7269
- * Set custom thumbs svg path
7394
+ * Set custom thumb svg path
7270
7395
  * Default value: M 4, 10 a 6,6 0 1,0 12,0 a 6,6 0 1,0 -12,0
7271
7396
  */
7272
7397
  thumbPath?: string | undefined;
@@ -7291,12 +7416,63 @@ export interface QRangeProps {
7291
7416
  */
7292
7417
  tabindex?: number | string | undefined;
7293
7418
  /**
7294
- * Emitted when the component needs to change the model; Is also used by v-model
7295
- * @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
7296
7420
  */
7297
- "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;
7434
+ /**
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;
7298
7470
  /**
7299
- * Emitted on lazy model value change (after user slides then releases thumb)
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)
7300
7476
  * @param value New model value
7301
7477
  */
7302
7478
  onChange?: (value: any) => void;
@@ -7305,9 +7481,67 @@ export interface QRangeProps {
7305
7481
  * @param phase Phase of panning
7306
7482
  */
7307
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;
7308
7489
  }
7309
7490
 
7310
- 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
+ }
7311
7545
 
7312
7546
  export interface QRange extends ComponentPublicInstance<QRangeProps> {}
7313
7547
 
@@ -7778,7 +8012,7 @@ export interface QSelectProps {
7778
8012
  /**
7779
8013
  * Array of Functions/Strings; If String, then it must be a name of one of the embedded validation rules
7780
8014
  */
7781
- rules?: any[] | undefined;
8015
+ rules?: ValidationRule[] | undefined;
7782
8016
  /**
7783
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
7784
8018
  */
@@ -7913,7 +8147,6 @@ export interface QSelectProps {
7913
8147
  displayValue?: number | string | undefined;
7914
8148
  /**
7915
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!
7916
- * Default value: false
7917
8150
  */
7918
8151
  displayValueHtml?: boolean | undefined;
7919
8152
  /**
@@ -7981,7 +8214,6 @@ export interface QSelectProps {
7981
8214
  optionsSelectedClass?: string | undefined;
7982
8215
  /**
7983
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!
7984
- * Default value: false
7985
8217
  */
7986
8218
  optionsHtml?: boolean | undefined;
7987
8219
  /**
@@ -8745,23 +8977,31 @@ export interface QSliderProps {
8745
8977
  */
8746
8978
  name?: string | undefined;
8747
8979
  /**
8748
- * 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
8749
- */
8750
- modelValue: number | null | undefined;
8751
- /**
8752
- * Minimum value of the model
8980
+ * Minimum value of the model; Set track's minimum value
8753
8981
  */
8754
8982
  min?: number | undefined;
8755
8983
  /**
8756
- * Maximum value of the model
8984
+ * Maximum value of the model; Set track's maximum value
8757
8985
  * Default value: 100
8758
8986
  */
8759
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;
8760
8996
  /**
8761
8997
  * Specify step amount between valid values (> 0.0); When step equals to 0 it defines infinite granularity
8762
8998
  * Default value: 1
8763
8999
  */
8764
9000
  step?: number | undefined;
9001
+ /**
9002
+ * Snap on valid values, rather than sliding freely; Suggestion: use with 'step' prop
9003
+ */
9004
+ snap?: boolean | undefined;
8765
9005
  /**
8766
9006
  * Work in reverse (changes direction)
8767
9007
  */
@@ -8774,6 +9014,30 @@ export interface QSliderProps {
8774
9014
  * Color name for component from the Quasar Color Palette
8775
9015
  */
8776
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;
8777
9041
  /**
8778
9042
  * Popup a label when user clicks/taps on the slider thumb and moves it
8779
9043
  */
@@ -8787,9 +9051,9 @@ export interface QSliderProps {
8787
9051
  */
8788
9052
  labelTextColor?: string | undefined;
8789
9053
  /**
8790
- * Override default label value
9054
+ * Switch the position of the label (top <-> bottom or left <-> right)
8791
9055
  */
8792
- labelValue?: string | number | undefined;
9056
+ switchLabelSide?: boolean | undefined;
8793
9057
  /**
8794
9058
  * Always display the label
8795
9059
  */
@@ -8799,9 +9063,38 @@ export interface QSliderProps {
8799
9063
  */
8800
9064
  markers?: boolean | number | undefined;
8801
9065
  /**
8802
- * 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
8803
9069
  */
8804
- 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;
8805
9098
  /**
8806
9099
  * Set custom thumb svg path
8807
9100
  * Default value: M 4, 10 a 6,6 0 1,0 12,0 a 6,6 0 1,0 -12,0
@@ -8828,10 +9121,13 @@ export interface QSliderProps {
8828
9121
  */
8829
9122
  tabindex?: number | string | undefined;
8830
9123
  /**
8831
- * Emitted when the component needs to change the model; Is also used by v-model
8832
- * @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
8833
9125
  */
8834
- "onUpdate:modelValue"?: (value: number | null) => void;
9126
+ modelValue: number | null | undefined;
9127
+ /**
9128
+ * Override default label value
9129
+ */
9130
+ labelValue?: string | number | undefined;
8835
9131
  /**
8836
9132
  * Emitted on lazy model value change (after user slides then releases the thumb)
8837
9133
  * @param value New model value
@@ -8842,9 +9138,67 @@ export interface QSliderProps {
8842
9138
  * @param phase Phase of panning
8843
9139
  */
8844
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;
8845
9146
  }
8846
9147
 
8847
- 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
+ }
8848
9202
 
8849
9203
  export interface QSlider extends ComponentPublicInstance<QSliderProps> {}
8850
9204
 
@@ -11324,25 +11678,33 @@ export interface QTr extends ComponentPublicInstance<QTrProps> {}
11324
11678
 
11325
11679
  export interface QRouteTabProps {
11326
11680
  /**
11327
- * Equivalent to Vue Router <router-link> 'to' property
11681
+ * Equivalent to Vue Router <router-link> 'to' property; Superseeded by 'href' prop if used
11328
11682
  */
11329
- to: string | LooseDictionary;
11683
+ to?: string | LooseDictionary | undefined;
11330
11684
  /**
11331
- * Equivalent to Vue Router <router-link> 'exact' property
11685
+ * Equivalent to Vue Router <router-link> 'exact' property; Superseeded by 'href' prop if used
11332
11686
  */
11333
11687
  exact?: boolean | undefined;
11334
11688
  /**
11335
- * Equivalent to Vue Router <router-link> 'replace' property
11689
+ * Equivalent to Vue Router <router-link> 'replace' property; Superseeded by 'href' prop if used
11336
11690
  */
11337
11691
  replace?: boolean | undefined;
11338
11692
  /**
11339
- * 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
11340
11694
  */
11341
11695
  activeClass?: string | undefined;
11342
11696
  /**
11343
- * 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
11344
11698
  */
11345
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;
11346
11708
  /**
11347
11709
  * Put component in disabled mode
11348
11710
  */
@@ -12691,12 +13053,14 @@ export interface QUploaderProps {
12691
13053
  export interface QUploaderSlots {
12692
13054
  /**
12693
13055
  * Slot for custom header; Scope is the QUploader instance itself
13056
+ * @param scope QUploader instance
12694
13057
  */
12695
- header: () => VNode[];
13058
+ header: (scope: QUploader) => VNode[];
12696
13059
  /**
12697
13060
  * Slot for custom list; Scope is the QUploader instance itself
13061
+ * @param scope QUploader instance
12698
13062
  */
12699
- list: () => VNode[];
13063
+ list: (scope: QUploader) => VNode[];
12700
13064
  }
12701
13065
 
12702
13066
  export interface QUploader extends ComponentPublicInstance<QUploaderProps> {
@@ -12753,6 +13117,10 @@ export interface QVideoProps {
12753
13117
  * The source url to display in an iframe
12754
13118
  */
12755
13119
  src: string;
13120
+ /**
13121
+ * (Accessibility) Set the native 'title' attribute value of the inner iframe being used
13122
+ */
13123
+ title?: string | undefined;
12756
13124
  }
12757
13125
 
12758
13126
  export interface QVideoSlots {}
@@ -13074,11 +13442,27 @@ export interface QDialogOptions {
13074
13442
  /**
13075
13443
  * Props for an 'OK' button
13076
13444
  */
13077
- ok?: string | { [index: string]: any } | boolean;
13445
+ ok?:
13446
+ | string
13447
+ | {
13448
+ /**
13449
+ * See QBtn for available props
13450
+ */
13451
+ [props: string]: any;
13452
+ }
13453
+ | boolean;
13078
13454
  /**
13079
13455
  * Props for a 'CANCEL' button
13080
13456
  */
13081
- cancel?: string | { [index: string]: any } | boolean;
13457
+ cancel?:
13458
+ | string
13459
+ | {
13460
+ /**
13461
+ * See QBtn for available props
13462
+ */
13463
+ [props: string]: any;
13464
+ }
13465
+ | boolean;
13082
13466
  /**
13083
13467
  * What button to focus, unless you also have 'prompt' or 'options'
13084
13468
  * Default value: ok
@@ -13152,6 +13536,100 @@ import { WebStorageGetItemMethodType } from "./api";
13152
13536
  import { WebStorageGetIndexMethodType } from "./api";
13153
13537
  import { WebStorageGetKeyMethodType } from "./api";
13154
13538
  import { WebStorageGetAllKeysMethodType } from "./api";
13539
+ import { ValidationRule } from "./api";
13540
+ export interface SliderMarkerLabels {
13541
+ /**
13542
+ * Value of equivalent model where to position the marker
13543
+ */
13544
+ value: number;
13545
+ /**
13546
+ * Label to use
13547
+ */
13548
+ label?: number | string;
13549
+ /**
13550
+ * CSS classes to be attributed to the marker label
13551
+ */
13552
+ classes?: string | any[] | LooseDictionary;
13553
+ /**
13554
+ * Style definitions to be attributed to the marker label
13555
+ */
13556
+ style?: LooseDictionary;
13557
+ }
13558
+
13559
+ export interface SliderMarkerLabelConfig {
13560
+ /**
13561
+ * Index of the marker label (0-based)
13562
+ */
13563
+ index?: number;
13564
+ /**
13565
+ * Equivalent model value for the marker label
13566
+ */
13567
+ value?: number;
13568
+ /**
13569
+ * Configured label for the marker
13570
+ */
13571
+ label?: number | string;
13572
+ /**
13573
+ * Required CSS classes to be applied to the marker element
13574
+ */
13575
+ classes?: string;
13576
+ /**
13577
+ * Style definitions to be attributed to the marker label
13578
+ */
13579
+ style?: LooseDictionary;
13580
+ }
13581
+
13582
+ export interface SliderMarkerLabelArrayConfig {
13583
+ /**
13584
+ * Index of the marker label (0-based)
13585
+ */
13586
+ index?: number;
13587
+ /**
13588
+ * Equivalent model value for the marker label
13589
+ */
13590
+ value?: number;
13591
+ /**
13592
+ * Configured label for the marker
13593
+ */
13594
+ label?: number | string;
13595
+ /**
13596
+ * Required CSS classes to be applied to the marker element
13597
+ */
13598
+ classes?: string;
13599
+ /**
13600
+ * Style definitions to be attributed to the marker label
13601
+ */
13602
+ style?: LooseDictionary;
13603
+ }
13604
+
13605
+ export interface SliderMarkerLabelObjectConfig {
13606
+ /**
13607
+ * Marker label config
13608
+ */
13609
+ [key: string]: {
13610
+ /**
13611
+ * Index of the marker label (0-based)
13612
+ */
13613
+ index?: number;
13614
+ /**
13615
+ * Equivalent model value for the marker label
13616
+ */
13617
+ value?: number;
13618
+ /**
13619
+ * Configured label for the marker
13620
+ */
13621
+ label?: number | string;
13622
+ /**
13623
+ * Required CSS classes to be applied to the marker element
13624
+ */
13625
+ classes?: string;
13626
+ /**
13627
+ * Style definitions to be attributed to the marker label
13628
+ */
13629
+ style?: LooseDictionary;
13630
+ };
13631
+ }
13632
+
13155
13633
  import { QVueGlobals, QSingletonGlobals } from "./globals";
13156
13634
  declare module "./globals" {
13157
13635
  export interface QVueGlobals {