quasar 2.15.0 → 2.15.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (523) hide show
  1. package/dist/api/AddressbarColor.json +1 -1
  2. package/dist/api/BottomSheet.json +1 -1
  3. package/dist/api/ClosePopup.json +1 -1
  4. package/dist/api/Cookies.json +1 -1
  5. package/dist/api/Dark.json +1 -1
  6. package/dist/api/Dialog.json +1 -1
  7. package/dist/api/Intersection.json +1 -1
  8. package/dist/api/Loading.json +1 -1
  9. package/dist/api/LoadingBar.json +1 -1
  10. package/dist/api/LocalStorage.json +1 -1
  11. package/dist/api/Morph.json +1 -1
  12. package/dist/api/Mutation.json +1 -1
  13. package/dist/api/Notify.json +1 -1
  14. package/dist/api/Platform.json +1 -1
  15. package/dist/api/QAjaxBar.json +1 -1
  16. package/dist/api/QAvatar.json +1 -1
  17. package/dist/api/QBadge.json +1 -1
  18. package/dist/api/QBanner.json +1 -1
  19. package/dist/api/QBar.json +1 -1
  20. package/dist/api/QBreadcrumbs.json +1 -1
  21. package/dist/api/QBreadcrumbsEl.json +1 -1
  22. package/dist/api/QBtn.json +1 -1
  23. package/dist/api/QBtnDropdown.json +1 -1
  24. package/dist/api/QBtnToggle.json +1 -1
  25. package/dist/api/QCard.json +1 -1
  26. package/dist/api/QCardActions.json +1 -1
  27. package/dist/api/QCardSection.json +1 -1
  28. package/dist/api/QCarousel.json +1 -1
  29. package/dist/api/QCarouselControl.json +1 -1
  30. package/dist/api/QCarouselSlide.json +1 -1
  31. package/dist/api/QChatMessage.json +1 -1
  32. package/dist/api/QCheckbox.json +1 -1
  33. package/dist/api/QChip.json +1 -1
  34. package/dist/api/QCircularProgress.json +1 -1
  35. package/dist/api/QColor.json +1 -1
  36. package/dist/api/QDate.json +1 -1
  37. package/dist/api/QDialog.json +1 -1
  38. package/dist/api/QDrawer.json +1 -1
  39. package/dist/api/QEditor.json +1 -1
  40. package/dist/api/QExpansionItem.json +1 -1
  41. package/dist/api/QFab.json +1 -1
  42. package/dist/api/QFabAction.json +1 -1
  43. package/dist/api/QField.json +1 -1
  44. package/dist/api/QFile.json +1 -1
  45. package/dist/api/QFooter.json +1 -1
  46. package/dist/api/QHeader.json +1 -1
  47. package/dist/api/QIcon.json +1 -1
  48. package/dist/api/QImg.json +1 -1
  49. package/dist/api/QInfiniteScroll.json +1 -1
  50. package/dist/api/QInnerLoading.json +1 -1
  51. package/dist/api/QInput.json +1 -1
  52. package/dist/api/QIntersection.json +1 -1
  53. package/dist/api/QItem.json +1 -1
  54. package/dist/api/QKnob.json +1 -1
  55. package/dist/api/QLayout.json +1 -1
  56. package/dist/api/QLinearProgress.json +1 -1
  57. package/dist/api/QList.json +1 -1
  58. package/dist/api/QMarkupTable.json +1 -1
  59. package/dist/api/QMenu.json +1 -1
  60. package/dist/api/QNoSsr.json +1 -1
  61. package/dist/api/QOptionGroup.json +1 -1
  62. package/dist/api/QPage.json +1 -1
  63. package/dist/api/QPageScroller.json +1 -1
  64. package/dist/api/QPageSticky.json +1 -1
  65. package/dist/api/QPagination.json +1 -1
  66. package/dist/api/QParallax.json +1 -1
  67. package/dist/api/QPopupEdit.json +1 -1
  68. package/dist/api/QPopupProxy.json +1 -1
  69. package/dist/api/QPullToRefresh.json +1 -1
  70. package/dist/api/QRadio.json +1 -1
  71. package/dist/api/QRange.json +1 -1
  72. package/dist/api/QRating.json +1 -1
  73. package/dist/api/QResizeObserver.json +1 -1
  74. package/dist/api/QResponsive.json +1 -1
  75. package/dist/api/QRouteTab.json +1 -1
  76. package/dist/api/QScrollArea.json +1 -1
  77. package/dist/api/QScrollObserver.json +1 -1
  78. package/dist/api/QSelect.json +1 -1
  79. package/dist/api/QSeparator.json +1 -1
  80. package/dist/api/QSkeleton.json +1 -1
  81. package/dist/api/QSlideItem.json +1 -1
  82. package/dist/api/QSlideTransition.json +1 -1
  83. package/dist/api/QSlider.json +1 -1
  84. package/dist/api/QSpinner.json +1 -1
  85. package/dist/api/QSpinnerAudio.json +1 -1
  86. package/dist/api/QSpinnerBall.json +1 -1
  87. package/dist/api/QSpinnerBars.json +1 -1
  88. package/dist/api/QSpinnerBox.json +1 -1
  89. package/dist/api/QSpinnerClock.json +1 -1
  90. package/dist/api/QSpinnerComment.json +1 -1
  91. package/dist/api/QSpinnerCube.json +1 -1
  92. package/dist/api/QSpinnerDots.json +1 -1
  93. package/dist/api/QSpinnerFacebook.json +1 -1
  94. package/dist/api/QSpinnerGears.json +1 -1
  95. package/dist/api/QSpinnerGrid.json +1 -1
  96. package/dist/api/QSpinnerHearts.json +1 -1
  97. package/dist/api/QSpinnerHourglass.json +1 -1
  98. package/dist/api/QSpinnerInfinity.json +1 -1
  99. package/dist/api/QSpinnerIos.json +1 -1
  100. package/dist/api/QSpinnerOrbit.json +1 -1
  101. package/dist/api/QSpinnerOval.json +1 -1
  102. package/dist/api/QSpinnerPie.json +1 -1
  103. package/dist/api/QSpinnerPuff.json +1 -1
  104. package/dist/api/QSpinnerRadio.json +1 -1
  105. package/dist/api/QSpinnerRings.json +1 -1
  106. package/dist/api/QSpinnerTail.json +1 -1
  107. package/dist/api/QSplitter.json +1 -1
  108. package/dist/api/QStep.json +1 -1
  109. package/dist/api/QStepper.json +1 -1
  110. package/dist/api/QTab.json +1 -1
  111. package/dist/api/QTabPanel.json +1 -1
  112. package/dist/api/QTabPanels.json +1 -1
  113. package/dist/api/QTable.json +1 -1
  114. package/dist/api/QTabs.json +1 -1
  115. package/dist/api/QTd.json +1 -1
  116. package/dist/api/QTh.json +1 -1
  117. package/dist/api/QTime.json +1 -1
  118. package/dist/api/QTimeline.json +1 -1
  119. package/dist/api/QTimelineEntry.json +1 -1
  120. package/dist/api/QToggle.json +1 -1
  121. package/dist/api/QTooltip.json +1 -1
  122. package/dist/api/QTr.json +1 -1
  123. package/dist/api/QTree.json +1 -1
  124. package/dist/api/QUploader.json +1 -1
  125. package/dist/api/QVideo.json +1 -1
  126. package/dist/api/QVirtualScroll.json +1 -1
  127. package/dist/api/Ripple.json +1 -1
  128. package/dist/api/Screen.json +1 -1
  129. package/dist/api/Scroll.json +1 -1
  130. package/dist/api/ScrollFire.json +1 -1
  131. package/dist/api/SessionStorage.json +1 -1
  132. package/dist/api/TouchHold.json +1 -1
  133. package/dist/api/TouchPan.json +1 -1
  134. package/dist/api/TouchRepeat.json +1 -1
  135. package/dist/api/TouchSwipe.json +1 -1
  136. package/dist/icon-set/bootstrap-icons.umd.prod.js +1 -1
  137. package/dist/icon-set/eva-icons.umd.prod.js +1 -1
  138. package/dist/icon-set/fontawesome-v5-pro.umd.prod.js +1 -1
  139. package/dist/icon-set/fontawesome-v5.umd.prod.js +1 -1
  140. package/dist/icon-set/fontawesome-v6-pro.umd.prod.js +1 -1
  141. package/dist/icon-set/fontawesome-v6.umd.prod.js +1 -1
  142. package/dist/icon-set/ionicons-v4.umd.prod.js +1 -1
  143. package/dist/icon-set/line-awesome.umd.prod.js +1 -1
  144. package/dist/icon-set/material-icons-outlined.umd.prod.js +1 -1
  145. package/dist/icon-set/material-icons-round.umd.prod.js +1 -1
  146. package/dist/icon-set/material-icons-sharp.umd.prod.js +1 -1
  147. package/dist/icon-set/material-icons.umd.prod.js +1 -1
  148. package/dist/icon-set/material-symbols-outlined.umd.prod.js +1 -1
  149. package/dist/icon-set/material-symbols-rounded.umd.prod.js +1 -1
  150. package/dist/icon-set/material-symbols-sharp.umd.prod.js +1 -1
  151. package/dist/icon-set/mdi-v3.umd.prod.js +1 -1
  152. package/dist/icon-set/mdi-v4.umd.prod.js +1 -1
  153. package/dist/icon-set/mdi-v5.umd.prod.js +1 -1
  154. package/dist/icon-set/mdi-v6.umd.prod.js +1 -1
  155. package/dist/icon-set/mdi-v7.umd.prod.js +1 -1
  156. package/dist/icon-set/svg-bootstrap-icons.umd.prod.js +1 -1
  157. package/dist/icon-set/svg-eva-icons.umd.prod.js +1 -1
  158. package/dist/icon-set/svg-fontawesome-v5.umd.prod.js +1 -1
  159. package/dist/icon-set/svg-fontawesome-v6.umd.prod.js +1 -1
  160. package/dist/icon-set/svg-ionicons-v4.umd.prod.js +1 -1
  161. package/dist/icon-set/svg-ionicons-v5.umd.prod.js +1 -1
  162. package/dist/icon-set/svg-ionicons-v6.umd.prod.js +1 -1
  163. package/dist/icon-set/svg-line-awesome.umd.prod.js +1 -1
  164. package/dist/icon-set/svg-material-icons-outlined.umd.prod.js +1 -1
  165. package/dist/icon-set/svg-material-icons-round.umd.prod.js +1 -1
  166. package/dist/icon-set/svg-material-icons-sharp.umd.prod.js +1 -1
  167. package/dist/icon-set/svg-material-icons.umd.prod.js +1 -1
  168. package/dist/icon-set/svg-material-symbols-outlined.umd.prod.js +1 -1
  169. package/dist/icon-set/svg-material-symbols-rounded.umd.prod.js +1 -1
  170. package/dist/icon-set/svg-material-symbols-sharp.umd.prod.js +1 -1
  171. package/dist/icon-set/svg-mdi-v6.umd.prod.js +1 -1
  172. package/dist/icon-set/svg-mdi-v7.umd.prod.js +1 -1
  173. package/dist/icon-set/svg-themify.umd.prod.js +1 -1
  174. package/dist/icon-set/themify.umd.prod.js +1 -1
  175. package/dist/lang/ar-TN.umd.prod.js +1 -1
  176. package/dist/lang/ar.umd.prod.js +1 -1
  177. package/dist/lang/az-Latn.umd.prod.js +1 -1
  178. package/dist/lang/bg.umd.prod.js +1 -1
  179. package/dist/lang/bn.umd.prod.js +1 -1
  180. package/dist/lang/ca.umd.prod.js +1 -1
  181. package/dist/lang/cs.umd.prod.js +1 -1
  182. package/dist/lang/da.umd.prod.js +1 -1
  183. package/dist/lang/de-CH.umd.prod.js +1 -1
  184. package/dist/lang/de-DE.umd.prod.js +1 -1
  185. package/dist/lang/de.umd.prod.js +1 -1
  186. package/dist/lang/el.umd.prod.js +1 -1
  187. package/dist/lang/en-GB.umd.prod.js +1 -1
  188. package/dist/lang/en-US.umd.prod.js +1 -1
  189. package/dist/lang/eo.umd.prod.js +1 -1
  190. package/dist/lang/es.umd.prod.js +1 -1
  191. package/dist/lang/et.umd.prod.js +1 -1
  192. package/dist/lang/eu.umd.prod.js +1 -1
  193. package/dist/lang/fa-IR.umd.prod.js +1 -1
  194. package/dist/lang/fa.umd.prod.js +1 -1
  195. package/dist/lang/fi.umd.prod.js +1 -1
  196. package/dist/lang/fr.umd.prod.js +1 -1
  197. package/dist/lang/gn.umd.prod.js +1 -1
  198. package/dist/lang/he.umd.prod.js +1 -1
  199. package/dist/lang/hi.umd.prod.js +1 -1
  200. package/dist/lang/hr.umd.prod.js +1 -1
  201. package/dist/lang/hu.umd.prod.js +1 -1
  202. package/dist/lang/id.umd.prod.js +1 -1
  203. package/dist/lang/is.umd.prod.js +1 -1
  204. package/dist/lang/it.umd.prod.js +1 -1
  205. package/dist/lang/ja.umd.prod.js +1 -1
  206. package/dist/lang/kk.umd.prod.js +1 -1
  207. package/dist/lang/km.umd.prod.js +1 -1
  208. package/dist/lang/ko-KR.umd.prod.js +1 -1
  209. package/dist/lang/kur-CKB.umd.prod.js +1 -1
  210. package/dist/lang/lt.umd.prod.js +1 -1
  211. package/dist/lang/lu.umd.prod.js +1 -1
  212. package/dist/lang/lv.umd.prod.js +1 -1
  213. package/dist/lang/mk.umd.prod.js +1 -1
  214. package/dist/lang/ml.umd.prod.js +1 -1
  215. package/dist/lang/mm.umd.prod.js +1 -1
  216. package/dist/lang/ms-MY.umd.prod.js +1 -1
  217. package/dist/lang/ms.umd.prod.js +1 -1
  218. package/dist/lang/my.umd.prod.js +1 -1
  219. package/dist/lang/nb-NO.umd.prod.js +1 -1
  220. package/dist/lang/nl.umd.prod.js +1 -1
  221. package/dist/lang/pl.umd.prod.js +1 -1
  222. package/dist/lang/pt-BR.umd.prod.js +1 -1
  223. package/dist/lang/pt.umd.prod.js +1 -1
  224. package/dist/lang/ro.umd.prod.js +1 -1
  225. package/dist/lang/ru.umd.prod.js +1 -1
  226. package/dist/lang/sk.umd.prod.js +1 -1
  227. package/dist/lang/sl.umd.prod.js +1 -1
  228. package/dist/lang/sm.umd.prod.js +1 -1
  229. package/dist/lang/sr-CYR.umd.prod.js +1 -1
  230. package/dist/lang/sr.umd.prod.js +1 -1
  231. package/dist/lang/sv.umd.prod.js +1 -1
  232. package/dist/lang/ta.umd.prod.js +1 -1
  233. package/dist/lang/th.umd.prod.js +1 -1
  234. package/dist/lang/tl.umd.prod.js +1 -1
  235. package/dist/lang/tr.umd.prod.js +1 -1
  236. package/dist/lang/ug.umd.prod.js +1 -1
  237. package/dist/lang/uk.umd.prod.js +1 -1
  238. package/dist/lang/uz-Cyrl.umd.prod.js +1 -1
  239. package/dist/lang/uz-Latn.umd.prod.js +1 -1
  240. package/dist/lang/vi.umd.prod.js +1 -1
  241. package/dist/lang/zh-CN.umd.prod.js +1 -1
  242. package/dist/lang/zh-TW.umd.prod.js +1 -1
  243. package/dist/quasar.cjs.prod.js +12 -12
  244. package/dist/quasar.css +53 -53
  245. package/dist/quasar.esm.js +82 -51
  246. package/dist/quasar.esm.prod.js +10 -10
  247. package/dist/quasar.prod.css +1 -1
  248. package/dist/quasar.rtl.css +65 -65
  249. package/dist/quasar.rtl.prod.css +1 -1
  250. package/dist/quasar.sass +37 -37
  251. package/dist/quasar.umd.js +80 -50
  252. package/dist/quasar.umd.prod.js +6 -6
  253. package/dist/transforms/import-map.json +1 -1
  254. package/dist/types/composables.d.ts +5 -0
  255. package/dist/types/index.d.ts +325 -235
  256. package/dist/types/tsconfig.json +1 -1
  257. package/dist/vetur/quasar-attributes.json +1 -1
  258. package/dist/web-types/web-types.json +1 -1
  259. package/package.json +21 -44
  260. package/src/api-file-example.json +5 -5
  261. package/src/api.extends.json +18 -18
  262. package/src/body.js +1 -1
  263. package/src/components/ajax-bar/QAjaxBar.json +5 -5
  264. package/src/components/avatar/QAvatar.json +1 -1
  265. package/src/components/avatar/QAvatar.test.js +146 -0
  266. package/src/components/badge/QBadge.json +2 -2
  267. package/src/components/badge/QBadge.test.js +167 -0
  268. package/src/components/banner/QBanner.test.js +123 -0
  269. package/src/components/bar/QBar.test.js +55 -0
  270. package/src/components/breadcrumbs/QBreadcrumbs.json +7 -7
  271. package/src/components/breadcrumbs/QBreadcrumbs.test.js +123 -0
  272. package/src/components/breadcrumbs/QBreadcrumbsEl.json +4 -4
  273. package/src/components/breadcrumbs/QBreadcrumbsEl.test.js +134 -0
  274. package/src/components/btn/QBtn.js +1 -1
  275. package/src/components/btn/QBtn.json +1 -1
  276. package/src/components/btn/QBtn.test.js +350 -0
  277. package/src/components/btn/use-btn.json +13 -13
  278. package/src/components/btn/use-btn.test.js +590 -0
  279. package/src/components/btn-dropdown/QBtnDropdown.json +14 -14
  280. package/src/components/btn-toggle/QBtnToggle.json +6 -6
  281. package/src/components/card/QCard.json +2 -2
  282. package/src/components/card/QCardActions.json +3 -3
  283. package/src/components/card/QCardSection.json +2 -2
  284. package/src/components/carousel/QCarousel.json +9 -9
  285. package/src/components/carousel/QCarouselControl.json +5 -5
  286. package/src/components/carousel/QCarouselSlide.json +4 -7
  287. package/src/components/chat/QChatMessage.json +9 -9
  288. package/src/components/checkbox/use-checkbox.json +13 -13
  289. package/src/components/chip/QChip.js +1 -1
  290. package/src/components/chip/QChip.json +6 -8
  291. package/src/components/chip/QChip.test.js +534 -0
  292. package/src/components/circular-progress/QCircularProgress.json +8 -8
  293. package/src/components/color/QColor.js +2 -2
  294. package/src/components/color/QColor.json +8 -10
  295. package/src/components/date/QDate.json +31 -30
  296. package/src/components/date/use-datetime.json +3 -3
  297. package/src/components/dialog/QDialog.json +13 -13
  298. package/src/components/dialog/QDialog.test.js +390 -0
  299. package/src/components/dialog/test/DialogWrapper.vue +17 -0
  300. package/src/components/drawer/QDrawer.js +1 -1
  301. package/src/components/drawer/QDrawer.json +8 -12
  302. package/src/components/editor/QEditor.json +31 -45
  303. package/src/components/expansion-item/QExpansionItem.js +1 -1
  304. package/src/components/expansion-item/QExpansionItem.json +14 -14
  305. package/src/components/fab/QFab.json +4 -4
  306. package/src/components/fab/QFabAction.json +3 -5
  307. package/src/components/fab/use-fab.json +10 -12
  308. package/src/components/field/QField.json +5 -5
  309. package/src/components/file/QFile.json +9 -11
  310. package/src/components/footer/QFooter.js +1 -1
  311. package/src/components/footer/QFooter.json +3 -5
  312. package/src/components/form/QForm.json +1 -3
  313. package/src/components/form/QFormChildMixin.json +1 -3
  314. package/src/components/header/QHeader.json +4 -6
  315. package/src/components/icon/QIcon.json +2 -2
  316. package/src/components/img/QImg.js +1 -1
  317. package/src/components/img/QImg.json +45 -59
  318. package/src/components/infinite-scroll/QInfiniteScroll.json +3 -3
  319. package/src/components/inner-loading/QInnerLoading.json +5 -7
  320. package/src/components/input/QInput.json +10 -10
  321. package/src/components/input/use-mask.json +1 -1
  322. package/src/components/intersection/QIntersection.js +2 -2
  323. package/src/components/intersection/QIntersection.json +7 -7
  324. package/src/components/item/QItem.json +5 -5
  325. package/src/components/item/QList.json +2 -2
  326. package/src/components/knob/QKnob.js +1 -1
  327. package/src/components/knob/QKnob.json +6 -6
  328. package/src/components/layout/QLayout.js +1 -1
  329. package/src/components/layout/QLayout.json +3 -5
  330. package/src/components/linear-progress/QLinearProgress.json +2 -2
  331. package/src/components/markup-table/QMarkupTable.json +3 -3
  332. package/src/components/menu/QMenu.json +8 -8
  333. package/src/components/no-ssr/QNoSsr.json +3 -3
  334. package/src/components/option-group/QOptionGroup.json +11 -13
  335. package/src/components/page/QPage.json +2 -2
  336. package/src/components/page-scroller/QPageScroller.json +3 -3
  337. package/src/components/page-sticky/QPageSticky.json +4 -4
  338. package/src/components/pagination/QPagination.json +20 -20
  339. package/src/components/parallax/QParallax.json +5 -5
  340. package/src/components/popup-edit/QPopupEdit.json +17 -19
  341. package/src/components/popup-proxy/QPopupProxy.json +2 -2
  342. package/src/components/pull-to-refresh/QPullToRefresh.js +1 -1
  343. package/src/components/radio/QRadio.json +5 -5
  344. package/src/components/range/QRange.json +3 -7
  345. package/src/components/rating/QRating.json +16 -19
  346. package/src/components/resize-observer/QResizeObserver.json +2 -2
  347. package/src/components/scroll-area/QScrollArea.js +1 -1
  348. package/src/components/scroll-area/QScrollArea.json +12 -12
  349. package/src/components/scroll-observer/QScrollObserver.json +4 -4
  350. package/src/components/select/QSelect.js +0 -0
  351. package/src/components/select/QSelect.json +55 -59
  352. package/src/components/select/__tests__/QSelect.cy.js +21 -1
  353. package/src/components/separator/QSeparator.json +3 -5
  354. package/src/components/skeleton/QSkeleton.json +14 -16
  355. package/src/components/slide-item/QSlideItem.js +1 -1
  356. package/src/components/slide-item/QSlideItem.json +2 -2
  357. package/src/components/slide-transition/QSlideTransition.json +1 -1
  358. package/src/components/slider/QSlider.json +2 -4
  359. package/src/components/slider/use-slider.js +1 -1
  360. package/src/components/slider/use-slider.json +18 -22
  361. package/src/components/spinner/QSpinner.json +1 -1
  362. package/src/components/spinner/QSpinnerAudio.json +1 -1
  363. package/src/components/spinner/QSpinnerBall.json +1 -1
  364. package/src/components/spinner/QSpinnerBars.json +1 -1
  365. package/src/components/spinner/QSpinnerBox.json +1 -1
  366. package/src/components/spinner/QSpinnerClock.json +1 -1
  367. package/src/components/spinner/QSpinnerComment.json +1 -1
  368. package/src/components/spinner/QSpinnerCube.json +1 -1
  369. package/src/components/spinner/QSpinnerDots.json +1 -1
  370. package/src/components/spinner/QSpinnerFacebook.json +1 -1
  371. package/src/components/spinner/QSpinnerGears.json +1 -1
  372. package/src/components/spinner/QSpinnerGrid.json +1 -1
  373. package/src/components/spinner/QSpinnerHearts.json +1 -1
  374. package/src/components/spinner/QSpinnerHourglass.json +1 -1
  375. package/src/components/spinner/QSpinnerInfinity.json +1 -1
  376. package/src/components/spinner/QSpinnerIos.json +1 -1
  377. package/src/components/spinner/QSpinnerOrbit.json +1 -1
  378. package/src/components/spinner/QSpinnerOval.json +1 -1
  379. package/src/components/spinner/QSpinnerPie.json +1 -1
  380. package/src/components/spinner/QSpinnerPuff.json +1 -1
  381. package/src/components/spinner/QSpinnerRadio.json +1 -1
  382. package/src/components/spinner/QSpinnerRings.json +1 -1
  383. package/src/components/spinner/QSpinnerTail.json +1 -1
  384. package/src/components/splitter/QSplitter.js +1 -1
  385. package/src/components/splitter/QSplitter.json +14 -14
  386. package/src/components/stepper/QStep.json +4 -10
  387. package/src/components/stepper/QStepper.json +1 -3
  388. package/src/components/stepper/StepHeader.js +1 -1
  389. package/src/components/table/QTable.js +1 -1
  390. package/src/components/table/QTable.json +113 -126
  391. package/src/components/table/QTd.json +1 -1
  392. package/src/components/table/QTh.json +1 -1
  393. package/src/components/table/QTr.json +1 -1
  394. package/src/components/tabs/QRouteTab.json +1 -1
  395. package/src/components/tabs/QTab.json +6 -13
  396. package/src/components/tabs/QTabs.json +8 -8
  397. package/src/components/tabs/use-tab.js +1 -1
  398. package/src/components/time/QTime.js +1 -1
  399. package/src/components/time/QTime.json +10 -22
  400. package/src/components/timeline/QTimeline.json +4 -4
  401. package/src/components/timeline/QTimelineEntry.json +11 -11
  402. package/src/components/tooltip/QTooltip.json +17 -20
  403. package/src/components/tree/QTree.json +26 -26
  404. package/src/components/uploader/QUploader.json +4 -4
  405. package/src/components/uploader/xhr-uploader-plugin.json +12 -12
  406. package/src/components/video/QVideo.json +15 -19
  407. package/src/components/virtual-scroll/QVirtualScroll.json +7 -10
  408. package/src/components/virtual-scroll/use-virtual-scroll.json +9 -8
  409. package/src/composables/private/use-anchor.json +6 -6
  410. package/src/composables/private/use-field.json +8 -11
  411. package/src/composables/private/use-file.js +1 -1
  412. package/src/composables/private/use-file.json +6 -8
  413. package/src/composables/private/use-form.json +1 -1
  414. package/src/composables/private/use-form.test.js +93 -0
  415. package/src/composables/private/use-fullscreen.json +1 -3
  416. package/src/composables/private/use-key-composition.js +1 -1
  417. package/src/composables/private/use-panel.child.json +1 -3
  418. package/src/composables/private/use-panel.js +1 -1
  419. package/src/composables/private/use-panel.json +12 -12
  420. package/src/composables/private/use-portal.js +16 -1
  421. package/src/composables/private/use-ratio.json +4 -3
  422. package/src/composables/private/use-ratio.test.js +27 -0
  423. package/src/composables/private/use-router-link.json +6 -6
  424. package/src/composables/private/use-size.json +1 -1
  425. package/src/composables/private/use-size.test.js +22 -0
  426. package/src/composables/private/use-transition.json +3 -3
  427. package/src/composables/private/use-validate.json +6 -6
  428. package/src/composables/use-hydration.js +1 -1
  429. package/src/composables/use-id.js +1 -1
  430. package/src/composables/use-id.test.js +55 -0
  431. package/src/composables/use-interval.js +36 -0
  432. package/src/composables/use-meta.js +1 -1
  433. package/src/composables/use-timeout.js +4 -1
  434. package/src/composables.js +2 -0
  435. package/src/css/index.sass +6 -6
  436. package/src/directives/{ClosePopup.js → close-popup/ClosePopup.js} +4 -4
  437. package/src/directives/{ClosePopup.json → close-popup/ClosePopup.json} +5 -5
  438. package/src/directives/{Intersection.js → intersection/Intersection.js} +3 -3
  439. package/src/directives/{Intersection.json → intersection/Intersection.json} +4 -6
  440. package/src/directives/{Morph.js → morph/Morph.js} +2 -2
  441. package/src/directives/{Morph.json → morph/Morph.json} +20 -20
  442. package/src/directives/{Mutation.js → mutation/Mutation.js} +2 -2
  443. package/src/directives/{Mutation.json → mutation/Mutation.json} +10 -12
  444. package/src/directives/{Ripple.js → ripple/Ripple.js} +6 -6
  445. package/src/directives/{Ripple.json → ripple/Ripple.json} +7 -13
  446. package/src/directives/{Scroll.js → scroll/Scroll.js} +4 -4
  447. package/src/directives/{Scroll.json → scroll/Scroll.json} +2 -2
  448. package/src/directives/{ScrollFire.js → scroll-fire/ScrollFire.js} +6 -6
  449. package/src/directives/{ScrollFire.json → scroll-fire/ScrollFire.json} +1 -1
  450. package/src/directives/{TouchHold.js → touch-hold/TouchHold.js} +5 -5
  451. package/src/directives/{TouchHold.json → touch-hold/TouchHold.json} +6 -6
  452. package/src/directives/{TouchPan.js → touch-pan/TouchPan.js} +6 -6
  453. package/src/directives/{TouchPan.json → touch-pan/TouchPan.json} +4 -4
  454. package/src/directives/{TouchRepeat.js → touch-repeat/TouchRepeat.js} +6 -6
  455. package/src/directives/{TouchRepeat.json → touch-repeat/TouchRepeat.json} +4 -4
  456. package/src/directives/{TouchSwipe.js → touch-swipe/TouchSwipe.js} +6 -6
  457. package/src/directives/{TouchSwipe.json → touch-swipe/TouchSwipe.json} +4 -4
  458. package/src/directives.js +11 -11
  459. package/src/history.js +1 -1
  460. package/src/install-quasar.js +3 -3
  461. package/src/plugins/{AddressbarColor.js → addressbar/AddressbarColor.js} +3 -3
  462. package/src/plugins/{AddressbarColor.json → addressbar/AddressbarColor.json} +1 -1
  463. package/src/plugins/{AppFullscreen.js → app-fullscreen/AppFullscreen.js} +2 -2
  464. package/src/plugins/{AppVisibility.js → app-visibility/AppVisibility.js} +2 -2
  465. package/src/plugins/{BottomSheet.js → bottom-sheet/BottomSheet.js} +2 -2
  466. package/src/plugins/{BottomSheet.json → bottom-sheet/BottomSheet.json} +10 -10
  467. package/src/{components/dialog-bottom-sheet/BottomSheet.js → plugins/bottom-sheet/component/BottomSheetComponent.js} +10 -10
  468. package/src/plugins/{Cookies.json → cookies/Cookies.json} +14 -16
  469. package/src/plugins/{Dark.js → dark/Dark.js} +1 -1
  470. package/src/plugins/{Dark.json → dark/Dark.json} +3 -3
  471. package/src/plugins/{Dialog.js → dialog/Dialog.js} +2 -2
  472. package/src/plugins/{Dialog.json → dialog/Dialog.json} +15 -15
  473. package/src/{components/dialog-plugin/DialogPlugin.js → plugins/dialog/component/DialogPluginComponent.js} +14 -14
  474. package/src/plugins/{Loading.js → loading/Loading.js} +7 -6
  475. package/src/plugins/{Loading.json → loading/Loading.json} +15 -15
  476. package/src/plugins/{LoadingBar.js → loading-bar/LoadingBar.js} +6 -6
  477. package/src/plugins/{LoadingBar.json → loading-bar/LoadingBar.json} +1 -1
  478. package/src/plugins/{LocalStorage.js → local-storage/LocalStorage.js} +2 -2
  479. package/src/plugins/{Meta.js → meta/Meta.js} +2 -2
  480. package/src/plugins/{Notify.js → notify/Notify.js} +11 -10
  481. package/src/plugins/{Notify.json → notify/Notify.json} +52 -68
  482. package/src/plugins/{Platform.js → platform/Platform.js} +3 -9
  483. package/src/plugins/{Platform.json → platform/Platform.json} +6 -10
  484. package/src/plugins/{Screen.js → screen/Screen.js} +4 -4
  485. package/src/plugins/{Screen.json → screen/Screen.json} +6 -12
  486. package/src/plugins/{SessionStorage.js → session-storage/SessionStorage.js} +2 -2
  487. package/src/plugins.js +15 -15
  488. package/src/utils/create-meta-mixin.js +1 -1
  489. package/src/utils/open-url.js +1 -1
  490. package/src/utils/prevent-scroll.js +1 -1
  491. package/src/utils/private/escape-key.js +1 -1
  492. package/src/utils/private/focusout.js +1 -1
  493. package/src/utils/private/global-dialog.json +2 -2
  494. package/src/utils/private/position-engine.js +1 -1
  495. package/src/utils/private/selection.js +1 -1
  496. package/src/utils/private/web-storage.json +8 -10
  497. package/src/components/avatar/__tests__/QAvatar.cy.js +0 -120
  498. package/src/components/badge/__tests__/QBadge.cy.js +0 -148
  499. package/src/components/banner/__tests__/QBanner.cy.js +0 -106
  500. package/src/components/bar/__tests__/QBar.cy.js +0 -45
  501. package/src/components/breadcrumbs/__tests__/QBreadcrumbs.cy.js +0 -111
  502. package/src/components/breadcrumbs/__tests__/QBreadcrumbsEl.cy.js +0 -87
  503. package/src/components/btn/__tests__/QBtn.cy.js +0 -128
  504. package/src/components/btn/__tests__/use-btn.cy.js +0 -517
  505. package/src/components/chip/__tests__/QChip.cy.js +0 -480
  506. package/src/components/dialog/__tests__/DialogWrapper.vue +0 -33
  507. package/src/components/dialog/__tests__/QDialog.cy.js +0 -543
  508. package/src/components/tabs/__tests__/QRouteTab.cy.js +0 -9
  509. /package/src/components/breadcrumbs/{__tests__ → test}/BasicBreadcrumbs.vue +0 -0
  510. /package/src/components/breadcrumbs/{__tests__ → test}/BreadcrumbWithSeparatorSlot.vue +0 -0
  511. /package/src/components/spinner/{__spinner-mixin.json → spinner.json} +0 -0
  512. /package/src/directives/{Morph.sass → morph/Morph.sass} +0 -0
  513. /package/src/directives/{Ripple.sass → ripple/Ripple.sass} +0 -0
  514. /package/src/plugins/{AppFullscreen.json → app-fullscreen/AppFullscreen.json} +0 -0
  515. /package/src/plugins/{AppVisibility.json → app-visibility/AppVisibility.json} +0 -0
  516. /package/src/{components/dialog-bottom-sheet/BottomSheet.sass → plugins/bottom-sheet/component/BottomSheetComponent.sass} +0 -0
  517. /package/src/plugins/{Cookies.js → cookies/Cookies.js} +0 -0
  518. /package/src/{components/dialog-plugin/DialogPlugin.sass → plugins/dialog/component/DialogPluginComponent.sass} +0 -0
  519. /package/src/plugins/{Loading.sass → loading/Loading.sass} +0 -0
  520. /package/src/plugins/{LocalStorage.json → local-storage/LocalStorage.json} +0 -0
  521. /package/src/plugins/{Meta.json → meta/Meta.json} +0 -0
  522. /package/src/plugins/{Notify.sass → notify/Notify.sass} +0 -0
  523. /package/src/plugins/{SessionStorage.json → session-storage/SessionStorage.json} +0 -0
package/dist/quasar.css CHANGED
@@ -1758,59 +1758,6 @@ body.q-ios-padding .q-dialog__inner > div {
1758
1758
  overflow: hidden;
1759
1759
  }
1760
1760
 
1761
- .q-bottom-sheet {
1762
- padding-bottom: 8px;
1763
- }
1764
- .q-bottom-sheet__avatar {
1765
- border-radius: 50%;
1766
- }
1767
- .q-bottom-sheet--list {
1768
- width: 400px;
1769
- }
1770
- .q-bottom-sheet--list .q-icon, .q-bottom-sheet--list img {
1771
- font-size: 24px;
1772
- width: 24px;
1773
- height: 24px;
1774
- }
1775
- .q-bottom-sheet--grid {
1776
- width: 700px;
1777
- }
1778
- .q-bottom-sheet--grid .q-bottom-sheet__item {
1779
- padding: 8px;
1780
- text-align: center;
1781
- min-width: 100px;
1782
- }
1783
- .q-bottom-sheet--grid .q-icon, .q-bottom-sheet--grid img, .q-bottom-sheet--grid .q-bottom-sheet__empty-icon {
1784
- font-size: 48px;
1785
- width: 48px;
1786
- height: 48px;
1787
- margin-bottom: 8px;
1788
- }
1789
- .q-bottom-sheet--grid .q-separator {
1790
- margin: 12px 0;
1791
- }
1792
- .q-bottom-sheet__item {
1793
- flex: 0 0 33.3333%;
1794
- }
1795
-
1796
- @media (min-width: 600px) {
1797
- .q-bottom-sheet__item {
1798
- flex: 0 0 25%;
1799
- }
1800
- }
1801
- .q-dialog-plugin {
1802
- width: 400px;
1803
- }
1804
- .q-dialog-plugin__form {
1805
- max-height: 50vh;
1806
- }
1807
- .q-dialog-plugin .q-card__section + .q-card__section {
1808
- padding-top: 0;
1809
- }
1810
- .q-dialog-plugin--progress {
1811
- text-align: center;
1812
- }
1813
-
1814
1761
  .q-editor {
1815
1762
  border: 1px solid rgba(0, 0, 0, 0.12);
1816
1763
  border-radius: 4px;
@@ -6112,6 +6059,59 @@ img.responsive {
6112
6059
  }
6113
6060
 
6114
6061
  /* Plugins */
6062
+ .q-bottom-sheet {
6063
+ padding-bottom: 8px;
6064
+ }
6065
+ .q-bottom-sheet__avatar {
6066
+ border-radius: 50%;
6067
+ }
6068
+ .q-bottom-sheet--list {
6069
+ width: 400px;
6070
+ }
6071
+ .q-bottom-sheet--list .q-icon, .q-bottom-sheet--list img {
6072
+ font-size: 24px;
6073
+ width: 24px;
6074
+ height: 24px;
6075
+ }
6076
+ .q-bottom-sheet--grid {
6077
+ width: 700px;
6078
+ }
6079
+ .q-bottom-sheet--grid .q-bottom-sheet__item {
6080
+ padding: 8px;
6081
+ text-align: center;
6082
+ min-width: 100px;
6083
+ }
6084
+ .q-bottom-sheet--grid .q-icon, .q-bottom-sheet--grid img, .q-bottom-sheet--grid .q-bottom-sheet__empty-icon {
6085
+ font-size: 48px;
6086
+ width: 48px;
6087
+ height: 48px;
6088
+ margin-bottom: 8px;
6089
+ }
6090
+ .q-bottom-sheet--grid .q-separator {
6091
+ margin: 12px 0;
6092
+ }
6093
+ .q-bottom-sheet__item {
6094
+ flex: 0 0 33.3333%;
6095
+ }
6096
+
6097
+ @media (min-width: 600px) {
6098
+ .q-bottom-sheet__item {
6099
+ flex: 0 0 25%;
6100
+ }
6101
+ }
6102
+ .q-dialog-plugin {
6103
+ width: 400px;
6104
+ }
6105
+ .q-dialog-plugin__form {
6106
+ max-height: 50vh;
6107
+ }
6108
+ .q-dialog-plugin .q-card__section + .q-card__section {
6109
+ padding-top: 0;
6110
+ }
6111
+ .q-dialog-plugin--progress {
6112
+ text-align: center;
6113
+ }
6114
+
6115
6115
  .q-loading {
6116
6116
  color: #000;
6117
6117
  position: fixed !important;
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Quasar Framework v2.15.0
2
+ * Quasar Framework v2.15.2
3
3
  * (c) 2015-present Razvan Stoenescu
4
4
  * Released under the MIT License.
5
5
  */
@@ -263,7 +263,7 @@ var require_material_icons = __commonJS({
263
263
  // src/install-quasar.js
264
264
  import { createApp } from "vue";
265
265
 
266
- // src/plugins/Platform.js
266
+ // src/plugins/platform/Platform.js
267
267
  import { ref, reactive } from "vue";
268
268
 
269
269
  // src/utils/private/inject-obj-prop.js
@@ -282,7 +282,7 @@ function injectMultipleProps(target2, props4) {
282
282
  return target2;
283
283
  }
284
284
 
285
- // src/plugins/Platform.js
285
+ // src/plugins/platform/Platform.js
286
286
  var isRuntimeSsrPreHydration = false ? { value: true } : ref(
287
287
  __QUASAR_SSR_CLIENT__ && (__QUASAR_SSR_PWA__ ? document.body.getAttribute("data-server-rendered") !== null : true)
288
288
  );
@@ -320,7 +320,7 @@ function getPlatform(UA) {
320
320
  browser.winphone = true;
321
321
  delete browser["windows phone"];
322
322
  }
323
- if (browser.edga || browser.edgios) {
323
+ if (browser.edga || browser.edgios || browser.edg) {
324
324
  browser.edge = true;
325
325
  matched.browser = "edge";
326
326
  } else if (browser.crios) {
@@ -342,10 +342,7 @@ function getPlatform(UA) {
342
342
  ) {
343
343
  browser.webkit = true;
344
344
  }
345
- if (browser.edg) {
346
- matched.browser = "edgechromium";
347
- browser.edgeChromium = true;
348
- } else if (browser.opr) {
345
+ if (browser.opr) {
349
346
  matched.browser = "opera";
350
347
  browser.opera = true;
351
348
  }
@@ -649,7 +646,7 @@ function debounce_default(fn, wait = 250, immediate) {
649
646
  return debounced;
650
647
  }
651
648
 
652
- // src/plugins/Screen.js
649
+ // src/plugins/screen/Screen.js
653
650
  var SIZE_LIST = ["sm", "md", "lg", "xl"];
654
651
  var { passive } = listenOpts;
655
652
  var Screen_default = define_reactive_plugin_default({
@@ -788,7 +785,7 @@ var Screen_default = define_reactive_plugin_default({
788
785
  }
789
786
  });
790
787
 
791
- // src/plugins/Dark.js
788
+ // src/plugins/dark/Dark.js
792
789
  var Plugin = define_reactive_plugin_default({
793
790
  isActive: false,
794
791
  mode: false
@@ -1369,7 +1366,7 @@ function prepareApp(app2, uiOpts, pluginOpts) {
1369
1366
  }
1370
1367
  var install_quasar_default = false ? function(parentApp, opts = {}, ssrContext) {
1371
1368
  const $q = {
1372
- version: "2.15.0",
1369
+ version: "2.15.2",
1373
1370
  config: opts.config || {}
1374
1371
  };
1375
1372
  Object.assign(ssrContext, {
@@ -1399,7 +1396,7 @@ var install_quasar_default = false ? function(parentApp, opts = {}, ssrContext)
1399
1396
  ssrContext
1400
1397
  });
1401
1398
  } : function(parentApp, opts = {}) {
1402
- const $q = { version: "2.15.0" };
1399
+ const $q = { version: "2.15.2" };
1403
1400
  if (globalConfigIsFrozen === false) {
1404
1401
  if (opts.config !== void 0) {
1405
1402
  Object.assign(globalConfig, opts.config);
@@ -2532,7 +2529,7 @@ function throttle_default(fn, limit = 250) {
2532
2529
  };
2533
2530
  }
2534
2531
 
2535
- // src/directives/Ripple.js
2532
+ // src/directives/ripple/Ripple.js
2536
2533
  function showRipple(evt, el, ctx, forceCenter) {
2537
2534
  ctx.modifiers.stop === true && stop(evt);
2538
2535
  const color = ctx.modifiers.color;
@@ -3562,6 +3559,12 @@ function closePortals(proxy, evt, depth) {
3562
3559
  }
3563
3560
 
3564
3561
  // src/composables/private/use-portal.js
3562
+ var QPortal = createComponent({
3563
+ name: "QPortal",
3564
+ setup(_, { slots }) {
3565
+ return () => slots.default();
3566
+ }
3567
+ });
3565
3568
  function isOnGlobalDialog(vm2) {
3566
3569
  vm2 = vm2.parent;
3567
3570
  while (vm2 !== void 0 && vm2 !== null) {
@@ -3631,7 +3634,7 @@ function use_portal_default(vm2, innerRef, renderPortalContent, type) {
3631
3634
  hidePortal,
3632
3635
  portalIsActive,
3633
3636
  portalIsAccessible,
3634
- renderPortal: () => onGlobalDialog === true ? renderPortalContent() : portalIsActive.value === true ? [h13(Teleport, { to: portalEl }, renderPortalContent())] : void 0
3637
+ renderPortal: () => onGlobalDialog === true ? renderPortalContent() : portalIsActive.value === true ? [h13(Teleport, { to: portalEl }, h13(QPortal, renderPortalContent))] : void 0
3635
3638
  };
3636
3639
  }
3637
3640
 
@@ -3714,7 +3717,10 @@ function use_timeout_default() {
3714
3717
  registerTimeout(fn, delay) {
3715
3718
  removeTimeout(timer2);
3716
3719
  if (vmIsDestroyed(vm2) === false) {
3717
- timer2 = setTimeout(fn, delay);
3720
+ timer2 = setTimeout(() => {
3721
+ timer2 = null;
3722
+ fn();
3723
+ }, delay);
3718
3724
  }
3719
3725
  }
3720
3726
  };
@@ -5006,7 +5012,7 @@ function shouldStart(evt, ctx) {
5006
5012
  return ctx.event === void 0 && evt.target !== void 0 && evt.target.draggable !== true && typeof ctx.handler === "function" && avoidNodeNamesList.includes(evt.target.nodeName.toUpperCase()) === false && (evt.qClonedBy === void 0 || evt.qClonedBy.indexOf(ctx.uid) === -1);
5007
5013
  }
5008
5014
 
5009
- // src/directives/TouchSwipe.js
5015
+ // src/directives/touch-swipe/TouchSwipe.js
5010
5016
  function parseArg(arg) {
5011
5017
  const data = [0.06, 6, 50];
5012
5018
  if (typeof arg === "string" && arg.length) {
@@ -6429,7 +6435,7 @@ var QCircularProgress_default = createComponent({
6429
6435
  // src/components/color/QColor.js
6430
6436
  import { h as h37, ref as ref19, computed as computed41, watch as watch12, nextTick as nextTick6, getCurrentInstance as getCurrentInstance26 } from "vue";
6431
6437
 
6432
- // src/directives/TouchPan.js
6438
+ // src/directives/touch-pan/TouchPan.js
6433
6439
  function getChanges(evt, ctx, isFinal) {
6434
6440
  const pos = position(evt);
6435
6441
  let dir, distX = pos.left - ctx.event.x, distY = pos.top - ctx.event.y, absX = Math.abs(distX), absY = Math.abs(distY);
@@ -8655,7 +8661,7 @@ var QColor_default = createComponent({
8655
8661
  updateModel2(rgb2, change);
8656
8662
  }
8657
8663
  function onHueChange(val) {
8658
- onHueChange(val, true);
8664
+ onHue(val, true);
8659
8665
  }
8660
8666
  function onNumericChange(value2, formatModel, max, evt, change) {
8661
8667
  evt !== void 0 && stop(evt);
@@ -13790,7 +13796,7 @@ var QExpansionItem_default = createComponent({
13790
13796
  );
13791
13797
  const headerSlotScope = computed52(() => ({
13792
13798
  expanded: showing.value === true,
13793
- detailsId: props4.targetUid,
13799
+ detailsId: targetUid.value,
13794
13800
  toggle,
13795
13801
  show,
13796
13802
  hide
@@ -16940,7 +16946,7 @@ var QInput_default = createComponent({
16940
16946
  // src/components/intersection/QIntersection.js
16941
16947
  import { h as h62, ref as ref40, computed as computed68, Transition as Transition11 } from "vue";
16942
16948
 
16943
- // src/directives/Intersection.js
16949
+ // src/directives/intersection/Intersection.js
16944
16950
  var defaultCfg = {
16945
16951
  threshold: 0,
16946
16952
  root: null,
@@ -25042,7 +25048,7 @@ var QTable_default = createComponent({
25042
25048
  props: {
25043
25049
  rows: {
25044
25050
  type: Array,
25045
- default: () => []
25051
+ required: true
25046
25052
  },
25047
25053
  rowKey: {
25048
25054
  type: [String, Function],
@@ -27873,7 +27879,7 @@ var QVideo_default = createComponent({
27873
27879
  }
27874
27880
  });
27875
27881
 
27876
- // src/directives/ClosePopup.js
27882
+ // src/directives/close-popup/ClosePopup.js
27877
27883
  function getDepth(value2) {
27878
27884
  if (value2 === false) {
27879
27885
  return 0;
@@ -28659,7 +28665,7 @@ function morph(_options) {
28659
28665
  return (abort) => cancel(abort);
28660
28666
  }
28661
28667
 
28662
- // src/directives/Morph.js
28668
+ // src/directives/morph/Morph.js
28663
28669
  var morphGroups = {};
28664
28670
  var props2 = [
28665
28671
  "duration",
@@ -28843,7 +28849,7 @@ var Morph_default = createDirective(
28843
28849
  }
28844
28850
  );
28845
28851
 
28846
- // src/directives/Mutation.js
28852
+ // src/directives/mutation/Mutation.js
28847
28853
  var defaultCfg2 = {
28848
28854
  childList: true,
28849
28855
  subtree: true,
@@ -28893,7 +28899,7 @@ var Mutation_default = createDirective(
28893
28899
  }
28894
28900
  );
28895
28901
 
28896
- // src/directives/ScrollFire.js
28902
+ // src/directives/scroll-fire/ScrollFire.js
28897
28903
  var { passive: passive5 } = listenOpts;
28898
28904
  function update4(ctx, { value: value2, oldValue }) {
28899
28905
  if (typeof value2 !== "function") {
@@ -28944,7 +28950,7 @@ var ScrollFire_default = createDirective(
28944
28950
  }
28945
28951
  );
28946
28952
 
28947
- // src/directives/Scroll.js
28953
+ // src/directives/scroll/Scroll.js
28948
28954
  function update5(ctx, { value: value2, oldValue }) {
28949
28955
  if (typeof value2 !== "function") {
28950
28956
  ctx.scrollTarget.removeEventListener("scroll", ctx.scroll, listenOpts.passive);
@@ -28984,7 +28990,7 @@ var Scroll_default = createDirective(
28984
28990
  }
28985
28991
  );
28986
28992
 
28987
- // src/directives/TouchHold.js
28993
+ // src/directives/touch-hold/TouchHold.js
28988
28994
  var TouchHold_default = createDirective(
28989
28995
  false ? { name: "touch-hold", getSSRProps: noop_ssr_directive_transform_default } : {
28990
28996
  name: "touch-hold",
@@ -29108,7 +29114,7 @@ var TouchHold_default = createDirective(
29108
29114
  }
29109
29115
  );
29110
29116
 
29111
- // src/directives/TouchRepeat.js
29117
+ // src/directives/touch-repeat/TouchRepeat.js
29112
29118
  var keyCodes3 = {
29113
29119
  esc: 27,
29114
29120
  tab: 9,
@@ -29310,7 +29316,7 @@ function getCssVar(propName, element = document.body) {
29310
29316
  return getComputedStyle(element).getPropertyValue(`--q-${propName}`).trim() || null;
29311
29317
  }
29312
29318
 
29313
- // src/plugins/AddressbarColor.js
29319
+ // src/plugins/addressbar/AddressbarColor.js
29314
29320
  var metaValue;
29315
29321
  function getProp() {
29316
29322
  return client.is.winphone ? "msapplication-navbutton-color" : client.is.safari ? "apple-mobile-web-app-status-bar-style" : "theme-color";
@@ -29353,7 +29359,7 @@ var AddressbarColor_default = {
29353
29359
  }
29354
29360
  };
29355
29361
 
29356
- // src/plugins/AppFullscreen.js
29362
+ // src/plugins/app-fullscreen/AppFullscreen.js
29357
29363
  var prefixes = {};
29358
29364
  function assignFn(fn) {
29359
29365
  Object.assign(Plugin4, {
@@ -29441,7 +29447,7 @@ if (false) {
29441
29447
  }
29442
29448
  var AppFullscreen_default = Plugin4;
29443
29449
 
29444
- // src/plugins/AppVisibility.js
29450
+ // src/plugins/app-visibility/AppVisibility.js
29445
29451
  var Plugin5 = define_reactive_plugin_default({
29446
29452
  appVisible: true
29447
29453
  }, {
@@ -29474,10 +29480,10 @@ if (true) {
29474
29480
  }
29475
29481
  var AppVisibility_default = Plugin5;
29476
29482
 
29477
- // src/components/dialog-bottom-sheet/BottomSheet.js
29483
+ // src/plugins/bottom-sheet/component/BottomSheetComponent.js
29478
29484
  import { h as h131, ref as ref67, getCurrentInstance as getCurrentInstance84 } from "vue";
29479
- var BottomSheet_default = createComponent({
29480
- name: "BottomSheetPlugin",
29485
+ var BottomSheetComponent_default = createComponent({
29486
+ name: "BottomSheetComponent",
29481
29487
  props: {
29482
29488
  ...useDarkProps,
29483
29489
  title: String,
@@ -29723,17 +29729,17 @@ function global_dialog_default(DefaultComponent, supportsCustomComponent, parent
29723
29729
  };
29724
29730
  }
29725
29731
 
29726
- // src/plugins/BottomSheet.js
29727
- var BottomSheet_default2 = {
29732
+ // src/plugins/bottom-sheet/BottomSheet.js
29733
+ var BottomSheet_default = {
29728
29734
  install({ $q, parentApp }) {
29729
- $q.bottomSheet = global_dialog_default(BottomSheet_default, false, parentApp);
29735
+ $q.bottomSheet = global_dialog_default(BottomSheetComponent_default, false, parentApp);
29730
29736
  if (this.__installed !== true) {
29731
29737
  this.create = $q.bottomSheet;
29732
29738
  }
29733
29739
  }
29734
29740
  };
29735
29741
 
29736
- // src/plugins/Cookies.js
29742
+ // src/plugins/cookies/Cookies.js
29737
29743
  function encode(string) {
29738
29744
  return encodeURIComponent(string);
29739
29745
  }
@@ -29883,10 +29889,10 @@ if (true) {
29883
29889
  }
29884
29890
  var Cookies_default = Plugin6;
29885
29891
 
29886
- // src/components/dialog-plugin/DialogPlugin.js
29892
+ // src/plugins/dialog/component/DialogPluginComponent.js
29887
29893
  import { h as h133, ref as ref69, computed as computed115, watch as watch49, toRaw as toRaw3, getCurrentInstance as getCurrentInstance85 } from "vue";
29888
- var DialogPlugin_default = createComponent({
29889
- name: "DialogPlugin",
29894
+ var DialogPluginComponent_default = createComponent({
29895
+ name: "DialogPluginComponent",
29890
29896
  props: {
29891
29897
  ...useDarkProps,
29892
29898
  title: String,
@@ -30101,17 +30107,17 @@ var DialogPlugin_default = createComponent({
30101
30107
  }
30102
30108
  });
30103
30109
 
30104
- // src/plugins/Dialog.js
30110
+ // src/plugins/dialog/Dialog.js
30105
30111
  var Dialog_default = {
30106
30112
  install({ $q, parentApp }) {
30107
- $q.dialog = global_dialog_default(DialogPlugin_default, true, parentApp);
30113
+ $q.dialog = global_dialog_default(DialogPluginComponent_default, true, parentApp);
30108
30114
  if (this.__installed !== true) {
30109
30115
  this.create = $q.dialog;
30110
30116
  }
30111
30117
  }
30112
30118
  };
30113
30119
 
30114
- // src/plugins/LoadingBar.js
30120
+ // src/plugins/loading-bar/LoadingBar.js
30115
30121
  import { h as h134, ref as ref70 } from "vue";
30116
30122
  var barRef = ref70(null);
30117
30123
  var Plugin7 = define_reactive_plugin_default({
@@ -30167,7 +30173,7 @@ var Plugin7 = define_reactive_plugin_default({
30167
30173
  });
30168
30174
  var LoadingBar_default = Plugin7;
30169
30175
 
30170
- // src/plugins/Loading.js
30176
+ // src/plugins/loading/Loading.js
30171
30177
  import { h as h135, Transition as Transition14, onMounted as onMounted23 } from "vue";
30172
30178
  var app;
30173
30179
  var vm;
@@ -30316,7 +30322,7 @@ var Plugin8 = define_reactive_plugin_default({
30316
30322
  });
30317
30323
  var Loading_default = Plugin8;
30318
30324
 
30319
- // src/plugins/Meta.js
30325
+ // src/plugins/meta/Meta.js
30320
30326
  var updateId = null;
30321
30327
  var currentClientMeta;
30322
30328
  var clientList = [];
@@ -30471,7 +30477,7 @@ var Meta_default = {
30471
30477
  }
30472
30478
  };
30473
30479
 
30474
- // src/plugins/Notify.js
30480
+ // src/plugins/notify/Notify.js
30475
30481
  import { h as h136, ref as ref71, markRaw as markRaw2, TransitionGroup } from "vue";
30476
30482
  var uid3 = 0;
30477
30483
  var defaults2 = {};
@@ -30983,7 +30989,7 @@ function getStorage(type) {
30983
30989
  };
30984
30990
  }
30985
30991
 
30986
- // src/plugins/LocalStorage.js
30992
+ // src/plugins/local-storage/LocalStorage.js
30987
30993
  var storage = client.has.webStorage === false ? getEmptyStorage() : getStorage("local");
30988
30994
  var Plugin9 = {
30989
30995
  install({ $q }) {
@@ -30993,7 +30999,7 @@ var Plugin9 = {
30993
30999
  Object.assign(Plugin9, storage);
30994
31000
  var LocalStorage_default = Plugin9;
30995
31001
 
30996
- // src/plugins/SessionStorage.js
31002
+ // src/plugins/session-storage/SessionStorage.js
30997
31003
  var storage2 = client.has.webStorage === false ? getEmptyStorage() : getStorage("session");
30998
31004
  var Plugin10 = {
30999
31005
  install({ $q }) {
@@ -31077,6 +31083,30 @@ function useQuasar() {
31077
31083
  return inject13(quasarKey);
31078
31084
  }
31079
31085
 
31086
+ // src/composables/use-interval.js
31087
+ import { onDeactivated as onDeactivated11, onBeforeUnmount as onBeforeUnmount38, getCurrentInstance as getCurrentInstance87 } from "vue";
31088
+ function use_interval_default() {
31089
+ let timer2 = null;
31090
+ const vm2 = getCurrentInstance87();
31091
+ function removeInterval() {
31092
+ if (timer2 !== null) {
31093
+ clearInterval(timer2);
31094
+ timer2 = null;
31095
+ }
31096
+ }
31097
+ onDeactivated11(removeInterval);
31098
+ onBeforeUnmount38(removeInterval);
31099
+ return {
31100
+ removeInterval,
31101
+ registerInterval(fn, delay) {
31102
+ removeInterval(timer2);
31103
+ if (vmIsDestroyed(vm2) === false) {
31104
+ timer2 = setInterval(fn, delay);
31105
+ }
31106
+ }
31107
+ };
31108
+ }
31109
+
31080
31110
  // src/utils/copy-to-clipboard.js
31081
31111
  function fallback(text) {
31082
31112
  const area = document.createElement("textarea");
@@ -31359,7 +31389,7 @@ function runSequentialPromises(sequentialPromises, { threadsNumber = 1, abortOnF
31359
31389
 
31360
31390
  // src/index.dev.js
31361
31391
  var Quasar = {
31362
- version: "2.15.0",
31392
+ version: "2.15.2",
31363
31393
  install: install_quasar_default,
31364
31394
  lang: lang_default,
31365
31395
  iconSet: icon_set_default
@@ -31368,7 +31398,7 @@ export {
31368
31398
  AddressbarColor_default as AddressbarColor,
31369
31399
  AppFullscreen_default as AppFullscreen,
31370
31400
  AppVisibility_default as AppVisibility,
31371
- BottomSheet_default2 as BottomSheet,
31401
+ BottomSheet_default as BottomSheet,
31372
31402
  ClosePopup_default as ClosePopup,
31373
31403
  Cookies_default as Cookies,
31374
31404
  Dark_default as Dark,
@@ -31544,6 +31574,7 @@ export {
31544
31574
  use_form_child_default as useFormChild,
31545
31575
  use_hydration_default as useHydration,
31546
31576
  use_id_default as useId,
31577
+ use_interval_default as useInterval,
31547
31578
  use_meta_default as useMeta,
31548
31579
  useQuasar,
31549
31580
  use_render_cache_default as useRenderCache,