vuetify 3.1.4 → 3.1.5

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 (463) hide show
  1. package/dist/json/attributes.json +2734 -2738
  2. package/dist/json/importMap.json +58 -58
  3. package/dist/json/tags.json +0 -1
  4. package/dist/json/web-types.json +9073 -6416
  5. package/dist/vuetify-labs.css +3038 -5928
  6. package/dist/vuetify-labs.d.ts +12865 -20825
  7. package/dist/vuetify-labs.esm.js +1580 -1859
  8. package/dist/vuetify-labs.esm.js.map +1 -1
  9. package/dist/vuetify-labs.js +1579 -1858
  10. package/dist/vuetify-labs.min.css +2 -2
  11. package/dist/vuetify.css +120 -3019
  12. package/dist/vuetify.d.ts +12208 -20176
  13. package/dist/vuetify.esm.js +1406 -1686
  14. package/dist/vuetify.esm.js.map +1 -1
  15. package/dist/vuetify.js +1405 -1685
  16. package/dist/vuetify.js.map +1 -1
  17. package/dist/vuetify.min.css +2 -2
  18. package/dist/vuetify.min.js +1099 -1323
  19. package/dist/vuetify.min.js.map +1 -1
  20. package/lib/blueprints/index.d.ts +9 -9
  21. package/lib/blueprints/md1.d.ts +9 -9
  22. package/lib/blueprints/md2.d.ts +9 -9
  23. package/lib/blueprints/md3.d.ts +9 -9
  24. package/lib/blueprints/md3.mjs.map +1 -1
  25. package/lib/components/VAlert/VAlert.mjs +5 -6
  26. package/lib/components/VAlert/VAlert.mjs.map +1 -1
  27. package/lib/components/VAlert/index.d.ts +135 -157
  28. package/lib/components/VApp/VApp.mjs +9 -12
  29. package/lib/components/VApp/VApp.mjs.map +1 -1
  30. package/lib/components/VApp/index.d.ts +27 -13
  31. package/lib/components/VAppBar/VAppBar.mjs +9 -5
  32. package/lib/components/VAppBar/VAppBar.mjs.map +1 -1
  33. package/lib/components/VAppBar/VAppBarNavIcon.mjs +2 -2
  34. package/lib/components/VAppBar/VAppBarNavIcon.mjs.map +1 -1
  35. package/lib/components/VAppBar/VAppBarTitle.mjs +2 -2
  36. package/lib/components/VAppBar/VAppBarTitle.mjs.map +1 -1
  37. package/lib/components/VAppBar/index.d.ts +169 -350
  38. package/lib/components/VAutocomplete/VAutocomplete.mjs +100 -104
  39. package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
  40. package/lib/components/VAutocomplete/index.d.ts +494 -636
  41. package/lib/components/VAvatar/VAvatar.mjs +19 -22
  42. package/lib/components/VAvatar/VAvatar.mjs.map +1 -1
  43. package/lib/components/VAvatar/index.d.ts +46 -66
  44. package/lib/components/VBadge/VBadge.mjs +7 -5
  45. package/lib/components/VBadge/VBadge.mjs.map +1 -1
  46. package/lib/components/VBadge/index.d.ts +74 -100
  47. package/lib/components/VBanner/VBanner.mjs +3 -4
  48. package/lib/components/VBanner/VBanner.mjs.map +1 -1
  49. package/lib/components/VBanner/VBannerActions.mjs +5 -8
  50. package/lib/components/VBanner/VBannerActions.mjs.map +1 -1
  51. package/lib/components/VBanner/index.d.ts +134 -98
  52. package/lib/components/VBottomNavigation/VBottomNavigation.css +2 -1
  53. package/lib/components/VBottomNavigation/VBottomNavigation.mjs +8 -4
  54. package/lib/components/VBottomNavigation/VBottomNavigation.mjs.map +1 -1
  55. package/lib/components/VBottomNavigation/VBottomNavigation.sass +2 -1
  56. package/lib/components/VBottomNavigation/_variables.scss +1 -1
  57. package/lib/components/VBottomNavigation/index.d.ts +67 -131
  58. package/lib/components/VBreadcrumbs/VBreadcrumbs.mjs +9 -16
  59. package/lib/components/VBreadcrumbs/VBreadcrumbs.mjs.map +1 -1
  60. package/lib/components/VBreadcrumbs/VBreadcrumbsDivider.mjs +5 -8
  61. package/lib/components/VBreadcrumbs/VBreadcrumbsDivider.mjs.map +1 -1
  62. package/lib/components/VBreadcrumbs/VBreadcrumbsItem.mjs +4 -8
  63. package/lib/components/VBreadcrumbs/VBreadcrumbsItem.mjs.map +1 -1
  64. package/lib/components/VBreadcrumbs/index.d.ts +87 -61
  65. package/lib/components/VBtn/VBtn.mjs +14 -17
  66. package/lib/components/VBtn/VBtn.mjs.map +1 -1
  67. package/lib/components/VBtn/index.d.ts +118 -179
  68. package/lib/components/VBtnGroup/VBtnGroup.mjs +5 -2
  69. package/lib/components/VBtnGroup/VBtnGroup.mjs.map +1 -1
  70. package/lib/components/VBtnGroup/index.d.ts +42 -57
  71. package/lib/components/VBtnToggle/VBtnToggle.mjs +1 -2
  72. package/lib/components/VBtnToggle/VBtnToggle.mjs.map +1 -1
  73. package/lib/components/VBtnToggle/index.d.ts +60 -247
  74. package/lib/components/VCalendar/mixins/mouse.mjs +2 -3
  75. package/lib/components/VCalendar/mixins/mouse.mjs.map +1 -1
  76. package/lib/components/VCard/VCard.mjs +5 -6
  77. package/lib/components/VCard/VCard.mjs.map +1 -1
  78. package/lib/components/VCard/VCardActions.mjs +5 -8
  79. package/lib/components/VCard/VCardActions.mjs.map +1 -1
  80. package/lib/components/VCard/VCardItem.mjs +7 -8
  81. package/lib/components/VCard/VCardItem.mjs.map +1 -1
  82. package/lib/components/VCard/index.d.ts +286 -186
  83. package/lib/components/VCarousel/VCarousel.mjs +2 -2
  84. package/lib/components/VCarousel/VCarousel.mjs.map +1 -1
  85. package/lib/components/VCarousel/VCarouselItem.mjs +2 -2
  86. package/lib/components/VCarousel/VCarouselItem.mjs.map +1 -1
  87. package/lib/components/VCarousel/index.d.ts +238 -61
  88. package/lib/components/VCheckbox/VCheckbox.mjs +2 -2
  89. package/lib/components/VCheckbox/VCheckbox.mjs.map +1 -1
  90. package/lib/components/VCheckbox/VCheckboxBtn.mjs +2 -2
  91. package/lib/components/VCheckbox/VCheckboxBtn.mjs.map +1 -1
  92. package/lib/components/VCheckbox/index.d.ts +277 -254
  93. package/lib/components/VChip/VChip.mjs +15 -14
  94. package/lib/components/VChip/VChip.mjs.map +1 -1
  95. package/lib/components/VChip/index.d.ts +118 -168
  96. package/lib/components/VChipGroup/VChipGroup.css +1 -0
  97. package/lib/components/VChipGroup/VChipGroup.mjs +15 -18
  98. package/lib/components/VChipGroup/VChipGroup.mjs.map +1 -1
  99. package/lib/components/VChipGroup/VChipGroup.sass +1 -0
  100. package/lib/components/VChipGroup/index.d.ts +49 -68
  101. package/lib/components/VCode/index.d.ts +21 -9
  102. package/lib/components/VColorPicker/VColorPickerCanvas.mjs +4 -9
  103. package/lib/components/VColorPicker/VColorPickerCanvas.mjs.map +1 -1
  104. package/lib/components/VColorPicker/VColorPickerEdit.mjs +12 -16
  105. package/lib/components/VColorPicker/VColorPickerEdit.mjs.map +1 -1
  106. package/lib/components/VColorPicker/VColorPickerPreview.mjs +43 -46
  107. package/lib/components/VColorPicker/VColorPickerPreview.mjs.map +1 -1
  108. package/lib/components/VColorPicker/index.d.ts +1 -1
  109. package/lib/components/VColorPicker/util/index.mjs +1 -2
  110. package/lib/components/VColorPicker/util/index.mjs.map +1 -1
  111. package/lib/components/VCombobox/VCombobox.mjs +104 -113
  112. package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
  113. package/lib/components/VCombobox/index.d.ts +496 -638
  114. package/lib/components/VCounter/VCounter.mjs +2 -2
  115. package/lib/components/VCounter/VCounter.mjs.map +1 -1
  116. package/lib/components/VCounter/index.d.ts +139 -197
  117. package/lib/components/VDefaultsProvider/VDefaultsProvider.mjs +4 -9
  118. package/lib/components/VDefaultsProvider/VDefaultsProvider.mjs.map +1 -1
  119. package/lib/components/VDefaultsProvider/index.d.ts +33 -14
  120. package/lib/components/VDialog/VDialog.mjs +6 -9
  121. package/lib/components/VDialog/VDialog.mjs.map +1 -1
  122. package/lib/components/VDialog/index.d.ts +430 -1610
  123. package/lib/components/VDivider/VDivider.mjs +2 -2
  124. package/lib/components/VDivider/VDivider.mjs.map +1 -1
  125. package/lib/components/VDivider/index.d.ts +35 -15
  126. package/lib/components/VExpansionPanel/VExpansionPanel.mjs +4 -5
  127. package/lib/components/VExpansionPanel/VExpansionPanel.mjs.map +1 -1
  128. package/lib/components/VExpansionPanel/VExpansionPanelText.mjs +11 -14
  129. package/lib/components/VExpansionPanel/VExpansionPanelText.mjs.map +1 -1
  130. package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs +19 -22
  131. package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs.map +1 -1
  132. package/lib/components/VExpansionPanel/VExpansionPanels.mjs +2 -2
  133. package/lib/components/VExpansionPanel/VExpansionPanels.mjs.map +1 -1
  134. package/lib/components/VExpansionPanel/index.d.ts +180 -158
  135. package/lib/components/VField/VField.mjs +3 -6
  136. package/lib/components/VField/VField.mjs.map +1 -1
  137. package/lib/components/VField/VFieldLabel.mjs +2 -2
  138. package/lib/components/VField/VFieldLabel.mjs.map +1 -1
  139. package/lib/components/VField/index.d.ts +46 -34
  140. package/lib/components/VFileInput/VFileInput.mjs +16 -18
  141. package/lib/components/VFileInput/VFileInput.mjs.map +1 -1
  142. package/lib/components/VFileInput/index.d.ts +330 -355
  143. package/lib/components/VFooter/VFooter.mjs +2 -2
  144. package/lib/components/VFooter/VFooter.mjs.map +1 -1
  145. package/lib/components/VFooter/index.d.ts +45 -65
  146. package/lib/components/VForm/VForm.mjs +10 -14
  147. package/lib/components/VForm/VForm.mjs.map +1 -1
  148. package/lib/components/VForm/index.d.ts +29 -23
  149. package/lib/components/VGrid/VCol.mjs +5 -8
  150. package/lib/components/VGrid/VCol.mjs.map +1 -1
  151. package/lib/components/VGrid/VContainer.mjs +2 -2
  152. package/lib/components/VGrid/VContainer.mjs.map +1 -1
  153. package/lib/components/VGrid/VGrid.css +0 -125
  154. package/lib/components/VGrid/VRow.mjs +5 -8
  155. package/lib/components/VGrid/VRow.mjs.map +1 -1
  156. package/lib/components/VGrid/index.d.ts +112 -121
  157. package/lib/components/VHover/VHover.mjs +9 -12
  158. package/lib/components/VHover/VHover.mjs.map +1 -1
  159. package/lib/components/VHover/index.d.ts +53 -15
  160. package/lib/components/VIcon/VIcon.mjs +22 -26
  161. package/lib/components/VIcon/VIcon.mjs.map +1 -1
  162. package/lib/components/VIcon/index.d.ts +68 -56
  163. package/lib/components/VImg/VImg.mjs +7 -11
  164. package/lib/components/VImg/VImg.mjs.map +1 -1
  165. package/lib/components/VImg/index.d.ts +67 -58
  166. package/lib/components/VInput/VInput.mjs +5 -6
  167. package/lib/components/VInput/VInput.mjs.map +1 -1
  168. package/lib/components/VInput/index.d.ts +94 -283
  169. package/lib/components/VItemGroup/VItem.mjs +8 -11
  170. package/lib/components/VItemGroup/VItem.mjs.map +1 -1
  171. package/lib/components/VItemGroup/VItemGroup.mjs +13 -16
  172. package/lib/components/VItemGroup/VItemGroup.mjs.map +1 -1
  173. package/lib/components/VItemGroup/index.d.ts +76 -149
  174. package/lib/components/VKbd/index.d.ts +21 -9
  175. package/lib/components/VLabel/VLabel.mjs +7 -10
  176. package/lib/components/VLabel/VLabel.mjs.map +1 -1
  177. package/lib/components/VLabel/index.d.ts +29 -9
  178. package/lib/components/VLayout/VLayout.mjs +9 -12
  179. package/lib/components/VLayout/VLayout.mjs.map +1 -1
  180. package/lib/components/VLayout/VLayoutItem.mjs +6 -9
  181. package/lib/components/VLayout/VLayoutItem.mjs.map +1 -1
  182. package/lib/components/VLayout/index.d.ts +60 -43
  183. package/lib/components/VLazy/VLazy.mjs +12 -15
  184. package/lib/components/VLazy/VLazy.mjs.map +1 -1
  185. package/lib/components/VLazy/index.d.ts +48 -71
  186. package/lib/components/VList/VList.mjs +4 -8
  187. package/lib/components/VList/VList.mjs.map +1 -1
  188. package/lib/components/VList/VListChildren.mjs +59 -77
  189. package/lib/components/VList/VListChildren.mjs.map +1 -1
  190. package/lib/components/VList/VListGroup.mjs +33 -39
  191. package/lib/components/VList/VListGroup.mjs.map +1 -1
  192. package/lib/components/VList/VListItem.css +2 -2
  193. package/lib/components/VList/VListItem.mjs +10 -18
  194. package/lib/components/VList/VListItem.mjs.map +1 -1
  195. package/lib/components/VList/VListItem.sass +0 -2
  196. package/lib/components/VList/VListItemAction.mjs +2 -2
  197. package/lib/components/VList/VListItemAction.mjs.map +1 -1
  198. package/lib/components/VList/VListItemMedia.mjs +2 -2
  199. package/lib/components/VList/VListItemMedia.mjs.map +1 -1
  200. package/lib/components/VList/VListSubheader.mjs +3 -4
  201. package/lib/components/VList/VListSubheader.mjs.map +1 -1
  202. package/lib/components/VList/index.d.ts +418 -686
  203. package/lib/components/VList/list.mjs +1 -1
  204. package/lib/components/VList/list.mjs.map +1 -1
  205. package/lib/components/VLocaleProvider/VLocaleProvider.mjs +5 -8
  206. package/lib/components/VLocaleProvider/VLocaleProvider.mjs.map +1 -1
  207. package/lib/components/VLocaleProvider/index.d.ts +28 -16
  208. package/lib/components/VMain/VMain.mjs +12 -15
  209. package/lib/components/VMain/VMain.mjs.map +1 -1
  210. package/lib/components/VMain/index.d.ts +23 -17
  211. package/lib/components/VMenu/VMenu.mjs +10 -10
  212. package/lib/components/VMenu/VMenu.mjs.map +1 -1
  213. package/lib/components/VMenu/index.d.ts +428 -1641
  214. package/lib/components/VMessages/VMessages.mjs +2 -2
  215. package/lib/components/VMessages/VMessages.mjs.map +1 -1
  216. package/lib/components/VMessages/index.d.ts +144 -204
  217. package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs +6 -7
  218. package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs.map +1 -1
  219. package/lib/components/VNavigationDrawer/index.d.ts +92 -124
  220. package/lib/components/VNoSsr/VNoSsr.mjs +1 -4
  221. package/lib/components/VNoSsr/VNoSsr.mjs.map +1 -1
  222. package/lib/components/VNoSsr/index.d.ts +20 -4
  223. package/lib/components/VOtpInput/VOtpInput.mjs +5 -6
  224. package/lib/components/VOtpInput/VOtpInput.mjs.map +1 -1
  225. package/lib/components/VOverlay/VOverlay.mjs +44 -47
  226. package/lib/components/VOverlay/VOverlay.mjs.map +1 -1
  227. package/lib/components/VOverlay/index.d.ts +150 -468
  228. package/lib/components/VOverlay/locationStrategies.mjs +3 -6
  229. package/lib/components/VOverlay/locationStrategies.mjs.map +1 -1
  230. package/lib/components/VOverlay/scrollStrategies.mjs +7 -12
  231. package/lib/components/VOverlay/scrollStrategies.mjs.map +1 -1
  232. package/lib/components/VOverlay/useActivator.mjs +4 -7
  233. package/lib/components/VOverlay/useActivator.mjs.map +1 -1
  234. package/lib/components/VPagination/VPagination.mjs +4 -5
  235. package/lib/components/VPagination/VPagination.mjs.map +1 -1
  236. package/lib/components/VPagination/index.d.ts +107 -207
  237. package/lib/components/VParallax/VParallax.mjs +12 -15
  238. package/lib/components/VParallax/VParallax.mjs.map +1 -1
  239. package/lib/components/VParallax/index.d.ts +39 -9
  240. package/lib/components/VProgressCircular/VProgressCircular.mjs +2 -2
  241. package/lib/components/VProgressCircular/VProgressCircular.mjs.map +1 -1
  242. package/lib/components/VProgressCircular/index.d.ts +41 -58
  243. package/lib/components/VProgressLinear/VProgressLinear.mjs +2 -2
  244. package/lib/components/VProgressLinear/VProgressLinear.mjs.map +1 -1
  245. package/lib/components/VProgressLinear/index.d.ts +91 -95
  246. package/lib/components/VRadio/VRadio.mjs +2 -2
  247. package/lib/components/VRadio/VRadio.mjs.map +1 -1
  248. package/lib/components/VRadio/index.d.ts +108 -85
  249. package/lib/components/VRadioGroup/VRadioGroup.mjs +2 -2
  250. package/lib/components/VRadioGroup/VRadioGroup.mjs.map +1 -1
  251. package/lib/components/VRadioGroup/index.d.ts +164 -147
  252. package/lib/components/VRangeSlider/VRangeSlider.mjs +21 -31
  253. package/lib/components/VRangeSlider/VRangeSlider.mjs.map +1 -1
  254. package/lib/components/VRangeSlider/index.d.ts +154 -210
  255. package/lib/components/VRating/VRating.mjs +28 -34
  256. package/lib/components/VRating/VRating.mjs.map +1 -1
  257. package/lib/components/VRating/index.d.ts +77 -311
  258. package/lib/components/VResponsive/VResponsive.mjs +11 -14
  259. package/lib/components/VResponsive/VResponsive.mjs.map +1 -1
  260. package/lib/components/VResponsive/index.d.ts +44 -20
  261. package/lib/components/VSelect/VSelect.mjs +100 -102
  262. package/lib/components/VSelect/VSelect.mjs.map +1 -1
  263. package/lib/components/VSelect/index.d.ts +729 -673
  264. package/lib/components/VSelectionControl/VSelectionControl.mjs +3 -4
  265. package/lib/components/VSelectionControl/VSelectionControl.mjs.map +1 -1
  266. package/lib/components/VSelectionControl/index.d.ts +31 -19
  267. package/lib/components/VSelectionControlGroup/VSelectionControlGroup.mjs +8 -11
  268. package/lib/components/VSelectionControlGroup/VSelectionControlGroup.mjs.map +1 -1
  269. package/lib/components/VSelectionControlGroup/index.d.ts +58 -70
  270. package/lib/components/VSheet/VSheet.mjs +2 -2
  271. package/lib/components/VSheet/VSheet.mjs.map +1 -1
  272. package/lib/components/VSheet/index.d.ts +52 -56
  273. package/lib/components/VSlideGroup/VSlideGroup.mjs +51 -60
  274. package/lib/components/VSlideGroup/VSlideGroup.mjs.map +1 -1
  275. package/lib/components/VSlideGroup/VSlideGroupItem.mjs +6 -9
  276. package/lib/components/VSlideGroup/VSlideGroupItem.mjs.map +1 -1
  277. package/lib/components/VSlideGroup/index.d.ts +144 -366
  278. package/lib/components/VSlider/VSlider.mjs +8 -14
  279. package/lib/components/VSlider/VSlider.mjs.map +1 -1
  280. package/lib/components/VSlider/VSliderThumb.css +0 -1
  281. package/lib/components/VSlider/VSliderThumb.mjs +4 -5
  282. package/lib/components/VSlider/VSliderThumb.mjs.map +1 -1
  283. package/lib/components/VSlider/VSliderTrack.mjs +4 -5
  284. package/lib/components/VSlider/VSliderTrack.mjs.map +1 -1
  285. package/lib/components/VSlider/index.d.ts +151 -207
  286. package/lib/components/VSlider/slider.mjs +3 -6
  287. package/lib/components/VSlider/slider.mjs.map +1 -1
  288. package/lib/components/VSnackbar/VSnackbar.mjs +1 -1
  289. package/lib/components/VSnackbar/VSnackbar.mjs.map +1 -1
  290. package/lib/components/VSnackbar/index.d.ts +358 -1519
  291. package/lib/components/VSwitch/VSwitch.mjs +3 -4
  292. package/lib/components/VSwitch/VSwitch.mjs.map +1 -1
  293. package/lib/components/VSwitch/index.d.ts +180 -151
  294. package/lib/components/VSystemBar/VSystemBar.mjs +8 -4
  295. package/lib/components/VSystemBar/VSystemBar.mjs.map +1 -1
  296. package/lib/components/VSystemBar/index.d.ts +43 -51
  297. package/lib/components/VTable/VTable.mjs +19 -22
  298. package/lib/components/VTable/VTable.mjs.map +1 -1
  299. package/lib/components/VTable/index.d.ts +54 -30
  300. package/lib/components/VTabs/VTab.mjs +3 -4
  301. package/lib/components/VTabs/VTab.mjs.map +1 -1
  302. package/lib/components/VTabs/VTabs.mjs +2 -2
  303. package/lib/components/VTabs/VTabs.mjs.map +1 -1
  304. package/lib/components/VTabs/index.d.ts +122 -150
  305. package/lib/components/VTextField/VTextField.mjs +16 -19
  306. package/lib/components/VTextField/VTextField.mjs.map +1 -1
  307. package/lib/components/VTextField/index.d.ts +331 -1489
  308. package/lib/components/VTextarea/VTextarea.mjs +17 -19
  309. package/lib/components/VTextarea/VTextarea.mjs.map +1 -1
  310. package/lib/components/VTextarea/index.d.ts +320 -334
  311. package/lib/components/VThemeProvider/VThemeProvider.mjs +4 -5
  312. package/lib/components/VThemeProvider/VThemeProvider.mjs.map +1 -1
  313. package/lib/components/VThemeProvider/index.d.ts +27 -13
  314. package/lib/components/VTimeline/VTimeline.mjs +2 -2
  315. package/lib/components/VTimeline/VTimeline.mjs.map +1 -1
  316. package/lib/components/VTimeline/VTimelineDivider.mjs +20 -23
  317. package/lib/components/VTimeline/VTimelineDivider.mjs.map +1 -1
  318. package/lib/components/VTimeline/VTimelineItem.mjs +33 -34
  319. package/lib/components/VTimeline/VTimelineItem.mjs.map +1 -1
  320. package/lib/components/VTimeline/index.d.ts +123 -135
  321. package/lib/components/VToolbar/VToolbar.css +1 -0
  322. package/lib/components/VToolbar/VToolbar.mjs +7 -9
  323. package/lib/components/VToolbar/VToolbar.mjs.map +1 -1
  324. package/lib/components/VToolbar/VToolbar.sass +1 -0
  325. package/lib/components/VToolbar/VToolbarItems.mjs +5 -8
  326. package/lib/components/VToolbar/VToolbarItems.mjs.map +1 -1
  327. package/lib/components/VToolbar/VToolbarTitle.mjs +1 -2
  328. package/lib/components/VToolbar/VToolbarTitle.mjs.map +1 -1
  329. package/lib/components/VToolbar/index.d.ts +146 -351
  330. package/lib/components/VTooltip/VTooltip.mjs +1 -2
  331. package/lib/components/VTooltip/VTooltip.mjs.map +1 -1
  332. package/lib/components/VTooltip/index.d.ts +361 -1619
  333. package/lib/components/VValidation/VValidation.mjs +3 -6
  334. package/lib/components/VValidation/VValidation.mjs.map +1 -1
  335. package/lib/components/VValidation/index.d.ts +48 -46
  336. package/lib/components/VWindow/VWindow.mjs +19 -22
  337. package/lib/components/VWindow/VWindow.mjs.map +1 -1
  338. package/lib/components/VWindow/VWindowItem.mjs +10 -14
  339. package/lib/components/VWindow/VWindowItem.mjs.map +1 -1
  340. package/lib/components/VWindow/index.d.ts +152 -284
  341. package/lib/components/index.d.ts +13684 -21652
  342. package/lib/components/transitions/createTransition.mjs +4 -4
  343. package/lib/components/transitions/createTransition.mjs.map +1 -1
  344. package/lib/components/transitions/dialog-transition.mjs +8 -8
  345. package/lib/components/transitions/dialog-transition.mjs.map +1 -1
  346. package/lib/components/transitions/index.d.ts +477 -342
  347. package/lib/composables/defaults.mjs +6 -4
  348. package/lib/composables/defaults.mjs.map +1 -1
  349. package/lib/composables/delay.mjs +1 -1
  350. package/lib/composables/delay.mjs.map +1 -1
  351. package/lib/composables/filter.mjs +11 -12
  352. package/lib/composables/filter.mjs.map +1 -1
  353. package/lib/composables/group.mjs +2 -2
  354. package/lib/composables/group.mjs.map +1 -1
  355. package/lib/composables/icons.mjs +4 -6
  356. package/lib/composables/icons.mjs.map +1 -1
  357. package/lib/composables/intersectionObserver.mjs +1 -1
  358. package/lib/composables/intersectionObserver.mjs.map +1 -1
  359. package/lib/composables/layout.mjs +2 -5
  360. package/lib/composables/layout.mjs.map +1 -1
  361. package/lib/composables/loader.mjs +2 -3
  362. package/lib/composables/loader.mjs.map +1 -1
  363. package/lib/composables/locale.mjs +2 -2
  364. package/lib/composables/locale.mjs.map +1 -1
  365. package/lib/composables/mutationObserver.mjs +8 -8
  366. package/lib/composables/mutationObserver.mjs.map +1 -1
  367. package/lib/composables/nested/selectStrategies.mjs +1 -1
  368. package/lib/composables/nested/selectStrategies.mjs.map +1 -1
  369. package/lib/composables/proxiedModel.mjs +9 -10
  370. package/lib/composables/proxiedModel.mjs.map +1 -1
  371. package/lib/composables/resizeObserver.mjs +1 -1
  372. package/lib/composables/resizeObserver.mjs.map +1 -1
  373. package/lib/composables/router.mjs +12 -21
  374. package/lib/composables/router.mjs.map +1 -1
  375. package/lib/composables/scroll.mjs +2 -4
  376. package/lib/composables/scroll.mjs.map +1 -1
  377. package/lib/composables/selectLink.mjs +1 -4
  378. package/lib/composables/selectLink.mjs.map +1 -1
  379. package/lib/composables/stack.mjs +6 -8
  380. package/lib/composables/stack.mjs.map +1 -1
  381. package/lib/composables/teleport.mjs +1 -1
  382. package/lib/composables/teleport.mjs.map +1 -1
  383. package/lib/composables/theme.mjs +2 -3
  384. package/lib/composables/theme.mjs.map +1 -1
  385. package/lib/composables/toggleScope.mjs +3 -6
  386. package/lib/composables/toggleScope.mjs.map +1 -1
  387. package/lib/composables/touch.mjs +1 -2
  388. package/lib/composables/touch.mjs.map +1 -1
  389. package/lib/composables/validation.mjs +7 -7
  390. package/lib/composables/validation.mjs.map +1 -1
  391. package/lib/directives/click-outside/index.mjs +2 -3
  392. package/lib/directives/click-outside/index.mjs.map +1 -1
  393. package/lib/directives/index.d.ts +1 -1
  394. package/lib/directives/intersect/index.mjs +2 -4
  395. package/lib/directives/intersect/index.mjs.map +1 -1
  396. package/lib/directives/mutate/index.mjs +7 -8
  397. package/lib/directives/mutate/index.mjs.map +1 -1
  398. package/lib/directives/resize/index.mjs +3 -5
  399. package/lib/directives/resize/index.mjs.map +1 -1
  400. package/lib/directives/ripple/index.mjs +8 -13
  401. package/lib/directives/ripple/index.mjs.map +1 -1
  402. package/lib/directives/scroll/index.mjs +1 -2
  403. package/lib/directives/scroll/index.mjs.map +1 -1
  404. package/lib/directives/touch/index.mjs +9 -14
  405. package/lib/directives/touch/index.mjs.map +1 -1
  406. package/lib/entry-bundler.mjs +1 -1
  407. package/lib/framework.mjs +2 -3
  408. package/lib/framework.mjs.map +1 -1
  409. package/lib/iconsets/fa-svg.d.ts +2 -2
  410. package/lib/iconsets/fa.d.ts +2 -2
  411. package/lib/iconsets/fa4.d.ts +2 -2
  412. package/lib/iconsets/md.d.ts +2 -2
  413. package/lib/iconsets/mdi-svg.d.ts +2 -2
  414. package/lib/iconsets/mdi.d.ts +2 -2
  415. package/lib/index.d.ts +27 -27
  416. package/lib/labs/VDataTable/VDataTable.mjs +11 -14
  417. package/lib/labs/VDataTable/VDataTable.mjs.map +1 -1
  418. package/lib/labs/VDataTable/VDataTableColumn.mjs +1 -2
  419. package/lib/labs/VDataTable/VDataTableColumn.mjs.map +1 -1
  420. package/lib/labs/VDataTable/VDataTableFooter.css +9 -0
  421. package/lib/labs/VDataTable/VDataTableFooter.mjs +80 -45
  422. package/lib/labs/VDataTable/VDataTableFooter.mjs.map +1 -1
  423. package/lib/labs/VDataTable/VDataTableFooter.sass +7 -0
  424. package/lib/labs/VDataTable/VDataTableGroupHeaderRow.mjs +6 -8
  425. package/lib/labs/VDataTable/VDataTableGroupHeaderRow.mjs.map +1 -1
  426. package/lib/labs/VDataTable/VDataTableHeaders.mjs +3 -4
  427. package/lib/labs/VDataTable/VDataTableHeaders.mjs.map +1 -1
  428. package/lib/labs/VDataTable/VDataTableRow.mjs +2 -4
  429. package/lib/labs/VDataTable/VDataTableRow.mjs.map +1 -1
  430. package/lib/labs/VDataTable/VDataTableRows.mjs +45 -49
  431. package/lib/labs/VDataTable/VDataTableRows.mjs.map +1 -1
  432. package/lib/labs/VDataTable/VDataTableServer.mjs +16 -19
  433. package/lib/labs/VDataTable/VDataTableServer.mjs.map +1 -1
  434. package/lib/labs/VDataTable/VDataTableVirtual.mjs +2 -2
  435. package/lib/labs/VDataTable/VDataTableVirtual.mjs.map +1 -1
  436. package/lib/labs/VDataTable/composables/headers.mjs +3 -4
  437. package/lib/labs/VDataTable/composables/headers.mjs.map +1 -1
  438. package/lib/labs/VDataTable/composables/paginate.mjs +1 -6
  439. package/lib/labs/VDataTable/composables/paginate.mjs.map +1 -1
  440. package/lib/labs/VDataTable/composables/sort.mjs +1 -1
  441. package/lib/labs/VDataTable/composables/sort.mjs.map +1 -1
  442. package/lib/labs/VDataTable/index.d.ts +583 -575
  443. package/lib/labs/VVirtualScroll/VVirtualScroll.mjs +11 -15
  444. package/lib/labs/VVirtualScroll/VVirtualScroll.mjs.map +1 -1
  445. package/lib/labs/VVirtualScroll/VVirtualScrollItem.mjs +7 -13
  446. package/lib/labs/VVirtualScroll/VVirtualScrollItem.mjs.map +1 -1
  447. package/lib/labs/VVirtualScroll/index.d.ts +18 -18
  448. package/lib/labs/components.d.ts +601 -593
  449. package/lib/locale/adapters/vue-i18n.d.ts +1 -1
  450. package/lib/locale/adapters/vuetify.mjs +3 -3
  451. package/lib/locale/adapters/vuetify.mjs.map +1 -1
  452. package/lib/styles/main.css +40 -2816
  453. package/lib/util/console.mjs +1 -1
  454. package/lib/util/console.mjs.map +1 -1
  455. package/lib/util/createSimpleFunctional.mjs +5 -8
  456. package/lib/util/createSimpleFunctional.mjs.map +1 -1
  457. package/lib/util/defineComponent.mjs +6 -8
  458. package/lib/util/defineComponent.mjs.map +1 -1
  459. package/lib/util/getCurrentInstance.mjs +1 -1
  460. package/lib/util/getCurrentInstance.mjs.map +1 -1
  461. package/lib/util/helpers.mjs +2 -3
  462. package/lib/util/helpers.mjs.map +1 -1
  463. package/package.json +19 -19
@@ -6,7 +6,7 @@ function isLocaleInstance(obj) {
6
6
  return obj.name != null;
7
7
  }
8
8
  export function createLocale(options) {
9
- const i18n = options != null && options.adapter && isLocaleInstance(options == null ? void 0 : options.adapter) ? options == null ? void 0 : options.adapter : createVuetifyAdapter(options);
9
+ const i18n = options?.adapter && isLocaleInstance(options?.adapter) ? options?.adapter : createVuetifyAdapter(options);
10
10
  const rtl = createRtl(i18n, options);
11
11
  return {
12
12
  ...i18n,
@@ -35,7 +35,7 @@ export function provideLocale(props) {
35
35
 
36
36
  export const RtlSymbol = Symbol.for('vuetify:rtl');
37
37
  export function createRtl(i18n, options) {
38
- const rtl = ref((options == null ? void 0 : options.rtl) ?? defaultRtl);
38
+ const rtl = ref(options?.rtl ?? defaultRtl);
39
39
  const isRtl = computed(() => rtl.value[i18n.current.value] ?? false);
40
40
  return {
41
41
  isRtl,
@@ -1 +1 @@
1
- {"version":3,"file":"locale.mjs","names":["computed","inject","provide","ref","createVuetifyAdapter","defaultRtl","LocaleSymbol","Symbol","for","isLocaleInstance","obj","name","createLocale","options","i18n","adapter","rtl","createRtl","useLocale","locale","Error","provideLocale","props","provideRtl","data","RtlSymbol","isRtl","value","current","rtlClasses","useRtl"],"sources":["../../src/composables/locale.ts"],"sourcesContent":["import { computed, inject, provide, ref } from 'vue'\nimport { createVuetifyAdapter } from '@/locale/adapters/vuetify'\nimport { defaultRtl } from '@/locale'\n\nimport type { InjectionKey, Ref } from 'vue'\n\nexport interface LocaleMessages {\n [key: string]: LocaleMessages | string\n}\n\nexport interface LocaleOptions {\n messages?: LocaleMessages\n locale?: string\n fallback?: string\n adapter?: LocaleInstance\n}\n\nexport interface LocaleInstance {\n name: string\n messages: Ref<LocaleMessages>\n current: Ref<string>\n fallback: Ref<string>\n t: (key: string, ...params: unknown[]) => string\n n: (value: number) => string\n provide: (props: LocaleOptions) => LocaleInstance\n}\n\nexport const LocaleSymbol: InjectionKey<LocaleInstance & RtlInstance> = Symbol.for('vuetify:locale')\n\nfunction isLocaleInstance (obj: any): obj is LocaleInstance {\n return obj.name != null\n}\n\nexport function createLocale (options?: LocaleOptions & RtlOptions) {\n const i18n = options?.adapter && isLocaleInstance(options?.adapter) ? options?.adapter : createVuetifyAdapter(options)\n const rtl = createRtl(i18n, options)\n\n return { ...i18n, ...rtl }\n}\n\nexport function useLocale () {\n const locale = inject(LocaleSymbol)\n\n if (!locale) throw new Error('[Vuetify] Could not find injected locale instance')\n\n return locale\n}\n\nexport function provideLocale (props: LocaleOptions & RtlProps) {\n const locale = inject(LocaleSymbol)\n\n if (!locale) throw new Error('[Vuetify] Could not find injected locale instance')\n\n const i18n = locale.provide(props)\n const rtl = provideRtl(i18n, locale.rtl, props)\n\n const data = { ...i18n, ...rtl }\n\n provide(LocaleSymbol, data)\n\n return data\n}\n\n// RTL\n\nexport interface RtlOptions {\n rtl?: Record<string, boolean>\n}\n\nexport interface RtlProps {\n rtl?: boolean\n}\n\nexport interface RtlInstance {\n isRtl: Ref<boolean>\n rtl: Ref<Record<string, boolean>>\n rtlClasses: Ref<string>\n}\n\nexport const RtlSymbol: InjectionKey<RtlInstance> = Symbol.for('vuetify:rtl')\n\nexport function createRtl (i18n: LocaleInstance, options?: RtlOptions): RtlInstance {\n const rtl = ref(options?.rtl ?? defaultRtl)\n const isRtl = computed(() => rtl.value[i18n.current.value] ?? false)\n\n return {\n isRtl,\n rtl,\n rtlClasses: computed(() => `v-locale--is-${isRtl.value ? 'rtl' : 'ltr'}`),\n }\n}\n\nexport function provideRtl (locale: LocaleInstance, rtl: RtlInstance['rtl'], props: RtlProps): RtlInstance {\n const isRtl = computed(() => props.rtl ?? rtl.value[locale.current.value] ?? false)\n\n return {\n isRtl,\n rtl,\n rtlClasses: computed(() => `v-locale--is-${isRtl.value ? 'rtl' : 'ltr'}`),\n }\n}\n\nexport function useRtl () {\n const locale = inject(LocaleSymbol)\n\n if (!locale) throw new Error('[Vuetify] Could not find injected rtl instance')\n\n return { isRtl: locale.isRtl, rtlClasses: locale.rtlClasses }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"locale.mjs","names":["computed","inject","provide","ref","createVuetifyAdapter","defaultRtl","LocaleSymbol","Symbol","for","isLocaleInstance","obj","name","createLocale","options","i18n","adapter","rtl","createRtl","useLocale","locale","Error","provideLocale","props","provideRtl","data","RtlSymbol","isRtl","value","current","rtlClasses","useRtl"],"sources":["../../src/composables/locale.ts"],"sourcesContent":["import { computed, inject, provide, ref } from 'vue'\nimport { createVuetifyAdapter } from '@/locale/adapters/vuetify'\nimport { defaultRtl } from '@/locale'\n\nimport type { InjectionKey, Ref } from 'vue'\n\nexport interface LocaleMessages {\n [key: string]: LocaleMessages | string\n}\n\nexport interface LocaleOptions {\n messages?: LocaleMessages\n locale?: string\n fallback?: string\n adapter?: LocaleInstance\n}\n\nexport interface LocaleInstance {\n name: string\n messages: Ref<LocaleMessages>\n current: Ref<string>\n fallback: Ref<string>\n t: (key: string, ...params: unknown[]) => string\n n: (value: number) => string\n provide: (props: LocaleOptions) => LocaleInstance\n}\n\nexport const LocaleSymbol: InjectionKey<LocaleInstance & RtlInstance> = Symbol.for('vuetify:locale')\n\nfunction isLocaleInstance (obj: any): obj is LocaleInstance {\n return obj.name != null\n}\n\nexport function createLocale (options?: LocaleOptions & RtlOptions) {\n const i18n = options?.adapter && isLocaleInstance(options?.adapter) ? options?.adapter : createVuetifyAdapter(options)\n const rtl = createRtl(i18n, options)\n\n return { ...i18n, ...rtl }\n}\n\nexport function useLocale () {\n const locale = inject(LocaleSymbol)\n\n if (!locale) throw new Error('[Vuetify] Could not find injected locale instance')\n\n return locale\n}\n\nexport function provideLocale (props: LocaleOptions & RtlProps) {\n const locale = inject(LocaleSymbol)\n\n if (!locale) throw new Error('[Vuetify] Could not find injected locale instance')\n\n const i18n = locale.provide(props)\n const rtl = provideRtl(i18n, locale.rtl, props)\n\n const data = { ...i18n, ...rtl }\n\n provide(LocaleSymbol, data)\n\n return data\n}\n\n// RTL\n\nexport interface RtlOptions {\n rtl?: Record<string, boolean>\n}\n\nexport interface RtlProps {\n rtl?: boolean\n}\n\nexport interface RtlInstance {\n isRtl: Ref<boolean>\n rtl: Ref<Record<string, boolean>>\n rtlClasses: Ref<string>\n}\n\nexport const RtlSymbol: InjectionKey<RtlInstance> = Symbol.for('vuetify:rtl')\n\nexport function createRtl (i18n: LocaleInstance, options?: RtlOptions): RtlInstance {\n const rtl = ref(options?.rtl ?? defaultRtl)\n const isRtl = computed(() => rtl.value[i18n.current.value] ?? false)\n\n return {\n isRtl,\n rtl,\n rtlClasses: computed(() => `v-locale--is-${isRtl.value ? 'rtl' : 'ltr'}`),\n }\n}\n\nexport function provideRtl (locale: LocaleInstance, rtl: RtlInstance['rtl'], props: RtlProps): RtlInstance {\n const isRtl = computed(() => props.rtl ?? rtl.value[locale.current.value] ?? false)\n\n return {\n isRtl,\n rtl,\n rtlClasses: computed(() => `v-locale--is-${isRtl.value ? 'rtl' : 'ltr'}`),\n }\n}\n\nexport function useRtl () {\n const locale = inject(LocaleSymbol)\n\n if (!locale) throw new Error('[Vuetify] Could not find injected rtl instance')\n\n return { isRtl: locale.isRtl, rtlClasses: locale.rtlClasses }\n}\n"],"mappings":"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"}
@@ -13,12 +13,12 @@ export function useMutationObserver(handler, options) {
13
13
  } = options || {};
14
14
  const defaultValue = !Object.keys(optionKeys).length;
15
15
  const observer = new MutationObserver((mutations, observer) => {
16
- handler == null ? void 0 : handler(mutations, observer);
17
- if (options != null && options.once) observer.disconnect();
16
+ handler?.(mutations, observer);
17
+ if (options?.once) observer.disconnect();
18
18
  });
19
19
  onMounted(() => {
20
- if (!(options != null && options.immediate)) return;
21
- handler == null ? void 0 : handler([], observer);
20
+ if (!options?.immediate) return;
21
+ handler?.([], observer);
22
22
  });
23
23
  onBeforeUnmount(() => {
24
24
  observer.disconnect();
@@ -28,10 +28,10 @@ export function useMutationObserver(handler, options) {
28
28
  const el = isComponentInstance(newValue) ? newValue.$el : newValue;
29
29
  if (!el) return;
30
30
  observer.observe(el, {
31
- attributes: (options == null ? void 0 : options.attr) ?? defaultValue,
32
- characterData: (options == null ? void 0 : options.char) ?? defaultValue,
33
- childList: (options == null ? void 0 : options.child) ?? defaultValue,
34
- subtree: (options == null ? void 0 : options.sub) ?? defaultValue
31
+ attributes: options?.attr ?? defaultValue,
32
+ characterData: options?.char ?? defaultValue,
33
+ childList: options?.child ?? defaultValue,
34
+ subtree: options?.sub ?? defaultValue
35
35
  });
36
36
  }, {
37
37
  flush: 'post'
@@ -1 +1 @@
1
- {"version":3,"file":"mutationObserver.mjs","names":["isComponentInstance","onBeforeUnmount","onMounted","ref","watch","useMutationObserver","handler","options","mutationRef","once","immediate","optionKeys","defaultValue","Object","keys","length","observer","MutationObserver","mutations","disconnect","newValue","oldValue","el","$el","observe","attributes","attr","characterData","char","childList","child","subtree","sub","flush"],"sources":["../../src/composables/mutationObserver.ts"],"sourcesContent":["// Utilities\nimport { isComponentInstance } from '@/util'\nimport { onBeforeUnmount, onMounted, ref, watch } from 'vue'\n\n// Types\nimport type { ComponentPublicInstance } from 'vue'\n\nexport interface MutationOptions {\n attr?: boolean\n char?: boolean\n child?: boolean\n sub?: boolean\n once?: boolean\n immediate?: boolean\n}\n\nexport function useMutationObserver (\n handler?: MutationCallback,\n options?: MutationOptions,\n) {\n const mutationRef = ref<ComponentPublicInstance | HTMLElement>()\n const { once, immediate, ...optionKeys } = options || {}\n const defaultValue = !Object.keys(optionKeys).length\n\n const observer = new MutationObserver((\n mutations: MutationRecord[],\n observer: MutationObserver\n ) => {\n handler?.(mutations, observer)\n\n if (options?.once) observer.disconnect()\n })\n\n onMounted(() => {\n if (!options?.immediate) return\n\n handler?.([], observer)\n })\n\n onBeforeUnmount(() => {\n observer.disconnect()\n })\n\n watch(mutationRef, (newValue, oldValue) => {\n if (oldValue) observer.disconnect()\n\n const el = isComponentInstance(newValue) ? newValue.$el : newValue\n\n if (!el) return\n\n observer.observe(el, {\n attributes: options?.attr ?? defaultValue,\n characterData: options?.char ?? defaultValue,\n childList: options?.child ?? defaultValue,\n subtree: options?.sub ?? defaultValue,\n })\n }, {\n flush: 'post',\n })\n\n return { mutationRef }\n}\n"],"mappings":"AAAA;AAAA,SACSA,mBAAmB;AAC5B,SAASC,eAAe,EAAEC,SAAS,EAAEC,GAAG,EAAEC,KAAK,QAAQ,KAAK;;AAE5D;;AAYA,OAAO,SAASC,mBAAmB,CACjCC,OAA0B,EAC1BC,OAAyB,EACzB;EACA,MAAMC,WAAW,GAAGL,GAAG,EAAyC;EAChE,MAAM;IAAEM,IAAI;IAAEC,SAAS;IAAE,GAAGC;EAAW,CAAC,GAAGJ,OAAO,IAAI,CAAC,CAAC;EACxD,MAAMK,YAAY,GAAG,CAACC,MAAM,CAACC,IAAI,CAACH,UAAU,CAAC,CAACI,MAAM;EAEpD,MAAMC,QAAQ,GAAG,IAAIC,gBAAgB,CAAC,CACpCC,SAA2B,EAC3BF,QAA0B,KACvB;IACHV,OAAO,oBAAPA,OAAO,CAAGY,SAAS,EAAEF,QAAQ,CAAC;IAE9B,IAAIT,OAAO,YAAPA,OAAO,CAAEE,IAAI,EAAEO,QAAQ,CAACG,UAAU,EAAE;EAC1C,CAAC,CAAC;EAEFjB,SAAS,CAAC,MAAM;IACd,IAAI,EAACK,OAAO,YAAPA,OAAO,CAAEG,SAAS,GAAE;IAEzBJ,OAAO,oBAAPA,OAAO,CAAG,EAAE,EAAEU,QAAQ,CAAC;EACzB,CAAC,CAAC;EAEFf,eAAe,CAAC,MAAM;IACpBe,QAAQ,CAACG,UAAU,EAAE;EACvB,CAAC,CAAC;EAEFf,KAAK,CAACI,WAAW,EAAE,CAACY,QAAQ,EAAEC,QAAQ,KAAK;IACzC,IAAIA,QAAQ,EAAEL,QAAQ,CAACG,UAAU,EAAE;IAEnC,MAAMG,EAAE,GAAGtB,mBAAmB,CAACoB,QAAQ,CAAC,GAAGA,QAAQ,CAACG,GAAG,GAAGH,QAAQ;IAElE,IAAI,CAACE,EAAE,EAAE;IAETN,QAAQ,CAACQ,OAAO,CAACF,EAAE,EAAE;MACnBG,UAAU,EAAE,CAAAlB,OAAO,oBAAPA,OAAO,CAAEmB,IAAI,KAAId,YAAY;MACzCe,aAAa,EAAE,CAAApB,OAAO,oBAAPA,OAAO,CAAEqB,IAAI,KAAIhB,YAAY;MAC5CiB,SAAS,EAAE,CAAAtB,OAAO,oBAAPA,OAAO,CAAEuB,KAAK,KAAIlB,YAAY;MACzCmB,OAAO,EAAE,CAAAxB,OAAO,oBAAPA,OAAO,CAAEyB,GAAG,KAAIpB;IAC3B,CAAC,CAAC;EACJ,CAAC,EAAE;IACDqB,KAAK,EAAE;EACT,CAAC,CAAC;EAEF,OAAO;IAAEzB;EAAY,CAAC;AACxB"}
1
+ {"version":3,"file":"mutationObserver.mjs","names":["isComponentInstance","onBeforeUnmount","onMounted","ref","watch","useMutationObserver","handler","options","mutationRef","once","immediate","optionKeys","defaultValue","Object","keys","length","observer","MutationObserver","mutations","disconnect","newValue","oldValue","el","$el","observe","attributes","attr","characterData","char","childList","child","subtree","sub","flush"],"sources":["../../src/composables/mutationObserver.ts"],"sourcesContent":["// Utilities\nimport { isComponentInstance } from '@/util'\nimport { onBeforeUnmount, onMounted, ref, watch } from 'vue'\n\n// Types\nimport type { ComponentPublicInstance } from 'vue'\n\nexport interface MutationOptions {\n attr?: boolean\n char?: boolean\n child?: boolean\n sub?: boolean\n once?: boolean\n immediate?: boolean\n}\n\nexport function useMutationObserver (\n handler?: MutationCallback,\n options?: MutationOptions,\n) {\n const mutationRef = ref<ComponentPublicInstance | HTMLElement>()\n const { once, immediate, ...optionKeys } = options || {}\n const defaultValue = !Object.keys(optionKeys).length\n\n const observer = new MutationObserver((\n mutations: MutationRecord[],\n observer: MutationObserver\n ) => {\n handler?.(mutations, observer)\n\n if (options?.once) observer.disconnect()\n })\n\n onMounted(() => {\n if (!options?.immediate) return\n\n handler?.([], observer)\n })\n\n onBeforeUnmount(() => {\n observer.disconnect()\n })\n\n watch(mutationRef, (newValue, oldValue) => {\n if (oldValue) observer.disconnect()\n\n const el = isComponentInstance(newValue) ? newValue.$el : newValue\n\n if (!el) return\n\n observer.observe(el, {\n attributes: options?.attr ?? defaultValue,\n characterData: options?.char ?? defaultValue,\n childList: options?.child ?? defaultValue,\n subtree: options?.sub ?? defaultValue,\n })\n }, {\n flush: 'post',\n })\n\n return { mutationRef }\n}\n"],"mappings":"AAAA;AAAA,SACSA,mBAAmB;AAC5B,SAASC,eAAe,EAAEC,SAAS,EAAEC,GAAG,EAAEC,KAAK,QAAQ,KAAK;;AAE5D;;AAYA,OAAO,SAASC,mBAAmB,CACjCC,OAA0B,EAC1BC,OAAyB,EACzB;EACA,MAAMC,WAAW,GAAGL,GAAG,EAAyC;EAChE,MAAM;IAAEM,IAAI;IAAEC,SAAS;IAAE,GAAGC;EAAW,CAAC,GAAGJ,OAAO,IAAI,CAAC,CAAC;EACxD,MAAMK,YAAY,GAAG,CAACC,MAAM,CAACC,IAAI,CAACH,UAAU,CAAC,CAACI,MAAM;EAEpD,MAAMC,QAAQ,GAAG,IAAIC,gBAAgB,CAAC,CACpCC,SAA2B,EAC3BF,QAA0B,KACvB;IACHV,OAAO,GAAGY,SAAS,EAAEF,QAAQ,CAAC;IAE9B,IAAIT,OAAO,EAAEE,IAAI,EAAEO,QAAQ,CAACG,UAAU,EAAE;EAC1C,CAAC,CAAC;EAEFjB,SAAS,CAAC,MAAM;IACd,IAAI,CAACK,OAAO,EAAEG,SAAS,EAAE;IAEzBJ,OAAO,GAAG,EAAE,EAAEU,QAAQ,CAAC;EACzB,CAAC,CAAC;EAEFf,eAAe,CAAC,MAAM;IACpBe,QAAQ,CAACG,UAAU,EAAE;EACvB,CAAC,CAAC;EAEFf,KAAK,CAACI,WAAW,EAAE,CAACY,QAAQ,EAAEC,QAAQ,KAAK;IACzC,IAAIA,QAAQ,EAAEL,QAAQ,CAACG,UAAU,EAAE;IAEnC,MAAMG,EAAE,GAAGtB,mBAAmB,CAACoB,QAAQ,CAAC,GAAGA,QAAQ,CAACG,GAAG,GAAGH,QAAQ;IAElE,IAAI,CAACE,EAAE,EAAE;IAETN,QAAQ,CAACQ,OAAO,CAACF,EAAE,EAAE;MACnBG,UAAU,EAAElB,OAAO,EAAEmB,IAAI,IAAId,YAAY;MACzCe,aAAa,EAAEpB,OAAO,EAAEqB,IAAI,IAAIhB,YAAY;MAC5CiB,SAAS,EAAEtB,OAAO,EAAEuB,KAAK,IAAIlB,YAAY;MACzCmB,OAAO,EAAExB,OAAO,EAAEyB,GAAG,IAAIpB;IAC3B,CAAC,CAAC;EACJ,CAAC,EAAE;IACDqB,KAAK,EAAE;EACT,CAAC,CAAC;EAEF,OAAO;IAAEzB;EAAY,CAAC;AACxB"}
@@ -61,7 +61,7 @@ export const independentSingleSelectStrategy = mandatory => {
61
61
  },
62
62
  in: (v, children, parents) => {
63
63
  let map = new Map();
64
- if (v != null && v.length) {
64
+ if (v?.length) {
65
65
  map = parentStrategy.in(v.slice(0, 1), children, parents);
66
66
  }
67
67
  return map;
@@ -1 +1 @@
1
- {"version":3,"file":"selectStrategies.mjs","names":["independentSelectStrategy","mandatory","strategy","select","id","value","selected","on","Array","from","entries","reduce","arr","key","length","set","in","v","children","parents","map","Map","out","push","independentSingleSelectStrategy","parentStrategy","rest","singleSelected","has","get","slice","leafSelectStrategy","leafSingleSelectStrategy","classicSelectStrategy","original","items","item","shift","parent","childrenIds","everySelected","every","cid","noneSelected"],"sources":["../../../src/composables/nested/selectStrategies.ts"],"sourcesContent":["/* eslint-disable sonarjs/no-identical-functions */\nexport type SelectStrategyFn = (data: {\n id: unknown\n value: boolean\n selected: Map<unknown, 'on' | 'off' | 'indeterminate'>\n children: Map<unknown, unknown[]>\n parents: Map<unknown, unknown>\n event?: Event\n}) => Map<unknown, 'on' | 'off' | 'indeterminate'>\n\nexport type SelectStrategyTransformInFn = (\n v: unknown[] | undefined,\n children: Map<unknown, unknown[]>,\n parents: Map<unknown, unknown>,\n) => Map<unknown, 'on' | 'off' | 'indeterminate'>\n\nexport type SelectStrategyTransformOutFn = (\n v: Map<unknown, 'on' | 'off' | 'indeterminate'>,\n children: Map<unknown, unknown[]>,\n parents: Map<unknown, unknown>,\n) => unknown[]\n\nexport type SelectStrategy = {\n select: SelectStrategyFn\n in: SelectStrategyTransformInFn\n out: SelectStrategyTransformOutFn\n}\n\nexport const independentSelectStrategy = (mandatory?: boolean): SelectStrategy => {\n const strategy: SelectStrategy = {\n select: ({ id, value, selected }) => {\n // When mandatory and we're trying to deselect when id\n // is the only currently selected item then do nothing\n if (mandatory && !value) {\n const on = Array.from(selected.entries()).reduce((arr, [key, value]) => value === 'on' ? [...arr, key] : arr, [] as unknown[])\n if (on.length === 1 && on[0] === id) return selected\n }\n\n selected.set(id, value ? 'on' : 'off')\n\n return selected\n },\n in: (v, children, parents) => {\n let map = new Map()\n\n for (const id of (v || [])) {\n map = strategy.select({\n id,\n value: true,\n selected: new Map(map),\n children,\n parents,\n })\n }\n\n return map\n },\n out: v => {\n const arr = []\n\n for (const [key, value] of v.entries()) {\n if (value === 'on') arr.push(key)\n }\n\n return arr\n },\n }\n\n return strategy\n}\n\nexport const independentSingleSelectStrategy = (mandatory?: boolean): SelectStrategy => {\n const parentStrategy = independentSelectStrategy(mandatory)\n\n const strategy: SelectStrategy = {\n select: ({ selected, id, ...rest }) => {\n const singleSelected = selected.has(id) ? new Map([[id, selected.get(id)!]]) : new Map()\n return parentStrategy.select({ ...rest, id, selected: singleSelected })\n },\n in: (v, children, parents) => {\n let map = new Map()\n\n if (v?.length) {\n map = parentStrategy.in(v.slice(0, 1), children, parents)\n }\n\n return map\n },\n out: (v, children, parents) => {\n return parentStrategy.out(v, children, parents)\n },\n }\n\n return strategy\n}\n\nexport const leafSelectStrategy = (mandatory?: boolean): SelectStrategy => {\n const parentStrategy = independentSelectStrategy(mandatory)\n\n const strategy: SelectStrategy = {\n select: ({ id, selected, children, ...rest }) => {\n if (children.has(id)) return selected\n\n return parentStrategy.select({ id, selected, children, ...rest })\n },\n in: parentStrategy.in,\n out: parentStrategy.out,\n }\n\n return strategy\n}\n\nexport const leafSingleSelectStrategy = (mandatory?: boolean): SelectStrategy => {\n const parentStrategy = independentSingleSelectStrategy(mandatory)\n\n const strategy: SelectStrategy = {\n select: ({ id, selected, children, ...rest }) => {\n if (children.has(id)) return selected\n\n return parentStrategy.select({ id, selected, children, ...rest })\n },\n in: parentStrategy.in,\n out: parentStrategy.out,\n }\n\n return strategy\n}\n\nexport const classicSelectStrategy = (mandatory?: boolean): SelectStrategy => {\n const strategy: SelectStrategy = {\n select: ({ id, value, selected, children, parents }) => {\n const original = new Map(selected)\n\n const items = [id]\n\n while (items.length) {\n const item = items.shift()!\n\n selected.set(item, value ? 'on' : 'off')\n\n if (children.has(item)) {\n items.push(...children.get(item)!)\n }\n }\n\n let parent = parents.get(id)\n\n while (parent) {\n const childrenIds = children.get(parent)!\n const everySelected = childrenIds.every(cid => selected.get(cid) === 'on')\n const noneSelected = childrenIds.every(cid => !selected.has(cid) || selected.get(cid) === 'off')\n\n selected.set(parent, everySelected ? 'on' : noneSelected ? 'off' : 'indeterminate')\n\n parent = parents.get(parent)\n }\n\n // If mandatory and planned deselect results in no selected\n // items then we can't do it, so return original state\n if (mandatory && !value) {\n const on = Array.from(selected.entries()).reduce((arr, [key, value]) => value === 'on' ? [...arr, key] : arr, [] as unknown[])\n if (on.length === 0) return original\n }\n\n return selected\n },\n in: (v, children, parents) => {\n let map = new Map()\n\n for (const id of (v || [])) {\n map = strategy.select({\n id,\n value: true,\n selected: new Map(map),\n children,\n parents,\n })\n }\n\n return map\n },\n out: (v, children) => {\n const arr = []\n\n for (const [key, value] of v.entries()) {\n if (value === 'on' && !children.has(key)) arr.push(key)\n }\n\n return arr\n },\n }\n\n return strategy\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"selectStrategies.mjs","names":["independentSelectStrategy","mandatory","strategy","select","id","value","selected","on","Array","from","entries","reduce","arr","key","length","set","in","v","children","parents","map","Map","out","push","independentSingleSelectStrategy","parentStrategy","rest","singleSelected","has","get","slice","leafSelectStrategy","leafSingleSelectStrategy","classicSelectStrategy","original","items","item","shift","parent","childrenIds","everySelected","every","cid","noneSelected"],"sources":["../../../src/composables/nested/selectStrategies.ts"],"sourcesContent":["/* eslint-disable sonarjs/no-identical-functions */\nexport type SelectStrategyFn = (data: {\n id: unknown\n value: boolean\n selected: Map<unknown, 'on' | 'off' | 'indeterminate'>\n children: Map<unknown, unknown[]>\n parents: Map<unknown, unknown>\n event?: Event\n}) => Map<unknown, 'on' | 'off' | 'indeterminate'>\n\nexport type SelectStrategyTransformInFn = (\n v: unknown[] | undefined,\n children: Map<unknown, unknown[]>,\n parents: Map<unknown, unknown>,\n) => Map<unknown, 'on' | 'off' | 'indeterminate'>\n\nexport type SelectStrategyTransformOutFn = (\n v: Map<unknown, 'on' | 'off' | 'indeterminate'>,\n children: Map<unknown, unknown[]>,\n parents: Map<unknown, unknown>,\n) => unknown[]\n\nexport type SelectStrategy = {\n select: SelectStrategyFn\n in: SelectStrategyTransformInFn\n out: SelectStrategyTransformOutFn\n}\n\nexport const independentSelectStrategy = (mandatory?: boolean): SelectStrategy => {\n const strategy: SelectStrategy = {\n select: ({ id, value, selected }) => {\n // When mandatory and we're trying to deselect when id\n // is the only currently selected item then do nothing\n if (mandatory && !value) {\n const on = Array.from(selected.entries()).reduce((arr, [key, value]) => value === 'on' ? [...arr, key] : arr, [] as unknown[])\n if (on.length === 1 && on[0] === id) return selected\n }\n\n selected.set(id, value ? 'on' : 'off')\n\n return selected\n },\n in: (v, children, parents) => {\n let map = new Map()\n\n for (const id of (v || [])) {\n map = strategy.select({\n id,\n value: true,\n selected: new Map(map),\n children,\n parents,\n })\n }\n\n return map\n },\n out: v => {\n const arr = []\n\n for (const [key, value] of v.entries()) {\n if (value === 'on') arr.push(key)\n }\n\n return arr\n },\n }\n\n return strategy\n}\n\nexport const independentSingleSelectStrategy = (mandatory?: boolean): SelectStrategy => {\n const parentStrategy = independentSelectStrategy(mandatory)\n\n const strategy: SelectStrategy = {\n select: ({ selected, id, ...rest }) => {\n const singleSelected = selected.has(id) ? new Map([[id, selected.get(id)!]]) : new Map()\n return parentStrategy.select({ ...rest, id, selected: singleSelected })\n },\n in: (v, children, parents) => {\n let map = new Map()\n\n if (v?.length) {\n map = parentStrategy.in(v.slice(0, 1), children, parents)\n }\n\n return map\n },\n out: (v, children, parents) => {\n return parentStrategy.out(v, children, parents)\n },\n }\n\n return strategy\n}\n\nexport const leafSelectStrategy = (mandatory?: boolean): SelectStrategy => {\n const parentStrategy = independentSelectStrategy(mandatory)\n\n const strategy: SelectStrategy = {\n select: ({ id, selected, children, ...rest }) => {\n if (children.has(id)) return selected\n\n return parentStrategy.select({ id, selected, children, ...rest })\n },\n in: parentStrategy.in,\n out: parentStrategy.out,\n }\n\n return strategy\n}\n\nexport const leafSingleSelectStrategy = (mandatory?: boolean): SelectStrategy => {\n const parentStrategy = independentSingleSelectStrategy(mandatory)\n\n const strategy: SelectStrategy = {\n select: ({ id, selected, children, ...rest }) => {\n if (children.has(id)) return selected\n\n return parentStrategy.select({ id, selected, children, ...rest })\n },\n in: parentStrategy.in,\n out: parentStrategy.out,\n }\n\n return strategy\n}\n\nexport const classicSelectStrategy = (mandatory?: boolean): SelectStrategy => {\n const strategy: SelectStrategy = {\n select: ({ id, value, selected, children, parents }) => {\n const original = new Map(selected)\n\n const items = [id]\n\n while (items.length) {\n const item = items.shift()!\n\n selected.set(item, value ? 'on' : 'off')\n\n if (children.has(item)) {\n items.push(...children.get(item)!)\n }\n }\n\n let parent = parents.get(id)\n\n while (parent) {\n const childrenIds = children.get(parent)!\n const everySelected = childrenIds.every(cid => selected.get(cid) === 'on')\n const noneSelected = childrenIds.every(cid => !selected.has(cid) || selected.get(cid) === 'off')\n\n selected.set(parent, everySelected ? 'on' : noneSelected ? 'off' : 'indeterminate')\n\n parent = parents.get(parent)\n }\n\n // If mandatory and planned deselect results in no selected\n // items then we can't do it, so return original state\n if (mandatory && !value) {\n const on = Array.from(selected.entries()).reduce((arr, [key, value]) => value === 'on' ? [...arr, key] : arr, [] as unknown[])\n if (on.length === 0) return original\n }\n\n return selected\n },\n in: (v, children, parents) => {\n let map = new Map()\n\n for (const id of (v || [])) {\n map = strategy.select({\n id,\n value: true,\n selected: new Map(map),\n children,\n parents,\n })\n }\n\n return map\n },\n out: (v, children) => {\n const arr = []\n\n for (const [key, value] of v.entries()) {\n if (value === 'on' && !children.has(key)) arr.push(key)\n }\n\n return arr\n },\n }\n\n return strategy\n}\n"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  // Utilities
2
- import { computed, ref, watch } from 'vue';
2
+ import { computed, ref, toRaw, watch } from 'vue';
3
3
  import { getCurrentInstance, toKebabCase } from "../util/index.mjs";
4
4
  import { useToggleScope } from "./toggleScope.mjs"; // Types
5
5
  // Composables
@@ -11,13 +11,11 @@ export function useProxiedModel(props, prop, defaultValue) {
11
11
  const kebabProp = toKebabCase(prop);
12
12
  const checkKebab = kebabProp !== prop;
13
13
  const isControlled = checkKebab ? computed(() => {
14
- var _vm$vnode$props, _vm$vnode$props2, _vm$vnode$props3, _vm$vnode$props4;
15
14
  void props[prop];
16
- return !!(((_vm$vnode$props = vm.vnode.props) != null && _vm$vnode$props.hasOwnProperty(prop) || (_vm$vnode$props2 = vm.vnode.props) != null && _vm$vnode$props2.hasOwnProperty(kebabProp)) && ((_vm$vnode$props3 = vm.vnode.props) != null && _vm$vnode$props3.hasOwnProperty(`onUpdate:${prop}`) || (_vm$vnode$props4 = vm.vnode.props) != null && _vm$vnode$props4.hasOwnProperty(`onUpdate:${kebabProp}`)));
15
+ return !!((vm.vnode.props?.hasOwnProperty(prop) || vm.vnode.props?.hasOwnProperty(kebabProp)) && (vm.vnode.props?.hasOwnProperty(`onUpdate:${prop}`) || vm.vnode.props?.hasOwnProperty(`onUpdate:${kebabProp}`)));
17
16
  }) : computed(() => {
18
- var _vm$vnode$props5, _vm$vnode$props6;
19
17
  void props[prop];
20
- return !!((_vm$vnode$props5 = vm.vnode.props) != null && _vm$vnode$props5.hasOwnProperty(prop) && (_vm$vnode$props6 = vm.vnode.props) != null && _vm$vnode$props6.hasOwnProperty(`onUpdate:${prop}`));
18
+ return !!(vm.vnode.props?.hasOwnProperty(prop) && vm.vnode.props?.hasOwnProperty(`onUpdate:${prop}`));
21
19
  });
22
20
  useToggleScope(() => !isControlled.value, () => {
23
21
  watch(() => props[prop], val => {
@@ -26,15 +24,16 @@ export function useProxiedModel(props, prop, defaultValue) {
26
24
  });
27
25
  const model = computed({
28
26
  get() {
29
- return transformIn(isControlled.value ? props[prop] : internal.value);
27
+ return transformIn(toRaw(isControlled.value ? props[prop] : internal.value));
30
28
  },
31
- set(value) {
32
- const newValue = transformOut(value);
33
- if ((isControlled.value ? props[prop] : internal.value) === newValue || transformIn(isControlled.value ? props[prop] : internal.value) === value) {
29
+ set(internalValue) {
30
+ const newValue = transformOut(internalValue);
31
+ const value = toRaw(isControlled.value ? props[prop] : internal.value);
32
+ if (value === newValue || transformIn(value) === internalValue) {
34
33
  return;
35
34
  }
36
35
  internal.value = newValue;
37
- vm == null ? void 0 : vm.emit(`update:${prop}`, newValue);
36
+ vm?.emit(`update:${prop}`, newValue);
38
37
  }
39
38
  });
40
39
  Object.defineProperty(model, 'externalValue', {
@@ -1 +1 @@
1
- {"version":3,"file":"proxiedModel.mjs","names":["computed","ref","watch","getCurrentInstance","toKebabCase","useToggleScope","useProxiedModel","props","prop","defaultValue","transformIn","v","transformOut","vm","internal","undefined","kebabProp","checkKebab","isControlled","vnode","hasOwnProperty","value","val","model","get","set","newValue","emit","Object","defineProperty"],"sources":["../../src/composables/proxiedModel.ts"],"sourcesContent":["// Utilities\nimport { computed, ref, watch } from 'vue'\nimport { getCurrentInstance, toKebabCase } from '@/util'\nimport { useToggleScope } from '@/composables/toggleScope'\n\n// Types\nimport type { Ref } from 'vue'\n\ntype InnerVal<T> = T extends any[] ? Readonly<T> : T\n\n// Composables\nexport function useProxiedModel<\n Props extends object & { [key in Prop as `onUpdate:${Prop}`]: ((val: any) => void) | undefined },\n Prop extends Extract<keyof Props, string>,\n Inner = Props[Prop],\n> (\n props: Props,\n prop: Prop,\n defaultValue?: Props[Prop],\n transformIn: (value?: Props[Prop]) => Inner = (v: any) => v,\n transformOut: (value: Inner) => Props[Prop] = (v: any) => v,\n) {\n const vm = getCurrentInstance('useProxiedModel')\n const internal = ref(props[prop] !== undefined ? props[prop] : defaultValue) as Ref<Props[Prop]>\n const kebabProp = toKebabCase(prop)\n const checkKebab = kebabProp !== prop\n\n const isControlled = checkKebab\n ? computed(() => {\n void props[prop]\n return !!(\n (vm.vnode.props?.hasOwnProperty(prop) || vm.vnode.props?.hasOwnProperty(kebabProp)) &&\n (vm.vnode.props?.hasOwnProperty(`onUpdate:${prop}`) || vm.vnode.props?.hasOwnProperty(`onUpdate:${kebabProp}`))\n )\n })\n : computed(() => {\n void props[prop]\n return !!(vm.vnode.props?.hasOwnProperty(prop) && vm.vnode.props?.hasOwnProperty(`onUpdate:${prop}`))\n })\n\n useToggleScope(() => !isControlled.value, () => {\n watch(() => props[prop], val => {\n internal.value = val\n })\n })\n\n const model = computed({\n get (): any {\n return transformIn(isControlled.value ? props[prop] : internal.value)\n },\n set (value) {\n const newValue = transformOut(value)\n if (\n (isControlled.value ? props[prop] : internal.value) === newValue ||\n transformIn(isControlled.value ? props[prop] : internal.value) === value\n ) {\n return\n }\n internal.value = newValue\n vm?.emit(`update:${prop}`, newValue)\n },\n }) as any as Ref<InnerVal<Inner>> & { readonly externalValue: Props[Prop] }\n\n Object.defineProperty(model, 'externalValue', {\n get: () => isControlled.value ? props[prop] : internal.value,\n })\n\n return model\n}\n"],"mappings":"AAAA;AACA,SAASA,QAAQ,EAAEC,GAAG,EAAEC,KAAK,QAAQ,KAAK;AAAA,SACjCC,kBAAkB,EAAEC,WAAW;AAAA,SAC/BC,cAAc,6BAEvB;AAKA;AACA,OAAO,SAASC,eAAe,CAK7BC,KAAY,EACZC,IAAU,EACVC,YAA0B,EAG1B;EAAA,IAFAC,WAA2C,uEAAIC,CAAM,IAAKA,CAAC;EAAA,IAC3DC,YAA2C,uEAAID,CAAM,IAAKA,CAAC;EAE3D,MAAME,EAAE,GAAGV,kBAAkB,CAAC,iBAAiB,CAAC;EAChD,MAAMW,QAAQ,GAAGb,GAAG,CAACM,KAAK,CAACC,IAAI,CAAC,KAAKO,SAAS,GAAGR,KAAK,CAACC,IAAI,CAAC,GAAGC,YAAY,CAAqB;EAChG,MAAMO,SAAS,GAAGZ,WAAW,CAACI,IAAI,CAAC;EACnC,MAAMS,UAAU,GAAGD,SAAS,KAAKR,IAAI;EAErC,MAAMU,YAAY,GAAGD,UAAU,GAC3BjB,QAAQ,CAAC,MAAM;IAAA;IACf,KAAKO,KAAK,CAACC,IAAI,CAAC;IAChB,OAAO,CAAC,EACN,CAAC,mBAAAK,EAAE,CAACM,KAAK,CAACZ,KAAK,aAAd,gBAAgBa,cAAc,CAACZ,IAAI,CAAC,wBAAIK,EAAE,CAACM,KAAK,CAACZ,KAAK,aAAd,iBAAgBa,cAAc,CAACJ,SAAS,CAAC,MACjF,oBAAAH,EAAE,CAACM,KAAK,CAACZ,KAAK,aAAd,iBAAgBa,cAAc,CAAE,YAAWZ,IAAK,EAAC,CAAC,wBAAIK,EAAE,CAACM,KAAK,CAACZ,KAAK,aAAd,iBAAgBa,cAAc,CAAE,YAAWJ,SAAU,EAAC,CAAC,CAAC,CAChH;EACH,CAAC,CAAC,GACAhB,QAAQ,CAAC,MAAM;IAAA;IACf,KAAKO,KAAK,CAACC,IAAI,CAAC;IAChB,OAAO,CAAC,EAAE,oBAAAK,EAAE,CAACM,KAAK,CAACZ,KAAK,aAAd,iBAAgBa,cAAc,CAACZ,IAAI,CAAC,wBAAIK,EAAE,CAACM,KAAK,CAACZ,KAAK,aAAd,iBAAgBa,cAAc,CAAE,YAAWZ,IAAK,EAAC,CAAC,CAAC;EACvG,CAAC,CAAC;EAEJH,cAAc,CAAC,MAAM,CAACa,YAAY,CAACG,KAAK,EAAE,MAAM;IAC9CnB,KAAK,CAAC,MAAMK,KAAK,CAACC,IAAI,CAAC,EAAEc,GAAG,IAAI;MAC9BR,QAAQ,CAACO,KAAK,GAAGC,GAAG;IACtB,CAAC,CAAC;EACJ,CAAC,CAAC;EAEF,MAAMC,KAAK,GAAGvB,QAAQ,CAAC;IACrBwB,GAAG,GAAS;MACV,OAAOd,WAAW,CAACQ,YAAY,CAACG,KAAK,GAAGd,KAAK,CAACC,IAAI,CAAC,GAAGM,QAAQ,CAACO,KAAK,CAAC;IACvE,CAAC;IACDI,GAAG,CAAEJ,KAAK,EAAE;MACV,MAAMK,QAAQ,GAAGd,YAAY,CAACS,KAAK,CAAC;MACpC,IACE,CAACH,YAAY,CAACG,KAAK,GAAGd,KAAK,CAACC,IAAI,CAAC,GAAGM,QAAQ,CAACO,KAAK,MAAMK,QAAQ,IAChEhB,WAAW,CAACQ,YAAY,CAACG,KAAK,GAAGd,KAAK,CAACC,IAAI,CAAC,GAAGM,QAAQ,CAACO,KAAK,CAAC,KAAKA,KAAK,EACxE;QACA;MACF;MACAP,QAAQ,CAACO,KAAK,GAAGK,QAAQ;MACzBb,EAAE,oBAAFA,EAAE,CAAEc,IAAI,CAAE,UAASnB,IAAK,EAAC,EAAEkB,QAAQ,CAAC;IACtC;EACF,CAAC,CAA0E;EAE3EE,MAAM,CAACC,cAAc,CAACN,KAAK,EAAE,eAAe,EAAE;IAC5CC,GAAG,EAAE,MAAMN,YAAY,CAACG,KAAK,GAAGd,KAAK,CAACC,IAAI,CAAC,GAAGM,QAAQ,CAACO;EACzD,CAAC,CAAC;EAEF,OAAOE,KAAK;AACd"}
1
+ {"version":3,"file":"proxiedModel.mjs","names":["computed","ref","toRaw","watch","getCurrentInstance","toKebabCase","useToggleScope","useProxiedModel","props","prop","defaultValue","transformIn","v","transformOut","vm","internal","undefined","kebabProp","checkKebab","isControlled","vnode","hasOwnProperty","value","val","model","get","set","internalValue","newValue","emit","Object","defineProperty"],"sources":["../../src/composables/proxiedModel.ts"],"sourcesContent":["// Utilities\nimport { computed, ref, toRaw, watch } from 'vue'\nimport { getCurrentInstance, toKebabCase } from '@/util'\nimport { useToggleScope } from '@/composables/toggleScope'\n\n// Types\nimport type { Ref } from 'vue'\n\ntype InnerVal<T> = T extends any[] ? Readonly<T> : T\n\n// Composables\nexport function useProxiedModel<\n Props extends object & { [key in Prop as `onUpdate:${Prop}`]: ((val: any) => void) | undefined },\n Prop extends Extract<keyof Props, string>,\n Inner = Props[Prop],\n> (\n props: Props,\n prop: Prop,\n defaultValue?: Props[Prop],\n transformIn: (value?: Props[Prop]) => Inner = (v: any) => v,\n transformOut: (value: Inner) => Props[Prop] = (v: any) => v,\n) {\n const vm = getCurrentInstance('useProxiedModel')\n const internal = ref(props[prop] !== undefined ? props[prop] : defaultValue) as Ref<Props[Prop]>\n const kebabProp = toKebabCase(prop)\n const checkKebab = kebabProp !== prop\n\n const isControlled = checkKebab\n ? computed(() => {\n void props[prop]\n return !!(\n (vm.vnode.props?.hasOwnProperty(prop) || vm.vnode.props?.hasOwnProperty(kebabProp)) &&\n (vm.vnode.props?.hasOwnProperty(`onUpdate:${prop}`) || vm.vnode.props?.hasOwnProperty(`onUpdate:${kebabProp}`))\n )\n })\n : computed(() => {\n void props[prop]\n return !!(vm.vnode.props?.hasOwnProperty(prop) && vm.vnode.props?.hasOwnProperty(`onUpdate:${prop}`))\n })\n\n useToggleScope(() => !isControlled.value, () => {\n watch(() => props[prop], val => {\n internal.value = val\n })\n })\n\n const model = computed({\n get (): any {\n return transformIn(toRaw(isControlled.value ? props[prop] : internal.value))\n },\n set (internalValue) {\n const newValue = transformOut(internalValue)\n const value = toRaw(isControlled.value ? props[prop] : internal.value)\n if (value === newValue || transformIn(value) === internalValue) {\n return\n }\n internal.value = newValue\n vm?.emit(`update:${prop}`, newValue)\n },\n }) as any as Ref<InnerVal<Inner>> & { readonly externalValue: Props[Prop] }\n\n Object.defineProperty(model, 'externalValue', {\n get: () => isControlled.value ? props[prop] : internal.value,\n })\n\n return model\n}\n"],"mappings":"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"}
@@ -7,7 +7,7 @@ export function useResizeObserver(callback) {
7
7
  const contentRect = ref();
8
8
  if (IN_BROWSER) {
9
9
  const observer = new ResizeObserver(entries => {
10
- callback == null ? void 0 : callback(entries, observer);
10
+ callback?.(entries, observer);
11
11
  if (!entries.length) return;
12
12
  contentRect.value = entries[0].contentRect;
13
13
  });
@@ -1 +1 @@
1
- {"version":3,"file":"resizeObserver.mjs","names":["onBeforeUnmount","readonly","ref","watch","IN_BROWSER","useResizeObserver","callback","resizeRef","contentRect","observer","ResizeObserver","entries","length","value","disconnect","newValue","oldValue","unobserve","undefined","observe","flush"],"sources":["../../src/composables/resizeObserver.ts"],"sourcesContent":["// Utilities\nimport { onBeforeUnmount, readonly, ref, watch } from 'vue'\nimport type { DeepReadonly, Ref } from 'vue'\n\n// Globals\nimport { IN_BROWSER } from '@/util/globals'\n\ninterface ResizeState {\n resizeRef: Ref<Element | undefined>\n contentRect: DeepReadonly<Ref<DOMRectReadOnly | undefined>>\n}\n\nexport function useResizeObserver (callback?: ResizeObserverCallback): ResizeState {\n const resizeRef = ref<Element>()\n const contentRect = ref<DOMRectReadOnly>()\n\n if (IN_BROWSER) {\n const observer = new ResizeObserver((entries: ResizeObserverEntry[]) => {\n callback?.(entries, observer)\n\n if (!entries.length) return\n\n contentRect.value = entries[0].contentRect\n })\n\n onBeforeUnmount(() => {\n observer.disconnect()\n })\n\n watch(resizeRef, (newValue, oldValue) => {\n if (oldValue) {\n observer.unobserve(oldValue)\n contentRect.value = undefined\n }\n\n if (newValue) observer.observe(newValue)\n }, {\n flush: 'post',\n })\n }\n\n return {\n resizeRef,\n contentRect: readonly(contentRect),\n }\n}\n"],"mappings":"AAAA;AACA,SAASA,eAAe,EAAEC,QAAQ,EAAEC,GAAG,EAAEC,KAAK,QAAQ,KAAK;AAG3D;AAAA,SACSC,UAAU;AAOnB,OAAO,SAASC,iBAAiB,CAAEC,QAAiC,EAAe;EACjF,MAAMC,SAAS,GAAGL,GAAG,EAAW;EAChC,MAAMM,WAAW,GAAGN,GAAG,EAAmB;EAE1C,IAAIE,UAAU,EAAE;IACd,MAAMK,QAAQ,GAAG,IAAIC,cAAc,CAAEC,OAA8B,IAAK;MACtEL,QAAQ,oBAARA,QAAQ,CAAGK,OAAO,EAAEF,QAAQ,CAAC;MAE7B,IAAI,CAACE,OAAO,CAACC,MAAM,EAAE;MAErBJ,WAAW,CAACK,KAAK,GAAGF,OAAO,CAAC,CAAC,CAAC,CAACH,WAAW;IAC5C,CAAC,CAAC;IAEFR,eAAe,CAAC,MAAM;MACpBS,QAAQ,CAACK,UAAU,EAAE;IACvB,CAAC,CAAC;IAEFX,KAAK,CAACI,SAAS,EAAE,CAACQ,QAAQ,EAAEC,QAAQ,KAAK;MACvC,IAAIA,QAAQ,EAAE;QACZP,QAAQ,CAACQ,SAAS,CAACD,QAAQ,CAAC;QAC5BR,WAAW,CAACK,KAAK,GAAGK,SAAS;MAC/B;MAEA,IAAIH,QAAQ,EAAEN,QAAQ,CAACU,OAAO,CAACJ,QAAQ,CAAC;IAC1C,CAAC,EAAE;MACDK,KAAK,EAAE;IACT,CAAC,CAAC;EACJ;EAEA,OAAO;IACLb,SAAS;IACTC,WAAW,EAAEP,QAAQ,CAACO,WAAW;EACnC,CAAC;AACH"}
1
+ {"version":3,"file":"resizeObserver.mjs","names":["onBeforeUnmount","readonly","ref","watch","IN_BROWSER","useResizeObserver","callback","resizeRef","contentRect","observer","ResizeObserver","entries","length","value","disconnect","newValue","oldValue","unobserve","undefined","observe","flush"],"sources":["../../src/composables/resizeObserver.ts"],"sourcesContent":["// Utilities\nimport { onBeforeUnmount, readonly, ref, watch } from 'vue'\nimport type { DeepReadonly, Ref } from 'vue'\n\n// Globals\nimport { IN_BROWSER } from '@/util/globals'\n\ninterface ResizeState {\n resizeRef: Ref<Element | undefined>\n contentRect: DeepReadonly<Ref<DOMRectReadOnly | undefined>>\n}\n\nexport function useResizeObserver (callback?: ResizeObserverCallback): ResizeState {\n const resizeRef = ref<Element>()\n const contentRect = ref<DOMRectReadOnly>()\n\n if (IN_BROWSER) {\n const observer = new ResizeObserver((entries: ResizeObserverEntry[]) => {\n callback?.(entries, observer)\n\n if (!entries.length) return\n\n contentRect.value = entries[0].contentRect\n })\n\n onBeforeUnmount(() => {\n observer.disconnect()\n })\n\n watch(resizeRef, (newValue, oldValue) => {\n if (oldValue) {\n observer.unobserve(oldValue)\n contentRect.value = undefined\n }\n\n if (newValue) observer.observe(newValue)\n }, {\n flush: 'post',\n })\n }\n\n return {\n resizeRef,\n contentRect: readonly(contentRect),\n }\n}\n"],"mappings":"AAAA;AACA,SAASA,eAAe,EAAEC,QAAQ,EAAEC,GAAG,EAAEC,KAAK,QAAQ,KAAK;AAG3D;AAAA,SACSC,UAAU;AAOnB,OAAO,SAASC,iBAAiB,CAAEC,QAAiC,EAAe;EACjF,MAAMC,SAAS,GAAGL,GAAG,EAAW;EAChC,MAAMM,WAAW,GAAGN,GAAG,EAAmB;EAE1C,IAAIE,UAAU,EAAE;IACd,MAAMK,QAAQ,GAAG,IAAIC,cAAc,CAAEC,OAA8B,IAAK;MACtEL,QAAQ,GAAGK,OAAO,EAAEF,QAAQ,CAAC;MAE7B,IAAI,CAACE,OAAO,CAACC,MAAM,EAAE;MAErBJ,WAAW,CAACK,KAAK,GAAGF,OAAO,CAAC,CAAC,CAAC,CAACH,WAAW;IAC5C,CAAC,CAAC;IAEFR,eAAe,CAAC,MAAM;MACpBS,QAAQ,CAACK,UAAU,EAAE;IACvB,CAAC,CAAC;IAEFX,KAAK,CAACI,SAAS,EAAE,CAACQ,QAAQ,EAAEC,QAAQ,KAAK;MACvC,IAAIA,QAAQ,EAAE;QACZP,QAAQ,CAACQ,SAAS,CAACD,QAAQ,CAAC;QAC5BR,WAAW,CAACK,KAAK,GAAGK,SAAS;MAC/B;MAEA,IAAIH,QAAQ,EAAEN,QAAQ,CAACU,OAAO,CAACJ,QAAQ,CAAC;IAC1C,CAAC,EAAE;MACDK,KAAK,EAAE;IACT,CAAC,CAAC;EACJ;EAEA,OAAO;IACLb,SAAS;IACTC,WAAW,EAAEP,QAAQ,CAACO,WAAW;EACnC,CAAC;AACH"}
@@ -6,20 +6,16 @@ import { computed, nextTick, onScopeDispose, resolveDynamicComponent, toRef } fr
6
6
 
7
7
  export function useRoute() {
8
8
  const vm = getCurrentInstance('useRoute');
9
- return computed(() => {
10
- var _vm$proxy;
11
- return vm == null ? void 0 : (_vm$proxy = vm.proxy) == null ? void 0 : _vm$proxy.$route;
12
- });
9
+ return computed(() => vm?.proxy?.$route);
13
10
  }
14
11
  export function useRouter() {
15
- var _getCurrentInstance, _getCurrentInstance$p;
16
- return (_getCurrentInstance = getCurrentInstance('useRouter')) == null ? void 0 : (_getCurrentInstance$p = _getCurrentInstance.proxy) == null ? void 0 : _getCurrentInstance$p.$router;
12
+ return getCurrentInstance('useRouter')?.proxy?.$router;
17
13
  }
18
14
  export function useLink(props, attrs) {
19
15
  const RouterLink = resolveDynamicComponent('RouterLink');
20
16
  const isLink = computed(() => !!(props.href || props.to));
21
17
  const isClickable = computed(() => {
22
- return (isLink == null ? void 0 : isLink.value) || hasEvent(attrs, 'click') || hasEvent(props, 'click');
18
+ return isLink?.value || hasEvent(attrs, 'click') || hasEvent(props, 'click');
23
19
  });
24
20
  if (typeof RouterLink === 'string') {
25
21
  return {
@@ -32,13 +28,10 @@ export function useLink(props, attrs) {
32
28
  return {
33
29
  isLink,
34
30
  isClickable,
35
- route: link == null ? void 0 : link.route,
36
- navigate: link == null ? void 0 : link.navigate,
37
- isActive: link && computed(() => {
38
- var _link$isExactActive, _link$isActive;
39
- return props.exact ? (_link$isExactActive = link.isExactActive) == null ? void 0 : _link$isExactActive.value : (_link$isActive = link.isActive) == null ? void 0 : _link$isActive.value;
40
- }),
41
- href: computed(() => props.to ? link == null ? void 0 : link.route.value.href : props.href)
31
+ route: link?.route,
32
+ navigate: link?.navigate,
33
+ isActive: link && computed(() => props.exact ? link.isExactActive?.value : link.isActive?.value),
34
+ href: computed(() => props.to ? link?.route.value.href : props.href)
42
35
  };
43
36
  }
44
37
  export const makeRouterProps = propsFactory({
@@ -55,7 +48,7 @@ export function useBackButton(router, cb) {
55
48
  if (IN_BROWSER) {
56
49
  nextTick(() => {
57
50
  window.addEventListener('popstate', onPopstate);
58
- removeBefore = router == null ? void 0 : router.beforeEach((to, from, next) => {
51
+ removeBefore = router?.beforeEach((to, from, next) => {
59
52
  if (!inTransition) {
60
53
  setTimeout(() => popped ? cb(next) : next());
61
54
  } else {
@@ -63,20 +56,18 @@ export function useBackButton(router, cb) {
63
56
  }
64
57
  inTransition = true;
65
58
  });
66
- removeAfter = router == null ? void 0 : router.afterEach(() => {
59
+ removeAfter = router?.afterEach(() => {
67
60
  inTransition = false;
68
61
  });
69
62
  });
70
63
  onScopeDispose(() => {
71
- var _removeBefore, _removeAfter;
72
64
  window.removeEventListener('popstate', onPopstate);
73
- (_removeBefore = removeBefore) == null ? void 0 : _removeBefore();
74
- (_removeAfter = removeAfter) == null ? void 0 : _removeAfter();
65
+ removeBefore?.();
66
+ removeAfter?.();
75
67
  });
76
68
  }
77
69
  function onPopstate(e) {
78
- var _e$state;
79
- if ((_e$state = e.state) != null && _e$state.replaced) return;
70
+ if (e.state?.replaced) return;
80
71
  popped = true;
81
72
  setTimeout(() => popped = false);
82
73
  }
@@ -1 +1 @@
1
- {"version":3,"file":"router.mjs","names":["getCurrentInstance","hasEvent","IN_BROWSER","propsFactory","computed","nextTick","onScopeDispose","resolveDynamicComponent","toRef","useRoute","vm","proxy","$route","useRouter","$router","useLink","props","attrs","RouterLink","isLink","href","to","isClickable","value","link","undefined","route","navigate","isActive","exact","isExactActive","makeRouterProps","String","replace","Boolean","Object","inTransition","useBackButton","router","cb","popped","removeBefore","removeAfter","window","addEventListener","onPopstate","beforeEach","from","next","setTimeout","afterEach","removeEventListener","e","state","replaced"],"sources":["../../src/composables/router.tsx"],"sourcesContent":["// Utilities\nimport { getCurrentInstance, hasEvent, IN_BROWSER, propsFactory } from '@/util'\nimport {\n computed,\n nextTick,\n onScopeDispose,\n resolveDynamicComponent,\n toRef,\n} from 'vue'\n\n// Types\nimport type { ComputedRef, PropType, Ref, SetupContext } from 'vue'\nimport type {\n RouterLink as _RouterLink,\n useLink as _useLink,\n NavigationGuardNext,\n RouteLocationNormalizedLoaded,\n RouteLocationRaw,\n Router,\n UseLinkOptions,\n} from 'vue-router'\nimport type { EventProp } from '@/util'\n\nexport function useRoute (): Ref<RouteLocationNormalizedLoaded | undefined> {\n const vm = getCurrentInstance('useRoute')\n\n return computed(() => vm?.proxy?.$route)\n}\n\nexport function useRouter (): Router | undefined {\n return getCurrentInstance('useRouter')?.proxy?.$router\n}\n\nexport interface LinkProps {\n href: string | undefined\n replace: boolean | undefined\n to: RouteLocationRaw | undefined\n exact: boolean | undefined\n}\n\nexport interface LinkListeners {\n onClick?: EventProp | undefined\n onClickOnce?: EventProp | undefined\n}\n\nexport interface UseLink extends Omit<Partial<ReturnType<typeof _useLink>>, 'href'> {\n isLink: ComputedRef<boolean>\n isClickable: ComputedRef<boolean>\n href: Ref<string | undefined>\n}\n\nexport function useLink (props: LinkProps & LinkListeners, attrs: SetupContext['attrs']): UseLink {\n const RouterLink = resolveDynamicComponent('RouterLink') as typeof _RouterLink | string\n\n const isLink = computed(() => !!(props.href || props.to))\n const isClickable = computed(() => {\n return isLink?.value || hasEvent(attrs, 'click') || hasEvent(props, 'click')\n })\n\n if (typeof RouterLink === 'string') {\n return {\n isLink,\n isClickable,\n href: toRef(props, 'href'),\n }\n }\n\n const link = props.to ? RouterLink.useLink(props as UseLinkOptions) : undefined\n\n return {\n isLink,\n isClickable,\n route: link?.route,\n navigate: link?.navigate,\n isActive: link && computed(() => props.exact ? link.isExactActive?.value : link.isActive?.value),\n href: computed(() => props.to ? link?.route.value.href : props.href),\n }\n}\n\nexport const makeRouterProps = propsFactory({\n href: String,\n replace: Boolean,\n to: [String, Object] as PropType<RouteLocationRaw>,\n exact: Boolean,\n}, 'router')\n\nlet inTransition = false\nexport function useBackButton (router: Router | undefined, cb: (next: NavigationGuardNext) => void) {\n let popped = false\n let removeBefore: (() => void) | undefined\n let removeAfter: (() => void) | undefined\n\n if (IN_BROWSER) {\n nextTick(() => {\n window.addEventListener('popstate', onPopstate)\n removeBefore = router?.beforeEach((to, from, next) => {\n if (!inTransition) {\n setTimeout(() => popped ? cb(next) : next())\n } else {\n popped ? cb(next) : next()\n }\n inTransition = true\n })\n removeAfter = router?.afterEach(() => {\n inTransition = false\n })\n })\n onScopeDispose(() => {\n window.removeEventListener('popstate', onPopstate)\n removeBefore?.()\n removeAfter?.()\n })\n }\n\n function onPopstate (e: PopStateEvent) {\n if (e.state?.replaced) return\n\n popped = true\n setTimeout(() => (popped = false))\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"router.mjs","names":["getCurrentInstance","hasEvent","IN_BROWSER","propsFactory","computed","nextTick","onScopeDispose","resolveDynamicComponent","toRef","useRoute","vm","proxy","$route","useRouter","$router","useLink","props","attrs","RouterLink","isLink","href","to","isClickable","value","link","undefined","route","navigate","isActive","exact","isExactActive","makeRouterProps","String","replace","Boolean","Object","inTransition","useBackButton","router","cb","popped","removeBefore","removeAfter","window","addEventListener","onPopstate","beforeEach","from","next","setTimeout","afterEach","removeEventListener","e","state","replaced"],"sources":["../../src/composables/router.tsx"],"sourcesContent":["// Utilities\nimport { getCurrentInstance, hasEvent, IN_BROWSER, propsFactory } from '@/util'\nimport {\n computed,\n nextTick,\n onScopeDispose,\n resolveDynamicComponent,\n toRef,\n} from 'vue'\n\n// Types\nimport type { ComputedRef, PropType, Ref, SetupContext } from 'vue'\nimport type {\n RouterLink as _RouterLink,\n useLink as _useLink,\n NavigationGuardNext,\n RouteLocationNormalizedLoaded,\n RouteLocationRaw,\n Router,\n UseLinkOptions,\n} from 'vue-router'\nimport type { EventProp } from '@/util'\n\nexport function useRoute (): Ref<RouteLocationNormalizedLoaded | undefined> {\n const vm = getCurrentInstance('useRoute')\n\n return computed(() => vm?.proxy?.$route)\n}\n\nexport function useRouter (): Router | undefined {\n return getCurrentInstance('useRouter')?.proxy?.$router\n}\n\nexport interface LinkProps {\n href: string | undefined\n replace: boolean | undefined\n to: RouteLocationRaw | undefined\n exact: boolean | undefined\n}\n\nexport interface LinkListeners {\n onClick?: EventProp | undefined\n onClickOnce?: EventProp | undefined\n}\n\nexport interface UseLink extends Omit<Partial<ReturnType<typeof _useLink>>, 'href'> {\n isLink: ComputedRef<boolean>\n isClickable: ComputedRef<boolean>\n href: Ref<string | undefined>\n}\n\nexport function useLink (props: LinkProps & LinkListeners, attrs: SetupContext['attrs']): UseLink {\n const RouterLink = resolveDynamicComponent('RouterLink') as typeof _RouterLink | string\n\n const isLink = computed(() => !!(props.href || props.to))\n const isClickable = computed(() => {\n return isLink?.value || hasEvent(attrs, 'click') || hasEvent(props, 'click')\n })\n\n if (typeof RouterLink === 'string') {\n return {\n isLink,\n isClickable,\n href: toRef(props, 'href'),\n }\n }\n\n const link = props.to ? RouterLink.useLink(props as UseLinkOptions) : undefined\n\n return {\n isLink,\n isClickable,\n route: link?.route,\n navigate: link?.navigate,\n isActive: link && computed(() => props.exact ? link.isExactActive?.value : link.isActive?.value),\n href: computed(() => props.to ? link?.route.value.href : props.href),\n }\n}\n\nexport const makeRouterProps = propsFactory({\n href: String,\n replace: Boolean,\n to: [String, Object] as PropType<RouteLocationRaw>,\n exact: Boolean,\n}, 'router')\n\nlet inTransition = false\nexport function useBackButton (router: Router | undefined, cb: (next: NavigationGuardNext) => void) {\n let popped = false\n let removeBefore: (() => void) | undefined\n let removeAfter: (() => void) | undefined\n\n if (IN_BROWSER) {\n nextTick(() => {\n window.addEventListener('popstate', onPopstate)\n removeBefore = router?.beforeEach((to, from, next) => {\n if (!inTransition) {\n setTimeout(() => popped ? cb(next) : next())\n } else {\n popped ? cb(next) : next()\n }\n inTransition = true\n })\n removeAfter = router?.afterEach(() => {\n inTransition = false\n })\n })\n onScopeDispose(() => {\n window.removeEventListener('popstate', onPopstate)\n removeBefore?.()\n removeAfter?.()\n })\n }\n\n function onPopstate (e: PopStateEvent) {\n if (e.state?.replaced) return\n\n popped = true\n setTimeout(() => (popped = false))\n }\n}\n"],"mappings":"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"}
@@ -43,14 +43,13 @@ export function useScroll(props) {
43
43
  });
44
44
  onMounted(() => {
45
45
  watch(() => props.scrollTarget, scrollTarget => {
46
- var _target$value;
47
46
  const newTarget = scrollTarget ? document.querySelector(scrollTarget) : window;
48
47
  if (!newTarget) {
49
48
  consoleWarn(`Unable to locate element with identifier ${scrollTarget}`, getCurrentInstance());
50
49
  return;
51
50
  }
52
51
  if (newTarget === target.value) return;
53
- (_target$value = target.value) == null ? void 0 : _target$value.removeEventListener('scroll', onScroll);
52
+ target.value?.removeEventListener('scroll', onScroll);
54
53
  target.value = newTarget;
55
54
  target.value.addEventListener('scroll', onScroll, {
56
55
  passive: true
@@ -60,8 +59,7 @@ export function useScroll(props) {
60
59
  });
61
60
  });
62
61
  onBeforeUnmount(() => {
63
- var _target$value2;
64
- (_target$value2 = target.value) == null ? void 0 : _target$value2.removeEventListener('scroll', onScroll);
62
+ target.value?.removeEventListener('scroll', onScroll);
65
63
  });
66
64
  thresholdMetCallback && watch(() => Math.abs(currentScroll.value - savedScroll.value) > computedScrollThreshold.value, thresholdMet => {
67
65
  thresholdMet && thresholdMetCallback({
@@ -1 +1 @@
1
- {"version":3,"file":"scroll.mjs","names":["computed","getCurrentInstance","onBeforeUnmount","onMounted","ref","watch","consoleWarn","propsFactory","makeScrollProps","scrollTarget","type","String","scrollThreshold","Number","useScroll","props","args","thresholdMetCallback","canScroll","previousScroll","target","currentScroll","savedScroll","currentThreshold","isScrollActive","isScrollingUp","computedScrollThreshold","onScroll","targetEl","value","pageYOffset","scrollTop","Math","abs","newTarget","document","querySelector","window","removeEventListener","addEventListener","passive","immediate","thresholdMet"],"sources":["../../src/composables/scroll.ts"],"sourcesContent":["// Utilities\nimport {\n computed,\n getCurrentInstance,\n onBeforeUnmount,\n onMounted,\n ref,\n watch,\n} from 'vue'\nimport { consoleWarn, propsFactory } from '@/util'\n\n// Types\nimport type { Ref } from 'vue'\n\nexport interface ScrollProps {\n scrollTarget?: string\n scrollThreshold?: string | number\n}\n\nexport interface ThresholdMetCallbackData {\n isScrollingUp: boolean\n currentThreshold: number\n savedScroll: Ref<number>\n}\n\n// Composables\nexport const makeScrollProps = propsFactory({\n scrollTarget: {\n type: String,\n },\n scrollThreshold: {\n type: [String, Number],\n },\n}, 'scroll')\n\nexport interface ScrollArguments {\n thresholdMetCallback?: (data: ThresholdMetCallbackData) => void\n scrollThreshold?: Readonly<Ref<number>>\n canScroll?: Readonly<Ref<boolean>>\n}\n\nexport function useScroll (\n props: ScrollProps,\n args: ScrollArguments = {},\n) {\n const { thresholdMetCallback, scrollThreshold, canScroll } = args\n let previousScroll = 0\n const target = ref<Element | Window | null>(null)\n const currentScroll = ref(0)\n const savedScroll = ref(0)\n const currentThreshold = ref(0)\n const isScrollActive = ref(false)\n const isScrollingUp = ref(false)\n\n const computedScrollThreshold = computed(() => {\n return Number(props.scrollThreshold ?? scrollThreshold ?? 300)\n })\n\n const onScroll = () => {\n const targetEl = target.value\n\n if (!targetEl || (canScroll && !canScroll.value)) return\n\n previousScroll = currentScroll.value\n currentScroll.value = ('window' in targetEl) ? targetEl.pageYOffset : targetEl.scrollTop\n\n isScrollingUp.value = currentScroll.value < previousScroll\n currentThreshold.value = Math.abs(currentScroll.value - computedScrollThreshold.value)\n }\n\n watch(isScrollingUp, () => {\n savedScroll.value = savedScroll.value || currentScroll.value\n })\n\n watch(isScrollActive, () => {\n savedScroll.value = 0\n })\n\n onMounted(() => {\n watch(() => props.scrollTarget, scrollTarget => {\n const newTarget = scrollTarget ? document.querySelector(scrollTarget) : window\n\n if (!newTarget) {\n consoleWarn(`Unable to locate element with identifier ${scrollTarget}`, getCurrentInstance())\n return\n }\n\n if (newTarget === target.value) return\n\n target.value?.removeEventListener('scroll', onScroll)\n target.value = newTarget\n target.value.addEventListener('scroll', onScroll, { passive: true })\n }, { immediate: true })\n })\n\n onBeforeUnmount(() => {\n target.value?.removeEventListener('scroll', onScroll)\n })\n\n thresholdMetCallback && watch(() => (\n Math.abs(currentScroll.value - savedScroll.value) > computedScrollThreshold.value\n ), thresholdMet => {\n thresholdMet && thresholdMetCallback({\n currentThreshold: currentThreshold.value,\n isScrollingUp: isScrollingUp.value,\n savedScroll,\n })\n }, { immediate: true })\n\n // Do we need this? If yes - seems that\n // there's no need to expose onScroll\n canScroll && watch(canScroll, onScroll, { immediate: true })\n\n return {\n isScrollActive,\n\n // required only for testing\n // probably can be removed\n // later (2 chars chlng)\n isScrollingUp,\n savedScroll,\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"scroll.mjs","names":["computed","getCurrentInstance","onBeforeUnmount","onMounted","ref","watch","consoleWarn","propsFactory","makeScrollProps","scrollTarget","type","String","scrollThreshold","Number","useScroll","props","args","thresholdMetCallback","canScroll","previousScroll","target","currentScroll","savedScroll","currentThreshold","isScrollActive","isScrollingUp","computedScrollThreshold","onScroll","targetEl","value","pageYOffset","scrollTop","Math","abs","newTarget","document","querySelector","window","removeEventListener","addEventListener","passive","immediate","thresholdMet"],"sources":["../../src/composables/scroll.ts"],"sourcesContent":["// Utilities\nimport {\n computed,\n getCurrentInstance,\n onBeforeUnmount,\n onMounted,\n ref,\n watch,\n} from 'vue'\nimport { consoleWarn, propsFactory } from '@/util'\n\n// Types\nimport type { Ref } from 'vue'\n\nexport interface ScrollProps {\n scrollTarget?: string\n scrollThreshold?: string | number\n}\n\nexport interface ThresholdMetCallbackData {\n isScrollingUp: boolean\n currentThreshold: number\n savedScroll: Ref<number>\n}\n\n// Composables\nexport const makeScrollProps = propsFactory({\n scrollTarget: {\n type: String,\n },\n scrollThreshold: {\n type: [String, Number],\n },\n}, 'scroll')\n\nexport interface ScrollArguments {\n thresholdMetCallback?: (data: ThresholdMetCallbackData) => void\n scrollThreshold?: Readonly<Ref<number>>\n canScroll?: Readonly<Ref<boolean>>\n}\n\nexport function useScroll (\n props: ScrollProps,\n args: ScrollArguments = {},\n) {\n const { thresholdMetCallback, scrollThreshold, canScroll } = args\n let previousScroll = 0\n const target = ref<Element | Window | null>(null)\n const currentScroll = ref(0)\n const savedScroll = ref(0)\n const currentThreshold = ref(0)\n const isScrollActive = ref(false)\n const isScrollingUp = ref(false)\n\n const computedScrollThreshold = computed(() => {\n return Number(props.scrollThreshold ?? scrollThreshold ?? 300)\n })\n\n const onScroll = () => {\n const targetEl = target.value\n\n if (!targetEl || (canScroll && !canScroll.value)) return\n\n previousScroll = currentScroll.value\n currentScroll.value = ('window' in targetEl) ? targetEl.pageYOffset : targetEl.scrollTop\n\n isScrollingUp.value = currentScroll.value < previousScroll\n currentThreshold.value = Math.abs(currentScroll.value - computedScrollThreshold.value)\n }\n\n watch(isScrollingUp, () => {\n savedScroll.value = savedScroll.value || currentScroll.value\n })\n\n watch(isScrollActive, () => {\n savedScroll.value = 0\n })\n\n onMounted(() => {\n watch(() => props.scrollTarget, scrollTarget => {\n const newTarget = scrollTarget ? document.querySelector(scrollTarget) : window\n\n if (!newTarget) {\n consoleWarn(`Unable to locate element with identifier ${scrollTarget}`, getCurrentInstance())\n return\n }\n\n if (newTarget === target.value) return\n\n target.value?.removeEventListener('scroll', onScroll)\n target.value = newTarget\n target.value.addEventListener('scroll', onScroll, { passive: true })\n }, { immediate: true })\n })\n\n onBeforeUnmount(() => {\n target.value?.removeEventListener('scroll', onScroll)\n })\n\n thresholdMetCallback && watch(() => (\n Math.abs(currentScroll.value - savedScroll.value) > computedScrollThreshold.value\n ), thresholdMet => {\n thresholdMet && thresholdMetCallback({\n currentThreshold: currentThreshold.value,\n isScrollingUp: isScrollingUp.value,\n savedScroll,\n })\n }, { immediate: true })\n\n // Do we need this? If yes - seems that\n // there's no need to expose onScroll\n canScroll && watch(canScroll, onScroll, { immediate: true })\n\n return {\n isScrollActive,\n\n // required only for testing\n // probably can be removed\n // later (2 chars chlng)\n isScrollingUp,\n savedScroll,\n }\n}\n"],"mappings":"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"}
@@ -4,10 +4,7 @@ import { nextTick, watch } from 'vue';
4
4
  // Types
5
5
 
6
6
  export function useSelectLink(link, select) {
7
- watch(() => {
8
- var _link$isActive;
9
- return (_link$isActive = link.isActive) == null ? void 0 : _link$isActive.value;
10
- }, isActive => {
7
+ watch(() => link.isActive?.value, isActive => {
11
8
  if (link.isLink.value && isActive && select) {
12
9
  nextTick(() => {
13
10
  select(true);
@@ -1 +1 @@
1
- {"version":3,"file":"selectLink.mjs","names":["nextTick","watch","useSelectLink","link","select","isActive","value","isLink","immediate"],"sources":["../../src/composables/selectLink.ts"],"sourcesContent":["// Utilities\nimport { nextTick, watch } from 'vue'\n\n// Types\nimport type { UseLink } from './router'\n\nexport function useSelectLink (link: UseLink, select?: (value: boolean, e?: Event) => void) {\n watch(() => link.isActive?.value, isActive => {\n if (link.isLink.value && isActive && select) {\n nextTick(() => {\n select(true)\n })\n }\n }, {\n immediate: true,\n })\n}\n"],"mappings":"AAAA;AACA,SAASA,QAAQ,EAAEC,KAAK,QAAQ,KAAK;;AAErC;;AAGA,OAAO,SAASC,aAAa,CAAEC,IAAa,EAAEC,MAA4C,EAAE;EAC1FH,KAAK,CAAC;IAAA;IAAA,yBAAME,IAAI,CAACE,QAAQ,qBAAb,eAAeC,KAAK;EAAA,GAAED,QAAQ,IAAI;IAC5C,IAAIF,IAAI,CAACI,MAAM,CAACD,KAAK,IAAID,QAAQ,IAAID,MAAM,EAAE;MAC3CJ,QAAQ,CAAC,MAAM;QACbI,MAAM,CAAC,IAAI,CAAC;MACd,CAAC,CAAC;IACJ;EACF,CAAC,EAAE;IACDI,SAAS,EAAE;EACb,CAAC,CAAC;AACJ"}
1
+ {"version":3,"file":"selectLink.mjs","names":["nextTick","watch","useSelectLink","link","select","isActive","value","isLink","immediate"],"sources":["../../src/composables/selectLink.ts"],"sourcesContent":["// Utilities\nimport { nextTick, watch } from 'vue'\n\n// Types\nimport type { UseLink } from './router'\n\nexport function useSelectLink (link: UseLink, select?: (value: boolean, e?: Event) => void) {\n watch(() => link.isActive?.value, isActive => {\n if (link.isLink.value && isActive && select) {\n nextTick(() => {\n select(true)\n })\n }\n }, {\n immediate: true,\n })\n}\n"],"mappings":"AAAA;AACA,SAASA,QAAQ,EAAEC,KAAK,QAAQ,KAAK;;AAErC;;AAGA,OAAO,SAASC,aAAa,CAAEC,IAAa,EAAEC,MAA4C,EAAE;EAC1FH,KAAK,CAAC,MAAME,IAAI,CAACE,QAAQ,EAAEC,KAAK,EAAED,QAAQ,IAAI;IAC5C,IAAIF,IAAI,CAACI,MAAM,CAACD,KAAK,IAAID,QAAQ,IAAID,MAAM,EAAE;MAC3CJ,QAAQ,CAAC,MAAM;QACbI,MAAM,CAAC,IAAI,CAAC;MACd,CAAC,CAAC;IACJ;EACF,CAAC,EAAE;IACDI,SAAS,EAAE;EACb,CAAC,CAAC;AACJ"}
@@ -1,5 +1,5 @@
1
1
  import { useToggleScope } from "./toggleScope.mjs";
2
- import { computed, inject, onScopeDispose, provide, reactive, readonly, ref, watchEffect } from 'vue';
2
+ import { computed, inject, onScopeDispose, provide, reactive, readonly, ref, toRaw, watchEffect } from 'vue';
3
3
  import { getCurrentInstance } from "../util/index.mjs"; // Types
4
4
  const StackSymbol = Symbol.for('vuetify:stack');
5
5
  const globalStack = reactive([]);
@@ -13,26 +13,24 @@ export function useStack(isActive, zIndex, disableGlobalStack) {
13
13
  provide(StackSymbol, stack);
14
14
  const _zIndex = ref(+zIndex.value);
15
15
  useToggleScope(isActive, () => {
16
- var _globalStack$at;
17
- const lastZIndex = (_globalStack$at = globalStack.at(-1)) == null ? void 0 : _globalStack$at[1];
16
+ const lastZIndex = globalStack.at(-1)?.[1];
18
17
  _zIndex.value = lastZIndex ? lastZIndex + 10 : +zIndex.value;
19
18
  if (createStackEntry) {
20
19
  globalStack.push([vm.uid, _zIndex.value]);
21
20
  }
22
- parent == null ? void 0 : parent.activeChildren.add(vm.uid);
21
+ parent?.activeChildren.add(vm.uid);
23
22
  onScopeDispose(() => {
24
23
  if (createStackEntry) {
25
- const idx = globalStack.findIndex(v => v[0] === vm.uid);
24
+ const idx = toRaw(globalStack).findIndex(v => v[0] === vm.uid);
26
25
  globalStack.splice(idx, 1);
27
26
  }
28
- parent == null ? void 0 : parent.activeChildren.delete(vm.uid);
27
+ parent?.activeChildren.delete(vm.uid);
29
28
  });
30
29
  });
31
30
  const globalTop = ref(true);
32
31
  if (createStackEntry) {
33
32
  watchEffect(() => {
34
- var _globalStack$at2;
35
- const _isTop = ((_globalStack$at2 = globalStack.at(-1)) == null ? void 0 : _globalStack$at2[0]) === vm.uid;
33
+ const _isTop = globalStack.at(-1)?.[0] === vm.uid;
36
34
  setTimeout(() => globalTop.value = _isTop);
37
35
  });
38
36
  }
@@ -1 +1 @@
1
- {"version":3,"file":"stack.mjs","names":["useToggleScope","computed","inject","onScopeDispose","provide","reactive","readonly","ref","watchEffect","getCurrentInstance","StackSymbol","Symbol","for","globalStack","useStack","isActive","zIndex","disableGlobalStack","vm","createStackEntry","parent","undefined","stack","activeChildren","Set","_zIndex","value","lastZIndex","at","push","uid","add","idx","findIndex","v","splice","delete","globalTop","_isTop","setTimeout","localTop","size","stackStyles"],"sources":["../../src/composables/stack.ts"],"sourcesContent":["import { useToggleScope } from '@/composables/toggleScope'\n\nimport { computed, inject, onScopeDispose, provide, reactive, readonly, ref, watchEffect } from 'vue'\nimport { getCurrentInstance } from '@/util'\n\n// Types\nimport type { InjectionKey, Ref } from 'vue'\n\nconst StackSymbol: InjectionKey<StackProvide> = Symbol.for('vuetify:stack')\n\ninterface StackProvide {\n activeChildren: Set<number>\n}\n\nconst globalStack = reactive<[uid: number, zIndex: number][]>([])\n\nexport function useStack (\n isActive: Readonly<Ref<boolean>>,\n zIndex: Readonly<Ref<string | number>>,\n disableGlobalStack: boolean\n) {\n const vm = getCurrentInstance('useStack')\n const createStackEntry = !disableGlobalStack\n\n const parent = inject(StackSymbol, undefined)\n const stack: StackProvide = reactive({\n activeChildren: new Set<number>(),\n })\n provide(StackSymbol, stack)\n\n const _zIndex = ref(+zIndex.value)\n useToggleScope(isActive, () => {\n const lastZIndex = globalStack.at(-1)?.[1]\n _zIndex.value = lastZIndex ? lastZIndex + 10 : +zIndex.value\n\n if (createStackEntry) {\n globalStack.push([vm.uid, _zIndex.value])\n }\n\n parent?.activeChildren.add(vm.uid)\n\n onScopeDispose(() => {\n if (createStackEntry) {\n const idx = globalStack.findIndex(v => v[0] === vm.uid)\n globalStack.splice(idx, 1)\n }\n\n parent?.activeChildren.delete(vm.uid)\n })\n })\n\n const globalTop = ref(true)\n if (createStackEntry) {\n watchEffect(() => {\n const _isTop = globalStack.at(-1)?.[0] === vm.uid\n setTimeout(() => globalTop.value = _isTop)\n })\n }\n\n const localTop = computed(() => !stack.activeChildren.size)\n\n return {\n globalTop: readonly(globalTop),\n localTop,\n stackStyles: computed(() => ({ zIndex: _zIndex.value })),\n }\n}\n"],"mappings":"SAASA,cAAc;AAEvB,SAASC,QAAQ,EAAEC,MAAM,EAAEC,cAAc,EAAEC,OAAO,EAAEC,QAAQ,EAAEC,QAAQ,EAAEC,GAAG,EAAEC,WAAW,QAAQ,KAAK;AAAA,SAC5FC,kBAAkB,6BAE3B;AAGA,MAAMC,WAAuC,GAAGC,MAAM,CAACC,GAAG,CAAC,eAAe,CAAC;AAM3E,MAAMC,WAAW,GAAGR,QAAQ,CAAkC,EAAE,CAAC;AAEjE,OAAO,SAASS,QAAQ,CACtBC,QAAgC,EAChCC,MAAsC,EACtCC,kBAA2B,EAC3B;EACA,MAAMC,EAAE,GAAGT,kBAAkB,CAAC,UAAU,CAAC;EACzC,MAAMU,gBAAgB,GAAG,CAACF,kBAAkB;EAE5C,MAAMG,MAAM,GAAGlB,MAAM,CAACQ,WAAW,EAAEW,SAAS,CAAC;EAC7C,MAAMC,KAAmB,GAAGjB,QAAQ,CAAC;IACnCkB,cAAc,EAAE,IAAIC,GAAG;EACzB,CAAC,CAAC;EACFpB,OAAO,CAACM,WAAW,EAAEY,KAAK,CAAC;EAE3B,MAAMG,OAAO,GAAGlB,GAAG,CAAC,CAACS,MAAM,CAACU,KAAK,CAAC;EAClC1B,cAAc,CAACe,QAAQ,EAAE,MAAM;IAAA;IAC7B,MAAMY,UAAU,sBAAGd,WAAW,CAACe,EAAE,CAAC,CAAC,CAAC,CAAC,qBAAlB,gBAAqB,CAAC,CAAC;IAC1CH,OAAO,CAACC,KAAK,GAAGC,UAAU,GAAGA,UAAU,GAAG,EAAE,GAAG,CAACX,MAAM,CAACU,KAAK;IAE5D,IAAIP,gBAAgB,EAAE;MACpBN,WAAW,CAACgB,IAAI,CAAC,CAACX,EAAE,CAACY,GAAG,EAAEL,OAAO,CAACC,KAAK,CAAC,CAAC;IAC3C;IAEAN,MAAM,oBAANA,MAAM,CAAEG,cAAc,CAACQ,GAAG,CAACb,EAAE,CAACY,GAAG,CAAC;IAElC3B,cAAc,CAAC,MAAM;MACnB,IAAIgB,gBAAgB,EAAE;QACpB,MAAMa,GAAG,GAAGnB,WAAW,CAACoB,SAAS,CAACC,CAAC,IAAIA,CAAC,CAAC,CAAC,CAAC,KAAKhB,EAAE,CAACY,GAAG,CAAC;QACvDjB,WAAW,CAACsB,MAAM,CAACH,GAAG,EAAE,CAAC,CAAC;MAC5B;MAEAZ,MAAM,oBAANA,MAAM,CAAEG,cAAc,CAACa,MAAM,CAAClB,EAAE,CAACY,GAAG,CAAC;IACvC,CAAC,CAAC;EACJ,CAAC,CAAC;EAEF,MAAMO,SAAS,GAAG9B,GAAG,CAAC,IAAI,CAAC;EAC3B,IAAIY,gBAAgB,EAAE;IACpBX,WAAW,CAAC,MAAM;MAAA;MAChB,MAAM8B,MAAM,GAAG,qBAAAzB,WAAW,CAACe,EAAE,CAAC,CAAC,CAAC,CAAC,qBAAlB,iBAAqB,CAAC,CAAC,MAAKV,EAAE,CAACY,GAAG;MACjDS,UAAU,CAAC,MAAMF,SAAS,CAACX,KAAK,GAAGY,MAAM,CAAC;IAC5C,CAAC,CAAC;EACJ;EAEA,MAAME,QAAQ,GAAGvC,QAAQ,CAAC,MAAM,CAACqB,KAAK,CAACC,cAAc,CAACkB,IAAI,CAAC;EAE3D,OAAO;IACLJ,SAAS,EAAE/B,QAAQ,CAAC+B,SAAS,CAAC;IAC9BG,QAAQ;IACRE,WAAW,EAAEzC,QAAQ,CAAC,OAAO;MAAEe,MAAM,EAAES,OAAO,CAACC;IAAM,CAAC,CAAC;EACzD,CAAC;AACH"}
1
+ {"version":3,"file":"stack.mjs","names":["useToggleScope","computed","inject","onScopeDispose","provide","reactive","readonly","ref","toRaw","watchEffect","getCurrentInstance","StackSymbol","Symbol","for","globalStack","useStack","isActive","zIndex","disableGlobalStack","vm","createStackEntry","parent","undefined","stack","activeChildren","Set","_zIndex","value","lastZIndex","at","push","uid","add","idx","findIndex","v","splice","delete","globalTop","_isTop","setTimeout","localTop","size","stackStyles"],"sources":["../../src/composables/stack.ts"],"sourcesContent":["import { useToggleScope } from '@/composables/toggleScope'\n\nimport { computed, inject, onScopeDispose, provide, reactive, readonly, ref, toRaw, watchEffect } from 'vue'\nimport { getCurrentInstance } from '@/util'\n\n// Types\nimport type { InjectionKey, Ref } from 'vue'\n\nconst StackSymbol: InjectionKey<StackProvide> = Symbol.for('vuetify:stack')\n\ninterface StackProvide {\n activeChildren: Set<number>\n}\n\nconst globalStack = reactive<[uid: number, zIndex: number][]>([])\n\nexport function useStack (\n isActive: Readonly<Ref<boolean>>,\n zIndex: Readonly<Ref<string | number>>,\n disableGlobalStack: boolean\n) {\n const vm = getCurrentInstance('useStack')\n const createStackEntry = !disableGlobalStack\n\n const parent = inject(StackSymbol, undefined)\n const stack: StackProvide = reactive({\n activeChildren: new Set<number>(),\n })\n provide(StackSymbol, stack)\n\n const _zIndex = ref(+zIndex.value)\n useToggleScope(isActive, () => {\n const lastZIndex = globalStack.at(-1)?.[1]\n _zIndex.value = lastZIndex ? lastZIndex + 10 : +zIndex.value\n\n if (createStackEntry) {\n globalStack.push([vm.uid, _zIndex.value])\n }\n\n parent?.activeChildren.add(vm.uid)\n\n onScopeDispose(() => {\n if (createStackEntry) {\n const idx = toRaw(globalStack).findIndex(v => v[0] === vm.uid)\n globalStack.splice(idx, 1)\n }\n\n parent?.activeChildren.delete(vm.uid)\n })\n })\n\n const globalTop = ref(true)\n if (createStackEntry) {\n watchEffect(() => {\n const _isTop = globalStack.at(-1)?.[0] === vm.uid\n setTimeout(() => globalTop.value = _isTop)\n })\n }\n\n const localTop = computed(() => !stack.activeChildren.size)\n\n return {\n globalTop: readonly(globalTop),\n localTop,\n stackStyles: computed(() => ({ zIndex: _zIndex.value })),\n }\n}\n"],"mappings":"SAASA,cAAc;AAEvB,SAASC,QAAQ,EAAEC,MAAM,EAAEC,cAAc,EAAEC,OAAO,EAAEC,QAAQ,EAAEC,QAAQ,EAAEC,GAAG,EAAEC,KAAK,EAAEC,WAAW,QAAQ,KAAK;AAAA,SACnGC,kBAAkB,6BAE3B;AAGA,MAAMC,WAAuC,GAAGC,MAAM,CAACC,GAAG,CAAC,eAAe,CAAC;AAM3E,MAAMC,WAAW,GAAGT,QAAQ,CAAkC,EAAE,CAAC;AAEjE,OAAO,SAASU,QAAQ,CACtBC,QAAgC,EAChCC,MAAsC,EACtCC,kBAA2B,EAC3B;EACA,MAAMC,EAAE,GAAGT,kBAAkB,CAAC,UAAU,CAAC;EACzC,MAAMU,gBAAgB,GAAG,CAACF,kBAAkB;EAE5C,MAAMG,MAAM,GAAGnB,MAAM,CAACS,WAAW,EAAEW,SAAS,CAAC;EAC7C,MAAMC,KAAmB,GAAGlB,QAAQ,CAAC;IACnCmB,cAAc,EAAE,IAAIC,GAAG;EACzB,CAAC,CAAC;EACFrB,OAAO,CAACO,WAAW,EAAEY,KAAK,CAAC;EAE3B,MAAMG,OAAO,GAAGnB,GAAG,CAAC,CAACU,MAAM,CAACU,KAAK,CAAC;EAClC3B,cAAc,CAACgB,QAAQ,EAAE,MAAM;IAC7B,MAAMY,UAAU,GAAGd,WAAW,CAACe,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAC1CH,OAAO,CAACC,KAAK,GAAGC,UAAU,GAAGA,UAAU,GAAG,EAAE,GAAG,CAACX,MAAM,CAACU,KAAK;IAE5D,IAAIP,gBAAgB,EAAE;MACpBN,WAAW,CAACgB,IAAI,CAAC,CAACX,EAAE,CAACY,GAAG,EAAEL,OAAO,CAACC,KAAK,CAAC,CAAC;IAC3C;IAEAN,MAAM,EAAEG,cAAc,CAACQ,GAAG,CAACb,EAAE,CAACY,GAAG,CAAC;IAElC5B,cAAc,CAAC,MAAM;MACnB,IAAIiB,gBAAgB,EAAE;QACpB,MAAMa,GAAG,GAAGzB,KAAK,CAACM,WAAW,CAAC,CAACoB,SAAS,CAACC,CAAC,IAAIA,CAAC,CAAC,CAAC,CAAC,KAAKhB,EAAE,CAACY,GAAG,CAAC;QAC9DjB,WAAW,CAACsB,MAAM,CAACH,GAAG,EAAE,CAAC,CAAC;MAC5B;MAEAZ,MAAM,EAAEG,cAAc,CAACa,MAAM,CAAClB,EAAE,CAACY,GAAG,CAAC;IACvC,CAAC,CAAC;EACJ,CAAC,CAAC;EAEF,MAAMO,SAAS,GAAG/B,GAAG,CAAC,IAAI,CAAC;EAC3B,IAAIa,gBAAgB,EAAE;IACpBX,WAAW,CAAC,MAAM;MAChB,MAAM8B,MAAM,GAAGzB,WAAW,CAACe,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAKV,EAAE,CAACY,GAAG;MACjDS,UAAU,CAAC,MAAMF,SAAS,CAACX,KAAK,GAAGY,MAAM,CAAC;IAC5C,CAAC,CAAC;EACJ;EAEA,MAAME,QAAQ,GAAGxC,QAAQ,CAAC,MAAM,CAACsB,KAAK,CAACC,cAAc,CAACkB,IAAI,CAAC;EAE3D,OAAO;IACLJ,SAAS,EAAEhC,QAAQ,CAACgC,SAAS,CAAC;IAC9BG,QAAQ;IACRE,WAAW,EAAE1C,QAAQ,CAAC,OAAO;MAAEgB,MAAM,EAAES,OAAO,CAACC;IAAM,CAAC,CAAC;EACzD,CAAC;AACH"}
@@ -10,7 +10,7 @@ export function useTeleport(target) {
10
10
  warn(`Unable to locate target ${_target}`);
11
11
  return undefined;
12
12
  }
13
- let container = targetElement.querySelector('.v-overlay-container');
13
+ let container = targetElement.querySelector(':scope > .v-overlay-container');
14
14
  if (!container) {
15
15
  container = document.createElement('div');
16
16
  container.className = 'v-overlay-container';
@@ -1 +1 @@
1
- {"version":3,"file":"teleport.mjs","names":["computed","warn","IN_BROWSER","useTeleport","target","teleportTarget","_target","value","undefined","targetElement","document","body","querySelector","container","createElement","className","appendChild"],"sources":["../../src/composables/teleport.ts"],"sourcesContent":["// Utilities\nimport { computed, warn } from 'vue'\nimport { IN_BROWSER } from '@/util'\n\n// Types\nimport type { Ref } from 'vue'\n\nexport function useTeleport (target: Ref<boolean | string | Element>) {\n const teleportTarget = computed(() => {\n const _target = target.value\n\n if (_target === true || !IN_BROWSER) return undefined\n\n const targetElement =\n _target === false ? document.body\n : typeof _target === 'string' ? document.querySelector(_target)\n : _target\n\n if (targetElement == null) {\n warn(`Unable to locate target ${_target}`)\n return undefined\n }\n\n let container = targetElement.querySelector('.v-overlay-container')\n\n if (!container) {\n container = document.createElement('div')\n container.className = 'v-overlay-container'\n targetElement.appendChild(container)\n }\n\n return container\n })\n\n return { teleportTarget }\n}\n"],"mappings":"AAAA;AACA,SAASA,QAAQ,EAAEC,IAAI,QAAQ,KAAK;AAAA,SAC3BC,UAAU,6BAEnB;AAGA,OAAO,SAASC,WAAW,CAAEC,MAAuC,EAAE;EACpE,MAAMC,cAAc,GAAGL,QAAQ,CAAC,MAAM;IACpC,MAAMM,OAAO,GAAGF,MAAM,CAACG,KAAK;IAE5B,IAAID,OAAO,KAAK,IAAI,IAAI,CAACJ,UAAU,EAAE,OAAOM,SAAS;IAErD,MAAMC,aAAa,GACjBH,OAAO,KAAK,KAAK,GAAGI,QAAQ,CAACC,IAAI,GAC/B,OAAOL,OAAO,KAAK,QAAQ,GAAGI,QAAQ,CAACE,aAAa,CAACN,OAAO,CAAC,GAC7DA,OAAO;IAEX,IAAIG,aAAa,IAAI,IAAI,EAAE;MACzBR,IAAI,CAAE,2BAA0BK,OAAQ,EAAC,CAAC;MAC1C,OAAOE,SAAS;IAClB;IAEA,IAAIK,SAAS,GAAGJ,aAAa,CAACG,aAAa,CAAC,sBAAsB,CAAC;IAEnE,IAAI,CAACC,SAAS,EAAE;MACdA,SAAS,GAAGH,QAAQ,CAACI,aAAa,CAAC,KAAK,CAAC;MACzCD,SAAS,CAACE,SAAS,GAAG,qBAAqB;MAC3CN,aAAa,CAACO,WAAW,CAACH,SAAS,CAAC;IACtC;IAEA,OAAOA,SAAS;EAClB,CAAC,CAAC;EAEF,OAAO;IAAER;EAAe,CAAC;AAC3B"}
1
+ {"version":3,"file":"teleport.mjs","names":["computed","warn","IN_BROWSER","useTeleport","target","teleportTarget","_target","value","undefined","targetElement","document","body","querySelector","container","createElement","className","appendChild"],"sources":["../../src/composables/teleport.ts"],"sourcesContent":["// Utilities\nimport { computed, warn } from 'vue'\nimport { IN_BROWSER } from '@/util'\n\n// Types\nimport type { Ref } from 'vue'\n\nexport function useTeleport (target: Ref<boolean | string | Element>) {\n const teleportTarget = computed(() => {\n const _target = target.value\n\n if (_target === true || !IN_BROWSER) return undefined\n\n const targetElement =\n _target === false ? document.body\n : typeof _target === 'string' ? document.querySelector(_target)\n : _target\n\n if (targetElement == null) {\n warn(`Unable to locate target ${_target}`)\n return undefined\n }\n\n let container = targetElement.querySelector(':scope > .v-overlay-container')\n\n if (!container) {\n container = document.createElement('div')\n container.className = 'v-overlay-container'\n targetElement.appendChild(container)\n }\n\n return container\n })\n\n return { teleportTarget }\n}\n"],"mappings":"AAAA;AACA,SAASA,QAAQ,EAAEC,IAAI,QAAQ,KAAK;AAAA,SAC3BC,UAAU,6BAEnB;AAGA,OAAO,SAASC,WAAW,CAAEC,MAAuC,EAAE;EACpE,MAAMC,cAAc,GAAGL,QAAQ,CAAC,MAAM;IACpC,MAAMM,OAAO,GAAGF,MAAM,CAACG,KAAK;IAE5B,IAAID,OAAO,KAAK,IAAI,IAAI,CAACJ,UAAU,EAAE,OAAOM,SAAS;IAErD,MAAMC,aAAa,GACjBH,OAAO,KAAK,KAAK,GAAGI,QAAQ,CAACC,IAAI,GAC/B,OAAOL,OAAO,KAAK,QAAQ,GAAGI,QAAQ,CAACE,aAAa,CAACN,OAAO,CAAC,GAC7DA,OAAO;IAEX,IAAIG,aAAa,IAAI,IAAI,EAAE;MACzBR,IAAI,CAAE,2BAA0BK,OAAQ,EAAC,CAAC;MAC1C,OAAOE,SAAS;IAClB;IAEA,IAAIK,SAAS,GAAGJ,aAAa,CAACG,aAAa,CAAC,+BAA+B,CAAC;IAE5E,IAAI,CAACC,SAAS,EAAE;MACdA,SAAS,GAAGH,QAAQ,CAACI,aAAa,CAAC,KAAK,CAAC;MACzCD,SAAS,CAACE,SAAS,GAAG,qBAAqB;MAC3CN,aAAa,CAACO,WAAW,CAACH,SAAS,CAAC;IACtC;IAEA,OAAOA,SAAS;EAClB,CAAC,CAAC;EAEF,OAAO;IAAER;EAAe,CAAC;AAC3B"}
@@ -94,8 +94,7 @@ function parseThemeOptions() {
94
94
  };
95
95
  const themes = {};
96
96
  for (const [key, theme] of Object.entries(options.themes ?? {})) {
97
- var _defaultThemeOptions$, _defaultThemeOptions$2;
98
- const defaultTheme = theme.dark || key === 'dark' ? (_defaultThemeOptions$ = defaultThemeOptions.themes) == null ? void 0 : _defaultThemeOptions$.dark : (_defaultThemeOptions$2 = defaultThemeOptions.themes) == null ? void 0 : _defaultThemeOptions$2.light;
97
+ const defaultTheme = theme.dark || key === 'dark' ? defaultThemeOptions.themes?.dark : defaultThemeOptions.themes?.light;
99
98
  themes[key] = mergeDeep(defaultTheme, theme);
100
99
  }
101
100
  return mergeDeep(defaultThemeOptions, {
@@ -242,7 +241,7 @@ export function provideTheme(props) {
242
241
  const theme = inject(ThemeSymbol, null);
243
242
  if (!theme) throw new Error('Could not find Vuetify theme injection');
244
243
  const name = computed(() => {
245
- return props.theme ?? (theme == null ? void 0 : theme.name.value);
244
+ return props.theme ?? theme?.name.value;
246
245
  });
247
246
  const themeClasses = computed(() => theme.isDisabled ? undefined : `v-theme--${name.value}`);
248
247
  const newTheme = {