quasar 2.15.0 → 2.15.2

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 (523) hide show
  1. package/dist/api/AddressbarColor.json +1 -1
  2. package/dist/api/BottomSheet.json +1 -1
  3. package/dist/api/ClosePopup.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/Intersection.json +1 -1
  8. package/dist/api/Loading.json +1 -1
  9. package/dist/api/LoadingBar.json +1 -1
  10. package/dist/api/LocalStorage.json +1 -1
  11. package/dist/api/Morph.json +1 -1
  12. package/dist/api/Mutation.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/QAvatar.json +1 -1
  17. package/dist/api/QBadge.json +1 -1
  18. package/dist/api/QBanner.json +1 -1
  19. package/dist/api/QBar.json +1 -1
  20. package/dist/api/QBreadcrumbs.json +1 -1
  21. package/dist/api/QBreadcrumbsEl.json +1 -1
  22. package/dist/api/QBtn.json +1 -1
  23. package/dist/api/QBtnDropdown.json +1 -1
  24. package/dist/api/QBtnToggle.json +1 -1
  25. package/dist/api/QCard.json +1 -1
  26. package/dist/api/QCardActions.json +1 -1
  27. package/dist/api/QCardSection.json +1 -1
  28. package/dist/api/QCarousel.json +1 -1
  29. package/dist/api/QCarouselControl.json +1 -1
  30. package/dist/api/QCarouselSlide.json +1 -1
  31. package/dist/api/QChatMessage.json +1 -1
  32. package/dist/api/QCheckbox.json +1 -1
  33. package/dist/api/QChip.json +1 -1
  34. package/dist/api/QCircularProgress.json +1 -1
  35. package/dist/api/QColor.json +1 -1
  36. package/dist/api/QDate.json +1 -1
  37. package/dist/api/QDialog.json +1 -1
  38. package/dist/api/QDrawer.json +1 -1
  39. package/dist/api/QEditor.json +1 -1
  40. package/dist/api/QExpansionItem.json +1 -1
  41. package/dist/api/QFab.json +1 -1
  42. package/dist/api/QFabAction.json +1 -1
  43. package/dist/api/QField.json +1 -1
  44. package/dist/api/QFile.json +1 -1
  45. package/dist/api/QFooter.json +1 -1
  46. package/dist/api/QHeader.json +1 -1
  47. package/dist/api/QIcon.json +1 -1
  48. package/dist/api/QImg.json +1 -1
  49. package/dist/api/QInfiniteScroll.json +1 -1
  50. package/dist/api/QInnerLoading.json +1 -1
  51. package/dist/api/QInput.json +1 -1
  52. package/dist/api/QIntersection.json +1 -1
  53. package/dist/api/QItem.json +1 -1
  54. package/dist/api/QKnob.json +1 -1
  55. package/dist/api/QLayout.json +1 -1
  56. package/dist/api/QLinearProgress.json +1 -1
  57. package/dist/api/QList.json +1 -1
  58. package/dist/api/QMarkupTable.json +1 -1
  59. package/dist/api/QMenu.json +1 -1
  60. package/dist/api/QNoSsr.json +1 -1
  61. package/dist/api/QOptionGroup.json +1 -1
  62. package/dist/api/QPage.json +1 -1
  63. package/dist/api/QPageScroller.json +1 -1
  64. package/dist/api/QPageSticky.json +1 -1
  65. package/dist/api/QPagination.json +1 -1
  66. package/dist/api/QParallax.json +1 -1
  67. package/dist/api/QPopupEdit.json +1 -1
  68. package/dist/api/QPopupProxy.json +1 -1
  69. package/dist/api/QPullToRefresh.json +1 -1
  70. package/dist/api/QRadio.json +1 -1
  71. package/dist/api/QRange.json +1 -1
  72. package/dist/api/QRating.json +1 -1
  73. package/dist/api/QResizeObserver.json +1 -1
  74. package/dist/api/QResponsive.json +1 -1
  75. package/dist/api/QRouteTab.json +1 -1
  76. package/dist/api/QScrollArea.json +1 -1
  77. package/dist/api/QScrollObserver.json +1 -1
  78. package/dist/api/QSelect.json +1 -1
  79. package/dist/api/QSeparator.json +1 -1
  80. package/dist/api/QSkeleton.json +1 -1
  81. package/dist/api/QSlideItem.json +1 -1
  82. package/dist/api/QSlideTransition.json +1 -1
  83. package/dist/api/QSlider.json +1 -1
  84. package/dist/api/QSpinner.json +1 -1
  85. package/dist/api/QSpinnerAudio.json +1 -1
  86. package/dist/api/QSpinnerBall.json +1 -1
  87. package/dist/api/QSpinnerBars.json +1 -1
  88. package/dist/api/QSpinnerBox.json +1 -1
  89. package/dist/api/QSpinnerClock.json +1 -1
  90. package/dist/api/QSpinnerComment.json +1 -1
  91. package/dist/api/QSpinnerCube.json +1 -1
  92. package/dist/api/QSpinnerDots.json +1 -1
  93. package/dist/api/QSpinnerFacebook.json +1 -1
  94. package/dist/api/QSpinnerGears.json +1 -1
  95. package/dist/api/QSpinnerGrid.json +1 -1
  96. package/dist/api/QSpinnerHearts.json +1 -1
  97. package/dist/api/QSpinnerHourglass.json +1 -1
  98. package/dist/api/QSpinnerInfinity.json +1 -1
  99. package/dist/api/QSpinnerIos.json +1 -1
  100. package/dist/api/QSpinnerOrbit.json +1 -1
  101. package/dist/api/QSpinnerOval.json +1 -1
  102. package/dist/api/QSpinnerPie.json +1 -1
  103. package/dist/api/QSpinnerPuff.json +1 -1
  104. package/dist/api/QSpinnerRadio.json +1 -1
  105. package/dist/api/QSpinnerRings.json +1 -1
  106. package/dist/api/QSpinnerTail.json +1 -1
  107. package/dist/api/QSplitter.json +1 -1
  108. package/dist/api/QStep.json +1 -1
  109. package/dist/api/QStepper.json +1 -1
  110. package/dist/api/QTab.json +1 -1
  111. package/dist/api/QTabPanel.json +1 -1
  112. package/dist/api/QTabPanels.json +1 -1
  113. package/dist/api/QTable.json +1 -1
  114. package/dist/api/QTabs.json +1 -1
  115. package/dist/api/QTd.json +1 -1
  116. package/dist/api/QTh.json +1 -1
  117. package/dist/api/QTime.json +1 -1
  118. package/dist/api/QTimeline.json +1 -1
  119. package/dist/api/QTimelineEntry.json +1 -1
  120. package/dist/api/QToggle.json +1 -1
  121. package/dist/api/QTooltip.json +1 -1
  122. package/dist/api/QTr.json +1 -1
  123. package/dist/api/QTree.json +1 -1
  124. package/dist/api/QUploader.json +1 -1
  125. package/dist/api/QVideo.json +1 -1
  126. package/dist/api/QVirtualScroll.json +1 -1
  127. package/dist/api/Ripple.json +1 -1
  128. package/dist/api/Screen.json +1 -1
  129. package/dist/api/Scroll.json +1 -1
  130. package/dist/api/ScrollFire.json +1 -1
  131. package/dist/api/SessionStorage.json +1 -1
  132. package/dist/api/TouchHold.json +1 -1
  133. package/dist/api/TouchPan.json +1 -1
  134. package/dist/api/TouchRepeat.json +1 -1
  135. package/dist/api/TouchSwipe.json +1 -1
  136. package/dist/icon-set/bootstrap-icons.umd.prod.js +1 -1
  137. package/dist/icon-set/eva-icons.umd.prod.js +1 -1
  138. package/dist/icon-set/fontawesome-v5-pro.umd.prod.js +1 -1
  139. package/dist/icon-set/fontawesome-v5.umd.prod.js +1 -1
  140. package/dist/icon-set/fontawesome-v6-pro.umd.prod.js +1 -1
  141. package/dist/icon-set/fontawesome-v6.umd.prod.js +1 -1
  142. package/dist/icon-set/ionicons-v4.umd.prod.js +1 -1
  143. package/dist/icon-set/line-awesome.umd.prod.js +1 -1
  144. package/dist/icon-set/material-icons-outlined.umd.prod.js +1 -1
  145. package/dist/icon-set/material-icons-round.umd.prod.js +1 -1
  146. package/dist/icon-set/material-icons-sharp.umd.prod.js +1 -1
  147. package/dist/icon-set/material-icons.umd.prod.js +1 -1
  148. package/dist/icon-set/material-symbols-outlined.umd.prod.js +1 -1
  149. package/dist/icon-set/material-symbols-rounded.umd.prod.js +1 -1
  150. package/dist/icon-set/material-symbols-sharp.umd.prod.js +1 -1
  151. package/dist/icon-set/mdi-v3.umd.prod.js +1 -1
  152. package/dist/icon-set/mdi-v4.umd.prod.js +1 -1
  153. package/dist/icon-set/mdi-v5.umd.prod.js +1 -1
  154. package/dist/icon-set/mdi-v6.umd.prod.js +1 -1
  155. package/dist/icon-set/mdi-v7.umd.prod.js +1 -1
  156. package/dist/icon-set/svg-bootstrap-icons.umd.prod.js +1 -1
  157. package/dist/icon-set/svg-eva-icons.umd.prod.js +1 -1
  158. package/dist/icon-set/svg-fontawesome-v5.umd.prod.js +1 -1
  159. package/dist/icon-set/svg-fontawesome-v6.umd.prod.js +1 -1
  160. package/dist/icon-set/svg-ionicons-v4.umd.prod.js +1 -1
  161. package/dist/icon-set/svg-ionicons-v5.umd.prod.js +1 -1
  162. package/dist/icon-set/svg-ionicons-v6.umd.prod.js +1 -1
  163. package/dist/icon-set/svg-line-awesome.umd.prod.js +1 -1
  164. package/dist/icon-set/svg-material-icons-outlined.umd.prod.js +1 -1
  165. package/dist/icon-set/svg-material-icons-round.umd.prod.js +1 -1
  166. package/dist/icon-set/svg-material-icons-sharp.umd.prod.js +1 -1
  167. package/dist/icon-set/svg-material-icons.umd.prod.js +1 -1
  168. package/dist/icon-set/svg-material-symbols-outlined.umd.prod.js +1 -1
  169. package/dist/icon-set/svg-material-symbols-rounded.umd.prod.js +1 -1
  170. package/dist/icon-set/svg-material-symbols-sharp.umd.prod.js +1 -1
  171. package/dist/icon-set/svg-mdi-v6.umd.prod.js +1 -1
  172. package/dist/icon-set/svg-mdi-v7.umd.prod.js +1 -1
  173. package/dist/icon-set/svg-themify.umd.prod.js +1 -1
  174. package/dist/icon-set/themify.umd.prod.js +1 -1
  175. package/dist/lang/ar-TN.umd.prod.js +1 -1
  176. package/dist/lang/ar.umd.prod.js +1 -1
  177. package/dist/lang/az-Latn.umd.prod.js +1 -1
  178. package/dist/lang/bg.umd.prod.js +1 -1
  179. package/dist/lang/bn.umd.prod.js +1 -1
  180. package/dist/lang/ca.umd.prod.js +1 -1
  181. package/dist/lang/cs.umd.prod.js +1 -1
  182. package/dist/lang/da.umd.prod.js +1 -1
  183. package/dist/lang/de-CH.umd.prod.js +1 -1
  184. package/dist/lang/de-DE.umd.prod.js +1 -1
  185. package/dist/lang/de.umd.prod.js +1 -1
  186. package/dist/lang/el.umd.prod.js +1 -1
  187. package/dist/lang/en-GB.umd.prod.js +1 -1
  188. package/dist/lang/en-US.umd.prod.js +1 -1
  189. package/dist/lang/eo.umd.prod.js +1 -1
  190. package/dist/lang/es.umd.prod.js +1 -1
  191. package/dist/lang/et.umd.prod.js +1 -1
  192. package/dist/lang/eu.umd.prod.js +1 -1
  193. package/dist/lang/fa-IR.umd.prod.js +1 -1
  194. package/dist/lang/fa.umd.prod.js +1 -1
  195. package/dist/lang/fi.umd.prod.js +1 -1
  196. package/dist/lang/fr.umd.prod.js +1 -1
  197. package/dist/lang/gn.umd.prod.js +1 -1
  198. package/dist/lang/he.umd.prod.js +1 -1
  199. package/dist/lang/hi.umd.prod.js +1 -1
  200. package/dist/lang/hr.umd.prod.js +1 -1
  201. package/dist/lang/hu.umd.prod.js +1 -1
  202. package/dist/lang/id.umd.prod.js +1 -1
  203. package/dist/lang/is.umd.prod.js +1 -1
  204. package/dist/lang/it.umd.prod.js +1 -1
  205. package/dist/lang/ja.umd.prod.js +1 -1
  206. package/dist/lang/kk.umd.prod.js +1 -1
  207. package/dist/lang/km.umd.prod.js +1 -1
  208. package/dist/lang/ko-KR.umd.prod.js +1 -1
  209. package/dist/lang/kur-CKB.umd.prod.js +1 -1
  210. package/dist/lang/lt.umd.prod.js +1 -1
  211. package/dist/lang/lu.umd.prod.js +1 -1
  212. package/dist/lang/lv.umd.prod.js +1 -1
  213. package/dist/lang/mk.umd.prod.js +1 -1
  214. package/dist/lang/ml.umd.prod.js +1 -1
  215. package/dist/lang/mm.umd.prod.js +1 -1
  216. package/dist/lang/ms-MY.umd.prod.js +1 -1
  217. package/dist/lang/ms.umd.prod.js +1 -1
  218. package/dist/lang/my.umd.prod.js +1 -1
  219. package/dist/lang/nb-NO.umd.prod.js +1 -1
  220. package/dist/lang/nl.umd.prod.js +1 -1
  221. package/dist/lang/pl.umd.prod.js +1 -1
  222. package/dist/lang/pt-BR.umd.prod.js +1 -1
  223. package/dist/lang/pt.umd.prod.js +1 -1
  224. package/dist/lang/ro.umd.prod.js +1 -1
  225. package/dist/lang/ru.umd.prod.js +1 -1
  226. package/dist/lang/sk.umd.prod.js +1 -1
  227. package/dist/lang/sl.umd.prod.js +1 -1
  228. package/dist/lang/sm.umd.prod.js +1 -1
  229. package/dist/lang/sr-CYR.umd.prod.js +1 -1
  230. package/dist/lang/sr.umd.prod.js +1 -1
  231. package/dist/lang/sv.umd.prod.js +1 -1
  232. package/dist/lang/ta.umd.prod.js +1 -1
  233. package/dist/lang/th.umd.prod.js +1 -1
  234. package/dist/lang/tl.umd.prod.js +1 -1
  235. package/dist/lang/tr.umd.prod.js +1 -1
  236. package/dist/lang/ug.umd.prod.js +1 -1
  237. package/dist/lang/uk.umd.prod.js +1 -1
  238. package/dist/lang/uz-Cyrl.umd.prod.js +1 -1
  239. package/dist/lang/uz-Latn.umd.prod.js +1 -1
  240. package/dist/lang/vi.umd.prod.js +1 -1
  241. package/dist/lang/zh-CN.umd.prod.js +1 -1
  242. package/dist/lang/zh-TW.umd.prod.js +1 -1
  243. package/dist/quasar.cjs.prod.js +12 -12
  244. package/dist/quasar.css +53 -53
  245. package/dist/quasar.esm.js +82 -51
  246. package/dist/quasar.esm.prod.js +10 -10
  247. package/dist/quasar.prod.css +1 -1
  248. package/dist/quasar.rtl.css +65 -65
  249. package/dist/quasar.rtl.prod.css +1 -1
  250. package/dist/quasar.sass +37 -37
  251. package/dist/quasar.umd.js +80 -50
  252. package/dist/quasar.umd.prod.js +6 -6
  253. package/dist/transforms/import-map.json +1 -1
  254. package/dist/types/composables.d.ts +5 -0
  255. package/dist/types/index.d.ts +325 -235
  256. package/dist/types/tsconfig.json +1 -1
  257. package/dist/vetur/quasar-attributes.json +1 -1
  258. package/dist/web-types/web-types.json +1 -1
  259. package/package.json +21 -44
  260. package/src/api-file-example.json +5 -5
  261. package/src/api.extends.json +18 -18
  262. package/src/body.js +1 -1
  263. package/src/components/ajax-bar/QAjaxBar.json +5 -5
  264. package/src/components/avatar/QAvatar.json +1 -1
  265. package/src/components/avatar/QAvatar.test.js +146 -0
  266. package/src/components/badge/QBadge.json +2 -2
  267. package/src/components/badge/QBadge.test.js +167 -0
  268. package/src/components/banner/QBanner.test.js +123 -0
  269. package/src/components/bar/QBar.test.js +55 -0
  270. package/src/components/breadcrumbs/QBreadcrumbs.json +7 -7
  271. package/src/components/breadcrumbs/QBreadcrumbs.test.js +123 -0
  272. package/src/components/breadcrumbs/QBreadcrumbsEl.json +4 -4
  273. package/src/components/breadcrumbs/QBreadcrumbsEl.test.js +134 -0
  274. package/src/components/btn/QBtn.js +1 -1
  275. package/src/components/btn/QBtn.json +1 -1
  276. package/src/components/btn/QBtn.test.js +350 -0
  277. package/src/components/btn/use-btn.json +13 -13
  278. package/src/components/btn/use-btn.test.js +590 -0
  279. package/src/components/btn-dropdown/QBtnDropdown.json +14 -14
  280. package/src/components/btn-toggle/QBtnToggle.json +6 -6
  281. package/src/components/card/QCard.json +2 -2
  282. package/src/components/card/QCardActions.json +3 -3
  283. package/src/components/card/QCardSection.json +2 -2
  284. package/src/components/carousel/QCarousel.json +9 -9
  285. package/src/components/carousel/QCarouselControl.json +5 -5
  286. package/src/components/carousel/QCarouselSlide.json +4 -7
  287. package/src/components/chat/QChatMessage.json +9 -9
  288. package/src/components/checkbox/use-checkbox.json +13 -13
  289. package/src/components/chip/QChip.js +1 -1
  290. package/src/components/chip/QChip.json +6 -8
  291. package/src/components/chip/QChip.test.js +534 -0
  292. package/src/components/circular-progress/QCircularProgress.json +8 -8
  293. package/src/components/color/QColor.js +2 -2
  294. package/src/components/color/QColor.json +8 -10
  295. package/src/components/date/QDate.json +31 -30
  296. package/src/components/date/use-datetime.json +3 -3
  297. package/src/components/dialog/QDialog.json +13 -13
  298. package/src/components/dialog/QDialog.test.js +390 -0
  299. package/src/components/dialog/test/DialogWrapper.vue +17 -0
  300. package/src/components/drawer/QDrawer.js +1 -1
  301. package/src/components/drawer/QDrawer.json +8 -12
  302. package/src/components/editor/QEditor.json +31 -45
  303. package/src/components/expansion-item/QExpansionItem.js +1 -1
  304. package/src/components/expansion-item/QExpansionItem.json +14 -14
  305. package/src/components/fab/QFab.json +4 -4
  306. package/src/components/fab/QFabAction.json +3 -5
  307. package/src/components/fab/use-fab.json +10 -12
  308. package/src/components/field/QField.json +5 -5
  309. package/src/components/file/QFile.json +9 -11
  310. package/src/components/footer/QFooter.js +1 -1
  311. package/src/components/footer/QFooter.json +3 -5
  312. package/src/components/form/QForm.json +1 -3
  313. package/src/components/form/QFormChildMixin.json +1 -3
  314. package/src/components/header/QHeader.json +4 -6
  315. package/src/components/icon/QIcon.json +2 -2
  316. package/src/components/img/QImg.js +1 -1
  317. package/src/components/img/QImg.json +45 -59
  318. package/src/components/infinite-scroll/QInfiniteScroll.json +3 -3
  319. package/src/components/inner-loading/QInnerLoading.json +5 -7
  320. package/src/components/input/QInput.json +10 -10
  321. package/src/components/input/use-mask.json +1 -1
  322. package/src/components/intersection/QIntersection.js +2 -2
  323. package/src/components/intersection/QIntersection.json +7 -7
  324. package/src/components/item/QItem.json +5 -5
  325. package/src/components/item/QList.json +2 -2
  326. package/src/components/knob/QKnob.js +1 -1
  327. package/src/components/knob/QKnob.json +6 -6
  328. package/src/components/layout/QLayout.js +1 -1
  329. package/src/components/layout/QLayout.json +3 -5
  330. package/src/components/linear-progress/QLinearProgress.json +2 -2
  331. package/src/components/markup-table/QMarkupTable.json +3 -3
  332. package/src/components/menu/QMenu.json +8 -8
  333. package/src/components/no-ssr/QNoSsr.json +3 -3
  334. package/src/components/option-group/QOptionGroup.json +11 -13
  335. package/src/components/page/QPage.json +2 -2
  336. package/src/components/page-scroller/QPageScroller.json +3 -3
  337. package/src/components/page-sticky/QPageSticky.json +4 -4
  338. package/src/components/pagination/QPagination.json +20 -20
  339. package/src/components/parallax/QParallax.json +5 -5
  340. package/src/components/popup-edit/QPopupEdit.json +17 -19
  341. package/src/components/popup-proxy/QPopupProxy.json +2 -2
  342. package/src/components/pull-to-refresh/QPullToRefresh.js +1 -1
  343. package/src/components/radio/QRadio.json +5 -5
  344. package/src/components/range/QRange.json +3 -7
  345. package/src/components/rating/QRating.json +16 -19
  346. package/src/components/resize-observer/QResizeObserver.json +2 -2
  347. package/src/components/scroll-area/QScrollArea.js +1 -1
  348. package/src/components/scroll-area/QScrollArea.json +12 -12
  349. package/src/components/scroll-observer/QScrollObserver.json +4 -4
  350. package/src/components/select/QSelect.js +0 -0
  351. package/src/components/select/QSelect.json +55 -59
  352. package/src/components/select/__tests__/QSelect.cy.js +21 -1
  353. package/src/components/separator/QSeparator.json +3 -5
  354. package/src/components/skeleton/QSkeleton.json +14 -16
  355. package/src/components/slide-item/QSlideItem.js +1 -1
  356. package/src/components/slide-item/QSlideItem.json +2 -2
  357. package/src/components/slide-transition/QSlideTransition.json +1 -1
  358. package/src/components/slider/QSlider.json +2 -4
  359. package/src/components/slider/use-slider.js +1 -1
  360. package/src/components/slider/use-slider.json +18 -22
  361. package/src/components/spinner/QSpinner.json +1 -1
  362. package/src/components/spinner/QSpinnerAudio.json +1 -1
  363. package/src/components/spinner/QSpinnerBall.json +1 -1
  364. package/src/components/spinner/QSpinnerBars.json +1 -1
  365. package/src/components/spinner/QSpinnerBox.json +1 -1
  366. package/src/components/spinner/QSpinnerClock.json +1 -1
  367. package/src/components/spinner/QSpinnerComment.json +1 -1
  368. package/src/components/spinner/QSpinnerCube.json +1 -1
  369. package/src/components/spinner/QSpinnerDots.json +1 -1
  370. package/src/components/spinner/QSpinnerFacebook.json +1 -1
  371. package/src/components/spinner/QSpinnerGears.json +1 -1
  372. package/src/components/spinner/QSpinnerGrid.json +1 -1
  373. package/src/components/spinner/QSpinnerHearts.json +1 -1
  374. package/src/components/spinner/QSpinnerHourglass.json +1 -1
  375. package/src/components/spinner/QSpinnerInfinity.json +1 -1
  376. package/src/components/spinner/QSpinnerIos.json +1 -1
  377. package/src/components/spinner/QSpinnerOrbit.json +1 -1
  378. package/src/components/spinner/QSpinnerOval.json +1 -1
  379. package/src/components/spinner/QSpinnerPie.json +1 -1
  380. package/src/components/spinner/QSpinnerPuff.json +1 -1
  381. package/src/components/spinner/QSpinnerRadio.json +1 -1
  382. package/src/components/spinner/QSpinnerRings.json +1 -1
  383. package/src/components/spinner/QSpinnerTail.json +1 -1
  384. package/src/components/splitter/QSplitter.js +1 -1
  385. package/src/components/splitter/QSplitter.json +14 -14
  386. package/src/components/stepper/QStep.json +4 -10
  387. package/src/components/stepper/QStepper.json +1 -3
  388. package/src/components/stepper/StepHeader.js +1 -1
  389. package/src/components/table/QTable.js +1 -1
  390. package/src/components/table/QTable.json +113 -126
  391. package/src/components/table/QTd.json +1 -1
  392. package/src/components/table/QTh.json +1 -1
  393. package/src/components/table/QTr.json +1 -1
  394. package/src/components/tabs/QRouteTab.json +1 -1
  395. package/src/components/tabs/QTab.json +6 -13
  396. package/src/components/tabs/QTabs.json +8 -8
  397. package/src/components/tabs/use-tab.js +1 -1
  398. package/src/components/time/QTime.js +1 -1
  399. package/src/components/time/QTime.json +10 -22
  400. package/src/components/timeline/QTimeline.json +4 -4
  401. package/src/components/timeline/QTimelineEntry.json +11 -11
  402. package/src/components/tooltip/QTooltip.json +17 -20
  403. package/src/components/tree/QTree.json +26 -26
  404. package/src/components/uploader/QUploader.json +4 -4
  405. package/src/components/uploader/xhr-uploader-plugin.json +12 -12
  406. package/src/components/video/QVideo.json +15 -19
  407. package/src/components/virtual-scroll/QVirtualScroll.json +7 -10
  408. package/src/components/virtual-scroll/use-virtual-scroll.json +9 -8
  409. package/src/composables/private/use-anchor.json +6 -6
  410. package/src/composables/private/use-field.json +8 -11
  411. package/src/composables/private/use-file.js +1 -1
  412. package/src/composables/private/use-file.json +6 -8
  413. package/src/composables/private/use-form.json +1 -1
  414. package/src/composables/private/use-form.test.js +93 -0
  415. package/src/composables/private/use-fullscreen.json +1 -3
  416. package/src/composables/private/use-key-composition.js +1 -1
  417. package/src/composables/private/use-panel.child.json +1 -3
  418. package/src/composables/private/use-panel.js +1 -1
  419. package/src/composables/private/use-panel.json +12 -12
  420. package/src/composables/private/use-portal.js +16 -1
  421. package/src/composables/private/use-ratio.json +4 -3
  422. package/src/composables/private/use-ratio.test.js +27 -0
  423. package/src/composables/private/use-router-link.json +6 -6
  424. package/src/composables/private/use-size.json +1 -1
  425. package/src/composables/private/use-size.test.js +22 -0
  426. package/src/composables/private/use-transition.json +3 -3
  427. package/src/composables/private/use-validate.json +6 -6
  428. package/src/composables/use-hydration.js +1 -1
  429. package/src/composables/use-id.js +1 -1
  430. package/src/composables/use-id.test.js +55 -0
  431. package/src/composables/use-interval.js +36 -0
  432. package/src/composables/use-meta.js +1 -1
  433. package/src/composables/use-timeout.js +4 -1
  434. package/src/composables.js +2 -0
  435. package/src/css/index.sass +6 -6
  436. package/src/directives/{ClosePopup.js → close-popup/ClosePopup.js} +4 -4
  437. package/src/directives/{ClosePopup.json → close-popup/ClosePopup.json} +5 -5
  438. package/src/directives/{Intersection.js → intersection/Intersection.js} +3 -3
  439. package/src/directives/{Intersection.json → intersection/Intersection.json} +4 -6
  440. package/src/directives/{Morph.js → morph/Morph.js} +2 -2
  441. package/src/directives/{Morph.json → morph/Morph.json} +20 -20
  442. package/src/directives/{Mutation.js → mutation/Mutation.js} +2 -2
  443. package/src/directives/{Mutation.json → mutation/Mutation.json} +10 -12
  444. package/src/directives/{Ripple.js → ripple/Ripple.js} +6 -6
  445. package/src/directives/{Ripple.json → ripple/Ripple.json} +7 -13
  446. package/src/directives/{Scroll.js → scroll/Scroll.js} +4 -4
  447. package/src/directives/{Scroll.json → scroll/Scroll.json} +2 -2
  448. package/src/directives/{ScrollFire.js → scroll-fire/ScrollFire.js} +6 -6
  449. package/src/directives/{ScrollFire.json → scroll-fire/ScrollFire.json} +1 -1
  450. package/src/directives/{TouchHold.js → touch-hold/TouchHold.js} +5 -5
  451. package/src/directives/{TouchHold.json → touch-hold/TouchHold.json} +6 -6
  452. package/src/directives/{TouchPan.js → touch-pan/TouchPan.js} +6 -6
  453. package/src/directives/{TouchPan.json → touch-pan/TouchPan.json} +4 -4
  454. package/src/directives/{TouchRepeat.js → touch-repeat/TouchRepeat.js} +6 -6
  455. package/src/directives/{TouchRepeat.json → touch-repeat/TouchRepeat.json} +4 -4
  456. package/src/directives/{TouchSwipe.js → touch-swipe/TouchSwipe.js} +6 -6
  457. package/src/directives/{TouchSwipe.json → touch-swipe/TouchSwipe.json} +4 -4
  458. package/src/directives.js +11 -11
  459. package/src/history.js +1 -1
  460. package/src/install-quasar.js +3 -3
  461. package/src/plugins/{AddressbarColor.js → addressbar/AddressbarColor.js} +3 -3
  462. package/src/plugins/{AddressbarColor.json → addressbar/AddressbarColor.json} +1 -1
  463. package/src/plugins/{AppFullscreen.js → app-fullscreen/AppFullscreen.js} +2 -2
  464. package/src/plugins/{AppVisibility.js → app-visibility/AppVisibility.js} +2 -2
  465. package/src/plugins/{BottomSheet.js → bottom-sheet/BottomSheet.js} +2 -2
  466. package/src/plugins/{BottomSheet.json → bottom-sheet/BottomSheet.json} +10 -10
  467. package/src/{components/dialog-bottom-sheet/BottomSheet.js → plugins/bottom-sheet/component/BottomSheetComponent.js} +10 -10
  468. package/src/plugins/{Cookies.json → cookies/Cookies.json} +14 -16
  469. package/src/plugins/{Dark.js → dark/Dark.js} +1 -1
  470. package/src/plugins/{Dark.json → dark/Dark.json} +3 -3
  471. package/src/plugins/{Dialog.js → dialog/Dialog.js} +2 -2
  472. package/src/plugins/{Dialog.json → dialog/Dialog.json} +15 -15
  473. package/src/{components/dialog-plugin/DialogPlugin.js → plugins/dialog/component/DialogPluginComponent.js} +14 -14
  474. package/src/plugins/{Loading.js → loading/Loading.js} +7 -6
  475. package/src/plugins/{Loading.json → loading/Loading.json} +15 -15
  476. package/src/plugins/{LoadingBar.js → loading-bar/LoadingBar.js} +6 -6
  477. package/src/plugins/{LoadingBar.json → loading-bar/LoadingBar.json} +1 -1
  478. package/src/plugins/{LocalStorage.js → local-storage/LocalStorage.js} +2 -2
  479. package/src/plugins/{Meta.js → meta/Meta.js} +2 -2
  480. package/src/plugins/{Notify.js → notify/Notify.js} +11 -10
  481. package/src/plugins/{Notify.json → notify/Notify.json} +52 -68
  482. package/src/plugins/{Platform.js → platform/Platform.js} +3 -9
  483. package/src/plugins/{Platform.json → platform/Platform.json} +6 -10
  484. package/src/plugins/{Screen.js → screen/Screen.js} +4 -4
  485. package/src/plugins/{Screen.json → screen/Screen.json} +6 -12
  486. package/src/plugins/{SessionStorage.js → session-storage/SessionStorage.js} +2 -2
  487. package/src/plugins.js +15 -15
  488. package/src/utils/create-meta-mixin.js +1 -1
  489. package/src/utils/open-url.js +1 -1
  490. package/src/utils/prevent-scroll.js +1 -1
  491. package/src/utils/private/escape-key.js +1 -1
  492. package/src/utils/private/focusout.js +1 -1
  493. package/src/utils/private/global-dialog.json +2 -2
  494. package/src/utils/private/position-engine.js +1 -1
  495. package/src/utils/private/selection.js +1 -1
  496. package/src/utils/private/web-storage.json +8 -10
  497. package/src/components/avatar/__tests__/QAvatar.cy.js +0 -120
  498. package/src/components/badge/__tests__/QBadge.cy.js +0 -148
  499. package/src/components/banner/__tests__/QBanner.cy.js +0 -106
  500. package/src/components/bar/__tests__/QBar.cy.js +0 -45
  501. package/src/components/breadcrumbs/__tests__/QBreadcrumbs.cy.js +0 -111
  502. package/src/components/breadcrumbs/__tests__/QBreadcrumbsEl.cy.js +0 -87
  503. package/src/components/btn/__tests__/QBtn.cy.js +0 -128
  504. package/src/components/btn/__tests__/use-btn.cy.js +0 -517
  505. package/src/components/chip/__tests__/QChip.cy.js +0 -480
  506. package/src/components/dialog/__tests__/DialogWrapper.vue +0 -33
  507. package/src/components/dialog/__tests__/QDialog.cy.js +0 -543
  508. package/src/components/tabs/__tests__/QRouteTab.cy.js +0 -9
  509. /package/src/components/breadcrumbs/{__tests__ → test}/BasicBreadcrumbs.vue +0 -0
  510. /package/src/components/breadcrumbs/{__tests__ → test}/BreadcrumbWithSeparatorSlot.vue +0 -0
  511. /package/src/components/spinner/{__spinner-mixin.json → spinner.json} +0 -0
  512. /package/src/directives/{Morph.sass → morph/Morph.sass} +0 -0
  513. /package/src/directives/{Ripple.sass → ripple/Ripple.sass} +0 -0
  514. /package/src/plugins/{AppFullscreen.json → app-fullscreen/AppFullscreen.json} +0 -0
  515. /package/src/plugins/{AppVisibility.json → app-visibility/AppVisibility.json} +0 -0
  516. /package/src/{components/dialog-bottom-sheet/BottomSheet.sass → plugins/bottom-sheet/component/BottomSheetComponent.sass} +0 -0
  517. /package/src/plugins/{Cookies.js → cookies/Cookies.js} +0 -0
  518. /package/src/{components/dialog-plugin/DialogPlugin.sass → plugins/dialog/component/DialogPluginComponent.sass} +0 -0
  519. /package/src/plugins/{Loading.sass → loading/Loading.sass} +0 -0
  520. /package/src/plugins/{LocalStorage.json → local-storage/LocalStorage.json} +0 -0
  521. /package/src/plugins/{Meta.json → meta/Meta.json} +0 -0
  522. /package/src/plugins/{Notify.sass → notify/Notify.sass} +0 -0
  523. /package/src/plugins/{SessionStorage.json → session-storage/SessionStorage.json} +0 -0
@@ -1 +1 @@
1
- {"type":"component","meta":{"docsUrl":"https://v2.quasar.dev/vue-components/splitter"},"props":{"model-value":{"desc":"Model of the component defining the size of first panel (or second if using reverse) in the unit specified (for '%' it's the split ratio percent - 0.0 < x < 100.0; for 'px' it's the size in px); Either use this property (along with a listener for 'update:modelValue' event) OR use v-model directive","required":true,"syncable":true,"category":"model","type":"Number","examples":["v-model=\"ratio\""]},"reverse":{"type":"Boolean","desc":"Apply the model size to the second panel (by default it applies to the first)","category":"model"},"unit":{"type":"String","desc":"CSS unit for the model","default":"%","values":["%","px"],"category":"model","required":false},"emit-immediately":{"type":"Boolean","desc":"Emit model while user is panning on the separator","category":"model"},"horizontal":{"type":"Boolean","desc":"Allows the splitter to split its two panels horizontally, instead of vertically","category":"content"},"limits":{"type":"Array","desc":"An array of two values representing the minimum and maximum split size of the two panels; When 'px' unit is set then you can use Infinity as the second value to make it unbound on the other side","default":"For '%' unit: [10, 90]; For 'px' unit: [50, Infinity]","examples":[":limits=\"[30, 70]\"",":limits=\"[0, Infinity]\""],"category":"content|model","required":false},"disable":{"type":"Boolean","desc":"Put component in disabled mode","category":"state"},"before-class":{"type":["String","Array","Object"],"tsType":"VueClassProp","desc":"Class definitions to be attributed to the 'before' panel","examples":["bg-deep-orange",":before-class=\"{ 'my-special-class': <condition> }\""],"category":"style"},"after-class":{"type":["String","Array","Object"],"tsType":"VueClassProp","desc":"Class definitions to be attributed to the 'after' panel","examples":["bg-deep-orange",":after-class=\"{ 'my-special-class': <condition> }\""],"category":"style"},"separator-class":{"type":["String","Array","Object"],"tsType":"VueClassProp","desc":"Class definitions to be attributed to the splitter separator","examples":["bg-deep-orange",":separator-class=\"{ 'my-special-class': <condition> }\""],"category":"style"},"separator-style":{"type":["String","Array","Object"],"tsType":"VueStyleProp","desc":"Style definitions to be attributed to the splitter separator","examples":["background-color: #ff0000",":separator-style=\"{ backgroundColor: '#ff0000' }\""],"category":"style"},"dark":{"type":"Boolean","desc":"Applies a default lighter color on the separator; To be used when background is darker; Avoid using when you are overriding through separator-class or separator-style props","category":"style"}},"slots":{"default":{"desc":"Default slot in the devland unslotted content of the component; Suggestion: QTooltip, QMenu"},"before":{"desc":"Content of the panel on left/top"},"after":{"desc":"Content of the panel on right/bottom"},"separator":{"desc":"Content to be placed inside the separator; By default it is centered"}},"events":{"update:model-value":{"desc":"Emitted when component's model value changes; Is also used by v-model","params":{"value":{"type":"Number","desc":"New model value (0.0 < x < 100.0) defining the ratio between panels"}}}}}
1
+ {"type":"component","meta":{"docsUrl":"https://v2.quasar.dev/vue-components/splitter"},"props":{"model-value":{"desc":"Model of the component defining the size of first panel (or second if using reverse) in the unit specified (for '%' it's the split ratio percent - 0.0 < x < 100.0; for 'px' it's the size in px); Either use this property (along with a listener for 'update:modelValue' event) OR use v-model directive","required":true,"syncable":true,"category":"model","type":"Number","examples":["# v-model=\"ratio\""]},"reverse":{"type":"Boolean","desc":"Apply the model size to the second panel (by default it applies to the first)","category":"model"},"unit":{"type":"String","desc":"CSS unit for the model","default":"'%'","values":["'%'","'px'"],"category":"model","required":false},"emit-immediately":{"type":"Boolean","desc":"Emit model while user is panning on the separator","category":"model"},"horizontal":{"type":"Boolean","desc":"Allows the splitter to split its two panels horizontally, instead of vertically","category":"content"},"limits":{"type":"Array","desc":"An array of two values representing the minimum and maximum split size of the two panels; When 'px' unit is set then you can use Infinity as the second value to make it unbound on the other side; Default value: for '%' unit it is [10, 90], while for 'px' unit it is [50, Infinity]","default":"# [10, 90]/[50, Infinity]","examples":["[30, 70]","[0, Infinity]"],"category":"content|model","required":false},"disable":{"type":"Boolean","desc":"Put component in disabled mode","category":"state"},"before-class":{"type":["String","Array","Object"],"tsType":"VueClassProp","desc":"Class definitions to be attributed to the 'before' panel","examples":["'bg-deep-orange'","{ 'my-special-class': <condition> }"],"category":"style"},"after-class":{"type":["String","Array","Object"],"tsType":"VueClassProp","desc":"Class definitions to be attributed to the 'after' panel","examples":["'bg-deep-orange'","{ 'my-special-class': <condition> }"],"category":"style"},"separator-class":{"type":["String","Array","Object"],"tsType":"VueClassProp","desc":"Class definitions to be attributed to the splitter separator","examples":["'bg-deep-orange'","{ 'my-special-class': <condition> }"],"category":"style"},"separator-style":{"type":["String","Array","Object"],"tsType":"VueStyleProp","desc":"Style definitions to be attributed to the splitter separator","examples":["'background-color: #ff0000'","{ backgroundColor: '#ff0000' }"],"category":"style"},"dark":{"type":"Boolean","desc":"Applies a default lighter color on the separator; To be used when background is darker; Avoid using when you are overriding through separator-class or separator-style props","category":"style"}},"slots":{"default":{"desc":"Default slot in the devland unslotted content of the component; Suggestion: QTooltip, QMenu"},"before":{"desc":"Content of the panel on left/top"},"after":{"desc":"Content of the panel on right/bottom"},"separator":{"desc":"Content to be placed inside the separator; By default it is centered"}},"events":{"update:model-value":{"desc":"Emitted when component's model value changes; Is also used by v-model","params":{"value":{"type":"Number","desc":"New model value (0.0 < x < 100.0) defining the ratio between panels"}}}}}
@@ -1 +1 @@
1
- {"type":"component","meta":{"docsUrl":"https://v2.quasar.dev/vue-components/stepper"},"props":{"name":{"type":"Any","desc":"Panel name","required":true,"examples":["accounts","firstPanel",":name=\"1\""],"category":"general"},"disable":{"type":"Boolean","desc":"Put component in disabled mode","category":"state"},"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":"header"},"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":"Step title","required":true,"examples":["Ad Groups","Payment"],"category":"header"},"caption":{"type":"String","desc":"Step’s additional information that appears beneath the title","examples":["Create an account","Payment details"],"category":"header"},"prefix":{"type":["String","Number"],"desc":"Step's prefix (max 2 characters) which replaces the icon if step does not has error, is being edited or is marked as done","examples":["1","2","A","B"],"category":"header"},"done-icon":{"type":"String","desc":"Icon name following Quasar convention; If 'none' (String) is used as value, then it will defer to prefix or the regular icon for this state; 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":"header"},"done-color":{"type":"String","tsType":"NamedColor","desc":"Color name for component from the Quasar Color Palette","examples":["primary","teal","teal-10"],"category":"header"},"active-icon":{"type":"String","desc":"Icon name following Quasar convention; If 'none' (String) is used as value, then it will defer to prefix or the regular icon for this state; 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":"header"},"active-color":{"type":"String","tsType":"NamedColor","desc":"Color name for component from the Quasar Color Palette","examples":["primary","teal","teal-10"],"category":"header"},"error-icon":{"type":"String","desc":"Icon name following Quasar convention; If 'none' (String) is used as value, then it will defer to prefix or the regular icon for this state; 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":"header"},"error-color":{"type":"String","tsType":"NamedColor","desc":"Color name for component from the Quasar Color Palette","examples":["primary","teal","teal-10"],"category":"header"},"header-nav":{"type":"Boolean","default":true,"desc":"Allow navigation through the header","category":"behavior","required":false},"done":{"type":"Boolean","desc":"Mark the step as 'done'","category":"state"},"error":{"type":"Boolean","desc":"Mark the step as having an error","category":"state"}},"slots":{"default":{"desc":"The content of the step; Can also contain a QStepperNavigation if you want to handle step navigation and don't have a global navigation in place"}}}
1
+ {"type":"component","meta":{"docsUrl":"https://v2.quasar.dev/vue-components/stepper"},"props":{"name":{"type":"Any","desc":"Panel name","required":true,"examples":["'accounts'","'firstPanel'","1"],"category":"general"},"disable":{"type":"Boolean","desc":"Put component in disabled mode","category":"state"},"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":"header"},"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":"Step title","required":true,"examples":["'Ad Groups'","'Payment'"],"category":"header"},"caption":{"type":"String","desc":"Step’s additional information that appears beneath the title","examples":["'Create an account'","'Payment details'"],"category":"header"},"prefix":{"type":["String","Number"],"desc":"Step's prefix (max 2 characters) which replaces the icon if step does not has error, is being edited or is marked as done","examples":["'1'","2","'A'","'B'"],"category":"header"},"done-icon":{"type":"String","desc":"Icon name following Quasar convention; If 'none' (String) is used as value, then it will defer to prefix or the regular icon for this state; 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":"header"},"done-color":{"type":"String","tsType":"NamedColor","desc":"Color name for component from the Quasar Color Palette","examples":["'primary'","'teal'","'teal-10'"],"category":"header"},"active-icon":{"type":"String","desc":"Icon name following Quasar convention; If 'none' (String) is used as value, then it will defer to prefix or the regular icon for this state; 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":"header"},"active-color":{"type":"String","tsType":"NamedColor","desc":"Color name for component from the Quasar Color Palette","examples":["'primary'","'teal'","'teal-10'"],"category":"header"},"error-icon":{"type":"String","desc":"Icon name following Quasar convention; If 'none' (String) is used as value, then it will defer to prefix or the regular icon for this state; 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":"header"},"error-color":{"type":"String","tsType":"NamedColor","desc":"Color name for component from the Quasar Color Palette","examples":["'primary'","'teal'","'teal-10'"],"category":"header"},"header-nav":{"type":"Boolean","default":"true","desc":"Allow navigation through the header","category":"behavior","required":false},"done":{"type":"Boolean","desc":"Mark the step as 'done'","category":"state"},"error":{"type":"Boolean","desc":"Mark the step as having an error","category":"state"}},"slots":{"default":{"desc":"The content of the step; Can also contain a QStepperNavigation if you want to handle step navigation and don't have a global navigation in place"}}}
@@ -1 +1 @@
1
- {"type":"component","meta":{"docsUrl":"https://v2.quasar.dev/vue-components/stepper"},"props":{"model-value":{"type":"Any","desc":"Model of the component defining the current panel's name; If a Number is used, it does not define the panel's index, but rather the panel's name which can also be an Integer; Either use this property (along with a listener for 'update:model-value' event) OR use the v-model directive.","examples":["v-model=\"panelName\""],"category":"model"},"keep-alive":{"type":"Boolean","desc":"Equivalent to using Vue's native <keep-alive> component on the content","category":"behavior"},"keep-alive-include":{"type":["String","Array","RegExp"],"desc":"Equivalent to using Vue's native include prop for <keep-alive>; Values must be valid Vue component names","examples":["a,b","/a|b/","['a', 'b']"],"category":"behavior"},"keep-alive-exclude":{"type":["String","Array","RegExp"],"desc":"Equivalent to using Vue's native exclude prop for <keep-alive>; Values must be valid Vue component names","examples":["a,b","/a|b/","['a', 'b']"],"category":"behavior"},"keep-alive-max":{"type":"Number","desc":"Equivalent to using Vue's native max prop for <keep-alive>","category":"behavior"},"animated":{"type":"Boolean","desc":"Enable transitions between panel (also see 'transition-prev' and 'transition-next' props)","category":"behavior"},"infinite":{"type":"Boolean","desc":"Makes component appear as infinite (when reaching last panel, next one will become the first one)","category":"behavior"},"swipeable":{"type":"Boolean","desc":"Enable swipe events (may interfere with content's touch/mouse events)","category":"behavior"},"vertical":{"type":"Boolean","desc":"Put Stepper in vertical mode (instead of horizontal by default)","category":"behavior"},"transition-prev":{"type":"String","desc":"One of Quasar's embedded transitions (has effect only if 'animated' prop is set)","examples":["fade","slide-down"],"category":"transition","default":"slide-right/slide-down","required":false},"transition-next":{"type":"String","desc":"One of Quasar's embedded transitions (has effect only if 'animated' prop is set)","examples":["fade","slide-down"],"category":"transition","default":"slide-left/slide-up","required":false},"transition-duration":{"type":["String","Number"],"desc":"Transition duration (in milliseconds, without unit)","default":300,"category":"transition","addedIn":"v2.2","required":false},"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"},"alternative-labels":{"type":"Boolean","desc":"Use alternative labels - stacks the icon on top of the label (applies only to horizontal stepper)","category":"header"},"header-nav":{"type":"Boolean","desc":"Allow navigation through the header","category":"behavior"},"contracted":{"type":"Boolean","desc":"Hide header labels on narrow windows","category":"header|behavior"},"inactive-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":"header"},"inactive-color":{"type":"String","tsType":"NamedColor","desc":"Color name for component from the Quasar Color Palette","examples":["primary","teal","teal-10"],"category":"header"},"done-icon":{"type":"String","desc":"Icon name following Quasar convention; If 'none' (String) is used as value, then it will defer to prefix or the regular icon for this state; 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":"header"},"done-color":{"type":"String","tsType":"NamedColor","desc":"Color name for component from the Quasar Color Palette","examples":["primary","teal","teal-10"],"category":"header"},"active-icon":{"type":"String","desc":"Icon name following Quasar convention; If 'none' (String) is used as value, then it will defer to prefix or the regular icon for this state; 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":"header"},"active-color":{"type":"String","tsType":"NamedColor","desc":"Color name for component from the Quasar Color Palette","examples":["primary","teal","teal-10"],"category":"header"},"error-icon":{"type":"String","desc":"Icon name following Quasar convention; If 'none' (String) is used as value, then it will defer to prefix or the regular icon for this state; 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":"header"},"error-color":{"type":"String","tsType":"NamedColor","desc":"Color name for component from the Quasar Color Palette","examples":["primary","teal","teal-10"],"category":"header"},"header-class":{"type":"String","desc":"Class definitions to be attributed to the header","examples":["my-special-class"],"category":"style"}},"slots":{"default":{"desc":"Suggestion: QStep"},"navigation":{"desc":"Slot specific for the global navigation; Suggestion: QStepperNavigation"},"message":{"desc":"Slot specific for putting a message on top of each step (if horizontal stepper) or above steps (if vertical); Suggestion: QBanner, div.q-pa-lg"}},"events":{"update:model-value":{"desc":"Emitted when the component changes the model; This event _isn't_ fired if the model is changed externally; Is also used by v-model","params":{"value":{"type":["String","Number"],"desc":"New current panel name","examples":["dashboard"]}}},"before-transition":{"desc":"Emitted before transitioning to a new panel","params":{"newVal":{"type":["String","Number"],"desc":"Panel name towards transition is going","examples":["dashboard"]},"oldVal":{"type":["String","Number"],"desc":"Panel name from which transition is happening","examples":["dashboard"]}}},"transition":{"desc":"Emitted after component transitioned to a new panel","params":{"newVal":{"type":["String","Number"],"desc":"Panel name towards transition has occurred","examples":["dashboard"]},"oldVal":{"type":["String","Number"],"desc":"Panel name from which transition has happened","examples":["dashboard"]}}}},"methods":{"next":{"desc":"Go to next panel"},"previous":{"desc":"Go to previous panel"},"goTo":{"desc":"Go to specific panel","params":{"panelName":{"type":["String","Number"],"desc":"Panel's name, which may be a String or Number; Number does not refers to panel index, but to its name, which may be an Integer","required":true,"examples":["dashboard"]}}}}}
1
+ {"type":"component","meta":{"docsUrl":"https://v2.quasar.dev/vue-components/stepper"},"props":{"model-value":{"type":"Any","desc":"Model of the component defining the current panel's name; If a Number is used, it does not define the panel's index, but rather the panel's name which can also be an Integer; Either use this property (along with a listener for 'update:model-value' event) OR use the v-model directive.","examples":["# v-model=\"panelName\""],"category":"model"},"keep-alive":{"type":"Boolean","desc":"Equivalent to using Vue's native <keep-alive> component on the content","category":"behavior"},"keep-alive-include":{"type":["String","Array","RegExp"],"desc":"Equivalent to using Vue's native include prop for <keep-alive>; Values must be valid Vue component names","examples":["'a,b'","/a|b/","['a', 'b']"],"category":"behavior"},"keep-alive-exclude":{"type":["String","Array","RegExp"],"desc":"Equivalent to using Vue's native exclude prop for <keep-alive>; Values must be valid Vue component names","examples":["'a,b'","/a|b/","['a', 'b']"],"category":"behavior"},"keep-alive-max":{"type":"Number","desc":"Equivalent to using Vue's native max prop for <keep-alive>","category":"behavior"},"animated":{"type":"Boolean","desc":"Enable transitions between panel (also see 'transition-prev' and 'transition-next' props)","category":"behavior"},"infinite":{"type":"Boolean","desc":"Makes component appear as infinite (when reaching last panel, next one will become the first one)","category":"behavior"},"swipeable":{"type":"Boolean","desc":"Enable swipe events (may interfere with content's touch/mouse events)","category":"behavior"},"vertical":{"type":"Boolean","desc":"Put Stepper in vertical mode (instead of horizontal by default)","category":"behavior"},"transition-prev":{"type":"String","desc":"One of Quasar's embedded transitions (has effect only if 'animated' prop is set)","examples":["'fade'","'slide-down'"],"category":"transition","default":"# slide-right/slide-down","required":false},"transition-next":{"type":"String","desc":"One of Quasar's embedded transitions (has effect only if 'animated' prop is set)","examples":["'fade'","'slide-down'"],"category":"transition","default":"# slide-left/slide-up","required":false},"transition-duration":{"type":["String","Number"],"desc":"Transition duration (in milliseconds, without unit)","default":"300","category":"transition","addedIn":"v2.2","required":false},"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"},"alternative-labels":{"type":"Boolean","desc":"Use alternative labels - stacks the icon on top of the label (applies only to horizontal stepper)","category":"header"},"header-nav":{"type":"Boolean","desc":"Allow navigation through the header","category":"behavior"},"contracted":{"type":"Boolean","desc":"Hide header labels on narrow windows","category":"header|behavior"},"inactive-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":"header"},"inactive-color":{"type":"String","tsType":"NamedColor","desc":"Color name for component from the Quasar Color Palette","examples":["'primary'","'teal'","'teal-10'"],"category":"header"},"done-icon":{"type":"String","desc":"Icon name following Quasar convention; If 'none' (String) is used as value, then it will defer to prefix or the regular icon for this state; 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":"header"},"done-color":{"type":"String","tsType":"NamedColor","desc":"Color name for component from the Quasar Color Palette","examples":["'primary'","'teal'","'teal-10'"],"category":"header"},"active-icon":{"type":"String","desc":"Icon name following Quasar convention; If 'none' (String) is used as value, then it will defer to prefix or the regular icon for this state; 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":"header"},"active-color":{"type":"String","tsType":"NamedColor","desc":"Color name for component from the Quasar Color Palette","examples":["'primary'","'teal'","'teal-10'"],"category":"header"},"error-icon":{"type":"String","desc":"Icon name following Quasar convention; If 'none' (String) is used as value, then it will defer to prefix or the regular icon for this state; 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":"header"},"error-color":{"type":"String","tsType":"NamedColor","desc":"Color name for component from the Quasar Color Palette","examples":["'primary'","'teal'","'teal-10'"],"category":"header"},"header-class":{"type":"String","desc":"Class definitions to be attributed to the header","examples":["'my-special-class'"],"category":"style"}},"slots":{"default":{"desc":"Suggestion: QStep"},"navigation":{"desc":"Slot specific for the global navigation; Suggestion: QStepperNavigation"},"message":{"desc":"Slot specific for putting a message on top of each step (if horizontal stepper) or above steps (if vertical); Suggestion: QBanner, div.q-pa-lg"}},"events":{"update:model-value":{"desc":"Emitted when the component changes the model; This event _isn't_ fired if the model is changed externally; Is also used by v-model","params":{"value":{"type":["String","Number"],"desc":"New current panel name","examples":["'dashboard'"]}}},"before-transition":{"desc":"Emitted before transitioning to a new panel","params":{"newVal":{"type":["String","Number"],"desc":"Panel name towards transition is going","examples":["'dashboard'"]},"oldVal":{"type":["String","Number"],"desc":"Panel name from which transition is happening","examples":["'dashboard'"]}}},"transition":{"desc":"Emitted after component transitioned to a new panel","params":{"newVal":{"type":["String","Number"],"desc":"Panel name towards transition has occurred","examples":["'dashboard'"]},"oldVal":{"type":["String","Number"],"desc":"Panel name from which transition has happened","examples":["'dashboard'"]}}}},"methods":{"next":{"desc":"Go to next panel"},"previous":{"desc":"Go to previous panel"},"goTo":{"desc":"Go to specific panel","params":{"panelName":{"type":["String","Number"],"desc":"Panel's name, which may be a String or Number; Number does not refers to panel index, but to its name, which may be an Integer","required":true,"examples":["'dashboard'"]}}}}}
@@ -1 +1 @@
1
- {"type":"component","meta":{"docsUrl":"https://v2.quasar.dev/vue-components/tabs"},"props":{"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"},"label":{"type":["Number","String"],"desc":"A number or string to label the tab","examples":["Home"],"category":"content"},"alert":{"type":["Boolean","String"],"desc":"Adds an alert symbol to the tab, notifying the user there are some updates; If its value is not a Boolean, then you can specify a color","examples":["alert","alert=\"purple\""],"category":"content"},"alert-icon":{"type":"String","desc":"Adds a floating icon to the tab, notifying the user there are some updates; It's displayed only if 'alert' is set; Can use the color specified by 'alert' prop","examples":["alert-icon=\"alarm_on\""],"category":"content"},"name":{"type":["Number","String"],"desc":"Panel name","default":"A random UID","examples":["home",":name=\"1\""],"category":"general","required":false},"no-caps":{"type":"Boolean","desc":"Turns off capitalizing all letters within the tab (which is the default)","category":"content"},"content-class":{"type":"String","desc":"Class definitions to be attributed to the content wrapper","examples":["my-special-class"],"category":"style"},"ripple":{"type":["Boolean","Object"],"desc":"Configure material ripple (disable it by setting it to 'false' or supply a config object)","default":true,"examples":[false,"{ early: true, center: true, color: 'teal', keyCodes: [] }"],"category":"style","required":false},"tabindex":{"type":["Number","String"],"desc":"Tabindex HTML attribute value","examples":["0","100"],"category":"general"},"disable":{"type":"Boolean","desc":"Put component in disabled mode","category":"state"}},"slots":{"default":{"desc":"Suggestion: QMenu, QTooltip"}}}
1
+ {"type":"component","meta":{"docsUrl":"https://v2.quasar.dev/vue-components/tabs"},"props":{"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"},"label":{"type":["Number","String"],"desc":"A number or string to label the tab","examples":["'Home'"],"category":"content"},"alert":{"type":["Boolean","String"],"desc":"Adds an alert symbol to the tab, notifying the user there are some updates; If its value is not a Boolean, then you can specify a color","examples":["'purple'"],"category":"content"},"alert-icon":{"type":"String","desc":"Adds a floating icon to the tab, notifying the user there are some updates; It's displayed only if 'alert' is set; Can use the color specified by 'alert' prop","examples":["'alarm_on'"],"category":"content"},"name":{"type":["Number","String"],"desc":"Panel name","default":"# a random UUID","examples":["'home'","1"],"category":"general","required":false},"no-caps":{"type":"Boolean","desc":"Turns off capitalizing all letters within the tab (which is the default)","category":"content"},"content-class":{"type":"String","desc":"Class definitions to be attributed to the content wrapper","examples":["'my-special-class'"],"category":"style"},"ripple":{"type":["Boolean","Object"],"desc":"Configure material ripple (disable it by setting it to 'false' or supply a config object)","default":"true","examples":["false","{ early: true, center: true, color: 'teal', keyCodes: [] }"],"category":"style","required":false},"tabindex":{"type":["Number","String"],"desc":"Tabindex HTML attribute value","examples":["100","'0'"],"category":"general"},"disable":{"type":"Boolean","desc":"Put component in disabled mode","category":"state"}},"slots":{"default":{"desc":"Suggestion: QMenu, QTooltip"}}}
@@ -1 +1 @@
1
- {"type":"component","meta":{"docsUrl":"https://v2.quasar.dev/vue-components/tab-panels"},"props":{"name":{"type":"Any","desc":"Panel name","required":true,"examples":["accounts","firstPanel",":name=\"1\""],"category":"general"},"disable":{"type":"Boolean","desc":"Put component in disabled mode","category":"state"},"dark":{"type":["Boolean","null"],"default":null,"desc":"Notify the component that the background is a dark color","category":"style","required":false}},"slots":{"default":{"desc":"Default slot in the devland unslotted content of the component"}}}
1
+ {"type":"component","meta":{"docsUrl":"https://v2.quasar.dev/vue-components/tab-panels"},"props":{"name":{"type":"Any","desc":"Panel name","required":true,"examples":["'accounts'","'firstPanel'","1"],"category":"general"},"disable":{"type":"Boolean","desc":"Put component in disabled mode","category":"state"},"dark":{"type":["Boolean","null"],"default":"null","desc":"Notify the component that the background is a dark color","category":"style","required":false}},"slots":{"default":{"desc":"Default slot in the devland unslotted content of the component"}}}
@@ -1 +1 @@
1
- {"type":"component","meta":{"docsUrl":"https://v2.quasar.dev/vue-components/tab-panels"},"props":{"model-value":{"type":"Any","desc":"Model of the component defining the current panel's name; If a Number is used, it does not define the panel's index, but rather the panel's name which can also be an Integer; Either use this property (along with a listener for 'update:model-value' event) OR use the v-model directive.","examples":["v-model=\"panelName\""],"category":"model"},"keep-alive":{"type":"Boolean","desc":"Equivalent to using Vue's native <keep-alive> component on the content","category":"behavior"},"keep-alive-include":{"type":["String","Array","RegExp"],"desc":"Equivalent to using Vue's native include prop for <keep-alive>; Values must be valid Vue component names","examples":["a,b","/a|b/","['a', 'b']"],"category":"behavior"},"keep-alive-exclude":{"type":["String","Array","RegExp"],"desc":"Equivalent to using Vue's native exclude prop for <keep-alive>; Values must be valid Vue component names","examples":["a,b","/a|b/","['a', 'b']"],"category":"behavior"},"keep-alive-max":{"type":"Number","desc":"Equivalent to using Vue's native max prop for <keep-alive>","category":"behavior"},"animated":{"type":"Boolean","desc":"Enable transitions between panel (also see 'transition-prev' and 'transition-next' props)","category":"behavior"},"infinite":{"type":"Boolean","desc":"Makes component appear as infinite (when reaching last panel, next one will become the first one)","category":"behavior"},"swipeable":{"type":"Boolean","desc":"Enable swipe events (may interfere with content's touch/mouse events)","category":"behavior"},"vertical":{"type":"Boolean","desc":"Default transitions and swipe actions will be on the vertical axis","category":"behavior"},"transition-prev":{"type":"String","desc":"One of Quasar's embedded transitions (has effect only if 'animated' prop is set)","examples":["fade","slide-down"],"category":"transition","default":"slide-right/slide-down","required":false},"transition-next":{"type":"String","desc":"One of Quasar's embedded transitions (has effect only if 'animated' prop is set)","examples":["fade","slide-down"],"category":"transition","default":"slide-left/slide-up","required":false},"transition-duration":{"type":["String","Number"],"desc":"Transition duration (in milliseconds, without unit)","default":300,"category":"transition","addedIn":"v2.2","required":false}},"slots":{"default":{"desc":"Default slot in the devland unslotted content of the component"}},"events":{"update:model-value":{"desc":"Emitted when the component changes the model; This event _isn't_ fired if the model is changed externally; Is also used by v-model","params":{"value":{"type":["String","Number"],"desc":"New current panel name","examples":["dashboard"]}}},"before-transition":{"desc":"Emitted before transitioning to a new panel","params":{"newVal":{"type":["String","Number"],"desc":"Panel name towards transition is going","examples":["dashboard"]},"oldVal":{"type":["String","Number"],"desc":"Panel name from which transition is happening","examples":["dashboard"]}}},"transition":{"desc":"Emitted after component transitioned to a new panel","params":{"newVal":{"type":["String","Number"],"desc":"Panel name towards transition has occurred","examples":["dashboard"]},"oldVal":{"type":["String","Number"],"desc":"Panel name from which transition has happened","examples":["dashboard"]}}}},"methods":{"next":{"desc":"Go to next panel"},"previous":{"desc":"Go to previous panel"},"goTo":{"desc":"Go to specific panel","params":{"panelName":{"type":["String","Number"],"desc":"Panel's name, which may be a String or Number; Number does not refers to panel index, but to its name, which may be an Integer","required":true,"examples":["dashboard"]}}}}}
1
+ {"type":"component","meta":{"docsUrl":"https://v2.quasar.dev/vue-components/tab-panels"},"props":{"model-value":{"type":"Any","desc":"Model of the component defining the current panel's name; If a Number is used, it does not define the panel's index, but rather the panel's name which can also be an Integer; Either use this property (along with a listener for 'update:model-value' event) OR use the v-model directive.","examples":["# v-model=\"panelName\""],"category":"model"},"keep-alive":{"type":"Boolean","desc":"Equivalent to using Vue's native <keep-alive> component on the content","category":"behavior"},"keep-alive-include":{"type":["String","Array","RegExp"],"desc":"Equivalent to using Vue's native include prop for <keep-alive>; Values must be valid Vue component names","examples":["'a,b'","/a|b/","['a', 'b']"],"category":"behavior"},"keep-alive-exclude":{"type":["String","Array","RegExp"],"desc":"Equivalent to using Vue's native exclude prop for <keep-alive>; Values must be valid Vue component names","examples":["'a,b'","/a|b/","['a', 'b']"],"category":"behavior"},"keep-alive-max":{"type":"Number","desc":"Equivalent to using Vue's native max prop for <keep-alive>","category":"behavior"},"animated":{"type":"Boolean","desc":"Enable transitions between panel (also see 'transition-prev' and 'transition-next' props)","category":"behavior"},"infinite":{"type":"Boolean","desc":"Makes component appear as infinite (when reaching last panel, next one will become the first one)","category":"behavior"},"swipeable":{"type":"Boolean","desc":"Enable swipe events (may interfere with content's touch/mouse events)","category":"behavior"},"vertical":{"type":"Boolean","desc":"Default transitions and swipe actions will be on the vertical axis","category":"behavior"},"transition-prev":{"type":"String","desc":"One of Quasar's embedded transitions (has effect only if 'animated' prop is set)","examples":["'fade'","'slide-down'"],"category":"transition","default":"# slide-right/slide-down","required":false},"transition-next":{"type":"String","desc":"One of Quasar's embedded transitions (has effect only if 'animated' prop is set)","examples":["'fade'","'slide-down'"],"category":"transition","default":"# slide-left/slide-up","required":false},"transition-duration":{"type":["String","Number"],"desc":"Transition duration (in milliseconds, without unit)","default":"300","category":"transition","addedIn":"v2.2","required":false}},"slots":{"default":{"desc":"Default slot in the devland unslotted content of the component"}},"events":{"update:model-value":{"desc":"Emitted when the component changes the model; This event _isn't_ fired if the model is changed externally; Is also used by v-model","params":{"value":{"type":["String","Number"],"desc":"New current panel name","examples":["'dashboard'"]}}},"before-transition":{"desc":"Emitted before transitioning to a new panel","params":{"newVal":{"type":["String","Number"],"desc":"Panel name towards transition is going","examples":["'dashboard'"]},"oldVal":{"type":["String","Number"],"desc":"Panel name from which transition is happening","examples":["'dashboard'"]}}},"transition":{"desc":"Emitted after component transitioned to a new panel","params":{"newVal":{"type":["String","Number"],"desc":"Panel name towards transition has occurred","examples":["'dashboard'"]},"oldVal":{"type":["String","Number"],"desc":"Panel name from which transition has happened","examples":["'dashboard'"]}}}},"methods":{"next":{"desc":"Go to next panel"},"previous":{"desc":"Go to previous panel"},"goTo":{"desc":"Go to specific panel","params":{"panelName":{"type":["String","Number"],"desc":"Panel's name, which may be a String or Number; Number does not refers to panel index, but to its name, which may be an Integer","required":true,"examples":["'dashboard'"]}}}}}
@@ -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","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":["row-key=\"name\"",":row-key=\"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=\"$refs.scrollTarget\"","scroll-target=\".scroll-target-class\"","scroll-target=\"#scroll-target-id\"","scroll-target=\"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":"48 (24 if dense)","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"]},"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":[":visible-columns=\"myCols\"","[ 'desc', 'carbs', 'protein' ]"],"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":[":selected-rows-label=\"getSelectedString\""],"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":[":pagination-label=\"getPaginationLabel\""],"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",":table-style=\"{ 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",":table-class=\"{ 'my-special-class': [Boolean 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",":table-header-style=\"{ 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",":table-header-class=\"{ 'my-special-class': [Boolean 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",":card-container-style=\"{ 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",":card-container-class=\"{ 'my-special-class': [Boolean 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",":card-style=\"{ 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",":card-class=\"{ 'my-special-class': [Boolean 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",":title-class=\"{ 'text-h1': [Boolean 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":[":filter=\"myFilterInput\""],"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":[":rows-per-page-options=\"[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":["String","Number"],"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","values":["start","center","end","start-force","center-force","end-force"],"default":"end (if scrolling towards the end) / start (if scrolling towards the 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":{"desc":"The number of computed rows","type":"Number"}}}
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"}}}