quasar 2.18.6 → 2.19.0

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 (858) 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 -29218
  156. package/dist/quasar.css +24 -30
  157. package/dist/quasar.prod.css +1 -1
  158. package/dist/quasar.rtl.css +25 -30
  159. package/dist/quasar.rtl.prod.css +1 -1
  160. package/dist/quasar.sass +7 -16
  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 -29789
  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 +127 -415
  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/vetur/quasar-attributes.json +1 -1
  185. package/dist/web-types/web-types.json +1 -1
  186. package/icon-set/bootstrap-icons.js +1 -4
  187. package/icon-set/svg-bootstrap-icons.js +1 -4
  188. package/icon-set/svg-fontawesome-v5.js +0 -1
  189. package/icon-set/svg-ionicons-v5.js +2 -2
  190. package/lang/ar-TN.js +10 -8
  191. package/lang/ar.js +10 -8
  192. package/lang/az-Latn.js +13 -9
  193. package/lang/bg.js +10 -8
  194. package/lang/bn.js +14 -9
  195. package/lang/bs-BA.js +13 -9
  196. package/lang/ca.js +18 -14
  197. package/lang/cs.js +9 -7
  198. package/lang/da.js +10 -8
  199. package/lang/de-CH.js +13 -9
  200. package/lang/de-DE.js +13 -9
  201. package/lang/de.js +13 -9
  202. package/lang/el.js +10 -8
  203. package/lang/en-GB.js +10 -8
  204. package/lang/en-US.js +10 -8
  205. package/lang/eo.js +14 -9
  206. package/lang/es.js +10 -8
  207. package/lang/et.js +15 -12
  208. package/lang/eu.js +15 -12
  209. package/lang/fa-IR.js +16 -8
  210. package/lang/fa.js +16 -8
  211. package/lang/fi.js +17 -8
  212. package/lang/fr.js +21 -13
  213. package/lang/gn.js +14 -12
  214. package/lang/he.js +15 -10
  215. package/lang/hi.js +8 -8
  216. package/lang/hr.js +13 -9
  217. package/lang/hu.js +10 -8
  218. package/lang/id.js +11 -9
  219. package/lang/is.js +13 -9
  220. package/lang/it.js +14 -9
  221. package/lang/ja.js +13 -8
  222. package/lang/kk.js +22 -11
  223. package/lang/km.js +9 -8
  224. package/lang/ko-KR.js +9 -10
  225. package/lang/kur-CKB.js +16 -17
  226. package/lang/lt.js +26 -19
  227. package/lang/lu.js +13 -9
  228. package/lang/lv.js +13 -9
  229. package/lang/mk.js +10 -8
  230. package/lang/ml.js +15 -14
  231. package/lang/mm.js +16 -13
  232. package/lang/ms-MY.js +16 -11
  233. package/lang/ms.js +10 -8
  234. package/lang/my.js +15 -8
  235. package/lang/nb-NO.js +10 -8
  236. package/lang/nl.js +13 -9
  237. package/lang/pl.js +13 -9
  238. package/lang/pt-BR.js +17 -10
  239. package/lang/pt.js +17 -10
  240. package/lang/ro.js +10 -8
  241. package/lang/ru.js +25 -12
  242. package/lang/sk.js +18 -9
  243. package/lang/sl.js +12 -8
  244. package/lang/sm.js +51 -47
  245. package/lang/sq.js +13 -9
  246. package/lang/sr-CYR.js +10 -8
  247. package/lang/sr.js +10 -8
  248. package/lang/sv.js +10 -8
  249. package/lang/ta.js +10 -8
  250. package/lang/th.js +12 -11
  251. package/lang/tl.js +10 -8
  252. package/lang/tr.js +8 -5
  253. package/lang/ug.js +16 -8
  254. package/lang/uk.js +22 -11
  255. package/lang/ur-PK.js +13 -11
  256. package/lang/uz-Cyrl.js +5 -5
  257. package/lang/uz-Latn.js +24 -24
  258. package/lang/vi.js +13 -9
  259. package/lang/zh-CN.js +18 -9
  260. package/lang/zh-TW.js +20 -10
  261. package/package.json +52 -66
  262. package/src/api.extends.json +15 -12
  263. package/src/components/ajax-bar/QAjaxBar.js +91 -65
  264. package/src/components/ajax-bar/QAjaxBar.json +2 -2
  265. package/src/components/ajax-bar/index.js +1 -3
  266. package/src/components/avatar/QAvatar.js +36 -28
  267. package/src/components/avatar/QAvatar.json +2 -2
  268. package/src/components/avatar/QAvatar.test.js +29 -78
  269. package/src/components/avatar/index.js +1 -3
  270. package/src/components/badge/QBadge.js +33 -26
  271. package/src/components/badge/QBadge.json +3 -3
  272. package/src/components/badge/QBadge.test.js +40 -95
  273. package/src/components/badge/index.js +1 -3
  274. package/src/components/banner/QBanner.js +46 -25
  275. package/src/components/banner/QBanner.test.js +14 -35
  276. package/src/components/banner/index.js +1 -3
  277. package/src/components/bar/QBar.js +21 -11
  278. package/src/components/bar/QBar.test.js +6 -17
  279. package/src/components/bar/index.js +1 -3
  280. package/src/components/breadcrumbs/QBreadcrumbs.js +44 -32
  281. package/src/components/breadcrumbs/QBreadcrumbs.json +10 -3
  282. package/src/components/breadcrumbs/QBreadcrumbs.test.js +56 -69
  283. package/src/components/breadcrumbs/QBreadcrumbsEl.js +28 -22
  284. package/src/components/breadcrumbs/QBreadcrumbsEl.json +5 -8
  285. package/src/components/breadcrumbs/QBreadcrumbsEl.test.js +60 -134
  286. package/src/components/breadcrumbs/index.js +1 -4
  287. package/src/components/btn/QBtn.js +159 -103
  288. package/src/components/btn/QBtn.json +3 -6
  289. package/src/components/btn/QBtn.test.js +269 -496
  290. package/src/components/btn/index.js +1 -3
  291. package/src/components/btn/use-btn.js +82 -70
  292. package/src/components/btn/use-btn.json +33 -16
  293. package/src/components/btn/use-btn.test.js +30 -47
  294. package/src/components/btn-dropdown/QBtnDropdown.js +143 -104
  295. package/src/components/btn-dropdown/QBtnDropdown.json +42 -17
  296. package/src/components/btn-dropdown/index.js +1 -3
  297. package/src/components/btn-group/QBtnGroup.js +18 -6
  298. package/src/components/btn-group/index.js +1 -3
  299. package/src/components/btn-toggle/QBtnToggle.js +80 -61
  300. package/src/components/btn-toggle/QBtnToggle.json +16 -9
  301. package/src/components/btn-toggle/index.js +1 -3
  302. package/src/components/card/QCard.js +14 -9
  303. package/src/components/card/QCard.json +1 -1
  304. package/src/components/card/QCardActions.js +8 -5
  305. package/src/components/card/QCardActions.json +9 -1
  306. package/src/components/card/QCardSection.js +5 -4
  307. package/src/components/card/QCardSection.json +1 -1
  308. package/src/components/card/index.js +1 -5
  309. package/src/components/carousel/QCarousel.js +194 -125
  310. package/src/components/carousel/QCarousel.json +10 -11
  311. package/src/components/carousel/QCarouselControl.js +26 -13
  312. package/src/components/carousel/QCarouselControl.json +10 -5
  313. package/src/components/carousel/QCarouselSlide.js +13 -10
  314. package/src/components/carousel/QCarouselSlide.json +1 -1
  315. package/src/components/carousel/index.js +1 -5
  316. package/src/components/chat/QChatMessage.js +62 -57
  317. package/src/components/chat/QChatMessage.json +8 -5
  318. package/src/components/chat/index.js +1 -3
  319. package/src/components/checkbox/QCheckbox.js +56 -41
  320. package/src/components/checkbox/QCheckbox.json +1 -1
  321. package/src/components/checkbox/index.js +1 -3
  322. package/src/components/checkbox/use-checkbox.js +112 -83
  323. package/src/components/checkbox/use-checkbox.json +15 -12
  324. package/src/components/chip/QChip.js +101 -73
  325. package/src/components/chip/QChip.json +6 -6
  326. package/src/components/chip/QChip.test.js +72 -180
  327. package/src/components/chip/index.js +1 -3
  328. package/src/components/circular-progress/QCircularProgress.js +92 -57
  329. package/src/components/circular-progress/QCircularProgress.json +2 -2
  330. package/src/components/circular-progress/index.js +1 -3
  331. package/src/components/color/QColor.js +550 -367
  332. package/src/components/color/QColor.json +8 -8
  333. package/src/components/color/index.js +1 -3
  334. package/src/components/date/QDate.js +902 -607
  335. package/src/components/date/QDate.json +32 -23
  336. package/src/components/date/index.js +1 -3
  337. package/src/components/date/use-datetime.js +12 -14
  338. package/src/components/date/use-datetime.json +7 -7
  339. package/src/components/dialog/QDialog.js +178 -139
  340. package/src/components/dialog/QDialog.json +8 -4
  341. package/src/components/dialog/QDialog.test.js +123 -228
  342. package/src/components/dialog/index.js +1 -3
  343. package/src/components/drawer/QDrawer.js +306 -242
  344. package/src/components/drawer/QDrawer.json +4 -4
  345. package/src/components/drawer/index.js +1 -3
  346. package/src/components/editor/QEditor.js +409 -190
  347. package/src/components/editor/QEditor.json +33 -32
  348. package/src/components/editor/editor-caret.js +78 -83
  349. package/src/components/editor/editor-utils.js +176 -130
  350. package/src/components/editor/index.js +1 -3
  351. package/src/components/expansion-item/QExpansionItem.js +149 -103
  352. package/src/components/expansion-item/QExpansionItem.json +21 -24
  353. package/src/components/expansion-item/index.js +1 -3
  354. package/src/components/fab/QFab.js +86 -54
  355. package/src/components/fab/QFab.json +6 -3
  356. package/src/components/fab/QFabAction.js +34 -29
  357. package/src/components/fab/QFabAction.json +4 -7
  358. package/src/components/fab/index.js +1 -4
  359. package/src/components/fab/use-fab.js +20 -20
  360. package/src/components/fab/use-fab.json +10 -13
  361. package/src/components/field/QField.js +7 -5
  362. package/src/components/field/QField.json +6 -6
  363. package/src/components/field/QField.sass +5 -6
  364. package/src/components/field/index.js +1 -3
  365. package/src/components/file/QFile.js +95 -74
  366. package/src/components/file/QFile.json +17 -14
  367. package/src/components/file/index.js +1 -3
  368. package/src/components/footer/QFooter.js +110 -67
  369. package/src/components/footer/QFooter.json +2 -2
  370. package/src/components/footer/index.js +1 -3
  371. package/src/components/form/QForm.js +93 -58
  372. package/src/components/form/QForm.json +2 -2
  373. package/src/components/form/QFormChildMixin.js +10 -11
  374. package/src/components/form/QFormChildMixin.json +2 -2
  375. package/src/components/form/index.js +1 -4
  376. package/src/components/header/QHeader.js +93 -56
  377. package/src/components/header/QHeader.json +2 -2
  378. package/src/components/header/index.js +1 -3
  379. package/src/components/icon/QIcon.js +70 -57
  380. package/src/components/icon/QIcon.json +2 -2
  381. package/src/components/icon/index.js +1 -3
  382. package/src/components/img/QImg.js +104 -98
  383. package/src/components/img/QImg.json +20 -18
  384. package/src/components/img/index.js +1 -3
  385. package/src/components/infinite-scroll/QInfiniteScroll.js +123 -64
  386. package/src/components/infinite-scroll/QInfiniteScroll.json +1 -1
  387. package/src/components/infinite-scroll/index.js +1 -3
  388. package/src/components/inner-loading/QInnerLoading.js +31 -23
  389. package/src/components/inner-loading/QInnerLoading.json +9 -9
  390. package/src/components/inner-loading/index.js +1 -3
  391. package/src/components/input/QInput.js +179 -137
  392. package/src/components/input/QInput.json +25 -15
  393. package/src/components/input/index.js +1 -3
  394. package/src/components/input/use-mask.js +328 -243
  395. package/src/components/input/use-mask.json +16 -8
  396. package/src/components/intersection/QIntersection.js +45 -28
  397. package/src/components/intersection/QIntersection.json +7 -10
  398. package/src/components/intersection/index.js +1 -3
  399. package/src/components/item/QItem.js +60 -52
  400. package/src/components/item/QItem.json +6 -9
  401. package/src/components/item/QItemLabel.js +23 -15
  402. package/src/components/item/QItemLabel.json +1 -1
  403. package/src/components/item/QItemSection.js +11 -8
  404. package/src/components/item/QList.js +21 -13
  405. package/src/components/item/QList.json +1 -1
  406. package/src/components/item/QList.test.js +7 -11
  407. package/src/components/item/index.js +1 -7
  408. package/src/components/knob/QKnob.js +86 -76
  409. package/src/components/knob/QKnob.json +6 -3
  410. package/src/components/knob/index.js +1 -3
  411. package/src/components/layout/QLayout.js +98 -69
  412. package/src/components/layout/QLayout.json +2 -2
  413. package/src/components/layout/index.js +1 -3
  414. package/src/components/linear-progress/QLinearProgress.js +78 -47
  415. package/src/components/linear-progress/QLinearProgress.json +3 -3
  416. package/src/components/linear-progress/index.js +1 -3
  417. package/src/components/markup-table/QMarkupTable.js +25 -17
  418. package/src/components/markup-table/QMarkupTable.json +2 -2
  419. package/src/components/markup-table/index.js +1 -3
  420. package/src/components/menu/QMenu.js +144 -100
  421. package/src/components/menu/QMenu.json +39 -10
  422. package/src/components/menu/index.js +1 -3
  423. package/src/components/no-ssr/QNoSsr.js +5 -5
  424. package/src/components/no-ssr/QNoSsr.json +2 -2
  425. package/src/components/no-ssr/index.js +1 -3
  426. package/src/components/option-group/QOptionGroup.js +84 -66
  427. package/src/components/option-group/QOptionGroup.json +35 -21
  428. package/src/components/option-group/index.js +1 -3
  429. package/src/components/page/QPage.js +35 -22
  430. package/src/components/page/QPage.json +1 -1
  431. package/src/components/page/QPageContainer.js +24 -11
  432. package/src/components/page/index.js +1 -4
  433. package/src/components/page-scroller/QPageScroller.js +49 -32
  434. package/src/components/page-scroller/QPageScroller.json +2 -2
  435. package/src/components/page-scroller/index.js +1 -3
  436. package/src/components/page-sticky/QPageSticky.js +1 -1
  437. package/src/components/page-sticky/QPageSticky.json +9 -4
  438. package/src/components/page-sticky/index.js +1 -3
  439. package/src/components/page-sticky/use-page-sticky.js +47 -36
  440. package/src/components/pagination/QPagination.js +210 -146
  441. package/src/components/pagination/QPagination.json +35 -21
  442. package/src/components/pagination/index.js +1 -3
  443. package/src/components/parallax/QParallax.js +81 -56
  444. package/src/components/parallax/index.js +1 -3
  445. package/src/components/popup-edit/QPopupEdit.js +88 -59
  446. package/src/components/popup-edit/QPopupEdit.json +40 -16
  447. package/src/components/popup-edit/index.js +1 -3
  448. package/src/components/popup-proxy/QPopupProxy.js +30 -19
  449. package/src/components/popup-proxy/QPopupProxy.json +3 -3
  450. package/src/components/popup-proxy/index.js +1 -3
  451. package/src/components/pull-to-refresh/QPullToRefresh.js +71 -49
  452. package/src/components/pull-to-refresh/index.js +1 -3
  453. package/src/components/radio/QRadio.js +133 -95
  454. package/src/components/radio/QRadio.json +11 -8
  455. package/src/components/radio/index.js +1 -3
  456. package/src/components/range/QRange.js +151 -104
  457. package/src/components/range/QRange.json +9 -9
  458. package/src/components/range/index.js +1 -3
  459. package/src/components/rating/QRating.js +171 -112
  460. package/src/components/rating/QRating.json +19 -12
  461. package/src/components/rating/index.js +1 -3
  462. package/src/components/resize-observer/QResizeObserver.js +52 -30
  463. package/src/components/resize-observer/QResizeObserver.json +2 -2
  464. package/src/components/resize-observer/index.js +1 -3
  465. package/src/components/responsive/QResponsive.js +27 -14
  466. package/src/components/responsive/QResponsive.json +1 -1
  467. package/src/components/responsive/index.js +1 -3
  468. package/src/components/scroll-area/QScrollArea.js +279 -192
  469. package/src/components/scroll-area/QScrollArea.json +31 -21
  470. package/src/components/scroll-area/ScrollAreaControls.js +6 -11
  471. package/src/components/scroll-area/index.js +1 -3
  472. package/src/components/scroll-observer/QScrollObserver.js +46 -26
  473. package/src/components/scroll-observer/QScrollObserver.json +4 -4
  474. package/src/components/scroll-observer/index.js +1 -3
  475. package/src/components/select/QSelect.js +710 -519
  476. package/src/components/select/QSelect.json +70 -45
  477. package/src/components/select/index.js +1 -3
  478. package/src/components/separator/QSeparator.js +34 -30
  479. package/src/components/separator/QSeparator.json +4 -4
  480. package/src/components/separator/index.js +1 -3
  481. package/src/components/skeleton/QSkeleton.js +49 -23
  482. package/src/components/skeleton/QSkeleton.json +26 -9
  483. package/src/components/skeleton/index.js +1 -3
  484. package/src/components/slide-item/QSlideItem.js +121 -94
  485. package/src/components/slide-item/QSlideItem.json +2 -2
  486. package/src/components/slide-item/index.js +1 -3
  487. package/src/components/slide-transition/QSlideTransition.js +34 -26
  488. package/src/components/slide-transition/index.js +1 -3
  489. package/src/components/slider/QSlider.js +64 -43
  490. package/src/components/slider/QSlider.json +6 -6
  491. package/src/components/slider/index.js +1 -3
  492. package/src/components/slider/use-slider.js +327 -220
  493. package/src/components/slider/use-slider.json +32 -32
  494. package/src/components/space/QSpace.js +1 -1
  495. package/src/components/space/QSpace.test.js +1 -4
  496. package/src/components/space/index.js +1 -3
  497. package/src/components/spinner/QSpinner.js +23 -18
  498. package/src/components/spinner/QSpinner.json +1 -1
  499. package/src/components/spinner/QSpinner.test.js +11 -27
  500. package/src/components/spinner/QSpinnerAudio.js +13 -11
  501. package/src/components/spinner/QSpinnerAudio.json +1 -1
  502. package/src/components/spinner/QSpinnerAudio.test.js +9 -21
  503. package/src/components/spinner/QSpinnerBall.js +13 -11
  504. package/src/components/spinner/QSpinnerBall.json +1 -1
  505. package/src/components/spinner/QSpinnerBall.test.js +9 -21
  506. package/src/components/spinner/QSpinnerBars.js +13 -11
  507. package/src/components/spinner/QSpinnerBars.json +1 -1
  508. package/src/components/spinner/QSpinnerBars.test.js +9 -21
  509. package/src/components/spinner/QSpinnerBox.js +13 -11
  510. package/src/components/spinner/QSpinnerBox.json +1 -1
  511. package/src/components/spinner/QSpinnerBox.test.js +9 -21
  512. package/src/components/spinner/QSpinnerClock.js +13 -11
  513. package/src/components/spinner/QSpinnerClock.json +1 -1
  514. package/src/components/spinner/QSpinnerClock.test.js +9 -21
  515. package/src/components/spinner/QSpinnerComment.js +13 -11
  516. package/src/components/spinner/QSpinnerComment.json +1 -1
  517. package/src/components/spinner/QSpinnerComment.test.js +9 -21
  518. package/src/components/spinner/QSpinnerCube.js +13 -11
  519. package/src/components/spinner/QSpinnerCube.json +1 -1
  520. package/src/components/spinner/QSpinnerCube.test.js +9 -21
  521. package/src/components/spinner/QSpinnerDots.js +13 -11
  522. package/src/components/spinner/QSpinnerDots.json +1 -1
  523. package/src/components/spinner/QSpinnerDots.test.js +9 -21
  524. package/src/components/spinner/QSpinnerFacebook.js +13 -11
  525. package/src/components/spinner/QSpinnerFacebook.json +1 -1
  526. package/src/components/spinner/QSpinnerFacebook.test.js +9 -21
  527. package/src/components/spinner/QSpinnerGears.js +13 -11
  528. package/src/components/spinner/QSpinnerGears.json +1 -1
  529. package/src/components/spinner/QSpinnerGears.test.js +9 -21
  530. package/src/components/spinner/QSpinnerGrid.js +13 -11
  531. package/src/components/spinner/QSpinnerGrid.json +1 -1
  532. package/src/components/spinner/QSpinnerGrid.test.js +9 -21
  533. package/src/components/spinner/QSpinnerHearts.js +13 -11
  534. package/src/components/spinner/QSpinnerHearts.json +1 -1
  535. package/src/components/spinner/QSpinnerHearts.test.js +9 -21
  536. package/src/components/spinner/QSpinnerHourglass.js +13 -11
  537. package/src/components/spinner/QSpinnerHourglass.json +1 -1
  538. package/src/components/spinner/QSpinnerHourglass.test.js +9 -21
  539. package/src/components/spinner/QSpinnerInfinity.js +12 -10
  540. package/src/components/spinner/QSpinnerInfinity.json +1 -1
  541. package/src/components/spinner/QSpinnerInfinity.test.js +9 -21
  542. package/src/components/spinner/QSpinnerIos.js +13 -11
  543. package/src/components/spinner/QSpinnerIos.json +1 -1
  544. package/src/components/spinner/QSpinnerIos.test.js +9 -21
  545. package/src/components/spinner/QSpinnerOrbit.js +13 -11
  546. package/src/components/spinner/QSpinnerOrbit.json +1 -1
  547. package/src/components/spinner/QSpinnerOrbit.test.js +9 -21
  548. package/src/components/spinner/QSpinnerOval.js +13 -11
  549. package/src/components/spinner/QSpinnerOval.json +1 -1
  550. package/src/components/spinner/QSpinnerOval.test.js +9 -21
  551. package/src/components/spinner/QSpinnerPie.js +13 -11
  552. package/src/components/spinner/QSpinnerPie.json +1 -1
  553. package/src/components/spinner/QSpinnerPie.test.js +9 -21
  554. package/src/components/spinner/QSpinnerPuff.js +13 -11
  555. package/src/components/spinner/QSpinnerPuff.json +1 -1
  556. package/src/components/spinner/QSpinnerPuff.test.js +9 -21
  557. package/src/components/spinner/QSpinnerRadio.js +13 -11
  558. package/src/components/spinner/QSpinnerRadio.json +1 -1
  559. package/src/components/spinner/QSpinnerRadio.test.js +9 -21
  560. package/src/components/spinner/QSpinnerRings.js +13 -11
  561. package/src/components/spinner/QSpinnerRings.json +1 -1
  562. package/src/components/spinner/QSpinnerRings.test.js +9 -21
  563. package/src/components/spinner/QSpinnerTail.js +12 -10
  564. package/src/components/spinner/QSpinnerTail.json +1 -1
  565. package/src/components/spinner/QSpinnerTail.test.js +9 -21
  566. package/src/components/spinner/index.js +0 -1
  567. package/src/components/spinner/spinner.json +2 -2
  568. package/src/components/spinner/use-spinner.js +7 -7
  569. package/src/components/spinner/use-spinner.test.js +1 -1
  570. package/src/components/splitter/QSplitter.js +133 -94
  571. package/src/components/splitter/QSplitter.json +10 -19
  572. package/src/components/splitter/index.js +1 -3
  573. package/src/components/stepper/QStep.js +65 -42
  574. package/src/components/stepper/QStep.json +5 -5
  575. package/src/components/stepper/QStepper.js +62 -39
  576. package/src/components/stepper/QStepper.json +2 -2
  577. package/src/components/stepper/QStepperNavigation.js +1 -1
  578. package/src/components/stepper/StepHeader.js +87 -67
  579. package/src/components/stepper/index.js +1 -5
  580. package/src/components/tab-panels/QTabPanel.js +3 -2
  581. package/src/components/tab-panels/QTabPanel.json +1 -1
  582. package/src/components/tab-panels/QTabPanels.js +12 -6
  583. package/src/components/tab-panels/QTabPanels.json +1 -1
  584. package/src/components/tab-panels/index.js +1 -4
  585. package/src/components/table/QTable.js +544 -426
  586. package/src/components/table/QTable.json +168 -165
  587. package/src/components/table/QTd.js +18 -13
  588. package/src/components/table/QTd.json +1 -1
  589. package/src/components/table/QTh.js +25 -20
  590. package/src/components/table/QTh.json +1 -1
  591. package/src/components/table/QTr.js +17 -9
  592. package/src/components/table/QTr.json +1 -1
  593. package/src/components/table/get-table-middle.js +2 -4
  594. package/src/components/table/index.js +1 -6
  595. package/src/components/table/table-column-selection.js +45 -35
  596. package/src/components/table/table-filter.js +9 -8
  597. package/src/components/table/table-pagination.js +75 -52
  598. package/src/components/table/table-row-expand.js +15 -16
  599. package/src/components/table/table-row-selection.js +31 -31
  600. package/src/components/table/table-sort.js +26 -29
  601. package/src/components/tabs/QRouteTab.js +10 -12
  602. package/src/components/tabs/QRouteTab.json +6 -6
  603. package/src/components/tabs/QTab.js +1 -1
  604. package/src/components/tabs/QTab.json +1 -1
  605. package/src/components/tabs/QTabs.js +283 -205
  606. package/src/components/tabs/QTabs.json +9 -9
  607. package/src/components/tabs/index.js +1 -5
  608. package/src/components/tabs/use-tab.js +127 -103
  609. package/src/components/tabs/use-tab.json +8 -8
  610. package/src/components/time/QTime.js +502 -383
  611. package/src/components/time/QTime.json +19 -15
  612. package/src/components/time/index.js +1 -3
  613. package/src/components/timeline/QTimeline.js +10 -7
  614. package/src/components/timeline/QTimeline.json +2 -2
  615. package/src/components/timeline/QTimelineEntry.js +44 -27
  616. package/src/components/timeline/QTimelineEntry.json +7 -5
  617. package/src/components/timeline/index.js +1 -4
  618. package/src/components/toggle/QToggle.js +29 -19
  619. package/src/components/toggle/QToggle.json +1 -1
  620. package/src/components/toggle/index.js +1 -3
  621. package/src/components/toolbar/QToolbar.js +7 -5
  622. package/src/components/toolbar/QToolbar.test.js +2 -6
  623. package/src/components/toolbar/QToolbarTitle.js +5 -4
  624. package/src/components/toolbar/QToolbarTitle.test.js +2 -6
  625. package/src/components/toolbar/index.js +1 -4
  626. package/src/components/tooltip/QTooltip.js +125 -72
  627. package/src/components/tooltip/QTooltip.json +34 -10
  628. package/src/components/tooltip/index.js +1 -3
  629. package/src/components/tree/QTree.js +417 -297
  630. package/src/components/tree/QTree.json +27 -25
  631. package/src/components/tree/index.js +1 -3
  632. package/src/components/uploader/QUploader.json +9 -6
  633. package/src/components/uploader/QUploaderAddTrigger.js +5 -2
  634. package/src/components/uploader/index.js +1 -4
  635. package/src/components/uploader/uploader-core.js +262 -178
  636. package/src/components/uploader/xhr-uploader-plugin.js +96 -89
  637. package/src/components/uploader/xhr-uploader-plugin.json +29 -29
  638. package/src/components/video/QVideo.js +25 -19
  639. package/src/components/video/QVideo.json +5 -5
  640. package/src/components/video/QVideo.test.js +55 -85
  641. package/src/components/video/index.js +1 -3
  642. package/src/components/virtual-scroll/QVirtualScroll.js +89 -37
  643. package/src/components/virtual-scroll/QVirtualScroll.json +6 -6
  644. package/src/components/virtual-scroll/index.js +1 -3
  645. package/src/components/virtual-scroll/use-virtual-scroll.js +421 -240
  646. package/src/components/virtual-scroll/use-virtual-scroll.json +20 -13
  647. package/src/composables/private.use-align/use-align.js +8 -5
  648. package/src/composables/private.use-align/use-align.test.js +9 -17
  649. package/src/composables/private.use-anchor/use-anchor-static.json +2 -7
  650. package/src/composables/private.use-anchor/use-anchor.js +79 -62
  651. package/src/composables/private.use-anchor/use-anchor.json +1 -1
  652. package/src/composables/private.use-dark/use-dark.js +2 -6
  653. package/src/composables/private.use-dark/use-dark.test.js +7 -21
  654. package/src/composables/private.use-field/use-field.js +384 -251
  655. package/src/composables/private.use-field/use-field.json +10 -10
  656. package/src/composables/private.use-file/use-file-dom-props.js +11 -15
  657. package/src/composables/private.use-file/use-file.js +86 -67
  658. package/src/composables/private.use-file/use-file.json +8 -8
  659. package/src/composables/private.use-fullscreen/use-fullscreen.js +35 -17
  660. package/src/composables/private.use-fullscreen/use-fullscreen.json +1 -1
  661. package/src/composables/private.use-history/use-history.js +4 -4
  662. package/src/composables/private.use-history/use-history.test.js +9 -21
  663. package/src/composables/private.use-key-composition/use-key-composition.js +16 -12
  664. package/src/composables/private.use-model-toggle/use-model-toggle.js +44 -35
  665. package/src/composables/private.use-model-toggle/use-model-toggle.json +2 -2
  666. package/src/composables/private.use-panel/use-panel.child.json +1 -1
  667. package/src/composables/private.use-panel/use-panel.js +131 -91
  668. package/src/composables/private.use-panel/use-panel.json +18 -18
  669. package/src/composables/private.use-portal/use-portal.js +20 -15
  670. package/src/composables/private.use-prevent-scroll/use-prevent-scroll.js +4 -4
  671. package/src/composables/private.use-ratio/use-ratio.js +3 -3
  672. package/src/composables/private.use-ratio/use-ratio.json +2 -7
  673. package/src/composables/private.use-refocus-target/use-refocus-target.js +7 -8
  674. package/src/composables/private.use-router-link/use-router-link.js +111 -110
  675. package/src/composables/private.use-router-link/use-router-link.json +6 -9
  676. package/src/composables/private.use-scroll-target/use-scroll-target.js +14 -11
  677. package/src/composables/private.use-size/use-size.js +6 -4
  678. package/src/composables/private.use-size/use-size.json +1 -1
  679. package/src/composables/private.use-size/use-size.test.js +1 -1
  680. package/src/composables/private.use-transition/use-transition.js +17 -11
  681. package/src/composables/private.use-transition/use-transition.json +1 -1
  682. package/src/composables/private.use-transition/use-transition.test.js +7 -21
  683. package/src/composables/private.use-validate/use-validate.js +78 -67
  684. package/src/composables/private.use-validate/use-validate.json +9 -12
  685. package/src/composables/use-dialog-plugin-component/use-dialog-plugin-component.js +12 -6
  686. package/src/composables/use-form/private.use-form.js +4 -4
  687. package/src/composables/use-form/private.use-form.json +1 -1
  688. package/src/composables/use-form/private.use-form.test.js +17 -15
  689. package/src/composables/use-form/use-form-child.js +25 -14
  690. package/src/composables/use-hydration/use-hydration.js +1 -1
  691. package/src/composables/use-hydration/use-hydration.test.js +2 -4
  692. package/src/composables/use-id/use-id.js +10 -12
  693. package/src/composables/use-id/use-id.test.js +1 -1
  694. package/src/composables/use-interval/use-interval.js +3 -3
  695. package/src/composables/use-interval/use-interval.test.js +6 -9
  696. package/src/composables/use-meta/use-meta.js +13 -10
  697. package/src/composables/use-quasar/use-quasar.js +1 -1
  698. package/src/composables/use-quasar/use-quasar.test.js +4 -10
  699. package/src/composables/use-render-cache/use-render-cache.js +16 -24
  700. package/src/composables/use-split-attrs/use-split-attrs.js +9 -5
  701. package/src/composables/use-split-attrs/use-split-attrs.test.js +17 -15
  702. package/src/composables/use-tick/use-tick.js +10 -5
  703. package/src/composables/use-tick/use-tick.test.js +5 -8
  704. package/src/composables/use-timeout/use-timeout.js +3 -3
  705. package/src/composables/use-timeout/use-timeout.test.js +6 -9
  706. package/src/composables.js +0 -1
  707. package/src/css/core/helpers.sass +4 -9
  708. package/src/directives/close-popup/ClosePopup.js +41 -35
  709. package/src/directives/close-popup/ClosePopup.json +1 -1
  710. package/src/directives/intersection/Intersection.js +25 -28
  711. package/src/directives/intersection/Intersection.json +6 -6
  712. package/src/directives/morph/Morph.js +87 -87
  713. package/src/directives/morph/Morph.json +15 -13
  714. package/src/directives/mutation/Mutation.js +23 -24
  715. package/src/directives/mutation/Mutation.json +11 -11
  716. package/src/directives/ripple/Ripple.js +88 -79
  717. package/src/directives/ripple/Ripple.json +10 -10
  718. package/src/directives/ripple/Ripple.test.js +31 -87
  719. package/src/directives/scroll/Scroll.js +43 -30
  720. package/src/directives/scroll/Scroll.json +4 -2
  721. package/src/directives/scroll-fire/ScrollFire.js +43 -38
  722. package/src/directives/scroll-fire/ScrollFire.json +1 -1
  723. package/src/directives/touch-hold/TouchHold.js +155 -139
  724. package/src/directives/touch-hold/TouchHold.json +2 -2
  725. package/src/directives/touch-pan/TouchPan.js +311 -278
  726. package/src/directives/touch-pan/TouchPan.json +6 -4
  727. package/src/directives/touch-repeat/TouchRepeat.js +222 -188
  728. package/src/directives/touch-repeat/TouchRepeat.json +5 -3
  729. package/src/directives/touch-swipe/TouchSwipe.js +235 -214
  730. package/src/directives/touch-swipe/TouchSwipe.json +5 -3
  731. package/src/flags.dev.js +10 -17
  732. package/src/index.dev.js +2 -0
  733. package/src/index.ssr.js +2 -6
  734. package/src/index.umd.js +4 -2
  735. package/src/install-quasar.js +92 -76
  736. package/src/plugins/addressbar/AddressbarColor.js +28 -25
  737. package/src/plugins/addressbar/AddressbarColor.json +1 -1
  738. package/src/plugins/addressbar/AddressbarColor.test.js +10 -9
  739. package/src/plugins/app-fullscreen/AppFullscreen.js +50 -51
  740. package/src/plugins/app-fullscreen/AppFullscreen.json +6 -10
  741. package/src/plugins/app-fullscreen/AppFullscreen.test.js +11 -26
  742. package/src/plugins/app-fullscreen/test/mock-fullscreen.js +7 -5
  743. package/src/plugins/app-visibility/AppVisibility.js +21 -17
  744. package/src/plugins/app-visibility/AppVisibility.test.js +3 -1
  745. package/src/plugins/bottom-sheet/BottomSheet.js +1 -1
  746. package/src/plugins/bottom-sheet/BottomSheet.json +9 -9
  747. package/src/plugins/bottom-sheet/component/BottomSheetComponent.js +132 -95
  748. package/src/plugins/cookies/Cookies.js +50 -58
  749. package/src/plugins/cookies/Cookies.json +24 -16
  750. package/src/plugins/dark/Dark.js +61 -55
  751. package/src/plugins/dark/Dark.json +6 -6
  752. package/src/plugins/dark/Dark.test.js +26 -44
  753. package/src/plugins/dialog/Dialog.js +1 -1
  754. package/src/plugins/dialog/Dialog.json +29 -21
  755. package/src/plugins/dialog/component/DialogPluginComponent.js +122 -121
  756. package/src/plugins/icon-set/IconSet.js +63 -56
  757. package/src/plugins/icon-set/IconSet.json +421 -419
  758. package/src/plugins/icon-set/IconSet.test.js +8 -7
  759. package/src/plugins/lang/Lang.js +115 -96
  760. package/src/plugins/lang/Lang.json +201 -175
  761. package/src/plugins/lang/Lang.test.js +52 -20
  762. package/src/plugins/loading/Loading.js +175 -143
  763. package/src/plugins/loading/Loading.json +15 -15
  764. package/src/plugins/loading-bar/LoadingBar.js +61 -56
  765. package/src/plugins/loading-bar/LoadingBar.json +2 -2
  766. package/src/plugins/meta/Meta.js +91 -81
  767. package/src/plugins/notify/Notify.js +275 -221
  768. package/src/plugins/notify/Notify.json +79 -71
  769. package/src/plugins/platform/Platform.js +105 -112
  770. package/src/plugins/platform/Platform.json +12 -8
  771. package/src/plugins/platform/Platform.test.js +4 -7
  772. package/src/plugins/private.body/Body.js +19 -23
  773. package/src/plugins/private.body/Body.test.js +4 -6
  774. package/src/plugins/private.history/History.js +27 -30
  775. package/src/plugins/screen/Screen.js +160 -147
  776. package/src/plugins/screen/Screen.json +6 -6
  777. package/src/plugins/screen/Screen.test.js +6 -12
  778. package/src/plugins/storage/LocalStorage.js +5 -4
  779. package/src/plugins/storage/LocalStorage.json +1 -1
  780. package/src/plugins/storage/LocalStorage.test.js +56 -62
  781. package/src/plugins/storage/SessionStorage.js +5 -4
  782. package/src/plugins/storage/SessionStorage.json +1 -1
  783. package/src/plugins/storage/SessionStorage.test.js +56 -62
  784. package/src/plugins/storage/engine/web-storage.js +24 -26
  785. package/src/plugins/storage/engine/web-storage.json +45 -15
  786. package/src/utils/EventBus/EventBus.js +12 -13
  787. package/src/utils/clone/clone.js +27 -28
  788. package/src/utils/clone/clone.test.js +27 -52
  789. package/src/utils/colors/colors.js +69 -63
  790. package/src/utils/colors/colors.test.js +360 -270
  791. package/src/utils/copy-to-clipboard/copy-to-clipboard.js +9 -10
  792. package/src/utils/create-meta-mixin/create-meta-mixin.js +17 -19
  793. package/src/utils/create-uploader-component/create-uploader-component.js +20 -14
  794. package/src/utils/css-var/get-css-var.js +4 -2
  795. package/src/utils/css-var/get-css-var.test.js +4 -11
  796. package/src/utils/css-var/set-css-var.js +2 -2
  797. package/src/utils/css-var/set-css-var.test.js +6 -12
  798. package/src/utils/date/date.js +251 -243
  799. package/src/utils/date/private.persian.js +54 -44
  800. package/src/utils/debounce/debounce.js +5 -5
  801. package/src/utils/debounce/debounce.test.js +3 -10
  802. package/src/utils/dom/dom.js +21 -22
  803. package/src/utils/dom/dom.test.js +19 -39
  804. package/src/utils/event/event.js +53 -49
  805. package/src/utils/export-file/export-file.js +11 -12
  806. package/src/utils/extend/extend.js +30 -26
  807. package/src/utils/extend/extend.test.js +36 -42
  808. package/src/utils/format/format.js +11 -13
  809. package/src/utils/format/format.test.js +50 -61
  810. package/src/utils/frame-debounce/frame-debounce.js +5 -3
  811. package/src/utils/frame-debounce/frame-debounce.test.js +3 -10
  812. package/src/utils/is/is.js +27 -23
  813. package/src/utils/is/is.test.js +100 -84
  814. package/src/utils/morph/morph.js +470 -377
  815. package/src/utils/open-url/open-url.js +18 -21
  816. package/src/utils/patterns/patterns.js +11 -7
  817. package/src/utils/patterns/patterns.test.js +2 -0
  818. package/src/utils/private.click-outside/click-outside.js +28 -26
  819. package/src/utils/private.config/instance-config.js +1 -1
  820. package/src/utils/private.config/instance-config.test.js +11 -7
  821. package/src/utils/private.config/nodes.js +14 -14
  822. package/src/utils/private.config/nodes.test.js +32 -38
  823. package/src/utils/private.create/create.js +10 -4
  824. package/src/utils/private.create/create.test.js +11 -7
  825. package/src/utils/private.dialog/create-dialog.js +70 -59
  826. package/src/utils/private.dialog/create-dialog.json +13 -6
  827. package/src/utils/private.focus/focus-manager.js +7 -8
  828. package/src/utils/private.focus/focus-manager.test.js +13 -18
  829. package/src/utils/private.focus/focusout.js +4 -4
  830. package/src/utils/private.focus/focusout.test.js +10 -22
  831. package/src/utils/private.get-emits-object/get-emits-object.js +2 -2
  832. package/src/utils/private.get-emits-object/get-emits-object.test.js +4 -10
  833. package/src/utils/private.inject-obj-prop/inject-obj-prop.js +3 -3
  834. package/src/utils/private.inject-obj-prop/inject-obj-prop.test.js +20 -49
  835. package/src/utils/private.keyboard/escape-key.js +10 -10
  836. package/src/utils/private.keyboard/escape-key.test.js +10 -22
  837. package/src/utils/private.keyboard/key-composition.js +9 -7
  838. package/src/utils/private.portal/portal.js +7 -10
  839. package/src/utils/private.position-engine/position-engine.js +127 -75
  840. package/src/utils/private.render/render.js +9 -24
  841. package/src/utils/private.render/render.test.js +40 -55
  842. package/src/utils/private.rtl/rtl.js +1 -3
  843. package/src/utils/private.selection/selection.js +6 -6
  844. package/src/utils/private.selection/selection.test.js +7 -13
  845. package/src/utils/private.sort/sort.js +4 -6
  846. package/src/utils/private.symbols/symbols.js +1 -1
  847. package/src/utils/private.touch/touch.js +16 -16
  848. package/src/utils/private.touch/touch.test.js +56 -16
  849. package/src/utils/private.vm/vm.js +6 -7
  850. package/src/utils/private.vm/vm.test.js +32 -32
  851. package/src/utils/run-sequential-promises/run-sequential-promises.js +57 -51
  852. package/src/utils/scroll/prevent-scroll.js +75 -47
  853. package/src/utils/scroll/scroll.js +51 -44
  854. package/src/utils/throttle/throttle.js +7 -4
  855. package/src/utils/throttle/throttle.test.js +2 -7
  856. package/src/utils/uid/uid.js +34 -22
  857. package/wrappers/index.cjs +17 -15
  858. package/wrappers/index.js +15 -15
@@ -4,12 +4,12 @@
4
4
  },
5
5
 
6
6
  "props": {
7
- "model-value":{
7
+ "model-value": {
8
8
  "extends": "model-value",
9
- "type": [ "Number", "String", "null", "undefined" ],
9
+ "type": ["Number", "String", "null", "undefined"],
10
10
  "desc": "Model of the component defining current panel name; Either use this property (along with a listener for 'update:modelValue' event) OR use v-model directive",
11
11
  "required": false,
12
- "examples": [ "# v-model=\"selectedTab\"" ]
12
+ "examples": ["# v-model=\"selectedTab\""]
13
13
  },
14
14
 
15
15
  "vertical": {
@@ -34,12 +34,12 @@
34
34
  "type": "String",
35
35
  "desc": "Horizontal alignment the tabs within the tabs container",
36
36
  "default": "'center'",
37
- "values": [ "'left'", "'center'", "'right'", "'justify'" ],
37
+ "values": ["'left'", "'center'", "'right'", "'justify'"],
38
38
  "category": "content"
39
39
  },
40
40
 
41
41
  "breakpoint": {
42
- "type": [ "Number", "String" ],
42
+ "type": ["Number", "String"],
43
43
  "desc": "Breakpoint (in pixels) of tabs container width at which the tabs automatically turn to a justify alignment",
44
44
  "default": "600",
45
45
  "category": "content|behavior"
@@ -66,14 +66,14 @@
66
66
  "content-class": {
67
67
  "type": "String",
68
68
  "desc": "Class definitions to be attributed to the content wrapper",
69
- "examples": [ "'my-special-class'" ],
69
+ "examples": ["'my-special-class'"],
70
70
  "category": "style"
71
71
  },
72
72
 
73
73
  "active-class": {
74
74
  "type": "String",
75
75
  "desc": "The class to be set on the active tab",
76
- "examples": [ "'my-active-class'" ],
76
+ "examples": ["'my-active-class'"],
77
77
  "category": "style",
78
78
  "addedIn": "v2.1.4"
79
79
  },
@@ -81,14 +81,14 @@
81
81
  "left-icon": {
82
82
  "type": "String",
83
83
  "desc": "The name of an icon to replace the default arrow used to scroll through the tabs to the left, when the tabs extend past the width of the tabs container",
84
- "examples": [ "'arrow_left'" ],
84
+ "examples": ["'arrow_left'"],
85
85
  "category": "content"
86
86
  },
87
87
 
88
88
  "right-icon": {
89
89
  "type": "String",
90
90
  "desc": "The name of an icon to replace the default arrow used to scroll through the tabs to the right, when the tabs extend past the width of the tabs container",
91
- "examples": [ "'arrow_right'" ],
91
+ "examples": ["'arrow_right'"],
92
92
  "category": "content"
93
93
  },
94
94
 
@@ -2,8 +2,4 @@ import QTabs from './QTabs.js'
2
2
  import QTab from './QTab.js'
3
3
  import QRouteTab from './QRouteTab.js'
4
4
 
5
- export {
6
- QTabs,
7
- QTab,
8
- QRouteTab
9
- }
5
+ export { QTabs, QTab, QRouteTab }
@@ -1,11 +1,23 @@
1
- import { h, ref, computed, inject, onBeforeUnmount, onMounted, withDirectives, getCurrentInstance } from 'vue'
1
+ import {
2
+ h,
3
+ ref,
4
+ computed,
5
+ inject,
6
+ onBeforeUnmount,
7
+ onMounted,
8
+ withDirectives,
9
+ getCurrentInstance
10
+ } from 'vue'
2
11
 
3
12
  import QIcon from '../icon/QIcon.js'
4
13
 
5
14
  import Ripple from '../../directives/ripple/Ripple.js'
6
15
 
7
16
  import { hMergeSlot } from '../../utils/private.render/render.js'
8
- import { isKeyCode, shouldIgnoreKey } from '../../utils/private.keyboard/key-composition.js'
17
+ import {
18
+ isKeyCode,
19
+ shouldIgnoreKey
20
+ } from '../../utils/private.keyboard/key-composition.js'
9
21
  import { tabsKey, emptyRenderFn } from '../../utils/private.symbols/symbols.js'
10
22
  import { stopAndPrevent } from '../../utils/event/event.js'
11
23
  import uid from '../../utils/uid/uid.js'
@@ -13,34 +25,34 @@ import { isDeepEqual } from '../../utils/is/is.js'
13
25
 
14
26
  let id = 0
15
27
 
16
- export const useTabEmits = [ 'click', 'keydown' ]
28
+ export const useTabEmits = ['click', 'keydown']
17
29
 
18
30
  export const useTabProps = {
19
31
  icon: String,
20
- label: [ Number, String ],
32
+ label: [Number, String],
21
33
 
22
- alert: [ Boolean, String ],
34
+ alert: [Boolean, String],
23
35
  alertIcon: String,
24
36
 
25
37
  name: {
26
- type: [ Number, String ],
27
- default: () => `t_${ id++ }`
38
+ type: [Number, String],
39
+ default: () => `t_${id++}`
28
40
  },
29
41
 
30
42
  noCaps: Boolean,
31
43
 
32
- tabindex: [ String, Number ],
44
+ tabindex: [String, Number],
33
45
  disable: Boolean,
34
46
 
35
47
  contentClass: String,
36
48
 
37
49
  ripple: {
38
- type: [ Boolean, Object ],
50
+ type: [Boolean, Object],
39
51
  default: true
40
52
  }
41
53
  }
42
54
 
43
- export default function (props, slots, emit, routeData) {
55
+ export default function useTab(props, slots, emit, routeData) {
44
56
  const $tabs = inject(tabsKey, emptyRenderFn)
45
57
  if ($tabs === emptyRenderFn) {
46
58
  console.error('QTab/QRouteTab component needs to be child of QTabs')
@@ -53,52 +65,62 @@ export default function (props, slots, emit, routeData) {
53
65
  const rootRef = ref(null)
54
66
  const tabIndicatorRef = ref(null)
55
67
 
56
- const ripple = computed(() => (
68
+ const ripple = computed(() =>
57
69
  props.disable === true || props.ripple === false
58
70
  ? false
59
71
  : Object.assign(
60
- { keyCodes: [ 13, 32 ], early: true },
61
- props.ripple === true ? {} : props.ripple
62
- )
63
- ))
72
+ { keyCodes: [13, 32], early: true },
73
+ props.ripple === true ? {} : props.ripple
74
+ )
75
+ )
64
76
 
65
77
  const isActive = computed(() => $tabs.currentModel.value === props.name)
66
78
 
67
- const classes = computed(() =>
68
- 'q-tab relative-position self-stretch flex flex-center text-center'
69
- + (
70
- isActive.value === true
71
- ? (
72
- ' q-tab--active'
73
- + ($tabs.tabProps.value.activeClass ? ' ' + $tabs.tabProps.value.activeClass : '')
74
- + ($tabs.tabProps.value.activeColor ? ` text-${ $tabs.tabProps.value.activeColor }` : '')
75
- + ($tabs.tabProps.value.activeBgColor ? ` bg-${ $tabs.tabProps.value.activeBgColor }` : '')
76
- )
77
- : ' q-tab--inactive'
78
- )
79
- + (props.icon && props.label && $tabs.tabProps.value.inlineLabel === false ? ' q-tab--full' : '')
80
- + (props.noCaps === true || $tabs.tabProps.value.noCaps === true ? ' q-tab--no-caps' : '')
81
- + (props.disable === true ? ' disabled' : ' q-focusable q-hoverable cursor-pointer')
82
- + (routeData !== void 0 ? routeData.linkClass.value : '')
79
+ const classes = computed(
80
+ () =>
81
+ 'q-tab relative-position self-stretch flex flex-center text-center' +
82
+ (isActive.value === true
83
+ ? ' q-tab--active' +
84
+ ($tabs.tabProps.value.activeClass
85
+ ? ' ' + $tabs.tabProps.value.activeClass
86
+ : '') +
87
+ ($tabs.tabProps.value.activeColor
88
+ ? ` text-${$tabs.tabProps.value.activeColor}`
89
+ : '') +
90
+ ($tabs.tabProps.value.activeBgColor
91
+ ? ` bg-${$tabs.tabProps.value.activeBgColor}`
92
+ : '')
93
+ : ' q-tab--inactive') +
94
+ (props.icon && props.label && $tabs.tabProps.value.inlineLabel === false
95
+ ? ' q-tab--full'
96
+ : '') +
97
+ (props.noCaps === true || $tabs.tabProps.value.noCaps === true
98
+ ? ' q-tab--no-caps'
99
+ : '') +
100
+ (props.disable === true
101
+ ? ' disabled'
102
+ : ' q-focusable q-hoverable cursor-pointer') +
103
+ (routeData !== void 0 ? routeData.linkClass.value : '')
83
104
  )
84
105
 
85
- const innerClass = computed(() =>
86
- 'q-tab__content self-stretch flex-center relative-position q-anchor--skip non-selectable '
87
- + ($tabs.tabProps.value.inlineLabel === true ? 'row no-wrap q-tab__content--inline' : 'column')
88
- + (props.contentClass !== void 0 ? ` ${ props.contentClass }` : '')
106
+ const innerClass = computed(
107
+ () =>
108
+ 'q-tab__content self-stretch flex-center relative-position q-anchor--skip non-selectable ' +
109
+ ($tabs.tabProps.value.inlineLabel === true
110
+ ? 'row no-wrap q-tab__content--inline'
111
+ : 'column') +
112
+ (props.contentClass !== void 0 ? ` ${props.contentClass}` : '')
89
113
  )
90
114
 
91
- const tabIndex = computed(() => (
92
- (
93
- props.disable === true
94
- || $tabs.hasFocus.value === true
95
- || (isActive.value === false && $tabs.hasActiveTab.value === true)
96
- )
115
+ const tabIndex = computed(() =>
116
+ props.disable === true ||
117
+ $tabs.hasFocus.value === true ||
118
+ (isActive.value === false && $tabs.hasActiveTab.value === true)
97
119
  ? -1
98
120
  : props.tabindex || 0
99
- ))
121
+ )
100
122
 
101
- function onClick (e, keyboard) {
123
+ function onClick(e, keyboard) {
102
124
  if (keyboard !== true && e?.qAvoidFocus !== true) {
103
125
  blurTargetRef.value?.focus()
104
126
  }
@@ -124,12 +146,16 @@ export default function (props, slots, emit, routeData) {
124
146
  // let the QTabs route watcher do its job,
125
147
  // otherwise directly select this
126
148
  let hardError
127
- const reqId = opts.to === void 0 || isDeepEqual(opts.to, props.to) === true
128
- ? ($tabs.avoidRouteWatcher = uid())
129
- : null
130
-
131
- return routeData.navigateToRouterLink(e, { ...opts, returnRouterError: true })
132
- .catch(err => { hardError = err })
149
+ const reqId =
150
+ opts.to === void 0 || isDeepEqual(opts.to, props.to) === true
151
+ ? ($tabs.avoidRouteWatcher = uid())
152
+ : null
153
+
154
+ return routeData
155
+ .navigateToRouterLink(e, { ...opts, returnRouterError: true })
156
+ .catch(err => {
157
+ hardError = err
158
+ })
133
159
  .then(softError => {
134
160
  if (reqId === $tabs.avoidRouteWatcher) {
135
161
  $tabs.avoidRouteWatcher = false
@@ -138,23 +164,26 @@ export default function (props, slots, emit, routeData) {
138
164
  // when navigating to the same route (on all other soft errors,
139
165
  // like when navigation was aborted in a nav guard, we don't activate this tab)
140
166
  if (
141
- hardError === void 0 && (
142
- softError === void 0
143
- || (softError.message?.startsWith('Avoided redundant navigation') === true)
144
- )
167
+ hardError === void 0 &&
168
+ (softError === void 0 ||
169
+ softError.message?.startsWith(
170
+ 'Avoided redundant navigation'
171
+ ) === true)
145
172
  ) {
146
173
  $tabs.updateModel({ name: props.name })
147
174
  }
148
175
  }
149
176
 
150
177
  if (opts.returnRouterError === true) {
151
- return hardError !== void 0 ? Promise.reject(hardError) : softError
178
+ return hardError !== void 0
179
+ ? Promise.reject(hardError)
180
+ : softError
152
181
  }
153
182
  })
154
183
  }
155
184
 
156
185
  emit('click', e, go)
157
- e.defaultPrevented !== true && go()
186
+ if (e.defaultPrevented !== true) go()
158
187
 
159
188
  return
160
189
  }
@@ -162,69 +191,67 @@ export default function (props, slots, emit, routeData) {
162
191
  emit('click', e)
163
192
  }
164
193
 
165
- function onKeydown (e) {
166
- if (isKeyCode(e, [ 13, 32 ])) {
194
+ function onKeydown(e) {
195
+ if (isKeyCode(e, [13, 32])) {
167
196
  onClick(e, true)
168
- }
169
- else if (
170
- shouldIgnoreKey(e) !== true
171
- && e.keyCode >= 35
172
- && e.keyCode <= 40
173
- && e.altKey !== true
174
- && e.metaKey !== true
197
+ } else if (
198
+ shouldIgnoreKey(e) !== true &&
199
+ e.keyCode >= 35 &&
200
+ e.keyCode <= 40 &&
201
+ e.altKey !== true &&
202
+ e.metaKey !== true
175
203
  ) {
176
- $tabs.onKbdNavigate(e.keyCode, proxy.$el) === true && stopAndPrevent(e)
204
+ if ($tabs.onKbdNavigate(e.keyCode, proxy.$el) === true) stopAndPrevent(e)
177
205
  }
178
206
 
179
207
  emit('keydown', e)
180
208
  }
181
209
 
182
- function getContent () {
183
- const
184
- narrow = $tabs.tabProps.value.narrowIndicator,
210
+ function getContent() {
211
+ const narrow = $tabs.tabProps.value.narrowIndicator,
185
212
  content = [],
186
213
  indicator = h('div', {
187
214
  ref: tabIndicatorRef,
188
- class: [
189
- 'q-tab__indicator',
190
- $tabs.tabProps.value.indicatorClass
191
- ]
215
+ class: ['q-tab__indicator', $tabs.tabProps.value.indicatorClass]
192
216
  })
193
217
 
194
- props.icon !== void 0 && content.push(
195
- h(QIcon, {
196
- class: 'q-tab__icon',
197
- name: props.icon
198
- })
199
- )
200
-
201
- props.label !== void 0 && content.push(
202
- h('div', { class: 'q-tab__label' }, props.label)
203
- )
204
-
205
- props.alert !== false && content.push(
206
- props.alertIcon !== void 0
207
- ? h(QIcon, {
208
- class: 'q-tab__alert-icon',
209
- color: props.alert !== true
210
- ? props.alert
211
- : void 0,
212
- name: props.alertIcon
213
- })
214
- : h('div', {
215
- class: 'q-tab__alert'
216
- + (props.alert !== true ? ` text-${ props.alert }` : '')
218
+ if (props.icon !== void 0) {
219
+ content.push(
220
+ h(QIcon, {
221
+ class: 'q-tab__icon',
222
+ name: props.icon
217
223
  })
218
- )
224
+ )
225
+ }
226
+
227
+ if (props.label !== void 0) {
228
+ content.push(h('div', { class: 'q-tab__label' }, props.label))
229
+ }
230
+
231
+ if (props.alert !== false) {
232
+ content.push(
233
+ props.alertIcon !== void 0
234
+ ? h(QIcon, {
235
+ class: 'q-tab__alert-icon',
236
+ color: props.alert !== true ? props.alert : void 0,
237
+ name: props.alertIcon
238
+ })
239
+ : h('div', {
240
+ class:
241
+ 'q-tab__alert' +
242
+ (props.alert !== true ? ` text-${props.alert}` : '')
243
+ })
244
+ )
245
+ }
219
246
 
220
- narrow === true && content.push(indicator)
247
+ if (narrow === true) content.push(indicator)
221
248
 
222
249
  const node = [
223
250
  h('div', { class: 'q-focus-helper', tabindex: -1, ref: blurTargetRef }),
224
251
  h('div', { class: innerClass.value }, hMergeSlot(slots.default, content))
225
252
  ]
226
253
 
227
- narrow === false && node.push(indicator)
254
+ if (narrow === false) node.push(indicator)
228
255
 
229
256
  return node
230
257
  }
@@ -244,7 +271,7 @@ export default function (props, slots, emit, routeData) {
244
271
  $tabs.registerTab(tabData)
245
272
  })
246
273
 
247
- function renderTab (tag, customData) {
274
+ function renderTab(tag, customData) {
248
275
  const data = {
249
276
  ref: rootRef,
250
277
  class: classes.value,
@@ -257,10 +284,7 @@ export default function (props, slots, emit, routeData) {
257
284
  ...customData
258
285
  }
259
286
 
260
- return withDirectives(
261
- h(tag, data, getContent()),
262
- [ [ Ripple, ripple.value ] ]
263
- )
287
+ return withDirectives(h(tag, data, getContent()), [[Ripple, ripple.value]])
264
288
  }
265
289
 
266
290
  return { renderTab, $tabs }
@@ -5,31 +5,31 @@
5
5
  },
6
6
 
7
7
  "label": {
8
- "type": [ "Number", "String" ],
8
+ "type": ["Number", "String"],
9
9
  "desc": "A number or string to label the tab",
10
- "examples": [ "'Home'" ],
10
+ "examples": ["'Home'"],
11
11
  "category": "content"
12
12
  },
13
13
 
14
14
  "alert": {
15
- "type": [ "Boolean", "String" ],
15
+ "type": ["Boolean", "String"],
16
16
  "desc": "Adds an alert symbol to the tab, notifying the user there are some updates; If its value is not a Boolean, then you can specify a color",
17
- "examples": [ "'purple'" ],
17
+ "examples": ["'purple'"],
18
18
  "category": "content"
19
19
  },
20
20
 
21
21
  "alert-icon": {
22
22
  "type": "String",
23
23
  "desc": "Adds a floating icon to the tab, notifying the user there are some updates; It's displayed only if 'alert' is set; Can use the color specified by 'alert' prop",
24
- "examples": [ "'alarm_on'" ],
24
+ "examples": ["'alarm_on'"],
25
25
  "category": "content"
26
26
  },
27
27
 
28
28
  "name": {
29
- "type": [ "Number", "String" ],
29
+ "type": ["Number", "String"],
30
30
  "desc": "Panel name",
31
31
  "default": "# a random UUID",
32
- "examples": [ "'home'", "1" ],
32
+ "examples": ["'home'", "1"],
33
33
  "category": "general"
34
34
  },
35
35
 
@@ -42,7 +42,7 @@
42
42
  "content-class": {
43
43
  "type": "String",
44
44
  "desc": "Class definitions to be attributed to the content wrapper",
45
- "examples": [ "'my-special-class'" ],
45
+ "examples": ["'my-special-class'"],
46
46
  "category": "style"
47
47
  },
48
48