quasar 2.18.7 → 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 (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 +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 -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 +5 -6
  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 +4 -9
  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
@@ -1,17 +1,36 @@
1
- import { h, withDirectives, ref, computed, watch, onMounted, onBeforeUnmount, nextTick, inject, getCurrentInstance } from 'vue'
1
+ import {
2
+ h,
3
+ withDirectives,
4
+ ref,
5
+ computed,
6
+ watch,
7
+ onMounted,
8
+ onBeforeUnmount,
9
+ nextTick,
10
+ inject,
11
+ getCurrentInstance
12
+ } from 'vue'
2
13
 
3
14
  import useHistory from '../../composables/private.use-history/use-history.js'
4
- import useModelToggle, { useModelToggleProps, useModelToggleEmits } from '../../composables/private.use-model-toggle/use-model-toggle.js'
15
+ import useModelToggle, {
16
+ useModelToggleProps,
17
+ useModelToggleEmits
18
+ } from '../../composables/private.use-model-toggle/use-model-toggle.js'
5
19
  import usePreventScroll from '../../composables/private.use-prevent-scroll/use-prevent-scroll.js'
6
20
  import useTimeout from '../../composables/use-timeout/use-timeout.js'
7
- import useDark, { useDarkProps } from '../../composables/private.use-dark/use-dark.js'
21
+ import useDark, {
22
+ useDarkProps
23
+ } from '../../composables/private.use-dark/use-dark.js'
8
24
 
9
25
  import TouchPan from '../../directives/touch-pan/TouchPan.js'
10
26
 
11
27
  import { createComponent } from '../../utils/private.create/create.js'
12
28
  import { between } from '../../utils/format/format.js'
13
29
  import { hSlot, hDir } from '../../utils/private.render/render.js'
14
- import { layoutKey, emptyRenderFn } from '../../utils/private.symbols/symbols.js'
30
+ import {
31
+ layoutKey,
32
+ emptyRenderFn
33
+ } from '../../utils/private.symbols/symbols.js'
15
34
 
16
35
  const duration = 150
17
36
 
@@ -27,7 +46,7 @@ export default createComponent({
27
46
  side: {
28
47
  type: String,
29
48
  default: 'left',
30
- validator: v => [ 'left', 'right' ].includes(v)
49
+ validator: v => ['left', 'right'].includes(v)
31
50
  },
32
51
 
33
52
  width: {
@@ -51,7 +70,7 @@ export default createComponent({
51
70
 
52
71
  behavior: {
53
72
  type: String,
54
- validator: v => [ 'default', 'desktop', 'mobile' ].includes(v),
73
+ validator: v => ['default', 'desktop', 'mobile'].includes(v),
55
74
  default: 'default'
56
75
  },
57
76
 
@@ -65,14 +84,13 @@ export default createComponent({
65
84
  noSwipeBackdrop: Boolean
66
85
  },
67
86
 
68
- emits: [
69
- ...useModelToggleEmits,
70
- 'onLayout', 'miniState'
71
- ],
87
+ emits: [...useModelToggleEmits, 'onLayout', 'miniState'],
72
88
 
73
- setup (props, { slots, emit, attrs }) {
89
+ setup(props, { slots, emit, attrs }) {
74
90
  const vm = getCurrentInstance()
75
- const { proxy: { $q } } = vm
91
+ const {
92
+ proxy: { $q }
93
+ } = vm
76
94
 
77
95
  const isDark = useDark(props, $q)
78
96
  const { preventBodyScroll } = usePreventScroll()
@@ -84,22 +102,23 @@ export default createComponent({
84
102
  return emptyRenderFn
85
103
  }
86
104
 
87
- let lastDesktopState, timerMini = null, layoutTotalWidthWatcher
105
+ let lastDesktopState,
106
+ timerMini = null,
107
+ layoutTotalWidthWatcher
88
108
 
89
109
  const belowBreakpoint = ref(
90
- props.behavior === 'mobile'
91
- || (props.behavior !== 'desktop' && $layout.totalWidth.value <= props.breakpoint)
110
+ props.behavior === 'mobile' ||
111
+ (props.behavior !== 'desktop' &&
112
+ $layout.totalWidth.value <= props.breakpoint)
92
113
  )
93
114
 
94
- const isMini = computed(() =>
95
- props.mini === true && belowBreakpoint.value !== true
115
+ const isMini = computed(
116
+ () => props.mini === true && belowBreakpoint.value !== true
96
117
  )
97
118
 
98
- const size = computed(() => (
99
- isMini.value === true
100
- ? props.miniWidth
101
- : props.width
102
- ))
119
+ const size = computed(() =>
120
+ isMini.value === true ? props.miniWidth : props.width
121
+ )
103
122
 
104
123
  const showing = ref(
105
124
  props.showIfAbove === true && belowBreakpoint.value === false
@@ -107,41 +126,41 @@ export default createComponent({
107
126
  : props.modelValue === true
108
127
  )
109
128
 
110
- const hideOnRouteChange = computed(() =>
111
- props.persistent !== true
112
- && (belowBreakpoint.value === true || onScreenOverlay.value === true)
129
+ const hideOnRouteChange = computed(
130
+ () =>
131
+ props.persistent !== true &&
132
+ (belowBreakpoint.value === true || onScreenOverlay.value === true)
113
133
  )
114
134
 
115
- function handleShow (evt, noEvent) {
135
+ function handleShow(evt, noEvent) {
116
136
  addToHistory()
117
137
 
118
- evt !== false && $layout.animate()
138
+ if (evt !== false) $layout.animate()
119
139
  applyPosition(0)
120
140
 
121
141
  if (belowBreakpoint.value === true) {
122
- const otherInstance = $layout.instances[ otherSide.value ]
142
+ const otherInstance = $layout.instances[otherSide.value]
123
143
  if (otherInstance?.belowBreakpoint === true) {
124
144
  otherInstance.hide(false)
125
145
  }
126
146
 
127
147
  applyBackdrop(1)
128
- $layout.isContainer.value !== true && preventBodyScroll(true)
129
- }
130
- else {
148
+ if ($layout.isContainer.value !== true) preventBodyScroll(true)
149
+ } else {
131
150
  applyBackdrop(0)
132
- evt !== false && setScrollable(false)
151
+ if (evt !== false) setScrollable(false)
133
152
  }
134
153
 
135
154
  registerTimeout(() => {
136
- evt !== false && setScrollable(true)
137
- noEvent !== true && emit('show', evt)
155
+ if (evt !== false) setScrollable(true)
156
+ if (noEvent !== true) emit('show', evt)
138
157
  }, duration)
139
158
  }
140
159
 
141
- function handleHide (evt, noEvent) {
160
+ function handleHide(evt, noEvent) {
142
161
  removeFromHistory()
143
162
 
144
- evt !== false && $layout.animate()
163
+ if (evt !== false) $layout.animate()
145
164
 
146
165
  applyBackdrop(0)
147
166
  applyPosition(stateDirection.value * size.value)
@@ -149,9 +168,10 @@ export default createComponent({
149
168
  cleanup()
150
169
 
151
170
  if (noEvent !== true) {
152
- registerTimeout(() => { emit('hide', evt) }, duration)
153
- }
154
- else {
171
+ registerTimeout(() => {
172
+ emit('hide', evt)
173
+ }, duration)
174
+ } else {
155
175
  removeTimeout()
156
176
  }
157
177
  }
@@ -163,7 +183,11 @@ export default createComponent({
163
183
  handleHide
164
184
  })
165
185
 
166
- const { addToHistory, removeFromHistory } = useHistory(showing, hide, hideOnRouteChange)
186
+ const { addToHistory, removeFromHistory } = useHistory(
187
+ showing,
188
+ hide,
189
+ hideOnRouteChange
190
+ )
167
191
 
168
192
  const instance = {
169
193
  belowBreakpoint,
@@ -172,82 +196,94 @@ export default createComponent({
172
196
 
173
197
  const rightSide = computed(() => props.side === 'right')
174
198
 
175
- const stateDirection = computed(() =>
176
- ($q.lang.rtl === true ? -1 : 1) * (rightSide.value === true ? 1 : -1)
199
+ const stateDirection = computed(
200
+ () =>
201
+ ($q.lang.rtl === true ? -1 : 1) * (rightSide.value === true ? 1 : -1)
177
202
  )
178
203
 
179
204
  const flagBackdropBg = ref(0)
180
205
  const flagPanning = ref(false)
181
206
  const flagMiniAnimate = ref(false)
182
- const flagContentPosition = ref( // starting with "hidden" for SSR
207
+ const flagContentPosition = ref(
208
+ // starting with "hidden" for SSR
183
209
  size.value * stateDirection.value
184
210
  )
185
211
 
186
- const otherSide = computed(() => (rightSide.value === true ? 'left' : 'right'))
187
- const offset = computed(() => (
188
- showing.value === true && belowBreakpoint.value === false && props.overlay === false
189
- ? (props.miniToOverlay === true ? props.miniWidth : size.value)
212
+ const otherSide = computed(() =>
213
+ rightSide.value === true ? 'left' : 'right'
214
+ )
215
+ const offset = computed(() =>
216
+ showing.value === true &&
217
+ belowBreakpoint.value === false &&
218
+ props.overlay === false
219
+ ? props.miniToOverlay === true
220
+ ? props.miniWidth
221
+ : size.value
190
222
  : 0
191
- ))
223
+ )
192
224
 
193
- const fixed = computed(() =>
194
- props.overlay === true
195
- || props.miniToOverlay === true
196
- || $layout.view.value.indexOf(rightSide.value ? 'R' : 'L') !== -1
197
- || ($q.platform.is.ios === true && $layout.isContainer.value === true)
225
+ const fixed = computed(
226
+ () =>
227
+ props.overlay === true ||
228
+ props.miniToOverlay === true ||
229
+ $layout.view.value.indexOf(rightSide.value ? 'R' : 'L') !== -1 ||
230
+ ($q.platform.is.ios === true && $layout.isContainer.value === true)
198
231
  )
199
232
 
200
- const onLayout = computed(() =>
201
- props.overlay === false
202
- && showing.value === true
203
- && belowBreakpoint.value === false
233
+ const onLayout = computed(
234
+ () =>
235
+ props.overlay === false &&
236
+ showing.value === true &&
237
+ belowBreakpoint.value === false
204
238
  )
205
239
 
206
- const onScreenOverlay = computed(() =>
207
- props.overlay === true
208
- && showing.value === true
209
- && belowBreakpoint.value === false
240
+ const onScreenOverlay = computed(
241
+ () =>
242
+ props.overlay === true &&
243
+ showing.value === true &&
244
+ belowBreakpoint.value === false
210
245
  )
211
246
 
212
- const backdropClass = computed(() =>
213
- 'fullscreen q-drawer__backdrop'
214
- + (showing.value === false && flagPanning.value === false ? ' hidden' : '')
247
+ const backdropClass = computed(
248
+ () =>
249
+ 'fullscreen q-drawer__backdrop' +
250
+ (showing.value === false && flagPanning.value === false
251
+ ? ' hidden'
252
+ : '')
215
253
  )
216
254
 
217
255
  const backdropStyle = computed(() => ({
218
- backgroundColor: `rgba(0,0,0,${ flagBackdropBg.value * 0.4 })`
256
+ backgroundColor: `rgba(0,0,0,${flagBackdropBg.value * 0.4})`
219
257
  }))
220
258
 
221
- const headerSlot = computed(() => (
259
+ const headerSlot = computed(() =>
222
260
  rightSide.value === true
223
- ? $layout.rows.value.top[ 2 ] === 'r'
224
- : $layout.rows.value.top[ 0 ] === 'l'
225
- ))
261
+ ? $layout.rows.value.top[2] === 'r'
262
+ : $layout.rows.value.top[0] === 'l'
263
+ )
226
264
 
227
- const footerSlot = computed(() => (
265
+ const footerSlot = computed(() =>
228
266
  rightSide.value === true
229
- ? $layout.rows.value.bottom[ 2 ] === 'r'
230
- : $layout.rows.value.bottom[ 0 ] === 'l'
231
- ))
267
+ ? $layout.rows.value.bottom[2] === 'r'
268
+ : $layout.rows.value.bottom[0] === 'l'
269
+ )
232
270
 
233
271
  const aboveStyle = computed(() => {
234
272
  const css = {}
235
273
 
236
274
  if ($layout.header.space === true && headerSlot.value === false) {
237
275
  if (fixed.value === true) {
238
- css.top = `${ $layout.header.offset }px`
239
- }
240
- else if ($layout.header.space === true) {
241
- css.top = `${ $layout.header.size }px`
276
+ css.top = `${$layout.header.offset}px`
277
+ } else if ($layout.header.space === true) {
278
+ css.top = `${$layout.header.size}px`
242
279
  }
243
280
  }
244
281
 
245
282
  if ($layout.footer.space === true && footerSlot.value === false) {
246
283
  if (fixed.value === true) {
247
- css.bottom = `${ $layout.footer.offset }px`
248
- }
249
- else if ($layout.footer.space === true) {
250
- css.bottom = `${ $layout.footer.size }px`
284
+ css.bottom = `${$layout.footer.offset}px`
285
+ } else if ($layout.footer.space === true) {
286
+ css.bottom = `${$layout.footer.size}px`
251
287
  }
252
288
  }
253
289
 
@@ -255,190 +291,219 @@ export default createComponent({
255
291
  })
256
292
 
257
293
  const style = computed(() => {
258
- const style = {
259
- width: `${ size.value }px`,
260
- transform: `translateX(${ flagContentPosition.value }px)`
294
+ const acc = {
295
+ width: `${size.value}px`,
296
+ transform: `translateX(${flagContentPosition.value}px)`
261
297
  }
262
298
 
263
299
  return belowBreakpoint.value === true
264
- ? style
265
- : Object.assign(style, aboveStyle.value)
300
+ ? acc
301
+ : Object.assign(acc, aboveStyle.value)
266
302
  })
267
303
 
268
- const contentClass = computed(() =>
269
- 'q-drawer__content fit '
270
- + ($layout.isContainer.value !== true ? 'scroll' : 'overflow-auto')
304
+ const contentClass = computed(
305
+ () =>
306
+ 'q-drawer__content fit ' +
307
+ ($layout.isContainer.value !== true ? 'scroll' : 'overflow-auto')
271
308
  )
272
309
 
273
- const classes = computed(() =>
274
- `q-drawer q-drawer--${ props.side }`
275
- + (flagMiniAnimate.value === true ? ' q-drawer--mini-animate' : '')
276
- + (props.bordered === true ? ' q-drawer--bordered' : '')
277
- + (isDark.value === true ? ' q-drawer--dark q-dark' : '')
278
- + (
279
- flagPanning.value === true
310
+ const classes = computed(
311
+ () =>
312
+ `q-drawer q-drawer--${props.side}` +
313
+ (flagMiniAnimate.value === true ? ' q-drawer--mini-animate' : '') +
314
+ (props.bordered === true ? ' q-drawer--bordered' : '') +
315
+ (isDark.value === true ? ' q-drawer--dark q-dark' : '') +
316
+ (flagPanning.value === true
280
317
  ? ' no-transition'
281
- : (showing.value === true ? '' : ' q-layout--prevent-focus')
282
- )
283
- + (
284
- belowBreakpoint.value === true
318
+ : showing.value === true
319
+ ? ''
320
+ : ' q-layout--prevent-focus') +
321
+ (belowBreakpoint.value === true
285
322
  ? ' fixed q-drawer--on-top q-drawer--mobile q-drawer--top-padding'
286
- : ` q-drawer--${ isMini.value === true ? 'mini' : 'standard' }`
287
- + (fixed.value === true || onLayout.value !== true ? ' fixed' : '')
288
- + (props.overlay === true || props.miniToOverlay === true ? ' q-drawer--on-top' : '')
289
- + (headerSlot.value === true ? ' q-drawer--top-padding' : '')
290
- )
323
+ : ` q-drawer--${isMini.value === true ? 'mini' : 'standard'}` +
324
+ (fixed.value === true || onLayout.value !== true ? ' fixed' : '') +
325
+ (props.overlay === true || props.miniToOverlay === true
326
+ ? ' q-drawer--on-top'
327
+ : '') +
328
+ (headerSlot.value === true ? ' q-drawer--top-padding' : ''))
291
329
  )
292
330
 
293
331
  const openDirective = computed(() => {
294
332
  // if props.noSwipeOpen !== true
295
333
  const dir = $q.lang.rtl === true ? props.side : otherSide.value
296
334
 
297
- return [ [
298
- TouchPan,
299
- onOpenPan,
300
- void 0,
301
- {
302
- [ dir ]: true,
303
- mouse: true
304
- }
305
- ] ]
335
+ return [
336
+ [
337
+ TouchPan,
338
+ onOpenPan,
339
+ void 0,
340
+ {
341
+ [dir]: true,
342
+ mouse: true
343
+ }
344
+ ]
345
+ ]
306
346
  })
307
347
 
308
348
  const contentCloseDirective = computed(() => {
309
349
  // if belowBreakpoint.value === true && props.noSwipeClose !== true
310
350
  const dir = $q.lang.rtl === true ? otherSide.value : props.side
311
351
 
312
- return [ [
313
- TouchPan,
314
- onClosePan,
315
- void 0,
316
- {
317
- [ dir ]: true,
318
- mouse: true
319
- }
320
- ] ]
352
+ return [
353
+ [
354
+ TouchPan,
355
+ onClosePan,
356
+ void 0,
357
+ {
358
+ [dir]: true,
359
+ mouse: true
360
+ }
361
+ ]
362
+ ]
321
363
  })
322
364
 
323
365
  const backdropCloseDirective = computed(() => {
324
366
  // if showing.value === true && props.noSwipeBackdrop !== true
325
367
  const dir = $q.lang.rtl === true ? otherSide.value : props.side
326
368
 
327
- return [ [
328
- TouchPan,
329
- onClosePan,
330
- void 0,
331
- {
332
- [ dir ]: true,
333
- mouse: true,
334
- mouseAllDir: true
335
- }
336
- ] ]
369
+ return [
370
+ [
371
+ TouchPan,
372
+ onClosePan,
373
+ void 0,
374
+ {
375
+ [dir]: true,
376
+ mouse: true,
377
+ mouseAllDir: true
378
+ }
379
+ ]
380
+ ]
337
381
  })
338
382
 
339
- function updateBelowBreakpoint () {
340
- updateLocal(belowBreakpoint, (
341
- props.behavior === 'mobile'
342
- || (props.behavior !== 'desktop' && $layout.totalWidth.value <= props.breakpoint)
343
- ))
383
+ function updateBelowBreakpoint() {
384
+ updateLocal(
385
+ belowBreakpoint,
386
+ props.behavior === 'mobile' ||
387
+ (props.behavior !== 'desktop' &&
388
+ $layout.totalWidth.value <= props.breakpoint)
389
+ )
344
390
  }
345
391
 
346
392
  watch(belowBreakpoint, val => {
347
- if (val === true) { // from lg to xs
393
+ if (val === true) {
394
+ // from lg to xs
348
395
  lastDesktopState = showing.value
349
- showing.value === true && hide(false)
350
- }
351
- else if (
352
- props.overlay === false
353
- && props.behavior !== 'mobile'
354
- && lastDesktopState !== false
355
- ) { // from xs to lg
396
+ if (showing.value === true) hide(false)
397
+ } else if (
398
+ props.overlay === false &&
399
+ props.behavior !== 'mobile' &&
400
+ lastDesktopState !== false
401
+ ) {
402
+ // from xs to lg
356
403
  if (showing.value === true) {
357
404
  applyPosition(0)
358
405
  applyBackdrop(0)
359
406
  cleanup()
360
- }
361
- else {
407
+ } else {
362
408
  show(false)
363
409
  }
364
410
  }
365
411
  })
366
412
 
367
- watch(() => props.side, (newSide, oldSide) => {
368
- if ($layout.instances[ oldSide ] === instance) {
369
- $layout.instances[ oldSide ] = void 0
370
- $layout[ oldSide ].space = false
371
- $layout[ oldSide ].offset = 0
372
- }
413
+ watch(
414
+ () => props.side,
415
+ (newSide, oldSide) => {
416
+ if ($layout.instances[oldSide] === instance) {
417
+ $layout.instances[oldSide] = void 0
418
+ $layout[oldSide].space = false
419
+ $layout[oldSide].offset = 0
420
+ }
373
421
 
374
- $layout.instances[ newSide ] = instance
375
- $layout[ newSide ].size = size.value
376
- $layout[ newSide ].space = onLayout.value
377
- $layout[ newSide ].offset = offset.value
378
- })
422
+ $layout.instances[newSide] = instance
423
+ $layout[newSide].size = size.value
424
+ $layout[newSide].space = onLayout.value
425
+ $layout[newSide].offset = offset.value
426
+ }
427
+ )
379
428
 
380
429
  watch($layout.totalWidth, () => {
381
- if ($layout.isContainer.value === true || document.qScrollPrevented !== true) {
430
+ if (
431
+ $layout.isContainer.value === true ||
432
+ document.qScrollPrevented !== true
433
+ ) {
382
434
  updateBelowBreakpoint()
383
435
  }
384
436
  })
385
437
 
386
- watch(
387
- () => props.behavior + props.breakpoint,
388
- updateBelowBreakpoint
389
- )
438
+ watch(() => props.behavior + props.breakpoint, updateBelowBreakpoint)
390
439
 
391
440
  watch($layout.isContainer, val => {
392
- showing.value === true && preventBodyScroll(val !== true)
393
- val === true && updateBelowBreakpoint()
441
+ if (showing.value === true) preventBodyScroll(val !== true)
442
+ if (val === true) updateBelowBreakpoint()
394
443
  })
395
444
 
396
445
  watch($layout.scrollbarWidth, () => {
397
446
  applyPosition(showing.value === true ? 0 : void 0)
398
447
  })
399
448
 
400
- watch(offset, val => { updateLayout('offset', val) })
449
+ watch(offset, val => {
450
+ updateLayout('offset', val)
451
+ })
401
452
 
402
453
  watch(onLayout, val => {
403
454
  emit('onLayout', val)
404
455
  updateLayout('space', val)
405
456
  })
406
457
 
407
- watch(rightSide, () => { applyPosition() })
458
+ watch(rightSide, () => {
459
+ applyPosition()
460
+ })
408
461
 
409
462
  watch(size, val => {
410
463
  applyPosition()
411
464
  updateSizeOnLayout(props.miniToOverlay, val)
412
465
  })
413
466
 
414
- watch(() => props.miniToOverlay, val => {
415
- updateSizeOnLayout(val, size.value)
416
- })
467
+ watch(
468
+ () => props.miniToOverlay,
469
+ val => {
470
+ updateSizeOnLayout(val, size.value)
471
+ }
472
+ )
417
473
 
418
- watch(() => $q.lang.rtl, () => { applyPosition() })
474
+ watch(
475
+ () => $q.lang.rtl,
476
+ () => {
477
+ applyPosition()
478
+ }
479
+ )
419
480
 
420
- watch(() => props.mini, () => {
421
- if (props.noMiniAnimation) return
422
- if (props.modelValue === true) {
423
- animateMini()
424
- $layout.animate()
481
+ watch(
482
+ () => props.mini,
483
+ () => {
484
+ if (props.noMiniAnimation) return
485
+ if (props.modelValue === true) {
486
+ animateMini()
487
+ $layout.animate()
488
+ }
425
489
  }
426
- })
490
+ )
427
491
 
428
- watch(isMini, val => { emit('miniState', val) })
492
+ watch(isMini, val => {
493
+ emit('miniState', val)
494
+ })
429
495
 
430
- function applyPosition (position) {
496
+ function applyPosition(position) {
431
497
  if (position === void 0) {
432
498
  nextTick(() => {
433
499
  position = showing.value === true ? 0 : size.value
434
500
  applyPosition(stateDirection.value * position)
435
501
  })
436
- }
437
- else {
502
+ } else {
438
503
  if (
439
- $layout.isContainer.value === true
440
- && rightSide.value === true
441
- && (belowBreakpoint.value === true || Math.abs(position) === size.value)
504
+ $layout.isContainer.value === true &&
505
+ rightSide.value === true &&
506
+ (belowBreakpoint.value === true || Math.abs(position) === size.value)
442
507
  ) {
443
508
  position += stateDirection.value * $layout.scrollbarWidth.value
444
509
  }
@@ -447,20 +512,21 @@ export default createComponent({
447
512
  }
448
513
  }
449
514
 
450
- function applyBackdrop (x) {
515
+ function applyBackdrop(x) {
451
516
  flagBackdropBg.value = x
452
517
  }
453
518
 
454
- function setScrollable (v) {
455
- const action = v === true
456
- ? 'remove'
457
- : ($layout.isContainer.value !== true ? 'add' : '')
519
+ function setScrollable(v) {
520
+ const action =
521
+ v === true ? 'remove' : $layout.isContainer.value !== true ? 'add' : ''
458
522
 
459
- action !== '' && document.body.classList[ action ]('q-body--drawer-toggle')
523
+ if (action !== '') {
524
+ document.body.classList[action]('q-body--drawer-toggle')
525
+ }
460
526
  }
461
527
 
462
- function animateMini () {
463
- timerMini !== null && clearTimeout(timerMini)
528
+ function animateMini() {
529
+ if (timerMini !== null) clearTimeout(timerMini)
464
530
 
465
531
  if (vm.proxy && vm.proxy.$el) {
466
532
  // need to speed it up and apply it immediately,
@@ -476,15 +542,14 @@ export default createComponent({
476
542
  }, 150)
477
543
  }
478
544
 
479
- function onOpenPan (evt) {
545
+ function onOpenPan(evt) {
480
546
  if (showing.value !== false) {
481
547
  // some browsers might capture and trigger this
482
548
  // even if Drawer has just been opened (but animation is still pending)
483
549
  return
484
550
  }
485
551
 
486
- const
487
- width = size.value,
552
+ const width = size.value,
488
553
  position = between(evt.distance.x, 0, width)
489
554
 
490
555
  if (evt.isFinal === true) {
@@ -492,8 +557,7 @@ export default createComponent({
492
557
 
493
558
  if (opened === true) {
494
559
  show()
495
- }
496
- else {
560
+ } else {
497
561
  $layout.animate()
498
562
  applyBackdrop(0)
499
563
  applyPosition(stateDirection.value * width)
@@ -508,24 +572,21 @@ export default createComponent({
508
572
  ? Math.max(width - position, 0)
509
573
  : Math.min(0, position - width)
510
574
  )
511
- applyBackdrop(
512
- between(position / width, 0, 1)
513
- )
575
+ applyBackdrop(between(position / width, 0, 1))
514
576
 
515
577
  if (evt.isFirst === true) {
516
578
  flagPanning.value = true
517
579
  }
518
580
  }
519
581
 
520
- function onClosePan (evt) {
582
+ function onClosePan(evt) {
521
583
  if (showing.value !== true) {
522
584
  // some browsers might capture and trigger this
523
585
  // even if Drawer has just been closed (but animation is still pending)
524
586
  return
525
587
  }
526
588
 
527
- const
528
- width = size.value,
589
+ const width = size.value,
529
590
  dir = evt.direction === props.side,
530
591
  position = ($q.lang.rtl === true ? dir !== true : dir)
531
592
  ? between(evt.distance.x, 0, width)
@@ -538,8 +599,7 @@ export default createComponent({
538
599
  $layout.animate()
539
600
  applyBackdrop(1)
540
601
  applyPosition(0)
541
- }
542
- else {
602
+ } else {
543
603
  hide()
544
604
  }
545
605
 
@@ -555,35 +615,35 @@ export default createComponent({
555
615
  }
556
616
  }
557
617
 
558
- function cleanup () {
618
+ function cleanup() {
559
619
  preventBodyScroll(false)
560
620
  setScrollable(true)
561
621
  }
562
622
 
563
- function updateLayout (prop, val) {
623
+ function updateLayout(prop, val) {
564
624
  $layout.update(props.side, prop, val)
565
625
  }
566
626
 
567
- function updateLocal (prop, val) {
627
+ function updateLocal(prop, val) {
568
628
  if (prop.value !== val) {
569
629
  prop.value = val
570
630
  }
571
631
  }
572
632
 
573
- function updateSizeOnLayout (miniToOverlay, size) {
574
- updateLayout('size', miniToOverlay === true ? props.miniWidth : size)
633
+ function updateSizeOnLayout(miniToOverlay, newSize) {
634
+ updateLayout('size', miniToOverlay === true ? props.miniWidth : newSize)
575
635
  }
576
636
 
577
- $layout.instances[ props.side ] = instance
637
+ $layout.instances[props.side] = instance
578
638
  updateSizeOnLayout(props.miniToOverlay, size.value)
579
639
  updateLayout('space', onLayout.value)
580
640
  updateLayout('offset', offset.value)
581
641
 
582
642
  if (
583
- props.showIfAbove === true
584
- && props.modelValue !== true
585
- && showing.value === true
586
- && props[ 'onUpdate:modelValue' ] !== void 0
643
+ props.showIfAbove === true &&
644
+ props.modelValue !== true &&
645
+ showing.value === true &&
646
+ props['onUpdate:modelValue'] !== void 0
587
647
  ) {
588
648
  emit('update:modelValue', true)
589
649
  }
@@ -610,10 +670,13 @@ export default createComponent({
610
670
  layoutTotalWidthWatcher()
611
671
  layoutTotalWidthWatcher = void 0
612
672
 
613
- if (showing.value === false && props.showIfAbove === true && belowBreakpoint.value === false) {
673
+ if (
674
+ showing.value === false &&
675
+ props.showIfAbove === true &&
676
+ belowBreakpoint.value === false
677
+ ) {
614
678
  show(false)
615
- }
616
- else {
679
+ } else {
617
680
  fn()
618
681
  }
619
682
  })
@@ -627,10 +690,10 @@ export default createComponent({
627
690
  timerMini = null
628
691
  }
629
692
 
630
- showing.value === true && cleanup()
693
+ if (showing.value === true) cleanup()
631
694
 
632
- if ($layout.instances[ props.side ] === instance) {
633
- $layout.instances[ props.side ] = void 0
695
+ if ($layout.instances[props.side] === instance) {
696
+ $layout.instances[props.side] = void 0
634
697
  updateLayout('size', 0)
635
698
  updateLayout('offset', 0)
636
699
  updateLayout('space', false)
@@ -641,16 +704,18 @@ export default createComponent({
641
704
  const child = []
642
705
 
643
706
  if (belowBreakpoint.value === true) {
644
- props.noSwipeOpen === false && child.push(
645
- withDirectives(
646
- h('div', {
647
- key: 'open',
648
- class: `q-drawer__opener fixed-${ props.side }`,
649
- 'aria-hidden': 'true'
650
- }),
651
- openDirective.value
707
+ if (props.noSwipeOpen === false) {
708
+ child.push(
709
+ withDirectives(
710
+ h('div', {
711
+ key: 'open',
712
+ class: `q-drawer__opener fixed-${props.side}`,
713
+ 'aria-hidden': 'true'
714
+ }),
715
+ openDirective.value
716
+ )
652
717
  )
653
- )
718
+ }
654
719
 
655
720
  child.push(
656
721
  hDir(
@@ -672,23 +737,22 @@ export default createComponent({
672
737
 
673
738
  const mini = isMini.value === true && slots.mini !== void 0
674
739
  const content = [
675
- h('div', {
676
- ...attrs,
677
- key: '' + mini, // required otherwise Vue will not diff correctly
678
- class: [
679
- contentClass.value,
680
- attrs.class
681
- ]
682
- }, mini === true
683
- ? slots.mini()
684
- : hSlot(slots.default)
740
+ h(
741
+ 'div',
742
+ {
743
+ ...attrs,
744
+ key: String(mini), // required otherwise Vue will not diff correctly
745
+ class: [contentClass.value, attrs.class]
746
+ },
747
+ mini === true ? slots.mini() : hSlot(slots.default)
685
748
  )
686
749
  ]
687
750
 
688
751
  if (props.elevated === true && showing.value === true) {
689
752
  content.push(
690
753
  h('div', {
691
- class: 'q-layout__shadow absolute-full overflow-hidden no-pointer-events'
754
+ class:
755
+ 'q-layout__shadow absolute-full overflow-hidden no-pointer-events'
692
756
  })
693
757
  )
694
758
  }