quasar 2.15.2 → 2.15.4

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 (665) 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/Cookies.json +1 -1
  5. package/dist/api/Dark.json +1 -1
  6. package/dist/api/Dialog.json +1 -1
  7. package/dist/api/IconSet.json +1 -0
  8. package/dist/api/Lang.json +1 -1
  9. package/dist/api/Loading.json +1 -1
  10. package/dist/api/LoadingBar.json +1 -1
  11. package/dist/api/LocalStorage.json +1 -1
  12. package/dist/api/Morph.json +1 -1
  13. package/dist/api/Notify.json +1 -1
  14. package/dist/api/Platform.json +1 -1
  15. package/dist/api/QAjaxBar.json +1 -1
  16. package/dist/api/QBreadcrumbsEl.json +1 -1
  17. package/dist/api/QBtn.json +1 -1
  18. package/dist/api/QBtnDropdown.json +1 -1
  19. package/dist/api/QBtnToggle.json +1 -1
  20. package/dist/api/QCard.json +1 -1
  21. package/dist/api/QCardSection.json +1 -1
  22. package/dist/api/QCarousel.json +1 -1
  23. package/dist/api/QCarouselControl.json +1 -1
  24. package/dist/api/QCheckbox.json +1 -1
  25. package/dist/api/QChip.json +1 -1
  26. package/dist/api/QDate.json +1 -1
  27. package/dist/api/QDialog.json +1 -1
  28. package/dist/api/QDrawer.json +1 -1
  29. package/dist/api/QEditor.json +1 -1
  30. package/dist/api/QExpansionItem.json +1 -1
  31. package/dist/api/QFab.json +1 -1
  32. package/dist/api/QFabAction.json +1 -1
  33. package/dist/api/QField.json +1 -1
  34. package/dist/api/QFile.json +1 -1
  35. package/dist/api/QForm.json +1 -1
  36. package/dist/api/QFormChildMixin.json +1 -1
  37. package/dist/api/QIcon.json +1 -1
  38. package/dist/api/QInfiniteScroll.json +1 -1
  39. package/dist/api/QInput.json +1 -1
  40. package/dist/api/QIntersection.json +1 -1
  41. package/dist/api/QItem.json +1 -1
  42. package/dist/api/QList.json +1 -1
  43. package/dist/api/QMenu.json +1 -1
  44. package/dist/api/QNoSsr.json +1 -1
  45. package/dist/api/QOptionGroup.json +1 -1
  46. package/dist/api/QPageScroller.json +1 -1
  47. package/dist/api/QPageSticky.json +1 -1
  48. package/dist/api/QPagination.json +1 -1
  49. package/dist/api/QParallax.json +1 -1
  50. package/dist/api/QPopupEdit.json +1 -1
  51. package/dist/api/QPopupProxy.json +1 -1
  52. package/dist/api/QPullToRefresh.json +1 -1
  53. package/dist/api/QRadio.json +1 -1
  54. package/dist/api/QRating.json +1 -1
  55. package/dist/api/QResizeObserver.json +1 -1
  56. package/dist/api/QScrollArea.json +1 -1
  57. package/dist/api/QScrollObserver.json +1 -1
  58. package/dist/api/QSelect.json +1 -1
  59. package/dist/api/QSkeleton.json +1 -1
  60. package/dist/api/QSlideItem.json +1 -1
  61. package/dist/api/QSplitter.json +1 -1
  62. package/dist/api/QStepper.json +1 -1
  63. package/dist/api/QTabPanel.json +1 -1
  64. package/dist/api/QTabPanels.json +1 -1
  65. package/dist/api/QTable.json +1 -1
  66. package/dist/api/QTime.json +1 -1
  67. package/dist/api/QTimelineEntry.json +1 -1
  68. package/dist/api/QToggle.json +1 -1
  69. package/dist/api/QTooltip.json +1 -1
  70. package/dist/api/QTree.json +1 -1
  71. package/dist/api/QUploader.json +1 -1
  72. package/dist/api/QVirtualScroll.json +1 -1
  73. package/dist/api/Ripple.json +1 -1
  74. package/dist/api/Screen.json +1 -1
  75. package/dist/api/ScrollFire.json +1 -1
  76. package/dist/api/SessionStorage.json +1 -1
  77. package/dist/icon-set/bootstrap-icons.umd.prod.js +2 -2
  78. package/dist/icon-set/eva-icons.umd.prod.js +2 -2
  79. package/dist/icon-set/fontawesome-v5-pro.umd.prod.js +2 -2
  80. package/dist/icon-set/fontawesome-v5.umd.prod.js +2 -2
  81. package/dist/icon-set/fontawesome-v6-pro.umd.prod.js +2 -2
  82. package/dist/icon-set/fontawesome-v6.umd.prod.js +2 -2
  83. package/dist/icon-set/ionicons-v4.umd.prod.js +2 -2
  84. package/dist/icon-set/line-awesome.umd.prod.js +2 -2
  85. package/dist/icon-set/material-icons-outlined.umd.prod.js +2 -2
  86. package/dist/icon-set/material-icons-round.umd.prod.js +2 -2
  87. package/dist/icon-set/material-icons-sharp.umd.prod.js +2 -2
  88. package/dist/icon-set/material-icons.umd.prod.js +2 -2
  89. package/dist/icon-set/material-symbols-outlined.umd.prod.js +2 -2
  90. package/dist/icon-set/material-symbols-rounded.umd.prod.js +2 -2
  91. package/dist/icon-set/material-symbols-sharp.umd.prod.js +2 -2
  92. package/dist/icon-set/mdi-v3.umd.prod.js +2 -2
  93. package/dist/icon-set/mdi-v4.umd.prod.js +2 -2
  94. package/dist/icon-set/mdi-v5.umd.prod.js +2 -2
  95. package/dist/icon-set/mdi-v6.umd.prod.js +2 -2
  96. package/dist/icon-set/mdi-v7.umd.prod.js +2 -2
  97. package/dist/icon-set/svg-bootstrap-icons.umd.prod.js +2 -2
  98. package/dist/icon-set/svg-eva-icons.umd.prod.js +2 -2
  99. package/dist/icon-set/svg-fontawesome-v5.umd.prod.js +2 -2
  100. package/dist/icon-set/svg-fontawesome-v6.umd.prod.js +2 -2
  101. package/dist/icon-set/svg-ionicons-v4.umd.prod.js +2 -2
  102. package/dist/icon-set/svg-ionicons-v5.umd.prod.js +2 -2
  103. package/dist/icon-set/svg-ionicons-v6.umd.prod.js +2 -2
  104. package/dist/icon-set/svg-line-awesome.umd.prod.js +2 -2
  105. package/dist/icon-set/svg-material-icons-outlined.umd.prod.js +2 -2
  106. package/dist/icon-set/svg-material-icons-round.umd.prod.js +2 -2
  107. package/dist/icon-set/svg-material-icons-sharp.umd.prod.js +2 -2
  108. package/dist/icon-set/svg-material-icons.umd.prod.js +2 -2
  109. package/dist/icon-set/svg-material-symbols-outlined.umd.prod.js +2 -2
  110. package/dist/icon-set/svg-material-symbols-rounded.umd.prod.js +2 -2
  111. package/dist/icon-set/svg-material-symbols-sharp.umd.prod.js +2 -2
  112. package/dist/icon-set/svg-mdi-v6.umd.prod.js +2 -2
  113. package/dist/icon-set/svg-mdi-v7.umd.prod.js +2 -2
  114. package/dist/icon-set/svg-themify.umd.prod.js +2 -2
  115. package/dist/icon-set/themify.umd.prod.js +2 -2
  116. package/dist/lang/ar-TN.umd.prod.js +2 -2
  117. package/dist/lang/ar.umd.prod.js +2 -2
  118. package/dist/lang/az-Latn.umd.prod.js +2 -2
  119. package/dist/lang/bg.umd.prod.js +2 -2
  120. package/dist/lang/bn.umd.prod.js +2 -2
  121. package/dist/lang/ca.umd.prod.js +2 -2
  122. package/dist/lang/cs.umd.prod.js +2 -2
  123. package/dist/lang/da.umd.prod.js +2 -2
  124. package/dist/lang/de-CH.umd.prod.js +2 -2
  125. package/dist/lang/de-DE.umd.prod.js +2 -2
  126. package/dist/lang/de.umd.prod.js +2 -2
  127. package/dist/lang/el.umd.prod.js +2 -2
  128. package/dist/lang/en-GB.umd.prod.js +2 -2
  129. package/dist/lang/en-US.umd.prod.js +2 -2
  130. package/dist/lang/eo.umd.prod.js +2 -2
  131. package/dist/lang/es.umd.prod.js +2 -2
  132. package/dist/lang/et.umd.prod.js +2 -2
  133. package/dist/lang/eu.umd.prod.js +2 -2
  134. package/dist/lang/fa-IR.umd.prod.js +2 -2
  135. package/dist/lang/fa.umd.prod.js +2 -2
  136. package/dist/lang/fi.umd.prod.js +2 -2
  137. package/dist/lang/fr.umd.prod.js +2 -2
  138. package/dist/lang/gn.umd.prod.js +2 -2
  139. package/dist/lang/he.umd.prod.js +2 -2
  140. package/dist/lang/hi.umd.prod.js +2 -2
  141. package/dist/lang/hr.umd.prod.js +2 -2
  142. package/dist/lang/hu.umd.prod.js +2 -2
  143. package/dist/lang/id.umd.prod.js +2 -2
  144. package/dist/lang/is.umd.prod.js +2 -2
  145. package/dist/lang/it.umd.prod.js +2 -2
  146. package/dist/lang/ja.umd.prod.js +2 -2
  147. package/dist/lang/kk.umd.prod.js +2 -2
  148. package/dist/lang/km.umd.prod.js +2 -2
  149. package/dist/lang/ko-KR.umd.prod.js +2 -2
  150. package/dist/lang/kur-CKB.umd.prod.js +2 -2
  151. package/dist/lang/lt.umd.prod.js +2 -2
  152. package/dist/lang/lu.umd.prod.js +2 -2
  153. package/dist/lang/lv.umd.prod.js +2 -2
  154. package/dist/lang/mk.umd.prod.js +2 -2
  155. package/dist/lang/ml.umd.prod.js +2 -2
  156. package/dist/lang/mm.umd.prod.js +2 -2
  157. package/dist/lang/ms-MY.umd.prod.js +2 -2
  158. package/dist/lang/ms.umd.prod.js +2 -2
  159. package/dist/lang/my.umd.prod.js +2 -2
  160. package/dist/lang/nb-NO.umd.prod.js +2 -2
  161. package/dist/lang/nl.umd.prod.js +2 -2
  162. package/dist/lang/pl.umd.prod.js +2 -2
  163. package/dist/lang/pt-BR.umd.prod.js +2 -2
  164. package/dist/lang/pt.umd.prod.js +2 -2
  165. package/dist/lang/ro.umd.prod.js +2 -2
  166. package/dist/lang/ru.umd.prod.js +2 -2
  167. package/dist/lang/sk.umd.prod.js +2 -2
  168. package/dist/lang/sl.umd.prod.js +2 -2
  169. package/dist/lang/sm.umd.prod.js +2 -2
  170. package/dist/lang/sr-CYR.umd.prod.js +2 -2
  171. package/dist/lang/sr.umd.prod.js +2 -2
  172. package/dist/lang/sv.umd.prod.js +2 -2
  173. package/dist/lang/ta.umd.prod.js +2 -2
  174. package/dist/lang/th.umd.prod.js +2 -2
  175. package/dist/lang/tl.umd.prod.js +2 -2
  176. package/dist/lang/tr.umd.prod.js +2 -2
  177. package/dist/lang/ug.umd.prod.js +2 -2
  178. package/dist/lang/uk.umd.prod.js +2 -2
  179. package/dist/lang/uz-Cyrl.umd.prod.js +2 -2
  180. package/dist/lang/uz-Latn.umd.prod.js +2 -2
  181. package/dist/lang/vi.umd.prod.js +2 -2
  182. package/dist/lang/zh-CN.umd.prod.js +2 -2
  183. package/dist/lang/zh-TW.umd.prod.js +2 -2
  184. package/dist/quasar.addon.prod.css +1 -1
  185. package/dist/quasar.addon.rtl.prod.css +1 -1
  186. package/dist/quasar.cjs.prod.js +12 -12
  187. package/dist/quasar.esm.js +571 -523
  188. package/dist/quasar.esm.prod.js +17 -17
  189. package/dist/quasar.prod.css +1 -1
  190. package/dist/quasar.rtl.prod.css +1 -1
  191. package/dist/quasar.sass +1 -1
  192. package/dist/quasar.umd.js +558 -509
  193. package/dist/quasar.umd.prod.js +22 -22
  194. package/dist/transforms/api-list.json +1 -1
  195. package/dist/transforms/import-map.json +1 -1
  196. package/dist/types/config.d.ts +3 -3
  197. package/dist/types/globals.d.ts +1 -1
  198. package/dist/types/index.d.ts +1921 -102
  199. package/dist/vetur/quasar-attributes.json +1 -1
  200. package/dist/vetur/quasar-tags.json +1 -1
  201. package/dist/web-types/web-types.json +1 -1
  202. package/lang/uk.js +1 -1
  203. package/lang/uk.mjs +1 -1
  204. package/package.json +18 -17
  205. package/src/api.extends.json +7 -5
  206. package/src/components/ajax-bar/QAjaxBar.js +2 -2
  207. package/src/components/ajax-bar/QAjaxBar.json +1 -0
  208. package/src/components/avatar/QAvatar.js +3 -3
  209. package/src/components/avatar/QAvatar.json +1 -1
  210. package/src/components/avatar/QAvatar.test.js +169 -83
  211. package/src/components/badge/QBadge.js +2 -2
  212. package/src/components/badge/QBadge.test.js +200 -100
  213. package/src/components/banner/QBanner.js +3 -3
  214. package/src/components/banner/QBanner.test.js +88 -50
  215. package/src/components/bar/QBar.js +3 -3
  216. package/src/components/bar/QBar.test.js +44 -19
  217. package/src/components/breadcrumbs/QBreadcrumbs.js +6 -4
  218. package/src/components/breadcrumbs/QBreadcrumbs.test.js +134 -59
  219. package/src/components/breadcrumbs/QBreadcrumbsEl.js +3 -3
  220. package/src/components/breadcrumbs/QBreadcrumbsEl.json +1 -1
  221. package/src/components/breadcrumbs/QBreadcrumbsEl.test.js +491 -61
  222. package/src/components/btn/QBtn.js +11 -5
  223. package/src/components/btn/QBtn.json +2 -1
  224. package/src/components/btn/QBtn.test.js +1391 -212
  225. package/src/components/btn/use-btn.js +8 -6
  226. package/src/components/btn/use-btn.json +1 -1
  227. package/src/components/btn/use-btn.test.js +86 -542
  228. package/src/components/btn-dropdown/QBtnDropdown.js +9 -10
  229. package/src/components/btn-dropdown/QBtnDropdown.json +3 -3
  230. package/src/components/btn-group/QBtnGroup.js +2 -2
  231. package/src/components/btn-toggle/QBtnToggle.js +3 -3
  232. package/src/components/btn-toggle/QBtnToggle.json +2 -2
  233. package/src/components/card/QCard.js +3 -3
  234. package/src/components/card/QCardActions.js +3 -3
  235. package/src/components/card/QCardSection.js +2 -2
  236. package/src/components/carousel/QCarousel.js +6 -6
  237. package/src/components/carousel/QCarousel.json +1 -1
  238. package/src/components/carousel/QCarouselControl.js +2 -2
  239. package/src/components/carousel/QCarouselControl.json +1 -1
  240. package/src/components/carousel/QCarouselSlide.js +3 -3
  241. package/src/components/carousel/QCarouselSlide.json +1 -1
  242. package/src/components/chat/QChatMessage.js +2 -2
  243. package/src/components/checkbox/QCheckbox.js +1 -1
  244. package/src/components/checkbox/use-checkbox.js +8 -8
  245. package/src/components/checkbox/use-checkbox.json +5 -3
  246. package/src/components/chip/QChip.js +6 -5
  247. package/src/components/chip/QChip.json +4 -0
  248. package/src/components/chip/QChip.test.js +685 -317
  249. package/src/components/circular-progress/QCircularProgress.js +5 -5
  250. package/src/components/circular-progress/QCircularProgress.json +1 -1
  251. package/src/components/circular-progress/{use-circular-progress.js → circular-progress.js} +1 -1
  252. package/src/components/circular-progress/circular-progress.test.js +14 -0
  253. package/src/components/color/QColor.js +10 -10
  254. package/src/components/color/QColor.json +1 -1
  255. package/src/components/date/QDate.js +9 -9
  256. package/src/components/date/QDate.json +17 -11
  257. package/src/components/date/use-datetime.js +2 -2
  258. package/src/components/date/use-datetime.json +6 -6
  259. package/src/components/dialog/QDialog.js +33 -22
  260. package/src/components/dialog/QDialog.json +5 -3
  261. package/src/components/dialog/QDialog.test.js +1094 -220
  262. package/src/components/drawer/QDrawer.js +9 -9
  263. package/src/components/drawer/QDrawer.json +7 -4
  264. package/src/components/editor/QEditor.js +9 -9
  265. package/src/components/editor/QEditor.json +11 -5
  266. package/src/components/editor/editor-caret.js +1 -1
  267. package/src/components/editor/editor-utils.js +3 -3
  268. package/src/components/expansion-item/QExpansionItem.js +9 -9
  269. package/src/components/expansion-item/QExpansionItem.json +2 -2
  270. package/src/components/fab/QFab.js +5 -5
  271. package/src/components/fab/QFab.json +1 -1
  272. package/src/components/fab/QFabAction.js +4 -4
  273. package/src/components/fab/QFabAction.json +2 -1
  274. package/src/components/fab/use-fab.json +1 -1
  275. package/src/components/field/QField.js +2 -2
  276. package/src/components/field/QField.json +7 -3
  277. package/src/components/file/QFile.js +9 -9
  278. package/src/components/file/QFile.json +11 -4
  279. package/src/components/footer/QFooter.js +3 -3
  280. package/src/components/form/QForm.js +6 -6
  281. package/src/components/form/QForm.json +11 -4
  282. package/src/components/form/QFormChildMixin.js +2 -2
  283. package/src/components/form/QFormChildMixin.json +4 -1
  284. package/src/components/header/QHeader.js +3 -3
  285. package/src/components/icon/QIcon.js +3 -3
  286. package/src/components/icon/QIcon.json +1 -1
  287. package/src/components/img/QImg.js +5 -5
  288. package/src/components/img/QImg.json +1 -1
  289. package/src/components/infinite-scroll/QInfiniteScroll.js +6 -6
  290. package/src/components/infinite-scroll/QInfiniteScroll.json +20 -7
  291. package/src/components/inner-loading/QInnerLoading.js +3 -3
  292. package/src/components/inner-loading/QInnerLoading.json +1 -1
  293. package/src/components/input/QInput.js +9 -9
  294. package/src/components/input/QInput.json +16 -5
  295. package/src/components/input/use-mask.js +1 -1
  296. package/src/components/intersection/QIntersection.js +2 -2
  297. package/src/components/item/QItem.js +6 -6
  298. package/src/components/item/QItem.json +1 -1
  299. package/src/components/item/QItemLabel.js +2 -2
  300. package/src/components/item/QItemSection.js +2 -2
  301. package/src/components/item/QList.js +3 -3
  302. package/src/components/knob/QKnob.js +6 -6
  303. package/src/components/knob/QKnob.json +1 -1
  304. package/src/components/layout/QLayout.js +4 -4
  305. package/src/components/linear-progress/QLinearProgress.js +4 -4
  306. package/src/components/linear-progress/QLinearProgress.json +1 -1
  307. package/src/components/markup-table/QMarkupTable.js +3 -3
  308. package/src/components/menu/QMenu.js +20 -20
  309. package/src/components/menu/QMenu.json +8 -4
  310. package/src/components/no-ssr/QNoSsr.js +3 -3
  311. package/src/components/option-group/QOptionGroup.js +2 -2
  312. package/src/components/option-group/QOptionGroup.json +4 -4
  313. package/src/components/page/QPage.js +3 -3
  314. package/src/components/page/QPageContainer.js +3 -3
  315. package/src/components/page-scroller/QPageScroller.js +2 -2
  316. package/src/components/page-sticky/QPageSticky.js +1 -1
  317. package/src/components/page-sticky/QPageSticky.json +1 -1
  318. package/src/components/page-sticky/use-page-sticky.js +2 -2
  319. package/src/components/pagination/QPagination.js +4 -4
  320. package/src/components/pagination/QPagination.json +5 -3
  321. package/src/components/parallax/QParallax.js +6 -6
  322. package/src/components/popup-edit/QPopupEdit.js +4 -4
  323. package/src/components/popup-edit/QPopupEdit.json +30 -14
  324. package/src/components/popup-proxy/QPopupProxy.js +3 -3
  325. package/src/components/popup-proxy/QPopupProxy.json +9 -5
  326. package/src/components/pull-to-refresh/QPullToRefresh.js +5 -5
  327. package/src/components/pull-to-refresh/QPullToRefresh.json +6 -2
  328. package/src/components/radio/QRadio.js +9 -9
  329. package/src/components/radio/QRadio.json +4 -2
  330. package/src/components/range/QRange.js +3 -3
  331. package/src/components/rating/QRating.js +6 -6
  332. package/src/components/rating/QRating.json +2 -2
  333. package/src/components/resize-observer/QResizeObserver.js +3 -3
  334. package/src/components/resize-observer/QResizeObserver.json +2 -1
  335. package/src/components/responsive/QResponsive.js +3 -3
  336. package/src/components/responsive/QResponsive.json +1 -1
  337. package/src/components/scroll-area/QScrollArea.js +6 -6
  338. package/src/components/scroll-area/QScrollArea.json +8 -2
  339. package/src/components/scroll-observer/QScrollObserver.js +3 -3
  340. package/src/components/scroll-observer/QScrollObserver.json +5 -2
  341. package/src/components/select/QSelect.js +10 -10
  342. package/src/components/select/QSelect.json +38 -17
  343. package/src/components/separator/QSeparator.js +2 -2
  344. package/src/components/skeleton/QSkeleton.js +3 -3
  345. package/src/components/slide-item/QSlideItem.js +4 -4
  346. package/src/components/slide-item/QSlideItem.json +3 -1
  347. package/src/components/slide-transition/QSlideTransition.js +1 -1
  348. package/src/components/slider/QSlider.js +4 -4
  349. package/src/components/slider/use-slider.js +6 -6
  350. package/src/components/slider/use-slider.json +1 -1
  351. package/src/components/space/QSpace.js +1 -1
  352. package/src/components/space/QSpace.test.js +17 -0
  353. package/src/components/spinner/QSpinner.js +1 -1
  354. package/src/components/spinner/QSpinner.json +1 -1
  355. package/src/components/spinner/QSpinnerAudio.js +1 -1
  356. package/src/components/spinner/QSpinnerBall.js +1 -1
  357. package/src/components/spinner/QSpinnerBars.js +1 -1
  358. package/src/components/spinner/QSpinnerBox.js +1 -1
  359. package/src/components/spinner/QSpinnerClock.js +1 -1
  360. package/src/components/spinner/QSpinnerComment.js +1 -1
  361. package/src/components/spinner/QSpinnerCube.js +1 -1
  362. package/src/components/spinner/QSpinnerDots.js +1 -1
  363. package/src/components/spinner/QSpinnerFacebook.js +1 -1
  364. package/src/components/spinner/QSpinnerGears.js +1 -1
  365. package/src/components/spinner/QSpinnerGrid.js +1 -1
  366. package/src/components/spinner/QSpinnerHearts.js +1 -1
  367. package/src/components/spinner/QSpinnerHourglass.js +1 -1
  368. package/src/components/spinner/QSpinnerInfinity.js +1 -1
  369. package/src/components/spinner/QSpinnerIos.js +1 -1
  370. package/src/components/spinner/QSpinnerOrbit.js +1 -1
  371. package/src/components/spinner/QSpinnerOval.js +1 -1
  372. package/src/components/spinner/QSpinnerPie.js +1 -1
  373. package/src/components/spinner/QSpinnerPuff.js +1 -1
  374. package/src/components/spinner/QSpinnerRadio.js +1 -1
  375. package/src/components/spinner/QSpinnerRings.js +1 -1
  376. package/src/components/spinner/QSpinnerTail.js +1 -1
  377. package/src/components/spinner/spinner.json +1 -1
  378. package/src/components/spinner/use-spinner.js +1 -1
  379. package/src/components/splitter/QSplitter.js +3 -3
  380. package/src/components/splitter/QSplitter.json +4 -4
  381. package/src/components/stepper/QStep.js +5 -5
  382. package/src/components/stepper/QStep.json +1 -1
  383. package/src/components/stepper/QStepper.js +5 -5
  384. package/src/components/stepper/QStepper.json +1 -1
  385. package/src/components/stepper/QStepperNavigation.js +2 -2
  386. package/src/components/stepper/StepHeader.js +1 -1
  387. package/src/components/tab-panels/QTabPanel.js +3 -3
  388. package/src/components/tab-panels/QTabPanel.json +1 -7
  389. package/src/components/tab-panels/QTabPanels.js +4 -4
  390. package/src/components/tab-panels/QTabPanels.json +1 -1
  391. package/src/components/table/QTable.js +7 -7
  392. package/src/components/table/QTable.json +41 -22
  393. package/src/components/table/QTd.js +2 -2
  394. package/src/components/table/QTh.js +2 -2
  395. package/src/components/table/QTr.js +2 -2
  396. package/src/components/table/table-column-selection.js +1 -1
  397. package/src/components/table/table-sort.js +2 -2
  398. package/src/components/tabs/QRouteTab.js +2 -2
  399. package/src/components/tabs/QRouteTab.json +1 -1
  400. package/src/components/tabs/QTab.js +1 -1
  401. package/src/components/tabs/QTabs.js +6 -6
  402. package/src/components/tabs/use-tab.js +6 -6
  403. package/src/components/time/QTime.js +8 -8
  404. package/src/components/time/QTime.json +5 -3
  405. package/src/components/timeline/QTimeline.js +4 -4
  406. package/src/components/timeline/QTimelineEntry.js +3 -3
  407. package/src/components/toggle/QToggle.js +1 -1
  408. package/src/components/toolbar/QToolbar.js +2 -2
  409. package/src/components/toolbar/QToolbar.test.js +45 -0
  410. package/src/components/toolbar/QToolbarTitle.js +2 -2
  411. package/src/components/toolbar/QToolbarTitle.test.js +45 -0
  412. package/src/components/tooltip/QTooltip.js +15 -15
  413. package/src/components/tooltip/QTooltip.json +6 -5
  414. package/src/components/tree/QTree.js +5 -5
  415. package/src/components/tree/QTree.json +12 -4
  416. package/src/components/uploader/QUploader.js +1 -1
  417. package/src/components/uploader/QUploader.json +25 -10
  418. package/src/components/uploader/QUploaderAddTrigger.js +2 -2
  419. package/src/components/uploader/uploader-core.js +8 -8
  420. package/src/components/uploader/xhr-uploader-plugin.js +3 -1
  421. package/src/components/uploader/xhr-uploader-plugin.json +9 -9
  422. package/src/components/video/QVideo.js +2 -2
  423. package/src/components/video/QVideo.json +1 -1
  424. package/src/components/video/QVideo.test.js +183 -0
  425. package/src/components/virtual-scroll/QVirtualScroll.js +4 -4
  426. package/src/components/virtual-scroll/QVirtualScroll.json +1 -0
  427. package/src/components/virtual-scroll/use-virtual-scroll.js +3 -3
  428. package/src/components/virtual-scroll/use-virtual-scroll.json +7 -3
  429. package/src/composables/private.use-align/use-align.test.js +62 -0
  430. package/src/composables/{private → private.use-anchor}/use-anchor.js +3 -3
  431. package/src/composables/{private → private.use-anchor}/use-anchor.json +0 -1
  432. package/src/composables/private.use-dark/use-dark.test.js +68 -0
  433. package/src/composables/{private → private.use-field}/use-field.js +8 -8
  434. package/src/composables/{private → private.use-field}/use-field.json +7 -10
  435. package/src/composables/{private → private.use-file}/use-file.js +1 -1
  436. package/src/composables/{private → private.use-file}/use-file.json +4 -2
  437. package/src/composables/{private → private.use-fullscreen}/use-fullscreen.js +2 -2
  438. package/src/composables/{private → private.use-fullscreen}/use-fullscreen.json +9 -3
  439. package/src/composables/{private → private.use-history}/use-history.js +1 -1
  440. package/src/composables/private.use-history/use-history.test.js +116 -0
  441. package/src/composables/{private → private.use-model-toggle}/use-model-toggle.js +1 -1
  442. package/src/composables/{private → private.use-panel}/use-panel.js +3 -3
  443. package/src/composables/{private → private.use-panel}/use-panel.json +10 -5
  444. package/src/composables/{private → private.use-portal}/use-portal.js +6 -6
  445. package/src/composables/{private → private.use-prevent-scroll}/use-prevent-scroll.js +1 -1
  446. package/src/composables/private.use-ratio/use-ratio.test.js +40 -0
  447. package/src/composables/{private → private.use-router-link}/use-router-link.js +1 -1
  448. package/src/composables/{private → private.use-scroll-target}/use-scroll-target.js +2 -5
  449. package/src/composables/private.use-size/use-size.test.js +40 -0
  450. package/src/composables/private.use-transition/use-transition.test.js +118 -0
  451. package/src/composables/{private → private.use-validate}/use-validate.js +4 -4
  452. package/src/composables/{private → private.use-validate}/use-validate.json +3 -1
  453. package/src/composables/{use-dialog-plugin-component.js → use-dialog-plugin-component/use-dialog-plugin-component.js} +2 -4
  454. package/src/composables/use-form/private.use-form.test.js +107 -0
  455. package/src/composables/{use-form-child.js → use-form/use-form-child.js} +1 -1
  456. package/src/composables/{use-hydration.js → use-hydration/use-hydration.js} +1 -1
  457. package/src/composables/use-hydration/use-hydration.test.js +27 -0
  458. package/src/composables/{use-id.js → use-id/use-id.js} +2 -2
  459. package/src/composables/use-id/use-id.test.js +72 -0
  460. package/src/composables/{use-interval.js → use-interval/use-interval.js} +1 -1
  461. package/src/composables/use-interval/use-interval.test.js +173 -0
  462. package/src/composables/{use-meta.js → use-meta/use-meta.js} +1 -1
  463. package/src/composables/{use-quasar.js → use-quasar/use-quasar.js} +2 -1
  464. package/src/composables/use-quasar/use-quasar.test.js +35 -0
  465. package/src/composables/{use-render-cache.js → use-render-cache/use-render-cache.js} +2 -2
  466. package/src/composables/use-render-cache/use-render-cache.test.js +73 -0
  467. package/src/composables/use-split-attrs/use-split-attrs.test.js +55 -0
  468. package/src/composables/{use-tick.js → use-tick/use-tick.js} +1 -1
  469. package/src/composables/use-tick/use-tick.test.js +118 -0
  470. package/src/composables/{use-timeout.js → use-timeout/use-timeout.js} +1 -1
  471. package/src/composables/use-timeout/use-timeout.test.js +169 -0
  472. package/src/composables.js +11 -11
  473. package/src/css/index.sass +1 -1
  474. package/src/directives/close-popup/ClosePopup.js +4 -4
  475. package/src/directives/intersection/Intersection.js +3 -3
  476. package/src/directives/morph/Morph.js +2 -2
  477. package/src/directives/morph/Morph.json +1 -1
  478. package/src/directives/mutation/Mutation.js +2 -2
  479. package/src/directives/ripple/Ripple.js +6 -6
  480. package/src/directives/ripple/Ripple.json +2 -2
  481. package/src/directives/ripple/Ripple.test.js +340 -0
  482. package/src/directives/scroll/Scroll.js +4 -4
  483. package/src/directives/scroll-fire/ScrollFire.js +6 -6
  484. package/src/directives/scroll-fire/ScrollFire.json +1 -1
  485. package/src/directives/touch-hold/TouchHold.js +4 -4
  486. package/src/directives/touch-pan/TouchPan.js +5 -5
  487. package/src/directives/touch-repeat/TouchRepeat.js +5 -5
  488. package/src/directives/touch-swipe/TouchSwipe.js +5 -5
  489. package/src/index.dev.js +10 -4
  490. package/src/index.prod.js +11 -4
  491. package/src/index.ssr.js +11 -4
  492. package/src/index.umd.js +12 -4
  493. package/src/install-quasar.js +14 -9
  494. package/src/plugins/addressbar/AddressbarColor.js +2 -2
  495. package/src/plugins/addressbar/AddressbarColor.json +2 -1
  496. package/src/plugins/addressbar/AddressbarColor.test.js +53 -0
  497. package/src/plugins/app-fullscreen/AppFullscreen.js +3 -3
  498. package/src/plugins/app-fullscreen/AppFullscreen.json +4 -1
  499. package/src/plugins/app-fullscreen/AppFullscreen.test.js +206 -0
  500. package/src/plugins/app-fullscreen/test/mock-fullscreen.js +43 -0
  501. package/src/plugins/app-visibility/AppVisibility.js +3 -3
  502. package/src/plugins/app-visibility/AppVisibility.test.js +45 -0
  503. package/src/plugins/bottom-sheet/BottomSheet.js +2 -5
  504. package/src/plugins/bottom-sheet/BottomSheet.json +1 -1
  505. package/src/plugins/bottom-sheet/component/BottomSheetComponent.js +2 -2
  506. package/src/plugins/cookies/Cookies.json +5 -2
  507. package/src/plugins/dark/Dark.js +2 -2
  508. package/src/plugins/dark/Dark.json +5 -2
  509. package/src/plugins/dark/Dark.test.js +158 -0
  510. package/src/plugins/dialog/Dialog.js +2 -5
  511. package/src/plugins/dialog/Dialog.json +3 -3
  512. package/src/plugins/dialog/component/DialogPluginComponent.js +4 -4
  513. package/src/{icon-set.js → plugins/icon-set/IconSet.js} +29 -10
  514. package/src/plugins/icon-set/IconSet.json +1417 -0
  515. package/src/plugins/icon-set/IconSet.test.js +346 -0
  516. package/src/{lang.js → plugins/lang/Lang.js} +25 -15
  517. package/src/plugins/lang/Lang.json +1100 -0
  518. package/src/plugins/lang/Lang.test.js +267 -0
  519. package/src/plugins/loading/Loading.js +5 -5
  520. package/src/plugins/loading/Loading.json +4 -2
  521. package/src/plugins/loading-bar/LoadingBar.js +5 -5
  522. package/src/plugins/loading-bar/LoadingBar.json +9 -4
  523. package/src/plugins/meta/Meta.js +1 -1
  524. package/src/plugins/notify/Notify.js +4 -4
  525. package/src/plugins/notify/Notify.json +8 -6
  526. package/src/plugins/platform/Platform.js +5 -5
  527. package/src/plugins/platform/Platform.json +6 -0
  528. package/src/plugins/platform/Platform.test.js +104 -0
  529. package/src/{body.js → plugins/private.body/Body.js} +5 -4
  530. package/src/plugins/private.body/Body.test.js +28 -0
  531. package/src/{history.js → plugins/private.history/History.js} +2 -2
  532. package/src/plugins/private.history/History.test.js +38 -0
  533. package/src/plugins/screen/Screen.js +4 -4
  534. package/src/plugins/screen/Screen.json +4 -2
  535. package/src/plugins/screen/Screen.test.js +453 -0
  536. package/src/plugins/{local-storage → storage}/LocalStorage.js +1 -1
  537. package/src/plugins/storage/LocalStorage.json +5 -0
  538. package/src/plugins/storage/LocalStorage.test.js +323 -0
  539. package/src/plugins/{session-storage → storage}/SessionStorage.js +1 -1
  540. package/src/plugins/storage/SessionStorage.json +5 -0
  541. package/src/plugins/storage/SessionStorage.test.js +323 -0
  542. package/src/{utils/private → plugins/storage/engine}/web-storage.js +21 -10
  543. package/src/{utils/private → plugins/storage/engine}/web-storage.json +22 -11
  544. package/src/plugins/storage/engine/web-storage.test.js +43 -0
  545. package/src/plugins.js +8 -4
  546. package/src/utils/EventBus/EventBus.test.js +108 -0
  547. package/src/utils/clone/clone.test.js +111 -0
  548. package/src/utils/colors/colors.test.js +459 -0
  549. package/src/utils/{copy-to-clipboard.js → copy-to-clipboard/copy-to-clipboard.js} +1 -1
  550. package/src/utils/{create-meta-mixin.js → create-meta-mixin/create-meta-mixin.js} +1 -1
  551. package/src/utils/{create-uploader-component.js → create-uploader-component/create-uploader-component.js} +4 -4
  552. package/src/utils/css-var/get-css-var.test.js +44 -0
  553. package/src/utils/css-var/set-css-var.test.js +54 -0
  554. package/src/utils/{date.js → date/date.js} +6 -6
  555. package/src/utils/debounce/debounce.test.js +188 -0
  556. package/src/utils/dom/dom.test.js +222 -0
  557. package/src/utils/extend/extend.test.js +93 -0
  558. package/src/utils/{format.js → format/format.js} +2 -2
  559. package/src/utils/format/format.test.js +107 -0
  560. package/src/utils/{frame-debounce.js → frame-debounce/frame-debounce.js} +1 -1
  561. package/src/utils/frame-debounce/frame-debounce.test.js +127 -0
  562. package/src/utils/is/is.test.js +125 -0
  563. package/src/utils/{morph.js → morph/morph.js} +1 -1
  564. package/src/utils/{open-url.js → open-url/open-url.js} +3 -3
  565. package/src/utils/patterns/patterns.test.js +403 -0
  566. package/src/utils/{private → private.click-outside}/click-outside.js +2 -2
  567. package/src/utils/{private/define-reactive-plugin.js → private.create/create.js} +6 -3
  568. package/src/utils/private.create/create.test.js +58 -0
  569. package/src/utils/private.focus/focus-manager.test.js +190 -0
  570. package/src/utils/private.focus/focusout.test.js +114 -0
  571. package/src/utils/private.get-emits-object/get-emits-object.test.js +29 -0
  572. package/src/utils/private.global/global-config.test.js +54 -0
  573. package/src/utils/{private → private.global}/global-dialog.js +1 -1
  574. package/src/utils/{private → private.global}/global-dialog.json +1 -1
  575. package/src/utils/{private → private.global}/global-nodes.js +1 -1
  576. package/src/utils/private.global/global-nodes.test.js +110 -0
  577. package/src/utils/private.inject-obj-prop/inject-obj-prop.test.js +104 -0
  578. package/src/utils/{private → private.keyboard}/escape-key.js +1 -1
  579. package/src/utils/private.keyboard/escape-key.test.js +117 -0
  580. package/src/utils/private.noop-ssr-directive-transform/noop-ssr-directive-transform.test.js +14 -0
  581. package/src/utils/{private → private.portal}/portal.js +1 -1
  582. package/src/utils/{private → private.position-engine}/position-engine.js +1 -1
  583. package/src/utils/private.render/render.test.js +187 -0
  584. package/src/utils/private.rtl/rtl.test.js +13 -0
  585. package/src/utils/private.selection/selection.test.js +40 -0
  586. package/src/utils/private.sort/sort.test.js +25 -0
  587. package/src/utils/{private → private.symbols}/symbols.js +1 -1
  588. package/src/utils/private.touch/touch.test.js +102 -0
  589. package/src/utils/private.vm/vm.test.js +175 -0
  590. package/src/utils/{prevent-scroll.js → scroll/prevent-scroll.js} +3 -3
  591. package/src/utils/{scroll.js → scroll/scroll.js} +1 -1
  592. package/src/utils/throttle/throttle.test.js +146 -0
  593. package/src/utils/uid/uid.test.js +17 -0
  594. package/src/utils.js +24 -24
  595. package/src/vue-plugin.js +12 -4
  596. package/src/Lang.json +0 -19
  597. package/src/api-file-example.json +0 -94
  598. package/src/composables/private/__tests__/use-form.cy.js +0 -11
  599. package/src/composables/private/__tests__/use-size.cy.js +0 -36
  600. package/src/composables/private/__tests__/use-transition.cy.js +0 -111
  601. package/src/composables/private/use-form.test.js +0 -93
  602. package/src/composables/private/use-ratio.test.js +0 -27
  603. package/src/composables/private/use-size.test.js +0 -22
  604. package/src/composables/use-id.test.js +0 -55
  605. package/src/plugins/local-storage/LocalStorage.json +0 -5
  606. package/src/plugins/session-storage/SessionStorage.json +0 -5
  607. package/src/utils/private/create.js +0 -4
  608. /package/src/composables/{private/__tests__ → __tests__}/FieldWrapper.vue +0 -0
  609. /package/src/composables/{private/__tests__ → __tests__}/use-anchor.cy.js +0 -0
  610. /package/src/composables/{private/__tests__ → __tests__}/use-field.cy.js +0 -0
  611. /package/src/composables/{private/__tests__ → __tests__}/use-file.cy.js +0 -0
  612. /package/src/composables/{private/__tests__ → __tests__}/use-fullscreen.cy.js +0 -0
  613. /package/src/composables/{private/__tests__ → __tests__}/use-model-toggle.cy.js +0 -0
  614. /package/src/composables/{private/__tests__ → __tests__}/use-portal.cy.js +0 -0
  615. /package/src/composables/{private/__tests__ → __tests__}/use-router-link.cy.js +0 -0
  616. /package/src/composables/{private/__tests__ → __tests__}/use-validate.cy.js +0 -0
  617. /package/src/composables/{private → private.use-align}/use-align.js +0 -0
  618. /package/src/composables/{private → private.use-dark}/use-dark.js +0 -0
  619. /package/src/composables/{private → private.use-file}/use-file-dom-props.js +0 -0
  620. /package/src/composables/{private → private.use-key-composition}/use-key-composition.js +0 -0
  621. /package/src/composables/{private → private.use-model-toggle}/use-model-toggle.json +0 -0
  622. /package/src/composables/{private → private.use-panel}/use-panel.child.json +0 -0
  623. /package/src/composables/{private → private.use-panel}/use-panel.sass +0 -0
  624. /package/src/composables/{private → private.use-portal}/use-portal.json +0 -0
  625. /package/src/composables/{private → private.use-ratio}/use-ratio.js +0 -0
  626. /package/src/composables/{private → private.use-ratio}/use-ratio.json +0 -0
  627. /package/src/composables/{private → private.use-refocus-target}/use-refocus-target.js +0 -0
  628. /package/src/composables/{private → private.use-router-link}/use-router-link.json +0 -0
  629. /package/src/composables/{private → private.use-size}/use-size.js +0 -0
  630. /package/src/composables/{private → private.use-size}/use-size.json +0 -0
  631. /package/src/composables/{private → private.use-transition}/use-transition.js +0 -0
  632. /package/src/composables/{private → private.use-transition}/use-transition.json +0 -0
  633. /package/src/composables/{private/use-form.js → use-form/private.use-form.js} +0 -0
  634. /package/src/composables/{private/use-form.json → use-form/private.use-form.json} +0 -0
  635. /package/src/composables/{use-split-attrs.js → use-split-attrs/use-split-attrs.js} +0 -0
  636. /package/src/utils/{EventBus.js → EventBus/EventBus.js} +0 -0
  637. /package/src/utils/{clone.js → clone/clone.js} +0 -0
  638. /package/src/utils/{colors.js → colors/colors.js} +0 -0
  639. /package/src/utils/{get-css-var.js → css-var/get-css-var.js} +0 -0
  640. /package/src/utils/{set-css-var.js → css-var/set-css-var.js} +0 -0
  641. /package/src/utils/{private/date-persian.js → date/private.persian.js} +0 -0
  642. /package/src/utils/{debounce.js → debounce/debounce.js} +0 -0
  643. /package/src/utils/{dom.js → dom/dom.js} +0 -0
  644. /package/src/utils/{event.js → event/event.js} +0 -0
  645. /package/src/utils/{export-file.js → export-file/export-file.js} +0 -0
  646. /package/src/utils/{extend.js → extend/extend.js} +0 -0
  647. /package/src/utils/{is.js → is/is.js} +0 -0
  648. /package/src/utils/{patterns.js → patterns/patterns.js} +0 -0
  649. /package/src/utils/{private → private.focus}/focus-manager.js +0 -0
  650. /package/src/utils/{private → private.focus}/focusout.js +0 -0
  651. /package/src/utils/{private → private.get-emits-object}/get-emits-object.js +0 -0
  652. /package/src/utils/{private → private.global}/global-config.js +0 -0
  653. /package/src/utils/{private → private.inject-obj-prop}/inject-obj-prop.js +0 -0
  654. /package/src/utils/{private → private.keyboard}/key-composition.js +0 -0
  655. /package/src/utils/{private → private.noop-ssr-directive-transform}/noop-ssr-directive-transform.js +0 -0
  656. /package/src/utils/{private → private.option-sizes}/option-sizes.js +0 -0
  657. /package/src/utils/{private → private.render}/render.js +0 -0
  658. /package/src/utils/{private → private.rtl}/rtl.js +0 -0
  659. /package/src/utils/{private → private.selection}/selection.js +0 -0
  660. /package/src/utils/{private → private.sort}/sort.js +0 -0
  661. /package/src/utils/{private → private.touch}/touch.js +0 -0
  662. /package/src/utils/{private → private.vm}/vm.js +0 -0
  663. /package/src/utils/{run-sequential-promises.js → run-sequential-promises/run-sequential-promises.js} +0 -0
  664. /package/src/utils/{throttle.js → throttle/throttle.js} +0 -0
  665. /package/src/utils/{uid.js → uid/uid.js} +0 -0
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Quasar Framework v2.15.2
2
+ * Quasar Framework v2.15.4
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,
@@ -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;
@@ -331,7 +330,8 @@
331
330
  } else if (browser.fxios) {
332
331
  browser.firefox = true;
333
332
  matched.browser = "firefox";
334
- } else if (browser.ipod || browser.ipad || browser.iphone) {
333
+ }
334
+ if (browser.ipod || browser.ipad || browser.iphone) {
335
335
  browser.ios = true;
336
336
  }
337
337
  if (browser.vivaldi) {
@@ -472,26 +472,32 @@
472
472
  }
473
473
  var Platform_default = Platform;
474
474
 
475
- // src/utils/private/define-reactive-plugin.js
476
- var define_reactive_plugin_default = false ? (state, plugin) => {
475
+ // src/utils/private.create/create.js
476
+ function createComponent(raw) {
477
+ return markRaw(defineComponent(raw));
478
+ }
479
+ function createDirective(raw) {
480
+ return markRaw(raw);
481
+ }
482
+ var createReactivePlugin = false ? (state, plugin) => {
477
483
  Object.assign(plugin, state);
478
484
  return plugin;
479
485
  } : (state, plugin) => {
480
486
  const reactiveState = reactive(state);
481
- for (const name in state) {
487
+ for (const name2 in state) {
482
488
  injectProp(
483
489
  plugin,
484
- name,
485
- () => reactiveState[name],
490
+ name2,
491
+ () => reactiveState[name2],
486
492
  (val) => {
487
- reactiveState[name] = val;
493
+ reactiveState[name2] = val;
488
494
  }
489
495
  );
490
496
  }
491
497
  return plugin;
492
498
  };
493
499
 
494
- // src/utils/event.js
500
+ // src/utils/event/event.js
495
501
  var listenOpts = {
496
502
  hasPassive: false,
497
503
  passiveCapture: true,
@@ -594,19 +600,19 @@
594
600
  el.querySelectorAll("a, img").forEach(fn);
595
601
  }
596
602
  function addEvt(ctx, targetName, events) {
597
- const name = `__q_${targetName}_evt`;
598
- ctx[name] = ctx[name] !== void 0 ? ctx[name].concat(events) : events;
603
+ const name2 = `__q_${targetName}_evt`;
604
+ ctx[name2] = ctx[name2] !== void 0 ? ctx[name2].concat(events) : events;
599
605
  events.forEach((evt) => {
600
606
  evt[0].addEventListener(evt[1], ctx[evt[2]], listenOpts[evt[3]]);
601
607
  });
602
608
  }
603
609
  function cleanEvt(ctx, targetName) {
604
- const name = `__q_${targetName}_evt`;
605
- if (ctx[name] !== void 0) {
606
- ctx[name].forEach((evt) => {
610
+ const name2 = `__q_${targetName}_evt`;
611
+ if (ctx[name2] !== void 0) {
612
+ ctx[name2].forEach((evt) => {
607
613
  evt[0].removeEventListener(evt[1], ctx[evt[2]], listenOpts[evt[3]]);
608
614
  });
609
- ctx[name] = void 0;
615
+ ctx[name2] = void 0;
610
616
  }
611
617
  }
612
618
  var event_default = {
@@ -623,7 +629,7 @@
623
629
  preventDraggable
624
630
  };
625
631
 
626
- // src/utils/debounce.js
632
+ // src/utils/debounce/debounce.js
627
633
  function debounce_default(fn, wait = 250, immediate) {
628
634
  let timer2 = null;
629
635
  function debounced() {
@@ -650,7 +656,7 @@
650
656
  // src/plugins/screen/Screen.js
651
657
  var SIZE_LIST = ["sm", "md", "lg", "xl"];
652
658
  var { passive } = listenOpts;
653
- var Screen_default = define_reactive_plugin_default({
659
+ var Screen_default = createReactivePlugin({
654
660
  width: 0,
655
661
  height: 0,
656
662
  name: "xs",
@@ -740,9 +746,9 @@
740
746
  };
741
747
  let updateEvt, updateSizes = {}, updateDebounce = 16;
742
748
  this.setSizes = (sizes) => {
743
- SIZE_LIST.forEach((name) => {
744
- if (sizes[name] !== void 0) {
745
- updateSizes[name] = sizes[name];
749
+ SIZE_LIST.forEach((name2) => {
750
+ if (sizes[name2] !== void 0) {
751
+ updateSizes[name2] = sizes[name2];
746
752
  }
747
753
  });
748
754
  };
@@ -752,14 +758,14 @@
752
758
  const start = () => {
753
759
  const style2 = getComputedStyle(document.body);
754
760
  if (style2.getPropertyValue("--q-size-sm")) {
755
- SIZE_LIST.forEach((name) => {
756
- this.sizes[name] = parseInt(style2.getPropertyValue(`--q-size-${name}`), 10);
761
+ SIZE_LIST.forEach((name2) => {
762
+ this.sizes[name2] = parseInt(style2.getPropertyValue(`--q-size-${name2}`), 10);
757
763
  });
758
764
  }
759
765
  this.setSizes = (sizes) => {
760
- SIZE_LIST.forEach((name) => {
761
- if (sizes[name]) {
762
- this.sizes[name] = sizes[name];
766
+ SIZE_LIST.forEach((name2) => {
767
+ if (sizes[name2]) {
768
+ this.sizes[name2] = sizes[name2];
763
769
  }
764
770
  });
765
771
  this.__update(true);
@@ -787,7 +793,7 @@
787
793
  });
788
794
 
789
795
  // src/plugins/dark/Dark.js
790
- var Plugin = define_reactive_plugin_default({
796
+ var Plugin = createReactivePlugin({
791
797
  isActive: false,
792
798
  mode: false
793
799
  }, {
@@ -845,7 +851,135 @@
845
851
  });
846
852
  var Dark_default = Plugin;
847
853
 
848
- // src/history.js
854
+ // src/utils/css-var/set-css-var.js
855
+ function setCssVar(propName, value2, element = document.body) {
856
+ if (typeof propName !== "string") {
857
+ throw new TypeError("Expected a string as propName");
858
+ }
859
+ if (typeof value2 !== "string") {
860
+ throw new TypeError("Expected a string as value");
861
+ }
862
+ if (!(element instanceof Element)) {
863
+ throw new TypeError("Expected a DOM element");
864
+ }
865
+ element.style.setProperty(`--q-${propName}`, value2);
866
+ }
867
+
868
+ // src/utils/private.keyboard/key-composition.js
869
+ var lastKeyCompositionStatus = false;
870
+ function onKeyDownComposition(evt) {
871
+ lastKeyCompositionStatus = evt.isComposing === true;
872
+ }
873
+ function shouldIgnoreKey(evt) {
874
+ return lastKeyCompositionStatus === true || evt !== Object(evt) || evt.isComposing === true || evt.qKeyEvent === true;
875
+ }
876
+ function isKeyCode(evt, keyCodes4) {
877
+ return shouldIgnoreKey(evt) === true ? false : [].concat(keyCodes4).includes(evt.keyCode);
878
+ }
879
+
880
+ // src/plugins/private.body/Body.js
881
+ function getMobilePlatform(is) {
882
+ if (is.ios === true)
883
+ return "ios";
884
+ if (is.android === true)
885
+ return "android";
886
+ }
887
+ function getBodyClasses({ is, has: has2, within }, cfg) {
888
+ const cls = [
889
+ is.desktop === true ? "desktop" : "mobile",
890
+ `${has2.touch === false ? "no-" : ""}touch`
891
+ ];
892
+ if (is.mobile === true) {
893
+ const mobile = getMobilePlatform(is);
894
+ mobile !== void 0 && cls.push("platform-" + mobile);
895
+ }
896
+ if (is.nativeMobile === true) {
897
+ const type = is.nativeMobileWrapper;
898
+ cls.push(type);
899
+ cls.push("native-mobile");
900
+ if (is.ios === true && (cfg[type] === void 0 || cfg[type].iosStatusBarPadding !== false)) {
901
+ cls.push("q-ios-padding");
902
+ }
903
+ } else if (is.electron === true) {
904
+ cls.push("electron");
905
+ } else if (is.bex === true) {
906
+ cls.push("bex");
907
+ }
908
+ within.iframe === true && cls.push("within-iframe");
909
+ return cls;
910
+ }
911
+ function applyClientSsrCorrections() {
912
+ const { is } = client;
913
+ const classes = document.body.className;
914
+ const classList = new Set(classes.replace(/ {2}/g, " ").split(" "));
915
+ if (is.nativeMobile !== true && is.electron !== true && is.bex !== true) {
916
+ if (is.desktop === true) {
917
+ classList.delete("mobile");
918
+ classList.delete("platform-ios");
919
+ classList.delete("platform-android");
920
+ classList.add("desktop");
921
+ } else if (is.mobile === true) {
922
+ classList.delete("desktop");
923
+ classList.add("mobile");
924
+ classList.delete("platform-ios");
925
+ classList.delete("platform-android");
926
+ const mobile = getMobilePlatform(is);
927
+ if (mobile !== void 0) {
928
+ classList.add(`platform-${mobile}`);
929
+ }
930
+ }
931
+ }
932
+ if (client.has.touch === true) {
933
+ classList.delete("no-touch");
934
+ classList.add("touch");
935
+ }
936
+ if (client.within.iframe === true) {
937
+ classList.add("within-iframe");
938
+ }
939
+ const newCls = Array.from(classList).join(" ");
940
+ if (classes !== newCls) {
941
+ document.body.className = newCls;
942
+ }
943
+ }
944
+ function setColors(brand) {
945
+ for (const color in brand) {
946
+ setCssVar(color, brand[color]);
947
+ }
948
+ }
949
+ var Body_default = {
950
+ install(opts) {
951
+ if (false) {
952
+ const { $q, ssrContext } = opts;
953
+ const cls = getBodyClasses($q.platform, $q.config);
954
+ if ($q.config.screen !== void 0 && $q.config.screen.bodyClass === true) {
955
+ cls.push("screen--xs");
956
+ }
957
+ ssrContext._meta.bodyClasses += cls.join(" ");
958
+ const brand = $q.config.brand;
959
+ if (brand !== void 0) {
960
+ const vars = Object.keys(brand).map((key) => `--q-${key}:${brand[key]};`).join("");
961
+ ssrContext._meta.endingHeadTags += `<style>:root{${vars}}</style>`;
962
+ }
963
+ return;
964
+ }
965
+ if (this.__installed === true)
966
+ return;
967
+ if (isRuntimeSsrPreHydration.value === true) {
968
+ applyClientSsrCorrections();
969
+ } else {
970
+ const { $q } = opts;
971
+ $q.config.brand !== void 0 && setColors($q.config.brand);
972
+ const cls = getBodyClasses(client, $q.config);
973
+ document.body.classList.add.apply(document.body.classList, cls);
974
+ }
975
+ if (client.is.ios === true) {
976
+ document.body.addEventListener("touchstart", noop);
977
+ }
978
+ window.addEventListener("keydown", onKeyDownComposition, true);
979
+ }
980
+ };
981
+
982
+ // src/plugins/private.history/History.js
849
983
  var getTrue = () => true;
850
984
  function filterInvalidPath(path) {
851
985
  return typeof path === "string" && path !== "" && path !== "/" && path !== "#/";
@@ -869,7 +1003,7 @@
869
1003
  );
870
1004
  return () => exitPaths.includes(window.location.hash);
871
1005
  }
872
- var history_default = {
1006
+ var History_default = {
873
1007
  __history: [],
874
1008
  add: noop,
875
1009
  remove: noop,
@@ -931,7 +1065,7 @@
931
1065
  }
932
1066
  };
933
1067
 
934
- // src/lang.js
1068
+ // src/plugins/lang/Lang.js
935
1069
  var import_en_US = __toESM(require_en_US());
936
1070
  function getLocale() {
937
1071
  if (false)
@@ -941,9 +1075,11 @@
941
1075
  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("-");
942
1076
  }
943
1077
  }
944
- var Plugin2 = define_reactive_plugin_default({
945
- __langPack: {}
1078
+ var Plugin2 = createReactivePlugin({
1079
+ __qLang: {}
946
1080
  }, {
1081
+ // props: object
1082
+ // __langConfig: object
947
1083
  getLocale,
948
1084
  set(langObject = import_en_US.default, ssrContext) {
949
1085
  const lang = {
@@ -953,7 +1089,7 @@
953
1089
  };
954
1090
  if (false) {
955
1091
  if (ssrContext === void 0) {
956
- console.error("SSR ERROR: second param required: Quasar.lang.set(lang, ssrContext)");
1092
+ console.error("SSR ERROR: second param required: Lang.set(lang, ssrContext)");
957
1093
  return;
958
1094
  }
959
1095
  lang.set = ssrContext.$q.lang.set;
@@ -971,10 +1107,7 @@
971
1107
  el.setAttribute("dir", lang.rtl === true ? "rtl" : "ltr");
972
1108
  el.setAttribute("lang", lang.isoName);
973
1109
  }
974
- Object.assign(Plugin2.__langPack, lang);
975
- Plugin2.props = lang;
976
- Plugin2.isoName = lang.isoName;
977
- Plugin2.nativeName = lang.nativeName;
1110
+ Object.assign(Plugin2.__qLang, lang);
978
1111
  }
979
1112
  },
980
1113
  install({ $q, lang, ssrContext }) {
@@ -985,170 +1118,49 @@
985
1118
  this.set(langObject, ssrContext);
986
1119
  };
987
1120
  $q.lang.set(initialLang);
988
- if (this.isoName !== initialLang.isoName) {
989
- this.isoName = initialLang.isoName;
990
- this.nativeName = initialLang.nativeName;
991
- this.props = initialLang;
1121
+ if (this.props === void 0 || this.props.isoName !== initialLang.isoName) {
1122
+ this.props = { ...initialLang };
992
1123
  }
993
1124
  } else {
994
- $q.lang = Plugin2.__langPack;
1125
+ $q.lang = Plugin2.__qLang;
995
1126
  Plugin2.__langConfig = $q.config.lang;
996
1127
  if (this.__installed === true) {
997
1128
  lang !== void 0 && this.set(lang);
998
1129
  } else {
1130
+ this.props = new Proxy(this.__qLang, {
1131
+ get() {
1132
+ return Reflect.get(...arguments);
1133
+ },
1134
+ ownKeys(target2) {
1135
+ return Reflect.ownKeys(target2).filter((key) => key !== "set" && key !== "getLocale");
1136
+ }
1137
+ });
999
1138
  this.set(lang || import_en_US.default);
1000
1139
  }
1001
1140
  }
1002
1141
  }
1003
1142
  });
1004
- var lang_default = Plugin2;
1005
-
1006
- // src/utils/set-css-var.js
1007
- function setCssVar(propName, value2, element = document.body) {
1008
- if (typeof propName !== "string") {
1009
- throw new TypeError("Expected a string as propName");
1010
- }
1011
- if (typeof value2 !== "string") {
1012
- throw new TypeError("Expected a string as value");
1013
- }
1014
- if (!(element instanceof Element)) {
1015
- throw new TypeError("Expected a DOM element");
1016
- }
1017
- element.style.setProperty(`--q-${propName}`, value2);
1018
- }
1019
-
1020
- // src/utils/private/key-composition.js
1021
- var lastKeyCompositionStatus = false;
1022
- function onKeyDownComposition(evt) {
1023
- lastKeyCompositionStatus = evt.isComposing === true;
1024
- }
1025
- function shouldIgnoreKey(evt) {
1026
- return lastKeyCompositionStatus === true || evt !== Object(evt) || evt.isComposing === true || evt.qKeyEvent === true;
1027
- }
1028
- function isKeyCode(evt, keyCodes4) {
1029
- return shouldIgnoreKey(evt) === true ? false : [].concat(keyCodes4).includes(evt.keyCode);
1030
- }
1031
-
1032
- // src/body.js
1033
- function getMobilePlatform(is) {
1034
- if (is.ios === true)
1035
- return "ios";
1036
- if (is.android === true)
1037
- return "android";
1038
- }
1039
- function getBodyClasses({ is, has: has2, within }, cfg) {
1040
- const cls = [
1041
- is.desktop === true ? "desktop" : "mobile",
1042
- `${has2.touch === false ? "no-" : ""}touch`
1043
- ];
1044
- if (is.mobile === true) {
1045
- const mobile = getMobilePlatform(is);
1046
- mobile !== void 0 && cls.push("platform-" + mobile);
1047
- }
1048
- if (is.nativeMobile === true) {
1049
- const type = is.nativeMobileWrapper;
1050
- cls.push(type);
1051
- cls.push("native-mobile");
1052
- if (is.ios === true && (cfg[type] === void 0 || cfg[type].iosStatusBarPadding !== false)) {
1053
- cls.push("q-ios-padding");
1054
- }
1055
- } else if (is.electron === true) {
1056
- cls.push("electron");
1057
- } else if (is.bex === true) {
1058
- cls.push("bex");
1059
- }
1060
- within.iframe === true && cls.push("within-iframe");
1061
- return cls;
1062
- }
1063
- function applyClientSsrCorrections() {
1064
- const { is } = client;
1065
- const classes = document.body.className;
1066
- const classList = new Set(classes.replace(/ {2}/g, " ").split(" "));
1067
- if (is.nativeMobile !== true && is.electron !== true && is.bex !== true) {
1068
- if (is.desktop === true) {
1069
- classList.delete("mobile");
1070
- classList.delete("platform-ios");
1071
- classList.delete("platform-android");
1072
- classList.add("desktop");
1073
- } else if (is.mobile === true) {
1074
- classList.delete("desktop");
1075
- classList.add("mobile");
1076
- classList.delete("platform-ios");
1077
- classList.delete("platform-android");
1078
- const mobile = getMobilePlatform(is);
1079
- if (mobile !== void 0) {
1080
- classList.add(`platform-${mobile}`);
1081
- }
1082
- }
1083
- }
1084
- if (client.has.touch === true) {
1085
- classList.delete("no-touch");
1086
- classList.add("touch");
1087
- }
1088
- if (client.within.iframe === true) {
1089
- classList.add("within-iframe");
1090
- }
1091
- const newCls = Array.from(classList).join(" ");
1092
- if (classes !== newCls) {
1093
- document.body.className = newCls;
1094
- }
1095
- }
1096
- function setColors(brand) {
1097
- for (const color in brand) {
1098
- setCssVar(color, brand[color]);
1099
- }
1100
- }
1101
- var body_default = {
1102
- install(opts) {
1103
- if (false) {
1104
- const { $q, ssrContext } = opts;
1105
- const cls = getBodyClasses($q.platform, $q.config);
1106
- if ($q.config.screen !== void 0 && $q.config.screen.bodyClass === true) {
1107
- cls.push("screen--xs");
1108
- }
1109
- ssrContext._meta.bodyClasses += cls.join(" ");
1110
- const brand = $q.config.brand;
1111
- if (brand !== void 0) {
1112
- const vars = Object.keys(brand).map((key) => `--q-${key}:${brand[key]};`).join("");
1113
- ssrContext._meta.endingHeadTags += `<style>:root{${vars}}</style>`;
1114
- }
1115
- return;
1116
- }
1117
- if (this.__installed === true)
1118
- return;
1119
- if (isRuntimeSsrPreHydration.value === true) {
1120
- applyClientSsrCorrections();
1121
- } else {
1122
- const { $q } = opts;
1123
- $q.config.brand !== void 0 && setColors($q.config.brand);
1124
- const cls = getBodyClasses(client, $q.config);
1125
- document.body.classList.add.apply(document.body.classList, cls);
1126
- }
1127
- if (client.is.ios === true) {
1128
- document.body.addEventListener("touchstart", noop);
1129
- }
1130
- window.addEventListener("keydown", onKeyDownComposition, true);
1131
- }
1132
- };
1143
+ var Lang_default = Plugin2;
1133
1144
 
1134
- // src/icon-set.js
1145
+ // src/plugins/icon-set/IconSet.js
1135
1146
  var import_material_icons = __toESM(require_material_icons());
1136
- var Plugin3 = define_reactive_plugin_default({
1147
+ var Plugin3 = createReactivePlugin({
1137
1148
  iconMapFn: null,
1138
- __icons: {}
1149
+ __qIconSet: {}
1139
1150
  }, {
1151
+ // props: object
1140
1152
  set(setObject, ssrContext) {
1141
- const def = { ...setObject, rtl: setObject.rtl === true };
1153
+ const def = { ...setObject };
1142
1154
  if (false) {
1143
1155
  if (ssrContext === void 0) {
1144
- console.error("SSR ERROR: second param required: Quasar.iconSet.set(iconSet, ssrContext)");
1156
+ console.error("SSR ERROR: second param required: IconSet.set(iconSet, ssrContext)");
1145
1157
  return;
1146
1158
  }
1147
1159
  def.set = ssrContext.$q.iconSet.set;
1148
1160
  Object.assign(ssrContext.$q.iconSet, def);
1149
1161
  } else {
1150
1162
  def.set = Plugin3.set;
1151
- Object.assign(Plugin3.__icons, def);
1163
+ Object.assign(Plugin3.__qIconSet, def);
1152
1164
  }
1153
1165
  },
1154
1166
  install({ $q, iconSet, ssrContext }) {
@@ -1160,25 +1172,36 @@
1160
1172
  this.set(setObject, ssrContext);
1161
1173
  };
1162
1174
  $q.iconSet.set(initialSet);
1175
+ if (this.props === void 0 || this.props.name !== initialSet.name) {
1176
+ this.props = { ...initialSet };
1177
+ }
1163
1178
  } else {
1164
1179
  if ($q.config.iconMapFn !== void 0) {
1165
1180
  this.iconMapFn = $q.config.iconMapFn;
1166
1181
  }
1167
- $q.iconSet = this.__icons;
1182
+ $q.iconSet = this.__qIconSet;
1168
1183
  injectProp($q, "iconMapFn", () => this.iconMapFn, (val) => {
1169
1184
  this.iconMapFn = val;
1170
1185
  });
1171
1186
  if (this.__installed === true) {
1172
1187
  iconSet !== void 0 && this.set(iconSet);
1173
1188
  } else {
1189
+ this.props = new Proxy(this.__qIconSet, {
1190
+ get() {
1191
+ return Reflect.get(...arguments);
1192
+ },
1193
+ ownKeys(target2) {
1194
+ return Reflect.ownKeys(target2).filter((key) => key !== "set");
1195
+ }
1196
+ });
1174
1197
  this.set(iconSet || import_material_icons.default);
1175
1198
  }
1176
1199
  }
1177
1200
  }
1178
1201
  });
1179
- var icon_set_default = Plugin3;
1202
+ var IconSet_default = Plugin3;
1180
1203
 
1181
- // src/utils/private/symbols.js
1204
+ // src/utils/private.symbols/symbols.js
1182
1205
  var quasarKey = "_q_";
1183
1206
  var timelineKey = "_q_t_";
1184
1207
  var stepperKey = "_q_s_";
@@ -1188,17 +1211,17 @@
1188
1211
  var formKey = "_q_fo_";
1189
1212
  var tabsKey = "_q_tabs_";
1190
1213
  var uploaderKey = "_q_u_";
1191
- var emptyRenderFn = () => {
1192
- };
1214
+ function emptyRenderFn() {
1215
+ }
1193
1216
 
1194
- // src/utils/private/global-config.js
1217
+ // src/utils/private.global/global-config.js
1195
1218
  var globalConfig = {};
1196
1219
  var globalConfigIsFrozen = false;
1197
1220
  function freezeGlobalConfig() {
1198
1221
  globalConfigIsFrozen = true;
1199
1222
  }
1200
1223
 
1201
- // src/utils/is.js
1224
+ // src/utils/is/is.js
1202
1225
  function isDeepEqual(a, b) {
1203
1226
  if (a === b) {
1204
1227
  return true;
@@ -1315,12 +1338,12 @@
1315
1338
  // src/install-quasar.js
1316
1339
  var autoInstalledPlugins = [
1317
1340
  Platform_default,
1318
- body_default,
1341
+ Body_default,
1319
1342
  Dark_default,
1320
1343
  Screen_default,
1321
- history_default,
1322
- lang_default,
1323
- icon_set_default
1344
+ History_default,
1345
+ Lang_default,
1346
+ IconSet_default
1324
1347
  ];
1325
1348
  function createChildApp(appCfg, parentApp) {
1326
1349
  const app2 = createApp(appCfg);
@@ -1367,7 +1390,7 @@
1367
1390
  }
1368
1391
  var install_quasar_default = false ? function(parentApp, opts = {}, ssrContext) {
1369
1392
  const $q = {
1370
- version: "2.15.2",
1393
+ version: "2.15.4",
1371
1394
  config: opts.config || {}
1372
1395
  };
1373
1396
  Object.assign(ssrContext, {
@@ -1397,7 +1420,7 @@
1397
1420
  ssrContext
1398
1421
  });
1399
1422
  } : function(parentApp, opts = {}) {
1400
- const $q = { version: "2.15.2" };
1423
+ const $q = { version: "2.15.4" };
1401
1424
  if (globalConfigIsFrozen === false) {
1402
1425
  if (opts.config !== void 0) {
1403
1426
  Object.assign(globalConfig, opts.config);
@@ -1544,19 +1567,15 @@
1544
1567
  QVirtualScroll: () => QVirtualScroll_default
1545
1568
  });
1546
1569
 
1547
- // src/utils/private/create.js
1548
- var createComponent = (raw) => markRaw(defineComponent(raw));
1549
- var createDirective = (raw) => markRaw(raw);
1550
-
1551
- // src/utils/format.js
1570
+ // src/utils/format/format.js
1552
1571
  var units = ["B", "KB", "MB", "GB", "TB", "PB"];
1553
- function humanStorageSize(bytes) {
1572
+ function humanStorageSize(bytes, decimals = 1) {
1554
1573
  let u = 0;
1555
1574
  while (parseInt(bytes, 10) >= 1024 && u < units.length - 1) {
1556
1575
  bytes /= 1024;
1557
1576
  ++u;
1558
1577
  }
1559
- return `${bytes.toFixed(1)}${units[u]}`;
1578
+ return `${bytes.toFixed(decimals)}${units[u]}`;
1560
1579
  }
1561
1580
  function capitalize(str) {
1562
1581
  return str.charAt(0).toUpperCase() + str.slice(1);
@@ -1803,7 +1822,7 @@
1803
1822
  }
1804
1823
  });
1805
1824
 
1806
- // src/composables/private/use-size.js
1825
+ // src/composables/private.use-size/use-size.js
1807
1826
  var useSizeDefaults = {
1808
1827
  xs: 18,
1809
1828
  sm: 24,
@@ -1818,7 +1837,7 @@
1818
1837
  return computed(() => props4.size !== void 0 ? { fontSize: props4.size in sizes ? `${sizes[props4.size]}px` : props4.size } : null);
1819
1838
  }
1820
1839
 
1821
- // src/utils/private/render.js
1840
+ // src/utils/private.render/render.js
1822
1841
  function hSlot(slot, otherwise) {
1823
1842
  return slot !== void 0 ? slot() || otherwise : otherwise;
1824
1843
  }
@@ -2086,7 +2105,7 @@
2086
2105
  }
2087
2106
  });
2088
2107
 
2089
- // src/composables/private/use-dark.js
2108
+ // src/composables/private.use-dark/use-dark.js
2090
2109
  var useDarkProps = {
2091
2110
  dark: {
2092
2111
  type: Boolean,
@@ -2156,7 +2175,7 @@
2156
2175
  }
2157
2176
  });
2158
2177
 
2159
- // src/composables/private/use-align.js
2178
+ // src/composables/private.use-align/use-align.js
2160
2179
  var alignMap = {
2161
2180
  left: "start",
2162
2181
  center: "center",
@@ -2180,7 +2199,7 @@
2180
2199
  });
2181
2200
  }
2182
2201
 
2183
- // src/utils/private/vm.js
2202
+ // src/utils/private.vm/vm.js
2184
2203
  function getParentProxy(proxy) {
2185
2204
  if (Object(proxy.$parent) === proxy.$parent) {
2186
2205
  return proxy.$parent;
@@ -2247,6 +2266,8 @@
2247
2266
  const sepClass = computed(() => props4.separatorColor ? ` text-${props4.separatorColor}` : "");
2248
2267
  const activeClass = computed(() => ` text-${props4.activeColor}`);
2249
2268
  return () => {
2269
+ if (slots.default === void 0)
2270
+ return;
2250
2271
  const vnodes = getNormalizedVNodes(
2251
2272
  hSlot(slots.default)
2252
2273
  );
@@ -2285,7 +2306,7 @@
2285
2306
  }
2286
2307
  });
2287
2308
 
2288
- // src/composables/private/use-router-link.js
2309
+ // src/composables/private.use-router-link/use-router-link.js
2289
2310
  function getOriginalPath(record) {
2290
2311
  return record ? record.aliasOf ? record.aliasOf.path : record.path : "";
2291
2312
  }
@@ -2537,7 +2558,7 @@
2537
2558
  }
2538
2559
  });
2539
2560
 
2540
- // src/utils/dom.js
2561
+ // src/utils/dom/dom.js
2541
2562
  function offset(el) {
2542
2563
  if (el === window) {
2543
2564
  return { top: 0, left: 0 };
@@ -2609,7 +2630,7 @@
2609
2630
  ready
2610
2631
  };
2611
2632
 
2612
- // src/utils/throttle.js
2633
+ // src/utils/throttle/throttle.js
2613
2634
  function throttle_default(fn, limit = 250) {
2614
2635
  let wait = false, result;
2615
2636
  return function() {
@@ -2748,7 +2769,7 @@
2748
2769
  var formTypes = ["button", "submit", "reset"];
2749
2770
  var mediaTypeRE = /[^\s]\/[^\s]/;
2750
2771
  var btnDesignOptions = ["flat", "outline", "push", "unelevated"];
2751
- var getBtnDesign = (props4, defaultValue) => {
2772
+ function getBtnDesign(props4, defaultValue) {
2752
2773
  if (props4.flat === true)
2753
2774
  return "flat";
2754
2775
  if (props4.outline === true)
@@ -2758,11 +2779,11 @@
2758
2779
  if (props4.unelevated === true)
2759
2780
  return "unelevated";
2760
2781
  return defaultValue;
2761
- };
2762
- var getBtnDesignAttr = (props4) => {
2782
+ }
2783
+ function getBtnDesignAttr(props4) {
2763
2784
  const design = getBtnDesign(props4);
2764
2785
  return design !== void 0 ? { [design]: true } : {};
2765
- };
2786
+ }
2766
2787
  var useBtnProps = {
2767
2788
  ...useSizeProps,
2768
2789
  ...useRouterLinkProps,
@@ -3084,7 +3105,13 @@
3084
3105
  onBeforeUnmount(() => {
3085
3106
  cleanup(true);
3086
3107
  });
3087
- Object.assign(proxy, { click: onClick });
3108
+ Object.assign(proxy, {
3109
+ click: (e) => {
3110
+ if (isActionable.value === true) {
3111
+ onClick(e);
3112
+ }
3113
+ }
3114
+ });
3088
3115
  return () => {
3089
3116
  let inner = [];
3090
3117
  props4.icon !== void 0 && inner.push(
@@ -3182,7 +3209,7 @@
3182
3209
  }
3183
3210
  });
3184
3211
 
3185
- // src/utils/private/selection.js
3212
+ // src/utils/private.selection/selection.js
3186
3213
  function clearSelection() {
3187
3214
  if (window.getSelection !== void 0) {
3188
3215
  const selection = window.getSelection();
@@ -3197,7 +3224,7 @@
3197
3224
  }
3198
3225
  }
3199
3226
 
3200
- // src/composables/private/use-anchor.js
3227
+ // src/composables/private.use-anchor/use-anchor.js
3201
3228
  var useAnchorProps = {
3202
3229
  target: {
3203
3230
  default: true
@@ -3366,7 +3393,7 @@
3366
3393
  };
3367
3394
  }
3368
3395
 
3369
- // src/composables/private/use-scroll-target.js
3396
+ // src/composables/private.use-scroll-target/use-scroll-target.js
3370
3397
  function use_scroll_target_default(props4, configureScrollTarget) {
3371
3398
  const localScrollTarget = ref(null);
3372
3399
  let scrollFn;
@@ -3399,7 +3426,7 @@
3399
3426
  };
3400
3427
  }
3401
3428
 
3402
- // src/composables/private/use-model-toggle.js
3429
+ // src/composables/private.use-model-toggle/use-model-toggle.js
3403
3430
  var useModelToggleProps = {
3404
3431
  modelValue: {
3405
3432
  type: Boolean,
@@ -3522,7 +3549,7 @@
3522
3549
  return publicMethods;
3523
3550
  }
3524
3551
 
3525
- // src/utils/private/focus-manager.js
3552
+ // src/utils/private.focus/focus-manager.js
3526
3553
  var queue = [];
3527
3554
  var waitFlags = [];
3528
3555
  function clearFlag(flag) {
@@ -3550,7 +3577,7 @@
3550
3577
  queue = queue.filter((entry) => entry !== fn);
3551
3578
  }
3552
3579
 
3553
- // src/utils/private/global-nodes.js
3580
+ // src/utils/private.global/global-nodes.js
3554
3581
  var nodesList = [];
3555
3582
  var portalTypeList = [];
3556
3583
  var portalIndex = 1;
@@ -3597,7 +3624,7 @@
3597
3624
  }
3598
3625
  }
3599
3626
 
3600
- // src/utils/private/portal.js
3627
+ // src/utils/private.portal/portal.js
3601
3628
  var portalProxyList = [];
3602
3629
  function getPortalProxy(el) {
3603
3630
  return portalProxyList.find(
@@ -3637,7 +3664,7 @@
3637
3664
  }
3638
3665
  }
3639
3666
 
3640
- // src/composables/private/use-portal.js
3667
+ // src/composables/private.use-portal/use-portal.js
3641
3668
  var QPortal = createComponent({
3642
3669
  name: "QPortal",
3643
3670
  setup(_, { slots }) {
@@ -3717,7 +3744,7 @@
3717
3744
  };
3718
3745
  }
3719
3746
 
3720
- // src/composables/private/use-transition.js
3747
+ // src/composables/private.use-transition/use-transition.js
3721
3748
  var useTransitionProps = {
3722
3749
  transitionShow: {
3723
3750
  type: String,
@@ -3753,7 +3780,7 @@
3753
3780
  };
3754
3781
  }
3755
3782
 
3756
- // src/composables/use-tick.js
3783
+ // src/composables/use-tick/use-tick.js
3757
3784
  function use_tick_default() {
3758
3785
  let tickFn;
3759
3786
  const vm2 = getCurrentInstance();
@@ -3776,7 +3803,7 @@
3776
3803
  };
3777
3804
  }
3778
3805
 
3779
- // src/composables/use-timeout.js
3806
+ // src/composables/use-timeout/use-timeout.js
3780
3807
  function use_timeout_default() {
3781
3808
  let timer2 = null;
3782
3809
  const vm2 = getCurrentInstance();
@@ -3802,7 +3829,7 @@
3802
3829
  };
3803
3830
  }
3804
3831
 
3805
- // src/utils/scroll.js
3832
+ // src/utils/scroll/scroll.js
3806
3833
  var scrollTargets = false ? [] : [null, document, document.body, document.scrollingElement, document.documentElement];
3807
3834
  function getScrollTarget(el, targetEl) {
3808
3835
  let target2 = getElement(targetEl);
@@ -3941,7 +3968,7 @@
3941
3968
  hasScrollbar
3942
3969
  };
3943
3970
 
3944
- // src/utils/private/escape-key.js
3971
+ // src/utils/private.keyboard/escape-key.js
3945
3972
  var handlers = [];
3946
3973
  var escDown;
3947
3974
  function onKeydown(evt) {
@@ -3984,7 +4011,7 @@
3984
4011
  }
3985
4012
  }
3986
4013
 
3987
- // src/utils/private/focusout.js
4014
+ // src/utils/private.focus/focusout.js
3988
4015
  var handlers2 = [];
3989
4016
  function trigger(e) {
3990
4017
  handlers2[handlers2.length - 1](e);
@@ -4007,7 +4034,7 @@
4007
4034
  }
4008
4035
  }
4009
4036
 
4010
- // src/utils/private/click-outside.js
4037
+ // src/utils/private.click-outside/click-outside.js
4011
4038
  var timer = null;
4012
4039
  var { notPassiveCapture } = listenOpts;
4013
4040
  var registeredList = [];
@@ -4067,7 +4094,7 @@
4067
4094
  }
4068
4095
  }
4069
4096
 
4070
- // src/utils/private/position-engine.js
4097
+ // src/utils/private.position-engine/position-engine.js
4071
4098
  var vpLeft;
4072
4099
  var vpTop;
4073
4100
  function validatePosition(pos) {
@@ -4567,7 +4594,7 @@
4567
4594
  }
4568
4595
  });
4569
4596
 
4570
- // src/utils/uid.js
4597
+ // src/utils/uid/uid.js
4571
4598
  var buf;
4572
4599
  var bufIdx = 0;
4573
4600
  var hexBytes = new Array(256);
@@ -4608,7 +4635,7 @@
4608
4635
  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]];
4609
4636
  }
4610
4637
 
4611
- // src/composables/use-id.js
4638
+ // src/composables/use-id/use-id.js
4612
4639
  function parseValue(val) {
4613
4640
  return val === void 0 || val === null ? null : val;
4614
4641
  }
@@ -4635,16 +4662,15 @@
4635
4662
 
4636
4663
  // src/components/btn-dropdown/QBtnDropdown.js
4637
4664
  var btnPropsList = Object.keys(useBtnProps);
4638
- var passBtnProps = (props4) => btnPropsList.reduce(
4639
- (acc, key) => {
4665
+ function passBtnProps(props4) {
4666
+ return btnPropsList.reduce((acc, key) => {
4640
4667
  const val = props4[key];
4641
4668
  if (val !== void 0) {
4642
4669
  acc[key] = val;
4643
4670
  }
4644
4671
  return acc;
4645
- },
4646
- {}
4647
- );
4672
+ }, {});
4673
+ }
4648
4674
  var QBtnDropdown_default = createComponent({
4649
4675
  name: "QBtnDropdown",
4650
4676
  props: {
@@ -4823,7 +4849,7 @@
4823
4849
  }
4824
4850
  });
4825
4851
 
4826
- // src/composables/private/use-form.js
4852
+ // src/composables/use-form/private.use-form.js
4827
4853
  var useFormProps = {
4828
4854
  name: String
4829
4855
  };
@@ -5031,7 +5057,7 @@
5031
5057
  }
5032
5058
  });
5033
5059
 
5034
- // src/utils/private/touch.js
5060
+ // src/utils/private.touch/touch.js
5035
5061
  var modifiersAll = {
5036
5062
  left: true,
5037
5063
  right: true,
@@ -5251,7 +5277,7 @@
5251
5277
  }
5252
5278
  );
5253
5279
 
5254
- // src/composables/use-render-cache.js
5280
+ // src/composables/use-render-cache/use-render-cache.js
5255
5281
  function use_render_cache_default() {
5256
5282
  let cache = /* @__PURE__ */ Object.create(null);
5257
5283
  return {
@@ -5260,19 +5286,19 @@
5260
5286
  cache[key] = obj;
5261
5287
  },
5262
5288
  hasCache(key) {
5263
- return cache.hasOwnProperty(key);
5289
+ return Object.hasOwnProperty.call(cache, key);
5264
5290
  },
5265
5291
  clearCache(key) {
5266
5292
  if (key !== void 0) {
5267
5293
  delete cache[key];
5268
5294
  } else {
5269
- cache = {};
5295
+ cache = /* @__PURE__ */ Object.create(null);
5270
5296
  }
5271
5297
  }
5272
5298
  };
5273
5299
  }
5274
5300
 
5275
- // src/composables/private/use-panel.js
5301
+ // src/composables/private.use-panel/use-panel.js
5276
5302
  var usePanelChildProps = {
5277
5303
  name: { required: true },
5278
5304
  disable: Boolean
@@ -5366,15 +5392,15 @@
5366
5392
  function previousPanel() {
5367
5393
  goToPanelByOffset(-1);
5368
5394
  }
5369
- function goToPanel(name) {
5370
- emit("update:modelValue", name);
5395
+ function goToPanel(name2) {
5396
+ emit("update:modelValue", name2);
5371
5397
  }
5372
- function isValidPanelName(name) {
5373
- return name !== void 0 && name !== null && name !== "";
5398
+ function isValidPanelName(name2) {
5399
+ return name2 !== void 0 && name2 !== null && name2 !== "";
5374
5400
  }
5375
- function getPanelIndex(name) {
5401
+ function getPanelIndex(name2) {
5376
5402
  return panels.findIndex((panel) => {
5377
- return panel.props.name === name && panel.props.disable !== "" && panel.props.disable !== true;
5403
+ return panel.props.name === name2 && panel.props.disable !== "" && panel.props.disable !== true;
5378
5404
  });
5379
5405
  }
5380
5406
  function getEnabledPanels() {
@@ -5473,7 +5499,7 @@
5473
5499
  };
5474
5500
  }
5475
5501
 
5476
- // src/composables/private/use-fullscreen.js
5502
+ // src/composables/private.use-fullscreen/use-fullscreen.js
5477
5503
  var counter = 0;
5478
5504
  var useFullscreenProps = {
5479
5505
  fullscreen: Boolean,
@@ -5519,14 +5545,14 @@
5519
5545
  historyEntry = {
5520
5546
  handler: exitFullscreen
5521
5547
  };
5522
- history_default.add(historyEntry);
5548
+ History_default.add(historyEntry);
5523
5549
  }
5524
5550
  function exitFullscreen() {
5525
5551
  if (inFullscreen.value !== true) {
5526
5552
  return;
5527
5553
  }
5528
5554
  if (historyEntry !== void 0) {
5529
- history_default.remove(historyEntry);
5555
+ History_default.remove(historyEntry);
5530
5556
  historyEntry = void 0;
5531
5557
  }
5532
5558
  container.replaceChild(proxy.$el, fullscreenFillerNode);
@@ -5695,12 +5721,12 @@
5695
5721
  const maxIndex = panelsLen - 1;
5696
5722
  node.push(
5697
5723
  getNavigationContainer("buttons", (panel, index) => {
5698
- const name = panel.props.name;
5724
+ const name2 = panel.props.name;
5699
5725
  const active = panelIndex.value === index;
5700
5726
  return fn({
5701
5727
  index,
5702
5728
  maxIndex,
5703
- name,
5729
+ name: name2,
5704
5730
  active,
5705
5731
  btnProps: {
5706
5732
  icon: active === true ? navActiveIcon.value : navIcon.value,
@@ -5708,7 +5734,7 @@
5708
5734
  ...controlProps.value
5709
5735
  },
5710
5736
  onClick: () => {
5711
- goToPanel(name);
5737
+ goToPanel(name2);
5712
5738
  }
5713
5739
  });
5714
5740
  })
@@ -5952,7 +5978,7 @@
5952
5978
  }
5953
5979
  });
5954
5980
 
5955
- // src/composables/private/use-refocus-target.js
5981
+ // src/composables/private.use-refocus-target/use-refocus-target.js
5956
5982
  function use_refocus_target_default(props4, rootRef) {
5957
5983
  const refocusRef = ref(null);
5958
5984
  const refocusTargetEl = computed(() => {
@@ -5981,7 +6007,7 @@
5981
6007
  };
5982
6008
  }
5983
6009
 
5984
- // src/utils/private/option-sizes.js
6010
+ // src/utils/private.option-sizes/option-sizes.js
5985
6011
  var option_sizes_default = {
5986
6012
  xs: 30,
5987
6013
  sm: 35,
@@ -6336,7 +6362,7 @@
6336
6362
  }
6337
6363
  });
6338
6364
 
6339
- // src/components/circular-progress/use-circular-progress.js
6365
+ // src/components/circular-progress/circular-progress.js
6340
6366
  var useCircularCommonProps = {
6341
6367
  ...useSizeProps,
6342
6368
  min: {
@@ -6899,12 +6925,12 @@
6899
6925
  const classes = computed(
6900
6926
  () => `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 : "")
6901
6927
  );
6902
- function getPositionClass(name) {
6903
- const cls = "q-slider__" + name;
6928
+ function getPositionClass(name2) {
6929
+ const cls = "q-slider__" + name2;
6904
6930
  return `${cls} ${cls}${axis.value} ${cls}${axis.value}${labelSide.value}`;
6905
6931
  }
6906
- function getAxisClass(name) {
6907
- const cls = "q-slider__" + name;
6932
+ function getAxisClass(name2) {
6933
+ const cls = "q-slider__" + name2;
6908
6934
  return `${cls} ${cls}${axis.value}`;
6909
6935
  }
6910
6936
  const selectionBarClass = computed(() => {
@@ -7390,7 +7416,7 @@
7390
7416
  }
7391
7417
  });
7392
7418
 
7393
- // src/composables/use-hydration.js
7419
+ // src/composables/use-hydration/use-hydration.js
7394
7420
  function use_hydration_default() {
7395
7421
  const isHydrated = ref(!isRuntimeSsrPreHydration.value);
7396
7422
  if (isHydrated.value === false) {
@@ -7518,7 +7544,7 @@
7518
7544
  }
7519
7545
  });
7520
7546
 
7521
- // src/utils/private/rtl.js
7547
+ // src/utils/private.rtl/rtl.js
7522
7548
  var rtlHasScrollBug = false;
7523
7549
  if (true) {
7524
7550
  const scroller = document.createElement("div");
@@ -7634,18 +7660,18 @@
7634
7660
  const isRTL = computed(() => props4.vertical !== true && $q.lang.rtl === true);
7635
7661
  const rtlPosCorrection = computed(() => rtlHasScrollBug === false && isRTL.value === true);
7636
7662
  watch(isRTL, updateArrows);
7637
- watch(() => props4.modelValue, (name) => {
7638
- updateModel2({ name, setCurrent: true, skipEmit: true });
7663
+ watch(() => props4.modelValue, (name2) => {
7664
+ updateModel2({ name: name2, setCurrent: true, skipEmit: true });
7639
7665
  });
7640
7666
  watch(() => props4.outsideArrows, recalculateScroll);
7641
- function updateModel2({ name, setCurrent, skipEmit }) {
7642
- if (currentModel.value !== name) {
7667
+ function updateModel2({ name: name2, setCurrent, skipEmit }) {
7668
+ if (currentModel.value !== name2) {
7643
7669
  if (skipEmit !== true && props4["onUpdate:modelValue"] !== void 0) {
7644
- emit("update:modelValue", name);
7670
+ emit("update:modelValue", name2);
7645
7671
  }
7646
7672
  if (setCurrent === true || props4["onUpdate:modelValue"] === void 0) {
7647
- animate(currentModel.value, name);
7648
- currentModel.value = name;
7673
+ animate(currentModel.value, name2);
7674
+ currentModel.value = name2;
7649
7675
  }
7650
7676
  }
7651
7677
  }
@@ -7808,7 +7834,7 @@
7808
7834
  return true;
7809
7835
  }
7810
7836
  function updateActiveRoute() {
7811
- let name = null, bestScore = { matchedLen: 0, queryDiff: 9999, hrefLen: 0 };
7837
+ let name2 = null, bestScore = { matchedLen: 0, queryDiff: 9999, hrefLen: 0 };
7812
7838
  const list = tabDataList.filter((tab) => tab.routeData !== void 0 && tab.routeData.hasRouterLink.value === true);
7813
7839
  const { hash: currentHash, query: currentQuery } = proxy.$route;
7814
7840
  const currentQueryLen = Object.keys(currentQuery).length;
@@ -7826,7 +7852,7 @@
7826
7852
  if (queryLen !== currentQueryLen || hasQueryIncluded(currentQuery, query) === false) {
7827
7853
  continue;
7828
7854
  }
7829
- name = tab.name.value;
7855
+ name2 = tab.name.value;
7830
7856
  break;
7831
7857
  }
7832
7858
  if (hash !== "" && hash !== currentHash) {
@@ -7841,27 +7867,27 @@
7841
7867
  hrefLen: href2.length - hash.length
7842
7868
  };
7843
7869
  if (newScore.matchedLen > bestScore.matchedLen) {
7844
- name = tab.name.value;
7870
+ name2 = tab.name.value;
7845
7871
  bestScore = newScore;
7846
7872
  continue;
7847
7873
  } else if (newScore.matchedLen !== bestScore.matchedLen) {
7848
7874
  continue;
7849
7875
  }
7850
7876
  if (newScore.queryDiff < bestScore.queryDiff) {
7851
- name = tab.name.value;
7877
+ name2 = tab.name.value;
7852
7878
  bestScore = newScore;
7853
7879
  } else if (newScore.queryDiff !== bestScore.queryDiff) {
7854
7880
  continue;
7855
7881
  }
7856
7882
  if (newScore.hrefLen > bestScore.hrefLen) {
7857
- name = tab.name.value;
7883
+ name2 = tab.name.value;
7858
7884
  bestScore = newScore;
7859
7885
  }
7860
7886
  }
7861
- if (name === null && tabDataList.some((tab) => tab.routeData === void 0 && tab.name.value === currentModel.value) === true) {
7887
+ if (name2 === null && tabDataList.some((tab) => tab.routeData === void 0 && tab.name.value === currentModel.value) === true) {
7862
7888
  return;
7863
7889
  }
7864
- updateModel2({ name, setCurrent: true });
7890
+ updateModel2({ name: name2, setCurrent: true });
7865
7891
  }
7866
7892
  function onFocusin(e) {
7867
7893
  removeFocusTimeout();
@@ -8195,7 +8221,7 @@
8195
8221
  }
8196
8222
  });
8197
8223
 
8198
- // src/utils/patterns.js
8224
+ // src/utils/patterns/patterns.js
8199
8225
  var hex = /^#[0-9a-fA-F]{3}([0-9a-fA-F]{3})?$/;
8200
8226
  var hexa = /^#[0-9a-fA-F]{4}([0-9a-fA-F]{4})?$/;
8201
8227
  var hexOrHexa = /^#([0-9a-fA-F]{3}|[0-9a-fA-F]{4}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$/;
@@ -8227,7 +8253,7 @@
8227
8253
  testPattern
8228
8254
  };
8229
8255
 
8230
- // src/utils/colors.js
8256
+ // src/utils/colors/colors.js
8231
8257
  var reRGBA = /^rgb(a)?\((\d{1,3}),(\d{1,3}),(\d{1,3}),?([01]?\.?\d*?)?\)$/;
8232
8258
  function rgbToHex({ r, g, b, a }) {
8233
8259
  const alpha = a !== void 0;
@@ -9138,7 +9164,7 @@
9138
9164
  }
9139
9165
  });
9140
9166
 
9141
- // src/utils/private/date-persian.js
9167
+ // src/utils/date/private.persian.js
9142
9168
  var breaks = [
9143
9169
  -61,
9144
9170
  9,
@@ -9377,7 +9403,7 @@
9377
9403
  };
9378
9404
  }
9379
9405
 
9380
- // src/utils/date.js
9406
+ // src/utils/date/date.js
9381
9407
  var MILLISECONDS_IN_DAY = 864e5;
9382
9408
  var MILLISECONDS_IN_HOUR = 36e5;
9383
9409
  var MILLISECONDS_IN_MINUTE = 6e4;
@@ -9633,7 +9659,7 @@
9633
9659
  if (mask === void 0) {
9634
9660
  mask = defaultMask;
9635
9661
  }
9636
- const langOpts = getDateLocale(dateLocale, lang_default.props), months = langOpts.months, monthsShort = langOpts.monthsShort;
9662
+ const langOpts = getDateLocale(dateLocale, Lang_default.props), months = langOpts.months, monthsShort = langOpts.monthsShort;
9637
9663
  const { regex, map } = getRegexData(mask, langOpts);
9638
9664
  const match = str.match(regex);
9639
9665
  if (match === null) {
@@ -10086,7 +10112,7 @@
10086
10112
  if (mask === void 0) {
10087
10113
  mask = defaultMask;
10088
10114
  }
10089
- const locale = getDateLocale(dateLocale, lang_default.props);
10115
+ const locale = getDateLocale(dateLocale, Lang_default.props);
10090
10116
  return mask.replace(
10091
10117
  token,
10092
10118
  (match, text) => match in formatter ? formatter[match](date, locale, __forcedYear, __forcedTimezoneOffset) : text === void 0 ? match : text.split("\\]").join("]")
@@ -11236,12 +11262,12 @@
11236
11262
  }
11237
11263
  });
11238
11264
 
11239
- // src/composables/private/use-history.js
11265
+ // src/composables/private.use-history/use-history.js
11240
11266
  function use_history_default(showing, hide, hideOnRouteChange) {
11241
11267
  let historyEntry;
11242
11268
  function removeFromHistory() {
11243
11269
  if (historyEntry !== void 0) {
11244
- history_default.remove(historyEntry);
11270
+ History_default.remove(historyEntry);
11245
11271
  historyEntry = void 0;
11246
11272
  }
11247
11273
  }
@@ -11255,12 +11281,12 @@
11255
11281
  condition: () => hideOnRouteChange.value === true,
11256
11282
  handler: hide
11257
11283
  };
11258
- history_default.add(historyEntry);
11284
+ History_default.add(historyEntry);
11259
11285
  }
11260
11286
  };
11261
11287
  }
11262
11288
 
11263
- // src/utils/prevent-scroll.js
11289
+ // src/utils/scroll/prevent-scroll.js
11264
11290
  var registered = 0;
11265
11291
  var scrollPositionX;
11266
11292
  var scrollPositionY;
@@ -11397,7 +11423,7 @@
11397
11423
  apply(action);
11398
11424
  }
11399
11425
 
11400
- // src/composables/private/use-prevent-scroll.js
11426
+ // src/composables/private.use-prevent-scroll/use-prevent-scroll.js
11401
11427
  function use_prevent_scroll_default() {
11402
11428
  let currentState;
11403
11429
  return {
@@ -11569,11 +11595,19 @@
11569
11595
  function focus(selector) {
11570
11596
  addFocusFn(() => {
11571
11597
  let node = innerRef.value;
11572
- if (node === null || node.contains(document.activeElement) === true) {
11598
+ if (node === null)
11573
11599
  return;
11600
+ if (selector !== void 0) {
11601
+ const target2 = node.querySelector(selector);
11602
+ if (target2 !== null) {
11603
+ target2.focus({ preventScroll: true });
11604
+ return;
11605
+ }
11606
+ }
11607
+ if (node.contains(document.activeElement) !== true) {
11608
+ node = node.querySelector("[autofocus][tabindex], [data-autofocus][tabindex]") || node.querySelector("[autofocus] [tabindex], [data-autofocus] [tabindex]") || node.querySelector("[autofocus], [data-autofocus]") || node;
11609
+ node.focus({ preventScroll: true });
11574
11610
  }
11575
- 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;
11576
- node.focus({ preventScroll: true });
11577
11611
  });
11578
11612
  }
11579
11613
  function shake(focusTarget) {
@@ -12328,9 +12362,9 @@
12328
12362
  }
12329
12363
  }
12330
12364
  }
12331
- hasParent(name, spanLevel) {
12365
+ hasParent(name2, spanLevel) {
12332
12366
  const el = spanLevel ? this.parent : this.blockParent;
12333
- return el !== null ? el.nodeName.toLowerCase() === name.toLowerCase() : false;
12367
+ return el !== null ? el.nodeName.toLowerCase() === name2.toLowerCase() : false;
12334
12368
  }
12335
12369
  hasParents(list, recursive, el = this.parent) {
12336
12370
  if (el === null) {
@@ -12372,14 +12406,14 @@
12372
12406
  }
12373
12407
  return null;
12374
12408
  }
12375
- can(name) {
12376
- if (name === "outdent") {
12409
+ can(name2) {
12410
+ if (name2 === "outdent") {
12377
12411
  return this.hasParents(["blockquote", "li"], true);
12378
12412
  }
12379
- if (name === "indent") {
12413
+ if (name2 === "indent") {
12380
12414
  return this.hasParents(["li"], true);
12381
12415
  }
12382
- if (name === "link") {
12416
+ if (name2 === "link") {
12383
12417
  return this.selection !== null || this.is("link");
12384
12418
  }
12385
12419
  }
@@ -12949,13 +12983,13 @@
12949
12983
  }
12950
12984
  };
12951
12985
  aliases.forEach((alias) => {
12952
- const name = fonts[alias];
12986
+ const name2 = fonts[alias];
12953
12987
  def[alias] = {
12954
12988
  cmd: "fontName",
12955
- param: name,
12989
+ param: name2,
12956
12990
  icon: defaultFontIcon,
12957
- tip: name,
12958
- htmlTip: `<font face="${name}">${name}</font>`
12991
+ tip: name2,
12992
+ htmlTip: `<font face="${name2}">${name2}</font>`
12959
12993
  };
12960
12994
  });
12961
12995
  return def;
@@ -13025,7 +13059,7 @@
13025
13059
  }
13026
13060
  }
13027
13061
 
13028
- // src/composables/use-split-attrs.js
13062
+ // src/composables/use-split-attrs/use-split-attrs.js
13029
13063
  var listenerRE = /^on[A-Z]/;
13030
13064
  function use_split_attrs_default() {
13031
13065
  const { attrs, vnode } = getCurrentInstance();
@@ -13054,11 +13088,11 @@
13054
13088
  return acc;
13055
13089
  }
13056
13090
 
13057
- // src/utils/extend.js
13091
+ // src/utils/extend/extend.js
13058
13092
  var toString = Object.prototype.toString;
13059
13093
  var hasOwn = Object.prototype.hasOwnProperty;
13060
13094
  var notPlainObject = new Set(
13061
- ["Boolean", "Number", "String", "Function", "Array", "Date", "RegExp"].map((name) => "[object " + name + "]")
13095
+ ["Boolean", "Number", "String", "Function", "Array", "Date", "RegExp"].map((name2) => "[object " + name2 + "]")
13062
13096
  );
13063
13097
  function isPlainObject(obj) {
13064
13098
  if (obj !== Object(obj) || notPlainObject.has(toString.call(obj)) === true) {
@@ -13073,7 +13107,7 @@
13073
13107
  return key === void 0 || hasOwn.call(obj, key);
13074
13108
  }
13075
13109
  function extend() {
13076
- let options, name, src, copy, copyIsArray, clone2, target2 = arguments[0] || {}, i = 1, deep = false;
13110
+ let options, name2, src, copy, copyIsArray, clone2, target2 = arguments[0] || {}, i = 1, deep = false;
13077
13111
  const length = arguments.length;
13078
13112
  if (typeof target2 === "boolean") {
13079
13113
  deep = target2;
@@ -13089,9 +13123,9 @@
13089
13123
  }
13090
13124
  for (; i < length; i++) {
13091
13125
  if ((options = arguments[i]) !== null) {
13092
- for (name in options) {
13093
- src = target2[name];
13094
- copy = options[name];
13126
+ for (name2 in options) {
13127
+ src = target2[name2];
13128
+ copy = options[name2];
13095
13129
  if (target2 === copy) {
13096
13130
  continue;
13097
13131
  }
@@ -13101,9 +13135,9 @@
13101
13135
  } else {
13102
13136
  clone2 = isPlainObject(src) === true ? src : {};
13103
13137
  }
13104
- target2[name] = extend(deep, clone2, copy);
13138
+ target2[name2] = extend(deep, clone2, copy);
13105
13139
  } else if (copy !== void 0) {
13106
- target2[name] = copy;
13140
+ target2[name2] = copy;
13107
13141
  }
13108
13142
  }
13109
13143
  }
@@ -13811,9 +13845,9 @@
13811
13845
  "aria-label": toggleAriaLabel
13812
13846
  };
13813
13847
  });
13814
- watch(() => props4.group, (name) => {
13848
+ watch(() => props4.group, (name2) => {
13815
13849
  exitGroup !== void 0 && exitGroup();
13816
- name !== void 0 && enterGroup();
13850
+ name2 !== void 0 && enterGroup();
13817
13851
  });
13818
13852
  function onHeaderClick(e) {
13819
13853
  hasLink.value !== true && toggle(e);
@@ -14242,7 +14276,7 @@
14242
14276
  }
14243
14277
  });
14244
14278
 
14245
- // src/composables/use-form-child.js
14279
+ // src/composables/use-form/use-form-child.js
14246
14280
  function use_form_child_default({ validate, resetValidation, requiresQForm }) {
14247
14281
  const $form = inject(formKey, false);
14248
14282
  if ($form !== false) {
@@ -14267,7 +14301,7 @@
14267
14301
  }
14268
14302
  }
14269
14303
 
14270
- // src/composables/private/use-validate.js
14304
+ // src/composables/private.use-validate/use-validate.js
14271
14305
  var lazyRulesValues = [true, false, "ondemand"];
14272
14306
  var useValidateProps = {
14273
14307
  modelValue: {},
@@ -14410,7 +14444,7 @@
14410
14444
  };
14411
14445
  }
14412
14446
 
14413
- // src/composables/private/use-field.js
14447
+ // src/composables/private.use-field/use-field.js
14414
14448
  function fieldValueIsFilled(val) {
14415
14449
  return val !== void 0 && val !== null && ("" + val).length !== 0;
14416
14450
  }
@@ -14855,7 +14889,7 @@
14855
14889
  }
14856
14890
  });
14857
14891
 
14858
- // src/composables/private/use-file.js
14892
+ // src/composables/private.use-file/use-file.js
14859
14893
  function filterFiles(files, rejectedFiles, failedPropValidation, filterFn) {
14860
14894
  const acceptedFiles = [];
14861
14895
  files.forEach((file) => {
@@ -15031,7 +15065,7 @@
15031
15065
  };
15032
15066
  }
15033
15067
 
15034
- // src/composables/private/use-file-dom-props.js
15068
+ // src/composables/private.use-file/use-file-dom-props.js
15035
15069
  function use_file_dom_props_default(props4, typeGuard) {
15036
15070
  function getFormDomProps() {
15037
15071
  const model = props4.modelValue;
@@ -15709,7 +15743,7 @@
15709
15743
  }
15710
15744
  });
15711
15745
 
15712
- // src/composables/private/use-ratio.js
15746
+ // src/composables/private.use-ratio/use-ratio.js
15713
15747
  var useRatioProps = {
15714
15748
  ratio: [String, Number]
15715
15749
  };
@@ -16576,7 +16610,7 @@
16576
16610
  };
16577
16611
  }
16578
16612
 
16579
- // src/composables/private/use-key-composition.js
16613
+ // src/composables/private.use-key-composition/use-key-composition.js
16580
16614
  var isJapanese = /[\u3000-\u303f\u3040-\u309f\u30a0-\u30ff\uff00-\uff9f\u4e00-\u9faf\u3400-\u4dbf]/;
16581
16615
  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;
16582
16616
  var isKorean = /[\u3131-\u314e\u314f-\u3163\uac00-\ud7a3]/;
@@ -17141,8 +17175,8 @@
17141
17175
  const attrs = computed(() => editable.value === true ? { tabindex: props4.tabindex } : { [`aria-${props4.disable === true ? "disabled" : "readonly"}`]: "true" });
17142
17176
  const circularProps = computed(() => {
17143
17177
  const agg = {};
17144
- commonPropsName.forEach((name) => {
17145
- agg[name] = props4[name];
17178
+ commonPropsName.forEach((name2) => {
17179
+ agg[name2] = props4[name2];
17146
17180
  });
17147
17181
  return agg;
17148
17182
  });
@@ -18491,7 +18525,7 @@
18491
18525
  }
18492
18526
  });
18493
18527
 
18494
- // src/utils/frame-debounce.js
18528
+ // src/utils/frame-debounce/frame-debounce.js
18495
18529
  function frame_debounce_default(fn) {
18496
18530
  let wait = false, frame, callArgs;
18497
18531
  function debounced() {
@@ -18499,7 +18533,7 @@
18499
18533
  if (wait === true)
18500
18534
  return;
18501
18535
  wait = true;
18502
- frame = requestAnimationFrame(() => {
18536
+ frame = window.requestAnimationFrame(() => {
18503
18537
  fn.apply(this, callArgs);
18504
18538
  callArgs = void 0;
18505
18539
  wait = false;
@@ -18642,7 +18676,7 @@
18642
18676
  }
18643
18677
  });
18644
18678
 
18645
- // src/utils/clone.js
18679
+ // src/utils/clone/clone.js
18646
18680
  function cloneDeep(data, hash = /* @__PURE__ */ new WeakMap()) {
18647
18681
  if (Object(data) !== data)
18648
18682
  return data;
@@ -19514,14 +19548,14 @@
19514
19548
  const acc = [], icons = iconData.value, ceil = Math.ceil(props4.modelValue), tabindex = editable.value === true ? 0 : null;
19515
19549
  const halfIndex = props4.iconHalf === void 0 || ceil === props4.modelValue ? -1 : ceil;
19516
19550
  for (let i = 1; i <= props4.max; i++) {
19517
- 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;
19551
+ 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;
19518
19552
  acc.push({
19519
19553
  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,
19520
19554
  attrs: {
19521
19555
  tabindex,
19522
19556
  role: "radio",
19523
19557
  "aria-checked": props4.modelValue === i ? "true" : "false",
19524
- "aria-label": iconLabel.value(i, name)
19558
+ "aria-label": iconLabel.value(i, name2)
19525
19559
  },
19526
19560
  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}` : "")
19527
19561
  });
@@ -19578,7 +19612,7 @@
19578
19612
  });
19579
19613
  return () => {
19580
19614
  const child = [];
19581
- stars.value.forEach(({ iconClass, name, attrs }, index) => {
19615
+ stars.value.forEach(({ iconClass, name: name2, attrs }, index) => {
19582
19616
  const i = index + 1;
19583
19617
  child.push(
19584
19618
  h("div", {
@@ -19604,7 +19638,7 @@
19604
19638
  }
19605
19639
  }, hMergeSlot(
19606
19640
  slots[`tip-${i}`],
19607
- [h(QIcon_default, { class: iconClass, name })]
19641
+ [h(QIcon_default, { class: iconClass, name: name2 })]
19608
19642
  ))
19609
19643
  );
19610
19644
  });
@@ -20658,7 +20692,6 @@
20658
20692
  "add",
20659
20693
  "remove",
20660
20694
  "inputValue",
20661
- "newValue",
20662
20695
  "keyup",
20663
20696
  "keypress",
20664
20697
  "keydown",
@@ -24322,9 +24355,9 @@
24322
24355
  }, hSlot(slots.default));
24323
24356
  }
24324
24357
  let col, child;
24325
- const name = vm2.vnode.key;
24326
- if (name) {
24327
- col = props4.props.colsMap[name];
24358
+ const name2 = vm2.vnode.key;
24359
+ if (name2) {
24360
+ col = props4.props.colsMap[name2];
24328
24361
  if (col === void 0)
24329
24362
  return;
24330
24363
  } else {
@@ -24481,7 +24514,7 @@
24481
24514
  }
24482
24515
  });
24483
24516
 
24484
- // src/utils/private/sort.js
24517
+ // src/utils/private.sort/sort.js
24485
24518
  function sortDate(a, b) {
24486
24519
  return new Date(a) - new Date(b);
24487
24520
  }
@@ -24878,11 +24911,11 @@
24878
24911
  return props4.columns;
24879
24912
  }
24880
24913
  const row = props4.rows[0];
24881
- return row !== void 0 ? Object.keys(row).map((name) => ({
24882
- name,
24883
- label: name.toUpperCase(),
24884
- field: name,
24885
- align: isNumber(row[name]) ? "right" : "left",
24914
+ return row !== void 0 ? Object.keys(row).map((name2) => ({
24915
+ name: name2,
24916
+ label: name2.toUpperCase(),
24917
+ field: name2,
24918
+ align: isNumber(row[name2]) ? "right" : "left",
24886
24919
  sortable: true
24887
24920
  })) : [];
24888
24921
  });
@@ -25230,19 +25263,19 @@
25230
25263
  if (props4.onRowClick !== void 0) {
25231
25264
  data.class["cursor-pointer"] = true;
25232
25265
  data.onClick = (evt) => {
25233
- emit("RowClick", evt, row, pageIndex);
25266
+ emit("rowClick", evt, row, pageIndex);
25234
25267
  };
25235
25268
  }
25236
25269
  if (props4.onRowDblclick !== void 0) {
25237
25270
  data.class["cursor-pointer"] = true;
25238
25271
  data.onDblclick = (evt) => {
25239
- emit("RowDblclick", evt, row, pageIndex);
25272
+ emit("rowDblclick", evt, row, pageIndex);
25240
25273
  };
25241
25274
  }
25242
25275
  if (props4.onRowContextmenu !== void 0) {
25243
25276
  data.class["cursor-pointer"] = true;
25244
25277
  data.onContextmenu = (evt) => {
25245
- emit("RowContextmenu", evt, row, pageIndex);
25278
+ emit("rowContextmenu", evt, row, pageIndex);
25246
25279
  };
25247
25280
  }
25248
25281
  return h("tr", data, child);
@@ -25737,8 +25770,8 @@
25737
25770
  if (props4.props === void 0) {
25738
25771
  return h("td", { class: classes.value }, hSlot(slots.default));
25739
25772
  }
25740
- const name = vm2.vnode.key;
25741
- const col = (props4.props.colsMap !== void 0 ? props4.props.colsMap[name] : null) || props4.props.col;
25773
+ const name2 = vm2.vnode.key;
25774
+ const col = (props4.props.colsMap !== void 0 ? props4.props.colsMap[name2] : null) || props4.props.col;
25742
25775
  if (col === void 0)
25743
25776
  return;
25744
25777
  const { row } = props4.props;
@@ -27450,7 +27483,7 @@
27450
27483
  };
27451
27484
  }
27452
27485
 
27453
- // src/utils/private/get-emits-object.js
27486
+ // src/utils/private.get-emits-object/get-emits-object.js
27454
27487
  var trueFn = () => true;
27455
27488
  function get_emits_object_default(emitsArray) {
27456
27489
  const emitsObject = {};
@@ -27460,10 +27493,10 @@
27460
27493
  return emitsObject;
27461
27494
  }
27462
27495
 
27463
- // src/utils/create-uploader-component.js
27496
+ // src/utils/create-uploader-component/create-uploader-component.js
27464
27497
  var coreEmitsObject = get_emits_object_default(coreEmits);
27465
- var create_uploader_component_default = ({ name, props: props4, emits: emits3, injectPlugin: injectPlugin2 }) => createComponent({
27466
- name,
27498
+ var create_uploader_component_default = ({ name: name2, props: props4, emits: emits3, injectPlugin: injectPlugin2 }) => createComponent({
27499
+ name: name2,
27467
27500
  props: {
27468
27501
  ...coreProps,
27469
27502
  ...props4
@@ -27478,6 +27511,7 @@
27478
27511
  function getFn(prop) {
27479
27512
  return typeof prop === "function" ? prop : () => prop;
27480
27513
  }
27514
+ var name = "QUploader";
27481
27515
  var props = {
27482
27516
  url: [Function, String],
27483
27517
  method: {
@@ -27578,8 +27612,8 @@
27578
27612
  }
27579
27613
  function performUpload(files, factory) {
27580
27614
  const form = new FormData(), xhr2 = new XMLHttpRequest();
27581
- const getProp2 = (name, arg) => {
27582
- return factory[name] !== void 0 ? getFn(factory[name])(arg) : xhrProps.value[name](arg);
27615
+ const getProp2 = (name2, arg) => {
27616
+ return factory[name2] !== void 0 ? getFn(factory[name2])(arg) : xhrProps.value[name2](arg);
27583
27617
  };
27584
27618
  const url = getProp2("url", files);
27585
27619
  if (!url) {
@@ -27673,7 +27707,7 @@
27673
27707
  };
27674
27708
  }
27675
27709
  var xhr_uploader_plugin_default = {
27676
- name: "QUploader",
27710
+ name,
27677
27711
  props,
27678
27712
  emits,
27679
27713
  injectPlugin
@@ -27802,7 +27836,7 @@
27802
27836
  }
27803
27837
  );
27804
27838
 
27805
- // src/utils/morph.js
27839
+ // src/utils/morph/morph.js
27806
27840
  var id2 = 0;
27807
27841
  var offsetBase = void 0;
27808
27842
  function getAbsolutePosition(el, resize) {
@@ -28612,8 +28646,8 @@
28612
28646
  }
28613
28647
  function updateModifiers2(mod2, ctx) {
28614
28648
  const opts = ctx.opts;
28615
- mods.forEach((name) => {
28616
- opts[name] = mod2[name] === true;
28649
+ mods.forEach((name2) => {
28650
+ opts[name2] = mod2[name2] === true;
28617
28651
  });
28618
28652
  }
28619
28653
  function insertArgs(arg, ctx) {
@@ -28633,25 +28667,25 @@
28633
28667
  ctx.name = arg.name;
28634
28668
  }
28635
28669
  const opts = ctx.opts;
28636
- props2.forEach((name) => {
28637
- if (arg[name] !== void 0) {
28638
- opts[name] = arg[name];
28670
+ props2.forEach((name2) => {
28671
+ if (arg[name2] !== void 0) {
28672
+ opts[name2] = arg[name2];
28639
28673
  }
28640
28674
  });
28641
28675
  }
28642
- function updateModel(name, ctx) {
28643
- if (ctx.name === name) {
28676
+ function updateModel(name2, ctx) {
28677
+ if (ctx.name === name2) {
28644
28678
  const group = morphGroups[ctx.group];
28645
28679
  if (group === void 0) {
28646
28680
  morphGroups[ctx.group] = {
28647
28681
  name: ctx.group,
28648
- model: name,
28682
+ model: name2,
28649
28683
  queue: [ctx],
28650
28684
  animating: false
28651
28685
  };
28652
28686
  changeClass(ctx, "remove");
28653
- } else if (group.model !== name) {
28654
- group.model = name;
28687
+ } else if (group.model !== name2) {
28688
+ group.model = name2;
28655
28689
  group.queue.push(ctx);
28656
28690
  if (group.animating === false && group.queue.length === 2) {
28657
28691
  trigger2(group);
@@ -28683,9 +28717,9 @@
28683
28717
  false ? {
28684
28718
  name: "morph",
28685
28719
  getSSRProps: (binding) => {
28686
- const name = binding.arg ? binding.arg.split(":")[0] : false;
28720
+ const name2 = binding.arg ? binding.arg.split(":")[0] : false;
28687
28721
  return {
28688
- class: name === binding.value ? "" : "q-morph--invisible"
28722
+ class: name2 === binding.value ? "" : "q-morph--invisible"
28689
28723
  };
28690
28724
  }
28691
28725
  } : {
@@ -29191,6 +29225,8 @@
29191
29225
  Cookies: () => Cookies_default,
29192
29226
  Dark: () => Dark_default,
29193
29227
  Dialog: () => Dialog_default,
29228
+ IconSet: () => IconSet_default,
29229
+ Lang: () => Lang_default,
29194
29230
  Loading: () => Loading_default,
29195
29231
  LoadingBar: () => LoadingBar_default,
29196
29232
  LocalStorage: () => LocalStorage_default,
@@ -29201,7 +29237,7 @@
29201
29237
  SessionStorage: () => SessionStorage_default
29202
29238
  });
29203
29239
 
29204
- // src/utils/get-css-var.js
29240
+ // src/utils/css-var/get-css-var.js
29205
29241
  function getCssVar(propName, element = document.body) {
29206
29242
  if (typeof propName !== "string") {
29207
29243
  throw new TypeError("Expected a string as propName");
@@ -29285,7 +29321,7 @@
29285
29321
  return Promise.reject(err);
29286
29322
  }
29287
29323
  }
29288
- var Plugin4 = define_reactive_plugin_default({
29324
+ var Plugin4 = createReactivePlugin({
29289
29325
  isActive: false,
29290
29326
  activeEl: null
29291
29327
  }, {
@@ -29344,7 +29380,7 @@
29344
29380
  var AppFullscreen_default = Plugin4;
29345
29381
 
29346
29382
  // src/plugins/app-visibility/AppVisibility.js
29347
- var Plugin5 = define_reactive_plugin_default({
29383
+ var Plugin5 = createReactivePlugin({
29348
29384
  appVisible: true
29349
29385
  }, {
29350
29386
  install({ $q }) {
@@ -29503,7 +29539,7 @@
29503
29539
  }
29504
29540
  });
29505
29541
 
29506
- // src/utils/private/global-dialog.js
29542
+ // src/utils/private.global/global-dialog.js
29507
29543
  function merge(target2, source) {
29508
29544
  for (const key in source) {
29509
29545
  if (key !== "spinner" && Object(source[key]) === source[key]) {
@@ -29626,10 +29662,7 @@
29626
29662
  // src/plugins/bottom-sheet/BottomSheet.js
29627
29663
  var BottomSheet_default = {
29628
29664
  install({ $q, parentApp }) {
29629
- $q.bottomSheet = global_dialog_default(BottomSheetComponent_default, false, parentApp);
29630
- if (this.__installed !== true) {
29631
- this.create = $q.bottomSheet;
29632
- }
29665
+ $q.bottomSheet = this.create = global_dialog_default(BottomSheetComponent_default, false, parentApp);
29633
29666
  }
29634
29667
  };
29635
29668
 
@@ -29732,14 +29765,14 @@
29732
29765
  }
29733
29766
  function get(key, ssr) {
29734
29767
  const cookieSource = ssr ? ssr.req.headers : document, cookies = cookieSource.cookie ? cookieSource.cookie.split("; ") : [], l = cookies.length;
29735
- let result = key ? null : {}, i = 0, parts, name, cookie;
29768
+ let result = key ? null : {}, i = 0, parts, name2, cookie;
29736
29769
  for (; i < l; i++) {
29737
29770
  parts = cookies[i].split("=");
29738
- name = decode(parts.shift());
29771
+ name2 = decode(parts.shift());
29739
29772
  cookie = parts.join("=");
29740
29773
  if (!key) {
29741
- result[name] = cookie;
29742
- } else if (key === name) {
29774
+ result[name2] = cookie;
29775
+ } else if (key === name2) {
29743
29776
  result = read(cookie);
29744
29777
  break;
29745
29778
  }
@@ -30003,68 +30036,10 @@
30003
30036
  // src/plugins/dialog/Dialog.js
30004
30037
  var Dialog_default = {
30005
30038
  install({ $q, parentApp }) {
30006
- $q.dialog = global_dialog_default(DialogPluginComponent_default, true, parentApp);
30007
- if (this.__installed !== true) {
30008
- this.create = $q.dialog;
30009
- }
30039
+ $q.dialog = this.create = global_dialog_default(DialogPluginComponent_default, true, parentApp);
30010
30040
  }
30011
30041
  };
30012
30042
 
30013
- // src/plugins/loading-bar/LoadingBar.js
30014
- var barRef = ref(null);
30015
- var Plugin7 = define_reactive_plugin_default({
30016
- isActive: false
30017
- }, {
30018
- start: noop,
30019
- stop: noop,
30020
- increment: noop,
30021
- setDefaults: noop,
30022
- install({ $q, parentApp }) {
30023
- $q.loadingBar = this;
30024
- if (false)
30025
- return;
30026
- if (this.__installed === true) {
30027
- if ($q.config.loadingBar !== void 0) {
30028
- this.setDefaults($q.config.loadingBar);
30029
- }
30030
- return;
30031
- }
30032
- const props4 = ref(
30033
- $q.config.loadingBar !== void 0 ? { ...$q.config.loadingBar } : {}
30034
- );
30035
- function onStart() {
30036
- Plugin7.isActive = true;
30037
- }
30038
- function onStop() {
30039
- Plugin7.isActive = false;
30040
- }
30041
- const el = createGlobalNode("q-loading-bar");
30042
- createChildApp({
30043
- name: "LoadingBar",
30044
- // hide App from Vue devtools
30045
- devtools: { hide: true },
30046
- setup: () => () => h(QAjaxBar_default, { ...props4.value, onStart, onStop, ref: barRef })
30047
- }, parentApp).mount(el);
30048
- Object.assign(this, {
30049
- start(speed) {
30050
- barRef.value.start(speed);
30051
- },
30052
- stop() {
30053
- barRef.value.stop();
30054
- },
30055
- increment() {
30056
- barRef.value.increment.apply(null, arguments);
30057
- },
30058
- setDefaults(opts) {
30059
- if (isObject(opts) === true) {
30060
- Object.assign(props4.value, opts);
30061
- }
30062
- }
30063
- });
30064
- }
30065
- });
30066
- var LoadingBar_default = Plugin7;
30067
-
30068
30043
  // src/plugins/loading/Loading.js
30069
30044
  var app;
30070
30045
  var vm;
@@ -30094,7 +30069,7 @@
30094
30069
  activeGroups[newProps.group] = newProps;
30095
30070
  return newProps;
30096
30071
  }
30097
- var Plugin8 = define_reactive_plugin_default({
30072
+ var Plugin7 = createReactivePlugin({
30098
30073
  isActive: false
30099
30074
  }, {
30100
30075
  show(opts) {
@@ -30102,7 +30077,7 @@
30102
30077
  return;
30103
30078
  props3 = registerProps(opts);
30104
30079
  const { group } = props3;
30105
- Plugin8.isActive = true;
30080
+ Plugin7.isActive = true;
30106
30081
  if (app !== void 0) {
30107
30082
  props3.uid = uid2;
30108
30083
  vm.$forceUpdate();
@@ -30119,7 +30094,7 @@
30119
30094
  prevent_scroll_default(true);
30120
30095
  });
30121
30096
  function onAfterLeave() {
30122
- if (Plugin8.isActive !== true && app !== void 0) {
30097
+ if (Plugin7.isActive !== true && app !== void 0) {
30123
30098
  prevent_scroll_default(false);
30124
30099
  app.unmount(el);
30125
30100
  removeGlobalNode(el);
@@ -30128,7 +30103,7 @@
30128
30103
  }
30129
30104
  }
30130
30105
  function getContent() {
30131
- if (Plugin8.isActive !== true) {
30106
+ if (Plugin7.isActive !== true) {
30132
30107
  return null;
30133
30108
  }
30134
30109
  const content = [
@@ -30162,20 +30137,20 @@
30162
30137
  onAfterLeave
30163
30138
  }, getContent);
30164
30139
  }
30165
- }, Plugin8.__parentApp);
30140
+ }, Plugin7.__parentApp);
30166
30141
  vm = app.mount(el);
30167
30142
  }, props3.delay);
30168
30143
  }
30169
30144
  return (paramProps) => {
30170
30145
  if (paramProps === void 0 || Object(paramProps) !== paramProps) {
30171
- Plugin8.hide(group);
30146
+ Plugin7.hide(group);
30172
30147
  return;
30173
30148
  }
30174
- Plugin8.show({ ...paramProps, group });
30149
+ Plugin7.show({ ...paramProps, group });
30175
30150
  };
30176
30151
  },
30177
30152
  hide(group) {
30178
- if (Plugin8.isActive === true) {
30153
+ if (Plugin7.isActive === true) {
30179
30154
  if (group === void 0) {
30180
30155
  activeGroups = {};
30181
30156
  } else if (activeGroups[group] === void 0) {
@@ -30185,7 +30160,7 @@
30185
30160
  const keys = Object.keys(activeGroups);
30186
30161
  if (keys.length !== 0) {
30187
30162
  const lastGroup = keys[keys.length - 1];
30188
- Plugin8.show({ group: lastGroup });
30163
+ Plugin7.show({ group: lastGroup });
30189
30164
  return;
30190
30165
  }
30191
30166
  }
@@ -30193,7 +30168,7 @@
30193
30168
  clearTimeout(timeout);
30194
30169
  timeout = null;
30195
30170
  }
30196
- Plugin8.isActive = false;
30171
+ Plugin7.isActive = false;
30197
30172
  }
30198
30173
  },
30199
30174
  setDefaults(opts) {
@@ -30204,14 +30179,69 @@
30204
30179
  install({ $q, parentApp }) {
30205
30180
  $q.loading = this;
30206
30181
  if (true) {
30207
- Plugin8.__parentApp = parentApp;
30182
+ Plugin7.__parentApp = parentApp;
30208
30183
  if ($q.config.loading !== void 0) {
30209
30184
  this.setDefaults($q.config.loading);
30210
30185
  }
30211
30186
  }
30212
30187
  }
30213
30188
  });
30214
- var Loading_default = Plugin8;
30189
+ var Loading_default = Plugin7;
30190
+
30191
+ // src/plugins/loading-bar/LoadingBar.js
30192
+ var barRef = ref(null);
30193
+ var Plugin8 = createReactivePlugin({
30194
+ isActive: false
30195
+ }, {
30196
+ start: noop,
30197
+ stop: noop,
30198
+ increment: noop,
30199
+ setDefaults: noop,
30200
+ install({ $q, parentApp }) {
30201
+ $q.loadingBar = this;
30202
+ if (false)
30203
+ return;
30204
+ if (this.__installed === true) {
30205
+ if ($q.config.loadingBar !== void 0) {
30206
+ this.setDefaults($q.config.loadingBar);
30207
+ }
30208
+ return;
30209
+ }
30210
+ const props4 = ref(
30211
+ $q.config.loadingBar !== void 0 ? { ...$q.config.loadingBar } : {}
30212
+ );
30213
+ function onStart() {
30214
+ Plugin8.isActive = true;
30215
+ }
30216
+ function onStop() {
30217
+ Plugin8.isActive = false;
30218
+ }
30219
+ const el = createGlobalNode("q-loading-bar");
30220
+ createChildApp({
30221
+ name: "LoadingBar",
30222
+ // hide App from Vue devtools
30223
+ devtools: { hide: true },
30224
+ setup: () => () => h(QAjaxBar_default, { ...props4.value, onStart, onStop, ref: barRef })
30225
+ }, parentApp).mount(el);
30226
+ Object.assign(this, {
30227
+ start(speed) {
30228
+ barRef.value.start(speed);
30229
+ },
30230
+ stop() {
30231
+ barRef.value.stop();
30232
+ },
30233
+ increment() {
30234
+ barRef.value.increment.apply(null, arguments);
30235
+ },
30236
+ setDefaults(opts) {
30237
+ if (isObject(opts) === true) {
30238
+ Object.assign(props4.value, opts);
30239
+ }
30240
+ }
30241
+ });
30242
+ }
30243
+ });
30244
+ var LoadingBar_default = Plugin8;
30215
30245
 
30216
30246
  // src/plugins/meta/Meta.js
30217
30247
  var updateId = null;
@@ -30225,11 +30255,11 @@
30225
30255
  ;
30226
30256
  [["meta", "content"], ["link", "href"]].forEach((type) => {
30227
30257
  const metaType = meta[type[0]], metaProp = type[1];
30228
- for (const name in metaType) {
30229
- const metaLink = metaType[name];
30258
+ for (const name2 in metaType) {
30259
+ const metaLink = metaType[name2];
30230
30260
  if (metaLink.template) {
30231
30261
  if (Object.keys(metaLink).length === 1) {
30232
- delete metaType[name];
30262
+ delete metaType[name2];
30233
30263
  } else {
30234
30264
  metaLink[metaProp] = metaLink.template(metaLink[metaProp] || "");
30235
30265
  delete metaLink.template;
@@ -30248,11 +30278,11 @@
30248
30278
  }
30249
30279
  }
30250
30280
  }
30251
- function bodyFilter(name) {
30252
- return ["class", "style"].includes(name) === false;
30281
+ function bodyFilter(name2) {
30282
+ return ["class", "style"].includes(name2) === false;
30253
30283
  }
30254
- function htmlFilter(name) {
30255
- return ["lang", "dir"].includes(name) === false;
30284
+ function htmlFilter(name2) {
30285
+ return ["lang", "dir"].includes(name2) === false;
30256
30286
  }
30257
30287
  function diff(meta, other) {
30258
30288
  const add = {}, remove2 = {};
@@ -30293,39 +30323,39 @@
30293
30323
  }
30294
30324
  if (Object.keys(remove2).length !== 0) {
30295
30325
  ["meta", "link", "script"].forEach((type) => {
30296
- remove2[type].forEach((name) => {
30297
- document.head.querySelector(`${type}[data-qmeta="${name}"]`).remove();
30326
+ remove2[type].forEach((name2) => {
30327
+ document.head.querySelector(`${type}[data-qmeta="${name2}"]`).remove();
30298
30328
  });
30299
30329
  });
30300
- remove2.htmlAttr.filter(htmlFilter).forEach((name) => {
30301
- document.documentElement.removeAttribute(name);
30330
+ remove2.htmlAttr.filter(htmlFilter).forEach((name2) => {
30331
+ document.documentElement.removeAttribute(name2);
30302
30332
  });
30303
- remove2.bodyAttr.filter(bodyFilter).forEach((name) => {
30304
- document.body.removeAttribute(name);
30333
+ remove2.bodyAttr.filter(bodyFilter).forEach((name2) => {
30334
+ document.body.removeAttribute(name2);
30305
30335
  });
30306
30336
  }
30307
30337
  ;
30308
30338
  ["meta", "link", "script"].forEach((type) => {
30309
30339
  const metaType = add[type];
30310
- for (const name in metaType) {
30340
+ for (const name2 in metaType) {
30311
30341
  const tag = document.createElement(type);
30312
- for (const att in metaType[name]) {
30342
+ for (const att in metaType[name2]) {
30313
30343
  if (att !== "innerHTML") {
30314
- tag.setAttribute(att, metaType[name][att]);
30344
+ tag.setAttribute(att, metaType[name2][att]);
30315
30345
  }
30316
30346
  }
30317
- tag.setAttribute("data-qmeta", name);
30347
+ tag.setAttribute("data-qmeta", name2);
30318
30348
  if (type === "script") {
30319
- tag.innerHTML = metaType[name].innerHTML || "";
30349
+ tag.innerHTML = metaType[name2].innerHTML || "";
30320
30350
  }
30321
30351
  document.head.appendChild(tag);
30322
30352
  }
30323
30353
  });
30324
- Object.keys(add.htmlAttr).filter(htmlFilter).forEach((name) => {
30325
- document.documentElement.setAttribute(name, add.htmlAttr[name] || "");
30354
+ Object.keys(add.htmlAttr).filter(htmlFilter).forEach((name2) => {
30355
+ document.documentElement.setAttribute(name2, add.htmlAttr[name2] || "");
30326
30356
  });
30327
- Object.keys(add.bodyAttr).filter(bodyFilter).forEach((name) => {
30328
- document.body.setAttribute(name, add.bodyAttr[name] || "");
30357
+ Object.keys(add.bodyAttr).filter(bodyFilter).forEach((name2) => {
30358
+ document.body.setAttribute(name2, add.bodyAttr[name2] || "");
30329
30359
  });
30330
30360
  }
30331
30361
  function updateClientMeta() {
@@ -30769,10 +30799,10 @@
30769
30799
  }
30770
30800
  };
30771
30801
 
30772
- // src/utils/private/web-storage.js
30802
+ // src/plugins/storage/engine/web-storage.js
30773
30803
  function encode2(value2) {
30774
30804
  if (isDate(value2) === true) {
30775
- return "__q_date|" + value2.toUTCString();
30805
+ return "__q_date|" + value2.getTime();
30776
30806
  }
30777
30807
  if (isRegexp(value2) === true) {
30778
30808
  return "__q_expr|" + value2.source;
@@ -30803,7 +30833,8 @@
30803
30833
  const source = value2.substring(9);
30804
30834
  switch (type) {
30805
30835
  case "__q_date":
30806
- return new Date(source);
30836
+ const number = Number(source);
30837
+ return new Date(Number.isNaN(number) === true ? source : number);
30807
30838
  case "__q_expr":
30808
30839
  return new RegExp(source);
30809
30840
  case "__q_numb":
@@ -30822,6 +30853,8 @@
30822
30853
  const getVal2 = () => null;
30823
30854
  return {
30824
30855
  has: () => false,
30856
+ // alias for hasItem; TODO: remove in Qv3
30857
+ hasItem: () => false,
30825
30858
  getLength: () => 0,
30826
30859
  getItem: getVal2,
30827
30860
  getIndex: getVal2,
@@ -30830,7 +30863,11 @@
30830
30863
  },
30831
30864
  getAllKeys: () => [],
30832
30865
  set: noop,
30866
+ // alias for setItem; TODO: remove in Qv3
30867
+ setItem: noop,
30833
30868
  remove: noop,
30869
+ // alias for removeItem; TODO: remove in Qv3
30870
+ removeItem: noop,
30834
30871
  clear: noop,
30835
30872
  isEmpty: () => true
30836
30873
  };
@@ -30840,8 +30877,17 @@
30840
30877
  const item = webStorage.getItem(key);
30841
30878
  return item ? decode2(item) : null;
30842
30879
  };
30880
+ const hasItem = (key) => webStorage.getItem(key) !== null;
30881
+ const setItem = (key, value2) => {
30882
+ webStorage.setItem(key, encode2(value2));
30883
+ };
30884
+ const removeItem = (key) => {
30885
+ webStorage.removeItem(key);
30886
+ };
30843
30887
  return {
30844
- has: (key) => webStorage.getItem(key) !== null,
30888
+ has: hasItem,
30889
+ // TODO: remove in Qv3
30890
+ hasItem,
30845
30891
  getLength: () => webStorage.length,
30846
30892
  getItem: get2,
30847
30893
  getIndex: (index) => {
@@ -30866,12 +30912,12 @@
30866
30912
  }
30867
30913
  return result;
30868
30914
  },
30869
- set: (key, value2) => {
30870
- webStorage.setItem(key, encode2(value2));
30871
- },
30872
- remove: (key) => {
30873
- webStorage.removeItem(key);
30874
- },
30915
+ set: setItem,
30916
+ // TODO: remove in Qv3
30917
+ setItem,
30918
+ remove: removeItem,
30919
+ // TODO: remove in Qv3
30920
+ removeItem,
30875
30921
  clear: () => {
30876
30922
  webStorage.clear();
30877
30923
  },
@@ -30879,7 +30925,7 @@
30879
30925
  };
30880
30926
  }
30881
30927
 
30882
- // src/plugins/local-storage/LocalStorage.js
30928
+ // src/plugins/storage/LocalStorage.js
30883
30929
  var storage = client.has.webStorage === false ? getEmptyStorage() : getStorage("local");
30884
30930
  var Plugin9 = {
30885
30931
  install({ $q }) {
@@ -30889,7 +30935,7 @@
30889
30935
  Object.assign(Plugin9, storage);
30890
30936
  var LocalStorage_default = Plugin9;
30891
30937
 
30892
- // src/plugins/session-storage/SessionStorage.js
30938
+ // src/plugins/storage/SessionStorage.js
30893
30939
  var storage2 = client.has.webStorage === false ? getEmptyStorage() : getStorage("session");
30894
30940
  var Plugin10 = {
30895
30941
  install({ $q }) {
@@ -30929,7 +30975,7 @@
30929
30975
  uid: () => uid_default
30930
30976
  });
30931
30977
 
30932
- // src/utils/copy-to-clipboard.js
30978
+ // src/utils/copy-to-clipboard/copy-to-clipboard.js
30933
30979
  function fallback(text) {
30934
30980
  const area = document.createElement("textarea");
30935
30981
  area.value = text;
@@ -30957,7 +31003,7 @@
30957
31003
  });
30958
31004
  }
30959
31005
 
30960
- // src/utils/create-meta-mixin.js
31006
+ // src/utils/create-meta-mixin/create-meta-mixin.js
30961
31007
  var create_meta_mixin_default = (metaOptions) => {
30962
31008
  if (false) {
30963
31009
  return {
@@ -31014,28 +31060,28 @@
31014
31060
  return mixin;
31015
31061
  };
31016
31062
 
31017
- // src/utils/EventBus.js
31063
+ // src/utils/EventBus/EventBus.js
31018
31064
  var EventBus = class {
31019
31065
  constructor() {
31020
31066
  this.__stack = {};
31021
31067
  }
31022
- on(name, callback, ctx) {
31023
- (this.__stack[name] || (this.__stack[name] = [])).push({
31068
+ on(name2, callback, ctx) {
31069
+ (this.__stack[name2] || (this.__stack[name2] = [])).push({
31024
31070
  fn: callback,
31025
31071
  ctx
31026
31072
  });
31027
31073
  return this;
31028
31074
  }
31029
- once(name, callback, ctx) {
31075
+ once(name2, callback, ctx) {
31030
31076
  const listener = (...args) => {
31031
- this.off(name, listener);
31077
+ this.off(name2, listener);
31032
31078
  callback.apply(ctx, args);
31033
31079
  };
31034
31080
  listener.__callback = callback;
31035
- return this.on(name, listener, ctx);
31081
+ return this.on(name2, listener, ctx);
31036
31082
  }
31037
- emit(name) {
31038
- const list = this.__stack[name];
31083
+ emit(name2) {
31084
+ const list = this.__stack[name2];
31039
31085
  if (list !== void 0) {
31040
31086
  const params = [].slice.call(arguments, 1);
31041
31087
  list.forEach((entry) => {
@@ -31044,28 +31090,28 @@
31044
31090
  }
31045
31091
  return this;
31046
31092
  }
31047
- off(name, callback) {
31048
- const list = this.__stack[name];
31093
+ off(name2, callback) {
31094
+ const list = this.__stack[name2];
31049
31095
  if (list === void 0) {
31050
31096
  return this;
31051
31097
  }
31052
31098
  if (callback === void 0) {
31053
- delete this.__stack[name];
31099
+ delete this.__stack[name2];
31054
31100
  return this;
31055
31101
  }
31056
31102
  const liveEvents = list.filter(
31057
31103
  (entry) => entry.fn !== callback && entry.fn.__callback !== callback
31058
31104
  );
31059
31105
  if (liveEvents.length !== 0) {
31060
- this.__stack[name] = liveEvents;
31106
+ this.__stack[name2] = liveEvents;
31061
31107
  } else {
31062
- delete this.__stack[name];
31108
+ delete this.__stack[name2];
31063
31109
  }
31064
31110
  return this;
31065
31111
  }
31066
31112
  };
31067
31113
 
31068
- // src/utils/export-file.js
31114
+ // src/utils/export-file/export-file.js
31069
31115
  function clean(link) {
31070
31116
  setTimeout(() => {
31071
31117
  window.URL.revokeObjectURL(link.href);
@@ -31096,7 +31142,7 @@
31096
31142
  }
31097
31143
  }
31098
31144
 
31099
- // src/utils/open-url.js
31145
+ // src/utils/open-url/open-url.js
31100
31146
  function parseFeatures(winFeatures) {
31101
31147
  const cfg = Object.assign({ noopener: true }, winFeatures);
31102
31148
  const feat = [];
@@ -31147,7 +31193,7 @@
31147
31193
  return openWindow(url, reject, windowFeatures);
31148
31194
  };
31149
31195
 
31150
- // src/utils/run-sequential-promises.js
31196
+ // src/utils/run-sequential-promises/run-sequential-promises.js
31151
31197
  function parsePromises(sequentialPromises) {
31152
31198
  const isList = Array.isArray(sequentialPromises);
31153
31199
  if (isList === true) {
@@ -31212,7 +31258,7 @@
31212
31258
  // src/composables.js
31213
31259
  var composables_exports = {};
31214
31260
  __export(composables_exports, {
31215
- useDialogPluginComponent: () => use_dialog_plugin_component_default,
31261
+ useDialogPluginComponent: () => useDialogPluginComponent,
31216
31262
  useFormChild: () => use_form_child_default,
31217
31263
  useHydration: () => use_hydration_default,
31218
31264
  useId: () => use_id_default,
@@ -31225,7 +31271,7 @@
31225
31271
  useTimeout: () => use_timeout_default
31226
31272
  });
31227
31273
 
31228
- // src/composables/use-dialog-plugin-component.js
31274
+ // src/composables/use-dialog-plugin-component/use-dialog-plugin-component.js
31229
31275
  function useDialogPluginComponent() {
31230
31276
  const { emit, proxy } = getCurrentInstance();
31231
31277
  const dialogRef = ref(null);
@@ -31253,9 +31299,8 @@
31253
31299
  var emits2 = ["ok", "hide"];
31254
31300
  useDialogPluginComponent.emits = emits2;
31255
31301
  useDialogPluginComponent.emitsObject = get_emits_object_default(emits2);
31256
- var use_dialog_plugin_component_default = useDialogPluginComponent;
31257
31302
 
31258
- // src/composables/use-meta.js
31303
+ // src/composables/use-meta/use-meta.js
31259
31304
  function use_meta_default(metaOptions) {
31260
31305
  if (false) {
31261
31306
  const ssrContext = useSSRContext();
@@ -31291,12 +31336,12 @@
31291
31336
  }
31292
31337
  }
31293
31338
 
31294
- // src/composables/use-quasar.js
31339
+ // src/composables/use-quasar/use-quasar.js
31295
31340
  function useQuasar() {
31296
31341
  return inject(quasarKey);
31297
31342
  }
31298
31343
 
31299
- // src/composables/use-interval.js
31344
+ // src/composables/use-interval/use-interval.js
31300
31345
  function use_interval_default() {
31301
31346
  let timer2 = null;
31302
31347
  const vm2 = getCurrentInstance();
@@ -31324,7 +31369,7 @@
31324
31369
  console.error("[ Quasar ] Vue is required to run. Please add a script tag for it before loading Quasar.");
31325
31370
  }
31326
31371
  window.Quasar = {
31327
- version: "2.15.2",
31372
+ version: "2.15.4",
31328
31373
  install(app2, opts) {
31329
31374
  install_quasar_default(app2, {
31330
31375
  components: components_exports,
@@ -31333,8 +31378,12 @@
31333
31378
  ...opts
31334
31379
  });
31335
31380
  },
31336
- lang: lang_default,
31337
- iconSet: icon_set_default,
31381
+ // TODO: remove in Qv3 (should only be used through the plugin)
31382
+ // We provide a deprecated fallback here
31383
+ lang: Lang_default,
31384
+ // TODO: remove in Qv3 (should only be used through the plugin)
31385
+ // We provide a deprecated fallback here
31386
+ iconSet: IconSet_default,
31338
31387
  ...components_exports,
31339
31388
  ...directives_exports,
31340
31389
  ...plugins_exports,