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

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 (986) hide show
  1. package/CHANGELOG.md +13 -2
  2. package/_settings.scss +2 -0
  3. package/_styles.scss +1 -0
  4. package/_tools.scss +1 -0
  5. package/dist/_component-variables.sass +61 -0
  6. package/dist/json/attributes.json +898 -526
  7. package/dist/json/importMap.json +156 -180
  8. package/dist/json/tags.json +221 -147
  9. package/dist/json/web-types.json +2698 -1609
  10. package/dist/vuetify.css +4126 -4566
  11. package/dist/vuetify.d.ts +13705 -11374
  12. package/dist/vuetify.esm.js +11107 -9293
  13. package/dist/vuetify.esm.js.map +1 -1
  14. package/dist/vuetify.js +11015 -9200
  15. package/dist/vuetify.js.map +1 -1
  16. package/dist/vuetify.min.css +3 -3
  17. package/dist/vuetify.min.js +1375 -1254
  18. package/dist/vuetify.min.js.map +1 -1
  19. package/lib/blueprints/index.d.ts +171 -0
  20. package/lib/blueprints/index.mjs +4 -0
  21. package/lib/blueprints/index.mjs.map +1 -0
  22. package/lib/blueprints/md1.d.ts +167 -0
  23. package/lib/blueprints/md1.mjs +63 -0
  24. package/lib/blueprints/md1.mjs.map +1 -0
  25. package/lib/blueprints/md2.d.ts +167 -0
  26. package/lib/blueprints/md2.mjs +60 -0
  27. package/lib/blueprints/md2.mjs.map +1 -0
  28. package/lib/blueprints/md3.d.ts +167 -0
  29. package/lib/blueprints/md3.mjs +74 -0
  30. package/lib/blueprints/md3.mjs.map +1 -0
  31. package/lib/components/VAlert/VAlert.css +36 -19
  32. package/lib/components/VAlert/VAlert.mjs +69 -40
  33. package/lib/components/VAlert/VAlert.mjs.map +1 -1
  34. package/lib/components/VAlert/VAlert.sass +26 -11
  35. package/lib/components/VAlert/VAlertTitle.mjs +1 -0
  36. package/lib/components/VAlert/VAlertTitle.mjs.map +1 -1
  37. package/lib/components/VAlert/_variables.scss +14 -7
  38. package/lib/components/VAlert/index.d.ts +185 -0
  39. package/lib/components/VAlert/index.mjs.map +1 -1
  40. package/lib/components/VApp/VApp.css +2 -15
  41. package/lib/components/VApp/VApp.mjs +3 -4
  42. package/lib/components/VApp/VApp.mjs.map +1 -1
  43. package/lib/components/VApp/VApp.sass +11 -20
  44. package/lib/components/VApp/index.d.ts +83 -0
  45. package/lib/components/VApp/index.mjs.map +1 -1
  46. package/lib/components/VApp/variables.scss +6 -0
  47. package/lib/components/VAppBar/VAppBar.css +4 -1
  48. package/lib/components/VAppBar/VAppBar.mjs +15 -10
  49. package/lib/components/VAppBar/VAppBar.mjs.map +1 -1
  50. package/lib/components/VAppBar/VAppBar.sass +3 -1
  51. package/lib/components/VAppBar/VAppBarNavIcon.mjs +11 -14
  52. package/lib/components/VAppBar/VAppBarNavIcon.mjs.map +1 -1
  53. package/lib/components/VAppBar/VAppBarTitle.mjs +7 -4
  54. package/lib/components/VAppBar/VAppBarTitle.mjs.map +1 -1
  55. package/lib/components/VAppBar/_variables.scss +2 -0
  56. package/lib/components/VAppBar/index.d.ts +156 -0
  57. package/lib/components/VAppBar/index.mjs.map +1 -1
  58. package/lib/components/VAutocomplete/VAutocomplete.css +11 -1
  59. package/lib/components/VAutocomplete/VAutocomplete.mjs +142 -105
  60. package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
  61. package/lib/components/VAutocomplete/VAutocomplete.sass +10 -2
  62. package/lib/components/VAutocomplete/_variables.scss +1 -0
  63. package/lib/components/VAutocomplete/index.d.ts +1569 -0
  64. package/lib/components/VAutocomplete/index.mjs.map +1 -1
  65. package/lib/components/VAvatar/VAvatar.css +48 -3
  66. package/lib/components/VAvatar/VAvatar.mjs +29 -23
  67. package/lib/components/VAvatar/VAvatar.mjs.map +1 -1
  68. package/lib/components/VAvatar/VAvatar.sass +10 -3
  69. package/lib/components/VAvatar/_mixins.scss +0 -1
  70. package/lib/components/VAvatar/_variables.scss +9 -4
  71. package/lib/components/VAvatar/index.d.ts +80 -0
  72. package/lib/components/VAvatar/index.mjs.map +1 -1
  73. package/lib/components/VBadge/VBadge.css +3 -6
  74. package/lib/components/VBadge/VBadge.mjs +20 -49
  75. package/lib/components/VBadge/VBadge.mjs.map +1 -1
  76. package/lib/components/VBadge/VBadge.sass +2 -5
  77. package/lib/components/VBadge/_variables.scss +3 -4
  78. package/lib/components/VBadge/index.d.ts +123 -0
  79. package/lib/components/VBadge/index.mjs.map +1 -1
  80. package/lib/components/VBanner/VBanner.css +81 -57
  81. package/lib/components/VBanner/VBanner.mjs +45 -37
  82. package/lib/components/VBanner/VBanner.mjs.map +1 -1
  83. package/lib/components/VBanner/VBanner.sass +60 -55
  84. package/lib/components/VBanner/VBannerActions.mjs +34 -2
  85. package/lib/components/VBanner/VBannerActions.mjs.map +1 -1
  86. package/lib/components/VBanner/VBannerText.mjs.map +1 -1
  87. package/lib/components/VBanner/_variables.scss +10 -14
  88. package/lib/components/VBanner/index.d.ts +122 -0
  89. package/lib/components/VBanner/index.mjs.map +1 -1
  90. package/lib/components/VBottomNavigation/VBottomNavigation.css +6 -13
  91. package/lib/components/VBottomNavigation/VBottomNavigation.mjs +5 -4
  92. package/lib/components/VBottomNavigation/VBottomNavigation.mjs.map +1 -1
  93. package/lib/components/VBottomNavigation/VBottomNavigation.sass +6 -14
  94. package/lib/components/VBottomNavigation/_variables.scss +7 -8
  95. package/lib/components/VBottomNavigation/index.d.ts +143 -0
  96. package/lib/components/VBottomNavigation/index.mjs.map +1 -1
  97. package/lib/components/VBottomSheet/VBottomSheet.mjs.map +1 -1
  98. package/lib/components/VBottomSheet/index.mjs.map +1 -1
  99. package/lib/components/VBreadcrumbs/VBreadcrumbs.css +13 -6
  100. package/lib/components/VBreadcrumbs/VBreadcrumbs.mjs +35 -21
  101. package/lib/components/VBreadcrumbs/VBreadcrumbs.mjs.map +1 -1
  102. package/lib/components/VBreadcrumbs/VBreadcrumbs.sass +8 -4
  103. package/lib/components/VBreadcrumbs/VBreadcrumbsDivider.mjs.map +1 -1
  104. package/lib/components/VBreadcrumbs/VBreadcrumbsItem.mjs +15 -17
  105. package/lib/components/VBreadcrumbs/VBreadcrumbsItem.mjs.map +1 -1
  106. package/lib/components/VBreadcrumbs/_variables.scss +2 -1
  107. package/lib/components/VBreadcrumbs/index.d.ts +301 -0
  108. package/lib/components/VBreadcrumbs/index.mjs.map +1 -1
  109. package/lib/components/VBtn/VBtn.css +141 -28
  110. package/lib/components/VBtn/VBtn.mjs +109 -34
  111. package/lib/components/VBtn/VBtn.mjs.map +1 -1
  112. package/lib/components/VBtn/VBtn.sass +119 -16
  113. package/lib/components/VBtn/_variables.scss +10 -1
  114. package/lib/components/VBtn/index.d.ts +210 -0
  115. package/lib/components/VBtn/index.mjs.map +1 -1
  116. package/lib/components/VBtnGroup/VBtnGroup.css +16 -7
  117. package/lib/components/VBtnGroup/VBtnGroup.mjs.map +1 -1
  118. package/lib/components/VBtnGroup/VBtnGroup.sass +14 -7
  119. package/lib/components/VBtnGroup/_variables.scss +2 -0
  120. package/lib/components/VBtnGroup/index.d.ts +65 -0
  121. package/lib/components/VBtnGroup/index.mjs.map +1 -1
  122. package/lib/components/VBtnToggle/VBtnToggle.mjs +1 -3
  123. package/lib/components/VBtnToggle/VBtnToggle.mjs.map +1 -1
  124. package/lib/components/VBtnToggle/VBtnToggle.sass +0 -1
  125. package/lib/components/VBtnToggle/_variables.scss +1 -0
  126. package/lib/components/VBtnToggle/index.d.ts +175 -0
  127. package/lib/components/VBtnToggle/index.mjs.map +1 -1
  128. package/lib/components/VCalendar/VCalendar.mjs.map +1 -1
  129. package/lib/components/VCalendar/VCalendarCategory.mjs.map +1 -1
  130. package/lib/components/VCalendar/VCalendarDaily.mjs.map +1 -1
  131. package/lib/components/VCalendar/VCalendarMonthly.mjs.map +1 -1
  132. package/lib/components/VCalendar/VCalendarWeekly.mjs.map +1 -1
  133. package/lib/components/VCalendar/index.mjs.map +1 -1
  134. package/lib/components/VCalendar/mixins/calendar-base.mjs.map +1 -1
  135. package/lib/components/VCalendar/mixins/calendar-with-events.mjs +2 -6
  136. package/lib/components/VCalendar/mixins/calendar-with-events.mjs.map +1 -1
  137. package/lib/components/VCalendar/mixins/calendar-with-intervals.mjs.map +1 -1
  138. package/lib/components/VCalendar/mixins/mouse.mjs.map +1 -1
  139. package/lib/components/VCalendar/mixins/times.mjs.map +1 -1
  140. package/lib/components/VCalendar/modes/column.mjs.map +1 -1
  141. package/lib/components/VCalendar/modes/common.mjs.map +1 -1
  142. package/lib/components/VCalendar/modes/index.mjs.map +1 -1
  143. package/lib/components/VCalendar/modes/stack.mjs.map +1 -1
  144. package/lib/components/VCalendar/util/events.mjs.map +1 -1
  145. package/lib/components/VCalendar/util/parser.mjs.map +1 -1
  146. package/lib/components/VCalendar/util/props.mjs.map +1 -1
  147. package/lib/components/VCalendar/util/timestamp.mjs.map +1 -1
  148. package/lib/components/VCard/VCard.css +108 -84
  149. package/lib/components/VCard/VCard.mjs +72 -73
  150. package/lib/components/VCard/VCard.mjs.map +1 -1
  151. package/lib/components/VCard/VCard.sass +76 -61
  152. package/lib/components/VCard/VCardActions.mjs +2 -3
  153. package/lib/components/VCard/VCardActions.mjs.map +1 -1
  154. package/lib/components/VCard/VCardItem.mjs +88 -0
  155. package/lib/components/VCard/VCardItem.mjs.map +1 -0
  156. package/lib/components/VCard/VCardSubtitle.mjs.map +1 -1
  157. package/lib/components/VCard/VCardText.mjs.map +1 -1
  158. package/lib/components/VCard/VCardTitle.mjs.map +1 -1
  159. package/lib/components/VCard/_variables.scss +45 -23
  160. package/lib/components/VCard/index.d.ts +230 -0
  161. package/lib/components/VCard/index.mjs +1 -4
  162. package/lib/components/VCard/index.mjs.map +1 -1
  163. package/lib/components/VCarousel/VCarousel.mjs +9 -7
  164. package/lib/components/VCarousel/VCarousel.mjs.map +1 -1
  165. package/lib/components/VCarousel/VCarousel.sass +0 -1
  166. package/lib/components/VCarousel/VCarouselItem.mjs.map +1 -1
  167. package/lib/components/VCarousel/_variables.scss +1 -0
  168. package/lib/components/VCarousel/index.d.ts +80 -0
  169. package/lib/components/VCarousel/index.mjs.map +1 -1
  170. package/lib/components/VCheckbox/VCheckbox.mjs +15 -47
  171. package/lib/components/VCheckbox/VCheckbox.mjs.map +1 -1
  172. package/lib/components/VCheckbox/VCheckbox.sass +0 -1
  173. package/lib/components/VCheckbox/VCheckboxBtn.mjs +67 -0
  174. package/lib/components/VCheckbox/VCheckboxBtn.mjs.map +1 -0
  175. package/lib/components/VCheckbox/index.d.ts +291 -0
  176. package/lib/components/VCheckbox/index.mjs +1 -0
  177. package/lib/components/VCheckbox/index.mjs.map +1 -1
  178. package/lib/components/VChip/VChip.css +147 -68
  179. package/lib/components/VChip/VChip.mjs +83 -43
  180. package/lib/components/VChip/VChip.mjs.map +1 -1
  181. package/lib/components/VChip/VChip.sass +9 -1
  182. package/lib/components/VChip/_mixins.scss +26 -6
  183. package/lib/components/VChip/_variables.scss +4 -5
  184. package/lib/components/VChip/index.d.ts +195 -0
  185. package/lib/components/VChip/index.mjs.map +1 -1
  186. package/lib/components/VChipGroup/VChipGroup.mjs +5 -4
  187. package/lib/components/VChipGroup/VChipGroup.mjs.map +1 -1
  188. package/lib/components/VChipGroup/VChipGroup.sass +1 -1
  189. package/lib/components/VChipGroup/_variables.scss +1 -1
  190. package/lib/components/VChipGroup/index.d.ts +89 -0
  191. package/lib/components/VChipGroup/index.mjs.map +1 -1
  192. package/lib/components/VCode/VCode.sass +1 -2
  193. package/lib/components/VCode/_variables.scss +1 -1
  194. package/lib/components/VCode/index.d.ts +19 -0
  195. package/lib/components/VCode/index.mjs.map +1 -1
  196. package/lib/components/VColorPicker/VColorPicker.css +3 -3
  197. package/lib/components/VColorPicker/VColorPicker.mjs +55 -53
  198. package/lib/components/VColorPicker/VColorPicker.mjs.map +1 -1
  199. package/lib/components/VColorPicker/VColorPicker.sass +0 -1
  200. package/lib/components/VColorPicker/VColorPickerCanvas.css +1 -1
  201. package/lib/components/VColorPicker/VColorPickerCanvas.mjs +10 -9
  202. package/lib/components/VColorPicker/VColorPickerCanvas.mjs.map +1 -1
  203. package/lib/components/VColorPicker/VColorPickerCanvas.sass +0 -1
  204. package/lib/components/VColorPicker/VColorPickerEdit.mjs +4 -3
  205. package/lib/components/VColorPicker/VColorPickerEdit.mjs.map +1 -1
  206. package/lib/components/VColorPicker/VColorPickerEdit.sass +0 -1
  207. package/lib/components/VColorPicker/VColorPickerPreview.mjs +14 -21
  208. package/lib/components/VColorPicker/VColorPickerPreview.mjs.map +1 -1
  209. package/lib/components/VColorPicker/VColorPickerPreview.sass +0 -1
  210. package/lib/components/VColorPicker/VColorPickerSwatches.mjs +6 -5
  211. package/lib/components/VColorPicker/VColorPickerSwatches.mjs.map +1 -1
  212. package/lib/components/VColorPicker/VColorPickerSwatches.sass +0 -1
  213. package/lib/components/VColorPicker/_variables.scss +17 -10
  214. package/lib/components/VColorPicker/index.d.ts +116 -0
  215. package/lib/components/VColorPicker/index.mjs.map +1 -1
  216. package/lib/components/VColorPicker/util/index.mjs +1 -3
  217. package/lib/components/VColorPicker/util/index.mjs.map +1 -1
  218. package/lib/components/VCombobox/VCombobox.css +11 -1
  219. package/lib/components/VCombobox/VCombobox.mjs +145 -116
  220. package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
  221. package/lib/components/VCombobox/VCombobox.sass +10 -2
  222. package/lib/components/VCombobox/_variables.scss +1 -0
  223. package/lib/components/VCombobox/index.d.ts +1590 -0
  224. package/lib/components/VCombobox/index.mjs.map +1 -1
  225. package/lib/components/VCounter/VCounter.mjs +16 -16
  226. package/lib/components/VCounter/VCounter.mjs.map +1 -1
  227. package/lib/components/VCounter/VCounter.sass +1 -2
  228. package/lib/components/VCounter/_variables.scss +2 -1
  229. package/lib/components/VCounter/index.d.ts +223 -0
  230. package/lib/components/VCounter/index.mjs.map +1 -1
  231. package/lib/components/VData/VData.mjs.map +1 -1
  232. package/lib/components/VData/index.mjs.map +1 -1
  233. package/lib/components/VDataIterator/VDataFooter.mjs.map +1 -1
  234. package/lib/components/VDataIterator/VDataIterator.mjs.map +1 -1
  235. package/lib/components/VDataIterator/index.mjs.map +1 -1
  236. package/lib/components/VDataTable/MobileRow.mjs.map +1 -1
  237. package/lib/components/VDataTable/Row.mjs.map +1 -1
  238. package/lib/components/VDataTable/RowGroup.mjs.map +1 -1
  239. package/lib/components/VDataTable/VDataTable.mjs +11 -15
  240. package/lib/components/VDataTable/VDataTable.mjs.map +1 -1
  241. package/lib/components/VDataTable/VDataTableHeader.mjs.map +1 -1
  242. package/lib/components/VDataTable/VDataTableHeaderDesktop.mjs.map +1 -1
  243. package/lib/components/VDataTable/VDataTableHeaderMobile.mjs.map +1 -1
  244. package/lib/components/VDataTable/VEditDialog.mjs.map +1 -1
  245. package/lib/components/VDataTable/VVirtualTable.mjs.map +1 -1
  246. package/lib/components/VDataTable/index.mjs.map +1 -1
  247. package/lib/components/VDataTable/mixins/header.mjs +1 -3
  248. package/lib/components/VDataTable/mixins/header.mjs.map +1 -1
  249. package/lib/components/VDatePicker/VDatePicker.mjs.map +1 -1
  250. package/lib/components/VDatePicker/VDatePickerDateTable.mjs.map +1 -1
  251. package/lib/components/VDatePicker/VDatePickerHeader.mjs.map +1 -1
  252. package/lib/components/VDatePicker/VDatePickerMonthTable.mjs.map +1 -1
  253. package/lib/components/VDatePicker/VDatePickerTitle.mjs.map +1 -1
  254. package/lib/components/VDatePicker/VDatePickerYears.mjs.map +1 -1
  255. package/lib/components/VDatePicker/index.mjs.map +1 -1
  256. package/lib/components/VDatePicker/mixins/date-picker-table.mjs.map +1 -1
  257. package/lib/components/VDatePicker/util/createNativeLocaleFormatter.mjs.map +1 -1
  258. package/lib/components/VDatePicker/util/eventHelpers.mjs.map +1 -1
  259. package/lib/components/VDatePicker/util/index.mjs.map +1 -1
  260. package/lib/components/VDatePicker/util/isDateAllowed.mjs.map +1 -1
  261. package/lib/components/VDatePicker/util/monthChange.mjs.map +1 -1
  262. package/lib/components/VDatePicker/util/pad.mjs.map +1 -1
  263. package/lib/components/VDatePicker/util/sanitizeDateString.mjs.map +1 -1
  264. package/lib/components/VDefaultsProvider/VDefaultsProvider.mjs.map +1 -1
  265. package/lib/components/VDefaultsProvider/index.d.ts +26 -0
  266. package/lib/components/VDefaultsProvider/index.mjs.map +1 -1
  267. package/lib/components/VDialog/VDialog.css +36 -17
  268. package/lib/components/VDialog/VDialog.mjs +46 -38
  269. package/lib/components/VDialog/VDialog.mjs.map +1 -1
  270. package/lib/components/VDialog/VDialog.sass +30 -15
  271. package/lib/components/VDialog/_variables.scss +3 -8
  272. package/lib/components/VDialog/index.d.ts +859 -0
  273. package/lib/components/VDialog/index.mjs.map +1 -1
  274. package/lib/components/VDivider/VDivider.mjs +16 -17
  275. package/lib/components/VDivider/VDivider.mjs.map +1 -1
  276. package/lib/components/VDivider/VDivider.sass +0 -1
  277. package/lib/components/VDivider/_variables.scss +3 -1
  278. package/lib/components/VDivider/index.d.ts +22 -0
  279. package/lib/components/VDivider/index.mjs.map +1 -1
  280. package/lib/components/VExpansionPanel/VExpansionPanel.css +15 -7
  281. package/lib/components/VExpansionPanel/VExpansionPanel.mjs +15 -6
  282. package/lib/components/VExpansionPanel/VExpansionPanel.mjs.map +1 -1
  283. package/lib/components/VExpansionPanel/VExpansionPanel.sass +1 -1
  284. package/lib/components/VExpansionPanel/VExpansionPanelText.mjs.map +1 -1
  285. package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs +14 -11
  286. package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs.map +1 -1
  287. package/lib/components/VExpansionPanel/VExpansionPanels.mjs +4 -0
  288. package/lib/components/VExpansionPanel/VExpansionPanels.mjs.map +1 -1
  289. package/lib/components/VExpansionPanel/_variables.scss +15 -10
  290. package/lib/components/VExpansionPanel/index.d.ts +206 -0
  291. package/lib/components/VExpansionPanel/index.mjs.map +1 -1
  292. package/lib/components/VField/VField.css +63 -41
  293. package/lib/components/VField/VField.mjs +52 -36
  294. package/lib/components/VField/VField.mjs.map +1 -1
  295. package/lib/components/VField/VField.sass +49 -35
  296. package/lib/components/VField/VFieldLabel.mjs +8 -9
  297. package/lib/components/VField/VFieldLabel.mjs.map +1 -1
  298. package/lib/components/VField/_variables.scss +6 -5
  299. package/lib/components/VField/index.d.ts +332 -0
  300. package/lib/components/VField/index.mjs.map +1 -1
  301. package/lib/components/VFileInput/VFileInput.css +3 -3
  302. package/lib/components/VFileInput/VFileInput.mjs +48 -47
  303. package/lib/components/VFileInput/VFileInput.mjs.map +1 -1
  304. package/lib/components/VFileInput/VFileInput.sass +3 -4
  305. package/lib/components/VFileInput/index.d.ts +236 -0
  306. package/lib/components/VFileInput/index.mjs.map +1 -1
  307. package/lib/components/VFooter/VFooter.css +8 -1
  308. package/lib/components/VFooter/VFooter.mjs +36 -18
  309. package/lib/components/VFooter/VFooter.mjs.map +1 -1
  310. package/lib/components/VFooter/VFooter.sass +1 -2
  311. package/lib/components/VFooter/_variables.scss +13 -1
  312. package/lib/components/VFooter/index.d.ts +76 -0
  313. package/lib/components/VFooter/index.mjs.map +1 -1
  314. package/lib/components/VForm/VForm.mjs +27 -13
  315. package/lib/components/VForm/VForm.mjs.map +1 -1
  316. package/lib/components/VForm/index.d.ts +72 -0
  317. package/lib/components/VForm/index.mjs.map +1 -1
  318. package/lib/components/VGrid/VCol.mjs +2 -1
  319. package/lib/components/VGrid/VCol.mjs.map +1 -1
  320. package/lib/components/VGrid/VContainer.mjs +4 -3
  321. package/lib/components/VGrid/VContainer.mjs.map +1 -1
  322. package/lib/components/VGrid/VRow.mjs +8 -3
  323. package/lib/components/VGrid/VRow.mjs.map +1 -1
  324. package/lib/components/VGrid/VSpacer.mjs.map +1 -1
  325. package/lib/components/VGrid/index.d.ts +154 -0
  326. package/lib/components/VGrid/index.mjs.map +1 -1
  327. package/lib/components/VHover/VHover.mjs.map +1 -1
  328. package/lib/components/VHover/index.d.ts +30 -0
  329. package/lib/components/VHover/index.mjs.map +1 -1
  330. package/lib/components/VIcon/VIcon.css +13 -16
  331. package/lib/components/VIcon/VIcon.mjs +34 -33
  332. package/lib/components/VIcon/VIcon.mjs.map +1 -1
  333. package/lib/components/VIcon/VIcon.sass +8 -16
  334. package/lib/components/VIcon/_variables.scss +2 -5
  335. package/lib/components/VIcon/index.d.ts +124 -0
  336. package/lib/components/VIcon/index.mjs.map +1 -1
  337. package/lib/components/VImg/VImg.mjs +29 -26
  338. package/lib/components/VImg/VImg.mjs.map +1 -1
  339. package/lib/components/VImg/VImg.sass +0 -1
  340. package/lib/components/VImg/index.d.ts +89 -0
  341. package/lib/components/VImg/index.mjs.map +1 -1
  342. package/lib/components/VInput/InputIcon.mjs +33 -0
  343. package/lib/components/VInput/InputIcon.mjs.map +1 -0
  344. package/lib/components/VInput/VInput.css +5 -2
  345. package/lib/components/VInput/VInput.mjs +26 -18
  346. package/lib/components/VInput/VInput.mjs.map +1 -1
  347. package/lib/components/VInput/VInput.sass +5 -3
  348. package/lib/components/VInput/_variables.scss +4 -1
  349. package/lib/components/VInput/index.d.ts +325 -0
  350. package/lib/components/VInput/index.mjs.map +1 -1
  351. package/lib/components/VItemGroup/VItem.mjs +3 -0
  352. package/lib/components/VItemGroup/VItem.mjs.map +1 -1
  353. package/lib/components/VItemGroup/VItemGroup.mjs.map +1 -1
  354. package/lib/components/VItemGroup/VItemGroup.sass +0 -1
  355. package/lib/components/VItemGroup/index.d.ts +210 -0
  356. package/lib/components/VItemGroup/index.mjs.map +1 -1
  357. package/lib/components/VKbd/VKbd.css +1 -1
  358. package/lib/components/VKbd/VKbd.sass +0 -1
  359. package/lib/components/VKbd/_variables.scss +1 -1
  360. package/lib/components/VKbd/index.d.ts +19 -0
  361. package/lib/components/VKbd/index.mjs.map +1 -1
  362. package/lib/components/VLabel/VLabel.css +4 -1
  363. package/lib/components/VLabel/VLabel.mjs +8 -4
  364. package/lib/components/VLabel/VLabel.mjs.map +1 -1
  365. package/lib/components/VLabel/VLabel.sass +3 -2
  366. package/lib/components/VLabel/_variables.scss +1 -0
  367. package/lib/components/VLabel/index.d.ts +16 -0
  368. package/lib/components/VLabel/index.mjs.map +1 -1
  369. package/lib/components/VLayout/VLayout.css +0 -2
  370. package/lib/components/VLayout/VLayout.mjs.map +1 -1
  371. package/lib/components/VLayout/VLayout.sass +0 -2
  372. package/lib/components/VLayout/VLayoutItem.mjs +1 -1
  373. package/lib/components/VLayout/VLayoutItem.mjs.map +1 -1
  374. package/lib/components/VLayout/index.d.ts +75 -0
  375. package/lib/components/VLayout/index.mjs.map +1 -1
  376. package/lib/components/VLazy/VLazy.mjs +5 -3
  377. package/lib/components/VLazy/VLazy.mjs.map +1 -1
  378. package/lib/components/VLazy/index.d.ts +85 -0
  379. package/lib/components/VLazy/index.mjs.map +1 -1
  380. package/lib/components/VList/VList.css +14 -16
  381. package/lib/components/VList/VList.mjs +92 -59
  382. package/lib/components/VList/VList.mjs.map +1 -1
  383. package/lib/components/VList/VList.sass +9 -6
  384. package/lib/components/VList/VListChildren.mjs +69 -13
  385. package/lib/components/VList/VListChildren.mjs.map +1 -1
  386. package/lib/components/VList/VListGroup.mjs +52 -19
  387. package/lib/components/VList/VListGroup.mjs.map +1 -1
  388. package/lib/components/VList/VListImg.mjs.map +1 -1
  389. package/lib/components/VList/VListItem.css +181 -73
  390. package/lib/components/VList/VListItem.mjs +124 -82
  391. package/lib/components/VList/VListItem.mjs.map +1 -1
  392. package/lib/components/VList/VListItem.sass +125 -49
  393. package/lib/components/VList/VListItemAction.mjs +28 -0
  394. package/lib/components/VList/VListItemAction.mjs.map +1 -0
  395. package/lib/components/VList/VListItemMedia.mjs +8 -7
  396. package/lib/components/VList/VListItemMedia.mjs.map +1 -1
  397. package/lib/components/VList/VListItemSubtitle.mjs.map +1 -1
  398. package/lib/components/VList/VListItemTitle.mjs.map +1 -1
  399. package/lib/components/VList/VListSubheader.mjs +8 -7
  400. package/lib/components/VList/VListSubheader.mjs.map +1 -1
  401. package/lib/components/VList/_variables.scss +24 -9
  402. package/lib/components/VList/index.d.ts +1250 -0
  403. package/lib/components/VList/index.mjs +3 -4
  404. package/lib/components/VList/index.mjs.map +1 -1
  405. package/lib/components/VList/list.mjs.map +1 -1
  406. package/lib/components/VLocaleProvider/VLocaleProvider.mjs +5 -3
  407. package/lib/components/VLocaleProvider/VLocaleProvider.mjs.map +1 -1
  408. package/lib/components/VLocaleProvider/index.d.ts +23 -0
  409. package/lib/components/VLocaleProvider/index.mjs.map +1 -1
  410. package/lib/components/VMain/VMain.css +20 -9
  411. package/lib/components/VMain/VMain.mjs +17 -11
  412. package/lib/components/VMain/VMain.mjs.map +1 -1
  413. package/lib/components/VMain/VMain.sass +17 -11
  414. package/lib/components/VMain/_variables.scss +1 -1
  415. package/lib/components/VMain/index.d.ts +26 -0
  416. package/lib/components/VMain/index.mjs.map +1 -1
  417. package/lib/components/VMenu/VMenu.css +3 -13
  418. package/lib/components/VMenu/VMenu.mjs +81 -34
  419. package/lib/components/VMenu/VMenu.mjs.map +1 -1
  420. package/lib/components/VMenu/VMenu.sass +3 -7
  421. package/lib/components/VMenu/_variables.scss +0 -1
  422. package/lib/components/VMenu/index.d.ts +817 -0
  423. package/lib/components/VMenu/index.mjs.map +1 -1
  424. package/lib/components/VMenu/shared.mjs +2 -0
  425. package/lib/components/VMenu/shared.mjs.map +1 -0
  426. package/lib/components/VMessages/VMessages.mjs +5 -3
  427. package/lib/components/VMessages/VMessages.mjs.map +1 -1
  428. package/lib/components/VMessages/VMessages.sass +0 -1
  429. package/lib/components/VMessages/_variables.scss +1 -1
  430. package/lib/components/VMessages/index.d.ts +234 -0
  431. package/lib/components/VMessages/index.mjs.map +1 -1
  432. package/lib/components/VNavigationDrawer/VNavigationDrawer.css +14 -19
  433. package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs +60 -21
  434. package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs.map +1 -1
  435. package/lib/components/VNavigationDrawer/VNavigationDrawer.sass +16 -22
  436. package/lib/components/VNavigationDrawer/_variables.scss +4 -2
  437. package/lib/components/VNavigationDrawer/index.d.ts +148 -0
  438. package/lib/components/VNavigationDrawer/index.mjs.map +1 -1
  439. package/lib/components/VNavigationDrawer/sticky.mjs +70 -0
  440. package/lib/components/VNavigationDrawer/sticky.mjs.map +1 -0
  441. package/lib/components/VNavigationDrawer/touch.mjs +5 -2
  442. package/lib/components/VNavigationDrawer/touch.mjs.map +1 -1
  443. package/lib/components/VNoSsr/VNoSsr.mjs.map +1 -1
  444. package/lib/components/VNoSsr/index.d.ts +7 -0
  445. package/lib/components/VNoSsr/index.mjs.map +1 -1
  446. package/lib/components/VOtpInput/VOtpInput.mjs.map +1 -1
  447. package/lib/components/VOtpInput/index.mjs.map +1 -1
  448. package/lib/components/VOverflowBtn/VOverflowBtn.mjs.map +1 -1
  449. package/lib/components/VOverflowBtn/index.mjs.map +1 -1
  450. package/lib/components/VOverlay/VOverlay.css +7 -0
  451. package/lib/components/VOverlay/VOverlay.mjs +73 -45
  452. package/lib/components/VOverlay/VOverlay.mjs.map +1 -1
  453. package/lib/components/VOverlay/VOverlay.sass +8 -1
  454. package/lib/components/VOverlay/_variables.scss +1 -1
  455. package/lib/components/VOverlay/index.d.ts +579 -0
  456. package/lib/components/VOverlay/index.mjs.map +1 -1
  457. package/lib/components/VOverlay/locationStrategies.mjs +404 -0
  458. package/lib/components/VOverlay/locationStrategies.mjs.map +1 -0
  459. package/lib/components/VOverlay/requestNewFrame.mjs.map +1 -1
  460. package/lib/components/VOverlay/scrollStrategies.mjs +19 -13
  461. package/lib/components/VOverlay/scrollStrategies.mjs.map +1 -1
  462. package/lib/components/VOverlay/useActivator.mjs +86 -17
  463. package/lib/components/VOverlay/useActivator.mjs.map +1 -1
  464. package/lib/components/VOverlay/util/point.mjs +3 -3
  465. package/lib/components/VOverlay/util/point.mjs.map +1 -1
  466. package/lib/components/VPagination/VPagination.mjs +63 -44
  467. package/lib/components/VPagination/VPagination.mjs.map +1 -1
  468. package/lib/components/VPagination/VPagination.sass +0 -1
  469. package/lib/components/VPagination/index.d.ts +247 -0
  470. package/lib/components/VPagination/index.mjs.map +1 -1
  471. package/lib/components/VParallax/VParallax.mjs +30 -16
  472. package/lib/components/VParallax/VParallax.mjs.map +1 -1
  473. package/lib/components/VParallax/index.d.ts +18 -0
  474. package/lib/components/VParallax/index.mjs.map +1 -1
  475. package/lib/components/VPicker/VPicker.mjs.map +1 -1
  476. package/lib/components/VPicker/index.mjs.map +1 -1
  477. package/lib/components/VProgressCircular/VProgressCircular.mjs +6 -5
  478. package/lib/components/VProgressCircular/VProgressCircular.mjs.map +1 -1
  479. package/lib/components/VProgressCircular/VProgressCircular.sass +0 -1
  480. package/lib/components/VProgressCircular/_variables.scss +2 -0
  481. package/lib/components/VProgressCircular/index.d.ts +68 -0
  482. package/lib/components/VProgressCircular/index.mjs.map +1 -1
  483. package/lib/components/VProgressLinear/VProgressLinear.css +1 -1
  484. package/lib/components/VProgressLinear/VProgressLinear.mjs +5 -3
  485. package/lib/components/VProgressLinear/VProgressLinear.mjs.map +1 -1
  486. package/lib/components/VProgressLinear/VProgressLinear.sass +0 -1
  487. package/lib/components/VProgressLinear/_variables.scss +1 -0
  488. package/lib/components/VProgressLinear/index.d.ts +101 -0
  489. package/lib/components/VProgressLinear/index.mjs.map +1 -1
  490. package/lib/components/VRadio/VRadio.mjs +9 -17
  491. package/lib/components/VRadio/VRadio.mjs.map +1 -1
  492. package/lib/components/VRadio/index.d.ts +103 -0
  493. package/lib/components/VRadio/index.mjs.map +1 -1
  494. package/lib/components/VRadioGroup/VRadioGroup.css +2 -3
  495. package/lib/components/VRadioGroup/VRadioGroup.mjs +32 -9
  496. package/lib/components/VRadioGroup/VRadioGroup.mjs.map +1 -1
  497. package/lib/components/VRadioGroup/VRadioGroup.sass +6 -4
  498. package/lib/components/VRadioGroup/_variables.scss +2 -4
  499. package/lib/components/VRadioGroup/index.d.ts +186 -0
  500. package/lib/components/VRadioGroup/index.mjs.map +1 -1
  501. package/lib/components/VRangeSlider/VRangeSlider.mjs +27 -15
  502. package/lib/components/VRangeSlider/VRangeSlider.mjs.map +1 -1
  503. package/lib/components/VRangeSlider/index.d.ts +242 -0
  504. package/lib/components/VRangeSlider/index.mjs.map +1 -1
  505. package/lib/components/VRating/VRating.css +2 -2
  506. package/lib/components/VRating/VRating.mjs +24 -18
  507. package/lib/components/VRating/VRating.mjs.map +1 -1
  508. package/lib/components/VRating/VRating.sass +4 -3
  509. package/lib/components/VRating/index.d.ts +356 -0
  510. package/lib/components/VRating/index.mjs.map +1 -1
  511. package/lib/components/VResponsive/VResponsive.mjs +7 -6
  512. package/lib/components/VResponsive/VResponsive.mjs.map +1 -1
  513. package/lib/components/VResponsive/index.d.ts +23 -0
  514. package/lib/components/VResponsive/index.mjs.map +1 -1
  515. package/lib/components/VSelect/VSelect.css +18 -2
  516. package/lib/components/VSelect/VSelect.mjs +145 -112
  517. package/lib/components/VSelect/VSelect.mjs.map +1 -1
  518. package/lib/components/VSelect/VSelect.sass +20 -3
  519. package/lib/components/VSelect/_variables.scss +1 -0
  520. package/lib/components/VSelect/index.d.ts +1521 -0
  521. package/lib/components/VSelect/index.mjs.map +1 -1
  522. package/lib/components/VSelectionControl/VSelectionControl.css +1 -0
  523. package/lib/components/VSelectionControl/VSelectionControl.mjs +33 -25
  524. package/lib/components/VSelectionControl/VSelectionControl.mjs.map +1 -1
  525. package/lib/components/VSelectionControl/VSelectionControl.sass +1 -1
  526. package/lib/components/VSelectionControl/_variables.scss +1 -0
  527. package/lib/components/VSelectionControl/index.d.ts +275 -0
  528. package/lib/components/VSelectionControl/index.mjs.map +1 -1
  529. package/lib/components/VSelectionControlGroup/VSelectionControlGroup.css +5 -0
  530. package/lib/components/VSelectionControlGroup/VSelectionControlGroup.mjs +10 -7
  531. package/lib/components/VSelectionControlGroup/VSelectionControlGroup.mjs.map +1 -1
  532. package/lib/components/VSelectionControlGroup/VSelectionControlGroup.sass +6 -6
  533. package/lib/components/VSelectionControlGroup/_variables.scss +1 -4
  534. package/lib/components/VSelectionControlGroup/index.d.ts +47 -0
  535. package/lib/components/VSelectionControlGroup/index.mjs.map +1 -1
  536. package/lib/components/VSheet/VSheet.css +1 -1
  537. package/lib/components/VSheet/VSheet.mjs +10 -6
  538. package/lib/components/VSheet/VSheet.mjs.map +1 -1
  539. package/lib/components/VSheet/VSheet.sass +0 -1
  540. package/lib/components/VSheet/_variables.scss +3 -2
  541. package/lib/components/VSheet/index.d.ts +68 -0
  542. package/lib/components/VSheet/index.mjs.map +1 -1
  543. package/lib/components/VSkeletonLoader/VSkeletonLoader.mjs.map +1 -1
  544. package/lib/components/VSkeletonLoader/index.mjs.map +1 -1
  545. package/lib/components/VSlideGroup/VSlideGroup.css +0 -5
  546. package/lib/components/VSlideGroup/VSlideGroup.mjs +105 -74
  547. package/lib/components/VSlideGroup/VSlideGroup.mjs.map +1 -1
  548. package/lib/components/VSlideGroup/VSlideGroup.sass +0 -5
  549. package/lib/components/VSlideGroup/VSlideGroupItem.mjs +10 -4
  550. package/lib/components/VSlideGroup/VSlideGroupItem.mjs.map +1 -1
  551. package/lib/components/VSlideGroup/_variables.scss +0 -5
  552. package/lib/components/VSlideGroup/helpers.mjs +4 -15
  553. package/lib/components/VSlideGroup/helpers.mjs.map +1 -1
  554. package/lib/components/VSlideGroup/index.d.ts +151 -0
  555. package/lib/components/VSlideGroup/index.mjs +2 -2
  556. package/lib/components/VSlideGroup/index.mjs.map +1 -1
  557. package/lib/components/VSlider/VSlider.css +14 -4
  558. package/lib/components/VSlider/VSlider.mjs +17 -9
  559. package/lib/components/VSlider/VSlider.mjs.map +1 -1
  560. package/lib/components/VSlider/VSlider.sass +17 -9
  561. package/lib/components/VSlider/VSliderThumb.css +10 -6
  562. package/lib/components/VSlider/VSliderThumb.mjs +9 -8
  563. package/lib/components/VSlider/VSliderThumb.mjs.map +1 -1
  564. package/lib/components/VSlider/VSliderThumb.sass +11 -10
  565. package/lib/components/VSlider/VSliderTrack.css +25 -25
  566. package/lib/components/VSlider/VSliderTrack.mjs +22 -16
  567. package/lib/components/VSlider/VSliderTrack.mjs.map +1 -1
  568. package/lib/components/VSlider/VSliderTrack.sass +20 -22
  569. package/lib/components/VSlider/_variables.scss +7 -4
  570. package/lib/components/VSlider/index.d.ts +239 -0
  571. package/lib/components/VSlider/index.mjs.map +1 -1
  572. package/lib/components/VSlider/slider.mjs +15 -25
  573. package/lib/components/VSlider/slider.mjs.map +1 -1
  574. package/lib/components/VSnackbar/VSnackbar.css +22 -40
  575. package/lib/components/VSnackbar/VSnackbar.mjs +70 -50
  576. package/lib/components/VSnackbar/VSnackbar.mjs.map +1 -1
  577. package/lib/components/VSnackbar/VSnackbar.sass +15 -35
  578. package/lib/components/VSnackbar/_variables.scss +3 -7
  579. package/lib/components/VSnackbar/index.d.ts +892 -0
  580. package/lib/components/VSnackbar/index.mjs.map +1 -1
  581. package/lib/components/VSparkline/VSparkline.mjs.map +1 -1
  582. package/lib/components/VSparkline/helpers/core.mjs.map +1 -1
  583. package/lib/components/VSparkline/helpers/math.mjs.map +1 -1
  584. package/lib/components/VSparkline/helpers/path.mjs.map +1 -1
  585. package/lib/components/VSparkline/index.mjs.map +1 -1
  586. package/lib/components/VSpeedDial/VSpeedDial.mjs.map +1 -1
  587. package/lib/components/VSpeedDial/index.mjs.map +1 -1
  588. package/lib/components/VStepper/VStepper.mjs.map +1 -1
  589. package/lib/components/VStepper/VStepperContent.mjs.map +1 -1
  590. package/lib/components/VStepper/VStepperStep.mjs.map +1 -1
  591. package/lib/components/VStepper/index.mjs.map +1 -1
  592. package/lib/components/VSwitch/VSwitch.css +9 -2
  593. package/lib/components/VSwitch/VSwitch.mjs +15 -6
  594. package/lib/components/VSwitch/VSwitch.mjs.map +1 -1
  595. package/lib/components/VSwitch/VSwitch.sass +6 -1
  596. package/lib/components/VSwitch/_variables.scss +1 -0
  597. package/lib/components/VSwitch/index.d.ts +175 -0
  598. package/lib/components/VSwitch/index.mjs.map +1 -1
  599. package/lib/components/VSystemBar/VSystemBar.css +1 -6
  600. package/lib/components/VSystemBar/VSystemBar.mjs +22 -17
  601. package/lib/components/VSystemBar/VSystemBar.mjs.map +1 -1
  602. package/lib/components/VSystemBar/VSystemBar.sass +0 -6
  603. package/lib/components/VSystemBar/_variables.scss +2 -4
  604. package/lib/components/VSystemBar/index.d.ts +61 -0
  605. package/lib/components/VSystemBar/index.mjs.map +1 -1
  606. package/lib/components/VTable/VTable.css +1 -0
  607. package/lib/components/VTable/VTable.mjs +9 -8
  608. package/lib/components/VTable/VTable.mjs.map +1 -1
  609. package/lib/components/VTable/VTable.sass +1 -1
  610. package/lib/components/VTable/_variables.scss +2 -0
  611. package/lib/components/VTable/index.d.ts +39 -0
  612. package/lib/components/VTable/index.mjs.map +1 -1
  613. package/lib/components/VTabs/VTab.css +6 -3
  614. package/lib/components/VTabs/VTab.mjs +34 -36
  615. package/lib/components/VTabs/VTab.mjs.map +1 -1
  616. package/lib/components/VTabs/VTab.sass +7 -4
  617. package/lib/components/VTabs/VTabs.css +16 -13
  618. package/lib/components/VTabs/VTabs.mjs +17 -15
  619. package/lib/components/VTabs/VTabs.mjs.map +1 -1
  620. package/lib/components/VTabs/VTabs.sass +11 -8
  621. package/lib/components/VTabs/_variables.scss +2 -0
  622. package/lib/components/VTabs/index.d.ts +178 -0
  623. package/lib/components/VTabs/index.mjs.map +1 -1
  624. package/lib/components/VTabs/shared.mjs +2 -0
  625. package/lib/components/VTabs/shared.mjs.map +1 -0
  626. package/lib/components/VTextField/VTextField.css +5 -5
  627. package/lib/components/VTextField/VTextField.mjs +42 -37
  628. package/lib/components/VTextField/VTextField.mjs.map +1 -1
  629. package/lib/components/VTextField/VTextField.sass +5 -7
  630. package/lib/components/VTextField/_variables.scss +1 -1
  631. package/lib/components/VTextField/index.d.ts +582 -0
  632. package/lib/components/VTextField/index.mjs.map +1 -1
  633. package/lib/components/VTextarea/VTextarea.css +14 -5
  634. package/lib/components/VTextarea/VTextarea.mjs +47 -26
  635. package/lib/components/VTextarea/VTextarea.mjs.map +1 -1
  636. package/lib/components/VTextarea/VTextarea.sass +18 -8
  637. package/lib/components/VTextarea/_variables.scss +1 -1
  638. package/lib/components/VTextarea/index.d.ts +218 -0
  639. package/lib/components/VTextarea/index.mjs.map +1 -1
  640. package/lib/components/VThemeProvider/VThemeProvider.mjs.map +1 -1
  641. package/lib/components/VThemeProvider/index.d.ts +24 -0
  642. package/lib/components/VThemeProvider/index.mjs.map +1 -1
  643. package/lib/components/VTimePicker/SelectingTimes.mjs.map +1 -1
  644. package/lib/components/VTimePicker/VTimePicker.mjs.map +1 -1
  645. package/lib/components/VTimePicker/VTimePickerClock.mjs.map +1 -1
  646. package/lib/components/VTimePicker/VTimePickerTitle.mjs.map +1 -1
  647. package/lib/components/VTimePicker/index.mjs.map +1 -1
  648. package/lib/components/VTimeline/VTimeline.css +241 -55
  649. package/lib/components/VTimeline/VTimeline.mjs +52 -32
  650. package/lib/components/VTimeline/VTimeline.mjs.map +1 -1
  651. package/lib/components/VTimeline/VTimeline.sass +251 -57
  652. package/lib/components/VTimeline/VTimelineDivider.mjs +45 -37
  653. package/lib/components/VTimeline/VTimelineDivider.mjs.map +1 -1
  654. package/lib/components/VTimeline/VTimelineItem.mjs +17 -15
  655. package/lib/components/VTimeline/VTimelineItem.mjs.map +1 -1
  656. package/lib/components/VTimeline/_mixins.sass +10 -0
  657. package/lib/components/VTimeline/_variables.scss +16 -9
  658. package/lib/components/VTimeline/index.d.ts +154 -0
  659. package/lib/components/VTimeline/index.mjs.map +1 -1
  660. package/lib/components/VToolbar/VToolbar.css +24 -33
  661. package/lib/components/VToolbar/VToolbar.mjs +32 -31
  662. package/lib/components/VToolbar/VToolbar.mjs.map +1 -1
  663. package/lib/components/VToolbar/VToolbar.sass +17 -19
  664. package/lib/components/VToolbar/VToolbarItems.mjs +12 -9
  665. package/lib/components/VToolbar/VToolbarItems.mjs.map +1 -1
  666. package/lib/components/VToolbar/VToolbarTitle.mjs.map +1 -1
  667. package/lib/components/VToolbar/_variables.scss +20 -8
  668. package/lib/components/VToolbar/index.d.ts +414 -0
  669. package/lib/components/VToolbar/index.mjs.map +1 -1
  670. package/lib/components/VTooltip/VTooltip.mjs +48 -41
  671. package/lib/components/VTooltip/VTooltip.mjs.map +1 -1
  672. package/lib/components/VTooltip/VTooltip.sass +0 -1
  673. package/lib/components/VTooltip/_variables.scss +1 -0
  674. package/lib/components/VTooltip/index.d.ts +799 -0
  675. package/lib/components/VTooltip/index.mjs.map +1 -1
  676. package/lib/components/VTreeview/VTreeview.mjs +1 -3
  677. package/lib/components/VTreeview/VTreeview.mjs.map +1 -1
  678. package/lib/components/VTreeview/VTreeviewNode.mjs.map +1 -1
  679. package/lib/components/VTreeview/index.mjs.map +1 -1
  680. package/lib/components/VTreeview/util/filterTreeItems.mjs.map +1 -1
  681. package/lib/components/VValidation/VValidation.mjs.map +1 -1
  682. package/lib/components/VValidation/index.d.ts +61 -0
  683. package/lib/components/VValidation/index.mjs.map +1 -1
  684. package/lib/components/VVirtualScroll/VVirtualScroll.mjs.map +1 -1
  685. package/lib/components/VVirtualScroll/index.mjs.map +1 -1
  686. package/lib/components/VWindow/VWindow.mjs +7 -21
  687. package/lib/components/VWindow/VWindow.mjs.map +1 -1
  688. package/lib/components/VWindow/VWindow.sass +0 -2
  689. package/lib/components/VWindow/VWindowItem.mjs +21 -11
  690. package/lib/components/VWindow/VWindowItem.mjs.map +1 -1
  691. package/lib/components/VWindow/_variables.scss +1 -0
  692. package/lib/components/VWindow/index.d.ts +428 -0
  693. package/lib/components/VWindow/index.mjs.map +1 -1
  694. package/lib/components/index.d.ts +14675 -12342
  695. package/lib/components/index.mjs.map +1 -1
  696. package/lib/components/transitions/createTransition.mjs.map +1 -1
  697. package/lib/components/transitions/dialog-transition.mjs +66 -10
  698. package/lib/components/transitions/dialog-transition.mjs.map +1 -1
  699. package/lib/components/transitions/expand-transition.mjs.map +1 -1
  700. package/lib/components/transitions/index.d.ts +454 -0
  701. package/lib/components/transitions/index.mjs +0 -5
  702. package/lib/components/transitions/index.mjs.map +1 -1
  703. package/lib/composables/border.mjs +5 -6
  704. package/lib/composables/border.mjs.map +1 -1
  705. package/lib/composables/color.mjs +19 -26
  706. package/lib/composables/color.mjs.map +1 -1
  707. package/lib/composables/defaults.mjs +2 -2
  708. package/lib/composables/defaults.mjs.map +1 -1
  709. package/lib/composables/delay.mjs +1 -3
  710. package/lib/composables/delay.mjs.map +1 -1
  711. package/lib/composables/density.mjs.map +1 -1
  712. package/lib/composables/dimensions.mjs.map +1 -1
  713. package/lib/composables/display.mjs +12 -10
  714. package/lib/composables/display.mjs.map +1 -1
  715. package/lib/composables/elevation.mjs.map +1 -1
  716. package/lib/composables/filter.mjs +35 -17
  717. package/lib/composables/filter.mjs.map +1 -1
  718. package/lib/composables/focus.mjs.map +1 -1
  719. package/lib/composables/form.mjs +44 -11
  720. package/lib/composables/form.mjs.map +1 -1
  721. package/lib/composables/forwardRefs.mjs +72 -0
  722. package/lib/composables/forwardRefs.mjs.map +1 -0
  723. package/lib/composables/group.mjs +16 -12
  724. package/lib/composables/group.mjs.map +1 -1
  725. package/lib/composables/hydration.mjs.map +1 -1
  726. package/lib/composables/icons.mjs +16 -4
  727. package/lib/composables/icons.mjs.map +1 -1
  728. package/lib/composables/index.mjs +3 -2
  729. package/lib/composables/index.mjs.map +1 -1
  730. package/lib/composables/intersectionObserver.mjs.map +1 -1
  731. package/lib/composables/items.mjs +84 -0
  732. package/lib/composables/items.mjs.map +1 -0
  733. package/lib/composables/layout.mjs +24 -24
  734. package/lib/composables/layout.mjs.map +1 -1
  735. package/lib/composables/lazy.mjs.map +1 -1
  736. package/lib/composables/loader.mjs.map +1 -1
  737. package/lib/composables/locale.mjs +21 -25
  738. package/lib/composables/locale.mjs.map +1 -1
  739. package/lib/composables/location.mjs +66 -0
  740. package/lib/composables/location.mjs.map +1 -0
  741. package/lib/composables/mutationObserver.mjs +4 -6
  742. package/lib/composables/mutationObserver.mjs.map +1 -1
  743. package/lib/composables/nested/nested.mjs +34 -22
  744. package/lib/composables/nested/nested.mjs.map +1 -1
  745. package/lib/composables/nested/openStrategies.mjs +63 -36
  746. package/lib/composables/nested/openStrategies.mjs.map +1 -1
  747. package/lib/composables/nested/selectStrategies.mjs +163 -122
  748. package/lib/composables/nested/selectStrategies.mjs.map +1 -1
  749. package/lib/composables/position.mjs +4 -25
  750. package/lib/composables/position.mjs.map +1 -1
  751. package/lib/composables/proxiedModel.mjs +29 -10
  752. package/lib/composables/proxiedModel.mjs.map +1 -1
  753. package/lib/composables/refs.mjs.map +1 -1
  754. package/lib/composables/resizeObserver.mjs +1 -9
  755. package/lib/composables/resizeObserver.mjs.map +1 -1
  756. package/lib/composables/rounded.mjs.map +1 -1
  757. package/lib/composables/router.mjs +39 -17
  758. package/lib/composables/router.mjs.map +1 -1
  759. package/lib/composables/rtl.mjs +2 -4
  760. package/lib/composables/rtl.mjs.map +1 -1
  761. package/lib/composables/scopeId.mjs +11 -0
  762. package/lib/composables/scopeId.mjs.map +1 -0
  763. package/lib/composables/scroll.mjs +1 -3
  764. package/lib/composables/scroll.mjs.map +1 -1
  765. package/lib/composables/selectLink.mjs +19 -0
  766. package/lib/composables/selectLink.mjs.map +1 -0
  767. package/lib/composables/size.mjs +18 -14
  768. package/lib/composables/size.mjs.map +1 -1
  769. package/lib/composables/ssrBoot.mjs +3 -2
  770. package/lib/composables/ssrBoot.mjs.map +1 -1
  771. package/lib/composables/stack.mjs +37 -23
  772. package/lib/composables/stack.mjs.map +1 -1
  773. package/lib/composables/tag.mjs.map +1 -1
  774. package/lib/composables/teleport.mjs.map +1 -1
  775. package/lib/composables/theme.mjs +123 -112
  776. package/lib/composables/theme.mjs.map +1 -1
  777. package/lib/composables/toggleScope.mjs +18 -0
  778. package/lib/composables/toggleScope.mjs.map +1 -0
  779. package/lib/composables/touch.mjs +1 -3
  780. package/lib/composables/touch.mjs.map +1 -1
  781. package/lib/composables/transition.mjs.map +1 -1
  782. package/lib/composables/validation.mjs +24 -10
  783. package/lib/composables/validation.mjs.map +1 -1
  784. package/lib/composables/variant.mjs +7 -8
  785. package/lib/composables/variant.mjs.map +1 -1
  786. package/lib/directives/click-outside/index.mjs.map +1 -1
  787. package/lib/directives/color/index.mjs.map +1 -1
  788. package/lib/directives/index.mjs.map +1 -1
  789. package/lib/directives/intersect/index.mjs.map +1 -1
  790. package/lib/directives/mutate/index.mjs +4 -6
  791. package/lib/directives/mutate/index.mjs.map +1 -1
  792. package/lib/directives/resize/index.mjs.map +1 -1
  793. package/lib/directives/ripple/VRipple.sass +0 -1
  794. package/lib/directives/ripple/index.mjs +16 -6
  795. package/lib/directives/ripple/index.mjs.map +1 -1
  796. package/lib/directives/scroll/index.mjs +1 -3
  797. package/lib/directives/scroll/index.mjs.map +1 -1
  798. package/lib/directives/touch/index.mjs +3 -3
  799. package/lib/directives/touch/index.mjs.map +1 -1
  800. package/lib/entry-bundler.mjs +2 -1
  801. package/lib/entry-bundler.mjs.map +1 -1
  802. package/lib/framework.mjs +59 -47
  803. package/lib/framework.mjs.map +1 -1
  804. package/lib/iconsets/fa-svg.d.ts +2 -1
  805. package/lib/iconsets/fa-svg.mjs.map +1 -1
  806. package/lib/iconsets/fa.d.ts +2 -1
  807. package/lib/iconsets/fa.mjs.map +1 -1
  808. package/lib/iconsets/fa4.d.ts +2 -1
  809. package/lib/iconsets/fa4.mjs.map +1 -1
  810. package/lib/iconsets/md.d.ts +2 -1
  811. package/lib/iconsets/md.mjs.map +1 -1
  812. package/lib/iconsets/mdi-svg.d.ts +2 -1
  813. package/lib/iconsets/mdi-svg.mjs.map +1 -1
  814. package/lib/iconsets/mdi.d.ts +2 -1
  815. package/lib/iconsets/mdi.mjs.map +1 -1
  816. package/lib/index.d.ts +158 -130
  817. package/lib/locale/adapters/vue-i18n.d.ts +35 -0
  818. package/lib/locale/adapters/vue-i18n.mjs +1 -3
  819. package/lib/locale/adapters/vue-i18n.mjs.map +1 -1
  820. package/lib/locale/adapters/vue-intl.d.ts +42 -0
  821. package/lib/locale/adapters/vue-intl.mjs +3 -5
  822. package/lib/locale/adapters/vue-intl.mjs.map +1 -1
  823. package/lib/locale/af.mjs +5 -0
  824. package/lib/locale/af.mjs.map +1 -1
  825. package/lib/locale/ar.mjs +5 -0
  826. package/lib/locale/ar.mjs.map +1 -1
  827. package/lib/locale/az.mjs +5 -0
  828. package/lib/locale/az.mjs.map +1 -1
  829. package/lib/locale/bg.mjs +5 -0
  830. package/lib/locale/bg.mjs.map +1 -1
  831. package/lib/locale/ca.mjs +14 -9
  832. package/lib/locale/ca.mjs.map +1 -1
  833. package/lib/locale/ckb.mjs +5 -0
  834. package/lib/locale/ckb.mjs.map +1 -1
  835. package/lib/locale/cs.mjs +5 -0
  836. package/lib/locale/cs.mjs.map +1 -1
  837. package/lib/locale/da.mjs +5 -0
  838. package/lib/locale/da.mjs.map +1 -1
  839. package/lib/locale/de.mjs +5 -0
  840. package/lib/locale/de.mjs.map +1 -1
  841. package/lib/locale/el.mjs +5 -0
  842. package/lib/locale/el.mjs.map +1 -1
  843. package/lib/locale/en.mjs +5 -0
  844. package/lib/locale/en.mjs.map +1 -1
  845. package/lib/locale/es.mjs +5 -0
  846. package/lib/locale/es.mjs.map +1 -1
  847. package/lib/locale/et.mjs +5 -0
  848. package/lib/locale/et.mjs.map +1 -1
  849. package/lib/locale/fa.mjs +5 -0
  850. package/lib/locale/fa.mjs.map +1 -1
  851. package/lib/locale/fi.mjs +5 -0
  852. package/lib/locale/fi.mjs.map +1 -1
  853. package/lib/locale/fr.mjs +5 -0
  854. package/lib/locale/fr.mjs.map +1 -1
  855. package/lib/locale/he.mjs +5 -0
  856. package/lib/locale/he.mjs.map +1 -1
  857. package/lib/locale/hr.mjs +5 -0
  858. package/lib/locale/hr.mjs.map +1 -1
  859. package/lib/locale/hu.mjs +5 -0
  860. package/lib/locale/hu.mjs.map +1 -1
  861. package/lib/locale/id.mjs +5 -0
  862. package/lib/locale/id.mjs.map +1 -1
  863. package/lib/locale/index.d.ts +210 -0
  864. package/lib/locale/index.mjs.map +1 -1
  865. package/lib/locale/it.mjs +5 -0
  866. package/lib/locale/it.mjs.map +1 -1
  867. package/lib/locale/ja.mjs +5 -0
  868. package/lib/locale/ja.mjs.map +1 -1
  869. package/lib/locale/ko.mjs +5 -0
  870. package/lib/locale/ko.mjs.map +1 -1
  871. package/lib/locale/lt.mjs +5 -0
  872. package/lib/locale/lt.mjs.map +1 -1
  873. package/lib/locale/lv.mjs +5 -0
  874. package/lib/locale/lv.mjs.map +1 -1
  875. package/lib/locale/nl.mjs +5 -0
  876. package/lib/locale/nl.mjs.map +1 -1
  877. package/lib/locale/no.mjs +5 -0
  878. package/lib/locale/no.mjs.map +1 -1
  879. package/lib/locale/pl.mjs +5 -0
  880. package/lib/locale/pl.mjs.map +1 -1
  881. package/lib/locale/pt.mjs +5 -0
  882. package/lib/locale/pt.mjs.map +1 -1
  883. package/lib/locale/ro.mjs +5 -0
  884. package/lib/locale/ro.mjs.map +1 -1
  885. package/lib/locale/ru.mjs +5 -0
  886. package/lib/locale/ru.mjs.map +1 -1
  887. package/lib/locale/sk.mjs +5 -0
  888. package/lib/locale/sk.mjs.map +1 -1
  889. package/lib/locale/sl.mjs +5 -0
  890. package/lib/locale/sl.mjs.map +1 -1
  891. package/lib/locale/sr-Cyrl.mjs +5 -0
  892. package/lib/locale/sr-Cyrl.mjs.map +1 -1
  893. package/lib/locale/sr-Latn.mjs +5 -0
  894. package/lib/locale/sr-Latn.mjs.map +1 -1
  895. package/lib/locale/sv.mjs +5 -0
  896. package/lib/locale/sv.mjs.map +1 -1
  897. package/lib/locale/th.mjs +5 -0
  898. package/lib/locale/th.mjs.map +1 -1
  899. package/lib/locale/tr.mjs +5 -0
  900. package/lib/locale/tr.mjs.map +1 -1
  901. package/lib/locale/uk.mjs +5 -0
  902. package/lib/locale/uk.mjs.map +1 -1
  903. package/lib/locale/vi.mjs +5 -0
  904. package/lib/locale/vi.mjs.map +1 -1
  905. package/lib/locale/zh-Hans.mjs +5 -0
  906. package/lib/locale/zh-Hans.mjs.map +1 -1
  907. package/lib/locale/zh-Hant.mjs +5 -0
  908. package/lib/locale/zh-Hant.mjs.map +1 -1
  909. package/lib/services/goto/easing-patterns.mjs.map +1 -1
  910. package/lib/services/goto/index.mjs.map +1 -1
  911. package/lib/services/goto/util.mjs.map +1 -1
  912. package/lib/styles/generic/_colors.scss +17 -10
  913. package/lib/styles/generic/_transitions.scss +13 -77
  914. package/lib/styles/main.css +1677 -1919
  915. package/lib/styles/settings/_colors.scss +84 -84
  916. package/lib/styles/settings/_elevations.scss +3 -3
  917. package/lib/styles/settings/_utilities.scss +74 -35
  918. package/lib/styles/tools/_states.sass +18 -5
  919. package/lib/styles/tools/_utilities.sass +1 -1
  920. package/lib/styles/tools/_variant.sass +6 -7
  921. package/lib/styles/utilities/_index.sass +0 -1
  922. package/lib/util/anchor.mjs +56 -0
  923. package/lib/util/anchor.mjs.map +1 -0
  924. package/lib/util/animation.mjs +18 -2
  925. package/lib/util/animation.mjs.map +1 -1
  926. package/lib/util/box.mjs +12 -0
  927. package/lib/util/box.mjs.map +1 -1
  928. package/lib/util/color/APCA.mjs.map +1 -1
  929. package/lib/util/color/transformCIELAB.mjs.map +1 -1
  930. package/lib/util/color/transformSRGB.mjs.map +1 -1
  931. package/lib/util/colorUtils.mjs +2 -2
  932. package/lib/util/colorUtils.mjs.map +1 -1
  933. package/lib/util/colors.mjs +1 -1
  934. package/lib/util/colors.mjs.map +1 -1
  935. package/lib/util/console.mjs.map +1 -1
  936. package/lib/util/createSimpleFunctional.mjs +1 -1
  937. package/lib/util/createSimpleFunctional.mjs.map +1 -1
  938. package/lib/util/dateTimeUtils.mjs.map +1 -1
  939. package/lib/util/defineComponent.mjs +37 -11
  940. package/lib/util/defineComponent.mjs.map +1 -1
  941. package/lib/util/dom.mjs.map +1 -1
  942. package/lib/util/easing.mjs.map +1 -1
  943. package/lib/util/getCurrentInstance.mjs +22 -4
  944. package/lib/util/getCurrentInstance.mjs.map +1 -1
  945. package/lib/util/getScrollParent.mjs +3 -1
  946. package/lib/util/getScrollParent.mjs.map +1 -1
  947. package/lib/util/globals.mjs +1 -4
  948. package/lib/util/globals.mjs.map +1 -1
  949. package/lib/util/helpers.mjs +37 -7
  950. package/lib/util/helpers.mjs.map +1 -1
  951. package/lib/util/index.mjs +1 -0
  952. package/lib/util/index.mjs.map +1 -1
  953. package/lib/util/injectSelf.mjs +12 -0
  954. package/lib/util/injectSelf.mjs.map +1 -0
  955. package/lib/util/isFixedPosition.mjs.map +1 -1
  956. package/lib/util/propsFactory.mjs.map +1 -1
  957. package/lib/util/useRender.mjs.map +1 -1
  958. package/package.json +50 -35
  959. package/lib/components/VBreadcrumbs/shared.mjs +0 -2
  960. package/lib/components/VBreadcrumbs/shared.mjs.map +0 -1
  961. package/lib/components/VCard/VCardAvatar.mjs +0 -3
  962. package/lib/components/VCard/VCardAvatar.mjs.map +0 -1
  963. package/lib/components/VCard/VCardHeader.mjs +0 -3
  964. package/lib/components/VCard/VCardHeader.mjs.map +0 -1
  965. package/lib/components/VCard/VCardHeaderText.mjs +0 -3
  966. package/lib/components/VCard/VCardHeaderText.mjs.map +0 -1
  967. package/lib/components/VCard/VCardImg.mjs +0 -3
  968. package/lib/components/VCard/VCardImg.mjs.map +0 -1
  969. package/lib/components/VList/VListItemAvatar.mjs +0 -29
  970. package/lib/components/VList/VListItemAvatar.mjs.map +0 -1
  971. package/lib/components/VList/VListItemHeader.mjs +0 -3
  972. package/lib/components/VList/VListItemHeader.mjs.map +0 -1
  973. package/lib/components/VOverlay/positionStrategies.mjs +0 -203
  974. package/lib/components/VOverlay/positionStrategies.mjs.map +0 -1
  975. package/lib/components/VOverlay/util/anchor.mjs +0 -52
  976. package/lib/components/VOverlay/util/anchor.mjs.map +0 -1
  977. package/lib/components/VTimeline/shared.mjs +0 -2
  978. package/lib/components/VTimeline/shared.mjs.map +0 -1
  979. package/lib/composables/forwardRef.mjs +0 -42
  980. package/lib/composables/forwardRef.mjs.map +0 -1
  981. package/lib/composables/overlay.mjs +0 -30
  982. package/lib/composables/overlay.mjs.map +0 -1
  983. package/lib/presets/default/index.mjs +0 -71
  984. package/lib/presets/default/index.mjs.map +0 -1
  985. package/lib/styles/utilities/_text.sass +0 -9
  986. package/lib/styles.scss +0 -4
@@ -1,6 +1,10 @@
1
+ // Locales
2
+ import en from "../locale/en.mjs"; // Composables
3
+
4
+ import { createRtl, RtlSymbol } from "./rtl.mjs"; // Utilities
5
+
1
6
  import { computed, inject, provide, ref } from 'vue';
2
- import { consoleError, consoleWarn, getObjectValueByPath } from "../util/index.mjs";
3
- import en from "../locale/en.mjs"; // Types
7
+ import { consoleError, consoleWarn, getObjectValueByPath } from "../util/index.mjs"; // Types
4
8
 
5
9
  export const LocaleAdapterSymbol = Symbol.for('vuetify:locale-adapter');
6
10
  export const VuetifyLocaleSymbol = Symbol.for('vuetify:locale');
@@ -19,12 +23,17 @@ function isLocaleAdapter(x) {
19
23
  return !!x && x.hasOwnProperty('getScope') && x.hasOwnProperty('createScope') && x.hasOwnProperty('createRoot');
20
24
  }
21
25
 
22
- export function createLocaleAdapter(app, options) {
26
+ export function createLocale(app, options) {
23
27
  const adapter = isLocaleAdapter(options) ? options : createDefaultLocaleAdapter(options);
24
- const rootInstance = adapter.createRoot(app);
28
+
29
+ function install(app) {
30
+ const instance = adapter.createRoot(app);
31
+ app.provide(RtlSymbol, createRtl(instance, options));
32
+ }
33
+
25
34
  return {
26
35
  adapter,
27
- rootInstance
36
+ install
28
37
  };
29
38
  }
30
39
  const LANG_PREFIX = '$vuetify.';
@@ -93,15 +102,14 @@ export function createDefaultLocaleAdapter(options) {
93
102
 
94
103
  return {
95
104
  createRoot: app => {
96
- var _options$defaultLocal, _options$fallbackLoca, _options$messages;
97
-
98
105
  const rootScope = createScope({
99
- current: (_options$defaultLocal = options == null ? void 0 : options.defaultLocale) != null ? _options$defaultLocal : 'en',
100
- fallback: (_options$fallbackLoca = options == null ? void 0 : options.fallbackLocale) != null ? _options$fallbackLoca : 'en',
101
- messages: (_options$messages = options == null ? void 0 : options.messages) != null ? _options$messages : {
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) ?? {
102
109
  en
103
110
  }
104
111
  });
112
+ if (!app) throw new Error('[Vuetify] Could not find default app instance');
105
113
  app.provide(VuetifyLocaleSymbol, rootScope);
106
114
  return rootScope;
107
115
  },
@@ -114,21 +122,9 @@ export function createDefaultLocaleAdapter(options) {
114
122
  const currentScope = inject(VuetifyLocaleSymbol);
115
123
  if (!currentScope) throw new Error('[Vuetify] Could not find injected locale instance');
116
124
  const newScope = createScope({
117
- current: computed(() => {
118
- var _options$locale;
119
-
120
- return (_options$locale = options == null ? void 0 : options.locale) != null ? _options$locale : currentScope.current.value;
121
- }),
122
- fallback: computed(() => {
123
- var _options$locale2;
124
-
125
- return (_options$locale2 = options == null ? void 0 : options.locale) != null ? _options$locale2 : currentScope.fallback.value;
126
- }),
127
- messages: computed(() => {
128
- var _options$messages2;
129
-
130
- return (_options$messages2 = options == null ? void 0 : options.messages) != null ? _options$messages2 : currentScope.messages.value;
131
- })
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)
132
128
  });
133
129
  provide(VuetifyLocaleSymbol, newScope);
134
130
  return newScope;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/composables/locale.ts"],"names":["computed","inject","provide","ref","consoleError","consoleWarn","getObjectValueByPath","en","LocaleAdapterSymbol","Symbol","for","VuetifyLocaleSymbol","provideLocale","props","adapter","Error","createScope","useLocale","getScope","isLocaleAdapter","x","hasOwnProperty","createLocaleAdapter","app","options","createDefaultLocaleAdapter","rootInstance","createRoot","LANG_PREFIX","replace","str","params","match","index","String","createTranslateFunction","current","fallback","messages","key","startsWith","shortKey","currentLocale","value","fallbackLocale","createNumberFunction","numberFormat","Intl","NumberFormat","format","t","n","rootScope","defaultLocale","currentScope","newScope","locale"],"mappings":"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","sourcesContent":["import { computed, inject, provide, ref } from 'vue'\nimport { consoleError, consoleWarn, getObjectValueByPath } from '@/util'\n\nimport en from '@/locale/en'\n\n// Types\nimport type { App, InjectionKey, Ref } from 'vue'\nimport type { MaybeRef } from '@/util'\n\nexport interface LocaleMessages {\n [key: string]: LocaleMessages | string\n}\n\nexport interface LocaleOptions {\n defaultLocale?: string\n fallbackLocale?: string\n messages?: LocaleMessages\n}\n\nexport interface LocaleProps {\n locale?: string\n fallbackLocale?: string\n messages?: LocaleMessages\n}\n\nexport interface LocaleInstance {\n current: Ref<string>\n fallback: Ref<string>\n messages: Ref<LocaleMessages>\n t: (key: string, ...params: unknown[]) => string\n n: (value: number) => string\n}\n\nexport interface LocaleAdapter {\n createRoot: (app: App) => LocaleInstance\n getScope: () => LocaleInstance\n createScope: (options?: LocaleProps) => LocaleInstance\n}\n\nexport const LocaleAdapterSymbol: InjectionKey<LocaleAdapter> = Symbol.for('vuetify:locale-adapter')\nexport const VuetifyLocaleSymbol: InjectionKey<LocaleInstance> = Symbol.for('vuetify:locale')\n\nexport function provideLocale (props?: LocaleProps) {\n const adapter = inject(LocaleAdapterSymbol)\n\n if (!adapter) throw new Error('[Vuetify] Could not find injected locale adapter')\n\n return adapter.createScope(props)\n}\n\nexport function useLocale () {\n const adapter = inject(LocaleAdapterSymbol)\n\n if (!adapter) throw new Error('[Vuetify] Could not find injected locale adapter')\n\n return adapter.getScope()\n}\n\nfunction isLocaleAdapter (x: any): x is LocaleAdapter {\n return !!x && x.hasOwnProperty('getScope') && x.hasOwnProperty('createScope') && x.hasOwnProperty('createRoot')\n}\n\nexport function createLocaleAdapter (app: App, options?: LocaleOptions | LocaleAdapter) {\n const adapter = isLocaleAdapter(options) ? options : createDefaultLocaleAdapter(options)\n\n const rootInstance = adapter.createRoot(app)\n\n return { adapter, rootInstance }\n}\n\nconst LANG_PREFIX = '$vuetify.'\n\nconst replace = (str: string, params: unknown[]) => {\n return str.replace(/\\{(\\d+)\\}/g, (match: string, index: string) => {\n /* istanbul ignore next */\n return String(params[+index])\n })\n}\n\nconst createTranslateFunction = (\n current: Ref<string>,\n fallback: Ref<string>,\n messages: Ref<LocaleMessages>,\n) => {\n return (key: string, ...params: unknown[]) => {\n if (!key.startsWith(LANG_PREFIX)) {\n return replace(key, params)\n }\n\n const shortKey = key.replace(LANG_PREFIX, '')\n const currentLocale = current.value && messages.value[current.value]\n const fallbackLocale = fallback.value && messages.value[fallback.value]\n\n let str: string = getObjectValueByPath(currentLocale, shortKey, null)\n\n if (!str) {\n consoleWarn(`Translation key \"${key}\" not found in \"${current.value}\", trying fallback locale`)\n str = getObjectValueByPath(fallbackLocale, shortKey, null)\n }\n\n if (!str) {\n consoleError(`Translation key \"${key}\" not found in fallback`)\n str = key\n }\n\n if (typeof str !== 'string') {\n consoleError(`Translation key \"${key}\" has a non-string value`)\n str = key\n }\n\n return replace(str, params)\n }\n}\n\nfunction createNumberFunction (current: Ref<string>, fallback: Ref<string>) {\n return (value: number, options?: Intl.NumberFormatOptions) => {\n const numberFormat = new Intl.NumberFormat([current.value, fallback.value], options)\n\n return numberFormat.format(value)\n }\n}\n\nexport function createDefaultLocaleAdapter (options?: LocaleOptions): LocaleAdapter {\n const createScope = (options: {\n current: MaybeRef<string>\n fallback: MaybeRef<string>\n messages: MaybeRef<LocaleMessages>\n }) => {\n const current = ref(options.current)\n const fallback = ref(options.fallback)\n const messages = ref(options.messages)\n\n return {\n current,\n fallback,\n messages,\n t: createTranslateFunction(current, fallback, messages),\n n: createNumberFunction(current, fallback),\n }\n }\n\n return {\n createRoot: app => {\n const rootScope = createScope({\n current: options?.defaultLocale ?? 'en',\n fallback: options?.fallbackLocale ?? 'en',\n messages: options?.messages ?? { en },\n })\n\n app.provide(VuetifyLocaleSymbol, rootScope)\n\n return rootScope\n },\n getScope: () => {\n const currentScope = inject(VuetifyLocaleSymbol)\n\n if (!currentScope) throw new Error('[Vuetify] Could not find injected locale instance')\n\n return currentScope\n },\n createScope: options => {\n const currentScope = inject(VuetifyLocaleSymbol)\n\n if (!currentScope) throw new Error('[Vuetify] Could not find injected locale instance')\n\n const newScope = createScope({\n current: computed(() => options?.locale ?? currentScope.current.value),\n fallback: computed(() => options?.locale ?? currentScope.fallback.value),\n messages: computed(() => options?.messages ?? currentScope.messages.value),\n })\n\n provide(VuetifyLocaleSymbol, newScope)\n\n return newScope\n },\n }\n}\n"],"file":"locale.mjs"}
1
+ {"version":3,"file":"locale.mjs","names":["en","createRtl","RtlSymbol","computed","inject","provide","ref","consoleError","consoleWarn","getObjectValueByPath","LocaleAdapterSymbol","Symbol","for","VuetifyLocaleSymbol","provideLocale","props","adapter","Error","createScope","useLocale","getScope","isLocaleAdapter","x","hasOwnProperty","createLocale","app","options","createDefaultLocaleAdapter","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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"}
@@ -0,0 +1,66 @@
1
+ // Composables
2
+ import { useRtl } from "./rtl.mjs"; // Utilities
3
+
4
+ import { computed } from 'vue';
5
+ import { parseAnchor, propsFactory } from "../util/index.mjs"; // Types
6
+
7
+ const oppositeMap = {
8
+ center: 'center',
9
+ top: 'bottom',
10
+ bottom: 'top',
11
+ left: 'right',
12
+ right: 'left'
13
+ };
14
+ export const makeLocationProps = propsFactory({
15
+ location: String
16
+ }, 'location');
17
+ export function useLocation(props) {
18
+ let opposite = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
19
+ let offset = arguments.length > 2 ? arguments[2] : undefined;
20
+ const {
21
+ isRtl
22
+ } = useRtl();
23
+ const locationStyles = computed(() => {
24
+ if (!props.location) return {};
25
+ const {
26
+ side,
27
+ align
28
+ } = parseAnchor(props.location.split(' ').length > 1 ? props.location : `${props.location} center`, isRtl.value);
29
+
30
+ function getOffset(side) {
31
+ return offset ? offset(side) : 0;
32
+ }
33
+
34
+ const styles = {};
35
+
36
+ if (side !== 'center') {
37
+ if (opposite) styles[oppositeMap[side]] = `calc(100% - ${getOffset(side)}px)`;else styles[side] = 0;
38
+ }
39
+
40
+ if (align !== 'center') {
41
+ if (opposite) styles[oppositeMap[align]] = `calc(100% - ${getOffset(align)}px)`;else styles[align] = 0;
42
+ } else {
43
+ if (side === 'center') styles.top = styles.left = '50%';else {
44
+ styles[{
45
+ top: 'left',
46
+ bottom: 'left',
47
+ left: 'top',
48
+ right: 'top'
49
+ }[side]] = '50%';
50
+ }
51
+ styles.transform = {
52
+ top: 'translateX(-50%)',
53
+ bottom: 'translateX(-50%)',
54
+ left: 'translateY(-50%)',
55
+ right: 'translateY(-50%)',
56
+ center: 'translate(-50%, -50%)'
57
+ }[side];
58
+ }
59
+
60
+ return styles;
61
+ });
62
+ return {
63
+ locationStyles
64
+ };
65
+ }
66
+ //# sourceMappingURL=location.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"location.mjs","names":["useRtl","computed","parseAnchor","propsFactory","oppositeMap","center","top","bottom","left","right","makeLocationProps","location","String","useLocation","props","opposite","offset","isRtl","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"}
@@ -22,16 +22,14 @@ export function useMutationObserver(handler, options) {
22
22
  observer.disconnect();
23
23
  });
24
24
  watch(mutationRef, (newValue, oldValue) => {
25
- var _options$attr, _options$char, _options$child, _options$sub;
26
-
27
25
  if (oldValue) observer.disconnect();
28
26
  const el = isComponentInstance(newValue) ? newValue.$el : newValue;
29
27
  if (!el) return;
30
28
  observer.observe(el, {
31
- attributes: (_options$attr = options == null ? void 0 : options.attr) != null ? _options$attr : defaultValue,
32
- characterData: (_options$char = options == null ? void 0 : options.char) != null ? _options$char : defaultValue,
33
- childList: (_options$child = options == null ? void 0 : options.child) != null ? _options$child : defaultValue,
34
- subtree: (_options$sub = options == null ? void 0 : options.sub) != null ? _options$sub : defaultValue
29
+ attributes: (options == null ? void 0 : options.attr) ?? defaultValue,
30
+ characterData: (options == null ? void 0 : options.char) ?? defaultValue,
31
+ childList: (options == null ? void 0 : options.child) ?? defaultValue,
32
+ subtree: (options == null ? void 0 : options.sub) ?? defaultValue
35
33
  });
36
34
  }, {
37
35
  flush: 'post'
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/composables/mutationObserver.ts"],"names":["isComponentInstance","onBeforeUnmount","onMounted","ref","watch","useMutationObserver","handler","options","mutationRef","once","immediate","optionKeys","defaultValue","Object","keys","length","observer","MutationObserver","mutations","disconnect","newValue","oldValue","el","$el","observe","attributes","attr","characterData","char","childList","child","subtree","sub","flush"],"mappings":"AAAA;SACSA,mB;AACT,SAASC,eAAT,EAA0BC,SAA1B,EAAqCC,GAArC,EAA0CC,KAA1C,QAAuD,KAAvD,C,CAEA;;AAYA,OAAO,SAASC,mBAAT,CACLC,OADK,EAELC,OAFK,EAGL;AACA,QAAMC,WAAW,GAAGL,GAAG,EAAvB;AACA,QAAM;AAAEM,IAAAA,IAAF;AAAQC,IAAAA,SAAR;AAAmB,OAAGC;AAAtB,MAAqCJ,OAAO,IAAI,EAAtD;AACA,QAAMK,YAAY,GAAG,CAACC,MAAM,CAACC,IAAP,CAAYH,UAAZ,EAAwBI,MAA9C;AAEA,QAAMC,QAAQ,GAAG,IAAIC,gBAAJ,CAAqB,CACpCC,SADoC,EAEpCF,QAFoC,KAGjC;AACHV,IAAAA,OAAO,QAAP,YAAAA,OAAO,CAAGY,SAAH,EAAcF,QAAd,CAAP;AAEA,QAAIT,OAAJ,YAAIA,OAAO,CAAEE,IAAb,EAAmBO,QAAQ,CAACG,UAAT;AACpB,GAPgB,CAAjB;AASAjB,EAAAA,SAAS,CAAC,MAAM;AACd,QAAI,EAACK,OAAD,YAACA,OAAO,CAAEG,SAAV,CAAJ,EAAyB;AAEzBJ,IAAAA,OAAO,QAAP,YAAAA,OAAO,CAAG,EAAH,EAAOU,QAAP,CAAP;AACD,GAJQ,CAAT;AAMAf,EAAAA,eAAe,CAAC,MAAM;AACpBe,IAAAA,QAAQ,CAACG,UAAT;AACD,GAFc,CAAf;AAIAf,EAAAA,KAAK,CAACI,WAAD,EAAc,CAACY,QAAD,EAAWC,QAAX,KAAwB;AAAA;;AACzC,QAAIA,QAAJ,EAAcL,QAAQ,CAACG,UAAT;AAEd,UAAMG,EAAE,GAAGtB,mBAAmB,CAACoB,QAAD,CAAnB,GAAgCA,QAAQ,CAACG,GAAzC,GAA+CH,QAA1D;AAEA,QAAI,CAACE,EAAL,EAAS;AAETN,IAAAA,QAAQ,CAACQ,OAAT,CAAiBF,EAAjB,EAAqB;AACnBG,MAAAA,UAAU,mBAAElB,OAAF,oBAAEA,OAAO,CAAEmB,IAAX,4BAAmBd,YADV;AAEnBe,MAAAA,aAAa,mBAAEpB,OAAF,oBAAEA,OAAO,CAAEqB,IAAX,4BAAmBhB,YAFb;AAGnBiB,MAAAA,SAAS,oBAAEtB,OAAF,oBAAEA,OAAO,CAAEuB,KAAX,6BAAoBlB,YAHV;AAInBmB,MAAAA,OAAO,kBAAExB,OAAF,oBAAEA,OAAO,CAAEyB,GAAX,2BAAkBpB;AAJN,KAArB;AAMD,GAbI,EAaF;AACDqB,IAAAA,KAAK,EAAE;AADN,GAbE,CAAL;AAiBA,SAAO;AAAEzB,IAAAA;AAAF,GAAP;AACD","sourcesContent":["// Utilities\nimport { isComponentInstance } from '@/util'\nimport { onBeforeUnmount, onMounted, ref, watch } from 'vue'\n\n// Types\nimport type { ComponentPublicInstance } from 'vue'\n\nexport interface MutationOptions {\n attr?: boolean\n char?: boolean\n child?: boolean\n sub?: boolean\n once?: boolean\n immediate?: boolean\n}\n\nexport function useMutationObserver (\n handler?: MutationCallback,\n options?: MutationOptions,\n) {\n const mutationRef = ref<ComponentPublicInstance | HTMLElement>()\n const { once, immediate, ...optionKeys } = options || {}\n const defaultValue = !Object.keys(optionKeys).length\n\n const observer = new MutationObserver((\n mutations: MutationRecord[],\n observer: MutationObserver\n ) => {\n handler?.(mutations, observer)\n\n if (options?.once) observer.disconnect()\n })\n\n onMounted(() => {\n if (!options?.immediate) return\n\n handler?.([], observer)\n })\n\n onBeforeUnmount(() => {\n observer.disconnect()\n })\n\n watch(mutationRef, (newValue, oldValue) => {\n if (oldValue) observer.disconnect()\n\n const el = isComponentInstance(newValue) ? newValue.$el : newValue\n\n if (!el) return\n\n observer.observe(el, {\n attributes: options?.attr ?? defaultValue,\n characterData: options?.char ?? defaultValue,\n childList: options?.child ?? defaultValue,\n subtree: options?.sub ?? defaultValue,\n })\n }, {\n flush: 'post',\n })\n\n return { mutationRef }\n}\n"],"file":"mutationObserver.mjs"}
1
+ {"version":3,"file":"mutationObserver.mjs","names":["isComponentInstance","onBeforeUnmount","onMounted","ref","watch","useMutationObserver","handler","options","mutationRef","once","immediate","optionKeys","defaultValue","Object","keys","length","observer","MutationObserver","mutations","disconnect","newValue","oldValue","el","$el","observe","attributes","attr","characterData","char","childList","child","subtree","sub","flush"],"sources":["../../src/composables/mutationObserver.ts"],"sourcesContent":["// Utilities\nimport { isComponentInstance } from '@/util'\nimport { onBeforeUnmount, onMounted, ref, watch } from 'vue'\n\n// Types\nimport type { ComponentPublicInstance } from 'vue'\n\nexport interface MutationOptions {\n attr?: boolean\n char?: boolean\n child?: boolean\n sub?: boolean\n once?: boolean\n immediate?: boolean\n}\n\nexport function useMutationObserver (\n handler?: MutationCallback,\n options?: MutationOptions,\n) {\n const mutationRef = ref<ComponentPublicInstance | HTMLElement>()\n const { once, immediate, ...optionKeys } = options || {}\n const defaultValue = !Object.keys(optionKeys).length\n\n const observer = new MutationObserver((\n mutations: MutationRecord[],\n observer: MutationObserver\n ) => {\n handler?.(mutations, observer)\n\n if (options?.once) observer.disconnect()\n })\n\n onMounted(() => {\n if (!options?.immediate) return\n\n handler?.([], observer)\n })\n\n onBeforeUnmount(() => {\n observer.disconnect()\n })\n\n watch(mutationRef, (newValue, oldValue) => {\n if (oldValue) observer.disconnect()\n\n const el = isComponentInstance(newValue) ? newValue.$el : newValue\n\n if (!el) return\n\n observer.observe(el, {\n attributes: options?.attr ?? defaultValue,\n characterData: options?.char ?? defaultValue,\n childList: options?.child ?? defaultValue,\n subtree: options?.sub ?? defaultValue,\n })\n }, {\n flush: 'post',\n })\n\n return { mutationRef }\n}\n"],"mappings":"AAAA;SACSA,mB;AACT,SAASC,eAAT,EAA0BC,SAA1B,EAAqCC,GAArC,EAA0CC,KAA1C,QAAuD,KAAvD,C,CAEA;;AAYA,OAAO,SAASC,mBAAT,CACLC,OADK,EAELC,OAFK,EAGL;EACA,MAAMC,WAAW,GAAGL,GAAG,EAAvB;EACA,MAAM;IAAEM,IAAF;IAAQC,SAAR;IAAmB,GAAGC;EAAtB,IAAqCJ,OAAO,IAAI,EAAtD;EACA,MAAMK,YAAY,GAAG,CAACC,MAAM,CAACC,IAAP,CAAYH,UAAZ,EAAwBI,MAA9C;EAEA,MAAMC,QAAQ,GAAG,IAAIC,gBAAJ,CAAqB,CACpCC,SADoC,EAEpCF,QAFoC,KAGjC;IACHV,OAAO,QAAP,YAAAA,OAAO,CAAGY,SAAH,EAAcF,QAAd,CAAP;IAEA,IAAIT,OAAJ,YAAIA,OAAO,CAAEE,IAAb,EAAmBO,QAAQ,CAACG,UAAT;EACpB,CAPgB,CAAjB;EASAjB,SAAS,CAAC,MAAM;IACd,IAAI,EAACK,OAAD,YAACA,OAAO,CAAEG,SAAV,CAAJ,EAAyB;IAEzBJ,OAAO,QAAP,YAAAA,OAAO,CAAG,EAAH,EAAOU,QAAP,CAAP;EACD,CAJQ,CAAT;EAMAf,eAAe,CAAC,MAAM;IACpBe,QAAQ,CAACG,UAAT;EACD,CAFc,CAAf;EAIAf,KAAK,CAACI,WAAD,EAAc,CAACY,QAAD,EAAWC,QAAX,KAAwB;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,8 +1,8 @@
1
1
  import { useProxiedModel } from "../proxiedModel.mjs";
2
2
  import { getCurrentInstance, getUid, propsFactory } from "../../util/index.mjs";
3
3
  import { computed, inject, onBeforeUnmount, provide, ref } from 'vue';
4
- import { multipleOpenStrategy, singleOpenStrategy } from "./openStrategies.mjs";
5
- import { classicSelectStrategy, independentSelectStrategy, independentSingleSelectStrategy, leafSelectStrategy } from "./selectStrategies.mjs"; // Types
4
+ import { listOpenStrategy, multipleOpenStrategy, singleOpenStrategy } from "./openStrategies.mjs";
5
+ import { classicSelectStrategy, independentSelectStrategy, independentSingleSelectStrategy, leafSelectStrategy, leafSingleSelectStrategy } from "./selectStrategies.mjs"; // Types
6
6
 
7
7
  export const VNestedSymbol = Symbol.for('vuetify:nested');
8
8
  export const emptyNested = {
@@ -13,6 +13,7 @@ export const emptyNested = {
13
13
  parents: ref(new Map()),
14
14
  children: ref(new Map()),
15
15
  open: () => null,
16
+ openOnSelect: () => null,
16
17
  select: () => null,
17
18
  opened: ref(new Set()),
18
19
  selected: ref(new Map()),
@@ -36,26 +37,29 @@ export const useNested = props => {
36
37
 
37
38
  switch (props.selectStrategy) {
38
39
  case 'single-leaf':
39
- return leafSelectStrategy(true);
40
+ return leafSingleSelectStrategy(props.mandatory);
40
41
 
41
42
  case 'leaf':
42
- return leafSelectStrategy();
43
+ return leafSelectStrategy(props.mandatory);
43
44
 
44
45
  case 'independent':
45
- return independentSelectStrategy;
46
+ return independentSelectStrategy(props.mandatory);
46
47
 
47
48
  case 'single-independent':
48
- return independentSingleSelectStrategy;
49
+ return independentSingleSelectStrategy(props.mandatory);
49
50
 
50
51
  case 'classic':
51
52
  default:
52
- return classicSelectStrategy;
53
+ return classicSelectStrategy(props.mandatory);
53
54
  }
54
55
  });
55
56
  const openStrategy = computed(() => {
56
57
  if (typeof props.openStrategy === 'function') return props.openStrategy;
57
58
 
58
59
  switch (props.openStrategy) {
60
+ case 'list':
61
+ return listOpenStrategy;
62
+
59
63
  case 'single':
60
64
  return singleOpenStrategy;
61
65
 
@@ -110,9 +114,7 @@ export const useNested = props => {
110
114
  const parent = parents.value.get(id);
111
115
 
112
116
  if (parent) {
113
- var _children$value$get;
114
-
115
- const list = (_children$value$get = children.value.get(parent)) != null ? _children$value$get : [];
117
+ const list = children.value.get(parent) ?? [];
116
118
  children.value.set(parent, list.filter(child => child !== id));
117
119
  }
118
120
 
@@ -126,7 +128,7 @@ export const useNested = props => {
126
128
  path: getPath(id),
127
129
  event
128
130
  });
129
- const newOpened = openStrategy.value({
131
+ const newOpened = openStrategy.value.open({
130
132
  id,
131
133
  value,
132
134
  opened: new Set(opened.value),
@@ -136,6 +138,18 @@ export const useNested = props => {
136
138
  });
137
139
  newOpened && (opened.value = newOpened);
138
140
  },
141
+ openOnSelect: (id, value, event) => {
142
+ const newOpened = openStrategy.value.select({
143
+ id,
144
+ value,
145
+ selected: new Map(selected.value),
146
+ opened: new Set(opened.value),
147
+ children: children.value,
148
+ parents: parents.value,
149
+ event
150
+ });
151
+ newOpened && (opened.value = newOpened);
152
+ },
139
153
  select: (id, value, event) => {
140
154
  vm.emit('click:select', {
141
155
  id,
@@ -149,10 +163,10 @@ export const useNested = props => {
149
163
  selected: new Map(selected.value),
150
164
  children: children.value,
151
165
  parents: parents.value,
152
- event,
153
- mandatory: props.mandatory
166
+ event
154
167
  });
155
168
  newSelected && (selected.value = newSelected);
169
+ nested.root.openOnSelect(id, value, event);
156
170
  },
157
171
  children,
158
172
  parents
@@ -163,24 +177,22 @@ export const useNested = props => {
163
177
  };
164
178
  export const useNestedItem = (id, isGroup) => {
165
179
  const parent = inject(VNestedSymbol, emptyNested);
166
- const computedId = computed(() => {
167
- var _id$value;
168
-
169
- return (_id$value = id.value) != null ? _id$value : getUid().toString();
170
- });
180
+ const computedId = computed(() => id.value ?? getUid().toString());
171
181
  const item = { ...parent,
172
182
  id: computedId,
173
183
  open: (open, e) => parent.root.open(computedId.value, open, e),
184
+ openOnSelect: (open, e) => parent.root.openOnSelect(computedId.value, open, e),
174
185
  isOpen: computed(() => parent.root.opened.value.has(computedId.value)),
175
186
  parent: computed(() => parent.root.parents.value.get(computedId.value)),
176
187
  select: (selected, e) => parent.root.select(computedId.value, selected, e),
177
188
  isSelected: computed(() => parent.root.selected.value.get(computedId.value) === 'on'),
178
189
  isIndeterminate: computed(() => parent.root.selected.value.get(computedId.value) === 'indeterminate'),
179
- isLeaf: computed(() => !parent.root.children.value.get(computedId.value))
190
+ isLeaf: computed(() => !parent.root.children.value.get(computedId.value)),
191
+ isGroupActivator: parent.isGroupActivator
180
192
  };
181
- !parent.skipRegister && parent.root.register(computedId.value, parent.id.value, isGroup);
193
+ !parent.isGroupActivator && parent.root.register(computedId.value, parent.id.value, isGroup);
182
194
  onBeforeUnmount(() => {
183
- !parent.skipRegister && parent.root.unregister(computedId.value);
195
+ !parent.isGroupActivator && parent.root.unregister(computedId.value);
184
196
  });
185
197
  isGroup && provide(VNestedSymbol, item);
186
198
  return item;
@@ -188,7 +200,7 @@ export const useNestedItem = (id, isGroup) => {
188
200
  export const useNestedGroupActivator = () => {
189
201
  const parent = inject(VNestedSymbol, emptyNested);
190
202
  provide(VNestedSymbol, { ...parent,
191
- skipRegister: true
203
+ isGroupActivator: true
192
204
  });
193
205
  };
194
206
  //# sourceMappingURL=nested.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/composables/nested/nested.ts"],"names":["useProxiedModel","getCurrentInstance","getUid","propsFactory","computed","inject","onBeforeUnmount","provide","ref","multipleOpenStrategy","singleOpenStrategy","classicSelectStrategy","independentSelectStrategy","independentSingleSelectStrategy","leafSelectStrategy","VNestedSymbol","Symbol","for","emptyNested","id","root","register","unregister","parents","Map","children","open","select","opened","Set","selected","selectedValues","makeNestedProps","selectStrategy","String","Function","openStrategy","Array","mandatory","Boolean","useNested","props","isUnmounted","v","values","value","in","out","getPath","path","parent","unshift","get","vm","nested","arr","key","entries","push","parentId","isGroup","set","delete","list","filter","child","event","emit","newOpened","newSelected","useNestedItem","computedId","toString","item","e","isOpen","has","isSelected","isIndeterminate","isLeaf","skipRegister","useNestedGroupActivator"],"mappings":"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","sourcesContent":["import { useProxiedModel } from '@/composables/proxiedModel'\nimport { getCurrentInstance, getUid, propsFactory } from '@/util'\nimport { computed, inject, onBeforeUnmount, provide, ref } from 'vue'\nimport { multipleOpenStrategy, singleOpenStrategy } from './openStrategies'\nimport { classicSelectStrategy, independentSelectStrategy, independentSingleSelectStrategy, leafSelectStrategy } from './selectStrategies'\n\n// Types\nimport type { InjectionKey, Prop, Ref } from 'vue'\nimport type { SelectStrategyFn } from './selectStrategies'\nimport type { OpenStrategyFn } from './openStrategies'\n\nexport type SelectStrategy = 'single-leaf' | 'leaf' | 'independent' | 'single-independent' | 'classic' | SelectStrategyFn\nexport type OpenStrategy = 'single' | 'multiple' | OpenStrategyFn\n\nexport interface NestedProps {\n selectStrategy: SelectStrategy | undefined\n openStrategy: OpenStrategy | 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 skipRegister?: boolean\n root: {\n children: Ref<Map<string, string[]>>\n parents: Ref<Map<string, string>>\n opened: Ref<Set<string>>\n selected: Ref<Map<string, 'on' | 'off' | 'indeterminate'>>\n selectedValues: Ref<string[]>\n register: (id: string, parentId: string | undefined, isGroup?: boolean) => void\n unregister: (id: string) => void\n open: (id: string, value: boolean, event?: Event) => void\n select: (id: string, value: boolean, event?: Event) => void\n }\n}\n\nexport const VNestedSymbol: InjectionKey<NestedProvide> = Symbol.for('vuetify:nested')\n\nexport const emptyNested: NestedProvide = {\n id: ref(),\n root: {\n register: () => null,\n unregister: () => null,\n parents: ref(new Map()),\n children: ref(new Map()),\n open: () => null,\n select: () => null,\n opened: ref(new Set()),\n selected: ref(new Map()),\n selectedValues: ref([]),\n },\n}\n\nexport const makeNestedProps = propsFactory({\n selectStrategy: [String, Function] as Prop<SelectStrategy>,\n openStrategy: [String, Function] as Prop<OpenStrategy>,\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 leafSelectStrategy(true)\n case 'leaf': return leafSelectStrategy()\n case 'independent': return independentSelectStrategy\n case 'single-independent': return independentSingleSelectStrategy\n case 'classic':\n default: return classicSelectStrategy\n }\n })\n\n const openStrategy = computed(() => {\n if (typeof props.openStrategy === 'function') return props.openStrategy\n\n switch (props.openStrategy) {\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({\n id,\n value,\n opened: new Set(opened.value),\n children: children.value,\n parents: parents.value,\n event,\n })\n\n newOpened && (opened.value = newOpened)\n },\n select: (id, value, event) => {\n vm.emit('click:select', { id, value, path: getPath(id), event })\n\n const newSelected = selectStrategy.value.select({\n id,\n value,\n selected: new Map(selected.value),\n children: children.value,\n parents: parents.value,\n event,\n mandatory: props.mandatory,\n })\n newSelected && (selected.value = newSelected)\n },\n children,\n parents,\n },\n }\n\n provide(VNestedSymbol, nested)\n\n return nested.root\n}\n\nexport const useNestedItem = (id: Ref<string | undefined>, isGroup: boolean) => {\n const parent = inject(VNestedSymbol, emptyNested)\n\n const computedId = computed(() => id.value ?? getUid().toString())\n\n const item = {\n ...parent,\n id: computedId,\n open: (open: boolean, e: Event) => parent.root.open(computedId.value, open, e),\n isOpen: computed(() => parent.root.opened.value.has(computedId.value)),\n parent: computed(() => parent.root.parents.value.get(computedId.value)),\n select: (selected: boolean, e: Event) => parent.root.select(computedId.value, selected, e),\n isSelected: computed(() => parent.root.selected.value.get(computedId.value) === 'on'),\n isIndeterminate: computed(() => parent.root.selected.value.get(computedId.value) === 'indeterminate'),\n isLeaf: computed(() => !parent.root.children.value.get(computedId.value)),\n }\n\n !parent.skipRegister && parent.root.register(computedId.value, parent.id.value, isGroup)\n\n onBeforeUnmount(() => {\n !parent.skipRegister && 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, skipRegister: true })\n}\n"],"file":"nested.mjs"}
1
+ {"version":3,"file":"nested.mjs","names":["useProxiedModel","getCurrentInstance","getUid","propsFactory","computed","inject","onBeforeUnmount","provide","ref","listOpenStrategy","multipleOpenStrategy","singleOpenStrategy","classicSelectStrategy","independentSelectStrategy","independentSingleSelectStrategy","leafSelectStrategy","leafSingleSelectStrategy","VNestedSymbol","Symbol","for","emptyNested","id","root","register","unregister","parents","Map","children","open","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,49 +1,76 @@
1
- export const singleOpenStrategy = _ref => {
2
- let {
3
- id,
4
- value,
5
- opened,
6
- parents
7
- } = _ref;
8
-
9
- if (value) {
10
- const newOpened = new Set();
11
- newOpened.add(id);
12
- let parent = parents.get(id);
1
+ export const singleOpenStrategy = {
2
+ open: _ref => {
3
+ let {
4
+ id,
5
+ value,
6
+ opened,
7
+ parents
8
+ } = _ref;
13
9
 
14
- while (parent != null) {
15
- newOpened.add(parent);
16
- parent = parents.get(parent);
10
+ if (value) {
11
+ const newOpened = new Set();
12
+ newOpened.add(id);
13
+ let parent = parents.get(id);
14
+
15
+ while (parent != null) {
16
+ newOpened.add(parent);
17
+ parent = parents.get(parent);
18
+ }
19
+
20
+ return newOpened;
21
+ } else {
22
+ opened.delete(id);
23
+ return opened;
24
+ }
25
+ },
26
+ select: () => null
27
+ };
28
+ export const multipleOpenStrategy = {
29
+ open: _ref2 => {
30
+ let {
31
+ id,
32
+ value,
33
+ opened,
34
+ parents
35
+ } = _ref2;
36
+
37
+ if (value) {
38
+ let parent = parents.get(id);
39
+ opened.add(id);
40
+
41
+ while (parent != null && parent !== id) {
42
+ opened.add(parent);
43
+ parent = parents.get(parent);
44
+ }
45
+
46
+ return opened;
47
+ } else {
48
+ opened.delete(id);
17
49
  }
18
50
 
19
- return newOpened;
20
- } else {
21
- opened.delete(id);
22
51
  return opened;
23
- }
52
+ },
53
+ select: () => null
24
54
  };
25
- export const multipleOpenStrategy = _ref2 => {
26
- let {
27
- id,
28
- value,
29
- opened,
30
- parents
31
- } = _ref2;
32
-
33
- if (value) {
55
+ export const listOpenStrategy = {
56
+ open: multipleOpenStrategy.open,
57
+ select: _ref3 => {
58
+ let {
59
+ id,
60
+ value,
61
+ opened,
62
+ parents
63
+ } = _ref3;
64
+ if (!value) return opened;
65
+ const path = [];
34
66
  let parent = parents.get(id);
35
- opened.add(id);
36
67
 
37
- while (parent != null && parent !== id) {
38
- opened.add(parent);
68
+ while (parent != null) {
69
+ path.push(parent);
39
70
  parent = parents.get(parent);
40
71
  }
41
72
 
42
- return opened;
43
- } else {
44
- opened.delete(id);
73
+ return new Set(path);
45
74
  }
46
-
47
- return opened;
48
75
  };
49
76
  //# sourceMappingURL=openStrategies.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/composables/nested/openStrategies.ts"],"names":["singleOpenStrategy","id","value","opened","parents","newOpened","Set","add","parent","get","delete","multipleOpenStrategy"],"mappings":"AASA,OAAO,MAAMA,kBAAkC,GAAG,QAAoC;AAAA,MAAnC;AAAEC,IAAAA,EAAF;AAAMC,IAAAA,KAAN;AAAaC,IAAAA,MAAb;AAAqBC,IAAAA;AAArB,GAAmC;;AACpF,MAAIF,KAAJ,EAAW;AACT,UAAMG,SAAS,GAAG,IAAIC,GAAJ,EAAlB;AACAD,IAAAA,SAAS,CAACE,GAAV,CAAcN,EAAd;AAEA,QAAIO,MAAM,GAAGJ,OAAO,CAACK,GAAR,CAAYR,EAAZ,CAAb;;AAEA,WAAOO,MAAM,IAAI,IAAjB,EAAuB;AACrBH,MAAAA,SAAS,CAACE,GAAV,CAAcC,MAAd;AACAA,MAAAA,MAAM,GAAGJ,OAAO,CAACK,GAAR,CAAYD,MAAZ,CAAT;AACD;;AAED,WAAOH,SAAP;AACD,GAZD,MAYO;AACLF,IAAAA,MAAM,CAACO,MAAP,CAAcT,EAAd;AACA,WAAOE,MAAP;AACD;AACF,CAjBM;AAmBP,OAAO,MAAMQ,oBAAoC,GAAG,SAAoC;AAAA,MAAnC;AAAEV,IAAAA,EAAF;AAAMC,IAAAA,KAAN;AAAaC,IAAAA,MAAb;AAAqBC,IAAAA;AAArB,GAAmC;;AACtF,MAAIF,KAAJ,EAAW;AACT,QAAIM,MAAM,GAAGJ,OAAO,CAACK,GAAR,CAAYR,EAAZ,CAAb;AACAE,IAAAA,MAAM,CAACI,GAAP,CAAWN,EAAX;;AAEA,WAAOO,MAAM,IAAI,IAAV,IAAkBA,MAAM,KAAKP,EAApC,EAAwC;AACtCE,MAAAA,MAAM,CAACI,GAAP,CAAWC,MAAX;AACAA,MAAAA,MAAM,GAAGJ,OAAO,CAACK,GAAR,CAAYD,MAAZ,CAAT;AACD;;AAED,WAAOL,MAAP;AACD,GAVD,MAUO;AACLA,IAAAA,MAAM,CAACO,MAAP,CAAcT,EAAd;AACD;;AACD,SAAOE,MAAP;AACD,CAfM","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 const singleOpenStrategy: OpenStrategyFn = ({ 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\nexport const multipleOpenStrategy: OpenStrategyFn = ({ 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"],"file":"openStrategies.mjs"}
1
+ {"version":3,"file":"openStrategies.mjs","names":["singleOpenStrategy","open","id","value","opened","parents","newOpened","Set","add","parent","get","delete","select","multipleOpenStrategy","listOpenStrategy","path","push"],"sources":["../../../src/composables/nested/openStrategies.ts"],"sourcesContent":["export type OpenStrategyFn = (data: {\n id: string\n value: boolean\n opened: Set<string>\n children: Map<string, string[]>\n parents: Map<string, string>\n event?: Event\n}) => Set<string>\n\nexport type OpenSelectStrategyFn = (data: {\n id: string\n value: boolean\n opened: Set<string>\n selected: Map<string, 'on' | 'off' | 'indeterminate'>\n children: Map<string, string[]>\n parents: Map<string, string>\n event?: Event\n}) => Set<string> | null\n\nexport type OpenStrategy = {\n open: OpenStrategyFn\n select: OpenSelectStrategyFn\n}\n\nexport const singleOpenStrategy: OpenStrategy = {\n open: ({ id, value, opened, parents }) => {\n if (value) {\n const newOpened = new Set<string>()\n newOpened.add(id)\n\n let parent = parents.get(id)\n\n while (parent != null) {\n newOpened.add(parent)\n parent = parents.get(parent)\n }\n\n return newOpened\n } else {\n opened.delete(id)\n return opened\n }\n },\n select: () => null,\n}\n\nexport const multipleOpenStrategy: OpenStrategy = {\n open: ({ id, value, opened, parents }) => {\n if (value) {\n let parent = parents.get(id)\n opened.add(id)\n\n while (parent != null && parent !== id) {\n opened.add(parent)\n parent = parents.get(parent)\n }\n\n return opened\n } else {\n opened.delete(id)\n }\n return opened\n },\n select: () => null,\n}\n\nexport const listOpenStrategy: OpenStrategy = {\n open: multipleOpenStrategy.open,\n select: ({ id, value, opened, parents }) => {\n if (!value) return opened\n\n const path: string[] = []\n\n let parent = parents.get(id)\n\n while (parent != null) {\n path.push(parent)\n parent = parents.get(parent)\n }\n\n return new Set(path)\n },\n}\n"],"mappings":"AAwBA,OAAO,MAAMA,kBAAgC,GAAG;EAC9CC,IAAI,EAAE,QAAoC;IAAA,IAAnC;MAAEC,EAAF;MAAMC,KAAN;MAAaC,MAAb;MAAqBC;IAArB,CAAmC;;IACxC,IAAIF,KAAJ,EAAW;MACT,MAAMG,SAAS,GAAG,IAAIC,GAAJ,EAAlB;MACAD,SAAS,CAACE,GAAV,CAAcN,EAAd;MAEA,IAAIO,MAAM,GAAGJ,OAAO,CAACK,GAAR,CAAYR,EAAZ,CAAb;;MAEA,OAAOO,MAAM,IAAI,IAAjB,EAAuB;QACrBH,SAAS,CAACE,GAAV,CAAcC,MAAd;QACAA,MAAM,GAAGJ,OAAO,CAACK,GAAR,CAAYD,MAAZ,CAAT;MACD;;MAED,OAAOH,SAAP;IACD,CAZD,MAYO;MACLF,MAAM,CAACO,MAAP,CAAcT,EAAd;MACA,OAAOE,MAAP;IACD;EACF,CAlB6C;EAmB9CQ,MAAM,EAAE,MAAM;AAnBgC,CAAzC;AAsBP,OAAO,MAAMC,oBAAkC,GAAG;EAChDZ,IAAI,EAAE,SAAoC;IAAA,IAAnC;MAAEC,EAAF;MAAMC,KAAN;MAAaC,MAAb;MAAqBC;IAArB,CAAmC;;IACxC,IAAIF,KAAJ,EAAW;MACT,IAAIM,MAAM,GAAGJ,OAAO,CAACK,GAAR,CAAYR,EAAZ,CAAb;MACAE,MAAM,CAACI,GAAP,CAAWN,EAAX;;MAEA,OAAOO,MAAM,IAAI,IAAV,IAAkBA,MAAM,KAAKP,EAApC,EAAwC;QACtCE,MAAM,CAACI,GAAP,CAAWC,MAAX;QACAA,MAAM,GAAGJ,OAAO,CAACK,GAAR,CAAYD,MAAZ,CAAT;MACD;;MAED,OAAOL,MAAP;IACD,CAVD,MAUO;MACLA,MAAM,CAACO,MAAP,CAAcT,EAAd;IACD;;IACD,OAAOE,MAAP;EACD,CAhB+C;EAiBhDQ,MAAM,EAAE,MAAM;AAjBkC,CAA3C;AAoBP,OAAO,MAAME,gBAA8B,GAAG;EAC5Cb,IAAI,EAAEY,oBAAoB,CAACZ,IADiB;EAE5CW,MAAM,EAAE,SAAoC;IAAA,IAAnC;MAAEV,EAAF;MAAMC,KAAN;MAAaC,MAAb;MAAqBC;IAArB,CAAmC;IAC1C,IAAI,CAACF,KAAL,EAAY,OAAOC,MAAP;IAEZ,MAAMW,IAAc,GAAG,EAAvB;IAEA,IAAIN,MAAM,GAAGJ,OAAO,CAACK,GAAR,CAAYR,EAAZ,CAAb;;IAEA,OAAOO,MAAM,IAAI,IAAjB,EAAuB;MACrBM,IAAI,CAACC,IAAL,CAAUP,MAAV;MACAA,MAAM,GAAGJ,OAAO,CAACK,GAAR,CAAYD,MAAZ,CAAT;IACD;;IAED,OAAO,IAAIF,GAAJ,CAAQQ,IAAR,CAAP;EACD;AAf2C,CAAvC"}