quasar 2.15.1 → 2.15.3

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 (795) hide show
  1. package/dist/api/AddressbarColor.json +1 -1
  2. package/dist/api/AppFullscreen.json +1 -1
  3. package/dist/api/BottomSheet.json +1 -1
  4. package/dist/api/ClosePopup.json +1 -1
  5. package/dist/api/Cookies.json +1 -1
  6. package/dist/api/Dark.json +1 -1
  7. package/dist/api/Dialog.json +1 -1
  8. package/dist/api/IconSet.json +1 -0
  9. package/dist/api/Intersection.json +1 -1
  10. package/dist/api/Lang.json +1 -1
  11. package/dist/api/Loading.json +1 -1
  12. package/dist/api/LoadingBar.json +1 -1
  13. package/dist/api/LocalStorage.json +1 -1
  14. package/dist/api/Morph.json +1 -1
  15. package/dist/api/Mutation.json +1 -1
  16. package/dist/api/Notify.json +1 -1
  17. package/dist/api/Platform.json +1 -1
  18. package/dist/api/QAjaxBar.json +1 -1
  19. package/dist/api/QAvatar.json +1 -1
  20. package/dist/api/QBadge.json +1 -1
  21. package/dist/api/QBanner.json +1 -1
  22. package/dist/api/QBar.json +1 -1
  23. package/dist/api/QBreadcrumbs.json +1 -1
  24. package/dist/api/QBreadcrumbsEl.json +1 -1
  25. package/dist/api/QBtn.json +1 -1
  26. package/dist/api/QBtnDropdown.json +1 -1
  27. package/dist/api/QBtnToggle.json +1 -1
  28. package/dist/api/QCard.json +1 -1
  29. package/dist/api/QCardActions.json +1 -1
  30. package/dist/api/QCardSection.json +1 -1
  31. package/dist/api/QCarousel.json +1 -1
  32. package/dist/api/QCarouselControl.json +1 -1
  33. package/dist/api/QCarouselSlide.json +1 -1
  34. package/dist/api/QChatMessage.json +1 -1
  35. package/dist/api/QCheckbox.json +1 -1
  36. package/dist/api/QChip.json +1 -1
  37. package/dist/api/QCircularProgress.json +1 -1
  38. package/dist/api/QColor.json +1 -1
  39. package/dist/api/QDate.json +1 -1
  40. package/dist/api/QDialog.json +1 -1
  41. package/dist/api/QDrawer.json +1 -1
  42. package/dist/api/QEditor.json +1 -1
  43. package/dist/api/QExpansionItem.json +1 -1
  44. package/dist/api/QFab.json +1 -1
  45. package/dist/api/QFabAction.json +1 -1
  46. package/dist/api/QField.json +1 -1
  47. package/dist/api/QFile.json +1 -1
  48. package/dist/api/QFooter.json +1 -1
  49. package/dist/api/QForm.json +1 -1
  50. package/dist/api/QFormChildMixin.json +1 -1
  51. package/dist/api/QHeader.json +1 -1
  52. package/dist/api/QIcon.json +1 -1
  53. package/dist/api/QImg.json +1 -1
  54. package/dist/api/QInfiniteScroll.json +1 -1
  55. package/dist/api/QInnerLoading.json +1 -1
  56. package/dist/api/QInput.json +1 -1
  57. package/dist/api/QIntersection.json +1 -1
  58. package/dist/api/QItem.json +1 -1
  59. package/dist/api/QKnob.json +1 -1
  60. package/dist/api/QLayout.json +1 -1
  61. package/dist/api/QLinearProgress.json +1 -1
  62. package/dist/api/QList.json +1 -1
  63. package/dist/api/QMarkupTable.json +1 -1
  64. package/dist/api/QMenu.json +1 -1
  65. package/dist/api/QNoSsr.json +1 -1
  66. package/dist/api/QOptionGroup.json +1 -1
  67. package/dist/api/QPage.json +1 -1
  68. package/dist/api/QPageScroller.json +1 -1
  69. package/dist/api/QPageSticky.json +1 -1
  70. package/dist/api/QPagination.json +1 -1
  71. package/dist/api/QParallax.json +1 -1
  72. package/dist/api/QPopupEdit.json +1 -1
  73. package/dist/api/QPopupProxy.json +1 -1
  74. package/dist/api/QPullToRefresh.json +1 -1
  75. package/dist/api/QRadio.json +1 -1
  76. package/dist/api/QRange.json +1 -1
  77. package/dist/api/QRating.json +1 -1
  78. package/dist/api/QResizeObserver.json +1 -1
  79. package/dist/api/QResponsive.json +1 -1
  80. package/dist/api/QRouteTab.json +1 -1
  81. package/dist/api/QScrollArea.json +1 -1
  82. package/dist/api/QScrollObserver.json +1 -1
  83. package/dist/api/QSelect.json +1 -1
  84. package/dist/api/QSeparator.json +1 -1
  85. package/dist/api/QSkeleton.json +1 -1
  86. package/dist/api/QSlideItem.json +1 -1
  87. package/dist/api/QSlideTransition.json +1 -1
  88. package/dist/api/QSlider.json +1 -1
  89. package/dist/api/QSpinner.json +1 -1
  90. package/dist/api/QSpinnerAudio.json +1 -1
  91. package/dist/api/QSpinnerBall.json +1 -1
  92. package/dist/api/QSpinnerBars.json +1 -1
  93. package/dist/api/QSpinnerBox.json +1 -1
  94. package/dist/api/QSpinnerClock.json +1 -1
  95. package/dist/api/QSpinnerComment.json +1 -1
  96. package/dist/api/QSpinnerCube.json +1 -1
  97. package/dist/api/QSpinnerDots.json +1 -1
  98. package/dist/api/QSpinnerFacebook.json +1 -1
  99. package/dist/api/QSpinnerGears.json +1 -1
  100. package/dist/api/QSpinnerGrid.json +1 -1
  101. package/dist/api/QSpinnerHearts.json +1 -1
  102. package/dist/api/QSpinnerHourglass.json +1 -1
  103. package/dist/api/QSpinnerInfinity.json +1 -1
  104. package/dist/api/QSpinnerIos.json +1 -1
  105. package/dist/api/QSpinnerOrbit.json +1 -1
  106. package/dist/api/QSpinnerOval.json +1 -1
  107. package/dist/api/QSpinnerPie.json +1 -1
  108. package/dist/api/QSpinnerPuff.json +1 -1
  109. package/dist/api/QSpinnerRadio.json +1 -1
  110. package/dist/api/QSpinnerRings.json +1 -1
  111. package/dist/api/QSpinnerTail.json +1 -1
  112. package/dist/api/QSplitter.json +1 -1
  113. package/dist/api/QStep.json +1 -1
  114. package/dist/api/QStepper.json +1 -1
  115. package/dist/api/QTab.json +1 -1
  116. package/dist/api/QTabPanel.json +1 -1
  117. package/dist/api/QTabPanels.json +1 -1
  118. package/dist/api/QTable.json +1 -1
  119. package/dist/api/QTabs.json +1 -1
  120. package/dist/api/QTd.json +1 -1
  121. package/dist/api/QTh.json +1 -1
  122. package/dist/api/QTime.json +1 -1
  123. package/dist/api/QTimeline.json +1 -1
  124. package/dist/api/QTimelineEntry.json +1 -1
  125. package/dist/api/QToggle.json +1 -1
  126. package/dist/api/QTooltip.json +1 -1
  127. package/dist/api/QTr.json +1 -1
  128. package/dist/api/QTree.json +1 -1
  129. package/dist/api/QUploader.json +1 -1
  130. package/dist/api/QVideo.json +1 -1
  131. package/dist/api/QVirtualScroll.json +1 -1
  132. package/dist/api/Ripple.json +1 -1
  133. package/dist/api/Screen.json +1 -1
  134. package/dist/api/Scroll.json +1 -1
  135. package/dist/api/ScrollFire.json +1 -1
  136. package/dist/api/SessionStorage.json +1 -1
  137. package/dist/api/TouchHold.json +1 -1
  138. package/dist/api/TouchPan.json +1 -1
  139. package/dist/api/TouchRepeat.json +1 -1
  140. package/dist/api/TouchSwipe.json +1 -1
  141. package/dist/icon-set/bootstrap-icons.umd.prod.js +2 -2
  142. package/dist/icon-set/eva-icons.umd.prod.js +2 -2
  143. package/dist/icon-set/fontawesome-v5-pro.umd.prod.js +2 -2
  144. package/dist/icon-set/fontawesome-v5.umd.prod.js +2 -2
  145. package/dist/icon-set/fontawesome-v6-pro.umd.prod.js +2 -2
  146. package/dist/icon-set/fontawesome-v6.umd.prod.js +2 -2
  147. package/dist/icon-set/ionicons-v4.umd.prod.js +2 -2
  148. package/dist/icon-set/line-awesome.umd.prod.js +2 -2
  149. package/dist/icon-set/material-icons-outlined.umd.prod.js +2 -2
  150. package/dist/icon-set/material-icons-round.umd.prod.js +2 -2
  151. package/dist/icon-set/material-icons-sharp.umd.prod.js +2 -2
  152. package/dist/icon-set/material-icons.umd.prod.js +2 -2
  153. package/dist/icon-set/material-symbols-outlined.umd.prod.js +2 -2
  154. package/dist/icon-set/material-symbols-rounded.umd.prod.js +2 -2
  155. package/dist/icon-set/material-symbols-sharp.umd.prod.js +2 -2
  156. package/dist/icon-set/mdi-v3.umd.prod.js +2 -2
  157. package/dist/icon-set/mdi-v4.umd.prod.js +2 -2
  158. package/dist/icon-set/mdi-v5.umd.prod.js +2 -2
  159. package/dist/icon-set/mdi-v6.umd.prod.js +2 -2
  160. package/dist/icon-set/mdi-v7.umd.prod.js +2 -2
  161. package/dist/icon-set/svg-bootstrap-icons.umd.prod.js +2 -2
  162. package/dist/icon-set/svg-eva-icons.umd.prod.js +2 -2
  163. package/dist/icon-set/svg-fontawesome-v5.umd.prod.js +2 -2
  164. package/dist/icon-set/svg-fontawesome-v6.umd.prod.js +2 -2
  165. package/dist/icon-set/svg-ionicons-v4.umd.prod.js +2 -2
  166. package/dist/icon-set/svg-ionicons-v5.umd.prod.js +2 -2
  167. package/dist/icon-set/svg-ionicons-v6.umd.prod.js +2 -2
  168. package/dist/icon-set/svg-line-awesome.umd.prod.js +2 -2
  169. package/dist/icon-set/svg-material-icons-outlined.umd.prod.js +2 -2
  170. package/dist/icon-set/svg-material-icons-round.umd.prod.js +2 -2
  171. package/dist/icon-set/svg-material-icons-sharp.umd.prod.js +2 -2
  172. package/dist/icon-set/svg-material-icons.umd.prod.js +2 -2
  173. package/dist/icon-set/svg-material-symbols-outlined.umd.prod.js +2 -2
  174. package/dist/icon-set/svg-material-symbols-rounded.umd.prod.js +2 -2
  175. package/dist/icon-set/svg-material-symbols-sharp.umd.prod.js +2 -2
  176. package/dist/icon-set/svg-mdi-v6.umd.prod.js +2 -2
  177. package/dist/icon-set/svg-mdi-v7.umd.prod.js +2 -2
  178. package/dist/icon-set/svg-themify.umd.prod.js +2 -2
  179. package/dist/icon-set/themify.umd.prod.js +2 -2
  180. package/dist/lang/ar-TN.umd.prod.js +2 -2
  181. package/dist/lang/ar.umd.prod.js +2 -2
  182. package/dist/lang/az-Latn.umd.prod.js +2 -2
  183. package/dist/lang/bg.umd.prod.js +2 -2
  184. package/dist/lang/bn.umd.prod.js +2 -2
  185. package/dist/lang/ca.umd.prod.js +2 -2
  186. package/dist/lang/cs.umd.prod.js +2 -2
  187. package/dist/lang/da.umd.prod.js +2 -2
  188. package/dist/lang/de-CH.umd.prod.js +2 -2
  189. package/dist/lang/de-DE.umd.prod.js +2 -2
  190. package/dist/lang/de.umd.prod.js +2 -2
  191. package/dist/lang/el.umd.prod.js +2 -2
  192. package/dist/lang/en-GB.umd.prod.js +2 -2
  193. package/dist/lang/en-US.umd.prod.js +2 -2
  194. package/dist/lang/eo.umd.prod.js +2 -2
  195. package/dist/lang/es.umd.prod.js +2 -2
  196. package/dist/lang/et.umd.prod.js +2 -2
  197. package/dist/lang/eu.umd.prod.js +2 -2
  198. package/dist/lang/fa-IR.umd.prod.js +2 -2
  199. package/dist/lang/fa.umd.prod.js +2 -2
  200. package/dist/lang/fi.umd.prod.js +2 -2
  201. package/dist/lang/fr.umd.prod.js +2 -2
  202. package/dist/lang/gn.umd.prod.js +2 -2
  203. package/dist/lang/he.umd.prod.js +2 -2
  204. package/dist/lang/hi.umd.prod.js +2 -2
  205. package/dist/lang/hr.umd.prod.js +2 -2
  206. package/dist/lang/hu.umd.prod.js +2 -2
  207. package/dist/lang/id.umd.prod.js +2 -2
  208. package/dist/lang/is.umd.prod.js +2 -2
  209. package/dist/lang/it.umd.prod.js +2 -2
  210. package/dist/lang/ja.umd.prod.js +2 -2
  211. package/dist/lang/kk.umd.prod.js +2 -2
  212. package/dist/lang/km.umd.prod.js +2 -2
  213. package/dist/lang/ko-KR.umd.prod.js +2 -2
  214. package/dist/lang/kur-CKB.umd.prod.js +2 -2
  215. package/dist/lang/lt.umd.prod.js +2 -2
  216. package/dist/lang/lu.umd.prod.js +2 -2
  217. package/dist/lang/lv.umd.prod.js +2 -2
  218. package/dist/lang/mk.umd.prod.js +2 -2
  219. package/dist/lang/ml.umd.prod.js +2 -2
  220. package/dist/lang/mm.umd.prod.js +2 -2
  221. package/dist/lang/ms-MY.umd.prod.js +2 -2
  222. package/dist/lang/ms.umd.prod.js +2 -2
  223. package/dist/lang/my.umd.prod.js +2 -2
  224. package/dist/lang/nb-NO.umd.prod.js +2 -2
  225. package/dist/lang/nl.umd.prod.js +2 -2
  226. package/dist/lang/pl.umd.prod.js +2 -2
  227. package/dist/lang/pt-BR.umd.prod.js +2 -2
  228. package/dist/lang/pt.umd.prod.js +2 -2
  229. package/dist/lang/ro.umd.prod.js +2 -2
  230. package/dist/lang/ru.umd.prod.js +2 -2
  231. package/dist/lang/sk.umd.prod.js +2 -2
  232. package/dist/lang/sl.umd.prod.js +2 -2
  233. package/dist/lang/sm.umd.prod.js +2 -2
  234. package/dist/lang/sr-CYR.umd.prod.js +2 -2
  235. package/dist/lang/sr.umd.prod.js +2 -2
  236. package/dist/lang/sv.umd.prod.js +2 -2
  237. package/dist/lang/ta.umd.prod.js +2 -2
  238. package/dist/lang/th.umd.prod.js +2 -2
  239. package/dist/lang/tl.umd.prod.js +2 -2
  240. package/dist/lang/tr.umd.prod.js +2 -2
  241. package/dist/lang/ug.umd.prod.js +2 -2
  242. package/dist/lang/uk.umd.prod.js +2 -2
  243. package/dist/lang/uz-Cyrl.umd.prod.js +2 -2
  244. package/dist/lang/uz-Latn.umd.prod.js +2 -2
  245. package/dist/lang/vi.umd.prod.js +2 -2
  246. package/dist/lang/zh-CN.umd.prod.js +2 -2
  247. package/dist/lang/zh-TW.umd.prod.js +2 -2
  248. package/dist/quasar.addon.prod.css +1 -1
  249. package/dist/quasar.addon.rtl.prod.css +1 -1
  250. package/dist/quasar.cjs.prod.js +19 -19
  251. package/dist/quasar.css +53 -53
  252. package/dist/quasar.esm.js +634 -559
  253. package/dist/quasar.esm.prod.js +14 -14
  254. package/dist/quasar.prod.css +1 -1
  255. package/dist/quasar.rtl.css +65 -65
  256. package/dist/quasar.rtl.prod.css +1 -1
  257. package/dist/quasar.sass +37 -37
  258. package/dist/quasar.umd.js +619 -544
  259. package/dist/quasar.umd.prod.js +23 -23
  260. package/dist/transforms/api-list.json +1 -1
  261. package/dist/transforms/import-map.json +1 -1
  262. package/dist/types/config.d.ts +3 -3
  263. package/dist/types/globals.d.ts +1 -1
  264. package/dist/types/index.d.ts +2245 -336
  265. package/dist/vetur/quasar-attributes.json +1 -1
  266. package/dist/vetur/quasar-tags.json +1 -1
  267. package/dist/web-types/web-types.json +1 -1
  268. package/lang/uk.js +1 -1
  269. package/lang/uk.mjs +1 -1
  270. package/package.json +28 -42
  271. package/src/api.extends.json +23 -21
  272. package/src/components/ajax-bar/QAjaxBar.js +2 -2
  273. package/src/components/ajax-bar/QAjaxBar.json +6 -5
  274. package/src/components/avatar/QAvatar.js +3 -3
  275. package/src/components/avatar/QAvatar.json +2 -2
  276. package/src/components/avatar/QAvatar.test.js +232 -0
  277. package/src/components/badge/QBadge.js +2 -2
  278. package/src/components/badge/QBadge.json +2 -2
  279. package/src/components/badge/QBadge.test.js +267 -0
  280. package/src/components/banner/QBanner.js +3 -3
  281. package/src/components/banner/QBanner.test.js +161 -0
  282. package/src/components/bar/QBar.js +3 -3
  283. package/src/components/bar/QBar.test.js +80 -0
  284. package/src/components/breadcrumbs/QBreadcrumbs.js +6 -4
  285. package/src/components/breadcrumbs/QBreadcrumbs.json +7 -7
  286. package/src/components/breadcrumbs/QBreadcrumbs.test.js +198 -0
  287. package/src/components/breadcrumbs/QBreadcrumbsEl.js +3 -3
  288. package/src/components/breadcrumbs/QBreadcrumbsEl.json +5 -5
  289. package/src/components/breadcrumbs/QBreadcrumbsEl.test.js +564 -0
  290. package/src/components/btn/QBtn.js +12 -6
  291. package/src/components/btn/QBtn.json +3 -2
  292. package/src/components/btn/QBtn.test.js +1529 -0
  293. package/src/components/btn/use-btn.js +8 -6
  294. package/src/components/btn/use-btn.json +14 -14
  295. package/src/components/btn/use-btn.test.js +134 -0
  296. package/src/components/btn-dropdown/QBtnDropdown.js +9 -10
  297. package/src/components/btn-dropdown/QBtnDropdown.json +16 -16
  298. package/src/components/btn-group/QBtnGroup.js +2 -2
  299. package/src/components/btn-toggle/QBtnToggle.js +3 -3
  300. package/src/components/btn-toggle/QBtnToggle.json +8 -8
  301. package/src/components/card/QCard.js +3 -3
  302. package/src/components/card/QCard.json +2 -2
  303. package/src/components/card/QCardActions.js +3 -3
  304. package/src/components/card/QCardActions.json +3 -3
  305. package/src/components/card/QCardSection.js +2 -2
  306. package/src/components/card/QCardSection.json +2 -2
  307. package/src/components/carousel/QCarousel.js +6 -6
  308. package/src/components/carousel/QCarousel.json +10 -10
  309. package/src/components/carousel/QCarouselControl.js +2 -2
  310. package/src/components/carousel/QCarouselControl.json +6 -6
  311. package/src/components/carousel/QCarouselSlide.js +3 -3
  312. package/src/components/carousel/QCarouselSlide.json +5 -8
  313. package/src/components/chat/QChatMessage.js +2 -2
  314. package/src/components/chat/QChatMessage.json +9 -9
  315. package/src/components/checkbox/QCheckbox.js +1 -1
  316. package/src/components/checkbox/use-checkbox.js +8 -8
  317. package/src/components/checkbox/use-checkbox.json +18 -16
  318. package/src/components/chip/QChip.js +7 -6
  319. package/src/components/chip/QChip.json +10 -8
  320. package/src/components/chip/QChip.test.js +902 -0
  321. package/src/components/circular-progress/QCircularProgress.js +5 -5
  322. package/src/components/circular-progress/QCircularProgress.json +9 -9
  323. package/src/components/circular-progress/{use-circular-progress.js → circular-progress.js} +1 -1
  324. package/src/components/circular-progress/circular-progress.test.js +14 -0
  325. package/src/components/color/QColor.js +10 -10
  326. package/src/components/color/QColor.json +9 -11
  327. package/src/components/date/QDate.js +9 -9
  328. package/src/components/date/QDate.json +42 -35
  329. package/src/components/date/use-datetime.js +2 -2
  330. package/src/components/date/use-datetime.json +8 -8
  331. package/src/components/dialog/QDialog.js +33 -22
  332. package/src/components/dialog/QDialog.json +18 -16
  333. package/src/components/dialog/QDialog.test.js +1264 -0
  334. package/src/components/dialog/test/DialogWrapper.vue +17 -0
  335. package/src/components/drawer/QDrawer.js +12 -12
  336. package/src/components/drawer/QDrawer.json +15 -16
  337. package/src/components/editor/QEditor.js +9 -9
  338. package/src/components/editor/QEditor.json +41 -49
  339. package/src/components/editor/editor-caret.js +1 -1
  340. package/src/components/editor/editor-utils.js +3 -3
  341. package/src/components/expansion-item/QExpansionItem.js +9 -9
  342. package/src/components/expansion-item/QExpansionItem.json +15 -15
  343. package/src/components/fab/QFab.js +5 -5
  344. package/src/components/fab/QFab.json +5 -5
  345. package/src/components/fab/QFabAction.js +4 -4
  346. package/src/components/fab/QFabAction.json +5 -6
  347. package/src/components/fab/use-fab.json +10 -12
  348. package/src/components/field/QField.js +2 -2
  349. package/src/components/field/QField.json +12 -8
  350. package/src/components/file/QFile.js +9 -9
  351. package/src/components/file/QFile.json +19 -14
  352. package/src/components/footer/QFooter.js +4 -4
  353. package/src/components/footer/QFooter.json +3 -5
  354. package/src/components/form/QForm.js +6 -6
  355. package/src/components/form/QForm.json +12 -7
  356. package/src/components/form/QFormChildMixin.js +2 -2
  357. package/src/components/form/QFormChildMixin.json +5 -4
  358. package/src/components/header/QHeader.js +3 -3
  359. package/src/components/header/QHeader.json +4 -6
  360. package/src/components/icon/QIcon.js +3 -3
  361. package/src/components/icon/QIcon.json +3 -3
  362. package/src/components/img/QImg.js +6 -6
  363. package/src/components/img/QImg.json +46 -60
  364. package/src/components/infinite-scroll/QInfiniteScroll.js +6 -6
  365. package/src/components/infinite-scroll/QInfiniteScroll.json +23 -10
  366. package/src/components/inner-loading/QInnerLoading.js +3 -3
  367. package/src/components/inner-loading/QInnerLoading.json +6 -8
  368. package/src/components/input/QInput.js +9 -9
  369. package/src/components/input/QInput.json +25 -14
  370. package/src/components/input/use-mask.js +1 -1
  371. package/src/components/input/use-mask.json +1 -1
  372. package/src/components/intersection/QIntersection.js +4 -4
  373. package/src/components/intersection/QIntersection.json +7 -7
  374. package/src/components/item/QItem.js +6 -6
  375. package/src/components/item/QItem.json +6 -6
  376. package/src/components/item/QItemLabel.js +2 -2
  377. package/src/components/item/QItemSection.js +2 -2
  378. package/src/components/item/QList.js +3 -3
  379. package/src/components/item/QList.json +2 -2
  380. package/src/components/knob/QKnob.js +7 -7
  381. package/src/components/knob/QKnob.json +7 -7
  382. package/src/components/layout/QLayout.js +5 -5
  383. package/src/components/layout/QLayout.json +3 -5
  384. package/src/components/linear-progress/QLinearProgress.js +4 -4
  385. package/src/components/linear-progress/QLinearProgress.json +3 -3
  386. package/src/components/markup-table/QMarkupTable.js +3 -3
  387. package/src/components/markup-table/QMarkupTable.json +3 -3
  388. package/src/components/menu/QMenu.js +20 -20
  389. package/src/components/menu/QMenu.json +16 -12
  390. package/src/components/no-ssr/QNoSsr.js +3 -3
  391. package/src/components/no-ssr/QNoSsr.json +3 -3
  392. package/src/components/option-group/QOptionGroup.js +2 -2
  393. package/src/components/option-group/QOptionGroup.json +15 -17
  394. package/src/components/page/QPage.js +3 -3
  395. package/src/components/page/QPage.json +2 -2
  396. package/src/components/page/QPageContainer.js +3 -3
  397. package/src/components/page-scroller/QPageScroller.js +2 -2
  398. package/src/components/page-scroller/QPageScroller.json +3 -3
  399. package/src/components/page-sticky/QPageSticky.js +1 -1
  400. package/src/components/page-sticky/QPageSticky.json +5 -5
  401. package/src/components/page-sticky/use-page-sticky.js +2 -2
  402. package/src/components/pagination/QPagination.js +4 -4
  403. package/src/components/pagination/QPagination.json +24 -22
  404. package/src/components/parallax/QParallax.js +6 -6
  405. package/src/components/parallax/QParallax.json +5 -5
  406. package/src/components/popup-edit/QPopupEdit.js +4 -4
  407. package/src/components/popup-edit/QPopupEdit.json +47 -33
  408. package/src/components/popup-proxy/QPopupProxy.js +3 -3
  409. package/src/components/popup-proxy/QPopupProxy.json +11 -7
  410. package/src/components/pull-to-refresh/QPullToRefresh.js +6 -6
  411. package/src/components/pull-to-refresh/QPullToRefresh.json +6 -2
  412. package/src/components/radio/QRadio.js +9 -9
  413. package/src/components/radio/QRadio.json +9 -7
  414. package/src/components/range/QRange.js +3 -3
  415. package/src/components/range/QRange.json +3 -7
  416. package/src/components/rating/QRating.js +6 -6
  417. package/src/components/rating/QRating.json +17 -20
  418. package/src/components/resize-observer/QResizeObserver.js +3 -3
  419. package/src/components/resize-observer/QResizeObserver.json +4 -3
  420. package/src/components/responsive/QResponsive.js +3 -3
  421. package/src/components/responsive/QResponsive.json +1 -1
  422. package/src/components/scroll-area/QScrollArea.js +7 -7
  423. package/src/components/scroll-area/QScrollArea.json +20 -14
  424. package/src/components/scroll-observer/QScrollObserver.js +3 -3
  425. package/src/components/scroll-observer/QScrollObserver.json +9 -6
  426. package/src/components/select/QSelect.js +10 -10
  427. package/src/components/select/QSelect.json +89 -72
  428. package/src/components/select/__tests__/QSelect.cy.js +21 -1
  429. package/src/components/separator/QSeparator.js +2 -2
  430. package/src/components/separator/QSeparator.json +3 -5
  431. package/src/components/skeleton/QSkeleton.js +3 -3
  432. package/src/components/skeleton/QSkeleton.json +14 -16
  433. package/src/components/slide-item/QSlideItem.js +5 -5
  434. package/src/components/slide-item/QSlideItem.json +5 -3
  435. package/src/components/slide-transition/QSlideTransition.js +1 -1
  436. package/src/components/slide-transition/QSlideTransition.json +1 -1
  437. package/src/components/slider/QSlider.js +4 -4
  438. package/src/components/slider/QSlider.json +2 -4
  439. package/src/components/slider/use-slider.js +7 -7
  440. package/src/components/slider/use-slider.json +19 -23
  441. package/src/components/space/QSpace.js +1 -1
  442. package/src/components/space/QSpace.test.js +17 -0
  443. package/src/components/spinner/QSpinner.js +1 -1
  444. package/src/components/spinner/QSpinner.json +2 -2
  445. package/src/components/spinner/QSpinnerAudio.js +1 -1
  446. package/src/components/spinner/QSpinnerAudio.json +1 -1
  447. package/src/components/spinner/QSpinnerBall.js +1 -1
  448. package/src/components/spinner/QSpinnerBall.json +1 -1
  449. package/src/components/spinner/QSpinnerBars.js +1 -1
  450. package/src/components/spinner/QSpinnerBars.json +1 -1
  451. package/src/components/spinner/QSpinnerBox.js +1 -1
  452. package/src/components/spinner/QSpinnerBox.json +1 -1
  453. package/src/components/spinner/QSpinnerClock.js +1 -1
  454. package/src/components/spinner/QSpinnerClock.json +1 -1
  455. package/src/components/spinner/QSpinnerComment.js +1 -1
  456. package/src/components/spinner/QSpinnerComment.json +1 -1
  457. package/src/components/spinner/QSpinnerCube.js +1 -1
  458. package/src/components/spinner/QSpinnerCube.json +1 -1
  459. package/src/components/spinner/QSpinnerDots.js +1 -1
  460. package/src/components/spinner/QSpinnerDots.json +1 -1
  461. package/src/components/spinner/QSpinnerFacebook.js +1 -1
  462. package/src/components/spinner/QSpinnerFacebook.json +1 -1
  463. package/src/components/spinner/QSpinnerGears.js +1 -1
  464. package/src/components/spinner/QSpinnerGears.json +1 -1
  465. package/src/components/spinner/QSpinnerGrid.js +1 -1
  466. package/src/components/spinner/QSpinnerGrid.json +1 -1
  467. package/src/components/spinner/QSpinnerHearts.js +1 -1
  468. package/src/components/spinner/QSpinnerHearts.json +1 -1
  469. package/src/components/spinner/QSpinnerHourglass.js +1 -1
  470. package/src/components/spinner/QSpinnerHourglass.json +1 -1
  471. package/src/components/spinner/QSpinnerInfinity.js +1 -1
  472. package/src/components/spinner/QSpinnerInfinity.json +1 -1
  473. package/src/components/spinner/QSpinnerIos.js +1 -1
  474. package/src/components/spinner/QSpinnerIos.json +1 -1
  475. package/src/components/spinner/QSpinnerOrbit.js +1 -1
  476. package/src/components/spinner/QSpinnerOrbit.json +1 -1
  477. package/src/components/spinner/QSpinnerOval.js +1 -1
  478. package/src/components/spinner/QSpinnerOval.json +1 -1
  479. package/src/components/spinner/QSpinnerPie.js +1 -1
  480. package/src/components/spinner/QSpinnerPie.json +1 -1
  481. package/src/components/spinner/QSpinnerPuff.js +1 -1
  482. package/src/components/spinner/QSpinnerPuff.json +1 -1
  483. package/src/components/spinner/QSpinnerRadio.js +1 -1
  484. package/src/components/spinner/QSpinnerRadio.json +1 -1
  485. package/src/components/spinner/QSpinnerRings.js +1 -1
  486. package/src/components/spinner/QSpinnerRings.json +1 -1
  487. package/src/components/spinner/QSpinnerTail.js +1 -1
  488. package/src/components/spinner/QSpinnerTail.json +1 -1
  489. package/src/components/spinner/{__spinner-mixin.json → spinner.json} +1 -1
  490. package/src/components/spinner/use-spinner.js +1 -1
  491. package/src/components/splitter/QSplitter.js +4 -4
  492. package/src/components/splitter/QSplitter.json +14 -14
  493. package/src/components/stepper/QStep.js +5 -5
  494. package/src/components/stepper/QStep.json +5 -11
  495. package/src/components/stepper/QStepper.js +5 -5
  496. package/src/components/stepper/QStepper.json +2 -4
  497. package/src/components/stepper/QStepperNavigation.js +2 -2
  498. package/src/components/stepper/StepHeader.js +2 -2
  499. package/src/components/tab-panels/QTabPanel.js +3 -3
  500. package/src/components/tab-panels/QTabPanel.json +1 -7
  501. package/src/components/tab-panels/QTabPanels.js +4 -4
  502. package/src/components/tab-panels/QTabPanels.json +1 -1
  503. package/src/components/table/QTable.js +8 -8
  504. package/src/components/table/QTable.json +148 -142
  505. package/src/components/table/QTd.js +2 -2
  506. package/src/components/table/QTd.json +1 -1
  507. package/src/components/table/QTh.js +2 -2
  508. package/src/components/table/QTh.json +1 -1
  509. package/src/components/table/QTr.js +2 -2
  510. package/src/components/table/QTr.json +1 -1
  511. package/src/components/table/table-column-selection.js +1 -1
  512. package/src/components/table/table-sort.js +2 -2
  513. package/src/components/tabs/QRouteTab.js +2 -2
  514. package/src/components/tabs/QRouteTab.json +2 -2
  515. package/src/components/tabs/QTab.js +1 -1
  516. package/src/components/tabs/QTab.json +6 -13
  517. package/src/components/tabs/QTabs.js +6 -6
  518. package/src/components/tabs/QTabs.json +8 -8
  519. package/src/components/tabs/use-tab.js +8 -8
  520. package/src/components/time/QTime.js +9 -9
  521. package/src/components/time/QTime.json +13 -23
  522. package/src/components/timeline/QTimeline.js +4 -4
  523. package/src/components/timeline/QTimeline.json +4 -4
  524. package/src/components/timeline/QTimelineEntry.js +3 -3
  525. package/src/components/timeline/QTimelineEntry.json +11 -11
  526. package/src/components/toggle/QToggle.js +1 -1
  527. package/src/components/toolbar/QToolbar.js +2 -2
  528. package/src/components/toolbar/QToolbarTitle.js +2 -2
  529. package/src/components/tooltip/QTooltip.js +15 -15
  530. package/src/components/tooltip/QTooltip.json +22 -24
  531. package/src/components/tree/QTree.js +5 -5
  532. package/src/components/tree/QTree.json +38 -30
  533. package/src/components/uploader/QUploader.js +1 -1
  534. package/src/components/uploader/QUploader.json +29 -14
  535. package/src/components/uploader/QUploaderAddTrigger.js +2 -2
  536. package/src/components/uploader/uploader-core.js +8 -8
  537. package/src/components/uploader/xhr-uploader-plugin.js +3 -1
  538. package/src/components/uploader/xhr-uploader-plugin.json +19 -19
  539. package/src/components/video/QVideo.js +2 -2
  540. package/src/components/video/QVideo.json +16 -20
  541. package/src/components/video/QVideo.test.js +183 -0
  542. package/src/components/virtual-scroll/QVirtualScroll.js +4 -4
  543. package/src/components/virtual-scroll/QVirtualScroll.json +8 -10
  544. package/src/components/virtual-scroll/use-virtual-scroll.js +3 -3
  545. package/src/components/virtual-scroll/use-virtual-scroll.json +16 -11
  546. package/src/composables/private.use-align/use-align.test.js +62 -0
  547. package/src/composables/{private → private.use-anchor}/use-anchor.js +3 -3
  548. package/src/composables/{private → private.use-anchor}/use-anchor.json +5 -6
  549. package/src/composables/private.use-dark/use-dark.test.js +68 -0
  550. package/src/composables/{private → private.use-field}/use-field.js +8 -8
  551. package/src/composables/{private → private.use-field}/use-field.json +14 -20
  552. package/src/composables/{private → private.use-file}/use-file.js +2 -2
  553. package/src/composables/{private → private.use-file}/use-file.json +10 -10
  554. package/src/composables/{private → private.use-fullscreen}/use-fullscreen.js +2 -2
  555. package/src/composables/{private → private.use-fullscreen}/use-fullscreen.json +10 -6
  556. package/src/composables/{private → private.use-history}/use-history.js +1 -1
  557. package/src/composables/private.use-history/use-history.test.js +116 -0
  558. package/src/composables/{private → private.use-key-composition}/use-key-composition.js +1 -1
  559. package/src/composables/{private → private.use-model-toggle}/use-model-toggle.js +1 -1
  560. package/src/composables/{private → private.use-panel}/use-panel.child.json +1 -3
  561. package/src/composables/{private → private.use-panel}/use-panel.js +4 -4
  562. package/src/composables/{private → private.use-panel}/use-panel.json +20 -15
  563. package/src/composables/{private → private.use-portal}/use-portal.js +21 -6
  564. package/src/composables/{private → private.use-prevent-scroll}/use-prevent-scroll.js +1 -1
  565. package/src/composables/{private → private.use-ratio}/use-ratio.json +4 -3
  566. package/src/composables/private.use-ratio/use-ratio.test.js +40 -0
  567. package/src/composables/{private → private.use-router-link}/use-router-link.js +1 -1
  568. package/src/composables/{private → private.use-router-link}/use-router-link.json +6 -6
  569. package/src/composables/{private → private.use-scroll-target}/use-scroll-target.js +2 -5
  570. package/src/composables/{private → private.use-size}/use-size.json +1 -1
  571. package/src/composables/private.use-size/use-size.test.js +40 -0
  572. package/src/composables/{private → private.use-transition}/use-transition.json +3 -3
  573. package/src/composables/private.use-transition/use-transition.test.js +118 -0
  574. package/src/composables/{private → private.use-validate}/use-validate.js +4 -4
  575. package/src/composables/{private → private.use-validate}/use-validate.json +9 -7
  576. package/src/composables/{use-dialog-plugin-component.js → use-dialog-plugin-component/use-dialog-plugin-component.js} +2 -4
  577. package/src/composables/{private/use-form.json → use-form/private.use-form.json} +1 -1
  578. package/src/composables/use-form/private.use-form.test.js +107 -0
  579. package/src/composables/{use-form-child.js → use-form/use-form-child.js} +1 -1
  580. package/src/composables/{use-hydration.js → use-hydration/use-hydration.js} +1 -1
  581. package/src/composables/use-hydration/use-hydration.test.js +27 -0
  582. package/src/composables/{use-id.js → use-id/use-id.js} +2 -2
  583. package/src/composables/use-id/use-id.test.js +72 -0
  584. package/src/composables/{use-interval.js → use-interval/use-interval.js} +1 -1
  585. package/src/composables/{use-meta.js → use-meta/use-meta.js} +1 -1
  586. package/src/composables/{use-quasar.js → use-quasar/use-quasar.js} +2 -1
  587. package/src/composables/use-quasar/use-quasar.test.js +35 -0
  588. package/src/composables/{use-tick.js → use-tick/use-tick.js} +1 -1
  589. package/src/composables/{use-timeout.js → use-timeout/use-timeout.js} +1 -1
  590. package/src/composables.js +12 -10
  591. package/src/css/index.sass +7 -7
  592. package/src/directives/{ClosePopup.js → close-popup/ClosePopup.js} +4 -4
  593. package/src/directives/{ClosePopup.json → close-popup/ClosePopup.json} +5 -5
  594. package/src/directives/{Intersection.js → intersection/Intersection.js} +3 -3
  595. package/src/directives/{Intersection.json → intersection/Intersection.json} +4 -6
  596. package/src/directives/{Morph.js → morph/Morph.js} +2 -2
  597. package/src/directives/{Morph.json → morph/Morph.json} +21 -21
  598. package/src/directives/{Mutation.js → mutation/Mutation.js} +2 -2
  599. package/src/directives/{Mutation.json → mutation/Mutation.json} +10 -12
  600. package/src/directives/{Ripple.js → ripple/Ripple.js} +6 -6
  601. package/src/directives/{Ripple.json → ripple/Ripple.json} +9 -15
  602. package/src/directives/ripple/Ripple.test.js +340 -0
  603. package/src/directives/{Scroll.js → scroll/Scroll.js} +4 -4
  604. package/src/directives/{Scroll.json → scroll/Scroll.json} +2 -2
  605. package/src/directives/{ScrollFire.js → scroll-fire/ScrollFire.js} +6 -6
  606. package/src/directives/{ScrollFire.json → scroll-fire/ScrollFire.json} +1 -1
  607. package/src/directives/{TouchHold.js → touch-hold/TouchHold.js} +5 -5
  608. package/src/directives/{TouchHold.json → touch-hold/TouchHold.json} +6 -6
  609. package/src/directives/{TouchPan.js → touch-pan/TouchPan.js} +6 -6
  610. package/src/directives/{TouchPan.json → touch-pan/TouchPan.json} +4 -4
  611. package/src/directives/{TouchRepeat.js → touch-repeat/TouchRepeat.js} +6 -6
  612. package/src/directives/{TouchRepeat.json → touch-repeat/TouchRepeat.json} +4 -4
  613. package/src/directives/{TouchSwipe.js → touch-swipe/TouchSwipe.js} +6 -6
  614. package/src/directives/{TouchSwipe.json → touch-swipe/TouchSwipe.json} +4 -4
  615. package/src/directives.js +11 -11
  616. package/src/index.dev.js +10 -4
  617. package/src/index.prod.js +11 -4
  618. package/src/index.ssr.js +11 -4
  619. package/src/index.umd.js +12 -4
  620. package/src/install-quasar.js +17 -12
  621. package/src/plugins/{AddressbarColor.js → addressbar/AddressbarColor.js} +3 -3
  622. package/src/plugins/{AddressbarColor.json → addressbar/AddressbarColor.json} +3 -2
  623. package/src/plugins/{AppFullscreen.js → app-fullscreen/AppFullscreen.js} +3 -3
  624. package/src/plugins/{AppFullscreen.json → app-fullscreen/AppFullscreen.json} +1 -0
  625. package/src/plugins/{AppVisibility.js → app-visibility/AppVisibility.js} +3 -3
  626. package/src/plugins/bottom-sheet/BottomSheet.js +8 -0
  627. package/src/plugins/{BottomSheet.json → bottom-sheet/BottomSheet.json} +11 -11
  628. package/src/{components/dialog-bottom-sheet/BottomSheet.js → plugins/bottom-sheet/component/BottomSheetComponent.js} +10 -10
  629. package/src/plugins/{Cookies.json → cookies/Cookies.json} +19 -18
  630. package/src/plugins/{Dark.js → dark/Dark.js} +2 -2
  631. package/src/plugins/{Dark.json → dark/Dark.json} +8 -5
  632. package/src/plugins/dialog/Dialog.js +8 -0
  633. package/src/plugins/{Dialog.json → dialog/Dialog.json} +17 -17
  634. package/src/{components/dialog-plugin/DialogPlugin.js → plugins/dialog/component/DialogPluginComponent.js} +14 -14
  635. package/src/{icon-set.js → plugins/icon-set/IconSet.js} +29 -10
  636. package/src/plugins/icon-set/IconSet.json +1417 -0
  637. package/src/plugins/icon-set/IconSet.test.js +346 -0
  638. package/src/{lang.js → plugins/lang/Lang.js} +25 -15
  639. package/src/plugins/lang/Lang.json +1100 -0
  640. package/src/plugins/lang/Lang.test.js +267 -0
  641. package/src/plugins/{Loading.js → loading/Loading.js} +8 -7
  642. package/src/plugins/{Loading.json → loading/Loading.json} +19 -17
  643. package/src/plugins/{LoadingBar.js → loading-bar/LoadingBar.js} +7 -7
  644. package/src/plugins/{LoadingBar.json → loading-bar/LoadingBar.json} +10 -5
  645. package/src/plugins/{Meta.js → meta/Meta.js} +2 -2
  646. package/src/plugins/{Notify.js → notify/Notify.js} +11 -10
  647. package/src/plugins/{Notify.json → notify/Notify.json} +60 -74
  648. package/src/plugins/{Platform.js → platform/Platform.js} +5 -12
  649. package/src/plugins/{Platform.json → platform/Platform.json} +12 -10
  650. package/src/plugins/platform/Platform.test.js +104 -0
  651. package/src/{body.js → plugins/private.body/Body.js} +5 -4
  652. package/src/{history.js → plugins/private.history/History.js} +2 -2
  653. package/src/plugins/{Screen.js → screen/Screen.js} +5 -5
  654. package/src/plugins/{Screen.json → screen/Screen.json} +10 -14
  655. package/src/plugins/{LocalStorage.js → storage/LocalStorage.js} +2 -2
  656. package/src/plugins/storage/LocalStorage.json +5 -0
  657. package/src/plugins/storage/LocalStorage.test.js +323 -0
  658. package/src/plugins/{SessionStorage.js → storage/SessionStorage.js} +2 -2
  659. package/src/plugins/storage/SessionStorage.json +5 -0
  660. package/src/plugins/storage/SessionStorage.test.js +323 -0
  661. package/src/{utils/private → plugins/storage/engine}/web-storage.js +21 -10
  662. package/src/{utils/private → plugins/storage/engine}/web-storage.json +29 -20
  663. package/src/plugins/storage/engine/web-storage.test.js +43 -0
  664. package/src/plugins.js +20 -16
  665. package/src/utils/EventBus/EventBus.test.js +108 -0
  666. package/src/utils/clone/clone.test.js +111 -0
  667. package/src/utils/colors/colors.test.js +459 -0
  668. package/src/utils/{copy-to-clipboard.js → copy-to-clipboard/copy-to-clipboard.js} +1 -1
  669. package/src/utils/{create-meta-mixin.js → create-meta-mixin/create-meta-mixin.js} +1 -1
  670. package/src/utils/{create-uploader-component.js → create-uploader-component/create-uploader-component.js} +4 -4
  671. package/src/utils/css-var/get-css-var.test.js +32 -0
  672. package/src/utils/css-var/set-css-var.test.js +36 -0
  673. package/src/utils/{date.js → date/date.js} +6 -6
  674. package/src/utils/debounce/debounce.test.js +188 -0
  675. package/src/utils/extend/extend.test.js +93 -0
  676. package/src/utils/{format.js → format/format.js} +2 -2
  677. package/src/utils/format/format.test.js +107 -0
  678. package/src/utils/{frame-debounce.js → frame-debounce/frame-debounce.js} +1 -1
  679. package/src/utils/frame-debounce/frame-debounce.test.js +127 -0
  680. package/src/utils/is/is.test.js +125 -0
  681. package/src/utils/{morph.js → morph/morph.js} +1 -1
  682. package/src/utils/{open-url.js → open-url/open-url.js} +3 -3
  683. package/src/utils/patterns/patterns.test.js +403 -0
  684. package/src/utils/{private → private.click-outside}/click-outside.js +2 -2
  685. package/src/utils/{private/define-reactive-plugin.js → private.create/create.js} +6 -3
  686. package/src/utils/private.create/create.test.js +58 -0
  687. package/src/utils/private.focus/focus-manager.test.js +190 -0
  688. package/src/utils/{private → private.focus}/focusout.js +1 -1
  689. package/src/utils/private.focus/focusout.test.js +114 -0
  690. package/src/utils/private.get-emits-object/get-emits-object.test.js +29 -0
  691. package/src/utils/private.global/global-config.test.js +54 -0
  692. package/src/utils/{private → private.global}/global-dialog.js +1 -1
  693. package/src/utils/{private → private.global}/global-dialog.json +3 -3
  694. package/src/utils/{private → private.global}/global-nodes.js +1 -1
  695. package/src/utils/private.global/global-nodes.test.js +110 -0
  696. package/src/utils/private.inject-obj-prop/inject-obj-prop.test.js +104 -0
  697. package/src/utils/{private → private.keyboard}/escape-key.js +2 -2
  698. package/src/utils/private.keyboard/escape-key.test.js +117 -0
  699. package/src/utils/private.noop-ssr-directive-transform/noop-ssr-directive-transform.test.js +14 -0
  700. package/src/utils/{private → private.portal}/portal.js +1 -1
  701. package/src/utils/{private → private.position-engine}/position-engine.js +2 -2
  702. package/src/utils/private.rtl/rtl.test.js +13 -0
  703. package/src/utils/{private → private.selection}/selection.js +1 -1
  704. package/src/utils/private.sort/sort.test.js +25 -0
  705. package/src/utils/{private → private.symbols}/symbols.js +1 -1
  706. package/src/utils/private.touch/touch.test.js +102 -0
  707. package/src/utils/{prevent-scroll.js → scroll/prevent-scroll.js} +3 -3
  708. package/src/utils/{scroll.js → scroll/scroll.js} +1 -1
  709. package/src/utils/throttle/throttle.test.js +146 -0
  710. package/src/utils/uid/uid.test.js +17 -0
  711. package/src/utils.js +24 -24
  712. package/src/vue-plugin.js +12 -4
  713. package/src/Lang.json +0 -19
  714. package/src/api-file-example.json +0 -94
  715. package/src/components/avatar/__tests__/QAvatar.cy.js +0 -120
  716. package/src/components/badge/__tests__/QBadge.cy.js +0 -148
  717. package/src/components/banner/__tests__/QBanner.cy.js +0 -106
  718. package/src/components/bar/__tests__/QBar.cy.js +0 -45
  719. package/src/components/breadcrumbs/__tests__/QBreadcrumbs.cy.js +0 -111
  720. package/src/components/breadcrumbs/__tests__/QBreadcrumbsEl.cy.js +0 -87
  721. package/src/components/btn/__tests__/QBtn.cy.js +0 -128
  722. package/src/components/btn/__tests__/use-btn.cy.js +0 -517
  723. package/src/components/chip/__tests__/QChip.cy.js +0 -480
  724. package/src/components/dialog/__tests__/DialogWrapper.vue +0 -33
  725. package/src/components/dialog/__tests__/QDialog.cy.js +0 -543
  726. package/src/components/tabs/__tests__/QRouteTab.cy.js +0 -9
  727. package/src/composables/private/__tests__/use-form.cy.js +0 -11
  728. package/src/composables/private/__tests__/use-size.cy.js +0 -36
  729. package/src/composables/private/__tests__/use-transition.cy.js +0 -111
  730. package/src/plugins/BottomSheet.js +0 -11
  731. package/src/plugins/Dialog.js +0 -11
  732. package/src/plugins/LocalStorage.json +0 -5
  733. package/src/plugins/SessionStorage.json +0 -5
  734. package/src/utils/private/create.js +0 -4
  735. /package/src/components/breadcrumbs/{__tests__ → test}/BasicBreadcrumbs.vue +0 -0
  736. /package/src/components/breadcrumbs/{__tests__ → test}/BreadcrumbWithSeparatorSlot.vue +0 -0
  737. /package/src/composables/{private/__tests__ → __tests__}/FieldWrapper.vue +0 -0
  738. /package/src/composables/{private/__tests__ → __tests__}/use-anchor.cy.js +0 -0
  739. /package/src/composables/{private/__tests__ → __tests__}/use-field.cy.js +0 -0
  740. /package/src/composables/{private/__tests__ → __tests__}/use-file.cy.js +0 -0
  741. /package/src/composables/{private/__tests__ → __tests__}/use-fullscreen.cy.js +0 -0
  742. /package/src/composables/{private/__tests__ → __tests__}/use-model-toggle.cy.js +0 -0
  743. /package/src/composables/{private/__tests__ → __tests__}/use-portal.cy.js +0 -0
  744. /package/src/composables/{private/__tests__ → __tests__}/use-router-link.cy.js +0 -0
  745. /package/src/composables/{private/__tests__ → __tests__}/use-validate.cy.js +0 -0
  746. /package/src/composables/{private → private.use-align}/use-align.js +0 -0
  747. /package/src/composables/{private → private.use-dark}/use-dark.js +0 -0
  748. /package/src/composables/{private → private.use-file}/use-file-dom-props.js +0 -0
  749. /package/src/composables/{private → private.use-model-toggle}/use-model-toggle.json +0 -0
  750. /package/src/composables/{private → private.use-panel}/use-panel.sass +0 -0
  751. /package/src/composables/{private → private.use-portal}/use-portal.json +0 -0
  752. /package/src/composables/{private → private.use-ratio}/use-ratio.js +0 -0
  753. /package/src/composables/{private → private.use-refocus-target}/use-refocus-target.js +0 -0
  754. /package/src/composables/{private → private.use-size}/use-size.js +0 -0
  755. /package/src/composables/{private → private.use-transition}/use-transition.js +0 -0
  756. /package/src/composables/{private/use-form.js → use-form/private.use-form.js} +0 -0
  757. /package/src/composables/{use-render-cache.js → use-render-cache/use-render-cache.js} +0 -0
  758. /package/src/composables/{use-split-attrs.js → use-split-attrs/use-split-attrs.js} +0 -0
  759. /package/src/directives/{Morph.sass → morph/Morph.sass} +0 -0
  760. /package/src/directives/{Ripple.sass → ripple/Ripple.sass} +0 -0
  761. /package/src/plugins/{AppVisibility.json → app-visibility/AppVisibility.json} +0 -0
  762. /package/src/{components/dialog-bottom-sheet/BottomSheet.sass → plugins/bottom-sheet/component/BottomSheetComponent.sass} +0 -0
  763. /package/src/plugins/{Cookies.js → cookies/Cookies.js} +0 -0
  764. /package/src/{components/dialog-plugin/DialogPlugin.sass → plugins/dialog/component/DialogPluginComponent.sass} +0 -0
  765. /package/src/plugins/{Loading.sass → loading/Loading.sass} +0 -0
  766. /package/src/plugins/{Meta.json → meta/Meta.json} +0 -0
  767. /package/src/plugins/{Notify.sass → notify/Notify.sass} +0 -0
  768. /package/src/utils/{EventBus.js → EventBus/EventBus.js} +0 -0
  769. /package/src/utils/{clone.js → clone/clone.js} +0 -0
  770. /package/src/utils/{colors.js → colors/colors.js} +0 -0
  771. /package/src/utils/{get-css-var.js → css-var/get-css-var.js} +0 -0
  772. /package/src/utils/{set-css-var.js → css-var/set-css-var.js} +0 -0
  773. /package/src/utils/{private/date-persian.js → date/private.persian.js} +0 -0
  774. /package/src/utils/{debounce.js → debounce/debounce.js} +0 -0
  775. /package/src/utils/{dom.js → dom/dom.js} +0 -0
  776. /package/src/utils/{event.js → event/event.js} +0 -0
  777. /package/src/utils/{export-file.js → export-file/export-file.js} +0 -0
  778. /package/src/utils/{extend.js → extend/extend.js} +0 -0
  779. /package/src/utils/{is.js → is/is.js} +0 -0
  780. /package/src/utils/{patterns.js → patterns/patterns.js} +0 -0
  781. /package/src/utils/{private → private.focus}/focus-manager.js +0 -0
  782. /package/src/utils/{private → private.get-emits-object}/get-emits-object.js +0 -0
  783. /package/src/utils/{private → private.global}/global-config.js +0 -0
  784. /package/src/utils/{private → private.inject-obj-prop}/inject-obj-prop.js +0 -0
  785. /package/src/utils/{private → private.keyboard}/key-composition.js +0 -0
  786. /package/src/utils/{private → private.noop-ssr-directive-transform}/noop-ssr-directive-transform.js +0 -0
  787. /package/src/utils/{private → private.option-sizes}/option-sizes.js +0 -0
  788. /package/src/utils/{private → private.render}/render.js +0 -0
  789. /package/src/utils/{private → private.rtl}/rtl.js +0 -0
  790. /package/src/utils/{private → private.sort}/sort.js +0 -0
  791. /package/src/utils/{private → private.touch}/touch.js +0 -0
  792. /package/src/utils/{private → private.vm}/vm.js +0 -0
  793. /package/src/utils/{run-sequential-promises.js → run-sequential-promises/run-sequential-promises.js} +0 -0
  794. /package/src/utils/{throttle.js → throttle/throttle.js} +0 -0
  795. /package/src/utils/{uid.js → uid/uid.js} +0 -0
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Quasar Framework v2.15.1
2
+ * Quasar Framework v2.15.3
3
3
  * (c) 2015-present Razvan Stoenescu
4
4
  * Released under the MIT License.
5
5
  */
@@ -15,8 +15,8 @@
15
15
  return mod2 || (0, cb[__getOwnPropNames(cb)[0]])((mod2 = { exports: {} }).exports, mod2), mod2.exports;
16
16
  };
17
17
  var __export = (target2, all) => {
18
- for (var name in all)
19
- __defProp(target2, name, { get: all[name], enumerable: true });
18
+ for (var name2 in all)
19
+ __defProp(target2, name2, { get: all[name2], enumerable: true });
20
20
  };
21
21
  var __copyProps = (to, from, except, desc) => {
22
22
  if (from && typeof from === "object" || typeof from === "function") {
@@ -268,7 +268,7 @@
268
268
  // Search for vueNamedImportsCode in /ui/build :vue
269
269
  var { h, ref, computed, watch, isRef, toRaw, unref, reactive, shallowReactive, nextTick, onActivated, onDeactivated, onBeforeMount, onMounted, onBeforeUnmount, onUnmounted, onBeforeUpdate, onUpdated, inject, provide, getCurrentInstance, markRaw, Transition, TransitionGroup, KeepAlive, Teleport, useSSRContext, withDirectives, vShow, defineComponent, createApp } = window.Vue;
270
270
 
271
- // src/utils/private/inject-obj-prop.js
271
+ // src/utils/private.inject-obj-prop/inject-obj-prop.js
272
272
  function injectProp(target2, propName, get2, set2) {
273
273
  Object.defineProperty(target2, propName, {
274
274
  get: get2,
@@ -284,7 +284,7 @@
284
284
  return target2;
285
285
  }
286
286
 
287
- // src/plugins/Platform.js
287
+ // src/plugins/platform/Platform.js
288
288
  var isRuntimeSsrPreHydration = false ? { value: true } : ref(
289
289
  false
290
290
  );
@@ -293,8 +293,7 @@
293
293
  const match = /(edg|edge|edga|edgios)\/([\w.]+)/.exec(userAgent2) || /(opr)[\/]([\w.]+)/.exec(userAgent2) || /(vivaldi)[\/]([\w.]+)/.exec(userAgent2) || /(chrome|crios)[\/]([\w.]+)/.exec(userAgent2) || /(version)(applewebkit)[\/]([\w.]+).*(safari)[\/]([\w.]+)/.exec(userAgent2) || /(webkit)[\/]([\w.]+).*(version)[\/]([\w.]+).*(safari)[\/]([\w.]+)/.exec(userAgent2) || /(firefox|fxios)[\/]([\w.]+)/.exec(userAgent2) || /(webkit)[\/]([\w.]+)/.exec(userAgent2) || /(opera)(?:.*version|)[\/]([\w.]+)/.exec(userAgent2) || [];
294
294
  return {
295
295
  browser: match[5] || match[3] || match[1] || "",
296
- version: match[2] || match[4] || "0",
297
- versionNumber: match[4] || match[2] || "0",
296
+ version: match[4] || match[2] || "0",
298
297
  platform: platformMatch[0] || ""
299
298
  };
300
299
  }
@@ -307,7 +306,7 @@
307
306
  if (matched.browser) {
308
307
  browser[matched.browser] = true;
309
308
  browser.version = matched.version;
310
- browser.versionNumber = parseInt(matched.versionNumber, 10);
309
+ browser.versionNumber = parseInt(matched.version, 10);
311
310
  }
312
311
  if (matched.platform) {
313
312
  browser[matched.platform] = true;
@@ -322,7 +321,7 @@
322
321
  browser.winphone = true;
323
322
  delete browser["windows phone"];
324
323
  }
325
- if (browser.edga || browser.edgios) {
324
+ if (browser.edga || browser.edgios || browser.edg) {
326
325
  browser.edge = true;
327
326
  matched.browser = "edge";
328
327
  } else if (browser.crios) {
@@ -344,10 +343,7 @@
344
343
  ) {
345
344
  browser.webkit = true;
346
345
  }
347
- if (browser.edg) {
348
- matched.browser = "edgechromium";
349
- browser.edgeChromium = true;
350
- } else if (browser.opr) {
346
+ if (browser.opr) {
351
347
  matched.browser = "opera";
352
348
  browser.opera = true;
353
349
  }
@@ -475,26 +471,32 @@
475
471
  }
476
472
  var Platform_default = Platform;
477
473
 
478
- // src/utils/private/define-reactive-plugin.js
479
- var define_reactive_plugin_default = false ? (state, plugin) => {
474
+ // src/utils/private.create/create.js
475
+ function createComponent(raw) {
476
+ return markRaw(defineComponent(raw));
477
+ }
478
+ function createDirective(raw) {
479
+ return markRaw(raw);
480
+ }
481
+ var createReactivePlugin = false ? (state, plugin) => {
480
482
  Object.assign(plugin, state);
481
483
  return plugin;
482
484
  } : (state, plugin) => {
483
485
  const reactiveState = reactive(state);
484
- for (const name in state) {
486
+ for (const name2 in state) {
485
487
  injectProp(
486
488
  plugin,
487
- name,
488
- () => reactiveState[name],
489
+ name2,
490
+ () => reactiveState[name2],
489
491
  (val) => {
490
- reactiveState[name] = val;
492
+ reactiveState[name2] = val;
491
493
  }
492
494
  );
493
495
  }
494
496
  return plugin;
495
497
  };
496
498
 
497
- // src/utils/event.js
499
+ // src/utils/event/event.js
498
500
  var listenOpts = {
499
501
  hasPassive: false,
500
502
  passiveCapture: true,
@@ -597,19 +599,19 @@
597
599
  el.querySelectorAll("a, img").forEach(fn);
598
600
  }
599
601
  function addEvt(ctx, targetName, events) {
600
- const name = `__q_${targetName}_evt`;
601
- ctx[name] = ctx[name] !== void 0 ? ctx[name].concat(events) : events;
602
+ const name2 = `__q_${targetName}_evt`;
603
+ ctx[name2] = ctx[name2] !== void 0 ? ctx[name2].concat(events) : events;
602
604
  events.forEach((evt) => {
603
605
  evt[0].addEventListener(evt[1], ctx[evt[2]], listenOpts[evt[3]]);
604
606
  });
605
607
  }
606
608
  function cleanEvt(ctx, targetName) {
607
- const name = `__q_${targetName}_evt`;
608
- if (ctx[name] !== void 0) {
609
- ctx[name].forEach((evt) => {
609
+ const name2 = `__q_${targetName}_evt`;
610
+ if (ctx[name2] !== void 0) {
611
+ ctx[name2].forEach((evt) => {
610
612
  evt[0].removeEventListener(evt[1], ctx[evt[2]], listenOpts[evt[3]]);
611
613
  });
612
- ctx[name] = void 0;
614
+ ctx[name2] = void 0;
613
615
  }
614
616
  }
615
617
  var event_default = {
@@ -626,7 +628,7 @@
626
628
  preventDraggable
627
629
  };
628
630
 
629
- // src/utils/debounce.js
631
+ // src/utils/debounce/debounce.js
630
632
  function debounce_default(fn, wait = 250, immediate) {
631
633
  let timer2 = null;
632
634
  function debounced() {
@@ -650,10 +652,10 @@
650
652
  return debounced;
651
653
  }
652
654
 
653
- // src/plugins/Screen.js
655
+ // src/plugins/screen/Screen.js
654
656
  var SIZE_LIST = ["sm", "md", "lg", "xl"];
655
657
  var { passive } = listenOpts;
656
- var Screen_default = define_reactive_plugin_default({
658
+ var Screen_default = createReactivePlugin({
657
659
  width: 0,
658
660
  height: 0,
659
661
  name: "xs",
@@ -743,9 +745,9 @@
743
745
  };
744
746
  let updateEvt, updateSizes = {}, updateDebounce = 16;
745
747
  this.setSizes = (sizes) => {
746
- SIZE_LIST.forEach((name) => {
747
- if (sizes[name] !== void 0) {
748
- updateSizes[name] = sizes[name];
748
+ SIZE_LIST.forEach((name2) => {
749
+ if (sizes[name2] !== void 0) {
750
+ updateSizes[name2] = sizes[name2];
749
751
  }
750
752
  });
751
753
  };
@@ -755,14 +757,14 @@
755
757
  const start = () => {
756
758
  const style2 = getComputedStyle(document.body);
757
759
  if (style2.getPropertyValue("--q-size-sm")) {
758
- SIZE_LIST.forEach((name) => {
759
- this.sizes[name] = parseInt(style2.getPropertyValue(`--q-size-${name}`), 10);
760
+ SIZE_LIST.forEach((name2) => {
761
+ this.sizes[name2] = parseInt(style2.getPropertyValue(`--q-size-${name2}`), 10);
760
762
  });
761
763
  }
762
764
  this.setSizes = (sizes) => {
763
- SIZE_LIST.forEach((name) => {
764
- if (sizes[name]) {
765
- this.sizes[name] = sizes[name];
765
+ SIZE_LIST.forEach((name2) => {
766
+ if (sizes[name2]) {
767
+ this.sizes[name2] = sizes[name2];
766
768
  }
767
769
  });
768
770
  this.__update(true);
@@ -789,8 +791,8 @@
789
791
  }
790
792
  });
791
793
 
792
- // src/plugins/Dark.js
793
- var Plugin = define_reactive_plugin_default({
794
+ // src/plugins/dark/Dark.js
795
+ var Plugin = createReactivePlugin({
794
796
  isActive: false,
795
797
  mode: false
796
798
  }, {
@@ -848,7 +850,135 @@
848
850
  });
849
851
  var Dark_default = Plugin;
850
852
 
851
- // src/history.js
853
+ // src/utils/css-var/set-css-var.js
854
+ function setCssVar(propName, value2, element = document.body) {
855
+ if (typeof propName !== "string") {
856
+ throw new TypeError("Expected a string as propName");
857
+ }
858
+ if (typeof value2 !== "string") {
859
+ throw new TypeError("Expected a string as value");
860
+ }
861
+ if (!(element instanceof Element)) {
862
+ throw new TypeError("Expected a DOM element");
863
+ }
864
+ element.style.setProperty(`--q-${propName}`, value2);
865
+ }
866
+
867
+ // src/utils/private.keyboard/key-composition.js
868
+ var lastKeyCompositionStatus = false;
869
+ function onKeyDownComposition(evt) {
870
+ lastKeyCompositionStatus = evt.isComposing === true;
871
+ }
872
+ function shouldIgnoreKey(evt) {
873
+ return lastKeyCompositionStatus === true || evt !== Object(evt) || evt.isComposing === true || evt.qKeyEvent === true;
874
+ }
875
+ function isKeyCode(evt, keyCodes4) {
876
+ return shouldIgnoreKey(evt) === true ? false : [].concat(keyCodes4).includes(evt.keyCode);
877
+ }
878
+
879
+ // src/plugins/private.body/Body.js
880
+ function getMobilePlatform(is) {
881
+ if (is.ios === true)
882
+ return "ios";
883
+ if (is.android === true)
884
+ return "android";
885
+ }
886
+ function getBodyClasses({ is, has: has2, within }, cfg) {
887
+ const cls = [
888
+ is.desktop === true ? "desktop" : "mobile",
889
+ `${has2.touch === false ? "no-" : ""}touch`
890
+ ];
891
+ if (is.mobile === true) {
892
+ const mobile = getMobilePlatform(is);
893
+ mobile !== void 0 && cls.push("platform-" + mobile);
894
+ }
895
+ if (is.nativeMobile === true) {
896
+ const type = is.nativeMobileWrapper;
897
+ cls.push(type);
898
+ cls.push("native-mobile");
899
+ if (is.ios === true && (cfg[type] === void 0 || cfg[type].iosStatusBarPadding !== false)) {
900
+ cls.push("q-ios-padding");
901
+ }
902
+ } else if (is.electron === true) {
903
+ cls.push("electron");
904
+ } else if (is.bex === true) {
905
+ cls.push("bex");
906
+ }
907
+ within.iframe === true && cls.push("within-iframe");
908
+ return cls;
909
+ }
910
+ function applyClientSsrCorrections() {
911
+ const { is } = client;
912
+ const classes = document.body.className;
913
+ const classList = new Set(classes.replace(/ {2}/g, " ").split(" "));
914
+ if (is.nativeMobile !== true && is.electron !== true && is.bex !== true) {
915
+ if (is.desktop === true) {
916
+ classList.delete("mobile");
917
+ classList.delete("platform-ios");
918
+ classList.delete("platform-android");
919
+ classList.add("desktop");
920
+ } else if (is.mobile === true) {
921
+ classList.delete("desktop");
922
+ classList.add("mobile");
923
+ classList.delete("platform-ios");
924
+ classList.delete("platform-android");
925
+ const mobile = getMobilePlatform(is);
926
+ if (mobile !== void 0) {
927
+ classList.add(`platform-${mobile}`);
928
+ }
929
+ }
930
+ }
931
+ if (client.has.touch === true) {
932
+ classList.delete("no-touch");
933
+ classList.add("touch");
934
+ }
935
+ if (client.within.iframe === true) {
936
+ classList.add("within-iframe");
937
+ }
938
+ const newCls = Array.from(classList).join(" ");
939
+ if (classes !== newCls) {
940
+ document.body.className = newCls;
941
+ }
942
+ }
943
+ function setColors(brand) {
944
+ for (const color in brand) {
945
+ setCssVar(color, brand[color]);
946
+ }
947
+ }
948
+ var Body_default = {
949
+ install(opts) {
950
+ if (false) {
951
+ const { $q, ssrContext } = opts;
952
+ const cls = getBodyClasses($q.platform, $q.config);
953
+ if ($q.config.screen !== void 0 && $q.config.screen.bodyClass === true) {
954
+ cls.push("screen--xs");
955
+ }
956
+ ssrContext._meta.bodyClasses += cls.join(" ");
957
+ const brand = $q.config.brand;
958
+ if (brand !== void 0) {
959
+ const vars = Object.keys(brand).map((key) => `--q-${key}:${brand[key]};`).join("");
960
+ ssrContext._meta.endingHeadTags += `<style>:root{${vars}}</style>`;
961
+ }
962
+ return;
963
+ }
964
+ if (this.__installed === true)
965
+ return;
966
+ if (isRuntimeSsrPreHydration.value === true) {
967
+ applyClientSsrCorrections();
968
+ } else {
969
+ const { $q } = opts;
970
+ $q.config.brand !== void 0 && setColors($q.config.brand);
971
+ const cls = getBodyClasses(client, $q.config);
972
+ document.body.classList.add.apply(document.body.classList, cls);
973
+ }
974
+ if (client.is.ios === true) {
975
+ document.body.addEventListener("touchstart", noop);
976
+ }
977
+ window.addEventListener("keydown", onKeyDownComposition, true);
978
+ }
979
+ };
980
+
981
+ // src/plugins/private.history/History.js
852
982
  var getTrue = () => true;
853
983
  function filterInvalidPath(path) {
854
984
  return typeof path === "string" && path !== "" && path !== "/" && path !== "#/";
@@ -872,7 +1002,7 @@
872
1002
  );
873
1003
  return () => exitPaths.includes(window.location.hash);
874
1004
  }
875
- var history_default = {
1005
+ var History_default = {
876
1006
  __history: [],
877
1007
  add: noop,
878
1008
  remove: noop,
@@ -934,7 +1064,7 @@
934
1064
  }
935
1065
  };
936
1066
 
937
- // src/lang.js
1067
+ // src/plugins/lang/Lang.js
938
1068
  var import_en_US = __toESM(require_en_US());
939
1069
  function getLocale() {
940
1070
  if (false)
@@ -944,9 +1074,11 @@
944
1074
  return val.split(/[-_]/).map((v, i) => i === 0 ? v.toLowerCase() : i > 1 || v.length < 4 ? v.toUpperCase() : v[0].toUpperCase() + v.slice(1).toLowerCase()).join("-");
945
1075
  }
946
1076
  }
947
- var Plugin2 = define_reactive_plugin_default({
948
- __langPack: {}
1077
+ var Plugin2 = createReactivePlugin({
1078
+ __qLang: {}
949
1079
  }, {
1080
+ // props: object
1081
+ // __langConfig: object
950
1082
  getLocale,
951
1083
  set(langObject = import_en_US.default, ssrContext) {
952
1084
  const lang = {
@@ -956,7 +1088,7 @@
956
1088
  };
957
1089
  if (false) {
958
1090
  if (ssrContext === void 0) {
959
- console.error("SSR ERROR: second param required: Quasar.lang.set(lang, ssrContext)");
1091
+ console.error("SSR ERROR: second param required: Lang.set(lang, ssrContext)");
960
1092
  return;
961
1093
  }
962
1094
  lang.set = ssrContext.$q.lang.set;
@@ -974,10 +1106,7 @@
974
1106
  el.setAttribute("dir", lang.rtl === true ? "rtl" : "ltr");
975
1107
  el.setAttribute("lang", lang.isoName);
976
1108
  }
977
- Object.assign(Plugin2.__langPack, lang);
978
- Plugin2.props = lang;
979
- Plugin2.isoName = lang.isoName;
980
- Plugin2.nativeName = lang.nativeName;
1109
+ Object.assign(Plugin2.__qLang, lang);
981
1110
  }
982
1111
  },
983
1112
  install({ $q, lang, ssrContext }) {
@@ -988,170 +1117,49 @@
988
1117
  this.set(langObject, ssrContext);
989
1118
  };
990
1119
  $q.lang.set(initialLang);
991
- if (this.isoName !== initialLang.isoName) {
992
- this.isoName = initialLang.isoName;
993
- this.nativeName = initialLang.nativeName;
994
- this.props = initialLang;
1120
+ if (this.props === void 0 || this.props.isoName !== initialLang.isoName) {
1121
+ this.props = { ...initialLang };
995
1122
  }
996
1123
  } else {
997
- $q.lang = Plugin2.__langPack;
1124
+ $q.lang = Plugin2.__qLang;
998
1125
  Plugin2.__langConfig = $q.config.lang;
999
1126
  if (this.__installed === true) {
1000
1127
  lang !== void 0 && this.set(lang);
1001
1128
  } else {
1129
+ this.props = new Proxy(this.__qLang, {
1130
+ get() {
1131
+ return Reflect.get(...arguments);
1132
+ },
1133
+ ownKeys(target2) {
1134
+ return Reflect.ownKeys(target2).filter((key) => key !== "set" && key !== "getLocale");
1135
+ }
1136
+ });
1002
1137
  this.set(lang || import_en_US.default);
1003
1138
  }
1004
1139
  }
1005
1140
  }
1006
1141
  });
1007
- var lang_default = Plugin2;
1142
+ var Lang_default = Plugin2;
1008
1143
 
1009
- // src/utils/set-css-var.js
1010
- function setCssVar(propName, value2, element = document.body) {
1011
- if (typeof propName !== "string") {
1012
- throw new TypeError("Expected a string as propName");
1013
- }
1014
- if (typeof value2 !== "string") {
1015
- throw new TypeError("Expected a string as value");
1016
- }
1017
- if (!(element instanceof Element)) {
1018
- throw new TypeError("Expected a DOM element");
1019
- }
1020
- element.style.setProperty(`--q-${propName}`, value2);
1021
- }
1022
-
1023
- // src/utils/private/key-composition.js
1024
- var lastKeyCompositionStatus = false;
1025
- function onKeyDownComposition(evt) {
1026
- lastKeyCompositionStatus = evt.isComposing === true;
1027
- }
1028
- function shouldIgnoreKey(evt) {
1029
- return lastKeyCompositionStatus === true || evt !== Object(evt) || evt.isComposing === true || evt.qKeyEvent === true;
1030
- }
1031
- function isKeyCode(evt, keyCodes4) {
1032
- return shouldIgnoreKey(evt) === true ? false : [].concat(keyCodes4).includes(evt.keyCode);
1033
- }
1034
-
1035
- // src/body.js
1036
- function getMobilePlatform(is) {
1037
- if (is.ios === true)
1038
- return "ios";
1039
- if (is.android === true)
1040
- return "android";
1041
- }
1042
- function getBodyClasses({ is, has: has2, within }, cfg) {
1043
- const cls = [
1044
- is.desktop === true ? "desktop" : "mobile",
1045
- `${has2.touch === false ? "no-" : ""}touch`
1046
- ];
1047
- if (is.mobile === true) {
1048
- const mobile = getMobilePlatform(is);
1049
- mobile !== void 0 && cls.push("platform-" + mobile);
1050
- }
1051
- if (is.nativeMobile === true) {
1052
- const type = is.nativeMobileWrapper;
1053
- cls.push(type);
1054
- cls.push("native-mobile");
1055
- if (is.ios === true && (cfg[type] === void 0 || cfg[type].iosStatusBarPadding !== false)) {
1056
- cls.push("q-ios-padding");
1057
- }
1058
- } else if (is.electron === true) {
1059
- cls.push("electron");
1060
- } else if (is.bex === true) {
1061
- cls.push("bex");
1062
- }
1063
- within.iframe === true && cls.push("within-iframe");
1064
- return cls;
1065
- }
1066
- function applyClientSsrCorrections() {
1067
- const { is } = client;
1068
- const classes = document.body.className;
1069
- const classList = new Set(classes.replace(/ {2}/g, " ").split(" "));
1070
- if (is.nativeMobile !== true && is.electron !== true && is.bex !== true) {
1071
- if (is.desktop === true) {
1072
- classList.delete("mobile");
1073
- classList.delete("platform-ios");
1074
- classList.delete("platform-android");
1075
- classList.add("desktop");
1076
- } else if (is.mobile === true) {
1077
- classList.delete("desktop");
1078
- classList.add("mobile");
1079
- classList.delete("platform-ios");
1080
- classList.delete("platform-android");
1081
- const mobile = getMobilePlatform(is);
1082
- if (mobile !== void 0) {
1083
- classList.add(`platform-${mobile}`);
1084
- }
1085
- }
1086
- }
1087
- if (client.has.touch === true) {
1088
- classList.delete("no-touch");
1089
- classList.add("touch");
1090
- }
1091
- if (client.within.iframe === true) {
1092
- classList.add("within-iframe");
1093
- }
1094
- const newCls = Array.from(classList).join(" ");
1095
- if (classes !== newCls) {
1096
- document.body.className = newCls;
1097
- }
1098
- }
1099
- function setColors(brand) {
1100
- for (const color in brand) {
1101
- setCssVar(color, brand[color]);
1102
- }
1103
- }
1104
- var body_default = {
1105
- install(opts) {
1106
- if (false) {
1107
- const { $q, ssrContext } = opts;
1108
- const cls = getBodyClasses($q.platform, $q.config);
1109
- if ($q.config.screen !== void 0 && $q.config.screen.bodyClass === true) {
1110
- cls.push("screen--xs");
1111
- }
1112
- ssrContext._meta.bodyClasses += cls.join(" ");
1113
- const brand = $q.config.brand;
1114
- if (brand !== void 0) {
1115
- const vars = Object.keys(brand).map((key) => `--q-${key}:${brand[key]};`).join("");
1116
- ssrContext._meta.endingHeadTags += `<style>:root{${vars}}</style>`;
1117
- }
1118
- return;
1119
- }
1120
- if (this.__installed === true)
1121
- return;
1122
- if (isRuntimeSsrPreHydration.value === true) {
1123
- applyClientSsrCorrections();
1124
- } else {
1125
- const { $q } = opts;
1126
- $q.config.brand !== void 0 && setColors($q.config.brand);
1127
- const cls = getBodyClasses(client, $q.config);
1128
- document.body.classList.add.apply(document.body.classList, cls);
1129
- }
1130
- if (client.is.ios === true) {
1131
- document.body.addEventListener("touchstart", noop);
1132
- }
1133
- window.addEventListener("keydown", onKeyDownComposition, true);
1134
- }
1135
- };
1136
-
1137
- // src/icon-set.js
1144
+ // src/plugins/icon-set/IconSet.js
1138
1145
  var import_material_icons = __toESM(require_material_icons());
1139
- var Plugin3 = define_reactive_plugin_default({
1146
+ var Plugin3 = createReactivePlugin({
1140
1147
  iconMapFn: null,
1141
- __icons: {}
1148
+ __qIconSet: {}
1142
1149
  }, {
1150
+ // props: object
1143
1151
  set(setObject, ssrContext) {
1144
- const def = { ...setObject, rtl: setObject.rtl === true };
1152
+ const def = { ...setObject };
1145
1153
  if (false) {
1146
1154
  if (ssrContext === void 0) {
1147
- console.error("SSR ERROR: second param required: Quasar.iconSet.set(iconSet, ssrContext)");
1155
+ console.error("SSR ERROR: second param required: IconSet.set(iconSet, ssrContext)");
1148
1156
  return;
1149
1157
  }
1150
1158
  def.set = ssrContext.$q.iconSet.set;
1151
1159
  Object.assign(ssrContext.$q.iconSet, def);
1152
1160
  } else {
1153
1161
  def.set = Plugin3.set;
1154
- Object.assign(Plugin3.__icons, def);
1162
+ Object.assign(Plugin3.__qIconSet, def);
1155
1163
  }
1156
1164
  },
1157
1165
  install({ $q, iconSet, ssrContext }) {
@@ -1163,25 +1171,36 @@
1163
1171
  this.set(setObject, ssrContext);
1164
1172
  };
1165
1173
  $q.iconSet.set(initialSet);
1174
+ if (this.props === void 0 || this.props.name !== initialSet.name) {
1175
+ this.props = { ...initialSet };
1176
+ }
1166
1177
  } else {
1167
1178
  if ($q.config.iconMapFn !== void 0) {
1168
1179
  this.iconMapFn = $q.config.iconMapFn;
1169
1180
  }
1170
- $q.iconSet = this.__icons;
1181
+ $q.iconSet = this.__qIconSet;
1171
1182
  injectProp($q, "iconMapFn", () => this.iconMapFn, (val) => {
1172
1183
  this.iconMapFn = val;
1173
1184
  });
1174
1185
  if (this.__installed === true) {
1175
1186
  iconSet !== void 0 && this.set(iconSet);
1176
1187
  } else {
1188
+ this.props = new Proxy(this.__qIconSet, {
1189
+ get() {
1190
+ return Reflect.get(...arguments);
1191
+ },
1192
+ ownKeys(target2) {
1193
+ return Reflect.ownKeys(target2).filter((key) => key !== "set");
1194
+ }
1195
+ });
1177
1196
  this.set(iconSet || import_material_icons.default);
1178
1197
  }
1179
1198
  }
1180
1199
  }
1181
1200
  });
1182
- var icon_set_default = Plugin3;
1201
+ var IconSet_default = Plugin3;
1183
1202
 
1184
- // src/utils/private/symbols.js
1203
+ // src/utils/private.symbols/symbols.js
1185
1204
  var quasarKey = "_q_";
1186
1205
  var timelineKey = "_q_t_";
1187
1206
  var stepperKey = "_q_s_";
@@ -1191,17 +1210,17 @@
1191
1210
  var formKey = "_q_fo_";
1192
1211
  var tabsKey = "_q_tabs_";
1193
1212
  var uploaderKey = "_q_u_";
1194
- var emptyRenderFn = () => {
1195
- };
1213
+ function emptyRenderFn() {
1214
+ }
1196
1215
 
1197
- // src/utils/private/global-config.js
1216
+ // src/utils/private.global/global-config.js
1198
1217
  var globalConfig = {};
1199
1218
  var globalConfigIsFrozen = false;
1200
1219
  function freezeGlobalConfig() {
1201
1220
  globalConfigIsFrozen = true;
1202
1221
  }
1203
1222
 
1204
- // src/utils/is.js
1223
+ // src/utils/is/is.js
1205
1224
  function isDeepEqual(a, b) {
1206
1225
  if (a === b) {
1207
1226
  return true;
@@ -1318,12 +1337,12 @@
1318
1337
  // src/install-quasar.js
1319
1338
  var autoInstalledPlugins = [
1320
1339
  Platform_default,
1321
- body_default,
1340
+ Body_default,
1322
1341
  Dark_default,
1323
1342
  Screen_default,
1324
- history_default,
1325
- lang_default,
1326
- icon_set_default
1343
+ History_default,
1344
+ Lang_default,
1345
+ IconSet_default
1327
1346
  ];
1328
1347
  function createChildApp(appCfg, parentApp) {
1329
1348
  const app2 = createApp(appCfg);
@@ -1370,7 +1389,7 @@
1370
1389
  }
1371
1390
  var install_quasar_default = false ? function(parentApp, opts = {}, ssrContext) {
1372
1391
  const $q = {
1373
- version: "2.15.1",
1392
+ version: "2.15.3",
1374
1393
  config: opts.config || {}
1375
1394
  };
1376
1395
  Object.assign(ssrContext, {
@@ -1400,7 +1419,7 @@
1400
1419
  ssrContext
1401
1420
  });
1402
1421
  } : function(parentApp, opts = {}) {
1403
- const $q = { version: "2.15.1" };
1422
+ const $q = { version: "2.15.3" };
1404
1423
  if (globalConfigIsFrozen === false) {
1405
1424
  if (opts.config !== void 0) {
1406
1425
  Object.assign(globalConfig, opts.config);
@@ -1547,19 +1566,15 @@
1547
1566
  QVirtualScroll: () => QVirtualScroll_default
1548
1567
  });
1549
1568
 
1550
- // src/utils/private/create.js
1551
- var createComponent = (raw) => markRaw(defineComponent(raw));
1552
- var createDirective = (raw) => markRaw(raw);
1553
-
1554
- // src/utils/format.js
1569
+ // src/utils/format/format.js
1555
1570
  var units = ["B", "KB", "MB", "GB", "TB", "PB"];
1556
- function humanStorageSize(bytes) {
1571
+ function humanStorageSize(bytes, decimals = 1) {
1557
1572
  let u = 0;
1558
1573
  while (parseInt(bytes, 10) >= 1024 && u < units.length - 1) {
1559
1574
  bytes /= 1024;
1560
1575
  ++u;
1561
1576
  }
1562
- return `${bytes.toFixed(1)}${units[u]}`;
1577
+ return `${bytes.toFixed(decimals)}${units[u]}`;
1563
1578
  }
1564
1579
  function capitalize(str) {
1565
1580
  return str.charAt(0).toUpperCase() + str.slice(1);
@@ -1806,7 +1821,7 @@
1806
1821
  }
1807
1822
  });
1808
1823
 
1809
- // src/composables/private/use-size.js
1824
+ // src/composables/private.use-size/use-size.js
1810
1825
  var useSizeDefaults = {
1811
1826
  xs: 18,
1812
1827
  sm: 24,
@@ -1821,7 +1836,7 @@
1821
1836
  return computed(() => props4.size !== void 0 ? { fontSize: props4.size in sizes ? `${sizes[props4.size]}px` : props4.size } : null);
1822
1837
  }
1823
1838
 
1824
- // src/utils/private/render.js
1839
+ // src/utils/private.render/render.js
1825
1840
  function hSlot(slot, otherwise) {
1826
1841
  return slot !== void 0 ? slot() || otherwise : otherwise;
1827
1842
  }
@@ -2089,7 +2104,7 @@
2089
2104
  }
2090
2105
  });
2091
2106
 
2092
- // src/composables/private/use-dark.js
2107
+ // src/composables/private.use-dark/use-dark.js
2093
2108
  var useDarkProps = {
2094
2109
  dark: {
2095
2110
  type: Boolean,
@@ -2159,7 +2174,7 @@
2159
2174
  }
2160
2175
  });
2161
2176
 
2162
- // src/composables/private/use-align.js
2177
+ // src/composables/private.use-align/use-align.js
2163
2178
  var alignMap = {
2164
2179
  left: "start",
2165
2180
  center: "center",
@@ -2183,7 +2198,7 @@
2183
2198
  });
2184
2199
  }
2185
2200
 
2186
- // src/utils/private/vm.js
2201
+ // src/utils/private.vm/vm.js
2187
2202
  function getParentProxy(proxy) {
2188
2203
  if (Object(proxy.$parent) === proxy.$parent) {
2189
2204
  return proxy.$parent;
@@ -2250,6 +2265,8 @@
2250
2265
  const sepClass = computed(() => props4.separatorColor ? ` text-${props4.separatorColor}` : "");
2251
2266
  const activeClass = computed(() => ` text-${props4.activeColor}`);
2252
2267
  return () => {
2268
+ if (slots.default === void 0)
2269
+ return;
2253
2270
  const vnodes = getNormalizedVNodes(
2254
2271
  hSlot(slots.default)
2255
2272
  );
@@ -2288,7 +2305,7 @@
2288
2305
  }
2289
2306
  });
2290
2307
 
2291
- // src/composables/private/use-router-link.js
2308
+ // src/composables/private.use-router-link/use-router-link.js
2292
2309
  function getOriginalPath(record) {
2293
2310
  return record ? record.aliasOf ? record.aliasOf.path : record.path : "";
2294
2311
  }
@@ -2540,7 +2557,7 @@
2540
2557
  }
2541
2558
  });
2542
2559
 
2543
- // src/utils/dom.js
2560
+ // src/utils/dom/dom.js
2544
2561
  function offset(el) {
2545
2562
  if (el === window) {
2546
2563
  return { top: 0, left: 0 };
@@ -2612,7 +2629,7 @@
2612
2629
  ready
2613
2630
  };
2614
2631
 
2615
- // src/utils/throttle.js
2632
+ // src/utils/throttle/throttle.js
2616
2633
  function throttle_default(fn, limit = 250) {
2617
2634
  let wait = false, result;
2618
2635
  return function() {
@@ -2627,7 +2644,7 @@
2627
2644
  };
2628
2645
  }
2629
2646
 
2630
- // src/directives/Ripple.js
2647
+ // src/directives/ripple/Ripple.js
2631
2648
  function showRipple(evt, el, ctx, forceCenter) {
2632
2649
  ctx.modifiers.stop === true && stop(evt);
2633
2650
  const color = ctx.modifiers.color;
@@ -2751,7 +2768,7 @@
2751
2768
  var formTypes = ["button", "submit", "reset"];
2752
2769
  var mediaTypeRE = /[^\s]\/[^\s]/;
2753
2770
  var btnDesignOptions = ["flat", "outline", "push", "unelevated"];
2754
- var getBtnDesign = (props4, defaultValue) => {
2771
+ function getBtnDesign(props4, defaultValue) {
2755
2772
  if (props4.flat === true)
2756
2773
  return "flat";
2757
2774
  if (props4.outline === true)
@@ -2761,11 +2778,11 @@
2761
2778
  if (props4.unelevated === true)
2762
2779
  return "unelevated";
2763
2780
  return defaultValue;
2764
- };
2765
- var getBtnDesignAttr = (props4) => {
2781
+ }
2782
+ function getBtnDesignAttr(props4) {
2766
2783
  const design = getBtnDesign(props4);
2767
2784
  return design !== void 0 ? { [design]: true } : {};
2768
- };
2785
+ }
2769
2786
  var useBtnProps = {
2770
2787
  ...useSizeProps,
2771
2788
  ...useRouterLinkProps,
@@ -3087,7 +3104,13 @@
3087
3104
  onBeforeUnmount(() => {
3088
3105
  cleanup(true);
3089
3106
  });
3090
- Object.assign(proxy, { click: onClick });
3107
+ Object.assign(proxy, {
3108
+ click: (e) => {
3109
+ if (isActionable.value === true) {
3110
+ onClick(e);
3111
+ }
3112
+ }
3113
+ });
3091
3114
  return () => {
3092
3115
  let inner = [];
3093
3116
  props4.icon !== void 0 && inner.push(
@@ -3185,7 +3208,7 @@
3185
3208
  }
3186
3209
  });
3187
3210
 
3188
- // src/utils/private/selection.js
3211
+ // src/utils/private.selection/selection.js
3189
3212
  function clearSelection() {
3190
3213
  if (window.getSelection !== void 0) {
3191
3214
  const selection = window.getSelection();
@@ -3200,7 +3223,7 @@
3200
3223
  }
3201
3224
  }
3202
3225
 
3203
- // src/composables/private/use-anchor.js
3226
+ // src/composables/private.use-anchor/use-anchor.js
3204
3227
  var useAnchorProps = {
3205
3228
  target: {
3206
3229
  default: true
@@ -3369,7 +3392,7 @@
3369
3392
  };
3370
3393
  }
3371
3394
 
3372
- // src/composables/private/use-scroll-target.js
3395
+ // src/composables/private.use-scroll-target/use-scroll-target.js
3373
3396
  function use_scroll_target_default(props4, configureScrollTarget) {
3374
3397
  const localScrollTarget = ref(null);
3375
3398
  let scrollFn;
@@ -3402,7 +3425,7 @@
3402
3425
  };
3403
3426
  }
3404
3427
 
3405
- // src/composables/private/use-model-toggle.js
3428
+ // src/composables/private.use-model-toggle/use-model-toggle.js
3406
3429
  var useModelToggleProps = {
3407
3430
  modelValue: {
3408
3431
  type: Boolean,
@@ -3525,7 +3548,7 @@
3525
3548
  return publicMethods;
3526
3549
  }
3527
3550
 
3528
- // src/utils/private/focus-manager.js
3551
+ // src/utils/private.focus/focus-manager.js
3529
3552
  var queue = [];
3530
3553
  var waitFlags = [];
3531
3554
  function clearFlag(flag) {
@@ -3553,7 +3576,7 @@
3553
3576
  queue = queue.filter((entry) => entry !== fn);
3554
3577
  }
3555
3578
 
3556
- // src/utils/private/global-nodes.js
3579
+ // src/utils/private.global/global-nodes.js
3557
3580
  var nodesList = [];
3558
3581
  var portalTypeList = [];
3559
3582
  var portalIndex = 1;
@@ -3600,7 +3623,7 @@
3600
3623
  }
3601
3624
  }
3602
3625
 
3603
- // src/utils/private/portal.js
3626
+ // src/utils/private.portal/portal.js
3604
3627
  var portalProxyList = [];
3605
3628
  function getPortalProxy(el) {
3606
3629
  return portalProxyList.find(
@@ -3640,7 +3663,13 @@
3640
3663
  }
3641
3664
  }
3642
3665
 
3643
- // src/composables/private/use-portal.js
3666
+ // src/composables/private.use-portal/use-portal.js
3667
+ var QPortal = createComponent({
3668
+ name: "QPortal",
3669
+ setup(_, { slots }) {
3670
+ return () => slots.default();
3671
+ }
3672
+ });
3644
3673
  function isOnGlobalDialog(vm2) {
3645
3674
  vm2 = vm2.parent;
3646
3675
  while (vm2 !== void 0 && vm2 !== null) {
@@ -3710,11 +3739,11 @@
3710
3739
  hidePortal,
3711
3740
  portalIsActive,
3712
3741
  portalIsAccessible,
3713
- renderPortal: () => onGlobalDialog === true ? renderPortalContent() : portalIsActive.value === true ? [h(Teleport, { to: portalEl }, renderPortalContent())] : void 0
3742
+ renderPortal: () => onGlobalDialog === true ? renderPortalContent() : portalIsActive.value === true ? [h(Teleport, { to: portalEl }, h(QPortal, renderPortalContent))] : void 0
3714
3743
  };
3715
3744
  }
3716
3745
 
3717
- // src/composables/private/use-transition.js
3746
+ // src/composables/private.use-transition/use-transition.js
3718
3747
  var useTransitionProps = {
3719
3748
  transitionShow: {
3720
3749
  type: String,
@@ -3750,7 +3779,7 @@
3750
3779
  };
3751
3780
  }
3752
3781
 
3753
- // src/composables/use-tick.js
3782
+ // src/composables/use-tick/use-tick.js
3754
3783
  function use_tick_default() {
3755
3784
  let tickFn;
3756
3785
  const vm2 = getCurrentInstance();
@@ -3773,7 +3802,7 @@
3773
3802
  };
3774
3803
  }
3775
3804
 
3776
- // src/composables/use-timeout.js
3805
+ // src/composables/use-timeout/use-timeout.js
3777
3806
  function use_timeout_default() {
3778
3807
  let timer2 = null;
3779
3808
  const vm2 = getCurrentInstance();
@@ -3799,7 +3828,7 @@
3799
3828
  };
3800
3829
  }
3801
3830
 
3802
- // src/utils/scroll.js
3831
+ // src/utils/scroll/scroll.js
3803
3832
  var scrollTargets = false ? [] : [null, document, document.body, document.scrollingElement, document.documentElement];
3804
3833
  function getScrollTarget(el, targetEl) {
3805
3834
  let target2 = getElement(targetEl);
@@ -3938,7 +3967,7 @@
3938
3967
  hasScrollbar
3939
3968
  };
3940
3969
 
3941
- // src/utils/private/escape-key.js
3970
+ // src/utils/private.keyboard/escape-key.js
3942
3971
  var handlers = [];
3943
3972
  var escDown;
3944
3973
  function onKeydown(evt) {
@@ -3981,7 +4010,7 @@
3981
4010
  }
3982
4011
  }
3983
4012
 
3984
- // src/utils/private/focusout.js
4013
+ // src/utils/private.focus/focusout.js
3985
4014
  var handlers2 = [];
3986
4015
  function trigger(e) {
3987
4016
  handlers2[handlers2.length - 1](e);
@@ -4004,7 +4033,7 @@
4004
4033
  }
4005
4034
  }
4006
4035
 
4007
- // src/utils/private/click-outside.js
4036
+ // src/utils/private.click-outside/click-outside.js
4008
4037
  var timer = null;
4009
4038
  var { notPassiveCapture } = listenOpts;
4010
4039
  var registeredList = [];
@@ -4064,7 +4093,7 @@
4064
4093
  }
4065
4094
  }
4066
4095
 
4067
- // src/utils/private/position-engine.js
4096
+ // src/utils/private.position-engine/position-engine.js
4068
4097
  var vpLeft;
4069
4098
  var vpTop;
4070
4099
  function validatePosition(pos) {
@@ -4564,7 +4593,7 @@
4564
4593
  }
4565
4594
  });
4566
4595
 
4567
- // src/utils/uid.js
4596
+ // src/utils/uid/uid.js
4568
4597
  var buf;
4569
4598
  var bufIdx = 0;
4570
4599
  var hexBytes = new Array(256);
@@ -4605,7 +4634,7 @@
4605
4634
  return hexBytes[b[0]] + hexBytes[b[1]] + hexBytes[b[2]] + hexBytes[b[3]] + "-" + hexBytes[b[4]] + hexBytes[b[5]] + "-" + hexBytes[b[6]] + hexBytes[b[7]] + "-" + hexBytes[b[8]] + hexBytes[b[9]] + "-" + hexBytes[b[10]] + hexBytes[b[11]] + hexBytes[b[12]] + hexBytes[b[13]] + hexBytes[b[14]] + hexBytes[b[15]];
4606
4635
  }
4607
4636
 
4608
- // src/composables/use-id.js
4637
+ // src/composables/use-id/use-id.js
4609
4638
  function parseValue(val) {
4610
4639
  return val === void 0 || val === null ? null : val;
4611
4640
  }
@@ -4632,16 +4661,15 @@
4632
4661
 
4633
4662
  // src/components/btn-dropdown/QBtnDropdown.js
4634
4663
  var btnPropsList = Object.keys(useBtnProps);
4635
- var passBtnProps = (props4) => btnPropsList.reduce(
4636
- (acc, key) => {
4664
+ function passBtnProps(props4) {
4665
+ return btnPropsList.reduce((acc, key) => {
4637
4666
  const val = props4[key];
4638
4667
  if (val !== void 0) {
4639
4668
  acc[key] = val;
4640
4669
  }
4641
4670
  return acc;
4642
- },
4643
- {}
4644
- );
4671
+ }, {});
4672
+ }
4645
4673
  var QBtnDropdown_default = createComponent({
4646
4674
  name: "QBtnDropdown",
4647
4675
  props: {
@@ -4820,7 +4848,7 @@
4820
4848
  }
4821
4849
  });
4822
4850
 
4823
- // src/composables/private/use-form.js
4851
+ // src/composables/use-form/private.use-form.js
4824
4852
  var useFormProps = {
4825
4853
  name: String
4826
4854
  };
@@ -5028,7 +5056,7 @@
5028
5056
  }
5029
5057
  });
5030
5058
 
5031
- // src/utils/private/touch.js
5059
+ // src/utils/private.touch/touch.js
5032
5060
  var modifiersAll = {
5033
5061
  left: true,
5034
5062
  right: true,
@@ -5069,7 +5097,7 @@
5069
5097
  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);
5070
5098
  }
5071
5099
 
5072
- // src/directives/TouchSwipe.js
5100
+ // src/directives/touch-swipe/TouchSwipe.js
5073
5101
  function parseArg(arg) {
5074
5102
  const data = [0.06, 6, 50];
5075
5103
  if (typeof arg === "string" && arg.length) {
@@ -5248,7 +5276,7 @@
5248
5276
  }
5249
5277
  );
5250
5278
 
5251
- // src/composables/use-render-cache.js
5279
+ // src/composables/use-render-cache/use-render-cache.js
5252
5280
  function use_render_cache_default() {
5253
5281
  let cache = /* @__PURE__ */ Object.create(null);
5254
5282
  return {
@@ -5269,7 +5297,7 @@
5269
5297
  };
5270
5298
  }
5271
5299
 
5272
- // src/composables/private/use-panel.js
5300
+ // src/composables/private.use-panel/use-panel.js
5273
5301
  var usePanelChildProps = {
5274
5302
  name: { required: true },
5275
5303
  disable: Boolean
@@ -5363,15 +5391,15 @@
5363
5391
  function previousPanel() {
5364
5392
  goToPanelByOffset(-1);
5365
5393
  }
5366
- function goToPanel(name) {
5367
- emit("update:modelValue", name);
5394
+ function goToPanel(name2) {
5395
+ emit("update:modelValue", name2);
5368
5396
  }
5369
- function isValidPanelName(name) {
5370
- return name !== void 0 && name !== null && name !== "";
5397
+ function isValidPanelName(name2) {
5398
+ return name2 !== void 0 && name2 !== null && name2 !== "";
5371
5399
  }
5372
- function getPanelIndex(name) {
5400
+ function getPanelIndex(name2) {
5373
5401
  return panels.findIndex((panel) => {
5374
- return panel.props.name === name && panel.props.disable !== "" && panel.props.disable !== true;
5402
+ return panel.props.name === name2 && panel.props.disable !== "" && panel.props.disable !== true;
5375
5403
  });
5376
5404
  }
5377
5405
  function getEnabledPanels() {
@@ -5470,7 +5498,7 @@
5470
5498
  };
5471
5499
  }
5472
5500
 
5473
- // src/composables/private/use-fullscreen.js
5501
+ // src/composables/private.use-fullscreen/use-fullscreen.js
5474
5502
  var counter = 0;
5475
5503
  var useFullscreenProps = {
5476
5504
  fullscreen: Boolean,
@@ -5516,14 +5544,14 @@
5516
5544
  historyEntry = {
5517
5545
  handler: exitFullscreen
5518
5546
  };
5519
- history_default.add(historyEntry);
5547
+ History_default.add(historyEntry);
5520
5548
  }
5521
5549
  function exitFullscreen() {
5522
5550
  if (inFullscreen.value !== true) {
5523
5551
  return;
5524
5552
  }
5525
5553
  if (historyEntry !== void 0) {
5526
- history_default.remove(historyEntry);
5554
+ History_default.remove(historyEntry);
5527
5555
  historyEntry = void 0;
5528
5556
  }
5529
5557
  container.replaceChild(proxy.$el, fullscreenFillerNode);
@@ -5692,12 +5720,12 @@
5692
5720
  const maxIndex = panelsLen - 1;
5693
5721
  node.push(
5694
5722
  getNavigationContainer("buttons", (panel, index) => {
5695
- const name = panel.props.name;
5723
+ const name2 = panel.props.name;
5696
5724
  const active = panelIndex.value === index;
5697
5725
  return fn({
5698
5726
  index,
5699
5727
  maxIndex,
5700
- name,
5728
+ name: name2,
5701
5729
  active,
5702
5730
  btnProps: {
5703
5731
  icon: active === true ? navActiveIcon.value : navIcon.value,
@@ -5705,7 +5733,7 @@
5705
5733
  ...controlProps.value
5706
5734
  },
5707
5735
  onClick: () => {
5708
- goToPanel(name);
5736
+ goToPanel(name2);
5709
5737
  }
5710
5738
  });
5711
5739
  })
@@ -5949,7 +5977,7 @@
5949
5977
  }
5950
5978
  });
5951
5979
 
5952
- // src/composables/private/use-refocus-target.js
5980
+ // src/composables/private.use-refocus-target/use-refocus-target.js
5953
5981
  function use_refocus_target_default(props4, rootRef) {
5954
5982
  const refocusRef = ref(null);
5955
5983
  const refocusTargetEl = computed(() => {
@@ -5978,7 +6006,7 @@
5978
6006
  };
5979
6007
  }
5980
6008
 
5981
- // src/utils/private/option-sizes.js
6009
+ // src/utils/private.option-sizes/option-sizes.js
5982
6010
  var option_sizes_default = {
5983
6011
  xs: 30,
5984
6012
  sm: 35,
@@ -6333,7 +6361,7 @@
6333
6361
  }
6334
6362
  });
6335
6363
 
6336
- // src/components/circular-progress/use-circular-progress.js
6364
+ // src/components/circular-progress/circular-progress.js
6337
6365
  var useCircularCommonProps = {
6338
6366
  ...useSizeProps,
6339
6367
  min: {
@@ -6474,7 +6502,7 @@
6474
6502
  }
6475
6503
  });
6476
6504
 
6477
- // src/directives/TouchPan.js
6505
+ // src/directives/touch-pan/TouchPan.js
6478
6506
  function getChanges(evt, ctx, isFinal) {
6479
6507
  const pos = position(evt);
6480
6508
  let dir, distX = pos.left - ctx.event.x, distY = pos.top - ctx.event.y, absX = Math.abs(distX), absY = Math.abs(distY);
@@ -6896,12 +6924,12 @@
6896
6924
  const classes = computed(
6897
6925
  () => `q-slider q-slider${axis.value} q-slider--${active.value === true ? "" : "in"}active inline no-wrap ` + (props4.vertical === true ? "row" : "column") + (props4.disable === true ? " disabled" : " q-slider--enabled" + (editable.value === true ? " q-slider--editable" : "")) + (focus.value === "both" ? " q-slider--focus" : "") + (props4.label || props4.labelAlways === true ? " q-slider--label" : "") + (props4.labelAlways === true ? " q-slider--label-always" : "") + (isDark.value === true ? " q-slider--dark" : "") + (props4.dense === true ? " q-slider--dense q-slider--dense" + axis.value : "")
6898
6926
  );
6899
- function getPositionClass(name) {
6900
- const cls = "q-slider__" + name;
6927
+ function getPositionClass(name2) {
6928
+ const cls = "q-slider__" + name2;
6901
6929
  return `${cls} ${cls}${axis.value} ${cls}${axis.value}${labelSide.value}`;
6902
6930
  }
6903
- function getAxisClass(name) {
6904
- const cls = "q-slider__" + name;
6931
+ function getAxisClass(name2) {
6932
+ const cls = "q-slider__" + name2;
6905
6933
  return `${cls} ${cls}${axis.value}`;
6906
6934
  }
6907
6935
  const selectionBarClass = computed(() => {
@@ -7387,7 +7415,7 @@
7387
7415
  }
7388
7416
  });
7389
7417
 
7390
- // src/composables/use-hydration.js
7418
+ // src/composables/use-hydration/use-hydration.js
7391
7419
  function use_hydration_default() {
7392
7420
  const isHydrated = ref(!isRuntimeSsrPreHydration.value);
7393
7421
  if (isHydrated.value === false) {
@@ -7515,7 +7543,7 @@
7515
7543
  }
7516
7544
  });
7517
7545
 
7518
- // src/utils/private/rtl.js
7546
+ // src/utils/private.rtl/rtl.js
7519
7547
  var rtlHasScrollBug = false;
7520
7548
  if (true) {
7521
7549
  const scroller = document.createElement("div");
@@ -7631,18 +7659,18 @@
7631
7659
  const isRTL = computed(() => props4.vertical !== true && $q.lang.rtl === true);
7632
7660
  const rtlPosCorrection = computed(() => rtlHasScrollBug === false && isRTL.value === true);
7633
7661
  watch(isRTL, updateArrows);
7634
- watch(() => props4.modelValue, (name) => {
7635
- updateModel2({ name, setCurrent: true, skipEmit: true });
7662
+ watch(() => props4.modelValue, (name2) => {
7663
+ updateModel2({ name: name2, setCurrent: true, skipEmit: true });
7636
7664
  });
7637
7665
  watch(() => props4.outsideArrows, recalculateScroll);
7638
- function updateModel2({ name, setCurrent, skipEmit }) {
7639
- if (currentModel.value !== name) {
7666
+ function updateModel2({ name: name2, setCurrent, skipEmit }) {
7667
+ if (currentModel.value !== name2) {
7640
7668
  if (skipEmit !== true && props4["onUpdate:modelValue"] !== void 0) {
7641
- emit("update:modelValue", name);
7669
+ emit("update:modelValue", name2);
7642
7670
  }
7643
7671
  if (setCurrent === true || props4["onUpdate:modelValue"] === void 0) {
7644
- animate(currentModel.value, name);
7645
- currentModel.value = name;
7672
+ animate(currentModel.value, name2);
7673
+ currentModel.value = name2;
7646
7674
  }
7647
7675
  }
7648
7676
  }
@@ -7805,7 +7833,7 @@
7805
7833
  return true;
7806
7834
  }
7807
7835
  function updateActiveRoute() {
7808
- let name = null, bestScore = { matchedLen: 0, queryDiff: 9999, hrefLen: 0 };
7836
+ let name2 = null, bestScore = { matchedLen: 0, queryDiff: 9999, hrefLen: 0 };
7809
7837
  const list = tabDataList.filter((tab) => tab.routeData !== void 0 && tab.routeData.hasRouterLink.value === true);
7810
7838
  const { hash: currentHash, query: currentQuery } = proxy.$route;
7811
7839
  const currentQueryLen = Object.keys(currentQuery).length;
@@ -7823,7 +7851,7 @@
7823
7851
  if (queryLen !== currentQueryLen || hasQueryIncluded(currentQuery, query) === false) {
7824
7852
  continue;
7825
7853
  }
7826
- name = tab.name.value;
7854
+ name2 = tab.name.value;
7827
7855
  break;
7828
7856
  }
7829
7857
  if (hash !== "" && hash !== currentHash) {
@@ -7838,27 +7866,27 @@
7838
7866
  hrefLen: href2.length - hash.length
7839
7867
  };
7840
7868
  if (newScore.matchedLen > bestScore.matchedLen) {
7841
- name = tab.name.value;
7869
+ name2 = tab.name.value;
7842
7870
  bestScore = newScore;
7843
7871
  continue;
7844
7872
  } else if (newScore.matchedLen !== bestScore.matchedLen) {
7845
7873
  continue;
7846
7874
  }
7847
7875
  if (newScore.queryDiff < bestScore.queryDiff) {
7848
- name = tab.name.value;
7876
+ name2 = tab.name.value;
7849
7877
  bestScore = newScore;
7850
7878
  } else if (newScore.queryDiff !== bestScore.queryDiff) {
7851
7879
  continue;
7852
7880
  }
7853
7881
  if (newScore.hrefLen > bestScore.hrefLen) {
7854
- name = tab.name.value;
7882
+ name2 = tab.name.value;
7855
7883
  bestScore = newScore;
7856
7884
  }
7857
7885
  }
7858
- if (name === null && tabDataList.some((tab) => tab.routeData === void 0 && tab.name.value === currentModel.value) === true) {
7886
+ if (name2 === null && tabDataList.some((tab) => tab.routeData === void 0 && tab.name.value === currentModel.value) === true) {
7859
7887
  return;
7860
7888
  }
7861
- updateModel2({ name, setCurrent: true });
7889
+ updateModel2({ name: name2, setCurrent: true });
7862
7890
  }
7863
7891
  function onFocusin(e) {
7864
7892
  removeFocusTimeout();
@@ -8192,7 +8220,7 @@
8192
8220
  }
8193
8221
  });
8194
8222
 
8195
- // src/utils/patterns.js
8223
+ // src/utils/patterns/patterns.js
8196
8224
  var hex = /^#[0-9a-fA-F]{3}([0-9a-fA-F]{3})?$/;
8197
8225
  var hexa = /^#[0-9a-fA-F]{4}([0-9a-fA-F]{4})?$/;
8198
8226
  var hexOrHexa = /^#([0-9a-fA-F]{3}|[0-9a-fA-F]{4}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$/;
@@ -8224,7 +8252,7 @@
8224
8252
  testPattern
8225
8253
  };
8226
8254
 
8227
- // src/utils/colors.js
8255
+ // src/utils/colors/colors.js
8228
8256
  var reRGBA = /^rgb(a)?\((\d{1,3}),(\d{1,3}),(\d{1,3}),?([01]?\.?\d*?)?\)$/;
8229
8257
  function rgbToHex({ r, g, b, a }) {
8230
8258
  const alpha = a !== void 0;
@@ -9135,7 +9163,7 @@
9135
9163
  }
9136
9164
  });
9137
9165
 
9138
- // src/utils/private/date-persian.js
9166
+ // src/utils/date/private.persian.js
9139
9167
  var breaks = [
9140
9168
  -61,
9141
9169
  9,
@@ -9374,7 +9402,7 @@
9374
9402
  };
9375
9403
  }
9376
9404
 
9377
- // src/utils/date.js
9405
+ // src/utils/date/date.js
9378
9406
  var MILLISECONDS_IN_DAY = 864e5;
9379
9407
  var MILLISECONDS_IN_HOUR = 36e5;
9380
9408
  var MILLISECONDS_IN_MINUTE = 6e4;
@@ -9630,7 +9658,7 @@
9630
9658
  if (mask === void 0) {
9631
9659
  mask = defaultMask;
9632
9660
  }
9633
- const langOpts = getDateLocale(dateLocale, lang_default.props), months = langOpts.months, monthsShort = langOpts.monthsShort;
9661
+ const langOpts = getDateLocale(dateLocale, Lang_default.props), months = langOpts.months, monthsShort = langOpts.monthsShort;
9634
9662
  const { regex, map } = getRegexData(mask, langOpts);
9635
9663
  const match = str.match(regex);
9636
9664
  if (match === null) {
@@ -10083,7 +10111,7 @@
10083
10111
  if (mask === void 0) {
10084
10112
  mask = defaultMask;
10085
10113
  }
10086
- const locale = getDateLocale(dateLocale, lang_default.props);
10114
+ const locale = getDateLocale(dateLocale, Lang_default.props);
10087
10115
  return mask.replace(
10088
10116
  token,
10089
10117
  (match, text) => match in formatter ? formatter[match](date, locale, __forcedYear, __forcedTimezoneOffset) : text === void 0 ? match : text.split("\\]").join("]")
@@ -11233,12 +11261,12 @@
11233
11261
  }
11234
11262
  });
11235
11263
 
11236
- // src/composables/private/use-history.js
11264
+ // src/composables/private.use-history/use-history.js
11237
11265
  function use_history_default(showing, hide, hideOnRouteChange) {
11238
11266
  let historyEntry;
11239
11267
  function removeFromHistory() {
11240
11268
  if (historyEntry !== void 0) {
11241
- history_default.remove(historyEntry);
11269
+ History_default.remove(historyEntry);
11242
11270
  historyEntry = void 0;
11243
11271
  }
11244
11272
  }
@@ -11252,12 +11280,12 @@
11252
11280
  condition: () => hideOnRouteChange.value === true,
11253
11281
  handler: hide
11254
11282
  };
11255
- history_default.add(historyEntry);
11283
+ History_default.add(historyEntry);
11256
11284
  }
11257
11285
  };
11258
11286
  }
11259
11287
 
11260
- // src/utils/prevent-scroll.js
11288
+ // src/utils/scroll/prevent-scroll.js
11261
11289
  var registered = 0;
11262
11290
  var scrollPositionX;
11263
11291
  var scrollPositionY;
@@ -11394,7 +11422,7 @@
11394
11422
  apply(action);
11395
11423
  }
11396
11424
 
11397
- // src/composables/private/use-prevent-scroll.js
11425
+ // src/composables/private.use-prevent-scroll/use-prevent-scroll.js
11398
11426
  function use_prevent_scroll_default() {
11399
11427
  let currentState;
11400
11428
  return {
@@ -11566,11 +11594,19 @@
11566
11594
  function focus(selector) {
11567
11595
  addFocusFn(() => {
11568
11596
  let node = innerRef.value;
11569
- if (node === null || node.contains(document.activeElement) === true) {
11597
+ if (node === null)
11570
11598
  return;
11599
+ if (selector !== void 0) {
11600
+ const target2 = node.querySelector(selector);
11601
+ if (target2 !== null) {
11602
+ target2.focus({ preventScroll: true });
11603
+ return;
11604
+ }
11605
+ }
11606
+ if (node.contains(document.activeElement) !== true) {
11607
+ node = node.querySelector("[autofocus][tabindex], [data-autofocus][tabindex]") || node.querySelector("[autofocus] [tabindex], [data-autofocus] [tabindex]") || node.querySelector("[autofocus], [data-autofocus]") || node;
11608
+ node.focus({ preventScroll: true });
11571
11609
  }
11572
- node = (selector !== "" ? node.querySelector(selector) : null) || node.querySelector("[autofocus][tabindex], [data-autofocus][tabindex]") || node.querySelector("[autofocus] [tabindex], [data-autofocus] [tabindex]") || node.querySelector("[autofocus], [data-autofocus]") || node;
11573
- node.focus({ preventScroll: true });
11574
11610
  });
11575
11611
  }
11576
11612
  function shake(focusTarget) {
@@ -12325,9 +12361,9 @@
12325
12361
  }
12326
12362
  }
12327
12363
  }
12328
- hasParent(name, spanLevel) {
12364
+ hasParent(name2, spanLevel) {
12329
12365
  const el = spanLevel ? this.parent : this.blockParent;
12330
- return el !== null ? el.nodeName.toLowerCase() === name.toLowerCase() : false;
12366
+ return el !== null ? el.nodeName.toLowerCase() === name2.toLowerCase() : false;
12331
12367
  }
12332
12368
  hasParents(list, recursive, el = this.parent) {
12333
12369
  if (el === null) {
@@ -12369,14 +12405,14 @@
12369
12405
  }
12370
12406
  return null;
12371
12407
  }
12372
- can(name) {
12373
- if (name === "outdent") {
12408
+ can(name2) {
12409
+ if (name2 === "outdent") {
12374
12410
  return this.hasParents(["blockquote", "li"], true);
12375
12411
  }
12376
- if (name === "indent") {
12412
+ if (name2 === "indent") {
12377
12413
  return this.hasParents(["li"], true);
12378
12414
  }
12379
- if (name === "link") {
12415
+ if (name2 === "link") {
12380
12416
  return this.selection !== null || this.is("link");
12381
12417
  }
12382
12418
  }
@@ -12946,13 +12982,13 @@
12946
12982
  }
12947
12983
  };
12948
12984
  aliases.forEach((alias) => {
12949
- const name = fonts[alias];
12985
+ const name2 = fonts[alias];
12950
12986
  def[alias] = {
12951
12987
  cmd: "fontName",
12952
- param: name,
12988
+ param: name2,
12953
12989
  icon: defaultFontIcon,
12954
- tip: name,
12955
- htmlTip: `<font face="${name}">${name}</font>`
12990
+ tip: name2,
12991
+ htmlTip: `<font face="${name2}">${name2}</font>`
12956
12992
  };
12957
12993
  });
12958
12994
  return def;
@@ -13022,7 +13058,7 @@
13022
13058
  }
13023
13059
  }
13024
13060
 
13025
- // src/composables/use-split-attrs.js
13061
+ // src/composables/use-split-attrs/use-split-attrs.js
13026
13062
  var listenerRE = /^on[A-Z]/;
13027
13063
  function use_split_attrs_default() {
13028
13064
  const { attrs, vnode } = getCurrentInstance();
@@ -13051,11 +13087,11 @@
13051
13087
  return acc;
13052
13088
  }
13053
13089
 
13054
- // src/utils/extend.js
13090
+ // src/utils/extend/extend.js
13055
13091
  var toString = Object.prototype.toString;
13056
13092
  var hasOwn = Object.prototype.hasOwnProperty;
13057
13093
  var notPlainObject = new Set(
13058
- ["Boolean", "Number", "String", "Function", "Array", "Date", "RegExp"].map((name) => "[object " + name + "]")
13094
+ ["Boolean", "Number", "String", "Function", "Array", "Date", "RegExp"].map((name2) => "[object " + name2 + "]")
13059
13095
  );
13060
13096
  function isPlainObject(obj) {
13061
13097
  if (obj !== Object(obj) || notPlainObject.has(toString.call(obj)) === true) {
@@ -13070,7 +13106,7 @@
13070
13106
  return key === void 0 || hasOwn.call(obj, key);
13071
13107
  }
13072
13108
  function extend() {
13073
- let options, name, src, copy, copyIsArray, clone2, target2 = arguments[0] || {}, i = 1, deep = false;
13109
+ let options, name2, src, copy, copyIsArray, clone2, target2 = arguments[0] || {}, i = 1, deep = false;
13074
13110
  const length = arguments.length;
13075
13111
  if (typeof target2 === "boolean") {
13076
13112
  deep = target2;
@@ -13086,9 +13122,9 @@
13086
13122
  }
13087
13123
  for (; i < length; i++) {
13088
13124
  if ((options = arguments[i]) !== null) {
13089
- for (name in options) {
13090
- src = target2[name];
13091
- copy = options[name];
13125
+ for (name2 in options) {
13126
+ src = target2[name2];
13127
+ copy = options[name2];
13092
13128
  if (target2 === copy) {
13093
13129
  continue;
13094
13130
  }
@@ -13098,9 +13134,9 @@
13098
13134
  } else {
13099
13135
  clone2 = isPlainObject(src) === true ? src : {};
13100
13136
  }
13101
- target2[name] = extend(deep, clone2, copy);
13137
+ target2[name2] = extend(deep, clone2, copy);
13102
13138
  } else if (copy !== void 0) {
13103
- target2[name] = copy;
13139
+ target2[name2] = copy;
13104
13140
  }
13105
13141
  }
13106
13142
  }
@@ -13794,7 +13830,7 @@
13794
13830
  );
13795
13831
  const headerSlotScope = computed(() => ({
13796
13832
  expanded: showing.value === true,
13797
- detailsId: props4.targetUid,
13833
+ detailsId: targetUid.value,
13798
13834
  toggle,
13799
13835
  show,
13800
13836
  hide
@@ -13808,9 +13844,9 @@
13808
13844
  "aria-label": toggleAriaLabel
13809
13845
  };
13810
13846
  });
13811
- watch(() => props4.group, (name) => {
13847
+ watch(() => props4.group, (name2) => {
13812
13848
  exitGroup !== void 0 && exitGroup();
13813
- name !== void 0 && enterGroup();
13849
+ name2 !== void 0 && enterGroup();
13814
13850
  });
13815
13851
  function onHeaderClick(e) {
13816
13852
  hasLink.value !== true && toggle(e);
@@ -14239,7 +14275,7 @@
14239
14275
  }
14240
14276
  });
14241
14277
 
14242
- // src/composables/use-form-child.js
14278
+ // src/composables/use-form/use-form-child.js
14243
14279
  function use_form_child_default({ validate, resetValidation, requiresQForm }) {
14244
14280
  const $form = inject(formKey, false);
14245
14281
  if ($form !== false) {
@@ -14264,7 +14300,7 @@
14264
14300
  }
14265
14301
  }
14266
14302
 
14267
- // src/composables/private/use-validate.js
14303
+ // src/composables/private.use-validate/use-validate.js
14268
14304
  var lazyRulesValues = [true, false, "ondemand"];
14269
14305
  var useValidateProps = {
14270
14306
  modelValue: {},
@@ -14407,7 +14443,7 @@
14407
14443
  };
14408
14444
  }
14409
14445
 
14410
- // src/composables/private/use-field.js
14446
+ // src/composables/private.use-field/use-field.js
14411
14447
  function fieldValueIsFilled(val) {
14412
14448
  return val !== void 0 && val !== null && ("" + val).length !== 0;
14413
14449
  }
@@ -14852,7 +14888,7 @@
14852
14888
  }
14853
14889
  });
14854
14890
 
14855
- // src/composables/private/use-file.js
14891
+ // src/composables/private.use-file/use-file.js
14856
14892
  function filterFiles(files, rejectedFiles, failedPropValidation, filterFn) {
14857
14893
  const acceptedFiles = [];
14858
14894
  files.forEach((file) => {
@@ -15028,7 +15064,7 @@
15028
15064
  };
15029
15065
  }
15030
15066
 
15031
- // src/composables/private/use-file-dom-props.js
15067
+ // src/composables/private.use-file/use-file-dom-props.js
15032
15068
  function use_file_dom_props_default(props4, typeGuard) {
15033
15069
  function getFormDomProps() {
15034
15070
  const model = props4.modelValue;
@@ -15706,7 +15742,7 @@
15706
15742
  }
15707
15743
  });
15708
15744
 
15709
- // src/composables/private/use-ratio.js
15745
+ // src/composables/private.use-ratio/use-ratio.js
15710
15746
  var useRatioProps = {
15711
15747
  ratio: [String, Number]
15712
15748
  };
@@ -16573,7 +16609,7 @@
16573
16609
  };
16574
16610
  }
16575
16611
 
16576
- // src/composables/private/use-key-composition.js
16612
+ // src/composables/private.use-key-composition/use-key-composition.js
16577
16613
  var isJapanese = /[\u3000-\u303f\u3040-\u309f\u30a0-\u30ff\uff00-\uff9f\u4e00-\u9faf\u3400-\u4dbf]/;
16578
16614
  var isChinese = /[\u4e00-\u9fff\u3400-\u4dbf\u{20000}-\u{2a6df}\u{2a700}-\u{2b73f}\u{2b740}-\u{2b81f}\u{2b820}-\u{2ceaf}\uf900-\ufaff\u3300-\u33ff\ufe30-\ufe4f\uf900-\ufaff\u{2f800}-\u{2fa1f}]/u;
16579
16615
  var isKorean = /[\u3131-\u314e\u314f-\u3163\uac00-\ud7a3]/;
@@ -16911,7 +16947,7 @@
16911
16947
  }
16912
16948
  });
16913
16949
 
16914
- // src/directives/Intersection.js
16950
+ // src/directives/intersection/Intersection.js
16915
16951
  var defaultCfg = {
16916
16952
  threshold: 0,
16917
16953
  root: null,
@@ -17138,8 +17174,8 @@
17138
17174
  const attrs = computed(() => editable.value === true ? { tabindex: props4.tabindex } : { [`aria-${props4.disable === true ? "disabled" : "readonly"}`]: "true" });
17139
17175
  const circularProps = computed(() => {
17140
17176
  const agg = {};
17141
- commonPropsName.forEach((name) => {
17142
- agg[name] = props4[name];
17177
+ commonPropsName.forEach((name2) => {
17178
+ agg[name2] = props4[name2];
17143
17179
  });
17144
17180
  return agg;
17145
17181
  });
@@ -18488,7 +18524,7 @@
18488
18524
  }
18489
18525
  });
18490
18526
 
18491
- // src/utils/frame-debounce.js
18527
+ // src/utils/frame-debounce/frame-debounce.js
18492
18528
  function frame_debounce_default(fn) {
18493
18529
  let wait = false, frame, callArgs;
18494
18530
  function debounced() {
@@ -18496,7 +18532,7 @@
18496
18532
  if (wait === true)
18497
18533
  return;
18498
18534
  wait = true;
18499
- frame = requestAnimationFrame(() => {
18535
+ frame = window.requestAnimationFrame(() => {
18500
18536
  fn.apply(this, callArgs);
18501
18537
  callArgs = void 0;
18502
18538
  wait = false;
@@ -18639,7 +18675,7 @@
18639
18675
  }
18640
18676
  });
18641
18677
 
18642
- // src/utils/clone.js
18678
+ // src/utils/clone/clone.js
18643
18679
  function cloneDeep(data, hash = /* @__PURE__ */ new WeakMap()) {
18644
18680
  if (Object(data) !== data)
18645
18681
  return data;
@@ -19511,14 +19547,14 @@
19511
19547
  const acc = [], icons = iconData.value, ceil = Math.ceil(props4.modelValue), tabindex = editable.value === true ? 0 : null;
19512
19548
  const halfIndex = props4.iconHalf === void 0 || ceil === props4.modelValue ? -1 : ceil;
19513
19549
  for (let i = 1; i <= props4.max; i++) {
19514
- const active = mouseModel.value === 0 && props4.modelValue >= i || mouseModel.value > 0 && mouseModel.value >= i, half = halfIndex === i && mouseModel.value < i, exSelected = mouseModel.value > 0 && (half === true ? ceil : props4.modelValue) >= i && mouseModel.value < i, color = half === true ? i <= icons.halfColorLen ? props4.colorHalf[i - 1] : icons.halfColor : icons.selColor !== void 0 && active === true ? i <= icons.selColorLen ? props4.colorSelected[i - 1] : icons.selColor : i <= icons.colorLen ? props4.color[i - 1] : icons.color, name = (half === true ? i <= icons.halfIconLen ? props4.iconHalf[i - 1] : icons.halfIcon : icons.selIcon !== void 0 && (active === true || exSelected === true) ? i <= icons.selIconLen ? props4.iconSelected[i - 1] : icons.selIcon : i <= icons.iconLen ? props4.icon[i - 1] : icons.icon) || $q.iconSet.rating.icon;
19550
+ const active = mouseModel.value === 0 && props4.modelValue >= i || mouseModel.value > 0 && mouseModel.value >= i, half = halfIndex === i && mouseModel.value < i, exSelected = mouseModel.value > 0 && (half === true ? ceil : props4.modelValue) >= i && mouseModel.value < i, color = half === true ? i <= icons.halfColorLen ? props4.colorHalf[i - 1] : icons.halfColor : icons.selColor !== void 0 && active === true ? i <= icons.selColorLen ? props4.colorSelected[i - 1] : icons.selColor : i <= icons.colorLen ? props4.color[i - 1] : icons.color, name2 = (half === true ? i <= icons.halfIconLen ? props4.iconHalf[i - 1] : icons.halfIcon : icons.selIcon !== void 0 && (active === true || exSelected === true) ? i <= icons.selIconLen ? props4.iconSelected[i - 1] : icons.selIcon : i <= icons.iconLen ? props4.icon[i - 1] : icons.icon) || $q.iconSet.rating.icon;
19515
19551
  acc.push({
19516
19552
  name: (half === true ? i <= icons.halfIconLen ? props4.iconHalf[i - 1] : icons.halfIcon : icons.selIcon !== void 0 && (active === true || exSelected === true) ? i <= icons.selIconLen ? props4.iconSelected[i - 1] : icons.selIcon : i <= icons.iconLen ? props4.icon[i - 1] : icons.icon) || $q.iconSet.rating.icon,
19517
19553
  attrs: {
19518
19554
  tabindex,
19519
19555
  role: "radio",
19520
19556
  "aria-checked": props4.modelValue === i ? "true" : "false",
19521
- "aria-label": iconLabel.value(i, name)
19557
+ "aria-label": iconLabel.value(i, name2)
19522
19558
  },
19523
19559
  iconClass: "q-rating__icon" + (active === true || half === true ? " q-rating__icon--active" : "") + (exSelected === true ? " q-rating__icon--exselected" : "") + (mouseModel.value === i ? " q-rating__icon--hovered" : "") + (color !== void 0 ? ` text-${color}` : "")
19524
19560
  });
@@ -19575,7 +19611,7 @@
19575
19611
  });
19576
19612
  return () => {
19577
19613
  const child = [];
19578
- stars.value.forEach(({ iconClass, name, attrs }, index) => {
19614
+ stars.value.forEach(({ iconClass, name: name2, attrs }, index) => {
19579
19615
  const i = index + 1;
19580
19616
  child.push(
19581
19617
  h("div", {
@@ -19601,7 +19637,7 @@
19601
19637
  }
19602
19638
  }, hMergeSlot(
19603
19639
  slots[`tip-${i}`],
19604
- [h(QIcon_default, { class: iconClass, name })]
19640
+ [h(QIcon_default, { class: iconClass, name: name2 })]
19605
19641
  ))
19606
19642
  );
19607
19643
  });
@@ -20655,7 +20691,6 @@
20655
20691
  "add",
20656
20692
  "remove",
20657
20693
  "inputValue",
20658
- "newValue",
20659
20694
  "keyup",
20660
20695
  "keypress",
20661
20696
  "keydown",
@@ -24319,9 +24354,9 @@
24319
24354
  }, hSlot(slots.default));
24320
24355
  }
24321
24356
  let col, child;
24322
- const name = vm2.vnode.key;
24323
- if (name) {
24324
- col = props4.props.colsMap[name];
24357
+ const name2 = vm2.vnode.key;
24358
+ if (name2) {
24359
+ col = props4.props.colsMap[name2];
24325
24360
  if (col === void 0)
24326
24361
  return;
24327
24362
  } else {
@@ -24478,7 +24513,7 @@
24478
24513
  }
24479
24514
  });
24480
24515
 
24481
- // src/utils/private/sort.js
24516
+ // src/utils/private.sort/sort.js
24482
24517
  function sortDate(a, b) {
24483
24518
  return new Date(a) - new Date(b);
24484
24519
  }
@@ -24875,11 +24910,11 @@
24875
24910
  return props4.columns;
24876
24911
  }
24877
24912
  const row = props4.rows[0];
24878
- return row !== void 0 ? Object.keys(row).map((name) => ({
24879
- name,
24880
- label: name.toUpperCase(),
24881
- field: name,
24882
- align: isNumber(row[name]) ? "right" : "left",
24913
+ return row !== void 0 ? Object.keys(row).map((name2) => ({
24914
+ name: name2,
24915
+ label: name2.toUpperCase(),
24916
+ field: name2,
24917
+ align: isNumber(row[name2]) ? "right" : "left",
24883
24918
  sortable: true
24884
24919
  })) : [];
24885
24920
  });
@@ -24928,7 +24963,7 @@
24928
24963
  props: {
24929
24964
  rows: {
24930
24965
  type: Array,
24931
- default: () => []
24966
+ required: true
24932
24967
  },
24933
24968
  rowKey: {
24934
24969
  type: [String, Function],
@@ -25227,19 +25262,19 @@
25227
25262
  if (props4.onRowClick !== void 0) {
25228
25263
  data.class["cursor-pointer"] = true;
25229
25264
  data.onClick = (evt) => {
25230
- emit("RowClick", evt, row, pageIndex);
25265
+ emit("rowClick", evt, row, pageIndex);
25231
25266
  };
25232
25267
  }
25233
25268
  if (props4.onRowDblclick !== void 0) {
25234
25269
  data.class["cursor-pointer"] = true;
25235
25270
  data.onDblclick = (evt) => {
25236
- emit("RowDblclick", evt, row, pageIndex);
25271
+ emit("rowDblclick", evt, row, pageIndex);
25237
25272
  };
25238
25273
  }
25239
25274
  if (props4.onRowContextmenu !== void 0) {
25240
25275
  data.class["cursor-pointer"] = true;
25241
25276
  data.onContextmenu = (evt) => {
25242
- emit("RowContextmenu", evt, row, pageIndex);
25277
+ emit("rowContextmenu", evt, row, pageIndex);
25243
25278
  };
25244
25279
  }
25245
25280
  return h("tr", data, child);
@@ -25734,8 +25769,8 @@
25734
25769
  if (props4.props === void 0) {
25735
25770
  return h("td", { class: classes.value }, hSlot(slots.default));
25736
25771
  }
25737
- const name = vm2.vnode.key;
25738
- const col = (props4.props.colsMap !== void 0 ? props4.props.colsMap[name] : null) || props4.props.col;
25772
+ const name2 = vm2.vnode.key;
25773
+ const col = (props4.props.colsMap !== void 0 ? props4.props.colsMap[name2] : null) || props4.props.col;
25739
25774
  if (col === void 0)
25740
25775
  return;
25741
25776
  const { row } = props4.props;
@@ -27447,7 +27482,7 @@
27447
27482
  };
27448
27483
  }
27449
27484
 
27450
- // src/utils/private/get-emits-object.js
27485
+ // src/utils/private.get-emits-object/get-emits-object.js
27451
27486
  var trueFn = () => true;
27452
27487
  function get_emits_object_default(emitsArray) {
27453
27488
  const emitsObject = {};
@@ -27457,10 +27492,10 @@
27457
27492
  return emitsObject;
27458
27493
  }
27459
27494
 
27460
- // src/utils/create-uploader-component.js
27495
+ // src/utils/create-uploader-component/create-uploader-component.js
27461
27496
  var coreEmitsObject = get_emits_object_default(coreEmits);
27462
- var create_uploader_component_default = ({ name, props: props4, emits: emits3, injectPlugin: injectPlugin2 }) => createComponent({
27463
- name,
27497
+ var create_uploader_component_default = ({ name: name2, props: props4, emits: emits3, injectPlugin: injectPlugin2 }) => createComponent({
27498
+ name: name2,
27464
27499
  props: {
27465
27500
  ...coreProps,
27466
27501
  ...props4
@@ -27475,6 +27510,7 @@
27475
27510
  function getFn(prop) {
27476
27511
  return typeof prop === "function" ? prop : () => prop;
27477
27512
  }
27513
+ var name = "QUploader";
27478
27514
  var props = {
27479
27515
  url: [Function, String],
27480
27516
  method: {
@@ -27575,8 +27611,8 @@
27575
27611
  }
27576
27612
  function performUpload(files, factory) {
27577
27613
  const form = new FormData(), xhr2 = new XMLHttpRequest();
27578
- const getProp2 = (name, arg) => {
27579
- return factory[name] !== void 0 ? getFn(factory[name])(arg) : xhrProps.value[name](arg);
27614
+ const getProp2 = (name2, arg) => {
27615
+ return factory[name2] !== void 0 ? getFn(factory[name2])(arg) : xhrProps.value[name2](arg);
27580
27616
  };
27581
27617
  const url = getProp2("url", files);
27582
27618
  if (!url) {
@@ -27670,7 +27706,7 @@
27670
27706
  };
27671
27707
  }
27672
27708
  var xhr_uploader_plugin_default = {
27673
- name: "QUploader",
27709
+ name,
27674
27710
  props,
27675
27711
  emits,
27676
27712
  injectPlugin
@@ -27752,7 +27788,7 @@
27752
27788
  TouchSwipe: () => TouchSwipe_default
27753
27789
  });
27754
27790
 
27755
- // src/directives/ClosePopup.js
27791
+ // src/directives/close-popup/ClosePopup.js
27756
27792
  function getDepth(value2) {
27757
27793
  if (value2 === false) {
27758
27794
  return 0;
@@ -27799,7 +27835,7 @@
27799
27835
  }
27800
27836
  );
27801
27837
 
27802
- // src/utils/morph.js
27838
+ // src/utils/morph/morph.js
27803
27839
  var id2 = 0;
27804
27840
  var offsetBase = void 0;
27805
27841
  function getAbsolutePosition(el, resize) {
@@ -28538,7 +28574,7 @@
28538
28574
  return (abort) => cancel(abort);
28539
28575
  }
28540
28576
 
28541
- // src/directives/Morph.js
28577
+ // src/directives/morph/Morph.js
28542
28578
  var morphGroups = {};
28543
28579
  var props2 = [
28544
28580
  "duration",
@@ -28609,8 +28645,8 @@
28609
28645
  }
28610
28646
  function updateModifiers2(mod2, ctx) {
28611
28647
  const opts = ctx.opts;
28612
- mods.forEach((name) => {
28613
- opts[name] = mod2[name] === true;
28648
+ mods.forEach((name2) => {
28649
+ opts[name2] = mod2[name2] === true;
28614
28650
  });
28615
28651
  }
28616
28652
  function insertArgs(arg, ctx) {
@@ -28630,25 +28666,25 @@
28630
28666
  ctx.name = arg.name;
28631
28667
  }
28632
28668
  const opts = ctx.opts;
28633
- props2.forEach((name) => {
28634
- if (arg[name] !== void 0) {
28635
- opts[name] = arg[name];
28669
+ props2.forEach((name2) => {
28670
+ if (arg[name2] !== void 0) {
28671
+ opts[name2] = arg[name2];
28636
28672
  }
28637
28673
  });
28638
28674
  }
28639
- function updateModel(name, ctx) {
28640
- if (ctx.name === name) {
28675
+ function updateModel(name2, ctx) {
28676
+ if (ctx.name === name2) {
28641
28677
  const group = morphGroups[ctx.group];
28642
28678
  if (group === void 0) {
28643
28679
  morphGroups[ctx.group] = {
28644
28680
  name: ctx.group,
28645
- model: name,
28681
+ model: name2,
28646
28682
  queue: [ctx],
28647
28683
  animating: false
28648
28684
  };
28649
28685
  changeClass(ctx, "remove");
28650
- } else if (group.model !== name) {
28651
- group.model = name;
28686
+ } else if (group.model !== name2) {
28687
+ group.model = name2;
28652
28688
  group.queue.push(ctx);
28653
28689
  if (group.animating === false && group.queue.length === 2) {
28654
28690
  trigger2(group);
@@ -28680,9 +28716,9 @@
28680
28716
  false ? {
28681
28717
  name: "morph",
28682
28718
  getSSRProps: (binding) => {
28683
- const name = binding.arg ? binding.arg.split(":")[0] : false;
28719
+ const name2 = binding.arg ? binding.arg.split(":")[0] : false;
28684
28720
  return {
28685
- class: name === binding.value ? "" : "q-morph--invisible"
28721
+ class: name2 === binding.value ? "" : "q-morph--invisible"
28686
28722
  };
28687
28723
  }
28688
28724
  } : {
@@ -28722,7 +28758,7 @@
28722
28758
  }
28723
28759
  );
28724
28760
 
28725
- // src/directives/Mutation.js
28761
+ // src/directives/mutation/Mutation.js
28726
28762
  var defaultCfg2 = {
28727
28763
  childList: true,
28728
28764
  subtree: true,
@@ -28772,7 +28808,7 @@
28772
28808
  }
28773
28809
  );
28774
28810
 
28775
- // src/directives/ScrollFire.js
28811
+ // src/directives/scroll-fire/ScrollFire.js
28776
28812
  var { passive: passive5 } = listenOpts;
28777
28813
  function update4(ctx, { value: value2, oldValue }) {
28778
28814
  if (typeof value2 !== "function") {
@@ -28823,7 +28859,7 @@
28823
28859
  }
28824
28860
  );
28825
28861
 
28826
- // src/directives/Scroll.js
28862
+ // src/directives/scroll/Scroll.js
28827
28863
  function update5(ctx, { value: value2, oldValue }) {
28828
28864
  if (typeof value2 !== "function") {
28829
28865
  ctx.scrollTarget.removeEventListener("scroll", ctx.scroll, listenOpts.passive);
@@ -28863,7 +28899,7 @@
28863
28899
  }
28864
28900
  );
28865
28901
 
28866
- // src/directives/TouchHold.js
28902
+ // src/directives/touch-hold/TouchHold.js
28867
28903
  var TouchHold_default = createDirective(
28868
28904
  false ? { name: "touch-hold", getSSRProps: noop_ssr_directive_transform_default } : {
28869
28905
  name: "touch-hold",
@@ -28987,7 +29023,7 @@
28987
29023
  }
28988
29024
  );
28989
29025
 
28990
- // src/directives/TouchRepeat.js
29026
+ // src/directives/touch-repeat/TouchRepeat.js
28991
29027
  var keyCodes3 = {
28992
29028
  esc: 27,
28993
29029
  tab: 9,
@@ -29184,10 +29220,12 @@
29184
29220
  AddressbarColor: () => AddressbarColor_default,
29185
29221
  AppFullscreen: () => AppFullscreen_default,
29186
29222
  AppVisibility: () => AppVisibility_default,
29187
- BottomSheet: () => BottomSheet_default2,
29223
+ BottomSheet: () => BottomSheet_default,
29188
29224
  Cookies: () => Cookies_default,
29189
29225
  Dark: () => Dark_default,
29190
29226
  Dialog: () => Dialog_default,
29227
+ IconSet: () => IconSet_default,
29228
+ Lang: () => Lang_default,
29191
29229
  Loading: () => Loading_default,
29192
29230
  LoadingBar: () => LoadingBar_default,
29193
29231
  LocalStorage: () => LocalStorage_default,
@@ -29198,7 +29236,7 @@
29198
29236
  SessionStorage: () => SessionStorage_default
29199
29237
  });
29200
29238
 
29201
- // src/utils/get-css-var.js
29239
+ // src/utils/css-var/get-css-var.js
29202
29240
  function getCssVar(propName, element = document.body) {
29203
29241
  if (typeof propName !== "string") {
29204
29242
  throw new TypeError("Expected a string as propName");
@@ -29209,7 +29247,7 @@
29209
29247
  return getComputedStyle(element).getPropertyValue(`--q-${propName}`).trim() || null;
29210
29248
  }
29211
29249
 
29212
- // src/plugins/AddressbarColor.js
29250
+ // src/plugins/addressbar/AddressbarColor.js
29213
29251
  var metaValue;
29214
29252
  function getProp() {
29215
29253
  return client.is.winphone ? "msapplication-navbutton-color" : client.is.safari ? "apple-mobile-web-app-status-bar-style" : "theme-color";
@@ -29252,7 +29290,7 @@
29252
29290
  }
29253
29291
  };
29254
29292
 
29255
- // src/plugins/AppFullscreen.js
29293
+ // src/plugins/app-fullscreen/AppFullscreen.js
29256
29294
  var prefixes = {};
29257
29295
  function assignFn(fn) {
29258
29296
  Object.assign(Plugin4, {
@@ -29282,7 +29320,7 @@
29282
29320
  return Promise.reject(err);
29283
29321
  }
29284
29322
  }
29285
- var Plugin4 = define_reactive_plugin_default({
29323
+ var Plugin4 = createReactivePlugin({
29286
29324
  isActive: false,
29287
29325
  activeEl: null
29288
29326
  }, {
@@ -29340,8 +29378,8 @@
29340
29378
  }
29341
29379
  var AppFullscreen_default = Plugin4;
29342
29380
 
29343
- // src/plugins/AppVisibility.js
29344
- var Plugin5 = define_reactive_plugin_default({
29381
+ // src/plugins/app-visibility/AppVisibility.js
29382
+ var Plugin5 = createReactivePlugin({
29345
29383
  appVisible: true
29346
29384
  }, {
29347
29385
  install({ $q }) {
@@ -29373,9 +29411,9 @@
29373
29411
  }
29374
29412
  var AppVisibility_default = Plugin5;
29375
29413
 
29376
- // src/components/dialog-bottom-sheet/BottomSheet.js
29377
- var BottomSheet_default = createComponent({
29378
- name: "BottomSheetPlugin",
29414
+ // src/plugins/bottom-sheet/component/BottomSheetComponent.js
29415
+ var BottomSheetComponent_default = createComponent({
29416
+ name: "BottomSheetComponent",
29379
29417
  props: {
29380
29418
  ...useDarkProps,
29381
29419
  title: String,
@@ -29500,7 +29538,7 @@
29500
29538
  }
29501
29539
  });
29502
29540
 
29503
- // src/utils/private/global-dialog.js
29541
+ // src/utils/private.global/global-dialog.js
29504
29542
  function merge(target2, source) {
29505
29543
  for (const key in source) {
29506
29544
  if (key !== "spinner" && Object(source[key]) === source[key]) {
@@ -29620,17 +29658,14 @@
29620
29658
  };
29621
29659
  }
29622
29660
 
29623
- // src/plugins/BottomSheet.js
29624
- var BottomSheet_default2 = {
29661
+ // src/plugins/bottom-sheet/BottomSheet.js
29662
+ var BottomSheet_default = {
29625
29663
  install({ $q, parentApp }) {
29626
- $q.bottomSheet = global_dialog_default(BottomSheet_default, false, parentApp);
29627
- if (this.__installed !== true) {
29628
- this.create = $q.bottomSheet;
29629
- }
29664
+ $q.bottomSheet = this.create = global_dialog_default(BottomSheetComponent_default, false, parentApp);
29630
29665
  }
29631
29666
  };
29632
29667
 
29633
- // src/plugins/Cookies.js
29668
+ // src/plugins/cookies/Cookies.js
29634
29669
  function encode(string) {
29635
29670
  return encodeURIComponent(string);
29636
29671
  }
@@ -29729,14 +29764,14 @@
29729
29764
  }
29730
29765
  function get(key, ssr) {
29731
29766
  const cookieSource = ssr ? ssr.req.headers : document, cookies = cookieSource.cookie ? cookieSource.cookie.split("; ") : [], l = cookies.length;
29732
- let result = key ? null : {}, i = 0, parts, name, cookie;
29767
+ let result = key ? null : {}, i = 0, parts, name2, cookie;
29733
29768
  for (; i < l; i++) {
29734
29769
  parts = cookies[i].split("=");
29735
- name = decode(parts.shift());
29770
+ name2 = decode(parts.shift());
29736
29771
  cookie = parts.join("=");
29737
29772
  if (!key) {
29738
- result[name] = cookie;
29739
- } else if (key === name) {
29773
+ result[name2] = cookie;
29774
+ } else if (key === name2) {
29740
29775
  result = read(cookie);
29741
29776
  break;
29742
29777
  }
@@ -29780,9 +29815,9 @@
29780
29815
  }
29781
29816
  var Cookies_default = Plugin6;
29782
29817
 
29783
- // src/components/dialog-plugin/DialogPlugin.js
29784
- var DialogPlugin_default = createComponent({
29785
- name: "DialogPlugin",
29818
+ // src/plugins/dialog/component/DialogPluginComponent.js
29819
+ var DialogPluginComponent_default = createComponent({
29820
+ name: "DialogPluginComponent",
29786
29821
  props: {
29787
29822
  ...useDarkProps,
29788
29823
  title: String,
@@ -29997,72 +30032,14 @@
29997
30032
  }
29998
30033
  });
29999
30034
 
30000
- // src/plugins/Dialog.js
30035
+ // src/plugins/dialog/Dialog.js
30001
30036
  var Dialog_default = {
30002
30037
  install({ $q, parentApp }) {
30003
- $q.dialog = global_dialog_default(DialogPlugin_default, true, parentApp);
30004
- if (this.__installed !== true) {
30005
- this.create = $q.dialog;
30006
- }
30038
+ $q.dialog = this.create = global_dialog_default(DialogPluginComponent_default, true, parentApp);
30007
30039
  }
30008
30040
  };
30009
30041
 
30010
- // src/plugins/LoadingBar.js
30011
- var barRef = ref(null);
30012
- var Plugin7 = define_reactive_plugin_default({
30013
- isActive: false
30014
- }, {
30015
- start: noop,
30016
- stop: noop,
30017
- increment: noop,
30018
- setDefaults: noop,
30019
- install({ $q, parentApp }) {
30020
- $q.loadingBar = this;
30021
- if (false)
30022
- return;
30023
- if (this.__installed === true) {
30024
- if ($q.config.loadingBar !== void 0) {
30025
- this.setDefaults($q.config.loadingBar);
30026
- }
30027
- return;
30028
- }
30029
- const props4 = ref(
30030
- $q.config.loadingBar !== void 0 ? { ...$q.config.loadingBar } : {}
30031
- );
30032
- function onStart() {
30033
- Plugin7.isActive = true;
30034
- }
30035
- function onStop() {
30036
- Plugin7.isActive = false;
30037
- }
30038
- const el = createGlobalNode("q-loading-bar");
30039
- createChildApp({
30040
- name: "LoadingBar",
30041
- // hide App from Vue devtools
30042
- devtools: { hide: true },
30043
- setup: () => () => h(QAjaxBar_default, { ...props4.value, onStart, onStop, ref: barRef })
30044
- }, parentApp).mount(el);
30045
- Object.assign(this, {
30046
- start(speed) {
30047
- barRef.value.start(speed);
30048
- },
30049
- stop() {
30050
- barRef.value.stop();
30051
- },
30052
- increment() {
30053
- barRef.value.increment.apply(null, arguments);
30054
- },
30055
- setDefaults(opts) {
30056
- if (isObject(opts) === true) {
30057
- Object.assign(props4.value, opts);
30058
- }
30059
- }
30060
- });
30061
- }
30062
- });
30063
- var LoadingBar_default = Plugin7;
30064
-
30065
- // src/plugins/Loading.js
30042
+ // src/plugins/loading/Loading.js
30066
30043
  var app;
30067
30044
  var vm;
30068
30045
  var uid2 = 0;
@@ -30091,7 +30068,7 @@
30091
30068
  activeGroups[newProps.group] = newProps;
30092
30069
  return newProps;
30093
30070
  }
30094
- var Plugin8 = define_reactive_plugin_default({
30071
+ var Plugin7 = createReactivePlugin({
30095
30072
  isActive: false
30096
30073
  }, {
30097
30074
  show(opts) {
@@ -30099,7 +30076,7 @@
30099
30076
  return;
30100
30077
  props3 = registerProps(opts);
30101
30078
  const { group } = props3;
30102
- Plugin8.isActive = true;
30079
+ Plugin7.isActive = true;
30103
30080
  if (app !== void 0) {
30104
30081
  props3.uid = uid2;
30105
30082
  vm.$forceUpdate();
@@ -30116,7 +30093,7 @@
30116
30093
  prevent_scroll_default(true);
30117
30094
  });
30118
30095
  function onAfterLeave() {
30119
- if (Plugin8.isActive !== true && app !== void 0) {
30096
+ if (Plugin7.isActive !== true && app !== void 0) {
30120
30097
  prevent_scroll_default(false);
30121
30098
  app.unmount(el);
30122
30099
  removeGlobalNode(el);
@@ -30125,7 +30102,7 @@
30125
30102
  }
30126
30103
  }
30127
30104
  function getContent() {
30128
- if (Plugin8.isActive !== true) {
30105
+ if (Plugin7.isActive !== true) {
30129
30106
  return null;
30130
30107
  }
30131
30108
  const content = [
@@ -30159,20 +30136,20 @@
30159
30136
  onAfterLeave
30160
30137
  }, getContent);
30161
30138
  }
30162
- }, Plugin8.__parentApp);
30139
+ }, Plugin7.__parentApp);
30163
30140
  vm = app.mount(el);
30164
30141
  }, props3.delay);
30165
30142
  }
30166
30143
  return (paramProps) => {
30167
30144
  if (paramProps === void 0 || Object(paramProps) !== paramProps) {
30168
- Plugin8.hide(group);
30145
+ Plugin7.hide(group);
30169
30146
  return;
30170
30147
  }
30171
- Plugin8.show({ ...paramProps, group });
30148
+ Plugin7.show({ ...paramProps, group });
30172
30149
  };
30173
30150
  },
30174
30151
  hide(group) {
30175
- if (Plugin8.isActive === true) {
30152
+ if (Plugin7.isActive === true) {
30176
30153
  if (group === void 0) {
30177
30154
  activeGroups = {};
30178
30155
  } else if (activeGroups[group] === void 0) {
@@ -30182,7 +30159,7 @@
30182
30159
  const keys = Object.keys(activeGroups);
30183
30160
  if (keys.length !== 0) {
30184
30161
  const lastGroup = keys[keys.length - 1];
30185
- Plugin8.show({ group: lastGroup });
30162
+ Plugin7.show({ group: lastGroup });
30186
30163
  return;
30187
30164
  }
30188
30165
  }
@@ -30190,7 +30167,7 @@
30190
30167
  clearTimeout(timeout);
30191
30168
  timeout = null;
30192
30169
  }
30193
- Plugin8.isActive = false;
30170
+ Plugin7.isActive = false;
30194
30171
  }
30195
30172
  },
30196
30173
  setDefaults(opts) {
@@ -30201,16 +30178,71 @@
30201
30178
  install({ $q, parentApp }) {
30202
30179
  $q.loading = this;
30203
30180
  if (true) {
30204
- Plugin8.__parentApp = parentApp;
30181
+ Plugin7.__parentApp = parentApp;
30205
30182
  if ($q.config.loading !== void 0) {
30206
30183
  this.setDefaults($q.config.loading);
30207
30184
  }
30208
30185
  }
30209
30186
  }
30210
30187
  });
30211
- var Loading_default = Plugin8;
30188
+ var Loading_default = Plugin7;
30189
+
30190
+ // src/plugins/loading-bar/LoadingBar.js
30191
+ var barRef = ref(null);
30192
+ var Plugin8 = createReactivePlugin({
30193
+ isActive: false
30194
+ }, {
30195
+ start: noop,
30196
+ stop: noop,
30197
+ increment: noop,
30198
+ setDefaults: noop,
30199
+ install({ $q, parentApp }) {
30200
+ $q.loadingBar = this;
30201
+ if (false)
30202
+ return;
30203
+ if (this.__installed === true) {
30204
+ if ($q.config.loadingBar !== void 0) {
30205
+ this.setDefaults($q.config.loadingBar);
30206
+ }
30207
+ return;
30208
+ }
30209
+ const props4 = ref(
30210
+ $q.config.loadingBar !== void 0 ? { ...$q.config.loadingBar } : {}
30211
+ );
30212
+ function onStart() {
30213
+ Plugin8.isActive = true;
30214
+ }
30215
+ function onStop() {
30216
+ Plugin8.isActive = false;
30217
+ }
30218
+ const el = createGlobalNode("q-loading-bar");
30219
+ createChildApp({
30220
+ name: "LoadingBar",
30221
+ // hide App from Vue devtools
30222
+ devtools: { hide: true },
30223
+ setup: () => () => h(QAjaxBar_default, { ...props4.value, onStart, onStop, ref: barRef })
30224
+ }, parentApp).mount(el);
30225
+ Object.assign(this, {
30226
+ start(speed) {
30227
+ barRef.value.start(speed);
30228
+ },
30229
+ stop() {
30230
+ barRef.value.stop();
30231
+ },
30232
+ increment() {
30233
+ barRef.value.increment.apply(null, arguments);
30234
+ },
30235
+ setDefaults(opts) {
30236
+ if (isObject(opts) === true) {
30237
+ Object.assign(props4.value, opts);
30238
+ }
30239
+ }
30240
+ });
30241
+ }
30242
+ });
30243
+ var LoadingBar_default = Plugin8;
30212
30244
 
30213
- // src/plugins/Meta.js
30245
+ // src/plugins/meta/Meta.js
30214
30246
  var updateId = null;
30215
30247
  var currentClientMeta;
30216
30248
  var clientList = [];
@@ -30222,11 +30254,11 @@
30222
30254
  ;
30223
30255
  [["meta", "content"], ["link", "href"]].forEach((type) => {
30224
30256
  const metaType = meta[type[0]], metaProp = type[1];
30225
- for (const name in metaType) {
30226
- const metaLink = metaType[name];
30257
+ for (const name2 in metaType) {
30258
+ const metaLink = metaType[name2];
30227
30259
  if (metaLink.template) {
30228
30260
  if (Object.keys(metaLink).length === 1) {
30229
- delete metaType[name];
30261
+ delete metaType[name2];
30230
30262
  } else {
30231
30263
  metaLink[metaProp] = metaLink.template(metaLink[metaProp] || "");
30232
30264
  delete metaLink.template;
@@ -30245,11 +30277,11 @@
30245
30277
  }
30246
30278
  }
30247
30279
  }
30248
- function bodyFilter(name) {
30249
- return ["class", "style"].includes(name) === false;
30280
+ function bodyFilter(name2) {
30281
+ return ["class", "style"].includes(name2) === false;
30250
30282
  }
30251
- function htmlFilter(name) {
30252
- return ["lang", "dir"].includes(name) === false;
30283
+ function htmlFilter(name2) {
30284
+ return ["lang", "dir"].includes(name2) === false;
30253
30285
  }
30254
30286
  function diff(meta, other) {
30255
30287
  const add = {}, remove2 = {};
@@ -30290,39 +30322,39 @@
30290
30322
  }
30291
30323
  if (Object.keys(remove2).length !== 0) {
30292
30324
  ["meta", "link", "script"].forEach((type) => {
30293
- remove2[type].forEach((name) => {
30294
- document.head.querySelector(`${type}[data-qmeta="${name}"]`).remove();
30325
+ remove2[type].forEach((name2) => {
30326
+ document.head.querySelector(`${type}[data-qmeta="${name2}"]`).remove();
30295
30327
  });
30296
30328
  });
30297
- remove2.htmlAttr.filter(htmlFilter).forEach((name) => {
30298
- document.documentElement.removeAttribute(name);
30329
+ remove2.htmlAttr.filter(htmlFilter).forEach((name2) => {
30330
+ document.documentElement.removeAttribute(name2);
30299
30331
  });
30300
- remove2.bodyAttr.filter(bodyFilter).forEach((name) => {
30301
- document.body.removeAttribute(name);
30332
+ remove2.bodyAttr.filter(bodyFilter).forEach((name2) => {
30333
+ document.body.removeAttribute(name2);
30302
30334
  });
30303
30335
  }
30304
30336
  ;
30305
30337
  ["meta", "link", "script"].forEach((type) => {
30306
30338
  const metaType = add[type];
30307
- for (const name in metaType) {
30339
+ for (const name2 in metaType) {
30308
30340
  const tag = document.createElement(type);
30309
- for (const att in metaType[name]) {
30341
+ for (const att in metaType[name2]) {
30310
30342
  if (att !== "innerHTML") {
30311
- tag.setAttribute(att, metaType[name][att]);
30343
+ tag.setAttribute(att, metaType[name2][att]);
30312
30344
  }
30313
30345
  }
30314
- tag.setAttribute("data-qmeta", name);
30346
+ tag.setAttribute("data-qmeta", name2);
30315
30347
  if (type === "script") {
30316
- tag.innerHTML = metaType[name].innerHTML || "";
30348
+ tag.innerHTML = metaType[name2].innerHTML || "";
30317
30349
  }
30318
30350
  document.head.appendChild(tag);
30319
30351
  }
30320
30352
  });
30321
- Object.keys(add.htmlAttr).filter(htmlFilter).forEach((name) => {
30322
- document.documentElement.setAttribute(name, add.htmlAttr[name] || "");
30353
+ Object.keys(add.htmlAttr).filter(htmlFilter).forEach((name2) => {
30354
+ document.documentElement.setAttribute(name2, add.htmlAttr[name2] || "");
30323
30355
  });
30324
- Object.keys(add.bodyAttr).filter(bodyFilter).forEach((name) => {
30325
- document.body.setAttribute(name, add.bodyAttr[name] || "");
30356
+ Object.keys(add.bodyAttr).filter(bodyFilter).forEach((name2) => {
30357
+ document.body.setAttribute(name2, add.bodyAttr[name2] || "");
30326
30358
  });
30327
30359
  }
30328
30360
  function updateClientMeta() {
@@ -30365,7 +30397,7 @@
30365
30397
  }
30366
30398
  };
30367
30399
 
30368
- // src/plugins/Notify.js
30400
+ // src/plugins/notify/Notify.js
30369
30401
  var uid3 = 0;
30370
30402
  var defaults2 = {};
30371
30403
  var groups = {};
@@ -30766,10 +30798,10 @@
30766
30798
  }
30767
30799
  };
30768
30800
 
30769
- // src/utils/private/web-storage.js
30801
+ // src/plugins/storage/engine/web-storage.js
30770
30802
  function encode2(value2) {
30771
30803
  if (isDate(value2) === true) {
30772
- return "__q_date|" + value2.toUTCString();
30804
+ return "__q_date|" + value2.getTime();
30773
30805
  }
30774
30806
  if (isRegexp(value2) === true) {
30775
30807
  return "__q_expr|" + value2.source;
@@ -30800,7 +30832,8 @@
30800
30832
  const source = value2.substring(9);
30801
30833
  switch (type) {
30802
30834
  case "__q_date":
30803
- return new Date(source);
30835
+ const number = Number(source);
30836
+ return new Date(Number.isNaN(number) === true ? source : number);
30804
30837
  case "__q_expr":
30805
30838
  return new RegExp(source);
30806
30839
  case "__q_numb":
@@ -30819,6 +30852,8 @@
30819
30852
  const getVal2 = () => null;
30820
30853
  return {
30821
30854
  has: () => false,
30855
+ // alias for hasItem; TODO: remove in Qv3
30856
+ hasItem: () => false,
30822
30857
  getLength: () => 0,
30823
30858
  getItem: getVal2,
30824
30859
  getIndex: getVal2,
@@ -30827,7 +30862,11 @@
30827
30862
  },
30828
30863
  getAllKeys: () => [],
30829
30864
  set: noop,
30865
+ // alias for setItem; TODO: remove in Qv3
30866
+ setItem: noop,
30830
30867
  remove: noop,
30868
+ // alias for removeItem; TODO: remove in Qv3
30869
+ removeItem: noop,
30831
30870
  clear: noop,
30832
30871
  isEmpty: () => true
30833
30872
  };
@@ -30837,8 +30876,17 @@
30837
30876
  const item = webStorage.getItem(key);
30838
30877
  return item ? decode2(item) : null;
30839
30878
  };
30879
+ const hasItem = (key) => webStorage.getItem(key) !== null;
30880
+ const setItem = (key, value2) => {
30881
+ webStorage.setItem(key, encode2(value2));
30882
+ };
30883
+ const removeItem = (key) => {
30884
+ webStorage.removeItem(key);
30885
+ };
30840
30886
  return {
30841
- has: (key) => webStorage.getItem(key) !== null,
30887
+ has: hasItem,
30888
+ // TODO: remove in Qv3
30889
+ hasItem,
30842
30890
  getLength: () => webStorage.length,
30843
30891
  getItem: get2,
30844
30892
  getIndex: (index) => {
@@ -30863,12 +30911,12 @@
30863
30911
  }
30864
30912
  return result;
30865
30913
  },
30866
- set: (key, value2) => {
30867
- webStorage.setItem(key, encode2(value2));
30868
- },
30869
- remove: (key) => {
30870
- webStorage.removeItem(key);
30871
- },
30914
+ set: setItem,
30915
+ // TODO: remove in Qv3
30916
+ setItem,
30917
+ remove: removeItem,
30918
+ // TODO: remove in Qv3
30919
+ removeItem,
30872
30920
  clear: () => {
30873
30921
  webStorage.clear();
30874
30922
  },
@@ -30876,7 +30924,7 @@
30876
30924
  };
30877
30925
  }
30878
30926
 
30879
- // src/plugins/LocalStorage.js
30927
+ // src/plugins/storage/LocalStorage.js
30880
30928
  var storage = client.has.webStorage === false ? getEmptyStorage() : getStorage("local");
30881
30929
  var Plugin9 = {
30882
30930
  install({ $q }) {
@@ -30886,7 +30934,7 @@
30886
30934
  Object.assign(Plugin9, storage);
30887
30935
  var LocalStorage_default = Plugin9;
30888
30936
 
30889
- // src/plugins/SessionStorage.js
30937
+ // src/plugins/storage/SessionStorage.js
30890
30938
  var storage2 = client.has.webStorage === false ? getEmptyStorage() : getStorage("session");
30891
30939
  var Plugin10 = {
30892
30940
  install({ $q }) {
@@ -30926,7 +30974,7 @@
30926
30974
  uid: () => uid_default
30927
30975
  });
30928
30976
 
30929
- // src/utils/copy-to-clipboard.js
30977
+ // src/utils/copy-to-clipboard/copy-to-clipboard.js
30930
30978
  function fallback(text) {
30931
30979
  const area = document.createElement("textarea");
30932
30980
  area.value = text;
@@ -30954,7 +31002,7 @@
30954
31002
  });
30955
31003
  }
30956
31004
 
30957
- // src/utils/create-meta-mixin.js
31005
+ // src/utils/create-meta-mixin/create-meta-mixin.js
30958
31006
  var create_meta_mixin_default = (metaOptions) => {
30959
31007
  if (false) {
30960
31008
  return {
@@ -31011,28 +31059,28 @@
31011
31059
  return mixin;
31012
31060
  };
31013
31061
 
31014
- // src/utils/EventBus.js
31062
+ // src/utils/EventBus/EventBus.js
31015
31063
  var EventBus = class {
31016
31064
  constructor() {
31017
31065
  this.__stack = {};
31018
31066
  }
31019
- on(name, callback, ctx) {
31020
- (this.__stack[name] || (this.__stack[name] = [])).push({
31067
+ on(name2, callback, ctx) {
31068
+ (this.__stack[name2] || (this.__stack[name2] = [])).push({
31021
31069
  fn: callback,
31022
31070
  ctx
31023
31071
  });
31024
31072
  return this;
31025
31073
  }
31026
- once(name, callback, ctx) {
31074
+ once(name2, callback, ctx) {
31027
31075
  const listener = (...args) => {
31028
- this.off(name, listener);
31076
+ this.off(name2, listener);
31029
31077
  callback.apply(ctx, args);
31030
31078
  };
31031
31079
  listener.__callback = callback;
31032
- return this.on(name, listener, ctx);
31080
+ return this.on(name2, listener, ctx);
31033
31081
  }
31034
- emit(name) {
31035
- const list = this.__stack[name];
31082
+ emit(name2) {
31083
+ const list = this.__stack[name2];
31036
31084
  if (list !== void 0) {
31037
31085
  const params = [].slice.call(arguments, 1);
31038
31086
  list.forEach((entry) => {
@@ -31041,28 +31089,28 @@
31041
31089
  }
31042
31090
  return this;
31043
31091
  }
31044
- off(name, callback) {
31045
- const list = this.__stack[name];
31092
+ off(name2, callback) {
31093
+ const list = this.__stack[name2];
31046
31094
  if (list === void 0) {
31047
31095
  return this;
31048
31096
  }
31049
31097
  if (callback === void 0) {
31050
- delete this.__stack[name];
31098
+ delete this.__stack[name2];
31051
31099
  return this;
31052
31100
  }
31053
31101
  const liveEvents = list.filter(
31054
31102
  (entry) => entry.fn !== callback && entry.fn.__callback !== callback
31055
31103
  );
31056
31104
  if (liveEvents.length !== 0) {
31057
- this.__stack[name] = liveEvents;
31105
+ this.__stack[name2] = liveEvents;
31058
31106
  } else {
31059
- delete this.__stack[name];
31107
+ delete this.__stack[name2];
31060
31108
  }
31061
31109
  return this;
31062
31110
  }
31063
31111
  };
31064
31112
 
31065
- // src/utils/export-file.js
31113
+ // src/utils/export-file/export-file.js
31066
31114
  function clean(link) {
31067
31115
  setTimeout(() => {
31068
31116
  window.URL.revokeObjectURL(link.href);
@@ -31093,7 +31141,7 @@
31093
31141
  }
31094
31142
  }
31095
31143
 
31096
- // src/utils/open-url.js
31144
+ // src/utils/open-url/open-url.js
31097
31145
  function parseFeatures(winFeatures) {
31098
31146
  const cfg = Object.assign({ noopener: true }, winFeatures);
31099
31147
  const feat = [];
@@ -31144,7 +31192,7 @@
31144
31192
  return openWindow(url, reject, windowFeatures);
31145
31193
  };
31146
31194
 
31147
- // src/utils/run-sequential-promises.js
31195
+ // src/utils/run-sequential-promises/run-sequential-promises.js
31148
31196
  function parsePromises(sequentialPromises) {
31149
31197
  const isList = Array.isArray(sequentialPromises);
31150
31198
  if (isList === true) {
@@ -31209,10 +31257,11 @@
31209
31257
  // src/composables.js
31210
31258
  var composables_exports = {};
31211
31259
  __export(composables_exports, {
31212
- useDialogPluginComponent: () => use_dialog_plugin_component_default,
31260
+ useDialogPluginComponent: () => useDialogPluginComponent,
31213
31261
  useFormChild: () => use_form_child_default,
31214
31262
  useHydration: () => use_hydration_default,
31215
31263
  useId: () => use_id_default,
31264
+ useInterval: () => use_interval_default,
31216
31265
  useMeta: () => use_meta_default,
31217
31266
  useQuasar: () => useQuasar,
31218
31267
  useRenderCache: () => use_render_cache_default,
@@ -31221,7 +31270,7 @@
31221
31270
  useTimeout: () => use_timeout_default
31222
31271
  });
31223
31272
 
31224
- // src/composables/use-dialog-plugin-component.js
31273
+ // src/composables/use-dialog-plugin-component/use-dialog-plugin-component.js
31225
31274
  function useDialogPluginComponent() {
31226
31275
  const { emit, proxy } = getCurrentInstance();
31227
31276
  const dialogRef = ref(null);
@@ -31249,9 +31298,8 @@
31249
31298
  var emits2 = ["ok", "hide"];
31250
31299
  useDialogPluginComponent.emits = emits2;
31251
31300
  useDialogPluginComponent.emitsObject = get_emits_object_default(emits2);
31252
- var use_dialog_plugin_component_default = useDialogPluginComponent;
31253
31301
 
31254
- // src/composables/use-meta.js
31302
+ // src/composables/use-meta/use-meta.js
31255
31303
  function use_meta_default(metaOptions) {
31256
31304
  if (false) {
31257
31305
  const ssrContext = useSSRContext();
@@ -31287,17 +31335,40 @@
31287
31335
  }
31288
31336
  }
31289
31337
 
31290
- // src/composables/use-quasar.js
31338
+ // src/composables/use-quasar/use-quasar.js
31291
31339
  function useQuasar() {
31292
31340
  return inject(quasarKey);
31293
31341
  }
31294
31342
 
31343
+ // src/composables/use-interval/use-interval.js
31344
+ function use_interval_default() {
31345
+ let timer2 = null;
31346
+ const vm2 = getCurrentInstance();
31347
+ function removeInterval() {
31348
+ if (timer2 !== null) {
31349
+ clearInterval(timer2);
31350
+ timer2 = null;
31351
+ }
31352
+ }
31353
+ onDeactivated(removeInterval);
31354
+ onBeforeUnmount(removeInterval);
31355
+ return {
31356
+ removeInterval,
31357
+ registerInterval(fn, delay) {
31358
+ removeInterval(timer2);
31359
+ if (vmIsDestroyed(vm2) === false) {
31360
+ timer2 = setInterval(fn, delay);
31361
+ }
31362
+ }
31363
+ };
31364
+ }
31365
+
31295
31366
  // src/index.umd.js
31296
31367
  if (window.Vue === void 0) {
31297
31368
  console.error("[ Quasar ] Vue is required to run. Please add a script tag for it before loading Quasar.");
31298
31369
  }
31299
31370
  window.Quasar = {
31300
- version: "2.15.1",
31371
+ version: "2.15.3",
31301
31372
  install(app2, opts) {
31302
31373
  install_quasar_default(app2, {
31303
31374
  components: components_exports,
@@ -31306,8 +31377,12 @@
31306
31377
  ...opts
31307
31378
  });
31308
31379
  },
31309
- lang: lang_default,
31310
- iconSet: icon_set_default,
31380
+ // TODO: remove in Qv3 (should only be used through the plugin)
31381
+ // We provide a deprecated fallback here
31382
+ lang: Lang_default,
31383
+ // TODO: remove in Qv3 (should only be used through the plugin)
31384
+ // We provide a deprecated fallback here
31385
+ iconSet: IconSet_default,
31311
31386
  ...components_exports,
31312
31387
  ...directives_exports,
31313
31388
  ...plugins_exports,