quasar 2.2.2 → 2.3.1

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 (290) hide show
  1. package/dist/api/BottomSheet.json +17 -2
  2. package/dist/api/Dialog.json +17 -2
  3. package/dist/api/LocalStorage.json +8 -0
  4. package/dist/api/QCircularProgress.json +14 -0
  5. package/dist/api/QDate.json +46 -0
  6. package/dist/api/QEditor.json +7 -2
  7. package/dist/api/QFooter.json +1 -1
  8. package/dist/api/QHeader.json +1 -1
  9. package/dist/api/QIntersection.json +14 -0
  10. package/dist/api/QLinearProgress.json +14 -0
  11. package/dist/api/QRouteTab.json +1 -24
  12. package/dist/api/QScrollArea.json +3 -0
  13. package/dist/api/QSelect.json +62 -0
  14. package/dist/api/QSkeleton.json +1 -1
  15. package/dist/api/QTable.json +62 -5
  16. package/dist/api/QTree.json +6 -0
  17. package/dist/api/QUploader.json +81 -1
  18. package/dist/api/SessionStorage.json +8 -0
  19. package/dist/icon-set/bootstrap-icons.umd.prod.js +1 -1
  20. package/dist/icon-set/eva-icons.umd.prod.js +1 -1
  21. package/dist/icon-set/fontawesome-v5-pro.umd.prod.js +1 -1
  22. package/dist/icon-set/fontawesome-v5.umd.prod.js +1 -1
  23. package/dist/icon-set/ionicons-v4.umd.prod.js +1 -1
  24. package/dist/icon-set/line-awesome.umd.prod.js +1 -1
  25. package/dist/icon-set/material-icons-outlined.umd.prod.js +1 -1
  26. package/dist/icon-set/material-icons-round.umd.prod.js +1 -1
  27. package/dist/icon-set/material-icons-sharp.umd.prod.js +1 -1
  28. package/dist/icon-set/material-icons.umd.prod.js +1 -1
  29. package/dist/icon-set/mdi-v3.umd.prod.js +1 -1
  30. package/dist/icon-set/mdi-v4.umd.prod.js +1 -1
  31. package/dist/icon-set/mdi-v5.umd.prod.js +1 -1
  32. package/dist/icon-set/mdi-v6.umd.prod.js +1 -1
  33. package/dist/icon-set/svg-bootstrap-icons.umd.prod.js +1 -1
  34. package/dist/icon-set/svg-eva-icons.umd.prod.js +1 -1
  35. package/dist/icon-set/svg-fontawesome-v5.umd.prod.js +1 -1
  36. package/dist/icon-set/svg-ionicons-v4.umd.prod.js +1 -1
  37. package/dist/icon-set/svg-ionicons-v5.umd.prod.js +1 -1
  38. package/dist/icon-set/svg-line-awesome.umd.prod.js +1 -1
  39. package/dist/icon-set/svg-material-icons-outlined.umd.prod.js +1 -1
  40. package/dist/icon-set/svg-material-icons-round.umd.prod.js +1 -1
  41. package/dist/icon-set/svg-material-icons-sharp.umd.prod.js +1 -1
  42. package/dist/icon-set/svg-material-icons.umd.prod.js +1 -1
  43. package/dist/icon-set/svg-mdi-v4.umd.prod.js +1 -1
  44. package/dist/icon-set/svg-mdi-v5.umd.prod.js +1 -1
  45. package/dist/icon-set/svg-mdi-v6.umd.prod.js +1 -1
  46. package/dist/icon-set/svg-themify.umd.prod.js +1 -1
  47. package/dist/icon-set/themify.umd.prod.js +1 -1
  48. package/dist/lang/ar.umd.prod.js +1 -1
  49. package/dist/lang/az-Latn.umd.prod.js +1 -1
  50. package/dist/lang/bg.umd.prod.js +1 -1
  51. package/dist/lang/bn.umd.prod.js +1 -1
  52. package/dist/lang/ca.umd.prod.js +1 -1
  53. package/dist/lang/cs.umd.prod.js +1 -1
  54. package/dist/lang/da.umd.prod.js +1 -1
  55. package/dist/lang/de.umd.prod.js +1 -1
  56. package/dist/lang/el.umd.prod.js +1 -1
  57. package/dist/lang/en-GB.umd.prod.js +1 -1
  58. package/dist/lang/en-US.umd.prod.js +1 -1
  59. package/dist/lang/eo.umd.prod.js +1 -1
  60. package/dist/lang/es.umd.prod.js +1 -1
  61. package/dist/lang/et.umd.prod.js +1 -1
  62. package/dist/lang/fa-IR.umd.prod.js +1 -1
  63. package/dist/lang/fa.umd.prod.js +1 -1
  64. package/dist/lang/fi.umd.prod.js +1 -1
  65. package/dist/lang/fr.umd.prod.js +1 -1
  66. package/dist/lang/gn.umd.prod.js +1 -1
  67. package/dist/lang/he.umd.prod.js +1 -1
  68. package/dist/lang/hr.umd.prod.js +1 -1
  69. package/dist/lang/hu.umd.prod.js +1 -1
  70. package/dist/lang/id.umd.prod.js +1 -1
  71. package/dist/lang/is.umd.prod.js +1 -1
  72. package/dist/lang/it.umd.prod.js +1 -1
  73. package/dist/lang/ja.umd.prod.js +1 -1
  74. package/dist/lang/km.umd.prod.js +1 -1
  75. package/dist/lang/ko-KR.umd.prod.js +1 -1
  76. package/dist/lang/kur-CKB.umd.prod.js +1 -1
  77. package/dist/lang/lt.umd.prod.js +1 -1
  78. package/dist/lang/lu.umd.prod.js +1 -1
  79. package/dist/lang/lv.umd.prod.js +1 -1
  80. package/dist/lang/ml.umd.prod.js +1 -1
  81. package/dist/lang/ms.umd.prod.js +1 -1
  82. package/dist/lang/nb-NO.umd.prod.js +1 -1
  83. package/dist/lang/nl.umd.prod.js +1 -1
  84. package/dist/lang/pl.umd.prod.js +1 -1
  85. package/dist/lang/pt-BR.umd.prod.js +1 -1
  86. package/dist/lang/pt.umd.prod.js +1 -1
  87. package/dist/lang/ro.umd.prod.js +1 -1
  88. package/dist/lang/ru.umd.prod.js +1 -1
  89. package/dist/lang/sk.umd.prod.js +1 -1
  90. package/dist/lang/sl.umd.prod.js +1 -1
  91. package/dist/lang/sr-CYR.umd.prod.js +1 -1
  92. package/dist/lang/sr.umd.prod.js +1 -1
  93. package/dist/lang/sv.umd.prod.js +1 -1
  94. package/dist/lang/ta.umd.prod.js +1 -1
  95. package/dist/lang/th.umd.prod.js +1 -1
  96. package/dist/lang/tr.umd.prod.js +1 -1
  97. package/dist/lang/ug.umd.prod.js +1 -1
  98. package/dist/lang/uk.umd.prod.js +1 -1
  99. package/dist/lang/vi.umd.prod.js +1 -1
  100. package/dist/lang/zh-CN.umd.prod.js +1 -1
  101. package/dist/lang/zh-TW.umd.prod.js +1 -1
  102. package/dist/quasar.cjs.prod.js +2 -2
  103. package/dist/quasar.css +57 -9
  104. package/dist/quasar.esm.prod.js +2 -2
  105. package/dist/quasar.prod.css +1 -1
  106. package/dist/quasar.rtl.css +124 -9
  107. package/dist/quasar.rtl.prod.css +1 -1
  108. package/dist/quasar.sass +47 -7
  109. package/dist/quasar.umd.js +356 -267
  110. package/dist/quasar.umd.prod.js +2 -2
  111. package/dist/ssr-directives/Morph.js +1 -1
  112. package/dist/types/index.d.ts +374 -141
  113. package/dist/vetur/quasar-attributes.json +18 -2
  114. package/dist/vetur/quasar-tags.json +6 -2
  115. package/dist/web-types/web-types.json +44 -3
  116. package/package.json +4 -1
  117. package/src/api.extends.json +7 -0
  118. package/src/body.js +14 -4
  119. package/src/components/ajax-bar/QAjaxBar.js +3 -2
  120. package/src/components/avatar/QAvatar.js +3 -2
  121. package/src/components/badge/QBadge.js +3 -2
  122. package/src/components/banner/QBanner.js +3 -2
  123. package/src/components/bar/QBar.js +3 -2
  124. package/src/components/breadcrumbs/QBreadcrumbs.js +3 -2
  125. package/src/components/breadcrumbs/QBreadcrumbsEl.js +3 -2
  126. package/src/components/btn/QBtn.js +3 -2
  127. package/src/components/btn-dropdown/QBtnDropdown.js +3 -2
  128. package/src/components/btn-group/QBtnGroup.js +3 -2
  129. package/src/components/btn-toggle/QBtnToggle.js +3 -2
  130. package/src/components/card/QCard.js +3 -2
  131. package/src/components/card/QCardActions.js +3 -2
  132. package/src/components/card/QCardSection.js +3 -2
  133. package/src/components/carousel/QCarousel.js +3 -2
  134. package/src/components/carousel/QCarouselControl.js +3 -2
  135. package/src/components/carousel/QCarouselSlide.js +3 -2
  136. package/src/components/chat/QChatMessage.js +3 -2
  137. package/src/components/checkbox/QCheckbox.js +3 -2
  138. package/src/components/chip/QChip.js +3 -2
  139. package/src/components/circular-progress/QCircularProgress.js +9 -3
  140. package/src/components/circular-progress/QCircularProgress.json +6 -0
  141. package/src/components/color/QColor.js +3 -2
  142. package/src/components/date/QDate.js +5 -3
  143. package/src/components/date/QDate.json +34 -0
  144. package/src/components/dialog/QDialog.js +3 -2
  145. package/src/components/dialog-bottom-sheet/BottomSheet.js +3 -2
  146. package/src/components/dialog-plugin/DialogPlugin.js +3 -2
  147. package/src/components/drawer/QDrawer.js +3 -2
  148. package/src/components/editor/QEditor.js +3 -2
  149. package/src/components/editor/QEditor.json +6 -2
  150. package/src/components/expansion-item/QExpansionItem.js +3 -2
  151. package/src/components/fab/QFab.js +3 -2
  152. package/src/components/fab/QFabAction.js +3 -2
  153. package/src/components/field/QField.js +3 -3
  154. package/src/components/file/QFile.js +3 -2
  155. package/src/components/footer/QFooter.js +3 -2
  156. package/src/components/footer/QFooter.json +1 -1
  157. package/src/components/form/QForm.js +3 -2
  158. package/src/components/header/QHeader.js +3 -2
  159. package/src/components/header/QHeader.json +1 -1
  160. package/src/components/icon/QIcon.js +4 -2
  161. package/src/components/img/QImg.js +5 -2
  162. package/src/components/infinite-scroll/QInfiniteScroll.js +50 -32
  163. package/src/components/inner-loading/QInnerLoading.js +3 -2
  164. package/src/components/input/QInput.js +3 -2
  165. package/src/components/intersection/QIntersection.js +12 -3
  166. package/src/components/intersection/QIntersection.json +9 -0
  167. package/src/components/item/QItem.js +3 -2
  168. package/src/components/item/QItemLabel.js +3 -2
  169. package/src/components/item/QItemSection.js +3 -2
  170. package/src/components/item/QList.js +3 -3
  171. package/src/components/knob/QKnob.js +3 -2
  172. package/src/components/layout/QLayout.js +3 -2
  173. package/src/components/linear-progress/QLinearProgress.js +13 -3
  174. package/src/components/linear-progress/QLinearProgress.json +6 -0
  175. package/src/components/linear-progress/QLinearProgress.sass +2 -1
  176. package/src/components/markup-table/QMarkupTable.js +3 -2
  177. package/src/components/menu/QMenu.js +4 -3
  178. package/src/components/no-ssr/QNoSsr.js +3 -2
  179. package/src/components/option-group/QOptionGroup.js +4 -2
  180. package/src/components/page/QPage.js +3 -2
  181. package/src/components/page/QPageContainer.js +3 -2
  182. package/src/components/page-scroller/QPageScroller.js +4 -2
  183. package/src/components/page-sticky/QPageSticky.js +2 -3
  184. package/src/components/pagination/QPagination.js +3 -2
  185. package/src/components/parallax/QParallax.js +3 -2
  186. package/src/components/popup-edit/QPopupEdit.js +3 -2
  187. package/src/components/popup-proxy/QPopupProxy.js +10 -17
  188. package/src/components/pull-to-refresh/QPullToRefresh.js +3 -2
  189. package/src/components/radio/QRadio.js +3 -2
  190. package/src/components/range/QRange.js +3 -2
  191. package/src/components/rating/QRating.js +6 -5
  192. package/src/components/resize-observer/QResizeObserver.js +3 -2
  193. package/src/components/responsive/QResponsive.js +3 -2
  194. package/src/components/scroll-area/QScrollArea.js +3 -2
  195. package/src/components/scroll-area/QScrollArea.json +4 -1
  196. package/src/components/scroll-observer/QScrollObserver.js +3 -2
  197. package/src/components/select/QSelect.js +17 -22
  198. package/src/components/select/QSelect.json +47 -0
  199. package/src/components/separator/QSeparator.js +4 -2
  200. package/src/components/skeleton/QSkeleton.js +3 -2
  201. package/src/components/skeleton/QSkeleton.json +1 -4
  202. package/src/components/slide-item/QSlideItem.js +3 -2
  203. package/src/components/slide-transition/QSlideTransition.js +4 -2
  204. package/src/components/slider/QSlider.js +3 -2
  205. package/src/components/slider/use-slider.js +3 -3
  206. package/src/components/space/QSpace.js +4 -2
  207. package/src/components/spinner/QSpinner.js +4 -2
  208. package/src/components/spinner/QSpinnerAudio.js +4 -2
  209. package/src/components/spinner/QSpinnerBall.js +4 -2
  210. package/src/components/spinner/QSpinnerBars.js +4 -2
  211. package/src/components/spinner/QSpinnerBox.js +4 -2
  212. package/src/components/spinner/QSpinnerClock.js +4 -2
  213. package/src/components/spinner/QSpinnerComment.js +4 -2
  214. package/src/components/spinner/QSpinnerCube.js +4 -2
  215. package/src/components/spinner/QSpinnerDots.js +4 -2
  216. package/src/components/spinner/QSpinnerFacebook.js +4 -2
  217. package/src/components/spinner/QSpinnerGears.js +4 -2
  218. package/src/components/spinner/QSpinnerGrid.js +4 -2
  219. package/src/components/spinner/QSpinnerHearts.js +4 -2
  220. package/src/components/spinner/QSpinnerHourglass.js +4 -2
  221. package/src/components/spinner/QSpinnerInfinity.js +4 -2
  222. package/src/components/spinner/QSpinnerIos.js +4 -2
  223. package/src/components/spinner/QSpinnerOrbit.js +4 -2
  224. package/src/components/spinner/QSpinnerOval.js +4 -2
  225. package/src/components/spinner/QSpinnerPie.js +4 -2
  226. package/src/components/spinner/QSpinnerPuff.js +4 -2
  227. package/src/components/spinner/QSpinnerRadio.js +4 -2
  228. package/src/components/spinner/QSpinnerRings.js +4 -2
  229. package/src/components/spinner/QSpinnerTail.js +4 -2
  230. package/src/components/splitter/QSplitter.js +3 -2
  231. package/src/components/stepper/QStep.js +3 -2
  232. package/src/components/stepper/QStepper.js +3 -2
  233. package/src/components/stepper/QStepperNavigation.js +3 -2
  234. package/src/components/stepper/StepHeader.js +4 -2
  235. package/src/components/tab-panels/QTabPanel.js +4 -2
  236. package/src/components/tab-panels/QTabPanels.js +3 -2
  237. package/src/components/table/QTable.js +4 -2
  238. package/src/components/table/QTable.json +51 -5
  239. package/src/components/table/QTd.js +3 -2
  240. package/src/components/table/QTh.js +3 -2
  241. package/src/components/table/QTr.js +3 -2
  242. package/src/components/table/table-pagination.js +2 -2
  243. package/src/components/tabs/QRouteTab.js +4 -2
  244. package/src/components/tabs/QRouteTab.json +1 -23
  245. package/src/components/tabs/QTab.js +3 -3
  246. package/src/components/tabs/QTabs.js +4 -3
  247. package/src/components/time/QTime.js +9 -7
  248. package/src/components/timeline/QTimeline.js +3 -2
  249. package/src/components/timeline/QTimelineEntry.js +3 -2
  250. package/src/components/toggle/QToggle.js +5 -2
  251. package/src/components/toolbar/QToolbar.js +3 -2
  252. package/src/components/toolbar/QToolbarTitle.js +3 -2
  253. package/src/components/tooltip/QTooltip.js +3 -2
  254. package/src/components/tree/QTree.js +12 -7
  255. package/src/components/tree/QTree.json +5 -0
  256. package/src/components/tree/QTree.sass +52 -4
  257. package/src/components/uploader/QUploaderAddTrigger.js +3 -2
  258. package/src/components/uploader/uploader-core.js +2 -7
  259. package/src/components/uploader/xhr-uploader-plugin.json +97 -1
  260. package/src/components/video/QVideo.js +4 -2
  261. package/src/components/virtual-scroll/QVirtualScroll.js +3 -2
  262. package/src/components/virtual-scroll/use-virtual-scroll.js +17 -1
  263. package/src/composables/private/use-field.js +2 -2
  264. package/src/composables/private/use-file.js +8 -0
  265. package/src/composables/private/use-model-toggle.js +1 -1
  266. package/src/composables/private/use-refocus-target.js +12 -3
  267. package/src/composables/use-dialog-plugin-component.js +6 -1
  268. package/src/css/core/transitions.sass +3 -1
  269. package/src/css/normalize.sass +0 -7
  270. package/src/directives/ClosePopup.js +3 -1
  271. package/src/directives/Intersection.js +3 -1
  272. package/src/directives/Morph.js +4 -1
  273. package/src/directives/Mutation.js +3 -1
  274. package/src/directives/Ripple.js +3 -1
  275. package/src/directives/Scroll.js +3 -1
  276. package/src/directives/ScrollFire.js +3 -1
  277. package/src/directives/TouchHold.js +4 -1
  278. package/src/directives/TouchPan.js +4 -1
  279. package/src/directives/TouchRepeat.js +4 -1
  280. package/src/directives/TouchSwipe.js +4 -1
  281. package/src/install-quasar.js +1 -0
  282. package/src/plugins/Notify.js +4 -3
  283. package/src/utils/create-uploader-component.js +9 -7
  284. package/src/utils/date.js +1 -1
  285. package/src/utils/private/create.js +4 -0
  286. package/src/utils/private/get-emits-object.js +11 -0
  287. package/src/utils/private/global-dialog.json +10 -2
  288. package/src/utils/private/vm.js +3 -3
  289. package/src/utils/private/web-storage.json +10 -0
  290. package/wrappers/index.js +4 -0
@@ -408,7 +408,7 @@ export interface LocalStorage {
408
408
  | RegExp
409
409
  | number
410
410
  | boolean
411
- | Function
411
+ | ((...params: any[]) => any)
412
412
  | LooseDictionary
413
413
  | any[]
414
414
  | string
@@ -549,7 +549,7 @@ export interface Notify {
549
549
  /**
550
550
  * Function to call when notification gets dismissed
551
551
  */
552
- onDismiss?: Function;
552
+ onDismiss?: () => void;
553
553
  /**
554
554
  * Convenience way to add a dismiss button with a specific label, without using the 'actions' prop; If set to true, it uses a label accordding to the current Quasar language
555
555
  */
@@ -564,7 +564,85 @@ export interface Notify {
564
564
  ignoreDefaults?: boolean;
565
565
  }
566
566
  | string
567
- ) => Function;
567
+ ) => (props?: {
568
+ /**
569
+ * Optional type (that has been previously registered) or one of the out of the box ones ('positive', 'negative', 'warning', 'info', 'ongoing')
570
+ */
571
+ type?: string;
572
+ /**
573
+ * Color name for component from the Quasar Color Palette
574
+ */
575
+ color?: string;
576
+ /**
577
+ * Color name for component from the Quasar Color Palette
578
+ */
579
+ textColor?: string;
580
+ /**
581
+ * The content of your message
582
+ */
583
+ message?: string;
584
+ /**
585
+ * The content of your optional caption
586
+ */
587
+ caption?: string;
588
+ /**
589
+ * Render message as HTML; This can lead to XSS attacks, so make sure that you sanitize the message first
590
+ */
591
+ html?: boolean;
592
+ /**
593
+ * Icon name following Quasar convention; Make sure you have the icon library installed unless you are using 'img:' prefix
594
+ */
595
+ icon?: string;
596
+ /**
597
+ * URL to an avatar/image; Suggestion: use statics folder
598
+ */
599
+ avatar?: string;
600
+ /**
601
+ * Useful for notifications that are updated; Displays a Quasar spinner instead of an avatar or icon; If value is Boolean 'true' then the default QSpinner is shown
602
+ */
603
+ spinner?: boolean | Component;
604
+ /**
605
+ * Show progress bar to detail when notification will disappear automatically (unless timeout is 0)
606
+ */
607
+ progress?: boolean;
608
+ /**
609
+ * Class definitions to be attributed to the progress bar
610
+ */
611
+ progressClass?: any[] | string | LooseDictionary;
612
+ /**
613
+ * Add CSS class(es) to the notification for easier customization
614
+ */
615
+ classes?: string;
616
+ /**
617
+ * Key-value for attributes to be set on the notification
618
+ */
619
+ attrs?: LooseDictionary;
620
+ /**
621
+ * Amount of time to display (in milliseconds)
622
+ * Default value: 5000
623
+ */
624
+ timeout?: number;
625
+ /**
626
+ * Notification actions (buttons); If a 'handler' is specified or not, clicking/tapping on the button will also close the notification; Also check 'closeBtn' convenience prop
627
+ */
628
+ actions?: any[];
629
+ /**
630
+ * Function to call when notification gets dismissed
631
+ */
632
+ onDismiss?: () => void;
633
+ /**
634
+ * Convenience way to add a dismiss button with a specific label, without using the 'actions' prop; If set to true, it uses a label accordding to the current Quasar language
635
+ */
636
+ closeBtn?: boolean | string;
637
+ /**
638
+ * Put notification into multi-line mode; If this prop isn't used and more than one 'action' is specified then notification goes into multi-line mode by default
639
+ */
640
+ multiLine?: boolean;
641
+ /**
642
+ * Ignore the default configuration (set by setDefaults()) for this instance only
643
+ */
644
+ ignoreDefaults?: boolean;
645
+ }) => void;
568
646
  /**
569
647
  * Merge options into the default ones
570
648
  * @param opts Notification options
@@ -669,7 +747,7 @@ export interface Notify {
669
747
  /**
670
748
  * Function to call when notification gets dismissed
671
749
  */
672
- onDismiss?: Function;
750
+ onDismiss?: () => void;
673
751
  /**
674
752
  * Convenience way to add a dismiss button with a specific label, without using the 'actions' prop; If set to true, it uses a label accordding to the current Quasar language
675
753
  */
@@ -786,7 +864,7 @@ export interface Notify {
786
864
  /**
787
865
  * Function to call when notification gets dismissed
788
866
  */
789
- onDismiss?: Function;
867
+ onDismiss?: () => void;
790
868
  /**
791
869
  * Convenience way to add a dismiss button with a specific label, without using the 'actions' prop; If set to true, it uses a label accordding to the current Quasar language
792
870
  */
@@ -1015,7 +1093,7 @@ export interface SessionStorage {
1015
1093
  | RegExp
1016
1094
  | number
1017
1095
  | boolean
1018
- | Function
1096
+ | ((...params: any[]) => any)
1019
1097
  | LooseDictionary
1020
1098
  | any[]
1021
1099
  | string
@@ -1974,7 +2052,7 @@ export interface QBtnProps {
1974
2052
  * @param evt JS event object; If you want to cancel navigation set synchronously 'evt.navigate' to false
1975
2053
  * @param navigateFn When you need to control the time at which the button should trigger the route navigation then set 'evt.navigate' to false and call this function; Useful if you have async work to be done before the actual route navigation
1976
2054
  */
1977
- onClick?: (evt: LooseDictionary, navigateFn: Function) => void;
2055
+ onClick?: (evt: LooseDictionary, navigateFn: () => void) => void;
1978
2056
  }
1979
2057
 
1980
2058
  export interface QBtnSlots {
@@ -2267,7 +2345,7 @@ export interface QCarouselSlots {
2267
2345
  /**
2268
2346
  * Default trigger when clicked/tapped on
2269
2347
  */
2270
- onClick: Function;
2348
+ onClick: (evt: LooseDictionary) => void;
2271
2349
  }) => VNode[];
2272
2350
  }
2273
2351
 
@@ -2699,6 +2777,11 @@ export interface QCircularProgressProps {
2699
2777
  * No animation when model changes
2700
2778
  */
2701
2779
  instantFeedback?: boolean | undefined;
2780
+ /**
2781
+ * Animation speed (in milliseconds, without unit)
2782
+ * Default value: 600
2783
+ */
2784
+ animationSpeed?: string | number | undefined;
2702
2785
  }
2703
2786
 
2704
2787
  export interface QCircularProgressSlots {
@@ -2893,15 +2976,15 @@ export interface QDateProps {
2893
2976
  /**
2894
2977
  * 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
2895
2978
  */
2896
- events?: any[] | Function | undefined;
2979
+ events?: any[] | ((date: string) => boolean) | undefined;
2897
2980
  /**
2898
2981
  * 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
2899
2982
  */
2900
- eventColor?: string | Function | undefined;
2983
+ eventColor?: string | ((date: string) => string) | undefined;
2901
2984
  /**
2902
2985
  * 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
2903
2986
  */
2904
- options?: any[] | Function | undefined;
2987
+ options?: any[] | ((date: string) => boolean) | undefined;
2905
2988
  /**
2906
2989
  * Lock user from navigating below a specific year+month (in YYYY/MM format); This prop is not used to correct the model; You might want to also use 'default-year-month' prop
2907
2990
  */
@@ -3523,7 +3606,7 @@ export interface QEditorProps {
3523
3606
  /**
3524
3607
  * Either this or "cmd" is required. Function for when button gets clicked/tapped.
3525
3608
  */
3526
- handler?: Function;
3609
+ handler?: () => void;
3527
3610
  /**
3528
3611
  * Either this or "handler" is required. This must be a valid execCommand method according to the designMode API.
3529
3612
  */
@@ -3533,9 +3616,9 @@ export interface QEditorProps {
3533
3616
  */
3534
3617
  param?: string;
3535
3618
  /**
3536
- * Is button disabled? If specifying a function, return a Boolean value.
3619
+ * Is button disabled?
3537
3620
  */
3538
- disable?: boolean | Function;
3621
+ disable?: boolean | (() => boolean);
3539
3622
  /**
3540
3623
  * Pass the value "no-state" if the button should not have an "active" state
3541
3624
  */
@@ -4356,7 +4439,7 @@ export interface QFieldSlots {
4356
4439
  /**
4357
4440
  * Function that emits an @input event in the context of the field
4358
4441
  */
4359
- emitValue: Function;
4442
+ emitValue: (value: any) => void;
4360
4443
  }) => VNode[];
4361
4444
  /**
4362
4445
  * undefined
@@ -4417,7 +4500,7 @@ export interface QFileProps {
4417
4500
  /**
4418
4501
  * 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
4419
4502
  */
4420
- filter?: Function | undefined;
4503
+ filter?: ((files: FileList | any[]) => any[]) | undefined;
4421
4504
  /**
4422
4505
  * Model of the component; Must be FileList or Array if using 'multiple' prop; Either use this property (along with a listener for 'update:modelValue' event) OR use v-model directive
4423
4506
  */
@@ -4577,7 +4660,22 @@ export interface QFileProps {
4577
4660
  /**
4578
4661
  * Label for the counter; The 'counter' prop is necessary to enable this one
4579
4662
  */
4580
- counterLabel?: Function | undefined;
4663
+ counterLabel?:
4664
+ | ((props: {
4665
+ /**
4666
+ * The total size of files in human readable format
4667
+ */
4668
+ totalSize: string;
4669
+ /**
4670
+ * Number of picked files
4671
+ */
4672
+ filesNumber: number;
4673
+ /**
4674
+ * Maximum number of files (same as 'max-files' prop, if specified); When 'max-files' is not specified, this has 'void 0' as value
4675
+ */
4676
+ maxFiles: number | string;
4677
+ }) => string)
4678
+ | undefined;
4581
4679
  /**
4582
4680
  * Tabindex HTML attribute value
4583
4681
  */
@@ -5098,7 +5196,7 @@ export interface QInfiniteScrollProps {
5098
5196
  * @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
5099
5197
  * @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
5100
5198
  */
5101
- onLoad?: (index: number, done: Function) => void;
5199
+ onLoad?: (index: number, done: (stop: boolean) => void) => void;
5102
5200
  }
5103
5201
 
5104
5202
  export interface QInfiniteScrollSlots {
@@ -5532,6 +5630,11 @@ export interface QIntersectionProps {
5532
5630
  * One of Quasar's embedded transitions
5533
5631
  */
5534
5632
  transition?: string | undefined;
5633
+ /**
5634
+ * Transition duration (in milliseconds, without unit)
5635
+ * Default value: 300
5636
+ */
5637
+ transitionDuration?: string | number | undefined;
5535
5638
  /**
5536
5639
  * Disable visibility observable (content will remain as it was, visible or hidden)
5537
5640
  */
@@ -5932,6 +6035,11 @@ export interface QLinearProgressProps {
5932
6035
  * No transition when model changes
5933
6036
  */
5934
6037
  instantFeedback?: boolean | undefined;
6038
+ /**
6039
+ * Animation speed (in milliseconds, without unit)
6040
+ * Default value: 300
6041
+ */
6042
+ animationSpeed?: string | number | undefined;
5935
6043
  }
5936
6044
 
5937
6045
  export interface QLinearProgressSlots {
@@ -6396,7 +6504,7 @@ export interface QPageProps {
6396
6504
  * 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
6397
6505
  * Default value: (see source code)
6398
6506
  */
6399
- styleFn?: Function | undefined;
6507
+ styleFn?: ((offset: number, height: number) => LooseDictionary) | undefined;
6400
6508
  }
6401
6509
 
6402
6510
  export interface QPageSlots {
@@ -6496,7 +6604,7 @@ export interface QPaginationProps {
6496
6604
  /**
6497
6605
  * Generate link for page buttons; For best performance, reference it from your scope and do not define it inline
6498
6606
  */
6499
- toFn?: Function | undefined;
6607
+ toFn?: ((page: number) => LooseDictionary | string) | undefined;
6500
6608
  /**
6501
6609
  * Show boundary button links
6502
6610
  */
@@ -6661,7 +6769,7 @@ export interface QPopupEditProps {
6661
6769
  /**
6662
6770
  * 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
6663
6771
  */
6664
- validate?: Function | undefined;
6772
+ validate?: ((value: any) => boolean) | undefined;
6665
6773
  /**
6666
6774
  * Put component in disabled mode
6667
6775
  */
@@ -6795,19 +6903,19 @@ export interface QPopupEditSlots {
6795
6903
  /**
6796
6904
  * Function that checks if the value is valid
6797
6905
  */
6798
- validate: Function;
6906
+ validate: (value: any) => boolean;
6799
6907
  /**
6800
6908
  * Function that sets the value and closes the popup
6801
6909
  */
6802
- set: Function;
6910
+ set: () => void;
6803
6911
  /**
6804
6912
  * Function that cancels the editing and reverts the value to the initialValue
6805
6913
  */
6806
- cancel: Function;
6914
+ cancel: () => void;
6807
6915
  /**
6808
6916
  * There are some custom scenarios for which Quasar cannot automatically reposition the component without significant performance drawbacks so the optimal solution is for you to call this method when you need it
6809
6917
  */
6810
- updatePosition: Function;
6918
+ updatePosition: () => void;
6811
6919
  }) => VNode[];
6812
6920
  }
6813
6921
 
@@ -6940,7 +7048,7 @@ export interface QPullToRefreshProps {
6940
7048
  * Called whenever a refresh is triggered; at this time, your function should load more data
6941
7049
  * @param done Call the done() function when your data has been refreshed
6942
7050
  */
6943
- onRefresh?: (done: Function) => void;
7051
+ onRefresh?: (done: () => void) => void;
6944
7052
  }
6945
7053
 
6946
7054
  export interface QPullToRefreshSlots {
@@ -7358,7 +7466,7 @@ export interface QScrollAreaProps {
7358
7466
  tabindex?: number | string | undefined;
7359
7467
  /**
7360
7468
  * Emitted when scroll information changes (and listener is configured)
7361
- * @param info
7469
+ * @param info An object containing scroll information
7362
7470
  */
7363
7471
  onScroll?: (info: {
7364
7472
  /**
@@ -7421,61 +7529,63 @@ export interface QScrollArea extends ComponentPublicInstance<QScrollAreaProps> {
7421
7529
  /**
7422
7530
  * Vertical scroll position (in px)
7423
7531
  */
7424
- verticalPosition?: number;
7532
+ verticalPosition: number;
7425
7533
  /**
7426
7534
  * Vertical scroll percentage (0.0 <= x <= 1.0)
7427
7535
  */
7428
- verticalPercentage?: number;
7536
+ verticalPercentage: number;
7429
7537
  /**
7430
7538
  * Vertical scroll size (in px)
7431
7539
  */
7432
- verticalSize?: number;
7540
+ verticalSize: number;
7433
7541
  /**
7434
7542
  * Height of the container (in px)
7435
7543
  */
7436
- verticalContainerSize?: number;
7544
+ verticalContainerSize: number;
7437
7545
  /**
7438
7546
  * Horizontal scroll position (in px)
7439
7547
  */
7440
- horizontalPosition?: number;
7548
+ horizontalPosition: number;
7441
7549
  /**
7442
7550
  * Horizontal scroll percentage (0.0 <= x <= 1.0)
7443
7551
  */
7444
- horizontalPercentage?: number;
7552
+ horizontalPercentage: number;
7445
7553
  /**
7446
7554
  * Horizontal scroll size (in px)
7447
7555
  */
7448
- horizontalSize?: number;
7556
+ horizontalSize: number;
7449
7557
  /**
7450
7558
  * Width of the container (in px)
7451
7559
  */
7452
- horizontalContainerSize?: number;
7560
+ horizontalContainerSize: number;
7453
7561
  };
7454
7562
  /**
7455
7563
  * Get current scroll position
7564
+ * @returns An object containing scroll position information
7456
7565
  */
7457
7566
  getScrollPosition: () => {
7458
7567
  /**
7459
7568
  * Scroll offset from top (vertical)
7460
7569
  */
7461
- top?: number;
7570
+ top: number;
7462
7571
  /**
7463
7572
  * Scroll offset from left (horizontal)
7464
7573
  */
7465
- left?: number;
7574
+ left: number;
7466
7575
  };
7467
7576
  /**
7468
7577
  * Get current scroll position in percentage (0.0 <= x <= 1.0)
7578
+ * @returns An object containing scroll position information in percentage
7469
7579
  */
7470
7580
  getScrollPercentage: () => {
7471
7581
  /**
7472
7582
  * Scroll percentage (0.0 <= x <= 1.0) offset from top (vertical)
7473
7583
  */
7474
- top?: number;
7584
+ top: number;
7475
7585
  /**
7476
7586
  * Scroll percentage (0.0 <= x <= 1.0) offset from left (horizontal)
7477
7587
  */
7478
- left?: number;
7588
+ left: number;
7479
7589
  };
7480
7590
  /**
7481
7591
  * Set scroll position to an offset; If a duration (in milliseconds) is specified then the scroll is animated
@@ -7794,17 +7904,26 @@ export interface QSelectProps {
7794
7904
  * 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
7795
7905
  * Default value: value
7796
7906
  */
7797
- optionValue?: Function | string | undefined;
7907
+ optionValue?:
7908
+ | ((option: string | LooseDictionary) => any)
7909
+ | string
7910
+ | undefined;
7798
7911
  /**
7799
7912
  * 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
7800
7913
  * Default value: label
7801
7914
  */
7802
- optionLabel?: Function | string | undefined;
7915
+ optionLabel?:
7916
+ | ((option: string | LooseDictionary) => string)
7917
+ | string
7918
+ | undefined;
7803
7919
  /**
7804
7920
  * 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
7805
7921
  * Default value: disable
7806
7922
  */
7807
- optionDisable?: Function | string | undefined;
7923
+ optionDisable?:
7924
+ | ((option: string | LooseDictionary) => boolean)
7925
+ | string
7926
+ | undefined;
7808
7927
  /**
7809
7928
  * Hides selection; Use the underlying input tag to hold the label (instead of showing it to the right of the input) of the selected option; Only works for non 'multiple' Selects
7810
7929
  */
@@ -8037,14 +8156,24 @@ export interface QSelectProps {
8037
8156
  * @param inputValue What the user typed
8038
8157
  * @param doneFn Adds (optional) value to the model; Do not forget to call it after you validate the newly created value; Call it with no parameters if nothing should be added
8039
8158
  */
8040
- onNewValue?: (inputValue: string, doneFn: Function) => void;
8159
+ onNewValue?: (
8160
+ inputValue: string,
8161
+ doneFn: (item: any, mode: "add" | "add-unique" | "toggle") => void
8162
+ ) => void;
8041
8163
  /**
8042
8164
  * Emitted when user wants to filter a value
8043
8165
  * @param inputValue What the user typed
8044
8166
  * @param doneFn Supply a function which makes the necessary updates
8045
8167
  * @param abortFn Call this function if something went wrong
8046
8168
  */
8047
- onFilter?: (inputValue: string, doneFn: Function, abortFn: Function) => void;
8169
+ onFilter?: (
8170
+ inputValue: string,
8171
+ doneFn: (
8172
+ callbackFn: () => void,
8173
+ afterFn: (ref: LooseDictionary) => void
8174
+ ) => void,
8175
+ abortFn: () => void
8176
+ ) => void;
8048
8177
  /**
8049
8178
  * Emitted when a filtering was aborted; Probably a new one was requested?
8050
8179
  */
@@ -8144,11 +8273,11 @@ export interface QSelectSlots {
8144
8273
  /**
8145
8274
  * Remove selected option located at specific index
8146
8275
  */
8147
- removeAtIndex: Function;
8276
+ removeAtIndex: (index: number) => void;
8148
8277
  /**
8149
8278
  * Add/remove option from model
8150
8279
  */
8151
- toggleOption: Function;
8280
+ toggleOption: (opt: any) => void;
8152
8281
  /**
8153
8282
  * Tabindex HTML attribute value associated with respective option
8154
8283
  */
@@ -8178,11 +8307,11 @@ export interface QSelectSlots {
8178
8307
  /**
8179
8308
  * Add/remove option from model
8180
8309
  */
8181
- toggleOption: Function;
8310
+ toggleOption: (opt: any) => void;
8182
8311
  /**
8183
8312
  * Sets option from menu as 'focused'
8184
8313
  */
8185
- setOptionIndex: Function;
8314
+ setOptionIndex: (index: number) => void;
8186
8315
  /**
8187
8316
  * Computed properties passed down to QItem
8188
8317
  */
@@ -8456,7 +8585,7 @@ export interface QSlideItemProps {
8456
8585
  /**
8457
8586
  * When called, it resets the component to its initial non-slided state
8458
8587
  */
8459
- reset: Function;
8588
+ reset: () => void;
8460
8589
  }) => void;
8461
8590
  /**
8462
8591
  * Emitted when user finished sliding the item to the right
@@ -8466,7 +8595,7 @@ export interface QSlideItemProps {
8466
8595
  /**
8467
8596
  * When called, it resets the component to its initial non-slided state
8468
8597
  */
8469
- reset: Function;
8598
+ reset: () => void;
8470
8599
  }) => void;
8471
8600
  /**
8472
8601
  * Emitted when user finished sliding the item up
@@ -8476,7 +8605,7 @@ export interface QSlideItemProps {
8476
8605
  /**
8477
8606
  * When called, it resets the component to its initial non-slided state
8478
8607
  */
8479
- reset: Function;
8608
+ reset: () => void;
8480
8609
  }) => void;
8481
8610
  /**
8482
8611
  * Emitted when user finished sliding the item down
@@ -8486,7 +8615,7 @@ export interface QSlideItemProps {
8486
8615
  /**
8487
8616
  * When called, it resets the component to its initial non-slided state
8488
8617
  */
8489
- reset: Function;
8618
+ reset: () => void;
8490
8619
  }) => void;
8491
8620
  /**
8492
8621
  * Emitted while user is sliding the item to one of the available sides
@@ -8518,7 +8647,7 @@ export interface QSlideItemProps {
8518
8647
  /**
8519
8648
  * When called, it resets the component to its initial non-slided state
8520
8649
  */
8521
- reset: Function;
8650
+ reset: () => void;
8522
8651
  }) => void;
8523
8652
  }
8524
8653
 
@@ -9540,7 +9669,7 @@ export interface QTableProps {
9540
9669
  * 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
9541
9670
  * Default value: id
9542
9671
  */
9543
- rowKey?: string | Function | undefined;
9672
+ rowKey?: string | ((row: LooseDictionary) => any) | undefined;
9544
9673
  /**
9545
9674
  * Display data using QVirtualScroll (for non-grid mode only)
9546
9675
  */
@@ -9628,7 +9757,7 @@ export interface QTableProps {
9628
9757
  /**
9629
9758
  * Row Object property to determine value for this column or function which maps to the required property
9630
9759
  */
9631
- field: string | Function;
9760
+ field: string | ((row: LooseDictionary) => any);
9632
9761
  /**
9633
9762
  * If we use visible-columns, this col will always be visible
9634
9763
  */
@@ -9645,7 +9774,12 @@ export interface QTableProps {
9645
9774
  /**
9646
9775
  * Compare function if you have some custom data or want a specific way to compare two rows
9647
9776
  */
9648
- sort?: Function;
9777
+ sort?: (
9778
+ a: any,
9779
+ b: any,
9780
+ rowA: LooseDictionary,
9781
+ rowB: LooseDictionary
9782
+ ) => number;
9649
9783
  /**
9650
9784
  * Set column sort order: 'ad' (ascending-descending) or 'da' (descending-ascending); Overrides the 'column-sort-order' prop
9651
9785
  * Default value: ad
@@ -9654,15 +9788,15 @@ export interface QTableProps {
9654
9788
  /**
9655
9789
  * Function you can apply to format your data
9656
9790
  */
9657
- format?: Function;
9791
+ format?: (val: any, row: LooseDictionary) => any;
9658
9792
  /**
9659
9793
  * Style to apply on normal cells of the column
9660
9794
  */
9661
- style?: string | Function;
9795
+ style?: string | ((row: LooseDictionary) => string);
9662
9796
  /**
9663
9797
  * Classes to add on normal cells of the column
9664
9798
  */
9665
- classes?: string | Function;
9799
+ classes?: string | ((row: LooseDictionary) => string);
9666
9800
  /**
9667
9801
  * Style to apply on header cells of the column
9668
9802
  */
@@ -9754,7 +9888,7 @@ export interface QTableProps {
9754
9888
  /**
9755
9889
  * Text to display when user selected at least one row; For best performance, reference it from your scope and do not define it inline
9756
9890
  */
9757
- selectedRowsLabel?: Function | undefined;
9891
+ selectedRowsLabel?: ((numberOfRows: number) => string) | undefined;
9758
9892
  /**
9759
9893
  * Text to override default rows per page label at bottom of table
9760
9894
  */
@@ -9762,7 +9896,13 @@ export interface QTableProps {
9762
9896
  /**
9763
9897
  * 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
9764
9898
  */
9765
- paginationLabel?: Function | undefined;
9899
+ paginationLabel?:
9900
+ | ((
9901
+ firstRowIndex: number,
9902
+ endRowIndex: number,
9903
+ totalRowsNumber: number
9904
+ ) => string)
9905
+ | undefined;
9766
9906
  /**
9767
9907
  * CSS style to apply to native HTML <table> element's wrapper (which is a DIV)
9768
9908
  */
@@ -9807,7 +9947,14 @@ export interface QTableProps {
9807
9947
  * The actual filtering mechanism; For best performance, reference it from your scope and do not define it inline
9808
9948
  * Default value: (see source code)
9809
9949
  */
9810
- filterMethod?: Function | undefined;
9950
+ filterMethod?:
9951
+ | ((
9952
+ rows: any[],
9953
+ terms: string | LooseDictionary,
9954
+ cols: any[],
9955
+ getCellValue: (col: LooseDictionary, row: LooseDictionary) => any
9956
+ ) => any[])
9957
+ | undefined;
9811
9958
  /**
9812
9959
  * Pagination object; You can also use the 'v-model:pagination' for synching; When not synching it simply initializes the pagination on first render
9813
9960
  */
@@ -9859,7 +10006,9 @@ export interface QTableProps {
9859
10006
  * The actual sort mechanism. Function (rows, sortBy, descending) => sorted rows; For best performance, reference it from your scope and do not define it inline
9860
10007
  * Default value: (see source code)
9861
10008
  */
9862
- sortMethod?: Function | undefined;
10009
+ sortMethod?:
10010
+ | ((rows: any[], sortBy: string, descending: boolean) => any[])
10011
+ | undefined;
9863
10012
  /**
9864
10013
  * Emitted when user clicks/taps on a row; Is not emitted when using body/row/item scoped slots
9865
10014
  * @param evt JS event object
@@ -9922,11 +10071,16 @@ export interface QTableProps {
9922
10071
  /**
9923
10072
  * Filter method (the 'filter-method' prop)
9924
10073
  */
9925
- filter: Function;
10074
+ filter: (
10075
+ rows: any[],
10076
+ terms: string | LooseDictionary,
10077
+ cols: any[],
10078
+ getCellValue: (col: LooseDictionary, row: LooseDictionary) => any
10079
+ ) => any[];
9926
10080
  /**
9927
10081
  * Optional function to get a cell value
9928
10082
  */
9929
- getCellValue: Function;
10083
+ getCellValue: (col: LooseDictionary, row: LooseDictionary) => any;
9930
10084
  }) => void;
9931
10085
  /**
9932
10086
  * Emitted when user selects/unselects row(s)
@@ -10043,7 +10197,7 @@ export interface QTableSlots {
10043
10197
  /**
10044
10198
  * Trigger a table sort
10045
10199
  */
10046
- sort: Function;
10200
+ sort: (col: string | LooseDictionary) => void;
10047
10201
  /**
10048
10202
  * (Only if using selection) Is row/item selected? Can directly be assigned new Boolean value which changes selection state
10049
10203
  */
@@ -10098,7 +10252,7 @@ export interface QTableSlots {
10098
10252
  /**
10099
10253
  * Trigger a table sort
10100
10254
  */
10101
- sort: Function;
10255
+ sort: (col: string | LooseDictionary) => void;
10102
10256
  /**
10103
10257
  * (Only if using selection) Is row selected? Can directly be assigned new Boolean value which changes selection state
10104
10258
  */
@@ -10165,7 +10319,7 @@ export interface QTableSlots {
10165
10319
  /**
10166
10320
  * Trigger a table sort
10167
10321
  */
10168
- sort: Function;
10322
+ sort: (col: string | LooseDictionary) => void;
10169
10323
  /**
10170
10324
  * (Only if using selection) Is row selected? Can directly be assigned new Boolean value which changes selection state
10171
10325
  */
@@ -10228,7 +10382,7 @@ export interface QTableSlots {
10228
10382
  /**
10229
10383
  * Trigger a table sort
10230
10384
  */
10231
- sort: Function;
10385
+ sort: (col: string | LooseDictionary) => void;
10232
10386
  /**
10233
10387
  * (Only if using selection) Is row selected? Can directly be assigned new Boolean value which changes selection state
10234
10388
  */
@@ -10267,7 +10421,7 @@ export interface QTableSlots {
10267
10421
  /**
10268
10422
  * Trigger a table sort
10269
10423
  */
10270
- sort: Function;
10424
+ sort: (col: string | LooseDictionary) => void;
10271
10425
  /**
10272
10426
  * (Only if using selection) Is row selected? Can directly be assigned new Boolean value which changes selection state
10273
10427
  */
@@ -10318,7 +10472,7 @@ export interface QTableSlots {
10318
10472
  /**
10319
10473
  * Trigger a table sort
10320
10474
  */
10321
- sort: Function;
10475
+ sort: (col: string | LooseDictionary) => void;
10322
10476
  /**
10323
10477
  * (Only if using selection) Is row selected? Can directly be assigned new Boolean value which changes selection state
10324
10478
  */
@@ -10361,7 +10515,7 @@ export interface QTableSlots {
10361
10515
  /**
10362
10516
  * Trigger a table sort
10363
10517
  */
10364
- sort: Function;
10518
+ sort: (col: string | LooseDictionary) => void;
10365
10519
  /**
10366
10520
  * (Only if using selection) Is row selected? Can directly be assigned new Boolean value which changes selection state
10367
10521
  */
@@ -10416,7 +10570,7 @@ export interface QTableSlots {
10416
10570
  /**
10417
10571
  * Trigger a table sort
10418
10572
  */
10419
- sort: Function;
10573
+ sort: (col: string | LooseDictionary) => void;
10420
10574
  /**
10421
10575
  * (Only if using selection) Is row selected? Can directly be assigned new Boolean value which changes selection state
10422
10576
  */
@@ -10455,7 +10609,7 @@ export interface QTableSlots {
10455
10609
  /**
10456
10610
  * Trigger a table sort
10457
10611
  */
10458
- sort: Function;
10612
+ sort: (col: string | LooseDictionary) => void;
10459
10613
  /**
10460
10614
  * (Only if using selection) Is row selected? Can directly be assigned new Boolean value which changes selection state
10461
10615
  */
@@ -10539,19 +10693,19 @@ export interface QTableSlots {
10539
10693
  /**
10540
10694
  * Navigates to first page
10541
10695
  */
10542
- firstPage: Function;
10696
+ firstPage: () => void;
10543
10697
  /**
10544
10698
  * Navigates to previous page, if available
10545
10699
  */
10546
- prevPage: Function;
10700
+ prevPage: () => void;
10547
10701
  /**
10548
10702
  * Navigates to next page, if available
10549
10703
  */
10550
- nextPage: Function;
10704
+ nextPage: () => void;
10551
10705
  /**
10552
10706
  * Navigates to last page
10553
10707
  */
10554
- lastPage: Function;
10708
+ lastPage: () => void;
10555
10709
  /**
10556
10710
  * Is table in fullscreen mode?
10557
10711
  */
@@ -10559,7 +10713,7 @@ export interface QTableSlots {
10559
10713
  /**
10560
10714
  * Toggles fullscreen mode
10561
10715
  */
10562
- toggleFullscreen: Function;
10716
+ toggleFullscreen: () => void;
10563
10717
  }) => VNode[];
10564
10718
  /**
10565
10719
  * Slot to define how table bottom looks like
@@ -10602,19 +10756,19 @@ export interface QTableSlots {
10602
10756
  /**
10603
10757
  * Navigates to first page
10604
10758
  */
10605
- firstPage: Function;
10759
+ firstPage: () => void;
10606
10760
  /**
10607
10761
  * Navigates to previous page, if available
10608
10762
  */
10609
- prevPage: Function;
10763
+ prevPage: () => void;
10610
10764
  /**
10611
10765
  * Navigates to next page, if available
10612
10766
  */
10613
- nextPage: Function;
10767
+ nextPage: () => void;
10614
10768
  /**
10615
10769
  * Navigates to last page
10616
10770
  */
10617
- lastPage: Function;
10771
+ lastPage: () => void;
10618
10772
  /**
10619
10773
  * Is table in fullscreen mode?
10620
10774
  */
@@ -10622,7 +10776,7 @@ export interface QTableSlots {
10622
10776
  /**
10623
10777
  * Toggles fullscreen mode
10624
10778
  */
10625
- toggleFullscreen: Function;
10779
+ toggleFullscreen: () => void;
10626
10780
  }) => VNode[];
10627
10781
  /**
10628
10782
  * Slot to override default pagination label and buttons
@@ -10665,19 +10819,19 @@ export interface QTableSlots {
10665
10819
  /**
10666
10820
  * Navigates to first page
10667
10821
  */
10668
- firstPage: Function;
10822
+ firstPage: () => void;
10669
10823
  /**
10670
10824
  * Navigates to previous page, if available
10671
10825
  */
10672
- prevPage: Function;
10826
+ prevPage: () => void;
10673
10827
  /**
10674
10828
  * Navigates to next page, if available
10675
10829
  */
10676
- nextPage: Function;
10830
+ nextPage: () => void;
10677
10831
  /**
10678
10832
  * Navigates to last page
10679
10833
  */
10680
- lastPage: Function;
10834
+ lastPage: () => void;
10681
10835
  /**
10682
10836
  * Is table in fullscreen mode?
10683
10837
  */
@@ -10685,7 +10839,7 @@ export interface QTableSlots {
10685
10839
  /**
10686
10840
  * Toggles fullscreen mode
10687
10841
  */
10688
- toggleFullscreen: Function;
10842
+ toggleFullscreen: () => void;
10689
10843
  }) => VNode[];
10690
10844
  /**
10691
10845
  * Slot to define how left part of the table top looks like
@@ -10728,19 +10882,19 @@ export interface QTableSlots {
10728
10882
  /**
10729
10883
  * Navigates to first page
10730
10884
  */
10731
- firstPage: Function;
10885
+ firstPage: () => void;
10732
10886
  /**
10733
10887
  * Navigates to previous page, if available
10734
10888
  */
10735
- prevPage: Function;
10889
+ prevPage: () => void;
10736
10890
  /**
10737
10891
  * Navigates to next page, if available
10738
10892
  */
10739
- nextPage: Function;
10893
+ nextPage: () => void;
10740
10894
  /**
10741
10895
  * Navigates to last page
10742
10896
  */
10743
- lastPage: Function;
10897
+ lastPage: () => void;
10744
10898
  /**
10745
10899
  * Is table in fullscreen mode?
10746
10900
  */
@@ -10748,7 +10902,7 @@ export interface QTableSlots {
10748
10902
  /**
10749
10903
  * Toggles fullscreen mode
10750
10904
  */
10751
- toggleFullscreen: Function;
10905
+ toggleFullscreen: () => void;
10752
10906
  }) => VNode[];
10753
10907
  /**
10754
10908
  * Slot to define how right part of the table top looks like
@@ -10791,19 +10945,19 @@ export interface QTableSlots {
10791
10945
  /**
10792
10946
  * Navigates to first page
10793
10947
  */
10794
- firstPage: Function;
10948
+ firstPage: () => void;
10795
10949
  /**
10796
10950
  * Navigates to previous page, if available
10797
10951
  */
10798
- prevPage: Function;
10952
+ prevPage: () => void;
10799
10953
  /**
10800
10954
  * Navigates to next page, if available
10801
10955
  */
10802
- nextPage: Function;
10956
+ nextPage: () => void;
10803
10957
  /**
10804
10958
  * Navigates to last page
10805
10959
  */
10806
- lastPage: Function;
10960
+ lastPage: () => void;
10807
10961
  /**
10808
10962
  * Is table in fullscreen mode?
10809
10963
  */
@@ -10811,7 +10965,7 @@ export interface QTableSlots {
10811
10965
  /**
10812
10966
  * Toggles fullscreen mode
10813
10967
  */
10814
- toggleFullscreen: Function;
10968
+ toggleFullscreen: () => void;
10815
10969
  }) => VNode[];
10816
10970
  /**
10817
10971
  * Slot to define how top table section looks like when user has selected at least one row
@@ -10854,19 +11008,19 @@ export interface QTableSlots {
10854
11008
  /**
10855
11009
  * Navigates to first page
10856
11010
  */
10857
- firstPage: Function;
11011
+ firstPage: () => void;
10858
11012
  /**
10859
11013
  * Navigates to previous page, if available
10860
11014
  */
10861
- prevPage: Function;
11015
+ prevPage: () => void;
10862
11016
  /**
10863
11017
  * Navigates to next page, if available
10864
11018
  */
10865
- nextPage: Function;
11019
+ nextPage: () => void;
10866
11020
  /**
10867
11021
  * Navigates to last page
10868
11022
  */
10869
- lastPage: Function;
11023
+ lastPage: () => void;
10870
11024
  /**
10871
11025
  * Is table in fullscreen mode?
10872
11026
  */
@@ -10874,7 +11028,7 @@ export interface QTableSlots {
10874
11028
  /**
10875
11029
  * Toggles fullscreen mode
10876
11030
  */
10877
- toggleFullscreen: Function;
11031
+ toggleFullscreen: () => void;
10878
11032
  }) => VNode[];
10879
11033
  /**
10880
11034
  * Slot to define how the bottom will look like when is nothing to display
@@ -10934,7 +11088,12 @@ export interface QTable extends ComponentPublicInstance<QTableProps> {
10934
11088
  /**
10935
11089
  * Filtering method (the 'filter-method' prop)
10936
11090
  */
10937
- filter?: Function;
11091
+ filter?: (
11092
+ rows: any[],
11093
+ terms: string | LooseDictionary,
11094
+ cols: any[],
11095
+ getCellValue: (col: LooseDictionary, row: LooseDictionary) => any
11096
+ ) => any[];
10938
11097
  }) => void;
10939
11098
  /**
10940
11099
  * Unless using an external pagination Object (through 'v-model:pagination' prop), you can use this method and force the internal pagination to change
@@ -11157,7 +11316,7 @@ export interface QRouteTabProps {
11157
11316
  * @param evt JS event object; If you want to cancel navigation set synchronously 'evt.navigate' to false
11158
11317
  * @param navigateFn When you need to control the time at which the tab should trigger the route navigation then set 'evt.navigate' to false and call this function; Useful if you have async work to be done before the actual route navigation
11159
11318
  */
11160
- onClick?: (evt: LooseDictionary, navigateFn: Function) => void;
11319
+ onClick?: (evt: LooseDictionary, navigateFn: () => void) => void;
11161
11320
  }
11162
11321
 
11163
11322
  export interface QRouteTabSlots {
@@ -11413,7 +11572,7 @@ export interface QTimeProps {
11413
11572
  /**
11414
11573
  * 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
11415
11574
  */
11416
- options?: Function | undefined;
11575
+ options?: ((hr: number, min: number, sec: number) => void) | undefined;
11417
11576
  /**
11418
11577
  * Optionally configure what hours is the user allowed to set; Overrides 'options' prop if that is also set
11419
11578
  */
@@ -11918,6 +12077,10 @@ export interface QTreeProps {
11918
12077
  * Color name for selected nodes (from the Quasar Color Palette)
11919
12078
  */
11920
12079
  selectedColor?: string | undefined;
12080
+ /**
12081
+ * Dense mode; occupies less space
12082
+ */
12083
+ dense?: boolean | undefined;
11921
12084
  /**
11922
12085
  * Notify the component that the background is a dark color
11923
12086
  */
@@ -11959,7 +12122,9 @@ export interface QTreeProps {
11959
12122
  * The function to use to filter the tree nodes; For best performance, reference it from your scope and do not define it inline
11960
12123
  * Default value: (see source code)
11961
12124
  */
11962
- filterMethod?: Function | undefined;
12125
+ filterMethod?:
12126
+ | ((node: LooseDictionary, filter: string) => boolean)
12127
+ | undefined;
11963
12128
  /**
11964
12129
  * Toggle animation duration (in milliseconds)
11965
12130
  * Default value: 300
@@ -11994,11 +12159,11 @@ export interface QTreeProps {
11994
12159
  /**
11995
12160
  * The callback to be carried out when the loading is successful
11996
12161
  */
11997
- done: Function;
12162
+ done: (children: any[]) => void;
11998
12163
  /**
11999
12164
  * The callback to be carried out should the loading fails
12000
12165
  */
12001
- fail: Function;
12166
+ fail: () => void;
12002
12167
  }) => void;
12003
12168
  /**
12004
12169
  * Emitted when nodes are ticked/unticked via the checkbox; Used by Vue on 'v-model:ticked' to update its value
@@ -12214,21 +12379,21 @@ export interface QUploaderProps {
12214
12379
  /**
12215
12380
  * 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
12216
12381
  */
12217
- factory?: Function | undefined;
12382
+ factory?: ((files: any[]) => LooseDictionary | Promise<any>) | undefined;
12218
12383
  /**
12219
12384
  * 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
12220
12385
  */
12221
- url?: string | Function | undefined;
12386
+ url?: string | ((files: any[]) => string) | undefined;
12222
12387
  /**
12223
12388
  * 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
12224
12389
  * Default value: POST
12225
12390
  */
12226
- method?: "POST" | "PUT" | Function | undefined;
12391
+ method?: "POST" | "PUT" | ((files: any[]) => string) | undefined;
12227
12392
  /**
12228
12393
  * 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
12229
12394
  * Default value: (file) => file.name
12230
12395
  */
12231
- fieldName?: string | Function | undefined;
12396
+ fieldName?: string | ((files: File) => string) | undefined;
12232
12397
  /**
12233
12398
  * 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
12234
12399
  */
@@ -12243,7 +12408,7 @@ export interface QUploaderProps {
12243
12408
  */
12244
12409
  value: string;
12245
12410
  }[]
12246
- | Function
12411
+ | ((files: any[]) => string)
12247
12412
  | undefined;
12248
12413
  /**
12249
12414
  * 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
@@ -12259,20 +12424,20 @@ export interface QUploaderProps {
12259
12424
  */
12260
12425
  value: string;
12261
12426
  }[]
12262
- | Function
12427
+ | ((files: any[]) => string)
12263
12428
  | undefined;
12264
12429
  /**
12265
12430
  * 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
12266
12431
  */
12267
- withCredentials?: boolean | Function | undefined;
12432
+ withCredentials?: boolean | ((files: any[]) => boolean) | undefined;
12268
12433
  /**
12269
12434
  * 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
12270
12435
  */
12271
- sendRaw?: boolean | Function | undefined;
12436
+ sendRaw?: boolean | ((files: any[]) => boolean) | undefined;
12272
12437
  /**
12273
12438
  * 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
12274
12439
  */
12275
- batch?: boolean | Function | undefined;
12440
+ batch?: boolean | ((files: any[]) => boolean) | undefined;
12276
12441
  /**
12277
12442
  * Allow multiple file uploads
12278
12443
  */
@@ -12300,7 +12465,7 @@ export interface QUploaderProps {
12300
12465
  /**
12301
12466
  * 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
12302
12467
  */
12303
- filter?: Function | undefined;
12468
+ filter?: ((files: FileList | any[]) => any[]) | undefined;
12304
12469
  /**
12305
12470
  * Label for the uploader
12306
12471
  */
@@ -12550,7 +12715,7 @@ export interface QVirtualScrollProps {
12550
12715
  /**
12551
12716
  * 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
12552
12717
  */
12553
- itemsFn?: Function | undefined;
12718
+ itemsFn?: ((from: number, size: number) => any[]) | undefined;
12554
12719
  /**
12555
12720
  * CSS selector or DOM element to be used as a custom scroll container instead of the auto detected one
12556
12721
  */
@@ -12642,19 +12807,19 @@ export interface DialogChainObject {
12642
12807
  * @param callbackFn Tell what to do
12643
12808
  * @returns Chained Object
12644
12809
  */
12645
- onOk: (callbackFn: Function) => DialogChainObject;
12810
+ onOk: (callbackFn: (payload: any) => void) => DialogChainObject;
12646
12811
  /**
12647
12812
  * Receives a Function as param to tell what to do when Cancel is pressed / dialog is dismissed
12648
12813
  * @param callbackFn Tell what to do
12649
12814
  * @returns Chained Object
12650
12815
  */
12651
- onCancel: (callbackFn: Function) => DialogChainObject;
12816
+ onCancel: (callbackFn: () => void) => DialogChainObject;
12652
12817
  /**
12653
12818
  * Receives a Function param to tell what to do when the dialog is closed
12654
12819
  * @param callbackFn Tell what to do
12655
12820
  * @returns Chained Object
12656
12821
  */
12657
- onDismiss: (callbackFn: Function) => DialogChainObject;
12822
+ onDismiss: (callbackFn: () => void) => DialogChainObject;
12658
12823
  /**
12659
12824
  * Hides the dialog when called
12660
12825
  * @returns Chained Object
@@ -12665,7 +12830,7 @@ export interface DialogChainObject {
12665
12830
  * @param opts Props (except 'component') which will overwrite the initial create() params; If create() was invoked with a custom dialog component then this param should contain the new componentProps
12666
12831
  * @returns Chained Object
12667
12832
  */
12668
- update: (opts?: LooseDictionary) => DialogChainObject;
12833
+ update: (opts: LooseDictionary) => DialogChainObject;
12669
12834
  }
12670
12835
 
12671
12836
  import { CookiesGetMethodType } from "./api";
@@ -12711,7 +12876,7 @@ export interface QDialogOptions {
12711
12876
  /**
12712
12877
  * Is typed content valid?
12713
12878
  */
12714
- isValid?: Function;
12879
+ isValid?: (val: string) => boolean;
12715
12880
  /**
12716
12881
  * Attributes to pass to prompt control
12717
12882
  */
@@ -12781,7 +12946,7 @@ export interface QDialogOptions {
12781
12946
  /**
12782
12947
  * Is the model valid?
12783
12948
  */
12784
- isValid?: Function;
12949
+ isValid?: (model: string | any[]) => boolean;
12785
12950
  };
12786
12951
  /**
12787
12952
  * Display a Quasar spinner (if value is true, then the defaults are used); Useful for conveying the idea that something is happening behind the covers; Tip: use along with persistent, ok: false and update() method
@@ -12801,21 +12966,11 @@ export interface QDialogOptions {
12801
12966
  /**
12802
12967
  * Props for an 'OK' button
12803
12968
  */
12804
- ok?:
12805
- | string
12806
- | {
12807
- [index: string]: any;
12808
- }
12809
- | boolean;
12969
+ ok?: string | { [index: string]: any } | boolean;
12810
12970
  /**
12811
12971
  * Props for a 'CANCEL' button
12812
12972
  */
12813
- cancel?:
12814
- | string
12815
- | {
12816
- [index: string]: any;
12817
- }
12818
- | boolean;
12973
+ cancel?: string | { [index: string]: any } | boolean;
12819
12974
  /**
12820
12975
  * What button to focus, unless you also have 'prompt' or 'options'
12821
12976
  * Default value: ok
@@ -13089,7 +13244,7 @@ declare module "./globals" {
13089
13244
  /**
13090
13245
  * Function to call when notification gets dismissed
13091
13246
  */
13092
- onDismiss?: Function;
13247
+ onDismiss?: () => void;
13093
13248
  /**
13094
13249
  * Convenience way to add a dismiss button with a specific label, without using the 'actions' prop; If set to true, it uses a label accordding to the current Quasar language
13095
13250
  */
@@ -13104,7 +13259,85 @@ declare module "./globals" {
13104
13259
  ignoreDefaults?: boolean;
13105
13260
  }
13106
13261
  | string
13107
- ) => Function;
13262
+ ) => (props?: {
13263
+ /**
13264
+ * Optional type (that has been previously registered) or one of the out of the box ones ('positive', 'negative', 'warning', 'info', 'ongoing')
13265
+ */
13266
+ type?: string;
13267
+ /**
13268
+ * Color name for component from the Quasar Color Palette
13269
+ */
13270
+ color?: string;
13271
+ /**
13272
+ * Color name for component from the Quasar Color Palette
13273
+ */
13274
+ textColor?: string;
13275
+ /**
13276
+ * The content of your message
13277
+ */
13278
+ message?: string;
13279
+ /**
13280
+ * The content of your optional caption
13281
+ */
13282
+ caption?: string;
13283
+ /**
13284
+ * Render message as HTML; This can lead to XSS attacks, so make sure that you sanitize the message first
13285
+ */
13286
+ html?: boolean;
13287
+ /**
13288
+ * Icon name following Quasar convention; Make sure you have the icon library installed unless you are using 'img:' prefix
13289
+ */
13290
+ icon?: string;
13291
+ /**
13292
+ * URL to an avatar/image; Suggestion: use statics folder
13293
+ */
13294
+ avatar?: string;
13295
+ /**
13296
+ * Useful for notifications that are updated; Displays a Quasar spinner instead of an avatar or icon; If value is Boolean 'true' then the default QSpinner is shown
13297
+ */
13298
+ spinner?: boolean | Component;
13299
+ /**
13300
+ * Show progress bar to detail when notification will disappear automatically (unless timeout is 0)
13301
+ */
13302
+ progress?: boolean;
13303
+ /**
13304
+ * Class definitions to be attributed to the progress bar
13305
+ */
13306
+ progressClass?: any[] | string | LooseDictionary;
13307
+ /**
13308
+ * Add CSS class(es) to the notification for easier customization
13309
+ */
13310
+ classes?: string;
13311
+ /**
13312
+ * Key-value for attributes to be set on the notification
13313
+ */
13314
+ attrs?: LooseDictionary;
13315
+ /**
13316
+ * Amount of time to display (in milliseconds)
13317
+ * Default value: 5000
13318
+ */
13319
+ timeout?: number;
13320
+ /**
13321
+ * Notification actions (buttons); If a 'handler' is specified or not, clicking/tapping on the button will also close the notification; Also check 'closeBtn' convenience prop
13322
+ */
13323
+ actions?: any[];
13324
+ /**
13325
+ * Function to call when notification gets dismissed
13326
+ */
13327
+ onDismiss?: () => void;
13328
+ /**
13329
+ * Convenience way to add a dismiss button with a specific label, without using the 'actions' prop; If set to true, it uses a label accordding to the current Quasar language
13330
+ */
13331
+ closeBtn?: boolean | string;
13332
+ /**
13333
+ * Put notification into multi-line mode; If this prop isn't used and more than one 'action' is specified then notification goes into multi-line mode by default
13334
+ */
13335
+ multiLine?: boolean;
13336
+ /**
13337
+ * Ignore the default configuration (set by setDefaults()) for this instance only
13338
+ */
13339
+ ignoreDefaults?: boolean;
13340
+ }) => void;
13108
13341
  platform: Platform;
13109
13342
  screen: Screen;
13110
13343
  sessionStorage: SessionStorage;