@vuetify/nightly 3.0.0-beta.13 → 3.0.0-beta.15

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 (840) hide show
  1. package/CHANGELOG.md +23 -5
  2. package/dist/json/importMap.json +26 -30
  3. package/dist/vuetify.css +262 -173
  4. package/dist/vuetify.d.ts +16645 -7306
  5. package/dist/vuetify.esm.js +1040 -2004
  6. package/dist/vuetify.esm.js.map +1 -1
  7. package/dist/vuetify.js +1038 -2003
  8. package/dist/vuetify.js.map +1 -1
  9. package/dist/vuetify.min.css +2 -2
  10. package/dist/vuetify.min.js +531 -537
  11. package/dist/vuetify.min.js.map +1 -1
  12. package/lib/blueprints/index.d.ts +24 -32
  13. package/lib/blueprints/index.mjs.map +1 -1
  14. package/lib/blueprints/md1.d.ts +24 -32
  15. package/lib/blueprints/md1.mjs +3 -1
  16. package/lib/blueprints/md1.mjs.map +1 -1
  17. package/lib/blueprints/md2.d.ts +24 -32
  18. package/lib/blueprints/md2.mjs +3 -1
  19. package/lib/blueprints/md2.mjs.map +1 -1
  20. package/lib/blueprints/md3.d.ts +24 -32
  21. package/lib/blueprints/md3.mjs +2 -2
  22. package/lib/blueprints/md3.mjs.map +1 -1
  23. package/lib/components/VAlert/VAlert.mjs +2 -9
  24. package/lib/components/VAlert/VAlert.mjs.map +1 -1
  25. package/lib/components/VAlert/VAlertTitle.mjs.map +1 -1
  26. package/lib/components/VAlert/index.d.ts +7 -5
  27. package/lib/components/VAlert/index.mjs.map +1 -1
  28. package/lib/components/VApp/VApp.mjs +5 -7
  29. package/lib/components/VApp/VApp.mjs.map +1 -1
  30. package/lib/components/VApp/index.d.ts +4 -2
  31. package/lib/components/VApp/index.mjs.map +1 -1
  32. package/lib/components/VAppBar/VAppBar.mjs +4 -8
  33. package/lib/components/VAppBar/VAppBar.mjs.map +1 -1
  34. package/lib/components/VAppBar/VAppBarNavIcon.mjs +0 -4
  35. package/lib/components/VAppBar/VAppBarNavIcon.mjs.map +1 -1
  36. package/lib/components/VAppBar/VAppBarTitle.mjs +2 -4
  37. package/lib/components/VAppBar/VAppBarTitle.mjs.map +1 -1
  38. package/lib/components/VAppBar/index.d.ts +7 -3
  39. package/lib/components/VAppBar/index.mjs.map +1 -1
  40. package/lib/components/VAutocomplete/VAutocomplete.css +18 -1
  41. package/lib/components/VAutocomplete/VAutocomplete.mjs +16 -35
  42. package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
  43. package/lib/components/VAutocomplete/VAutocomplete.sass +11 -1
  44. package/lib/components/VAutocomplete/_variables.scss +1 -0
  45. package/lib/components/VAutocomplete/index.d.ts +267 -376
  46. package/lib/components/VAutocomplete/index.mjs.map +1 -1
  47. package/lib/components/VAvatar/VAvatar.mjs +3 -7
  48. package/lib/components/VAvatar/VAvatar.mjs.map +1 -1
  49. package/lib/components/VAvatar/index.d.ts +5 -3
  50. package/lib/components/VAvatar/index.mjs.map +1 -1
  51. package/lib/components/VBadge/VBadge.mjs +2 -6
  52. package/lib/components/VBadge/VBadge.mjs.map +1 -1
  53. package/lib/components/VBadge/index.mjs.map +1 -1
  54. package/lib/components/VBanner/VBanner.mjs +5 -7
  55. package/lib/components/VBanner/VBanner.mjs.map +1 -1
  56. package/lib/components/VBanner/VBannerActions.mjs +0 -4
  57. package/lib/components/VBanner/VBannerActions.mjs.map +1 -1
  58. package/lib/components/VBanner/VBannerText.mjs.map +1 -1
  59. package/lib/components/VBanner/index.d.ts +7 -3
  60. package/lib/components/VBanner/index.mjs.map +1 -1
  61. package/lib/components/VBottomNavigation/VBottomNavigation.mjs +2 -5
  62. package/lib/components/VBottomNavigation/VBottomNavigation.mjs.map +1 -1
  63. package/lib/components/VBottomNavigation/index.d.ts +5 -3
  64. package/lib/components/VBottomNavigation/index.mjs.map +1 -1
  65. package/lib/components/VBottomSheet/VBottomSheet.mjs +5 -5
  66. package/lib/components/VBottomSheet/VBottomSheet.mjs.map +1 -1
  67. package/lib/components/VBottomSheet/index.mjs.map +1 -1
  68. package/lib/components/VBreadcrumbs/VBreadcrumbs.mjs +5 -9
  69. package/lib/components/VBreadcrumbs/VBreadcrumbs.mjs.map +1 -1
  70. package/lib/components/VBreadcrumbs/VBreadcrumbsDivider.mjs.map +1 -1
  71. package/lib/components/VBreadcrumbs/VBreadcrumbsItem.mjs +0 -5
  72. package/lib/components/VBreadcrumbs/VBreadcrumbsItem.mjs.map +1 -1
  73. package/lib/components/VBreadcrumbs/index.d.ts +50 -40
  74. package/lib/components/VBreadcrumbs/index.mjs.map +1 -1
  75. package/lib/components/VBtn/VBtn.mjs +2 -10
  76. package/lib/components/VBtn/VBtn.mjs.map +1 -1
  77. package/lib/components/VBtn/index.d.ts +5 -3
  78. package/lib/components/VBtn/index.mjs.map +1 -1
  79. package/lib/components/VBtnGroup/VBtnGroup.mjs +2 -4
  80. package/lib/components/VBtnGroup/VBtnGroup.mjs.map +1 -1
  81. package/lib/components/VBtnGroup/index.d.ts +6 -3
  82. package/lib/components/VBtnGroup/index.mjs.map +1 -1
  83. package/lib/components/VBtnToggle/VBtnToggle.mjs +2 -7
  84. package/lib/components/VBtnToggle/VBtnToggle.mjs.map +1 -1
  85. package/lib/components/VBtnToggle/index.d.ts +20 -25
  86. package/lib/components/VBtnToggle/index.mjs.map +1 -1
  87. package/lib/components/VCalendar/VCalendar.mjs +6 -67
  88. package/lib/components/VCalendar/VCalendar.mjs.map +1 -1
  89. package/lib/components/VCalendar/VCalendarCategory.mjs +7 -18
  90. package/lib/components/VCalendar/VCalendarCategory.mjs.map +1 -1
  91. package/lib/components/VCalendar/VCalendarDaily.mjs +3 -34
  92. package/lib/components/VCalendar/VCalendarDaily.mjs.map +1 -1
  93. package/lib/components/VCalendar/VCalendarMonthly.mjs +3 -7
  94. package/lib/components/VCalendar/VCalendarMonthly.mjs.map +1 -1
  95. package/lib/components/VCalendar/VCalendarWeekly.mjs +3 -32
  96. package/lib/components/VCalendar/VCalendarWeekly.mjs.map +1 -1
  97. package/lib/components/VCalendar/index.mjs.map +1 -1
  98. package/lib/components/VCalendar/mixins/calendar-base.mjs +1 -19
  99. package/lib/components/VCalendar/mixins/calendar-base.mjs.map +1 -1
  100. package/lib/components/VCalendar/mixins/calendar-with-events.mjs +14 -78
  101. package/lib/components/VCalendar/mixins/calendar-with-events.mjs.map +1 -1
  102. package/lib/components/VCalendar/mixins/calendar-with-intervals.mjs +0 -30
  103. package/lib/components/VCalendar/mixins/calendar-with-intervals.mjs.map +1 -1
  104. package/lib/components/VCalendar/mixins/mouse.mjs +7 -17
  105. package/lib/components/VCalendar/mixins/mouse.mjs.map +1 -1
  106. package/lib/components/VCalendar/mixins/times.mjs +1 -9
  107. package/lib/components/VCalendar/mixins/times.mjs.map +1 -1
  108. package/lib/components/VCalendar/modes/column.mjs +0 -3
  109. package/lib/components/VCalendar/modes/column.mjs.map +1 -1
  110. package/lib/components/VCalendar/modes/common.mjs +0 -14
  111. package/lib/components/VCalendar/modes/common.mjs.map +1 -1
  112. package/lib/components/VCalendar/modes/index.mjs +0 -1
  113. package/lib/components/VCalendar/modes/index.mjs.map +1 -1
  114. package/lib/components/VCalendar/modes/stack.mjs +3 -45
  115. package/lib/components/VCalendar/modes/stack.mjs.map +1 -1
  116. package/lib/components/VCalendar/util/events.mjs +0 -1
  117. package/lib/components/VCalendar/util/events.mjs.map +1 -1
  118. package/lib/components/VCalendar/util/parser.mjs +3 -4
  119. package/lib/components/VCalendar/util/parser.mjs.map +1 -1
  120. package/lib/components/VCalendar/util/props.mjs +0 -13
  121. package/lib/components/VCalendar/util/props.mjs.map +1 -1
  122. package/lib/components/VCalendar/util/timestamp.mjs +2 -64
  123. package/lib/components/VCalendar/util/timestamp.mjs.map +1 -1
  124. package/lib/components/VCard/VCard.mjs +3 -8
  125. package/lib/components/VCard/VCard.mjs.map +1 -1
  126. package/lib/components/VCard/VCardActions.mjs +0 -4
  127. package/lib/components/VCard/VCardActions.mjs.map +1 -1
  128. package/lib/components/VCard/VCardItem.mjs +0 -5
  129. package/lib/components/VCard/VCardItem.mjs.map +1 -1
  130. package/lib/components/VCard/VCardSubtitle.mjs.map +1 -1
  131. package/lib/components/VCard/VCardText.mjs.map +1 -1
  132. package/lib/components/VCard/VCardTitle.mjs.map +1 -1
  133. package/lib/components/VCard/index.d.ts +13 -6
  134. package/lib/components/VCard/index.mjs.map +1 -1
  135. package/lib/components/VCarousel/VCarousel.mjs +5 -9
  136. package/lib/components/VCarousel/VCarousel.mjs.map +1 -1
  137. package/lib/components/VCarousel/VCarouselItem.mjs +0 -3
  138. package/lib/components/VCarousel/VCarouselItem.mjs.map +1 -1
  139. package/lib/components/VCarousel/index.d.ts +1 -0
  140. package/lib/components/VCarousel/index.mjs.map +1 -1
  141. package/lib/components/VCheckbox/VCheckbox.mjs +6 -6
  142. package/lib/components/VCheckbox/VCheckbox.mjs.map +1 -1
  143. package/lib/components/VCheckbox/VCheckboxBtn.mjs +7 -15
  144. package/lib/components/VCheckbox/VCheckboxBtn.mjs.map +1 -1
  145. package/lib/components/VCheckbox/index.d.ts +24 -22
  146. package/lib/components/VCheckbox/index.mjs.map +1 -1
  147. package/lib/components/VChip/VChip.css +25 -0
  148. package/lib/components/VChip/VChip.mjs +2 -10
  149. package/lib/components/VChip/VChip.mjs.map +1 -1
  150. package/lib/components/VChip/VChip.sass +1 -0
  151. package/lib/components/VChip/index.d.ts +5 -3
  152. package/lib/components/VChip/index.mjs.map +1 -1
  153. package/lib/components/VChipGroup/VChipGroup.mjs +5 -6
  154. package/lib/components/VChipGroup/VChipGroup.mjs.map +1 -1
  155. package/lib/components/VChipGroup/index.mjs.map +1 -1
  156. package/lib/components/VCode/index.d.ts +1 -0
  157. package/lib/components/VCode/index.mjs.map +1 -1
  158. package/lib/components/VColorPicker/VColorPicker.mjs +9 -12
  159. package/lib/components/VColorPicker/VColorPicker.mjs.map +1 -1
  160. package/lib/components/VColorPicker/VColorPickerCanvas.mjs +5 -20
  161. package/lib/components/VColorPicker/VColorPickerCanvas.mjs.map +1 -1
  162. package/lib/components/VColorPicker/VColorPickerEdit.mjs +6 -10
  163. package/lib/components/VColorPicker/VColorPickerEdit.mjs.map +1 -1
  164. package/lib/components/VColorPicker/VColorPickerPreview.mjs +6 -8
  165. package/lib/components/VColorPicker/VColorPickerPreview.mjs.map +1 -1
  166. package/lib/components/VColorPicker/VColorPickerSwatches.mjs +2 -6
  167. package/lib/components/VColorPicker/VColorPickerSwatches.mjs.map +1 -1
  168. package/lib/components/VColorPicker/index.mjs.map +1 -1
  169. package/lib/components/VColorPicker/util/index.mjs +24 -26
  170. package/lib/components/VColorPicker/util/index.mjs.map +1 -1
  171. package/lib/components/VCombobox/VCombobox.css +13 -0
  172. package/lib/components/VCombobox/VCombobox.mjs +23 -50
  173. package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
  174. package/lib/components/VCombobox/VCombobox.sass +5 -0
  175. package/lib/components/VCombobox/_variables.scss +1 -0
  176. package/lib/components/VCombobox/index.d.ts +275 -384
  177. package/lib/components/VCombobox/index.mjs.map +1 -1
  178. package/lib/components/VCounter/VCounter.mjs +2 -5
  179. package/lib/components/VCounter/VCounter.mjs.map +1 -1
  180. package/lib/components/VCounter/index.d.ts +1 -0
  181. package/lib/components/VCounter/index.mjs.map +1 -1
  182. package/lib/components/VData/VData.mjs +9 -67
  183. package/lib/components/VData/VData.mjs.map +1 -1
  184. package/lib/components/VData/index.mjs.map +1 -1
  185. package/lib/components/VDataIterator/VDataFooter.mjs +6 -25
  186. package/lib/components/VDataIterator/VDataFooter.mjs.map +1 -1
  187. package/lib/components/VDataIterator/VDataIterator.mjs +12 -51
  188. package/lib/components/VDataIterator/VDataIterator.mjs.map +1 -1
  189. package/lib/components/VDataIterator/index.mjs.map +1 -1
  190. package/lib/components/VDataTable/MobileRow.mjs +3 -8
  191. package/lib/components/VDataTable/MobileRow.mjs.map +1 -1
  192. package/lib/components/VDataTable/Row.mjs +1 -8
  193. package/lib/components/VDataTable/Row.mjs.map +1 -1
  194. package/lib/components/VDataTable/RowGroup.mjs +1 -7
  195. package/lib/components/VDataTable/RowGroup.mjs.map +1 -1
  196. package/lib/components/VDataTable/VDataTable.mjs +42 -90
  197. package/lib/components/VDataTable/VDataTable.mjs.map +1 -1
  198. package/lib/components/VDataTable/VDataTableHeader.mjs +6 -10
  199. package/lib/components/VDataTable/VDataTableHeader.mjs.map +1 -1
  200. package/lib/components/VDataTable/VDataTableHeaderDesktop.mjs +0 -18
  201. package/lib/components/VDataTable/VDataTableHeaderDesktop.mjs.map +1 -1
  202. package/lib/components/VDataTable/VDataTableHeaderMobile.mjs +0 -9
  203. package/lib/components/VDataTable/VDataTableHeaderMobile.mjs.map +1 -1
  204. package/lib/components/VDataTable/VEditDialog.mjs +3 -17
  205. package/lib/components/VDataTable/VEditDialog.mjs.map +1 -1
  206. package/lib/components/VDataTable/VVirtualTable.mjs +3 -28
  207. package/lib/components/VDataTable/VVirtualTable.mjs.map +1 -1
  208. package/lib/components/VDataTable/index.mjs +0 -1
  209. package/lib/components/VDataTable/index.mjs.map +1 -1
  210. package/lib/components/VDataTable/mixins/header.mjs +0 -5
  211. package/lib/components/VDataTable/mixins/header.mjs.map +1 -1
  212. package/lib/components/VDatePicker/VDatePicker.mjs +2 -69
  213. package/lib/components/VDatePicker/VDatePicker.mjs.map +1 -1
  214. package/lib/components/VDatePicker/VDatePickerDateTable.mjs +1 -29
  215. package/lib/components/VDatePicker/VDatePickerDateTable.mjs.map +1 -1
  216. package/lib/components/VDatePicker/VDatePickerHeader.mjs +4 -17
  217. package/lib/components/VDatePicker/VDatePickerHeader.mjs.map +1 -1
  218. package/lib/components/VDatePicker/VDatePickerMonthTable.mjs +1 -12
  219. package/lib/components/VDatePicker/VDatePickerMonthTable.mjs.map +1 -1
  220. package/lib/components/VDatePicker/VDatePickerTitle.mjs +4 -15
  221. package/lib/components/VDatePicker/VDatePickerTitle.mjs.map +1 -1
  222. package/lib/components/VDatePicker/VDatePickerYears.mjs +4 -18
  223. package/lib/components/VDatePicker/VDatePickerYears.mjs.map +1 -1
  224. package/lib/components/VDatePicker/index.mjs.map +1 -1
  225. package/lib/components/VDatePicker/mixins/date-picker-table.mjs +6 -33
  226. package/lib/components/VDatePicker/mixins/date-picker-table.mjs.map +1 -1
  227. package/lib/components/VDatePicker/util/createNativeLocaleFormatter.mjs +0 -5
  228. package/lib/components/VDatePicker/util/createNativeLocaleFormatter.mjs.map +1 -1
  229. package/lib/components/VDatePicker/util/eventHelpers.mjs +2 -3
  230. package/lib/components/VDatePicker/util/eventHelpers.mjs.map +1 -1
  231. package/lib/components/VDatePicker/util/index.mjs +0 -1
  232. package/lib/components/VDatePicker/util/index.mjs.map +1 -1
  233. package/lib/components/VDatePicker/util/isDateAllowed.mjs +1 -1
  234. package/lib/components/VDatePicker/util/isDateAllowed.mjs.map +1 -1
  235. package/lib/components/VDatePicker/util/monthChange.mjs +0 -3
  236. package/lib/components/VDatePicker/util/monthChange.mjs.map +1 -1
  237. package/lib/components/VDatePicker/util/pad.mjs +1 -6
  238. package/lib/components/VDatePicker/util/pad.mjs.map +1 -1
  239. package/lib/components/VDatePicker/util/sanitizeDateString.mjs.map +1 -1
  240. package/lib/components/VDefaultsProvider/VDefaultsProvider.mjs +2 -4
  241. package/lib/components/VDefaultsProvider/VDefaultsProvider.mjs.map +1 -1
  242. package/lib/components/VDefaultsProvider/index.d.ts +1 -0
  243. package/lib/components/VDefaultsProvider/index.mjs.map +1 -1
  244. package/lib/components/VDialog/VDialog.mjs +7 -20
  245. package/lib/components/VDialog/VDialog.mjs.map +1 -1
  246. package/lib/components/VDialog/index.d.ts +1208 -188
  247. package/lib/components/VDialog/index.mjs.map +1 -1
  248. package/lib/components/VDivider/VDivider.mjs +2 -8
  249. package/lib/components/VDivider/VDivider.mjs.map +1 -1
  250. package/lib/components/VDivider/index.d.ts +1 -0
  251. package/lib/components/VDivider/index.mjs.map +1 -1
  252. package/lib/components/VExpansionPanel/VExpansionPanel.mjs +0 -5
  253. package/lib/components/VExpansionPanel/VExpansionPanel.mjs.map +1 -1
  254. package/lib/components/VExpansionPanel/VExpansionPanelText.mjs +2 -6
  255. package/lib/components/VExpansionPanel/VExpansionPanelText.mjs.map +1 -1
  256. package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs +3 -8
  257. package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs.map +1 -1
  258. package/lib/components/VExpansionPanel/VExpansionPanels.mjs +2 -5
  259. package/lib/components/VExpansionPanel/VExpansionPanels.mjs.map +1 -1
  260. package/lib/components/VExpansionPanel/index.mjs.map +1 -1
  261. package/lib/components/VField/VField.css +1 -1
  262. package/lib/components/VField/VField.mjs +4 -11
  263. package/lib/components/VField/VField.mjs.map +1 -1
  264. package/lib/components/VField/VField.sass +0 -1
  265. package/lib/components/VField/VFieldLabel.mjs +0 -3
  266. package/lib/components/VField/VFieldLabel.mjs.map +1 -1
  267. package/lib/components/VField/index.d.ts +33 -59
  268. package/lib/components/VField/index.mjs.map +1 -1
  269. package/lib/components/VFileInput/VFileInput.css +16 -0
  270. package/lib/components/VFileInput/VFileInput.mjs +6 -20
  271. package/lib/components/VFileInput/VFileInput.mjs.map +1 -1
  272. package/lib/components/VFileInput/VFileInput.sass +10 -0
  273. package/lib/components/VFileInput/_variables.scss +2 -0
  274. package/lib/components/VFileInput/index.d.ts +233 -5
  275. package/lib/components/VFileInput/index.mjs.map +1 -1
  276. package/lib/components/VFooter/VFooter.mjs +2 -4
  277. package/lib/components/VFooter/VFooter.mjs.map +1 -1
  278. package/lib/components/VFooter/index.d.ts +1 -0
  279. package/lib/components/VFooter/index.mjs.map +1 -1
  280. package/lib/components/VForm/VForm.mjs +2 -13
  281. package/lib/components/VForm/VForm.mjs.map +1 -1
  282. package/lib/components/VForm/index.d.ts +1 -1
  283. package/lib/components/VForm/index.mjs.map +1 -1
  284. package/lib/components/VGrid/VCol.mjs +8 -23
  285. package/lib/components/VGrid/VCol.mjs.map +1 -1
  286. package/lib/components/VGrid/VContainer.mjs +2 -4
  287. package/lib/components/VGrid/VContainer.mjs.map +1 -1
  288. package/lib/components/VGrid/VRow.mjs +6 -24
  289. package/lib/components/VGrid/VRow.mjs.map +1 -1
  290. package/lib/components/VGrid/VSpacer.mjs.map +1 -1
  291. package/lib/components/VGrid/index.d.ts +2 -0
  292. package/lib/components/VGrid/index.mjs.map +1 -1
  293. package/lib/components/VHover/VHover.mjs +0 -4
  294. package/lib/components/VHover/VHover.mjs.map +1 -1
  295. package/lib/components/VHover/index.d.ts +1 -0
  296. package/lib/components/VHover/index.mjs.map +1 -1
  297. package/lib/components/VIcon/VIcon.mjs +2 -8
  298. package/lib/components/VIcon/VIcon.mjs.map +1 -1
  299. package/lib/components/VIcon/index.d.ts +1 -0
  300. package/lib/components/VIcon/index.mjs.map +1 -1
  301. package/lib/components/VImg/VImg.mjs +9 -35
  302. package/lib/components/VImg/VImg.mjs.map +1 -1
  303. package/lib/components/VImg/index.d.ts +8 -4
  304. package/lib/components/VImg/index.mjs.map +1 -1
  305. package/lib/components/VInput/InputIcon.mjs +0 -2
  306. package/lib/components/VInput/InputIcon.mjs.map +1 -1
  307. package/lib/components/VInput/VInput.mjs +5 -9
  308. package/lib/components/VInput/VInput.mjs.map +1 -1
  309. package/lib/components/VInput/index.d.ts +29 -45
  310. package/lib/components/VInput/index.mjs.map +1 -1
  311. package/lib/components/VItemGroup/VItem.mjs +0 -5
  312. package/lib/components/VItemGroup/VItem.mjs.map +1 -1
  313. package/lib/components/VItemGroup/VItemGroup.mjs +4 -6
  314. package/lib/components/VItemGroup/VItemGroup.mjs.map +1 -1
  315. package/lib/components/VItemGroup/index.d.ts +19 -25
  316. package/lib/components/VItemGroup/index.mjs.map +1 -1
  317. package/lib/components/VKbd/index.d.ts +1 -0
  318. package/lib/components/VKbd/index.mjs.map +1 -1
  319. package/lib/components/VLabel/VLabel.mjs +2 -5
  320. package/lib/components/VLabel/VLabel.mjs.map +1 -1
  321. package/lib/components/VLabel/index.mjs.map +1 -1
  322. package/lib/components/VLayout/VLayout.mjs +2 -5
  323. package/lib/components/VLayout/VLayout.mjs.map +1 -1
  324. package/lib/components/VLayout/VLayoutItem.mjs +2 -6
  325. package/lib/components/VLayout/VLayoutItem.mjs.map +1 -1
  326. package/lib/components/VLayout/index.d.ts +5 -2
  327. package/lib/components/VLayout/index.mjs.map +1 -1
  328. package/lib/components/VLazy/VLazy.mjs +0 -8
  329. package/lib/components/VLazy/VLazy.mjs.map +1 -1
  330. package/lib/components/VLazy/index.d.ts +1 -0
  331. package/lib/components/VLazy/index.mjs.map +1 -1
  332. package/lib/components/VList/VList.mjs +2 -11
  333. package/lib/components/VList/VList.mjs.map +1 -1
  334. package/lib/components/VList/VListChildren.mjs +12 -21
  335. package/lib/components/VList/VListChildren.mjs.map +1 -1
  336. package/lib/components/VList/VListGroup.mjs +1 -12
  337. package/lib/components/VList/VListGroup.mjs.map +1 -1
  338. package/lib/components/VList/VListImg.mjs.map +1 -1
  339. package/lib/components/VList/VListItem.mjs +2 -12
  340. package/lib/components/VList/VListItem.mjs.map +1 -1
  341. package/lib/components/VList/VListItemAction.mjs +0 -3
  342. package/lib/components/VList/VListItemAction.mjs.map +1 -1
  343. package/lib/components/VList/VListItemMedia.mjs +0 -3
  344. package/lib/components/VList/VListItemMedia.mjs.map +1 -1
  345. package/lib/components/VList/VListItemSubtitle.mjs.map +1 -1
  346. package/lib/components/VList/VListItemTitle.mjs.map +1 -1
  347. package/lib/components/VList/VListSubheader.mjs +0 -4
  348. package/lib/components/VList/VListSubheader.mjs.map +1 -1
  349. package/lib/components/VList/index.d.ts +147 -170
  350. package/lib/components/VList/index.mjs.map +1 -1
  351. package/lib/components/VList/list.mjs +5 -2
  352. package/lib/components/VList/list.mjs.map +1 -1
  353. package/lib/components/VLocaleProvider/VLocaleProvider.mjs +4 -9
  354. package/lib/components/VLocaleProvider/VLocaleProvider.mjs.map +1 -1
  355. package/lib/components/VLocaleProvider/index.d.ts +1 -0
  356. package/lib/components/VLocaleProvider/index.mjs.map +1 -1
  357. package/lib/components/VMain/VMain.mjs +2 -5
  358. package/lib/components/VMain/VMain.mjs.map +1 -1
  359. package/lib/components/VMain/index.d.ts +1 -0
  360. package/lib/components/VMain/index.mjs.map +1 -1
  361. package/lib/components/VMenu/VMenu.mjs +3 -14
  362. package/lib/components/VMenu/VMenu.mjs.map +1 -1
  363. package/lib/components/VMenu/index.d.ts +1203 -183
  364. package/lib/components/VMenu/index.mjs.map +1 -1
  365. package/lib/components/VMenu/shared.mjs.map +1 -1
  366. package/lib/components/VMessages/VMessages.mjs +2 -6
  367. package/lib/components/VMessages/VMessages.mjs.map +1 -1
  368. package/lib/components/VMessages/index.d.ts +1 -0
  369. package/lib/components/VMessages/index.mjs.map +1 -1
  370. package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs +6 -11
  371. package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs.map +1 -1
  372. package/lib/components/VNavigationDrawer/index.mjs.map +1 -1
  373. package/lib/components/VNavigationDrawer/sticky.mjs +0 -4
  374. package/lib/components/VNavigationDrawer/sticky.mjs.map +1 -1
  375. package/lib/components/VNavigationDrawer/touch.mjs +2 -15
  376. package/lib/components/VNavigationDrawer/touch.mjs.map +1 -1
  377. package/lib/components/VNoSsr/VNoSsr.mjs +0 -4
  378. package/lib/components/VNoSsr/VNoSsr.mjs.map +1 -1
  379. package/lib/components/VNoSsr/index.d.ts +1 -0
  380. package/lib/components/VNoSsr/index.mjs.map +1 -1
  381. package/lib/components/VOtpInput/VOtpInput.mjs +7 -58
  382. package/lib/components/VOtpInput/VOtpInput.mjs.map +1 -1
  383. package/lib/components/VOtpInput/index.mjs.map +1 -1
  384. package/lib/components/VOverflowBtn/VOverflowBtn.mjs +7 -19
  385. package/lib/components/VOverflowBtn/VOverflowBtn.mjs.map +1 -1
  386. package/lib/components/VOverflowBtn/index.mjs.map +1 -1
  387. package/lib/components/VOverlay/VOverlay.mjs +8 -17
  388. package/lib/components/VOverlay/VOverlay.mjs.map +1 -1
  389. package/lib/components/VOverlay/index.d.ts +32 -60
  390. package/lib/components/VOverlay/index.mjs.map +1 -1
  391. package/lib/components/VOverlay/locationStrategies.mjs +23 -56
  392. package/lib/components/VOverlay/locationStrategies.mjs.map +1 -1
  393. package/lib/components/VOverlay/requestNewFrame.mjs +1 -2
  394. package/lib/components/VOverlay/requestNewFrame.mjs.map +1 -1
  395. package/lib/components/VOverlay/scrollStrategies.mjs +2 -18
  396. package/lib/components/VOverlay/scrollStrategies.mjs.map +1 -1
  397. package/lib/components/VOverlay/useActivator.mjs +6 -32
  398. package/lib/components/VOverlay/useActivator.mjs.map +1 -1
  399. package/lib/components/VOverlay/util/point.mjs +3 -4
  400. package/lib/components/VOverlay/util/point.mjs.map +1 -1
  401. package/lib/components/VPagination/VPagination.mjs +11 -23
  402. package/lib/components/VPagination/VPagination.mjs.map +1 -1
  403. package/lib/components/VPagination/index.d.ts +5 -3
  404. package/lib/components/VPagination/index.mjs.map +1 -1
  405. package/lib/components/VParallax/VParallax.mjs +6 -12
  406. package/lib/components/VParallax/VParallax.mjs.map +1 -1
  407. package/lib/components/VParallax/index.mjs.map +1 -1
  408. package/lib/components/VPicker/VPicker.mjs +3 -12
  409. package/lib/components/VPicker/VPicker.mjs.map +1 -1
  410. package/lib/components/VPicker/index.mjs.map +1 -1
  411. package/lib/components/VProgressCircular/VProgressCircular.mjs +2 -5
  412. package/lib/components/VProgressCircular/VProgressCircular.mjs.map +1 -1
  413. package/lib/components/VProgressCircular/index.d.ts +1 -0
  414. package/lib/components/VProgressCircular/index.mjs.map +1 -1
  415. package/lib/components/VProgressLinear/VProgressLinear.mjs +5 -8
  416. package/lib/components/VProgressLinear/VProgressLinear.mjs.map +1 -1
  417. package/lib/components/VProgressLinear/index.d.ts +1 -0
  418. package/lib/components/VProgressLinear/index.mjs.map +1 -1
  419. package/lib/components/VRadio/VRadio.mjs +2 -4
  420. package/lib/components/VRadio/VRadio.mjs.map +1 -1
  421. package/lib/components/VRadio/index.d.ts +13 -11
  422. package/lib/components/VRadio/index.mjs.map +1 -1
  423. package/lib/components/VRadioGroup/VRadioGroup.mjs +15 -20
  424. package/lib/components/VRadioGroup/VRadioGroup.mjs.map +1 -1
  425. package/lib/components/VRadioGroup/index.d.ts +26 -38
  426. package/lib/components/VRadioGroup/index.mjs.map +1 -1
  427. package/lib/components/VRangeSlider/VRangeSlider.mjs +13 -26
  428. package/lib/components/VRangeSlider/VRangeSlider.mjs.map +1 -1
  429. package/lib/components/VRangeSlider/index.d.ts +5 -3
  430. package/lib/components/VRangeSlider/index.mjs.map +1 -1
  431. package/lib/components/VRating/VRating.mjs +4 -22
  432. package/lib/components/VRating/VRating.mjs.map +1 -1
  433. package/lib/components/VRating/index.d.ts +32 -40
  434. package/lib/components/VRating/index.mjs.map +1 -1
  435. package/lib/components/VResponsive/VResponsive.mjs +2 -5
  436. package/lib/components/VResponsive/VResponsive.mjs.map +1 -1
  437. package/lib/components/VResponsive/index.d.ts +1 -0
  438. package/lib/components/VResponsive/index.mjs.map +1 -1
  439. package/lib/components/VSelect/VSelect.css +13 -0
  440. package/lib/components/VSelect/VSelect.mjs +9 -22
  441. package/lib/components/VSelect/VSelect.mjs.map +1 -1
  442. package/lib/components/VSelect/VSelect.sass +6 -0
  443. package/lib/components/VSelect/_variables.scss +1 -0
  444. package/lib/components/VSelect/index.d.ts +4264 -776
  445. package/lib/components/VSelect/index.mjs.map +1 -1
  446. package/lib/components/VSelectionControl/VSelectionControl.mjs +14 -58
  447. package/lib/components/VSelectionControl/VSelectionControl.mjs.map +1 -1
  448. package/lib/components/VSelectionControl/index.d.ts +62 -78
  449. package/lib/components/VSelectionControl/index.mjs.map +1 -1
  450. package/lib/components/VSelectionControlGroup/VSelectionControlGroup.css +1 -0
  451. package/lib/components/VSelectionControlGroup/VSelectionControlGroup.mjs +56 -28
  452. package/lib/components/VSelectionControlGroup/VSelectionControlGroup.mjs.map +1 -1
  453. package/lib/components/VSelectionControlGroup/VSelectionControlGroup.sass +1 -0
  454. package/lib/components/VSelectionControlGroup/index.d.ts +53 -4
  455. package/lib/components/VSelectionControlGroup/index.mjs.map +1 -1
  456. package/lib/components/VSheet/VSheet.mjs +2 -4
  457. package/lib/components/VSheet/VSheet.mjs.map +1 -1
  458. package/lib/components/VSheet/index.d.ts +1 -0
  459. package/lib/components/VSheet/index.mjs.map +1 -1
  460. package/lib/components/VSkeletonLoader/VSkeletonLoader.mjs +19 -32
  461. package/lib/components/VSkeletonLoader/VSkeletonLoader.mjs.map +1 -1
  462. package/lib/components/VSkeletonLoader/index.mjs.map +1 -1
  463. package/lib/components/VSlideGroup/VSlideGroup.mjs +16 -47
  464. package/lib/components/VSlideGroup/VSlideGroup.mjs.map +1 -1
  465. package/lib/components/VSlideGroup/VSlideGroupItem.mjs +5 -9
  466. package/lib/components/VSlideGroup/VSlideGroupItem.mjs.map +1 -1
  467. package/lib/components/VSlideGroup/helpers.mjs +0 -2
  468. package/lib/components/VSlideGroup/helpers.mjs.map +1 -1
  469. package/lib/components/VSlideGroup/index.d.ts +342 -59
  470. package/lib/components/VSlideGroup/index.mjs.map +1 -1
  471. package/lib/components/VSlider/VSlider.mjs +6 -9
  472. package/lib/components/VSlider/VSlider.mjs.map +1 -1
  473. package/lib/components/VSlider/VSliderThumb.mjs +4 -15
  474. package/lib/components/VSlider/VSliderThumb.mjs.map +1 -1
  475. package/lib/components/VSlider/VSliderTrack.mjs +6 -8
  476. package/lib/components/VSlider/VSliderTrack.mjs.map +1 -1
  477. package/lib/components/VSlider/index.d.ts +5 -3
  478. package/lib/components/VSlider/index.mjs.map +1 -1
  479. package/lib/components/VSlider/slider.mjs +6 -27
  480. package/lib/components/VSlider/slider.mjs.map +1 -1
  481. package/lib/components/VSnackbar/VSnackbar.mjs +3 -10
  482. package/lib/components/VSnackbar/VSnackbar.mjs.map +1 -1
  483. package/lib/components/VSnackbar/index.d.ts +1215 -191
  484. package/lib/components/VSnackbar/index.mjs.map +1 -1
  485. package/lib/components/VSparkline/VSparkline.mjs +5 -40
  486. package/lib/components/VSparkline/VSparkline.mjs.map +1 -1
  487. package/lib/components/VSparkline/helpers/core.mjs +1 -1
  488. package/lib/components/VSparkline/helpers/core.mjs.map +1 -1
  489. package/lib/components/VSparkline/helpers/math.mjs +2 -3
  490. package/lib/components/VSparkline/helpers/math.mjs.map +1 -1
  491. package/lib/components/VSparkline/helpers/path.mjs +0 -4
  492. package/lib/components/VSparkline/helpers/path.mjs.map +1 -1
  493. package/lib/components/VSparkline/index.mjs.map +1 -1
  494. package/lib/components/VSpeedDial/VSpeedDial.mjs +3 -12
  495. package/lib/components/VSpeedDial/VSpeedDial.mjs.map +1 -1
  496. package/lib/components/VSpeedDial/index.mjs.map +1 -1
  497. package/lib/components/VStepper/VStepper.mjs +5 -24
  498. package/lib/components/VStepper/VStepper.mjs.map +1 -1
  499. package/lib/components/VStepper/VStepperContent.mjs +4 -25
  500. package/lib/components/VStepper/VStepperContent.mjs.map +1 -1
  501. package/lib/components/VStepper/VStepperStep.mjs +0 -24
  502. package/lib/components/VStepper/VStepperStep.mjs.map +1 -1
  503. package/lib/components/VStepper/index.mjs.map +1 -1
  504. package/lib/components/VSwitch/VSwitch.mjs +14 -15
  505. package/lib/components/VSwitch/VSwitch.mjs.map +1 -1
  506. package/lib/components/VSwitch/index.d.ts +15 -11
  507. package/lib/components/VSwitch/index.mjs.map +1 -1
  508. package/lib/components/VSystemBar/VSystemBar.mjs +2 -4
  509. package/lib/components/VSystemBar/VSystemBar.mjs.map +1 -1
  510. package/lib/components/VSystemBar/index.d.ts +1 -0
  511. package/lib/components/VSystemBar/index.mjs.map +1 -1
  512. package/lib/components/VTable/VTable.css +3 -3
  513. package/lib/components/VTable/VTable.mjs +5 -6
  514. package/lib/components/VTable/VTable.mjs.map +1 -1
  515. package/lib/components/VTable/VTable.sass +9 -3
  516. package/lib/components/VTable/index.d.ts +8 -3
  517. package/lib/components/VTable/index.mjs.map +1 -1
  518. package/lib/components/VTabs/VTab.mjs +2 -10
  519. package/lib/components/VTabs/VTab.mjs.map +1 -1
  520. package/lib/components/VTabs/VTabs.css +5 -5
  521. package/lib/components/VTabs/VTabs.mjs +12 -17
  522. package/lib/components/VTabs/VTabs.mjs.map +1 -1
  523. package/lib/components/VTabs/VTabs.sass +4 -4
  524. package/lib/components/VTabs/_variables.scss +1 -1
  525. package/lib/components/VTabs/index.d.ts +23 -15
  526. package/lib/components/VTabs/index.mjs.map +1 -1
  527. package/lib/components/VTabs/shared.mjs.map +1 -1
  528. package/lib/components/VTextField/VTextField.mjs +13 -24
  529. package/lib/components/VTextField/VTextField.mjs.map +1 -1
  530. package/lib/components/VTextField/index.d.ts +1375 -191
  531. package/lib/components/VTextField/index.mjs.map +1 -1
  532. package/lib/components/VTextarea/VTextarea.mjs +6 -24
  533. package/lib/components/VTextarea/VTextarea.mjs.map +1 -1
  534. package/lib/components/VTextarea/index.d.ts +233 -5
  535. package/lib/components/VTextarea/index.mjs.map +1 -1
  536. package/lib/components/VThemeProvider/VThemeProvider.mjs +2 -5
  537. package/lib/components/VThemeProvider/VThemeProvider.mjs.map +1 -1
  538. package/lib/components/VThemeProvider/index.d.ts +1 -0
  539. package/lib/components/VThemeProvider/index.mjs.map +1 -1
  540. package/lib/components/VTimePicker/SelectingTimes.mjs +0 -3
  541. package/lib/components/VTimePicker/SelectingTimes.mjs.map +1 -1
  542. package/lib/components/VTimePicker/VTimePicker.mjs +3 -53
  543. package/lib/components/VTimePicker/VTimePicker.mjs.map +1 -1
  544. package/lib/components/VTimePicker/VTimePickerClock.mjs +6 -42
  545. package/lib/components/VTimePicker/VTimePickerClock.mjs.map +1 -1
  546. package/lib/components/VTimePicker/VTimePickerTitle.mjs +4 -13
  547. package/lib/components/VTimePicker/VTimePickerTitle.mjs.map +1 -1
  548. package/lib/components/VTimePicker/index.mjs.map +1 -1
  549. package/lib/components/VTimeline/VTimeline.mjs +2 -9
  550. package/lib/components/VTimeline/VTimeline.mjs.map +1 -1
  551. package/lib/components/VTimeline/VTimelineDivider.mjs +0 -5
  552. package/lib/components/VTimeline/VTimelineDivider.mjs.map +1 -1
  553. package/lib/components/VTimeline/VTimelineItem.mjs +0 -6
  554. package/lib/components/VTimeline/VTimelineItem.mjs.map +1 -1
  555. package/lib/components/VTimeline/index.d.ts +7 -3
  556. package/lib/components/VTimeline/index.mjs.map +1 -1
  557. package/lib/components/VToolbar/VToolbar.mjs +2 -8
  558. package/lib/components/VToolbar/VToolbar.mjs.map +1 -1
  559. package/lib/components/VToolbar/VToolbarItems.mjs +0 -4
  560. package/lib/components/VToolbar/VToolbarItems.mjs.map +1 -1
  561. package/lib/components/VToolbar/VToolbarTitle.mjs +0 -5
  562. package/lib/components/VToolbar/VToolbarTitle.mjs.map +1 -1
  563. package/lib/components/VToolbar/index.d.ts +34 -71
  564. package/lib/components/VToolbar/index.mjs.map +1 -1
  565. package/lib/components/VTooltip/VTooltip.mjs +2 -8
  566. package/lib/components/VTooltip/VTooltip.mjs.map +1 -1
  567. package/lib/components/VTooltip/index.d.ts +1196 -176
  568. package/lib/components/VTooltip/index.mjs.map +1 -1
  569. package/lib/components/VTreeview/VTreeview.mjs +17 -72
  570. package/lib/components/VTreeview/VTreeview.mjs.map +1 -1
  571. package/lib/components/VTreeview/VTreeviewNode.mjs +2 -32
  572. package/lib/components/VTreeview/VTreeviewNode.mjs.map +1 -1
  573. package/lib/components/VTreeview/index.mjs.map +1 -1
  574. package/lib/components/VTreeview/util/filterTreeItems.mjs +0 -6
  575. package/lib/components/VTreeview/util/filterTreeItems.mjs.map +1 -1
  576. package/lib/components/VValidation/VValidation.mjs +2 -5
  577. package/lib/components/VValidation/VValidation.mjs.map +1 -1
  578. package/lib/components/VValidation/index.d.ts +1 -0
  579. package/lib/components/VValidation/index.mjs.map +1 -1
  580. package/lib/components/VVirtualScroll/VVirtualScroll.mjs +3 -18
  581. package/lib/components/VVirtualScroll/VVirtualScroll.mjs.map +1 -1
  582. package/lib/components/VVirtualScroll/index.mjs.map +1 -1
  583. package/lib/components/VWindow/VWindow.mjs +5 -15
  584. package/lib/components/VWindow/VWindow.mjs.map +1 -1
  585. package/lib/components/VWindow/VWindowItem.mjs +8 -21
  586. package/lib/components/VWindow/VWindowItem.mjs.map +1 -1
  587. package/lib/components/VWindow/index.d.ts +37 -87
  588. package/lib/components/VWindow/index.mjs.map +1 -1
  589. package/lib/components/index.d.ts +16084 -6799
  590. package/lib/components/index.mjs +0 -11
  591. package/lib/components/index.mjs.map +1 -1
  592. package/lib/components/transitions/createTransition.mjs +0 -10
  593. package/lib/components/transitions/createTransition.mjs.map +1 -1
  594. package/lib/components/transitions/dialog-transition.mjs +3 -18
  595. package/lib/components/transitions/dialog-transition.mjs.map +1 -1
  596. package/lib/components/transitions/expand-transition.mjs +2 -11
  597. package/lib/components/transitions/expand-transition.mjs.map +1 -1
  598. package/lib/components/transitions/index.d.ts +16 -0
  599. package/lib/components/transitions/index.mjs +5 -4
  600. package/lib/components/transitions/index.mjs.map +1 -1
  601. package/lib/composables/border.mjs +0 -3
  602. package/lib/composables/border.mjs.map +1 -1
  603. package/lib/composables/color.mjs +0 -4
  604. package/lib/composables/color.mjs.map +1 -1
  605. package/lib/composables/defaults.mjs +0 -5
  606. package/lib/composables/defaults.mjs.map +1 -1
  607. package/lib/composables/delay.mjs +0 -3
  608. package/lib/composables/delay.mjs.map +1 -1
  609. package/lib/composables/density.mjs +4 -1
  610. package/lib/composables/density.mjs.map +1 -1
  611. package/lib/composables/dimensions.mjs +0 -1
  612. package/lib/composables/dimensions.mjs.map +1 -1
  613. package/lib/composables/display.mjs +7 -20
  614. package/lib/composables/display.mjs.map +1 -1
  615. package/lib/composables/elevation.mjs +2 -4
  616. package/lib/composables/elevation.mjs.map +1 -1
  617. package/lib/composables/filter.mjs +7 -14
  618. package/lib/composables/filter.mjs.map +1 -1
  619. package/lib/composables/focus.mjs +0 -5
  620. package/lib/composables/focus.mjs.map +1 -1
  621. package/lib/composables/form.mjs +1 -14
  622. package/lib/composables/form.mjs.map +1 -1
  623. package/lib/composables/forwardRefs.mjs +9 -16
  624. package/lib/composables/forwardRefs.mjs.map +1 -1
  625. package/lib/composables/group.mjs +10 -33
  626. package/lib/composables/group.mjs.map +1 -1
  627. package/lib/composables/hydration.mjs +0 -1
  628. package/lib/composables/hydration.mjs.map +1 -1
  629. package/lib/composables/icons.mjs +4 -17
  630. package/lib/composables/icons.mjs.map +1 -1
  631. package/lib/composables/index.mjs +1 -2
  632. package/lib/composables/index.mjs.map +1 -1
  633. package/lib/composables/intersectionObserver.mjs +0 -3
  634. package/lib/composables/intersectionObserver.mjs.map +1 -1
  635. package/lib/composables/items.mjs +3 -15
  636. package/lib/composables/items.mjs.map +1 -1
  637. package/lib/composables/layout.mjs +29 -31
  638. package/lib/composables/layout.mjs.map +1 -1
  639. package/lib/composables/lazy.mjs +2 -3
  640. package/lib/composables/lazy.mjs.map +1 -1
  641. package/lib/composables/loader.mjs +0 -3
  642. package/lib/composables/loader.mjs.map +1 -1
  643. package/lib/composables/locale.mjs +46 -118
  644. package/lib/composables/locale.mjs.map +1 -1
  645. package/lib/composables/location.mjs +1 -8
  646. package/lib/composables/location.mjs.map +1 -1
  647. package/lib/composables/mutationObserver.mjs +3 -1
  648. package/lib/composables/mutationObserver.mjs.map +1 -1
  649. package/lib/composables/nested/nested.mjs +4 -20
  650. package/lib/composables/nested/nested.mjs.map +1 -1
  651. package/lib/composables/nested/openStrategies.mjs +0 -9
  652. package/lib/composables/nested/openStrategies.mjs.map +1 -1
  653. package/lib/composables/nested/selectStrategies.mjs +6 -21
  654. package/lib/composables/nested/selectStrategies.mjs.map +1 -1
  655. package/lib/composables/position.mjs +1 -4
  656. package/lib/composables/position.mjs.map +1 -1
  657. package/lib/composables/proxiedModel.mjs +3 -9
  658. package/lib/composables/proxiedModel.mjs.map +1 -1
  659. package/lib/composables/refs.mjs +0 -2
  660. package/lib/composables/refs.mjs.map +1 -1
  661. package/lib/composables/resizeObserver.mjs +0 -3
  662. package/lib/composables/resizeObserver.mjs.map +1 -1
  663. package/lib/composables/rounded.mjs +0 -3
  664. package/lib/composables/rounded.mjs.map +1 -1
  665. package/lib/composables/router.mjs +3 -11
  666. package/lib/composables/router.mjs.map +1 -1
  667. package/lib/composables/scopeId.mjs.map +1 -1
  668. package/lib/composables/scroll.mjs +3 -9
  669. package/lib/composables/scroll.mjs.map +1 -1
  670. package/lib/composables/selectLink.mjs +3 -2
  671. package/lib/composables/selectLink.mjs.map +1 -1
  672. package/lib/composables/size.mjs +0 -3
  673. package/lib/composables/size.mjs.map +1 -1
  674. package/lib/composables/ssrBoot.mjs +2 -1
  675. package/lib/composables/ssrBoot.mjs.map +1 -1
  676. package/lib/composables/stack.mjs +0 -6
  677. package/lib/composables/stack.mjs.map +1 -1
  678. package/lib/composables/tag.mjs +0 -1
  679. package/lib/composables/tag.mjs.map +1 -1
  680. package/lib/composables/teleport.mjs +0 -4
  681. package/lib/composables/teleport.mjs.map +1 -1
  682. package/lib/composables/theme.mjs +18 -38
  683. package/lib/composables/theme.mjs.map +1 -1
  684. package/lib/composables/toggleScope.mjs +0 -1
  685. package/lib/composables/toggleScope.mjs.map +1 -1
  686. package/lib/composables/touch.mjs +5 -28
  687. package/lib/composables/touch.mjs.map +1 -1
  688. package/lib/composables/transition.mjs +0 -2
  689. package/lib/composables/transition.mjs.map +1 -1
  690. package/lib/composables/validation.mjs +3 -13
  691. package/lib/composables/validation.mjs.map +1 -1
  692. package/lib/composables/variant.mjs +0 -2
  693. package/lib/composables/variant.mjs.map +1 -1
  694. package/lib/directives/click-outside/index.mjs +10 -22
  695. package/lib/directives/click-outside/index.mjs.map +1 -1
  696. package/lib/directives/color/index.mjs +0 -11
  697. package/lib/directives/color/index.mjs.map +1 -1
  698. package/lib/directives/index.d.ts +104 -13
  699. package/lib/directives/index.mjs +0 -1
  700. package/lib/directives/index.mjs.map +1 -1
  701. package/lib/directives/intersect/index.mjs +3 -10
  702. package/lib/directives/intersect/index.mjs.map +1 -1
  703. package/lib/directives/mutate/index.mjs +1 -5
  704. package/lib/directives/mutate/index.mjs.map +1 -1
  705. package/lib/directives/resize/index.mjs +0 -5
  706. package/lib/directives/resize/index.mjs.map +1 -1
  707. package/lib/directives/ripple/index.mjs +11 -63
  708. package/lib/directives/ripple/index.mjs.map +1 -1
  709. package/lib/directives/scroll/index.mjs +0 -4
  710. package/lib/directives/scroll/index.mjs.map +1 -1
  711. package/lib/directives/touch/index.mjs +0 -15
  712. package/lib/directives/touch/index.mjs.map +1 -1
  713. package/lib/entry-bundler.mjs +1 -1
  714. package/lib/entry-bundler.mjs.map +1 -1
  715. package/lib/framework.mjs +24 -22
  716. package/lib/framework.mjs.map +1 -1
  717. package/lib/iconsets/fa-svg.mjs +0 -1
  718. package/lib/iconsets/fa-svg.mjs.map +1 -1
  719. package/lib/iconsets/fa.mjs +0 -1
  720. package/lib/iconsets/fa.mjs.map +1 -1
  721. package/lib/iconsets/fa4.mjs +4 -3
  722. package/lib/iconsets/fa4.mjs.map +1 -1
  723. package/lib/iconsets/md.mjs +4 -3
  724. package/lib/iconsets/md.mjs.map +1 -1
  725. package/lib/iconsets/mdi-svg.mjs +0 -1
  726. package/lib/iconsets/mdi-svg.mjs.map +1 -1
  727. package/lib/iconsets/mdi.mjs +4 -3
  728. package/lib/iconsets/mdi.mjs.map +1 -1
  729. package/lib/index.d.ts +92 -106
  730. package/lib/locale/adapters/vue-i18n.d.ts +10 -16
  731. package/lib/locale/adapters/vue-i18n.mjs +59 -52
  732. package/lib/locale/adapters/vue-i18n.mjs.map +1 -1
  733. package/lib/locale/adapters/vuetify.d.ts +24 -0
  734. package/lib/locale/adapters/vuetify.mjs +97 -0
  735. package/lib/locale/adapters/vuetify.mjs.map +1 -0
  736. package/lib/locale/af.mjs.map +1 -1
  737. package/lib/locale/ar.mjs.map +1 -1
  738. package/lib/locale/az.mjs.map +1 -1
  739. package/lib/locale/bg.mjs.map +1 -1
  740. package/lib/locale/ca.mjs.map +1 -1
  741. package/lib/locale/ckb.mjs.map +1 -1
  742. package/lib/locale/cs.mjs.map +1 -1
  743. package/lib/locale/da.mjs.map +1 -1
  744. package/lib/locale/de.mjs.map +1 -1
  745. package/lib/locale/el.mjs.map +1 -1
  746. package/lib/locale/en.mjs.map +1 -1
  747. package/lib/locale/es.mjs.map +1 -1
  748. package/lib/locale/et.mjs.map +1 -1
  749. package/lib/locale/fa.mjs.map +1 -1
  750. package/lib/locale/fi.mjs.map +1 -1
  751. package/lib/locale/fr.mjs.map +1 -1
  752. package/lib/locale/he.mjs.map +1 -1
  753. package/lib/locale/hr.mjs.map +1 -1
  754. package/lib/locale/hu.mjs.map +1 -1
  755. package/lib/locale/id.mjs.map +1 -1
  756. package/lib/locale/index.d.ts +2 -2
  757. package/lib/locale/index.mjs +1 -1
  758. package/lib/locale/index.mjs.map +1 -1
  759. package/lib/locale/it.mjs.map +1 -1
  760. package/lib/locale/ja.mjs.map +1 -1
  761. package/lib/locale/ko.mjs.map +1 -1
  762. package/lib/locale/lt.mjs.map +1 -1
  763. package/lib/locale/lv.mjs.map +1 -1
  764. package/lib/locale/nl.mjs.map +1 -1
  765. package/lib/locale/no.mjs.map +1 -1
  766. package/lib/locale/pl.mjs +7 -7
  767. package/lib/locale/pl.mjs.map +1 -1
  768. package/lib/locale/pt.mjs.map +1 -1
  769. package/lib/locale/ro.mjs.map +1 -1
  770. package/lib/locale/ru.mjs.map +1 -1
  771. package/lib/locale/sk.mjs.map +1 -1
  772. package/lib/locale/sl.mjs.map +1 -1
  773. package/lib/locale/sr-Cyrl.mjs.map +1 -1
  774. package/lib/locale/sr-Latn.mjs.map +1 -1
  775. package/lib/locale/sv.mjs.map +1 -1
  776. package/lib/locale/th.mjs.map +1 -1
  777. package/lib/locale/tr.mjs.map +1 -1
  778. package/lib/locale/uk.mjs.map +1 -1
  779. package/lib/locale/vi.mjs.map +1 -1
  780. package/lib/locale/zh-Hans.mjs.map +1 -1
  781. package/lib/locale/zh-Hant.mjs.map +1 -1
  782. package/lib/services/goto/easing-patterns.mjs +24 -24
  783. package/lib/services/goto/easing-patterns.mjs.map +1 -1
  784. package/lib/services/goto/index.mjs +11 -15
  785. package/lib/services/goto/index.mjs.map +1 -1
  786. package/lib/services/goto/util.mjs +1 -8
  787. package/lib/services/goto/util.mjs.map +1 -1
  788. package/lib/styles/main.css +4 -0
  789. package/lib/styles/settings/_utilities.scss +7 -0
  790. package/lib/util/anchor.mjs +0 -3
  791. package/lib/util/anchor.mjs.map +1 -1
  792. package/lib/util/animation.mjs +0 -6
  793. package/lib/util/animation.mjs.map +1 -1
  794. package/lib/util/box.mjs +0 -5
  795. package/lib/util/box.mjs.map +1 -1
  796. package/lib/util/color/APCA.mjs +23 -21
  797. package/lib/util/color/APCA.mjs.map +1 -1
  798. package/lib/util/color/transformCIELAB.mjs +0 -2
  799. package/lib/util/color/transformCIELAB.mjs.map +1 -1
  800. package/lib/util/color/transformSRGB.mjs +14 -12
  801. package/lib/util/color/transformSRGB.mjs.map +1 -1
  802. package/lib/util/colorUtils.mjs +8 -25
  803. package/lib/util/colorUtils.mjs.map +1 -1
  804. package/lib/util/colors.mjs.map +1 -1
  805. package/lib/util/console.mjs +5 -14
  806. package/lib/util/console.mjs.map +1 -1
  807. package/lib/util/createSimpleFunctional.mjs +0 -3
  808. package/lib/util/createSimpleFunctional.mjs.map +1 -1
  809. package/lib/util/dateTimeUtils.mjs +0 -10
  810. package/lib/util/dateTimeUtils.mjs.map +1 -1
  811. package/lib/util/defineComponent.mjs +6 -22
  812. package/lib/util/defineComponent.mjs.map +1 -1
  813. package/lib/util/dom.mjs +4 -4
  814. package/lib/util/dom.mjs.map +1 -1
  815. package/lib/util/easing.mjs +0 -1
  816. package/lib/util/easing.mjs.map +1 -1
  817. package/lib/util/getCurrentInstance.mjs +1 -7
  818. package/lib/util/getCurrentInstance.mjs.map +1 -1
  819. package/lib/util/getScrollParent.mjs +0 -3
  820. package/lib/util/getScrollParent.mjs.map +1 -1
  821. package/lib/util/globals.mjs.map +1 -1
  822. package/lib/util/helpers.mjs +18 -75
  823. package/lib/util/helpers.mjs.map +1 -1
  824. package/lib/util/injectSelf.mjs +0 -1
  825. package/lib/util/injectSelf.mjs.map +1 -1
  826. package/lib/util/isFixedPosition.mjs +0 -2
  827. package/lib/util/isFixedPosition.mjs.map +1 -1
  828. package/lib/util/propsFactory.mjs +11 -5
  829. package/lib/util/propsFactory.mjs.map +1 -1
  830. package/lib/util/useRender.mjs +0 -1
  831. package/lib/util/useRender.mjs.map +1 -1
  832. package/package.json +6 -10
  833. package/dist/json/attributes.json +0 -5602
  834. package/dist/json/tags.json +0 -1945
  835. package/dist/json/web-types.json +0 -19006
  836. package/lib/composables/rtl.mjs +0 -42
  837. package/lib/composables/rtl.mjs.map +0 -1
  838. package/lib/locale/adapters/vue-intl.d.ts +0 -42
  839. package/lib/locale/adapters/vue-intl.mjs +0 -65
  840. package/lib/locale/adapters/vue-intl.mjs.map +0 -1
@@ -1,134 +1,62 @@
1
- // Locales
2
- import en from "../locale/en.mjs"; // Composables
3
-
4
- import { createRtl, RtlSymbol } from "./rtl.mjs"; // Utilities
5
-
6
1
  import { computed, inject, provide, ref } from 'vue';
7
- import { consoleError, consoleWarn, getObjectValueByPath } from "../util/index.mjs"; // Types
8
-
9
- export const LocaleAdapterSymbol = Symbol.for('vuetify:locale-adapter');
10
- export const VuetifyLocaleSymbol = Symbol.for('vuetify:locale');
11
- export function provideLocale(props) {
12
- const adapter = inject(LocaleAdapterSymbol);
13
- if (!adapter) throw new Error('[Vuetify] Could not find injected locale adapter');
14
- return adapter.createScope(props);
2
+ import { createVuetifyAdapter } from "../locale/adapters/vuetify.mjs";
3
+ import { defaultRtl } from "../locale/index.mjs";
4
+ export const LocaleSymbol = Symbol.for('vuetify:locale');
5
+ function isLocaleInstance(obj) {
6
+ return obj.name != null;
7
+ }
8
+ export function createLocale(options) {
9
+ const i18n = options != null && options.adapter && isLocaleInstance(options == null ? void 0 : options.adapter) ? options == null ? void 0 : options.adapter : createVuetifyAdapter(options);
10
+ const rtl = createRtl(i18n, options);
11
+ return {
12
+ ...i18n,
13
+ ...rtl
14
+ };
15
15
  }
16
16
  export function useLocale() {
17
- const adapter = inject(LocaleAdapterSymbol);
18
- if (!adapter) throw new Error('[Vuetify] Could not find injected locale adapter');
19
- return adapter.getScope();
17
+ const locale = inject(LocaleSymbol);
18
+ if (!locale) throw new Error('[Vuetify] Could not find injected locale instance');
19
+ return locale;
20
20
  }
21
-
22
- function isLocaleAdapter(x) {
23
- return !!x && x.hasOwnProperty('getScope') && x.hasOwnProperty('createScope') && x.hasOwnProperty('createRoot');
21
+ export function provideLocale(props) {
22
+ const locale = inject(LocaleSymbol);
23
+ if (!locale) throw new Error('[Vuetify] Could not find injected locale instance');
24
+ const i18n = locale.provide(props);
25
+ const rtl = provideRtl(i18n, locale.rtl, props);
26
+ const data = {
27
+ ...i18n,
28
+ ...rtl
29
+ };
30
+ provide(LocaleSymbol, data);
31
+ return data;
24
32
  }
25
33
 
26
- export function createLocale(app, options) {
27
- const adapter = isLocaleAdapter(options) ? options : createDefaultLocaleAdapter(options);
28
-
29
- function install(app) {
30
- const instance = adapter.createRoot(app);
31
- app.provide(RtlSymbol, createRtl(instance, options));
32
- }
34
+ // RTL
33
35
 
36
+ export const RtlSymbol = Symbol.for('vuetify:rtl');
37
+ export function createRtl(i18n, options) {
38
+ const rtl = ref((options == null ? void 0 : options.rtl) ?? defaultRtl);
39
+ const isRtl = computed(() => rtl.value[i18n.current.value] ?? false);
34
40
  return {
35
- adapter,
36
- install
41
+ isRtl,
42
+ rtl,
43
+ rtlClasses: computed(() => `v-locale--is-${isRtl.value ? 'rtl' : 'ltr'}`)
37
44
  };
38
45
  }
39
- const LANG_PREFIX = '$vuetify.';
40
-
41
- const replace = (str, params) => {
42
- return str.replace(/\{(\d+)\}/g, (match, index) => {
43
- /* istanbul ignore next */
44
- return String(params[+index]);
45
- });
46
- };
47
-
48
- const createTranslateFunction = (current, fallback, messages) => {
49
- return function (key) {
50
- for (var _len = arguments.length, params = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
51
- params[_key - 1] = arguments[_key];
52
- }
53
-
54
- if (!key.startsWith(LANG_PREFIX)) {
55
- return replace(key, params);
56
- }
57
-
58
- const shortKey = key.replace(LANG_PREFIX, '');
59
- const currentLocale = current.value && messages.value[current.value];
60
- const fallbackLocale = fallback.value && messages.value[fallback.value];
61
- let str = getObjectValueByPath(currentLocale, shortKey, null);
62
-
63
- if (!str) {
64
- consoleWarn(`Translation key "${key}" not found in "${current.value}", trying fallback locale`);
65
- str = getObjectValueByPath(fallbackLocale, shortKey, null);
66
- }
67
-
68
- if (!str) {
69
- consoleError(`Translation key "${key}" not found in fallback`);
70
- str = key;
71
- }
72
-
73
- if (typeof str !== 'string') {
74
- consoleError(`Translation key "${key}" has a non-string value`);
75
- str = key;
76
- }
77
-
78
- return replace(str, params);
79
- };
80
- };
81
-
82
- function createNumberFunction(current, fallback) {
83
- return (value, options) => {
84
- const numberFormat = new Intl.NumberFormat([current.value, fallback.value], options);
85
- return numberFormat.format(value);
46
+ export function provideRtl(locale, rtl, props) {
47
+ const isRtl = computed(() => props.rtl ?? rtl.value[locale.current.value] ?? false);
48
+ return {
49
+ isRtl,
50
+ rtl,
51
+ rtlClasses: computed(() => `v-locale--is-${isRtl.value ? 'rtl' : 'ltr'}`)
86
52
  };
87
53
  }
88
-
89
- export function createDefaultLocaleAdapter(options) {
90
- const createScope = options => {
91
- const current = ref(options.current);
92
- const fallback = ref(options.fallback);
93
- const messages = ref(options.messages);
94
- return {
95
- current,
96
- fallback,
97
- messages,
98
- t: createTranslateFunction(current, fallback, messages),
99
- n: createNumberFunction(current, fallback)
100
- };
101
- };
102
-
54
+ export function useRtl() {
55
+ const locale = inject(LocaleSymbol);
56
+ if (!locale) throw new Error('[Vuetify] Could not find injected rtl instance');
103
57
  return {
104
- createRoot: app => {
105
- const rootScope = createScope({
106
- current: (options == null ? void 0 : options.defaultLocale) ?? 'en',
107
- fallback: (options == null ? void 0 : options.fallbackLocale) ?? 'en',
108
- messages: (options == null ? void 0 : options.messages) ?? {
109
- en
110
- }
111
- });
112
- if (!app) throw new Error('[Vuetify] Could not find default app instance');
113
- app.provide(VuetifyLocaleSymbol, rootScope);
114
- return rootScope;
115
- },
116
- getScope: () => {
117
- const currentScope = inject(VuetifyLocaleSymbol);
118
- if (!currentScope) throw new Error('[Vuetify] Could not find injected locale instance');
119
- return currentScope;
120
- },
121
- createScope: options => {
122
- const currentScope = inject(VuetifyLocaleSymbol);
123
- if (!currentScope) throw new Error('[Vuetify] Could not find injected locale instance');
124
- const newScope = createScope({
125
- current: computed(() => (options == null ? void 0 : options.locale) ?? currentScope.current.value),
126
- fallback: computed(() => (options == null ? void 0 : options.locale) ?? currentScope.fallback.value),
127
- messages: computed(() => (options == null ? void 0 : options.messages) ?? currentScope.messages.value)
128
- });
129
- provide(VuetifyLocaleSymbol, newScope);
130
- return newScope;
131
- }
58
+ isRtl: locale.isRtl,
59
+ rtlClasses: locale.rtlClasses
132
60
  };
133
61
  }
134
62
  //# sourceMappingURL=locale.mjs.map
@@ -1 +1 @@
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","install","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\n function install (app: App) {\n const instance = adapter.createRoot(app)\n app.provide(RtlSymbol, createRtl(instance, options))\n }\n\n return { adapter, install }\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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"}
1
+ {"version":3,"file":"locale.mjs","names":["computed","inject","provide","ref","createVuetifyAdapter","defaultRtl","LocaleSymbol","Symbol","for","isLocaleInstance","obj","name","createLocale","options","i18n","adapter","rtl","createRtl","useLocale","locale","Error","provideLocale","props","provideRtl","data","RtlSymbol","isRtl","value","current","rtlClasses","useRtl"],"sources":["../../src/composables/locale.ts"],"sourcesContent":["import { computed, inject, provide, ref } from 'vue'\nimport { createVuetifyAdapter } from '@/locale/adapters/vuetify'\nimport { defaultRtl } from '@/locale'\n\nimport type { InjectionKey, Ref } from 'vue'\n\nexport interface LocaleMessages {\n [key: string]: LocaleMessages | string\n}\n\nexport interface LocaleOptions {\n messages?: LocaleMessages\n locale?: string\n fallback?: string\n adapter?: LocaleInstance\n}\n\nexport interface LocaleInstance {\n name: string\n messages: Ref<LocaleMessages>\n current: Ref<string>\n fallback: Ref<string>\n t: (key: string, ...params: unknown[]) => string\n n: (value: number) => string\n provide: (props: LocaleOptions) => LocaleInstance\n}\n\nexport const LocaleSymbol: InjectionKey<LocaleInstance & RtlInstance> = Symbol.for('vuetify:locale')\n\nfunction isLocaleInstance (obj: any): obj is LocaleInstance {\n return obj.name != null\n}\n\nexport function createLocale (options?: LocaleOptions & RtlOptions) {\n const i18n = options?.adapter && isLocaleInstance(options?.adapter) ? options?.adapter : createVuetifyAdapter(options)\n const rtl = createRtl(i18n, options)\n\n return { ...i18n, ...rtl }\n}\n\nexport function useLocale () {\n const locale = inject(LocaleSymbol)\n\n if (!locale) throw new Error('[Vuetify] Could not find injected locale instance')\n\n return locale\n}\n\nexport function provideLocale (props: LocaleOptions & RtlProps) {\n const locale = inject(LocaleSymbol)\n\n if (!locale) throw new Error('[Vuetify] Could not find injected locale instance')\n\n const i18n = locale.provide(props)\n const rtl = provideRtl(i18n, locale.rtl, props)\n\n const data = { ...i18n, ...rtl }\n\n provide(LocaleSymbol, data)\n\n return data\n}\n\n// RTL\n\nexport interface RtlOptions {\n rtl?: Record<string, boolean>\n}\n\nexport interface RtlProps {\n rtl?: boolean\n}\n\nexport interface RtlInstance {\n isRtl: Ref<boolean>\n rtl: Ref<Record<string, boolean>>\n rtlClasses: Ref<string>\n}\n\nexport const RtlSymbol: InjectionKey<RtlInstance> = Symbol.for('vuetify:rtl')\n\nexport function createRtl (i18n: LocaleInstance, options?: RtlOptions): RtlInstance {\n const rtl = ref(options?.rtl ?? defaultRtl)\n const isRtl = computed(() => rtl.value[i18n.current.value] ?? false)\n\n return {\n isRtl,\n rtl,\n rtlClasses: computed(() => `v-locale--is-${isRtl.value ? 'rtl' : 'ltr'}`),\n }\n}\n\nexport function provideRtl (locale: LocaleInstance, rtl: RtlInstance['rtl'], props: RtlProps): RtlInstance {\n const isRtl = computed(() => props.rtl ?? rtl.value[locale.current.value] ?? false)\n\n return {\n isRtl,\n rtl,\n rtlClasses: computed(() => `v-locale--is-${isRtl.value ? 'rtl' : 'ltr'}`),\n }\n}\n\nexport function useRtl () {\n const locale = inject(LocaleSymbol)\n\n if (!locale) throw new Error('[Vuetify] Could not find injected rtl instance')\n\n return { isRtl: locale.isRtl, rtlClasses: locale.rtlClasses }\n}\n"],"mappings":"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"}
@@ -1,9 +1,7 @@
1
1
  // Composables
2
- import { useRtl } from "./rtl.mjs"; // Utilities
3
-
2
+ import { useRtl } from "./locale.mjs"; // Utilities
4
3
  import { computed } from 'vue';
5
4
  import { parseAnchor, propsFactory } from "../util/index.mjs"; // Types
6
-
7
5
  const oppositeMap = {
8
6
  center: 'center',
9
7
  top: 'bottom',
@@ -26,17 +24,13 @@ export function useLocation(props) {
26
24
  side,
27
25
  align
28
26
  } = parseAnchor(props.location.split(' ').length > 1 ? props.location : `${props.location} center`, isRtl.value);
29
-
30
27
  function getOffset(side) {
31
28
  return offset ? offset(side) : 0;
32
29
  }
33
-
34
30
  const styles = {};
35
-
36
31
  if (side !== 'center') {
37
32
  if (opposite) styles[oppositeMap[side]] = `calc(100% - ${getOffset(side)}px)`;else styles[side] = 0;
38
33
  }
39
-
40
34
  if (align !== 'center') {
41
35
  if (opposite) styles[oppositeMap[align]] = `calc(100% - ${getOffset(align)}px)`;else styles[align] = 0;
42
36
  } else {
@@ -56,7 +50,6 @@ export function useLocation(props) {
56
50
  center: 'translate(-50%, -50%)'
57
51
  }[side];
58
52
  }
59
-
60
53
  return styles;
61
54
  });
62
55
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"location.mjs","names":["useRtl","computed","parseAnchor","propsFactory","oppositeMap","center","top","bottom","left","right","makeLocationProps","location","String","useLocation","props","opposite","offset","isRtl","locationStyles","side","align","split","length","value","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 const locationStyles = computed(() => {\n if (!props.location) return {}\n\n const { side, align } = parseAnchor(\n props.location.split(' ').length > 1\n ? props.location\n : `${props.location} center` as Anchor,\n isRtl.value\n )\n\n function getOffset (side: string) {\n return offset\n ? offset(side)\n : 0\n }\n\n const styles = {} as CSSProperties\n\n if (side !== 'center') {\n if (opposite) styles[oppositeMap[side]] = `calc(100% - ${getOffset(side)}px)`\n else styles[side] = 0\n }\n if (align !== 'center') {\n if (opposite) styles[oppositeMap[align]] = `calc(100% - ${getOffset(align)}px)`\n else styles[align] = 0\n } else {\n if (side === 'center') styles.top = styles.left = '50%'\n else {\n styles[({\n top: 'left',\n bottom: 'left',\n left: 'top',\n right: 'top',\n } as const)[side]] = '50%'\n }\n styles.transform = {\n top: 'translateX(-50%)',\n bottom: 'translateX(-50%)',\n left: 'translateY(-50%)',\n right: 'translateY(-50%)',\n center: 'translate(-50%, -50%)',\n }[side]\n }\n\n return styles\n })\n\n return { locationStyles }\n}\n"],"mappings":"AAAA;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,MAAMkB,cAAc,GAAGjB,QAAQ,CAAC,MAAM;IACpC,IAAI,CAACa,KAAK,CAACH,QAAX,EAAqB,OAAO,EAAP;IAErB,MAAM;MAAEQ,IAAF;MAAQC;IAAR,IAAkBlB,WAAW,CACjCY,KAAK,CAACH,QAAN,CAAeU,KAAf,CAAqB,GAArB,EAA0BC,MAA1B,GAAmC,CAAnC,GACIR,KAAK,CAACH,QADV,GAEK,GAAEG,KAAK,CAACH,QAAS,SAHW,EAIjCM,KAAK,CAACM,KAJ2B,CAAnC;;IAOA,SAASC,SAAT,CAAoBL,IAApB,EAAkC;MAChC,OAAOH,MAAM,GACTA,MAAM,CAACG,IAAD,CADG,GAET,CAFJ;IAGD;;IAED,MAAMM,MAAM,GAAG,EAAf;;IAEA,IAAIN,IAAI,KAAK,QAAb,EAAuB;MACrB,IAAIJ,QAAJ,EAAcU,MAAM,CAACrB,WAAW,CAACe,IAAD,CAAZ,CAAN,GAA6B,eAAcK,SAAS,CAACL,IAAD,CAAO,KAA3D,CAAd,KACKM,MAAM,CAACN,IAAD,CAAN,GAAe,CAAf;IACN;;IACD,IAAIC,KAAK,KAAK,QAAd,EAAwB;MACtB,IAAIL,QAAJ,EAAcU,MAAM,CAACrB,WAAW,CAACgB,KAAD,CAAZ,CAAN,GAA8B,eAAcI,SAAS,CAACJ,KAAD,CAAQ,KAA7D,CAAd,KACKK,MAAM,CAACL,KAAD,CAAN,GAAgB,CAAhB;IACN,CAHD,MAGO;MACL,IAAID,IAAI,KAAK,QAAb,EAAuBM,MAAM,CAACnB,GAAP,GAAamB,MAAM,CAACjB,IAAP,GAAc,KAA3B,CAAvB,KACK;QACHiB,MAAM,CAAE;UACNnB,GAAG,EAAE,MADC;UAENC,MAAM,EAAE,MAFF;UAGNC,IAAI,EAAE,KAHA;UAINC,KAAK,EAAE;QAJD,CAAD,CAKKU,IALL,CAAD,CAAN,GAKqB,KALrB;MAMD;MACDM,MAAM,CAACC,SAAP,GAAmB;QACjBpB,GAAG,EAAE,kBADY;QAEjBC,MAAM,EAAE,kBAFS;QAGjBC,IAAI,EAAE,kBAHW;QAIjBC,KAAK,EAAE,kBAJU;QAKjBJ,MAAM,EAAE;MALS,EAMjBc,IANiB,CAAnB;IAOD;;IAED,OAAOM,MAAP;EACD,CA7C8B,CAA/B;EA+CA,OAAO;IAAEP;EAAF,CAAP;AACD"}
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","locationStyles","side","align","split","length","value","getOffset","styles","transform"],"sources":["../../src/composables/location.ts"],"sourcesContent":["// Composables\nimport { useRtl } from '@/composables/locale'\n\n// Utilities\nimport { computed } from 'vue'\nimport { parseAnchor, propsFactory } from '@/util'\n\n// Types\nimport type { CSSProperties, PropType } from 'vue'\nimport type { Anchor } from '@/util'\n\nconst oppositeMap = {\n center: 'center',\n top: 'bottom',\n bottom: 'top',\n left: 'right',\n right: 'left',\n} as const\n\nexport interface LocationProps {\n location: Anchor | undefined\n}\n\nexport const makeLocationProps = propsFactory({\n location: String as PropType<Anchor>,\n}, 'location')\n\nexport function useLocation (props: LocationProps, opposite = false, offset?: (side: string) => number) {\n const { isRtl } = useRtl()\n\n const locationStyles = computed(() => {\n if (!props.location) return {}\n\n const { side, align } = parseAnchor(\n props.location.split(' ').length > 1\n ? props.location\n : `${props.location} center` as Anchor,\n isRtl.value\n )\n\n function getOffset (side: string) {\n return offset\n ? offset(side)\n : 0\n }\n\n const styles = {} as CSSProperties\n\n if (side !== 'center') {\n if (opposite) styles[oppositeMap[side]] = `calc(100% - ${getOffset(side)}px)`\n else styles[side] = 0\n }\n if (align !== 'center') {\n if (opposite) styles[oppositeMap[align]] = `calc(100% - ${getOffset(align)}px)`\n else styles[align] = 0\n } else {\n if (side === 'center') styles.top = styles.left = '50%'\n else {\n styles[({\n top: 'left',\n bottom: 'left',\n left: 'top',\n right: 'top',\n } as const)[side]] = '50%'\n }\n styles.transform = {\n top: 'translateX(-50%)',\n bottom: 'translateX(-50%)',\n left: 'translateY(-50%)',\n right: 'translateY(-50%)',\n center: 'translate(-50%, -50%)',\n }[side]\n }\n\n return styles\n })\n\n return { locationStyles }\n}\n"],"mappings":"AAAA;AAAA,SACSA,MAAM,wBAEf;AACA,SAASC,QAAQ,QAAQ,KAAK;AAAA,SACrBC,WAAW,EAAEC,YAAY,6BAElC;AAIA,MAAMC,WAAW,GAAG;EAClBC,MAAM,EAAE,QAAQ;EAChBC,GAAG,EAAE,QAAQ;EACbC,MAAM,EAAE,KAAK;EACbC,IAAI,EAAE,OAAO;EACbC,KAAK,EAAE;AACT,CAAU;AAMV,OAAO,MAAMC,iBAAiB,GAAGP,YAAY,CAAC;EAC5CQ,QAAQ,EAAEC;AACZ,CAAC,EAAE,UAAU,CAAC;AAEd,OAAO,SAASC,WAAW,CAAEC,KAAoB,EAAuD;EAAA,IAArDC,QAAQ,uEAAG,KAAK;EAAA,IAAEC,MAAiC;EACpG,MAAM;IAAEC;EAAM,CAAC,GAAGjB,MAAM,EAAE;EAE1B,MAAMkB,cAAc,GAAGjB,QAAQ,CAAC,MAAM;IACpC,IAAI,CAACa,KAAK,CAACH,QAAQ,EAAE,OAAO,CAAC,CAAC;IAE9B,MAAM;MAAEQ,IAAI;MAAEC;IAAM,CAAC,GAAGlB,WAAW,CACjCY,KAAK,CAACH,QAAQ,CAACU,KAAK,CAAC,GAAG,CAAC,CAACC,MAAM,GAAG,CAAC,GAChCR,KAAK,CAACH,QAAQ,GACb,GAAEG,KAAK,CAACH,QAAS,SAAkB,EACxCM,KAAK,CAACM,KAAK,CACZ;IAED,SAASC,SAAS,CAAEL,IAAY,EAAE;MAChC,OAAOH,MAAM,GACTA,MAAM,CAACG,IAAI,CAAC,GACZ,CAAC;IACP;IAEA,MAAMM,MAAM,GAAG,CAAC,CAAkB;IAElC,IAAIN,IAAI,KAAK,QAAQ,EAAE;MACrB,IAAIJ,QAAQ,EAAEU,MAAM,CAACrB,WAAW,CAACe,IAAI,CAAC,CAAC,GAAI,eAAcK,SAAS,CAACL,IAAI,CAAE,KAAI,MACxEM,MAAM,CAACN,IAAI,CAAC,GAAG,CAAC;IACvB;IACA,IAAIC,KAAK,KAAK,QAAQ,EAAE;MACtB,IAAIL,QAAQ,EAAEU,MAAM,CAACrB,WAAW,CAACgB,KAAK,CAAC,CAAC,GAAI,eAAcI,SAAS,CAACJ,KAAK,CAAE,KAAI,MAC1EK,MAAM,CAACL,KAAK,CAAC,GAAG,CAAC;IACxB,CAAC,MAAM;MACL,IAAID,IAAI,KAAK,QAAQ,EAAEM,MAAM,CAACnB,GAAG,GAAGmB,MAAM,CAACjB,IAAI,GAAG,KAAK,MAClD;QACHiB,MAAM,CAAE;UACNnB,GAAG,EAAE,MAAM;UACXC,MAAM,EAAE,MAAM;UACdC,IAAI,EAAE,KAAK;UACXC,KAAK,EAAE;QACT,CAAC,CAAWU,IAAI,CAAC,CAAC,GAAG,KAAK;MAC5B;MACAM,MAAM,CAACC,SAAS,GAAG;QACjBpB,GAAG,EAAE,kBAAkB;QACvBC,MAAM,EAAE,kBAAkB;QAC1BC,IAAI,EAAE,kBAAkB;QACxBC,KAAK,EAAE,kBAAkB;QACzBJ,MAAM,EAAE;MACV,CAAC,CAACc,IAAI,CAAC;IACT;IAEA,OAAOM,MAAM;EACf,CAAC,CAAC;EAEF,OAAO;IAAEP;EAAe,CAAC;AAC3B"}
@@ -1,6 +1,8 @@
1
1
  // Utilities
2
2
  import { isComponentInstance } from "../util/index.mjs";
3
- import { onBeforeUnmount, onMounted, ref, watch } from 'vue'; // Types
3
+ import { onBeforeUnmount, onMounted, ref, watch } from 'vue';
4
+
5
+ // Types
4
6
 
5
7
  export function useMutationObserver(handler, options) {
6
8
  const mutationRef = ref();
@@ -1 +1 @@
1
- {"version":3,"file":"mutationObserver.mjs","names":["isComponentInstance","onBeforeUnmount","onMounted","ref","watch","useMutationObserver","handler","options","mutationRef","once","immediate","optionKeys","defaultValue","Object","keys","length","observer","MutationObserver","mutations","disconnect","newValue","oldValue","el","$el","observe","attributes","attr","characterData","char","childList","child","subtree","sub","flush"],"sources":["../../src/composables/mutationObserver.ts"],"sourcesContent":["// Utilities\nimport { isComponentInstance } from '@/util'\nimport { onBeforeUnmount, onMounted, ref, watch } from 'vue'\n\n// Types\nimport type { ComponentPublicInstance } from 'vue'\n\nexport interface MutationOptions {\n attr?: boolean\n char?: boolean\n child?: boolean\n sub?: boolean\n once?: boolean\n immediate?: boolean\n}\n\nexport function useMutationObserver (\n handler?: MutationCallback,\n options?: MutationOptions,\n) {\n const mutationRef = ref<ComponentPublicInstance | HTMLElement>()\n const { once, immediate, ...optionKeys } = options || {}\n const defaultValue = !Object.keys(optionKeys).length\n\n const observer = new MutationObserver((\n mutations: MutationRecord[],\n observer: MutationObserver\n ) => {\n handler?.(mutations, observer)\n\n if (options?.once) observer.disconnect()\n })\n\n onMounted(() => {\n if (!options?.immediate) return\n\n handler?.([], observer)\n })\n\n onBeforeUnmount(() => {\n observer.disconnect()\n })\n\n watch(mutationRef, (newValue, oldValue) => {\n if (oldValue) observer.disconnect()\n\n const el = isComponentInstance(newValue) ? newValue.$el : newValue\n\n if (!el) return\n\n observer.observe(el, {\n attributes: options?.attr ?? defaultValue,\n characterData: options?.char ?? defaultValue,\n childList: options?.child ?? defaultValue,\n subtree: options?.sub ?? defaultValue,\n })\n }, {\n flush: 'post',\n })\n\n return { mutationRef }\n}\n"],"mappings":"AAAA;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;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,EAAE,CAAAlB,OAAO,QAAP,YAAAA,OAAO,CAAEmB,IAAT,KAAiBd,YADV;MAEnBe,aAAa,EAAE,CAAApB,OAAO,QAAP,YAAAA,OAAO,CAAEqB,IAAT,KAAiBhB,YAFb;MAGnBiB,SAAS,EAAE,CAAAtB,OAAO,QAAP,YAAAA,OAAO,CAAEuB,KAAT,KAAkBlB,YAHV;MAInBmB,OAAO,EAAE,CAAAxB,OAAO,QAAP,YAAAA,OAAO,CAAEyB,GAAT,KAAgBpB;IAJN,CAArB;EAMD,CAbI,EAaF;IACDqB,KAAK,EAAE;EADN,CAbE,CAAL;EAiBA,OAAO;IAAEzB;EAAF,CAAP;AACD"}
1
+ {"version":3,"file":"mutationObserver.mjs","names":["isComponentInstance","onBeforeUnmount","onMounted","ref","watch","useMutationObserver","handler","options","mutationRef","once","immediate","optionKeys","defaultValue","Object","keys","length","observer","MutationObserver","mutations","disconnect","newValue","oldValue","el","$el","observe","attributes","attr","characterData","char","childList","child","subtree","sub","flush"],"sources":["../../src/composables/mutationObserver.ts"],"sourcesContent":["// Utilities\nimport { isComponentInstance } from '@/util'\nimport { onBeforeUnmount, onMounted, ref, watch } from 'vue'\n\n// Types\nimport type { ComponentPublicInstance } from 'vue'\n\nexport interface MutationOptions {\n attr?: boolean\n char?: boolean\n child?: boolean\n sub?: boolean\n once?: boolean\n immediate?: boolean\n}\n\nexport function useMutationObserver (\n handler?: MutationCallback,\n options?: MutationOptions,\n) {\n const mutationRef = ref<ComponentPublicInstance | HTMLElement>()\n const { once, immediate, ...optionKeys } = options || {}\n const defaultValue = !Object.keys(optionKeys).length\n\n const observer = new MutationObserver((\n mutations: MutationRecord[],\n observer: MutationObserver\n ) => {\n handler?.(mutations, observer)\n\n if (options?.once) observer.disconnect()\n })\n\n onMounted(() => {\n if (!options?.immediate) return\n\n handler?.([], observer)\n })\n\n onBeforeUnmount(() => {\n observer.disconnect()\n })\n\n watch(mutationRef, (newValue, oldValue) => {\n if (oldValue) observer.disconnect()\n\n const el = isComponentInstance(newValue) ? newValue.$el : newValue\n\n if (!el) return\n\n observer.observe(el, {\n attributes: options?.attr ?? defaultValue,\n characterData: options?.char ?? defaultValue,\n childList: options?.child ?? defaultValue,\n subtree: options?.sub ?? defaultValue,\n })\n }, {\n flush: 'post',\n })\n\n return { mutationRef }\n}\n"],"mappings":"AAAA;AAAA,SACSA,mBAAmB;AAC5B,SAASC,eAAe,EAAEC,SAAS,EAAEC,GAAG,EAAEC,KAAK,QAAQ,KAAK;;AAE5D;;AAYA,OAAO,SAASC,mBAAmB,CACjCC,OAA0B,EAC1BC,OAAyB,EACzB;EACA,MAAMC,WAAW,GAAGL,GAAG,EAAyC;EAChE,MAAM;IAAEM,IAAI;IAAEC,SAAS;IAAE,GAAGC;EAAW,CAAC,GAAGJ,OAAO,IAAI,CAAC,CAAC;EACxD,MAAMK,YAAY,GAAG,CAACC,MAAM,CAACC,IAAI,CAACH,UAAU,CAAC,CAACI,MAAM;EAEpD,MAAMC,QAAQ,GAAG,IAAIC,gBAAgB,CAAC,CACpCC,SAA2B,EAC3BF,QAA0B,KACvB;IACHV,OAAO,oBAAPA,OAAO,CAAGY,SAAS,EAAEF,QAAQ,CAAC;IAE9B,IAAIT,OAAO,YAAPA,OAAO,CAAEE,IAAI,EAAEO,QAAQ,CAACG,UAAU,EAAE;EAC1C,CAAC,CAAC;EAEFjB,SAAS,CAAC,MAAM;IACd,IAAI,EAACK,OAAO,YAAPA,OAAO,CAAEG,SAAS,GAAE;IAEzBJ,OAAO,oBAAPA,OAAO,CAAG,EAAE,EAAEU,QAAQ,CAAC;EACzB,CAAC,CAAC;EAEFf,eAAe,CAAC,MAAM;IACpBe,QAAQ,CAACG,UAAU,EAAE;EACvB,CAAC,CAAC;EAEFf,KAAK,CAACI,WAAW,EAAE,CAACY,QAAQ,EAAEC,QAAQ,KAAK;IACzC,IAAIA,QAAQ,EAAEL,QAAQ,CAACG,UAAU,EAAE;IAEnC,MAAMG,EAAE,GAAGtB,mBAAmB,CAACoB,QAAQ,CAAC,GAAGA,QAAQ,CAACG,GAAG,GAAGH,QAAQ;IAElE,IAAI,CAACE,EAAE,EAAE;IAETN,QAAQ,CAACQ,OAAO,CAACF,EAAE,EAAE;MACnBG,UAAU,EAAE,CAAAlB,OAAO,oBAAPA,OAAO,CAAEmB,IAAI,KAAId,YAAY;MACzCe,aAAa,EAAE,CAAApB,OAAO,oBAAPA,OAAO,CAAEqB,IAAI,KAAIhB,YAAY;MAC5CiB,SAAS,EAAE,CAAAtB,OAAO,oBAAPA,OAAO,CAAEuB,KAAK,KAAIlB,YAAY;MACzCmB,OAAO,EAAE,CAAAxB,OAAO,oBAAPA,OAAO,CAAEyB,GAAG,KAAIpB;IAC3B,CAAC,CAAC;EACJ,CAAC,EAAE;IACDqB,KAAK,EAAE;EACT,CAAC,CAAC;EAEF,OAAO;IAAEzB;EAAY,CAAC;AACxB"}
@@ -3,7 +3,6 @@ import { getCurrentInstance, getUid, propsFactory } from "../../util/index.mjs";
3
3
  import { computed, inject, onBeforeUnmount, provide, ref } from 'vue';
4
4
  import { listOpenStrategy, multipleOpenStrategy, singleOpenStrategy } from "./openStrategies.mjs";
5
5
  import { classicSelectStrategy, independentSelectStrategy, independentSingleSelectStrategy, leafSelectStrategy, leafSingleSelectStrategy } from "./selectStrategies.mjs"; // Types
6
-
7
6
  export const VNestedSymbol = Symbol.for('vuetify:nested');
8
7
  export const emptyNested = {
9
8
  id: ref(),
@@ -34,20 +33,15 @@ export const useNested = props => {
34
33
  const opened = useProxiedModel(props, 'opened', props.opened, v => new Set(v), v => [...v.values()]);
35
34
  const selectStrategy = computed(() => {
36
35
  if (typeof props.selectStrategy === 'object') return props.selectStrategy;
37
-
38
36
  switch (props.selectStrategy) {
39
37
  case 'single-leaf':
40
38
  return leafSingleSelectStrategy(props.mandatory);
41
-
42
39
  case 'leaf':
43
40
  return leafSelectStrategy(props.mandatory);
44
-
45
41
  case 'independent':
46
42
  return independentSelectStrategy(props.mandatory);
47
-
48
43
  case 'single-independent':
49
44
  return independentSingleSelectStrategy(props.mandatory);
50
-
51
45
  case 'classic':
52
46
  default:
53
47
  return classicSelectStrategy(props.mandatory);
@@ -55,14 +49,11 @@ export const useNested = props => {
55
49
  });
56
50
  const openStrategy = computed(() => {
57
51
  if (typeof props.openStrategy === 'function') return props.openStrategy;
58
-
59
52
  switch (props.openStrategy) {
60
53
  case 'list':
61
54
  return listOpenStrategy;
62
-
63
55
  case 'single':
64
56
  return singleOpenStrategy;
65
-
66
57
  case 'multiple':
67
58
  default:
68
59
  return multipleOpenStrategy;
@@ -72,19 +63,15 @@ export const useNested = props => {
72
63
  onBeforeUnmount(() => {
73
64
  isUnmounted = true;
74
65
  });
75
-
76
66
  function getPath(id) {
77
67
  const path = [];
78
68
  let parent = id;
79
-
80
69
  while (parent != null) {
81
70
  path.unshift(parent);
82
71
  parent = parents.value.get(parent);
83
72
  }
84
-
85
73
  return path;
86
74
  }
87
-
88
75
  const vm = getCurrentInstance('nested');
89
76
  const nested = {
90
77
  id: ref(),
@@ -93,17 +80,14 @@ export const useNested = props => {
93
80
  selected,
94
81
  selectedValues: computed(() => {
95
82
  const arr = [];
96
-
97
83
  for (const [key, value] of selected.value.entries()) {
98
84
  if (value === 'on') arr.push(key);
99
85
  }
100
-
101
86
  return arr;
102
87
  }),
103
88
  register: (id, parentId, isGroup) => {
104
89
  parentId && id !== parentId && parents.value.set(id, parentId);
105
90
  isGroup && children.value.set(id, []);
106
-
107
91
  if (parentId != null) {
108
92
  children.value.set(parentId, [...(children.value.get(parentId) || []), id]);
109
93
  }
@@ -112,12 +96,10 @@ export const useNested = props => {
112
96
  if (isUnmounted) return;
113
97
  children.value.delete(id);
114
98
  const parent = parents.value.get(id);
115
-
116
99
  if (parent) {
117
100
  const list = children.value.get(parent) ?? [];
118
101
  children.value.set(parent, list.filter(child => child !== id));
119
102
  }
120
-
121
103
  parents.value.delete(id);
122
104
  opened.value.delete(id);
123
105
  },
@@ -178,7 +160,8 @@ export const useNested = props => {
178
160
  export const useNestedItem = (id, isGroup) => {
179
161
  const parent = inject(VNestedSymbol, emptyNested);
180
162
  const computedId = computed(() => id.value ?? getUid().toString());
181
- const item = { ...parent,
163
+ const item = {
164
+ ...parent,
182
165
  id: computedId,
183
166
  open: (open, e) => parent.root.open(computedId.value, open, e),
184
167
  openOnSelect: (open, e) => parent.root.openOnSelect(computedId.value, open, e),
@@ -199,7 +182,8 @@ export const useNestedItem = (id, isGroup) => {
199
182
  };
200
183
  export const useNestedGroupActivator = () => {
201
184
  const parent = inject(VNestedSymbol, emptyNested);
202
- provide(VNestedSymbol, { ...parent,
185
+ provide(VNestedSymbol, {
186
+ ...parent,
203
187
  isGroupActivator: true
204
188
  });
205
189
  };
@@ -1 +1 @@
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","openOnSelect","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 openOnSelect: (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 openOnSelect: () => 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 openOnSelect: (id, value, event) => {\n const newOpened = openStrategy.value.select({\n id,\n value,\n selected: new Map(selected.value),\n opened: new Set(opened.value),\n children: children.value,\n parents: parents.value,\n event,\n })\n newOpened && (opened.value = newOpened)\n },\n select: (id, value, event) => {\n vm.emit('click:select', { id, value, path: getPath(id), event })\n\n const newSelected = selectStrategy.value.select({\n id,\n value,\n selected: new Map(selected.value),\n children: children.value,\n parents: parents.value,\n event,\n })\n newSelected && (selected.value = newSelected)\n\n nested.root.openOnSelect(id, value, event)\n },\n 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 openOnSelect: (open: boolean, e?: Event) => parent.root.openOnSelect(computedId.value, open, e),\n isOpen: computed(() => parent.root.opened.value.has(computedId.value)),\n parent: computed(() => parent.root.parents.value.get(computedId.value)),\n 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":"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"}
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","openOnSelect","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: unknown[] | undefined\n opened: unknown[] | undefined\n mandatory: boolean\n 'onUpdate:selected': ((val: unknown[]) => void) | undefined\n 'onUpdate:opened': ((val: unknown[]) => void) | undefined\n}\n\ntype NestedProvide = {\n id: Ref<unknown>\n isGroupActivator?: boolean\n root: {\n children: Ref<Map<unknown, unknown[]>>\n parents: Ref<Map<unknown, unknown>>\n opened: Ref<Set<unknown>>\n selected: Ref<Map<unknown, 'on' | 'off' | 'indeterminate'>>\n selectedValues: Ref<unknown[]>\n register: (id: unknown, parentId: unknown, isGroup?: boolean) => void\n unregister: (id: unknown) => void\n open: (id: unknown, value: boolean, event?: Event) => void\n select: (id: unknown, value: boolean, event?: Event) => void\n openOnSelect: (id: unknown, value: boolean, event?: Event) => void\n }\n}\n\nexport const VNestedSymbol: InjectionKey<NestedProvide> = Symbol.for('vuetify:nested')\n\nexport const emptyNested: NestedProvide = {\n id: ref(),\n root: {\n register: () => null,\n unregister: () => null,\n parents: ref(new Map()),\n children: ref(new Map()),\n open: () => null,\n openOnSelect: () => null,\n 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<unknown[]>,\n selected: Array as Prop<unknown[]>,\n mandatory: Boolean,\n}, 'nested')\n\nexport const useNested = (props: NestedProps) => {\n let isUnmounted = false\n const children = ref(new Map<unknown, unknown[]>())\n const parents = ref(new Map<unknown, unknown>())\n\n const opened = useProxiedModel(props, 'opened', props.opened, v => new Set(v), v => [...v.values()])\n\n const 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: unknown) {\n const path: unknown[] = []\n let parent: unknown = id\n\n while (parent != null) {\n path.unshift(parent)\n parent = parents.value.get(parent)\n }\n\n return path\n }\n\n const vm = getCurrentInstance('nested')\n\n const nested: NestedProvide = {\n id: 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 openOnSelect: (id, value, event) => {\n const newOpened = openStrategy.value.select({\n id,\n value,\n selected: new Map(selected.value),\n opened: new Set(opened.value),\n children: children.value,\n parents: parents.value,\n event,\n })\n newOpened && (opened.value = newOpened)\n },\n select: (id, value, event) => {\n vm.emit('click:select', { id, value, path: getPath(id), event })\n\n const newSelected = selectStrategy.value.select({\n id,\n value,\n selected: new Map(selected.value),\n children: children.value,\n parents: parents.value,\n event,\n })\n newSelected && (selected.value = newSelected)\n\n nested.root.openOnSelect(id, value, event)\n },\n children,\n parents,\n },\n }\n\n provide(VNestedSymbol, nested)\n\n return nested.root\n}\n\nexport const useNestedItem = (id: Ref<unknown>, isGroup: boolean) => {\n const parent = inject(VNestedSymbol, emptyNested)\n\n const 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 openOnSelect: (open: boolean, e?: Event) => parent.root.openOnSelect(computedId.value, open, e),\n isOpen: computed(() => parent.root.opened.value.has(computedId.value)),\n parent: computed(() => parent.root.parents.value.get(computedId.value)),\n 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":"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"}
@@ -6,17 +6,14 @@ export const singleOpenStrategy = {
6
6
  opened,
7
7
  parents
8
8
  } = _ref;
9
-
10
9
  if (value) {
11
10
  const newOpened = new Set();
12
11
  newOpened.add(id);
13
12
  let parent = parents.get(id);
14
-
15
13
  while (parent != null) {
16
14
  newOpened.add(parent);
17
15
  parent = parents.get(parent);
18
16
  }
19
-
20
17
  return newOpened;
21
18
  } else {
22
19
  opened.delete(id);
@@ -33,21 +30,17 @@ export const multipleOpenStrategy = {
33
30
  opened,
34
31
  parents
35
32
  } = _ref2;
36
-
37
33
  if (value) {
38
34
  let parent = parents.get(id);
39
35
  opened.add(id);
40
-
41
36
  while (parent != null && parent !== id) {
42
37
  opened.add(parent);
43
38
  parent = parents.get(parent);
44
39
  }
45
-
46
40
  return opened;
47
41
  } else {
48
42
  opened.delete(id);
49
43
  }
50
-
51
44
  return opened;
52
45
  },
53
46
  select: () => null
@@ -64,12 +57,10 @@ export const listOpenStrategy = {
64
57
  if (!value) return opened;
65
58
  const path = [];
66
59
  let parent = parents.get(id);
67
-
68
60
  while (parent != null) {
69
61
  path.push(parent);
70
62
  parent = parents.get(parent);
71
63
  }
72
-
73
64
  return new Set(path);
74
65
  }
75
66
  };
@@ -1 +1 @@
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
+ {"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: unknown\n value: boolean\n opened: Set<unknown>\n children: Map<unknown, unknown[]>\n parents: Map<unknown, unknown>\n event?: Event\n}) => Set<unknown>\n\nexport type OpenSelectStrategyFn = (data: {\n id: unknown\n value: boolean\n opened: Set<unknown>\n selected: Map<unknown, 'on' | 'off' | 'indeterminate'>\n children: Map<unknown, unknown[]>\n parents: Map<unknown, unknown>\n event?: Event\n}) => Set<unknown> | null\n\nexport type OpenStrategy = {\n open: OpenStrategyFn\n select: OpenSelectStrategyFn\n}\n\nexport const singleOpenStrategy: OpenStrategy = {\n open: ({ id, value, opened, parents }) => {\n if (value) {\n const newOpened = new Set<unknown>()\n newOpened.add(id)\n\n let parent = parents.get(id)\n\n while (parent != null) {\n newOpened.add(parent)\n parent = parents.get(parent)\n }\n\n return newOpened\n } else {\n opened.delete(id)\n return opened\n }\n },\n select: () => null,\n}\n\nexport const multipleOpenStrategy: OpenStrategy = {\n open: ({ id, value, opened, parents }) => {\n if (value) {\n let parent = parents.get(id)\n opened.add(id)\n\n while (parent != null && parent !== id) {\n opened.add(parent)\n parent = parents.get(parent)\n }\n\n return opened\n } else {\n opened.delete(id)\n }\n return opened\n },\n select: () => null,\n}\n\nexport const listOpenStrategy: OpenStrategy = {\n open: multipleOpenStrategy.open,\n select: ({ id, value, opened, parents }) => {\n if (!value) return opened\n\n const path: unknown[] = []\n\n let parent = parents.get(id)\n\n while (parent != null) {\n path.push(parent)\n parent = parents.get(parent)\n }\n\n return new Set(path)\n },\n}\n"],"mappings":"AAwBA,OAAO,MAAMA,kBAAgC,GAAG;EAC9CC,IAAI,EAAE,QAAoC;IAAA,IAAnC;MAAEC,EAAE;MAAEC,KAAK;MAAEC,MAAM;MAAEC;IAAQ,CAAC;IACnC,IAAIF,KAAK,EAAE;MACT,MAAMG,SAAS,GAAG,IAAIC,GAAG,EAAW;MACpCD,SAAS,CAACE,GAAG,CAACN,EAAE,CAAC;MAEjB,IAAIO,MAAM,GAAGJ,OAAO,CAACK,GAAG,CAACR,EAAE,CAAC;MAE5B,OAAOO,MAAM,IAAI,IAAI,EAAE;QACrBH,SAAS,CAACE,GAAG,CAACC,MAAM,CAAC;QACrBA,MAAM,GAAGJ,OAAO,CAACK,GAAG,CAACD,MAAM,CAAC;MAC9B;MAEA,OAAOH,SAAS;IAClB,CAAC,MAAM;MACLF,MAAM,CAACO,MAAM,CAACT,EAAE,CAAC;MACjB,OAAOE,MAAM;IACf;EACF,CAAC;EACDQ,MAAM,EAAE,MAAM;AAChB,CAAC;AAED,OAAO,MAAMC,oBAAkC,GAAG;EAChDZ,IAAI,EAAE,SAAoC;IAAA,IAAnC;MAAEC,EAAE;MAAEC,KAAK;MAAEC,MAAM;MAAEC;IAAQ,CAAC;IACnC,IAAIF,KAAK,EAAE;MACT,IAAIM,MAAM,GAAGJ,OAAO,CAACK,GAAG,CAACR,EAAE,CAAC;MAC5BE,MAAM,CAACI,GAAG,CAACN,EAAE,CAAC;MAEd,OAAOO,MAAM,IAAI,IAAI,IAAIA,MAAM,KAAKP,EAAE,EAAE;QACtCE,MAAM,CAACI,GAAG,CAACC,MAAM,CAAC;QAClBA,MAAM,GAAGJ,OAAO,CAACK,GAAG,CAACD,MAAM,CAAC;MAC9B;MAEA,OAAOL,MAAM;IACf,CAAC,MAAM;MACLA,MAAM,CAACO,MAAM,CAACT,EAAE,CAAC;IACnB;IACA,OAAOE,MAAM;EACf,CAAC;EACDQ,MAAM,EAAE,MAAM;AAChB,CAAC;AAED,OAAO,MAAME,gBAA8B,GAAG;EAC5Cb,IAAI,EAAEY,oBAAoB,CAACZ,IAAI;EAC/BW,MAAM,EAAE,SAAoC;IAAA,IAAnC;MAAEV,EAAE;MAAEC,KAAK;MAAEC,MAAM;MAAEC;IAAQ,CAAC;IACrC,IAAI,CAACF,KAAK,EAAE,OAAOC,MAAM;IAEzB,MAAMW,IAAe,GAAG,EAAE;IAE1B,IAAIN,MAAM,GAAGJ,OAAO,CAACK,GAAG,CAACR,EAAE,CAAC;IAE5B,OAAOO,MAAM,IAAI,IAAI,EAAE;MACrBM,IAAI,CAACC,IAAI,CAACP,MAAM,CAAC;MACjBA,MAAM,GAAGJ,OAAO,CAACK,GAAG,CAACD,MAAM,CAAC;IAC9B;IAEA,OAAO,IAAIF,GAAG,CAACQ,IAAI,CAAC;EACtB;AACF,CAAC"}