quasar 2.18.7 → 2.19.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (857) hide show
  1. package/README.md +2 -0
  2. package/dist/api/BottomSheet.json +1 -1
  3. package/dist/api/Dialog.json +1 -1
  4. package/dist/api/Intersection.json +1 -1
  5. package/dist/api/Lang.json +1 -1
  6. package/dist/api/LocalStorage.json +1 -1
  7. package/dist/api/Notify.json +1 -1
  8. package/dist/api/QBtnDropdown.json +1 -1
  9. package/dist/api/QBtnToggle.json +1 -1
  10. package/dist/api/QCarousel.json +1 -1
  11. package/dist/api/QCarouselControl.json +1 -1
  12. package/dist/api/QChatMessage.json +1 -1
  13. package/dist/api/QCheckbox.json +1 -1
  14. package/dist/api/QColor.json +1 -1
  15. package/dist/api/QDate.json +1 -1
  16. package/dist/api/QEditor.json +1 -1
  17. package/dist/api/QField.json +1 -1
  18. package/dist/api/QFile.json +1 -1
  19. package/dist/api/QInput.json +1 -1
  20. package/dist/api/QIntersection.json +1 -1
  21. package/dist/api/QMenu.json +1 -1
  22. package/dist/api/QOptionGroup.json +1 -1
  23. package/dist/api/QPageScroller.json +1 -1
  24. package/dist/api/QPageSticky.json +1 -1
  25. package/dist/api/QPopupEdit.json +1 -1
  26. package/dist/api/QRange.json +1 -1
  27. package/dist/api/QRating.json +1 -1
  28. package/dist/api/QScrollArea.json +1 -1
  29. package/dist/api/QSelect.json +1 -1
  30. package/dist/api/QSlider.json +1 -1
  31. package/dist/api/QSplitter.json +1 -1
  32. package/dist/api/QStepper.json +1 -1
  33. package/dist/api/QTabPanels.json +1 -1
  34. package/dist/api/QTable.json +1 -1
  35. package/dist/api/QTime.json +1 -1
  36. package/dist/api/QToggle.json +1 -1
  37. package/dist/api/QTooltip.json +1 -1
  38. package/dist/api/QTree.json +1 -1
  39. package/dist/api/QUploader.json +1 -1
  40. package/dist/api/QVirtualScroll.json +1 -1
  41. package/dist/api/Ripple.json +1 -1
  42. package/dist/api/SessionStorage.json +1 -1
  43. package/dist/icon-set/bootstrap-icons.umd.prod.js +5 -6
  44. package/dist/icon-set/eva-icons.umd.prod.js +5 -6
  45. package/dist/icon-set/fontawesome-v5-pro.umd.prod.js +5 -6
  46. package/dist/icon-set/fontawesome-v5.umd.prod.js +5 -6
  47. package/dist/icon-set/fontawesome-v6-pro.umd.prod.js +5 -6
  48. package/dist/icon-set/fontawesome-v6.umd.prod.js +5 -6
  49. package/dist/icon-set/ionicons-v4.umd.prod.js +5 -6
  50. package/dist/icon-set/line-awesome.umd.prod.js +5 -6
  51. package/dist/icon-set/material-icons-outlined.umd.prod.js +5 -6
  52. package/dist/icon-set/material-icons-round.umd.prod.js +5 -6
  53. package/dist/icon-set/material-icons-sharp.umd.prod.js +5 -6
  54. package/dist/icon-set/material-icons.umd.prod.js +5 -6
  55. package/dist/icon-set/material-symbols-outlined.umd.prod.js +5 -6
  56. package/dist/icon-set/material-symbols-rounded.umd.prod.js +5 -6
  57. package/dist/icon-set/material-symbols-sharp.umd.prod.js +5 -6
  58. package/dist/icon-set/mdi-v3.umd.prod.js +5 -6
  59. package/dist/icon-set/mdi-v4.umd.prod.js +5 -6
  60. package/dist/icon-set/mdi-v5.umd.prod.js +5 -6
  61. package/dist/icon-set/mdi-v6.umd.prod.js +5 -6
  62. package/dist/icon-set/mdi-v7.umd.prod.js +5 -6
  63. package/dist/icon-set/svg-bootstrap-icons.umd.prod.js +5 -6
  64. package/dist/icon-set/svg-eva-icons.umd.prod.js +5 -6
  65. package/dist/icon-set/svg-fontawesome-v5.umd.prod.js +5 -6
  66. package/dist/icon-set/svg-fontawesome-v6.umd.prod.js +5 -6
  67. package/dist/icon-set/svg-ionicons-v4.umd.prod.js +5 -6
  68. package/dist/icon-set/svg-ionicons-v5.umd.prod.js +5 -6
  69. package/dist/icon-set/svg-ionicons-v6.umd.prod.js +5 -6
  70. package/dist/icon-set/svg-line-awesome.umd.prod.js +5 -6
  71. package/dist/icon-set/svg-material-icons-outlined.umd.prod.js +5 -6
  72. package/dist/icon-set/svg-material-icons-round.umd.prod.js +5 -6
  73. package/dist/icon-set/svg-material-icons-sharp.umd.prod.js +5 -6
  74. package/dist/icon-set/svg-material-icons.umd.prod.js +5 -6
  75. package/dist/icon-set/svg-material-symbols-outlined.umd.prod.js +5 -6
  76. package/dist/icon-set/svg-material-symbols-rounded.umd.prod.js +5 -6
  77. package/dist/icon-set/svg-material-symbols-sharp.umd.prod.js +5 -6
  78. package/dist/icon-set/svg-mdi-v6.umd.prod.js +5 -6
  79. package/dist/icon-set/svg-mdi-v7.umd.prod.js +5 -6
  80. package/dist/icon-set/svg-themify.umd.prod.js +5 -6
  81. package/dist/icon-set/themify.umd.prod.js +5 -6
  82. package/dist/lang/ar-TN.umd.prod.js +5 -6
  83. package/dist/lang/ar.umd.prod.js +5 -6
  84. package/dist/lang/az-Latn.umd.prod.js +5 -6
  85. package/dist/lang/bg.umd.prod.js +5 -6
  86. package/dist/lang/bn.umd.prod.js +5 -6
  87. package/dist/lang/bs-BA.umd.prod.js +5 -6
  88. package/dist/lang/ca.umd.prod.js +5 -6
  89. package/dist/lang/cs.umd.prod.js +5 -6
  90. package/dist/lang/da.umd.prod.js +5 -6
  91. package/dist/lang/de-CH.umd.prod.js +5 -6
  92. package/dist/lang/de-DE.umd.prod.js +5 -6
  93. package/dist/lang/de.umd.prod.js +5 -6
  94. package/dist/lang/el.umd.prod.js +5 -6
  95. package/dist/lang/en-GB.umd.prod.js +5 -6
  96. package/dist/lang/en-US.umd.prod.js +5 -6
  97. package/dist/lang/eo.umd.prod.js +5 -6
  98. package/dist/lang/es.umd.prod.js +5 -6
  99. package/dist/lang/et.umd.prod.js +5 -6
  100. package/dist/lang/eu.umd.prod.js +5 -6
  101. package/dist/lang/fa-IR.umd.prod.js +5 -6
  102. package/dist/lang/fa.umd.prod.js +5 -6
  103. package/dist/lang/fi.umd.prod.js +5 -6
  104. package/dist/lang/fr.umd.prod.js +5 -6
  105. package/dist/lang/gn.umd.prod.js +5 -6
  106. package/dist/lang/he.umd.prod.js +5 -6
  107. package/dist/lang/hi.umd.prod.js +5 -6
  108. package/dist/lang/hr.umd.prod.js +5 -6
  109. package/dist/lang/hu.umd.prod.js +5 -6
  110. package/dist/lang/id.umd.prod.js +5 -6
  111. package/dist/lang/is.umd.prod.js +5 -6
  112. package/dist/lang/it.umd.prod.js +5 -6
  113. package/dist/lang/ja.umd.prod.js +5 -6
  114. package/dist/lang/kk.umd.prod.js +5 -6
  115. package/dist/lang/km.umd.prod.js +5 -6
  116. package/dist/lang/ko-KR.umd.prod.js +5 -6
  117. package/dist/lang/kur-CKB.umd.prod.js +5 -6
  118. package/dist/lang/lt.umd.prod.js +5 -6
  119. package/dist/lang/lu.umd.prod.js +5 -6
  120. package/dist/lang/lv.umd.prod.js +5 -6
  121. package/dist/lang/mk.umd.prod.js +5 -6
  122. package/dist/lang/ml.umd.prod.js +5 -6
  123. package/dist/lang/mm.umd.prod.js +5 -6
  124. package/dist/lang/ms-MY.umd.prod.js +5 -6
  125. package/dist/lang/ms.umd.prod.js +5 -6
  126. package/dist/lang/my.umd.prod.js +5 -6
  127. package/dist/lang/nb-NO.umd.prod.js +5 -6
  128. package/dist/lang/nl.umd.prod.js +5 -6
  129. package/dist/lang/pl.umd.prod.js +5 -6
  130. package/dist/lang/pt-BR.umd.prod.js +5 -6
  131. package/dist/lang/pt.umd.prod.js +5 -6
  132. package/dist/lang/ro.umd.prod.js +5 -6
  133. package/dist/lang/ru.umd.prod.js +5 -6
  134. package/dist/lang/sk.umd.prod.js +5 -6
  135. package/dist/lang/sl.umd.prod.js +5 -6
  136. package/dist/lang/sm.umd.prod.js +5 -6
  137. package/dist/lang/sq.umd.prod.js +5 -6
  138. package/dist/lang/sr-CYR.umd.prod.js +5 -6
  139. package/dist/lang/sr.umd.prod.js +5 -6
  140. package/dist/lang/sv.umd.prod.js +5 -6
  141. package/dist/lang/ta.umd.prod.js +5 -6
  142. package/dist/lang/th.umd.prod.js +5 -6
  143. package/dist/lang/tl.umd.prod.js +5 -6
  144. package/dist/lang/tr.umd.prod.js +5 -6
  145. package/dist/lang/ug.umd.prod.js +5 -6
  146. package/dist/lang/uk.umd.prod.js +5 -6
  147. package/dist/lang/ur-PK.umd.prod.js +5 -6
  148. package/dist/lang/uz-Cyrl.umd.prod.js +5 -6
  149. package/dist/lang/uz-Latn.umd.prod.js +5 -6
  150. package/dist/lang/vi.umd.prod.js +5 -6
  151. package/dist/lang/zh-CN.umd.prod.js +5 -6
  152. package/dist/lang/zh-TW.umd.prod.js +5 -6
  153. package/dist/quasar.addon.prod.css +1 -1
  154. package/dist/quasar.addon.rtl.prod.css +1 -1
  155. package/dist/quasar.client.js +24830 -29220
  156. package/dist/quasar.css +15 -28
  157. package/dist/quasar.prod.css +1 -1
  158. package/dist/quasar.rtl.css +14 -28
  159. package/dist/quasar.rtl.prod.css +1 -1
  160. package/dist/quasar.sass +4 -25
  161. package/dist/quasar.server.prod.cjs +78 -79
  162. package/dist/quasar.server.prod.js +78 -79
  163. package/dist/quasar.umd.js +25876 -29791
  164. package/dist/quasar.umd.prod.js +78 -79
  165. package/dist/types/api/dialog.d.ts +1 -1
  166. package/dist/types/api/qinput.d.ts +1 -1
  167. package/dist/types/api/qtable.d.ts +1 -1
  168. package/dist/types/api/qtree.d.ts +1 -1
  169. package/dist/types/api/quploader.d.ts +1 -1
  170. package/dist/types/api/slider.d.ts +2 -4
  171. package/dist/types/api/validation.d.ts +1 -1
  172. package/dist/types/api/web-storage.d.ts +6 -6
  173. package/dist/types/feature-flag.d.ts +1 -1
  174. package/dist/types/globals.d.ts +7 -4
  175. package/dist/types/index.d.ts +126 -414
  176. package/dist/types/lang.d.ts +3 -3
  177. package/dist/types/ts-helpers.d.ts +4 -9
  178. package/dist/types/utils/colors.d.ts +1 -1
  179. package/dist/types/utils/date.d.ts +8 -8
  180. package/dist/types/utils/dom.d.ts +1 -1
  181. package/dist/types/utils/run-sequential-promises.d.ts +12 -12
  182. package/dist/types/utils/scroll.d.ts +5 -5
  183. package/dist/types/utils.d.ts +16 -19
  184. package/dist/web-types/web-types.json +1 -1
  185. package/icon-set/bootstrap-icons.js +1 -4
  186. package/icon-set/svg-bootstrap-icons.js +1 -4
  187. package/icon-set/svg-fontawesome-v5.js +0 -1
  188. package/icon-set/svg-ionicons-v5.js +2 -2
  189. package/lang/ar-TN.js +10 -8
  190. package/lang/ar.js +10 -8
  191. package/lang/az-Latn.js +13 -9
  192. package/lang/bg.js +10 -8
  193. package/lang/bn.js +14 -9
  194. package/lang/bs-BA.js +13 -9
  195. package/lang/ca.js +18 -14
  196. package/lang/cs.js +9 -7
  197. package/lang/da.js +10 -8
  198. package/lang/de-CH.js +13 -9
  199. package/lang/de-DE.js +13 -9
  200. package/lang/de.js +13 -9
  201. package/lang/el.js +10 -8
  202. package/lang/en-GB.js +10 -8
  203. package/lang/en-US.js +10 -8
  204. package/lang/eo.js +14 -9
  205. package/lang/es.js +10 -8
  206. package/lang/et.js +15 -12
  207. package/lang/eu.js +15 -12
  208. package/lang/fa-IR.js +16 -8
  209. package/lang/fa.js +16 -8
  210. package/lang/fi.js +17 -8
  211. package/lang/fr.js +21 -13
  212. package/lang/gn.js +14 -12
  213. package/lang/he.js +15 -10
  214. package/lang/hi.js +8 -8
  215. package/lang/hr.js +13 -9
  216. package/lang/hu.js +10 -8
  217. package/lang/id.js +11 -9
  218. package/lang/is.js +13 -9
  219. package/lang/it.js +14 -9
  220. package/lang/ja.js +13 -8
  221. package/lang/kk.js +22 -11
  222. package/lang/km.js +9 -8
  223. package/lang/ko-KR.js +9 -10
  224. package/lang/kur-CKB.js +16 -17
  225. package/lang/lt.js +26 -19
  226. package/lang/lu.js +13 -9
  227. package/lang/lv.js +13 -9
  228. package/lang/mk.js +10 -8
  229. package/lang/ml.js +15 -14
  230. package/lang/mm.js +16 -13
  231. package/lang/ms-MY.js +16 -11
  232. package/lang/ms.js +10 -8
  233. package/lang/my.js +15 -8
  234. package/lang/nb-NO.js +10 -8
  235. package/lang/nl.js +13 -9
  236. package/lang/pl.js +13 -9
  237. package/lang/pt-BR.js +17 -10
  238. package/lang/pt.js +17 -10
  239. package/lang/ro.js +10 -8
  240. package/lang/ru.js +25 -12
  241. package/lang/sk.js +18 -9
  242. package/lang/sl.js +12 -8
  243. package/lang/sm.js +51 -47
  244. package/lang/sq.js +13 -9
  245. package/lang/sr-CYR.js +10 -8
  246. package/lang/sr.js +10 -8
  247. package/lang/sv.js +10 -8
  248. package/lang/ta.js +10 -8
  249. package/lang/th.js +12 -11
  250. package/lang/tl.js +10 -8
  251. package/lang/tr.js +8 -5
  252. package/lang/ug.js +16 -8
  253. package/lang/uk.js +22 -11
  254. package/lang/ur-PK.js +13 -11
  255. package/lang/uz-Cyrl.js +5 -5
  256. package/lang/uz-Latn.js +24 -24
  257. package/lang/vi.js +13 -9
  258. package/lang/zh-CN.js +18 -9
  259. package/lang/zh-TW.js +20 -10
  260. package/package.json +50 -64
  261. package/src/api.extends.json +15 -12
  262. package/src/components/ajax-bar/QAjaxBar.js +91 -65
  263. package/src/components/ajax-bar/QAjaxBar.json +2 -2
  264. package/src/components/ajax-bar/index.js +1 -3
  265. package/src/components/avatar/QAvatar.js +36 -28
  266. package/src/components/avatar/QAvatar.json +2 -2
  267. package/src/components/avatar/QAvatar.test.js +29 -78
  268. package/src/components/avatar/index.js +1 -3
  269. package/src/components/badge/QBadge.js +33 -26
  270. package/src/components/badge/QBadge.json +3 -3
  271. package/src/components/badge/QBadge.test.js +40 -95
  272. package/src/components/badge/index.js +1 -3
  273. package/src/components/banner/QBanner.js +46 -25
  274. package/src/components/banner/QBanner.test.js +14 -35
  275. package/src/components/banner/index.js +1 -3
  276. package/src/components/bar/QBar.js +21 -11
  277. package/src/components/bar/QBar.test.js +6 -17
  278. package/src/components/bar/index.js +1 -3
  279. package/src/components/breadcrumbs/QBreadcrumbs.js +44 -32
  280. package/src/components/breadcrumbs/QBreadcrumbs.json +10 -3
  281. package/src/components/breadcrumbs/QBreadcrumbs.test.js +56 -69
  282. package/src/components/breadcrumbs/QBreadcrumbsEl.js +28 -22
  283. package/src/components/breadcrumbs/QBreadcrumbsEl.json +5 -8
  284. package/src/components/breadcrumbs/QBreadcrumbsEl.test.js +60 -134
  285. package/src/components/breadcrumbs/index.js +1 -4
  286. package/src/components/btn/QBtn.js +159 -103
  287. package/src/components/btn/QBtn.json +3 -6
  288. package/src/components/btn/QBtn.test.js +269 -496
  289. package/src/components/btn/index.js +1 -3
  290. package/src/components/btn/use-btn.js +82 -70
  291. package/src/components/btn/use-btn.json +33 -16
  292. package/src/components/btn/use-btn.test.js +30 -47
  293. package/src/components/btn-dropdown/QBtnDropdown.js +143 -104
  294. package/src/components/btn-dropdown/QBtnDropdown.json +41 -16
  295. package/src/components/btn-dropdown/index.js +1 -3
  296. package/src/components/btn-group/QBtnGroup.js +18 -6
  297. package/src/components/btn-group/index.js +1 -3
  298. package/src/components/btn-toggle/QBtnToggle.js +80 -61
  299. package/src/components/btn-toggle/QBtnToggle.json +16 -9
  300. package/src/components/btn-toggle/index.js +1 -3
  301. package/src/components/card/QCard.js +14 -9
  302. package/src/components/card/QCard.json +1 -1
  303. package/src/components/card/QCardActions.js +8 -5
  304. package/src/components/card/QCardActions.json +9 -1
  305. package/src/components/card/QCardSection.js +5 -4
  306. package/src/components/card/QCardSection.json +1 -1
  307. package/src/components/card/index.js +1 -5
  308. package/src/components/carousel/QCarousel.js +194 -125
  309. package/src/components/carousel/QCarousel.json +10 -11
  310. package/src/components/carousel/QCarouselControl.js +26 -13
  311. package/src/components/carousel/QCarouselControl.json +10 -5
  312. package/src/components/carousel/QCarouselSlide.js +13 -10
  313. package/src/components/carousel/QCarouselSlide.json +1 -1
  314. package/src/components/carousel/index.js +1 -5
  315. package/src/components/chat/QChatMessage.js +62 -57
  316. package/src/components/chat/QChatMessage.json +8 -5
  317. package/src/components/chat/index.js +1 -3
  318. package/src/components/checkbox/QCheckbox.js +56 -41
  319. package/src/components/checkbox/QCheckbox.json +1 -1
  320. package/src/components/checkbox/index.js +1 -3
  321. package/src/components/checkbox/use-checkbox.js +112 -83
  322. package/src/components/checkbox/use-checkbox.json +15 -12
  323. package/src/components/chip/QChip.js +101 -73
  324. package/src/components/chip/QChip.json +6 -6
  325. package/src/components/chip/QChip.test.js +72 -180
  326. package/src/components/chip/index.js +1 -3
  327. package/src/components/circular-progress/QCircularProgress.js +92 -57
  328. package/src/components/circular-progress/QCircularProgress.json +2 -2
  329. package/src/components/circular-progress/index.js +1 -3
  330. package/src/components/color/QColor.js +550 -367
  331. package/src/components/color/QColor.json +8 -8
  332. package/src/components/color/index.js +1 -3
  333. package/src/components/date/QDate.js +902 -607
  334. package/src/components/date/QDate.json +32 -23
  335. package/src/components/date/index.js +1 -3
  336. package/src/components/date/use-datetime.js +12 -14
  337. package/src/components/date/use-datetime.json +7 -7
  338. package/src/components/dialog/QDialog.js +178 -139
  339. package/src/components/dialog/QDialog.json +8 -4
  340. package/src/components/dialog/QDialog.test.js +123 -228
  341. package/src/components/dialog/index.js +1 -3
  342. package/src/components/drawer/QDrawer.js +306 -242
  343. package/src/components/drawer/QDrawer.json +4 -4
  344. package/src/components/drawer/index.js +1 -3
  345. package/src/components/editor/QEditor.js +409 -190
  346. package/src/components/editor/QEditor.json +33 -32
  347. package/src/components/editor/editor-caret.js +78 -83
  348. package/src/components/editor/editor-utils.js +176 -130
  349. package/src/components/editor/index.js +1 -3
  350. package/src/components/expansion-item/QExpansionItem.js +149 -103
  351. package/src/components/expansion-item/QExpansionItem.json +21 -24
  352. package/src/components/expansion-item/index.js +1 -3
  353. package/src/components/fab/QFab.js +86 -54
  354. package/src/components/fab/QFab.json +6 -3
  355. package/src/components/fab/QFabAction.js +34 -29
  356. package/src/components/fab/QFabAction.json +4 -7
  357. package/src/components/fab/index.js +1 -4
  358. package/src/components/fab/use-fab.js +20 -20
  359. package/src/components/fab/use-fab.json +10 -13
  360. package/src/components/field/QField.js +7 -5
  361. package/src/components/field/QField.json +6 -6
  362. package/src/components/field/QField.sass +0 -8
  363. package/src/components/field/index.js +1 -3
  364. package/src/components/file/QFile.js +95 -74
  365. package/src/components/file/QFile.json +17 -14
  366. package/src/components/file/index.js +1 -3
  367. package/src/components/footer/QFooter.js +110 -67
  368. package/src/components/footer/QFooter.json +2 -2
  369. package/src/components/footer/index.js +1 -3
  370. package/src/components/form/QForm.js +93 -58
  371. package/src/components/form/QForm.json +2 -2
  372. package/src/components/form/QFormChildMixin.js +10 -11
  373. package/src/components/form/QFormChildMixin.json +2 -2
  374. package/src/components/form/index.js +1 -4
  375. package/src/components/header/QHeader.js +93 -56
  376. package/src/components/header/QHeader.json +2 -2
  377. package/src/components/header/index.js +1 -3
  378. package/src/components/icon/QIcon.js +70 -57
  379. package/src/components/icon/QIcon.json +2 -2
  380. package/src/components/icon/index.js +1 -3
  381. package/src/components/img/QImg.js +104 -98
  382. package/src/components/img/QImg.json +20 -18
  383. package/src/components/img/index.js +1 -3
  384. package/src/components/infinite-scroll/QInfiniteScroll.js +123 -64
  385. package/src/components/infinite-scroll/QInfiniteScroll.json +1 -1
  386. package/src/components/infinite-scroll/index.js +1 -3
  387. package/src/components/inner-loading/QInnerLoading.js +31 -23
  388. package/src/components/inner-loading/QInnerLoading.json +9 -9
  389. package/src/components/inner-loading/index.js +1 -3
  390. package/src/components/input/QInput.js +179 -137
  391. package/src/components/input/QInput.json +25 -15
  392. package/src/components/input/index.js +1 -3
  393. package/src/components/input/use-mask.js +328 -243
  394. package/src/components/input/use-mask.json +16 -8
  395. package/src/components/intersection/QIntersection.js +45 -28
  396. package/src/components/intersection/QIntersection.json +7 -10
  397. package/src/components/intersection/index.js +1 -3
  398. package/src/components/item/QItem.js +60 -52
  399. package/src/components/item/QItem.json +6 -9
  400. package/src/components/item/QItemLabel.js +23 -15
  401. package/src/components/item/QItemLabel.json +1 -1
  402. package/src/components/item/QItemSection.js +11 -8
  403. package/src/components/item/QList.js +21 -13
  404. package/src/components/item/QList.json +1 -1
  405. package/src/components/item/QList.test.js +7 -11
  406. package/src/components/item/index.js +1 -7
  407. package/src/components/knob/QKnob.js +86 -76
  408. package/src/components/knob/QKnob.json +6 -3
  409. package/src/components/knob/index.js +1 -3
  410. package/src/components/layout/QLayout.js +98 -69
  411. package/src/components/layout/QLayout.json +2 -2
  412. package/src/components/layout/index.js +1 -3
  413. package/src/components/linear-progress/QLinearProgress.js +78 -47
  414. package/src/components/linear-progress/QLinearProgress.json +3 -3
  415. package/src/components/linear-progress/index.js +1 -3
  416. package/src/components/markup-table/QMarkupTable.js +25 -17
  417. package/src/components/markup-table/QMarkupTable.json +2 -2
  418. package/src/components/markup-table/index.js +1 -3
  419. package/src/components/menu/QMenu.js +144 -100
  420. package/src/components/menu/QMenu.json +39 -10
  421. package/src/components/menu/index.js +1 -3
  422. package/src/components/no-ssr/QNoSsr.js +5 -5
  423. package/src/components/no-ssr/QNoSsr.json +2 -2
  424. package/src/components/no-ssr/index.js +1 -3
  425. package/src/components/option-group/QOptionGroup.js +84 -66
  426. package/src/components/option-group/QOptionGroup.json +35 -21
  427. package/src/components/option-group/index.js +1 -3
  428. package/src/components/page/QPage.js +35 -22
  429. package/src/components/page/QPage.json +1 -1
  430. package/src/components/page/QPageContainer.js +24 -11
  431. package/src/components/page/index.js +1 -4
  432. package/src/components/page-scroller/QPageScroller.js +49 -32
  433. package/src/components/page-scroller/QPageScroller.json +2 -2
  434. package/src/components/page-scroller/index.js +1 -3
  435. package/src/components/page-sticky/QPageSticky.js +1 -1
  436. package/src/components/page-sticky/QPageSticky.json +9 -4
  437. package/src/components/page-sticky/index.js +1 -3
  438. package/src/components/page-sticky/use-page-sticky.js +47 -36
  439. package/src/components/pagination/QPagination.js +210 -146
  440. package/src/components/pagination/QPagination.json +35 -21
  441. package/src/components/pagination/index.js +1 -3
  442. package/src/components/parallax/QParallax.js +81 -56
  443. package/src/components/parallax/index.js +1 -3
  444. package/src/components/popup-edit/QPopupEdit.js +88 -59
  445. package/src/components/popup-edit/QPopupEdit.json +40 -16
  446. package/src/components/popup-edit/index.js +1 -3
  447. package/src/components/popup-proxy/QPopupProxy.js +30 -19
  448. package/src/components/popup-proxy/QPopupProxy.json +3 -3
  449. package/src/components/popup-proxy/index.js +1 -3
  450. package/src/components/pull-to-refresh/QPullToRefresh.js +71 -49
  451. package/src/components/pull-to-refresh/index.js +1 -3
  452. package/src/components/radio/QRadio.js +133 -95
  453. package/src/components/radio/QRadio.json +11 -8
  454. package/src/components/radio/index.js +1 -3
  455. package/src/components/range/QRange.js +151 -104
  456. package/src/components/range/QRange.json +9 -9
  457. package/src/components/range/index.js +1 -3
  458. package/src/components/rating/QRating.js +171 -112
  459. package/src/components/rating/QRating.json +19 -12
  460. package/src/components/rating/index.js +1 -3
  461. package/src/components/resize-observer/QResizeObserver.js +52 -30
  462. package/src/components/resize-observer/QResizeObserver.json +2 -2
  463. package/src/components/resize-observer/index.js +1 -3
  464. package/src/components/responsive/QResponsive.js +27 -14
  465. package/src/components/responsive/QResponsive.json +1 -1
  466. package/src/components/responsive/index.js +1 -3
  467. package/src/components/scroll-area/QScrollArea.js +279 -192
  468. package/src/components/scroll-area/QScrollArea.json +31 -21
  469. package/src/components/scroll-area/ScrollAreaControls.js +6 -11
  470. package/src/components/scroll-area/index.js +1 -3
  471. package/src/components/scroll-observer/QScrollObserver.js +46 -26
  472. package/src/components/scroll-observer/QScrollObserver.json +4 -4
  473. package/src/components/scroll-observer/index.js +1 -3
  474. package/src/components/select/QSelect.js +710 -519
  475. package/src/components/select/QSelect.json +70 -45
  476. package/src/components/select/index.js +1 -3
  477. package/src/components/separator/QSeparator.js +34 -30
  478. package/src/components/separator/QSeparator.json +4 -4
  479. package/src/components/separator/index.js +1 -3
  480. package/src/components/skeleton/QSkeleton.js +49 -23
  481. package/src/components/skeleton/QSkeleton.json +26 -9
  482. package/src/components/skeleton/index.js +1 -3
  483. package/src/components/slide-item/QSlideItem.js +121 -94
  484. package/src/components/slide-item/QSlideItem.json +2 -2
  485. package/src/components/slide-item/index.js +1 -3
  486. package/src/components/slide-transition/QSlideTransition.js +34 -26
  487. package/src/components/slide-transition/index.js +1 -3
  488. package/src/components/slider/QSlider.js +64 -43
  489. package/src/components/slider/QSlider.json +6 -6
  490. package/src/components/slider/index.js +1 -3
  491. package/src/components/slider/use-slider.js +327 -220
  492. package/src/components/slider/use-slider.json +32 -32
  493. package/src/components/space/QSpace.js +1 -1
  494. package/src/components/space/QSpace.test.js +1 -4
  495. package/src/components/space/index.js +1 -3
  496. package/src/components/spinner/QSpinner.js +23 -18
  497. package/src/components/spinner/QSpinner.json +1 -1
  498. package/src/components/spinner/QSpinner.test.js +11 -27
  499. package/src/components/spinner/QSpinnerAudio.js +13 -11
  500. package/src/components/spinner/QSpinnerAudio.json +1 -1
  501. package/src/components/spinner/QSpinnerAudio.test.js +9 -21
  502. package/src/components/spinner/QSpinnerBall.js +13 -11
  503. package/src/components/spinner/QSpinnerBall.json +1 -1
  504. package/src/components/spinner/QSpinnerBall.test.js +9 -21
  505. package/src/components/spinner/QSpinnerBars.js +13 -11
  506. package/src/components/spinner/QSpinnerBars.json +1 -1
  507. package/src/components/spinner/QSpinnerBars.test.js +9 -21
  508. package/src/components/spinner/QSpinnerBox.js +13 -11
  509. package/src/components/spinner/QSpinnerBox.json +1 -1
  510. package/src/components/spinner/QSpinnerBox.test.js +9 -21
  511. package/src/components/spinner/QSpinnerClock.js +13 -11
  512. package/src/components/spinner/QSpinnerClock.json +1 -1
  513. package/src/components/spinner/QSpinnerClock.test.js +9 -21
  514. package/src/components/spinner/QSpinnerComment.js +13 -11
  515. package/src/components/spinner/QSpinnerComment.json +1 -1
  516. package/src/components/spinner/QSpinnerComment.test.js +9 -21
  517. package/src/components/spinner/QSpinnerCube.js +13 -11
  518. package/src/components/spinner/QSpinnerCube.json +1 -1
  519. package/src/components/spinner/QSpinnerCube.test.js +9 -21
  520. package/src/components/spinner/QSpinnerDots.js +13 -11
  521. package/src/components/spinner/QSpinnerDots.json +1 -1
  522. package/src/components/spinner/QSpinnerDots.test.js +9 -21
  523. package/src/components/spinner/QSpinnerFacebook.js +13 -11
  524. package/src/components/spinner/QSpinnerFacebook.json +1 -1
  525. package/src/components/spinner/QSpinnerFacebook.test.js +9 -21
  526. package/src/components/spinner/QSpinnerGears.js +13 -11
  527. package/src/components/spinner/QSpinnerGears.json +1 -1
  528. package/src/components/spinner/QSpinnerGears.test.js +9 -21
  529. package/src/components/spinner/QSpinnerGrid.js +13 -11
  530. package/src/components/spinner/QSpinnerGrid.json +1 -1
  531. package/src/components/spinner/QSpinnerGrid.test.js +9 -21
  532. package/src/components/spinner/QSpinnerHearts.js +13 -11
  533. package/src/components/spinner/QSpinnerHearts.json +1 -1
  534. package/src/components/spinner/QSpinnerHearts.test.js +9 -21
  535. package/src/components/spinner/QSpinnerHourglass.js +13 -11
  536. package/src/components/spinner/QSpinnerHourglass.json +1 -1
  537. package/src/components/spinner/QSpinnerHourglass.test.js +9 -21
  538. package/src/components/spinner/QSpinnerInfinity.js +12 -10
  539. package/src/components/spinner/QSpinnerInfinity.json +1 -1
  540. package/src/components/spinner/QSpinnerInfinity.test.js +9 -21
  541. package/src/components/spinner/QSpinnerIos.js +13 -11
  542. package/src/components/spinner/QSpinnerIos.json +1 -1
  543. package/src/components/spinner/QSpinnerIos.test.js +9 -21
  544. package/src/components/spinner/QSpinnerOrbit.js +13 -11
  545. package/src/components/spinner/QSpinnerOrbit.json +1 -1
  546. package/src/components/spinner/QSpinnerOrbit.test.js +9 -21
  547. package/src/components/spinner/QSpinnerOval.js +13 -11
  548. package/src/components/spinner/QSpinnerOval.json +1 -1
  549. package/src/components/spinner/QSpinnerOval.test.js +9 -21
  550. package/src/components/spinner/QSpinnerPie.js +13 -11
  551. package/src/components/spinner/QSpinnerPie.json +1 -1
  552. package/src/components/spinner/QSpinnerPie.test.js +9 -21
  553. package/src/components/spinner/QSpinnerPuff.js +13 -11
  554. package/src/components/spinner/QSpinnerPuff.json +1 -1
  555. package/src/components/spinner/QSpinnerPuff.test.js +9 -21
  556. package/src/components/spinner/QSpinnerRadio.js +13 -11
  557. package/src/components/spinner/QSpinnerRadio.json +1 -1
  558. package/src/components/spinner/QSpinnerRadio.test.js +9 -21
  559. package/src/components/spinner/QSpinnerRings.js +13 -11
  560. package/src/components/spinner/QSpinnerRings.json +1 -1
  561. package/src/components/spinner/QSpinnerRings.test.js +9 -21
  562. package/src/components/spinner/QSpinnerTail.js +12 -10
  563. package/src/components/spinner/QSpinnerTail.json +1 -1
  564. package/src/components/spinner/QSpinnerTail.test.js +9 -21
  565. package/src/components/spinner/index.js +0 -1
  566. package/src/components/spinner/spinner.json +2 -2
  567. package/src/components/spinner/use-spinner.js +7 -7
  568. package/src/components/spinner/use-spinner.test.js +1 -1
  569. package/src/components/splitter/QSplitter.js +133 -94
  570. package/src/components/splitter/QSplitter.json +10 -19
  571. package/src/components/splitter/index.js +1 -3
  572. package/src/components/stepper/QStep.js +65 -42
  573. package/src/components/stepper/QStep.json +5 -5
  574. package/src/components/stepper/QStepper.js +62 -39
  575. package/src/components/stepper/QStepper.json +2 -2
  576. package/src/components/stepper/QStepperNavigation.js +1 -1
  577. package/src/components/stepper/StepHeader.js +87 -67
  578. package/src/components/stepper/index.js +1 -5
  579. package/src/components/tab-panels/QTabPanel.js +3 -2
  580. package/src/components/tab-panels/QTabPanel.json +1 -1
  581. package/src/components/tab-panels/QTabPanels.js +12 -6
  582. package/src/components/tab-panels/QTabPanels.json +1 -1
  583. package/src/components/tab-panels/index.js +1 -4
  584. package/src/components/table/QTable.js +544 -426
  585. package/src/components/table/QTable.json +168 -165
  586. package/src/components/table/QTd.js +18 -13
  587. package/src/components/table/QTd.json +1 -1
  588. package/src/components/table/QTh.js +25 -20
  589. package/src/components/table/QTh.json +1 -1
  590. package/src/components/table/QTr.js +17 -9
  591. package/src/components/table/QTr.json +1 -1
  592. package/src/components/table/get-table-middle.js +2 -4
  593. package/src/components/table/index.js +1 -6
  594. package/src/components/table/table-column-selection.js +45 -35
  595. package/src/components/table/table-filter.js +9 -8
  596. package/src/components/table/table-pagination.js +75 -52
  597. package/src/components/table/table-row-expand.js +15 -16
  598. package/src/components/table/table-row-selection.js +31 -31
  599. package/src/components/table/table-sort.js +26 -29
  600. package/src/components/tabs/QRouteTab.js +10 -12
  601. package/src/components/tabs/QRouteTab.json +6 -6
  602. package/src/components/tabs/QTab.js +1 -1
  603. package/src/components/tabs/QTab.json +1 -1
  604. package/src/components/tabs/QTabs.js +283 -205
  605. package/src/components/tabs/QTabs.json +9 -9
  606. package/src/components/tabs/index.js +1 -5
  607. package/src/components/tabs/use-tab.js +127 -103
  608. package/src/components/tabs/use-tab.json +8 -8
  609. package/src/components/time/QTime.js +502 -383
  610. package/src/components/time/QTime.json +19 -15
  611. package/src/components/time/index.js +1 -3
  612. package/src/components/timeline/QTimeline.js +10 -7
  613. package/src/components/timeline/QTimeline.json +2 -2
  614. package/src/components/timeline/QTimelineEntry.js +44 -27
  615. package/src/components/timeline/QTimelineEntry.json +7 -5
  616. package/src/components/timeline/index.js +1 -4
  617. package/src/components/toggle/QToggle.js +29 -19
  618. package/src/components/toggle/QToggle.json +1 -1
  619. package/src/components/toggle/index.js +1 -3
  620. package/src/components/toolbar/QToolbar.js +7 -5
  621. package/src/components/toolbar/QToolbar.test.js +2 -6
  622. package/src/components/toolbar/QToolbarTitle.js +5 -4
  623. package/src/components/toolbar/QToolbarTitle.test.js +2 -6
  624. package/src/components/toolbar/index.js +1 -4
  625. package/src/components/tooltip/QTooltip.js +125 -72
  626. package/src/components/tooltip/QTooltip.json +34 -10
  627. package/src/components/tooltip/index.js +1 -3
  628. package/src/components/tree/QTree.js +417 -297
  629. package/src/components/tree/QTree.json +27 -25
  630. package/src/components/tree/index.js +1 -3
  631. package/src/components/uploader/QUploader.json +9 -6
  632. package/src/components/uploader/QUploaderAddTrigger.js +5 -2
  633. package/src/components/uploader/index.js +1 -4
  634. package/src/components/uploader/uploader-core.js +262 -178
  635. package/src/components/uploader/xhr-uploader-plugin.js +96 -89
  636. package/src/components/uploader/xhr-uploader-plugin.json +29 -29
  637. package/src/components/video/QVideo.js +25 -19
  638. package/src/components/video/QVideo.json +5 -5
  639. package/src/components/video/QVideo.test.js +55 -85
  640. package/src/components/video/index.js +1 -3
  641. package/src/components/virtual-scroll/QVirtualScroll.js +89 -37
  642. package/src/components/virtual-scroll/QVirtualScroll.json +6 -6
  643. package/src/components/virtual-scroll/index.js +1 -3
  644. package/src/components/virtual-scroll/use-virtual-scroll.js +421 -240
  645. package/src/components/virtual-scroll/use-virtual-scroll.json +20 -13
  646. package/src/composables/private.use-align/use-align.js +8 -5
  647. package/src/composables/private.use-align/use-align.test.js +9 -17
  648. package/src/composables/private.use-anchor/use-anchor-static.json +2 -7
  649. package/src/composables/private.use-anchor/use-anchor.js +79 -62
  650. package/src/composables/private.use-anchor/use-anchor.json +1 -1
  651. package/src/composables/private.use-dark/use-dark.js +2 -6
  652. package/src/composables/private.use-dark/use-dark.test.js +7 -21
  653. package/src/composables/private.use-field/use-field.js +384 -251
  654. package/src/composables/private.use-field/use-field.json +10 -10
  655. package/src/composables/private.use-file/use-file-dom-props.js +11 -15
  656. package/src/composables/private.use-file/use-file.js +86 -67
  657. package/src/composables/private.use-file/use-file.json +8 -8
  658. package/src/composables/private.use-fullscreen/use-fullscreen.js +35 -17
  659. package/src/composables/private.use-fullscreen/use-fullscreen.json +1 -1
  660. package/src/composables/private.use-history/use-history.js +4 -4
  661. package/src/composables/private.use-history/use-history.test.js +9 -21
  662. package/src/composables/private.use-key-composition/use-key-composition.js +16 -12
  663. package/src/composables/private.use-model-toggle/use-model-toggle.js +44 -35
  664. package/src/composables/private.use-model-toggle/use-model-toggle.json +2 -2
  665. package/src/composables/private.use-panel/use-panel.child.json +1 -1
  666. package/src/composables/private.use-panel/use-panel.js +131 -91
  667. package/src/composables/private.use-panel/use-panel.json +18 -18
  668. package/src/composables/private.use-portal/use-portal.js +20 -15
  669. package/src/composables/private.use-prevent-scroll/use-prevent-scroll.js +4 -4
  670. package/src/composables/private.use-ratio/use-ratio.js +3 -3
  671. package/src/composables/private.use-ratio/use-ratio.json +2 -7
  672. package/src/composables/private.use-refocus-target/use-refocus-target.js +7 -8
  673. package/src/composables/private.use-router-link/use-router-link.js +111 -110
  674. package/src/composables/private.use-router-link/use-router-link.json +6 -9
  675. package/src/composables/private.use-scroll-target/use-scroll-target.js +14 -11
  676. package/src/composables/private.use-size/use-size.js +6 -4
  677. package/src/composables/private.use-size/use-size.json +1 -1
  678. package/src/composables/private.use-size/use-size.test.js +1 -1
  679. package/src/composables/private.use-transition/use-transition.js +17 -11
  680. package/src/composables/private.use-transition/use-transition.json +1 -1
  681. package/src/composables/private.use-transition/use-transition.test.js +7 -21
  682. package/src/composables/private.use-validate/use-validate.js +78 -67
  683. package/src/composables/private.use-validate/use-validate.json +9 -12
  684. package/src/composables/use-dialog-plugin-component/use-dialog-plugin-component.js +12 -6
  685. package/src/composables/use-form/private.use-form.js +4 -4
  686. package/src/composables/use-form/private.use-form.json +1 -1
  687. package/src/composables/use-form/private.use-form.test.js +17 -15
  688. package/src/composables/use-form/use-form-child.js +25 -14
  689. package/src/composables/use-hydration/use-hydration.js +1 -1
  690. package/src/composables/use-hydration/use-hydration.test.js +2 -4
  691. package/src/composables/use-id/use-id.js +10 -12
  692. package/src/composables/use-id/use-id.test.js +1 -1
  693. package/src/composables/use-interval/use-interval.js +3 -3
  694. package/src/composables/use-interval/use-interval.test.js +6 -9
  695. package/src/composables/use-meta/use-meta.js +13 -10
  696. package/src/composables/use-quasar/use-quasar.js +1 -1
  697. package/src/composables/use-quasar/use-quasar.test.js +4 -10
  698. package/src/composables/use-render-cache/use-render-cache.js +16 -24
  699. package/src/composables/use-split-attrs/use-split-attrs.js +9 -5
  700. package/src/composables/use-split-attrs/use-split-attrs.test.js +17 -15
  701. package/src/composables/use-tick/use-tick.js +10 -5
  702. package/src/composables/use-tick/use-tick.test.js +5 -8
  703. package/src/composables/use-timeout/use-timeout.js +3 -3
  704. package/src/composables/use-timeout/use-timeout.test.js +6 -9
  705. package/src/composables.js +0 -1
  706. package/src/css/core/helpers.sass +3 -16
  707. package/src/directives/close-popup/ClosePopup.js +41 -35
  708. package/src/directives/close-popup/ClosePopup.json +1 -1
  709. package/src/directives/intersection/Intersection.js +25 -28
  710. package/src/directives/intersection/Intersection.json +6 -6
  711. package/src/directives/morph/Morph.js +87 -87
  712. package/src/directives/morph/Morph.json +15 -13
  713. package/src/directives/mutation/Mutation.js +23 -24
  714. package/src/directives/mutation/Mutation.json +11 -11
  715. package/src/directives/ripple/Ripple.js +88 -79
  716. package/src/directives/ripple/Ripple.json +10 -10
  717. package/src/directives/ripple/Ripple.test.js +31 -87
  718. package/src/directives/scroll/Scroll.js +43 -30
  719. package/src/directives/scroll/Scroll.json +4 -2
  720. package/src/directives/scroll-fire/ScrollFire.js +43 -38
  721. package/src/directives/scroll-fire/ScrollFire.json +1 -1
  722. package/src/directives/touch-hold/TouchHold.js +155 -139
  723. package/src/directives/touch-hold/TouchHold.json +2 -2
  724. package/src/directives/touch-pan/TouchPan.js +311 -278
  725. package/src/directives/touch-pan/TouchPan.json +6 -4
  726. package/src/directives/touch-repeat/TouchRepeat.js +222 -188
  727. package/src/directives/touch-repeat/TouchRepeat.json +5 -3
  728. package/src/directives/touch-swipe/TouchSwipe.js +235 -214
  729. package/src/directives/touch-swipe/TouchSwipe.json +5 -3
  730. package/src/flags.dev.js +10 -17
  731. package/src/index.dev.js +2 -0
  732. package/src/index.ssr.js +2 -6
  733. package/src/index.umd.js +4 -2
  734. package/src/install-quasar.js +92 -76
  735. package/src/plugins/addressbar/AddressbarColor.js +28 -25
  736. package/src/plugins/addressbar/AddressbarColor.json +1 -1
  737. package/src/plugins/addressbar/AddressbarColor.test.js +10 -9
  738. package/src/plugins/app-fullscreen/AppFullscreen.js +50 -51
  739. package/src/plugins/app-fullscreen/AppFullscreen.json +6 -10
  740. package/src/plugins/app-fullscreen/AppFullscreen.test.js +11 -26
  741. package/src/plugins/app-fullscreen/test/mock-fullscreen.js +7 -5
  742. package/src/plugins/app-visibility/AppVisibility.js +21 -17
  743. package/src/plugins/app-visibility/AppVisibility.test.js +3 -1
  744. package/src/plugins/bottom-sheet/BottomSheet.js +1 -1
  745. package/src/plugins/bottom-sheet/BottomSheet.json +9 -9
  746. package/src/plugins/bottom-sheet/component/BottomSheetComponent.js +132 -95
  747. package/src/plugins/cookies/Cookies.js +50 -58
  748. package/src/plugins/cookies/Cookies.json +24 -16
  749. package/src/plugins/dark/Dark.js +61 -55
  750. package/src/plugins/dark/Dark.json +6 -6
  751. package/src/plugins/dark/Dark.test.js +26 -44
  752. package/src/plugins/dialog/Dialog.js +1 -1
  753. package/src/plugins/dialog/Dialog.json +29 -21
  754. package/src/plugins/dialog/component/DialogPluginComponent.js +122 -121
  755. package/src/plugins/icon-set/IconSet.js +63 -56
  756. package/src/plugins/icon-set/IconSet.json +421 -419
  757. package/src/plugins/icon-set/IconSet.test.js +8 -7
  758. package/src/plugins/lang/Lang.js +115 -96
  759. package/src/plugins/lang/Lang.json +201 -175
  760. package/src/plugins/lang/Lang.test.js +52 -20
  761. package/src/plugins/loading/Loading.js +175 -143
  762. package/src/plugins/loading/Loading.json +15 -15
  763. package/src/plugins/loading-bar/LoadingBar.js +61 -56
  764. package/src/plugins/loading-bar/LoadingBar.json +2 -2
  765. package/src/plugins/meta/Meta.js +91 -81
  766. package/src/plugins/notify/Notify.js +275 -221
  767. package/src/plugins/notify/Notify.json +79 -71
  768. package/src/plugins/platform/Platform.js +105 -112
  769. package/src/plugins/platform/Platform.json +12 -8
  770. package/src/plugins/platform/Platform.test.js +4 -7
  771. package/src/plugins/private.body/Body.js +19 -23
  772. package/src/plugins/private.body/Body.test.js +4 -6
  773. package/src/plugins/private.history/History.js +27 -30
  774. package/src/plugins/screen/Screen.js +160 -147
  775. package/src/plugins/screen/Screen.json +6 -6
  776. package/src/plugins/screen/Screen.test.js +6 -12
  777. package/src/plugins/storage/LocalStorage.js +5 -4
  778. package/src/plugins/storage/LocalStorage.json +1 -1
  779. package/src/plugins/storage/LocalStorage.test.js +56 -62
  780. package/src/plugins/storage/SessionStorage.js +5 -4
  781. package/src/plugins/storage/SessionStorage.json +1 -1
  782. package/src/plugins/storage/SessionStorage.test.js +56 -62
  783. package/src/plugins/storage/engine/web-storage.js +24 -26
  784. package/src/plugins/storage/engine/web-storage.json +45 -15
  785. package/src/utils/EventBus/EventBus.js +12 -13
  786. package/src/utils/clone/clone.js +27 -28
  787. package/src/utils/clone/clone.test.js +27 -52
  788. package/src/utils/colors/colors.js +69 -63
  789. package/src/utils/colors/colors.test.js +360 -270
  790. package/src/utils/copy-to-clipboard/copy-to-clipboard.js +9 -10
  791. package/src/utils/create-meta-mixin/create-meta-mixin.js +17 -19
  792. package/src/utils/create-uploader-component/create-uploader-component.js +20 -14
  793. package/src/utils/css-var/get-css-var.js +4 -2
  794. package/src/utils/css-var/get-css-var.test.js +4 -11
  795. package/src/utils/css-var/set-css-var.js +2 -2
  796. package/src/utils/css-var/set-css-var.test.js +6 -12
  797. package/src/utils/date/date.js +251 -243
  798. package/src/utils/date/private.persian.js +54 -44
  799. package/src/utils/debounce/debounce.js +5 -5
  800. package/src/utils/debounce/debounce.test.js +3 -10
  801. package/src/utils/dom/dom.js +21 -22
  802. package/src/utils/dom/dom.test.js +19 -39
  803. package/src/utils/event/event.js +53 -49
  804. package/src/utils/export-file/export-file.js +11 -12
  805. package/src/utils/extend/extend.js +30 -26
  806. package/src/utils/extend/extend.test.js +36 -42
  807. package/src/utils/format/format.js +11 -13
  808. package/src/utils/format/format.test.js +50 -61
  809. package/src/utils/frame-debounce/frame-debounce.js +5 -3
  810. package/src/utils/frame-debounce/frame-debounce.test.js +3 -10
  811. package/src/utils/is/is.js +27 -23
  812. package/src/utils/is/is.test.js +100 -84
  813. package/src/utils/morph/morph.js +470 -377
  814. package/src/utils/open-url/open-url.js +10 -21
  815. package/src/utils/patterns/patterns.js +11 -7
  816. package/src/utils/patterns/patterns.test.js +2 -0
  817. package/src/utils/private.click-outside/click-outside.js +28 -26
  818. package/src/utils/private.config/instance-config.js +1 -1
  819. package/src/utils/private.config/instance-config.test.js +11 -7
  820. package/src/utils/private.config/nodes.js +14 -14
  821. package/src/utils/private.config/nodes.test.js +32 -38
  822. package/src/utils/private.create/create.js +10 -4
  823. package/src/utils/private.create/create.test.js +11 -7
  824. package/src/utils/private.dialog/create-dialog.js +70 -59
  825. package/src/utils/private.dialog/create-dialog.json +13 -6
  826. package/src/utils/private.focus/focus-manager.js +7 -8
  827. package/src/utils/private.focus/focus-manager.test.js +13 -18
  828. package/src/utils/private.focus/focusout.js +4 -4
  829. package/src/utils/private.focus/focusout.test.js +10 -22
  830. package/src/utils/private.get-emits-object/get-emits-object.js +2 -2
  831. package/src/utils/private.get-emits-object/get-emits-object.test.js +4 -10
  832. package/src/utils/private.inject-obj-prop/inject-obj-prop.js +3 -3
  833. package/src/utils/private.inject-obj-prop/inject-obj-prop.test.js +20 -49
  834. package/src/utils/private.keyboard/escape-key.js +10 -10
  835. package/src/utils/private.keyboard/escape-key.test.js +10 -22
  836. package/src/utils/private.keyboard/key-composition.js +9 -7
  837. package/src/utils/private.portal/portal.js +7 -10
  838. package/src/utils/private.position-engine/position-engine.js +127 -75
  839. package/src/utils/private.render/render.js +9 -24
  840. package/src/utils/private.render/render.test.js +40 -55
  841. package/src/utils/private.rtl/rtl.js +1 -3
  842. package/src/utils/private.selection/selection.js +6 -6
  843. package/src/utils/private.selection/selection.test.js +7 -13
  844. package/src/utils/private.sort/sort.js +4 -6
  845. package/src/utils/private.symbols/symbols.js +1 -1
  846. package/src/utils/private.touch/touch.js +16 -16
  847. package/src/utils/private.touch/touch.test.js +56 -16
  848. package/src/utils/private.vm/vm.js +6 -7
  849. package/src/utils/private.vm/vm.test.js +32 -32
  850. package/src/utils/run-sequential-promises/run-sequential-promises.js +56 -50
  851. package/src/utils/scroll/prevent-scroll.js +75 -47
  852. package/src/utils/scroll/scroll.js +51 -44
  853. package/src/utils/throttle/throttle.js +7 -4
  854. package/src/utils/throttle/throttle.test.js +2 -7
  855. package/src/utils/uid/uid.js +34 -22
  856. package/wrappers/index.cjs +17 -15
  857. package/wrappers/index.js +15 -15
package/README.md CHANGED
@@ -13,6 +13,7 @@
13
13
  Please submit a PR to https://github.com/quasarframework/quasar-awesome with your website/app/Quasar tutorial/video etc. Thank you!
14
14
 
15
15
  ## Supporting Quasar
16
+
16
17
  Quasar Framework is an MIT-licensed open source project. Its ongoing development is made possible thanks to the support by these awesome [backers](https://github.com/rstoenescu/quasar-framework/blob/dev/backers.md).
17
18
 
18
19
  **Please read our manifest on [Why donations are important](https://quasar.dev/why-donate)**. If you'd like to become a donator, check out [Quasar Framework's Donator campaign](https://donate.quasar.dev).
@@ -38,6 +39,7 @@ Ask questions at the official community forum: [https://forum.quasar.dev](https:
38
39
  I'm excited if you want to contribute to Quasar under any form (report bugs, write a plugin, fix an issue, write a new feature). Please read the [Contributing Guide](../CONTRIBUTING.md).
39
40
 
40
41
  ## Semver
42
+
41
43
  Quasar is following [Semantic Versioning 2.0](https://semver.org/).
42
44
 
43
45
  ## License
@@ -1 +1 @@
1
- {"type":"plugin","meta":{"docsUrl":"https://v2.quasar.dev/quasar-plugins/bottom-sheet"},"injection":"$q.bottomSheet","methods":{"create":{"desc":"Creates an ad-hoc Bottom Sheet; Same as calling $q.bottomSheet(...)","params":{"opts":{"type":"Object","required":true,"definition":{"class":{"type":["String","Array","Object"],"tsType":"VueClassProp","desc":"CSS Class name to apply to the Dialog's QCard","examples":["'my-class'"]},"style":{"type":["String","Array","Object"],"tsType":"VueStyleProp","desc":"CSS style to apply to the Dialog's QCard","examples":["'border: 2px solid black'"]},"title":{"type":"String","desc":"Title","examples":["'Share'"]},"message":{"type":"String","desc":"Message","examples":["'Please select how to share'"]},"actions":{"type":"Array","desc":"Array of Objects, each Object defining an action","definition":{"classes":{"type":["String","Array","Object"],"tsType":"VueClassProp","desc":"CSS classes for this action","examples":["'my-class'"]},"style":{"type":["String","Array","Object"],"tsType":"VueStyleProp","desc":"Style definitions to be attributed to this action element","examples":["{ padding: '2px' }"],"addedIn":"v2.11.7"},"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"},"img":{"type":"String","desc":"Path to an image for this action","examples":["# (public folder) 'img/something.png'","# (relative path format) :src=\"require('./my_img.jpg')\"","# (URL) https://some-site.net/some-img.gif"]},"avatar":{"type":"String","desc":"Path to an avatar image for this action","examples":["# (public folder) 'img/avatar.png'","# (relative path format) :src=\"require('./my_img.jpg')\"","# (URL) https://some-site.net/some-img.gif"]},"label":{"type":["String","Number"],"desc":"Action label","examples":["'Facebook'"]},"...":{"type":"Any","desc":"Any other custom props"}}},"grid":{"type":"Boolean","desc":"Display actions as a grid instead of as a list"},"dark":{"type":["Boolean","null"],"default":"null","desc":"Apply dark mode","category":"style","required":false},"seamless":{"type":"Boolean","desc":"Put Bottom Sheet into seamless mode; Does not use a backdrop so user is able to interact with the rest of the page too"},"persistent":{"type":"Boolean","desc":"User cannot dismiss Bottom Sheet if clicking outside of it or hitting ESC key; Also, an app route change won't dismiss it"}},"desc":"Bottom Sheet options"}},"returns":{"type":"Object","desc":"Chainable Object","tsType":"DialogChainObject","autoDefineTsType":true,"definition":{"onOk":{"type":"Function","required":true,"desc":"Receives a Function param to tell what to do when OK is pressed / option is selected","params":{"callbackFn":{"type":"Function","desc":"Tell what to do","required":true,"params":{"payload":{"type":"Any","desc":"The payload if called onDialogOK with the parameter or emitted one with the 'ok' event","required":false,"examples":["'Quasar Framework'","[ 1, 2, 6, 3 ]","{ book: { id: 1, name: 'Lorem Ipsum' }, user: { name: 'Lorem J. Ipsum', role: 'admin' } }"]}},"returns":null,"examples":["() => console.log('OK!')","payload => Notify.create({ type: 'positive', message: `Successfully saved '${payload.book.name}' book!` })"]}},"returns":{"type":"Object","desc":"Chained Object","tsType":"DialogChainObject"}},"onCancel":{"type":"Function","required":true,"desc":"Receives a Function as param to tell what to do when Cancel is pressed / dialog is dismissed","params":{"callbackFn":{"type":"Function","desc":"Tell what to do","required":true,"params":null,"returns":null}},"returns":{"type":"Object","desc":"Chained Object","tsType":"DialogChainObject"}},"onDismiss":{"type":"Function","required":true,"desc":"Receives a Function param to tell what to do when the dialog is closed","params":{"callbackFn":{"type":"Function","desc":"Tell what to do","required":true,"params":null,"returns":null}},"returns":{"type":"Object","desc":"Chained Object","tsType":"DialogChainObject"}},"hide":{"type":"Function","required":true,"desc":"Hides the dialog when called","params":null,"returns":{"type":"Object","desc":"Chained Object","tsType":"DialogChainObject"}},"update":{"type":"Function","required":true,"desc":"Updates the initial properties (given as create() param) except for 'component'","params":{"opts":{"type":"Object","required":true,"desc":"If using with 'component' prop then the props to update the current 'componentProps' (will be shallowly merged on top of the previous 'componentProps'); Otherwise the props to be shallowly merged with the previous create() param Object"}},"returns":{"type":"Object","desc":"Chained Object","tsType":"DialogChainObject"}}}},"tsInjectionPoint":true}}}
1
+ {"type":"plugin","meta":{"docsUrl":"https://v2.quasar.dev/quasar-plugins/bottom-sheet"},"injection":"$q.bottomSheet","methods":{"create":{"desc":"Creates an ad-hoc Bottom Sheet; Same as calling $q.bottomSheet(...)","params":{"opts":{"type":"Object","required":true,"definition":{"class":{"type":["String","Array","Object"],"tsType":"VueClassProp","desc":"CSS Class name to apply to the Dialog's QCard","examples":["'my-class'"]},"style":{"type":["String","Array","Object"],"tsType":"VueStyleProp","desc":"CSS style to apply to the Dialog's QCard","examples":["'border: 2px solid black'"]},"title":{"type":"String","desc":"Title","examples":["'Share'"]},"message":{"type":"String","desc":"Message","examples":["'Please select how to share'"]},"actions":{"type":"Array","desc":"Array of Objects, each Object defining an action","definition":{"classes":{"type":["String","Array","Object"],"tsType":"VueClassProp","desc":"CSS classes for this action","examples":["'my-class'"]},"style":{"type":["String","Array","Object"],"tsType":"VueStyleProp","desc":"Style definitions to be attributed to this action element","examples":["{ padding: '2px' }"],"addedIn":"v2.11.7"},"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"},"img":{"type":"String","desc":"Path to an image for this action","examples":["# (public folder) 'img/something.png'","# (relative path format) :src=\"require('./my_img.jpg')\"","# (URL) https://some-site.net/some-img.gif"]},"avatar":{"type":"String","desc":"Path to an avatar image for this action","examples":["# (public folder) 'img/avatar.png'","# (relative path format) :src=\"require('./my_img.jpg')\"","# (URL) https://some-site.net/some-img.gif"]},"label":{"type":["String","Number"],"desc":"Action label","examples":["'Facebook'"]},"...":{"type":"Any","desc":"Any other custom props"}}},"grid":{"type":"Boolean","desc":"Display actions as a grid instead of as a list"},"dark":{"type":["Boolean","null"],"default":"null","desc":"Apply dark mode","category":"style","required":false},"seamless":{"type":"Boolean","desc":"Put Bottom Sheet into seamless mode; Does not use a backdrop so user is able to interact with the rest of the page too"},"persistent":{"type":"Boolean","desc":"User cannot dismiss Bottom Sheet if clicking outside of it or hitting ESC key; Also, an app route change won't dismiss it"}},"desc":"Bottom Sheet options"}},"returns":{"type":"Object","desc":"Chainable Object","tsType":"DialogChainObject","autoDefineTsType":true,"definition":{"onOk":{"type":"Function","required":true,"desc":"Receives a Function param to tell what to do when OK is pressed / option is selected","params":{"callbackFn":{"type":"Function","desc":"Tell what to do","required":true,"params":{"payload":{"type":"Any","desc":"The payload if called onDialogOK with the parameter or emitted one with the 'ok' event","required":false,"examples":["'Quasar Framework'","[1, 2, 6, 3]","{ book: { id: 1, name: 'Lorem Ipsum' }, user: { name: 'Lorem J. Ipsum', role: 'admin' } }"]}},"returns":null,"examples":["() => console.log('OK!')","payload => Notify.create({ type: 'positive', message: `Successfully saved '${payload.book.name}' book!` })"]}},"returns":{"type":"Object","desc":"Chained Object","tsType":"DialogChainObject"}},"onCancel":{"type":"Function","required":true,"desc":"Receives a Function as param to tell what to do when Cancel is pressed / dialog is dismissed","params":{"callbackFn":{"type":"Function","desc":"Tell what to do","required":true,"params":null,"returns":null}},"returns":{"type":"Object","desc":"Chained Object","tsType":"DialogChainObject"}},"onDismiss":{"type":"Function","required":true,"desc":"Receives a Function param to tell what to do when the dialog is closed","params":{"callbackFn":{"type":"Function","desc":"Tell what to do","required":true,"params":null,"returns":null}},"returns":{"type":"Object","desc":"Chained Object","tsType":"DialogChainObject"}},"hide":{"type":"Function","required":true,"desc":"Hides the dialog when called","params":null,"returns":{"type":"Object","desc":"Chained Object","tsType":"DialogChainObject"}},"update":{"type":"Function","required":true,"desc":"Updates the initial properties (given as create() param) except for 'component'","params":{"opts":{"type":"Object","required":true,"desc":"If using with 'component' prop then the props to update the current 'componentProps' (will be shallowly merged on top of the previous 'componentProps'); Otherwise the props to be shallowly merged with the previous create() param Object"}},"returns":{"type":"Object","desc":"Chained Object","tsType":"DialogChainObject"}}}},"tsInjectionPoint":true}}}
@@ -1 +1 @@
1
- {"type":"plugin","meta":{"docsUrl":"https://v2.quasar.dev/quasar-plugins/dialog"},"injection":"$q.dialog","methods":{"create":{"desc":"Creates an ad-hoc Dialog; Same as calling $q.dialog(...)","params":{"opts":{"type":"Object","required":true,"definition":{"class":{"type":["String","Array","Object"],"tsType":"VueClassProp","desc":"CSS Class name to apply to the Dialog's QCard","examples":["'my-class'"]},"style":{"type":["String","Array","Object"],"tsType":"VueStyleProp","desc":"CSS style to apply to the Dialog's QCard","examples":["'border: 2px solid black'"]},"title":{"type":"String","desc":"A text for the heading title of the dialog","examples":["'Continue?'"]},"message":{"type":"String","desc":"A text with more information about what needs to be input, selected or confirmed.","examples":["'Are you certain you want to continue?'"]},"html":{"type":"Boolean","desc":"Render title and message as HTML; This can lead to XSS attacks, so make sure that you sanitize the message first"},"position":{"type":"String","desc":"Position of the Dialog on screen. Standard is centered.","values":["'top'","'right'","'bottom'","'left'","'standard'"],"default":"'standard'","required":false},"prompt":{"type":"Object","tsType":"QDialogInputPrompt","desc":"An object definition of the input field for the prompting question.","examples":["{ model: 'initial-value', type: 'number' }"],"definition":{"model":{"type":"String","required":true,"desc":"The initial value of the input"},"type":{"type":"String","desc":"Optional property to determine the input field type","default":"'text'","examples":["'text'","'number'","'textarea'"],"required":false},"isValid":{"type":"Function","desc":"Is typed content valid?","params":{"val":{"type":"String","required":true,"desc":"The value of the input"}},"returns":{"type":"Boolean","desc":"The text passed validation or not"}},"...QInputProps":{"type":"Any","desc":"Any QInput props, like color, label, stackLabel, filled, outlined, rounded, prefix etc","examples":["label: 'My Label'","standout: true","counter: true","maxlength: 12"]},"...nativeAttributes":{"type":"Object","desc":"Any native attributes to pass to the prompt control","examples":["# autocomplete: 'off'"]}}},"options":{"type":"Object","tsType":"QDialogSelectionPrompt","desc":"An object definition for creating the selection form content","examples":["{ model: null, type: 'radio', items: [ /* ...listOfItems */ ] }"],"definition":{"model":{"type":["String","Array"],"required":true,"desc":"The value of the selection (String if it's of type radio or Array otherwise)","examples":["[]"]},"type":{"type":"String","desc":"The type of selection","default":"'radio'","values":["'radio'","'checkbox'","'toggle'"],"required":false},"items":{"type":"Array","desc":"The list of options to interact with; Equivalent to options prop of the QOptionGroup component","examples":["[ { label: 'Option 1', value: 'op1' }, { label: 'Option 2', value: 'op2' }, { label: 'Option 3', value: 'op3' } ]"]},"isValid":{"type":"Function","desc":"Is the model valid?","params":{"model":{"type":["String","Array"],"required":true,"desc":"The current model (String if it's of type radio or Array otherwise)","examples":["'opt2'","[ 'opt1' ]","[]","[ 'opt1', 'opt3' ]"]}},"returns":{"type":"Boolean","desc":"The selection passed validation or not"}},"...QOptionGroupProps":{"type":"Any","desc":"Any QOptionGroup props","examples":["color: 'deep-purple-4'","inline: true","dense: true","leftLabel: true"]},"...nativeAttributes":{"type":"Object","desc":"Any native attributes to pass to the inner QOptionGroup"}}},"progress":{"type":["Boolean","Object"],"desc":"Display a Quasar spinner (if value is true, then the defaults are used); Useful for conveying the idea that something is happening behind the covers; Tip: use along with persistent, ok: false and update() method","definition":{"spinner":{"type":"Component","desc":"One of the QSpinners"},"color":{"type":"String","tsType":"NamedColor","desc":"Color name for component from the Quasar Color Palette","examples":["'primary'","'teal'","'teal-10'"],"category":"style"}}},"ok":{"type":["String","Object","Boolean"],"desc":"Props for an 'OK' button","definition":{"...props":{"type":"Any","desc":"See QBtn for available props"}}},"cancel":{"type":["String","Object","Boolean"],"desc":"Props for a 'CANCEL' button","definition":{"...props":{"type":"Any","desc":"See QBtn for available props"}}},"focus":{"type":"String","desc":"What button to focus, unless you also have 'prompt' or 'options'","values":["'ok'","'cancel'","'none'"],"default":"'ok'","required":false},"stackButtons":{"type":"Boolean","desc":"Makes buttons be stacked instead of vertically aligned"},"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":"Apply dark mode","category":"style","required":false},"persistent":{"type":"Boolean","desc":"User cannot dismiss Dialog if clicking outside of it or hitting ESC key; Also, an app route change won't dismiss it"},"noEscDismiss":{"type":"Boolean","desc":"User cannot dismiss Dialog by hitting ESC key; No need to set it if 'persistent' prop is also set"},"noBackdropDismiss":{"type":"Boolean","desc":"User cannot dismiss Dialog by clicking outside of it; No need to set it if 'persistent' prop is also set"},"noRouteDismiss":{"type":"Boolean","desc":"Changing route app won't dismiss Dialog; No need to set it if 'persistent' prop is also set"},"seamless":{"type":"Boolean","desc":"Put Dialog into seamless mode; Does not use a backdrop so user is able to interact with the rest of the page too"},"maximized":{"type":"Boolean","desc":"Put Dialog into maximized mode"},"fullWidth":{"type":"Boolean","desc":"Dialog will try to render with same width as the window"},"fullHeight":{"type":"Boolean","desc":"Dialog will try to render with same height as the window"},"transitionShow":{"type":"String","desc":"One of Quasar's embedded transitions","examples":["'fade'","'slide-down'"],"category":"transition","default":"'scale'","required":false},"transitionHide":{"type":"String","desc":"One of Quasar's embedded transitions","examples":["'fade'","'slide-down'"],"category":"transition","default":"'scale'","required":false},"component":{"type":["Component","String"],"desc":"Use custom dialog component; use along with 'componentProps' prop where possible","examples":["CustomComponent","'custom-component'"]},"componentProps":{"type":"Object","desc":"User defined props which will be forwarded to underlying custom component if 'component' prop is used; May also include any built-in QDialog option such as 'persistent' or 'seamless'"}},"desc":"Dialog options","tsType":"QDialogOptions","autoDefineTsType":true}},"returns":{"type":"Object","desc":"Chainable Object","tsType":"DialogChainObject","autoDefineTsType":true,"definition":{"onOk":{"type":"Function","required":true,"desc":"Receives a Function param to tell what to do when OK is pressed / option is selected","params":{"callbackFn":{"type":"Function","desc":"Tell what to do","required":true,"params":{"payload":{"type":"Any","desc":"The payload if called onDialogOK with the parameter or emitted one with the 'ok' event","required":false,"examples":["'Quasar Framework'","[ 1, 2, 6, 3 ]","{ book: { id: 1, name: 'Lorem Ipsum' }, user: { name: 'Lorem J. Ipsum', role: 'admin' } }"]}},"returns":null,"examples":["() => console.log('OK!')","payload => Notify.create({ type: 'positive', message: `Successfully saved '${payload.book.name}' book!` })"]}},"returns":{"type":"Object","desc":"Chained Object","tsType":"DialogChainObject"}},"onCancel":{"type":"Function","required":true,"desc":"Receives a Function as param to tell what to do when Cancel is pressed / dialog is dismissed","params":{"callbackFn":{"type":"Function","desc":"Tell what to do","required":true,"params":null,"returns":null}},"returns":{"type":"Object","desc":"Chained Object","tsType":"DialogChainObject"}},"onDismiss":{"type":"Function","required":true,"desc":"Receives a Function param to tell what to do when the dialog is closed","params":{"callbackFn":{"type":"Function","desc":"Tell what to do","required":true,"params":null,"returns":null}},"returns":{"type":"Object","desc":"Chained Object","tsType":"DialogChainObject"}},"hide":{"type":"Function","required":true,"desc":"Hides the dialog when called","params":null,"returns":{"type":"Object","desc":"Chained Object","tsType":"DialogChainObject"}},"update":{"type":"Function","required":true,"desc":"Updates the initial properties (given as create() param) except for 'component'","params":{"opts":{"type":"Object","required":true,"desc":"If using with 'component' prop then the props to update the current 'componentProps' (will be shallowly merged on top of the previous 'componentProps'); Otherwise the props to be shallowly merged with the previous create() param Object"}},"returns":{"type":"Object","desc":"Chained Object","tsType":"DialogChainObject"}}}},"tsInjectionPoint":true}}}
1
+ {"type":"plugin","meta":{"docsUrl":"https://v2.quasar.dev/quasar-plugins/dialog"},"injection":"$q.dialog","methods":{"create":{"desc":"Creates an ad-hoc Dialog; Same as calling $q.dialog(...)","params":{"opts":{"type":"Object","required":true,"definition":{"class":{"type":["String","Array","Object"],"tsType":"VueClassProp","desc":"CSS Class name to apply to the Dialog's QCard","examples":["'my-class'"]},"style":{"type":["String","Array","Object"],"tsType":"VueStyleProp","desc":"CSS style to apply to the Dialog's QCard","examples":["'border: 2px solid black'"]},"title":{"type":"String","desc":"A text for the heading title of the dialog","examples":["'Continue?'"]},"message":{"type":"String","desc":"A text with more information about what needs to be input, selected or confirmed.","examples":["'Are you certain you want to continue?'"]},"html":{"type":"Boolean","desc":"Render title and message as HTML; This can lead to XSS attacks, so make sure that you sanitize the message first"},"position":{"type":"String","desc":"Position of the Dialog on screen. Standard is centered.","values":["'top'","'right'","'bottom'","'left'","'standard'"],"default":"'standard'","required":false},"prompt":{"type":"Object","tsType":"QDialogInputPrompt","desc":"An object definition of the input field for the prompting question.","examples":["{ model: 'initial-value', type: 'number' }"],"definition":{"model":{"type":"String","required":true,"desc":"The initial value of the input"},"type":{"type":"String","desc":"Optional property to determine the input field type","default":"'text'","examples":["'text'","'number'","'textarea'"],"required":false},"isValid":{"type":"Function","desc":"Is typed content valid?","params":{"val":{"type":"String","required":true,"desc":"The value of the input"}},"returns":{"type":"Boolean","desc":"The text passed validation or not"}},"...QInputProps":{"type":"Any","desc":"Any QInput props, like color, label, stackLabel, filled, outlined, rounded, prefix etc","examples":["label: 'My Label'","standout: true","counter: true","maxlength: 12"]},"...nativeAttributes":{"type":"Object","desc":"Any native attributes to pass to the prompt control","examples":["# autocomplete: 'off'"]}}},"options":{"type":"Object","tsType":"QDialogSelectionPrompt","desc":"An object definition for creating the selection form content","examples":["{ model: null, type: 'radio', items: [ /* ...listOfItems */ ] }"],"definition":{"model":{"type":["String","Array"],"required":true,"desc":"The value of the selection (String if it's of type radio or Array otherwise)","examples":["[]"]},"type":{"type":"String","desc":"The type of selection","default":"'radio'","values":["'radio'","'checkbox'","'toggle'"],"required":false},"items":{"type":"Array","desc":"The list of options to interact with; Equivalent to options prop of the QOptionGroup component","examples":["[{ label: 'Option 1', value: 'op1' }, { label: 'Option 2', value: 'op2' }, { label: 'Option 3', value: 'op3' }]"]},"isValid":{"type":"Function","desc":"Is the model valid?","params":{"model":{"type":["String","Array"],"required":true,"desc":"The current model (String if it's of type radio or Array otherwise)","examples":["'opt2'","['opt1']","[]","['opt1', 'opt3']"]}},"returns":{"type":"Boolean","desc":"The selection passed validation or not"}},"...QOptionGroupProps":{"type":"Any","desc":"Any QOptionGroup props","examples":["color: 'deep-purple-4'","inline: true","dense: true","leftLabel: true"]},"...nativeAttributes":{"type":"Object","desc":"Any native attributes to pass to the inner QOptionGroup"}}},"progress":{"type":["Boolean","Object"],"desc":"Display a Quasar spinner (if value is true, then the defaults are used); Useful for conveying the idea that something is happening behind the covers; Tip: use along with persistent, ok: false and update() method","definition":{"spinner":{"type":"Component","desc":"One of the QSpinners"},"color":{"type":"String","tsType":"NamedColor","desc":"Color name for component from the Quasar Color Palette","examples":["'primary'","'teal'","'teal-10'"],"category":"style"}}},"ok":{"type":["String","Object","Boolean"],"desc":"Props for an 'OK' button","definition":{"...props":{"type":"Any","desc":"See QBtn for available props"}}},"cancel":{"type":["String","Object","Boolean"],"desc":"Props for a 'CANCEL' button","definition":{"...props":{"type":"Any","desc":"See QBtn for available props"}}},"focus":{"type":"String","desc":"What button to focus, unless you also have 'prompt' or 'options'","values":["'ok'","'cancel'","'none'"],"default":"'ok'","required":false},"stackButtons":{"type":"Boolean","desc":"Makes buttons be stacked instead of vertically aligned"},"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":"Apply dark mode","category":"style","required":false},"persistent":{"type":"Boolean","desc":"User cannot dismiss Dialog if clicking outside of it or hitting ESC key; Also, an app route change won't dismiss it"},"noEscDismiss":{"type":"Boolean","desc":"User cannot dismiss Dialog by hitting ESC key; No need to set it if 'persistent' prop is also set"},"noBackdropDismiss":{"type":"Boolean","desc":"User cannot dismiss Dialog by clicking outside of it; No need to set it if 'persistent' prop is also set"},"noRouteDismiss":{"type":"Boolean","desc":"Changing route app won't dismiss Dialog; No need to set it if 'persistent' prop is also set"},"seamless":{"type":"Boolean","desc":"Put Dialog into seamless mode; Does not use a backdrop so user is able to interact with the rest of the page too"},"maximized":{"type":"Boolean","desc":"Put Dialog into maximized mode"},"fullWidth":{"type":"Boolean","desc":"Dialog will try to render with same width as the window"},"fullHeight":{"type":"Boolean","desc":"Dialog will try to render with same height as the window"},"transitionShow":{"type":"String","desc":"One of Quasar's embedded transitions","examples":["'fade'","'slide-down'"],"category":"transition","default":"'scale'","required":false},"transitionHide":{"type":"String","desc":"One of Quasar's embedded transitions","examples":["'fade'","'slide-down'"],"category":"transition","default":"'scale'","required":false},"component":{"type":["Component","String"],"desc":"Use custom dialog component; use along with 'componentProps' prop where possible","examples":["CustomComponent","'custom-component'"]},"componentProps":{"type":"Object","desc":"User defined props which will be forwarded to underlying custom component if 'component' prop is used; May also include any built-in QDialog option such as 'persistent' or 'seamless'"}},"desc":"Dialog options","tsType":"QDialogOptions","autoDefineTsType":true}},"returns":{"type":"Object","desc":"Chainable Object","tsType":"DialogChainObject","autoDefineTsType":true,"definition":{"onOk":{"type":"Function","required":true,"desc":"Receives a Function param to tell what to do when OK is pressed / option is selected","params":{"callbackFn":{"type":"Function","desc":"Tell what to do","required":true,"params":{"payload":{"type":"Any","desc":"The payload if called onDialogOK with the parameter or emitted one with the 'ok' event","required":false,"examples":["'Quasar Framework'","[1, 2, 6, 3]","{ book: { id: 1, name: 'Lorem Ipsum' }, user: { name: 'Lorem J. Ipsum', role: 'admin' } }"]}},"returns":null,"examples":["() => console.log('OK!')","payload => Notify.create({ type: 'positive', message: `Successfully saved '${payload.book.name}' book!` })"]}},"returns":{"type":"Object","desc":"Chained Object","tsType":"DialogChainObject"}},"onCancel":{"type":"Function","required":true,"desc":"Receives a Function as param to tell what to do when Cancel is pressed / dialog is dismissed","params":{"callbackFn":{"type":"Function","desc":"Tell what to do","required":true,"params":null,"returns":null}},"returns":{"type":"Object","desc":"Chained Object","tsType":"DialogChainObject"}},"onDismiss":{"type":"Function","required":true,"desc":"Receives a Function param to tell what to do when the dialog is closed","params":{"callbackFn":{"type":"Function","desc":"Tell what to do","required":true,"params":null,"returns":null}},"returns":{"type":"Object","desc":"Chained Object","tsType":"DialogChainObject"}},"hide":{"type":"Function","required":true,"desc":"Hides the dialog when called","params":null,"returns":{"type":"Object","desc":"Chained Object","tsType":"DialogChainObject"}},"update":{"type":"Function","required":true,"desc":"Updates the initial properties (given as create() param) except for 'component'","params":{"opts":{"type":"Object","required":true,"desc":"If using with 'component' prop then the props to update the current 'componentProps' (will be shallowly merged on top of the previous 'componentProps'); Otherwise the props to be shallowly merged with the previous create() param Object"}},"returns":{"type":"Object","desc":"Chained Object","tsType":"DialogChainObject"}}}},"tsInjectionPoint":true}}}
@@ -1 +1 @@
1
- {"type":"directive","meta":{"docsUrl":"https://v2.quasar.dev/vue-directives/intersection"},"value":{"type":["Object","Function"],"desc":"Function to call when scrolling occurs (identical to description of 'handler' prop of the Object form); If using the Object form, it is HIGHLY recommended to reference it from your vue component scope, otherwise the directive update cycle will continuously recreate the observer which hits performance hard","examples":["# v-intersection=\"myFunction\"","# v-intersection=\"{ handler: myFunction, cfg: { root: myScrollingParentEl, rootMargin: '10px 20px 30px 40px', threshold: [0, 0.25, 0.5, 0.75, 1] } }\""],"definition":{"handler":{"type":"Function","desc":"The handler function to be called","returns":{"type":"Boolean","desc":"If you return Boolean false from the handler, the observer stops"},"params":{"entry":{"type":"Object","tsType":"IntersectionObserverEntry","desc":"The IntersectionObserverEntry object","definition":{"boundingClientRect":{"type":"Object","desc":"Object containing the client rect information","definition":{"bottom":{"type":"Number","desc":"The bottom of the client rect"},"height":{"type":"Number","desc":"The height of the client rect"},"left":{"type":"Number","desc":"The left of the client rect"},"right":{"type":"Number","desc":"The right of the client rect"},"top":{"type":"Number","desc":"The top of the client rect"},"width":{"type":"Number","desc":"The width of the client rect"},"x":{"type":"Number","desc":"The x position of the client rect"},"y":{"type":"Number","desc":"The y position of the client rect"}}},"intersectionRatio":{"type":"Number","desc":"The ratio of the observed objects visibility"},"intersectionRect":{"type":"Object","desc":"Object containing the client rect information","definition":{"bottom":{"type":"Number","desc":"The bottom of the client rect"},"height":{"type":"Number","desc":"The height of the client rect"},"left":{"type":"Number","desc":"The left of the client rect"},"right":{"type":"Number","desc":"The right of the client rect"},"top":{"type":"Number","desc":"The top of the client rect"},"width":{"type":"Number","desc":"The width of the client rect"},"x":{"type":"Number","desc":"The x position of the client rect"},"y":{"type":"Number","desc":"The y position of the client rect"}}},"isIntersecting":{"type":"Boolean","desc":"It is Boolean true if intersecting the scrollable area"},"rootBounds":{"type":"Object","desc":"Object containing the client rect information","definition":{"bottom":{"type":"Number","desc":"The bottom of the client rect"},"height":{"type":"Number","desc":"The height of the client rect"},"left":{"type":"Number","desc":"The left of the client rect"},"right":{"type":"Number","desc":"The right of the client rect"},"top":{"type":"Number","desc":"The top of the client rect"},"width":{"type":"Number","desc":"The width of the client rect"},"x":{"type":"Number","desc":"The x position of the client rect"},"y":{"type":"Number","desc":"The y position of the client rect"}}},"target":{"type":"Element","desc":"The target element"},"time":{"type":"Number","desc":"The timestamp of the event","examples":["6316.879999998491"]}}}}},"cfg":{"type":"Object","desc":"Intersection observer options (can be omitted and all its props are optional)","definition":{"root":{"type":"Element","desc":"Lets you define an alternative to the viewport as your root (through its DOM element); It is important to keep in mind that root needs to be an ancestor of the observed element","examples":["myScrollingParentEl"]},"rootMargin":{"type":"String","desc":"Allows you to specify the margins for the root, effectively allowing you to either grow or shrink the area used for intersections","examples":["'10px 20px 30px 40px'"]},"threshold":{"type":"Array","desc":"Threshold(s) at which to trigger callback, specified as a ratio, or list of ratios, of (visible area / total area) of the observed element","examples":["[ 0, 0.25, 0.5, 0.75, 1 ]"]}}}},"params":{"entry":{"type":"Object","tsType":"IntersectionObserverEntry","desc":"The IntersectionObserverEntry object"}},"returns":{"type":"Boolean","desc":"If you return Boolean false from the handler, the observer stops"}},"modifiers":{"once":{"type":"Boolean","desc":"Call handler only once, when the conditions are first met","examples":["# v-intersection.once"]}}}
1
+ {"type":"directive","meta":{"docsUrl":"https://v2.quasar.dev/vue-directives/intersection"},"value":{"type":["Object","Function"],"desc":"Function to call when scrolling occurs (identical to description of 'handler' prop of the Object form); If using the Object form, it is HIGHLY recommended to reference it from your vue component scope, otherwise the directive update cycle will continuously recreate the observer which hits performance hard","examples":["# v-intersection=\"myFunction\"","# v-intersection=\"{ handler: myFunction, cfg: { root: myScrollingParentEl, rootMargin: '10px 20px 30px 40px', threshold: [0, 0.25, 0.5, 0.75, 1] } }\""],"definition":{"handler":{"type":"Function","desc":"The handler function to be called","returns":{"type":"Boolean","desc":"If you return Boolean false from the handler, the observer stops"},"params":{"entry":{"type":"Object","tsType":"IntersectionObserverEntry","desc":"The IntersectionObserverEntry object","definition":{"boundingClientRect":{"type":"Object","desc":"Object containing the client rect information","definition":{"bottom":{"type":"Number","desc":"The bottom of the client rect"},"height":{"type":"Number","desc":"The height of the client rect"},"left":{"type":"Number","desc":"The left of the client rect"},"right":{"type":"Number","desc":"The right of the client rect"},"top":{"type":"Number","desc":"The top of the client rect"},"width":{"type":"Number","desc":"The width of the client rect"},"x":{"type":"Number","desc":"The x position of the client rect"},"y":{"type":"Number","desc":"The y position of the client rect"}}},"intersectionRatio":{"type":"Number","desc":"The ratio of the observed objects visibility"},"intersectionRect":{"type":"Object","desc":"Object containing the client rect information","definition":{"bottom":{"type":"Number","desc":"The bottom of the client rect"},"height":{"type":"Number","desc":"The height of the client rect"},"left":{"type":"Number","desc":"The left of the client rect"},"right":{"type":"Number","desc":"The right of the client rect"},"top":{"type":"Number","desc":"The top of the client rect"},"width":{"type":"Number","desc":"The width of the client rect"},"x":{"type":"Number","desc":"The x position of the client rect"},"y":{"type":"Number","desc":"The y position of the client rect"}}},"isIntersecting":{"type":"Boolean","desc":"It is Boolean true if intersecting the scrollable area"},"rootBounds":{"type":"Object","desc":"Object containing the client rect information","definition":{"bottom":{"type":"Number","desc":"The bottom of the client rect"},"height":{"type":"Number","desc":"The height of the client rect"},"left":{"type":"Number","desc":"The left of the client rect"},"right":{"type":"Number","desc":"The right of the client rect"},"top":{"type":"Number","desc":"The top of the client rect"},"width":{"type":"Number","desc":"The width of the client rect"},"x":{"type":"Number","desc":"The x position of the client rect"},"y":{"type":"Number","desc":"The y position of the client rect"}}},"target":{"type":"Element","desc":"The target element"},"time":{"type":"Number","desc":"The timestamp of the event","examples":["6316.879999998491"]}}}}},"cfg":{"type":"Object","desc":"Intersection observer options (can be omitted and all its props are optional)","definition":{"root":{"type":"Element","desc":"Lets you define an alternative to the viewport as your root (through its DOM element); It is important to keep in mind that root needs to be an ancestor of the observed element","examples":["myScrollingParentEl"]},"rootMargin":{"type":"String","desc":"Allows you to specify the margins for the root, effectively allowing you to either grow or shrink the area used for intersections","examples":["'10px 20px 30px 40px'"]},"threshold":{"type":"Array","desc":"Threshold(s) at which to trigger callback, specified as a ratio, or list of ratios, of (visible area / total area) of the observed element","examples":["[0, 0.25, 0.5, 0.75, 1]"]}}}},"params":{"entry":{"type":"Object","tsType":"IntersectionObserverEntry","desc":"The IntersectionObserverEntry object"}},"returns":{"type":"Boolean","desc":"If you return Boolean false from the handler, the observer stops"}},"modifiers":{"once":{"type":"Boolean","desc":"Call handler only once, when the conditions are first met","examples":["# v-intersection.once"]}}}
@@ -1 +1 @@
1
- {"type":"plugin","meta":{"docsUrl":"https://v2.quasar.dev/options/quasar-language-packs"},"injection":"$q.lang","quasarConfOptions":{"propName":"lang","type":"Object","definition":{"noHtmlAttrs":{"type":"Boolean","addedIn":"v2.11.3","desc":"Whether to disable 'dir' and 'lang' HTML attributes getting added to the '<html>' tag. The 'dir' attribute is crucial when using RTL support. Disable this only if you need to handle these yourself for some reason."}}},"props":{"props":{"type":"Object","desc":"Quasar language pack","definition":{"isoName":{"type":"String","desc":"The ISO name of the Quasar language pack","examples":["'en-US'"]},"nativeName":{"type":"String","desc":"The native name of the Quasar language pack","examples":["'English (US)'"]},"rtl":{"type":"Boolean","desc":"Whether the language is RTL (right-to-left)","examples":["false"]},"label":{"type":"Object","desc":"Generic labels","definition":{"clear":{"type":"String","desc":"Label","examples":["'Clear'"]},"ok":{"type":"String","desc":"Label","examples":["'OK'"]},"cancel":{"type":"String","desc":"Label","examples":["'Cancel'"]},"close":{"type":"String","desc":"Label","examples":["'Close'"]},"set":{"type":"String","desc":"Label","examples":["'Set'"]},"select":{"type":"String","desc":"Label","examples":["'Select'"]},"reset":{"type":"String","desc":"Label","examples":["'Reset'"]},"remove":{"type":"String","desc":"Label","examples":["'Remove'"]},"update":{"type":"String","desc":"Label","examples":["'Update'"]},"create":{"type":"String","desc":"Label","examples":["'Create'"]},"search":{"type":"String","desc":"Label","examples":["'Search'"]},"filter":{"type":"String","desc":"Label","examples":["'Filter'"]},"refresh":{"type":"String","desc":"Label","examples":["'Refresh'"]},"expand":{"type":"Function","desc":"Label function","params":{"label":{"type":"String","desc":"Item to expand"}},"returns":{"type":"String","desc":"Label","examples":["'Expand'"]},"examples":["label => (label ? `Expand '${ label }'` : 'Expand')"]},"collapse":{"type":"Function","desc":"Label function","params":{"label":{"type":"String","desc":"Item to collapse"}},"returns":{"type":"String","desc":"Label","examples":["'Collapse'"]},"examples":["label => (label ? `Collapse '${ label }'` : 'Collapse')"]}}},"date":{"type":"Object","desc":"QDate labels","definition":{"days":{"type":"Array","desc":"Label","examples":["[ 'Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday' ]"]},"daysShort":{"type":"Array","desc":"Label","examples":["[ 'Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat' ]"]},"months":{"type":"Array","desc":"Label","examples":["[ 'January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December' ]"]},"monthsShort":{"type":"Array","desc":"Label","examples":["[ 'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec' ]"]},"firstDayOfWeek":{"type":"Number","desc":"0-6, 0 - Sunday, 1 Monday, ...","examples":["0"]},"format24h":{"type":"Boolean","desc":"Uses 24-hour format"},"pluralDay":{"type":"String","desc":"Label","examples":["'days'"]}}},"table":{"type":"Object","desc":"QTable labels","definition":{"noData":{"type":"String","desc":"Label","examples":["'No data available'"]},"noResults":{"type":"String","desc":"Label","examples":["'No matching records found'"]},"loading":{"type":"String","desc":"Label","examples":["'Loading...'"]},"selectedRecords":{"type":"Function","desc":"Label function","params":{"rows":{"type":"Number","desc":"Number of selected rows","required":true,"examples":["5"]}},"returns":{"type":"String","desc":"Label","examples":["'5 records selected'"]},"examples":["rows => `${ rows } records selected`"]},"recordsPerPage":{"type":"String","desc":"Label","examples":["'Records per page:'"]},"allRows":{"type":"String","desc":"Label","examples":["'All'"]},"pagination":{"type":"Function","desc":"Label function","params":{"start":{"type":"Number","desc":"Page start index","required":true,"examples":["5"]},"end":{"type":"Number","desc":"Page end index","required":true,"examples":["10"]},"total":{"type":"Number","desc":"Total number of rows","required":true,"examples":["50"]}},"returns":{"type":"String","desc":"Label","examples":["'5-10 of 50'"]},"examples":["(start, end, total) => start + '-' + end + ' of ' + total"]},"columns":{"type":"String","desc":"Label","examples":["'Columns'"]}}},"editor":{"type":"Object","desc":"QEditor labels","definition":{"url":{"type":"String","desc":"Label","examples":["'URL'"]},"bold":{"type":"String","desc":"Label","examples":["'Bold'"]},"italic":{"type":"String","desc":"Label","examples":["'Italic'"]},"strikethrough":{"type":"String","desc":"Label","examples":["'Strikethrough'"]},"underline":{"type":"String","desc":"Label","examples":["'Underline'"]},"unorderedList":{"type":"String","desc":"Label","examples":["'Unordered List'"]},"orderedList":{"type":"String","desc":"Label","examples":["'Ordered List'"]},"subscript":{"type":"String","desc":"Label","examples":["'Subscript'"]},"superscript":{"type":"String","desc":"Label","examples":["'Superscript'"]},"hyperlink":{"type":"String","desc":"Label","examples":["'Hyperlink'"]},"toggleFullscreen":{"type":"String","desc":"Label","examples":["'Toggle Fullscreen'"]},"quote":{"type":"String","desc":"Label","examples":["'Quote'"]},"left":{"type":"String","desc":"Label","examples":["'Left align'"]},"center":{"type":"String","desc":"Label","examples":["'Center align'"]},"right":{"type":"String","desc":"Label","examples":["'Right align'"]},"justify":{"type":"String","desc":"Label","examples":["'Justify align'"]},"print":{"type":"String","desc":"Label","examples":["'Print'"]},"outdent":{"type":"String","desc":"Label","examples":["'Decrease indentation'"]},"indent":{"type":"String","desc":"Label","examples":["'Increase indentation'"]},"removeFormat":{"type":"String","desc":"Label","examples":["'Remove formatting'"]},"formatting":{"type":"String","desc":"Label","examples":["'Formatting'"]},"fontSize":{"type":"String","desc":"Label","examples":["'Font Size'"]},"align":{"type":"String","desc":"Label","examples":["'Align'"]},"hr":{"type":"String","desc":"Label","examples":["'Insert Horizontal Rule'"]},"undo":{"type":"String","desc":"Label","examples":["'Undo'"]},"redo":{"type":"String","desc":"Label","examples":["'Redo'"]},"heading1":{"type":"String","desc":"Label","examples":["'Heading 1'"]},"heading2":{"type":"String","desc":"Label","examples":["'Heading 2'"]},"heading3":{"type":"String","desc":"Label","examples":["'Heading 3'"]},"heading4":{"type":"String","desc":"Label","examples":["'Heading 4'"]},"heading5":{"type":"String","desc":"Label","examples":["'Heading 5'"]},"heading6":{"type":"String","desc":"Label","examples":["'Heading 6'"]},"paragraph":{"type":"String","desc":"Label","examples":["'Paragraph'"]},"code":{"type":"String","desc":"Label","examples":["'Code'"]},"size1":{"type":"String","desc":"Label","examples":["'Very small'"]},"size2":{"type":"String","desc":"Label","examples":["'A bit small'"]},"size3":{"type":"String","desc":"Label","examples":["'Normal'"]},"size4":{"type":"String","desc":"Label","examples":["'Medium-large'"]},"size5":{"type":"String","desc":"Label","examples":["'Big'"]},"size6":{"type":"String","desc":"Label","examples":["'Very big'"]},"size7":{"type":"String","desc":"Label","examples":["'Maximum'"]},"defaultFont":{"type":"String","desc":"Label","examples":["'Default Font'"]},"viewSource":{"type":"String","desc":"Label","examples":["'View Source'"]}}},"tree":{"type":"Object","desc":"QTree labels","definition":{"noNodes":{"type":"String","desc":"Label","examples":["'No nodes available'"]},"noResults":{"type":"String","desc":"Label","examples":["'No matching nodes found'"]}}}}}},"methods":{"set":{"desc":"Set another Quasar Language Pack","params":{"quasarLanguagePack":{"type":"Object","desc":"Usually you will import such an object directly from quasar (eg: import qIconSet from 'quasar/lang/<lang-name>')","required":true,"definition":{"isoName":{"type":"String","desc":"The ISO name of the Quasar language pack","required":true,"examples":["'en-US'"]},"nativeName":{"type":"String","desc":"The native name of the Quasar language pack","required":true,"examples":["'English (US)'"]},"rtl":{"type":"Boolean","default":"true","desc":"Whether the language is RTL (right-to-left)","examples":["false"],"required":false},"label":{"type":"Object","desc":"Generic labels","required":true,"definition":{"clear":{"type":"String","desc":"Label","required":true,"examples":["'Clear'"]},"ok":{"type":"String","desc":"Label","required":true,"examples":["'OK'"]},"cancel":{"type":"String","desc":"Label","required":true,"examples":["'Cancel'"]},"close":{"type":"String","desc":"Label","required":true,"examples":["'Close'"]},"set":{"type":"String","desc":"Label","required":true,"examples":["'Set'"]},"select":{"type":"String","desc":"Label","required":true,"examples":["'Select'"]},"reset":{"type":"String","desc":"Label","required":true,"examples":["'Reset'"]},"remove":{"type":"String","desc":"Label","required":true,"examples":["'Remove'"]},"update":{"type":"String","desc":"Label","required":true,"examples":["'Update'"]},"create":{"type":"String","desc":"Label","required":true,"examples":["'Create'"]},"search":{"type":"String","desc":"Label","required":true,"examples":["'Search'"]},"filter":{"type":"String","desc":"Label","required":true,"examples":["'Filter'"]},"refresh":{"type":"String","desc":"Label","required":true,"examples":["'Refresh'"]},"expand":{"type":"Function","desc":"Label function","required":true,"params":{"label":{"type":"String","desc":"Item to expand"}},"returns":{"type":"String","desc":"Label","examples":["'Expand'"]},"examples":["label => (label ? `Expand '${ label }'` : 'Expand')"]},"collapse":{"type":"Function","desc":"Label function","required":true,"params":{"label":{"type":"String","desc":"Item to collapse"}},"returns":{"type":"String","desc":"Label","examples":["'Collapse'"]},"examples":["label => (label ? `Collapse '${ label }'` : 'Collapse')"]}}},"date":{"type":"Object","desc":"QDate labels","required":true,"definition":{"days":{"type":"Array","desc":"Label","required":true,"examples":["[ 'Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday' ]"]},"daysShort":{"type":"Array","desc":"Label","required":true,"examples":["[ 'Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat' ]"]},"months":{"type":"Array","desc":"Label","required":true,"examples":["[ 'January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December' ]"]},"monthsShort":{"type":"Array","desc":"Label","required":true,"examples":["[ 'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec' ]"]},"firstDayOfWeek":{"type":"Number","desc":"0-6, 0 - Sunday, 1 Monday, ...","required":true,"examples":["0"]},"format24h":{"type":"Boolean","desc":"Uses 24-hour format","required":true},"pluralDay":{"type":"String","desc":"Label","required":true,"examples":["'days'"]}}},"table":{"type":"Object","desc":"QTable labels","required":true,"definition":{"noData":{"type":"String","desc":"Label","required":true,"examples":["'No data available'"]},"noResults":{"type":"String","desc":"Label","required":true,"examples":["'No matching records found'"]},"loading":{"type":"String","desc":"Label","required":true,"examples":["'Loading...'"]},"selectedRecords":{"type":"Function","desc":"Label function","required":true,"params":{"rows":{"type":"Number","desc":"Number of selected rows","required":true,"examples":["5"]}},"returns":{"type":"String","desc":"Label","examples":["'5 records selected'"]},"examples":["rows => `${ rows } records selected`"]},"recordsPerPage":{"type":"String","desc":"Label","required":true,"examples":["'Records per page:'"]},"allRows":{"type":"String","desc":"Label","required":true,"examples":["'All'"]},"pagination":{"type":"Function","desc":"Label function","required":true,"params":{"start":{"type":"Number","desc":"Page start index","required":true,"examples":["5"]},"end":{"type":"Number","desc":"Page end index","required":true,"examples":["10"]},"total":{"type":"Number","desc":"Total number of rows","required":true,"examples":["50"]}},"returns":{"type":"String","desc":"Label","examples":["'5-10 of 50'"]},"examples":["(start, end, total) => start + '-' + end + ' of ' + total"]},"columns":{"type":"String","desc":"Label","required":true,"examples":["'Columns'"]}}},"editor":{"type":"Object","desc":"QEditor labels","required":true,"definition":{"url":{"type":"String","desc":"Label","required":true,"examples":["'URL'"]},"bold":{"type":"String","desc":"Label","required":true,"examples":["'Bold'"]},"italic":{"type":"String","desc":"Label","required":true,"examples":["'Italic'"]},"strikethrough":{"type":"String","desc":"Label","required":true,"examples":["'Strikethrough'"]},"underline":{"type":"String","desc":"Label","required":true,"examples":["'Underline'"]},"unorderedList":{"type":"String","desc":"Label","required":true,"examples":["'Unordered List'"]},"orderedList":{"type":"String","desc":"Label","required":true,"examples":["'Ordered List'"]},"subscript":{"type":"String","desc":"Label","required":true,"examples":["'Subscript'"]},"superscript":{"type":"String","desc":"Label","required":true,"examples":["'Superscript'"]},"hyperlink":{"type":"String","desc":"Label","required":true,"examples":["'Hyperlink'"]},"toggleFullscreen":{"type":"String","desc":"Label","required":true,"examples":["'Toggle Fullscreen'"]},"quote":{"type":"String","desc":"Label","required":true,"examples":["'Quote'"]},"left":{"type":"String","desc":"Label","required":true,"examples":["'Left align'"]},"center":{"type":"String","desc":"Label","required":true,"examples":["'Center align'"]},"right":{"type":"String","desc":"Label","required":true,"examples":["'Right align'"]},"justify":{"type":"String","desc":"Label","required":true,"examples":["'Justify align'"]},"print":{"type":"String","desc":"Label","required":true,"examples":["'Print'"]},"outdent":{"type":"String","desc":"Label","required":true,"examples":["'Decrease indentation'"]},"indent":{"type":"String","desc":"Label","required":true,"examples":["'Increase indentation'"]},"removeFormat":{"type":"String","desc":"Label","required":true,"examples":["'Remove formatting'"]},"formatting":{"type":"String","desc":"Label","required":true,"examples":["'Formatting'"]},"fontSize":{"type":"String","desc":"Label","required":true,"examples":["'Font Size'"]},"align":{"type":"String","desc":"Label","required":true,"examples":["'Align'"]},"hr":{"type":"String","desc":"Label","required":true,"examples":["'Insert Horizontal Rule'"]},"undo":{"type":"String","desc":"Label","required":true,"examples":["'Undo'"]},"redo":{"type":"String","desc":"Label","required":true,"examples":["'Redo'"]},"heading1":{"type":"String","desc":"Label","required":true,"examples":["'Heading 1'"]},"heading2":{"type":"String","desc":"Label","required":true,"examples":["'Heading 2'"]},"heading3":{"type":"String","desc":"Label","required":true,"examples":["'Heading 3'"]},"heading4":{"type":"String","desc":"Label","required":true,"examples":["'Heading 4'"]},"heading5":{"type":"String","desc":"Label","required":true,"examples":["'Heading 5'"]},"heading6":{"type":"String","desc":"Label","required":true,"examples":["'Heading 6'"]},"paragraph":{"type":"String","desc":"Label","required":true,"examples":["'Paragraph'"]},"code":{"type":"String","desc":"Label","required":true,"examples":["'Code'"]},"size1":{"type":"String","desc":"Label","required":true,"examples":["'Very small'"]},"size2":{"type":"String","desc":"Label","required":true,"examples":["'A bit small'"]},"size3":{"type":"String","desc":"Label","required":true,"examples":["'Normal'"]},"size4":{"type":"String","desc":"Label","required":true,"examples":["'Medium-large'"]},"size5":{"type":"String","desc":"Label","required":true,"examples":["'Big'"]},"size6":{"type":"String","desc":"Label","required":true,"examples":["'Very big'"]},"size7":{"type":"String","desc":"Label","required":true,"examples":["'Maximum'"]},"defaultFont":{"type":"String","desc":"Label","required":true,"examples":["'Default Font'"]},"viewSource":{"type":"String","desc":"Label","required":true,"examples":["'View Source'"]}}},"tree":{"type":"Object","desc":"QTree labels","required":true,"definition":{"noNodes":{"type":"String","desc":"Label","required":true,"examples":["'No nodes available'"]},"noResults":{"type":"String","desc":"Label","required":true,"examples":["'No matching nodes found'"]}}}}},"ssrContent":{"type":"Object","desc":"Required for SSR only"}},"returns":null},"getLocale":{"desc":"Get the browser locale ISO name; Returns undefined when it cannot determine current browser locale or when running on server in SSR mode","params":null,"returns":{"type":["String","undefined"],"desc":"Browser locale ISO name","examples":["'en-US'"]}}}}
1
+ {"type":"plugin","meta":{"docsUrl":"https://v2.quasar.dev/options/quasar-language-packs"},"injection":"$q.lang","quasarConfOptions":{"propName":"lang","type":"Object","definition":{"noHtmlAttrs":{"type":"Boolean","addedIn":"v2.11.3","desc":"Whether to disable 'dir' and 'lang' HTML attributes getting added to the '<html>' tag. The 'dir' attribute is crucial when using RTL support. Disable this only if you need to handle these yourself for some reason."}}},"props":{"props":{"type":"Object","desc":"Quasar language pack","definition":{"isoName":{"type":"String","desc":"The ISO name of the Quasar language pack","examples":["'en-US'"]},"nativeName":{"type":"String","desc":"The native name of the Quasar language pack","examples":["'English (US)'"]},"rtl":{"type":"Boolean","desc":"Whether the language is RTL (right-to-left)","examples":["false"]},"label":{"type":"Object","desc":"Generic labels","definition":{"clear":{"type":"String","desc":"Label","examples":["'Clear'"]},"ok":{"type":"String","desc":"Label","examples":["'OK'"]},"cancel":{"type":"String","desc":"Label","examples":["'Cancel'"]},"close":{"type":"String","desc":"Label","examples":["'Close'"]},"set":{"type":"String","desc":"Label","examples":["'Set'"]},"select":{"type":"String","desc":"Label","examples":["'Select'"]},"reset":{"type":"String","desc":"Label","examples":["'Reset'"]},"remove":{"type":"String","desc":"Label","examples":["'Remove'"]},"update":{"type":"String","desc":"Label","examples":["'Update'"]},"create":{"type":"String","desc":"Label","examples":["'Create'"]},"search":{"type":"String","desc":"Label","examples":["'Search'"]},"filter":{"type":"String","desc":"Label","examples":["'Filter'"]},"refresh":{"type":"String","desc":"Label","examples":["'Refresh'"]},"expand":{"type":"Function","desc":"Label function","params":{"label":{"type":"String","desc":"Item to expand"}},"returns":{"type":"String","desc":"Label","examples":["'Expand'"]},"examples":["label => (label ? `Expand '${ label }'` : 'Expand')"]},"collapse":{"type":"Function","desc":"Label function","params":{"label":{"type":"String","desc":"Item to collapse"}},"returns":{"type":"String","desc":"Label","examples":["'Collapse'"]},"examples":["label => (label ? `Collapse '${ label }'` : 'Collapse')"]}}},"date":{"type":"Object","desc":"QDate labels","definition":{"days":{"type":"Array","desc":"Label","examples":["['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']"]},"daysShort":{"type":"Array","desc":"Label","examples":["['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat']"]},"months":{"type":"Array","desc":"Label","examples":["['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']"]},"monthsShort":{"type":"Array","desc":"Label","examples":["['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']"]},"firstDayOfWeek":{"type":"Number","desc":"0-6, 0 - Sunday, 1 Monday, ...","examples":["0"]},"format24h":{"type":"Boolean","desc":"Uses 24-hour format"},"pluralDay":{"type":"String","desc":"Label","examples":["'days'"]}}},"table":{"type":"Object","desc":"QTable labels","definition":{"noData":{"type":"String","desc":"Label","examples":["'No data available'"]},"noResults":{"type":"String","desc":"Label","examples":["'No matching records found'"]},"loading":{"type":"String","desc":"Label","examples":["'Loading...'"]},"selectedRecords":{"type":"Function","desc":"Label function","params":{"rows":{"type":"Number","desc":"Number of selected rows","required":true,"examples":["5"]}},"returns":{"type":"String","desc":"Label","examples":["'5 records selected'"]},"examples":["rows => `${ rows } records selected`"]},"recordsPerPage":{"type":"String","desc":"Label","examples":["'Records per page:'"]},"allRows":{"type":"String","desc":"Label","examples":["'All'"]},"pagination":{"type":"Function","desc":"Label function","params":{"start":{"type":"Number","desc":"Page start index","required":true,"examples":["5"]},"end":{"type":"Number","desc":"Page end index","required":true,"examples":["10"]},"total":{"type":"Number","desc":"Total number of rows","required":true,"examples":["50"]}},"returns":{"type":"String","desc":"Label","examples":["'5-10 of 50'"]},"examples":["(start, end, total) => start + '-' + end + ' of ' + total"]},"columns":{"type":"String","desc":"Label","examples":["'Columns'"]}}},"editor":{"type":"Object","desc":"QEditor labels","definition":{"url":{"type":"String","desc":"Label","examples":["'URL'"]},"bold":{"type":"String","desc":"Label","examples":["'Bold'"]},"italic":{"type":"String","desc":"Label","examples":["'Italic'"]},"strikethrough":{"type":"String","desc":"Label","examples":["'Strikethrough'"]},"underline":{"type":"String","desc":"Label","examples":["'Underline'"]},"unorderedList":{"type":"String","desc":"Label","examples":["'Unordered List'"]},"orderedList":{"type":"String","desc":"Label","examples":["'Ordered List'"]},"subscript":{"type":"String","desc":"Label","examples":["'Subscript'"]},"superscript":{"type":"String","desc":"Label","examples":["'Superscript'"]},"hyperlink":{"type":"String","desc":"Label","examples":["'Hyperlink'"]},"toggleFullscreen":{"type":"String","desc":"Label","examples":["'Toggle Fullscreen'"]},"quote":{"type":"String","desc":"Label","examples":["'Quote'"]},"left":{"type":"String","desc":"Label","examples":["'Left align'"]},"center":{"type":"String","desc":"Label","examples":["'Center align'"]},"right":{"type":"String","desc":"Label","examples":["'Right align'"]},"justify":{"type":"String","desc":"Label","examples":["'Justify align'"]},"print":{"type":"String","desc":"Label","examples":["'Print'"]},"outdent":{"type":"String","desc":"Label","examples":["'Decrease indentation'"]},"indent":{"type":"String","desc":"Label","examples":["'Increase indentation'"]},"removeFormat":{"type":"String","desc":"Label","examples":["'Remove formatting'"]},"formatting":{"type":"String","desc":"Label","examples":["'Formatting'"]},"fontSize":{"type":"String","desc":"Label","examples":["'Font Size'"]},"align":{"type":"String","desc":"Label","examples":["'Align'"]},"hr":{"type":"String","desc":"Label","examples":["'Insert Horizontal Rule'"]},"undo":{"type":"String","desc":"Label","examples":["'Undo'"]},"redo":{"type":"String","desc":"Label","examples":["'Redo'"]},"heading1":{"type":"String","desc":"Label","examples":["'Heading 1'"]},"heading2":{"type":"String","desc":"Label","examples":["'Heading 2'"]},"heading3":{"type":"String","desc":"Label","examples":["'Heading 3'"]},"heading4":{"type":"String","desc":"Label","examples":["'Heading 4'"]},"heading5":{"type":"String","desc":"Label","examples":["'Heading 5'"]},"heading6":{"type":"String","desc":"Label","examples":["'Heading 6'"]},"paragraph":{"type":"String","desc":"Label","examples":["'Paragraph'"]},"code":{"type":"String","desc":"Label","examples":["'Code'"]},"size1":{"type":"String","desc":"Label","examples":["'Very small'"]},"size2":{"type":"String","desc":"Label","examples":["'A bit small'"]},"size3":{"type":"String","desc":"Label","examples":["'Normal'"]},"size4":{"type":"String","desc":"Label","examples":["'Medium-large'"]},"size5":{"type":"String","desc":"Label","examples":["'Big'"]},"size6":{"type":"String","desc":"Label","examples":["'Very big'"]},"size7":{"type":"String","desc":"Label","examples":["'Maximum'"]},"defaultFont":{"type":"String","desc":"Label","examples":["'Default Font'"]},"viewSource":{"type":"String","desc":"Label","examples":["'View Source'"]}}},"tree":{"type":"Object","desc":"QTree labels","definition":{"noNodes":{"type":"String","desc":"Label","examples":["'No nodes available'"]},"noResults":{"type":"String","desc":"Label","examples":["'No matching nodes found'"]}}}}}},"methods":{"set":{"desc":"Set another Quasar Language Pack","params":{"quasarLanguagePack":{"type":"Object","desc":"Usually you will import such an object directly from quasar (eg: import qIconSet from 'quasar/lang/<lang-name>')","required":true,"definition":{"isoName":{"type":"String","desc":"The ISO name of the Quasar language pack","required":true,"examples":["'en-US'"]},"nativeName":{"type":"String","desc":"The native name of the Quasar language pack","required":true,"examples":["'English (US)'"]},"rtl":{"type":"Boolean","default":"true","desc":"Whether the language is RTL (right-to-left)","examples":["false"],"required":false},"label":{"type":"Object","desc":"Generic labels","required":true,"definition":{"clear":{"type":"String","desc":"Label","required":true,"examples":["'Clear'"]},"ok":{"type":"String","desc":"Label","required":true,"examples":["'OK'"]},"cancel":{"type":"String","desc":"Label","required":true,"examples":["'Cancel'"]},"close":{"type":"String","desc":"Label","required":true,"examples":["'Close'"]},"set":{"type":"String","desc":"Label","required":true,"examples":["'Set'"]},"select":{"type":"String","desc":"Label","required":true,"examples":["'Select'"]},"reset":{"type":"String","desc":"Label","required":true,"examples":["'Reset'"]},"remove":{"type":"String","desc":"Label","required":true,"examples":["'Remove'"]},"update":{"type":"String","desc":"Label","required":true,"examples":["'Update'"]},"create":{"type":"String","desc":"Label","required":true,"examples":["'Create'"]},"search":{"type":"String","desc":"Label","required":true,"examples":["'Search'"]},"filter":{"type":"String","desc":"Label","required":true,"examples":["'Filter'"]},"refresh":{"type":"String","desc":"Label","required":true,"examples":["'Refresh'"]},"expand":{"type":"Function","desc":"Label function","required":true,"params":{"label":{"type":"String","desc":"Item to expand"}},"returns":{"type":"String","desc":"Label","examples":["'Expand'"]},"examples":["label => (label ? `Expand '${ label }'` : 'Expand')"]},"collapse":{"type":"Function","desc":"Label function","required":true,"params":{"label":{"type":"String","desc":"Item to collapse"}},"returns":{"type":"String","desc":"Label","examples":["'Collapse'"]},"examples":["label => (label ? `Collapse '${ label }'` : 'Collapse')"]}}},"date":{"type":"Object","desc":"QDate labels","required":true,"definition":{"days":{"type":"Array","desc":"Label","required":true,"examples":["['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']"]},"daysShort":{"type":"Array","desc":"Label","required":true,"examples":["['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat']"]},"months":{"type":"Array","desc":"Label","required":true,"examples":["['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']"]},"monthsShort":{"type":"Array","desc":"Label","required":true,"examples":["['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']"]},"firstDayOfWeek":{"type":"Number","desc":"0-6, 0 - Sunday, 1 Monday, ...","required":true,"examples":["0"]},"format24h":{"type":"Boolean","desc":"Uses 24-hour format","required":true},"pluralDay":{"type":"String","desc":"Label","required":true,"examples":["'days'"]}}},"table":{"type":"Object","desc":"QTable labels","required":true,"definition":{"noData":{"type":"String","desc":"Label","required":true,"examples":["'No data available'"]},"noResults":{"type":"String","desc":"Label","required":true,"examples":["'No matching records found'"]},"loading":{"type":"String","desc":"Label","required":true,"examples":["'Loading...'"]},"selectedRecords":{"type":"Function","desc":"Label function","required":true,"params":{"rows":{"type":"Number","desc":"Number of selected rows","required":true,"examples":["5"]}},"returns":{"type":"String","desc":"Label","examples":["'5 records selected'"]},"examples":["rows => `${ rows } records selected`"]},"recordsPerPage":{"type":"String","desc":"Label","required":true,"examples":["'Records per page:'"]},"allRows":{"type":"String","desc":"Label","required":true,"examples":["'All'"]},"pagination":{"type":"Function","desc":"Label function","required":true,"params":{"start":{"type":"Number","desc":"Page start index","required":true,"examples":["5"]},"end":{"type":"Number","desc":"Page end index","required":true,"examples":["10"]},"total":{"type":"Number","desc":"Total number of rows","required":true,"examples":["50"]}},"returns":{"type":"String","desc":"Label","examples":["'5-10 of 50'"]},"examples":["(start, end, total) => start + '-' + end + ' of ' + total"]},"columns":{"type":"String","desc":"Label","required":true,"examples":["'Columns'"]}}},"editor":{"type":"Object","desc":"QEditor labels","required":true,"definition":{"url":{"type":"String","desc":"Label","required":true,"examples":["'URL'"]},"bold":{"type":"String","desc":"Label","required":true,"examples":["'Bold'"]},"italic":{"type":"String","desc":"Label","required":true,"examples":["'Italic'"]},"strikethrough":{"type":"String","desc":"Label","required":true,"examples":["'Strikethrough'"]},"underline":{"type":"String","desc":"Label","required":true,"examples":["'Underline'"]},"unorderedList":{"type":"String","desc":"Label","required":true,"examples":["'Unordered List'"]},"orderedList":{"type":"String","desc":"Label","required":true,"examples":["'Ordered List'"]},"subscript":{"type":"String","desc":"Label","required":true,"examples":["'Subscript'"]},"superscript":{"type":"String","desc":"Label","required":true,"examples":["'Superscript'"]},"hyperlink":{"type":"String","desc":"Label","required":true,"examples":["'Hyperlink'"]},"toggleFullscreen":{"type":"String","desc":"Label","required":true,"examples":["'Toggle Fullscreen'"]},"quote":{"type":"String","desc":"Label","required":true,"examples":["'Quote'"]},"left":{"type":"String","desc":"Label","required":true,"examples":["'Left align'"]},"center":{"type":"String","desc":"Label","required":true,"examples":["'Center align'"]},"right":{"type":"String","desc":"Label","required":true,"examples":["'Right align'"]},"justify":{"type":"String","desc":"Label","required":true,"examples":["'Justify align'"]},"print":{"type":"String","desc":"Label","required":true,"examples":["'Print'"]},"outdent":{"type":"String","desc":"Label","required":true,"examples":["'Decrease indentation'"]},"indent":{"type":"String","desc":"Label","required":true,"examples":["'Increase indentation'"]},"removeFormat":{"type":"String","desc":"Label","required":true,"examples":["'Remove formatting'"]},"formatting":{"type":"String","desc":"Label","required":true,"examples":["'Formatting'"]},"fontSize":{"type":"String","desc":"Label","required":true,"examples":["'Font Size'"]},"align":{"type":"String","desc":"Label","required":true,"examples":["'Align'"]},"hr":{"type":"String","desc":"Label","required":true,"examples":["'Insert Horizontal Rule'"]},"undo":{"type":"String","desc":"Label","required":true,"examples":["'Undo'"]},"redo":{"type":"String","desc":"Label","required":true,"examples":["'Redo'"]},"heading1":{"type":"String","desc":"Label","required":true,"examples":["'Heading 1'"]},"heading2":{"type":"String","desc":"Label","required":true,"examples":["'Heading 2'"]},"heading3":{"type":"String","desc":"Label","required":true,"examples":["'Heading 3'"]},"heading4":{"type":"String","desc":"Label","required":true,"examples":["'Heading 4'"]},"heading5":{"type":"String","desc":"Label","required":true,"examples":["'Heading 5'"]},"heading6":{"type":"String","desc":"Label","required":true,"examples":["'Heading 6'"]},"paragraph":{"type":"String","desc":"Label","required":true,"examples":["'Paragraph'"]},"code":{"type":"String","desc":"Label","required":true,"examples":["'Code'"]},"size1":{"type":"String","desc":"Label","required":true,"examples":["'Very small'"]},"size2":{"type":"String","desc":"Label","required":true,"examples":["'A bit small'"]},"size3":{"type":"String","desc":"Label","required":true,"examples":["'Normal'"]},"size4":{"type":"String","desc":"Label","required":true,"examples":["'Medium-large'"]},"size5":{"type":"String","desc":"Label","required":true,"examples":["'Big'"]},"size6":{"type":"String","desc":"Label","required":true,"examples":["'Very big'"]},"size7":{"type":"String","desc":"Label","required":true,"examples":["'Maximum'"]},"defaultFont":{"type":"String","desc":"Label","required":true,"examples":["'Default Font'"]},"viewSource":{"type":"String","desc":"Label","required":true,"examples":["'View Source'"]}}},"tree":{"type":"Object","desc":"QTree labels","required":true,"definition":{"noNodes":{"type":"String","desc":"Label","required":true,"examples":["'No nodes available'"]},"noResults":{"type":"String","desc":"Label","required":true,"examples":["'No matching nodes found'"]}}}}},"ssrContent":{"type":"Object","desc":"Required for SSR only"}},"returns":null},"getLocale":{"desc":"Get the browser locale ISO name; Returns undefined when it cannot determine current browser locale or when running on server in SSR mode","params":null,"returns":{"type":["String","undefined"],"desc":"Browser locale ISO name","examples":["'en-US'"]}}}}
@@ -1 +1 @@
1
- {"type":"plugin","meta":{"docsUrl":"https://v2.quasar.dev/quasar-plugins/web-storage"},"injection":"$q.localStorage","methods":{"hasItem":{"desc":"Check if storage item exists","alias":"has","params":{"key":{"type":"String","desc":"Entry key","required":true,"examples":["'userId'"]}},"returns":{"type":"Boolean","desc":"Does the item exists or not?"}},"getLength":{"desc":"Get storage number of entries","params":null,"returns":{"type":"Number","desc":"Number of entries"}},"getItem":{"tsType":"WebStorageGetItemMethodType","desc":"Get a storage item value","params":{"key":{"type":"String","desc":"Entry key","required":true,"examples":["'userId'"]}},"returns":{"type":["Number","Boolean","Date","RegExp","Function","Object","Array","String","null"],"desc":"Storage item value","examples":["'john12'","702"]}},"getIndex":{"tsType":"WebStorageGetIndexMethodType","desc":"Get the storage item value at specific index","params":{"index":{"type":"Number","desc":"Entry index","required":true}},"returns":{"type":["Number","Boolean","Date","RegExp","Function","Object","Array","String","null"],"desc":"Storage item index"}},"getKey":{"tsType":"WebStorageGetKeyMethodType","desc":"Get the storage key at specific index","params":{"index":{"type":"Number","desc":"Entry index","required":true}},"returns":{"type":["String","null"],"desc":"Storage key","examples":["'userId'"]}},"getAll":{"desc":"Retrieve all items in storage","params":null,"returns":{"type":"Object","desc":"Object syntax: item name as Object key and its value","examples":["{ userId: 'rstoenescu', timesLoggedIn: 14 }"]}},"getAllKeys":{"tsType":"WebStorageGetAllKeysMethodType","desc":"Retrieve all keys in storage","params":null,"returns":{"type":"Array","desc":"Storage keys (Array of Strings)","examples":["[ 'userId', 'password' ]"]}},"setItem":{"desc":"Set item in storage","alias":"set","params":{"key":{"type":"String","desc":"Entry key","required":true,"examples":["'userId'"]},"value":{"type":["Number","Boolean","Date","RegExp","Function","Object","Array","String","null"],"desc":"Entry value","required":true,"params":{"...params":{"type":"Any"}},"returns":{"type":"Any"},"examples":["'john12'"]}},"returns":null},"removeItem":{"desc":"Remove a storage item","alias":"remove","params":{"key":{"type":"String","desc":"Storage key","required":true,"examples":["'userId'"]}},"returns":null},"clear":{"desc":"Remove everything from the storage","params":null,"returns":null},"isEmpty":{"desc":"Determine if storage has any items","params":null,"returns":{"type":"Boolean","desc":"Tells if storage is empty or not"}}}}
1
+ {"type":"plugin","meta":{"docsUrl":"https://v2.quasar.dev/quasar-plugins/web-storage"},"injection":"$q.localStorage","methods":{"hasItem":{"desc":"Check if storage item exists","alias":"has","params":{"key":{"type":"String","desc":"Entry key","required":true,"examples":["'userId'"]}},"returns":{"type":"Boolean","desc":"Does the item exists or not?"}},"getLength":{"desc":"Get storage number of entries","params":null,"returns":{"type":"Number","desc":"Number of entries"}},"getItem":{"tsType":"WebStorageGetItemMethodType","desc":"Get a storage item value","params":{"key":{"type":"String","desc":"Entry key","required":true,"examples":["'userId'"]}},"returns":{"type":["Number","Boolean","Date","RegExp","Function","Object","Array","String","null"],"desc":"Storage item value","examples":["'john12'","702"]}},"getIndex":{"tsType":"WebStorageGetIndexMethodType","desc":"Get the storage item value at specific index","params":{"index":{"type":"Number","desc":"Entry index","required":true}},"returns":{"type":["Number","Boolean","Date","RegExp","Function","Object","Array","String","null"],"desc":"Storage item index"}},"getKey":{"tsType":"WebStorageGetKeyMethodType","desc":"Get the storage key at specific index","params":{"index":{"type":"Number","desc":"Entry index","required":true}},"returns":{"type":["String","null"],"desc":"Storage key","examples":["'userId'"]}},"getAll":{"desc":"Retrieve all items in storage","params":null,"returns":{"type":"Object","desc":"Object syntax: item name as Object key and its value","examples":["{ userId: 'rstoenescu', timesLoggedIn: 14 }"]}},"getAllKeys":{"tsType":"WebStorageGetAllKeysMethodType","desc":"Retrieve all keys in storage","params":null,"returns":{"type":"Array","desc":"Storage keys (Array of Strings)","examples":["['userId', 'password']"]}},"setItem":{"desc":"Set item in storage","alias":"set","params":{"key":{"type":"String","desc":"Entry key","required":true,"examples":["'userId'"]},"value":{"type":["Number","Boolean","Date","RegExp","Function","Object","Array","String","null"],"desc":"Entry value","required":true,"params":{"...params":{"type":"Any"}},"returns":{"type":"Any"},"examples":["'john12'"]}},"returns":null},"removeItem":{"desc":"Remove a storage item","alias":"remove","params":{"key":{"type":"String","desc":"Storage key","required":true,"examples":["'userId'"]}},"returns":null},"clear":{"desc":"Remove everything from the storage","params":null,"returns":null},"isEmpty":{"desc":"Determine if storage has any items","params":null,"returns":{"type":"Boolean","desc":"Tells if storage is empty or not"}}}}
@@ -1 +1 @@
1
- {"type":"plugin","meta":{"docsUrl":"https://v2.quasar.dev/quasar-plugins/notify"},"injection":"$q.notify","quasarConfOptions":{"propName":"notify","type":"Object","definition":{"type":{"type":"String","desc":"Optional type (that has been previously registered) or one of the out of the box ones ('positive', 'negative', 'warning', 'info', 'ongoing')","examples":["'negative'","'custom-type'"]},"color":{"type":"String","tsType":"NamedColor","desc":"Color name for component from the Quasar Color Palette","examples":["'primary'","'teal'","'teal-10'"],"category":"style"},"textColor":{"type":"String","tsType":"NamedColor","desc":"Overrides text color (if needed); Color name from the Quasar Color Palette","examples":["'primary'","'teal'","'teal-10'"],"category":"style"},"message":{"type":"String","desc":"The content of your message","examples":["'John Doe pinged you'"]},"caption":{"type":"String","desc":"The content of your optional caption","examples":["'5 minutes ago'"]},"html":{"type":"Boolean","desc":"Render the message as HTML; This can lead to XSS attacks, so make sure that you sanitize the message first"},"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"},"iconColor":{"type":"String","tsType":"NamedColor","desc":"Color name for component from the Quasar Color Palette","examples":["'primary'","'teal'","'teal-10'"],"category":"style","addedIn":"v2.5.5"},"iconSize":{"type":"String","desc":"Size in CSS units, including unit name","examples":["'16px'","'2rem'"],"category":"style","addedIn":"v2.5.5"},"avatar":{"type":"String","desc":"URL to an avatar/image; Suggestion: use public folder","examples":["# (public folder) 'img/something.png'","# (relative path format) require('./my_img.jpg')","# (URL) https://some-site.net/some-img.gif"]},"spinner":{"type":["Boolean","Component"],"configFileType":["Boolean","String"],"desc":"Useful for notifications that are updated; Displays a Quasar spinner instead of an avatar or icon; If value is Boolean 'true' then the default QSpinner is shown","examples":["true","QSpinnerBars"]},"spinnerColor":{"type":"String","tsType":"NamedColor","desc":"Color name for component from the Quasar Color Palette","examples":["'primary'","'teal'","'teal-10'"],"category":"style","addedIn":"v2.5.5"},"spinnerSize":{"type":"String","desc":"Size in CSS units, including unit name","examples":["'16px'","'2rem'"],"category":"style","addedIn":"v2.5.5"},"position":{"type":"String","desc":"Window side/corner to stick to","default":"'bottom'","values":["'top-left'","'top-right'","'bottom-left'","'bottom-right'","'top'","'bottom'","'left'","'right'","'center'"],"required":false},"group":{"type":["Boolean","String","Number"],"desc":"Override the auto generated group with custom one; Grouped notifications cannot be updated; String or number value inform this is part of a specific group, regardless of its options; When a new notification is triggered with same group name, it replaces the old one and shows a badge with how many times the notification was triggered","default":"# message + caption + multiline + actions labels + position","examples":["'my-group'"],"required":false},"badgeColor":{"type":"String","tsType":"NamedColor","desc":"Color name for the badge from the Quasar Color Palette","examples":["'primary'","'teal'","'teal-10'"],"category":"style"},"badgeTextColor":{"type":"String","tsType":"NamedColor","desc":"Color name for the badge text from the Quasar Color Palette","examples":["'primary'","'teal'","'teal-10'"],"category":"style"},"badgePosition":{"type":"String","desc":"Notification corner to stick badge to; If notification is on the left side then default is top-right otherwise it is top-left","default":"# top-left/top-right","values":["'top-left'","'top-right'","'bottom-left'","'bottom-right'"],"required":false},"badgeStyle":{"type":["String","Array","Object"],"tsType":"VueStyleProp","desc":"Style definitions to be attributed to the badge","examples":["'background-color: #ff0000'","{ backgroundColor: '#ff0000' }"]},"badgeClass":{"type":["String","Array","Object"],"tsType":"VueClassProp","desc":"Class definitions to be attributed to the badge","examples":["'my-special-class'","{ 'my-special-class': true }"]},"progress":{"type":"Boolean","desc":"Show progress bar to detail when notification will disappear automatically (unless timeout is 0)"},"progressClass":{"type":["String","Array","Object"],"tsType":"VueClassProp","desc":"Class definitions to be attributed to the progress bar","examples":["'my-special-class'","{ 'my-special-class': true }"]},"classes":{"type":"String","desc":"Add CSS class(es) to the notification for easier customization","examples":["'my-notif-class'"]},"attrs":{"type":"Object","desc":"Key-value for attributes to be set on the notification","examples":["{ role: 'alertdialog' }"]},"timeout":{"type":"Number","desc":"Amount of time to display (in milliseconds). Set to 0 to never dismiss automatically.","default":"5000","required":false},"actions":{"type":"Array","tsType":"QNotifyAction","desc":"Notification actions (buttons); Unless 'noDismiss' is true, clicking/tapping on the button will close the notification; Also check 'closeBtn' convenience prop","definition":{"handler":{"type":"Function","configFileType":null,"desc":"Function to be executed when the button is clicked/tapped","params":null,"returns":null,"examples":["() => { console.log('button clicked') }"]},"noDismiss":{"type":"Boolean","desc":"Do not dismiss the notification when the button is clicked/tapped"},"...":{"type":"Any","desc":"Any other QBtn prop except 'onClick' (use 'handler' instead, only possible with UI config)","examples":["label: 'Learn more'","color: 'primary'"]}},"examples":["[ { label: 'Show', handler: () => {}, 'aria-label': 'Button label' }, { icon: 'map', handler: () => {}, color: 'yellow' }, { label: 'Learn more', noDismiss: true, handler: () => {} } ]"]},"onDismiss":{"type":"Function","configFileType":null,"desc":"Function to call when notification gets dismissed","params":null,"returns":null,"examples":["() => { console.log('Dismissed') }"]},"closeBtn":{"type":["Boolean","String"],"desc":"Convenient way to add a dismiss button with a specific label, without using the 'actions' prop; If set to true, it uses a label according to the current Quasar language","examples":["'Close me'"]},"multiLine":{"type":"Boolean","desc":"Put notification into multi-line mode; If this prop isn't used and more than one 'action' is specified then notification goes into multi-line mode by default"}}},"methods":{"create":{"tsInjectionPoint":true,"desc":"Creates a notification; Same as calling $q.notify(...)","params":{"opts":{"type":["Object","String"],"tsType":"QNotifyCreateOptions","autoDefineTsType":true,"required":true,"desc":"Notification options","definition":{"type":{"type":"String","desc":"Optional type (that has been previously registered) or one of the out of the box ones ('positive', 'negative', 'warning', 'info', 'ongoing')","examples":["'negative'","'custom-type'"]},"color":{"type":"String","tsType":"NamedColor","desc":"Color name for component from the Quasar Color Palette","examples":["'primary'","'teal'","'teal-10'"],"category":"style"},"textColor":{"type":"String","tsType":"NamedColor","desc":"Overrides text color (if needed); Color name from the Quasar Color Palette","examples":["'primary'","'teal'","'teal-10'"],"category":"style"},"message":{"type":"String","desc":"The content of your message","examples":["'John Doe pinged you'"]},"caption":{"type":"String","desc":"The content of your optional caption","examples":["'5 minutes ago'"]},"html":{"type":"Boolean","desc":"Render the message as HTML; This can lead to XSS attacks, so make sure that you sanitize the message first"},"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"},"iconColor":{"type":"String","tsType":"NamedColor","desc":"Color name for component from the Quasar Color Palette","examples":["'primary'","'teal'","'teal-10'"],"category":"style","addedIn":"v2.5.5"},"iconSize":{"type":"String","desc":"Size in CSS units, including unit name","examples":["'16px'","'2rem'"],"category":"style","addedIn":"v2.5.5"},"avatar":{"type":"String","desc":"URL to an avatar/image; Suggestion: use public folder","examples":["# (public folder) 'img/something.png'","# (relative path format) require('./my_img.jpg')","# (URL) https://some-site.net/some-img.gif"]},"spinner":{"type":["Boolean","Component"],"desc":"Useful for notifications that are updated; Displays a Quasar spinner instead of an avatar or icon; If value is Boolean 'true' then the default QSpinner is shown","examples":["true","QSpinnerBars"]},"spinnerColor":{"type":"String","tsType":"NamedColor","desc":"Color name for component from the Quasar Color Palette","examples":["'primary'","'teal'","'teal-10'"],"category":"style","addedIn":"v2.5.5"},"spinnerSize":{"type":"String","desc":"Size in CSS units, including unit name","examples":["'16px'","'2rem'"],"category":"style","addedIn":"v2.5.5"},"position":{"type":"String","desc":"Window side/corner to stick to","default":"'bottom'","values":["'top-left'","'top-right'","'bottom-left'","'bottom-right'","'top'","'bottom'","'left'","'right'","'center'"],"required":false},"group":{"type":["Boolean","String","Number"],"desc":"Override the auto generated group with custom one; Grouped notifications cannot be updated; String or number value inform this is part of a specific group, regardless of its options; When a new notification is triggered with same group name, it replaces the old one and shows a badge with how many times the notification was triggered","default":"# message + caption + multiline + actions labels + position","examples":["'my-group'"],"required":false},"badgeColor":{"type":"String","tsType":"NamedColor","desc":"Color name for the badge from the Quasar Color Palette","examples":["'primary'","'teal'","'teal-10'"],"category":"style"},"badgeTextColor":{"type":"String","tsType":"NamedColor","desc":"Color name for the badge text from the Quasar Color Palette","examples":["'primary'","'teal'","'teal-10'"],"category":"style"},"badgePosition":{"type":"String","desc":"Notification corner to stick badge to; If notification is on the left side then default is top-right otherwise it is top-left","default":"# top-left/top-right","values":["'top-left'","'top-right'","'bottom-left'","'bottom-right'"],"required":false},"badgeStyle":{"type":["String","Array","Object"],"tsType":"VueStyleProp","desc":"Style definitions to be attributed to the badge","examples":["'background-color: #ff0000'","{ backgroundColor: '#ff0000' }"]},"badgeClass":{"type":["String","Array","Object"],"tsType":"VueClassProp","desc":"Class definitions to be attributed to the badge","examples":["'my-special-class'","{ 'my-special-class': true }"]},"progress":{"type":"Boolean","desc":"Show progress bar to detail when notification will disappear automatically (unless timeout is 0)"},"progressClass":{"type":["String","Array","Object"],"tsType":"VueClassProp","desc":"Class definitions to be attributed to the progress bar","examples":["'my-special-class'","{ 'my-special-class': true }"]},"classes":{"type":"String","desc":"Add CSS class(es) to the notification for easier customization","examples":["'my-notif-class'"]},"attrs":{"type":"Object","desc":"Key-value for attributes to be set on the notification","examples":["{ role: 'alertdialog' }"]},"timeout":{"type":"Number","desc":"Amount of time to display (in milliseconds). Set to 0 to never dismiss automatically.","default":"5000","examples":["2500"],"required":false},"actions":{"type":"Array","tsType":"QNotifyAction","desc":"Notification actions (buttons); Unless 'noDismiss' is true, clicking/tapping on the button will close the notification; Also check 'closeBtn' convenience prop","definition":{"handler":{"type":"Function","desc":"Function to be executed when the button is clicked/tapped","params":null,"returns":null,"examples":["() => { console.log('button clicked') }"]},"noDismiss":{"type":"Boolean","desc":"Do not dismiss the notification when the button is clicked/tapped"},"...":{"type":"Any","desc":"Any other QBtn prop except 'onClick' (use 'handler' instead)","examples":["label: 'Learn more'","color: 'primary'"]}},"examples":["[ { label: 'Show', handler: () => {}, 'aria-label': 'Button label' }, { icon: 'map', handler: () => {}, color: 'yellow' }, { label: 'Learn more', noDismiss: true, handler: () => {} } ]"]},"onDismiss":{"type":"Function","desc":"Function to call when notification gets dismissed","params":null,"returns":null,"examples":["() => { console.log('Dismissed') }"]},"closeBtn":{"type":["Boolean","String"],"desc":"Convenient way to add a dismiss button with a specific label, without using the 'actions' prop; If set to true, it uses a label according to the current Quasar language","examples":["'Close me'"]},"multiLine":{"type":"Boolean","desc":"Put notification into multi-line mode; If this prop isn't used and more than one 'action' is specified then notification goes into multi-line mode by default"},"ignoreDefaults":{"type":"Boolean","desc":"Ignore the default configuration (set by setDefaults()) for this instance only"}}}},"returns":{"type":"Function","desc":"Calling this function with no parameters hides the notification; When called with one Object parameter (the original notification must NOT be grouped), it updates the notification (specified properties are shallow merged with previous ones; note that group and position cannot be changed while updating and so they are ignored)","params":{"props":{"type":"Object","tsType":"QNotifyUpdateOptions","required":false,"desc":"Notification properties that will be shallow merged to previous ones in order to update the non-grouped notification; (See 'opts' param of 'create()' for object properties, except 'group' and 'position')"}},"returns":null}},"setDefaults":{"desc":"Merge options into the default ones","params":{"opts":{"type":"Object","tsType":"QNotifyOptions","required":true,"desc":"Notification options except 'ignoreDefaults' (See 'opts' param of 'create()' for object properties)"}},"returns":null},"registerType":{"desc":"Register a new type of notification (or override an existing one)","params":{"typeName":{"type":"String","required":true,"desc":"Name of the type (to be used as 'type' prop later on)","examples":["'my-type'"]},"typeOpts":{"type":"Object","tsType":"QNotifyOptions","required":true,"desc":"Notification options except 'ignoreDefaults' (See 'opts' param of 'create()' for object properties)"}},"returns":null}}}
1
+ {"type":"plugin","meta":{"docsUrl":"https://v2.quasar.dev/quasar-plugins/notify"},"injection":"$q.notify","quasarConfOptions":{"propName":"notify","type":"Object","definition":{"type":{"type":"String","desc":"Optional type (that has been previously registered) or one of the out of the box ones ('positive', 'negative', 'warning', 'info', 'ongoing')","examples":["'negative'","'custom-type'"]},"color":{"type":"String","tsType":"NamedColor","desc":"Color name for component from the Quasar Color Palette","examples":["'primary'","'teal'","'teal-10'"],"category":"style"},"textColor":{"type":"String","tsType":"NamedColor","desc":"Overrides text color (if needed); Color name from the Quasar Color Palette","examples":["'primary'","'teal'","'teal-10'"],"category":"style"},"message":{"type":"String","desc":"The content of your message","examples":["'John Doe pinged you'"]},"caption":{"type":"String","desc":"The content of your optional caption","examples":["'5 minutes ago'"]},"html":{"type":"Boolean","desc":"Render the message as HTML; This can lead to XSS attacks, so make sure that you sanitize the message first"},"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"},"iconColor":{"type":"String","tsType":"NamedColor","desc":"Color name for component from the Quasar Color Palette","examples":["'primary'","'teal'","'teal-10'"],"category":"style","addedIn":"v2.5.5"},"iconSize":{"type":"String","desc":"Size in CSS units, including unit name","examples":["'16px'","'2rem'"],"category":"style","addedIn":"v2.5.5"},"avatar":{"type":"String","desc":"URL to an avatar/image; Suggestion: use public folder","examples":["# (public folder) 'img/something.png'","# (relative path format) require('./my_img.jpg')","# (URL) https://some-site.net/some-img.gif"]},"spinner":{"type":["Boolean","Component"],"configFileType":["Boolean","String"],"desc":"Useful for notifications that are updated; Displays a Quasar spinner instead of an avatar or icon; If value is Boolean 'true' then the default QSpinner is shown","examples":["true","QSpinnerBars"]},"spinnerColor":{"type":"String","tsType":"NamedColor","desc":"Color name for component from the Quasar Color Palette","examples":["'primary'","'teal'","'teal-10'"],"category":"style","addedIn":"v2.5.5"},"spinnerSize":{"type":"String","desc":"Size in CSS units, including unit name","examples":["'16px'","'2rem'"],"category":"style","addedIn":"v2.5.5"},"position":{"type":"String","desc":"Window side/corner to stick to","default":"'bottom'","values":["'top-left'","'top-right'","'bottom-left'","'bottom-right'","'top'","'bottom'","'left'","'right'","'center'"],"required":false},"group":{"type":["Boolean","String","Number"],"desc":"Override the auto generated group with custom one; Grouped notifications cannot be updated; String or number value inform this is part of a specific group, regardless of its options; When a new notification is triggered with same group name, it replaces the old one and shows a badge with how many times the notification was triggered","default":"# message + caption + multiline + actions labels + position","examples":["'my-group'"],"required":false},"badgeColor":{"type":"String","tsType":"NamedColor","desc":"Color name for the badge from the Quasar Color Palette","examples":["'primary'","'teal'","'teal-10'"],"category":"style"},"badgeTextColor":{"type":"String","tsType":"NamedColor","desc":"Color name for the badge text from the Quasar Color Palette","examples":["'primary'","'teal'","'teal-10'"],"category":"style"},"badgePosition":{"type":"String","desc":"Notification corner to stick badge to; If notification is on the left side then default is top-right otherwise it is top-left","default":"# top-left/top-right","values":["'top-left'","'top-right'","'bottom-left'","'bottom-right'"],"required":false},"badgeStyle":{"type":["String","Array","Object"],"tsType":"VueStyleProp","desc":"Style definitions to be attributed to the badge","examples":["'background-color: #ff0000'","{ backgroundColor: '#ff0000' }"]},"badgeClass":{"type":["String","Array","Object"],"tsType":"VueClassProp","desc":"Class definitions to be attributed to the badge","examples":["'my-special-class'","{ 'my-special-class': true }"]},"progress":{"type":"Boolean","desc":"Show progress bar to detail when notification will disappear automatically (unless timeout is 0)"},"progressClass":{"type":["String","Array","Object"],"tsType":"VueClassProp","desc":"Class definitions to be attributed to the progress bar","examples":["'my-special-class'","{ 'my-special-class': true }"]},"classes":{"type":"String","desc":"Add CSS class(es) to the notification for easier customization","examples":["'my-notif-class'"]},"attrs":{"type":"Object","desc":"Key-value for attributes to be set on the notification","examples":["{ role: 'alertdialog' }"]},"timeout":{"type":"Number","desc":"Amount of time to display (in milliseconds). Set to 0 to never dismiss automatically.","default":"5000","required":false},"actions":{"type":"Array","tsType":"QNotifyAction","desc":"Notification actions (buttons); Unless 'noDismiss' is true, clicking/tapping on the button will close the notification; Also check 'closeBtn' convenience prop","definition":{"handler":{"type":"Function","configFileType":null,"desc":"Function to be executed when the button is clicked/tapped","params":null,"returns":null,"examples":["() => { console.log('button clicked') }"]},"noDismiss":{"type":"Boolean","desc":"Do not dismiss the notification when the button is clicked/tapped"},"...":{"type":"Any","desc":"Any other QBtn prop except 'onClick' (use 'handler' instead, only possible with UI config)","examples":["label: 'Learn more'","color: 'primary'"]}},"examples":["[{ label: 'Show', handler: () => {}, 'aria-label': 'Button label' }, { icon: 'map', handler: () => {}, color: 'yellow' }, { label: 'Learn more', noDismiss: true, handler: () => {} }]"]},"onDismiss":{"type":"Function","configFileType":null,"desc":"Function to call when notification gets dismissed","params":null,"returns":null,"examples":["() => { console.log('Dismissed') }"]},"closeBtn":{"type":["Boolean","String"],"desc":"Convenient way to add a dismiss button with a specific label, without using the 'actions' prop; If set to true, it uses a label according to the current Quasar language","examples":["'Close me'"]},"multiLine":{"type":"Boolean","desc":"Put notification into multi-line mode; If this prop isn't used and more than one 'action' is specified then notification goes into multi-line mode by default"}}},"methods":{"create":{"tsInjectionPoint":true,"desc":"Creates a notification; Same as calling $q.notify(...)","params":{"opts":{"type":["Object","String"],"tsType":"QNotifyCreateOptions","autoDefineTsType":true,"required":true,"desc":"Notification options","definition":{"type":{"type":"String","desc":"Optional type (that has been previously registered) or one of the out of the box ones ('positive', 'negative', 'warning', 'info', 'ongoing')","examples":["'negative'","'custom-type'"]},"color":{"type":"String","tsType":"NamedColor","desc":"Color name for component from the Quasar Color Palette","examples":["'primary'","'teal'","'teal-10'"],"category":"style"},"textColor":{"type":"String","tsType":"NamedColor","desc":"Overrides text color (if needed); Color name from the Quasar Color Palette","examples":["'primary'","'teal'","'teal-10'"],"category":"style"},"message":{"type":"String","desc":"The content of your message","examples":["'John Doe pinged you'"]},"caption":{"type":"String","desc":"The content of your optional caption","examples":["'5 minutes ago'"]},"html":{"type":"Boolean","desc":"Render the message as HTML; This can lead to XSS attacks, so make sure that you sanitize the message first"},"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"},"iconColor":{"type":"String","tsType":"NamedColor","desc":"Color name for component from the Quasar Color Palette","examples":["'primary'","'teal'","'teal-10'"],"category":"style","addedIn":"v2.5.5"},"iconSize":{"type":"String","desc":"Size in CSS units, including unit name","examples":["'16px'","'2rem'"],"category":"style","addedIn":"v2.5.5"},"avatar":{"type":"String","desc":"URL to an avatar/image; Suggestion: use public folder","examples":["# (public folder) 'img/something.png'","# (relative path format) require('./my_img.jpg')","# (URL) https://some-site.net/some-img.gif"]},"spinner":{"type":["Boolean","Component"],"desc":"Useful for notifications that are updated; Displays a Quasar spinner instead of an avatar or icon; If value is Boolean 'true' then the default QSpinner is shown","examples":["true","QSpinnerBars"]},"spinnerColor":{"type":"String","tsType":"NamedColor","desc":"Color name for component from the Quasar Color Palette","examples":["'primary'","'teal'","'teal-10'"],"category":"style","addedIn":"v2.5.5"},"spinnerSize":{"type":"String","desc":"Size in CSS units, including unit name","examples":["'16px'","'2rem'"],"category":"style","addedIn":"v2.5.5"},"position":{"type":"String","desc":"Window side/corner to stick to","default":"'bottom'","values":["'top-left'","'top-right'","'bottom-left'","'bottom-right'","'top'","'bottom'","'left'","'right'","'center'"],"required":false},"group":{"type":["Boolean","String","Number"],"desc":"Override the auto generated group with custom one; Grouped notifications cannot be updated; String or number value inform this is part of a specific group, regardless of its options; When a new notification is triggered with same group name, it replaces the old one and shows a badge with how many times the notification was triggered","default":"# message + caption + multiline + actions labels + position","examples":["'my-group'"],"required":false},"badgeColor":{"type":"String","tsType":"NamedColor","desc":"Color name for the badge from the Quasar Color Palette","examples":["'primary'","'teal'","'teal-10'"],"category":"style"},"badgeTextColor":{"type":"String","tsType":"NamedColor","desc":"Color name for the badge text from the Quasar Color Palette","examples":["'primary'","'teal'","'teal-10'"],"category":"style"},"badgePosition":{"type":"String","desc":"Notification corner to stick badge to; If notification is on the left side then default is top-right otherwise it is top-left","default":"# top-left/top-right","values":["'top-left'","'top-right'","'bottom-left'","'bottom-right'"],"required":false},"badgeStyle":{"type":["String","Array","Object"],"tsType":"VueStyleProp","desc":"Style definitions to be attributed to the badge","examples":["'background-color: #ff0000'","{ backgroundColor: '#ff0000' }"]},"badgeClass":{"type":["String","Array","Object"],"tsType":"VueClassProp","desc":"Class definitions to be attributed to the badge","examples":["'my-special-class'","{ 'my-special-class': true }"]},"progress":{"type":"Boolean","desc":"Show progress bar to detail when notification will disappear automatically (unless timeout is 0)"},"progressClass":{"type":["String","Array","Object"],"tsType":"VueClassProp","desc":"Class definitions to be attributed to the progress bar","examples":["'my-special-class'","{ 'my-special-class': true }"]},"classes":{"type":"String","desc":"Add CSS class(es) to the notification for easier customization","examples":["'my-notif-class'"]},"attrs":{"type":"Object","desc":"Key-value for attributes to be set on the notification","examples":["{ role: 'alertdialog' }"]},"timeout":{"type":"Number","desc":"Amount of time to display (in milliseconds). Set to 0 to never dismiss automatically.","default":"5000","examples":["2500"],"required":false},"actions":{"type":"Array","tsType":"QNotifyAction","desc":"Notification actions (buttons); Unless 'noDismiss' is true, clicking/tapping on the button will close the notification; Also check 'closeBtn' convenience prop","definition":{"handler":{"type":"Function","desc":"Function to be executed when the button is clicked/tapped","params":null,"returns":null,"examples":["() => { console.log('button clicked') }"]},"noDismiss":{"type":"Boolean","desc":"Do not dismiss the notification when the button is clicked/tapped"},"...":{"type":"Any","desc":"Any other QBtn prop except 'onClick' (use 'handler' instead)","examples":["label: 'Learn more'","color: 'primary'"]}},"examples":["[{ label: 'Show', handler: () => {}, 'aria-label': 'Button label' }, { icon: 'map', handler: () => {}, color: 'yellow' }, { label: 'Learn more', noDismiss: true, handler: () => {} }]"]},"onDismiss":{"type":"Function","desc":"Function to call when notification gets dismissed","params":null,"returns":null,"examples":["() => { console.log('Dismissed') }"]},"closeBtn":{"type":["Boolean","String"],"desc":"Convenient way to add a dismiss button with a specific label, without using the 'actions' prop; If set to true, it uses a label according to the current Quasar language","examples":["'Close me'"]},"multiLine":{"type":"Boolean","desc":"Put notification into multi-line mode; If this prop isn't used and more than one 'action' is specified then notification goes into multi-line mode by default"},"ignoreDefaults":{"type":"Boolean","desc":"Ignore the default configuration (set by setDefaults()) for this instance only"}}}},"returns":{"type":"Function","desc":"Calling this function with no parameters hides the notification; When called with one Object parameter (the original notification must NOT be grouped), it updates the notification (specified properties are shallow merged with previous ones; note that group and position cannot be changed while updating and so they are ignored)","params":{"props":{"type":"Object","tsType":"QNotifyUpdateOptions","required":false,"desc":"Notification properties that will be shallow merged to previous ones in order to update the non-grouped notification; (See 'opts' param of 'create()' for object properties, except 'group' and 'position')"}},"returns":null}},"setDefaults":{"desc":"Merge options into the default ones","params":{"opts":{"type":"Object","tsType":"QNotifyOptions","required":true,"desc":"Notification options except 'ignoreDefaults' (See 'opts' param of 'create()' for object properties)"}},"returns":null},"registerType":{"desc":"Register a new type of notification (or override an existing one)","params":{"typeName":{"type":"String","required":true,"desc":"Name of the type (to be used as 'type' prop later on)","examples":["'my-type'"]},"typeOpts":{"type":"Object","tsType":"QNotifyOptions","required":true,"desc":"Notification options except 'ignoreDefaults' (See 'opts' param of 'create()' for object properties)"}},"returns":null}}}
@@ -1 +1 @@
1
- {"type":"component","meta":{"docsUrl":"https://v2.quasar.dev/vue-components/button-dropdown"},"props":{"transition-show":{"type":"String","desc":"One of Quasar's embedded transitions","examples":["'fade'","'slide-down'"],"category":"transition","default":"'fade'","required":false},"transition-hide":{"type":"String","desc":"One of Quasar's embedded transitions","examples":["'fade'","'slide-down'"],"category":"transition","default":"'fade'","required":false},"transition-duration":{"type":["String","Number"],"desc":"Transition duration (in milliseconds, without unit)","default":"300","category":"transition","required":false},"model-value":{"type":"Boolean","desc":"Model of the component defining shown/hidden state; Either use this property (along with a listener for 'update:model-value' event) OR use v-model directive","category":"model","examples":["# v-model=\"state\""]},"size":{"type":"String","desc":"Size in CSS units, including unit name or standard size name (xs|sm|md|lg|xl)","examples":["'16px'","'2rem'","'xs'","'md'"],"category":"style"},"type":{"type":"String","desc":"1) Define the button native type attribute (submit, reset, button) or 2) render component with <a> tag so you can access events even if disable or 3) Use 'href' prop and specify 'type' as a media tag","default":"'button'","examples":["'a'","'submit'","'button'","'reset'","'image/png'","# href=\"https://quasar.dev\" target=\"_blank\""],"category":"general","required":false},"to":{"type":["String","Object"],"desc":"Equivalent to Vue Router <router-link> 'to' property; Superseded by 'href' prop if used","examples":["'/home/dashboard'","{ name: 'my-route-name' }"],"category":"navigation"},"replace":{"type":"Boolean","desc":"Equivalent to Vue Router <router-link> 'replace' property; Superseded by 'href' prop if used","category":"navigation"},"href":{"type":"String","desc":"Native <a> link href attribute; Has priority over the 'to' and 'replace' props","examples":["'https://quasar.dev'","# href=\"https://quasar.dev\" target=\"_blank\""],"category":"navigation","addedIn":"v2.4"},"target":{"type":"String","desc":"Native <a> link target attribute; Use it only with 'to' or 'href' props","examples":["'_blank'","'_self'","'_parent'","'_top'"],"category":"navigation","addedIn":"v2.4"},"label":{"type":["String","Number"],"desc":"The text that will be shown on the button","examples":["'Button Label'"],"category":"content"},"icon":{"type":"String","desc":"Icon name following Quasar convention; Make sure you have the icon library installed unless you are using 'img:' prefix; If 'none' (String) is used as value then no icon is rendered (but screen real estate will still be used for it)","examples":["'map'","'ion-add'","'img:https://cdn.quasar.dev/logo-v2/svg/logo.svg'","'img:path/to/some_image.png'"],"category":"content"},"icon-right":{"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"},"outline":{"type":"Boolean","desc":"Use 'outline' design","category":"style"},"flat":{"type":"Boolean","desc":"Use 'flat' design","category":"style"},"unelevated":{"type":"Boolean","desc":"Remove shadow","category":"style"},"rounded":{"type":"Boolean","desc":"Applies a more prominent border-radius for a squared shape button","category":"style"},"push":{"type":"Boolean","desc":"Use 'push' design","category":"style"},"square":{"type":"Boolean","desc":"Removes border-radius so borders are squared","category":"style","addedIn":"v2.7.6"},"glossy":{"type":"Boolean","desc":"Applies a glossy effect","category":"style"},"fab":{"type":"Boolean","desc":"Makes button size and shape to fit a Floating Action Button","category":"style"},"fab-mini":{"type":"Boolean","desc":"Makes button size and shape to fit a small Floating Action Button","category":"style"},"padding":{"type":"String","desc":"Apply custom padding (vertical [horizontal]); Size in CSS units, including unit name or standard size name (none|xs|sm|md|lg|xl); Also removes the min width and height when set","examples":["'16px'","'10px 5px'","'2rem'","'xs'","'md lg'","'2px 2px 5px 7px'"],"category":"style"},"color":{"type":"String","tsType":"NamedColor","desc":"Color name for component from the Quasar Color Palette","examples":["'primary'","'teal'","'teal-10'"],"category":"style"},"text-color":{"type":"String","tsType":"NamedColor","desc":"Overrides text color (if needed); Color name from the Quasar Color Palette","examples":["'primary'","'teal'","'teal-10'"],"category":"style"},"no-caps":{"type":"Boolean","desc":"Avoid turning label text into caps (which happens by default)","category":"content"},"no-wrap":{"type":"Boolean","desc":"Avoid label text wrapping","category":"content"},"dense":{"type":"Boolean","desc":"Dense mode; occupies less space","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"},"align":{"type":"String","desc":"Label or content alignment","default":"'center'","values":["'left'","'right'","'center'","'around'","'between'","'evenly'"],"category":"content","required":false},"stack":{"type":"Boolean","desc":"Stack icon and label vertically instead of on same line (like it is by default)","category":"content"},"stretch":{"type":"Boolean","desc":"When used on flexbox parent, button will stretch to parent's height","category":"content"},"loading":{"type":["Boolean","null"],"default":"null","desc":"Put button into loading state (displays a QSpinner -- can be overridden by using a 'loading' slot)","category":"behavior|state","required":false},"disable":{"type":"Boolean","desc":"Put component in disabled mode","category":"state"},"split":{"type":"Boolean","desc":"Split dropdown icon into its own button","category":"content|behavior"},"dropdown-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"},"disable-main-btn":{"type":"Boolean","desc":"Disable main button (useful along with 'split' prop)","category":"behavior"},"disable-dropdown":{"type":"Boolean","desc":"Disables dropdown (dropdown button if using along 'split' prop)","category":"behavior"},"no-icon-animation":{"type":"Boolean","desc":"Disables the rotation of the dropdown icon when state is toggled","category":"style"},"content-style":{"type":["String","Array","Object"],"tsType":"VueStyleProp","desc":"Style definitions to be attributed to the menu","examples":["'background-color: #ff0000'","{ backgroundColor: '#ff0000' }"],"category":"style"},"content-class":{"type":["String","Array","Object"],"tsType":"VueClassProp","desc":"Class definitions to be attributed to the menu","examples":["'my-special-class'","{ 'my-special-class': true }"],"category":"style"},"cover":{"type":"Boolean","desc":"Allows the menu to cover the button. When used, the 'menu-self' prop is no longer effective","category":"position"},"persistent":{"type":"Boolean","desc":"Allows the menu to not be dismissed by a click/tap outside of the menu or by hitting the ESC key; Also, an app route change won't dismiss it","category":"behavior"},"no-esc-dismiss":{"type":"Boolean","desc":"User cannot dismiss the popup by hitting ESC key; No need to set it if 'persistent' prop is also set","category":"behavior","addedIn":"v2.18"},"no-route-dismiss":{"type":"Boolean","desc":"Changing route app won't dismiss the popup; No need to set it if 'persistent' prop is also set","category":"behavior"},"auto-close":{"type":"Boolean","desc":"Allows any click/tap in the menu to close it; Useful instead of attaching events to each menu item that should close the menu on click/tap","category":"behavior"},"no-refocus":{"type":"Boolean","desc":"(Accessibility) When the dropdown gets hidden, do not refocus on the DOM element that previously had focus","category":"behavior","addedIn":"v2.18"},"no-focus":{"type":"Boolean","desc":"(Accessibility) When the dropdown gets shown, do not switch focus on it","category":"behavior","addedIn":"v2.18"},"menu-anchor":{"type":"String","desc":"Two values setting the starting position or anchor point of the menu relative to its target","values":["'top left'","'top middle'","'top right'","'top start'","'top end'","'center left'","'center middle'","'center right'","'center start'","'center end'","'bottom left'","'bottom middle'","'bottom right'","'bottom start'","'bottom end'"],"default":"'bottom end'","category":"position","required":false},"menu-self":{"type":"String","desc":"Two values setting the menu's own position relative to its target","values":["'top left'","'top middle'","'top right'","'top start'","'top end'","'center left'","'center middle'","'center right'","'center start'","'center end'","'bottom left'","'bottom middle'","'bottom right'","'bottom start'","'bottom end'"],"default":"'top end'","category":"position","required":false},"menu-offset":{"type":"Array","desc":"An array of two numbers to offset the menu horizontally and vertically in pixels","examples":["[ 8, 8 ]","[ 5, 10 ]"],"category":"position"},"toggle-aria-label":{"type":"String","desc":"aria-label to be used on the dropdown toggle element","examples":["'Open menu'"],"category":"accessibility","addedIn":"v2.8.4"}},"slots":{"default":{"desc":"Default slot in the devland unslotted content of the component"},"label":{"desc":"Customize main button's content through this slot, unless you're using the 'icon' and 'label' props"},"loading":{"desc":"Override the default QSpinner when in 'loading' state","addedIn":"v2.8"}},"events":{"update:model-value":{"desc":"Emitted when showing/hidden state changes; Is also used by v-model","params":{"value":{"type":"Boolean","desc":"New state (showing/hidden)"}}},"show":{"desc":"Emitted after component has triggered show()","params":{"evt":{"type":"Event","desc":"JS event object","required":true}}},"before-show":{"desc":"Emitted when component triggers show() but before it finishes doing it","params":{"evt":{"type":"Event","desc":"JS event object","required":true}}},"hide":{"desc":"Emitted after component has triggered hide()","params":{"evt":{"type":"Event","desc":"JS event object","required":true}}},"before-hide":{"desc":"Emitted when component triggers hide() but before it finishes doing it","params":{"evt":{"type":"Event","desc":"JS event object","required":true}}},"click":{"desc":"Emitted when user clicks/taps on the main button (not the icon one, if using 'split')","params":{"evt":{"type":"Event","desc":"JS event object","required":true}}}},"methods":{"show":{"desc":"Triggers component to show","params":{"evt":{"type":"Event","desc":"JS event object","required":false}},"returns":null},"hide":{"desc":"Triggers component to hide","params":{"evt":{"type":"Event","desc":"JS event object","required":false}},"returns":null},"toggle":{"desc":"Triggers component to toggle between show/hide","params":{"evt":{"type":"Event","desc":"JS event object","required":false}},"returns":null}}}
1
+ {"type":"component","meta":{"docsUrl":"https://v2.quasar.dev/vue-components/button-dropdown"},"props":{"transition-show":{"type":"String","desc":"One of Quasar's embedded transitions","examples":["'fade'","'slide-down'"],"category":"transition","default":"'fade'","required":false},"transition-hide":{"type":"String","desc":"One of Quasar's embedded transitions","examples":["'fade'","'slide-down'"],"category":"transition","default":"'fade'","required":false},"transition-duration":{"type":["String","Number"],"desc":"Transition duration (in milliseconds, without unit)","default":"300","category":"transition","required":false},"model-value":{"type":"Boolean","desc":"Model of the component defining shown/hidden state; Either use this property (along with a listener for 'update:model-value' event) OR use v-model directive","category":"model","examples":["# v-model=\"state\""]},"size":{"type":"String","desc":"Size in CSS units, including unit name or standard size name (xs|sm|md|lg|xl)","examples":["'16px'","'2rem'","'xs'","'md'"],"category":"style"},"type":{"type":"String","desc":"1) Define the button native type attribute (submit, reset, button) or 2) render component with <a> tag so you can access events even if disable or 3) Use 'href' prop and specify 'type' as a media tag","default":"'button'","examples":["'a'","'submit'","'button'","'reset'","'image/png'","# href=\"https://quasar.dev\" target=\"_blank\""],"category":"general","required":false},"to":{"type":["String","Object"],"desc":"Equivalent to Vue Router <router-link> 'to' property; Superseded by 'href' prop if used","examples":["'/home/dashboard'","{ name: 'my-route-name' }"],"category":"navigation"},"replace":{"type":"Boolean","desc":"Equivalent to Vue Router <router-link> 'replace' property; Superseded by 'href' prop if used","category":"navigation"},"href":{"type":"String","desc":"Native <a> link href attribute; Has priority over the 'to' and 'replace' props","examples":["'https://quasar.dev'","# href=\"https://quasar.dev\" target=\"_blank\""],"category":"navigation","addedIn":"v2.4"},"target":{"type":"String","desc":"Native <a> link target attribute; Use it only with 'to' or 'href' props","examples":["'_blank'","'_self'","'_parent'","'_top'"],"category":"navigation","addedIn":"v2.4"},"label":{"type":["String","Number"],"desc":"The text that will be shown on the button","examples":["'Button Label'"],"category":"content"},"icon":{"type":"String","desc":"Icon name following Quasar convention; Make sure you have the icon library installed unless you are using 'img:' prefix; If 'none' (String) is used as value then no icon is rendered (but screen real estate will still be used for it)","examples":["'map'","'ion-add'","'img:https://cdn.quasar.dev/logo-v2/svg/logo.svg'","'img:path/to/some_image.png'"],"category":"content"},"icon-right":{"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"},"outline":{"type":"Boolean","desc":"Use 'outline' design","category":"style"},"flat":{"type":"Boolean","desc":"Use 'flat' design","category":"style"},"unelevated":{"type":"Boolean","desc":"Remove shadow","category":"style"},"rounded":{"type":"Boolean","desc":"Applies a more prominent border-radius for a squared shape button","category":"style"},"push":{"type":"Boolean","desc":"Use 'push' design","category":"style"},"square":{"type":"Boolean","desc":"Removes border-radius so borders are squared","category":"style","addedIn":"v2.7.6"},"glossy":{"type":"Boolean","desc":"Applies a glossy effect","category":"style"},"fab":{"type":"Boolean","desc":"Makes button size and shape to fit a Floating Action Button","category":"style"},"fab-mini":{"type":"Boolean","desc":"Makes button size and shape to fit a small Floating Action Button","category":"style"},"padding":{"type":"String","desc":"Apply custom padding (vertical [horizontal]); Size in CSS units, including unit name or standard size name (none|xs|sm|md|lg|xl); Also removes the min width and height when set","examples":["'16px'","'10px 5px'","'2rem'","'xs'","'md lg'","'2px 2px 5px 7px'"],"category":"style"},"color":{"type":"String","tsType":"NamedColor","desc":"Color name for component from the Quasar Color Palette","examples":["'primary'","'teal'","'teal-10'"],"category":"style"},"text-color":{"type":"String","tsType":"NamedColor","desc":"Overrides text color (if needed); Color name from the Quasar Color Palette","examples":["'primary'","'teal'","'teal-10'"],"category":"style"},"no-caps":{"type":"Boolean","desc":"Avoid turning label text into caps (which happens by default)","category":"content"},"no-wrap":{"type":"Boolean","desc":"Avoid label text wrapping","category":"content"},"dense":{"type":"Boolean","desc":"Dense mode; occupies less space","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"},"align":{"type":"String","desc":"Label or content alignment","default":"'center'","values":["'left'","'right'","'center'","'around'","'between'","'evenly'"],"category":"content","required":false},"stack":{"type":"Boolean","desc":"Stack icon and label vertically instead of on same line (like it is by default)","category":"content"},"stretch":{"type":"Boolean","desc":"When used on flexbox parent, button will stretch to parent's height","category":"content"},"loading":{"type":["Boolean","null"],"default":"null","desc":"Put button into loading state (displays a QSpinner -- can be overridden by using a 'loading' slot)","category":"behavior|state","required":false},"disable":{"type":"Boolean","desc":"Put component in disabled mode","category":"state"},"split":{"type":"Boolean","desc":"Split dropdown icon into its own button","category":"content|behavior"},"dropdown-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"},"disable-main-btn":{"type":"Boolean","desc":"Disable main button (useful along with 'split' prop)","category":"behavior"},"disable-dropdown":{"type":"Boolean","desc":"Disables dropdown (dropdown button if using along 'split' prop)","category":"behavior"},"no-icon-animation":{"type":"Boolean","desc":"Disables the rotation of the dropdown icon when state is toggled","category":"style"},"content-style":{"type":["String","Array","Object"],"tsType":"VueStyleProp","desc":"Style definitions to be attributed to the menu","examples":["'background-color: #ff0000'","{ backgroundColor: '#ff0000' }"],"category":"style"},"content-class":{"type":["String","Array","Object"],"tsType":"VueClassProp","desc":"Class definitions to be attributed to the menu","examples":["'my-special-class'","{ 'my-special-class': true }"],"category":"style"},"cover":{"type":"Boolean","desc":"Allows the menu to cover the button. When used, the 'menu-self' prop is no longer effective","category":"position"},"persistent":{"type":"Boolean","desc":"Allows the menu to not be dismissed by a click/tap outside of the menu or by hitting the ESC key; Also, an app route change won't dismiss it","category":"behavior"},"no-esc-dismiss":{"type":"Boolean","desc":"User cannot dismiss the popup by hitting ESC key; No need to set it if 'persistent' prop is also set","category":"behavior","addedIn":"v2.18"},"no-route-dismiss":{"type":"Boolean","desc":"Changing route app won't dismiss the popup; No need to set it if 'persistent' prop is also set","category":"behavior"},"auto-close":{"type":"Boolean","desc":"Allows any click/tap in the menu to close it; Useful instead of attaching events to each menu item that should close the menu on click/tap","category":"behavior"},"no-refocus":{"type":"Boolean","desc":"(Accessibility) When the dropdown gets hidden, do not refocus on the DOM element that previously had focus","category":"behavior","addedIn":"v2.18"},"no-focus":{"type":"Boolean","desc":"(Accessibility) When the dropdown gets shown, do not switch focus on it","category":"behavior","addedIn":"v2.18"},"menu-anchor":{"type":"String","desc":"Two values setting the starting position or anchor point of the menu relative to its target","values":["'top left'","'top middle'","'top right'","'top start'","'top end'","'center left'","'center middle'","'center right'","'center start'","'center end'","'bottom left'","'bottom middle'","'bottom right'","'bottom start'","'bottom end'"],"default":"'bottom end'","category":"position","required":false},"menu-self":{"type":"String","desc":"Two values setting the menu's own position relative to its target","values":["'top left'","'top middle'","'top right'","'top start'","'top end'","'center left'","'center middle'","'center right'","'center start'","'center end'","'bottom left'","'bottom middle'","'bottom right'","'bottom start'","'bottom end'"],"default":"'top end'","category":"position","required":false},"menu-offset":{"type":"Array","desc":"An array of two numbers to offset the menu horizontally and vertically in pixels","examples":["[8, 8]","[5, 10]"],"category":"position"},"toggle-aria-label":{"type":"String","desc":"aria-label to be used on the dropdown toggle element","examples":["'Open menu'"],"category":"accessibility","addedIn":"v2.8.4"}},"slots":{"default":{"desc":"Default slot in the devland unslotted content of the component"},"label":{"desc":"Customize main button's content through this slot, unless you're using the 'icon' and 'label' props"},"loading":{"desc":"Override the default QSpinner when in 'loading' state","addedIn":"v2.8"}},"events":{"update:model-value":{"desc":"Emitted when showing/hidden state changes; Is also used by v-model","params":{"value":{"type":"Boolean","desc":"New state (showing/hidden)"}}},"show":{"desc":"Emitted after component has triggered show()","params":{"evt":{"type":"Event","desc":"JS event object","required":true}}},"before-show":{"desc":"Emitted when component triggers show() but before it finishes doing it","params":{"evt":{"type":"Event","desc":"JS event object","required":true}}},"hide":{"desc":"Emitted after component has triggered hide()","params":{"evt":{"type":"Event","desc":"JS event object","required":true}}},"before-hide":{"desc":"Emitted when component triggers hide() but before it finishes doing it","params":{"evt":{"type":"Event","desc":"JS event object","required":true}}},"click":{"desc":"Emitted when user clicks/taps on the main button (not the icon one, if using 'split')","params":{"evt":{"type":"Event","desc":"JS event object","required":true}}}},"methods":{"show":{"desc":"Triggers component to show","params":{"evt":{"type":"Event","desc":"JS event object","required":false}},"returns":null},"hide":{"desc":"Triggers component to hide","params":{"evt":{"type":"Event","desc":"JS event object","required":false}},"returns":null},"toggle":{"desc":"Triggers component to toggle between show/hide","params":{"evt":{"type":"Event","desc":"JS event object","required":false}},"returns":null}}}