quasar 2.15.2 → 2.15.4

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 (665) hide show
  1. package/dist/api/AddressbarColor.json +1 -1
  2. package/dist/api/AppFullscreen.json +1 -1
  3. package/dist/api/BottomSheet.json +1 -1
  4. package/dist/api/Cookies.json +1 -1
  5. package/dist/api/Dark.json +1 -1
  6. package/dist/api/Dialog.json +1 -1
  7. package/dist/api/IconSet.json +1 -0
  8. package/dist/api/Lang.json +1 -1
  9. package/dist/api/Loading.json +1 -1
  10. package/dist/api/LoadingBar.json +1 -1
  11. package/dist/api/LocalStorage.json +1 -1
  12. package/dist/api/Morph.json +1 -1
  13. package/dist/api/Notify.json +1 -1
  14. package/dist/api/Platform.json +1 -1
  15. package/dist/api/QAjaxBar.json +1 -1
  16. package/dist/api/QBreadcrumbsEl.json +1 -1
  17. package/dist/api/QBtn.json +1 -1
  18. package/dist/api/QBtnDropdown.json +1 -1
  19. package/dist/api/QBtnToggle.json +1 -1
  20. package/dist/api/QCard.json +1 -1
  21. package/dist/api/QCardSection.json +1 -1
  22. package/dist/api/QCarousel.json +1 -1
  23. package/dist/api/QCarouselControl.json +1 -1
  24. package/dist/api/QCheckbox.json +1 -1
  25. package/dist/api/QChip.json +1 -1
  26. package/dist/api/QDate.json +1 -1
  27. package/dist/api/QDialog.json +1 -1
  28. package/dist/api/QDrawer.json +1 -1
  29. package/dist/api/QEditor.json +1 -1
  30. package/dist/api/QExpansionItem.json +1 -1
  31. package/dist/api/QFab.json +1 -1
  32. package/dist/api/QFabAction.json +1 -1
  33. package/dist/api/QField.json +1 -1
  34. package/dist/api/QFile.json +1 -1
  35. package/dist/api/QForm.json +1 -1
  36. package/dist/api/QFormChildMixin.json +1 -1
  37. package/dist/api/QIcon.json +1 -1
  38. package/dist/api/QInfiniteScroll.json +1 -1
  39. package/dist/api/QInput.json +1 -1
  40. package/dist/api/QIntersection.json +1 -1
  41. package/dist/api/QItem.json +1 -1
  42. package/dist/api/QList.json +1 -1
  43. package/dist/api/QMenu.json +1 -1
  44. package/dist/api/QNoSsr.json +1 -1
  45. package/dist/api/QOptionGroup.json +1 -1
  46. package/dist/api/QPageScroller.json +1 -1
  47. package/dist/api/QPageSticky.json +1 -1
  48. package/dist/api/QPagination.json +1 -1
  49. package/dist/api/QParallax.json +1 -1
  50. package/dist/api/QPopupEdit.json +1 -1
  51. package/dist/api/QPopupProxy.json +1 -1
  52. package/dist/api/QPullToRefresh.json +1 -1
  53. package/dist/api/QRadio.json +1 -1
  54. package/dist/api/QRating.json +1 -1
  55. package/dist/api/QResizeObserver.json +1 -1
  56. package/dist/api/QScrollArea.json +1 -1
  57. package/dist/api/QScrollObserver.json +1 -1
  58. package/dist/api/QSelect.json +1 -1
  59. package/dist/api/QSkeleton.json +1 -1
  60. package/dist/api/QSlideItem.json +1 -1
  61. package/dist/api/QSplitter.json +1 -1
  62. package/dist/api/QStepper.json +1 -1
  63. package/dist/api/QTabPanel.json +1 -1
  64. package/dist/api/QTabPanels.json +1 -1
  65. package/dist/api/QTable.json +1 -1
  66. package/dist/api/QTime.json +1 -1
  67. package/dist/api/QTimelineEntry.json +1 -1
  68. package/dist/api/QToggle.json +1 -1
  69. package/dist/api/QTooltip.json +1 -1
  70. package/dist/api/QTree.json +1 -1
  71. package/dist/api/QUploader.json +1 -1
  72. package/dist/api/QVirtualScroll.json +1 -1
  73. package/dist/api/Ripple.json +1 -1
  74. package/dist/api/Screen.json +1 -1
  75. package/dist/api/ScrollFire.json +1 -1
  76. package/dist/api/SessionStorage.json +1 -1
  77. package/dist/icon-set/bootstrap-icons.umd.prod.js +2 -2
  78. package/dist/icon-set/eva-icons.umd.prod.js +2 -2
  79. package/dist/icon-set/fontawesome-v5-pro.umd.prod.js +2 -2
  80. package/dist/icon-set/fontawesome-v5.umd.prod.js +2 -2
  81. package/dist/icon-set/fontawesome-v6-pro.umd.prod.js +2 -2
  82. package/dist/icon-set/fontawesome-v6.umd.prod.js +2 -2
  83. package/dist/icon-set/ionicons-v4.umd.prod.js +2 -2
  84. package/dist/icon-set/line-awesome.umd.prod.js +2 -2
  85. package/dist/icon-set/material-icons-outlined.umd.prod.js +2 -2
  86. package/dist/icon-set/material-icons-round.umd.prod.js +2 -2
  87. package/dist/icon-set/material-icons-sharp.umd.prod.js +2 -2
  88. package/dist/icon-set/material-icons.umd.prod.js +2 -2
  89. package/dist/icon-set/material-symbols-outlined.umd.prod.js +2 -2
  90. package/dist/icon-set/material-symbols-rounded.umd.prod.js +2 -2
  91. package/dist/icon-set/material-symbols-sharp.umd.prod.js +2 -2
  92. package/dist/icon-set/mdi-v3.umd.prod.js +2 -2
  93. package/dist/icon-set/mdi-v4.umd.prod.js +2 -2
  94. package/dist/icon-set/mdi-v5.umd.prod.js +2 -2
  95. package/dist/icon-set/mdi-v6.umd.prod.js +2 -2
  96. package/dist/icon-set/mdi-v7.umd.prod.js +2 -2
  97. package/dist/icon-set/svg-bootstrap-icons.umd.prod.js +2 -2
  98. package/dist/icon-set/svg-eva-icons.umd.prod.js +2 -2
  99. package/dist/icon-set/svg-fontawesome-v5.umd.prod.js +2 -2
  100. package/dist/icon-set/svg-fontawesome-v6.umd.prod.js +2 -2
  101. package/dist/icon-set/svg-ionicons-v4.umd.prod.js +2 -2
  102. package/dist/icon-set/svg-ionicons-v5.umd.prod.js +2 -2
  103. package/dist/icon-set/svg-ionicons-v6.umd.prod.js +2 -2
  104. package/dist/icon-set/svg-line-awesome.umd.prod.js +2 -2
  105. package/dist/icon-set/svg-material-icons-outlined.umd.prod.js +2 -2
  106. package/dist/icon-set/svg-material-icons-round.umd.prod.js +2 -2
  107. package/dist/icon-set/svg-material-icons-sharp.umd.prod.js +2 -2
  108. package/dist/icon-set/svg-material-icons.umd.prod.js +2 -2
  109. package/dist/icon-set/svg-material-symbols-outlined.umd.prod.js +2 -2
  110. package/dist/icon-set/svg-material-symbols-rounded.umd.prod.js +2 -2
  111. package/dist/icon-set/svg-material-symbols-sharp.umd.prod.js +2 -2
  112. package/dist/icon-set/svg-mdi-v6.umd.prod.js +2 -2
  113. package/dist/icon-set/svg-mdi-v7.umd.prod.js +2 -2
  114. package/dist/icon-set/svg-themify.umd.prod.js +2 -2
  115. package/dist/icon-set/themify.umd.prod.js +2 -2
  116. package/dist/lang/ar-TN.umd.prod.js +2 -2
  117. package/dist/lang/ar.umd.prod.js +2 -2
  118. package/dist/lang/az-Latn.umd.prod.js +2 -2
  119. package/dist/lang/bg.umd.prod.js +2 -2
  120. package/dist/lang/bn.umd.prod.js +2 -2
  121. package/dist/lang/ca.umd.prod.js +2 -2
  122. package/dist/lang/cs.umd.prod.js +2 -2
  123. package/dist/lang/da.umd.prod.js +2 -2
  124. package/dist/lang/de-CH.umd.prod.js +2 -2
  125. package/dist/lang/de-DE.umd.prod.js +2 -2
  126. package/dist/lang/de.umd.prod.js +2 -2
  127. package/dist/lang/el.umd.prod.js +2 -2
  128. package/dist/lang/en-GB.umd.prod.js +2 -2
  129. package/dist/lang/en-US.umd.prod.js +2 -2
  130. package/dist/lang/eo.umd.prod.js +2 -2
  131. package/dist/lang/es.umd.prod.js +2 -2
  132. package/dist/lang/et.umd.prod.js +2 -2
  133. package/dist/lang/eu.umd.prod.js +2 -2
  134. package/dist/lang/fa-IR.umd.prod.js +2 -2
  135. package/dist/lang/fa.umd.prod.js +2 -2
  136. package/dist/lang/fi.umd.prod.js +2 -2
  137. package/dist/lang/fr.umd.prod.js +2 -2
  138. package/dist/lang/gn.umd.prod.js +2 -2
  139. package/dist/lang/he.umd.prod.js +2 -2
  140. package/dist/lang/hi.umd.prod.js +2 -2
  141. package/dist/lang/hr.umd.prod.js +2 -2
  142. package/dist/lang/hu.umd.prod.js +2 -2
  143. package/dist/lang/id.umd.prod.js +2 -2
  144. package/dist/lang/is.umd.prod.js +2 -2
  145. package/dist/lang/it.umd.prod.js +2 -2
  146. package/dist/lang/ja.umd.prod.js +2 -2
  147. package/dist/lang/kk.umd.prod.js +2 -2
  148. package/dist/lang/km.umd.prod.js +2 -2
  149. package/dist/lang/ko-KR.umd.prod.js +2 -2
  150. package/dist/lang/kur-CKB.umd.prod.js +2 -2
  151. package/dist/lang/lt.umd.prod.js +2 -2
  152. package/dist/lang/lu.umd.prod.js +2 -2
  153. package/dist/lang/lv.umd.prod.js +2 -2
  154. package/dist/lang/mk.umd.prod.js +2 -2
  155. package/dist/lang/ml.umd.prod.js +2 -2
  156. package/dist/lang/mm.umd.prod.js +2 -2
  157. package/dist/lang/ms-MY.umd.prod.js +2 -2
  158. package/dist/lang/ms.umd.prod.js +2 -2
  159. package/dist/lang/my.umd.prod.js +2 -2
  160. package/dist/lang/nb-NO.umd.prod.js +2 -2
  161. package/dist/lang/nl.umd.prod.js +2 -2
  162. package/dist/lang/pl.umd.prod.js +2 -2
  163. package/dist/lang/pt-BR.umd.prod.js +2 -2
  164. package/dist/lang/pt.umd.prod.js +2 -2
  165. package/dist/lang/ro.umd.prod.js +2 -2
  166. package/dist/lang/ru.umd.prod.js +2 -2
  167. package/dist/lang/sk.umd.prod.js +2 -2
  168. package/dist/lang/sl.umd.prod.js +2 -2
  169. package/dist/lang/sm.umd.prod.js +2 -2
  170. package/dist/lang/sr-CYR.umd.prod.js +2 -2
  171. package/dist/lang/sr.umd.prod.js +2 -2
  172. package/dist/lang/sv.umd.prod.js +2 -2
  173. package/dist/lang/ta.umd.prod.js +2 -2
  174. package/dist/lang/th.umd.prod.js +2 -2
  175. package/dist/lang/tl.umd.prod.js +2 -2
  176. package/dist/lang/tr.umd.prod.js +2 -2
  177. package/dist/lang/ug.umd.prod.js +2 -2
  178. package/dist/lang/uk.umd.prod.js +2 -2
  179. package/dist/lang/uz-Cyrl.umd.prod.js +2 -2
  180. package/dist/lang/uz-Latn.umd.prod.js +2 -2
  181. package/dist/lang/vi.umd.prod.js +2 -2
  182. package/dist/lang/zh-CN.umd.prod.js +2 -2
  183. package/dist/lang/zh-TW.umd.prod.js +2 -2
  184. package/dist/quasar.addon.prod.css +1 -1
  185. package/dist/quasar.addon.rtl.prod.css +1 -1
  186. package/dist/quasar.cjs.prod.js +12 -12
  187. package/dist/quasar.esm.js +571 -523
  188. package/dist/quasar.esm.prod.js +17 -17
  189. package/dist/quasar.prod.css +1 -1
  190. package/dist/quasar.rtl.prod.css +1 -1
  191. package/dist/quasar.sass +1 -1
  192. package/dist/quasar.umd.js +558 -509
  193. package/dist/quasar.umd.prod.js +22 -22
  194. package/dist/transforms/api-list.json +1 -1
  195. package/dist/transforms/import-map.json +1 -1
  196. package/dist/types/config.d.ts +3 -3
  197. package/dist/types/globals.d.ts +1 -1
  198. package/dist/types/index.d.ts +1921 -102
  199. package/dist/vetur/quasar-attributes.json +1 -1
  200. package/dist/vetur/quasar-tags.json +1 -1
  201. package/dist/web-types/web-types.json +1 -1
  202. package/lang/uk.js +1 -1
  203. package/lang/uk.mjs +1 -1
  204. package/package.json +18 -17
  205. package/src/api.extends.json +7 -5
  206. package/src/components/ajax-bar/QAjaxBar.js +2 -2
  207. package/src/components/ajax-bar/QAjaxBar.json +1 -0
  208. package/src/components/avatar/QAvatar.js +3 -3
  209. package/src/components/avatar/QAvatar.json +1 -1
  210. package/src/components/avatar/QAvatar.test.js +169 -83
  211. package/src/components/badge/QBadge.js +2 -2
  212. package/src/components/badge/QBadge.test.js +200 -100
  213. package/src/components/banner/QBanner.js +3 -3
  214. package/src/components/banner/QBanner.test.js +88 -50
  215. package/src/components/bar/QBar.js +3 -3
  216. package/src/components/bar/QBar.test.js +44 -19
  217. package/src/components/breadcrumbs/QBreadcrumbs.js +6 -4
  218. package/src/components/breadcrumbs/QBreadcrumbs.test.js +134 -59
  219. package/src/components/breadcrumbs/QBreadcrumbsEl.js +3 -3
  220. package/src/components/breadcrumbs/QBreadcrumbsEl.json +1 -1
  221. package/src/components/breadcrumbs/QBreadcrumbsEl.test.js +491 -61
  222. package/src/components/btn/QBtn.js +11 -5
  223. package/src/components/btn/QBtn.json +2 -1
  224. package/src/components/btn/QBtn.test.js +1391 -212
  225. package/src/components/btn/use-btn.js +8 -6
  226. package/src/components/btn/use-btn.json +1 -1
  227. package/src/components/btn/use-btn.test.js +86 -542
  228. package/src/components/btn-dropdown/QBtnDropdown.js +9 -10
  229. package/src/components/btn-dropdown/QBtnDropdown.json +3 -3
  230. package/src/components/btn-group/QBtnGroup.js +2 -2
  231. package/src/components/btn-toggle/QBtnToggle.js +3 -3
  232. package/src/components/btn-toggle/QBtnToggle.json +2 -2
  233. package/src/components/card/QCard.js +3 -3
  234. package/src/components/card/QCardActions.js +3 -3
  235. package/src/components/card/QCardSection.js +2 -2
  236. package/src/components/carousel/QCarousel.js +6 -6
  237. package/src/components/carousel/QCarousel.json +1 -1
  238. package/src/components/carousel/QCarouselControl.js +2 -2
  239. package/src/components/carousel/QCarouselControl.json +1 -1
  240. package/src/components/carousel/QCarouselSlide.js +3 -3
  241. package/src/components/carousel/QCarouselSlide.json +1 -1
  242. package/src/components/chat/QChatMessage.js +2 -2
  243. package/src/components/checkbox/QCheckbox.js +1 -1
  244. package/src/components/checkbox/use-checkbox.js +8 -8
  245. package/src/components/checkbox/use-checkbox.json +5 -3
  246. package/src/components/chip/QChip.js +6 -5
  247. package/src/components/chip/QChip.json +4 -0
  248. package/src/components/chip/QChip.test.js +685 -317
  249. package/src/components/circular-progress/QCircularProgress.js +5 -5
  250. package/src/components/circular-progress/QCircularProgress.json +1 -1
  251. package/src/components/circular-progress/{use-circular-progress.js → circular-progress.js} +1 -1
  252. package/src/components/circular-progress/circular-progress.test.js +14 -0
  253. package/src/components/color/QColor.js +10 -10
  254. package/src/components/color/QColor.json +1 -1
  255. package/src/components/date/QDate.js +9 -9
  256. package/src/components/date/QDate.json +17 -11
  257. package/src/components/date/use-datetime.js +2 -2
  258. package/src/components/date/use-datetime.json +6 -6
  259. package/src/components/dialog/QDialog.js +33 -22
  260. package/src/components/dialog/QDialog.json +5 -3
  261. package/src/components/dialog/QDialog.test.js +1094 -220
  262. package/src/components/drawer/QDrawer.js +9 -9
  263. package/src/components/drawer/QDrawer.json +7 -4
  264. package/src/components/editor/QEditor.js +9 -9
  265. package/src/components/editor/QEditor.json +11 -5
  266. package/src/components/editor/editor-caret.js +1 -1
  267. package/src/components/editor/editor-utils.js +3 -3
  268. package/src/components/expansion-item/QExpansionItem.js +9 -9
  269. package/src/components/expansion-item/QExpansionItem.json +2 -2
  270. package/src/components/fab/QFab.js +5 -5
  271. package/src/components/fab/QFab.json +1 -1
  272. package/src/components/fab/QFabAction.js +4 -4
  273. package/src/components/fab/QFabAction.json +2 -1
  274. package/src/components/fab/use-fab.json +1 -1
  275. package/src/components/field/QField.js +2 -2
  276. package/src/components/field/QField.json +7 -3
  277. package/src/components/file/QFile.js +9 -9
  278. package/src/components/file/QFile.json +11 -4
  279. package/src/components/footer/QFooter.js +3 -3
  280. package/src/components/form/QForm.js +6 -6
  281. package/src/components/form/QForm.json +11 -4
  282. package/src/components/form/QFormChildMixin.js +2 -2
  283. package/src/components/form/QFormChildMixin.json +4 -1
  284. package/src/components/header/QHeader.js +3 -3
  285. package/src/components/icon/QIcon.js +3 -3
  286. package/src/components/icon/QIcon.json +1 -1
  287. package/src/components/img/QImg.js +5 -5
  288. package/src/components/img/QImg.json +1 -1
  289. package/src/components/infinite-scroll/QInfiniteScroll.js +6 -6
  290. package/src/components/infinite-scroll/QInfiniteScroll.json +20 -7
  291. package/src/components/inner-loading/QInnerLoading.js +3 -3
  292. package/src/components/inner-loading/QInnerLoading.json +1 -1
  293. package/src/components/input/QInput.js +9 -9
  294. package/src/components/input/QInput.json +16 -5
  295. package/src/components/input/use-mask.js +1 -1
  296. package/src/components/intersection/QIntersection.js +2 -2
  297. package/src/components/item/QItem.js +6 -6
  298. package/src/components/item/QItem.json +1 -1
  299. package/src/components/item/QItemLabel.js +2 -2
  300. package/src/components/item/QItemSection.js +2 -2
  301. package/src/components/item/QList.js +3 -3
  302. package/src/components/knob/QKnob.js +6 -6
  303. package/src/components/knob/QKnob.json +1 -1
  304. package/src/components/layout/QLayout.js +4 -4
  305. package/src/components/linear-progress/QLinearProgress.js +4 -4
  306. package/src/components/linear-progress/QLinearProgress.json +1 -1
  307. package/src/components/markup-table/QMarkupTable.js +3 -3
  308. package/src/components/menu/QMenu.js +20 -20
  309. package/src/components/menu/QMenu.json +8 -4
  310. package/src/components/no-ssr/QNoSsr.js +3 -3
  311. package/src/components/option-group/QOptionGroup.js +2 -2
  312. package/src/components/option-group/QOptionGroup.json +4 -4
  313. package/src/components/page/QPage.js +3 -3
  314. package/src/components/page/QPageContainer.js +3 -3
  315. package/src/components/page-scroller/QPageScroller.js +2 -2
  316. package/src/components/page-sticky/QPageSticky.js +1 -1
  317. package/src/components/page-sticky/QPageSticky.json +1 -1
  318. package/src/components/page-sticky/use-page-sticky.js +2 -2
  319. package/src/components/pagination/QPagination.js +4 -4
  320. package/src/components/pagination/QPagination.json +5 -3
  321. package/src/components/parallax/QParallax.js +6 -6
  322. package/src/components/popup-edit/QPopupEdit.js +4 -4
  323. package/src/components/popup-edit/QPopupEdit.json +30 -14
  324. package/src/components/popup-proxy/QPopupProxy.js +3 -3
  325. package/src/components/popup-proxy/QPopupProxy.json +9 -5
  326. package/src/components/pull-to-refresh/QPullToRefresh.js +5 -5
  327. package/src/components/pull-to-refresh/QPullToRefresh.json +6 -2
  328. package/src/components/radio/QRadio.js +9 -9
  329. package/src/components/radio/QRadio.json +4 -2
  330. package/src/components/range/QRange.js +3 -3
  331. package/src/components/rating/QRating.js +6 -6
  332. package/src/components/rating/QRating.json +2 -2
  333. package/src/components/resize-observer/QResizeObserver.js +3 -3
  334. package/src/components/resize-observer/QResizeObserver.json +2 -1
  335. package/src/components/responsive/QResponsive.js +3 -3
  336. package/src/components/responsive/QResponsive.json +1 -1
  337. package/src/components/scroll-area/QScrollArea.js +6 -6
  338. package/src/components/scroll-area/QScrollArea.json +8 -2
  339. package/src/components/scroll-observer/QScrollObserver.js +3 -3
  340. package/src/components/scroll-observer/QScrollObserver.json +5 -2
  341. package/src/components/select/QSelect.js +10 -10
  342. package/src/components/select/QSelect.json +38 -17
  343. package/src/components/separator/QSeparator.js +2 -2
  344. package/src/components/skeleton/QSkeleton.js +3 -3
  345. package/src/components/slide-item/QSlideItem.js +4 -4
  346. package/src/components/slide-item/QSlideItem.json +3 -1
  347. package/src/components/slide-transition/QSlideTransition.js +1 -1
  348. package/src/components/slider/QSlider.js +4 -4
  349. package/src/components/slider/use-slider.js +6 -6
  350. package/src/components/slider/use-slider.json +1 -1
  351. package/src/components/space/QSpace.js +1 -1
  352. package/src/components/space/QSpace.test.js +17 -0
  353. package/src/components/spinner/QSpinner.js +1 -1
  354. package/src/components/spinner/QSpinner.json +1 -1
  355. package/src/components/spinner/QSpinnerAudio.js +1 -1
  356. package/src/components/spinner/QSpinnerBall.js +1 -1
  357. package/src/components/spinner/QSpinnerBars.js +1 -1
  358. package/src/components/spinner/QSpinnerBox.js +1 -1
  359. package/src/components/spinner/QSpinnerClock.js +1 -1
  360. package/src/components/spinner/QSpinnerComment.js +1 -1
  361. package/src/components/spinner/QSpinnerCube.js +1 -1
  362. package/src/components/spinner/QSpinnerDots.js +1 -1
  363. package/src/components/spinner/QSpinnerFacebook.js +1 -1
  364. package/src/components/spinner/QSpinnerGears.js +1 -1
  365. package/src/components/spinner/QSpinnerGrid.js +1 -1
  366. package/src/components/spinner/QSpinnerHearts.js +1 -1
  367. package/src/components/spinner/QSpinnerHourglass.js +1 -1
  368. package/src/components/spinner/QSpinnerInfinity.js +1 -1
  369. package/src/components/spinner/QSpinnerIos.js +1 -1
  370. package/src/components/spinner/QSpinnerOrbit.js +1 -1
  371. package/src/components/spinner/QSpinnerOval.js +1 -1
  372. package/src/components/spinner/QSpinnerPie.js +1 -1
  373. package/src/components/spinner/QSpinnerPuff.js +1 -1
  374. package/src/components/spinner/QSpinnerRadio.js +1 -1
  375. package/src/components/spinner/QSpinnerRings.js +1 -1
  376. package/src/components/spinner/QSpinnerTail.js +1 -1
  377. package/src/components/spinner/spinner.json +1 -1
  378. package/src/components/spinner/use-spinner.js +1 -1
  379. package/src/components/splitter/QSplitter.js +3 -3
  380. package/src/components/splitter/QSplitter.json +4 -4
  381. package/src/components/stepper/QStep.js +5 -5
  382. package/src/components/stepper/QStep.json +1 -1
  383. package/src/components/stepper/QStepper.js +5 -5
  384. package/src/components/stepper/QStepper.json +1 -1
  385. package/src/components/stepper/QStepperNavigation.js +2 -2
  386. package/src/components/stepper/StepHeader.js +1 -1
  387. package/src/components/tab-panels/QTabPanel.js +3 -3
  388. package/src/components/tab-panels/QTabPanel.json +1 -7
  389. package/src/components/tab-panels/QTabPanels.js +4 -4
  390. package/src/components/tab-panels/QTabPanels.json +1 -1
  391. package/src/components/table/QTable.js +7 -7
  392. package/src/components/table/QTable.json +41 -22
  393. package/src/components/table/QTd.js +2 -2
  394. package/src/components/table/QTh.js +2 -2
  395. package/src/components/table/QTr.js +2 -2
  396. package/src/components/table/table-column-selection.js +1 -1
  397. package/src/components/table/table-sort.js +2 -2
  398. package/src/components/tabs/QRouteTab.js +2 -2
  399. package/src/components/tabs/QRouteTab.json +1 -1
  400. package/src/components/tabs/QTab.js +1 -1
  401. package/src/components/tabs/QTabs.js +6 -6
  402. package/src/components/tabs/use-tab.js +6 -6
  403. package/src/components/time/QTime.js +8 -8
  404. package/src/components/time/QTime.json +5 -3
  405. package/src/components/timeline/QTimeline.js +4 -4
  406. package/src/components/timeline/QTimelineEntry.js +3 -3
  407. package/src/components/toggle/QToggle.js +1 -1
  408. package/src/components/toolbar/QToolbar.js +2 -2
  409. package/src/components/toolbar/QToolbar.test.js +45 -0
  410. package/src/components/toolbar/QToolbarTitle.js +2 -2
  411. package/src/components/toolbar/QToolbarTitle.test.js +45 -0
  412. package/src/components/tooltip/QTooltip.js +15 -15
  413. package/src/components/tooltip/QTooltip.json +6 -5
  414. package/src/components/tree/QTree.js +5 -5
  415. package/src/components/tree/QTree.json +12 -4
  416. package/src/components/uploader/QUploader.js +1 -1
  417. package/src/components/uploader/QUploader.json +25 -10
  418. package/src/components/uploader/QUploaderAddTrigger.js +2 -2
  419. package/src/components/uploader/uploader-core.js +8 -8
  420. package/src/components/uploader/xhr-uploader-plugin.js +3 -1
  421. package/src/components/uploader/xhr-uploader-plugin.json +9 -9
  422. package/src/components/video/QVideo.js +2 -2
  423. package/src/components/video/QVideo.json +1 -1
  424. package/src/components/video/QVideo.test.js +183 -0
  425. package/src/components/virtual-scroll/QVirtualScroll.js +4 -4
  426. package/src/components/virtual-scroll/QVirtualScroll.json +1 -0
  427. package/src/components/virtual-scroll/use-virtual-scroll.js +3 -3
  428. package/src/components/virtual-scroll/use-virtual-scroll.json +7 -3
  429. package/src/composables/private.use-align/use-align.test.js +62 -0
  430. package/src/composables/{private → private.use-anchor}/use-anchor.js +3 -3
  431. package/src/composables/{private → private.use-anchor}/use-anchor.json +0 -1
  432. package/src/composables/private.use-dark/use-dark.test.js +68 -0
  433. package/src/composables/{private → private.use-field}/use-field.js +8 -8
  434. package/src/composables/{private → private.use-field}/use-field.json +7 -10
  435. package/src/composables/{private → private.use-file}/use-file.js +1 -1
  436. package/src/composables/{private → private.use-file}/use-file.json +4 -2
  437. package/src/composables/{private → private.use-fullscreen}/use-fullscreen.js +2 -2
  438. package/src/composables/{private → private.use-fullscreen}/use-fullscreen.json +9 -3
  439. package/src/composables/{private → private.use-history}/use-history.js +1 -1
  440. package/src/composables/private.use-history/use-history.test.js +116 -0
  441. package/src/composables/{private → private.use-model-toggle}/use-model-toggle.js +1 -1
  442. package/src/composables/{private → private.use-panel}/use-panel.js +3 -3
  443. package/src/composables/{private → private.use-panel}/use-panel.json +10 -5
  444. package/src/composables/{private → private.use-portal}/use-portal.js +6 -6
  445. package/src/composables/{private → private.use-prevent-scroll}/use-prevent-scroll.js +1 -1
  446. package/src/composables/private.use-ratio/use-ratio.test.js +40 -0
  447. package/src/composables/{private → private.use-router-link}/use-router-link.js +1 -1
  448. package/src/composables/{private → private.use-scroll-target}/use-scroll-target.js +2 -5
  449. package/src/composables/private.use-size/use-size.test.js +40 -0
  450. package/src/composables/private.use-transition/use-transition.test.js +118 -0
  451. package/src/composables/{private → private.use-validate}/use-validate.js +4 -4
  452. package/src/composables/{private → private.use-validate}/use-validate.json +3 -1
  453. package/src/composables/{use-dialog-plugin-component.js → use-dialog-plugin-component/use-dialog-plugin-component.js} +2 -4
  454. package/src/composables/use-form/private.use-form.test.js +107 -0
  455. package/src/composables/{use-form-child.js → use-form/use-form-child.js} +1 -1
  456. package/src/composables/{use-hydration.js → use-hydration/use-hydration.js} +1 -1
  457. package/src/composables/use-hydration/use-hydration.test.js +27 -0
  458. package/src/composables/{use-id.js → use-id/use-id.js} +2 -2
  459. package/src/composables/use-id/use-id.test.js +72 -0
  460. package/src/composables/{use-interval.js → use-interval/use-interval.js} +1 -1
  461. package/src/composables/use-interval/use-interval.test.js +173 -0
  462. package/src/composables/{use-meta.js → use-meta/use-meta.js} +1 -1
  463. package/src/composables/{use-quasar.js → use-quasar/use-quasar.js} +2 -1
  464. package/src/composables/use-quasar/use-quasar.test.js +35 -0
  465. package/src/composables/{use-render-cache.js → use-render-cache/use-render-cache.js} +2 -2
  466. package/src/composables/use-render-cache/use-render-cache.test.js +73 -0
  467. package/src/composables/use-split-attrs/use-split-attrs.test.js +55 -0
  468. package/src/composables/{use-tick.js → use-tick/use-tick.js} +1 -1
  469. package/src/composables/use-tick/use-tick.test.js +118 -0
  470. package/src/composables/{use-timeout.js → use-timeout/use-timeout.js} +1 -1
  471. package/src/composables/use-timeout/use-timeout.test.js +169 -0
  472. package/src/composables.js +11 -11
  473. package/src/css/index.sass +1 -1
  474. package/src/directives/close-popup/ClosePopup.js +4 -4
  475. package/src/directives/intersection/Intersection.js +3 -3
  476. package/src/directives/morph/Morph.js +2 -2
  477. package/src/directives/morph/Morph.json +1 -1
  478. package/src/directives/mutation/Mutation.js +2 -2
  479. package/src/directives/ripple/Ripple.js +6 -6
  480. package/src/directives/ripple/Ripple.json +2 -2
  481. package/src/directives/ripple/Ripple.test.js +340 -0
  482. package/src/directives/scroll/Scroll.js +4 -4
  483. package/src/directives/scroll-fire/ScrollFire.js +6 -6
  484. package/src/directives/scroll-fire/ScrollFire.json +1 -1
  485. package/src/directives/touch-hold/TouchHold.js +4 -4
  486. package/src/directives/touch-pan/TouchPan.js +5 -5
  487. package/src/directives/touch-repeat/TouchRepeat.js +5 -5
  488. package/src/directives/touch-swipe/TouchSwipe.js +5 -5
  489. package/src/index.dev.js +10 -4
  490. package/src/index.prod.js +11 -4
  491. package/src/index.ssr.js +11 -4
  492. package/src/index.umd.js +12 -4
  493. package/src/install-quasar.js +14 -9
  494. package/src/plugins/addressbar/AddressbarColor.js +2 -2
  495. package/src/plugins/addressbar/AddressbarColor.json +2 -1
  496. package/src/plugins/addressbar/AddressbarColor.test.js +53 -0
  497. package/src/plugins/app-fullscreen/AppFullscreen.js +3 -3
  498. package/src/plugins/app-fullscreen/AppFullscreen.json +4 -1
  499. package/src/plugins/app-fullscreen/AppFullscreen.test.js +206 -0
  500. package/src/plugins/app-fullscreen/test/mock-fullscreen.js +43 -0
  501. package/src/plugins/app-visibility/AppVisibility.js +3 -3
  502. package/src/plugins/app-visibility/AppVisibility.test.js +45 -0
  503. package/src/plugins/bottom-sheet/BottomSheet.js +2 -5
  504. package/src/plugins/bottom-sheet/BottomSheet.json +1 -1
  505. package/src/plugins/bottom-sheet/component/BottomSheetComponent.js +2 -2
  506. package/src/plugins/cookies/Cookies.json +5 -2
  507. package/src/plugins/dark/Dark.js +2 -2
  508. package/src/plugins/dark/Dark.json +5 -2
  509. package/src/plugins/dark/Dark.test.js +158 -0
  510. package/src/plugins/dialog/Dialog.js +2 -5
  511. package/src/plugins/dialog/Dialog.json +3 -3
  512. package/src/plugins/dialog/component/DialogPluginComponent.js +4 -4
  513. package/src/{icon-set.js → plugins/icon-set/IconSet.js} +29 -10
  514. package/src/plugins/icon-set/IconSet.json +1417 -0
  515. package/src/plugins/icon-set/IconSet.test.js +346 -0
  516. package/src/{lang.js → plugins/lang/Lang.js} +25 -15
  517. package/src/plugins/lang/Lang.json +1100 -0
  518. package/src/plugins/lang/Lang.test.js +267 -0
  519. package/src/plugins/loading/Loading.js +5 -5
  520. package/src/plugins/loading/Loading.json +4 -2
  521. package/src/plugins/loading-bar/LoadingBar.js +5 -5
  522. package/src/plugins/loading-bar/LoadingBar.json +9 -4
  523. package/src/plugins/meta/Meta.js +1 -1
  524. package/src/plugins/notify/Notify.js +4 -4
  525. package/src/plugins/notify/Notify.json +8 -6
  526. package/src/plugins/platform/Platform.js +5 -5
  527. package/src/plugins/platform/Platform.json +6 -0
  528. package/src/plugins/platform/Platform.test.js +104 -0
  529. package/src/{body.js → plugins/private.body/Body.js} +5 -4
  530. package/src/plugins/private.body/Body.test.js +28 -0
  531. package/src/{history.js → plugins/private.history/History.js} +2 -2
  532. package/src/plugins/private.history/History.test.js +38 -0
  533. package/src/plugins/screen/Screen.js +4 -4
  534. package/src/plugins/screen/Screen.json +4 -2
  535. package/src/plugins/screen/Screen.test.js +453 -0
  536. package/src/plugins/{local-storage → storage}/LocalStorage.js +1 -1
  537. package/src/plugins/storage/LocalStorage.json +5 -0
  538. package/src/plugins/storage/LocalStorage.test.js +323 -0
  539. package/src/plugins/{session-storage → storage}/SessionStorage.js +1 -1
  540. package/src/plugins/storage/SessionStorage.json +5 -0
  541. package/src/plugins/storage/SessionStorage.test.js +323 -0
  542. package/src/{utils/private → plugins/storage/engine}/web-storage.js +21 -10
  543. package/src/{utils/private → plugins/storage/engine}/web-storage.json +22 -11
  544. package/src/plugins/storage/engine/web-storage.test.js +43 -0
  545. package/src/plugins.js +8 -4
  546. package/src/utils/EventBus/EventBus.test.js +108 -0
  547. package/src/utils/clone/clone.test.js +111 -0
  548. package/src/utils/colors/colors.test.js +459 -0
  549. package/src/utils/{copy-to-clipboard.js → copy-to-clipboard/copy-to-clipboard.js} +1 -1
  550. package/src/utils/{create-meta-mixin.js → create-meta-mixin/create-meta-mixin.js} +1 -1
  551. package/src/utils/{create-uploader-component.js → create-uploader-component/create-uploader-component.js} +4 -4
  552. package/src/utils/css-var/get-css-var.test.js +44 -0
  553. package/src/utils/css-var/set-css-var.test.js +54 -0
  554. package/src/utils/{date.js → date/date.js} +6 -6
  555. package/src/utils/debounce/debounce.test.js +188 -0
  556. package/src/utils/dom/dom.test.js +222 -0
  557. package/src/utils/extend/extend.test.js +93 -0
  558. package/src/utils/{format.js → format/format.js} +2 -2
  559. package/src/utils/format/format.test.js +107 -0
  560. package/src/utils/{frame-debounce.js → frame-debounce/frame-debounce.js} +1 -1
  561. package/src/utils/frame-debounce/frame-debounce.test.js +127 -0
  562. package/src/utils/is/is.test.js +125 -0
  563. package/src/utils/{morph.js → morph/morph.js} +1 -1
  564. package/src/utils/{open-url.js → open-url/open-url.js} +3 -3
  565. package/src/utils/patterns/patterns.test.js +403 -0
  566. package/src/utils/{private → private.click-outside}/click-outside.js +2 -2
  567. package/src/utils/{private/define-reactive-plugin.js → private.create/create.js} +6 -3
  568. package/src/utils/private.create/create.test.js +58 -0
  569. package/src/utils/private.focus/focus-manager.test.js +190 -0
  570. package/src/utils/private.focus/focusout.test.js +114 -0
  571. package/src/utils/private.get-emits-object/get-emits-object.test.js +29 -0
  572. package/src/utils/private.global/global-config.test.js +54 -0
  573. package/src/utils/{private → private.global}/global-dialog.js +1 -1
  574. package/src/utils/{private → private.global}/global-dialog.json +1 -1
  575. package/src/utils/{private → private.global}/global-nodes.js +1 -1
  576. package/src/utils/private.global/global-nodes.test.js +110 -0
  577. package/src/utils/private.inject-obj-prop/inject-obj-prop.test.js +104 -0
  578. package/src/utils/{private → private.keyboard}/escape-key.js +1 -1
  579. package/src/utils/private.keyboard/escape-key.test.js +117 -0
  580. package/src/utils/private.noop-ssr-directive-transform/noop-ssr-directive-transform.test.js +14 -0
  581. package/src/utils/{private → private.portal}/portal.js +1 -1
  582. package/src/utils/{private → private.position-engine}/position-engine.js +1 -1
  583. package/src/utils/private.render/render.test.js +187 -0
  584. package/src/utils/private.rtl/rtl.test.js +13 -0
  585. package/src/utils/private.selection/selection.test.js +40 -0
  586. package/src/utils/private.sort/sort.test.js +25 -0
  587. package/src/utils/{private → private.symbols}/symbols.js +1 -1
  588. package/src/utils/private.touch/touch.test.js +102 -0
  589. package/src/utils/private.vm/vm.test.js +175 -0
  590. package/src/utils/{prevent-scroll.js → scroll/prevent-scroll.js} +3 -3
  591. package/src/utils/{scroll.js → scroll/scroll.js} +1 -1
  592. package/src/utils/throttle/throttle.test.js +146 -0
  593. package/src/utils/uid/uid.test.js +17 -0
  594. package/src/utils.js +24 -24
  595. package/src/vue-plugin.js +12 -4
  596. package/src/Lang.json +0 -19
  597. package/src/api-file-example.json +0 -94
  598. package/src/composables/private/__tests__/use-form.cy.js +0 -11
  599. package/src/composables/private/__tests__/use-size.cy.js +0 -36
  600. package/src/composables/private/__tests__/use-transition.cy.js +0 -111
  601. package/src/composables/private/use-form.test.js +0 -93
  602. package/src/composables/private/use-ratio.test.js +0 -27
  603. package/src/composables/private/use-size.test.js +0 -22
  604. package/src/composables/use-id.test.js +0 -55
  605. package/src/plugins/local-storage/LocalStorage.json +0 -5
  606. package/src/plugins/session-storage/SessionStorage.json +0 -5
  607. package/src/utils/private/create.js +0 -4
  608. /package/src/composables/{private/__tests__ → __tests__}/FieldWrapper.vue +0 -0
  609. /package/src/composables/{private/__tests__ → __tests__}/use-anchor.cy.js +0 -0
  610. /package/src/composables/{private/__tests__ → __tests__}/use-field.cy.js +0 -0
  611. /package/src/composables/{private/__tests__ → __tests__}/use-file.cy.js +0 -0
  612. /package/src/composables/{private/__tests__ → __tests__}/use-fullscreen.cy.js +0 -0
  613. /package/src/composables/{private/__tests__ → __tests__}/use-model-toggle.cy.js +0 -0
  614. /package/src/composables/{private/__tests__ → __tests__}/use-portal.cy.js +0 -0
  615. /package/src/composables/{private/__tests__ → __tests__}/use-router-link.cy.js +0 -0
  616. /package/src/composables/{private/__tests__ → __tests__}/use-validate.cy.js +0 -0
  617. /package/src/composables/{private → private.use-align}/use-align.js +0 -0
  618. /package/src/composables/{private → private.use-dark}/use-dark.js +0 -0
  619. /package/src/composables/{private → private.use-file}/use-file-dom-props.js +0 -0
  620. /package/src/composables/{private → private.use-key-composition}/use-key-composition.js +0 -0
  621. /package/src/composables/{private → private.use-model-toggle}/use-model-toggle.json +0 -0
  622. /package/src/composables/{private → private.use-panel}/use-panel.child.json +0 -0
  623. /package/src/composables/{private → private.use-panel}/use-panel.sass +0 -0
  624. /package/src/composables/{private → private.use-portal}/use-portal.json +0 -0
  625. /package/src/composables/{private → private.use-ratio}/use-ratio.js +0 -0
  626. /package/src/composables/{private → private.use-ratio}/use-ratio.json +0 -0
  627. /package/src/composables/{private → private.use-refocus-target}/use-refocus-target.js +0 -0
  628. /package/src/composables/{private → private.use-router-link}/use-router-link.json +0 -0
  629. /package/src/composables/{private → private.use-size}/use-size.js +0 -0
  630. /package/src/composables/{private → private.use-size}/use-size.json +0 -0
  631. /package/src/composables/{private → private.use-transition}/use-transition.js +0 -0
  632. /package/src/composables/{private → private.use-transition}/use-transition.json +0 -0
  633. /package/src/composables/{private/use-form.js → use-form/private.use-form.js} +0 -0
  634. /package/src/composables/{private/use-form.json → use-form/private.use-form.json} +0 -0
  635. /package/src/composables/{use-split-attrs.js → use-split-attrs/use-split-attrs.js} +0 -0
  636. /package/src/utils/{EventBus.js → EventBus/EventBus.js} +0 -0
  637. /package/src/utils/{clone.js → clone/clone.js} +0 -0
  638. /package/src/utils/{colors.js → colors/colors.js} +0 -0
  639. /package/src/utils/{get-css-var.js → css-var/get-css-var.js} +0 -0
  640. /package/src/utils/{set-css-var.js → css-var/set-css-var.js} +0 -0
  641. /package/src/utils/{private/date-persian.js → date/private.persian.js} +0 -0
  642. /package/src/utils/{debounce.js → debounce/debounce.js} +0 -0
  643. /package/src/utils/{dom.js → dom/dom.js} +0 -0
  644. /package/src/utils/{event.js → event/event.js} +0 -0
  645. /package/src/utils/{export-file.js → export-file/export-file.js} +0 -0
  646. /package/src/utils/{extend.js → extend/extend.js} +0 -0
  647. /package/src/utils/{is.js → is/is.js} +0 -0
  648. /package/src/utils/{patterns.js → patterns/patterns.js} +0 -0
  649. /package/src/utils/{private → private.focus}/focus-manager.js +0 -0
  650. /package/src/utils/{private → private.focus}/focusout.js +0 -0
  651. /package/src/utils/{private → private.get-emits-object}/get-emits-object.js +0 -0
  652. /package/src/utils/{private → private.global}/global-config.js +0 -0
  653. /package/src/utils/{private → private.inject-obj-prop}/inject-obj-prop.js +0 -0
  654. /package/src/utils/{private → private.keyboard}/key-composition.js +0 -0
  655. /package/src/utils/{private → private.noop-ssr-directive-transform}/noop-ssr-directive-transform.js +0 -0
  656. /package/src/utils/{private → private.option-sizes}/option-sizes.js +0 -0
  657. /package/src/utils/{private → private.render}/render.js +0 -0
  658. /package/src/utils/{private → private.rtl}/rtl.js +0 -0
  659. /package/src/utils/{private → private.selection}/selection.js +0 -0
  660. /package/src/utils/{private → private.sort}/sort.js +0 -0
  661. /package/src/utils/{private → private.touch}/touch.js +0 -0
  662. /package/src/utils/{private → private.vm}/vm.js +0 -0
  663. /package/src/utils/{run-sequential-promises.js → run-sequential-promises/run-sequential-promises.js} +0 -0
  664. /package/src/utils/{throttle.js → throttle/throttle.js} +0 -0
  665. /package/src/utils/{uid.js → uid/uid.js} +0 -0
@@ -1 +1 @@
1
- {"type":"component","meta":{"docsUrl":"https://v2.quasar.dev/vue-components/table"},"props":{"fullscreen":{"type":"Boolean","sync":true,"desc":"Fullscreen mode","examples":["# v-model:fullscreen=\"isFullscreen\""],"category":"behavior","syncable":true},"no-route-fullscreen-exit":{"type":"Boolean","desc":"Changing route app won't exit fullscreen","category":"behavior"},"rows":{"type":"Array","desc":"Rows of data to display","required":true,"examples":["# :rows=\"myData\""],"category":"general"},"row-key":{"type":["String","Function"],"desc":"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","default":"'id'","params":{"row":{"type":"Object","desc":"The current row being processed","examples":["{ name: 'Lorem Ipsum', price: 19 }"]}},"returns":{"type":"Any","desc":"Current row's key","examples":["'34f39dda-6206-4071-a9df-4393aabe49ac'","34"]},"examples":["'name'","row => row.name"],"category":"general","required":false},"virtual-scroll":{"type":"Boolean","desc":"Display data using QVirtualScroll (for non-grid mode only)","category":"virtual-scroll"},"virtual-scroll-target":{"type":["Element","String"],"desc":"CSS selector or DOM element to be used as a custom scroll container instead of the auto detected one","examples":[".scroll-target-class","#scroll-target-id","$refs.scrollTarget","body"],"category":"behavior"},"virtual-scroll-slice-size":{"type":["Number","String"],"desc":"Minimum number of rows to render in the virtual list","default":"30","category":"virtual-scroll","required":false},"virtual-scroll-slice-ratio-before":{"type":["Number","String"],"desc":"Ratio of number of rows in visible zone to render before it","default":"1","category":"virtual-scroll","required":false},"virtual-scroll-slice-ratio-after":{"type":["Number","String"],"desc":"Ratio of number of rows in visible zone to render after it","default":"1","category":"virtual-scroll","required":false},"virtual-scroll-item-size":{"type":["Number","String"],"desc":"Default size in pixels of a row; This value is used for rendering the initial table; Try to use a value close to the minimum size of a row; Default value: 48 (24 if dense)","default":"# 48/24","category":"virtual-scroll","required":false},"virtual-scroll-sticky-size-start":{"type":["Number","String"],"desc":"Size in pixels of the sticky header (if using one); A correct value will improve scroll precision; Will be also used for non-virtual-scroll tables for fixing top alignment when using scrollTo method","default":"0","category":"virtual-scroll|behavior","required":false},"virtual-scroll-sticky-size-end":{"type":["Number","String"],"desc":"Size in pixels of the sticky footer part (if using one); A correct value will improve scroll precision","default":"0","category":"virtual-scroll","required":false},"table-colspan":{"type":["Number","String"],"desc":"The number of columns in the table (you need this if you use table-layout: fixed)","category":"virtual-scroll|content"},"color":{"type":"String","tsType":"NamedColor","desc":"Color name for component from the Quasar Color Palette","examples":["'primary'","'teal'","'teal-10'"],"category":"style","default":"'grey-8'","required":false},"icon-first-page":{"type":"String","desc":"Icon name following Quasar convention for stepping to first page; Make sure you have the icon library installed unless you are using 'img:' prefix","examples":["'map'","'ion-add'","'img:https://cdn.quasar.dev/logo-v2/svg/logo.svg'","'img:path/to/some_image.png'"],"category":"content"},"icon-prev-page":{"type":"String","desc":"Icon name following Quasar convention for stepping to previous page; Make sure you have the icon library installed unless you are using 'img:' prefix","examples":["'map'","'ion-add'","'img:https://cdn.quasar.dev/logo-v2/svg/logo.svg'","'img:path/to/some_image.png'"],"category":"content"},"icon-next-page":{"type":"String","desc":"Icon name following Quasar convention for stepping to next page; Make sure you have the icon library installed unless you are using 'img:' prefix","examples":["'map'","'ion-add'","'img:https://cdn.quasar.dev/logo-v2/svg/logo.svg'","'img:path/to/some_image.png'"],"category":"content"},"icon-last-page":{"type":"String","desc":"Icon name following Quasar convention for stepping to last page; Make sure you have the icon library installed unless you are using 'img:' prefix","examples":["'map'","'ion-add'","'img:https://cdn.quasar.dev/logo-v2/svg/logo.svg'","'img:path/to/some_image.png'"],"category":"content"},"grid":{"type":"Boolean","desc":"Display data as a grid instead of the default table","category":"behavior"},"grid-header":{"type":"Boolean","desc":"Display header for grid-mode also","category":"behavior|content"},"dense":{"type":"Boolean","desc":"Dense mode; Connect with $q.screen for responsive behavior","category":"style"},"columns":{"type":"Array","desc":"The column definitions (Array of Objects)","examples":["# :columns=\"tableColumns\""],"category":"column","definition":{"name":{"type":"String","required":true,"desc":"Unique id, identifies column, (used by pagination.sortBy, 'body-cell-[name]' slot, ...)","examples":["'desc'"]},"label":{"type":"String","required":true,"desc":"Label for header","examples":["'Dessert (100g serving)'"]},"field":{"type":["String","Function"],"required":true,"desc":"Row Object property to determine value for this column or function which maps to the required property","params":{"row":{"type":"Object","required":true,"desc":"The current row being processed","examples":["{ name: 'Lorem Ipsum', prices: { active: 19, old: 25, list: 29 } }"]}},"returns":{"type":"Any","desc":"Value for this column","examples":["'19'","19"]},"examples":["'name'","row => row.prices.active"]},"required":{"type":"Boolean","desc":"If we use visible-columns, this col will always be visible"},"align":{"type":"String","desc":"Horizontal alignment of cells in this column","values":["'left'","'right'","'center'"],"default":"'right'","required":false},"sortable":{"type":"Boolean","desc":"Tell QTable you want this column sortable","default":"false","required":false},"sort":{"type":"Function","desc":"Compare function if you have some custom data or want a specific way to compare two rows; rows with null/undefined values will get sorted without triggering this method (use 'rawSort' instead if you want to handle those values too)","examples":["(a, b, rowA, rowB) => parseInt(a, 10) - parseInt(b, 10)"],"params":{"a":{"type":"Any","required":true,"desc":"Value of the first comparison term","examples":["123","'abc'"]},"b":{"type":"Any","required":true,"desc":"Value of the second comparison term","examples":["123","'abc'"]},"rowA":{"type":"Object","required":true,"desc":"Full Row object in which is contained the first term","examples":["{ name: 'Potassium', value: 'K' }"]},"rowB":{"type":"Object","required":true,"desc":"Full Row object in which is contained the second term","examples":["{ name: 'Fluorine', value: 'F' }"]}},"returns":{"type":"Number","desc":"Comparison result of term 'a' with term 'b'. Less than 0 when 'a' should come first; greater than 0 if 'b' should come first; equal to 0 if their position must not be changed with respect to each other","examples":["-1","0","1"]}},"rawSort":{"type":"Function","desc":"Compare function if you have some custom data or want a specific way to compare two rows; includes rows with null/undefined values (use 'sort' instead if you don't want that)","examples":["(a, b, rowA, rowB) => parseInt(a, 10) - parseInt(b, 10)"],"params":{"a":{"type":"Any","required":true,"desc":"Value of the first comparison term","examples":["123","'abc'"]},"b":{"type":"Any","required":true,"desc":"Value of the second comparison term","examples":["123","'abc'"]},"rowA":{"type":"Object","required":true,"desc":"Full Row object in which is contained the first term","examples":["{ name: 'Potassium', value: 'K' }"]},"rowB":{"type":"Object","required":true,"desc":"Full Row object in which is contained the second term","examples":["{ name: 'Fluorine', value: 'F' }"]}},"returns":{"type":"Number","desc":"Comparison result of term 'a' with term 'b'. Less than 0 when 'a' should come first; greater than 0 if 'b' should come first; equal to 0 if their position must not be changed with respect to each other","examples":["-1","0","1"]},"addedIn":"v2.13.0"},"sortOrder":{"type":"String","desc":"Set column sort order: 'ad' (ascending-descending) or 'da' (descending-ascending); Overrides the 'column-sort-order' prop","values":["'ad'","'da'"],"default":"'ad'","required":false},"format":{"type":"Function","desc":"Function you can apply to format your data","examples":["(val, row) => `${val}%`","val => val ? /* Unicode checkmark checked */ '☑' : /* Unicode checkmark unchecked */ '☐'"],"params":{"val":{"type":"Any","required":true,"desc":"Value of the cell","examples":["123","'abc'"]},"row":{"type":"Object","required":true,"desc":"Full Row object in which the cell is contained","examples":["{ name: 'Potassium', value: 'K' }"]}},"returns":{"type":"Any","desc":"The resulting formatted value","examples":["'20%'"]}},"style":{"type":["String","Function"],"desc":"Style to apply on normal cells of the column","params":{"row":{"type":"Object","required":true,"desc":"The current row being processed","examples":["{ name: 'Frozen Yogurt', calories: 159 }"]}},"returns":{"type":"String"},"examples":["'width: 500px'","row => (row.calories % 2 === 0 ? 'width: 10px' : 'font-size: 2em; font-weight: bold')"]},"classes":{"type":["String","Function"],"desc":"Classes to add on normal cells of the column","params":{"row":{"type":"Object","required":true,"desc":"The current row being processed","examples":["{ name: 'Frozen Yogurt', calories: 159 }"]}},"returns":{"type":"String"},"examples":["'my-special-class bg-primary'","row => (row.calories % 2 === 0 ? 'bg-green text-white' : 'bg-yellow')"]},"headerStyle":{"type":"String","desc":"Style to apply on header cells of the column","examples":["'width: 500px'"]},"headerClasses":{"type":"String","desc":"Classes to add on header cells of the column","examples":["'my-special-class'"]}}},"visible-columns":{"type":"Array","desc":"Array of Strings defining column names ('name' property of each column from 'columns' prop definitions); Columns marked as 'required' are not affected by this property","examples":["[ 'desc', 'carbs', 'protein' ]","# :visible-columns=\"myCols\""],"category":"column"},"loading":{"type":"Boolean","desc":"Put Table into 'loading' state; Notify the user something is happening behind the scenes","category":"behavior|content"},"title":{"type":"String","desc":"Table title","examples":["'Device list'"],"category":"content"},"hide-header":{"type":"Boolean","desc":"Hide table header layer","category":"content"},"hide-bottom":{"type":"Boolean","desc":"Hide table bottom layer regardless of what it has to display","category":"content"},"hide-selected-banner":{"type":"Boolean","desc":"Hide the selected rows banner (if any)","category":"content"},"hide-no-data":{"type":"Boolean","desc":"Hide the default no data bottom layer","category":"content"},"hide-pagination":{"type":"Boolean","desc":"Hide the pagination controls at the bottom","category":"content"},"dark":{"type":["Boolean","null"],"default":"null","desc":"Notify the component that the background is a dark color","category":"style","required":false},"flat":{"type":"Boolean","desc":"Applies a 'flat' design (no default shadow)","category":"style"},"bordered":{"type":"Boolean","desc":"Applies a default border to the component","category":"style"},"square":{"type":"Boolean","desc":"Removes border-radius so borders are squared","category":"style"},"separator":{"type":"String","desc":"Use a separator/border between rows, columns or all cells","default":"'horizontal'","values":["'horizontal'","'vertical'","'cell'","'none'"],"category":"content","required":false},"wrap-cells":{"type":"Boolean","desc":"Wrap text within table cells","category":"content"},"binary-state-sort":{"type":"Boolean","desc":"Skip the third state (unsorted) when user toggles column sort direction","category":"sorting"},"column-sort-order":{"type":"String","desc":"Set column sort order: 'ad' (ascending-descending) or 'da' (descending-ascending); It gets applied to all columns unless a column has its own sortOrder specified in the 'columns' definition prop","values":["'ad'","'da'"],"default":"'ad'","category":"sorting","required":false},"no-data-label":{"type":"String","desc":"Override default text to display when no data is available","examples":["'No devices available'"],"category":"content"},"no-results-label":{"type":"String","desc":"Override default text to display when user filters the table and no matched results are found","examples":["'No matched records'"],"category":"content"},"loading-label":{"type":"String","desc":"Override default text to display when table is in loading state (see 'loading' prop)","examples":["'Loading devices...'"],"category":"content"},"selected-rows-label":{"type":"Function","desc":"Text to display when user selected at least one row; For best performance, reference it from your scope and do not define it inline","params":{"numberOfRows":{"type":"Number","desc":"Number of rows available"}},"returns":{"type":"String","desc":"Label to display","examples":["'5 rows are selected'"]},"examples":["(numberOfRows) => `Selected: ${ numberOfRows } entries`"],"category":"selection"},"rows-per-page-label":{"type":"String","desc":"Text to override default rows per page label at bottom of table","examples":["'Records per page:'"],"category":"pagination"},"pagination-label":{"type":"Function","desc":"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","params":{"firstRowIndex":{"type":"Number","desc":"Index of first displayed row"},"endRowIndex":{"type":"Number","desc":"Index of last displayed row"},"totalRowsNumber":{"type":"Number","desc":"Number of total rows available in data"}},"returns":{"type":"String","desc":"Label to display","examples":["'1-10 of 132'"]},"examples":["(start, end, total) => `${ start }-${ end } of ${ total }`"],"category":"pagination"},"table-style":{"type":["String","Array","Object"],"tsType":"VueStyleProp","desc":"CSS style to apply to native HTML <table> element's wrapper (which is a DIV)","examples":["'background-color: #ff0000'","{ backgroundColor: '#ff0000' }"],"category":"style"},"table-class":{"type":["String","Array","Object"],"tsType":"VueClassProp","desc":"CSS classes to apply to native HTML <table> element's wrapper (which is a DIV)","examples":["'my-special-class'","{ 'my-special-class': <condition> }"],"category":"style"},"table-header-style":{"type":["String","Array","Object"],"tsType":"VueStyleProp","desc":"CSS style to apply to header of native HTML <table> (which is a TR)","examples":["'background-color: #ff0000'","{ backgroundColor: '#ff0000' }"],"category":"style"},"table-header-class":{"type":["String","Array","Object"],"tsType":"VueClassProp","desc":"CSS classes to apply to header of native HTML <table> (which is a TR)","examples":["'my-special-class'","{ 'my-special-class': <condition> }"],"category":"style"},"card-container-style":{"type":["String","Array","Object"],"tsType":"VueStyleProp","desc":"CSS style to apply to the cards container (when in grid mode)","examples":["'background-color: #ff0000'","{ backgroundColor: '#ff0000' }"],"category":"style"},"card-container-class":{"type":["String","Array","Object"],"tsType":"VueClassProp","desc":"CSS classes to apply to the cards container (when in grid mode)","examples":["'my-special-class'","'justify-center'","{ 'my-special-class': <condition> }"],"category":"style"},"card-style":{"type":["String","Array","Object"],"tsType":"VueStyleProp","desc":"CSS style to apply to the card (when in grid mode) or container card (when not in grid mode)","examples":["'background-color: #ff0000'","{ backgroundColor: '#ff0000' }"],"category":"style"},"card-class":{"type":["String","Array","Object"],"tsType":"VueClassProp","desc":"CSS classes to apply to the card (when in grid mode) or container card (when not in grid mode)","examples":["'my-special-class'","{ 'my-special-class': <condition> }"],"category":"style"},"title-class":{"type":["String","Array","Object"],"tsType":"VueClassProp","desc":"CSS classes to apply to the title (if using 'title' prop)","examples":["'my-special-class'","'text-h1'","{ 'text-h1': <condition> }"],"category":"style"},"filter":{"type":["String","Object"],"desc":"String/Object to filter table with; When using an Object it requires 'filter-method' to also be specified since it will be a custom filtering","examples":["'car'"],"category":"filter"},"filter-method":{"type":"Function","desc":"The actual filtering mechanism; For best performance, reference it from your scope and do not define it inline","params":{"rows":{"type":"Array","desc":"Array of rows"},"terms":{"type":["String","Object"],"desc":"Terms to filter with (is essentially the 'filter' prop value)"},"cols":{"type":"Array","desc":"Column definitions"},"getCellValue":{"type":"Function","desc":"Optional function to get a cell value","params":{"col":{"type":"Object","required":true,"desc":"Column name from column definitions"},"row":{"type":"Object","required":true,"desc":"The row object"}},"returns":{"type":"Any","desc":"Parsed/Processed cell value","examples":["'Ice Cream Sandwich'"]}}},"returns":{"type":"Array","desc":"Filtered rows"},"default":"# see source code","examples":["# see source code"],"category":"filter","required":false},"pagination":{"type":"Object","desc":"Pagination object; You can also use the 'v-model:pagination' for synching; When not synching it simply initializes the pagination on first render","definition":{"sortBy":{"type":["String","null"],"desc":"Column name (from column definition)","examples":["'calories'"]},"descending":{"type":"Boolean","desc":"Is sorting in descending order?"},"page":{"type":"Number","desc":"Page number (1-based)"},"rowsPerPage":{"type":"Number","desc":"How many rows per page? 0 means Infinite"},"rowsNumber":{"type":"Number","desc":"For server-side fetching only. How many total database rows are there to be added to the table. If set, causes the QTable to emit @request when data is required."}},"syncable":true,"examples":["# :pagination=\"myInitialPagination\"","# v-model:pagination=\"myPagination\""],"category":"pagination"},"rows-per-page-options":{"type":"Array","desc":"Options for user to pick (Numbers); Number 0 means 'Show all rows in one page'","default":"[ 3, 5, 7, 10, 15, 20, 25, 50, 0 ]","examples":["[10, 20]"],"category":"pagination","required":false},"selection":{"type":"String","desc":"Selection type","default":"'none'","values":["'single'","'multiple'","'none'"],"category":"selection","required":false},"selected":{"type":"Array","desc":"Keeps the user selection array","default":"[]","syncable":true,"examples":["# v-model:selected=\"selection\""],"category":"selection","required":false},"expanded":{"type":"Array","desc":"Keeps the array with expanded rows keys","default":"[]","syncable":true,"examples":["# v-model:expanded=\"expanded\""],"category":"expansion","required":false},"sort-method":{"type":"Function","desc":"The actual sort mechanism. Function (rows, sortBy, descending) => sorted rows; For best performance, reference it from your scope and do not define it inline","params":{"rows":{"type":"Array","desc":"Array with rows"},"sortBy":{"type":"String","desc":"Column name (from column definition)","examples":["'calories'"]},"descending":{"type":"Boolean","desc":"Is sorting in descending order?"}},"returns":{"type":"Array","desc":"Sorted rows"},"default":"# see source code","examples":["# see source code"],"category":"sorting","required":false}},"slots":{"loading":{"desc":"Override default effect when table is in loading state; Suggestion: QInnerLoading"},"item":{"desc":"Slot to use for defining an item when in 'grid' mode; Suggestion: QCard","scope":{"key":{"type":"Any","desc":"Row/Item's key"},"row":{"type":"Object","desc":"Row/Item object"},"rowIndex":{"type":"Number","desc":"Row/Item's index (0 based) in the filtered and sorted table"},"pageIndex":{"type":"Number","desc":"Row/Item's index (0 based) in the current page of the filtered and sorted table"},"cols":{"type":"Object","desc":"Column definitions"},"colsMap":{"type":"Object","desc":"Column mapping (key is column name, value is column object)"},"sort":{"type":"Function","desc":"Trigger a table sort","params":{"col":{"type":["String","Object"],"required":true,"desc":"Column name or column definition object","examples":["'calories'"]}},"returns":null},"selected":{"type":"Boolean","desc":"(Only if using selection) Is row/item selected? Can directly be assigned new Boolean value which changes selection state","reactive":true},"expand":{"type":"Boolean","desc":"Is row/item expanded? Can directly be assigned new Boolean value which changes expanded state","reactive":true},"color":{"type":"String","tsType":"NamedColor","desc":"Color name for component from the Quasar Color Palette","examples":["'primary'","'teal'","'teal-10'"],"category":"style"},"dark":{"type":["Boolean","null"],"default":"null","desc":"Notify the component that the background is a dark color","category":"style","required":false},"dense":{"type":"Boolean","desc":"Dense mode; occupies less space","category":"style"}}},"body":{"desc":"Slot to define how a body row looks like; Suggestion: QTr + Td","scope":{"key":{"type":"Any","desc":"Row's key"},"row":{"type":"Object","desc":"Row object"},"rowIndex":{"type":"Number","desc":"Row's index (0 based) in the filtered and sorted table"},"pageIndex":{"type":"Number","desc":"Row's index (0 based) in the current page of the filtered and sorted table"},"cols":{"type":"Object","desc":"Column definitions"},"colsMap":{"type":"Object","desc":"Column mapping (key is column name, value is column object)"},"sort":{"type":"Function","desc":"Trigger a table sort","params":{"col":{"type":["String","Object"],"required":true,"desc":"Column name or column definition object","examples":["'calories'"]}},"returns":null},"selected":{"type":"Boolean","desc":"(Only if using selection) Is row selected? Can directly be assigned new Boolean value which changes selection state","reactive":true},"expand":{"type":"Boolean","desc":"Is row expanded? Can directly be assigned new Boolean value which changes expanded state","reactive":true},"color":{"type":"String","tsType":"NamedColor","desc":"Color name for component from the Quasar Color Palette","examples":["'primary'","'teal'","'teal-10'"],"category":"style"},"dark":{"type":["Boolean","null"],"default":"null","desc":"Notify the component that the background is a dark color","category":"style","required":false},"dense":{"type":"Boolean","desc":"Dense mode; occupies less space","category":"style"},"__trClass":{"type":"String","desc":"Internal prop passed down to QTr (if used)"}}},"body-cell":{"desc":"Slot to define how all body cells look like; Suggestion: QTd","scope":{"col":{"type":"Object","desc":"Column definition for column associated with table cell"},"value":{"type":"Any","desc":"Parsed/Formatted value of table cell"},"key":{"type":"Any","desc":"Row's key"},"row":{"type":"Object","desc":"Row object"},"rowIndex":{"type":"Number","desc":"Row's index (0 based) in the filtered and sorted table"},"pageIndex":{"type":"Number","desc":"Row's index (0 based) in the current page of the filtered and sorted table"},"cols":{"type":"Object","desc":"Column definitions"},"colsMap":{"type":"Object","desc":"Column mapping (key is column name, value is column object)"},"sort":{"type":"Function","desc":"Trigger a table sort","params":{"col":{"type":["String","Object"],"required":true,"desc":"Column name or column definition object","examples":["'calories'"]}},"returns":null},"selected":{"type":"Boolean","desc":"(Only if using selection) Is row selected? Can directly be assigned new Boolean value which changes selection state","reactive":true},"expand":{"type":"Boolean","desc":"Is row expanded? Can directly be assigned new Boolean value which changes expanded state","reactive":true},"color":{"type":"String","tsType":"NamedColor","desc":"Color name for component from the Quasar Color Palette","examples":["'primary'","'teal'","'teal-10'"],"category":"style"},"dark":{"type":["Boolean","null"],"default":"null","desc":"Notify the component that the background is a dark color","category":"style","required":false},"dense":{"type":"Boolean","desc":"Dense mode; occupies less space","category":"style"}}},"body-cell-[name]":{"desc":"Slot to define how a specific column cell looks like; replace '[name]' with column name (from columns definition object)","scope":{"col":{"type":"Object","desc":"Column definition for column associated with table cell"},"value":{"type":"Any","desc":"Parsed/Formatted value of table cell"},"key":{"type":"Any","desc":"Row's key"},"row":{"type":"Object","desc":"Row object"},"rowIndex":{"type":"Number","desc":"Row's index (0 based) in the filtered and sorted table"},"pageIndex":{"type":"Number","desc":"Row's index (0 based) in the current page of the filtered and sorted table"},"cols":{"type":"Object","desc":"Column definitions"},"colsMap":{"type":"Object","desc":"Column mapping (key is column name, value is column object)"},"sort":{"type":"Function","desc":"Trigger a table sort","params":{"col":{"type":["String","Object"],"required":true,"desc":"Column name or column definition object","examples":["'calories'"]}},"returns":null},"selected":{"type":"Boolean","desc":"(Only if using selection) Is row selected? Can directly be assigned new Boolean value which changes selection state","reactive":true},"expand":{"type":"Boolean","desc":"Is row expanded? Can directly be assigned new Boolean value which changes expanded state","reactive":true},"color":{"type":"String","tsType":"NamedColor","desc":"Color name for component from the Quasar Color Palette","examples":["'primary'","'teal'","'teal-10'"],"category":"style"},"dark":{"type":["Boolean","null"],"default":"null","desc":"Notify the component that the background is a dark color","category":"style","required":false},"dense":{"type":"Boolean","desc":"Dense mode; occupies less space","category":"style"}}},"header":{"desc":"Slot to define how header looks like; Suggestion: QTr + QTh","scope":{"cols":{"type":"Object","desc":"Column definitions"},"colsMap":{"type":"Object","desc":"Column mapping (key is column name, value is column object)"},"sort":{"type":"Function","desc":"Trigger a table sort","params":{"col":{"type":["String","Object"],"required":true,"desc":"Column name or column definition object","examples":["'calories'"]}},"returns":null},"selected":{"type":"Boolean","desc":"(Only if using selection) Is row selected? Can directly be assigned new Boolean value which changes selection state","reactive":true},"expand":{"type":"Boolean","desc":"Is row expanded? Can directly be assigned new Boolean value which changes expanded state","reactive":true},"color":{"type":"String","tsType":"NamedColor","desc":"Color name for component from the Quasar Color Palette","examples":["'primary'","'teal'","'teal-10'"],"category":"style"},"dark":{"type":["Boolean","null"],"default":"null","desc":"Notify the component that the background is a dark color","category":"style","required":false},"dense":{"type":"Boolean","desc":"Dense mode; occupies less space","category":"style"},"__trClass":{"type":"String","desc":"Internal prop passed down to QTr (if used)"},"header":{"type":"Boolean","desc":"Internal prop passed down to QTh (if used); Always 'true'"}}},"header-cell":{"desc":"Slot to define how each header cell looks like; Suggestion: QTh","scope":{"col":{"type":"Object","desc":"Column definition associated to header cell"},"cols":{"type":"Object","desc":"Column definitions"},"colsMap":{"type":"Object","desc":"Column mapping (key is column name, value is column object)"},"sort":{"type":"Function","desc":"Trigger a table sort","params":{"col":{"type":["String","Object"],"required":true,"desc":"Column name or column definition object","examples":["'calories'"]}},"returns":null},"selected":{"type":"Boolean","desc":"(Only if using selection) Is row selected? Can directly be assigned new Boolean value which changes selection state","reactive":true},"expand":{"type":"Boolean","desc":"Is row expanded? Can directly be assigned new Boolean value which changes expanded state","reactive":true},"color":{"type":"String","tsType":"NamedColor","desc":"Color name for component from the Quasar Color Palette","examples":["'primary'","'teal'","'teal-10'"],"category":"style"},"dark":{"type":["Boolean","null"],"default":"null","desc":"Notify the component that the background is a dark color","category":"style","required":false},"dense":{"type":"Boolean","desc":"Dense mode; occupies less space","category":"style"}}},"header-cell-[name]":{"desc":"Slot to define how a specific header cell looks like; replace '[name]' with column name (from columns definition object)","scope":{"col":{"type":"Object","desc":"Column definition associated to header cell"},"cols":{"type":"Object","desc":"Column definitions"},"colsMap":{"type":"Object","desc":"Column mapping (key is column name, value is column object)"},"sort":{"type":"Function","desc":"Trigger a table sort","params":{"col":{"type":["String","Object"],"required":true,"desc":"Column name or column definition object","examples":["'calories'"]}},"returns":null},"selected":{"type":"Boolean","desc":"(Only if using selection) Is row selected? Can directly be assigned new Boolean value which changes selection state","reactive":true},"expand":{"type":"Boolean","desc":"Is row expanded? Can directly be assigned new Boolean value which changes expanded state","reactive":true},"color":{"type":"String","tsType":"NamedColor","desc":"Color name for component from the Quasar Color Palette","examples":["'primary'","'teal'","'teal-10'"],"category":"style"},"dark":{"type":["Boolean","null"],"default":"null","desc":"Notify the component that the background is a dark color","category":"style","required":false},"dense":{"type":"Boolean","desc":"Dense mode; occupies less space","category":"style"}}},"body-selection":{"desc":"Slot to define how body selection column looks like; Suggestion: QCheckbox","scope":{"key":{"type":"Any","desc":"Row's key"},"row":{"type":"Object","desc":"Row object"},"rowIndex":{"type":"Number","desc":"Row's index (0 based) in the filtered and sorted table"},"pageIndex":{"type":"Number","desc":"Row's index (0 based) in the current page of the filtered and sorted table"},"cols":{"type":"Object","desc":"Column definitions"},"colsMap":{"type":"Object","desc":"Column mapping (key is column name, value is column object)"},"sort":{"type":"Function","desc":"Trigger a table sort","params":{"col":{"type":["String","Object"],"required":true,"desc":"Column name or column definition object","examples":["'calories'"]}},"returns":null},"selected":{"type":"Boolean","desc":"(Only if using selection) Is row selected? Can directly be assigned new Boolean value which changes selection state","reactive":true},"expand":{"type":"Boolean","desc":"Is row expanded? Can directly be assigned new Boolean value which changes expanded state","reactive":true},"color":{"type":"String","tsType":"NamedColor","desc":"Color name for component from the Quasar Color Palette","examples":["'primary'","'teal'","'teal-10'"],"category":"style"},"dark":{"type":["Boolean","null"],"default":"null","desc":"Notify the component that the background is a dark color","category":"style","required":false},"dense":{"type":"Boolean","desc":"Dense mode; occupies less space","category":"style"}}},"header-selection":{"desc":"Slot to define how header selection column looks like (available only for multiple selection mode); Suggestion: QCheckbox","scope":{"cols":{"type":"Object","desc":"Column definitions"},"colsMap":{"type":"Object","desc":"Column mapping (key is column name, value is column object)"},"sort":{"type":"Function","desc":"Trigger a table sort","params":{"col":{"type":["String","Object"],"required":true,"desc":"Column name or column definition object","examples":["'calories'"]}},"returns":null},"selected":{"type":"Boolean","desc":"(Only if using selection) Is row selected? Can directly be assigned new Boolean value which changes selection state","reactive":true},"expand":{"type":"Boolean","desc":"Is row expanded? Can directly be assigned new Boolean value which changes expanded state","reactive":true},"color":{"type":"String","tsType":"NamedColor","desc":"Color name for component from the Quasar Color Palette","examples":["'primary'","'teal'","'teal-10'"],"category":"style"},"dark":{"type":["Boolean","null"],"default":"null","desc":"Notify the component that the background is a dark color","category":"style","required":false},"dense":{"type":"Boolean","desc":"Dense mode; occupies less space","category":"style"}}},"top-row":{"desc":"Slot to define how top extra row looks like","scope":{"cols":{"type":"Object","desc":"Column definitions"}}},"bottom-row":{"desc":"Slot to define how bottom extra row looks like","scope":{"cols":{"type":"Object","desc":"Column definitions"}}},"top":{"desc":"Slot to define how table top looks like","scope":{"pagination":{"type":"Object","desc":"Pagination object","definition":{"sortBy":{"type":["String","null"],"required":true,"desc":"Column name (from column definition)","examples":["'calories'"]},"descending":{"type":"Boolean","required":true,"desc":"Is sorting in descending order?"},"page":{"type":"Number","required":true,"desc":"Page number (1-based)"},"rowsPerPage":{"type":"Number","required":true,"desc":"How many rows per page? 0 means Infinite"}}},"pagesNumber":{"type":"Number","desc":"Number of pages available"},"isFirstPage":{"type":"Boolean","desc":"Are we on first page?"},"isLastPage":{"type":"Boolean","desc":"Are we on last page?"},"firstPage":{"type":"Function","desc":"Navigates to first page","params":null,"returns":null},"prevPage":{"type":"Function","desc":"Navigates to previous page, if available","params":null,"returns":null},"nextPage":{"type":"Function","desc":"Navigates to next page, if available","params":null,"returns":null},"lastPage":{"type":"Function","desc":"Navigates to last page","params":null,"returns":null},"inFullscreen":{"type":"Boolean","desc":"Is table in fullscreen mode?"},"toggleFullscreen":{"type":"Function","desc":"Toggles fullscreen mode","params":null,"returns":null}}},"bottom":{"desc":"Slot to define how table bottom looks like","scope":{"pagination":{"type":"Object","desc":"Pagination object","definition":{"sortBy":{"type":["String","null"],"required":true,"desc":"Column name (from column definition)","examples":["'calories'"]},"descending":{"type":"Boolean","required":true,"desc":"Is sorting in descending order?"},"page":{"type":"Number","required":true,"desc":"Page number (1-based)"},"rowsPerPage":{"type":"Number","required":true,"desc":"How many rows per page? 0 means Infinite"}}},"pagesNumber":{"type":"Number","desc":"Number of pages available"},"isFirstPage":{"type":"Boolean","desc":"Are we on first page?"},"isLastPage":{"type":"Boolean","desc":"Are we on last page?"},"firstPage":{"type":"Function","desc":"Navigates to first page","params":null,"returns":null},"prevPage":{"type":"Function","desc":"Navigates to previous page, if available","params":null,"returns":null},"nextPage":{"type":"Function","desc":"Navigates to next page, if available","params":null,"returns":null},"lastPage":{"type":"Function","desc":"Navigates to last page","params":null,"returns":null},"inFullscreen":{"type":"Boolean","desc":"Is table in fullscreen mode?"},"toggleFullscreen":{"type":"Function","desc":"Toggles fullscreen mode","params":null,"returns":null}}},"pagination":{"desc":"Slot to override default pagination label and buttons","scope":{"pagination":{"type":"Object","desc":"Pagination object","definition":{"sortBy":{"type":["String","null"],"required":true,"desc":"Column name (from column definition)","examples":["'calories'"]},"descending":{"type":"Boolean","required":true,"desc":"Is sorting in descending order?"},"page":{"type":"Number","required":true,"desc":"Page number (1-based)"},"rowsPerPage":{"type":"Number","required":true,"desc":"How many rows per page? 0 means Infinite"}}},"pagesNumber":{"type":"Number","desc":"Number of pages available"},"isFirstPage":{"type":"Boolean","desc":"Are we on first page?"},"isLastPage":{"type":"Boolean","desc":"Are we on last page?"},"firstPage":{"type":"Function","desc":"Navigates to first page","params":null,"returns":null},"prevPage":{"type":"Function","desc":"Navigates to previous page, if available","params":null,"returns":null},"nextPage":{"type":"Function","desc":"Navigates to next page, if available","params":null,"returns":null},"lastPage":{"type":"Function","desc":"Navigates to last page","params":null,"returns":null},"inFullscreen":{"type":"Boolean","desc":"Is table in fullscreen mode?"},"toggleFullscreen":{"type":"Function","desc":"Toggles fullscreen mode","params":null,"returns":null}}},"top-left":{"desc":"Slot to define how left part of the table top looks like","scope":{"pagination":{"type":"Object","desc":"Pagination object","definition":{"sortBy":{"type":["String","null"],"required":true,"desc":"Column name (from column definition)","examples":["'calories'"]},"descending":{"type":"Boolean","required":true,"desc":"Is sorting in descending order?"},"page":{"type":"Number","required":true,"desc":"Page number (1-based)"},"rowsPerPage":{"type":"Number","required":true,"desc":"How many rows per page? 0 means Infinite"}}},"pagesNumber":{"type":"Number","desc":"Number of pages available"},"isFirstPage":{"type":"Boolean","desc":"Are we on first page?"},"isLastPage":{"type":"Boolean","desc":"Are we on last page?"},"firstPage":{"type":"Function","desc":"Navigates to first page","params":null,"returns":null},"prevPage":{"type":"Function","desc":"Navigates to previous page, if available","params":null,"returns":null},"nextPage":{"type":"Function","desc":"Navigates to next page, if available","params":null,"returns":null},"lastPage":{"type":"Function","desc":"Navigates to last page","params":null,"returns":null},"inFullscreen":{"type":"Boolean","desc":"Is table in fullscreen mode?"},"toggleFullscreen":{"type":"Function","desc":"Toggles fullscreen mode","params":null,"returns":null}}},"top-right":{"desc":"Slot to define how right part of the table top looks like","scope":{"pagination":{"type":"Object","desc":"Pagination object","definition":{"sortBy":{"type":["String","null"],"required":true,"desc":"Column name (from column definition)","examples":["'calories'"]},"descending":{"type":"Boolean","required":true,"desc":"Is sorting in descending order?"},"page":{"type":"Number","required":true,"desc":"Page number (1-based)"},"rowsPerPage":{"type":"Number","required":true,"desc":"How many rows per page? 0 means Infinite"}}},"pagesNumber":{"type":"Number","desc":"Number of pages available"},"isFirstPage":{"type":"Boolean","desc":"Are we on first page?"},"isLastPage":{"type":"Boolean","desc":"Are we on last page?"},"firstPage":{"type":"Function","desc":"Navigates to first page","params":null,"returns":null},"prevPage":{"type":"Function","desc":"Navigates to previous page, if available","params":null,"returns":null},"nextPage":{"type":"Function","desc":"Navigates to next page, if available","params":null,"returns":null},"lastPage":{"type":"Function","desc":"Navigates to last page","params":null,"returns":null},"inFullscreen":{"type":"Boolean","desc":"Is table in fullscreen mode?"},"toggleFullscreen":{"type":"Function","desc":"Toggles fullscreen mode","params":null,"returns":null}}},"top-selection":{"desc":"Slot to define how top table section looks like when user has selected at least one row","scope":{"pagination":{"type":"Object","desc":"Pagination object","definition":{"sortBy":{"type":["String","null"],"required":true,"desc":"Column name (from column definition)","examples":["'calories'"]},"descending":{"type":"Boolean","required":true,"desc":"Is sorting in descending order?"},"page":{"type":"Number","required":true,"desc":"Page number (1-based)"},"rowsPerPage":{"type":"Number","required":true,"desc":"How many rows per page? 0 means Infinite"}}},"pagesNumber":{"type":"Number","desc":"Number of pages available"},"isFirstPage":{"type":"Boolean","desc":"Are we on first page?"},"isLastPage":{"type":"Boolean","desc":"Are we on last page?"},"firstPage":{"type":"Function","desc":"Navigates to first page","params":null,"returns":null},"prevPage":{"type":"Function","desc":"Navigates to previous page, if available","params":null,"returns":null},"nextPage":{"type":"Function","desc":"Navigates to next page, if available","params":null,"returns":null},"lastPage":{"type":"Function","desc":"Navigates to last page","params":null,"returns":null},"inFullscreen":{"type":"Boolean","desc":"Is table in fullscreen mode?"},"toggleFullscreen":{"type":"Function","desc":"Toggles fullscreen mode","params":null,"returns":null}}},"no-data":{"desc":"Slot to define how the bottom will look like when is nothing to display","scope":{"message":{"type":"String","desc":"The suggested message","examples":["'No data available'"]},"icon":{"type":"String","desc":"The suggested icon name (following Quasar convention)","examples":["'warning'"]}}}},"events":{"fullscreen":{"desc":"Emitted when fullscreen state changes","params":{"value":{"type":"Boolean","desc":"Fullscreen state (showing/hidden)"}}},"row-click":{"desc":"Emitted when user clicks/taps on a row; Is not emitted when using body/row/item scoped slots","params":{"evt":{"type":"Event","desc":"JS event object"},"row":{"type":"Object","desc":"The row upon which user has clicked/tapped"},"index":{"type":"Number","desc":"Index of the row in the current page"}}},"row-dblclick":{"desc":"Emitted when user quickly double clicks/taps on a row; Is not emitted when using body/row/item scoped slots; Please check JS dblclick event support before using","params":{"evt":{"type":"Event","desc":"JS event object"},"row":{"type":"Object","desc":"The row upon which user has double clicked/tapped"},"index":{"type":"Number","desc":"Index of the row in the current page"}}},"row-contextmenu":{"desc":"Emitted when user right clicks/long taps on a row; Is not emitted when using body/row/item scoped slots","params":{"evt":{"type":"Event","desc":"JS event object"},"row":{"type":"Object","desc":"The row upon which user has right clicked/long tapped"},"index":{"type":"Number","desc":"Index of the row in the current page"}}},"request":{"desc":"Emitted when a server request is triggered","params":{"requestProp":{"type":"Object","desc":"Props of the request","definition":{"pagination":{"type":"Object","required":true,"desc":"Pagination object","definition":{"sortBy":{"type":"String","required":true,"desc":"Column name (from column definition)","examples":["'calories'"]},"descending":{"type":"Boolean","required":true,"desc":"Is sorting in descending order?"},"page":{"type":"Number","required":true,"desc":"Page number (1-based)"},"rowsPerPage":{"type":"Number","required":true,"desc":"How many rows per page? 0 means Infinite"}}},"filter":{"type":["String","Object"],"desc":"String/Object to filter table with (the 'filter' prop)"},"getCellValue":{"type":"Function","required":true,"desc":"Function to get a cell value","params":{"col":{"type":"Object","required":true,"desc":"Column name from column definitions"},"row":{"type":"Object","required":true,"desc":"The row object"}},"returns":{"type":"Any","desc":"Parsed/Processed cell value","examples":["'Ice Cream Sandwich'"]}}}}}},"selection":{"desc":"Emitted when user selects/unselects row(s)","params":{"details":{"type":"Object","desc":"Selection details","definition":{"rows":{"type":"Array","required":true,"desc":"Array of row objects that were selected/unselected"},"keys":{"type":"Array","required":true,"desc":"Array of the keys of rows that were selected/unselected"},"added":{"type":"Boolean","required":true,"desc":"Were the rows added to selection (true) or removed from selection (false)"},"evt":{"type":"Event","desc":"JS event object","required":true}}}}},"update:pagination":{"desc":"Used by Vue on 'v-model:pagination' for updating its value","params":{"newPagination":{"type":"Object","desc":"The updated pagination object","definition":{"sortBy":{"type":["String","null"],"required":true,"desc":"Column name (from column definition)","examples":["'calories'"]},"descending":{"type":"Boolean","required":true,"desc":"Is sorting in descending order?"},"page":{"type":"Number","required":true,"desc":"Page number (1-based)"},"rowsPerPage":{"type":"Number","required":true,"desc":"How many rows per page? 0 means Infinite"},"rowsNumber":{"type":"Number","required":false,"desc":"For server-side fetching only. How many total database rows are there to be added to the table."}}}}},"update:selected":{"desc":"Used by Vue on 'v-model:selected' prop for updating its value","params":{"newSelected":{"type":"Array","desc":"The updated selected array","examples":["[ { name: 'Frozen Yogurt', calories: 159, fat: 6 } ]"]}}},"update:expanded":{"desc":"Used by Vue on 'v-model:expanded' prop for updating its value","params":{"newExpanded":{"type":"Array","desc":"The updated expanded array","examples":["[ 'row-a', 'row-b' ]"]}}},"virtual-scroll":{"desc":"Emitted when the virtual scroll occurs, if using virtual scroll","params":{"details":{"type":"Object","desc":"Object of properties on the new scroll position","definition":{"index":{"type":"Number","required":true,"desc":"Index of the list item that was scrolled into view (0 based)"},"from":{"type":"Number","required":true,"desc":"The index of the first list item that is rendered (0 based)"},"to":{"type":"Number","required":true,"desc":"The index of the last list item that is rendered (0 based)"},"direction":{"type":"String","required":true,"desc":"Direction of change","values":["'increase'","'decrease'"]},"ref":{"type":"Component","required":true,"desc":"Vue reference to the underlying QVirtualScroll instance"}}}}}},"methods":{"toggleFullscreen":{"desc":"Toggles fullscreen mode"},"setFullscreen":{"desc":"Enter the fullscreen view"},"exitFullscreen":{"desc":"Leave the fullscreen view"},"requestServerInteraction":{"desc":"Trigger a server request (emits 'request' event)","params":{"props":{"type":"Object","required":false,"desc":"Request details","definition":{"pagination":{"type":"Object","required":false,"desc":"Optional pagination object","definition":{"sortBy":{"type":"String","desc":"Column name (from column definition)","examples":["'calories'"]},"descending":{"type":"Boolean","desc":"Is sorting in descending order?"},"page":{"type":"Number","desc":"Page number (1-based)"},"rowsPerPage":{"type":"Number","desc":"How many rows per page? 0 means Infinite"},"rowsNumber":{"type":"Number","desc":"For server-side fetching only. How many total database rows are there to be added to the table."}}},"filter":{"type":"Function","desc":"Filtering method (the 'filter-method' prop)","params":{"rows":{"type":"Array","required":true,"desc":"Array of rows"},"terms":{"type":["String","Object"],"required":true,"desc":"Terms to filter with (is essentially the 'filter' prop value)"},"cols":{"type":"Array","desc":"Optional column definitions"},"getCellValue":{"type":"Function","desc":"Optional function to get a cell value","params":{"col":{"type":"Object","desc":"Column name from column definitions"},"row":{"type":"Object","desc":"The row object"}},"returns":{"type":"Any","desc":"Parsed/Processed cell value","examples":["'Ice Cream Sandwich'"]}}},"returns":{"type":"Array","desc":"Filtered rows"}}}}}},"setPagination":{"desc":"Unless using an external pagination Object (through 'v-model:pagination' prop), you can use this method and force the internal pagination to change","params":{"pagination":{"type":"Object","required":true,"desc":"Pagination object","definition":{"sortBy":{"type":["String","null"],"desc":"Column name (from column definition)","examples":["'calories'"]},"descending":{"type":"Boolean","desc":"Is sorting in descending order?"},"page":{"type":"Number","desc":"Page number (1-based)"},"rowsPerPage":{"type":"Number","desc":"How many rows per page? 0 means Infinite"}}},"forceServerRequest":{"type":"Boolean","desc":"Also force a server request"}}},"firstPage":{"desc":"Navigates to first page"},"prevPage":{"desc":"Navigates to previous page, if available"},"nextPage":{"desc":"Navigates to next page, if available"},"lastPage":{"desc":"Navigates to last page"},"isRowSelected":{"desc":"Determine if a row has been selected by user","params":{"key":{"type":"Any","required":true,"desc":"Row key value","examples":["'calories'"]}},"returns":{"type":"Boolean","desc":"Is row selected or not?"}},"clearSelection":{"desc":"Clears user selection (emits 'update:selected' with empty array)"},"isRowExpanded":{"desc":"Determine if a row is expanded or not","params":{"key":{"type":"Any","required":true,"desc":"Row key value","examples":["'calories'"]}},"returns":{"type":"Boolean","desc":"Is row expanded or not?"}},"setExpanded":{"desc":"Sets the expanded rows keys array; Especially useful if not using an external 'expanded' state otherwise just emits 'update:expanded' with the value","params":{"expanded":{"type":"Array","required":true,"desc":"Array containing keys of the expanded rows","examples":["[ 'row-a', 'row-b' ]"]}}},"sort":{"desc":"Trigger a table sort","params":{"col":{"type":["String","Object"],"required":true,"desc":"Column name or column definition object","examples":["'calories'"]}}},"resetVirtualScroll":{"desc":"Resets the virtual scroll (if using it) computations; Needed for custom edge-cases"},"scrollTo":{"desc":"Scroll the table to the row with the specified index in page (0 based)","params":{"index":{"type":["Number","String"],"required":true,"desc":"The index of the row in page (0 based)"},"edge":{"type":"String","desc":"Only for virtual scroll - the edge to align to if the row is not visible already; If the '-force' version is used then it always aligns; Default value: end (if scrolling towards the end) / start (if scrolling towards the start)","values":["'start'","'center'","'end'","'start-force'","'center-force'","'end-force'"],"default":"# end/start","required":false}}}},"computedProps":{"filteredSortedRows":{"desc":"The filtered and sorted rows (same as the rows prop if using server-side fetching)","type":"Array","examples":["[ { name: 'Ice Cream Sandwich', calories: 237, fat: 9.0, carbs: 37, protein: 4.3, sodium: 129, calcium: 8, iron: 1 }, ... ]"]},"computedRows":{"desc":"Paginated, filtered, and sorted rows (same as the rows prop if using server-side fetching)","type":"Array","examples":["[ { name: 'Ice Cream Sandwich', calories: 237, fat: 9.0, carbs: 37, protein: 4.3, sodium: 129, calcium: 8, iron: 1 }, ... ]"]},"computedRowsNumber":{"type":"Number","desc":"The number of computed rows"}}}
1
+ {"type":"component","meta":{"docsUrl":"https://v2.quasar.dev/vue-components/table"},"props":{"fullscreen":{"type":"Boolean","sync":true,"desc":"Fullscreen mode","examples":["# v-model:fullscreen=\"isFullscreen\""],"category":"behavior","syncable":true},"no-route-fullscreen-exit":{"type":"Boolean","desc":"Changing route app won't exit fullscreen","category":"behavior"},"rows":{"type":"Array","desc":"Rows of data to display","required":true,"examples":["# :rows=\"myData\""],"category":"general"},"row-key":{"type":["String","Function"],"desc":"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","default":"'id'","params":{"row":{"type":"Object","desc":"The current row being processed","examples":["{ name: 'Lorem Ipsum', price: 19 }"]}},"returns":{"type":"Any","desc":"Current row's key","examples":["'34f39dda-6206-4071-a9df-4393aabe49ac'","34"]},"examples":["'name'","row => row.name"],"category":"general","required":false},"virtual-scroll":{"type":"Boolean","desc":"Display data using QVirtualScroll (for non-grid mode only)","category":"virtual-scroll"},"virtual-scroll-target":{"type":["Element","String"],"desc":"CSS selector or DOM element to be used as a custom scroll container instead of the auto detected one","examples":[".scroll-target-class","#scroll-target-id","$refs.scrollTarget","document.body"],"category":"behavior"},"virtual-scroll-slice-size":{"type":["Number","String"],"desc":"Minimum number of rows to render in the virtual list","default":"30","category":"virtual-scroll","required":false},"virtual-scroll-slice-ratio-before":{"type":["Number","String"],"desc":"Ratio of number of rows in visible zone to render before it","default":"1","category":"virtual-scroll","required":false},"virtual-scroll-slice-ratio-after":{"type":["Number","String"],"desc":"Ratio of number of rows in visible zone to render after it","default":"1","category":"virtual-scroll","required":false},"virtual-scroll-item-size":{"type":["Number","String"],"desc":"Default size in pixels of a row; This value is used for rendering the initial table; Try to use a value close to the minimum size of a row; Default value: 48 (24 if dense)","default":"# 48/24","category":"virtual-scroll","required":false},"virtual-scroll-sticky-size-start":{"type":["Number","String"],"desc":"Size in pixels of the sticky header (if using one); A correct value will improve scroll precision; Will be also used for non-virtual-scroll tables for fixing top alignment when using scrollTo method","default":"0","category":"virtual-scroll|behavior","required":false},"virtual-scroll-sticky-size-end":{"type":["Number","String"],"desc":"Size in pixels of the sticky footer part (if using one); A correct value will improve scroll precision","default":"0","category":"virtual-scroll","required":false},"table-colspan":{"type":["Number","String"],"desc":"The number of columns in the table (you need this if you use table-layout: fixed)","category":"virtual-scroll|content"},"color":{"type":"String","tsType":"NamedColor","desc":"Color name for component from the Quasar Color Palette","examples":["'primary'","'teal'","'teal-10'"],"category":"style","default":"'grey-8'","required":false},"icon-first-page":{"type":"String","desc":"Icon name following Quasar convention for stepping to first page; Make sure you have the icon library installed unless you are using 'img:' prefix","examples":["'map'","'ion-add'","'img:https://cdn.quasar.dev/logo-v2/svg/logo.svg'","'img:path/to/some_image.png'"],"category":"content"},"icon-prev-page":{"type":"String","desc":"Icon name following Quasar convention for stepping to previous page; Make sure you have the icon library installed unless you are using 'img:' prefix","examples":["'map'","'ion-add'","'img:https://cdn.quasar.dev/logo-v2/svg/logo.svg'","'img:path/to/some_image.png'"],"category":"content"},"icon-next-page":{"type":"String","desc":"Icon name following Quasar convention for stepping to next page; Make sure you have the icon library installed unless you are using 'img:' prefix","examples":["'map'","'ion-add'","'img:https://cdn.quasar.dev/logo-v2/svg/logo.svg'","'img:path/to/some_image.png'"],"category":"content"},"icon-last-page":{"type":"String","desc":"Icon name following Quasar convention for stepping to last page; Make sure you have the icon library installed unless you are using 'img:' prefix","examples":["'map'","'ion-add'","'img:https://cdn.quasar.dev/logo-v2/svg/logo.svg'","'img:path/to/some_image.png'"],"category":"content"},"grid":{"type":"Boolean","desc":"Display data as a grid instead of the default table","category":"behavior"},"grid-header":{"type":"Boolean","desc":"Display header for grid-mode also","category":"behavior|content"},"dense":{"type":"Boolean","desc":"Dense mode; Connect with $q.screen for responsive behavior","category":"style"},"columns":{"type":"Array","desc":"The column definitions (Array of Objects)","examples":["# :columns=\"tableColumns\""],"category":"column","definition":{"name":{"type":"String","required":true,"desc":"Unique id, identifies column, (used by pagination.sortBy, 'body-cell-[name]' slot, ...)","examples":["'desc'"]},"label":{"type":"String","required":true,"desc":"Label for header","examples":["'Dessert (100g serving)'"]},"field":{"type":["String","Function"],"required":true,"desc":"Row Object property to determine value for this column or function which maps to the required property","params":{"row":{"type":"Object","required":true,"desc":"The current row being processed","examples":["{ name: 'Lorem Ipsum', prices: { active: 19, old: 25, list: 29 } }"]}},"returns":{"type":"Any","desc":"Value for this column","examples":["'19'","19"]},"examples":["'name'","row => row.prices.active"]},"required":{"type":"Boolean","desc":"If we use visible-columns, this col will always be visible"},"align":{"type":"String","desc":"Horizontal alignment of cells in this column","values":["'left'","'right'","'center'"],"default":"'right'","required":false},"sortable":{"type":"Boolean","desc":"Tell QTable you want this column sortable","default":"false","required":false},"sort":{"type":"Function","desc":"Compare function if you have some custom data or want a specific way to compare two rows; rows with null/undefined values will get sorted without triggering this method (use 'rawSort' instead if you want to handle those values too)","examples":["(a, b, _rowA, _rowB) => parseInt(a, 10) - parseInt(b, 10)"],"params":{"a":{"type":"Any","required":true,"desc":"Value of the first comparison term","examples":["123","'abc'"]},"b":{"type":"Any","required":true,"desc":"Value of the second comparison term","examples":["123","'abc'"]},"rowA":{"type":"Object","required":true,"desc":"Full Row object in which is contained the first term","examples":["{ name: 'Potassium', value: 'K' }"]},"rowB":{"type":"Object","required":true,"desc":"Full Row object in which is contained the second term","examples":["{ name: 'Fluorine', value: 'F' }"]}},"returns":{"type":"Number","desc":"Comparison result of term 'a' with term 'b'. Less than 0 when 'a' should come first; greater than 0 if 'b' should come first; equal to 0 if their position must not be changed with respect to each other","examples":["-1","0","1"]}},"rawSort":{"type":"Function","desc":"Compare function if you have some custom data or want a specific way to compare two rows; includes rows with null/undefined values (use 'sort' instead if you don't want that)","examples":["(a, b, _rowA, _rowB) => parseInt(a, 10) - parseInt(b, 10)"],"params":{"a":{"type":"Any","required":true,"desc":"Value of the first comparison term","examples":["123","'abc'"]},"b":{"type":"Any","required":true,"desc":"Value of the second comparison term","examples":["123","'abc'"]},"rowA":{"type":"Object","required":true,"desc":"Full Row object in which is contained the first term","examples":["{ name: 'Potassium', value: 'K' }"]},"rowB":{"type":"Object","required":true,"desc":"Full Row object in which is contained the second term","examples":["{ name: 'Fluorine', value: 'F' }"]}},"returns":{"type":"Number","desc":"Comparison result of term 'a' with term 'b'. Less than 0 when 'a' should come first; greater than 0 if 'b' should come first; equal to 0 if their position must not be changed with respect to each other","examples":["-1","0","1"]},"addedIn":"v2.13.0"},"sortOrder":{"type":"String","desc":"Set column sort order: 'ad' (ascending-descending) or 'da' (descending-ascending); Overrides the 'column-sort-order' prop","values":["'ad'","'da'"],"default":"'ad'","required":false},"format":{"type":"Function","desc":"Function you can apply to format your data","examples":["(val, _row) => `${ val }%`","val => val ? /* Unicode checkmark checked */ '☑' : /* Unicode checkmark unchecked */ '☐'"],"params":{"val":{"type":"Any","required":true,"desc":"Value of the cell","examples":["123","'abc'"]},"row":{"type":"Object","required":true,"desc":"Full Row object in which the cell is contained","examples":["{ name: 'Potassium', value: 'K' }"]}},"returns":{"type":"Any","desc":"The resulting formatted value","examples":["'20%'"]}},"style":{"type":["String","Function"],"desc":"Style to apply on normal cells of the column","params":{"row":{"type":"Object","required":true,"desc":"The current row being processed","examples":["{ name: 'Frozen Yogurt', calories: 159 }"]}},"returns":{"type":"String"},"examples":["'width: 500px'","row => (row.calories % 2 === 0 ? 'width: 10px' : 'font-size: 2em; font-weight: bold')"]},"classes":{"type":["String","Function"],"desc":"Classes to add on normal cells of the column","params":{"row":{"type":"Object","required":true,"desc":"The current row being processed","examples":["{ name: 'Frozen Yogurt', calories: 159 }"]}},"returns":{"type":"String"},"examples":["'my-special-class bg-primary'","row => (row.calories % 2 === 0 ? 'bg-green text-white' : 'bg-yellow')"]},"headerStyle":{"type":"String","desc":"Style to apply on header cells of the column","examples":["'width: 500px'"]},"headerClasses":{"type":"String","desc":"Classes to add on header cells of the column","examples":["'my-special-class'"]}}},"visible-columns":{"type":"Array","desc":"Array of Strings defining column names ('name' property of each column from 'columns' prop definitions); Columns marked as 'required' are not affected by this property","examples":["[ 'desc', 'carbs', 'protein' ]","# :visible-columns=\"myCols\""],"category":"column"},"loading":{"type":"Boolean","desc":"Put Table into 'loading' state; Notify the user something is happening behind the scenes","category":"behavior|content"},"title":{"type":"String","desc":"Table title","examples":["'Device list'"],"category":"content"},"hide-header":{"type":"Boolean","desc":"Hide table header layer","category":"content"},"hide-bottom":{"type":"Boolean","desc":"Hide table bottom layer regardless of what it has to display","category":"content"},"hide-selected-banner":{"type":"Boolean","desc":"Hide the selected rows banner (if any)","category":"content"},"hide-no-data":{"type":"Boolean","desc":"Hide the default no data bottom layer","category":"content"},"hide-pagination":{"type":"Boolean","desc":"Hide the pagination controls at the bottom","category":"content"},"dark":{"type":["Boolean","null"],"default":"null","desc":"Notify the component that the background is a dark color","category":"style","required":false},"flat":{"type":"Boolean","desc":"Applies a 'flat' design (no default shadow)","category":"style"},"bordered":{"type":"Boolean","desc":"Applies a default border to the component","category":"style"},"square":{"type":"Boolean","desc":"Removes border-radius so borders are squared","category":"style"},"separator":{"type":"String","desc":"Use a separator/border between rows, columns or all cells","default":"'horizontal'","values":["'horizontal'","'vertical'","'cell'","'none'"],"category":"content","required":false},"wrap-cells":{"type":"Boolean","desc":"Wrap text within table cells","category":"content"},"binary-state-sort":{"type":"Boolean","desc":"Skip the third state (unsorted) when user toggles column sort direction","category":"sorting"},"column-sort-order":{"type":"String","desc":"Set column sort order: 'ad' (ascending-descending) or 'da' (descending-ascending); It gets applied to all columns unless a column has its own sortOrder specified in the 'columns' definition prop","values":["'ad'","'da'"],"default":"'ad'","category":"sorting","required":false},"no-data-label":{"type":"String","desc":"Override default text to display when no data is available","examples":["'No devices available'"],"category":"content"},"no-results-label":{"type":"String","desc":"Override default text to display when user filters the table and no matched results are found","examples":["'No matched records'"],"category":"content"},"loading-label":{"type":"String","desc":"Override default text to display when table is in loading state (see 'loading' prop)","examples":["'Loading devices...'"],"category":"content"},"selected-rows-label":{"type":"Function","desc":"Text to display when user selected at least one row; For best performance, reference it from your scope and do not define it inline","params":{"numberOfRows":{"type":"Number","desc":"Number of rows available"}},"returns":{"type":"String","desc":"Label to display","examples":["'5 rows are selected'"]},"examples":["(numberOfRows) => `Selected: ${ numberOfRows } entries`"],"category":"selection"},"rows-per-page-label":{"type":"String","desc":"Text to override default rows per page label at bottom of table","examples":["'Records per page:'"],"category":"pagination"},"pagination-label":{"type":"Function","desc":"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","params":{"firstRowIndex":{"type":"Number","desc":"Index of first displayed row"},"endRowIndex":{"type":"Number","desc":"Index of last displayed row"},"totalRowsNumber":{"type":"Number","desc":"Number of total rows available in data"}},"returns":{"type":"String","desc":"Label to display","examples":["'1-10 of 132'"]},"examples":["(start, end, total) => `${ start }-${ end } of ${ total }`"],"category":"pagination"},"table-style":{"type":["String","Array","Object"],"tsType":"VueStyleProp","desc":"CSS style to apply to native HTML <table> element's wrapper (which is a DIV)","examples":["'background-color: #ff0000'","{ backgroundColor: '#ff0000' }"],"category":"style"},"table-class":{"type":["String","Array","Object"],"tsType":"VueClassProp","desc":"CSS classes to apply to native HTML <table> element's wrapper (which is a DIV)","examples":["'my-special-class'","{ 'my-special-class': true }"],"category":"style"},"table-header-style":{"type":["String","Array","Object"],"tsType":"VueStyleProp","desc":"CSS style to apply to header of native HTML <table> (which is a TR)","examples":["'background-color: #ff0000'","{ backgroundColor: '#ff0000' }"],"category":"style"},"table-header-class":{"type":["String","Array","Object"],"tsType":"VueClassProp","desc":"CSS classes to apply to header of native HTML <table> (which is a TR)","examples":["'my-special-class'","{ 'my-special-class': true }"],"category":"style"},"card-container-style":{"type":["String","Array","Object"],"tsType":"VueStyleProp","desc":"CSS style to apply to the cards container (when in grid mode)","examples":["'background-color: #ff0000'","{ backgroundColor: '#ff0000' }"],"category":"style"},"card-container-class":{"type":["String","Array","Object"],"tsType":"VueClassProp","desc":"CSS classes to apply to the cards container (when in grid mode)","examples":["'my-special-class'","'justify-center'","{ 'my-special-class': true }"],"category":"style"},"card-style":{"type":["String","Array","Object"],"tsType":"VueStyleProp","desc":"CSS style to apply to the card (when in grid mode) or container card (when not in grid mode)","examples":["'background-color: #ff0000'","{ backgroundColor: '#ff0000' }"],"category":"style"},"card-class":{"type":["String","Array","Object"],"tsType":"VueClassProp","desc":"CSS classes to apply to the card (when in grid mode) or container card (when not in grid mode)","examples":["'my-special-class'","{ 'my-special-class': true }"],"category":"style"},"title-class":{"type":["String","Array","Object"],"tsType":"VueClassProp","desc":"CSS classes to apply to the title (if using 'title' prop)","examples":["'my-special-class'","'text-h1'","{ 'text-h1': true }"],"category":"style"},"filter":{"type":["String","Object"],"desc":"String/Object to filter table with; When using an Object it requires 'filter-method' to also be specified since it will be a custom filtering","examples":["'car'"],"category":"filter"},"filter-method":{"type":"Function","desc":"The actual filtering mechanism; For best performance, reference it from your scope and do not define it inline","params":{"rows":{"type":"Array","desc":"Array of rows"},"terms":{"type":["String","Object"],"desc":"Terms to filter with (is essentially the 'filter' prop value)"},"cols":{"type":"Array","desc":"Column definitions"},"getCellValue":{"type":"Function","desc":"Optional function to get a cell value","params":{"col":{"type":"Object","required":true,"desc":"Column name from column definitions"},"row":{"type":"Object","required":true,"desc":"The row object"}},"returns":{"type":"Any","desc":"Parsed/Processed cell value","examples":["'Ice Cream Sandwich'"]}}},"returns":{"type":"Array","desc":"Filtered rows"},"default":"# see source code","examples":["# see source code"],"category":"filter","required":false},"pagination":{"type":"Object","desc":"Pagination object; You can also use the 'v-model:pagination' for synching; When not synching it simply initializes the pagination on first render","definition":{"sortBy":{"type":["String","null"],"desc":"Column name (from column definition)","examples":["'calories'"]},"descending":{"type":"Boolean","desc":"Is sorting in descending order?"},"page":{"type":"Number","desc":"Page number (1-based)"},"rowsPerPage":{"type":"Number","desc":"How many rows per page? 0 means Infinite"},"rowsNumber":{"type":"Number","desc":"For server-side fetching only. How many total database rows are there to be added to the table. If set, causes the QTable to emit @request when data is required."}},"syncable":true,"examples":["# :pagination=\"myInitialPagination\"","# v-model:pagination=\"myPagination\""],"category":"pagination"},"rows-per-page-options":{"type":"Array","desc":"Options for user to pick (Numbers); Number 0 means 'Show all rows in one page'","default":"[ 3, 5, 7, 10, 15, 20, 25, 50, 0 ]","examples":["[ 10, 20 ]"],"category":"pagination","required":false},"selection":{"type":"String","desc":"Selection type","default":"'none'","values":["'single'","'multiple'","'none'"],"category":"selection","required":false},"selected":{"type":"Array","desc":"Keeps the user selection array","default":"[]","syncable":true,"examples":["# v-model:selected=\"selection\""],"category":"selection","required":false},"expanded":{"type":"Array","desc":"Keeps the array with expanded rows keys","default":"[]","syncable":true,"examples":["# v-model:expanded=\"expanded\""],"category":"expansion","required":false},"sort-method":{"type":"Function","desc":"The actual sort mechanism. Function (rows, sortBy, descending) => sorted rows; For best performance, reference it from your scope and do not define it inline","params":{"rows":{"type":"Array","desc":"Array with rows"},"sortBy":{"type":"String","desc":"Column name (from column definition)","examples":["'calories'"]},"descending":{"type":"Boolean","desc":"Is sorting in descending order?"}},"returns":{"type":"Array","desc":"Sorted rows"},"default":"# see source code","examples":["# see source code"],"category":"sorting","required":false}},"slots":{"loading":{"desc":"Override default effect when table is in loading state; Suggestion: QInnerLoading"},"item":{"desc":"Slot to use for defining an item when in 'grid' mode; Suggestion: QCard","scope":{"key":{"type":"Any","desc":"Row/Item's key"},"row":{"type":"Object","desc":"Row/Item object"},"rowIndex":{"type":"Number","desc":"Row/Item's index (0 based) in the filtered and sorted table"},"pageIndex":{"type":"Number","desc":"Row/Item's index (0 based) in the current page of the filtered and sorted table"},"cols":{"type":"Object","desc":"Column definitions"},"colsMap":{"type":"Object","desc":"Column mapping (key is column name, value is column object)"},"sort":{"type":"Function","desc":"Trigger a table sort","params":{"col":{"type":["String","Object"],"required":true,"desc":"Column name or column definition object","examples":["'calories'"]}},"returns":null},"selected":{"type":"Boolean","desc":"(Only if using selection) Is row/item selected? Can directly be assigned new Boolean value which changes selection state","reactive":true},"expand":{"type":"Boolean","desc":"Is row/item expanded? Can directly be assigned new Boolean value which changes expanded state","reactive":true},"color":{"type":"String","tsType":"NamedColor","desc":"Color name for component from the Quasar Color Palette","examples":["'primary'","'teal'","'teal-10'"],"category":"style"},"dark":{"type":["Boolean","null"],"default":"null","desc":"Notify the component that the background is a dark color","category":"style","required":false},"dense":{"type":"Boolean","desc":"Dense mode; occupies less space","category":"style"}}},"body":{"desc":"Slot to define how a body row looks like; Suggestion: QTr + Td","scope":{"key":{"type":"Any","desc":"Row's key"},"row":{"type":"Object","desc":"Row object"},"rowIndex":{"type":"Number","desc":"Row's index (0 based) in the filtered and sorted table"},"pageIndex":{"type":"Number","desc":"Row's index (0 based) in the current page of the filtered and sorted table"},"cols":{"type":"Object","desc":"Column definitions"},"colsMap":{"type":"Object","desc":"Column mapping (key is column name, value is column object)"},"sort":{"type":"Function","desc":"Trigger a table sort","params":{"col":{"type":["String","Object"],"required":true,"desc":"Column name or column definition object","examples":["'calories'"]}},"returns":null},"selected":{"type":"Boolean","desc":"(Only if using selection) Is row selected? Can directly be assigned new Boolean value which changes selection state","reactive":true},"expand":{"type":"Boolean","desc":"Is row expanded? Can directly be assigned new Boolean value which changes expanded state","reactive":true},"color":{"type":"String","tsType":"NamedColor","desc":"Color name for component from the Quasar Color Palette","examples":["'primary'","'teal'","'teal-10'"],"category":"style"},"dark":{"type":["Boolean","null"],"default":"null","desc":"Notify the component that the background is a dark color","category":"style","required":false},"dense":{"type":"Boolean","desc":"Dense mode; occupies less space","category":"style"},"__trClass":{"type":"String","desc":"Internal prop passed down to QTr (if used)"}}},"body-cell":{"desc":"Slot to define how all body cells look like; Suggestion: QTd","scope":{"col":{"type":"Object","desc":"Column definition for column associated with table cell"},"value":{"type":"Any","desc":"Parsed/Formatted value of table cell"},"key":{"type":"Any","desc":"Row's key"},"row":{"type":"Object","desc":"Row object"},"rowIndex":{"type":"Number","desc":"Row's index (0 based) in the filtered and sorted table"},"pageIndex":{"type":"Number","desc":"Row's index (0 based) in the current page of the filtered and sorted table"},"cols":{"type":"Object","desc":"Column definitions"},"colsMap":{"type":"Object","desc":"Column mapping (key is column name, value is column object)"},"sort":{"type":"Function","desc":"Trigger a table sort","params":{"col":{"type":["String","Object"],"required":true,"desc":"Column name or column definition object","examples":["'calories'"]}},"returns":null},"selected":{"type":"Boolean","desc":"(Only if using selection) Is row selected? Can directly be assigned new Boolean value which changes selection state","reactive":true},"expand":{"type":"Boolean","desc":"Is row expanded? Can directly be assigned new Boolean value which changes expanded state","reactive":true},"color":{"type":"String","tsType":"NamedColor","desc":"Color name for component from the Quasar Color Palette","examples":["'primary'","'teal'","'teal-10'"],"category":"style"},"dark":{"type":["Boolean","null"],"default":"null","desc":"Notify the component that the background is a dark color","category":"style","required":false},"dense":{"type":"Boolean","desc":"Dense mode; occupies less space","category":"style"}}},"body-cell-[name]":{"desc":"Slot to define how a specific column cell looks like; replace '[name]' with column name (from columns definition object)","scope":{"col":{"type":"Object","desc":"Column definition for column associated with table cell"},"value":{"type":"Any","desc":"Parsed/Formatted value of table cell"},"key":{"type":"Any","desc":"Row's key"},"row":{"type":"Object","desc":"Row object"},"rowIndex":{"type":"Number","desc":"Row's index (0 based) in the filtered and sorted table"},"pageIndex":{"type":"Number","desc":"Row's index (0 based) in the current page of the filtered and sorted table"},"cols":{"type":"Object","desc":"Column definitions"},"colsMap":{"type":"Object","desc":"Column mapping (key is column name, value is column object)"},"sort":{"type":"Function","desc":"Trigger a table sort","params":{"col":{"type":["String","Object"],"required":true,"desc":"Column name or column definition object","examples":["'calories'"]}},"returns":null},"selected":{"type":"Boolean","desc":"(Only if using selection) Is row selected? Can directly be assigned new Boolean value which changes selection state","reactive":true},"expand":{"type":"Boolean","desc":"Is row expanded? Can directly be assigned new Boolean value which changes expanded state","reactive":true},"color":{"type":"String","tsType":"NamedColor","desc":"Color name for component from the Quasar Color Palette","examples":["'primary'","'teal'","'teal-10'"],"category":"style"},"dark":{"type":["Boolean","null"],"default":"null","desc":"Notify the component that the background is a dark color","category":"style","required":false},"dense":{"type":"Boolean","desc":"Dense mode; occupies less space","category":"style"}}},"header":{"desc":"Slot to define how header looks like; Suggestion: QTr + QTh","scope":{"cols":{"type":"Object","desc":"Column definitions"},"colsMap":{"type":"Object","desc":"Column mapping (key is column name, value is column object)"},"sort":{"type":"Function","desc":"Trigger a table sort","params":{"col":{"type":["String","Object"],"required":true,"desc":"Column name or column definition object","examples":["'calories'"]}},"returns":null},"selected":{"type":"Boolean","desc":"(Only if using selection) Is row selected? Can directly be assigned new Boolean value which changes selection state","reactive":true},"expand":{"type":"Boolean","desc":"Is row expanded? Can directly be assigned new Boolean value which changes expanded state","reactive":true},"color":{"type":"String","tsType":"NamedColor","desc":"Color name for component from the Quasar Color Palette","examples":["'primary'","'teal'","'teal-10'"],"category":"style"},"dark":{"type":["Boolean","null"],"default":"null","desc":"Notify the component that the background is a dark color","category":"style","required":false},"dense":{"type":"Boolean","desc":"Dense mode; occupies less space","category":"style"},"__trClass":{"type":"String","desc":"Internal prop passed down to QTr (if used)"},"header":{"type":"Boolean","desc":"Internal prop passed down to QTh (if used); Always 'true'"}}},"header-cell":{"desc":"Slot to define how each header cell looks like; Suggestion: QTh","scope":{"col":{"type":"Object","desc":"Column definition associated to header cell"},"cols":{"type":"Object","desc":"Column definitions"},"colsMap":{"type":"Object","desc":"Column mapping (key is column name, value is column object)"},"sort":{"type":"Function","desc":"Trigger a table sort","params":{"col":{"type":["String","Object"],"required":true,"desc":"Column name or column definition object","examples":["'calories'"]}},"returns":null},"selected":{"type":"Boolean","desc":"(Only if using selection) Is row selected? Can directly be assigned new Boolean value which changes selection state","reactive":true},"expand":{"type":"Boolean","desc":"Is row expanded? Can directly be assigned new Boolean value which changes expanded state","reactive":true},"color":{"type":"String","tsType":"NamedColor","desc":"Color name for component from the Quasar Color Palette","examples":["'primary'","'teal'","'teal-10'"],"category":"style"},"dark":{"type":["Boolean","null"],"default":"null","desc":"Notify the component that the background is a dark color","category":"style","required":false},"dense":{"type":"Boolean","desc":"Dense mode; occupies less space","category":"style"}}},"header-cell-[name]":{"desc":"Slot to define how a specific header cell looks like; replace '[name]' with column name (from columns definition object)","scope":{"col":{"type":"Object","desc":"Column definition associated to header cell"},"cols":{"type":"Object","desc":"Column definitions"},"colsMap":{"type":"Object","desc":"Column mapping (key is column name, value is column object)"},"sort":{"type":"Function","desc":"Trigger a table sort","params":{"col":{"type":["String","Object"],"required":true,"desc":"Column name or column definition object","examples":["'calories'"]}},"returns":null},"selected":{"type":"Boolean","desc":"(Only if using selection) Is row selected? Can directly be assigned new Boolean value which changes selection state","reactive":true},"expand":{"type":"Boolean","desc":"Is row expanded? Can directly be assigned new Boolean value which changes expanded state","reactive":true},"color":{"type":"String","tsType":"NamedColor","desc":"Color name for component from the Quasar Color Palette","examples":["'primary'","'teal'","'teal-10'"],"category":"style"},"dark":{"type":["Boolean","null"],"default":"null","desc":"Notify the component that the background is a dark color","category":"style","required":false},"dense":{"type":"Boolean","desc":"Dense mode; occupies less space","category":"style"}}},"body-selection":{"desc":"Slot to define how body selection column looks like; Suggestion: QCheckbox","scope":{"key":{"type":"Any","desc":"Row's key"},"row":{"type":"Object","desc":"Row object"},"rowIndex":{"type":"Number","desc":"Row's index (0 based) in the filtered and sorted table"},"pageIndex":{"type":"Number","desc":"Row's index (0 based) in the current page of the filtered and sorted table"},"cols":{"type":"Object","desc":"Column definitions"},"colsMap":{"type":"Object","desc":"Column mapping (key is column name, value is column object)"},"sort":{"type":"Function","desc":"Trigger a table sort","params":{"col":{"type":["String","Object"],"required":true,"desc":"Column name or column definition object","examples":["'calories'"]}},"returns":null},"selected":{"type":"Boolean","desc":"(Only if using selection) Is row selected? Can directly be assigned new Boolean value which changes selection state","reactive":true},"expand":{"type":"Boolean","desc":"Is row expanded? Can directly be assigned new Boolean value which changes expanded state","reactive":true},"color":{"type":"String","tsType":"NamedColor","desc":"Color name for component from the Quasar Color Palette","examples":["'primary'","'teal'","'teal-10'"],"category":"style"},"dark":{"type":["Boolean","null"],"default":"null","desc":"Notify the component that the background is a dark color","category":"style","required":false},"dense":{"type":"Boolean","desc":"Dense mode; occupies less space","category":"style"}}},"header-selection":{"desc":"Slot to define how header selection column looks like (available only for multiple selection mode); Suggestion: QCheckbox","scope":{"cols":{"type":"Object","desc":"Column definitions"},"colsMap":{"type":"Object","desc":"Column mapping (key is column name, value is column object)"},"sort":{"type":"Function","desc":"Trigger a table sort","params":{"col":{"type":["String","Object"],"required":true,"desc":"Column name or column definition object","examples":["'calories'"]}},"returns":null},"selected":{"type":"Boolean","desc":"(Only if using selection) Is row selected? Can directly be assigned new Boolean value which changes selection state","reactive":true},"expand":{"type":"Boolean","desc":"Is row expanded? Can directly be assigned new Boolean value which changes expanded state","reactive":true},"color":{"type":"String","tsType":"NamedColor","desc":"Color name for component from the Quasar Color Palette","examples":["'primary'","'teal'","'teal-10'"],"category":"style"},"dark":{"type":["Boolean","null"],"default":"null","desc":"Notify the component that the background is a dark color","category":"style","required":false},"dense":{"type":"Boolean","desc":"Dense mode; occupies less space","category":"style"}}},"top-row":{"desc":"Slot to define how top extra row looks like","scope":{"cols":{"type":"Object","desc":"Column definitions"}}},"bottom-row":{"desc":"Slot to define how bottom extra row looks like","scope":{"cols":{"type":"Object","desc":"Column definitions"}}},"top":{"desc":"Slot to define how table top looks like","scope":{"pagination":{"type":"Object","desc":"Pagination object","definition":{"sortBy":{"type":["String","null"],"required":true,"desc":"Column name (from column definition)","examples":["'calories'"]},"descending":{"type":"Boolean","required":true,"desc":"Is sorting in descending order?"},"page":{"type":"Number","required":true,"desc":"Page number (1-based)"},"rowsPerPage":{"type":"Number","required":true,"desc":"How many rows per page? 0 means Infinite"}}},"pagesNumber":{"type":"Number","desc":"Number of pages available"},"isFirstPage":{"type":"Boolean","desc":"Are we on first page?"},"isLastPage":{"type":"Boolean","desc":"Are we on last page?"},"firstPage":{"type":"Function","desc":"Navigates to first page","params":null,"returns":null},"prevPage":{"type":"Function","desc":"Navigates to previous page, if available","params":null,"returns":null},"nextPage":{"type":"Function","desc":"Navigates to next page, if available","params":null,"returns":null},"lastPage":{"type":"Function","desc":"Navigates to last page","params":null,"returns":null},"inFullscreen":{"type":"Boolean","desc":"Is table in fullscreen mode?"},"toggleFullscreen":{"type":"Function","desc":"Toggles fullscreen mode","params":null,"returns":null}}},"bottom":{"desc":"Slot to define how table bottom looks like","scope":{"pagination":{"type":"Object","desc":"Pagination object","definition":{"sortBy":{"type":["String","null"],"required":true,"desc":"Column name (from column definition)","examples":["'calories'"]},"descending":{"type":"Boolean","required":true,"desc":"Is sorting in descending order?"},"page":{"type":"Number","required":true,"desc":"Page number (1-based)"},"rowsPerPage":{"type":"Number","required":true,"desc":"How many rows per page? 0 means Infinite"}}},"pagesNumber":{"type":"Number","desc":"Number of pages available"},"isFirstPage":{"type":"Boolean","desc":"Are we on first page?"},"isLastPage":{"type":"Boolean","desc":"Are we on last page?"},"firstPage":{"type":"Function","desc":"Navigates to first page","params":null,"returns":null},"prevPage":{"type":"Function","desc":"Navigates to previous page, if available","params":null,"returns":null},"nextPage":{"type":"Function","desc":"Navigates to next page, if available","params":null,"returns":null},"lastPage":{"type":"Function","desc":"Navigates to last page","params":null,"returns":null},"inFullscreen":{"type":"Boolean","desc":"Is table in fullscreen mode?"},"toggleFullscreen":{"type":"Function","desc":"Toggles fullscreen mode","params":null,"returns":null}}},"pagination":{"desc":"Slot to override default pagination label and buttons","scope":{"pagination":{"type":"Object","desc":"Pagination object","definition":{"sortBy":{"type":["String","null"],"required":true,"desc":"Column name (from column definition)","examples":["'calories'"]},"descending":{"type":"Boolean","required":true,"desc":"Is sorting in descending order?"},"page":{"type":"Number","required":true,"desc":"Page number (1-based)"},"rowsPerPage":{"type":"Number","required":true,"desc":"How many rows per page? 0 means Infinite"}}},"pagesNumber":{"type":"Number","desc":"Number of pages available"},"isFirstPage":{"type":"Boolean","desc":"Are we on first page?"},"isLastPage":{"type":"Boolean","desc":"Are we on last page?"},"firstPage":{"type":"Function","desc":"Navigates to first page","params":null,"returns":null},"prevPage":{"type":"Function","desc":"Navigates to previous page, if available","params":null,"returns":null},"nextPage":{"type":"Function","desc":"Navigates to next page, if available","params":null,"returns":null},"lastPage":{"type":"Function","desc":"Navigates to last page","params":null,"returns":null},"inFullscreen":{"type":"Boolean","desc":"Is table in fullscreen mode?"},"toggleFullscreen":{"type":"Function","desc":"Toggles fullscreen mode","params":null,"returns":null}}},"top-left":{"desc":"Slot to define how left part of the table top looks like","scope":{"pagination":{"type":"Object","desc":"Pagination object","definition":{"sortBy":{"type":["String","null"],"required":true,"desc":"Column name (from column definition)","examples":["'calories'"]},"descending":{"type":"Boolean","required":true,"desc":"Is sorting in descending order?"},"page":{"type":"Number","required":true,"desc":"Page number (1-based)"},"rowsPerPage":{"type":"Number","required":true,"desc":"How many rows per page? 0 means Infinite"}}},"pagesNumber":{"type":"Number","desc":"Number of pages available"},"isFirstPage":{"type":"Boolean","desc":"Are we on first page?"},"isLastPage":{"type":"Boolean","desc":"Are we on last page?"},"firstPage":{"type":"Function","desc":"Navigates to first page","params":null,"returns":null},"prevPage":{"type":"Function","desc":"Navigates to previous page, if available","params":null,"returns":null},"nextPage":{"type":"Function","desc":"Navigates to next page, if available","params":null,"returns":null},"lastPage":{"type":"Function","desc":"Navigates to last page","params":null,"returns":null},"inFullscreen":{"type":"Boolean","desc":"Is table in fullscreen mode?"},"toggleFullscreen":{"type":"Function","desc":"Toggles fullscreen mode","params":null,"returns":null}}},"top-right":{"desc":"Slot to define how right part of the table top looks like","scope":{"pagination":{"type":"Object","desc":"Pagination object","definition":{"sortBy":{"type":["String","null"],"required":true,"desc":"Column name (from column definition)","examples":["'calories'"]},"descending":{"type":"Boolean","required":true,"desc":"Is sorting in descending order?"},"page":{"type":"Number","required":true,"desc":"Page number (1-based)"},"rowsPerPage":{"type":"Number","required":true,"desc":"How many rows per page? 0 means Infinite"}}},"pagesNumber":{"type":"Number","desc":"Number of pages available"},"isFirstPage":{"type":"Boolean","desc":"Are we on first page?"},"isLastPage":{"type":"Boolean","desc":"Are we on last page?"},"firstPage":{"type":"Function","desc":"Navigates to first page","params":null,"returns":null},"prevPage":{"type":"Function","desc":"Navigates to previous page, if available","params":null,"returns":null},"nextPage":{"type":"Function","desc":"Navigates to next page, if available","params":null,"returns":null},"lastPage":{"type":"Function","desc":"Navigates to last page","params":null,"returns":null},"inFullscreen":{"type":"Boolean","desc":"Is table in fullscreen mode?"},"toggleFullscreen":{"type":"Function","desc":"Toggles fullscreen mode","params":null,"returns":null}}},"top-selection":{"desc":"Slot to define how top table section looks like when user has selected at least one row","scope":{"pagination":{"type":"Object","desc":"Pagination object","definition":{"sortBy":{"type":["String","null"],"required":true,"desc":"Column name (from column definition)","examples":["'calories'"]},"descending":{"type":"Boolean","required":true,"desc":"Is sorting in descending order?"},"page":{"type":"Number","required":true,"desc":"Page number (1-based)"},"rowsPerPage":{"type":"Number","required":true,"desc":"How many rows per page? 0 means Infinite"}}},"pagesNumber":{"type":"Number","desc":"Number of pages available"},"isFirstPage":{"type":"Boolean","desc":"Are we on first page?"},"isLastPage":{"type":"Boolean","desc":"Are we on last page?"},"firstPage":{"type":"Function","desc":"Navigates to first page","params":null,"returns":null},"prevPage":{"type":"Function","desc":"Navigates to previous page, if available","params":null,"returns":null},"nextPage":{"type":"Function","desc":"Navigates to next page, if available","params":null,"returns":null},"lastPage":{"type":"Function","desc":"Navigates to last page","params":null,"returns":null},"inFullscreen":{"type":"Boolean","desc":"Is table in fullscreen mode?"},"toggleFullscreen":{"type":"Function","desc":"Toggles fullscreen mode","params":null,"returns":null}}},"no-data":{"desc":"Slot to define how the bottom will look like when is nothing to display","scope":{"message":{"type":"String","desc":"The suggested message","examples":["'No data available'"]},"icon":{"type":"String","desc":"The suggested icon name (following Quasar convention)","examples":["'warning'"]}}}},"events":{"fullscreen":{"desc":"Emitted when fullscreen state changes","params":{"value":{"type":"Boolean","desc":"Fullscreen state (showing/hidden)"}}},"row-click":{"desc":"Emitted when user clicks/taps on a row; Is not emitted when using body/row/item scoped slots","params":{"evt":{"type":"Event","desc":"JS event object"},"row":{"type":"Object","desc":"The row upon which user has clicked/tapped"},"index":{"type":"Number","desc":"Index of the row in the current page"}}},"row-dblclick":{"desc":"Emitted when user quickly double clicks/taps on a row; Is not emitted when using body/row/item scoped slots; Please check JS dblclick event support before using","params":{"evt":{"type":"Event","desc":"JS event object"},"row":{"type":"Object","desc":"The row upon which user has double clicked/tapped"},"index":{"type":"Number","desc":"Index of the row in the current page"}}},"row-contextmenu":{"desc":"Emitted when user right clicks/long taps on a row; Is not emitted when using body/row/item scoped slots","params":{"evt":{"type":"Event","desc":"JS event object"},"row":{"type":"Object","desc":"The row upon which user has right clicked/long tapped"},"index":{"type":"Number","desc":"Index of the row in the current page"}}},"request":{"desc":"Emitted when a server request is triggered","params":{"requestProp":{"type":"Object","desc":"Props of the request","definition":{"pagination":{"type":"Object","required":true,"desc":"Pagination object","definition":{"sortBy":{"type":"String","required":true,"desc":"Column name (from column definition)","examples":["'calories'"]},"descending":{"type":"Boolean","required":true,"desc":"Is sorting in descending order?"},"page":{"type":"Number","required":true,"desc":"Page number (1-based)"},"rowsPerPage":{"type":"Number","required":true,"desc":"How many rows per page? 0 means Infinite"}}},"filter":{"type":["String","Object"],"desc":"String/Object to filter table with (the 'filter' prop)"},"getCellValue":{"type":"Function","required":true,"desc":"Function to get a cell value","params":{"col":{"type":"Object","required":true,"desc":"Column name from column definitions"},"row":{"type":"Object","required":true,"desc":"The row object"}},"returns":{"type":"Any","desc":"Parsed/Processed cell value","examples":["'Ice Cream Sandwich'"]}}}}}},"selection":{"desc":"Emitted when user selects/unselects row(s)","params":{"details":{"type":"Object","desc":"Selection details","definition":{"rows":{"type":"Array","required":true,"desc":"Array of row objects that were selected/unselected"},"keys":{"type":"Array","required":true,"desc":"Array of the keys of rows that were selected/unselected"},"added":{"type":"Boolean","required":true,"desc":"Were the rows added to selection (true) or removed from selection (false)"},"evt":{"type":"Event","desc":"JS event object","required":true}}}}},"update:pagination":{"desc":"Used by Vue on 'v-model:pagination' for updating its value","params":{"newPagination":{"type":"Object","desc":"The updated pagination object","definition":{"sortBy":{"type":["String","null"],"required":true,"desc":"Column name (from column definition)","examples":["'calories'"]},"descending":{"type":"Boolean","required":true,"desc":"Is sorting in descending order?"},"page":{"type":"Number","required":true,"desc":"Page number (1-based)"},"rowsPerPage":{"type":"Number","required":true,"desc":"How many rows per page? 0 means Infinite"},"rowsNumber":{"type":"Number","required":false,"desc":"For server-side fetching only. How many total database rows are there to be added to the table."}}}}},"update:selected":{"desc":"Used by Vue on 'v-model:selected' prop for updating its value","params":{"newSelected":{"type":"Array","desc":"The updated selected array","examples":["[ { name: 'Frozen Yogurt', calories: 159, fat: 6 } ]"]}}},"update:expanded":{"desc":"Used by Vue on 'v-model:expanded' prop for updating its value","params":{"newExpanded":{"type":"Array","desc":"The updated expanded array","examples":["[ 'row-a', 'row-b' ]"]}}},"virtual-scroll":{"desc":"Emitted when the virtual scroll occurs, if using virtual scroll","params":{"details":{"type":"Object","desc":"Object of properties on the new scroll position","definition":{"index":{"type":"Number","required":true,"desc":"Index of the list item that was scrolled into view (0 based)"},"from":{"type":"Number","required":true,"desc":"The index of the first list item that is rendered (0 based)"},"to":{"type":"Number","required":true,"desc":"The index of the last list item that is rendered (0 based)"},"direction":{"type":"String","required":true,"desc":"Direction of change","values":["'increase'","'decrease'"]},"ref":{"type":"Component","required":true,"desc":"Vue reference to the underlying QVirtualScroll instance"}}}}}},"methods":{"toggleFullscreen":{"desc":"Toggles fullscreen mode","params":null,"returns":null},"setFullscreen":{"desc":"Enter the fullscreen view","params":null,"returns":null},"exitFullscreen":{"desc":"Leave the fullscreen view","params":null,"returns":null},"requestServerInteraction":{"desc":"Trigger a server request (emits 'request' event)","params":{"props":{"type":"Object","required":false,"desc":"Request details","definition":{"pagination":{"type":"Object","required":false,"desc":"Optional pagination object","definition":{"sortBy":{"type":"String","desc":"Column name (from column definition)","examples":["'calories'"]},"descending":{"type":"Boolean","desc":"Is sorting in descending order?"},"page":{"type":"Number","desc":"Page number (1-based)"},"rowsPerPage":{"type":"Number","desc":"How many rows per page? 0 means Infinite"},"rowsNumber":{"type":"Number","desc":"For server-side fetching only. How many total database rows are there to be added to the table."}}},"filter":{"type":"Function","desc":"Filtering method (the 'filter-method' prop)","params":{"rows":{"type":"Array","required":true,"desc":"Array of rows"},"terms":{"type":["String","Object"],"required":true,"desc":"Terms to filter with (is essentially the 'filter' prop value)"},"cols":{"type":"Array","desc":"Optional column definitions"},"getCellValue":{"type":"Function","desc":"Optional function to get a cell value","params":{"col":{"type":"Object","desc":"Column name from column definitions"},"row":{"type":"Object","desc":"The row object"}},"returns":{"type":"Any","desc":"Parsed/Processed cell value","examples":["'Ice Cream Sandwich'"]}}},"returns":{"type":"Array","desc":"Filtered rows"}}}}},"returns":null},"setPagination":{"desc":"Unless using an external pagination Object (through 'v-model:pagination' prop), you can use this method and force the internal pagination to change","params":{"pagination":{"type":"Object","required":true,"desc":"Pagination object","definition":{"sortBy":{"type":["String","null"],"desc":"Column name (from column definition)","examples":["'calories'"]},"descending":{"type":"Boolean","desc":"Is sorting in descending order?"},"page":{"type":"Number","desc":"Page number (1-based)"},"rowsPerPage":{"type":"Number","desc":"How many rows per page? 0 means Infinite"}}},"forceServerRequest":{"type":"Boolean","desc":"Also force a server request"}},"returns":null},"firstPage":{"desc":"Navigates to first page","params":null,"returns":null},"prevPage":{"desc":"Navigates to previous page, if available","params":null,"returns":null},"nextPage":{"desc":"Navigates to next page, if available","params":null,"returns":null},"lastPage":{"desc":"Navigates to last page","params":null,"returns":null},"isRowSelected":{"desc":"Determine if a row has been selected by user","params":{"key":{"type":"Any","required":true,"desc":"Row key value","examples":["'calories'"]}},"returns":{"type":"Boolean","desc":"Is row selected or not?"}},"clearSelection":{"desc":"Clears user selection (emits 'update:selected' with empty array)","params":null,"returns":null},"isRowExpanded":{"desc":"Determine if a row is expanded or not","params":{"key":{"type":"Any","required":true,"desc":"Row key value","examples":["'calories'"]}},"returns":{"type":"Boolean","desc":"Is row expanded or not?"}},"setExpanded":{"desc":"Sets the expanded rows keys array; Especially useful if not using an external 'expanded' state otherwise just emits 'update:expanded' with the value","params":{"expanded":{"type":"Array","required":true,"desc":"Array containing keys of the expanded rows","examples":["[ 'row-a', 'row-b' ]"]}},"returns":null},"sort":{"desc":"Trigger a table sort","params":{"col":{"type":["String","Object"],"required":true,"desc":"Column name or column definition object","examples":["'calories'"]}},"returns":null},"resetVirtualScroll":{"desc":"Resets the virtual scroll (if using it) computations; Needed for custom edge-cases","params":null,"returns":null},"scrollTo":{"desc":"Scroll the table to the row with the specified index in page (0 based)","params":{"index":{"type":["Number","String"],"required":true,"desc":"The index of the row in page (0 based)"},"edge":{"type":"String","desc":"Only for virtual scroll - the edge to align to if the row is not visible already; If the '-force' version is used then it always aligns; Default value: end (if scrolling towards the end) / start (if scrolling towards the start)","values":["'start'","'center'","'end'","'start-force'","'center-force'","'end-force'"],"default":"# end/start","required":false}},"returns":null}},"computedProps":{"filteredSortedRows":{"desc":"The filtered and sorted rows (same as the rows prop if using server-side fetching)","type":"Array","examples":["[ { name: 'Ice Cream Sandwich', calories: 237, fat: 9.0, carbs: 37, protein: 4.3, sodium: 129, calcium: 8, iron: 1 }, ... ]"]},"computedRows":{"desc":"Paginated, filtered, and sorted rows (same as the rows prop if using server-side fetching)","type":"Array","examples":["[ { name: 'Ice Cream Sandwich', calories: 237, fat: 9.0, carbs: 37, protein: 4.3, sodium: 129, calcium: 8, iron: 1 }, ... ]"]},"computedRowsNumber":{"type":"Number","desc":"The number of computed rows"}}}
@@ -1 +1 @@
1
- {"type":"component","meta":{"docsUrl":"https://v2.quasar.dev/vue-components/time"},"props":{"name":{"type":"String","desc":"Used to specify the name of the control; Useful if dealing with forms submitted directly to a URL","examples":["'car_id'"],"category":"behavior"},"landscape":{"type":"Boolean","desc":"Display the component in landscape mode","category":"behavior"},"mask":{"type":["String","null"],"desc":"Mask (formatting string) used for parsing and formatting value","category":"model","default":"'HH:mm'","examples":["'HH:mm:ss'","'YYYY-MM-DD HH:mm:ss'","'HH:mm MMMM Do, YYYY'"],"required":false},"locale":{"type":"Object","desc":"Locale formatting options","examples":["{ monthsShort: ['Ian', 'Feb', 'Mar', '...'] }"],"definition":{"days":{"type":"Array","desc":"List of full day names (DDDD), starting with Sunday","examples":["['Duminica', 'Luni', 'Marti', '...']"]},"daysShort":{"type":"Array","desc":"List of short day names (DDD), starting with Sunday","examples":["['Dum', 'Lun', 'Mar', '...']"]},"months":{"type":"Array","desc":"List of full month names (MMMM), starting with January","examples":["['Ianuarie', 'Februarie', 'Martie', '...']"]},"monthsShort":{"type":"Array","desc":"List of short month names (MMM), starting with January","examples":["['Ian', 'Feb', 'Mar', '...']"]}},"category":"model"},"calendar":{"type":"String","desc":"Specify calendar type","default":"'gregorian'","values":["'gregorian'","'persian'"],"category":"model","required":false},"color":{"type":"String","tsType":"NamedColor","desc":"Color name for component from the Quasar Color Palette","examples":["'primary'","'teal'","'teal-10'"],"category":"style"},"text-color":{"type":"String","tsType":"NamedColor","desc":"Overrides text color (if needed); Color name from the Quasar Color Palette","examples":["'primary'","'teal'","'teal-10'"],"category":"style"},"dark":{"type":["Boolean","null"],"default":"null","desc":"Notify the component that the background is a dark color","category":"style","required":false},"square":{"type":"Boolean","desc":"Removes border-radius so borders are squared","category":"style"},"flat":{"type":"Boolean","desc":"Applies a 'flat' design (no default shadow)","category":"style"},"bordered":{"type":"Boolean","desc":"Applies a default border to the component","category":"style"},"readonly":{"type":"Boolean","desc":"Put component in readonly mode","category":"state"},"disable":{"type":"Boolean","desc":"Put component in disabled mode","category":"state"},"model-value":{"desc":"Time of the component; Either use this property (along with a listener for 'update:modelValue' event) OR use v-model directive","required":true,"syncable":true,"category":"model","type":["String","null","undefined"],"examples":["# v-model=\"currentTime\""]},"format24h":{"type":["Boolean","null"],"default":"null","desc":"Forces 24 hour time display instead of AM/PM system; If prop is not set, then the default is based on Quasar lang language being used","category":"behavior","required":false},"default-date":{"type":"String","desc":"The default date to use (in YYYY/MM/DD format) when model is unfilled (undefined or null)","default":"# current day","examples":["'1995/02/23'"],"category":"model","required":false},"options":{"type":"Function","desc":"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","params":{"hr":{"type":"Number","desc":"Hour"},"min":{"type":["Number","null"],"desc":"Minutes"},"sec":{"type":["Number","null"],"desc":"Seconds"}},"returns":{"type":["Boolean","null","undefined"],"desc":"Is the user allowed to set the specified time?"},"examples":["(hr, min, sec) => hr <= 6"],"category":"behavior"},"hour-options":{"type":"Array","desc":"Optionally configure what hours is the user allowed to set; Overrides 'options' prop if that is also set","examples":["[ 3, 6, 9 ]"],"category":"behavior"},"minute-options":{"type":"Array","desc":"Optionally configure what minutes is the user allowed to set; Overrides 'options' prop if that is also set","examples":["[0, 15, 30, 45]"],"category":"behavior"},"second-options":{"type":"Array","desc":"Optionally configure what seconds is the user allowed to set; Overrides 'options' prop if that is also set","examples":["[0, 7, 10, 23]"],"category":"behavior"},"with-seconds":{"type":"Boolean","desc":"Allow the time to be set with seconds","category":"model|behavior"},"now-btn":{"type":"Boolean","desc":"Display a button that selects the current time","category":"content"}},"slots":{"default":{"desc":"This is where additional buttons can go"}},"events":{"update:model-value":{"desc":"Emitted when the component needs to change the model; Is also used by v-model","params":{"value":{"type":["String","null"],"desc":"New model value","required":true},"details":{"type":"Object","desc":"Object of properties on the new model","definition":{"year":{"type":"Number","required":true,"desc":"The year"},"month":{"type":"Number","required":true,"desc":"The month"},"day":{"type":"Number","required":true,"desc":"The day of the month"},"hour":{"type":"Number","required":true,"desc":"The hour"},"minute":{"type":"Number","required":true,"desc":"The minute"},"second":{"type":"Number","required":true,"desc":"The second"},"millisecond":{"type":"Number","required":true,"desc":"The millisecond"},"changed":{"type":"Boolean","required":true,"desc":"Did the model change?"}}}}}},"methods":{"setNow":{"desc":"Change model to current moment"}}}
1
+ {"type":"component","meta":{"docsUrl":"https://v2.quasar.dev/vue-components/time"},"props":{"name":{"type":"String","desc":"Used to specify the name of the control; Useful if dealing with forms submitted directly to a URL","examples":["'car_id'"],"category":"behavior"},"landscape":{"type":"Boolean","desc":"Display the component in landscape mode","category":"behavior"},"mask":{"type":["String","null"],"desc":"Mask (formatting string) used for parsing and formatting value","category":"model","default":"'HH:mm'","examples":["'HH:mm:ss'","'YYYY-MM-DD HH:mm:ss'","'HH:mm MMMM Do, YYYY'"],"required":false},"locale":{"type":"Object","desc":"Locale formatting options","examples":["{ monthsShort: [ 'Ian', 'Feb', 'Mar', '...' ] }"],"definition":{"days":{"type":"Array","desc":"List of full day names (DDDD), starting with Sunday","examples":["[ 'Duminica', 'Luni', 'Marti', '...' ]"]},"daysShort":{"type":"Array","desc":"List of short day names (DDD), starting with Sunday","examples":["[ 'Dum', 'Lun', 'Mar', '...' ]"]},"months":{"type":"Array","desc":"List of full month names (MMMM), starting with January","examples":["[ 'Ianuarie', 'Februarie', 'Martie', '...' ]"]},"monthsShort":{"type":"Array","desc":"List of short month names (MMM), starting with January","examples":["[ 'Ian', 'Feb', 'Mar', '...' ]"]}},"category":"model"},"calendar":{"type":"String","desc":"Specify calendar type","default":"'gregorian'","values":["'gregorian'","'persian'"],"category":"model","required":false},"color":{"type":"String","tsType":"NamedColor","desc":"Color name for component from the Quasar Color Palette","examples":["'primary'","'teal'","'teal-10'"],"category":"style"},"text-color":{"type":"String","tsType":"NamedColor","desc":"Overrides text color (if needed); Color name from the Quasar Color Palette","examples":["'primary'","'teal'","'teal-10'"],"category":"style"},"dark":{"type":["Boolean","null"],"default":"null","desc":"Notify the component that the background is a dark color","category":"style","required":false},"square":{"type":"Boolean","desc":"Removes border-radius so borders are squared","category":"style"},"flat":{"type":"Boolean","desc":"Applies a 'flat' design (no default shadow)","category":"style"},"bordered":{"type":"Boolean","desc":"Applies a default border to the component","category":"style"},"readonly":{"type":"Boolean","desc":"Put component in readonly mode","category":"state"},"disable":{"type":"Boolean","desc":"Put component in disabled mode","category":"state"},"model-value":{"desc":"Time of the component; Either use this property (along with a listener for 'update:modelValue' event) OR use v-model directive","required":true,"syncable":true,"category":"model","type":["String","null","undefined"],"examples":["# v-model=\"currentTime\""]},"format24h":{"type":["Boolean","null"],"default":"null","desc":"Forces 24 hour time display instead of AM/PM system; If prop is not set, then the default is based on Quasar lang language being used","category":"behavior","required":false},"default-date":{"type":"String","desc":"The default date to use (in YYYY/MM/DD format) when model is unfilled (undefined or null)","default":"# current day","examples":["'1995/02/23'"],"category":"model","required":false},"options":{"type":"Function","desc":"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","params":{"hr":{"type":"Number","desc":"Hour"},"min":{"type":["Number","null"],"desc":"Minutes"},"sec":{"type":["Number","null"],"desc":"Seconds"}},"returns":{"type":["Boolean","null","undefined"],"desc":"Is the user allowed to set the specified time?"},"examples":["(hr, min, sec) => hr <= 6"],"category":"behavior"},"hour-options":{"type":"Array","desc":"Optionally configure what hours is the user allowed to set; Overrides 'options' prop if that is also set","examples":["[ 3, 6, 9 ]"],"category":"behavior"},"minute-options":{"type":"Array","desc":"Optionally configure what minutes is the user allowed to set; Overrides 'options' prop if that is also set","examples":["[ 0, 15, 30, 45 ]"],"category":"behavior"},"second-options":{"type":"Array","desc":"Optionally configure what seconds is the user allowed to set; Overrides 'options' prop if that is also set","examples":["[ 0, 7, 10, 23 ]"],"category":"behavior"},"with-seconds":{"type":"Boolean","desc":"Allow the time to be set with seconds","category":"model|behavior"},"now-btn":{"type":"Boolean","desc":"Display a button that selects the current time","category":"content"}},"slots":{"default":{"desc":"This is where additional buttons can go"}},"events":{"update:model-value":{"desc":"Emitted when the component needs to change the model; Is also used by v-model","params":{"value":{"type":["String","null"],"desc":"New model value","required":true},"details":{"type":"Object","desc":"Object of properties on the new model","definition":{"year":{"type":"Number","required":true,"desc":"The year"},"month":{"type":"Number","required":true,"desc":"The month"},"day":{"type":"Number","required":true,"desc":"The day of the month"},"hour":{"type":"Number","required":true,"desc":"The hour"},"minute":{"type":"Number","required":true,"desc":"The minute"},"second":{"type":"Number","required":true,"desc":"The second"},"millisecond":{"type":"Number","required":true,"desc":"The millisecond"},"changed":{"type":"Boolean","required":true,"desc":"Did the model change?"}}}}}},"methods":{"setNow":{"desc":"Change model to current moment","params":null,"returns":null}}}
@@ -1 +1 @@
1
- {"type":"component","meta":{"docsUrl":"https://v2.quasar.dev/vue-components/timeline"},"props":{"heading":{"type":"Boolean","desc":"Defines a heading timeline item","category":"content"},"tag":{"type":"String","desc":"Tag to use, if of type 'heading' only","examples":["'div'","'span'","'h1'"],"category":"content","default":"'h3'","required":false},"side":{"type":"String","desc":"Side to place the timeline entry; Works only if QTimeline layout is loose.","default":"'right'","values":["'left'","'right'"],"category":"behavior","required":false},"icon":{"type":"String","desc":"Icon name following Quasar convention; Make sure you have the icon library installed unless you are using 'img:' prefix; If 'none' (String) is used as value then no icon is rendered (but screen real estate will still be used for it)","examples":["'map'","'ion-add'","'img:https://cdn.quasar.dev/logo-v2/svg/logo.svg'","'img:path/to/some_image.png'"],"category":"content"},"avatar":{"type":"String","desc":"URL to the avatar image; Icon takes precedence if used, so it replaces avatar","transformAssetUrls":true,"examples":["# (public folder) src=\"img/my-bg.png\"","# (assets folder) src=\"~assets/my-img.png\"","# (relative path format) :src=\"require('./my_img.jpg')\"","# (URL) src=\"https://picsum.photos/500/300\""],"category":"content"},"color":{"type":"String","tsType":"NamedColor","desc":"Color name for component from the Quasar Color Palette","examples":["'primary'","'teal'","'teal-10'"],"category":"style"},"title":{"type":"String","desc":"Title of timeline entry; Is overridden if using 'title' slot","examples":["'December party'"],"category":"content"},"subtitle":{"type":"String","desc":"Subtitle of timeline entry; Is overridden if using 'subtitle' slot","examples":["'All invited'"],"category":"content"},"body":{"type":"String","desc":"Body content of timeline entry; Use this prop or the default slot","examples":["'Lorem ipsum dolor sit amet, consectetur adipisicing elit.'"],"category":"content"}},"slots":{"default":{"desc":"Timeline entry content (body)"},"title":{"desc":"Optional slot for title; When used, it overrides 'title' prop"},"subtitle":{"desc":"Optional slot for subtitle; When used, it overrides 'subtitle' prop"}}}
1
+ {"type":"component","meta":{"docsUrl":"https://v2.quasar.dev/vue-components/timeline"},"props":{"heading":{"type":"Boolean","desc":"Defines a heading timeline item","category":"content"},"tag":{"type":"String","desc":"Tag to use, if of type 'heading' only","category":"content","default":"'h3'","examples":["'h1'"],"required":false},"side":{"type":"String","desc":"Side to place the timeline entry; Works only if QTimeline layout is loose.","default":"'right'","values":["'left'","'right'"],"category":"behavior","required":false},"icon":{"type":"String","desc":"Icon name following Quasar convention; Make sure you have the icon library installed unless you are using 'img:' prefix; If 'none' (String) is used as value then no icon is rendered (but screen real estate will still be used for it)","examples":["'map'","'ion-add'","'img:https://cdn.quasar.dev/logo-v2/svg/logo.svg'","'img:path/to/some_image.png'"],"category":"content"},"avatar":{"type":"String","desc":"URL to the avatar image; Icon takes precedence if used, so it replaces avatar","transformAssetUrls":true,"examples":["# (public folder) src=\"img/my-bg.png\"","# (assets folder) src=\"~assets/my-img.png\"","# (relative path format) :src=\"require('./my_img.jpg')\"","# (URL) src=\"https://picsum.photos/500/300\""],"category":"content"},"color":{"type":"String","tsType":"NamedColor","desc":"Color name for component from the Quasar Color Palette","examples":["'primary'","'teal'","'teal-10'"],"category":"style"},"title":{"type":"String","desc":"Title of timeline entry; Is overridden if using 'title' slot","examples":["'December party'"],"category":"content"},"subtitle":{"type":"String","desc":"Subtitle of timeline entry; Is overridden if using 'subtitle' slot","examples":["'All invited'"],"category":"content"},"body":{"type":"String","desc":"Body content of timeline entry; Use this prop or the default slot","examples":["'Lorem ipsum dolor sit amet, consectetur adipisicing elit.'"],"category":"content"}},"slots":{"default":{"desc":"Timeline entry content (body)"},"title":{"desc":"Optional slot for title; When used, it overrides 'title' prop"},"subtitle":{"desc":"Optional slot for subtitle; When used, it overrides 'subtitle' prop"}}}
@@ -1 +1 @@
1
- {"type":"component","meta":{"docsUrl":"https://v2.quasar.dev/vue-components/toggle"},"props":{"name":{"type":"String","desc":"Used to specify the name of the control; Useful if dealing with forms submitted directly to a URL","examples":["'car_id'"],"category":"behavior"},"size":{"type":"String","desc":"Size in CSS units, including unit name or standard size name (xs|sm|md|lg|xl)","examples":["'16px'","'2rem'","'xs'","'md'"],"category":"style"},"model-value":{"desc":"Model of the component; Either use this property (along with a listener for 'update:model-value' event) OR use v-model directive","required":true,"syncable":true,"category":"model","type":["Any","Array"],"examples":["false","['car', 'building']"]},"val":{"type":"Any","desc":"Works when model ('value') is Array. It tells the component which value should add/remove when ticked/unticked","examples":["'car'"],"category":"model"},"true-value":{"type":"Any","desc":"What model value should be considered as checked/ticked/on?","default":"true","examples":["'Agreed'"],"category":"model","required":false},"false-value":{"type":"Any","desc":"What model value should be considered as unchecked/unticked/off?","default":"false","examples":["'Disagree'"],"category":"model","required":false},"indeterminate-value":{"type":"Any","desc":"What model value should be considered as 'indeterminate'?","default":"null","examples":["0","'not_answered'"],"category":"model","required":false},"toggle-order":{"type":"String","desc":"Determines toggle order of the two states ('t' stands for state of true, 'f' for state of false); If 'toggle-indeterminate' is true, then the order is: indet -> first state -> second state -> indet (and repeat), otherwise: indet -> first state -> second state -> first state -> second state -> ...","default":"'tf'","values":["'tf'","'ft'"],"category":"behavior","required":false},"toggle-indeterminate":{"type":"Boolean","desc":"When user clicks/taps on the component, should we toggle through the indeterminate state too?","category":"behavior"},"label":{"type":"String","desc":"Label to display along the component (or use the default slot instead of this prop)","examples":["'I agree with the Terms and Conditions'"],"category":"label"},"left-label":{"type":"Boolean","desc":"Label (if any specified) should be displayed on the left side of the component","category":"label"},"checked-icon":{"type":"String","examples":["'visibility'"],"category":"icons","desc":"The icon to be used when the toggle is on"},"unchecked-icon":{"type":"String","examples":["'visibility_off'"],"category":"icons","desc":"The icon to be used when the toggle is off"},"indeterminate-icon":{"type":"String","examples":["'help'"],"category":"icons","desc":"The icon to be used when the model is indeterminate"},"color":{"type":"String","tsType":"NamedColor","desc":"Color name for component from the Quasar Color Palette","examples":["'primary'","'teal'","'teal-10'"],"category":"style"},"keep-color":{"type":"Boolean","desc":"Should the color (if specified any) be kept when the component is unticked/ off?","category":"behavior"},"dark":{"type":["Boolean","null"],"default":"null","desc":"Notify the component that the background is a dark color","category":"style","required":false},"dense":{"type":"Boolean","desc":"Dense mode; occupies less space","category":"style"},"disable":{"type":"Boolean","desc":"Put component in disabled mode","category":"state"},"tabindex":{"type":["Number","String"],"desc":"Tabindex HTML attribute value","examples":["100","'0'"],"category":"general"},"icon":{"type":"String","desc":"Icon name following Quasar convention; Make sure you have the icon library installed unless you are using 'img:' prefix; If 'none' (String) is used as value then no icon is rendered (but screen real estate will still be used for it)","examples":["'map'","'ion-add'","'img:https://cdn.quasar.dev/logo-v2/svg/logo.svg'","'img:path/to/some_image.png'"],"category":"content"},"icon-color":{"type":"String","tsType":"NamedColor","desc":"Override default icon color (for truthy state only); Color name for component from the Quasar Color Palette","examples":["'primary'","'teal'","'teal-10'"],"category":"style"}},"slots":{"default":{"desc":"Default slot can be used as label, unless 'label' prop is specified; Suggestion: string"}},"events":{"update:model-value":{"desc":"Emitted when the component needs to change the model; Is also used by v-model","params":{"value":{"type":"Any","desc":"New model value","required":true},"evt":{"type":"Event","desc":"JS event object","required":true}}}},"methods":{"toggle":{"desc":"Toggle the state (of the model)"}}}
1
+ {"type":"component","meta":{"docsUrl":"https://v2.quasar.dev/vue-components/toggle"},"props":{"name":{"type":"String","desc":"Used to specify the name of the control; Useful if dealing with forms submitted directly to a URL","examples":["'car_id'"],"category":"behavior"},"size":{"type":"String","desc":"Size in CSS units, including unit name or standard size name (xs|sm|md|lg|xl)","examples":["'16px'","'2rem'","'xs'","'md'"],"category":"style"},"model-value":{"desc":"Model of the component; Either use this property (along with a listener for 'update:model-value' event) OR use v-model directive","required":true,"syncable":true,"category":"model","type":["Any","Array"],"examples":["false","[ 'car', 'building' ]"]},"val":{"type":"Any","desc":"Works when model ('value') is Array. It tells the component which value should add/remove when ticked/unticked","examples":["'car'"],"category":"model"},"true-value":{"type":"Any","desc":"What model value should be considered as checked/ticked/on?","default":"true","examples":["'Agreed'"],"category":"model","required":false},"false-value":{"type":"Any","desc":"What model value should be considered as unchecked/unticked/off?","default":"false","examples":["'Disagree'"],"category":"model","required":false},"indeterminate-value":{"type":"Any","desc":"What model value should be considered as 'indeterminate'?","default":"null","examples":["0","'not_answered'"],"category":"model","required":false},"toggle-order":{"type":"String","desc":"Determines toggle order of the two states ('t' stands for state of true, 'f' for state of false); If 'toggle-indeterminate' is true, then the order is: indet -> first state -> second state -> indet (and repeat), otherwise: indet -> first state -> second state -> first state -> second state -> ...","default":"'tf'","values":["'tf'","'ft'"],"category":"behavior","required":false},"toggle-indeterminate":{"type":"Boolean","desc":"When user clicks/taps on the component, should we toggle through the indeterminate state too?","category":"behavior"},"label":{"type":"String","desc":"Label to display along the component (or use the default slot instead of this prop)","examples":["'I agree with the Terms and Conditions'"],"category":"label"},"left-label":{"type":"Boolean","desc":"Label (if any specified) should be displayed on the left side of the component","category":"label"},"checked-icon":{"type":"String","examples":["'visibility'"],"category":"icons","desc":"The icon to be used when the toggle is on"},"unchecked-icon":{"type":"String","examples":["'visibility_off'"],"category":"icons","desc":"The icon to be used when the toggle is off"},"indeterminate-icon":{"type":"String","examples":["'help'"],"category":"icons","desc":"The icon to be used when the model is indeterminate"},"color":{"type":"String","tsType":"NamedColor","desc":"Color name for component from the Quasar Color Palette","examples":["'primary'","'teal'","'teal-10'"],"category":"style"},"keep-color":{"type":"Boolean","desc":"Should the color (if specified any) be kept when the component is unticked/ off?","category":"behavior"},"dark":{"type":["Boolean","null"],"default":"null","desc":"Notify the component that the background is a dark color","category":"style","required":false},"dense":{"type":"Boolean","desc":"Dense mode; occupies less space","category":"style"},"disable":{"type":"Boolean","desc":"Put component in disabled mode","category":"state"},"tabindex":{"type":["Number","String"],"desc":"Tabindex HTML attribute value","examples":["100","'0'"],"category":"general"},"icon":{"type":"String","desc":"Icon name following Quasar convention; Make sure you have the icon library installed unless you are using 'img:' prefix; If 'none' (String) is used as value then no icon is rendered (but screen real estate will still be used for it)","examples":["'map'","'ion-add'","'img:https://cdn.quasar.dev/logo-v2/svg/logo.svg'","'img:path/to/some_image.png'"],"category":"content"},"icon-color":{"type":"String","tsType":"NamedColor","desc":"Override default icon color (for truthy state only); Color name for component from the Quasar Color Palette","examples":["'primary'","'teal'","'teal-10'"],"category":"style"}},"slots":{"default":{"desc":"Default slot can be used as label, unless 'label' prop is specified; Suggestion: string"}},"events":{"update:model-value":{"desc":"Emitted when the component needs to change the model; Is also used by v-model","params":{"value":{"type":"Any","desc":"New model value","required":true},"evt":{"type":"Event","desc":"JS event object","required":true}}}},"methods":{"toggle":{"desc":"Toggle the state (of the model)","params":null,"returns":null}}}
@@ -1 +1 @@
1
- {"type":"component","meta":{"docsUrl":"https://v2.quasar.dev/vue-components/tooltip"},"props":{"transition-show":{"type":"String","desc":"One of Quasar's embedded transitions","examples":["'fade'","'slide-down'"],"category":"transition","default":"'jump-down'","required":false},"transition-hide":{"type":"String","desc":"One of Quasar's embedded transitions","examples":["'fade'","'slide-down'"],"category":"transition","default":"'jump-up'","required":false},"transition-duration":{"type":["String","Number"],"desc":"Transition duration (in milliseconds, without unit)","default":"300","category":"transition","required":false},"model-value":{"type":"Boolean","desc":"Model of the component defining shown/hidden state; Either use this property (along with a listener for 'update:model-value' event) OR use v-model directive","category":"model"},"max-height":{"type":["String","null"],"desc":"The maximum height of the Tooltip; Size in CSS units, including unit name","examples":["'16px'","'2rem'"],"category":"content","default":"null","required":false},"max-width":{"type":["String","null"],"desc":"The maximum width of the Tooltip; Size in CSS units, including unit name","examples":["'16px'","'2rem'"],"category":"content","default":"null","required":false},"anchor":{"type":"String","desc":"Two values setting the starting position or anchor point of the Tooltip relative to its target","values":["'top left'","'top middle'","'top right'","'top start'","'top end'","'center left'","'center middle'","'center right'","'center start'","'center end'","'bottom left'","'bottom middle'","'bottom right'","'bottom start'","'bottom end'"],"default":"'bottom middle'","category":"position","required":false},"self":{"type":"String","desc":"Two values setting the Tooltip's own position relative to its target","values":["'top left'","'top middle'","'top right'","'top start'","'top end'","'center left'","'center middle'","'center right'","'center start'","'center end'","'bottom left'","'bottom middle'","'bottom right'","'bottom start'","'bottom end'"],"default":"'top middle'","category":"position","required":false},"offset":{"type":"Array","desc":"An array of two numbers to offset the Tooltip horizontally and vertically in pixels","default":"[14, 14]","examples":["[8, 8]","[5, 10]"],"category":"position","required":false},"scroll-target":{"type":["Element","String"],"desc":"CSS selector or DOM element to be used as a custom scroll container instead of the auto detected one","examples":[".scroll-target-class","#scroll-target-id","$refs.scrollTarget","body"],"category":"behavior"},"target":{"type":["Boolean","String"],"desc":"Configure a target element to trigger Tooltip toggle; 'true' means it enables the parent DOM element, 'false' means it disables attaching events to any DOM elements; By using a String (CSS selector) it attaches the events to the specified DOM element (if it exists)","default":"true","values":["true","false","# CSS selector"],"examples":["# :target=\"false\"","# target=\".my-parent\""],"category":"behavior","required":false},"no-parent-event":{"type":"Boolean","desc":"Skips attaching events to the target DOM element (that trigger the element to get shown)","category":"behavior"},"delay":{"type":"Number","desc":"Configure Tooltip to appear with delay","default":"0","category":"behavior","required":false},"hide-delay":{"type":"Number","desc":"Configure Tooltip to disappear with delay","default":"0","category":"behavior","required":false},"persistent":{"type":"Boolean","desc":"Prevents Tooltip from auto-closing when app's route changes","category":"behavior"}},"slots":{"default":{"desc":"Default slot in the devland unslotted content of the component"}},"events":{"update:model-value":{"desc":"Emitted when showing/hidden state changes; Is also used by v-model","params":{"value":{"type":"Boolean","desc":"New state (showing/hidden)"}}},"show":{"desc":"Emitted after component has triggered show()","params":{"evt":{"type":"Event","desc":"JS event object","required":true}}},"before-show":{"desc":"Emitted when component triggers show() but before it finishes doing it","params":{"evt":{"type":"Event","desc":"JS event object","required":true}}},"hide":{"desc":"Emitted after component has triggered hide()","params":{"evt":{"type":"Event","desc":"JS event object","required":true}}},"before-hide":{"desc":"Emitted when component triggers hide() but before it finishes doing it","params":{"evt":{"type":"Event","desc":"JS event object","required":true}}}},"methods":{"show":{"desc":"Triggers component to show","params":{"evt":{"type":"Event","desc":"JS event object","required":false}}},"hide":{"desc":"Triggers component to hide","params":{"evt":{"type":"Event","desc":"JS event object","required":false}}},"toggle":{"params":{"evt":{"type":"Event","desc":"JS event object","required":false}},"desc":"Triggers component to toggle between show/hide"},"updatePosition":{"desc":"There are some custom scenarios for which Quasar cannot automatically reposition the tooltip without significant performance drawbacks so the optimal solution is for you to call this method when you need it"}},"computedProps":{"contentEl":{"type":"Element","desc":"The DOM Element of the rendered content","addedIn":"v2.10.1"}}}
1
+ {"type":"component","meta":{"docsUrl":"https://v2.quasar.dev/vue-components/tooltip"},"props":{"transition-show":{"type":"String","desc":"One of Quasar's embedded transitions","examples":["'fade'","'slide-down'"],"category":"transition","default":"'jump-down'","required":false},"transition-hide":{"type":"String","desc":"One of Quasar's embedded transitions","examples":["'fade'","'slide-down'"],"category":"transition","default":"'jump-up'","required":false},"transition-duration":{"type":["String","Number"],"desc":"Transition duration (in milliseconds, without unit)","default":"300","category":"transition","required":false},"model-value":{"type":"Boolean","desc":"Model of the component defining shown/hidden state; Either use this property (along with a listener for 'update:model-value' event) OR use v-model directive","category":"model"},"max-height":{"type":["String","null"],"desc":"The maximum height of the Tooltip; Size in CSS units, including unit name","examples":["'16px'","'2rem'"],"category":"content","default":"null","required":false},"max-width":{"type":["String","null"],"desc":"The maximum width of the Tooltip; Size in CSS units, including unit name","examples":["'16px'","'2rem'"],"category":"content","default":"null","required":false},"anchor":{"type":"String","desc":"Two values setting the starting position or anchor point of the Tooltip relative to its target","values":["'top left'","'top middle'","'top right'","'top start'","'top end'","'center left'","'center middle'","'center right'","'center start'","'center end'","'bottom left'","'bottom middle'","'bottom right'","'bottom start'","'bottom end'"],"default":"'bottom middle'","category":"position","required":false},"self":{"type":"String","desc":"Two values setting the Tooltip's own position relative to its target","values":["'top left'","'top middle'","'top right'","'top start'","'top end'","'center left'","'center middle'","'center right'","'center start'","'center end'","'bottom left'","'bottom middle'","'bottom right'","'bottom start'","'bottom end'"],"default":"'top middle'","category":"position","required":false},"offset":{"type":"Array","desc":"An array of two numbers to offset the Tooltip horizontally and vertically in pixels","default":"[ 14, 14 ]","examples":["[ 8, 8 ]","[ 5, 10 ]"],"category":"position","required":false},"scroll-target":{"type":["Element","String"],"desc":"CSS selector or DOM element to be used as a custom scroll container instead of the auto detected one","examples":[".scroll-target-class","#scroll-target-id","$refs.scrollTarget","document.body"],"category":"behavior"},"target":{"type":["Boolean","String"],"desc":"Configure a target element to trigger Tooltip toggle; 'true' means it enables the parent DOM element, 'false' means it disables attaching events to any DOM elements; By using a String (CSS selector) it attaches the events to the specified DOM element (if it exists)","default":"true","examples":["# :target=\"false\"","# target=\".my-parent\""],"category":"behavior","required":false},"no-parent-event":{"type":"Boolean","desc":"Skips attaching events to the target DOM element (that trigger the element to get shown)","category":"behavior"},"delay":{"type":"Number","desc":"Configure Tooltip to appear with delay","default":"0","category":"behavior","required":false},"hide-delay":{"type":"Number","desc":"Configure Tooltip to disappear with delay","default":"0","category":"behavior","required":false},"persistent":{"type":"Boolean","desc":"Prevents Tooltip from auto-closing when app's route changes","category":"behavior"}},"slots":{"default":{"desc":"Default slot in the devland unslotted content of the component"}},"events":{"update:model-value":{"desc":"Emitted when showing/hidden state changes; Is also used by v-model","params":{"value":{"type":"Boolean","desc":"New state (showing/hidden)"}}},"show":{"desc":"Emitted after component has triggered show()","params":{"evt":{"type":"Event","desc":"JS event object","required":true}}},"before-show":{"desc":"Emitted when component triggers show() but before it finishes doing it","params":{"evt":{"type":"Event","desc":"JS event object","required":true}}},"hide":{"desc":"Emitted after component has triggered hide()","params":{"evt":{"type":"Event","desc":"JS event object","required":true}}},"before-hide":{"desc":"Emitted when component triggers hide() but before it finishes doing it","params":{"evt":{"type":"Event","desc":"JS event object","required":true}}}},"methods":{"show":{"desc":"Triggers component to show","params":{"evt":{"type":"Event","desc":"JS event object","required":false}},"returns":null},"hide":{"desc":"Triggers component to hide","params":{"evt":{"type":"Event","desc":"JS event object","required":false}},"returns":null},"toggle":{"desc":"Triggers component to toggle between show/hide","params":{"evt":{"type":"Event","desc":"JS event object","required":false}},"returns":null},"updatePosition":{"desc":"There are some custom scenarios for which Quasar cannot automatically reposition the tooltip without significant performance drawbacks so the optimal solution is for you to call this method when you need it","params":null,"returns":null}},"computedProps":{"contentEl":{"type":"Element","desc":"The DOM Element of the rendered content","addedIn":"v2.10.1"}}}