@vuetify/nightly 3.0.0-beta.2 → 3.0.0-beta.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (567) hide show
  1. package/CHANGELOG.md +2 -53
  2. package/dist/json/attributes.json +170 -242
  3. package/dist/json/tags.json +32 -50
  4. package/dist/json/web-types.json +596 -570
  5. package/dist/vuetify.css +338 -356
  6. package/dist/vuetify.d.ts +5952 -5468
  7. package/dist/vuetify.esm.js +2272 -2010
  8. package/dist/vuetify.esm.js.map +1 -1
  9. package/dist/vuetify.js +2271 -2009
  10. package/dist/vuetify.js.map +1 -1
  11. package/dist/vuetify.min.css +2 -2
  12. package/dist/vuetify.min.js +912 -886
  13. package/dist/vuetify.min.js.map +1 -1
  14. package/lib/components/VAlert/VAlert.mjs +11 -6
  15. package/lib/components/VAlert/VAlert.mjs.map +1 -1
  16. package/lib/components/VAlert/VAlertTitle.mjs.map +1 -1
  17. package/lib/components/VAlert/index.mjs.map +1 -1
  18. package/lib/components/VApp/VApp.mjs.map +1 -1
  19. package/lib/components/VApp/index.mjs.map +1 -1
  20. package/lib/components/VAppBar/VAppBar.mjs +4 -4
  21. package/lib/components/VAppBar/VAppBar.mjs.map +1 -1
  22. package/lib/components/VAppBar/VAppBarNavIcon.mjs +4 -2
  23. package/lib/components/VAppBar/VAppBarNavIcon.mjs.map +1 -1
  24. package/lib/components/VAppBar/VAppBarTitle.mjs +3 -1
  25. package/lib/components/VAppBar/VAppBarTitle.mjs.map +1 -1
  26. package/lib/components/VAppBar/index.mjs.map +1 -1
  27. package/lib/components/VAutocomplete/VAutocomplete.mjs +31 -41
  28. package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
  29. package/lib/components/VAutocomplete/index.mjs.map +1 -1
  30. package/lib/components/VAvatar/VAvatar.mjs +3 -2
  31. package/lib/components/VAvatar/VAvatar.mjs.map +1 -1
  32. package/lib/components/VAvatar/index.mjs.map +1 -1
  33. package/lib/components/VBadge/VBadge.css +3 -6
  34. package/lib/components/VBadge/VBadge.mjs +16 -44
  35. package/lib/components/VBadge/VBadge.mjs.map +1 -1
  36. package/lib/components/VBadge/VBadge.sass +2 -4
  37. package/lib/components/VBadge/_variables.scss +1 -2
  38. package/lib/components/VBadge/index.mjs.map +1 -1
  39. package/lib/components/VBanner/VBanner.mjs +10 -5
  40. package/lib/components/VBanner/VBanner.mjs.map +1 -1
  41. package/lib/components/VBanner/VBannerActions.mjs.map +1 -1
  42. package/lib/components/VBanner/VBannerAvatar.mjs.map +1 -1
  43. package/lib/components/VBanner/VBannerIcon.mjs.map +1 -1
  44. package/lib/components/VBanner/VBannerText.mjs.map +1 -1
  45. package/lib/components/VBanner/index.mjs.map +1 -1
  46. package/lib/components/VBottomNavigation/VBottomNavigation.css +1 -1
  47. package/lib/components/VBottomNavigation/VBottomNavigation.mjs +1 -1
  48. package/lib/components/VBottomNavigation/VBottomNavigation.mjs.map +1 -1
  49. package/lib/components/VBottomNavigation/VBottomNavigation.sass +1 -1
  50. package/lib/components/VBottomNavigation/index.mjs.map +1 -1
  51. package/lib/components/VBottomSheet/VBottomSheet.mjs.map +1 -1
  52. package/lib/components/VBottomSheet/index.mjs.map +1 -1
  53. package/lib/components/VBreadcrumbs/VBreadcrumbs.mjs +3 -2
  54. package/lib/components/VBreadcrumbs/VBreadcrumbs.mjs.map +1 -1
  55. package/lib/components/VBreadcrumbs/VBreadcrumbsDivider.mjs.map +1 -1
  56. package/lib/components/VBreadcrumbs/VBreadcrumbsItem.mjs.map +1 -1
  57. package/lib/components/VBreadcrumbs/index.mjs.map +1 -1
  58. package/lib/components/VBreadcrumbs/shared.mjs.map +1 -1
  59. package/lib/components/VBtn/VBtn.css +18 -9
  60. package/lib/components/VBtn/VBtn.mjs +19 -10
  61. package/lib/components/VBtn/VBtn.mjs.map +1 -1
  62. package/lib/components/VBtn/VBtn.sass +5 -2
  63. package/lib/components/VBtn/_variables.scss +0 -1
  64. package/lib/components/VBtn/index.mjs.map +1 -1
  65. package/lib/components/VBtnGroup/VBtnGroup.mjs.map +1 -1
  66. package/lib/components/VBtnGroup/index.mjs.map +1 -1
  67. package/lib/components/VBtnToggle/VBtnToggle.mjs.map +1 -1
  68. package/lib/components/VBtnToggle/index.mjs.map +1 -1
  69. package/lib/components/VCalendar/VCalendar.mjs.map +1 -1
  70. package/lib/components/VCalendar/VCalendarCategory.mjs.map +1 -1
  71. package/lib/components/VCalendar/VCalendarDaily.mjs.map +1 -1
  72. package/lib/components/VCalendar/VCalendarMonthly.mjs.map +1 -1
  73. package/lib/components/VCalendar/VCalendarWeekly.mjs.map +1 -1
  74. package/lib/components/VCalendar/index.mjs.map +1 -1
  75. package/lib/components/VCalendar/mixins/calendar-base.mjs.map +1 -1
  76. package/lib/components/VCalendar/mixins/calendar-with-events.mjs.map +1 -1
  77. package/lib/components/VCalendar/mixins/calendar-with-intervals.mjs.map +1 -1
  78. package/lib/components/VCalendar/mixins/mouse.mjs.map +1 -1
  79. package/lib/components/VCalendar/mixins/times.mjs.map +1 -1
  80. package/lib/components/VCalendar/modes/column.mjs.map +1 -1
  81. package/lib/components/VCalendar/modes/common.mjs.map +1 -1
  82. package/lib/components/VCalendar/modes/index.mjs.map +1 -1
  83. package/lib/components/VCalendar/modes/stack.mjs.map +1 -1
  84. package/lib/components/VCalendar/util/events.mjs.map +1 -1
  85. package/lib/components/VCalendar/util/parser.mjs.map +1 -1
  86. package/lib/components/VCalendar/util/props.mjs.map +1 -1
  87. package/lib/components/VCalendar/util/timestamp.mjs.map +1 -1
  88. package/lib/components/VCard/VCard.css +8 -7
  89. package/lib/components/VCard/VCard.mjs +11 -6
  90. package/lib/components/VCard/VCard.mjs.map +1 -1
  91. package/lib/components/VCard/VCardActions.mjs.map +1 -1
  92. package/lib/components/VCard/VCardAvatar.mjs.map +1 -1
  93. package/lib/components/VCard/VCardContent.mjs.map +1 -1
  94. package/lib/components/VCard/VCardHeader.mjs.map +1 -1
  95. package/lib/components/VCard/VCardHeaderText.mjs.map +1 -1
  96. package/lib/components/VCard/VCardImg.mjs.map +1 -1
  97. package/lib/components/VCard/VCardSubtitle.mjs.map +1 -1
  98. package/lib/components/VCard/VCardText.mjs.map +1 -1
  99. package/lib/components/VCard/VCardTitle.mjs.map +1 -1
  100. package/lib/components/VCard/index.mjs.map +1 -1
  101. package/lib/components/VCarousel/VCarousel.mjs +3 -2
  102. package/lib/components/VCarousel/VCarousel.mjs.map +1 -1
  103. package/lib/components/VCarousel/VCarouselItem.mjs.map +1 -1
  104. package/lib/components/VCarousel/index.mjs.map +1 -1
  105. package/lib/components/VCheckbox/VCheckbox.mjs +5 -4
  106. package/lib/components/VCheckbox/VCheckbox.mjs.map +1 -1
  107. package/lib/components/VCheckbox/index.mjs.map +1 -1
  108. package/lib/components/VChip/VChip.mjs +5 -4
  109. package/lib/components/VChip/VChip.mjs.map +1 -1
  110. package/lib/components/VChip/index.mjs.map +1 -1
  111. package/lib/components/VChipGroup/VChipGroup.mjs.map +1 -1
  112. package/lib/components/VChipGroup/index.mjs.map +1 -1
  113. package/lib/components/VCode/index.mjs.map +1 -1
  114. package/lib/components/VColorPicker/VColorPicker.mjs.map +1 -1
  115. package/lib/components/VColorPicker/VColorPickerCanvas.mjs.map +1 -1
  116. package/lib/components/VColorPicker/VColorPickerEdit.mjs.map +1 -1
  117. package/lib/components/VColorPicker/VColorPickerPreview.mjs.map +1 -1
  118. package/lib/components/VColorPicker/VColorPickerSwatches.mjs.map +1 -1
  119. package/lib/components/VColorPicker/index.mjs.map +1 -1
  120. package/lib/components/VColorPicker/util/index.mjs.map +1 -1
  121. package/lib/components/VCombobox/VCombobox.mjs +46 -52
  122. package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
  123. package/lib/components/VCombobox/index.mjs.map +1 -1
  124. package/lib/components/VCounter/VCounter.mjs.map +1 -1
  125. package/lib/components/VCounter/index.mjs.map +1 -1
  126. package/lib/components/VData/VData.mjs.map +1 -1
  127. package/lib/components/VData/index.mjs.map +1 -1
  128. package/lib/components/VDataIterator/VDataFooter.mjs.map +1 -1
  129. package/lib/components/VDataIterator/VDataIterator.mjs.map +1 -1
  130. package/lib/components/VDataIterator/index.mjs.map +1 -1
  131. package/lib/components/VDataTable/MobileRow.mjs.map +1 -1
  132. package/lib/components/VDataTable/Row.mjs.map +1 -1
  133. package/lib/components/VDataTable/RowGroup.mjs.map +1 -1
  134. package/lib/components/VDataTable/VDataTable.mjs.map +1 -1
  135. package/lib/components/VDataTable/VDataTableHeader.mjs.map +1 -1
  136. package/lib/components/VDataTable/VDataTableHeaderDesktop.mjs.map +1 -1
  137. package/lib/components/VDataTable/VDataTableHeaderMobile.mjs.map +1 -1
  138. package/lib/components/VDataTable/VEditDialog.mjs.map +1 -1
  139. package/lib/components/VDataTable/VVirtualTable.mjs.map +1 -1
  140. package/lib/components/VDataTable/index.mjs.map +1 -1
  141. package/lib/components/VDataTable/mixins/header.mjs.map +1 -1
  142. package/lib/components/VDatePicker/VDatePicker.mjs.map +1 -1
  143. package/lib/components/VDatePicker/VDatePickerDateTable.mjs.map +1 -1
  144. package/lib/components/VDatePicker/VDatePickerHeader.mjs.map +1 -1
  145. package/lib/components/VDatePicker/VDatePickerMonthTable.mjs.map +1 -1
  146. package/lib/components/VDatePicker/VDatePickerTitle.mjs.map +1 -1
  147. package/lib/components/VDatePicker/VDatePickerYears.mjs.map +1 -1
  148. package/lib/components/VDatePicker/index.mjs.map +1 -1
  149. package/lib/components/VDatePicker/mixins/date-picker-table.mjs.map +1 -1
  150. package/lib/components/VDatePicker/util/createNativeLocaleFormatter.mjs.map +1 -1
  151. package/lib/components/VDatePicker/util/eventHelpers.mjs.map +1 -1
  152. package/lib/components/VDatePicker/util/index.mjs.map +1 -1
  153. package/lib/components/VDatePicker/util/isDateAllowed.mjs.map +1 -1
  154. package/lib/components/VDatePicker/util/monthChange.mjs.map +1 -1
  155. package/lib/components/VDatePicker/util/pad.mjs.map +1 -1
  156. package/lib/components/VDatePicker/util/sanitizeDateString.mjs.map +1 -1
  157. package/lib/components/VDefaultsProvider/VDefaultsProvider.mjs.map +1 -1
  158. package/lib/components/VDefaultsProvider/index.mjs.map +1 -1
  159. package/lib/components/VDialog/VDialog.css +0 -1
  160. package/lib/components/VDialog/VDialog.mjs +8 -3
  161. package/lib/components/VDialog/VDialog.mjs.map +1 -1
  162. package/lib/components/VDialog/VDialog.sass +0 -1
  163. package/lib/components/VDialog/_variables.scss +0 -1
  164. package/lib/components/VDialog/index.mjs.map +1 -1
  165. package/lib/components/VDivider/VDivider.mjs.map +1 -1
  166. package/lib/components/VDivider/index.mjs.map +1 -1
  167. package/lib/components/VExpansionPanel/VExpansionPanel.css +8 -7
  168. package/lib/components/VExpansionPanel/VExpansionPanel.mjs.map +1 -1
  169. package/lib/components/VExpansionPanel/VExpansionPanelText.mjs.map +1 -1
  170. package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs +4 -3
  171. package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs.map +1 -1
  172. package/lib/components/VExpansionPanel/VExpansionPanels.mjs.map +1 -1
  173. package/lib/components/VExpansionPanel/index.mjs.map +1 -1
  174. package/lib/components/VField/VField.mjs +7 -5
  175. package/lib/components/VField/VField.mjs.map +1 -1
  176. package/lib/components/VField/VFieldLabel.mjs.map +1 -1
  177. package/lib/components/VField/index.mjs.map +1 -1
  178. package/lib/components/VFileInput/VFileInput.mjs +3 -2
  179. package/lib/components/VFileInput/VFileInput.mjs.map +1 -1
  180. package/lib/components/VFileInput/index.mjs.map +1 -1
  181. package/lib/components/VFooter/VFooter.mjs +1 -1
  182. package/lib/components/VFooter/VFooter.mjs.map +1 -1
  183. package/lib/components/VFooter/index.mjs.map +1 -1
  184. package/lib/components/VForm/VForm.mjs.map +1 -1
  185. package/lib/components/VForm/index.mjs.map +1 -1
  186. package/lib/components/VGrid/VCol.mjs.map +1 -1
  187. package/lib/components/VGrid/VContainer.mjs.map +1 -1
  188. package/lib/components/VGrid/VRow.mjs.map +1 -1
  189. package/lib/components/VGrid/VSpacer.mjs.map +1 -1
  190. package/lib/components/VGrid/index.mjs.map +1 -1
  191. package/lib/components/VHover/VHover.mjs.map +1 -1
  192. package/lib/components/VHover/index.mjs.map +1 -1
  193. package/lib/components/VIcon/VIcon.mjs +2 -4
  194. package/lib/components/VIcon/VIcon.mjs.map +1 -1
  195. package/lib/components/VIcon/index.mjs.map +1 -1
  196. package/lib/components/VImg/VImg.mjs.map +1 -1
  197. package/lib/components/VImg/index.mjs.map +1 -1
  198. package/lib/components/VInput/VInput.mjs +4 -3
  199. package/lib/components/VInput/VInput.mjs.map +1 -1
  200. package/lib/components/VInput/index.mjs.map +1 -1
  201. package/lib/components/VItemGroup/VItem.mjs.map +1 -1
  202. package/lib/components/VItemGroup/VItemGroup.mjs.map +1 -1
  203. package/lib/components/VItemGroup/index.mjs.map +1 -1
  204. package/lib/components/VKbd/index.mjs.map +1 -1
  205. package/lib/components/VLabel/VLabel.mjs.map +1 -1
  206. package/lib/components/VLabel/index.mjs.map +1 -1
  207. package/lib/components/VLayout/VLayout.mjs.map +1 -1
  208. package/lib/components/VLayout/VLayoutItem.mjs +1 -1
  209. package/lib/components/VLayout/VLayoutItem.mjs.map +1 -1
  210. package/lib/components/VLayout/index.mjs.map +1 -1
  211. package/lib/components/VLazy/VLazy.mjs.map +1 -1
  212. package/lib/components/VLazy/index.mjs.map +1 -1
  213. package/lib/components/VList/VList.css +0 -6
  214. package/lib/components/VList/VList.mjs +47 -31
  215. package/lib/components/VList/VList.mjs.map +1 -1
  216. package/lib/components/VList/VList.sass +0 -1
  217. package/lib/components/VList/VListChildren.mjs +41 -3
  218. package/lib/components/VList/VListChildren.mjs.map +1 -1
  219. package/lib/components/VList/VListGroup.mjs +4 -3
  220. package/lib/components/VList/VListGroup.mjs.map +1 -1
  221. package/lib/components/VList/VListImg.mjs.map +1 -1
  222. package/lib/components/VList/VListItem.css +8 -7
  223. package/lib/components/VList/VListItem.mjs +6 -5
  224. package/lib/components/VList/VListItem.mjs.map +1 -1
  225. package/lib/components/VList/VListItemAction.mjs.map +1 -1
  226. package/lib/components/VList/VListItemAvatar.mjs.map +1 -1
  227. package/lib/components/VList/VListItemHeader.mjs.map +1 -1
  228. package/lib/components/VList/VListItemIcon.mjs.map +1 -1
  229. package/lib/components/VList/VListItemMedia.mjs.map +1 -1
  230. package/lib/components/VList/VListItemSubtitle.mjs.map +1 -1
  231. package/lib/components/VList/VListItemTitle.mjs.map +1 -1
  232. package/lib/components/VList/VListSubheader.mjs +3 -3
  233. package/lib/components/VList/VListSubheader.mjs.map +1 -1
  234. package/lib/components/VList/_variables.scss +0 -1
  235. package/lib/components/VList/index.mjs.map +1 -1
  236. package/lib/components/VList/list.mjs.map +1 -1
  237. package/lib/components/VLocaleProvider/VLocaleProvider.mjs.map +1 -1
  238. package/lib/components/VLocaleProvider/index.mjs.map +1 -1
  239. package/lib/components/VMain/VMain.mjs.map +1 -1
  240. package/lib/components/VMain/index.mjs.map +1 -1
  241. package/lib/components/VMenu/VMenu.mjs +6 -2
  242. package/lib/components/VMenu/VMenu.mjs.map +1 -1
  243. package/lib/components/VMenu/_variables.scss +0 -1
  244. package/lib/components/VMenu/index.mjs.map +1 -1
  245. package/lib/components/VMenu/shared.mjs.map +1 -1
  246. package/lib/components/VMessages/VMessages.mjs.map +1 -1
  247. package/lib/components/VMessages/index.mjs.map +1 -1
  248. package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs +7 -7
  249. package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs.map +1 -1
  250. package/lib/components/VNavigationDrawer/index.mjs.map +1 -1
  251. package/lib/components/VNavigationDrawer/touch.mjs.map +1 -1
  252. package/lib/components/VNoSsr/VNoSsr.mjs.map +1 -1
  253. package/lib/components/VNoSsr/index.mjs.map +1 -1
  254. package/lib/components/VOtpInput/VOtpInput.mjs.map +1 -1
  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.css +0 -1
  259. package/lib/components/VOverlay/VOverlay.mjs +45 -21
  260. package/lib/components/VOverlay/VOverlay.mjs.map +1 -1
  261. package/lib/components/VOverlay/VOverlay.sass +0 -1
  262. package/lib/components/VOverlay/_variables.scss +0 -1
  263. package/lib/components/VOverlay/index.mjs.map +1 -1
  264. package/lib/components/VOverlay/{positionStrategies.mjs → locationStrategies.mjs} +32 -33
  265. package/lib/components/VOverlay/locationStrategies.mjs.map +1 -0
  266. package/lib/components/VOverlay/requestNewFrame.mjs.map +1 -1
  267. package/lib/components/VOverlay/scrollStrategies.mjs +2 -2
  268. package/lib/components/VOverlay/scrollStrategies.mjs.map +1 -1
  269. package/lib/components/VOverlay/useActivator.mjs +7 -1
  270. package/lib/components/VOverlay/useActivator.mjs.map +1 -1
  271. package/lib/components/VOverlay/util/point.mjs.map +1 -1
  272. package/lib/components/VPagination/VPagination.mjs +6 -5
  273. package/lib/components/VPagination/VPagination.mjs.map +1 -1
  274. package/lib/components/VPagination/index.mjs.map +1 -1
  275. package/lib/components/VParallax/VParallax.mjs.map +1 -1
  276. package/lib/components/VParallax/index.mjs.map +1 -1
  277. package/lib/components/VPicker/VPicker.mjs.map +1 -1
  278. package/lib/components/VPicker/index.mjs.map +1 -1
  279. package/lib/components/VProgressCircular/VProgressCircular.mjs.map +1 -1
  280. package/lib/components/VProgressCircular/index.mjs.map +1 -1
  281. package/lib/components/VProgressLinear/VProgressLinear.mjs.map +1 -1
  282. package/lib/components/VProgressLinear/index.mjs.map +1 -1
  283. package/lib/components/VRadio/VRadio.mjs +5 -3
  284. package/lib/components/VRadio/VRadio.mjs.map +1 -1
  285. package/lib/components/VRadio/index.mjs.map +1 -1
  286. package/lib/components/VRadioGroup/VRadioGroup.mjs +5 -3
  287. package/lib/components/VRadioGroup/VRadioGroup.mjs.map +1 -1
  288. package/lib/components/VRadioGroup/index.mjs.map +1 -1
  289. package/lib/components/VRangeSlider/VRangeSlider.mjs.map +1 -1
  290. package/lib/components/VRangeSlider/index.mjs.map +1 -1
  291. package/lib/components/VRating/VRating.mjs +4 -3
  292. package/lib/components/VRating/VRating.mjs.map +1 -1
  293. package/lib/components/VRating/index.mjs.map +1 -1
  294. package/lib/components/VResponsive/VResponsive.mjs.map +1 -1
  295. package/lib/components/VResponsive/index.mjs.map +1 -1
  296. package/lib/components/VSelect/VSelect.mjs +40 -27
  297. package/lib/components/VSelect/VSelect.mjs.map +1 -1
  298. package/lib/components/VSelect/index.mjs.map +1 -1
  299. package/lib/components/VSelectionControl/VSelectionControl.mjs +7 -6
  300. package/lib/components/VSelectionControl/VSelectionControl.mjs.map +1 -1
  301. package/lib/components/VSelectionControl/index.mjs.map +1 -1
  302. package/lib/components/VSelectionControlGroup/VSelectionControlGroup.mjs +4 -3
  303. package/lib/components/VSelectionControlGroup/VSelectionControlGroup.mjs.map +1 -1
  304. package/lib/components/VSelectionControlGroup/index.mjs.map +1 -1
  305. package/lib/components/VSheet/VSheet.mjs +7 -3
  306. package/lib/components/VSheet/VSheet.mjs.map +1 -1
  307. package/lib/components/VSheet/index.mjs.map +1 -1
  308. package/lib/components/VSkeletonLoader/VSkeletonLoader.mjs.map +1 -1
  309. package/lib/components/VSkeletonLoader/index.mjs.map +1 -1
  310. package/lib/components/VSlideGroup/VSlideGroup.mjs +4 -3
  311. package/lib/components/VSlideGroup/VSlideGroup.mjs.map +1 -1
  312. package/lib/components/VSlideGroup/VSlideGroupItem.mjs.map +1 -1
  313. package/lib/components/VSlideGroup/helpers.mjs.map +1 -1
  314. package/lib/components/VSlideGroup/index.mjs.map +1 -1
  315. package/lib/components/VSlider/VSlider.mjs.map +1 -1
  316. package/lib/components/VSlider/VSliderThumb.mjs.map +1 -1
  317. package/lib/components/VSlider/VSliderTrack.mjs +2 -1
  318. package/lib/components/VSlider/VSliderTrack.mjs.map +1 -1
  319. package/lib/components/VSlider/index.mjs.map +1 -1
  320. package/lib/components/VSlider/slider.mjs.map +1 -1
  321. package/lib/components/VSnackbar/VSnackbar.css +0 -18
  322. package/lib/components/VSnackbar/VSnackbar.mjs +19 -12
  323. package/lib/components/VSnackbar/VSnackbar.mjs.map +1 -1
  324. package/lib/components/VSnackbar/VSnackbar.sass +0 -18
  325. package/lib/components/VSnackbar/index.mjs.map +1 -1
  326. package/lib/components/VSparkline/VSparkline.mjs.map +1 -1
  327. package/lib/components/VSparkline/helpers/core.mjs.map +1 -1
  328. package/lib/components/VSparkline/helpers/math.mjs.map +1 -1
  329. package/lib/components/VSparkline/helpers/path.mjs.map +1 -1
  330. package/lib/components/VSparkline/index.mjs.map +1 -1
  331. package/lib/components/VSpeedDial/VSpeedDial.mjs.map +1 -1
  332. package/lib/components/VSpeedDial/index.mjs.map +1 -1
  333. package/lib/components/VStepper/VStepper.mjs.map +1 -1
  334. package/lib/components/VStepper/VStepperContent.mjs.map +1 -1
  335. package/lib/components/VStepper/VStepperStep.mjs.map +1 -1
  336. package/lib/components/VStepper/index.mjs.map +1 -1
  337. package/lib/components/VSwitch/VSwitch.mjs.map +1 -1
  338. package/lib/components/VSwitch/index.mjs.map +1 -1
  339. package/lib/components/VSystemBar/VSystemBar.mjs +1 -1
  340. package/lib/components/VSystemBar/VSystemBar.mjs.map +1 -1
  341. package/lib/components/VSystemBar/index.mjs.map +1 -1
  342. package/lib/components/VTable/VTable.mjs.map +1 -1
  343. package/lib/components/VTable/index.mjs.map +1 -1
  344. package/lib/components/VTabs/VTab.css +1 -1
  345. package/lib/components/VTabs/VTab.mjs +5 -4
  346. package/lib/components/VTabs/VTab.mjs.map +1 -1
  347. package/lib/components/VTabs/VTab.sass +1 -1
  348. package/lib/components/VTabs/VTabs.css +8 -9
  349. package/lib/components/VTabs/VTabs.mjs.map +1 -1
  350. package/lib/components/VTabs/VTabs.sass +4 -5
  351. package/lib/components/VTabs/index.mjs.map +1 -1
  352. package/lib/components/VTabs/shared.mjs.map +1 -1
  353. package/lib/components/VTextField/VTextField.mjs +3 -2
  354. package/lib/components/VTextField/VTextField.mjs.map +1 -1
  355. package/lib/components/VTextField/index.mjs.map +1 -1
  356. package/lib/components/VTextarea/VTextarea.mjs.map +1 -1
  357. package/lib/components/VTextarea/index.mjs.map +1 -1
  358. package/lib/components/VThemeProvider/VThemeProvider.mjs.map +1 -1
  359. package/lib/components/VThemeProvider/index.mjs.map +1 -1
  360. package/lib/components/VTimePicker/SelectingTimes.mjs.map +1 -1
  361. package/lib/components/VTimePicker/VTimePicker.mjs.map +1 -1
  362. package/lib/components/VTimePicker/VTimePickerClock.mjs.map +1 -1
  363. package/lib/components/VTimePicker/VTimePickerTitle.mjs.map +1 -1
  364. package/lib/components/VTimePicker/index.mjs.map +1 -1
  365. package/lib/components/VTimeline/VTimeline.mjs.map +1 -1
  366. package/lib/components/VTimeline/VTimelineDivider.mjs +3 -2
  367. package/lib/components/VTimeline/VTimelineDivider.mjs.map +1 -1
  368. package/lib/components/VTimeline/VTimelineItem.mjs +3 -2
  369. package/lib/components/VTimeline/VTimelineItem.mjs.map +1 -1
  370. package/lib/components/VTimeline/index.mjs.map +1 -1
  371. package/lib/components/VTimeline/shared.mjs.map +1 -1
  372. package/lib/components/VToolbar/VToolbar.mjs +16 -9
  373. package/lib/components/VToolbar/VToolbar.mjs.map +1 -1
  374. package/lib/components/VToolbar/VToolbarItems.mjs.map +1 -1
  375. package/lib/components/VToolbar/VToolbarTitle.mjs.map +1 -1
  376. package/lib/components/VToolbar/index.mjs.map +1 -1
  377. package/lib/components/VTooltip/VTooltip.mjs +12 -7
  378. package/lib/components/VTooltip/VTooltip.mjs.map +1 -1
  379. package/lib/components/VTooltip/index.mjs.map +1 -1
  380. package/lib/components/VTreeview/VTreeview.mjs.map +1 -1
  381. package/lib/components/VTreeview/VTreeviewNode.mjs.map +1 -1
  382. package/lib/components/VTreeview/index.mjs.map +1 -1
  383. package/lib/components/VTreeview/util/filterTreeItems.mjs.map +1 -1
  384. package/lib/components/VValidation/VValidation.mjs.map +1 -1
  385. package/lib/components/VValidation/index.mjs.map +1 -1
  386. package/lib/components/VVirtualScroll/VVirtualScroll.mjs.map +1 -1
  387. package/lib/components/VVirtualScroll/index.mjs.map +1 -1
  388. package/lib/components/VWindow/VWindow.mjs +2 -2
  389. package/lib/components/VWindow/VWindow.mjs.map +1 -1
  390. package/lib/components/VWindow/VWindowItem.mjs.map +1 -1
  391. package/lib/components/VWindow/index.mjs.map +1 -1
  392. package/lib/components/index.d.ts +3689 -3205
  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 +61 -8
  396. package/lib/components/transitions/dialog-transition.mjs.map +1 -1
  397. package/lib/components/transitions/expand-transition.mjs.map +1 -1
  398. package/lib/components/transitions/index.mjs.map +1 -1
  399. package/lib/composables/border.mjs.map +1 -1
  400. package/lib/composables/color.mjs.map +1 -1
  401. package/lib/composables/defaults.mjs.map +1 -1
  402. package/lib/composables/delay.mjs.map +1 -1
  403. package/lib/composables/density.mjs.map +1 -1
  404. package/lib/composables/dimensions.mjs.map +1 -1
  405. package/lib/composables/display.mjs.map +1 -1
  406. package/lib/composables/elevation.mjs.map +1 -1
  407. package/lib/composables/filter.mjs +33 -13
  408. package/lib/composables/filter.mjs.map +1 -1
  409. package/lib/composables/focus.mjs.map +1 -1
  410. package/lib/composables/form.mjs.map +1 -1
  411. package/lib/composables/forwardRef.mjs.map +1 -1
  412. package/lib/composables/group.mjs.map +1 -1
  413. package/lib/composables/hydration.mjs.map +1 -1
  414. package/lib/composables/icons.mjs +15 -3
  415. package/lib/composables/icons.mjs.map +1 -1
  416. package/lib/composables/index.mjs.map +1 -1
  417. package/lib/composables/intersectionObserver.mjs.map +1 -1
  418. package/lib/composables/items.mjs +39 -11
  419. package/lib/composables/items.mjs.map +1 -1
  420. package/lib/composables/layout.mjs +3 -3
  421. package/lib/composables/layout.mjs.map +1 -1
  422. package/lib/composables/lazy.mjs.map +1 -1
  423. package/lib/composables/loader.mjs.map +1 -1
  424. package/lib/composables/locale.mjs +11 -8
  425. package/lib/composables/locale.mjs.map +1 -1
  426. package/lib/composables/location.mjs +70 -0
  427. package/lib/composables/location.mjs.map +1 -0
  428. package/lib/composables/mutationObserver.mjs.map +1 -1
  429. package/lib/composables/nested/nested.mjs.map +1 -1
  430. package/lib/composables/nested/openStrategies.mjs.map +1 -1
  431. package/lib/composables/nested/selectStrategies.mjs.map +1 -1
  432. package/lib/composables/position.mjs +4 -25
  433. package/lib/composables/position.mjs.map +1 -1
  434. package/lib/composables/proxiedModel.mjs.map +1 -1
  435. package/lib/composables/refs.mjs.map +1 -1
  436. package/lib/composables/resizeObserver.mjs.map +1 -1
  437. package/lib/composables/rounded.mjs.map +1 -1
  438. package/lib/composables/router.mjs +25 -23
  439. package/lib/composables/router.mjs.map +1 -1
  440. package/lib/composables/rtl.mjs.map +1 -1
  441. package/lib/composables/scopeId.mjs +11 -0
  442. package/lib/composables/scopeId.mjs.map +1 -0
  443. package/lib/composables/scroll.mjs.map +1 -1
  444. package/lib/composables/selectLink.mjs.map +1 -1
  445. package/lib/composables/size.mjs.map +1 -1
  446. package/lib/composables/ssrBoot.mjs.map +1 -1
  447. package/lib/composables/stack.mjs +23 -22
  448. package/lib/composables/stack.mjs.map +1 -1
  449. package/lib/composables/tag.mjs.map +1 -1
  450. package/lib/composables/teleport.mjs.map +1 -1
  451. package/lib/composables/theme.mjs +89 -92
  452. package/lib/composables/theme.mjs.map +1 -1
  453. package/lib/composables/toggleScope.mjs +18 -0
  454. package/lib/composables/toggleScope.mjs.map +1 -0
  455. package/lib/composables/touch.mjs.map +1 -1
  456. package/lib/composables/transition.mjs.map +1 -1
  457. package/lib/composables/validation.mjs +1 -0
  458. package/lib/composables/validation.mjs.map +1 -1
  459. package/lib/composables/variant.mjs.map +1 -1
  460. package/lib/directives/click-outside/index.mjs.map +1 -1
  461. package/lib/directives/color/index.mjs.map +1 -1
  462. package/lib/directives/index.mjs.map +1 -1
  463. package/lib/directives/intersect/index.mjs.map +1 -1
  464. package/lib/directives/mutate/index.mjs.map +1 -1
  465. package/lib/directives/resize/index.mjs.map +1 -1
  466. package/lib/directives/ripple/index.mjs.map +1 -1
  467. package/lib/directives/scroll/index.mjs.map +1 -1
  468. package/lib/directives/touch/index.mjs.map +1 -1
  469. package/lib/entry-bundler.mjs +1 -1
  470. package/lib/entry-bundler.mjs.map +1 -1
  471. package/lib/framework.mjs +10 -22
  472. package/lib/framework.mjs.map +1 -1
  473. package/lib/iconsets/fa-svg.d.ts +2 -1
  474. package/lib/iconsets/fa-svg.mjs.map +1 -1
  475. package/lib/iconsets/fa.d.ts +2 -1
  476. package/lib/iconsets/fa.mjs.map +1 -1
  477. package/lib/iconsets/fa4.d.ts +2 -1
  478. package/lib/iconsets/fa4.mjs.map +1 -1
  479. package/lib/iconsets/md.d.ts +2 -1
  480. package/lib/iconsets/md.mjs.map +1 -1
  481. package/lib/iconsets/mdi-svg.d.ts +2 -1
  482. package/lib/iconsets/mdi-svg.mjs.map +1 -1
  483. package/lib/iconsets/mdi.d.ts +2 -1
  484. package/lib/iconsets/mdi.mjs.map +1 -1
  485. package/lib/index.d.ts +81 -80
  486. package/lib/locale/adapters/vue-i18n.mjs.map +1 -1
  487. package/lib/locale/adapters/vue-intl.mjs.map +1 -1
  488. package/lib/locale/af.mjs.map +1 -1
  489. package/lib/locale/ar.mjs.map +1 -1
  490. package/lib/locale/az.mjs.map +1 -1
  491. package/lib/locale/bg.mjs.map +1 -1
  492. package/lib/locale/ca.mjs.map +1 -1
  493. package/lib/locale/ckb.mjs.map +1 -1
  494. package/lib/locale/cs.mjs.map +1 -1
  495. package/lib/locale/da.mjs.map +1 -1
  496. package/lib/locale/de.mjs.map +1 -1
  497. package/lib/locale/el.mjs.map +1 -1
  498. package/lib/locale/en.mjs.map +1 -1
  499. package/lib/locale/es.mjs.map +1 -1
  500. package/lib/locale/et.mjs.map +1 -1
  501. package/lib/locale/fa.mjs.map +1 -1
  502. package/lib/locale/fi.mjs.map +1 -1
  503. package/lib/locale/fr.mjs.map +1 -1
  504. package/lib/locale/he.mjs.map +1 -1
  505. package/lib/locale/hr.mjs.map +1 -1
  506. package/lib/locale/hu.mjs.map +1 -1
  507. package/lib/locale/id.mjs.map +1 -1
  508. package/lib/locale/index.mjs.map +1 -1
  509. package/lib/locale/it.mjs.map +1 -1
  510. package/lib/locale/ja.mjs.map +1 -1
  511. package/lib/locale/ko.mjs.map +1 -1
  512. package/lib/locale/lt.mjs.map +1 -1
  513. package/lib/locale/lv.mjs.map +1 -1
  514. package/lib/locale/nl.mjs.map +1 -1
  515. package/lib/locale/no.mjs.map +1 -1
  516. package/lib/locale/pl.mjs.map +1 -1
  517. package/lib/locale/pt.mjs.map +1 -1
  518. package/lib/locale/ro.mjs.map +1 -1
  519. package/lib/locale/ru.mjs.map +1 -1
  520. package/lib/locale/sk.mjs.map +1 -1
  521. package/lib/locale/sl.mjs.map +1 -1
  522. package/lib/locale/sr-Cyrl.mjs.map +1 -1
  523. package/lib/locale/sr-Latn.mjs.map +1 -1
  524. package/lib/locale/sv.mjs.map +1 -1
  525. package/lib/locale/th.mjs.map +1 -1
  526. package/lib/locale/tr.mjs.map +1 -1
  527. package/lib/locale/uk.mjs.map +1 -1
  528. package/lib/locale/vi.mjs.map +1 -1
  529. package/lib/locale/zh-Hans.mjs.map +1 -1
  530. package/lib/locale/zh-Hant.mjs.map +1 -1
  531. package/lib/presets/default/index.mjs.map +1 -1
  532. package/lib/services/goto/easing-patterns.mjs.map +1 -1
  533. package/lib/services/goto/index.mjs.map +1 -1
  534. package/lib/services/goto/util.mjs.map +1 -1
  535. package/lib/styles/tools/_states.sass +9 -2
  536. package/lib/styles/tools/_utilities.sass +1 -1
  537. package/lib/{components/VOverlay/util → util}/anchor.mjs +0 -0
  538. package/lib/util/anchor.mjs.map +1 -0
  539. package/lib/util/animation.mjs.map +1 -1
  540. package/lib/util/box.mjs.map +1 -1
  541. package/lib/util/color/APCA.mjs.map +1 -1
  542. package/lib/util/color/transformCIELAB.mjs.map +1 -1
  543. package/lib/util/color/transformSRGB.mjs.map +1 -1
  544. package/lib/util/colorUtils.mjs.map +1 -1
  545. package/lib/util/colors.mjs.map +1 -1
  546. package/lib/util/console.mjs.map +1 -1
  547. package/lib/util/createSimpleFunctional.mjs.map +1 -1
  548. package/lib/util/dateTimeUtils.mjs.map +1 -1
  549. package/lib/util/defineComponent.mjs.map +1 -1
  550. package/lib/util/dom.mjs.map +1 -1
  551. package/lib/util/easing.mjs.map +1 -1
  552. package/lib/util/getCurrentInstance.mjs.map +1 -1
  553. package/lib/util/getScrollParent.mjs.map +1 -1
  554. package/lib/util/globals.mjs +0 -3
  555. package/lib/util/globals.mjs.map +1 -1
  556. package/lib/util/helpers.mjs +1 -1
  557. package/lib/util/helpers.mjs.map +1 -1
  558. package/lib/util/index.mjs +1 -0
  559. package/lib/util/index.mjs.map +1 -1
  560. package/lib/util/isFixedPosition.mjs.map +1 -1
  561. package/lib/util/propsFactory.mjs.map +1 -1
  562. package/lib/util/useRender.mjs.map +1 -1
  563. package/package.json +22 -22
  564. package/lib/components/VOverlay/positionStrategies.mjs.map +0 -1
  565. package/lib/components/VOverlay/util/anchor.mjs.map +0 -1
  566. package/lib/composables/overlay.mjs +0 -34
  567. package/lib/composables/overlay.mjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/composables/locale.ts"],"names":["computed","inject","provide","ref","consoleError","consoleWarn","getObjectValueByPath","en","LocaleAdapterSymbol","Symbol","for","VuetifyLocaleSymbol","provideLocale","props","adapter","Error","createScope","useLocale","getScope","isLocaleAdapter","x","hasOwnProperty","createLocaleAdapter","app","options","createDefaultLocaleAdapter","rootInstance","createRoot","LANG_PREFIX","replace","str","params","match","index","String","createTranslateFunction","current","fallback","messages","key","startsWith","shortKey","currentLocale","value","fallbackLocale","createNumberFunction","numberFormat","Intl","NumberFormat","format","t","n","rootScope","defaultLocale","currentScope","newScope","locale"],"mappings":"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","sourcesContent":["import { computed, inject, provide, ref } from 'vue'\nimport { consoleError, consoleWarn, getObjectValueByPath } from '@/util'\n\nimport en from '@/locale/en'\n\n// Types\nimport type { App, InjectionKey, Ref } from 'vue'\nimport type { MaybeRef } from '@/util'\n\nexport interface LocaleMessages {\n [key: string]: LocaleMessages | string\n}\n\nexport interface LocaleOptions {\n defaultLocale?: string\n fallbackLocale?: string\n messages?: LocaleMessages\n}\n\nexport interface LocaleProps {\n locale?: string\n fallbackLocale?: string\n messages?: LocaleMessages\n}\n\nexport interface LocaleInstance {\n current: Ref<string>\n fallback: Ref<string>\n messages: Ref<LocaleMessages>\n t: (key: string, ...params: unknown[]) => string\n n: (value: number) => string\n}\n\nexport interface LocaleAdapter {\n createRoot: (app: App) => LocaleInstance\n getScope: () => LocaleInstance\n createScope: (options?: LocaleProps) => LocaleInstance\n}\n\nexport const LocaleAdapterSymbol: InjectionKey<LocaleAdapter> = Symbol.for('vuetify:locale-adapter')\nexport const VuetifyLocaleSymbol: InjectionKey<LocaleInstance> = Symbol.for('vuetify:locale')\n\nexport function provideLocale (props?: LocaleProps) {\n const adapter = inject(LocaleAdapterSymbol)\n\n if (!adapter) throw new Error('[Vuetify] Could not find injected locale adapter')\n\n return adapter.createScope(props)\n}\n\nexport function useLocale () {\n const adapter = inject(LocaleAdapterSymbol)\n\n if (!adapter) throw new Error('[Vuetify] Could not find injected locale adapter')\n\n return adapter.getScope()\n}\n\nfunction isLocaleAdapter (x: any): x is LocaleAdapter {\n return !!x && x.hasOwnProperty('getScope') && x.hasOwnProperty('createScope') && x.hasOwnProperty('createRoot')\n}\n\nexport function createLocaleAdapter (app: App, options?: LocaleOptions | LocaleAdapter) {\n const adapter = isLocaleAdapter(options) ? options : createDefaultLocaleAdapter(options)\n\n const rootInstance = adapter.createRoot(app)\n\n return { adapter, rootInstance }\n}\n\nconst LANG_PREFIX = '$vuetify.'\n\nconst replace = (str: string, params: unknown[]) => {\n return str.replace(/\\{(\\d+)\\}/g, (match: string, index: string) => {\n /* istanbul ignore next */\n return String(params[+index])\n })\n}\n\nconst createTranslateFunction = (\n current: Ref<string>,\n fallback: Ref<string>,\n messages: Ref<LocaleMessages>,\n) => {\n return (key: string, ...params: unknown[]) => {\n if (!key.startsWith(LANG_PREFIX)) {\n return replace(key, params)\n }\n\n const shortKey = key.replace(LANG_PREFIX, '')\n const currentLocale = current.value && messages.value[current.value]\n const fallbackLocale = fallback.value && messages.value[fallback.value]\n\n let str: string = getObjectValueByPath(currentLocale, shortKey, null)\n\n if (!str) {\n consoleWarn(`Translation key \"${key}\" not found in \"${current.value}\", trying fallback locale`)\n str = getObjectValueByPath(fallbackLocale, shortKey, null)\n }\n\n if (!str) {\n consoleError(`Translation key \"${key}\" not found in fallback`)\n str = key\n }\n\n if (typeof str !== 'string') {\n consoleError(`Translation key \"${key}\" has a non-string value`)\n str = key\n }\n\n return replace(str, params)\n }\n}\n\nfunction createNumberFunction (current: Ref<string>, fallback: Ref<string>) {\n return (value: number, options?: Intl.NumberFormatOptions) => {\n const numberFormat = new Intl.NumberFormat([current.value, fallback.value], options)\n\n return numberFormat.format(value)\n }\n}\n\nexport function createDefaultLocaleAdapter (options?: LocaleOptions): LocaleAdapter {\n const createScope = (options: {\n current: MaybeRef<string>\n fallback: MaybeRef<string>\n messages: MaybeRef<LocaleMessages>\n }) => {\n const current = ref(options.current)\n const fallback = ref(options.fallback)\n const messages = ref(options.messages)\n\n return {\n current,\n fallback,\n messages,\n t: createTranslateFunction(current, fallback, messages),\n n: createNumberFunction(current, fallback),\n }\n }\n\n return {\n createRoot: app => {\n const rootScope = createScope({\n current: options?.defaultLocale ?? 'en',\n fallback: options?.fallbackLocale ?? 'en',\n messages: options?.messages ?? { en },\n })\n\n app.provide(VuetifyLocaleSymbol, rootScope)\n\n return rootScope\n },\n getScope: () => {\n const currentScope = inject(VuetifyLocaleSymbol)\n\n if (!currentScope) throw new Error('[Vuetify] Could not find injected locale instance')\n\n return currentScope\n },\n createScope: options => {\n const currentScope = inject(VuetifyLocaleSymbol)\n\n if (!currentScope) throw new Error('[Vuetify] Could not find injected locale instance')\n\n const newScope = createScope({\n current: computed(() => options?.locale ?? currentScope.current.value),\n fallback: computed(() => options?.locale ?? currentScope.fallback.value),\n messages: computed(() => options?.messages ?? currentScope.messages.value),\n })\n\n provide(VuetifyLocaleSymbol, newScope)\n\n return newScope\n },\n }\n}\n"],"file":"locale.mjs"}
1
+ {"version":3,"file":"locale.mjs","names":["en","createRtl","RtlSymbol","computed","inject","provide","ref","consoleError","consoleWarn","getObjectValueByPath","LocaleAdapterSymbol","Symbol","for","VuetifyLocaleSymbol","provideLocale","props","adapter","Error","createScope","useLocale","getScope","isLocaleAdapter","x","hasOwnProperty","createLocale","app","options","createDefaultLocaleAdapter","instance","createRoot","LANG_PREFIX","replace","str","params","match","index","String","createTranslateFunction","current","fallback","messages","key","startsWith","shortKey","currentLocale","value","fallbackLocale","createNumberFunction","numberFormat","Intl","NumberFormat","format","t","n","rootScope","defaultLocale","currentScope","newScope","locale"],"sources":["../../src/composables/locale.ts"],"sourcesContent":["// Locales\nimport en from '@/locale/en'\n\n// Composables\nimport { createRtl, RtlSymbol } from '@/composables/rtl'\n\n// Utilities\nimport { computed, inject, provide, ref } from 'vue'\nimport { consoleError, consoleWarn, getObjectValueByPath } from '@/util'\n\n// Types\nimport type { RtlOptions } from '@/composables/rtl'\nimport type { App, InjectionKey, Ref } from 'vue'\nimport type { MaybeRef } from '@/util'\n\nexport interface LocaleMessages {\n [key: string]: LocaleMessages | string\n}\n\nexport interface LocaleOptions {\n defaultLocale?: string\n fallbackLocale?: string\n messages?: LocaleMessages\n}\n\nexport interface LocaleProps {\n locale?: string\n fallbackLocale?: string\n messages?: LocaleMessages\n}\n\nexport interface LocaleInstance {\n current: Ref<string>\n fallback: Ref<string>\n messages: Ref<LocaleMessages>\n t: (key: string, ...params: unknown[]) => string\n n: (value: number) => string\n}\n\nexport interface LocaleAdapter {\n createRoot: (app?: App) => LocaleInstance\n getScope: () => LocaleInstance\n createScope: (options?: LocaleProps) => LocaleInstance\n}\n\nexport const LocaleAdapterSymbol: InjectionKey<LocaleAdapter> = Symbol.for('vuetify:locale-adapter')\nexport const VuetifyLocaleSymbol: InjectionKey<LocaleInstance> = Symbol.for('vuetify:locale')\n\nexport function provideLocale (props?: LocaleProps) {\n const adapter = inject(LocaleAdapterSymbol)\n\n if (!adapter) throw new Error('[Vuetify] Could not find injected locale adapter')\n\n return adapter.createScope(props)\n}\n\nexport function useLocale () {\n const adapter = inject(LocaleAdapterSymbol)\n\n if (!adapter) throw new Error('[Vuetify] Could not find injected locale adapter')\n\n return adapter.getScope()\n}\n\nfunction isLocaleAdapter (x: any): x is LocaleAdapter {\n return !!x && x.hasOwnProperty('getScope') && x.hasOwnProperty('createScope') && x.hasOwnProperty('createRoot')\n}\n\nexport function createLocale (\n app: App,\n options?: (LocaleOptions & RtlOptions) | (LocaleAdapter & RtlOptions),\n) {\n const adapter = isLocaleAdapter(options) ? options : createDefaultLocaleAdapter(options)\n const instance = adapter.createRoot(app)\n\n app?.provide(RtlSymbol, createRtl(instance, options))\n\n return adapter\n}\n\nconst LANG_PREFIX = '$vuetify.'\n\nconst replace = (str: string, params: unknown[]) => {\n return str.replace(/\\{(\\d+)\\}/g, (match: string, index: string) => {\n /* istanbul ignore next */\n return String(params[+index])\n })\n}\n\nconst createTranslateFunction = (\n current: Ref<string>,\n fallback: Ref<string>,\n messages: Ref<LocaleMessages>,\n) => {\n return (key: string, ...params: unknown[]) => {\n if (!key.startsWith(LANG_PREFIX)) {\n return replace(key, params)\n }\n\n const shortKey = key.replace(LANG_PREFIX, '')\n const currentLocale = current.value && messages.value[current.value]\n const fallbackLocale = fallback.value && messages.value[fallback.value]\n\n let str: string = getObjectValueByPath(currentLocale, shortKey, null)\n\n if (!str) {\n consoleWarn(`Translation key \"${key}\" not found in \"${current.value}\", trying fallback locale`)\n str = getObjectValueByPath(fallbackLocale, shortKey, null)\n }\n\n if (!str) {\n consoleError(`Translation key \"${key}\" not found in fallback`)\n str = key\n }\n\n if (typeof str !== 'string') {\n consoleError(`Translation key \"${key}\" has a non-string value`)\n str = key\n }\n\n return replace(str, params)\n }\n}\n\nfunction createNumberFunction (current: Ref<string>, fallback: Ref<string>) {\n return (value: number, options?: Intl.NumberFormatOptions) => {\n const numberFormat = new Intl.NumberFormat([current.value, fallback.value], options)\n\n return numberFormat.format(value)\n }\n}\n\nexport function createDefaultLocaleAdapter (options?: LocaleOptions): LocaleAdapter {\n const createScope = (options: {\n current: MaybeRef<string>\n fallback: MaybeRef<string>\n messages: MaybeRef<LocaleMessages>\n }) => {\n const current = ref(options.current)\n const fallback = ref(options.fallback)\n const messages = ref(options.messages)\n\n return {\n current,\n fallback,\n messages,\n t: createTranslateFunction(current, fallback, messages),\n n: createNumberFunction(current, fallback),\n }\n }\n\n return {\n createRoot: app => {\n const rootScope = createScope({\n current: options?.defaultLocale ?? 'en',\n fallback: options?.fallbackLocale ?? 'en',\n messages: options?.messages ?? { en },\n })\n\n if (!app) throw new Error('[Vuetify] Could not find default app instance')\n\n app.provide(VuetifyLocaleSymbol, rootScope)\n\n return rootScope\n },\n getScope: () => {\n const currentScope = inject(VuetifyLocaleSymbol)\n\n if (!currentScope) throw new Error('[Vuetify] Could not find injected locale instance')\n\n return currentScope\n },\n createScope: options => {\n const currentScope = inject(VuetifyLocaleSymbol)\n\n if (!currentScope) throw new Error('[Vuetify] Could not find injected locale instance')\n\n const newScope = createScope({\n current: computed(() => options?.locale ?? currentScope.current.value),\n fallback: computed(() => options?.locale ?? currentScope.fallback.value),\n messages: computed(() => options?.messages ?? currentScope.messages.value),\n })\n\n provide(VuetifyLocaleSymbol, newScope)\n\n return newScope\n },\n }\n}\n"],"mappings":"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"}
@@ -0,0 +1,70 @@
1
+ // Composables
2
+ import { useRtl } from "./rtl.mjs"; // Utilities
3
+
4
+ import { computed } from 'vue';
5
+ import { parseAnchor, propsFactory } from "../util/index.mjs"; // Types
6
+
7
+ const oppositeMap = {
8
+ center: 'center',
9
+ top: 'bottom',
10
+ bottom: 'top',
11
+ left: 'right',
12
+ right: 'left'
13
+ };
14
+ export const makeLocationProps = propsFactory({
15
+ location: String
16
+ }, 'location');
17
+ export function useLocation(props) {
18
+ let opposite = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
19
+ let offset = arguments.length > 2 ? arguments[2] : undefined;
20
+ const {
21
+ isRtl
22
+ } = useRtl();
23
+
24
+ function toPhysical(side) {
25
+ return side === 'start' ? isRtl.value ? 'right' : 'left' : side === 'end' ? isRtl.value ? 'left' : 'right' : side;
26
+ }
27
+
28
+ const locationStyles = computed(() => {
29
+ if (!props.location) return {};
30
+ const anchor = parseAnchor(props.location.split(' ').length > 1 ? props.location : `${props.location} center`);
31
+ const side = toPhysical(anchor.side);
32
+ const align = toPhysical(anchor.align);
33
+
34
+ function getOffset(side) {
35
+ return offset ? offset(side) : 0;
36
+ }
37
+
38
+ const styles = {};
39
+
40
+ if (side !== 'center') {
41
+ if (opposite) styles[oppositeMap[side]] = `calc(100% - ${getOffset(side)}px)`;else styles[side] = 0;
42
+ }
43
+
44
+ if (align !== 'center') {
45
+ if (opposite) styles[oppositeMap[align]] = `calc(100% - ${getOffset(align)}px)`;else styles[align] = 0;
46
+ } else {
47
+ if (side === 'center') styles.top = styles.left = '50%';else {
48
+ styles[{
49
+ top: 'left',
50
+ bottom: 'left',
51
+ left: 'top',
52
+ right: 'top'
53
+ }[side]] = '50%';
54
+ }
55
+ styles.transform = {
56
+ top: 'translateX(-50%)',
57
+ bottom: 'translateX(-50%)',
58
+ left: 'translateY(-50%)',
59
+ right: 'translateY(-50%)',
60
+ center: 'translate(-50%, -50%)'
61
+ }[side];
62
+ }
63
+
64
+ return styles;
65
+ });
66
+ return {
67
+ locationStyles
68
+ };
69
+ }
70
+ //# sourceMappingURL=location.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"location.mjs","names":["useRtl","computed","parseAnchor","propsFactory","oppositeMap","center","top","bottom","left","right","makeLocationProps","location","String","useLocation","props","opposite","offset","isRtl","toPhysical","side","value","locationStyles","anchor","split","length","align","getOffset","styles","transform"],"sources":["../../src/composables/location.ts"],"sourcesContent":["// Composables\nimport { useRtl } from '@/composables/rtl'\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 function toPhysical (side: string) {\n return (\n side === 'start' ? (isRtl.value ? 'right' : 'left')\n : side === 'end' ? (isRtl.value ? 'left' : 'right')\n : side\n ) as 'right' | 'left' | 'top' | 'bottom' | 'center'\n }\n\n const locationStyles = computed(() => {\n if (!props.location) return {}\n\n const anchor = parseAnchor(\n props.location.split(' ').length > 1\n ? props.location\n : `${props.location} center` as Anchor\n )\n\n const side = toPhysical(anchor.side)\n const align = toPhysical(anchor.align)\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;SACSA,M,qBAET;;AACA,SAASC,QAAT,QAAyB,KAAzB;SACSC,W,EAAaC,Y,6BAEtB;;AAIA,MAAMC,WAAW,GAAG;EAClBC,MAAM,EAAE,QADU;EAElBC,GAAG,EAAE,QAFa;EAGlBC,MAAM,EAAE,KAHU;EAIlBC,IAAI,EAAE,OAJY;EAKlBC,KAAK,EAAE;AALW,CAApB;AAYA,OAAO,MAAMC,iBAAiB,GAAGP,YAAY,CAAC;EAC5CQ,QAAQ,EAAEC;AADkC,CAAD,EAE1C,UAF0C,CAAtC;AAIP,OAAO,SAASC,WAAT,CAAsBC,KAAtB,EAAiG;EAAA,IAArDC,QAAqD,uEAA1C,KAA0C;EAAA,IAAnCC,MAAmC;EACtG,MAAM;IAAEC;EAAF,IAAYjB,MAAM,EAAxB;;EAEA,SAASkB,UAAT,CAAqBC,IAArB,EAAmC;IACjC,OACEA,IAAI,KAAK,OAAT,GAAoBF,KAAK,CAACG,KAAN,GAAc,OAAd,GAAwB,MAA5C,GACED,IAAI,KAAK,KAAT,GAAkBF,KAAK,CAACG,KAAN,GAAc,MAAd,GAAuB,OAAzC,GACAD,IAHJ;EAKD;;EAED,MAAME,cAAc,GAAGpB,QAAQ,CAAC,MAAM;IACpC,IAAI,CAACa,KAAK,CAACH,QAAX,EAAqB,OAAO,EAAP;IAErB,MAAMW,MAAM,GAAGpB,WAAW,CACxBY,KAAK,CAACH,QAAN,CAAeY,KAAf,CAAqB,GAArB,EAA0BC,MAA1B,GAAmC,CAAnC,GACIV,KAAK,CAACH,QADV,GAEK,GAAEG,KAAK,CAACH,QAAS,SAHE,CAA1B;IAMA,MAAMQ,IAAI,GAAGD,UAAU,CAACI,MAAM,CAACH,IAAR,CAAvB;IACA,MAAMM,KAAK,GAAGP,UAAU,CAACI,MAAM,CAACG,KAAR,CAAxB;;IAEA,SAASC,SAAT,CAAoBP,IAApB,EAAkC;MAChC,OAAOH,MAAM,GACTA,MAAM,CAACG,IAAD,CADG,GAET,CAFJ;IAGD;;IAED,MAAMQ,MAAM,GAAG,EAAf;;IAEA,IAAIR,IAAI,KAAK,QAAb,EAAuB;MACrB,IAAIJ,QAAJ,EAAcY,MAAM,CAACvB,WAAW,CAACe,IAAD,CAAZ,CAAN,GAA6B,eAAcO,SAAS,CAACP,IAAD,CAAO,KAA3D,CAAd,KACKQ,MAAM,CAACR,IAAD,CAAN,GAAe,CAAf;IACN;;IACD,IAAIM,KAAK,KAAK,QAAd,EAAwB;MACtB,IAAIV,QAAJ,EAAcY,MAAM,CAACvB,WAAW,CAACqB,KAAD,CAAZ,CAAN,GAA8B,eAAcC,SAAS,CAACD,KAAD,CAAQ,KAA7D,CAAd,KACKE,MAAM,CAACF,KAAD,CAAN,GAAgB,CAAhB;IACN,CAHD,MAGO;MACL,IAAIN,IAAI,KAAK,QAAb,EAAuBQ,MAAM,CAACrB,GAAP,GAAaqB,MAAM,CAACnB,IAAP,GAAc,KAA3B,CAAvB,KACK;QACHmB,MAAM,CAAE;UACNrB,GAAG,EAAE,MADC;UAENC,MAAM,EAAE,MAFF;UAGNC,IAAI,EAAE,KAHA;UAINC,KAAK,EAAE;QAJD,CAAD,CAKKU,IALL,CAAD,CAAN,GAKqB,KALrB;MAMD;MACDQ,MAAM,CAACC,SAAP,GAAmB;QACjBtB,GAAG,EAAE,kBADY;QAEjBC,MAAM,EAAE,kBAFS;QAGjBC,IAAI,EAAE,kBAHW;QAIjBC,KAAK,EAAE,kBAJU;QAKjBJ,MAAM,EAAE;MALS,EAMjBc,IANiB,CAAnB;IAOD;;IAED,OAAOQ,MAAP;EACD,CA/C8B,CAA/B;EAiDA,OAAO;IAAEN;EAAF,CAAP;AACD"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/composables/mutationObserver.ts"],"names":["isComponentInstance","onBeforeUnmount","onMounted","ref","watch","useMutationObserver","handler","options","mutationRef","once","immediate","optionKeys","defaultValue","Object","keys","length","observer","MutationObserver","mutations","disconnect","newValue","oldValue","el","$el","observe","attributes","attr","characterData","char","childList","child","subtree","sub","flush"],"mappings":"AAAA;SACSA,mB;AACT,SAASC,eAAT,EAA0BC,SAA1B,EAAqCC,GAArC,EAA0CC,KAA1C,QAAuD,KAAvD,C,CAEA;;AAYA,OAAO,SAASC,mBAAT,CACLC,OADK,EAELC,OAFK,EAGL;AACA,QAAMC,WAAW,GAAGL,GAAG,EAAvB;AACA,QAAM;AAAEM,IAAAA,IAAF;AAAQC,IAAAA,SAAR;AAAmB,OAAGC;AAAtB,MAAqCJ,OAAO,IAAI,EAAtD;AACA,QAAMK,YAAY,GAAG,CAACC,MAAM,CAACC,IAAP,CAAYH,UAAZ,EAAwBI,MAA9C;AAEA,QAAMC,QAAQ,GAAG,IAAIC,gBAAJ,CAAqB,CACpCC,SADoC,EAEpCF,QAFoC,KAGjC;AACHV,IAAAA,OAAO,QAAP,YAAAA,OAAO,CAAGY,SAAH,EAAcF,QAAd,CAAP;AAEA,QAAIT,OAAJ,YAAIA,OAAO,CAAEE,IAAb,EAAmBO,QAAQ,CAACG,UAAT;AACpB,GAPgB,CAAjB;AASAjB,EAAAA,SAAS,CAAC,MAAM;AACd,QAAI,EAACK,OAAD,YAACA,OAAO,CAAEG,SAAV,CAAJ,EAAyB;AAEzBJ,IAAAA,OAAO,QAAP,YAAAA,OAAO,CAAG,EAAH,EAAOU,QAAP,CAAP;AACD,GAJQ,CAAT;AAMAf,EAAAA,eAAe,CAAC,MAAM;AACpBe,IAAAA,QAAQ,CAACG,UAAT;AACD,GAFc,CAAf;AAIAf,EAAAA,KAAK,CAACI,WAAD,EAAc,CAACY,QAAD,EAAWC,QAAX,KAAwB;AAAA;;AACzC,QAAIA,QAAJ,EAAcL,QAAQ,CAACG,UAAT;AAEd,UAAMG,EAAE,GAAGtB,mBAAmB,CAACoB,QAAD,CAAnB,GAAgCA,QAAQ,CAACG,GAAzC,GAA+CH,QAA1D;AAEA,QAAI,CAACE,EAAL,EAAS;AAETN,IAAAA,QAAQ,CAACQ,OAAT,CAAiBF,EAAjB,EAAqB;AACnBG,MAAAA,UAAU,mBAAElB,OAAF,oBAAEA,OAAO,CAAEmB,IAAX,4BAAmBd,YADV;AAEnBe,MAAAA,aAAa,mBAAEpB,OAAF,oBAAEA,OAAO,CAAEqB,IAAX,4BAAmBhB,YAFb;AAGnBiB,MAAAA,SAAS,oBAAEtB,OAAF,oBAAEA,OAAO,CAAEuB,KAAX,6BAAoBlB,YAHV;AAInBmB,MAAAA,OAAO,kBAAExB,OAAF,oBAAEA,OAAO,CAAEyB,GAAX,2BAAkBpB;AAJN,KAArB;AAMD,GAbI,EAaF;AACDqB,IAAAA,KAAK,EAAE;AADN,GAbE,CAAL;AAiBA,SAAO;AAAEzB,IAAAA;AAAF,GAAP;AACD","sourcesContent":["// Utilities\nimport { isComponentInstance } from '@/util'\nimport { onBeforeUnmount, onMounted, ref, watch } from 'vue'\n\n// Types\nimport type { ComponentPublicInstance } from 'vue'\n\nexport interface MutationOptions {\n attr?: boolean\n char?: boolean\n child?: boolean\n sub?: boolean\n once?: boolean\n immediate?: boolean\n}\n\nexport function useMutationObserver (\n handler?: MutationCallback,\n options?: MutationOptions,\n) {\n const mutationRef = ref<ComponentPublicInstance | HTMLElement>()\n const { once, immediate, ...optionKeys } = options || {}\n const defaultValue = !Object.keys(optionKeys).length\n\n const observer = new MutationObserver((\n mutations: MutationRecord[],\n observer: MutationObserver\n ) => {\n handler?.(mutations, observer)\n\n if (options?.once) observer.disconnect()\n })\n\n onMounted(() => {\n if (!options?.immediate) return\n\n handler?.([], observer)\n })\n\n onBeforeUnmount(() => {\n observer.disconnect()\n })\n\n watch(mutationRef, (newValue, oldValue) => {\n if (oldValue) observer.disconnect()\n\n const el = isComponentInstance(newValue) ? newValue.$el : newValue\n\n if (!el) return\n\n observer.observe(el, {\n attributes: options?.attr ?? defaultValue,\n characterData: options?.char ?? defaultValue,\n childList: options?.child ?? defaultValue,\n subtree: options?.sub ?? defaultValue,\n })\n }, {\n flush: 'post',\n })\n\n return { mutationRef }\n}\n"],"file":"mutationObserver.mjs"}
1
+ {"version":3,"file":"mutationObserver.mjs","names":["isComponentInstance","onBeforeUnmount","onMounted","ref","watch","useMutationObserver","handler","options","mutationRef","once","immediate","optionKeys","defaultValue","Object","keys","length","observer","MutationObserver","mutations","disconnect","newValue","oldValue","el","$el","observe","attributes","attr","characterData","char","childList","child","subtree","sub","flush"],"sources":["../../src/composables/mutationObserver.ts"],"sourcesContent":["// Utilities\nimport { isComponentInstance } from '@/util'\nimport { onBeforeUnmount, onMounted, ref, watch } from 'vue'\n\n// Types\nimport type { ComponentPublicInstance } from 'vue'\n\nexport interface MutationOptions {\n attr?: boolean\n char?: boolean\n child?: boolean\n sub?: boolean\n once?: boolean\n immediate?: boolean\n}\n\nexport function useMutationObserver (\n handler?: MutationCallback,\n options?: MutationOptions,\n) {\n const mutationRef = ref<ComponentPublicInstance | HTMLElement>()\n const { once, immediate, ...optionKeys } = options || {}\n const defaultValue = !Object.keys(optionKeys).length\n\n const observer = new MutationObserver((\n mutations: MutationRecord[],\n observer: MutationObserver\n ) => {\n handler?.(mutations, observer)\n\n if (options?.once) observer.disconnect()\n })\n\n onMounted(() => {\n if (!options?.immediate) return\n\n handler?.([], observer)\n })\n\n onBeforeUnmount(() => {\n observer.disconnect()\n })\n\n watch(mutationRef, (newValue, oldValue) => {\n if (oldValue) observer.disconnect()\n\n const el = isComponentInstance(newValue) ? newValue.$el : newValue\n\n if (!el) return\n\n observer.observe(el, {\n attributes: options?.attr ?? defaultValue,\n characterData: options?.char ?? defaultValue,\n childList: options?.child ?? defaultValue,\n subtree: options?.sub ?? defaultValue,\n })\n }, {\n flush: 'post',\n })\n\n return { mutationRef }\n}\n"],"mappings":"AAAA;SACSA,mB;AACT,SAASC,eAAT,EAA0BC,SAA1B,EAAqCC,GAArC,EAA0CC,KAA1C,QAAuD,KAAvD,C,CAEA;;AAYA,OAAO,SAASC,mBAAT,CACLC,OADK,EAELC,OAFK,EAGL;EACA,MAAMC,WAAW,GAAGL,GAAG,EAAvB;EACA,MAAM;IAAEM,IAAF;IAAQC,SAAR;IAAmB,GAAGC;EAAtB,IAAqCJ,OAAO,IAAI,EAAtD;EACA,MAAMK,YAAY,GAAG,CAACC,MAAM,CAACC,IAAP,CAAYH,UAAZ,EAAwBI,MAA9C;EAEA,MAAMC,QAAQ,GAAG,IAAIC,gBAAJ,CAAqB,CACpCC,SADoC,EAEpCF,QAFoC,KAGjC;IACHV,OAAO,QAAP,YAAAA,OAAO,CAAGY,SAAH,EAAcF,QAAd,CAAP;IAEA,IAAIT,OAAJ,YAAIA,OAAO,CAAEE,IAAb,EAAmBO,QAAQ,CAACG,UAAT;EACpB,CAPgB,CAAjB;EASAjB,SAAS,CAAC,MAAM;IACd,IAAI,EAACK,OAAD,YAACA,OAAO,CAAEG,SAAV,CAAJ,EAAyB;IAEzBJ,OAAO,QAAP,YAAAA,OAAO,CAAG,EAAH,EAAOU,QAAP,CAAP;EACD,CAJQ,CAAT;EAMAf,eAAe,CAAC,MAAM;IACpBe,QAAQ,CAACG,UAAT;EACD,CAFc,CAAf;EAIAf,KAAK,CAACI,WAAD,EAAc,CAACY,QAAD,EAAWC,QAAX,KAAwB;IAAA;;IACzC,IAAIA,QAAJ,EAAcL,QAAQ,CAACG,UAAT;IAEd,MAAMG,EAAE,GAAGtB,mBAAmB,CAACoB,QAAD,CAAnB,GAAgCA,QAAQ,CAACG,GAAzC,GAA+CH,QAA1D;IAEA,IAAI,CAACE,EAAL,EAAS;IAETN,QAAQ,CAACQ,OAAT,CAAiBF,EAAjB,EAAqB;MACnBG,UAAU,mBAAElB,OAAF,oBAAEA,OAAO,CAAEmB,IAAX,4BAAmBd,YADV;MAEnBe,aAAa,mBAAEpB,OAAF,oBAAEA,OAAO,CAAEqB,IAAX,4BAAmBhB,YAFb;MAGnBiB,SAAS,oBAAEtB,OAAF,oBAAEA,OAAO,CAAEuB,KAAX,6BAAoBlB,YAHV;MAInBmB,OAAO,kBAAExB,OAAF,oBAAEA,OAAO,CAAEyB,GAAX,2BAAkBpB;IAJN,CAArB;EAMD,CAbI,EAaF;IACDqB,KAAK,EAAE;EADN,CAbE,CAAL;EAiBA,OAAO;IAAEzB;EAAF,CAAP;AACD"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/composables/nested/nested.ts"],"names":["useProxiedModel","getCurrentInstance","getUid","propsFactory","computed","inject","onBeforeUnmount","provide","ref","listOpenStrategy","multipleOpenStrategy","singleOpenStrategy","classicSelectStrategy","independentSelectStrategy","independentSingleSelectStrategy","leafSelectStrategy","leafSingleSelectStrategy","VNestedSymbol","Symbol","for","emptyNested","id","root","register","unregister","parents","Map","children","open","select","opened","Set","selected","selectedValues","makeNestedProps","selectStrategy","String","Function","openStrategy","Array","mandatory","Boolean","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","useNestedItem","computedId","toString","item","e","isOpen","has","isSelected","isIndeterminate","isLeaf","isGroupActivator","useNestedGroupActivator"],"mappings":"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","sourcesContent":["import { useProxiedModel } from '@/composables/proxiedModel'\nimport { getCurrentInstance, getUid, propsFactory } from '@/util'\nimport { computed, inject, onBeforeUnmount, provide, ref } from 'vue'\nimport { listOpenStrategy, multipleOpenStrategy, singleOpenStrategy } from './openStrategies'\nimport {\n classicSelectStrategy,\n independentSelectStrategy,\n independentSingleSelectStrategy,\n leafSelectStrategy,\n leafSingleSelectStrategy,\n} from './selectStrategies'\n\n// Types\nimport type { InjectionKey, Prop, Ref } from 'vue'\nimport type { SelectStrategyFn } from './selectStrategies'\nimport type { OpenStrategy } from './openStrategies'\n\nexport type SelectStrategy = 'single-leaf' | 'leaf' | 'independent' | 'single-independent' | 'classic' | SelectStrategyFn\nexport type OpenStrategyProp = 'single' | 'multiple' | 'list' | OpenStrategy\n\nexport interface NestedProps {\n selectStrategy: SelectStrategy | undefined\n openStrategy: OpenStrategyProp | undefined\n selected: string[] | undefined\n opened: string[] | undefined\n mandatory: boolean\n 'onUpdate:selected': ((val: string[]) => void) | undefined\n 'onUpdate:opened': ((val: string[]) => void) | undefined\n}\n\ntype NestedProvide = {\n id: Ref<string | undefined>\n isGroupActivator?: boolean\n root: {\n children: Ref<Map<string, string[]>>\n parents: Ref<Map<string, string>>\n opened: Ref<Set<string>>\n selected: Ref<Map<string, 'on' | 'off' | 'indeterminate'>>\n selectedValues: Ref<string[]>\n register: (id: string, parentId: string | undefined, isGroup?: boolean) => void\n unregister: (id: string) => void\n open: (id: string, value: boolean, event?: Event) => void\n select: (id: string, value: boolean, event?: Event) => void\n }\n}\n\nexport const VNestedSymbol: InjectionKey<NestedProvide> = Symbol.for('vuetify:nested')\n\nexport const emptyNested: NestedProvide = {\n id: ref(),\n root: {\n register: () => null,\n unregister: () => null,\n parents: ref(new Map()),\n children: ref(new Map()),\n open: () => null,\n select: () => null,\n opened: ref(new Set()),\n selected: ref(new Map()),\n selectedValues: ref([]),\n },\n}\n\nexport const makeNestedProps = propsFactory({\n selectStrategy: [String, Function] as Prop<SelectStrategy>,\n openStrategy: [String, Function] as Prop<OpenStrategyProp>,\n opened: Array as Prop<string[]>,\n selected: Array as Prop<string[]>,\n mandatory: Boolean,\n}, 'nested')\n\nexport const useNested = (props: NestedProps) => {\n let isUnmounted = false\n const children = ref(new Map<string, string[]>())\n const parents = ref(new Map<string, string>())\n\n const opened = useProxiedModel(props, 'opened', props.opened, v => new Set(v), v => [...v.values()])\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 === 'function') 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 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: string) {\n const path: string[] = []\n let parent: string | undefined = 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: ref(),\n root: {\n opened,\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 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 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 children,\n parents,\n },\n }\n\n provide(VNestedSymbol, nested)\n\n return nested.root\n}\n\nexport const useNestedItem = (id: Ref<string | undefined>, isGroup: boolean) => {\n const parent = inject(VNestedSymbol, emptyNested)\n\n const computedId = computed(() => id.value ?? getUid().toString())\n\n const item = {\n ...parent,\n id: computedId,\n open: (open: boolean, e: Event) => parent.root.open(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 select: (selected: boolean, e?: Event) => parent.root.select(computedId.value, selected, e),\n isSelected: computed(() => parent.root.selected.value.get(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"],"file":"nested.mjs"}
1
+ {"version":3,"file":"nested.mjs","names":["useProxiedModel","getCurrentInstance","getUid","propsFactory","computed","inject","onBeforeUnmount","provide","ref","listOpenStrategy","multipleOpenStrategy","singleOpenStrategy","classicSelectStrategy","independentSelectStrategy","independentSingleSelectStrategy","leafSelectStrategy","leafSingleSelectStrategy","VNestedSymbol","Symbol","for","emptyNested","id","root","register","unregister","parents","Map","children","open","select","opened","Set","selected","selectedValues","makeNestedProps","selectStrategy","String","Function","openStrategy","Array","mandatory","Boolean","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","useNestedItem","computedId","toString","item","e","isOpen","has","isSelected","isIndeterminate","isLeaf","isGroupActivator","useNestedGroupActivator"],"sources":["../../../src/composables/nested/nested.ts"],"sourcesContent":["import { useProxiedModel } from '@/composables/proxiedModel'\nimport { getCurrentInstance, getUid, propsFactory } from '@/util'\nimport { computed, inject, onBeforeUnmount, provide, ref } from 'vue'\nimport { listOpenStrategy, multipleOpenStrategy, singleOpenStrategy } from './openStrategies'\nimport {\n classicSelectStrategy,\n independentSelectStrategy,\n independentSingleSelectStrategy,\n leafSelectStrategy,\n leafSingleSelectStrategy,\n} from './selectStrategies'\n\n// Types\nimport type { InjectionKey, Prop, Ref } from 'vue'\nimport type { SelectStrategyFn } from './selectStrategies'\nimport type { OpenStrategy } from './openStrategies'\n\nexport type SelectStrategy = 'single-leaf' | 'leaf' | 'independent' | 'single-independent' | 'classic' | SelectStrategyFn\nexport type OpenStrategyProp = 'single' | 'multiple' | 'list' | OpenStrategy\n\nexport interface NestedProps {\n selectStrategy: SelectStrategy | undefined\n openStrategy: OpenStrategyProp | undefined\n selected: string[] | undefined\n opened: string[] | undefined\n mandatory: boolean\n 'onUpdate:selected': ((val: string[]) => void) | undefined\n 'onUpdate:opened': ((val: string[]) => void) | undefined\n}\n\ntype NestedProvide = {\n id: Ref<string | undefined>\n isGroupActivator?: boolean\n root: {\n children: Ref<Map<string, string[]>>\n parents: Ref<Map<string, string>>\n opened: Ref<Set<string>>\n selected: Ref<Map<string, 'on' | 'off' | 'indeterminate'>>\n selectedValues: Ref<string[]>\n register: (id: string, parentId: string | undefined, isGroup?: boolean) => void\n unregister: (id: string) => void\n open: (id: string, value: boolean, event?: Event) => void\n select: (id: string, value: boolean, event?: Event) => void\n }\n}\n\nexport const VNestedSymbol: InjectionKey<NestedProvide> = Symbol.for('vuetify:nested')\n\nexport const emptyNested: NestedProvide = {\n id: ref(),\n root: {\n register: () => null,\n unregister: () => null,\n parents: ref(new Map()),\n children: ref(new Map()),\n open: () => null,\n select: () => null,\n opened: ref(new Set()),\n selected: ref(new Map()),\n selectedValues: ref([]),\n },\n}\n\nexport const makeNestedProps = propsFactory({\n selectStrategy: [String, Function] as Prop<SelectStrategy>,\n openStrategy: [String, Function] as Prop<OpenStrategyProp>,\n opened: Array as Prop<string[]>,\n selected: Array as Prop<string[]>,\n mandatory: Boolean,\n}, 'nested')\n\nexport const useNested = (props: NestedProps) => {\n let isUnmounted = false\n const children = ref(new Map<string, string[]>())\n const parents = ref(new Map<string, string>())\n\n const opened = useProxiedModel(props, 'opened', props.opened, v => new Set(v), v => [...v.values()])\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 === 'function') 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 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: string) {\n const path: string[] = []\n let parent: string | undefined = 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: ref(),\n root: {\n opened,\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 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 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 children,\n parents,\n },\n }\n\n provide(VNestedSymbol, nested)\n\n return nested.root\n}\n\nexport const useNestedItem = (id: Ref<string | undefined>, isGroup: boolean) => {\n const parent = inject(VNestedSymbol, emptyNested)\n\n const computedId = computed(() => id.value ?? getUid().toString())\n\n const item = {\n ...parent,\n id: computedId,\n open: (open: boolean, e: Event) => parent.root.open(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 select: (selected: boolean, e?: Event) => parent.root.select(computedId.value, selected, e),\n isSelected: computed(() => parent.root.selected.value.get(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":"SAASA,e;SACAC,kB,EAAoBC,M,EAAQC,Y;AACrC,SAASC,QAAT,EAAmBC,MAAnB,EAA2BC,eAA3B,EAA4CC,OAA5C,EAAqDC,GAArD,QAAgE,KAAhE;SACSC,gB,EAAkBC,oB,EAAsBC,kB;SAE/CC,qB,EACAC,yB,EACAC,+B,EACAC,kB,EACAC,wB,kCAGF;;AAkCA,OAAO,MAAMC,aAA0C,GAAGC,MAAM,CAACC,GAAP,CAAW,gBAAX,CAAnD;AAEP,OAAO,MAAMC,WAA0B,GAAG;EACxCC,EAAE,EAAEb,GAAG,EADiC;EAExCc,IAAI,EAAE;IACJC,QAAQ,EAAE,MAAM,IADZ;IAEJC,UAAU,EAAE,MAAM,IAFd;IAGJC,OAAO,EAAEjB,GAAG,CAAC,IAAIkB,GAAJ,EAAD,CAHR;IAIJC,QAAQ,EAAEnB,GAAG,CAAC,IAAIkB,GAAJ,EAAD,CAJT;IAKJE,IAAI,EAAE,MAAM,IALR;IAMJC,MAAM,EAAE,MAAM,IANV;IAOJC,MAAM,EAAEtB,GAAG,CAAC,IAAIuB,GAAJ,EAAD,CAPP;IAQJC,QAAQ,EAAExB,GAAG,CAAC,IAAIkB,GAAJ,EAAD,CART;IASJO,cAAc,EAAEzB,GAAG,CAAC,EAAD;EATf;AAFkC,CAAnC;AAeP,OAAO,MAAM0B,eAAe,GAAG/B,YAAY,CAAC;EAC1CgC,cAAc,EAAE,CAACC,MAAD,EAASC,QAAT,CAD0B;EAE1CC,YAAY,EAAE,CAACF,MAAD,EAASC,QAAT,CAF4B;EAG1CP,MAAM,EAAES,KAHkC;EAI1CP,QAAQ,EAAEO,KAJgC;EAK1CC,SAAS,EAAEC;AAL+B,CAAD,EAMxC,QANwC,CAApC;AAQP,OAAO,MAAMC,SAAS,GAAIC,KAAD,IAAwB;EAC/C,IAAIC,WAAW,GAAG,KAAlB;EACA,MAAMjB,QAAQ,GAAGnB,GAAG,CAAC,IAAIkB,GAAJ,EAAD,CAApB;EACA,MAAMD,OAAO,GAAGjB,GAAG,CAAC,IAAIkB,GAAJ,EAAD,CAAnB;EAEA,MAAMI,MAAM,GAAG9B,eAAe,CAAC2C,KAAD,EAAQ,QAAR,EAAkBA,KAAK,CAACb,MAAxB,EAAgCe,CAAC,IAAI,IAAId,GAAJ,CAAQc,CAAR,CAArC,EAAiDA,CAAC,IAAI,CAAC,GAAGA,CAAC,CAACC,MAAF,EAAJ,CAAtD,CAA9B;EAEA,MAAMX,cAAc,GAAG/B,QAAQ,CAAC,MAAM;IACpC,IAAI,OAAOuC,KAAK,CAACR,cAAb,KAAgC,QAApC,EAA8C,OAAOQ,KAAK,CAACR,cAAb;;IAE9C,QAAQQ,KAAK,CAACR,cAAd;MACE,KAAK,aAAL;QAAoB,OAAOnB,wBAAwB,CAAC2B,KAAK,CAACH,SAAP,CAA/B;;MACpB,KAAK,MAAL;QAAa,OAAOzB,kBAAkB,CAAC4B,KAAK,CAACH,SAAP,CAAzB;;MACb,KAAK,aAAL;QAAoB,OAAO3B,yBAAyB,CAAC8B,KAAK,CAACH,SAAP,CAAhC;;MACpB,KAAK,oBAAL;QAA2B,OAAO1B,+BAA+B,CAAC6B,KAAK,CAACH,SAAP,CAAtC;;MAC3B,KAAK,SAAL;MACA;QAAS,OAAO5B,qBAAqB,CAAC+B,KAAK,CAACH,SAAP,CAA5B;IANX;EAQD,CAX8B,CAA/B;EAaA,MAAMF,YAAY,GAAGlC,QAAQ,CAAC,MAAM;IAClC,IAAI,OAAOuC,KAAK,CAACL,YAAb,KAA8B,UAAlC,EAA8C,OAAOK,KAAK,CAACL,YAAb;;IAE9C,QAAQK,KAAK,CAACL,YAAd;MACE,KAAK,MAAL;QAAa,OAAO7B,gBAAP;;MACb,KAAK,QAAL;QAAe,OAAOE,kBAAP;;MACf,KAAK,UAAL;MACA;QAAS,OAAOD,oBAAP;IAJX;EAMD,CAT4B,CAA7B;EAWA,MAAMsB,QAAQ,GAAGhC,eAAe,CAC9B2C,KAD8B,EAE9B,UAF8B,EAG9BA,KAAK,CAACX,QAHwB,EAI9Ba,CAAC,IAAIV,cAAc,CAACY,KAAf,CAAqBC,EAArB,CAAwBH,CAAxB,EAA2BlB,QAAQ,CAACoB,KAApC,EAA2CtB,OAAO,CAACsB,KAAnD,CAJyB,EAK9BF,CAAC,IAAIV,cAAc,CAACY,KAAf,CAAqBE,GAArB,CAAyBJ,CAAzB,EAA4BlB,QAAQ,CAACoB,KAArC,EAA4CtB,OAAO,CAACsB,KAApD,CALyB,CAAhC;EAQAzC,eAAe,CAAC,MAAM;IACpBsC,WAAW,GAAG,IAAd;EACD,CAFc,CAAf;;EAIA,SAASM,OAAT,CAAkB7B,EAAlB,EAA8B;IAC5B,MAAM8B,IAAc,GAAG,EAAvB;IACA,IAAIC,MAA0B,GAAG/B,EAAjC;;IAEA,OAAO+B,MAAM,IAAI,IAAjB,EAAuB;MACrBD,IAAI,CAACE,OAAL,CAAaD,MAAb;MACAA,MAAM,GAAG3B,OAAO,CAACsB,KAAR,CAAcO,GAAd,CAAkBF,MAAlB,CAAT;IACD;;IAED,OAAOD,IAAP;EACD;;EAED,MAAMI,EAAE,GAAGtD,kBAAkB,CAAC,QAAD,CAA7B;EAEA,MAAMuD,MAAqB,GAAG;IAC5BnC,EAAE,EAAEb,GAAG,EADqB;IAE5Bc,IAAI,EAAE;MACJQ,MADI;MAEJE,QAFI;MAGJC,cAAc,EAAE7B,QAAQ,CAAC,MAAM;QAC7B,MAAMqD,GAAG,GAAG,EAAZ;;QAEA,KAAK,MAAM,CAACC,GAAD,EAAMX,KAAN,CAAX,IAA2Bf,QAAQ,CAACe,KAAT,CAAeY,OAAf,EAA3B,EAAqD;UACnD,IAAIZ,KAAK,KAAK,IAAd,EAAoBU,GAAG,CAACG,IAAJ,CAASF,GAAT;QACrB;;QAED,OAAOD,GAAP;MACD,CARuB,CAHpB;MAYJlC,QAAQ,EAAE,CAACF,EAAD,EAAKwC,QAAL,EAAeC,OAAf,KAA2B;QACnCD,QAAQ,IAAIxC,EAAE,KAAKwC,QAAnB,IAA+BpC,OAAO,CAACsB,KAAR,CAAcgB,GAAd,CAAkB1C,EAAlB,EAAsBwC,QAAtB,CAA/B;QAEAC,OAAO,IAAInC,QAAQ,CAACoB,KAAT,CAAegB,GAAf,CAAmB1C,EAAnB,EAAuB,EAAvB,CAAX;;QAEA,IAAIwC,QAAQ,IAAI,IAAhB,EAAsB;UACpBlC,QAAQ,CAACoB,KAAT,CAAegB,GAAf,CAAmBF,QAAnB,EAA6B,CAAC,IAAGlC,QAAQ,CAACoB,KAAT,CAAeO,GAAf,CAAmBO,QAAnB,KAAgC,EAAnC,CAAD,EAAwCxC,EAAxC,CAA7B;QACD;MACF,CApBG;MAqBJG,UAAU,EAAEH,EAAE,IAAI;QAChB,IAAIuB,WAAJ,EAAiB;QAEjBjB,QAAQ,CAACoB,KAAT,CAAeiB,MAAf,CAAsB3C,EAAtB;QACA,MAAM+B,MAAM,GAAG3B,OAAO,CAACsB,KAAR,CAAcO,GAAd,CAAkBjC,EAAlB,CAAf;;QACA,IAAI+B,MAAJ,EAAY;UAAA;;UACV,MAAMa,IAAI,0BAAGtC,QAAQ,CAACoB,KAAT,CAAeO,GAAf,CAAmBF,MAAnB,CAAH,kCAAiC,EAA3C;UACAzB,QAAQ,CAACoB,KAAT,CAAegB,GAAf,CAAmBX,MAAnB,EAA2Ba,IAAI,CAACC,MAAL,CAAYC,KAAK,IAAIA,KAAK,KAAK9C,EAA/B,CAA3B;QACD;;QACDI,OAAO,CAACsB,KAAR,CAAciB,MAAd,CAAqB3C,EAArB;QACAS,MAAM,CAACiB,KAAP,CAAaiB,MAAb,CAAoB3C,EAApB;MACD,CAhCG;MAiCJO,IAAI,EAAE,CAACP,EAAD,EAAK0B,KAAL,EAAYqB,KAAZ,KAAsB;QAC1Bb,EAAE,CAACc,IAAH,CAAQ,YAAR,EAAsB;UAAEhD,EAAF;UAAM0B,KAAN;UAAaI,IAAI,EAAED,OAAO,CAAC7B,EAAD,CAA1B;UAAgC+C;QAAhC,CAAtB;QAEA,MAAME,SAAS,GAAGhC,YAAY,CAACS,KAAb,CAAmBnB,IAAnB,CAAwB;UACxCP,EADwC;UAExC0B,KAFwC;UAGxCjB,MAAM,EAAE,IAAIC,GAAJ,CAAQD,MAAM,CAACiB,KAAf,CAHgC;UAIxCpB,QAAQ,EAAEA,QAAQ,CAACoB,KAJqB;UAKxCtB,OAAO,EAAEA,OAAO,CAACsB,KALuB;UAMxCqB;QANwC,CAAxB,CAAlB;QASAE,SAAS,KAAKxC,MAAM,CAACiB,KAAP,GAAeuB,SAApB,CAAT;MACD,CA9CG;MA+CJzC,MAAM,EAAE,CAACR,EAAD,EAAK0B,KAAL,EAAYqB,KAAZ,KAAsB;QAC5Bb,EAAE,CAACc,IAAH,CAAQ,cAAR,EAAwB;UAAEhD,EAAF;UAAM0B,KAAN;UAAaI,IAAI,EAAED,OAAO,CAAC7B,EAAD,CAA1B;UAAgC+C;QAAhC,CAAxB;QAEA,MAAMG,WAAW,GAAGpC,cAAc,CAACY,KAAf,CAAqBlB,MAArB,CAA4B;UAC9CR,EAD8C;UAE9C0B,KAF8C;UAG9Cf,QAAQ,EAAE,IAAIN,GAAJ,CAAQM,QAAQ,CAACe,KAAjB,CAHoC;UAI9CpB,QAAQ,EAAEA,QAAQ,CAACoB,KAJ2B;UAK9CtB,OAAO,EAAEA,OAAO,CAACsB,KAL6B;UAM9CqB;QAN8C,CAA5B,CAApB;QAQAG,WAAW,KAAKvC,QAAQ,CAACe,KAAT,GAAiBwB,WAAtB,CAAX;QAEA,MAAMD,SAAS,GAAGhC,YAAY,CAACS,KAAb,CAAmBlB,MAAnB,CAA0B;UAC1CR,EAD0C;UAE1C0B,KAF0C;UAG1Cf,QAAQ,EAAE,IAAIN,GAAJ,CAAQM,QAAQ,CAACe,KAAjB,CAHgC;UAI1CjB,MAAM,EAAE,IAAIC,GAAJ,CAAQD,MAAM,CAACiB,KAAf,CAJkC;UAK1CpB,QAAQ,EAAEA,QAAQ,CAACoB,KALuB;UAM1CtB,OAAO,EAAEA,OAAO,CAACsB,KANyB;UAO1CqB;QAP0C,CAA1B,CAAlB;QASAE,SAAS,KAAKxC,MAAM,CAACiB,KAAP,GAAeuB,SAApB,CAAT;MACD,CAtEG;MAuEJ3C,QAvEI;MAwEJF;IAxEI;EAFsB,CAA9B;EA8EAlB,OAAO,CAACU,aAAD,EAAgBuC,MAAhB,CAAP;EAEA,OAAOA,MAAM,CAAClC,IAAd;AACD,CA1IM;AA4IP,OAAO,MAAMkD,aAAa,GAAG,CAACnD,EAAD,EAA8ByC,OAA9B,KAAmD;EAC9E,MAAMV,MAAM,GAAG/C,MAAM,CAACY,aAAD,EAAgBG,WAAhB,CAArB;EAEA,MAAMqD,UAAU,GAAGrE,QAAQ,CAAC;IAAA;;IAAA,oBAAMiB,EAAE,CAAC0B,KAAT,wBAAkB7C,MAAM,GAAGwE,QAAT,EAAlB;EAAA,CAAD,CAA3B;EAEA,MAAMC,IAAI,GAAG,EACX,GAAGvB,MADQ;IAEX/B,EAAE,EAAEoD,UAFO;IAGX7C,IAAI,EAAE,CAACA,IAAD,EAAgBgD,CAAhB,KAA6BxB,MAAM,CAAC9B,IAAP,CAAYM,IAAZ,CAAiB6C,UAAU,CAAC1B,KAA5B,EAAmCnB,IAAnC,EAAyCgD,CAAzC,CAHxB;IAIXC,MAAM,EAAEzE,QAAQ,CAAC,MAAMgD,MAAM,CAAC9B,IAAP,CAAYQ,MAAZ,CAAmBiB,KAAnB,CAAyB+B,GAAzB,CAA6BL,UAAU,CAAC1B,KAAxC,CAAP,CAJL;IAKXK,MAAM,EAAEhD,QAAQ,CAAC,MAAMgD,MAAM,CAAC9B,IAAP,CAAYG,OAAZ,CAAoBsB,KAApB,CAA0BO,GAA1B,CAA8BmB,UAAU,CAAC1B,KAAzC,CAAP,CALL;IAMXlB,MAAM,EAAE,CAACG,QAAD,EAAoB4C,CAApB,KAAkCxB,MAAM,CAAC9B,IAAP,CAAYO,MAAZ,CAAmB4C,UAAU,CAAC1B,KAA9B,EAAqCf,QAArC,EAA+C4C,CAA/C,CAN/B;IAOXG,UAAU,EAAE3E,QAAQ,CAAC,MAAMgD,MAAM,CAAC9B,IAAP,CAAYU,QAAZ,CAAqBe,KAArB,CAA2BO,GAA3B,CAA+BmB,UAAU,CAAC1B,KAA1C,MAAqD,IAA5D,CAPT;IAQXiC,eAAe,EAAE5E,QAAQ,CAAC,MAAMgD,MAAM,CAAC9B,IAAP,CAAYU,QAAZ,CAAqBe,KAArB,CAA2BO,GAA3B,CAA+BmB,UAAU,CAAC1B,KAA1C,MAAqD,eAA5D,CARd;IASXkC,MAAM,EAAE7E,QAAQ,CAAC,MAAM,CAACgD,MAAM,CAAC9B,IAAP,CAAYK,QAAZ,CAAqBoB,KAArB,CAA2BO,GAA3B,CAA+BmB,UAAU,CAAC1B,KAA1C,CAAR,CATL;IAUXmC,gBAAgB,EAAE9B,MAAM,CAAC8B;EAVd,CAAb;EAaA,CAAC9B,MAAM,CAAC8B,gBAAR,IAA4B9B,MAAM,CAAC9B,IAAP,CAAYC,QAAZ,CAAqBkD,UAAU,CAAC1B,KAAhC,EAAuCK,MAAM,CAAC/B,EAAP,CAAU0B,KAAjD,EAAwDe,OAAxD,CAA5B;EAEAxD,eAAe,CAAC,MAAM;IACpB,CAAC8C,MAAM,CAAC8B,gBAAR,IAA4B9B,MAAM,CAAC9B,IAAP,CAAYE,UAAZ,CAAuBiD,UAAU,CAAC1B,KAAlC,CAA5B;EACD,CAFc,CAAf;EAIAe,OAAO,IAAIvD,OAAO,CAACU,aAAD,EAAgB0D,IAAhB,CAAlB;EAEA,OAAOA,IAAP;AACD,CA3BM;AA6BP,OAAO,MAAMQ,uBAAuB,GAAG,MAAM;EAC3C,MAAM/B,MAAM,GAAG/C,MAAM,CAACY,aAAD,EAAgBG,WAAhB,CAArB;EAEAb,OAAO,CAACU,aAAD,EAAgB,EAAE,GAAGmC,MAAL;IAAa8B,gBAAgB,EAAE;EAA/B,CAAhB,CAAP;AACD,CAJM"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/composables/nested/openStrategies.ts"],"names":["singleOpenStrategy","open","id","value","opened","parents","newOpened","Set","add","parent","get","delete","select","multipleOpenStrategy","listOpenStrategy","path","push"],"mappings":"AAwBA,OAAO,MAAMA,kBAAgC,GAAG;AAC9CC,EAAAA,IAAI,EAAE,QAAoC;AAAA,QAAnC;AAAEC,MAAAA,EAAF;AAAMC,MAAAA,KAAN;AAAaC,MAAAA,MAAb;AAAqBC,MAAAA;AAArB,KAAmC;;AACxC,QAAIF,KAAJ,EAAW;AACT,YAAMG,SAAS,GAAG,IAAIC,GAAJ,EAAlB;AACAD,MAAAA,SAAS,CAACE,GAAV,CAAcN,EAAd;AAEA,UAAIO,MAAM,GAAGJ,OAAO,CAACK,GAAR,CAAYR,EAAZ,CAAb;;AAEA,aAAOO,MAAM,IAAI,IAAjB,EAAuB;AACrBH,QAAAA,SAAS,CAACE,GAAV,CAAcC,MAAd;AACAA,QAAAA,MAAM,GAAGJ,OAAO,CAACK,GAAR,CAAYD,MAAZ,CAAT;AACD;;AAED,aAAOH,SAAP;AACD,KAZD,MAYO;AACLF,MAAAA,MAAM,CAACO,MAAP,CAAcT,EAAd;AACA,aAAOE,MAAP;AACD;AACF,GAlB6C;AAmB9CQ,EAAAA,MAAM,EAAE,MAAM;AAnBgC,CAAzC;AAsBP,OAAO,MAAMC,oBAAkC,GAAG;AAChDZ,EAAAA,IAAI,EAAE,SAAoC;AAAA,QAAnC;AAAEC,MAAAA,EAAF;AAAMC,MAAAA,KAAN;AAAaC,MAAAA,MAAb;AAAqBC,MAAAA;AAArB,KAAmC;;AACxC,QAAIF,KAAJ,EAAW;AACT,UAAIM,MAAM,GAAGJ,OAAO,CAACK,GAAR,CAAYR,EAAZ,CAAb;AACAE,MAAAA,MAAM,CAACI,GAAP,CAAWN,EAAX;;AAEA,aAAOO,MAAM,IAAI,IAAV,IAAkBA,MAAM,KAAKP,EAApC,EAAwC;AACtCE,QAAAA,MAAM,CAACI,GAAP,CAAWC,MAAX;AACAA,QAAAA,MAAM,GAAGJ,OAAO,CAACK,GAAR,CAAYD,MAAZ,CAAT;AACD;;AAED,aAAOL,MAAP;AACD,KAVD,MAUO;AACLA,MAAAA,MAAM,CAACO,MAAP,CAAcT,EAAd;AACD;;AACD,WAAOE,MAAP;AACD,GAhB+C;AAiBhDQ,EAAAA,MAAM,EAAE,MAAM;AAjBkC,CAA3C;AAoBP,OAAO,MAAME,gBAA8B,GAAG;AAC5Cb,EAAAA,IAAI,EAAEY,oBAAoB,CAACZ,IADiB;AAE5CW,EAAAA,MAAM,EAAE,SAAoC;AAAA,QAAnC;AAAEV,MAAAA,EAAF;AAAMC,MAAAA,KAAN;AAAaC,MAAAA,MAAb;AAAqBC,MAAAA;AAArB,KAAmC;AAC1C,QAAI,CAACF,KAAL,EAAY,OAAOC,MAAP;AAEZ,UAAMW,IAAc,GAAG,EAAvB;AAEA,QAAIN,MAAM,GAAGJ,OAAO,CAACK,GAAR,CAAYR,EAAZ,CAAb;;AAEA,WAAOO,MAAM,IAAI,IAAjB,EAAuB;AACrBM,MAAAA,IAAI,CAACC,IAAL,CAAUP,MAAV;AACAA,MAAAA,MAAM,GAAGJ,OAAO,CAACK,GAAR,CAAYD,MAAZ,CAAT;AACD;;AAED,WAAO,IAAIF,GAAJ,CAAQQ,IAAR,CAAP;AACD;AAf2C,CAAvC","sourcesContent":["export type OpenStrategyFn = (data: {\n id: string\n value: boolean\n opened: Set<string>\n children: Map<string, string[]>\n parents: Map<string, string>\n event?: Event\n}) => Set<string>\n\nexport type OpenSelectStrategyFn = (data: {\n id: string\n value: boolean\n opened: Set<string>\n selected: Map<string, 'on' | 'off' | 'indeterminate'>\n children: Map<string, string[]>\n parents: Map<string, string>\n event?: Event\n}) => Set<string> | 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<string>()\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: string[] = []\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"],"file":"openStrategies.mjs"}
1
+ {"version":3,"file":"openStrategies.mjs","names":["singleOpenStrategy","open","id","value","opened","parents","newOpened","Set","add","parent","get","delete","select","multipleOpenStrategy","listOpenStrategy","path","push"],"sources":["../../../src/composables/nested/openStrategies.ts"],"sourcesContent":["export type OpenStrategyFn = (data: {\n id: string\n value: boolean\n opened: Set<string>\n children: Map<string, string[]>\n parents: Map<string, string>\n event?: Event\n}) => Set<string>\n\nexport type OpenSelectStrategyFn = (data: {\n id: string\n value: boolean\n opened: Set<string>\n selected: Map<string, 'on' | 'off' | 'indeterminate'>\n children: Map<string, string[]>\n parents: Map<string, string>\n event?: Event\n}) => Set<string> | 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<string>()\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: string[] = []\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,EAAE,QAAoC;IAAA,IAAnC;MAAEC,EAAF;MAAMC,KAAN;MAAaC,MAAb;MAAqBC;IAArB,CAAmC;;IACxC,IAAIF,KAAJ,EAAW;MACT,MAAMG,SAAS,GAAG,IAAIC,GAAJ,EAAlB;MACAD,SAAS,CAACE,GAAV,CAAcN,EAAd;MAEA,IAAIO,MAAM,GAAGJ,OAAO,CAACK,GAAR,CAAYR,EAAZ,CAAb;;MAEA,OAAOO,MAAM,IAAI,IAAjB,EAAuB;QACrBH,SAAS,CAACE,GAAV,CAAcC,MAAd;QACAA,MAAM,GAAGJ,OAAO,CAACK,GAAR,CAAYD,MAAZ,CAAT;MACD;;MAED,OAAOH,SAAP;IACD,CAZD,MAYO;MACLF,MAAM,CAACO,MAAP,CAAcT,EAAd;MACA,OAAOE,MAAP;IACD;EACF,CAlB6C;EAmB9CQ,MAAM,EAAE,MAAM;AAnBgC,CAAzC;AAsBP,OAAO,MAAMC,oBAAkC,GAAG;EAChDZ,IAAI,EAAE,SAAoC;IAAA,IAAnC;MAAEC,EAAF;MAAMC,KAAN;MAAaC,MAAb;MAAqBC;IAArB,CAAmC;;IACxC,IAAIF,KAAJ,EAAW;MACT,IAAIM,MAAM,GAAGJ,OAAO,CAACK,GAAR,CAAYR,EAAZ,CAAb;MACAE,MAAM,CAACI,GAAP,CAAWN,EAAX;;MAEA,OAAOO,MAAM,IAAI,IAAV,IAAkBA,MAAM,KAAKP,EAApC,EAAwC;QACtCE,MAAM,CAACI,GAAP,CAAWC,MAAX;QACAA,MAAM,GAAGJ,OAAO,CAACK,GAAR,CAAYD,MAAZ,CAAT;MACD;;MAED,OAAOL,MAAP;IACD,CAVD,MAUO;MACLA,MAAM,CAACO,MAAP,CAAcT,EAAd;IACD;;IACD,OAAOE,MAAP;EACD,CAhB+C;EAiBhDQ,MAAM,EAAE,MAAM;AAjBkC,CAA3C;AAoBP,OAAO,MAAME,gBAA8B,GAAG;EAC5Cb,IAAI,EAAEY,oBAAoB,CAACZ,IADiB;EAE5CW,MAAM,EAAE,SAAoC;IAAA,IAAnC;MAAEV,EAAF;MAAMC,KAAN;MAAaC,MAAb;MAAqBC;IAArB,CAAmC;IAC1C,IAAI,CAACF,KAAL,EAAY,OAAOC,MAAP;IAEZ,MAAMW,IAAc,GAAG,EAAvB;IAEA,IAAIN,MAAM,GAAGJ,OAAO,CAACK,GAAR,CAAYR,EAAZ,CAAb;;IAEA,OAAOO,MAAM,IAAI,IAAjB,EAAuB;MACrBM,IAAI,CAACC,IAAL,CAAUP,MAAV;MACAA,MAAM,GAAGJ,OAAO,CAACK,GAAR,CAAYD,MAAZ,CAAT;IACD;;IAED,OAAO,IAAIF,GAAJ,CAAQQ,IAAR,CAAP;EACD;AAf2C,CAAvC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/composables/nested/selectStrategies.ts"],"names":["independentSelectStrategy","mandatory","strategy","select","id","value","selected","on","Array","from","entries","reduce","arr","key","length","set","in","v","children","parents","map","Map","out","push","independentSingleSelectStrategy","parentStrategy","rest","singleSelected","has","get","slice","leafSelectStrategy","leafSingleSelectStrategy","classicSelectStrategy","original","items","item","shift","parent","childrenIds","everySelected","every","cid","noneSelected"],"mappings":"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","sourcesContent":["/* eslint-disable sonarjs/no-identical-functions */\nexport type SelectStrategyFn = (data: {\n id: string\n value: boolean\n selected: Map<string, 'on' | 'off' | 'indeterminate'>\n children: Map<string, string[]>\n parents: Map<string, string>\n event?: Event\n}) => Map<string, 'on' | 'off' | 'indeterminate'>\n\nexport type SelectStrategyTransformInFn = (\n v: string[] | undefined,\n children: Map<string, string[]>,\n parents: Map<string, string>,\n) => Map<string, 'on' | 'off' | 'indeterminate'>\n\nexport type SelectStrategyTransformOutFn = (\n v: Map<string, 'on' | 'off' | 'indeterminate'>,\n children: Map<string, string[]>,\n parents: Map<string, string>,\n) => any[]\n\nexport type SelectStrategy = {\n select: SelectStrategyFn\n in: SelectStrategyTransformInFn\n out: SelectStrategyTransformOutFn\n}\n\nexport const independentSelectStrategy = (mandatory?: boolean): SelectStrategy => {\n const strategy: SelectStrategy = {\n select: ({ id, value, selected }) => {\n // When mandatory and we're trying to deselect when id\n // is the only currently selected item then do nothing\n if (mandatory && !value) {\n const on = Array.from(selected.entries()).reduce((arr, [key, value]) => value === 'on' ? [...arr, key] : arr, [] as string[])\n if (on.length === 1 && on[0] === id) return selected\n }\n\n selected.set(id, value ? 'on' : 'off')\n\n return selected\n },\n in: (v, children, parents) => {\n let map = new Map()\n\n for (const id of (v || [])) {\n map = strategy.select({\n id,\n value: true,\n selected: new Map(map),\n children,\n parents,\n })\n }\n\n return map\n },\n out: v => {\n const arr = []\n\n for (const [key, value] of v.entries()) {\n if (value === 'on') arr.push(key)\n }\n\n return arr\n },\n }\n\n return strategy\n}\n\nexport const independentSingleSelectStrategy = (mandatory?: boolean): SelectStrategy => {\n const parentStrategy = independentSelectStrategy(mandatory)\n\n const strategy: SelectStrategy = {\n select: ({ selected, id, ...rest }) => {\n const singleSelected = selected.has(id) ? new Map([[id, selected.get(id)!]]) : new Map()\n return parentStrategy.select({ ...rest, id, selected: singleSelected })\n },\n in: (v, children, parents) => {\n let map = new Map()\n\n if (v?.length) {\n map = parentStrategy.in(v.slice(0, 1), children, parents)\n }\n\n return map\n },\n out: (v, children, parents) => {\n return parentStrategy.out(v, children, parents)\n },\n }\n\n return strategy\n}\n\nexport const leafSelectStrategy = (mandatory?: boolean): SelectStrategy => {\n const parentStrategy = independentSelectStrategy(mandatory)\n\n const strategy: SelectStrategy = {\n select: ({ id, selected, children, ...rest }) => {\n if (children.has(id)) return selected\n\n return parentStrategy.select({ id, selected, children, ...rest })\n },\n in: parentStrategy.in,\n out: parentStrategy.out,\n }\n\n return strategy\n}\n\nexport const leafSingleSelectStrategy = (mandatory?: boolean): SelectStrategy => {\n const parentStrategy = independentSingleSelectStrategy(mandatory)\n\n const strategy: SelectStrategy = {\n select: ({ id, selected, children, ...rest }) => {\n if (children.has(id)) return selected\n\n return parentStrategy.select({ id, selected, children, ...rest })\n },\n in: parentStrategy.in,\n out: parentStrategy.out,\n }\n\n return strategy\n}\n\nexport const classicSelectStrategy = (mandatory?: boolean): SelectStrategy => {\n const strategy: SelectStrategy = {\n select: ({ id, value, selected, children, parents }) => {\n const original = new Map(selected)\n\n const items = [id]\n\n while (items.length) {\n const item = items.shift()!\n\n selected.set(item, value ? 'on' : 'off')\n\n if (children.has(item)) {\n items.push(...children.get(item)!)\n }\n }\n\n let parent = parents.get(id)\n\n while (parent) {\n const childrenIds = children.get(parent)!\n const everySelected = childrenIds.every(cid => selected.get(cid) === 'on')\n const noneSelected = childrenIds.every(cid => !selected.has(cid) || selected.get(cid) === 'off')\n\n selected.set(parent, everySelected ? 'on' : noneSelected ? 'off' : 'indeterminate')\n\n parent = parents.get(parent)\n }\n\n // If mandatory and planned deselect results in no selected\n // items then we can't do it, so return original state\n if (mandatory && !value) {\n const on = Array.from(selected.entries()).reduce((arr, [key, value]) => value === 'on' ? [...arr, key] : arr, [] as string[])\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"],"file":"selectStrategies.mjs"}
1
+ {"version":3,"file":"selectStrategies.mjs","names":["independentSelectStrategy","mandatory","strategy","select","id","value","selected","on","Array","from","entries","reduce","arr","key","length","set","in","v","children","parents","map","Map","out","push","independentSingleSelectStrategy","parentStrategy","rest","singleSelected","has","get","slice","leafSelectStrategy","leafSingleSelectStrategy","classicSelectStrategy","original","items","item","shift","parent","childrenIds","everySelected","every","cid","noneSelected"],"sources":["../../../src/composables/nested/selectStrategies.ts"],"sourcesContent":["/* eslint-disable sonarjs/no-identical-functions */\nexport type SelectStrategyFn = (data: {\n id: string\n value: boolean\n selected: Map<string, 'on' | 'off' | 'indeterminate'>\n children: Map<string, string[]>\n parents: Map<string, string>\n event?: Event\n}) => Map<string, 'on' | 'off' | 'indeterminate'>\n\nexport type SelectStrategyTransformInFn = (\n v: string[] | undefined,\n children: Map<string, string[]>,\n parents: Map<string, string>,\n) => Map<string, 'on' | 'off' | 'indeterminate'>\n\nexport type SelectStrategyTransformOutFn = (\n v: Map<string, 'on' | 'off' | 'indeterminate'>,\n children: Map<string, string[]>,\n parents: Map<string, string>,\n) => any[]\n\nexport type SelectStrategy = {\n select: SelectStrategyFn\n in: SelectStrategyTransformInFn\n out: SelectStrategyTransformOutFn\n}\n\nexport const independentSelectStrategy = (mandatory?: boolean): SelectStrategy => {\n const strategy: SelectStrategy = {\n select: ({ id, value, selected }) => {\n // When mandatory and we're trying to deselect when id\n // is the only currently selected item then do nothing\n if (mandatory && !value) {\n const on = Array.from(selected.entries()).reduce((arr, [key, value]) => value === 'on' ? [...arr, key] : arr, [] as string[])\n if (on.length === 1 && on[0] === id) return selected\n }\n\n selected.set(id, value ? 'on' : 'off')\n\n return selected\n },\n in: (v, children, parents) => {\n let map = new Map()\n\n for (const id of (v || [])) {\n map = strategy.select({\n id,\n value: true,\n selected: new Map(map),\n children,\n parents,\n })\n }\n\n return map\n },\n out: v => {\n const arr = []\n\n for (const [key, value] of v.entries()) {\n if (value === 'on') arr.push(key)\n }\n\n return arr\n },\n }\n\n return strategy\n}\n\nexport const independentSingleSelectStrategy = (mandatory?: boolean): SelectStrategy => {\n const parentStrategy = independentSelectStrategy(mandatory)\n\n const strategy: SelectStrategy = {\n select: ({ selected, id, ...rest }) => {\n const singleSelected = selected.has(id) ? new Map([[id, selected.get(id)!]]) : new Map()\n return parentStrategy.select({ ...rest, id, selected: singleSelected })\n },\n in: (v, children, parents) => {\n let map = new Map()\n\n if (v?.length) {\n map = parentStrategy.in(v.slice(0, 1), children, parents)\n }\n\n return map\n },\n out: (v, children, parents) => {\n return parentStrategy.out(v, children, parents)\n },\n }\n\n return strategy\n}\n\nexport const leafSelectStrategy = (mandatory?: boolean): SelectStrategy => {\n const parentStrategy = independentSelectStrategy(mandatory)\n\n const strategy: SelectStrategy = {\n select: ({ id, selected, children, ...rest }) => {\n if (children.has(id)) return selected\n\n return parentStrategy.select({ id, selected, children, ...rest })\n },\n in: parentStrategy.in,\n out: parentStrategy.out,\n }\n\n return strategy\n}\n\nexport const leafSingleSelectStrategy = (mandatory?: boolean): SelectStrategy => {\n const parentStrategy = independentSingleSelectStrategy(mandatory)\n\n const strategy: SelectStrategy = {\n select: ({ id, selected, children, ...rest }) => {\n if (children.has(id)) return selected\n\n return parentStrategy.select({ id, selected, children, ...rest })\n },\n in: parentStrategy.in,\n out: parentStrategy.out,\n }\n\n return strategy\n}\n\nexport const classicSelectStrategy = (mandatory?: boolean): SelectStrategy => {\n const strategy: SelectStrategy = {\n select: ({ id, value, selected, children, parents }) => {\n const original = new Map(selected)\n\n const items = [id]\n\n while (items.length) {\n const item = items.shift()!\n\n selected.set(item, value ? 'on' : 'off')\n\n if (children.has(item)) {\n items.push(...children.get(item)!)\n }\n }\n\n let parent = parents.get(id)\n\n while (parent) {\n const childrenIds = children.get(parent)!\n const everySelected = childrenIds.every(cid => selected.get(cid) === 'on')\n const noneSelected = childrenIds.every(cid => !selected.has(cid) || selected.get(cid) === 'off')\n\n selected.set(parent, everySelected ? 'on' : noneSelected ? 'off' : 'indeterminate')\n\n parent = parents.get(parent)\n }\n\n // If mandatory and planned deselect results in no selected\n // items then we can't do it, so return original state\n if (mandatory && !value) {\n const on = Array.from(selected.entries()).reduce((arr, [key, value]) => value === 'on' ? [...arr, key] : arr, [] as string[])\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,45 +1,24 @@
1
1
  // Utilities
2
2
  import { computed } from 'vue';
3
- import { convertToUnit, getCurrentInstanceName, propsFactory } from "../util/index.mjs"; // Types
3
+ import { getCurrentInstanceName, propsFactory } from "../util/index.mjs"; // Types
4
4
 
5
5
  const positionValues = ['static', 'relative', 'fixed', 'absolute', 'sticky'];
6
6
  // Composables
7
7
  export const makePositionProps = propsFactory({
8
- absolute: Boolean,
9
- bottom: [Boolean, Number, String],
10
- fixed: Boolean,
11
- left: [Boolean, Number, String],
12
8
  position: {
13
9
  type: String,
14
10
  validator:
15
11
  /* istanbul ignore next */
16
12
  v => positionValues.includes(v)
17
- },
18
- right: [Boolean, Number, String],
19
- top: [Boolean, Number, String]
13
+ }
20
14
  }, 'position');
21
15
  export function usePosition(props) {
22
16
  let name = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : getCurrentInstanceName();
23
- const targets = ['top', 'right', 'bottom', 'left'];
24
17
  const positionClasses = computed(() => {
25
- if (props.fixed) return `${name}--fixed`;
26
- if (props.absolute) return `${name}--absolute`;
27
- return props.position ? `position-${props.position}` : undefined;
28
- });
29
- const positionStyles = computed(() => {
30
- const styles = {};
31
-
32
- for (const target of targets) {
33
- const prop = props[target];
34
- if (prop == null || prop === false) continue;
35
- styles[target] = convertToUnit(prop === true ? '0' : String(prop));
36
- }
37
-
38
- return styles;
18
+ return props.position ? `${name}--${props.position}` : undefined;
39
19
  });
40
20
  return {
41
- positionClasses,
42
- positionStyles
21
+ positionClasses
43
22
  };
44
23
  }
45
24
  //# sourceMappingURL=position.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/composables/position.ts"],"names":["computed","convertToUnit","getCurrentInstanceName","propsFactory","positionValues","makePositionProps","absolute","Boolean","bottom","Number","String","fixed","left","position","type","validator","v","includes","right","top","usePosition","props","name","targets","positionClasses","undefined","positionStyles","styles","target","prop"],"mappings":"AAAA;AACA,SAASA,QAAT,QAAyB,KAAzB;SACSC,a,EAAeC,sB,EAAwBC,Y,6BAEhD;;AAGA,MAAMC,cAAc,GAAG,CAAC,QAAD,EAAW,UAAX,EAAuB,OAAvB,EAAgC,UAAhC,EAA4C,QAA5C,CAAvB;AAcA;AACA,OAAO,MAAMC,iBAAiB,GAAGF,YAAY,CAAC;AAC5CG,EAAAA,QAAQ,EAAEC,OADkC;AAE5CC,EAAAA,MAAM,EAAE,CAACD,OAAD,EAAUE,MAAV,EAAkBC,MAAlB,CAFoC;AAG5CC,EAAAA,KAAK,EAAEJ,OAHqC;AAI5CK,EAAAA,IAAI,EAAE,CAACL,OAAD,EAAUE,MAAV,EAAkBC,MAAlB,CAJsC;AAK5CG,EAAAA,QAAQ,EAAE;AACRC,IAAAA,IAAI,EAAEJ,MADE;AAERK,IAAAA,SAAS;AAAE;AAA4BC,IAAAA,CAAD,IAAYZ,cAAc,CAACa,QAAf,CAAwBD,CAAxB;AAF1C,GALkC;AAS5CE,EAAAA,KAAK,EAAE,CAACX,OAAD,EAAUE,MAAV,EAAkBC,MAAlB,CATqC;AAU5CS,EAAAA,GAAG,EAAE,CAACZ,OAAD,EAAUE,MAAV,EAAkBC,MAAlB;AAVuC,CAAD,EAW1C,UAX0C,CAAtC;AAaP,OAAO,SAASU,WAAT,CACLC,KADK,EAGL;AAAA,MADAC,IACA,uEADOpB,sBAAsB,EAC7B;AACA,QAAMqB,OAAO,GAAG,CAAC,KAAD,EAAQ,OAAR,EAAiB,QAAjB,EAA2B,MAA3B,CAAhB;AAEA,QAAMC,eAAe,GAAGxB,QAAQ,CAAC,MAAM;AACrC,QAAIqB,KAAK,CAACV,KAAV,EAAiB,OAAQ,GAAEW,IAAK,SAAf;AACjB,QAAID,KAAK,CAACf,QAAV,EAAoB,OAAQ,GAAEgB,IAAK,YAAf;AAEpB,WAAOD,KAAK,CAACR,QAAN,GAAkB,YAAWQ,KAAK,CAACR,QAAS,EAA5C,GAAgDY,SAAvD;AACD,GAL+B,CAAhC;AAOA,QAAMC,cAAc,GAAG1B,QAAQ,CAAC,MAAM;AACpC,UAAM2B,MAAuD,GAAG,EAAhE;;AAEA,SAAK,MAAMC,MAAX,IAAqBL,OAArB,EAA8B;AAC5B,YAAMM,IAAI,GAAGR,KAAK,CAACO,MAAD,CAAlB;AAEA,UAAIC,IAAI,IAAI,IAAR,IAAgBA,IAAI,KAAK,KAA7B,EAAoC;AAEpCF,MAAAA,MAAM,CAACC,MAAD,CAAN,GAAiB3B,aAAa,CAAC4B,IAAI,KAAK,IAAT,GAAgB,GAAhB,GAAsBnB,MAAM,CAACmB,IAAD,CAA7B,CAA9B;AACD;;AAED,WAAOF,MAAP;AACD,GAZ8B,CAA/B;AAcA,SAAO;AAAEH,IAAAA,eAAF;AAAmBE,IAAAA;AAAnB,GAAP;AACD","sourcesContent":["// Utilities\nimport { computed } from 'vue'\nimport { convertToUnit, 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 absolute?: boolean\n bottom?: boolean | number | string\n fixed?: boolean\n left?: boolean | number | string\n position?: Position\n right?: boolean | number | string\n top?: boolean | number | string\n}\n\n// Composables\nexport const makePositionProps = propsFactory({\n absolute: Boolean,\n bottom: [Boolean, Number, String],\n fixed: Boolean,\n left: [Boolean, Number, String],\n position: {\n type: String as PropType<Position>,\n validator: /* istanbul ignore next */ (v: any) => positionValues.includes(v),\n },\n right: [Boolean, Number, String],\n top: [Boolean, Number, String],\n}, 'position')\n\nexport function usePosition (\n props: PositionProps,\n name = getCurrentInstanceName(),\n) {\n const targets = ['top', 'right', 'bottom', 'left'] as const\n\n const positionClasses = computed(() => {\n if (props.fixed) return `${name}--fixed`\n if (props.absolute) return `${name}--absolute`\n\n return props.position ? `position-${props.position}` : undefined\n })\n\n const positionStyles = computed(() => {\n const styles: Partial<Record<typeof targets[number], string>> = {}\n\n for (const target of targets) {\n const prop = props[target]\n\n if (prop == null || prop === false) continue\n\n styles[target] = convertToUnit(prop === true ? '0' : String(prop))\n }\n\n return styles\n })\n\n return { positionClasses, positionStyles }\n}\n"],"file":"position.mjs"}
1
+ {"version":3,"file":"position.mjs","names":["computed","getCurrentInstanceName","propsFactory","positionValues","makePositionProps","position","type","String","validator","v","includes","usePosition","props","name","positionClasses","undefined"],"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,QAAT,QAAyB,KAAzB;SACSC,sB,EAAwBC,Y,6BAEjC;;AAGA,MAAMC,cAAc,GAAG,CAAC,QAAD,EAAW,UAAX,EAAuB,OAAvB,EAAgC,UAAhC,EAA4C,QAA5C,CAAvB;AAQA;AACA,OAAO,MAAMC,iBAAiB,GAAGF,YAAY,CAAC;EAC5CG,QAAQ,EAAE;IACRC,IAAI,EAAEC,MADE;IAERC,SAAS;IAAE;IAA4BC,CAAD,IAAYN,cAAc,CAACO,QAAf,CAAwBD,CAAxB;EAF1C;AADkC,CAAD,EAK1C,UAL0C,CAAtC;AAOP,OAAO,SAASE,WAAT,CACLC,KADK,EAGL;EAAA,IADAC,IACA,uEADOZ,sBAAsB,EAC7B;EACA,MAAMa,eAAe,GAAGd,QAAQ,CAAC,MAAM;IACrC,OAAOY,KAAK,CAACP,QAAN,GAAkB,GAAEQ,IAAK,KAAID,KAAK,CAACP,QAAS,EAA5C,GAAgDU,SAAvD;EACD,CAF+B,CAAhC;EAIA,OAAO;IAAED;EAAF,CAAP;AACD"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/composables/proxiedModel.ts"],"names":["computed","ref","getCurrentInstance","toKebabCase","useProxiedModel","props","prop","defaultValue","transformIn","v","transformOut","vm","propIsDefined","vnode","hasOwnProperty","internal","get","value","set","newValue","emit"],"mappings":"AAAA;AACA,SAASA,QAAT,EAAmBC,GAAnB,QAA8B,KAA9B;SACSC,kB,EAAoBC,W,6BAE7B;;AAGA;AACA,OAAO,SAASC,eAAT,CAKLC,KALK,EAMLC,IANK,EAOLC,YAPK,EAUL;AAAA,MAFAC,WAEA,uEAF+CC,CAAD,IAAYA,CAE1D;AAAA,MADAC,YACA,uEAD+CD,CAAD,IAAYA,CAC1D;AACA,QAAME,EAAE,GAAGT,kBAAkB,CAAC,iBAAD,CAA7B;AAEA,QAAMU,aAAa,GAAGZ,QAAQ,CAAC,MAAM;AAAA;;AACnC,WAAO,CAAC,EACN,OAAOK,KAAK,CAACC,IAAD,CAAZ,KAAuB,WAAvB,KACCK,EAAE,QAAF,uBAAAA,EAAE,CAAEE,KAAJ,CAAUR,KAAV,6BAAiBS,cAAjB,CAAgCR,IAAhC,KAAyCK,EAAzC,gCAAyCA,EAAE,CAAEE,KAAJ,CAAUR,KAAnD,aAAyC,iBAAiBS,cAAjB,CAAgCX,WAAW,CAACG,IAAD,CAA3C,CAD1C,CADM,CAAR;AAID,GAL6B,CAA9B;AAOA,QAAMS,QAAQ,GAAGd,GAAG,CAACO,WAAW,CAACH,KAAK,CAACC,IAAD,CAAN,CAAZ,CAApB;AAEA,SAAON,QAAQ,CAAgD;AAC7DgB,IAAAA,GAAG,GAAS;AACV,UAAIJ,aAAa,CAACK,KAAlB,EAAyB,OAAOT,WAAW,CAACH,KAAK,CAACC,IAAD,CAAN,CAAlB,CAAzB,KACK,OAAOS,QAAQ,CAACE,KAAhB;AACN,KAJ4D;;AAK7DC,IAAAA,GAAG,CAAEC,QAAF,EAAY;AACb,UAAI,CAACP,aAAa,CAACK,KAAd,GAAsBT,WAAW,CAACH,KAAK,CAACC,IAAD,CAAN,CAAjC,GAAiDS,QAAQ,CAACE,KAA3D,MAAsEE,QAA1E,EAAoF;AAClF;AACD;;AACDJ,MAAAA,QAAQ,CAACE,KAAT,GAAiBE,QAAjB;AACAR,MAAAA,EAAE,QAAF,YAAAA,EAAE,CAAES,IAAJ,CAAU,UAASd,IAAK,EAAxB,EAA2BI,YAAY,CAACS,QAAD,CAAvC;AACD;;AAX4D,GAAhD,CAAf;AAaD","sourcesContent":["// Utilities\nimport { computed, ref } from 'vue'\nimport { getCurrentInstance, toKebabCase } from '@/util'\n\n// Types\nimport type { Ref } from 'vue'\n\n// Composables\nexport function useProxiedModel<\n Props extends object & { [key in Prop as `onUpdate:${Prop}`]: ((val: any) => void) | undefined },\n Prop extends Extract<keyof Props, string>,\n Inner = Props[Prop],\n> (\n props: Props,\n prop: Prop,\n defaultValue?: Props[Prop],\n transformIn: (value?: Props[Prop]) => Inner = (v: any) => v,\n transformOut: (value: Inner) => Props[Prop] = (v: any) => v,\n) {\n const vm = getCurrentInstance('useProxiedModel')\n\n const propIsDefined = computed(() => {\n return !!(\n typeof props[prop] !== 'undefined' &&\n (vm?.vnode.props?.hasOwnProperty(prop) || vm?.vnode.props?.hasOwnProperty(toKebabCase(prop)))\n )\n })\n\n const internal = ref(transformIn(props[prop])) as Ref<Inner>\n\n return computed<Inner extends any[] ? Readonly<Inner> : Inner>({\n get (): any {\n if (propIsDefined.value) return transformIn(props[prop])\n else return internal.value\n },\n set (newValue) {\n if ((propIsDefined.value ? transformIn(props[prop]) : internal.value) === newValue) {\n return\n }\n internal.value = newValue\n vm?.emit(`update:${prop}`, transformOut(newValue))\n },\n })\n}\n"],"file":"proxiedModel.mjs"}
1
+ {"version":3,"file":"proxiedModel.mjs","names":["computed","ref","getCurrentInstance","toKebabCase","useProxiedModel","props","prop","defaultValue","transformIn","v","transformOut","vm","propIsDefined","vnode","hasOwnProperty","internal","get","value","set","newValue","emit"],"sources":["../../src/composables/proxiedModel.ts"],"sourcesContent":["// Utilities\nimport { computed, ref } from 'vue'\nimport { getCurrentInstance, toKebabCase } from '@/util'\n\n// Types\nimport type { Ref } from 'vue'\n\n// Composables\nexport function useProxiedModel<\n Props extends object & { [key in Prop as `onUpdate:${Prop}`]: ((val: any) => void) | undefined },\n Prop extends Extract<keyof Props, string>,\n Inner = Props[Prop],\n> (\n props: Props,\n prop: Prop,\n defaultValue?: Props[Prop],\n transformIn: (value?: Props[Prop]) => Inner = (v: any) => v,\n transformOut: (value: Inner) => Props[Prop] = (v: any) => v,\n) {\n const vm = getCurrentInstance('useProxiedModel')\n\n const propIsDefined = computed(() => {\n return !!(\n typeof props[prop] !== 'undefined' &&\n (vm?.vnode.props?.hasOwnProperty(prop) || vm?.vnode.props?.hasOwnProperty(toKebabCase(prop)))\n )\n })\n\n const internal = ref(transformIn(props[prop])) as Ref<Inner>\n\n return computed<Inner extends any[] ? Readonly<Inner> : Inner>({\n get (): any {\n if (propIsDefined.value) return transformIn(props[prop])\n else return internal.value\n },\n set (newValue) {\n if ((propIsDefined.value ? transformIn(props[prop]) : internal.value) === newValue) {\n return\n }\n internal.value = newValue\n vm?.emit(`update:${prop}`, transformOut(newValue))\n },\n })\n}\n"],"mappings":"AAAA;AACA,SAASA,QAAT,EAAmBC,GAAnB,QAA8B,KAA9B;SACSC,kB,EAAoBC,W,6BAE7B;;AAGA;AACA,OAAO,SAASC,eAAT,CAKLC,KALK,EAMLC,IANK,EAOLC,YAPK,EAUL;EAAA,IAFAC,WAEA,uEAF+CC,CAAD,IAAYA,CAE1D;EAAA,IADAC,YACA,uEAD+CD,CAAD,IAAYA,CAC1D;EACA,MAAME,EAAE,GAAGT,kBAAkB,CAAC,iBAAD,CAA7B;EAEA,MAAMU,aAAa,GAAGZ,QAAQ,CAAC,MAAM;IAAA;;IACnC,OAAO,CAAC,EACN,OAAOK,KAAK,CAACC,IAAD,CAAZ,KAAuB,WAAvB,KACCK,EAAE,QAAF,uBAAAA,EAAE,CAAEE,KAAJ,CAAUR,KAAV,6BAAiBS,cAAjB,CAAgCR,IAAhC,KAAyCK,EAAzC,gCAAyCA,EAAE,CAAEE,KAAJ,CAAUR,KAAnD,aAAyC,iBAAiBS,cAAjB,CAAgCX,WAAW,CAACG,IAAD,CAA3C,CAD1C,CADM,CAAR;EAID,CAL6B,CAA9B;EAOA,MAAMS,QAAQ,GAAGd,GAAG,CAACO,WAAW,CAACH,KAAK,CAACC,IAAD,CAAN,CAAZ,CAApB;EAEA,OAAON,QAAQ,CAAgD;IAC7DgB,GAAG,GAAS;MACV,IAAIJ,aAAa,CAACK,KAAlB,EAAyB,OAAOT,WAAW,CAACH,KAAK,CAACC,IAAD,CAAN,CAAlB,CAAzB,KACK,OAAOS,QAAQ,CAACE,KAAhB;IACN,CAJ4D;;IAK7DC,GAAG,CAAEC,QAAF,EAAY;MACb,IAAI,CAACP,aAAa,CAACK,KAAd,GAAsBT,WAAW,CAACH,KAAK,CAACC,IAAD,CAAN,CAAjC,GAAiDS,QAAQ,CAACE,KAA3D,MAAsEE,QAA1E,EAAoF;QAClF;MACD;;MACDJ,QAAQ,CAACE,KAAT,GAAiBE,QAAjB;MACAR,EAAE,QAAF,YAAAA,EAAE,CAAES,IAAJ,CAAU,UAASd,IAAK,EAAxB,EAA2BI,YAAY,CAACS,QAAD,CAAvC;IACD;;EAX4D,CAAhD,CAAf;AAaD"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/composables/refs.ts"],"names":["onBeforeUpdate","ref","useRefs","refs","value","updateRef","e","i"],"mappings":"AAAA;AACA,SAASA,cAAT,EAAyBC,GAAzB,QAAoC,KAApC;AAGA,OAAO,SAASC,OAAT,GAAmC;AACxC,QAAMC,IAAI,GAAGF,GAAG,CAAoB,EAApB,CAAhB;AAEAD,EAAAA,cAAc,CAAC,MAAOG,IAAI,CAACC,KAAL,GAAa,EAArB,CAAd;;AAEA,WAASC,SAAT,CAAoBC,CAApB,EAA4BC,CAA5B,EAAuC;AACrCJ,IAAAA,IAAI,CAACC,KAAL,CAAWG,CAAX,IAAgBD,CAAhB;AACD;;AAED,SAAO;AAAEH,IAAAA,IAAF;AAAQE,IAAAA;AAAR,GAAP;AACD","sourcesContent":["// Imports\nimport { onBeforeUpdate, ref } from 'vue'\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"],"file":"refs.mjs"}
1
+ {"version":3,"file":"refs.mjs","names":["onBeforeUpdate","ref","useRefs","refs","value","updateRef","e","i"],"sources":["../../src/composables/refs.ts"],"sourcesContent":["// Imports\nimport { onBeforeUpdate, ref } from 'vue'\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,cAAT,EAAyBC,GAAzB,QAAoC,KAApC;AAGA,OAAO,SAASC,OAAT,GAAmC;EACxC,MAAMC,IAAI,GAAGF,GAAG,CAAoB,EAApB,CAAhB;EAEAD,cAAc,CAAC,MAAOG,IAAI,CAACC,KAAL,GAAa,EAArB,CAAd;;EAEA,SAASC,SAAT,CAAoBC,CAApB,EAA4BC,CAA5B,EAAuC;IACrCJ,IAAI,CAACC,KAAL,CAAWG,CAAX,IAAgBD,CAAhB;EACD;;EAED,OAAO;IAAEH,IAAF;IAAQE;EAAR,CAAP;AACD"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/composables/resizeObserver.ts"],"names":["onBeforeUnmount","readonly","ref","watch","IN_BROWSER","useResizeObserver","callback","resizeRef","contentRect","observer","ResizeObserver","entries","length","value","disconnect","newValue","oldValue","unobserve","undefined","observe","flush"],"mappings":"AAAA;AACA,SAASA,eAAT,EAA0BC,QAA1B,EAAoCC,GAApC,EAAyCC,KAAzC,QAAsD,KAAtD;AAGA;SACSC,U;AAOT,OAAO,SAASC,iBAAT,CAA4BC,QAA5B,EAA4E;AACjF,QAAMC,SAAS,GAAGL,GAAG,EAArB;AACA,QAAMM,WAAW,GAAGN,GAAG,EAAvB;;AAEA,MAAIE,UAAJ,EAAgB;AACd,UAAMK,QAAQ,GAAG,IAAIC,cAAJ,CAAoBC,OAAD,IAAoC;AACtEL,MAAAA,QAAQ,QAAR,YAAAA,QAAQ,CAAGK,OAAH,EAAYF,QAAZ,CAAR;AAEA,UAAI,CAACE,OAAO,CAACC,MAAb,EAAqB;AAErBJ,MAAAA,WAAW,CAACK,KAAZ,GAAoBF,OAAO,CAAC,CAAD,CAAP,CAAWH,WAA/B;AACD,KANgB,CAAjB;AAQAR,IAAAA,eAAe,CAAC,MAAM;AACpBS,MAAAA,QAAQ,CAACK,UAAT;AACD,KAFc,CAAf;AAIAX,IAAAA,KAAK,CAACI,SAAD,EAAY,CAACQ,QAAD,EAAWC,QAAX,KAAwB;AACvC,UAAIA,QAAJ,EAAc;AACZP,QAAAA,QAAQ,CAACQ,SAAT,CAAmBD,QAAnB;AACAR,QAAAA,WAAW,CAACK,KAAZ,GAAoBK,SAApB;AACD;;AAED,UAAIH,QAAJ,EAAcN,QAAQ,CAACU,OAAT,CAAiBJ,QAAjB;AACf,KAPI,EAOF;AACDK,MAAAA,KAAK,EAAE;AADN,KAPE,CAAL;AAUD;;AAED,SAAO;AACLb,IAAAA,SADK;AAELC,IAAAA,WAAW,EAAEP,QAAQ,CAACO,WAAD;AAFhB,GAAP;AAID","sourcesContent":["// Utilities\nimport { onBeforeUnmount, readonly, ref, watch } from 'vue'\nimport type { DeepReadonly, Ref } from 'vue'\n\n// Globals\nimport { IN_BROWSER } from '@/util/globals'\n\ninterface ResizeState {\n resizeRef: Ref<Element | undefined>\n contentRect: DeepReadonly<Ref<DOMRectReadOnly | undefined>>\n}\n\nexport function useResizeObserver (callback?: ResizeObserverCallback): ResizeState {\n const resizeRef = ref<Element>()\n const contentRect = ref<DOMRectReadOnly>()\n\n if (IN_BROWSER) {\n const observer = new ResizeObserver((entries: ResizeObserverEntry[]) => {\n callback?.(entries, observer)\n\n if (!entries.length) return\n\n contentRect.value = entries[0].contentRect\n })\n\n onBeforeUnmount(() => {\n observer.disconnect()\n })\n\n watch(resizeRef, (newValue, oldValue) => {\n if (oldValue) {\n observer.unobserve(oldValue)\n contentRect.value = undefined\n }\n\n if (newValue) observer.observe(newValue)\n }, {\n flush: 'post',\n })\n }\n\n return {\n resizeRef,\n contentRect: readonly(contentRect),\n }\n}\n"],"file":"resizeObserver.mjs"}
1
+ {"version":3,"file":"resizeObserver.mjs","names":["onBeforeUnmount","readonly","ref","watch","IN_BROWSER","useResizeObserver","callback","resizeRef","contentRect","observer","ResizeObserver","entries","length","value","disconnect","newValue","oldValue","unobserve","undefined","observe","flush"],"sources":["../../src/composables/resizeObserver.ts"],"sourcesContent":["// Utilities\nimport { onBeforeUnmount, readonly, ref, watch } from 'vue'\nimport type { DeepReadonly, Ref } from 'vue'\n\n// Globals\nimport { IN_BROWSER } from '@/util/globals'\n\ninterface ResizeState {\n resizeRef: Ref<Element | undefined>\n contentRect: DeepReadonly<Ref<DOMRectReadOnly | undefined>>\n}\n\nexport function useResizeObserver (callback?: ResizeObserverCallback): ResizeState {\n const resizeRef = ref<Element>()\n const contentRect = ref<DOMRectReadOnly>()\n\n if (IN_BROWSER) {\n const observer = new ResizeObserver((entries: ResizeObserverEntry[]) => {\n callback?.(entries, observer)\n\n if (!entries.length) return\n\n contentRect.value = entries[0].contentRect\n })\n\n onBeforeUnmount(() => {\n observer.disconnect()\n })\n\n watch(resizeRef, (newValue, oldValue) => {\n if (oldValue) {\n observer.unobserve(oldValue)\n contentRect.value = undefined\n }\n\n if (newValue) observer.observe(newValue)\n }, {\n flush: 'post',\n })\n }\n\n return {\n resizeRef,\n contentRect: readonly(contentRect),\n }\n}\n"],"mappings":"AAAA;AACA,SAASA,eAAT,EAA0BC,QAA1B,EAAoCC,GAApC,EAAyCC,KAAzC,QAAsD,KAAtD;AAGA;SACSC,U;AAOT,OAAO,SAASC,iBAAT,CAA4BC,QAA5B,EAA4E;EACjF,MAAMC,SAAS,GAAGL,GAAG,EAArB;EACA,MAAMM,WAAW,GAAGN,GAAG,EAAvB;;EAEA,IAAIE,UAAJ,EAAgB;IACd,MAAMK,QAAQ,GAAG,IAAIC,cAAJ,CAAoBC,OAAD,IAAoC;MACtEL,QAAQ,QAAR,YAAAA,QAAQ,CAAGK,OAAH,EAAYF,QAAZ,CAAR;MAEA,IAAI,CAACE,OAAO,CAACC,MAAb,EAAqB;MAErBJ,WAAW,CAACK,KAAZ,GAAoBF,OAAO,CAAC,CAAD,CAAP,CAAWH,WAA/B;IACD,CANgB,CAAjB;IAQAR,eAAe,CAAC,MAAM;MACpBS,QAAQ,CAACK,UAAT;IACD,CAFc,CAAf;IAIAX,KAAK,CAACI,SAAD,EAAY,CAACQ,QAAD,EAAWC,QAAX,KAAwB;MACvC,IAAIA,QAAJ,EAAc;QACZP,QAAQ,CAACQ,SAAT,CAAmBD,QAAnB;QACAR,WAAW,CAACK,KAAZ,GAAoBK,SAApB;MACD;;MAED,IAAIH,QAAJ,EAAcN,QAAQ,CAACU,OAAT,CAAiBJ,QAAjB;IACf,CAPI,EAOF;MACDK,KAAK,EAAE;IADN,CAPE,CAAL;EAUD;;EAED,OAAO;IACLb,SADK;IAELC,WAAW,EAAEP,QAAQ,CAACO,WAAD;EAFhB,CAAP;AAID"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/composables/rounded.ts"],"names":["computed","isRef","getCurrentInstanceName","propsFactory","makeRoundedProps","rounded","type","Boolean","Number","String","default","undefined","useRounded","props","name","roundedClasses","value","classes","push","split"],"mappings":"AAAA;AACA,SAASA,QAAT,EAAmBC,KAAnB,QAAgC,KAAhC;SACSC,sB,EAAwBC,Y,6BAEjC;;AAcA;AACA,OAAO,MAAMC,gBAAgB,GAAGD,YAAY,CAAC;AAC3CE,EAAAA,OAAO,EAAE;AACPC,IAAAA,IAAI,EAAE,CAACC,OAAD,EAAUC,MAAV,EAAkBC,MAAlB,CADC;AAEPC,IAAAA,OAAO,EAAEC;AAFF;AADkC,CAAD,EAKzC,SALyC,CAArC;AAOP,OAAO,SAASC,UAAT,CACLC,KADK,EAGQ;AAAA,MADbC,IACa,uEADNZ,sBAAsB,EAChB;AACb,QAAMa,cAAc,GAAGf,QAAQ,CAAC,MAAM;AACpC,UAAMK,OAAO,GAAGJ,KAAK,CAACY,KAAD,CAAL,GAAeA,KAAK,CAACG,KAArB,GAA6BH,KAAK,CAACR,OAAnD;AACA,UAAMY,OAAiB,GAAG,EAA1B;;AAEA,QAAIZ,OAAO,KAAK,IAAZ,IAAoBA,OAAO,KAAK,EAApC,EAAwC;AACtCY,MAAAA,OAAO,CAACC,IAAR,CAAc,GAAEJ,IAAK,WAArB;AACD,KAFD,MAEO,IACL,OAAOT,OAAP,KAAmB,QAAnB,IACAA,OAAO,KAAK,CAFP,EAGL;AACA,WAAK,MAAMW,KAAX,IAAoBP,MAAM,CAACJ,OAAD,CAAN,CAAgBc,KAAhB,CAAsB,GAAtB,CAApB,EAAgD;AAC9CF,QAAAA,OAAO,CAACC,IAAR,CAAc,WAAUF,KAAM,EAA9B;AACD;AACF;;AAED,WAAOC,OAAP;AACD,GAhB8B,CAA/B;AAkBA,SAAO;AAAEF,IAAAA;AAAF,GAAP;AACD","sourcesContent":["// Utilities\nimport { computed, isRef } from 'vue'\nimport { getCurrentInstanceName, propsFactory } from '@/util'\n\n// Types\nimport type { Ref } from 'vue'\n\ntype RoundedValue = boolean | string | number | null | undefined\n\nexport interface RoundedProps {\n rounded?: RoundedValue\n tile?: boolean\n}\n\ntype RoundedData = {\n roundedClasses: Ref<string[]>\n}\n\n// Composables\nexport const makeRoundedProps = propsFactory({\n rounded: {\n type: [Boolean, Number, String],\n default: undefined,\n },\n}, 'rounded')\n\nexport function useRounded (\n props: RoundedProps | Ref<RoundedValue>,\n name = getCurrentInstanceName(),\n): RoundedData {\n const roundedClasses = computed(() => {\n const rounded = isRef(props) ? props.value : props.rounded\n const classes: string[] = []\n\n if (rounded === true || rounded === '') {\n classes.push(`${name}--rounded`)\n } else if (\n typeof rounded === 'string' ||\n rounded === 0\n ) {\n for (const value of String(rounded).split(' ')) {\n classes.push(`rounded-${value}`)\n }\n }\n\n return classes\n })\n\n return { roundedClasses }\n}\n"],"file":"rounded.mjs"}
1
+ {"version":3,"file":"rounded.mjs","names":["computed","isRef","getCurrentInstanceName","propsFactory","makeRoundedProps","rounded","type","Boolean","Number","String","default","undefined","useRounded","props","name","roundedClasses","value","classes","push","split"],"sources":["../../src/composables/rounded.ts"],"sourcesContent":["// Utilities\nimport { computed, isRef } from 'vue'\nimport { getCurrentInstanceName, propsFactory } from '@/util'\n\n// Types\nimport type { Ref } from 'vue'\n\ntype RoundedValue = boolean | string | number | null | undefined\n\nexport interface RoundedProps {\n rounded?: RoundedValue\n tile?: boolean\n}\n\ntype RoundedData = {\n roundedClasses: Ref<string[]>\n}\n\n// Composables\nexport const makeRoundedProps = propsFactory({\n rounded: {\n type: [Boolean, Number, String],\n default: undefined,\n },\n}, 'rounded')\n\nexport function useRounded (\n props: RoundedProps | Ref<RoundedValue>,\n name = getCurrentInstanceName(),\n): RoundedData {\n const roundedClasses = computed(() => {\n const rounded = isRef(props) ? props.value : props.rounded\n const classes: string[] = []\n\n if (rounded === true || rounded === '') {\n classes.push(`${name}--rounded`)\n } else if (\n typeof rounded === 'string' ||\n rounded === 0\n ) {\n for (const value of String(rounded).split(' ')) {\n classes.push(`rounded-${value}`)\n }\n }\n\n return classes\n })\n\n return { roundedClasses }\n}\n"],"mappings":"AAAA;AACA,SAASA,QAAT,EAAmBC,KAAnB,QAAgC,KAAhC;SACSC,sB,EAAwBC,Y,6BAEjC;;AAcA;AACA,OAAO,MAAMC,gBAAgB,GAAGD,YAAY,CAAC;EAC3CE,OAAO,EAAE;IACPC,IAAI,EAAE,CAACC,OAAD,EAAUC,MAAV,EAAkBC,MAAlB,CADC;IAEPC,OAAO,EAAEC;EAFF;AADkC,CAAD,EAKzC,SALyC,CAArC;AAOP,OAAO,SAASC,UAAT,CACLC,KADK,EAGQ;EAAA,IADbC,IACa,uEADNZ,sBAAsB,EAChB;EACb,MAAMa,cAAc,GAAGf,QAAQ,CAAC,MAAM;IACpC,MAAMK,OAAO,GAAGJ,KAAK,CAACY,KAAD,CAAL,GAAeA,KAAK,CAACG,KAArB,GAA6BH,KAAK,CAACR,OAAnD;IACA,MAAMY,OAAiB,GAAG,EAA1B;;IAEA,IAAIZ,OAAO,KAAK,IAAZ,IAAoBA,OAAO,KAAK,EAApC,EAAwC;MACtCY,OAAO,CAACC,IAAR,CAAc,GAAEJ,IAAK,WAArB;IACD,CAFD,MAEO,IACL,OAAOT,OAAP,KAAmB,QAAnB,IACAA,OAAO,KAAK,CAFP,EAGL;MACA,KAAK,MAAMW,KAAX,IAAoBP,MAAM,CAACJ,OAAD,CAAN,CAAgBc,KAAhB,CAAsB,GAAtB,CAApB,EAAgD;QAC9CF,OAAO,CAACC,IAAR,CAAc,WAAUF,KAAM,EAA9B;MACD;IACF;;IAED,OAAOC,OAAP;EACD,CAhB8B,CAA/B;EAkBA,OAAO;IAAEF;EAAF,CAAP;AACD"}
@@ -1,6 +1,6 @@
1
1
  // Utilities
2
- import { getCurrentInstance, propsFactory } from "../util/index.mjs";
3
- import { computed, onBeforeUnmount, onMounted, resolveDynamicComponent, toRef } from 'vue'; // Types
2
+ import { getCurrentInstance, IN_BROWSER, propsFactory } from "../util/index.mjs";
3
+ import { computed, nextTick, onScopeDispose, resolveDynamicComponent, toRef } from 'vue'; // Types
4
4
 
5
5
  export function useRoute() {
6
6
  const vm = getCurrentInstance('useRoute');
@@ -43,33 +43,35 @@ export const makeRouterProps = propsFactory({
43
43
  to: [String, Object]
44
44
  }, 'router');
45
45
  let inTransition = false;
46
- export function useBackButton(cb) {
47
- const router = useRouter();
46
+ export function useBackButton(router, cb) {
48
47
  let popped = false;
49
48
  let removeBefore;
50
49
  let removeAfter;
51
- onMounted(() => {
52
- window.addEventListener('popstate', onPopstate);
53
- removeBefore = router == null ? void 0 : router.beforeEach((to, from, next) => {
54
- if (!inTransition) {
55
- setTimeout(() => popped ? cb(next) : next());
56
- } else {
57
- popped ? cb(next) : next();
58
- }
59
50
 
60
- inTransition = true;
61
- });
62
- removeAfter = router == null ? void 0 : router.afterEach(() => {
63
- inTransition = false;
51
+ if (IN_BROWSER) {
52
+ nextTick(() => {
53
+ window.addEventListener('popstate', onPopstate);
54
+ removeBefore = router == null ? void 0 : router.beforeEach((to, from, next) => {
55
+ if (!inTransition) {
56
+ setTimeout(() => popped ? cb(next) : next());
57
+ } else {
58
+ popped ? cb(next) : next();
59
+ }
60
+
61
+ inTransition = true;
62
+ });
63
+ removeAfter = router == null ? void 0 : router.afterEach(() => {
64
+ inTransition = false;
65
+ });
64
66
  });
65
- });
66
- onBeforeUnmount(() => {
67
- var _removeBefore, _removeAfter;
67
+ onScopeDispose(() => {
68
+ var _removeBefore, _removeAfter;
68
69
 
69
- window.removeEventListener('popstate', onPopstate);
70
- (_removeBefore = removeBefore) == null ? void 0 : _removeBefore();
71
- (_removeAfter = removeAfter) == null ? void 0 : _removeAfter();
72
- });
70
+ window.removeEventListener('popstate', onPopstate);
71
+ (_removeBefore = removeBefore) == null ? void 0 : _removeBefore();
72
+ (_removeAfter = removeAfter) == null ? void 0 : _removeAfter();
73
+ });
74
+ }
73
75
 
74
76
  function onPopstate(e) {
75
77
  var _e$state;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/composables/router.tsx"],"names":["getCurrentInstance","propsFactory","computed","onBeforeUnmount","onMounted","resolveDynamicComponent","toRef","useRoute","vm","proxy","$route","useRouter","$router","useLink","props","attrs","RouterLink","isLink","href","to","isClickable","value","onClick","onClickOnce","link","undefined","route","makeRouterProps","String","replace","Boolean","Object","inTransition","useBackButton","cb","router","popped","removeBefore","removeAfter","window","addEventListener","onPopstate","beforeEach","from","next","setTimeout","afterEach","removeEventListener","e","state","replaced"],"mappings":"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","sourcesContent":["// Utilities\nimport { getCurrentInstance, propsFactory } from '@/util'\nimport {\n computed,\n onBeforeUnmount,\n onMounted,\n resolveDynamicComponent,\n toRef,\n} from 'vue'\n\n// Types\nimport type { ComputedRef, PropType, Ref, SetupContext } from 'vue'\nimport type {\n RouterLink as _RouterLink,\n useLink as _useLink,\n NavigationGuardNext,\n RouteLocationNormalizedLoaded,\n RouteLocationRaw,\n Router,\n} from 'vue-router'\n\nexport function useRoute (): Ref<RouteLocationNormalizedLoaded | undefined> {\n const vm = getCurrentInstance('useRoute')\n\n return computed(() => vm?.proxy?.$route)\n}\n\nexport function useRouter (): Router | undefined {\n return getCurrentInstance('useRouter')?.proxy?.$router\n}\n\nexport interface LinkProps {\n href?: string\n replace?: boolean\n to?: RouteLocationRaw\n}\n\nexport interface UseLink extends Omit<Partial<ReturnType<typeof _useLink>>, 'href'> {\n isLink: ComputedRef<boolean>\n isClickable: ComputedRef<boolean>\n href: Ref<string | undefined>\n}\n\nexport function useLink (props: LinkProps, attrs: SetupContext['attrs']): UseLink {\n const RouterLink = resolveDynamicComponent('RouterLink') as typeof _RouterLink | string\n\n const isLink = computed(() => !!(props.href || props.to))\n const isClickable = computed(() => {\n return isLink?.value || !!(attrs.onClick || attrs.onClickOnce)\n })\n\n if (typeof RouterLink === 'string') {\n return {\n isLink,\n isClickable,\n href: toRef(props, 'href'),\n }\n }\n\n const link = props.to ? RouterLink.useLink(props as Required<LinkProps>) : undefined\n\n return {\n ...link,\n isLink,\n isClickable,\n href: computed(() => props.to ? link?.route.value.href : props.href),\n }\n}\n\nexport const makeRouterProps = propsFactory({\n href: String,\n replace: Boolean,\n to: [String, Object] as PropType<RouteLocationRaw>,\n}, 'router')\n\nlet inTransition = false\nexport function useBackButton (cb: (next: NavigationGuardNext) => void) {\n const router = useRouter()\n let popped = false\n let removeBefore: (() => void) | undefined\n let removeAfter: (() => void) | undefined\n\n onMounted(() => {\n window.addEventListener('popstate', onPopstate)\n removeBefore = router?.beforeEach((to, from, next) => {\n if (!inTransition) {\n setTimeout(() => popped ? cb(next) : next())\n } else {\n popped ? cb(next) : next()\n }\n inTransition = true\n })\n removeAfter = router?.afterEach(() => {\n inTransition = false\n })\n })\n onBeforeUnmount(() => {\n window.removeEventListener('popstate', onPopstate)\n removeBefore?.()\n removeAfter?.()\n })\n\n function onPopstate (e: PopStateEvent) {\n if (e.state?.replaced) return\n\n popped = true\n setTimeout(() => (popped = false))\n }\n}\n"],"file":"router.mjs"}
1
+ {"version":3,"file":"router.mjs","names":["getCurrentInstance","IN_BROWSER","propsFactory","computed","nextTick","onScopeDispose","resolveDynamicComponent","toRef","useRoute","vm","proxy","$route","useRouter","$router","useLink","props","attrs","RouterLink","isLink","href","to","isClickable","value","onClick","onClickOnce","link","undefined","route","makeRouterProps","String","replace","Boolean","Object","inTransition","useBackButton","router","cb","popped","removeBefore","removeAfter","window","addEventListener","onPopstate","beforeEach","from","next","setTimeout","afterEach","removeEventListener","e","state","replaced"],"sources":["../../src/composables/router.tsx"],"sourcesContent":["// Utilities\nimport { getCurrentInstance, IN_BROWSER, propsFactory } from '@/util'\nimport {\n computed,\n nextTick,\n onScopeDispose,\n resolveDynamicComponent,\n toRef,\n} from 'vue'\n\n// Types\nimport type { ComputedRef, PropType, Ref, SetupContext } from 'vue'\nimport type {\n RouterLink as _RouterLink,\n useLink as _useLink,\n NavigationGuardNext,\n RouteLocationNormalizedLoaded,\n RouteLocationRaw,\n Router,\n} from 'vue-router'\n\nexport function useRoute (): Ref<RouteLocationNormalizedLoaded | undefined> {\n const vm = getCurrentInstance('useRoute')\n\n return computed(() => vm?.proxy?.$route)\n}\n\nexport function useRouter (): Router | undefined {\n return getCurrentInstance('useRouter')?.proxy?.$router\n}\n\nexport interface LinkProps {\n href?: string\n replace?: boolean\n to?: RouteLocationRaw\n}\n\nexport interface UseLink extends Omit<Partial<ReturnType<typeof _useLink>>, 'href'> {\n isLink: ComputedRef<boolean>\n isClickable: ComputedRef<boolean>\n href: Ref<string | undefined>\n}\n\nexport function useLink (props: LinkProps, attrs: SetupContext['attrs']): UseLink {\n const RouterLink = resolveDynamicComponent('RouterLink') as typeof _RouterLink | string\n\n const isLink = computed(() => !!(props.href || props.to))\n const isClickable = computed(() => {\n return isLink?.value || !!(attrs.onClick || attrs.onClickOnce)\n })\n\n if (typeof RouterLink === 'string') {\n return {\n isLink,\n isClickable,\n href: toRef(props, 'href'),\n }\n }\n\n const link = props.to ? RouterLink.useLink(props as Required<LinkProps>) : undefined\n\n return {\n ...link,\n isLink,\n isClickable,\n href: computed(() => props.to ? link?.route.value.href : props.href),\n }\n}\n\nexport const makeRouterProps = propsFactory({\n href: String,\n replace: Boolean,\n to: [String, Object] as PropType<RouteLocationRaw>,\n}, 'router')\n\nlet inTransition = false\nexport function useBackButton (router: Router | undefined, cb: (next: NavigationGuardNext) => void) {\n let popped = false\n let removeBefore: (() => void) | undefined\n let removeAfter: (() => void) | undefined\n\n if (IN_BROWSER) {\n nextTick(() => {\n window.addEventListener('popstate', onPopstate)\n removeBefore = router?.beforeEach((to, from, next) => {\n if (!inTransition) {\n setTimeout(() => popped ? cb(next) : next())\n } else {\n popped ? cb(next) : next()\n }\n inTransition = true\n })\n removeAfter = router?.afterEach(() => {\n inTransition = false\n })\n })\n onScopeDispose(() => {\n window.removeEventListener('popstate', onPopstate)\n removeBefore?.()\n removeAfter?.()\n })\n }\n\n function onPopstate (e: PopStateEvent) {\n if (e.state?.replaced) return\n\n popped = true\n setTimeout(() => (popped = false))\n }\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/composables/rtl.ts"],"names":["computed","inject","provide","ref","rtl","RtlSymbol","Symbol","for","createRtl","localeScope","options","createRtlScope","isRtl","defaultRtl","rtlClasses","currentScope","current","value","hasOwnProperty","provideRtl","props","Error","newScope","useRtl"],"mappings":"AAAA,SAASA,QAAT,EAAmBC,MAAnB,EAA2BC,OAA3B,EAAoCC,GAApC,QAA+C,KAA/C;SACSC,G,+BAET;;AAmBA,OAAO,MAAMC,SAAoC,GAAGC,MAAM,CAACC,GAAP,CAAW,aAAX,CAA7C;AAEP,OAAO,SAASC,SAAT,CAAoBC,WAApB,EAAiDC,OAAjD,EAAuE;AAAA;;AAC5E,SAAOC,cAAc,CAAC;AACpBP,IAAAA,GAAG,EAAE,EACH,GAAGA,GADA;AAEH,0BAAIM,OAAJ,oBAAIA,OAAO,CAAEN,GAAb,2BAAoB,EAApB;AAFG,KADe;AAKpBQ,IAAAA,KAAK,EAAET,GAAG,wBAACO,OAAD,oBAACA,OAAO,CAAEG,UAAV,kCAAwB,KAAxB,CALU;AAMpBC,IAAAA,UAAU,EAAEX,GAAG,CAAC,EAAD;AANK,GAAD,EAOlBM,WAPkB,CAArB;AAQD;AAED,OAAO,SAASE,cAAT,CAAyBI,YAAzB,EAAoDN,WAApD,EAAiFC,OAAjF,EAAkH;AACvH,QAAME,KAAK,GAAGZ,QAAQ,CAAC,MAAM;AAC3B,QAAI,QAAOU,OAAP,oBAAOA,OAAO,CAAEN,GAAhB,MAAwB,SAA5B,EAAuC,OAAOM,OAAO,CAACN,GAAf;;AACvC,QAAIK,WAAW,CAACO,OAAZ,CAAoBC,KAApB,IAA6BF,YAAY,CAACX,GAAb,CAAiBc,cAAjB,CAAgCT,WAAW,CAACO,OAAZ,CAAoBC,KAApD,CAAjC,EAA6F;AAC3F,aAAOF,YAAY,CAACX,GAAb,CAAiBK,WAAW,CAACO,OAAZ,CAAoBC,KAArC,CAAP;AACD;;AAED,WAAOF,YAAY,CAACH,KAAb,CAAmBK,KAA1B;AACD,GAPqB,CAAtB;AASA,SAAO;AACLL,IAAAA,KADK;AAELR,IAAAA,GAAG,EAAEW,YAAY,CAACX,GAFb;AAGLU,IAAAA,UAAU,EAAEd,QAAQ,CAAC,MAAO,gBAAeY,KAAK,CAACK,KAAN,GAAc,KAAd,GAAsB,KAAM,EAAnD;AAHf,GAAP;AAKD;AAED,OAAO,SAASE,UAAT,CAAqBC,KAArB,EAAsCX,WAAtC,EAAmE;AACxE,QAAMM,YAAY,GAAGd,MAAM,CAACI,SAAD,CAA3B;AAEA,MAAI,CAACU,YAAL,EAAmB,MAAM,IAAIM,KAAJ,CAAU,gDAAV,CAAN;AAEnB,QAAMC,QAAQ,GAAGX,cAAc,CAACI,YAAD,EAAeN,WAAf,EAA4BW,KAA5B,CAA/B;AAEAlB,EAAAA,OAAO,CAACG,SAAD,EAAYiB,QAAZ,CAAP;AAEA,SAAOA,QAAP;AACD;AAED,OAAO,SAASC,MAAT,GAAmB;AACxB,QAAMR,YAAY,GAAGd,MAAM,CAACI,SAAD,CAA3B;AAEA,MAAI,CAACU,YAAL,EAAmB,MAAM,IAAIM,KAAJ,CAAU,gDAAV,CAAN;AAEnB,SAAON,YAAP;AACD","sourcesContent":["import { computed, inject, provide, ref } from 'vue'\nimport { rtl } from '@/locale'\n\n// Types\nimport type { InjectionKey, Ref } from 'vue'\nimport type { LocaleInstance } from './locale'\n\nexport interface RtlOptions {\n defaultRtl?: boolean\n rtl?: Record<string, boolean>\n}\n\nexport interface RtlProps {\n rtl?: boolean\n}\n\nexport interface RtlInstance {\n isRtl: Ref<boolean>\n rtl: Record<string, boolean>\n rtlClasses: Ref<string>\n}\n\nexport const RtlSymbol: InjectionKey<RtlInstance> = Symbol.for('vuetify:rtl')\n\nexport function createRtl (localeScope: LocaleInstance, options?: RtlOptions) {\n return createRtlScope({\n rtl: {\n ...rtl,\n ...(options?.rtl ?? {}),\n },\n isRtl: ref(options?.defaultRtl ?? false),\n rtlClasses: ref(''),\n }, localeScope)\n}\n\nexport function createRtlScope (currentScope: RtlInstance, localeScope: LocaleInstance, options?: RtlProps): RtlInstance {\n const isRtl = computed(() => {\n if (typeof options?.rtl === 'boolean') return options.rtl\n if (localeScope.current.value && currentScope.rtl.hasOwnProperty(localeScope.current.value)) {\n return currentScope.rtl[localeScope.current.value]\n }\n\n return currentScope.isRtl.value\n })\n\n return {\n isRtl,\n rtl: currentScope.rtl,\n rtlClasses: computed(() => `v-locale--is-${isRtl.value ? 'rtl' : 'ltr'}`),\n }\n}\n\nexport function provideRtl (props: RtlProps, localeScope: LocaleInstance) {\n const currentScope = inject(RtlSymbol)\n\n if (!currentScope) throw new Error('[Vuetify] Could not find injected rtl instance')\n\n const newScope = createRtlScope(currentScope, localeScope, props)\n\n provide(RtlSymbol, newScope)\n\n return newScope\n}\n\nexport function useRtl () {\n const currentScope = inject(RtlSymbol)\n\n if (!currentScope) throw new Error('[Vuetify] Could not find injected rtl instance')\n\n return currentScope\n}\n"],"file":"rtl.mjs"}
1
+ {"version":3,"file":"rtl.mjs","names":["computed","inject","provide","ref","rtl","RtlSymbol","Symbol","for","createRtl","localeScope","options","createRtlScope","isRtl","defaultRtl","rtlClasses","currentScope","current","value","hasOwnProperty","provideRtl","props","Error","newScope","useRtl"],"sources":["../../src/composables/rtl.ts"],"sourcesContent":["import { computed, inject, provide, ref } from 'vue'\nimport { rtl } from '@/locale'\n\n// Types\nimport type { InjectionKey, Ref } from 'vue'\nimport type { LocaleInstance } from './locale'\n\nexport interface RtlOptions {\n defaultRtl?: boolean\n rtl?: Record<string, boolean>\n}\n\nexport interface RtlProps {\n rtl?: boolean\n}\n\nexport interface RtlInstance {\n isRtl: Ref<boolean>\n rtl: Record<string, boolean>\n rtlClasses: Ref<string>\n}\n\nexport const RtlSymbol: InjectionKey<RtlInstance> = Symbol.for('vuetify:rtl')\n\nexport function createRtl (localeScope: LocaleInstance, options?: RtlOptions) {\n return createRtlScope({\n rtl: {\n ...rtl,\n ...(options?.rtl ?? {}),\n },\n isRtl: ref(options?.defaultRtl ?? false),\n rtlClasses: ref(''),\n }, localeScope)\n}\n\nexport function createRtlScope (currentScope: RtlInstance, localeScope: LocaleInstance, options?: RtlProps): RtlInstance {\n const isRtl = computed(() => {\n if (typeof options?.rtl === 'boolean') return options.rtl\n if (localeScope.current.value && currentScope.rtl.hasOwnProperty(localeScope.current.value)) {\n return currentScope.rtl[localeScope.current.value]\n }\n\n return currentScope.isRtl.value\n })\n\n return {\n isRtl,\n rtl: currentScope.rtl,\n rtlClasses: computed(() => `v-locale--is-${isRtl.value ? 'rtl' : 'ltr'}`),\n }\n}\n\nexport function provideRtl (props: RtlProps, localeScope: LocaleInstance) {\n const currentScope = inject(RtlSymbol)\n\n if (!currentScope) throw new Error('[Vuetify] Could not find injected rtl instance')\n\n const newScope = createRtlScope(currentScope, localeScope, props)\n\n provide(RtlSymbol, newScope)\n\n return newScope\n}\n\nexport function useRtl () {\n const currentScope = inject(RtlSymbol)\n\n if (!currentScope) throw new Error('[Vuetify] Could not find injected rtl instance')\n\n return currentScope\n}\n"],"mappings":"AAAA,SAASA,QAAT,EAAmBC,MAAnB,EAA2BC,OAA3B,EAAoCC,GAApC,QAA+C,KAA/C;SACSC,G,+BAET;;AAmBA,OAAO,MAAMC,SAAoC,GAAGC,MAAM,CAACC,GAAP,CAAW,aAAX,CAA7C;AAEP,OAAO,SAASC,SAAT,CAAoBC,WAApB,EAAiDC,OAAjD,EAAuE;EAAA;;EAC5E,OAAOC,cAAc,CAAC;IACpBP,GAAG,EAAE,EACH,GAAGA,GADA;MAEH,oBAAIM,OAAJ,oBAAIA,OAAO,CAAEN,GAAb,2BAAoB,EAApB;IAFG,CADe;IAKpBQ,KAAK,EAAET,GAAG,wBAACO,OAAD,oBAACA,OAAO,CAAEG,UAAV,kCAAwB,KAAxB,CALU;IAMpBC,UAAU,EAAEX,GAAG,CAAC,EAAD;EANK,CAAD,EAOlBM,WAPkB,CAArB;AAQD;AAED,OAAO,SAASE,cAAT,CAAyBI,YAAzB,EAAoDN,WAApD,EAAiFC,OAAjF,EAAkH;EACvH,MAAME,KAAK,GAAGZ,QAAQ,CAAC,MAAM;IAC3B,IAAI,QAAOU,OAAP,oBAAOA,OAAO,CAAEN,GAAhB,MAAwB,SAA5B,EAAuC,OAAOM,OAAO,CAACN,GAAf;;IACvC,IAAIK,WAAW,CAACO,OAAZ,CAAoBC,KAApB,IAA6BF,YAAY,CAACX,GAAb,CAAiBc,cAAjB,CAAgCT,WAAW,CAACO,OAAZ,CAAoBC,KAApD,CAAjC,EAA6F;MAC3F,OAAOF,YAAY,CAACX,GAAb,CAAiBK,WAAW,CAACO,OAAZ,CAAoBC,KAArC,CAAP;IACD;;IAED,OAAOF,YAAY,CAACH,KAAb,CAAmBK,KAA1B;EACD,CAPqB,CAAtB;EASA,OAAO;IACLL,KADK;IAELR,GAAG,EAAEW,YAAY,CAACX,GAFb;IAGLU,UAAU,EAAEd,QAAQ,CAAC,MAAO,gBAAeY,KAAK,CAACK,KAAN,GAAc,KAAd,GAAsB,KAAM,EAAnD;EAHf,CAAP;AAKD;AAED,OAAO,SAASE,UAAT,CAAqBC,KAArB,EAAsCX,WAAtC,EAAmE;EACxE,MAAMM,YAAY,GAAGd,MAAM,CAACI,SAAD,CAA3B;EAEA,IAAI,CAACU,YAAL,EAAmB,MAAM,IAAIM,KAAJ,CAAU,gDAAV,CAAN;EAEnB,MAAMC,QAAQ,GAAGX,cAAc,CAACI,YAAD,EAAeN,WAAf,EAA4BW,KAA5B,CAA/B;EAEAlB,OAAO,CAACG,SAAD,EAAYiB,QAAZ,CAAP;EAEA,OAAOA,QAAP;AACD;AAED,OAAO,SAASC,MAAT,GAAmB;EACxB,MAAMR,YAAY,GAAGd,MAAM,CAACI,SAAD,CAA3B;EAEA,IAAI,CAACU,YAAL,EAAmB,MAAM,IAAIM,KAAJ,CAAU,gDAAV,CAAN;EAEnB,OAAON,YAAP;AACD"}
@@ -0,0 +1,11 @@
1
+ import { getCurrentInstance } from "../util/index.mjs";
2
+ export function useScopeId() {
3
+ const vm = getCurrentInstance('useScopeId');
4
+ const scopeId = vm.vnode.scopeId;
5
+ return {
6
+ scopeId: scopeId ? {
7
+ [scopeId]: ''
8
+ } : undefined
9
+ };
10
+ }
11
+ //# sourceMappingURL=scopeId.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scopeId.mjs","names":["getCurrentInstance","useScopeId","vm","scopeId","vnode","undefined"],"sources":["../../src/composables/scopeId.ts"],"sourcesContent":["import { getCurrentInstance } from '@/util'\n\nexport function useScopeId () {\n const vm = getCurrentInstance('useScopeId')\n\n const scopeId = vm!.vnode.scopeId\n\n return { scopeId: scopeId ? { [scopeId]: '' } : undefined }\n}\n"],"mappings":"SAASA,kB;AAET,OAAO,SAASC,UAAT,GAAuB;EAC5B,MAAMC,EAAE,GAAGF,kBAAkB,CAAC,YAAD,CAA7B;EAEA,MAAMG,OAAO,GAAGD,EAAE,CAAEE,KAAJ,CAAUD,OAA1B;EAEA,OAAO;IAAEA,OAAO,EAAEA,OAAO,GAAG;MAAE,CAACA,OAAD,GAAW;IAAb,CAAH,GAAuBE;EAAzC,CAAP;AACD"}