vuetify 3.5.14 → 3.5.16

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 (623) hide show
  1. package/dist/json/attributes.json +1 -5
  2. package/dist/json/importMap-labs.json +4 -4
  3. package/dist/json/importMap.json +108 -108
  4. package/dist/json/tags.json +0 -1
  5. package/dist/json/web-types.json +80 -19
  6. package/dist/vuetify-labs.css +2003 -1925
  7. package/dist/vuetify-labs.d.ts +10752 -10485
  8. package/dist/vuetify-labs.esm.js +180 -155
  9. package/dist/vuetify-labs.esm.js.map +1 -1
  10. package/dist/vuetify-labs.js +180 -155
  11. package/dist/vuetify-labs.min.css +3 -3
  12. package/dist/vuetify.css +2306 -2272
  13. package/dist/vuetify.d.ts +9316 -9253
  14. package/dist/vuetify.esm.js +127 -127
  15. package/dist/vuetify.esm.js.map +1 -1
  16. package/dist/vuetify.js +127 -127
  17. package/dist/vuetify.js.map +1 -1
  18. package/dist/vuetify.min.css +3 -3
  19. package/dist/vuetify.min.js +1083 -1086
  20. package/dist/vuetify.min.js.map +1 -1
  21. package/lib/blueprints/index.mjs.map +1 -1
  22. package/lib/blueprints/md1.mjs.map +1 -1
  23. package/lib/blueprints/md2.mjs.map +1 -1
  24. package/lib/blueprints/md3.mjs.map +1 -1
  25. package/lib/components/VAlert/VAlert.mjs.map +1 -1
  26. package/lib/components/VAlert/VAlertTitle.mjs.map +1 -1
  27. package/lib/components/VAlert/index.d.mts +55 -55
  28. package/lib/components/VAlert/index.mjs.map +1 -1
  29. package/lib/components/VApp/VApp.mjs.map +1 -1
  30. package/lib/components/VApp/index.mjs.map +1 -1
  31. package/lib/components/VAppBar/VAppBar.mjs.map +1 -1
  32. package/lib/components/VAppBar/VAppBarNavIcon.mjs.map +1 -1
  33. package/lib/components/VAppBar/VAppBarTitle.mjs.map +1 -1
  34. package/lib/components/VAppBar/index.d.mts +162 -162
  35. package/lib/components/VAppBar/index.mjs.map +1 -1
  36. package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
  37. package/lib/components/VAutocomplete/index.d.mts +609 -609
  38. package/lib/components/VAutocomplete/index.mjs.map +1 -1
  39. package/lib/components/VAvatar/VAvatar.mjs.map +1 -1
  40. package/lib/components/VAvatar/index.d.mts +30 -30
  41. package/lib/components/VAvatar/index.mjs.map +1 -1
  42. package/lib/components/VBadge/VBadge.mjs.map +1 -1
  43. package/lib/components/VBadge/index.d.mts +58 -58
  44. package/lib/components/VBadge/index.mjs.map +1 -1
  45. package/lib/components/VBanner/VBanner.mjs.map +1 -1
  46. package/lib/components/VBanner/VBannerActions.mjs.map +1 -1
  47. package/lib/components/VBanner/VBannerText.mjs.map +1 -1
  48. package/lib/components/VBanner/index.d.mts +50 -50
  49. package/lib/components/VBanner/index.mjs.map +1 -1
  50. package/lib/components/VBottomNavigation/VBottomNavigation.css +1 -1
  51. package/lib/components/VBottomNavigation/VBottomNavigation.mjs.map +1 -1
  52. package/lib/components/VBottomNavigation/_variables.scss +1 -1
  53. package/lib/components/VBottomNavigation/index.d.mts +60 -60
  54. package/lib/components/VBottomNavigation/index.mjs.map +1 -1
  55. package/lib/components/VBottomSheet/VBottomSheet.mjs.map +1 -1
  56. package/lib/components/VBottomSheet/index.d.mts +125 -125
  57. package/lib/components/VBottomSheet/index.mjs.map +1 -1
  58. package/lib/components/VBreadcrumbs/VBreadcrumbs.mjs.map +1 -1
  59. package/lib/components/VBreadcrumbs/VBreadcrumbsDivider.mjs.map +1 -1
  60. package/lib/components/VBreadcrumbs/VBreadcrumbsItem.mjs.map +1 -1
  61. package/lib/components/VBreadcrumbs/index.d.mts +34 -34
  62. package/lib/components/VBreadcrumbs/index.mjs.map +1 -1
  63. package/lib/components/VBtn/VBtn.css +4 -0
  64. package/lib/components/VBtn/VBtn.mjs +6 -8
  65. package/lib/components/VBtn/VBtn.mjs.map +1 -1
  66. package/lib/components/VBtn/VBtn.sass +4 -0
  67. package/lib/components/VBtn/_variables.scss +1 -0
  68. package/lib/components/VBtn/index.d.mts +100 -100
  69. package/lib/components/VBtn/index.mjs.map +1 -1
  70. package/lib/components/VBtnGroup/VBtnGroup.mjs.map +1 -1
  71. package/lib/components/VBtnGroup/index.d.mts +23 -23
  72. package/lib/components/VBtnGroup/index.mjs.map +1 -1
  73. package/lib/components/VBtnToggle/VBtnToggle.mjs.map +1 -1
  74. package/lib/components/VBtnToggle/index.d.mts +40 -40
  75. package/lib/components/VBtnToggle/index.mjs.map +1 -1
  76. package/lib/components/VCard/VCard.mjs.map +1 -1
  77. package/lib/components/VCard/VCardActions.mjs.map +1 -1
  78. package/lib/components/VCard/VCardItem.mjs.map +1 -1
  79. package/lib/components/VCard/VCardSubtitle.mjs.map +1 -1
  80. package/lib/components/VCard/VCardText.mjs.map +1 -1
  81. package/lib/components/VCard/VCardTitle.mjs.map +1 -1
  82. package/lib/components/VCard/index.d.mts +85 -85
  83. package/lib/components/VCard/index.mjs.map +1 -1
  84. package/lib/components/VCarousel/VCarousel.mjs.map +1 -1
  85. package/lib/components/VCarousel/VCarouselItem.mjs.map +1 -1
  86. package/lib/components/VCarousel/index.d.mts +121 -121
  87. package/lib/components/VCarousel/index.mjs.map +1 -1
  88. package/lib/components/VCheckbox/VCheckbox.mjs.map +1 -1
  89. package/lib/components/VCheckbox/VCheckboxBtn.mjs.map +1 -1
  90. package/lib/components/VCheckbox/index.d.mts +154 -154
  91. package/lib/components/VCheckbox/index.mjs.map +1 -1
  92. package/lib/components/VChip/VChip.mjs.map +1 -1
  93. package/lib/components/VChip/index.d.mts +86 -86
  94. package/lib/components/VChip/index.mjs.map +1 -1
  95. package/lib/components/VChipGroup/VChipGroup.mjs.map +1 -1
  96. package/lib/components/VChipGroup/index.d.mts +37 -37
  97. package/lib/components/VChipGroup/index.mjs.map +1 -1
  98. package/lib/components/VCode/index.mjs.map +1 -1
  99. package/lib/components/VColorPicker/VColorPicker.mjs.map +1 -1
  100. package/lib/components/VColorPicker/VColorPickerCanvas.mjs.map +1 -1
  101. package/lib/components/VColorPicker/VColorPickerEdit.mjs.map +1 -1
  102. package/lib/components/VColorPicker/VColorPickerPreview.mjs.map +1 -1
  103. package/lib/components/VColorPicker/VColorPickerSwatches.mjs.map +1 -1
  104. package/lib/components/VColorPicker/index.d.mts +96 -96
  105. package/lib/components/VColorPicker/index.mjs.map +1 -1
  106. package/lib/components/VColorPicker/util/index.mjs.map +1 -1
  107. package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
  108. package/lib/components/VCombobox/index.d.mts +609 -609
  109. package/lib/components/VCombobox/index.mjs.map +1 -1
  110. package/lib/components/VCounter/VCounter.mjs.map +1 -1
  111. package/lib/components/VCounter/index.d.mts +20 -20
  112. package/lib/components/VCounter/index.mjs.map +1 -1
  113. package/lib/components/VDataIterator/VDataIterator.mjs.map +1 -1
  114. package/lib/components/VDataIterator/composables/items.mjs.map +1 -1
  115. package/lib/components/VDataIterator/index.d.mts +35 -35
  116. package/lib/components/VDataIterator/index.mjs.map +1 -1
  117. package/lib/components/VDataTable/VDataTable.mjs.map +1 -1
  118. package/lib/components/VDataTable/VDataTableColumn.mjs.map +1 -1
  119. package/lib/components/VDataTable/VDataTableFooter.mjs.map +1 -1
  120. package/lib/components/VDataTable/VDataTableGroupHeaderRow.mjs.map +1 -1
  121. package/lib/components/VDataTable/VDataTableHeaders.mjs.map +1 -1
  122. package/lib/components/VDataTable/VDataTableRow.mjs.map +1 -1
  123. package/lib/components/VDataTable/VDataTableRows.mjs.map +1 -1
  124. package/lib/components/VDataTable/VDataTableServer.mjs.map +1 -1
  125. package/lib/components/VDataTable/VDataTableVirtual.mjs.map +1 -1
  126. package/lib/components/VDataTable/composables/expand.mjs.map +1 -1
  127. package/lib/components/VDataTable/composables/group.mjs.map +1 -1
  128. package/lib/components/VDataTable/composables/headers.mjs.map +1 -1
  129. package/lib/components/VDataTable/composables/items.mjs.map +1 -1
  130. package/lib/components/VDataTable/composables/options.mjs +1 -1
  131. package/lib/components/VDataTable/composables/options.mjs.map +1 -1
  132. package/lib/components/VDataTable/composables/paginate.mjs.map +1 -1
  133. package/lib/components/VDataTable/composables/select.mjs.map +1 -1
  134. package/lib/components/VDataTable/composables/sort.mjs +8 -4
  135. package/lib/components/VDataTable/composables/sort.mjs.map +1 -1
  136. package/lib/components/VDataTable/index.d.mts +217 -217
  137. package/lib/components/VDataTable/index.mjs.map +1 -1
  138. package/lib/components/VDataTable/types.mjs.map +1 -1
  139. package/lib/components/VDatePicker/VDatePicker.mjs.map +1 -1
  140. package/lib/components/VDatePicker/VDatePickerControls.mjs.map +1 -1
  141. package/lib/components/VDatePicker/VDatePickerHeader.mjs.map +1 -1
  142. package/lib/components/VDatePicker/VDatePickerMonth.mjs.map +1 -1
  143. package/lib/components/VDatePicker/VDatePickerMonths.mjs.map +1 -1
  144. package/lib/components/VDatePicker/VDatePickerYears.mjs.map +1 -1
  145. package/lib/components/VDatePicker/index.d.mts +110 -110
  146. package/lib/components/VDatePicker/index.mjs.map +1 -1
  147. package/lib/components/VDatePicker/util/createNativeLocaleFormatter.mjs.map +1 -1
  148. package/lib/components/VDatePicker/util/eventHelpers.mjs.map +1 -1
  149. package/lib/components/VDatePicker/util/index.mjs.map +1 -1
  150. package/lib/components/VDatePicker/util/isDateAllowed.mjs.map +1 -1
  151. package/lib/components/VDatePicker/util/monthChange.mjs.map +1 -1
  152. package/lib/components/VDatePicker/util/pad.mjs.map +1 -1
  153. package/lib/components/VDatePicker/util/sanitizeDateString.mjs.map +1 -1
  154. package/lib/components/VDefaultsProvider/VDefaultsProvider.mjs.map +1 -1
  155. package/lib/components/VDefaultsProvider/index.mjs.map +1 -1
  156. package/lib/components/VDialog/VDialog.mjs +23 -13
  157. package/lib/components/VDialog/VDialog.mjs.map +1 -1
  158. package/lib/components/VDialog/index.d.mts +404 -377
  159. package/lib/components/VDialog/index.mjs.map +1 -1
  160. package/lib/components/VDivider/VDivider.mjs.map +1 -1
  161. package/lib/components/VDivider/index.d.mts +11 -11
  162. package/lib/components/VDivider/index.mjs.map +1 -1
  163. package/lib/components/VExpansionPanel/VExpansionPanel.mjs.map +1 -1
  164. package/lib/components/VExpansionPanel/VExpansionPanelText.mjs.map +1 -1
  165. package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs.map +1 -1
  166. package/lib/components/VExpansionPanel/VExpansionPanels.mjs.map +1 -1
  167. package/lib/components/VExpansionPanel/index.d.mts +111 -111
  168. package/lib/components/VExpansionPanel/index.mjs.map +1 -1
  169. package/lib/components/VField/VField.mjs.map +1 -1
  170. package/lib/components/VField/VFieldLabel.mjs.map +1 -1
  171. package/lib/components/VField/index.d.mts +46 -46
  172. package/lib/components/VField/index.mjs.map +1 -1
  173. package/lib/components/VFileInput/VFileInput.mjs +2 -4
  174. package/lib/components/VFileInput/VFileInput.mjs.map +1 -1
  175. package/lib/components/VFileInput/index.d.mts +199 -199
  176. package/lib/components/VFileInput/index.mjs.map +1 -1
  177. package/lib/components/VFooter/VFooter.mjs.map +1 -1
  178. package/lib/components/VFooter/index.d.mts +50 -50
  179. package/lib/components/VFooter/index.mjs.map +1 -1
  180. package/lib/components/VForm/VForm.mjs.map +1 -1
  181. package/lib/components/VForm/index.d.mts +9 -9
  182. package/lib/components/VForm/index.mjs.map +1 -1
  183. package/lib/components/VGrid/VCol.mjs.map +1 -1
  184. package/lib/components/VGrid/VContainer.mjs.map +1 -1
  185. package/lib/components/VGrid/VRow.mjs.map +1 -1
  186. package/lib/components/VGrid/VSpacer.mjs.map +1 -1
  187. package/lib/components/VGrid/index.d.mts +142 -142
  188. package/lib/components/VGrid/index.mjs.map +1 -1
  189. package/lib/components/VHover/VHover.mjs.map +1 -1
  190. package/lib/components/VHover/index.mjs.map +1 -1
  191. package/lib/components/VIcon/VIcon.mjs.map +1 -1
  192. package/lib/components/VIcon/index.d.mts +24 -24
  193. package/lib/components/VIcon/index.mjs.map +1 -1
  194. package/lib/components/VImg/VImg.mjs.map +1 -1
  195. package/lib/components/VImg/index.d.mts +92 -92
  196. package/lib/components/VImg/index.mjs.map +1 -1
  197. package/lib/components/VInfiniteScroll/VInfiniteScroll.mjs.map +1 -1
  198. package/lib/components/VInfiniteScroll/index.d.mts +22 -22
  199. package/lib/components/VInfiniteScroll/index.mjs.map +1 -1
  200. package/lib/components/VInput/InputIcon.mjs.map +1 -1
  201. package/lib/components/VInput/VInput.mjs.map +1 -1
  202. package/lib/components/VInput/index.d.mts +41 -41
  203. package/lib/components/VInput/index.mjs.map +1 -1
  204. package/lib/components/VItemGroup/VItem.mjs.map +1 -1
  205. package/lib/components/VItemGroup/VItemGroup.mjs.map +1 -1
  206. package/lib/components/VItemGroup/index.d.mts +17 -17
  207. package/lib/components/VItemGroup/index.mjs.map +1 -1
  208. package/lib/components/VKbd/index.mjs.map +1 -1
  209. package/lib/components/VLabel/VLabel.mjs.map +1 -1
  210. package/lib/components/VLabel/index.d.mts +8 -8
  211. package/lib/components/VLabel/index.mjs.map +1 -1
  212. package/lib/components/VLayout/VLayout.mjs.map +1 -1
  213. package/lib/components/VLayout/VLayoutItem.mjs.map +1 -1
  214. package/lib/components/VLayout/index.d.mts +24 -24
  215. package/lib/components/VLayout/index.mjs.map +1 -1
  216. package/lib/components/VLazy/VLazy.mjs.map +1 -1
  217. package/lib/components/VLazy/index.d.mts +31 -31
  218. package/lib/components/VLazy/index.mjs.map +1 -1
  219. package/lib/components/VList/VList.mjs.map +1 -1
  220. package/lib/components/VList/VListChildren.mjs.map +1 -1
  221. package/lib/components/VList/VListGroup.mjs.map +1 -1
  222. package/lib/components/VList/VListImg.mjs.map +1 -1
  223. package/lib/components/VList/VListItem.mjs.map +1 -1
  224. package/lib/components/VList/VListItemAction.mjs.map +1 -1
  225. package/lib/components/VList/VListItemMedia.mjs.map +1 -1
  226. package/lib/components/VList/VListItemSubtitle.mjs.map +1 -1
  227. package/lib/components/VList/VListItemTitle.mjs.map +1 -1
  228. package/lib/components/VList/VListSubheader.mjs.map +1 -1
  229. package/lib/components/VList/index.d.mts +172 -172
  230. package/lib/components/VList/index.mjs.map +1 -1
  231. package/lib/components/VList/list.mjs.map +1 -1
  232. package/lib/components/VLocaleProvider/VLocaleProvider.mjs.map +1 -1
  233. package/lib/components/VLocaleProvider/index.d.mts +7 -7
  234. package/lib/components/VLocaleProvider/index.mjs.map +1 -1
  235. package/lib/components/VMain/VMain.mjs.map +1 -1
  236. package/lib/components/VMain/index.d.mts +2 -2
  237. package/lib/components/VMain/index.mjs.map +1 -1
  238. package/lib/components/VMenu/VMenu.mjs +2 -1
  239. package/lib/components/VMenu/VMenu.mjs.map +1 -1
  240. package/lib/components/VMenu/index.d.mts +438 -423
  241. package/lib/components/VMenu/index.mjs.map +1 -1
  242. package/lib/components/VMenu/shared.mjs.map +1 -1
  243. package/lib/components/VMessages/VMessages.mjs.map +1 -1
  244. package/lib/components/VMessages/index.d.mts +20 -20
  245. package/lib/components/VMessages/index.mjs.map +1 -1
  246. package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs.map +1 -1
  247. package/lib/components/VNavigationDrawer/index.d.mts +63 -63
  248. package/lib/components/VNavigationDrawer/index.mjs.map +1 -1
  249. package/lib/components/VNavigationDrawer/sticky.mjs.map +1 -1
  250. package/lib/components/VNavigationDrawer/touch.mjs.map +1 -1
  251. package/lib/components/VNoSsr/VNoSsr.mjs.map +1 -1
  252. package/lib/components/VNoSsr/index.mjs.map +1 -1
  253. package/lib/components/VOtpInput/VOtpInput.mjs.map +1 -1
  254. package/lib/components/VOtpInput/index.d.mts +88 -88
  255. package/lib/components/VOtpInput/index.mjs.map +1 -1
  256. package/lib/components/VOverflowBtn/VOverflowBtn.mjs.map +1 -1
  257. package/lib/components/VOverflowBtn/index.mjs.map +1 -1
  258. package/lib/components/VOverlay/VOverlay.mjs +5 -0
  259. package/lib/components/VOverlay/VOverlay.mjs.map +1 -1
  260. package/lib/components/VOverlay/index.d.mts +110 -104
  261. package/lib/components/VOverlay/index.mjs.map +1 -1
  262. package/lib/components/VOverlay/locationStrategies.mjs.map +1 -1
  263. package/lib/components/VOverlay/requestNewFrame.mjs.map +1 -1
  264. package/lib/components/VOverlay/scrollStrategies.mjs.map +1 -1
  265. package/lib/components/VOverlay/useActivator.mjs.map +1 -1
  266. package/lib/components/VOverlay/util/point.mjs.map +1 -1
  267. package/lib/components/VPagination/VPagination.mjs.map +1 -1
  268. package/lib/components/VPagination/index.d.mts +55 -55
  269. package/lib/components/VPagination/index.mjs.map +1 -1
  270. package/lib/components/VParallax/VParallax.mjs.map +1 -1
  271. package/lib/components/VParallax/index.d.mts +7 -7
  272. package/lib/components/VParallax/index.mjs.map +1 -1
  273. package/lib/components/VProgressCircular/VProgressCircular.mjs.map +1 -1
  274. package/lib/components/VProgressCircular/index.d.mts +24 -24
  275. package/lib/components/VProgressCircular/index.mjs.map +1 -1
  276. package/lib/components/VProgressLinear/VProgressLinear.mjs +1 -11
  277. package/lib/components/VProgressLinear/VProgressLinear.mjs.map +1 -1
  278. package/lib/components/VProgressLinear/index.d.mts +41 -62
  279. package/lib/components/VProgressLinear/index.mjs.map +1 -1
  280. package/lib/components/VRadio/VRadio.mjs.map +1 -1
  281. package/lib/components/VRadio/index.d.mts +41 -41
  282. package/lib/components/VRadio/index.mjs.map +1 -1
  283. package/lib/components/VRadioGroup/VRadioGroup.mjs.map +1 -1
  284. package/lib/components/VRadioGroup/index.d.mts +85 -85
  285. package/lib/components/VRadioGroup/index.mjs.map +1 -1
  286. package/lib/components/VRangeSlider/VRangeSlider.mjs.map +1 -1
  287. package/lib/components/VRangeSlider/index.d.mts +82 -82
  288. package/lib/components/VRangeSlider/index.mjs.map +1 -1
  289. package/lib/components/VRating/VRating.mjs.map +1 -1
  290. package/lib/components/VRating/index.d.mts +22 -22
  291. package/lib/components/VRating/index.mjs.map +1 -1
  292. package/lib/components/VResponsive/VResponsive.mjs.map +1 -1
  293. package/lib/components/VResponsive/index.d.mts +23 -23
  294. package/lib/components/VResponsive/index.mjs.map +1 -1
  295. package/lib/components/VSelect/VSelect.mjs +1 -1
  296. package/lib/components/VSelect/VSelect.mjs.map +1 -1
  297. package/lib/components/VSelect/index.d.mts +609 -609
  298. package/lib/components/VSelect/index.mjs.map +1 -1
  299. package/lib/components/VSelect/useScrolling.mjs.map +1 -1
  300. package/lib/components/VSelectionControl/VSelectionControl.mjs +1 -1
  301. package/lib/components/VSelectionControl/VSelectionControl.mjs.map +1 -1
  302. package/lib/components/VSelectionControl/index.d.mts +43 -43
  303. package/lib/components/VSelectionControl/index.mjs.map +1 -1
  304. package/lib/components/VSelectionControlGroup/VSelectionControlGroup.mjs.map +1 -1
  305. package/lib/components/VSelectionControlGroup/index.d.mts +39 -39
  306. package/lib/components/VSelectionControlGroup/index.mjs.map +1 -1
  307. package/lib/components/VSheet/VSheet.mjs.map +1 -1
  308. package/lib/components/VSheet/index.d.mts +34 -34
  309. package/lib/components/VSheet/index.mjs.map +1 -1
  310. package/lib/components/VSkeletonLoader/VSkeletonLoader.mjs.map +1 -1
  311. package/lib/components/VSkeletonLoader/index.d.mts +17 -17
  312. package/lib/components/VSkeletonLoader/index.mjs.map +1 -1
  313. package/lib/components/VSlideGroup/VSlideGroup.mjs.map +1 -1
  314. package/lib/components/VSlideGroup/VSlideGroupItem.mjs.map +1 -1
  315. package/lib/components/VSlideGroup/helpers.mjs.map +1 -1
  316. package/lib/components/VSlideGroup/index.d.mts +24 -24
  317. package/lib/components/VSlideGroup/index.mjs.map +1 -1
  318. package/lib/components/VSlider/VSlider.mjs.map +1 -1
  319. package/lib/components/VSlider/VSliderThumb.mjs.map +1 -1
  320. package/lib/components/VSlider/VSliderTrack.mjs.map +1 -1
  321. package/lib/components/VSlider/index.d.mts +75 -75
  322. package/lib/components/VSlider/index.mjs.map +1 -1
  323. package/lib/components/VSlider/slider.mjs.map +1 -1
  324. package/lib/components/VSnackbar/VSnackbar.mjs.map +1 -1
  325. package/lib/components/VSnackbar/index.d.mts +455 -440
  326. package/lib/components/VSnackbar/index.mjs.map +1 -1
  327. package/lib/components/VSparkline/VSparkline.mjs.map +1 -1
  328. package/lib/components/VSparkline/helpers/core.mjs.map +1 -1
  329. package/lib/components/VSparkline/helpers/math.mjs.map +1 -1
  330. package/lib/components/VSparkline/helpers/path.mjs.map +1 -1
  331. package/lib/components/VSparkline/index.mjs.map +1 -1
  332. package/lib/components/VSpeedDial/VSpeedDial.mjs.map +1 -1
  333. package/lib/components/VSpeedDial/index.mjs.map +1 -1
  334. package/lib/components/VStepper/VStepper.mjs.map +1 -1
  335. package/lib/components/VStepper/VStepperActions.mjs.map +1 -1
  336. package/lib/components/VStepper/VStepperHeader.mjs.map +1 -1
  337. package/lib/components/VStepper/VStepperItem.mjs.map +1 -1
  338. package/lib/components/VStepper/VStepperWindow.mjs.map +1 -1
  339. package/lib/components/VStepper/VStepperWindowItem.mjs.map +1 -1
  340. package/lib/components/VStepper/index.d.mts +115 -115
  341. package/lib/components/VStepper/index.mjs.map +1 -1
  342. package/lib/components/VSwitch/VSwitch.mjs.map +1 -1
  343. package/lib/components/VSwitch/index.d.mts +88 -88
  344. package/lib/components/VSwitch/index.mjs.map +1 -1
  345. package/lib/components/VSystemBar/VSystemBar.mjs.map +1 -1
  346. package/lib/components/VSystemBar/index.d.mts +39 -39
  347. package/lib/components/VSystemBar/index.mjs.map +1 -1
  348. package/lib/components/VTable/VTable.mjs.map +1 -1
  349. package/lib/components/VTable/index.d.mts +4 -4
  350. package/lib/components/VTable/index.mjs.map +1 -1
  351. package/lib/components/VTabs/VTab.mjs.map +1 -1
  352. package/lib/components/VTabs/VTabs.mjs.map +1 -1
  353. package/lib/components/VTabs/index.d.mts +437 -437
  354. package/lib/components/VTabs/index.mjs.map +1 -1
  355. package/lib/components/VTabs/shared.mjs.map +1 -1
  356. package/lib/components/VTextField/VTextField.mjs.map +1 -1
  357. package/lib/components/VTextField/index.d.mts +353 -353
  358. package/lib/components/VTextField/index.mjs.map +1 -1
  359. package/lib/components/VTextarea/VTextarea.mjs.map +1 -1
  360. package/lib/components/VTextarea/index.d.mts +230 -230
  361. package/lib/components/VTextarea/index.mjs.map +1 -1
  362. package/lib/components/VThemeProvider/VThemeProvider.mjs.map +1 -1
  363. package/lib/components/VThemeProvider/index.mjs.map +1 -1
  364. package/lib/components/VTimeline/VTimeline.mjs.map +1 -1
  365. package/lib/components/VTimeline/VTimelineDivider.mjs.map +1 -1
  366. package/lib/components/VTimeline/VTimelineItem.mjs.map +1 -1
  367. package/lib/components/VTimeline/index.d.mts +26 -26
  368. package/lib/components/VTimeline/index.mjs.map +1 -1
  369. package/lib/components/VToolbar/VToolbar.mjs.map +1 -1
  370. package/lib/components/VToolbar/VToolbarItems.mjs.map +1 -1
  371. package/lib/components/VToolbar/VToolbarTitle.mjs.map +1 -1
  372. package/lib/components/VToolbar/index.d.mts +53 -53
  373. package/lib/components/VToolbar/index.mjs.map +1 -1
  374. package/lib/components/VTooltip/VTooltip.mjs.map +1 -1
  375. package/lib/components/VTooltip/index.d.mts +469 -454
  376. package/lib/components/VTooltip/index.mjs.map +1 -1
  377. package/lib/components/VTreeview/VTreeview.mjs.map +1 -1
  378. package/lib/components/VTreeview/VTreeviewNode.mjs.map +1 -1
  379. package/lib/components/VTreeview/index.mjs.map +1 -1
  380. package/lib/components/VTreeview/util/filterTreeItems.mjs.map +1 -1
  381. package/lib/components/VValidation/VValidation.mjs.map +1 -1
  382. package/lib/components/VValidation/index.d.mts +19 -19
  383. package/lib/components/VValidation/index.mjs.map +1 -1
  384. package/lib/components/VVirtualScroll/VVirtualScroll.mjs.map +1 -1
  385. package/lib/components/VVirtualScroll/VVirtualScrollItem.mjs.map +1 -1
  386. package/lib/components/VVirtualScroll/index.d.mts +10 -10
  387. package/lib/components/VVirtualScroll/index.mjs.map +1 -1
  388. package/lib/components/VWindow/VWindow.mjs.map +1 -1
  389. package/lib/components/VWindow/VWindowItem.mjs.map +1 -1
  390. package/lib/components/VWindow/index.d.mts +31 -31
  391. package/lib/components/VWindow/index.mjs.map +1 -1
  392. package/lib/components/index.d.mts +9409 -9346
  393. package/lib/components/index.mjs.map +1 -1
  394. package/lib/components/transitions/createTransition.mjs.map +1 -1
  395. package/lib/components/transitions/dialog-transition.mjs.map +1 -1
  396. package/lib/components/transitions/expand-transition.mjs.map +1 -1
  397. package/lib/components/transitions/index.d.mts +200 -200
  398. package/lib/components/transitions/index.mjs.map +1 -1
  399. package/lib/composables/border.mjs.map +1 -1
  400. package/lib/composables/calendar.mjs +1 -1
  401. package/lib/composables/calendar.mjs.map +1 -1
  402. package/lib/composables/color.mjs.map +1 -1
  403. package/lib/composables/component.mjs.map +1 -1
  404. package/lib/composables/date/DateAdapter.mjs.map +1 -1
  405. package/lib/composables/date/adapters/vuetify.mjs +7 -6
  406. package/lib/composables/date/adapters/vuetify.mjs.map +1 -1
  407. package/lib/composables/date/date.mjs.map +1 -1
  408. package/lib/composables/date/index.mjs.map +1 -1
  409. package/lib/composables/defaults.mjs.map +1 -1
  410. package/lib/composables/delay.mjs.map +1 -1
  411. package/lib/composables/density.mjs.map +1 -1
  412. package/lib/composables/dimensions.mjs.map +1 -1
  413. package/lib/composables/directiveComponent.mjs.map +1 -1
  414. package/lib/composables/display.mjs.map +1 -1
  415. package/lib/composables/elevation.mjs.map +1 -1
  416. package/lib/composables/filter.mjs.map +1 -1
  417. package/lib/composables/focus.mjs.map +1 -1
  418. package/lib/composables/form.mjs.map +1 -1
  419. package/lib/composables/forwardRefs.mjs.map +1 -1
  420. package/lib/composables/goto.mjs.map +1 -1
  421. package/lib/composables/group.mjs.map +1 -1
  422. package/lib/composables/hydration.mjs.map +1 -1
  423. package/lib/composables/icons.mjs +2 -2
  424. package/lib/composables/icons.mjs.map +1 -1
  425. package/lib/composables/index.mjs.map +1 -1
  426. package/lib/composables/intersectionObserver.mjs.map +1 -1
  427. package/lib/composables/layout.mjs.map +1 -1
  428. package/lib/composables/lazy.mjs.map +1 -1
  429. package/lib/composables/list-items.mjs.map +1 -1
  430. package/lib/composables/loader.mjs.map +1 -1
  431. package/lib/composables/locale.mjs.map +1 -1
  432. package/lib/composables/location.mjs.map +1 -1
  433. package/lib/composables/mutationObserver.mjs.map +1 -1
  434. package/lib/composables/nested/activeStrategies.mjs.map +1 -1
  435. package/lib/composables/nested/nested.mjs.map +1 -1
  436. package/lib/composables/nested/openStrategies.mjs.map +1 -1
  437. package/lib/composables/nested/selectStrategies.mjs.map +1 -1
  438. package/lib/composables/position.mjs.map +1 -1
  439. package/lib/composables/proxiedModel.mjs.map +1 -1
  440. package/lib/composables/refs.mjs.map +1 -1
  441. package/lib/composables/resizeObserver.mjs.map +1 -1
  442. package/lib/composables/rounded.mjs +1 -1
  443. package/lib/composables/rounded.mjs.map +1 -1
  444. package/lib/composables/router.mjs +1 -1
  445. package/lib/composables/router.mjs.map +1 -1
  446. package/lib/composables/scopeId.mjs.map +1 -1
  447. package/lib/composables/scroll.mjs.map +1 -1
  448. package/lib/composables/selectLink.mjs.map +1 -1
  449. package/lib/composables/size.mjs.map +1 -1
  450. package/lib/composables/ssrBoot.mjs.map +1 -1
  451. package/lib/composables/stack.mjs.map +1 -1
  452. package/lib/composables/tag.mjs.map +1 -1
  453. package/lib/composables/teleport.mjs.map +1 -1
  454. package/lib/composables/theme.mjs.map +1 -1
  455. package/lib/composables/toggleScope.mjs.map +1 -1
  456. package/lib/composables/touch.mjs.map +1 -1
  457. package/lib/composables/transition.mjs.map +1 -1
  458. package/lib/composables/validation.mjs.map +1 -1
  459. package/lib/composables/variant.mjs.map +1 -1
  460. package/lib/composables/virtual.mjs.map +1 -1
  461. package/lib/directives/click-outside/index.mjs.map +1 -1
  462. package/lib/directives/color/index.mjs.map +1 -1
  463. package/lib/directives/index.mjs.map +1 -1
  464. package/lib/directives/intersect/index.mjs.map +1 -1
  465. package/lib/directives/mutate/index.mjs.map +1 -1
  466. package/lib/directives/resize/index.mjs.map +1 -1
  467. package/lib/directives/ripple/index.mjs.map +1 -1
  468. package/lib/directives/scroll/index.mjs.map +1 -1
  469. package/lib/directives/touch/index.mjs.map +1 -1
  470. package/lib/entry-bundler.mjs +1 -1
  471. package/lib/entry-bundler.mjs.map +1 -1
  472. package/lib/framework.mjs +1 -1
  473. package/lib/framework.mjs.map +1 -1
  474. package/lib/iconsets/fa-svg.mjs.map +1 -1
  475. package/lib/iconsets/fa.mjs.map +1 -1
  476. package/lib/iconsets/fa4.mjs.map +1 -1
  477. package/lib/iconsets/md.mjs.map +1 -1
  478. package/lib/iconsets/mdi-svg.mjs.map +1 -1
  479. package/lib/iconsets/mdi.mjs.map +1 -1
  480. package/lib/index.d.mts +36 -36
  481. package/lib/labs/VCalendar/VCalendar.mjs +15 -11
  482. package/lib/labs/VCalendar/VCalendar.mjs.map +1 -1
  483. package/lib/labs/VCalendar/VCalendarDay.mjs.map +1 -1
  484. package/lib/labs/VCalendar/VCalendarEvent.mjs.map +1 -1
  485. package/lib/labs/VCalendar/VCalendarHeader.mjs.map +1 -1
  486. package/lib/labs/VCalendar/VCalendarInterval.mjs.map +1 -1
  487. package/lib/labs/VCalendar/VCalendarIntervalEvent.mjs.map +1 -1
  488. package/lib/labs/VCalendar/VCalendarMonthDay.mjs +12 -4
  489. package/lib/labs/VCalendar/VCalendarMonthDay.mjs.map +1 -1
  490. package/lib/labs/VCalendar/index.d.mts +200 -52
  491. package/lib/labs/VCalendar/index.mjs.map +1 -1
  492. package/lib/labs/VConfirmEdit/VConfirmEdit.mjs.map +1 -1
  493. package/lib/labs/VConfirmEdit/__test__/VConfirmEdit.spec.cy.mjs.map +1 -1
  494. package/lib/labs/VConfirmEdit/index.d.mts +2 -2
  495. package/lib/labs/VConfirmEdit/index.mjs.map +1 -1
  496. package/lib/labs/VEmptyState/VEmptyState.css +7 -2
  497. package/lib/labs/VEmptyState/VEmptyState.mjs.map +1 -1
  498. package/lib/labs/VEmptyState/VEmptyState.sass +5 -0
  499. package/lib/labs/VEmptyState/_variables.scss +9 -6
  500. package/lib/labs/VEmptyState/index.d.mts +47 -47
  501. package/lib/labs/VEmptyState/index.mjs.map +1 -1
  502. package/lib/labs/VFab/VFab.mjs.map +1 -1
  503. package/lib/labs/VFab/index.d.mts +223 -223
  504. package/lib/labs/VFab/index.mjs.map +1 -1
  505. package/lib/labs/VNumberInput/VNumberInput.mjs.map +1 -1
  506. package/lib/labs/VNumberInput/index.d.mts +108 -108
  507. package/lib/labs/VNumberInput/index.mjs.map +1 -1
  508. package/lib/labs/VPicker/VPicker.mjs.map +1 -1
  509. package/lib/labs/VPicker/VPickerTitle.mjs.map +1 -1
  510. package/lib/labs/VPicker/index.d.mts +45 -45
  511. package/lib/labs/VPicker/index.mjs.map +1 -1
  512. package/lib/labs/VSparkline/VBarline.mjs.map +1 -1
  513. package/lib/labs/VSparkline/VSparkline.mjs.map +1 -1
  514. package/lib/labs/VSparkline/VTrendline.mjs.map +1 -1
  515. package/lib/labs/VSparkline/index.d.mts +38 -38
  516. package/lib/labs/VSparkline/index.mjs.map +1 -1
  517. package/lib/labs/VSparkline/util/line.mjs.map +1 -1
  518. package/lib/labs/VSparkline/util/path.mjs.map +1 -1
  519. package/lib/labs/VSpeedDial/VSpeedDial.css +39 -0
  520. package/lib/labs/VSpeedDial/VSpeedDial.mjs +19 -9
  521. package/lib/labs/VSpeedDial/VSpeedDial.mjs.map +1 -1
  522. package/lib/labs/VSpeedDial/VSpeedDial.sass +22 -0
  523. package/lib/labs/VSpeedDial/index.d.mts +297 -241
  524. package/lib/labs/VSpeedDial/index.mjs.map +1 -1
  525. package/lib/labs/VTimePicker/SelectingTimes.mjs.map +1 -1
  526. package/lib/labs/VTimePicker/VTimePicker.mjs +2 -2
  527. package/lib/labs/VTimePicker/VTimePicker.mjs.map +1 -1
  528. package/lib/labs/VTimePicker/VTimePickerClock.mjs +8 -5
  529. package/lib/labs/VTimePicker/VTimePickerClock.mjs.map +1 -1
  530. package/lib/labs/VTimePicker/VTimePickerControls.mjs.map +1 -1
  531. package/lib/labs/VTimePicker/index.d.mts +117 -117
  532. package/lib/labs/VTimePicker/index.mjs.map +1 -1
  533. package/lib/labs/VTreeview/VTreeview.mjs.map +1 -1
  534. package/lib/labs/VTreeview/VTreeviewChildren.mjs.map +1 -1
  535. package/lib/labs/VTreeview/VTreeviewGroup.mjs.map +1 -1
  536. package/lib/labs/VTreeview/VTreeviewItem.mjs.map +1 -1
  537. package/lib/labs/VTreeview/index.d.mts +201 -201
  538. package/lib/labs/VTreeview/index.mjs.map +1 -1
  539. package/lib/labs/VTreeview/shared.mjs.map +1 -1
  540. package/lib/labs/allComponents.mjs.map +1 -1
  541. package/lib/labs/components.d.mts +1251 -1047
  542. package/lib/labs/components.mjs.map +1 -1
  543. package/lib/labs/entry-bundler.mjs.map +1 -1
  544. package/lib/labs/index.mjs.map +1 -1
  545. package/lib/locale/adapters/vue-i18n.mjs.map +1 -1
  546. package/lib/locale/adapters/vuetify.mjs.map +1 -1
  547. package/lib/locale/af.mjs.map +1 -1
  548. package/lib/locale/ar.mjs.map +1 -1
  549. package/lib/locale/az.mjs.map +1 -1
  550. package/lib/locale/bg.mjs.map +1 -1
  551. package/lib/locale/ca.mjs.map +1 -1
  552. package/lib/locale/ckb.mjs.map +1 -1
  553. package/lib/locale/cs.mjs.map +1 -1
  554. package/lib/locale/da.mjs.map +1 -1
  555. package/lib/locale/de.mjs.map +1 -1
  556. package/lib/locale/el.mjs.map +1 -1
  557. package/lib/locale/en.mjs.map +1 -1
  558. package/lib/locale/es.mjs.map +1 -1
  559. package/lib/locale/et.mjs.map +1 -1
  560. package/lib/locale/fa.mjs.map +1 -1
  561. package/lib/locale/fi.mjs.map +1 -1
  562. package/lib/locale/fr.mjs.map +1 -1
  563. package/lib/locale/he.mjs.map +1 -1
  564. package/lib/locale/hr.mjs.map +1 -1
  565. package/lib/locale/hu.mjs.map +1 -1
  566. package/lib/locale/id.mjs.map +1 -1
  567. package/lib/locale/index.mjs.map +1 -1
  568. package/lib/locale/it.mjs.map +1 -1
  569. package/lib/locale/ja.mjs.map +1 -1
  570. package/lib/locale/km.mjs.map +1 -1
  571. package/lib/locale/ko.mjs.map +1 -1
  572. package/lib/locale/lt.mjs +25 -25
  573. package/lib/locale/lt.mjs.map +1 -1
  574. package/lib/locale/lv.mjs.map +1 -1
  575. package/lib/locale/nl.mjs.map +1 -1
  576. package/lib/locale/no.mjs.map +1 -1
  577. package/lib/locale/pl.mjs.map +1 -1
  578. package/lib/locale/pt.mjs.map +1 -1
  579. package/lib/locale/ro.mjs.map +1 -1
  580. package/lib/locale/ru.mjs.map +1 -1
  581. package/lib/locale/sk.mjs.map +1 -1
  582. package/lib/locale/sl.mjs +30 -30
  583. package/lib/locale/sl.mjs.map +1 -1
  584. package/lib/locale/sr-Cyrl.mjs.map +1 -1
  585. package/lib/locale/sr-Latn.mjs.map +1 -1
  586. package/lib/locale/sv.mjs.map +1 -1
  587. package/lib/locale/th.mjs.map +1 -1
  588. package/lib/locale/tr.mjs.map +1 -1
  589. package/lib/locale/uk.mjs.map +1 -1
  590. package/lib/locale/vi.mjs.map +1 -1
  591. package/lib/locale/zh-Hans.mjs.map +1 -1
  592. package/lib/locale/zh-Hant.mjs.map +1 -1
  593. package/lib/services/goto/easing-patterns.mjs.map +1 -1
  594. package/lib/services/goto/index.mjs.map +1 -1
  595. package/lib/services/goto/util.mjs.map +1 -1
  596. package/lib/styles/main.css +30 -0
  597. package/lib/styles/settings/_variables.scss +1 -0
  598. package/lib/util/anchor.mjs.map +1 -1
  599. package/lib/util/animation.mjs.map +1 -1
  600. package/lib/util/bindProps.mjs.map +1 -1
  601. package/lib/util/box.mjs.map +1 -1
  602. package/lib/util/color/APCA.mjs.map +1 -1
  603. package/lib/util/color/transformCIELAB.mjs.map +1 -1
  604. package/lib/util/color/transformSRGB.mjs.map +1 -1
  605. package/lib/util/colorUtils.mjs.map +1 -1
  606. package/lib/util/colors.mjs.map +1 -1
  607. package/lib/util/console.mjs.map +1 -1
  608. package/lib/util/createSimpleFunctional.mjs.map +1 -1
  609. package/lib/util/defineComponent.mjs.map +1 -1
  610. package/lib/util/dom.mjs.map +1 -1
  611. package/lib/util/easing.mjs.map +1 -1
  612. package/lib/util/events.mjs.map +1 -1
  613. package/lib/util/getCurrentInstance.mjs.map +1 -1
  614. package/lib/util/getScrollParent.mjs.map +1 -1
  615. package/lib/util/globals.mjs.map +1 -1
  616. package/lib/util/helpers.mjs +8 -16
  617. package/lib/util/helpers.mjs.map +1 -1
  618. package/lib/util/index.mjs.map +1 -1
  619. package/lib/util/injectSelf.mjs.map +1 -1
  620. package/lib/util/isFixedPosition.mjs.map +1 -1
  621. package/lib/util/propsFactory.mjs.map +1 -1
  622. package/lib/util/useRender.mjs.map +1 -1
  623. package/package.json +25 -25
@@ -1 +1 @@
1
- {"version":3,"file":"layout.mjs","names":["useResizeObserver","computed","inject","onActivated","onBeforeUnmount","onDeactivated","onMounted","provide","reactive","ref","shallowRef","convertToUnit","findChildrenWithProvide","getCurrentInstance","getUid","propsFactory","VuetifyLayoutKey","Symbol","for","VuetifyLayoutItemKey","ROOT_ZINDEX","makeLayoutProps","overlaps","type","Array","default","fullHeight","Boolean","makeLayoutItemProps","name","String","order","Number","absolute","useLayout","layout","Error","getLayoutItem","mainRect","mainStyles","useLayoutItem","options","id","vm","isKeptAlive","value","layoutItemStyles","layoutItemScrimStyles","register","active","unregister","layoutRect","generateLayers","positions","layoutSizes","activeItems","previousLayer","top","left","right","bottom","layers","layer","position","get","amount","parseInt","push","createLayout","props","parentLayout","rootZIndex","registered","Map","priorities","disabledTransitions","resizeRef","contentRect","computedOverlaps","map","overlap","filter","item","includes","split","topPosition","bottomPosition","topAmount","bottomAmount","set","uniquePriorities","Set","values","p","sort","a","b","items","transitionsEnabled","from","some","length","undefined","transition","slice","_ref","index","size","find","rootVm","isMounted","_ref2","layoutSize","elementSize","disableTransitions","instances","vnode","instanceIndex","indexOf","splice","findIndex","i","zIndex","isHorizontal","isOppositeHorizontal","isOppositeVertical","styles","transform","height","width","delete","v","layoutClasses","layoutStyles","overflow","layoutRef"],"sources":["../../src/composables/layout.ts"],"sourcesContent":["// Composables\nimport { useResizeObserver } from '@/composables/resizeObserver'\n\n// Utilities\nimport {\n computed,\n inject,\n onActivated,\n onBeforeUnmount,\n onDeactivated,\n onMounted,\n provide,\n reactive,\n ref,\n shallowRef,\n} from 'vue'\nimport { convertToUnit, findChildrenWithProvide, getCurrentInstance, getUid, propsFactory } from '@/util'\n\n// Types\nimport type { ComponentInternalInstance, CSSProperties, InjectionKey, Prop, Ref } from 'vue'\n\nexport type Position = 'top' | 'left' | 'right' | 'bottom'\n\ninterface Layer {\n top: number\n bottom: number\n left: number\n right: number\n}\n\ninterface LayoutItem extends Layer {\n id: string\n size: number\n position: Position\n}\n\ninterface LayoutProvide {\n register: (\n vm: ComponentInternalInstance,\n options: {\n id: string\n order: Ref<number>\n position: Ref<Position>\n layoutSize: Ref<number | string>\n elementSize: Ref<number | string | undefined>\n active: Ref<boolean>\n disableTransitions?: Ref<boolean>\n absolute: Ref<boolean | undefined>\n }\n ) => {\n layoutItemStyles: Ref<CSSProperties>\n layoutItemScrimStyles: Ref<CSSProperties>\n zIndex: Ref<number>\n }\n unregister: (id: string) => void\n mainRect: Ref<Layer>\n mainStyles: Ref<CSSProperties>\n getLayoutItem: (id: string) => LayoutItem | undefined\n items: Ref<LayoutItem[]>\n layoutRect: Ref<DOMRectReadOnly | undefined>\n rootZIndex: Ref<number>\n}\n\nexport const VuetifyLayoutKey: InjectionKey<LayoutProvide> = Symbol.for('vuetify:layout')\nexport const VuetifyLayoutItemKey: InjectionKey<{ id: string }> = Symbol.for('vuetify:layout-item')\n\nconst ROOT_ZINDEX = 1000\n\nexport const makeLayoutProps = propsFactory({\n overlaps: {\n type: Array,\n default: () => ([]),\n } as Prop<string[]>,\n fullHeight: Boolean,\n}, 'layout')\n\n// Composables\nexport const makeLayoutItemProps = propsFactory({\n name: {\n type: String,\n },\n order: {\n type: [Number, String],\n default: 0,\n },\n absolute: Boolean,\n}, 'layout-item')\n\nexport function useLayout () {\n const layout = inject(VuetifyLayoutKey)\n\n if (!layout) throw new Error('[Vuetify] Could not find injected layout')\n\n return {\n getLayoutItem: layout.getLayoutItem,\n mainRect: layout.mainRect,\n mainStyles: layout.mainStyles,\n }\n}\n\nexport function useLayoutItem (options: {\n id: string | undefined\n order: Ref<number>\n position: Ref<Position>\n layoutSize: Ref<number | string>\n elementSize: Ref<number | string | undefined>\n active: Ref<boolean>\n disableTransitions?: Ref<boolean>\n absolute: Ref<boolean | undefined>\n}) {\n const layout = inject(VuetifyLayoutKey)\n\n if (!layout) throw new Error('[Vuetify] Could not find injected layout')\n\n const id = options.id ?? `layout-item-${getUid()}`\n\n const vm = getCurrentInstance('useLayoutItem')\n\n provide(VuetifyLayoutItemKey, { id })\n\n const isKeptAlive = shallowRef(false)\n onDeactivated(() => isKeptAlive.value = true)\n onActivated(() => isKeptAlive.value = false)\n\n const {\n layoutItemStyles,\n layoutItemScrimStyles,\n } = layout.register(vm, {\n ...options,\n active: computed(() => isKeptAlive.value ? false : options.active.value),\n id,\n })\n\n onBeforeUnmount(() => layout.unregister(id))\n\n return { layoutItemStyles, layoutRect: layout.layoutRect, layoutItemScrimStyles }\n}\n\nconst generateLayers = (\n layout: string[],\n positions: Map<string, Ref<Position>>,\n layoutSizes: Map<string, Ref<number | string>>,\n activeItems: Map<string, Ref<boolean>>,\n): { id: string, layer: Layer }[] => {\n let previousLayer: Layer = { top: 0, left: 0, right: 0, bottom: 0 }\n const layers = [{ id: '', layer: { ...previousLayer } }]\n for (const id of layout) {\n const position = positions.get(id)\n const amount = layoutSizes.get(id)\n const active = activeItems.get(id)\n if (!position || !amount || !active) continue\n\n const layer = {\n ...previousLayer,\n [position.value]: parseInt(previousLayer[position.value], 10) + (active.value ? parseInt(amount.value, 10) : 0),\n }\n\n layers.push({\n id,\n layer,\n })\n\n previousLayer = layer\n }\n\n return layers\n}\n\nexport function createLayout (props: { overlaps?: string[], fullHeight?: boolean }) {\n const parentLayout = inject(VuetifyLayoutKey, null)\n const rootZIndex = computed(() => parentLayout ? parentLayout.rootZIndex.value - 100 : ROOT_ZINDEX)\n const registered = ref<string[]>([])\n const positions = reactive(new Map<string, Ref<Position>>())\n const layoutSizes = reactive(new Map<string, Ref<number | string>>())\n const priorities = reactive(new Map<string, Ref<number>>())\n const activeItems = reactive(new Map<string, Ref<boolean>>())\n const disabledTransitions = reactive(new Map<string, Ref<boolean>>())\n const { resizeRef, contentRect: layoutRect } = useResizeObserver()\n\n const computedOverlaps = computed(() => {\n const map = new Map<string, { position: Position, amount: number }>()\n const overlaps = props.overlaps ?? []\n for (const overlap of overlaps.filter(item => item.includes(':'))) {\n const [top, bottom] = overlap.split(':')\n if (!registered.value.includes(top) || !registered.value.includes(bottom)) continue\n\n const topPosition = positions.get(top)\n const bottomPosition = positions.get(bottom)\n const topAmount = layoutSizes.get(top)\n const bottomAmount = layoutSizes.get(bottom)\n\n if (!topPosition || !bottomPosition || !topAmount || !bottomAmount) continue\n\n map.set(bottom, { position: topPosition.value, amount: parseInt(topAmount.value, 10) })\n map.set(top, { position: bottomPosition.value, amount: -parseInt(bottomAmount.value, 10) })\n }\n\n return map\n })\n\n const layers = computed(() => {\n const uniquePriorities = [...new Set([...priorities.values()].map(p => p.value))].sort((a, b) => a - b)\n const layout = []\n for (const p of uniquePriorities) {\n const items = registered.value.filter(id => priorities.get(id)?.value === p)\n layout.push(...items)\n }\n return generateLayers(layout, positions, layoutSizes, activeItems)\n })\n\n const transitionsEnabled = computed(() => {\n return !Array.from(disabledTransitions.values()).some(ref => ref.value)\n })\n\n const mainRect = computed(() => {\n return layers.value[layers.value.length - 1].layer\n })\n\n const mainStyles = computed<CSSProperties>(() => {\n return {\n '--v-layout-left': convertToUnit(mainRect.value.left),\n '--v-layout-right': convertToUnit(mainRect.value.right),\n '--v-layout-top': convertToUnit(mainRect.value.top),\n '--v-layout-bottom': convertToUnit(mainRect.value.bottom),\n ...(transitionsEnabled.value ? undefined : { transition: 'none' }),\n }\n })\n\n const items = computed(() => {\n return layers.value.slice(1).map(({ id }, index) => {\n const { layer } = layers.value[index]\n const size = layoutSizes.get(id)\n const position = positions.get(id)\n\n return {\n id,\n ...layer,\n size: Number(size!.value),\n position: position!.value,\n }\n })\n })\n\n const getLayoutItem = (id: string) => {\n return items.value.find(item => item.id === id)\n }\n\n const rootVm = getCurrentInstance('createLayout')\n\n const isMounted = shallowRef(false)\n onMounted(() => {\n isMounted.value = true\n })\n\n provide(VuetifyLayoutKey, {\n register: (\n vm: ComponentInternalInstance,\n {\n id,\n order,\n position,\n layoutSize,\n elementSize,\n active,\n disableTransitions,\n absolute,\n }\n ) => {\n priorities.set(id, order)\n positions.set(id, position)\n layoutSizes.set(id, layoutSize)\n activeItems.set(id, active)\n disableTransitions && disabledTransitions.set(id, disableTransitions)\n\n const instances = findChildrenWithProvide(VuetifyLayoutItemKey, rootVm?.vnode)\n const instanceIndex = instances.indexOf(vm)\n\n if (instanceIndex > -1) registered.value.splice(instanceIndex, 0, id)\n else registered.value.push(id)\n\n const index = computed(() => items.value.findIndex(i => i.id === id))\n const zIndex = computed(() => rootZIndex.value + (layers.value.length * 2) - (index.value * 2))\n\n const layoutItemStyles = computed<CSSProperties>(() => {\n const isHorizontal = position.value === 'left' || position.value === 'right'\n const isOppositeHorizontal = position.value === 'right'\n const isOppositeVertical = position.value === 'bottom'\n\n const styles = {\n [position.value]: 0,\n zIndex: zIndex.value,\n transform: `translate${isHorizontal ? 'X' : 'Y'}(${(active.value ? 0 : -110) * (isOppositeHorizontal || isOppositeVertical ? -1 : 1)}%)`,\n position: absolute.value || rootZIndex.value !== ROOT_ZINDEX ? 'absolute' : 'fixed',\n ...(transitionsEnabled.value ? undefined : { transition: 'none' }),\n } as const\n\n if (!isMounted.value) return styles\n\n const item = items.value[index.value]\n\n if (!item) throw new Error(`[Vuetify] Could not find layout item \"${id}\"`)\n\n const overlap = computedOverlaps.value.get(id)\n if (overlap) {\n item[overlap.position] += overlap.amount\n }\n\n return {\n ...styles,\n height:\n isHorizontal ? `calc(100% - ${item.top}px - ${item.bottom}px)`\n : elementSize.value ? `${elementSize.value}px`\n : undefined,\n left: isOppositeHorizontal ? undefined : `${item.left}px`,\n right: isOppositeHorizontal ? `${item.right}px` : undefined,\n top: position.value !== 'bottom' ? `${item.top}px` : undefined,\n bottom: position.value !== 'top' ? `${item.bottom}px` : undefined,\n width:\n !isHorizontal ? `calc(100% - ${item.left}px - ${item.right}px)`\n : elementSize.value ? `${elementSize.value}px`\n : undefined,\n }\n })\n\n const layoutItemScrimStyles = computed<CSSProperties>(() => ({\n zIndex: zIndex.value - 1,\n }))\n\n return { layoutItemStyles, layoutItemScrimStyles, zIndex }\n },\n unregister: (id: string) => {\n priorities.delete(id)\n positions.delete(id)\n layoutSizes.delete(id)\n activeItems.delete(id)\n disabledTransitions.delete(id)\n registered.value = registered.value.filter(v => v !== id)\n },\n mainRect,\n mainStyles,\n getLayoutItem,\n items,\n layoutRect,\n rootZIndex,\n })\n\n const layoutClasses = computed(() => [\n 'v-layout',\n { 'v-layout--full-height': props.fullHeight },\n ])\n\n const layoutStyles = computed(() => ({\n zIndex: parentLayout ? rootZIndex.value : undefined,\n position: parentLayout ? 'relative' as const : undefined,\n overflow: parentLayout ? 'hidden' : undefined,\n }))\n\n return {\n layoutClasses,\n layoutStyles,\n getLayoutItem,\n items,\n layoutRect,\n layoutRef: resizeRef,\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"layout.mjs","names":["useResizeObserver","computed","inject","onActivated","onBeforeUnmount","onDeactivated","onMounted","provide","reactive","ref","shallowRef","convertToUnit","findChildrenWithProvide","getCurrentInstance","getUid","propsFactory","VuetifyLayoutKey","Symbol","for","VuetifyLayoutItemKey","ROOT_ZINDEX","makeLayoutProps","overlaps","type","Array","default","fullHeight","Boolean","makeLayoutItemProps","name","String","order","Number","absolute","useLayout","layout","Error","getLayoutItem","mainRect","mainStyles","useLayoutItem","options","id","vm","isKeptAlive","value","layoutItemStyles","layoutItemScrimStyles","register","active","unregister","layoutRect","generateLayers","positions","layoutSizes","activeItems","previousLayer","top","left","right","bottom","layers","layer","position","get","amount","parseInt","push","createLayout","props","parentLayout","rootZIndex","registered","Map","priorities","disabledTransitions","resizeRef","contentRect","computedOverlaps","map","overlap","filter","item","includes","split","topPosition","bottomPosition","topAmount","bottomAmount","set","uniquePriorities","Set","values","p","sort","a","b","items","transitionsEnabled","from","some","length","undefined","transition","slice","_ref","index","size","find","rootVm","isMounted","_ref2","layoutSize","elementSize","disableTransitions","instances","vnode","instanceIndex","indexOf","splice","findIndex","i","zIndex","isHorizontal","isOppositeHorizontal","isOppositeVertical","styles","transform","height","width","delete","v","layoutClasses","layoutStyles","overflow","layoutRef"],"sources":["../../src/composables/layout.ts"],"sourcesContent":["// Composables\nimport { useResizeObserver } from '@/composables/resizeObserver'\n\n// Utilities\nimport {\n computed,\n inject,\n onActivated,\n onBeforeUnmount,\n onDeactivated,\n onMounted,\n provide,\n reactive,\n ref,\n shallowRef,\n} from 'vue'\nimport { convertToUnit, findChildrenWithProvide, getCurrentInstance, getUid, propsFactory } from '@/util'\n\n// Types\nimport type { ComponentInternalInstance, CSSProperties, InjectionKey, Prop, Ref } from 'vue'\n\nexport type Position = 'top' | 'left' | 'right' | 'bottom'\n\ninterface Layer {\n top: number\n bottom: number\n left: number\n right: number\n}\n\ninterface LayoutItem extends Layer {\n id: string\n size: number\n position: Position\n}\n\ninterface LayoutProvide {\n register: (\n vm: ComponentInternalInstance,\n options: {\n id: string\n order: Ref<number>\n position: Ref<Position>\n layoutSize: Ref<number | string>\n elementSize: Ref<number | string | undefined>\n active: Ref<boolean>\n disableTransitions?: Ref<boolean>\n absolute: Ref<boolean | undefined>\n }\n ) => {\n layoutItemStyles: Ref<CSSProperties>\n layoutItemScrimStyles: Ref<CSSProperties>\n zIndex: Ref<number>\n }\n unregister: (id: string) => void\n mainRect: Ref<Layer>\n mainStyles: Ref<CSSProperties>\n getLayoutItem: (id: string) => LayoutItem | undefined\n items: Ref<LayoutItem[]>\n layoutRect: Ref<DOMRectReadOnly | undefined>\n rootZIndex: Ref<number>\n}\n\nexport const VuetifyLayoutKey: InjectionKey<LayoutProvide> = Symbol.for('vuetify:layout')\nexport const VuetifyLayoutItemKey: InjectionKey<{ id: string }> = Symbol.for('vuetify:layout-item')\n\nconst ROOT_ZINDEX = 1000\n\nexport const makeLayoutProps = propsFactory({\n overlaps: {\n type: Array,\n default: () => ([]),\n } as Prop<string[]>,\n fullHeight: Boolean,\n}, 'layout')\n\n// Composables\nexport const makeLayoutItemProps = propsFactory({\n name: {\n type: String,\n },\n order: {\n type: [Number, String],\n default: 0,\n },\n absolute: Boolean,\n}, 'layout-item')\n\nexport function useLayout () {\n const layout = inject(VuetifyLayoutKey)\n\n if (!layout) throw new Error('[Vuetify] Could not find injected layout')\n\n return {\n getLayoutItem: layout.getLayoutItem,\n mainRect: layout.mainRect,\n mainStyles: layout.mainStyles,\n }\n}\n\nexport function useLayoutItem (options: {\n id: string | undefined\n order: Ref<number>\n position: Ref<Position>\n layoutSize: Ref<number | string>\n elementSize: Ref<number | string | undefined>\n active: Ref<boolean>\n disableTransitions?: Ref<boolean>\n absolute: Ref<boolean | undefined>\n}) {\n const layout = inject(VuetifyLayoutKey)\n\n if (!layout) throw new Error('[Vuetify] Could not find injected layout')\n\n const id = options.id ?? `layout-item-${getUid()}`\n\n const vm = getCurrentInstance('useLayoutItem')\n\n provide(VuetifyLayoutItemKey, { id })\n\n const isKeptAlive = shallowRef(false)\n onDeactivated(() => isKeptAlive.value = true)\n onActivated(() => isKeptAlive.value = false)\n\n const {\n layoutItemStyles,\n layoutItemScrimStyles,\n } = layout.register(vm, {\n ...options,\n active: computed(() => isKeptAlive.value ? false : options.active.value),\n id,\n })\n\n onBeforeUnmount(() => layout.unregister(id))\n\n return { layoutItemStyles, layoutRect: layout.layoutRect, layoutItemScrimStyles }\n}\n\nconst generateLayers = (\n layout: string[],\n positions: Map<string, Ref<Position>>,\n layoutSizes: Map<string, Ref<number | string>>,\n activeItems: Map<string, Ref<boolean>>,\n): { id: string, layer: Layer }[] => {\n let previousLayer: Layer = { top: 0, left: 0, right: 0, bottom: 0 }\n const layers = [{ id: '', layer: { ...previousLayer } }]\n for (const id of layout) {\n const position = positions.get(id)\n const amount = layoutSizes.get(id)\n const active = activeItems.get(id)\n if (!position || !amount || !active) continue\n\n const layer = {\n ...previousLayer,\n [position.value]: parseInt(previousLayer[position.value], 10) + (active.value ? parseInt(amount.value, 10) : 0),\n }\n\n layers.push({\n id,\n layer,\n })\n\n previousLayer = layer\n }\n\n return layers\n}\n\nexport function createLayout (props: { overlaps?: string[], fullHeight?: boolean }) {\n const parentLayout = inject(VuetifyLayoutKey, null)\n const rootZIndex = computed(() => parentLayout ? parentLayout.rootZIndex.value - 100 : ROOT_ZINDEX)\n const registered = ref<string[]>([])\n const positions = reactive(new Map<string, Ref<Position>>())\n const layoutSizes = reactive(new Map<string, Ref<number | string>>())\n const priorities = reactive(new Map<string, Ref<number>>())\n const activeItems = reactive(new Map<string, Ref<boolean>>())\n const disabledTransitions = reactive(new Map<string, Ref<boolean>>())\n const { resizeRef, contentRect: layoutRect } = useResizeObserver()\n\n const computedOverlaps = computed(() => {\n const map = new Map<string, { position: Position, amount: number }>()\n const overlaps = props.overlaps ?? []\n for (const overlap of overlaps.filter(item => item.includes(':'))) {\n const [top, bottom] = overlap.split(':')\n if (!registered.value.includes(top) || !registered.value.includes(bottom)) continue\n\n const topPosition = positions.get(top)\n const bottomPosition = positions.get(bottom)\n const topAmount = layoutSizes.get(top)\n const bottomAmount = layoutSizes.get(bottom)\n\n if (!topPosition || !bottomPosition || !topAmount || !bottomAmount) continue\n\n map.set(bottom, { position: topPosition.value, amount: parseInt(topAmount.value, 10) })\n map.set(top, { position: bottomPosition.value, amount: -parseInt(bottomAmount.value, 10) })\n }\n\n return map\n })\n\n const layers = computed(() => {\n const uniquePriorities = [...new Set([...priorities.values()].map(p => p.value))].sort((a, b) => a - b)\n const layout = []\n for (const p of uniquePriorities) {\n const items = registered.value.filter(id => priorities.get(id)?.value === p)\n layout.push(...items)\n }\n return generateLayers(layout, positions, layoutSizes, activeItems)\n })\n\n const transitionsEnabled = computed(() => {\n return !Array.from(disabledTransitions.values()).some(ref => ref.value)\n })\n\n const mainRect = computed(() => {\n return layers.value[layers.value.length - 1].layer\n })\n\n const mainStyles = computed<CSSProperties>(() => {\n return {\n '--v-layout-left': convertToUnit(mainRect.value.left),\n '--v-layout-right': convertToUnit(mainRect.value.right),\n '--v-layout-top': convertToUnit(mainRect.value.top),\n '--v-layout-bottom': convertToUnit(mainRect.value.bottom),\n ...(transitionsEnabled.value ? undefined : { transition: 'none' }),\n }\n })\n\n const items = computed(() => {\n return layers.value.slice(1).map(({ id }, index) => {\n const { layer } = layers.value[index]\n const size = layoutSizes.get(id)\n const position = positions.get(id)\n\n return {\n id,\n ...layer,\n size: Number(size!.value),\n position: position!.value,\n }\n })\n })\n\n const getLayoutItem = (id: string) => {\n return items.value.find(item => item.id === id)\n }\n\n const rootVm = getCurrentInstance('createLayout')\n\n const isMounted = shallowRef(false)\n onMounted(() => {\n isMounted.value = true\n })\n\n provide(VuetifyLayoutKey, {\n register: (\n vm: ComponentInternalInstance,\n {\n id,\n order,\n position,\n layoutSize,\n elementSize,\n active,\n disableTransitions,\n absolute,\n }\n ) => {\n priorities.set(id, order)\n positions.set(id, position)\n layoutSizes.set(id, layoutSize)\n activeItems.set(id, active)\n disableTransitions && disabledTransitions.set(id, disableTransitions)\n\n const instances = findChildrenWithProvide(VuetifyLayoutItemKey, rootVm?.vnode)\n const instanceIndex = instances.indexOf(vm)\n\n if (instanceIndex > -1) registered.value.splice(instanceIndex, 0, id)\n else registered.value.push(id)\n\n const index = computed(() => items.value.findIndex(i => i.id === id))\n const zIndex = computed(() => rootZIndex.value + (layers.value.length * 2) - (index.value * 2))\n\n const layoutItemStyles = computed<CSSProperties>(() => {\n const isHorizontal = position.value === 'left' || position.value === 'right'\n const isOppositeHorizontal = position.value === 'right'\n const isOppositeVertical = position.value === 'bottom'\n\n const styles = {\n [position.value]: 0,\n zIndex: zIndex.value,\n transform: `translate${isHorizontal ? 'X' : 'Y'}(${(active.value ? 0 : -110) * (isOppositeHorizontal || isOppositeVertical ? -1 : 1)}%)`,\n position: absolute.value || rootZIndex.value !== ROOT_ZINDEX ? 'absolute' : 'fixed',\n ...(transitionsEnabled.value ? undefined : { transition: 'none' }),\n } as const\n\n if (!isMounted.value) return styles\n\n const item = items.value[index.value]\n\n if (!item) throw new Error(`[Vuetify] Could not find layout item \"${id}\"`)\n\n const overlap = computedOverlaps.value.get(id)\n if (overlap) {\n item[overlap.position] += overlap.amount\n }\n\n return {\n ...styles,\n height:\n isHorizontal ? `calc(100% - ${item.top}px - ${item.bottom}px)`\n : elementSize.value ? `${elementSize.value}px`\n : undefined,\n left: isOppositeHorizontal ? undefined : `${item.left}px`,\n right: isOppositeHorizontal ? `${item.right}px` : undefined,\n top: position.value !== 'bottom' ? `${item.top}px` : undefined,\n bottom: position.value !== 'top' ? `${item.bottom}px` : undefined,\n width:\n !isHorizontal ? `calc(100% - ${item.left}px - ${item.right}px)`\n : elementSize.value ? `${elementSize.value}px`\n : undefined,\n }\n })\n\n const layoutItemScrimStyles = computed<CSSProperties>(() => ({\n zIndex: zIndex.value - 1,\n }))\n\n return { layoutItemStyles, layoutItemScrimStyles, zIndex }\n },\n unregister: (id: string) => {\n priorities.delete(id)\n positions.delete(id)\n layoutSizes.delete(id)\n activeItems.delete(id)\n disabledTransitions.delete(id)\n registered.value = registered.value.filter(v => v !== id)\n },\n mainRect,\n mainStyles,\n getLayoutItem,\n items,\n layoutRect,\n rootZIndex,\n })\n\n const layoutClasses = computed(() => [\n 'v-layout',\n { 'v-layout--full-height': props.fullHeight },\n ])\n\n const layoutStyles = computed(() => ({\n zIndex: parentLayout ? rootZIndex.value : undefined,\n position: parentLayout ? 'relative' as const : undefined,\n overflow: parentLayout ? 'hidden' : undefined,\n }))\n\n return {\n layoutClasses,\n layoutStyles,\n getLayoutItem,\n items,\n layoutRect,\n layoutRef: resizeRef,\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"lazy.mjs","names":["computed","shallowRef","watch","propsFactory","makeLazyProps","eager","Boolean","useLazy","props","active","isBooted","hasContent","value","onAfterLeave"],"sources":["../../src/composables/lazy.ts"],"sourcesContent":["// Utilities\nimport { computed, shallowRef, watch } from 'vue'\nimport { propsFactory } from '@/util'\n\n// Types\nimport type { Ref } from 'vue'\n\nexport const makeLazyProps = propsFactory({\n eager: Boolean,\n}, 'lazy')\n\nexport function useLazy (props: { eager: boolean }, active: Ref<boolean>) {\n const isBooted = shallowRef(false)\n const hasContent = computed(() => isBooted.value || props.eager || active.value)\n\n watch(active, () => isBooted.value = true)\n\n function onAfterLeave () {\n if (!props.eager) isBooted.value = false\n }\n\n return { isBooted, hasContent, onAfterLeave }\n}\n"],"mappings":"AAAA;AACA,SAASA,QAAQ,EAAEC,UAAU,EAAEC,KAAK,QAAQ,KAAK;AAAA,SACxCC,YAAY,6BAErB;AAGA,OAAO,MAAMC,aAAa,GAAGD,YAAY,CAAC;EACxCE,KAAK,EAAEC;AACT,CAAC,EAAE,MAAM,CAAC;AAEV,OAAO,SAASC,OAAOA,CAAEC,KAAyB,EAAEC,MAAoB,EAAE;EACxE,MAAMC,QAAQ,GAAGT,UAAU,CAAC,KAAK,CAAC;EAClC,MAAMU,UAAU,GAAGX,QAAQ,CAAC,MAAMU,QAAQ,CAACE,KAAK,IAAIJ,KAAK,CAACH,KAAK,IAAII,MAAM,CAACG,KAAK,CAAC;EAEhFV,KAAK,CAACO,MAAM,EAAE,MAAMC,QAAQ,CAACE,KAAK,GAAG,IAAI,CAAC;EAE1C,SAASC,YAAYA,CAAA,EAAI;IACvB,IAAI,CAACL,KAAK,CAACH,KAAK,EAAEK,QAAQ,CAACE,KAAK,GAAG,KAAK;EAC1C;EAEA,OAAO;IAAEF,QAAQ;IAAEC,UAAU;IAAEE;EAAa,CAAC;AAC/C"}
1
+ {"version":3,"file":"lazy.mjs","names":["computed","shallowRef","watch","propsFactory","makeLazyProps","eager","Boolean","useLazy","props","active","isBooted","hasContent","value","onAfterLeave"],"sources":["../../src/composables/lazy.ts"],"sourcesContent":["// Utilities\nimport { computed, shallowRef, watch } from 'vue'\nimport { propsFactory } from '@/util'\n\n// Types\nimport type { Ref } from 'vue'\n\nexport const makeLazyProps = propsFactory({\n eager: Boolean,\n}, 'lazy')\n\nexport function useLazy (props: { eager: boolean }, active: Ref<boolean>) {\n const isBooted = shallowRef(false)\n const hasContent = computed(() => isBooted.value || props.eager || active.value)\n\n watch(active, () => isBooted.value = true)\n\n function onAfterLeave () {\n if (!props.eager) isBooted.value = false\n }\n\n return { isBooted, hasContent, onAfterLeave }\n}\n"],"mappings":"AAAA;AACA,SAASA,QAAQ,EAAEC,UAAU,EAAEC,KAAK,QAAQ,KAAK;AAAA,SACxCC,YAAY,6BAErB;AAGA,OAAO,MAAMC,aAAa,GAAGD,YAAY,CAAC;EACxCE,KAAK,EAAEC;AACT,CAAC,EAAE,MAAM,CAAC;AAEV,OAAO,SAASC,OAAOA,CAAEC,KAAyB,EAAEC,MAAoB,EAAE;EACxE,MAAMC,QAAQ,GAAGT,UAAU,CAAC,KAAK,CAAC;EAClC,MAAMU,UAAU,GAAGX,QAAQ,CAAC,MAAMU,QAAQ,CAACE,KAAK,IAAIJ,KAAK,CAACH,KAAK,IAAII,MAAM,CAACG,KAAK,CAAC;EAEhFV,KAAK,CAACO,MAAM,EAAE,MAAMC,QAAQ,CAACE,KAAK,GAAG,IAAI,CAAC;EAE1C,SAASC,YAAYA,CAAA,EAAI;IACvB,IAAI,CAACL,KAAK,CAACH,KAAK,EAAEK,QAAQ,CAACE,KAAK,GAAG,KAAK;EAC1C;EAEA,OAAO;IAAEF,QAAQ;IAAEC,UAAU;IAAEE;EAAa,CAAC;AAC/C","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"list-items.mjs","names":["computed","deepEqual","getPropertyFromItem","omit","propsFactory","makeItemsProps","items","type","Array","default","itemTitle","String","Function","itemValue","itemChildren","Boolean","itemProps","returnObject","valueComparator","transformItem","props","item","title","value","children","isArray","undefined","_props","transformItems","raw","array","push","useItems","hasNullItem","some","transformIn","filter","v","map","find","transformOut","_ref","_ref2"],"sources":["../../src/composables/list-items.ts"],"sourcesContent":["// Utilities\nimport { computed } from 'vue'\nimport { deepEqual, getPropertyFromItem, omit, propsFactory } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { InternalItem } from '@/composables/filter'\nimport type { SelectItemKey } from '@/util'\n\nexport interface ListItem<T = any> extends InternalItem<T> {\n title: string\n props: {\n [key: string]: any\n title: string\n value: any\n }\n children?: ListItem<T>[]\n}\n\nexport interface ItemProps {\n items: any[]\n itemTitle: SelectItemKey\n itemValue: SelectItemKey\n itemChildren: SelectItemKey\n itemProps: SelectItemKey\n returnObject: boolean\n valueComparator: typeof deepEqual\n}\n\n// Composables\nexport const makeItemsProps = propsFactory({\n items: {\n type: Array as PropType<ItemProps['items']>,\n default: () => ([]),\n },\n itemTitle: {\n type: [String, Array, Function] as PropType<SelectItemKey>,\n default: 'title',\n },\n itemValue: {\n type: [String, Array, Function] as PropType<SelectItemKey>,\n default: 'value',\n },\n itemChildren: {\n type: [Boolean, String, Array, Function] as PropType<SelectItemKey>,\n default: 'children',\n },\n itemProps: {\n type: [Boolean, String, Array, Function] as PropType<SelectItemKey>,\n default: 'props',\n },\n returnObject: Boolean,\n valueComparator: {\n type: Function as PropType<typeof deepEqual>,\n default: deepEqual,\n },\n}, 'list-items')\n\nexport function transformItem (props: Omit<ItemProps, 'items'>, item: any): ListItem {\n const title = getPropertyFromItem(item, props.itemTitle, item)\n const value = getPropertyFromItem(item, props.itemValue, title)\n const children = getPropertyFromItem(item, props.itemChildren)\n const itemProps = props.itemProps === true\n ? typeof item === 'object' && item != null && !Array.isArray(item)\n ? 'children' in item\n ? omit(item, ['children'])\n : item\n : undefined\n : getPropertyFromItem(item, props.itemProps)\n\n const _props = {\n title,\n value,\n ...itemProps,\n }\n\n return {\n title: String(_props.title ?? ''),\n value: _props.value,\n props: _props,\n children: Array.isArray(children) ? transformItems(props, children) : undefined,\n raw: item,\n }\n}\n\nexport function transformItems (props: Omit<ItemProps, 'items'>, items: ItemProps['items']) {\n const array: ListItem[] = []\n\n for (const item of items) {\n array.push(transformItem(props, item))\n }\n\n return array\n}\n\nexport function useItems (props: ItemProps) {\n const items = computed(() => transformItems(props, props.items))\n const hasNullItem = computed(() => items.value.some(item => item.value === null))\n\n function transformIn (value: any[]): ListItem[] {\n if (!hasNullItem.value) {\n // When the model value is null, return an InternalItem\n // based on null only if null is one of the items\n value = value.filter(v => v !== null)\n }\n\n return value.map(v => {\n if (props.returnObject && typeof v === 'string') {\n // String model value means value is a custom input value from combobox\n // Don't look up existing items if the model value is a string\n return transformItem(props, v)\n }\n return items.value.find(item => props.valueComparator(v, item.value)) || transformItem(props, v)\n })\n }\n\n function transformOut (value: ListItem[]): any[] {\n return props.returnObject\n ? value.map(({ raw }) => raw)\n : value.map(({ value }) => value)\n }\n\n return { items, transformIn, transformOut }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"list-items.mjs","names":["computed","deepEqual","getPropertyFromItem","omit","propsFactory","makeItemsProps","items","type","Array","default","itemTitle","String","Function","itemValue","itemChildren","Boolean","itemProps","returnObject","valueComparator","transformItem","props","item","title","value","children","isArray","undefined","_props","transformItems","raw","array","push","useItems","hasNullItem","some","transformIn","filter","v","map","find","transformOut","_ref","_ref2"],"sources":["../../src/composables/list-items.ts"],"sourcesContent":["// Utilities\nimport { computed } from 'vue'\nimport { deepEqual, getPropertyFromItem, omit, propsFactory } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { InternalItem } from '@/composables/filter'\nimport type { SelectItemKey } from '@/util'\n\nexport interface ListItem<T = any> extends InternalItem<T> {\n title: string\n props: {\n [key: string]: any\n title: string\n value: any\n }\n children?: ListItem<T>[]\n}\n\nexport interface ItemProps {\n items: any[]\n itemTitle: SelectItemKey\n itemValue: SelectItemKey\n itemChildren: SelectItemKey\n itemProps: SelectItemKey\n returnObject: boolean\n valueComparator: typeof deepEqual\n}\n\n// Composables\nexport const makeItemsProps = propsFactory({\n items: {\n type: Array as PropType<ItemProps['items']>,\n default: () => ([]),\n },\n itemTitle: {\n type: [String, Array, Function] as PropType<SelectItemKey>,\n default: 'title',\n },\n itemValue: {\n type: [String, Array, Function] as PropType<SelectItemKey>,\n default: 'value',\n },\n itemChildren: {\n type: [Boolean, String, Array, Function] as PropType<SelectItemKey>,\n default: 'children',\n },\n itemProps: {\n type: [Boolean, String, Array, Function] as PropType<SelectItemKey>,\n default: 'props',\n },\n returnObject: Boolean,\n valueComparator: {\n type: Function as PropType<typeof deepEqual>,\n default: deepEqual,\n },\n}, 'list-items')\n\nexport function transformItem (props: Omit<ItemProps, 'items'>, item: any): ListItem {\n const title = getPropertyFromItem(item, props.itemTitle, item)\n const value = getPropertyFromItem(item, props.itemValue, title)\n const children = getPropertyFromItem(item, props.itemChildren)\n const itemProps = props.itemProps === true\n ? typeof item === 'object' && item != null && !Array.isArray(item)\n ? 'children' in item\n ? omit(item, ['children'])\n : item\n : undefined\n : getPropertyFromItem(item, props.itemProps)\n\n const _props = {\n title,\n value,\n ...itemProps,\n }\n\n return {\n title: String(_props.title ?? ''),\n value: _props.value,\n props: _props,\n children: Array.isArray(children) ? transformItems(props, children) : undefined,\n raw: item,\n }\n}\n\nexport function transformItems (props: Omit<ItemProps, 'items'>, items: ItemProps['items']) {\n const array: ListItem[] = []\n\n for (const item of items) {\n array.push(transformItem(props, item))\n }\n\n return array\n}\n\nexport function useItems (props: ItemProps) {\n const items = computed(() => transformItems(props, props.items))\n const hasNullItem = computed(() => items.value.some(item => item.value === null))\n\n function transformIn (value: any[]): ListItem[] {\n if (!hasNullItem.value) {\n // When the model value is null, return an InternalItem\n // based on null only if null is one of the items\n value = value.filter(v => v !== null)\n }\n\n return value.map(v => {\n if (props.returnObject && typeof v === 'string') {\n // String model value means value is a custom input value from combobox\n // Don't look up existing items if the model value is a string\n return transformItem(props, v)\n }\n return items.value.find(item => props.valueComparator(v, item.value)) || transformItem(props, v)\n })\n }\n\n function transformOut (value: ListItem[]): any[] {\n return props.returnObject\n ? value.map(({ raw }) => raw)\n : value.map(({ value }) => value)\n }\n\n return { items, transformIn, transformOut }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"loader.mjs","names":["VProgressLinear","computed","getCurrentInstanceName","propsFactory","makeLoaderProps","loading","Boolean","String","useLoader","props","name","arguments","length","undefined","loaderClasses","LoaderSlot","_ref","slots","_createVNode","default","color","isActive","active","absolute"],"sources":["../../src/composables/loader.tsx"],"sourcesContent":["// Components\nimport { VProgressLinear } from '@/components/VProgressLinear'\n\n// Utilities\nimport { computed } from 'vue'\nimport { getCurrentInstanceName, propsFactory } from '@/util'\n\n// Types\nimport type { ExtractPropTypes, SetupContext } from 'vue'\nimport type { SlotsToProps } from '@/util'\n\nexport interface LoaderSlotProps {\n color: string | undefined\n isActive: boolean\n}\n\nexport interface LoaderProps {\n loading?: boolean | string\n}\n\n// Composables\nexport const makeLoaderProps = propsFactory({\n loading: [Boolean, String],\n}, 'loader')\n\nexport function useLoader (\n props: LoaderProps,\n name = getCurrentInstanceName(),\n) {\n const loaderClasses = computed(() => ({\n [`${name}--loading`]: props.loading,\n }))\n\n return { loaderClasses }\n}\n\nexport function LoaderSlot (\n props: {\n absolute?: boolean\n active: boolean\n name: string\n color?: string\n } & ExtractPropTypes<SlotsToProps<{\n default: LoaderSlotProps\n }>>,\n { slots }: SetupContext,\n) {\n return (\n <div class={ `${props.name}__loader` }>\n { slots.default?.({\n color: props.color,\n isActive: props.active,\n } as LoaderSlotProps) || (\n <VProgressLinear\n absolute={ props.absolute }\n active={ props.active }\n color={ props.color }\n height=\"2\"\n indeterminate\n />\n )}\n </div>\n )\n}\n"],"mappings":";AAAA;AAAA,SACSA,eAAe,mDAExB;AACA,SAASC,QAAQ,QAAQ,KAAK;AAAA,SACrBC,sBAAsB,EAAEC,YAAY,6BAE7C;AAaA;AACA,OAAO,MAAMC,eAAe,GAAGD,YAAY,CAAC;EAC1CE,OAAO,EAAE,CAACC,OAAO,EAAEC,MAAM;AAC3B,CAAC,EAAE,QAAQ,CAAC;AAEZ,OAAO,SAASC,SAASA,CACvBC,KAAkB,EAElB;EAAA,IADAC,IAAI,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAGT,sBAAsB,CAAC,CAAC;EAE/B,MAAMY,aAAa,GAAGb,QAAQ,CAAC,OAAO;IACpC,CAAE,GAAES,IAAK,WAAU,GAAGD,KAAK,CAACJ;EAC9B,CAAC,CAAC,CAAC;EAEH,OAAO;IAAES;EAAc,CAAC;AAC1B;AAEA,OAAO,SAASC,UAAUA,CACxBN,KAOG,EAAAO,IAAA,EAEH;EAAA,IADA;IAAEC;EAAoB,CAAC,GAAAD,IAAA;EAEvB,OAAAE,YAAA;IAAA,SACgB,GAAET,KAAK,CAACC,IAAK;EAAS,IAChCO,KAAK,CAACE,OAAO,GAAG;IAChBC,KAAK,EAAEX,KAAK,CAACW,KAAK;IAClBC,QAAQ,EAAEZ,KAAK,CAACa;EAClB,CAAoB,CAAC,IAAAJ,YAAA,CAAAlB,eAAA;IAAA,YAENS,KAAK,CAACc,QAAQ;IAAA,UAChBd,KAAK,CAACa,MAAM;IAAA,SACbb,KAAK,CAACW,KAAK;IAAA;IAAA;EAAA,QAItB;AAGP"}
1
+ {"version":3,"file":"loader.mjs","names":["VProgressLinear","computed","getCurrentInstanceName","propsFactory","makeLoaderProps","loading","Boolean","String","useLoader","props","name","arguments","length","undefined","loaderClasses","LoaderSlot","_ref","slots","_createVNode","default","color","isActive","active","absolute"],"sources":["../../src/composables/loader.tsx"],"sourcesContent":["// Components\nimport { VProgressLinear } from '@/components/VProgressLinear'\n\n// Utilities\nimport { computed } from 'vue'\nimport { getCurrentInstanceName, propsFactory } from '@/util'\n\n// Types\nimport type { ExtractPropTypes, SetupContext } from 'vue'\nimport type { SlotsToProps } from '@/util'\n\nexport interface LoaderSlotProps {\n color: string | undefined\n isActive: boolean\n}\n\nexport interface LoaderProps {\n loading?: boolean | string\n}\n\n// Composables\nexport const makeLoaderProps = propsFactory({\n loading: [Boolean, String],\n}, 'loader')\n\nexport function useLoader (\n props: LoaderProps,\n name = getCurrentInstanceName(),\n) {\n const loaderClasses = computed(() => ({\n [`${name}--loading`]: props.loading,\n }))\n\n return { loaderClasses }\n}\n\nexport function LoaderSlot (\n props: {\n absolute?: boolean\n active: boolean\n name: string\n color?: string\n } & ExtractPropTypes<SlotsToProps<{\n default: LoaderSlotProps\n }>>,\n { slots }: SetupContext,\n) {\n return (\n <div class={ `${props.name}__loader` }>\n { slots.default?.({\n color: props.color,\n isActive: props.active,\n } as LoaderSlotProps) || (\n <VProgressLinear\n absolute={ props.absolute }\n active={ props.active }\n color={ props.color }\n height=\"2\"\n indeterminate\n />\n )}\n </div>\n )\n}\n"],"mappings":";AAAA;AAAA,SACSA,eAAe,mDAExB;AACA,SAASC,QAAQ,QAAQ,KAAK;AAAA,SACrBC,sBAAsB,EAAEC,YAAY,6BAE7C;AAaA;AACA,OAAO,MAAMC,eAAe,GAAGD,YAAY,CAAC;EAC1CE,OAAO,EAAE,CAACC,OAAO,EAAEC,MAAM;AAC3B,CAAC,EAAE,QAAQ,CAAC;AAEZ,OAAO,SAASC,SAASA,CACvBC,KAAkB,EAElB;EAAA,IADAC,IAAI,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAGT,sBAAsB,CAAC,CAAC;EAE/B,MAAMY,aAAa,GAAGb,QAAQ,CAAC,OAAO;IACpC,CAAE,GAAES,IAAK,WAAU,GAAGD,KAAK,CAACJ;EAC9B,CAAC,CAAC,CAAC;EAEH,OAAO;IAAES;EAAc,CAAC;AAC1B;AAEA,OAAO,SAASC,UAAUA,CACxBN,KAOG,EAAAO,IAAA,EAEH;EAAA,IADA;IAAEC;EAAoB,CAAC,GAAAD,IAAA;EAEvB,OAAAE,YAAA;IAAA,SACgB,GAAET,KAAK,CAACC,IAAK;EAAS,IAChCO,KAAK,CAACE,OAAO,GAAG;IAChBC,KAAK,EAAEX,KAAK,CAACW,KAAK;IAClBC,QAAQ,EAAEZ,KAAK,CAACa;EAClB,CAAoB,CAAC,IAAAJ,YAAA,CAAAlB,eAAA;IAAA,YAENS,KAAK,CAACc,QAAQ;IAAA,UAChBd,KAAK,CAACa,MAAM;IAAA,SACbb,KAAK,CAACW,KAAK;IAAA;IAAA;EAAA,QAItB;AAGP","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"locale.mjs","names":["computed","inject","provide","ref","createVuetifyAdapter","LocaleSymbol","Symbol","for","isLocaleInstance","obj","name","createLocale","options","i18n","adapter","rtl","createRtl","useLocale","locale","Error","provideLocale","props","provideRtl","data","RtlSymbol","genDefaults","af","ar","bg","ca","ckb","cs","de","el","en","es","et","fa","fi","fr","hr","hu","he","id","it","ja","km","ko","lv","lt","nl","no","pl","pt","ro","ru","sk","sl","srCyrl","srLatn","sv","th","tr","az","uk","vi","zhHans","zhHant","isRtl","value","current","rtlClasses","useRtl"],"sources":["../../src/composables/locale.ts"],"sourcesContent":["// Utilities\nimport { computed, inject, provide, ref } from 'vue'\nimport { createVuetifyAdapter } from '@/locale/adapters/vuetify'\n\n// Types\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\nfunction genDefaults () {\n return {\n af: false,\n ar: true,\n bg: false,\n ca: false,\n ckb: false,\n cs: false,\n de: false,\n el: false,\n en: false,\n es: false,\n et: false,\n fa: true,\n fi: false,\n fr: false,\n hr: false,\n hu: false,\n he: true,\n id: false,\n it: false,\n ja: false,\n km: false,\n ko: false,\n lv: false,\n lt: false,\n nl: false,\n no: false,\n pl: false,\n pt: false,\n ro: false,\n ru: false,\n sk: false,\n sl: false,\n srCyrl: false,\n srLatn: false,\n sv: false,\n th: false,\n tr: false,\n az: false,\n uk: false,\n vi: false,\n zhHans: false,\n zhHant: false,\n }\n}\n\nexport function createRtl (i18n: LocaleInstance, options?: RtlOptions): RtlInstance {\n const rtl = ref<Record<string, boolean>>(options?.rtl ?? genDefaults())\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","LocaleSymbol","Symbol","for","isLocaleInstance","obj","name","createLocale","options","i18n","adapter","rtl","createRtl","useLocale","locale","Error","provideLocale","props","provideRtl","data","RtlSymbol","genDefaults","af","ar","bg","ca","ckb","cs","de","el","en","es","et","fa","fi","fr","hr","hu","he","id","it","ja","km","ko","lv","lt","nl","no","pl","pt","ro","ru","sk","sl","srCyrl","srLatn","sv","th","tr","az","uk","vi","zhHans","zhHant","isRtl","value","current","rtlClasses","useRtl"],"sources":["../../src/composables/locale.ts"],"sourcesContent":["// Utilities\nimport { computed, inject, provide, ref } from 'vue'\nimport { createVuetifyAdapter } from '@/locale/adapters/vuetify'\n\n// Types\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\nfunction genDefaults () {\n return {\n af: false,\n ar: true,\n bg: false,\n ca: false,\n ckb: false,\n cs: false,\n de: false,\n el: false,\n en: false,\n es: false,\n et: false,\n fa: true,\n fi: false,\n fr: false,\n hr: false,\n hu: false,\n he: true,\n id: false,\n it: false,\n ja: false,\n km: false,\n ko: false,\n lv: false,\n lt: false,\n nl: false,\n no: false,\n pl: false,\n pt: false,\n ro: false,\n ru: false,\n sk: false,\n sl: false,\n srCyrl: false,\n srLatn: false,\n sv: false,\n th: false,\n tr: false,\n az: false,\n uk: false,\n vi: false,\n zhHans: false,\n zhHant: false,\n }\n}\n\nexport function createRtl (i18n: LocaleInstance, options?: RtlOptions): RtlInstance {\n const rtl = ref<Record<string, boolean>>(options?.rtl ?? genDefaults())\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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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"location.mjs","names":["useRtl","computed","parseAnchor","propsFactory","oppositeMap","center","top","bottom","left","right","makeLocationProps","location","String","useLocation","props","opposite","arguments","length","undefined","offset","isRtl","locationStyles","side","align","split","value","getOffset","styles","transform"],"sources":["../../src/composables/location.ts"],"sourcesContent":["// Composables\nimport { useRtl } from '@/composables/locale'\n\n// Utilities\nimport { computed } from 'vue'\nimport { parseAnchor, propsFactory } from '@/util'\n\n// Types\nimport type { CSSProperties, PropType } from 'vue'\nimport type { Anchor } from '@/util'\n\nconst oppositeMap = {\n center: 'center',\n top: 'bottom',\n bottom: 'top',\n left: 'right',\n right: 'left',\n} as const\n\nexport interface LocationProps {\n location: Anchor | undefined\n}\n\nexport const makeLocationProps = propsFactory({\n location: String as PropType<Anchor>,\n}, 'location')\n\nexport function useLocation (props: LocationProps, opposite = false, offset?: (side: string) => number) {\n const { isRtl } = useRtl()\n\n const locationStyles = computed(() => {\n if (!props.location) return {}\n\n const { side, align } = parseAnchor(\n props.location.split(' ').length > 1\n ? props.location\n : `${props.location} center` as Anchor,\n isRtl.value\n )\n\n function getOffset (side: string) {\n return offset\n ? offset(side)\n : 0\n }\n\n const styles = {} as CSSProperties\n\n if (side !== 'center') {\n if (opposite) styles[oppositeMap[side]] = `calc(100% - ${getOffset(side)}px)`\n else styles[side] = 0\n }\n if (align !== 'center') {\n if (opposite) styles[oppositeMap[align]] = `calc(100% - ${getOffset(align)}px)`\n else styles[align] = 0\n } else {\n if (side === 'center') styles.top = styles.left = '50%'\n else {\n styles[({\n top: 'left',\n bottom: 'left',\n left: 'top',\n right: 'top',\n } as const)[side]] = '50%'\n }\n styles.transform = {\n top: 'translateX(-50%)',\n bottom: 'translateX(-50%)',\n left: 'translateY(-50%)',\n right: 'translateY(-50%)',\n center: 'translate(-50%, -50%)',\n }[side]\n }\n\n return styles\n })\n\n return { locationStyles }\n}\n"],"mappings":"AAAA;AAAA,SACSA,MAAM,wBAEf;AACA,SAASC,QAAQ,QAAQ,KAAK;AAAA,SACrBC,WAAW,EAAEC,YAAY,6BAElC;AAIA,MAAMC,WAAW,GAAG;EAClBC,MAAM,EAAE,QAAQ;EAChBC,GAAG,EAAE,QAAQ;EACbC,MAAM,EAAE,KAAK;EACbC,IAAI,EAAE,OAAO;EACbC,KAAK,EAAE;AACT,CAAU;AAMV,OAAO,MAAMC,iBAAiB,GAAGP,YAAY,CAAC;EAC5CQ,QAAQ,EAAEC;AACZ,CAAC,EAAE,UAAU,CAAC;AAEd,OAAO,SAASC,WAAWA,CAAEC,KAAoB,EAAuD;EAAA,IAArDC,QAAQ,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,KAAK;EAAA,IAAEG,MAAiC,GAAAH,SAAA,CAAAC,MAAA,OAAAD,SAAA,MAAAE,SAAA;EACpG,MAAM;IAAEE;EAAM,CAAC,GAAGpB,MAAM,CAAC,CAAC;EAE1B,MAAMqB,cAAc,GAAGpB,QAAQ,CAAC,MAAM;IACpC,IAAI,CAACa,KAAK,CAACH,QAAQ,EAAE,OAAO,CAAC,CAAC;IAE9B,MAAM;MAAEW,IAAI;MAAEC;IAAM,CAAC,GAAGrB,WAAW,CACjCY,KAAK,CAACH,QAAQ,CAACa,KAAK,CAAC,GAAG,CAAC,CAACP,MAAM,GAAG,CAAC,GAChCH,KAAK,CAACH,QAAQ,GACb,GAAEG,KAAK,CAACH,QAAS,SAAkB,EACxCS,KAAK,CAACK,KACR,CAAC;IAED,SAASC,SAASA,CAAEJ,IAAY,EAAE;MAChC,OAAOH,MAAM,GACTA,MAAM,CAACG,IAAI,CAAC,GACZ,CAAC;IACP;IAEA,MAAMK,MAAM,GAAG,CAAC,CAAkB;IAElC,IAAIL,IAAI,KAAK,QAAQ,EAAE;MACrB,IAAIP,QAAQ,EAAEY,MAAM,CAACvB,WAAW,CAACkB,IAAI,CAAC,CAAC,GAAI,eAAcI,SAAS,CAACJ,IAAI,CAAE,KAAI,MACxEK,MAAM,CAACL,IAAI,CAAC,GAAG,CAAC;IACvB;IACA,IAAIC,KAAK,KAAK,QAAQ,EAAE;MACtB,IAAIR,QAAQ,EAAEY,MAAM,CAACvB,WAAW,CAACmB,KAAK,CAAC,CAAC,GAAI,eAAcG,SAAS,CAACH,KAAK,CAAE,KAAI,MAC1EI,MAAM,CAACJ,KAAK,CAAC,GAAG,CAAC;IACxB,CAAC,MAAM;MACL,IAAID,IAAI,KAAK,QAAQ,EAAEK,MAAM,CAACrB,GAAG,GAAGqB,MAAM,CAACnB,IAAI,GAAG,KAAK,MAClD;QACHmB,MAAM,CAAE;UACNrB,GAAG,EAAE,MAAM;UACXC,MAAM,EAAE,MAAM;UACdC,IAAI,EAAE,KAAK;UACXC,KAAK,EAAE;QACT,CAAC,CAAWa,IAAI,CAAC,CAAC,GAAG,KAAK;MAC5B;MACAK,MAAM,CAACC,SAAS,GAAG;QACjBtB,GAAG,EAAE,kBAAkB;QACvBC,MAAM,EAAE,kBAAkB;QAC1BC,IAAI,EAAE,kBAAkB;QACxBC,KAAK,EAAE,kBAAkB;QACzBJ,MAAM,EAAE;MACV,CAAC,CAACiB,IAAI,CAAC;IACT;IAEA,OAAOK,MAAM;EACf,CAAC,CAAC;EAEF,OAAO;IAAEN;EAAe,CAAC;AAC3B"}
1
+ {"version":3,"file":"location.mjs","names":["useRtl","computed","parseAnchor","propsFactory","oppositeMap","center","top","bottom","left","right","makeLocationProps","location","String","useLocation","props","opposite","arguments","length","undefined","offset","isRtl","locationStyles","side","align","split","value","getOffset","styles","transform"],"sources":["../../src/composables/location.ts"],"sourcesContent":["// Composables\nimport { useRtl } from '@/composables/locale'\n\n// Utilities\nimport { computed } from 'vue'\nimport { parseAnchor, propsFactory } from '@/util'\n\n// Types\nimport type { CSSProperties, PropType } from 'vue'\nimport type { Anchor } from '@/util'\n\nconst oppositeMap = {\n center: 'center',\n top: 'bottom',\n bottom: 'top',\n left: 'right',\n right: 'left',\n} as const\n\nexport interface LocationProps {\n location: Anchor | undefined\n}\n\nexport const makeLocationProps = propsFactory({\n location: String as PropType<Anchor>,\n}, 'location')\n\nexport function useLocation (props: LocationProps, opposite = false, offset?: (side: string) => number) {\n const { isRtl } = useRtl()\n\n const locationStyles = computed(() => {\n if (!props.location) return {}\n\n const { side, align } = parseAnchor(\n props.location.split(' ').length > 1\n ? props.location\n : `${props.location} center` as Anchor,\n isRtl.value\n )\n\n function getOffset (side: string) {\n return offset\n ? offset(side)\n : 0\n }\n\n const styles = {} as CSSProperties\n\n if (side !== 'center') {\n if (opposite) styles[oppositeMap[side]] = `calc(100% - ${getOffset(side)}px)`\n else styles[side] = 0\n }\n if (align !== 'center') {\n if (opposite) styles[oppositeMap[align]] = `calc(100% - ${getOffset(align)}px)`\n else styles[align] = 0\n } else {\n if (side === 'center') styles.top = styles.left = '50%'\n else {\n styles[({\n top: 'left',\n bottom: 'left',\n left: 'top',\n right: 'top',\n } as const)[side]] = '50%'\n }\n styles.transform = {\n top: 'translateX(-50%)',\n bottom: 'translateX(-50%)',\n left: 'translateY(-50%)',\n right: 'translateY(-50%)',\n center: 'translate(-50%, -50%)',\n }[side]\n }\n\n return styles\n })\n\n return { locationStyles }\n}\n"],"mappings":"AAAA;AAAA,SACSA,MAAM,wBAEf;AACA,SAASC,QAAQ,QAAQ,KAAK;AAAA,SACrBC,WAAW,EAAEC,YAAY,6BAElC;AAIA,MAAMC,WAAW,GAAG;EAClBC,MAAM,EAAE,QAAQ;EAChBC,GAAG,EAAE,QAAQ;EACbC,MAAM,EAAE,KAAK;EACbC,IAAI,EAAE,OAAO;EACbC,KAAK,EAAE;AACT,CAAU;AAMV,OAAO,MAAMC,iBAAiB,GAAGP,YAAY,CAAC;EAC5CQ,QAAQ,EAAEC;AACZ,CAAC,EAAE,UAAU,CAAC;AAEd,OAAO,SAASC,WAAWA,CAAEC,KAAoB,EAAuD;EAAA,IAArDC,QAAQ,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,KAAK;EAAA,IAAEG,MAAiC,GAAAH,SAAA,CAAAC,MAAA,OAAAD,SAAA,MAAAE,SAAA;EACpG,MAAM;IAAEE;EAAM,CAAC,GAAGpB,MAAM,CAAC,CAAC;EAE1B,MAAMqB,cAAc,GAAGpB,QAAQ,CAAC,MAAM;IACpC,IAAI,CAACa,KAAK,CAACH,QAAQ,EAAE,OAAO,CAAC,CAAC;IAE9B,MAAM;MAAEW,IAAI;MAAEC;IAAM,CAAC,GAAGrB,WAAW,CACjCY,KAAK,CAACH,QAAQ,CAACa,KAAK,CAAC,GAAG,CAAC,CAACP,MAAM,GAAG,CAAC,GAChCH,KAAK,CAACH,QAAQ,GACb,GAAEG,KAAK,CAACH,QAAS,SAAkB,EACxCS,KAAK,CAACK,KACR,CAAC;IAED,SAASC,SAASA,CAAEJ,IAAY,EAAE;MAChC,OAAOH,MAAM,GACTA,MAAM,CAACG,IAAI,CAAC,GACZ,CAAC;IACP;IAEA,MAAMK,MAAM,GAAG,CAAC,CAAkB;IAElC,IAAIL,IAAI,KAAK,QAAQ,EAAE;MACrB,IAAIP,QAAQ,EAAEY,MAAM,CAACvB,WAAW,CAACkB,IAAI,CAAC,CAAC,GAAI,eAAcI,SAAS,CAACJ,IAAI,CAAE,KAAI,MACxEK,MAAM,CAACL,IAAI,CAAC,GAAG,CAAC;IACvB;IACA,IAAIC,KAAK,KAAK,QAAQ,EAAE;MACtB,IAAIR,QAAQ,EAAEY,MAAM,CAACvB,WAAW,CAACmB,KAAK,CAAC,CAAC,GAAI,eAAcG,SAAS,CAACH,KAAK,CAAE,KAAI,MAC1EI,MAAM,CAACJ,KAAK,CAAC,GAAG,CAAC;IACxB,CAAC,MAAM;MACL,IAAID,IAAI,KAAK,QAAQ,EAAEK,MAAM,CAACrB,GAAG,GAAGqB,MAAM,CAACnB,IAAI,GAAG,KAAK,MAClD;QACHmB,MAAM,CAAE;UACNrB,GAAG,EAAE,MAAM;UACXC,MAAM,EAAE,MAAM;UACdC,IAAI,EAAE,KAAK;UACXC,KAAK,EAAE;QACT,CAAC,CAAWa,IAAI,CAAC,CAAC,GAAG,KAAK;MAC5B;MACAK,MAAM,CAACC,SAAS,GAAG;QACjBtB,GAAG,EAAE,kBAAkB;QACvBC,MAAM,EAAE,kBAAkB;QAC1BC,IAAI,EAAE,kBAAkB;QACxBC,KAAK,EAAE,kBAAkB;QACzBJ,MAAM,EAAE;MACV,CAAC,CAACiB,IAAI,CAAC;IACT;IAEA,OAAOK,MAAM;EACf,CAAC,CAAC;EAEF,OAAO;IAAEN;EAAe,CAAC;AAC3B","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"mutationObserver.mjs","names":["onBeforeUnmount","onMounted","ref","watch","refElement","useMutationObserver","handler","options","mutationRef","once","immediate","optionKeys","defaultValue","Object","keys","length","observer","MutationObserver","mutations","disconnect","newValue","oldValue","el","observe","attributes","attr","characterData","char","childList","child","subtree","sub","flush"],"sources":["../../src/composables/mutationObserver.ts"],"sourcesContent":["// Utilities\nimport { onBeforeUnmount, onMounted, ref, watch } from 'vue'\nimport { refElement } from '@/util'\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 = refElement(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;AACA,SAASA,eAAe,EAAEC,SAAS,EAAEC,GAAG,EAAEC,KAAK,QAAQ,KAAK;AAAA,SACnDC,UAAU,6BAEnB;AAYA,OAAO,SAASC,mBAAmBA,CACjCC,OAA0B,EAC1BC,OAAyB,EACzB;EACA,MAAMC,WAAW,GAAGN,GAAG,CAAwC,CAAC;EAChE,MAAM;IAAEO,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,CAAC,CAAC;EAC1C,CAAC,CAAC;EAEFlB,SAAS,CAAC,MAAM;IACd,IAAI,CAACM,OAAO,EAAEG,SAAS,EAAE;IAEzBJ,OAAO,GAAG,EAAE,EAAEU,QAAQ,CAAC;EACzB,CAAC,CAAC;EAEFhB,eAAe,CAAC,MAAM;IACpBgB,QAAQ,CAACG,UAAU,CAAC,CAAC;EACvB,CAAC,CAAC;EAEFhB,KAAK,CAACK,WAAW,EAAE,CAACY,QAAQ,EAAEC,QAAQ,KAAK;IACzC,IAAIA,QAAQ,EAAEL,QAAQ,CAACG,UAAU,CAAC,CAAC;IAEnC,MAAMG,EAAE,GAAGlB,UAAU,CAACgB,QAAQ,CAAC;IAE/B,IAAI,CAACE,EAAE,EAAE;IAETN,QAAQ,CAACO,OAAO,CAACD,EAAE,EAAE;MACnBE,UAAU,EAAEjB,OAAO,EAAEkB,IAAI,IAAIb,YAAY;MACzCc,aAAa,EAAEnB,OAAO,EAAEoB,IAAI,IAAIf,YAAY;MAC5CgB,SAAS,EAAErB,OAAO,EAAEsB,KAAK,IAAIjB,YAAY;MACzCkB,OAAO,EAAEvB,OAAO,EAAEwB,GAAG,IAAInB;IAC3B,CAAC,CAAC;EACJ,CAAC,EAAE;IACDoB,KAAK,EAAE;EACT,CAAC,CAAC;EAEF,OAAO;IAAExB;EAAY,CAAC;AACxB"}
1
+ {"version":3,"file":"mutationObserver.mjs","names":["onBeforeUnmount","onMounted","ref","watch","refElement","useMutationObserver","handler","options","mutationRef","once","immediate","optionKeys","defaultValue","Object","keys","length","observer","MutationObserver","mutations","disconnect","newValue","oldValue","el","observe","attributes","attr","characterData","char","childList","child","subtree","sub","flush"],"sources":["../../src/composables/mutationObserver.ts"],"sourcesContent":["// Utilities\nimport { onBeforeUnmount, onMounted, ref, watch } from 'vue'\nimport { refElement } from '@/util'\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 = refElement(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;AACA,SAASA,eAAe,EAAEC,SAAS,EAAEC,GAAG,EAAEC,KAAK,QAAQ,KAAK;AAAA,SACnDC,UAAU,6BAEnB;AAYA,OAAO,SAASC,mBAAmBA,CACjCC,OAA0B,EAC1BC,OAAyB,EACzB;EACA,MAAMC,WAAW,GAAGN,GAAG,CAAwC,CAAC;EAChE,MAAM;IAAEO,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,CAAC,CAAC;EAC1C,CAAC,CAAC;EAEFlB,SAAS,CAAC,MAAM;IACd,IAAI,CAACM,OAAO,EAAEG,SAAS,EAAE;IAEzBJ,OAAO,GAAG,EAAE,EAAEU,QAAQ,CAAC;EACzB,CAAC,CAAC;EAEFhB,eAAe,CAAC,MAAM;IACpBgB,QAAQ,CAACG,UAAU,CAAC,CAAC;EACvB,CAAC,CAAC;EAEFhB,KAAK,CAACK,WAAW,EAAE,CAACY,QAAQ,EAAEC,QAAQ,KAAK;IACzC,IAAIA,QAAQ,EAAEL,QAAQ,CAACG,UAAU,CAAC,CAAC;IAEnC,MAAMG,EAAE,GAAGlB,UAAU,CAACgB,QAAQ,CAAC;IAE/B,IAAI,CAACE,EAAE,EAAE;IAETN,QAAQ,CAACO,OAAO,CAACD,EAAE,EAAE;MACnBE,UAAU,EAAEjB,OAAO,EAAEkB,IAAI,IAAIb,YAAY;MACzCc,aAAa,EAAEnB,OAAO,EAAEoB,IAAI,IAAIf,YAAY;MAC5CgB,SAAS,EAAErB,OAAO,EAAEsB,KAAK,IAAIjB,YAAY;MACzCkB,OAAO,EAAEvB,OAAO,EAAEwB,GAAG,IAAInB;IAC3B,CAAC,CAAC;EACJ,CAAC,EAAE;IACDoB,KAAK,EAAE;EACT,CAAC,CAAC;EAEF,OAAO;IAAExB;EAAY,CAAC;AACxB","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"activeStrategies.mjs","names":["toRaw","independentActiveStrategy","mandatory","strategy","activate","_ref","id","value","activated","size","has","add","delete","in","v","children","parents","set","Set","out","Array","from","independentSingleActiveStrategy","parentStrategy","_ref2","rest","singleSelected","length","slice","leafActiveStrategy","_ref3","leafSingleActiveStrategy","_ref4"],"sources":["../../../src/composables/nested/activeStrategies.ts"],"sourcesContent":["/* eslint-disable sonarjs/no-identical-functions */\n// Utilities\nimport { toRaw } from 'vue'\n\nexport type ActiveStrategyFn = (data: {\n id: unknown\n value: boolean\n activated: Set<unknown>\n children: Map<unknown, unknown[]>\n parents: Map<unknown, unknown>\n event?: Event\n}) => Set<unknown>\n\nexport type ActiveStrategyTransformInFn = (\n v: readonly unknown[] | undefined,\n children: Map<unknown, unknown[]>,\n parents: Map<unknown, unknown>,\n) => Set<unknown>\n\nexport type ActiveStrategyTransformOutFn = (\n v: Set<unknown>,\n children: Map<unknown, unknown[]>,\n parents: Map<unknown, unknown>,\n) => unknown[]\n\nexport type ActiveStrategy = {\n activate: ActiveStrategyFn\n in: ActiveStrategyTransformInFn\n out: ActiveStrategyTransformOutFn\n}\n\nexport const independentActiveStrategy = (mandatory?: boolean): ActiveStrategy => {\n const strategy: ActiveStrategy = {\n activate: ({ id, value, activated }) => {\n id = toRaw(id)\n\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 && activated.size === 1 && activated.has(id)) return activated\n\n if (value) {\n activated.add(id)\n } else {\n activated.delete(id)\n }\n\n return activated\n },\n in: (v, children, parents) => {\n let set = new Set()\n\n for (const id of (v || [])) {\n set = strategy.activate({\n id,\n value: true,\n activated: new Set(set),\n children,\n parents,\n })\n }\n\n return set\n },\n out: v => {\n return Array.from(v)\n },\n }\n\n return strategy\n}\n\nexport const independentSingleActiveStrategy = (mandatory?: boolean): ActiveStrategy => {\n const parentStrategy = independentActiveStrategy(mandatory)\n\n const strategy: ActiveStrategy = {\n activate: ({ activated, id, ...rest }) => {\n id = toRaw(id)\n const singleSelected = activated.has(id) ? new Set([id]) : new Set()\n return parentStrategy.activate({ ...rest, id, activated: singleSelected })\n },\n in: (v, children, parents) => {\n let set = new Set()\n\n if (v?.length) {\n set = parentStrategy.in(v.slice(0, 1), children, parents)\n }\n\n return set\n },\n out: (v, children, parents) => {\n return parentStrategy.out(v, children, parents)\n },\n }\n\n return strategy\n}\n\nexport const leafActiveStrategy = (mandatory?: boolean): ActiveStrategy => {\n const parentStrategy = independentActiveStrategy(mandatory)\n\n const strategy: ActiveStrategy = {\n activate: ({ id, activated, children, ...rest }) => {\n id = toRaw(id)\n if (children.has(id)) return activated\n\n return parentStrategy.activate({ id, activated, children, ...rest })\n },\n in: parentStrategy.in,\n out: parentStrategy.out,\n }\n\n return strategy\n}\n\nexport const leafSingleActiveStrategy = (mandatory?: boolean): ActiveStrategy => {\n const parentStrategy = independentSingleActiveStrategy(mandatory)\n\n const strategy: ActiveStrategy = {\n activate: ({ id, activated, children, ...rest }) => {\n id = toRaw(id)\n if (children.has(id)) return activated\n\n return parentStrategy.activate({ id, activated, children, ...rest })\n },\n in: parentStrategy.in,\n out: parentStrategy.out,\n }\n\n return strategy\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"activeStrategies.mjs","names":["toRaw","independentActiveStrategy","mandatory","strategy","activate","_ref","id","value","activated","size","has","add","delete","in","v","children","parents","set","Set","out","Array","from","independentSingleActiveStrategy","parentStrategy","_ref2","rest","singleSelected","length","slice","leafActiveStrategy","_ref3","leafSingleActiveStrategy","_ref4"],"sources":["../../../src/composables/nested/activeStrategies.ts"],"sourcesContent":["/* eslint-disable sonarjs/no-identical-functions */\n// Utilities\nimport { toRaw } from 'vue'\n\nexport type ActiveStrategyFn = (data: {\n id: unknown\n value: boolean\n activated: Set<unknown>\n children: Map<unknown, unknown[]>\n parents: Map<unknown, unknown>\n event?: Event\n}) => Set<unknown>\n\nexport type ActiveStrategyTransformInFn = (\n v: readonly unknown[] | undefined,\n children: Map<unknown, unknown[]>,\n parents: Map<unknown, unknown>,\n) => Set<unknown>\n\nexport type ActiveStrategyTransformOutFn = (\n v: Set<unknown>,\n children: Map<unknown, unknown[]>,\n parents: Map<unknown, unknown>,\n) => unknown[]\n\nexport type ActiveStrategy = {\n activate: ActiveStrategyFn\n in: ActiveStrategyTransformInFn\n out: ActiveStrategyTransformOutFn\n}\n\nexport const independentActiveStrategy = (mandatory?: boolean): ActiveStrategy => {\n const strategy: ActiveStrategy = {\n activate: ({ id, value, activated }) => {\n id = toRaw(id)\n\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 && activated.size === 1 && activated.has(id)) return activated\n\n if (value) {\n activated.add(id)\n } else {\n activated.delete(id)\n }\n\n return activated\n },\n in: (v, children, parents) => {\n let set = new Set()\n\n for (const id of (v || [])) {\n set = strategy.activate({\n id,\n value: true,\n activated: new Set(set),\n children,\n parents,\n })\n }\n\n return set\n },\n out: v => {\n return Array.from(v)\n },\n }\n\n return strategy\n}\n\nexport const independentSingleActiveStrategy = (mandatory?: boolean): ActiveStrategy => {\n const parentStrategy = independentActiveStrategy(mandatory)\n\n const strategy: ActiveStrategy = {\n activate: ({ activated, id, ...rest }) => {\n id = toRaw(id)\n const singleSelected = activated.has(id) ? new Set([id]) : new Set()\n return parentStrategy.activate({ ...rest, id, activated: singleSelected })\n },\n in: (v, children, parents) => {\n let set = new Set()\n\n if (v?.length) {\n set = parentStrategy.in(v.slice(0, 1), children, parents)\n }\n\n return set\n },\n out: (v, children, parents) => {\n return parentStrategy.out(v, children, parents)\n },\n }\n\n return strategy\n}\n\nexport const leafActiveStrategy = (mandatory?: boolean): ActiveStrategy => {\n const parentStrategy = independentActiveStrategy(mandatory)\n\n const strategy: ActiveStrategy = {\n activate: ({ id, activated, children, ...rest }) => {\n id = toRaw(id)\n if (children.has(id)) return activated\n\n return parentStrategy.activate({ id, activated, children, ...rest })\n },\n in: parentStrategy.in,\n out: parentStrategy.out,\n }\n\n return strategy\n}\n\nexport const leafSingleActiveStrategy = (mandatory?: boolean): ActiveStrategy => {\n const parentStrategy = independentSingleActiveStrategy(mandatory)\n\n const strategy: ActiveStrategy = {\n activate: ({ id, activated, children, ...rest }) => {\n id = toRaw(id)\n if (children.has(id)) return activated\n\n return parentStrategy.activate({ id, activated, children, ...rest })\n },\n in: parentStrategy.in,\n out: parentStrategy.out,\n }\n\n return strategy\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"nested.mjs","names":["useProxiedModel","computed","inject","onBeforeUnmount","provide","ref","shallowRef","toRaw","toRef","independentActiveStrategy","independentSingleActiveStrategy","leafActiveStrategy","leafSingleActiveStrategy","listOpenStrategy","multipleOpenStrategy","singleOpenStrategy","classicSelectStrategy","independentSelectStrategy","independentSingleSelectStrategy","leafSelectStrategy","leafSingleSelectStrategy","getCurrentInstance","getUid","propsFactory","VNestedSymbol","Symbol","for","emptyNested","id","root","register","unregister","parents","Map","children","open","openOnSelect","activate","select","activatable","selectable","opened","Set","activated","selected","selectedValues","makeNestedProps","Boolean","activeStrategy","String","Function","selectStrategy","openStrategy","Object","Array","mandatory","useNested","props","isUnmounted","v","values","value","in","out","getPath","path","parent","unshift","get","vm","nested","arr","key","entries","push","parentId","isGroup","set","delete","list","filter","child","event","emit","newOpened","newSelected","newActivated","useNestedItem","uidSymbol","computedId","undefined","item","e","isOpen","has","isActivated","isSelected","isIndeterminate","isLeaf","isGroupActivator","useNestedGroupActivator"],"sources":["../../../src/composables/nested/nested.ts"],"sourcesContent":["// Composables\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed, inject, onBeforeUnmount, provide, ref, shallowRef, toRaw, toRef } from 'vue'\nimport {\n independentActiveStrategy,\n independentSingleActiveStrategy, leafActiveStrategy,\n leafSingleActiveStrategy,\n} from './activeStrategies'\nimport { listOpenStrategy, multipleOpenStrategy, singleOpenStrategy } from './openStrategies'\nimport {\n classicSelectStrategy,\n independentSelectStrategy,\n independentSingleSelectStrategy,\n leafSelectStrategy,\n leafSingleSelectStrategy,\n} from './selectStrategies'\nimport { getCurrentInstance, getUid, propsFactory } from '@/util'\n\n// Types\nimport type { InjectionKey, PropType, Ref } from 'vue'\nimport type { OpenStrategy } from './openStrategies'\nimport type { SelectStrategyFn } from './selectStrategies'\nimport type { EventProp } from '@/util'\n\nexport type SelectStrategy = 'single-leaf' | 'leaf' | 'independent' | 'single-independent' | 'classic' | SelectStrategyFn\nexport type OpenStrategyProp = 'single' | 'multiple' | 'list' | OpenStrategy\n\nexport interface NestedProps {\n activatable: boolean\n selectable: boolean\n activeStrategy: SelectStrategy | undefined\n selectStrategy: SelectStrategy | undefined\n openStrategy: OpenStrategyProp | undefined\n activated: readonly unknown[] | undefined\n selected: readonly unknown[] | undefined\n opened: readonly unknown[] | undefined\n mandatory: boolean\n 'onUpdate:activated': EventProp<[unknown[]]> | undefined\n 'onUpdate:selected': EventProp<[unknown[]]> | undefined\n 'onUpdate:opened': EventProp<[unknown[]]> | undefined\n}\n\ntype NestedProvide = {\n id: Ref<unknown>\n isGroupActivator?: boolean\n root: {\n children: Ref<Map<unknown, unknown[]>>\n parents: Ref<Map<unknown, unknown>>\n activatable: Ref<boolean>\n selectable: Ref<boolean>\n opened: Ref<Set<unknown>>\n activated: Ref<Set<unknown>>\n selected: Ref<Map<unknown, 'on' | 'off' | 'indeterminate'>>\n selectedValues: Ref<unknown[]>\n register: (id: unknown, parentId: unknown, isGroup?: boolean) => void\n unregister: (id: unknown) => void\n open: (id: unknown, value: boolean, event?: Event) => void\n activate: (id: unknown, value: boolean, event?: Event) => void\n select: (id: unknown, value: boolean, event?: Event) => void\n openOnSelect: (id: unknown, value: boolean, event?: Event) => void\n }\n}\n\nexport const VNestedSymbol: InjectionKey<NestedProvide> = Symbol.for('vuetify:nested')\n\nexport const emptyNested: NestedProvide = {\n id: shallowRef(),\n root: {\n register: () => null,\n unregister: () => null,\n parents: ref(new Map()),\n children: ref(new Map()),\n open: () => null,\n openOnSelect: () => null,\n activate: () => null,\n select: () => null,\n activatable: ref(false),\n selectable: ref(false),\n opened: ref(new Set()),\n activated: ref(new Set()),\n selected: ref(new Map()),\n selectedValues: ref([]),\n },\n}\n\nexport const makeNestedProps = propsFactory({\n activatable: Boolean,\n selectable: Boolean,\n activeStrategy: [String, Function] as PropType<SelectStrategy>,\n selectStrategy: [String, Function] as PropType<SelectStrategy>,\n openStrategy: [String, Object] as PropType<OpenStrategyProp>,\n opened: Array as PropType<readonly unknown[]>,\n activated: Array as PropType<readonly unknown[]>,\n selected: Array as PropType<readonly unknown[]>,\n mandatory: Boolean,\n}, 'nested')\n\nexport const useNested = (props: NestedProps) => {\n let isUnmounted = false\n const children = ref(new Map<unknown, unknown[]>())\n const parents = ref(new Map<unknown, unknown>())\n\n const opened = useProxiedModel(props, 'opened', props.opened, v => new Set(v), v => [...v.values()])\n\n const activeStrategy = computed(() => {\n if (typeof props.activeStrategy === 'object') return props.activeStrategy\n\n switch (props.activeStrategy) {\n case 'leaf': return leafActiveStrategy(props.mandatory)\n case 'single-leaf': return leafSingleActiveStrategy(props.mandatory)\n case 'independent': return independentActiveStrategy(props.mandatory)\n case 'single-independent':\n default: return independentSingleActiveStrategy(props.mandatory)\n }\n })\n\n const selectStrategy = computed(() => {\n if (typeof props.selectStrategy === 'object') return props.selectStrategy\n\n switch (props.selectStrategy) {\n case 'single-leaf': return leafSingleSelectStrategy(props.mandatory)\n case 'leaf': return leafSelectStrategy(props.mandatory)\n case 'independent': return independentSelectStrategy(props.mandatory)\n case 'single-independent': return independentSingleSelectStrategy(props.mandatory)\n case 'classic':\n default: return classicSelectStrategy(props.mandatory)\n }\n })\n\n const openStrategy = computed(() => {\n if (typeof props.openStrategy === 'object') return props.openStrategy\n\n switch (props.openStrategy) {\n case 'list': return listOpenStrategy\n case 'single': return singleOpenStrategy\n case 'multiple':\n default: return multipleOpenStrategy\n }\n })\n\n const activated = useProxiedModel(\n props,\n 'activated',\n props.activated,\n v => activeStrategy.value.in(v, children.value, parents.value),\n v => activeStrategy.value.out(v, children.value, parents.value),\n )\n const selected = useProxiedModel(\n props,\n 'selected',\n props.selected,\n v => selectStrategy.value.in(v, children.value, parents.value),\n v => selectStrategy.value.out(v, children.value, parents.value),\n )\n\n onBeforeUnmount(() => {\n isUnmounted = true\n })\n\n function getPath (id: unknown) {\n const path: unknown[] = []\n let parent: unknown = id\n\n while (parent != null) {\n path.unshift(parent)\n parent = parents.value.get(parent)\n }\n\n return path\n }\n\n const vm = getCurrentInstance('nested')\n\n const nested: NestedProvide = {\n id: shallowRef(),\n root: {\n opened,\n activatable: toRef(props, 'activatable'),\n selectable: toRef(props, 'selectable'),\n activated,\n selected,\n selectedValues: computed(() => {\n const arr = []\n\n for (const [key, value] of selected.value.entries()) {\n if (value === 'on') arr.push(key)\n }\n\n return arr\n }),\n register: (id, parentId, isGroup) => {\n parentId && id !== parentId && parents.value.set(id, parentId)\n\n isGroup && children.value.set(id, [])\n\n if (parentId != null) {\n children.value.set(parentId, [...children.value.get(parentId) || [], id])\n }\n },\n unregister: id => {\n if (isUnmounted) return\n\n children.value.delete(id)\n const parent = parents.value.get(id)\n if (parent) {\n const list = children.value.get(parent) ?? []\n children.value.set(parent, list.filter(child => child !== id))\n }\n parents.value.delete(id)\n opened.value.delete(id)\n },\n open: (id, value, event) => {\n vm.emit('click:open', { id, value, path: getPath(id), event })\n\n const newOpened = openStrategy.value.open({\n id,\n value,\n opened: new Set(opened.value),\n children: children.value,\n parents: parents.value,\n event,\n })\n\n newOpened && (opened.value = newOpened)\n },\n openOnSelect: (id, value, event) => {\n const newOpened = openStrategy.value.select({\n id,\n value,\n selected: new Map(selected.value),\n opened: new Set(opened.value),\n children: children.value,\n parents: parents.value,\n event,\n })\n newOpened && (opened.value = newOpened)\n },\n select: (id, value, event) => {\n vm.emit('click:select', { id, value, path: getPath(id), event })\n\n const newSelected = selectStrategy.value.select({\n id,\n value,\n selected: new Map(selected.value),\n children: children.value,\n parents: parents.value,\n event,\n })\n newSelected && (selected.value = newSelected)\n\n nested.root.openOnSelect(id, value, event)\n },\n activate: (id, value, event) => {\n if (!props.activatable) {\n return nested.root.select(id, true, event)\n }\n\n vm.emit('click:activate', { id, value, path: getPath(id), event })\n\n const newActivated = activeStrategy.value.activate({\n id,\n value,\n activated: new Set(activated.value),\n children: children.value,\n parents: parents.value,\n event,\n })\n\n newActivated && (activated.value = newActivated)\n },\n children,\n parents,\n },\n }\n\n provide(VNestedSymbol, nested)\n\n return nested.root\n}\n\nexport const useNestedItem = (id: Ref<unknown>, isGroup: boolean) => {\n const parent = inject(VNestedSymbol, emptyNested)\n\n const uidSymbol = Symbol(getUid())\n const computedId = computed(() => id.value !== undefined ? id.value : uidSymbol)\n\n const item = {\n ...parent,\n id: computedId,\n open: (open: boolean, e: Event) => parent.root.open(computedId.value, open, e),\n openOnSelect: (open: boolean, e?: Event) => parent.root.openOnSelect(computedId.value, open, e),\n isOpen: computed(() => parent.root.opened.value.has(computedId.value)),\n parent: computed(() => parent.root.parents.value.get(computedId.value)),\n activate: (activated: boolean, e?: Event) => parent.root.activate(computedId.value, activated, e),\n isActivated: computed(() => parent.root.activated.value.has(toRaw(computedId.value))),\n select: (selected: boolean, e?: Event) => parent.root.select(computedId.value, selected, e),\n isSelected: computed(() => parent.root.selected.value.get(toRaw(computedId.value)) === 'on'),\n isIndeterminate: computed(() => parent.root.selected.value.get(computedId.value) === 'indeterminate'),\n isLeaf: computed(() => !parent.root.children.value.get(computedId.value)),\n isGroupActivator: parent.isGroupActivator,\n }\n\n !parent.isGroupActivator && parent.root.register(computedId.value, parent.id.value, isGroup)\n\n onBeforeUnmount(() => {\n !parent.isGroupActivator && parent.root.unregister(computedId.value)\n })\n\n isGroup && provide(VNestedSymbol, item)\n\n return item\n}\n\nexport const useNestedGroupActivator = () => {\n const parent = inject(VNestedSymbol, emptyNested)\n\n provide(VNestedSymbol, { ...parent, isGroupActivator: true })\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"nested.mjs","names":["useProxiedModel","computed","inject","onBeforeUnmount","provide","ref","shallowRef","toRaw","toRef","independentActiveStrategy","independentSingleActiveStrategy","leafActiveStrategy","leafSingleActiveStrategy","listOpenStrategy","multipleOpenStrategy","singleOpenStrategy","classicSelectStrategy","independentSelectStrategy","independentSingleSelectStrategy","leafSelectStrategy","leafSingleSelectStrategy","getCurrentInstance","getUid","propsFactory","VNestedSymbol","Symbol","for","emptyNested","id","root","register","unregister","parents","Map","children","open","openOnSelect","activate","select","activatable","selectable","opened","Set","activated","selected","selectedValues","makeNestedProps","Boolean","activeStrategy","String","Function","selectStrategy","openStrategy","Object","Array","mandatory","useNested","props","isUnmounted","v","values","value","in","out","getPath","path","parent","unshift","get","vm","nested","arr","key","entries","push","parentId","isGroup","set","delete","list","filter","child","event","emit","newOpened","newSelected","newActivated","useNestedItem","uidSymbol","computedId","undefined","item","e","isOpen","has","isActivated","isSelected","isIndeterminate","isLeaf","isGroupActivator","useNestedGroupActivator"],"sources":["../../../src/composables/nested/nested.ts"],"sourcesContent":["// Composables\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed, inject, onBeforeUnmount, provide, ref, shallowRef, toRaw, toRef } from 'vue'\nimport {\n independentActiveStrategy,\n independentSingleActiveStrategy, leafActiveStrategy,\n leafSingleActiveStrategy,\n} from './activeStrategies'\nimport { listOpenStrategy, multipleOpenStrategy, singleOpenStrategy } from './openStrategies'\nimport {\n classicSelectStrategy,\n independentSelectStrategy,\n independentSingleSelectStrategy,\n leafSelectStrategy,\n leafSingleSelectStrategy,\n} from './selectStrategies'\nimport { getCurrentInstance, getUid, propsFactory } from '@/util'\n\n// Types\nimport type { InjectionKey, PropType, Ref } from 'vue'\nimport type { OpenStrategy } from './openStrategies'\nimport type { SelectStrategyFn } from './selectStrategies'\nimport type { EventProp } from '@/util'\n\nexport type SelectStrategy = 'single-leaf' | 'leaf' | 'independent' | 'single-independent' | 'classic' | SelectStrategyFn\nexport type OpenStrategyProp = 'single' | 'multiple' | 'list' | OpenStrategy\n\nexport interface NestedProps {\n activatable: boolean\n selectable: boolean\n activeStrategy: SelectStrategy | undefined\n selectStrategy: SelectStrategy | undefined\n openStrategy: OpenStrategyProp | undefined\n activated: readonly unknown[] | undefined\n selected: readonly unknown[] | undefined\n opened: readonly unknown[] | undefined\n mandatory: boolean\n 'onUpdate:activated': EventProp<[unknown[]]> | undefined\n 'onUpdate:selected': EventProp<[unknown[]]> | undefined\n 'onUpdate:opened': EventProp<[unknown[]]> | undefined\n}\n\ntype NestedProvide = {\n id: Ref<unknown>\n isGroupActivator?: boolean\n root: {\n children: Ref<Map<unknown, unknown[]>>\n parents: Ref<Map<unknown, unknown>>\n activatable: Ref<boolean>\n selectable: Ref<boolean>\n opened: Ref<Set<unknown>>\n activated: Ref<Set<unknown>>\n selected: Ref<Map<unknown, 'on' | 'off' | 'indeterminate'>>\n selectedValues: Ref<unknown[]>\n register: (id: unknown, parentId: unknown, isGroup?: boolean) => void\n unregister: (id: unknown) => void\n open: (id: unknown, value: boolean, event?: Event) => void\n activate: (id: unknown, value: boolean, event?: Event) => void\n select: (id: unknown, value: boolean, event?: Event) => void\n openOnSelect: (id: unknown, value: boolean, event?: Event) => void\n }\n}\n\nexport const VNestedSymbol: InjectionKey<NestedProvide> = Symbol.for('vuetify:nested')\n\nexport const emptyNested: NestedProvide = {\n id: shallowRef(),\n root: {\n register: () => null,\n unregister: () => null,\n parents: ref(new Map()),\n children: ref(new Map()),\n open: () => null,\n openOnSelect: () => null,\n activate: () => null,\n select: () => null,\n activatable: ref(false),\n selectable: ref(false),\n opened: ref(new Set()),\n activated: ref(new Set()),\n selected: ref(new Map()),\n selectedValues: ref([]),\n },\n}\n\nexport const makeNestedProps = propsFactory({\n activatable: Boolean,\n selectable: Boolean,\n activeStrategy: [String, Function] as PropType<SelectStrategy>,\n selectStrategy: [String, Function] as PropType<SelectStrategy>,\n openStrategy: [String, Object] as PropType<OpenStrategyProp>,\n opened: Array as PropType<readonly unknown[]>,\n activated: Array as PropType<readonly unknown[]>,\n selected: Array as PropType<readonly unknown[]>,\n mandatory: Boolean,\n}, 'nested')\n\nexport const useNested = (props: NestedProps) => {\n let isUnmounted = false\n const children = ref(new Map<unknown, unknown[]>())\n const parents = ref(new Map<unknown, unknown>())\n\n const opened = useProxiedModel(props, 'opened', props.opened, v => new Set(v), v => [...v.values()])\n\n const activeStrategy = computed(() => {\n if (typeof props.activeStrategy === 'object') return props.activeStrategy\n\n switch (props.activeStrategy) {\n case 'leaf': return leafActiveStrategy(props.mandatory)\n case 'single-leaf': return leafSingleActiveStrategy(props.mandatory)\n case 'independent': return independentActiveStrategy(props.mandatory)\n case 'single-independent':\n default: return independentSingleActiveStrategy(props.mandatory)\n }\n })\n\n const selectStrategy = computed(() => {\n if (typeof props.selectStrategy === 'object') return props.selectStrategy\n\n switch (props.selectStrategy) {\n case 'single-leaf': return leafSingleSelectStrategy(props.mandatory)\n case 'leaf': return leafSelectStrategy(props.mandatory)\n case 'independent': return independentSelectStrategy(props.mandatory)\n case 'single-independent': return independentSingleSelectStrategy(props.mandatory)\n case 'classic':\n default: return classicSelectStrategy(props.mandatory)\n }\n })\n\n const openStrategy = computed(() => {\n if (typeof props.openStrategy === 'object') return props.openStrategy\n\n switch (props.openStrategy) {\n case 'list': return listOpenStrategy\n case 'single': return singleOpenStrategy\n case 'multiple':\n default: return multipleOpenStrategy\n }\n })\n\n const activated = useProxiedModel(\n props,\n 'activated',\n props.activated,\n v => activeStrategy.value.in(v, children.value, parents.value),\n v => activeStrategy.value.out(v, children.value, parents.value),\n )\n const selected = useProxiedModel(\n props,\n 'selected',\n props.selected,\n v => selectStrategy.value.in(v, children.value, parents.value),\n v => selectStrategy.value.out(v, children.value, parents.value),\n )\n\n onBeforeUnmount(() => {\n isUnmounted = true\n })\n\n function getPath (id: unknown) {\n const path: unknown[] = []\n let parent: unknown = id\n\n while (parent != null) {\n path.unshift(parent)\n parent = parents.value.get(parent)\n }\n\n return path\n }\n\n const vm = getCurrentInstance('nested')\n\n const nested: NestedProvide = {\n id: shallowRef(),\n root: {\n opened,\n activatable: toRef(props, 'activatable'),\n selectable: toRef(props, 'selectable'),\n activated,\n selected,\n selectedValues: computed(() => {\n const arr = []\n\n for (const [key, value] of selected.value.entries()) {\n if (value === 'on') arr.push(key)\n }\n\n return arr\n }),\n register: (id, parentId, isGroup) => {\n parentId && id !== parentId && parents.value.set(id, parentId)\n\n isGroup && children.value.set(id, [])\n\n if (parentId != null) {\n children.value.set(parentId, [...children.value.get(parentId) || [], id])\n }\n },\n unregister: id => {\n if (isUnmounted) return\n\n children.value.delete(id)\n const parent = parents.value.get(id)\n if (parent) {\n const list = children.value.get(parent) ?? []\n children.value.set(parent, list.filter(child => child !== id))\n }\n parents.value.delete(id)\n opened.value.delete(id)\n },\n open: (id, value, event) => {\n vm.emit('click:open', { id, value, path: getPath(id), event })\n\n const newOpened = openStrategy.value.open({\n id,\n value,\n opened: new Set(opened.value),\n children: children.value,\n parents: parents.value,\n event,\n })\n\n newOpened && (opened.value = newOpened)\n },\n openOnSelect: (id, value, event) => {\n const newOpened = openStrategy.value.select({\n id,\n value,\n selected: new Map(selected.value),\n opened: new Set(opened.value),\n children: children.value,\n parents: parents.value,\n event,\n })\n newOpened && (opened.value = newOpened)\n },\n select: (id, value, event) => {\n vm.emit('click:select', { id, value, path: getPath(id), event })\n\n const newSelected = selectStrategy.value.select({\n id,\n value,\n selected: new Map(selected.value),\n children: children.value,\n parents: parents.value,\n event,\n })\n newSelected && (selected.value = newSelected)\n\n nested.root.openOnSelect(id, value, event)\n },\n activate: (id, value, event) => {\n if (!props.activatable) {\n return nested.root.select(id, true, event)\n }\n\n vm.emit('click:activate', { id, value, path: getPath(id), event })\n\n const newActivated = activeStrategy.value.activate({\n id,\n value,\n activated: new Set(activated.value),\n children: children.value,\n parents: parents.value,\n event,\n })\n\n newActivated && (activated.value = newActivated)\n },\n children,\n parents,\n },\n }\n\n provide(VNestedSymbol, nested)\n\n return nested.root\n}\n\nexport const useNestedItem = (id: Ref<unknown>, isGroup: boolean) => {\n const parent = inject(VNestedSymbol, emptyNested)\n\n const uidSymbol = Symbol(getUid())\n const computedId = computed(() => id.value !== undefined ? id.value : uidSymbol)\n\n const item = {\n ...parent,\n id: computedId,\n open: (open: boolean, e: Event) => parent.root.open(computedId.value, open, e),\n openOnSelect: (open: boolean, e?: Event) => parent.root.openOnSelect(computedId.value, open, e),\n isOpen: computed(() => parent.root.opened.value.has(computedId.value)),\n parent: computed(() => parent.root.parents.value.get(computedId.value)),\n activate: (activated: boolean, e?: Event) => parent.root.activate(computedId.value, activated, e),\n isActivated: computed(() => parent.root.activated.value.has(toRaw(computedId.value))),\n select: (selected: boolean, e?: Event) => parent.root.select(computedId.value, selected, e),\n isSelected: computed(() => parent.root.selected.value.get(toRaw(computedId.value)) === 'on'),\n isIndeterminate: computed(() => parent.root.selected.value.get(computedId.value) === 'indeterminate'),\n isLeaf: computed(() => !parent.root.children.value.get(computedId.value)),\n isGroupActivator: parent.isGroupActivator,\n }\n\n !parent.isGroupActivator && parent.root.register(computedId.value, parent.id.value, isGroup)\n\n onBeforeUnmount(() => {\n !parent.isGroupActivator && parent.root.unregister(computedId.value)\n })\n\n isGroup && provide(VNestedSymbol, item)\n\n return item\n}\n\nexport const useNestedGroupActivator = () => {\n const parent = inject(VNestedSymbol, emptyNested)\n\n provide(VNestedSymbol, { ...parent, isGroupActivator: true })\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"openStrategies.mjs","names":["singleOpenStrategy","open","_ref","id","value","opened","parents","newOpened","Set","add","parent","get","delete","select","multipleOpenStrategy","_ref2","listOpenStrategy","_ref3","path","push"],"sources":["../../../src/composables/nested/openStrategies.ts"],"sourcesContent":["export type OpenStrategyFn = (data: {\n id: unknown\n value: boolean\n opened: Set<unknown>\n children: Map<unknown, unknown[]>\n parents: Map<unknown, unknown>\n event?: Event\n}) => Set<unknown>\n\nexport type OpenSelectStrategyFn = (data: {\n id: unknown\n value: boolean\n opened: Set<unknown>\n selected: Map<unknown, 'on' | 'off' | 'indeterminate'>\n children: Map<unknown, unknown[]>\n parents: Map<unknown, unknown>\n event?: Event\n}) => Set<unknown> | null\n\nexport type OpenStrategy = {\n open: OpenStrategyFn\n select: OpenSelectStrategyFn\n}\n\nexport const singleOpenStrategy: OpenStrategy = {\n open: ({ id, value, opened, parents }) => {\n if (value) {\n const newOpened = new Set<unknown>()\n newOpened.add(id)\n\n let parent = parents.get(id)\n\n while (parent != null) {\n newOpened.add(parent)\n parent = parents.get(parent)\n }\n\n return newOpened\n } else {\n opened.delete(id)\n return opened\n }\n },\n select: () => null,\n}\n\nexport const multipleOpenStrategy: OpenStrategy = {\n open: ({ id, value, opened, parents }) => {\n if (value) {\n let parent = parents.get(id)\n opened.add(id)\n\n while (parent != null && parent !== id) {\n opened.add(parent)\n parent = parents.get(parent)\n }\n\n return opened\n } else {\n opened.delete(id)\n }\n return opened\n },\n select: () => null,\n}\n\nexport const listOpenStrategy: OpenStrategy = {\n open: multipleOpenStrategy.open,\n select: ({ id, value, opened, parents }) => {\n if (!value) return opened\n\n const path: unknown[] = []\n\n let parent = parents.get(id)\n\n while (parent != null) {\n path.push(parent)\n parent = parents.get(parent)\n }\n\n return new Set(path)\n },\n}\n"],"mappings":"AAwBA,OAAO,MAAMA,kBAAgC,GAAG;EAC9CC,IAAI,EAAEC,IAAA,IAAoC;IAAA,IAAnC;MAAEC,EAAE;MAAEC,KAAK;MAAEC,MAAM;MAAEC;IAAQ,CAAC,GAAAJ,IAAA;IACnC,IAAIE,KAAK,EAAE;MACT,MAAMG,SAAS,GAAG,IAAIC,GAAG,CAAU,CAAC;MACpCD,SAAS,CAACE,GAAG,CAACN,EAAE,CAAC;MAEjB,IAAIO,MAAM,GAAGJ,OAAO,CAACK,GAAG,CAACR,EAAE,CAAC;MAE5B,OAAOO,MAAM,IAAI,IAAI,EAAE;QACrBH,SAAS,CAACE,GAAG,CAACC,MAAM,CAAC;QACrBA,MAAM,GAAGJ,OAAO,CAACK,GAAG,CAACD,MAAM,CAAC;MAC9B;MAEA,OAAOH,SAAS;IAClB,CAAC,MAAM;MACLF,MAAM,CAACO,MAAM,CAACT,EAAE,CAAC;MACjB,OAAOE,MAAM;IACf;EACF,CAAC;EACDQ,MAAM,EAAEA,CAAA,KAAM;AAChB,CAAC;AAED,OAAO,MAAMC,oBAAkC,GAAG;EAChDb,IAAI,EAAEc,KAAA,IAAoC;IAAA,IAAnC;MAAEZ,EAAE;MAAEC,KAAK;MAAEC,MAAM;MAAEC;IAAQ,CAAC,GAAAS,KAAA;IACnC,IAAIX,KAAK,EAAE;MACT,IAAIM,MAAM,GAAGJ,OAAO,CAACK,GAAG,CAACR,EAAE,CAAC;MAC5BE,MAAM,CAACI,GAAG,CAACN,EAAE,CAAC;MAEd,OAAOO,MAAM,IAAI,IAAI,IAAIA,MAAM,KAAKP,EAAE,EAAE;QACtCE,MAAM,CAACI,GAAG,CAACC,MAAM,CAAC;QAClBA,MAAM,GAAGJ,OAAO,CAACK,GAAG,CAACD,MAAM,CAAC;MAC9B;MAEA,OAAOL,MAAM;IACf,CAAC,MAAM;MACLA,MAAM,CAACO,MAAM,CAACT,EAAE,CAAC;IACnB;IACA,OAAOE,MAAM;EACf,CAAC;EACDQ,MAAM,EAAEA,CAAA,KAAM;AAChB,CAAC;AAED,OAAO,MAAMG,gBAA8B,GAAG;EAC5Cf,IAAI,EAAEa,oBAAoB,CAACb,IAAI;EAC/BY,MAAM,EAAEI,KAAA,IAAoC;IAAA,IAAnC;MAAEd,EAAE;MAAEC,KAAK;MAAEC,MAAM;MAAEC;IAAQ,CAAC,GAAAW,KAAA;IACrC,IAAI,CAACb,KAAK,EAAE,OAAOC,MAAM;IAEzB,MAAMa,IAAe,GAAG,EAAE;IAE1B,IAAIR,MAAM,GAAGJ,OAAO,CAACK,GAAG,CAACR,EAAE,CAAC;IAE5B,OAAOO,MAAM,IAAI,IAAI,EAAE;MACrBQ,IAAI,CAACC,IAAI,CAACT,MAAM,CAAC;MACjBA,MAAM,GAAGJ,OAAO,CAACK,GAAG,CAACD,MAAM,CAAC;IAC9B;IAEA,OAAO,IAAIF,GAAG,CAACU,IAAI,CAAC;EACtB;AACF,CAAC"}
1
+ {"version":3,"file":"openStrategies.mjs","names":["singleOpenStrategy","open","_ref","id","value","opened","parents","newOpened","Set","add","parent","get","delete","select","multipleOpenStrategy","_ref2","listOpenStrategy","_ref3","path","push"],"sources":["../../../src/composables/nested/openStrategies.ts"],"sourcesContent":["export type OpenStrategyFn = (data: {\n id: unknown\n value: boolean\n opened: Set<unknown>\n children: Map<unknown, unknown[]>\n parents: Map<unknown, unknown>\n event?: Event\n}) => Set<unknown>\n\nexport type OpenSelectStrategyFn = (data: {\n id: unknown\n value: boolean\n opened: Set<unknown>\n selected: Map<unknown, 'on' | 'off' | 'indeterminate'>\n children: Map<unknown, unknown[]>\n parents: Map<unknown, unknown>\n event?: Event\n}) => Set<unknown> | null\n\nexport type OpenStrategy = {\n open: OpenStrategyFn\n select: OpenSelectStrategyFn\n}\n\nexport const singleOpenStrategy: OpenStrategy = {\n open: ({ id, value, opened, parents }) => {\n if (value) {\n const newOpened = new Set<unknown>()\n newOpened.add(id)\n\n let parent = parents.get(id)\n\n while (parent != null) {\n newOpened.add(parent)\n parent = parents.get(parent)\n }\n\n return newOpened\n } else {\n opened.delete(id)\n return opened\n }\n },\n select: () => null,\n}\n\nexport const multipleOpenStrategy: OpenStrategy = {\n open: ({ id, value, opened, parents }) => {\n if (value) {\n let parent = parents.get(id)\n opened.add(id)\n\n while (parent != null && parent !== id) {\n opened.add(parent)\n parent = parents.get(parent)\n }\n\n return opened\n } else {\n opened.delete(id)\n }\n return opened\n },\n select: () => null,\n}\n\nexport const listOpenStrategy: OpenStrategy = {\n open: multipleOpenStrategy.open,\n select: ({ id, value, opened, parents }) => {\n if (!value) return opened\n\n const path: unknown[] = []\n\n let parent = parents.get(id)\n\n while (parent != null) {\n path.push(parent)\n parent = parents.get(parent)\n }\n\n return new Set(path)\n },\n}\n"],"mappings":"AAwBA,OAAO,MAAMA,kBAAgC,GAAG;EAC9CC,IAAI,EAAEC,IAAA,IAAoC;IAAA,IAAnC;MAAEC,EAAE;MAAEC,KAAK;MAAEC,MAAM;MAAEC;IAAQ,CAAC,GAAAJ,IAAA;IACnC,IAAIE,KAAK,EAAE;MACT,MAAMG,SAAS,GAAG,IAAIC,GAAG,CAAU,CAAC;MACpCD,SAAS,CAACE,GAAG,CAACN,EAAE,CAAC;MAEjB,IAAIO,MAAM,GAAGJ,OAAO,CAACK,GAAG,CAACR,EAAE,CAAC;MAE5B,OAAOO,MAAM,IAAI,IAAI,EAAE;QACrBH,SAAS,CAACE,GAAG,CAACC,MAAM,CAAC;QACrBA,MAAM,GAAGJ,OAAO,CAACK,GAAG,CAACD,MAAM,CAAC;MAC9B;MAEA,OAAOH,SAAS;IAClB,CAAC,MAAM;MACLF,MAAM,CAACO,MAAM,CAACT,EAAE,CAAC;MACjB,OAAOE,MAAM;IACf;EACF,CAAC;EACDQ,MAAM,EAAEA,CAAA,KAAM;AAChB,CAAC;AAED,OAAO,MAAMC,oBAAkC,GAAG;EAChDb,IAAI,EAAEc,KAAA,IAAoC;IAAA,IAAnC;MAAEZ,EAAE;MAAEC,KAAK;MAAEC,MAAM;MAAEC;IAAQ,CAAC,GAAAS,KAAA;IACnC,IAAIX,KAAK,EAAE;MACT,IAAIM,MAAM,GAAGJ,OAAO,CAACK,GAAG,CAACR,EAAE,CAAC;MAC5BE,MAAM,CAACI,GAAG,CAACN,EAAE,CAAC;MAEd,OAAOO,MAAM,IAAI,IAAI,IAAIA,MAAM,KAAKP,EAAE,EAAE;QACtCE,MAAM,CAACI,GAAG,CAACC,MAAM,CAAC;QAClBA,MAAM,GAAGJ,OAAO,CAACK,GAAG,CAACD,MAAM,CAAC;MAC9B;MAEA,OAAOL,MAAM;IACf,CAAC,MAAM;MACLA,MAAM,CAACO,MAAM,CAACT,EAAE,CAAC;IACnB;IACA,OAAOE,MAAM;EACf,CAAC;EACDQ,MAAM,EAAEA,CAAA,KAAM;AAChB,CAAC;AAED,OAAO,MAAMG,gBAA8B,GAAG;EAC5Cf,IAAI,EAAEa,oBAAoB,CAACb,IAAI;EAC/BY,MAAM,EAAEI,KAAA,IAAoC;IAAA,IAAnC;MAAEd,EAAE;MAAEC,KAAK;MAAEC,MAAM;MAAEC;IAAQ,CAAC,GAAAW,KAAA;IACrC,IAAI,CAACb,KAAK,EAAE,OAAOC,MAAM;IAEzB,MAAMa,IAAe,GAAG,EAAE;IAE1B,IAAIR,MAAM,GAAGJ,OAAO,CAACK,GAAG,CAACR,EAAE,CAAC;IAE5B,OAAOO,MAAM,IAAI,IAAI,EAAE;MACrBQ,IAAI,CAACC,IAAI,CAACT,MAAM,CAAC;MACjBA,MAAM,GAAGJ,OAAO,CAACK,GAAG,CAACD,MAAM,CAAC;IAC9B;IAEA,OAAO,IAAIF,GAAG,CAACU,IAAI,CAAC;EACtB;AACF,CAAC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"selectStrategies.mjs","names":["toRaw","independentSelectStrategy","mandatory","strategy","select","_ref","id","value","selected","on","Array","from","entries","reduce","arr","_ref2","key","push","length","set","in","v","children","parents","map","Map","out","independentSingleSelectStrategy","parentStrategy","_ref3","rest","singleSelected","has","get","slice","leafSelectStrategy","_ref4","leafSingleSelectStrategy","_ref5","classicSelectStrategy","_ref6","original","items","item","shift","parent","childrenIds","everySelected","every","cid","noneSelected","_ref7"],"sources":["../../../src/composables/nested/selectStrategies.ts"],"sourcesContent":["/* eslint-disable sonarjs/no-identical-functions */\n// Utilities\nimport { toRaw } from 'vue'\n\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: readonly 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 id = toRaw(id)\n\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())\n .reduce((arr, [key, value]) => {\n if (value === 'on') arr.push(key)\n return arr\n }, [] 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 id = toRaw(id)\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 id = toRaw(id)\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 id = toRaw(id)\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 id = toRaw(id)\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())\n .reduce((arr, [key, value]) => {\n if (value === 'on') arr.push(key)\n return arr\n }, [] 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":["toRaw","independentSelectStrategy","mandatory","strategy","select","_ref","id","value","selected","on","Array","from","entries","reduce","arr","_ref2","key","push","length","set","in","v","children","parents","map","Map","out","independentSingleSelectStrategy","parentStrategy","_ref3","rest","singleSelected","has","get","slice","leafSelectStrategy","_ref4","leafSingleSelectStrategy","_ref5","classicSelectStrategy","_ref6","original","items","item","shift","parent","childrenIds","everySelected","every","cid","noneSelected","_ref7"],"sources":["../../../src/composables/nested/selectStrategies.ts"],"sourcesContent":["/* eslint-disable sonarjs/no-identical-functions */\n// Utilities\nimport { toRaw } from 'vue'\n\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: readonly 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 id = toRaw(id)\n\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())\n .reduce((arr, [key, value]) => {\n if (value === 'on') arr.push(key)\n return arr\n }, [] 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 id = toRaw(id)\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 id = toRaw(id)\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 id = toRaw(id)\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 id = toRaw(id)\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())\n .reduce((arr, [key, value]) => {\n if (value === 'on') arr.push(key)\n return arr\n }, [] 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":"AAAA;AACA;AACA,SAASA,KAAK,QAAQ,KAAK;AA6B3B,OAAO,MAAMC,yBAAyB,GAAIC,SAAmB,IAAqB;EAChF,MAAMC,QAAwB,GAAG;IAC/BC,MAAM,EAAEC,IAAA,IAA6B;MAAA,IAA5B;QAAEC,EAAE;QAAEC,KAAK;QAAEC;MAAS,CAAC,GAAAH,IAAA;MAC9BC,EAAE,GAAGN,KAAK,CAACM,EAAE,CAAC;;MAEd;MACA;MACA,IAAIJ,SAAS,IAAI,CAACK,KAAK,EAAE;QACvB,MAAME,EAAE,GAAGC,KAAK,CAACC,IAAI,CAACH,QAAQ,CAACI,OAAO,CAAC,CAAC,CAAC,CACtCC,MAAM,CAAC,CAACC,GAAG,EAAAC,KAAA,KAAmB;UAAA,IAAjB,CAACC,GAAG,EAAET,KAAK,CAAC,GAAAQ,KAAA;UACxB,IAAIR,KAAK,KAAK,IAAI,EAAEO,GAAG,CAACG,IAAI,CAACD,GAAG,CAAC;UACjC,OAAOF,GAAG;QACZ,CAAC,EAAE,EAAe,CAAC;QACrB,IAAIL,EAAE,CAACS,MAAM,KAAK,CAAC,IAAIT,EAAE,CAAC,CAAC,CAAC,KAAKH,EAAE,EAAE,OAAOE,QAAQ;MACtD;MAEAA,QAAQ,CAACW,GAAG,CAACb,EAAE,EAAEC,KAAK,GAAG,IAAI,GAAG,KAAK,CAAC;MAEtC,OAAOC,QAAQ;IACjB,CAAC;IACDY,EAAE,EAAEA,CAACC,CAAC,EAAEC,QAAQ,EAAEC,OAAO,KAAK;MAC5B,IAAIC,GAAG,GAAG,IAAIC,GAAG,CAAC,CAAC;MAEnB,KAAK,MAAMnB,EAAE,IAAKe,CAAC,IAAI,EAAE,EAAG;QAC1BG,GAAG,GAAGrB,QAAQ,CAACC,MAAM,CAAC;UACpBE,EAAE;UACFC,KAAK,EAAE,IAAI;UACXC,QAAQ,EAAE,IAAIiB,GAAG,CAACD,GAAG,CAAC;UACtBF,QAAQ;UACRC;QACF,CAAC,CAAC;MACJ;MAEA,OAAOC,GAAG;IACZ,CAAC;IACDE,GAAG,EAAEL,CAAC,IAAI;MACR,MAAMP,GAAG,GAAG,EAAE;MAEd,KAAK,MAAM,CAACE,GAAG,EAAET,KAAK,CAAC,IAAIc,CAAC,CAACT,OAAO,CAAC,CAAC,EAAE;QACtC,IAAIL,KAAK,KAAK,IAAI,EAAEO,GAAG,CAACG,IAAI,CAACD,GAAG,CAAC;MACnC;MAEA,OAAOF,GAAG;IACZ;EACF,CAAC;EAED,OAAOX,QAAQ;AACjB,CAAC;AAED,OAAO,MAAMwB,+BAA+B,GAAIzB,SAAmB,IAAqB;EACtF,MAAM0B,cAAc,GAAG3B,yBAAyB,CAACC,SAAS,CAAC;EAE3D,MAAMC,QAAwB,GAAG;IAC/BC,MAAM,EAAEyB,KAAA,IAA+B;MAAA,IAA9B;QAAErB,QAAQ;QAAEF,EAAE;QAAE,GAAGwB;MAAK,CAAC,GAAAD,KAAA;MAChCvB,EAAE,GAAGN,KAAK,CAACM,EAAE,CAAC;MACd,MAAMyB,cAAc,GAAGvB,QAAQ,CAACwB,GAAG,CAAC1B,EAAE,CAAC,GAAG,IAAImB,GAAG,CAAC,CAAC,CAACnB,EAAE,EAAEE,QAAQ,CAACyB,GAAG,CAAC3B,EAAE,CAAC,CAAE,CAAC,CAAC,GAAG,IAAImB,GAAG,CAAC,CAAC;MACxF,OAAOG,cAAc,CAACxB,MAAM,CAAC;QAAE,GAAG0B,IAAI;QAAExB,EAAE;QAAEE,QAAQ,EAAEuB;MAAe,CAAC,CAAC;IACzE,CAAC;IACDX,EAAE,EAAEA,CAACC,CAAC,EAAEC,QAAQ,EAAEC,OAAO,KAAK;MAC5B,IAAIC,GAAG,GAAG,IAAIC,GAAG,CAAC,CAAC;MAEnB,IAAIJ,CAAC,EAAEH,MAAM,EAAE;QACbM,GAAG,GAAGI,cAAc,CAACR,EAAE,CAACC,CAAC,CAACa,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAEZ,QAAQ,EAAEC,OAAO,CAAC;MAC3D;MAEA,OAAOC,GAAG;IACZ,CAAC;IACDE,GAAG,EAAEA,CAACL,CAAC,EAAEC,QAAQ,EAAEC,OAAO,KAAK;MAC7B,OAAOK,cAAc,CAACF,GAAG,CAACL,CAAC,EAAEC,QAAQ,EAAEC,OAAO,CAAC;IACjD;EACF,CAAC;EAED,OAAOpB,QAAQ;AACjB,CAAC;AAED,OAAO,MAAMgC,kBAAkB,GAAIjC,SAAmB,IAAqB;EACzE,MAAM0B,cAAc,GAAG3B,yBAAyB,CAACC,SAAS,CAAC;EAE3D,MAAMC,QAAwB,GAAG;IAC/BC,MAAM,EAAEgC,KAAA,IAAyC;MAAA,IAAxC;QAAE9B,EAAE;QAAEE,QAAQ;QAAEc,QAAQ;QAAE,GAAGQ;MAAK,CAAC,GAAAM,KAAA;MAC1C9B,EAAE,GAAGN,KAAK,CAACM,EAAE,CAAC;MACd,IAAIgB,QAAQ,CAACU,GAAG,CAAC1B,EAAE,CAAC,EAAE,OAAOE,QAAQ;MAErC,OAAOoB,cAAc,CAACxB,MAAM,CAAC;QAAEE,EAAE;QAAEE,QAAQ;QAAEc,QAAQ;QAAE,GAAGQ;MAAK,CAAC,CAAC;IACnE,CAAC;IACDV,EAAE,EAAEQ,cAAc,CAACR,EAAE;IACrBM,GAAG,EAAEE,cAAc,CAACF;EACtB,CAAC;EAED,OAAOvB,QAAQ;AACjB,CAAC;AAED,OAAO,MAAMkC,wBAAwB,GAAInC,SAAmB,IAAqB;EAC/E,MAAM0B,cAAc,GAAGD,+BAA+B,CAACzB,SAAS,CAAC;EAEjE,MAAMC,QAAwB,GAAG;IAC/BC,MAAM,EAAEkC,KAAA,IAAyC;MAAA,IAAxC;QAAEhC,EAAE;QAAEE,QAAQ;QAAEc,QAAQ;QAAE,GAAGQ;MAAK,CAAC,GAAAQ,KAAA;MAC1ChC,EAAE,GAAGN,KAAK,CAACM,EAAE,CAAC;MACd,IAAIgB,QAAQ,CAACU,GAAG,CAAC1B,EAAE,CAAC,EAAE,OAAOE,QAAQ;MAErC,OAAOoB,cAAc,CAACxB,MAAM,CAAC;QAAEE,EAAE;QAAEE,QAAQ;QAAEc,QAAQ;QAAE,GAAGQ;MAAK,CAAC,CAAC;IACnE,CAAC;IACDV,EAAE,EAAEQ,cAAc,CAACR,EAAE;IACrBM,GAAG,EAAEE,cAAc,CAACF;EACtB,CAAC;EAED,OAAOvB,QAAQ;AACjB,CAAC;AAED,OAAO,MAAMoC,qBAAqB,GAAIrC,SAAmB,IAAqB;EAC5E,MAAMC,QAAwB,GAAG;IAC/BC,MAAM,EAAEoC,KAAA,IAAgD;MAAA,IAA/C;QAAElC,EAAE;QAAEC,KAAK;QAAEC,QAAQ;QAAEc,QAAQ;QAAEC;MAAQ,CAAC,GAAAiB,KAAA;MACjDlC,EAAE,GAAGN,KAAK,CAACM,EAAE,CAAC;MACd,MAAMmC,QAAQ,GAAG,IAAIhB,GAAG,CAACjB,QAAQ,CAAC;MAElC,MAAMkC,KAAK,GAAG,CAACpC,EAAE,CAAC;MAElB,OAAOoC,KAAK,CAACxB,MAAM,EAAE;QACnB,MAAMyB,IAAI,GAAGD,KAAK,CAACE,KAAK,CAAC,CAAE;QAE3BpC,QAAQ,CAACW,GAAG,CAACwB,IAAI,EAAEpC,KAAK,GAAG,IAAI,GAAG,KAAK,CAAC;QAExC,IAAIe,QAAQ,CAACU,GAAG,CAACW,IAAI,CAAC,EAAE;UACtBD,KAAK,CAACzB,IAAI,CAAC,GAAGK,QAAQ,CAACW,GAAG,CAACU,IAAI,CAAE,CAAC;QACpC;MACF;MAEA,IAAIE,MAAM,GAAGtB,OAAO,CAACU,GAAG,CAAC3B,EAAE,CAAC;MAE5B,OAAOuC,MAAM,EAAE;QACb,MAAMC,WAAW,GAAGxB,QAAQ,CAACW,GAAG,CAACY,MAAM,CAAE;QACzC,MAAME,aAAa,GAAGD,WAAW,CAACE,KAAK,CAACC,GAAG,IAAIzC,QAAQ,CAACyB,GAAG,CAACgB,GAAG,CAAC,KAAK,IAAI,CAAC;QAC1E,MAAMC,YAAY,GAAGJ,WAAW,CAACE,KAAK,CAACC,GAAG,IAAI,CAACzC,QAAQ,CAACwB,GAAG,CAACiB,GAAG,CAAC,IAAIzC,QAAQ,CAACyB,GAAG,CAACgB,GAAG,CAAC,KAAK,KAAK,CAAC;QAEhGzC,QAAQ,CAACW,GAAG,CAAC0B,MAAM,EAAEE,aAAa,GAAG,IAAI,GAAGG,YAAY,GAAG,KAAK,GAAG,eAAe,CAAC;QAEnFL,MAAM,GAAGtB,OAAO,CAACU,GAAG,CAACY,MAAM,CAAC;MAC9B;;MAEA;MACA;MACA,IAAI3C,SAAS,IAAI,CAACK,KAAK,EAAE;QACvB,MAAME,EAAE,GAAGC,KAAK,CAACC,IAAI,CAACH,QAAQ,CAACI,OAAO,CAAC,CAAC,CAAC,CACtCC,MAAM,CAAC,CAACC,GAAG,EAAAqC,KAAA,KAAmB;UAAA,IAAjB,CAACnC,GAAG,EAAET,KAAK,CAAC,GAAA4C,KAAA;UACxB,IAAI5C,KAAK,KAAK,IAAI,EAAEO,GAAG,CAACG,IAAI,CAACD,GAAG,CAAC;UACjC,OAAOF,GAAG;QACZ,CAAC,EAAE,EAAe,CAAC;QACrB,IAAIL,EAAE,CAACS,MAAM,KAAK,CAAC,EAAE,OAAOuB,QAAQ;MACtC;MAEA,OAAOjC,QAAQ;IACjB,CAAC;IACDY,EAAE,EAAEA,CAACC,CAAC,EAAEC,QAAQ,EAAEC,OAAO,KAAK;MAC5B,IAAIC,GAAG,GAAG,IAAIC,GAAG,CAAC,CAAC;MAEnB,KAAK,MAAMnB,EAAE,IAAKe,CAAC,IAAI,EAAE,EAAG;QAC1BG,GAAG,GAAGrB,QAAQ,CAACC,MAAM,CAAC;UACpBE,EAAE;UACFC,KAAK,EAAE,IAAI;UACXC,QAAQ,EAAE,IAAIiB,GAAG,CAACD,GAAG,CAAC;UACtBF,QAAQ;UACRC;QACF,CAAC,CAAC;MACJ;MAEA,OAAOC,GAAG;IACZ,CAAC;IACDE,GAAG,EAAEA,CAACL,CAAC,EAAEC,QAAQ,KAAK;MACpB,MAAMR,GAAG,GAAG,EAAE;MAEd,KAAK,MAAM,CAACE,GAAG,EAAET,KAAK,CAAC,IAAIc,CAAC,CAACT,OAAO,CAAC,CAAC,EAAE;QACtC,IAAIL,KAAK,KAAK,IAAI,IAAI,CAACe,QAAQ,CAACU,GAAG,CAAChB,GAAG,CAAC,EAAEF,GAAG,CAACG,IAAI,CAACD,GAAG,CAAC;MACzD;MAEA,OAAOF,GAAG;IACZ;EACF,CAAC;EAED,OAAOX,QAAQ;AACjB,CAAC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"position.mjs","names":["computed","getCurrentInstanceName","propsFactory","positionValues","makePositionProps","position","type","String","validator","v","includes","usePosition","props","name","arguments","length","undefined","positionClasses"],"sources":["../../src/composables/position.ts"],"sourcesContent":["// Utilities\nimport { computed } from 'vue'\nimport { getCurrentInstanceName, propsFactory } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\nconst positionValues = ['static', 'relative', 'fixed', 'absolute', 'sticky'] as const\n\ntype Position = typeof positionValues[number]\n\nexport interface PositionProps {\n position: Position | undefined\n}\n\n// Composables\nexport const makePositionProps = propsFactory({\n position: {\n type: String as PropType<Position>,\n validator: /* istanbul ignore next */ (v: any) => positionValues.includes(v),\n },\n}, 'position')\n\nexport function usePosition (\n props: PositionProps,\n name = getCurrentInstanceName(),\n) {\n const positionClasses = computed(() => {\n return props.position ? `${name}--${props.position}` : undefined\n })\n\n return { positionClasses }\n}\n"],"mappings":"AAAA;AACA,SAASA,QAAQ,QAAQ,KAAK;AAAA,SACrBC,sBAAsB,EAAEC,YAAY,6BAE7C;AAGA,MAAMC,cAAc,GAAG,CAAC,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,CAAU;AAQrF;AACA,OAAO,MAAMC,iBAAiB,GAAGF,YAAY,CAAC;EAC5CG,QAAQ,EAAE;IACRC,IAAI,EAAEC,MAA4B;IAClCC,SAAS,EAAE,0BAA4BC,CAAM,IAAKN,cAAc,CAACO,QAAQ,CAACD,CAAC;EAC7E;AACF,CAAC,EAAE,UAAU,CAAC;AAEd,OAAO,SAASE,WAAWA,CACzBC,KAAoB,EAEpB;EAAA,IADAC,IAAI,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAGb,sBAAsB,CAAC,CAAC;EAE/B,MAAMgB,eAAe,GAAGjB,QAAQ,CAAC,MAAM;IACrC,OAAOY,KAAK,CAACP,QAAQ,GAAI,GAAEQ,IAAK,KAAID,KAAK,CAACP,QAAS,EAAC,GAAGW,SAAS;EAClE,CAAC,CAAC;EAEF,OAAO;IAAEC;EAAgB,CAAC;AAC5B"}
1
+ {"version":3,"file":"position.mjs","names":["computed","getCurrentInstanceName","propsFactory","positionValues","makePositionProps","position","type","String","validator","v","includes","usePosition","props","name","arguments","length","undefined","positionClasses"],"sources":["../../src/composables/position.ts"],"sourcesContent":["// Utilities\nimport { computed } from 'vue'\nimport { getCurrentInstanceName, propsFactory } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\nconst positionValues = ['static', 'relative', 'fixed', 'absolute', 'sticky'] as const\n\ntype Position = typeof positionValues[number]\n\nexport interface PositionProps {\n position: Position | undefined\n}\n\n// Composables\nexport const makePositionProps = propsFactory({\n position: {\n type: String as PropType<Position>,\n validator: /* istanbul ignore next */ (v: any) => positionValues.includes(v),\n },\n}, 'position')\n\nexport function usePosition (\n props: PositionProps,\n name = getCurrentInstanceName(),\n) {\n const positionClasses = computed(() => {\n return props.position ? `${name}--${props.position}` : undefined\n })\n\n return { positionClasses }\n}\n"],"mappings":"AAAA;AACA,SAASA,QAAQ,QAAQ,KAAK;AAAA,SACrBC,sBAAsB,EAAEC,YAAY,6BAE7C;AAGA,MAAMC,cAAc,GAAG,CAAC,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,CAAU;AAQrF;AACA,OAAO,MAAMC,iBAAiB,GAAGF,YAAY,CAAC;EAC5CG,QAAQ,EAAE;IACRC,IAAI,EAAEC,MAA4B;IAClCC,SAAS,EAAE,0BAA4BC,CAAM,IAAKN,cAAc,CAACO,QAAQ,CAACD,CAAC;EAC7E;AACF,CAAC,EAAE,UAAU,CAAC;AAEd,OAAO,SAASE,WAAWA,CACzBC,KAAoB,EAEpB;EAAA,IADAC,IAAI,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAGb,sBAAsB,CAAC,CAAC;EAE/B,MAAMgB,eAAe,GAAGjB,QAAQ,CAAC,MAAM;IACrC,OAAOY,KAAK,CAACP,QAAQ,GAAI,GAAEQ,IAAK,KAAID,KAAK,CAACP,QAAS,EAAC,GAAGW,SAAS;EAClE,CAAC,CAAC;EAEF,OAAO;IAAEC;EAAgB,CAAC;AAC5B","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"proxiedModel.mjs","names":["useToggleScope","computed","ref","toRaw","watch","getCurrentInstance","toKebabCase","useProxiedModel","props","prop","defaultValue","transformIn","arguments","length","undefined","v","transformOut","vm","internal","kebabProp","checkKebab","isControlled","vnode","hasOwnProperty","value","val","model","get","externalValue","set","internalValue","newValue","emit","Object","defineProperty"],"sources":["../../src/composables/proxiedModel.ts"],"sourcesContent":["// Composables\nimport { useToggleScope } from '@/composables/toggleScope'\n\n// Utilities\nimport { computed, ref, toRaw, watch } from 'vue'\nimport { getCurrentInstance, toKebabCase } from '@/util'\n\n// Types\nimport type { Ref } from 'vue'\nimport type { EventProp } from '@/util'\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}`]: EventProp | 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 const externalValue = props[prop]\n return transformIn(isControlled.value ? externalValue : 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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"}
1
+ {"version":3,"file":"proxiedModel.mjs","names":["useToggleScope","computed","ref","toRaw","watch","getCurrentInstance","toKebabCase","useProxiedModel","props","prop","defaultValue","transformIn","arguments","length","undefined","v","transformOut","vm","internal","kebabProp","checkKebab","isControlled","vnode","hasOwnProperty","value","val","model","get","externalValue","set","internalValue","newValue","emit","Object","defineProperty"],"sources":["../../src/composables/proxiedModel.ts"],"sourcesContent":["// Composables\nimport { useToggleScope } from '@/composables/toggleScope'\n\n// Utilities\nimport { computed, ref, toRaw, watch } from 'vue'\nimport { getCurrentInstance, toKebabCase } from '@/util'\n\n// Types\nimport type { Ref } from 'vue'\nimport type { EventProp } from '@/util'\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}`]: EventProp | 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 const externalValue = props[prop]\n return transformIn(isControlled.value ? externalValue : 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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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"refs.mjs","names":["onBeforeUpdate","ref","useRefs","refs","value","updateRef","e","i"],"sources":["../../src/composables/refs.ts"],"sourcesContent":["// Utilities\nimport { onBeforeUpdate, ref } from 'vue'\n\n// Types\nimport type { Ref } from 'vue'\n\nexport function useRefs <T extends {}> () {\n const refs = ref<(T | undefined)[]>([]) as Ref<(T | undefined)[]>\n\n onBeforeUpdate(() => (refs.value = []))\n\n function updateRef (e: any, i: number) {\n refs.value[i] = e\n }\n\n return { refs, updateRef }\n}\n"],"mappings":"AAAA;AACA,SAASA,cAAc,EAAEC,GAAG,QAAQ,KAAK;;AAEzC;;AAGA,OAAO,SAASC,OAAOA,CAAA,EAAmB;EACxC,MAAMC,IAAI,GAAGF,GAAG,CAAoB,EAAE,CAA2B;EAEjED,cAAc,CAAC,MAAOG,IAAI,CAACC,KAAK,GAAG,EAAG,CAAC;EAEvC,SAASC,SAASA,CAAEC,CAAM,EAAEC,CAAS,EAAE;IACrCJ,IAAI,CAACC,KAAK,CAACG,CAAC,CAAC,GAAGD,CAAC;EACnB;EAEA,OAAO;IAAEH,IAAI;IAAEE;EAAU,CAAC;AAC5B"}
1
+ {"version":3,"file":"refs.mjs","names":["onBeforeUpdate","ref","useRefs","refs","value","updateRef","e","i"],"sources":["../../src/composables/refs.ts"],"sourcesContent":["// Utilities\nimport { onBeforeUpdate, ref } from 'vue'\n\n// Types\nimport type { Ref } from 'vue'\n\nexport function useRefs <T extends {}> () {\n const refs = ref<(T | undefined)[]>([]) as Ref<(T | undefined)[]>\n\n onBeforeUpdate(() => (refs.value = []))\n\n function updateRef (e: any, i: number) {\n refs.value[i] = e\n }\n\n return { refs, updateRef }\n}\n"],"mappings":"AAAA;AACA,SAASA,cAAc,EAAEC,GAAG,QAAQ,KAAK;;AAEzC;;AAGA,OAAO,SAASC,OAAOA,CAAA,EAAmB;EACxC,MAAMC,IAAI,GAAGF,GAAG,CAAoB,EAAE,CAA2B;EAEjED,cAAc,CAAC,MAAOG,IAAI,CAACC,KAAK,GAAG,EAAG,CAAC;EAEvC,SAASC,SAASA,CAAEC,CAAM,EAAEC,CAAS,EAAE;IACrCJ,IAAI,CAACC,KAAK,CAACG,CAAC,CAAC,GAAGD,CAAC;EACnB;EAEA,OAAO;IAAEH,IAAI;IAAEE;EAAU,CAAC;AAC5B","ignoreList":[]}