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

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 (715) hide show
  1. package/CHANGELOG.md +32 -2
  2. package/dist/_component-variables.sass +61 -0
  3. package/dist/json/attributes.json +662 -430
  4. package/dist/json/importMap.json +222 -198
  5. package/dist/json/tags.json +184 -96
  6. package/dist/json/web-types.json +2021 -1152
  7. package/dist/vuetify.css +1869 -1468
  8. package/dist/vuetify.d.ts +12840 -9217
  9. package/dist/vuetify.esm.js +6121 -5104
  10. package/dist/vuetify.esm.js.map +1 -1
  11. package/dist/vuetify.js +6120 -5103
  12. package/dist/vuetify.js.map +1 -1
  13. package/dist/vuetify.min.css +3 -3
  14. package/dist/vuetify.min.js +1085 -964
  15. package/dist/vuetify.min.js.map +1 -1
  16. package/lib/components/VAlert/VAlert.css +34 -13
  17. package/lib/components/VAlert/VAlert.mjs +43 -24
  18. package/lib/components/VAlert/VAlert.mjs.map +1 -1
  19. package/lib/components/VAlert/VAlert.sass +26 -8
  20. package/lib/components/VAlert/VAlertTitle.mjs +1 -0
  21. package/lib/components/VAlert/VAlertTitle.mjs.map +1 -1
  22. package/lib/components/VAlert/_variables.scss +14 -7
  23. package/lib/components/VAlert/index.mjs.map +1 -1
  24. package/lib/components/VApp/VApp.css +1 -0
  25. package/lib/components/VApp/VApp.mjs.map +1 -1
  26. package/lib/components/VApp/VApp.sass +1 -0
  27. package/lib/components/VApp/index.mjs.map +1 -1
  28. package/lib/components/VAppBar/VAppBar.mjs +11 -7
  29. package/lib/components/VAppBar/VAppBar.mjs.map +1 -1
  30. package/lib/components/VAppBar/VAppBar.sass +0 -1
  31. package/lib/components/VAppBar/VAppBarNavIcon.mjs +4 -2
  32. package/lib/components/VAppBar/VAppBarNavIcon.mjs.map +1 -1
  33. package/lib/components/VAppBar/VAppBarTitle.mjs +3 -1
  34. package/lib/components/VAppBar/VAppBarTitle.mjs.map +1 -1
  35. package/lib/components/VAppBar/index.mjs.map +1 -1
  36. package/lib/components/VAutocomplete/VAutocomplete.mjs +133 -101
  37. package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
  38. package/lib/components/VAutocomplete/VAutocomplete.sass +0 -2
  39. package/lib/components/VAutocomplete/index.mjs.map +1 -1
  40. package/lib/components/VAvatar/VAvatar.css +1 -1
  41. package/lib/components/VAvatar/VAvatar.mjs +17 -15
  42. package/lib/components/VAvatar/VAvatar.mjs.map +1 -1
  43. package/lib/components/VAvatar/VAvatar.sass +1 -2
  44. package/lib/components/VAvatar/_mixins.scss +0 -1
  45. package/lib/components/VAvatar/index.mjs.map +1 -1
  46. package/lib/components/VBadge/VBadge.css +3 -6
  47. package/lib/components/VBadge/VBadge.mjs +16 -44
  48. package/lib/components/VBadge/VBadge.mjs.map +1 -1
  49. package/lib/components/VBadge/VBadge.sass +2 -5
  50. package/lib/components/VBadge/_variables.scss +1 -2
  51. package/lib/components/VBadge/index.mjs.map +1 -1
  52. package/lib/components/VBanner/VBanner.css +82 -58
  53. package/lib/components/VBanner/VBanner.mjs +49 -48
  54. package/lib/components/VBanner/VBanner.mjs.map +1 -1
  55. package/lib/components/VBanner/VBanner.sass +61 -55
  56. package/lib/components/VBanner/VBannerActions.mjs +34 -2
  57. package/lib/components/VBanner/VBannerActions.mjs.map +1 -1
  58. package/lib/components/VBanner/VBannerAvatar.mjs +20 -0
  59. package/lib/components/VBanner/VBannerAvatar.mjs.map +1 -0
  60. package/lib/components/VBanner/VBannerIcon.mjs +20 -0
  61. package/lib/components/VBanner/VBannerIcon.mjs.map +1 -0
  62. package/lib/components/VBanner/VBannerText.mjs.map +1 -1
  63. package/lib/components/VBanner/_variables.scss +10 -14
  64. package/lib/components/VBanner/index.mjs +2 -0
  65. package/lib/components/VBanner/index.mjs.map +1 -1
  66. package/lib/components/VBottomNavigation/VBottomNavigation.css +1 -1
  67. package/lib/components/VBottomNavigation/VBottomNavigation.mjs +1 -1
  68. package/lib/components/VBottomNavigation/VBottomNavigation.mjs.map +1 -1
  69. package/lib/components/VBottomNavigation/VBottomNavigation.sass +1 -2
  70. package/lib/components/VBottomNavigation/index.mjs.map +1 -1
  71. package/lib/components/VBottomSheet/VBottomSheet.mjs.map +1 -1
  72. package/lib/components/VBottomSheet/index.mjs.map +1 -1
  73. package/lib/components/VBreadcrumbs/VBreadcrumbs.mjs +5 -2
  74. package/lib/components/VBreadcrumbs/VBreadcrumbs.mjs.map +1 -1
  75. package/lib/components/VBreadcrumbs/VBreadcrumbs.sass +0 -1
  76. package/lib/components/VBreadcrumbs/VBreadcrumbsDivider.mjs.map +1 -1
  77. package/lib/components/VBreadcrumbs/VBreadcrumbsItem.mjs +10 -9
  78. package/lib/components/VBreadcrumbs/VBreadcrumbsItem.mjs.map +1 -1
  79. package/lib/components/VBreadcrumbs/index.mjs.map +1 -1
  80. package/lib/components/VBreadcrumbs/shared.mjs.map +1 -1
  81. package/lib/components/VBtn/VBtn.css +56 -11
  82. package/lib/components/VBtn/VBtn.mjs +51 -20
  83. package/lib/components/VBtn/VBtn.mjs.map +1 -1
  84. package/lib/components/VBtn/VBtn.sass +35 -4
  85. package/lib/components/VBtn/_variables.scss +2 -0
  86. package/lib/components/VBtn/index.mjs.map +1 -1
  87. package/lib/components/VBtnGroup/VBtnGroup.css +14 -6
  88. package/lib/components/VBtnGroup/VBtnGroup.mjs.map +1 -1
  89. package/lib/components/VBtnGroup/VBtnGroup.sass +14 -7
  90. package/lib/components/VBtnGroup/index.mjs.map +1 -1
  91. package/lib/components/VBtnToggle/VBtnToggle.mjs.map +1 -1
  92. package/lib/components/VBtnToggle/VBtnToggle.sass +0 -1
  93. package/lib/components/VBtnToggle/index.mjs.map +1 -1
  94. package/lib/components/VCalendar/VCalendar.mjs.map +1 -1
  95. package/lib/components/VCalendar/VCalendarCategory.mjs.map +1 -1
  96. package/lib/components/VCalendar/VCalendarDaily.mjs.map +1 -1
  97. package/lib/components/VCalendar/VCalendarMonthly.mjs.map +1 -1
  98. package/lib/components/VCalendar/VCalendarWeekly.mjs.map +1 -1
  99. package/lib/components/VCalendar/index.mjs.map +1 -1
  100. package/lib/components/VCalendar/mixins/calendar-base.mjs.map +1 -1
  101. package/lib/components/VCalendar/mixins/calendar-with-events.mjs.map +1 -1
  102. package/lib/components/VCalendar/mixins/calendar-with-intervals.mjs.map +1 -1
  103. package/lib/components/VCalendar/mixins/mouse.mjs.map +1 -1
  104. package/lib/components/VCalendar/mixins/times.mjs.map +1 -1
  105. package/lib/components/VCalendar/modes/column.mjs.map +1 -1
  106. package/lib/components/VCalendar/modes/common.mjs.map +1 -1
  107. package/lib/components/VCalendar/modes/index.mjs.map +1 -1
  108. package/lib/components/VCalendar/modes/stack.mjs.map +1 -1
  109. package/lib/components/VCalendar/util/events.mjs.map +1 -1
  110. package/lib/components/VCalendar/util/parser.mjs.map +1 -1
  111. package/lib/components/VCalendar/util/props.mjs.map +1 -1
  112. package/lib/components/VCalendar/util/timestamp.mjs.map +1 -1
  113. package/lib/components/VCard/VCard.css +23 -20
  114. package/lib/components/VCard/VCard.mjs +17 -9
  115. package/lib/components/VCard/VCard.mjs.map +1 -1
  116. package/lib/components/VCard/VCard.sass +12 -10
  117. package/lib/components/VCard/VCardActions.mjs +1 -2
  118. package/lib/components/VCard/VCardActions.mjs.map +1 -1
  119. package/lib/components/VCard/VCardAvatar.mjs.map +1 -1
  120. package/lib/components/VCard/VCardContent.mjs +3 -0
  121. package/lib/components/VCard/VCardContent.mjs.map +1 -0
  122. package/lib/components/VCard/VCardHeader.mjs.map +1 -1
  123. package/lib/components/VCard/VCardHeaderText.mjs.map +1 -1
  124. package/lib/components/VCard/VCardImg.mjs.map +1 -1
  125. package/lib/components/VCard/VCardSubtitle.mjs.map +1 -1
  126. package/lib/components/VCard/VCardText.mjs.map +1 -1
  127. package/lib/components/VCard/VCardTitle.mjs.map +1 -1
  128. package/lib/components/VCard/_variables.scss +11 -5
  129. package/lib/components/VCard/index.mjs +1 -0
  130. package/lib/components/VCard/index.mjs.map +1 -1
  131. package/lib/components/VCarousel/VCarousel.mjs +4 -3
  132. package/lib/components/VCarousel/VCarousel.mjs.map +1 -1
  133. package/lib/components/VCarousel/VCarousel.sass +0 -1
  134. package/lib/components/VCarousel/VCarouselItem.mjs.map +1 -1
  135. package/lib/components/VCarousel/index.mjs.map +1 -1
  136. package/lib/components/VCheckbox/VCheckbox.mjs +15 -47
  137. package/lib/components/VCheckbox/VCheckbox.mjs.map +1 -1
  138. package/lib/components/VCheckbox/VCheckbox.sass +0 -1
  139. package/lib/components/VCheckbox/VCheckboxBtn.mjs +67 -0
  140. package/lib/components/VCheckbox/VCheckboxBtn.mjs.map +1 -0
  141. package/lib/components/VCheckbox/index.mjs +1 -0
  142. package/lib/components/VCheckbox/index.mjs.map +1 -1
  143. package/lib/components/VChip/VChip.css +8 -5
  144. package/lib/components/VChip/VChip.mjs +6 -5
  145. package/lib/components/VChip/VChip.mjs.map +1 -1
  146. package/lib/components/VChip/VChip.sass +3 -1
  147. package/lib/components/VChip/_variables.scss +3 -0
  148. package/lib/components/VChip/index.mjs.map +1 -1
  149. package/lib/components/VChipGroup/VChipGroup.mjs +1 -1
  150. package/lib/components/VChipGroup/VChipGroup.mjs.map +1 -1
  151. package/lib/components/VChipGroup/index.mjs.map +1 -1
  152. package/lib/components/VCode/VCode.sass +1 -2
  153. package/lib/components/VCode/_variables.scss +1 -1
  154. package/lib/components/VCode/index.mjs.map +1 -1
  155. package/lib/components/VColorPicker/VColorPicker.mjs.map +1 -1
  156. package/lib/components/VColorPicker/VColorPicker.sass +0 -1
  157. package/lib/components/VColorPicker/VColorPickerCanvas.css +1 -1
  158. package/lib/components/VColorPicker/VColorPickerCanvas.mjs.map +1 -1
  159. package/lib/components/VColorPicker/VColorPickerCanvas.sass +0 -1
  160. package/lib/components/VColorPicker/VColorPickerEdit.mjs.map +1 -1
  161. package/lib/components/VColorPicker/VColorPickerEdit.sass +0 -1
  162. package/lib/components/VColorPicker/VColorPickerPreview.mjs.map +1 -1
  163. package/lib/components/VColorPicker/VColorPickerPreview.sass +0 -1
  164. package/lib/components/VColorPicker/VColorPickerSwatches.mjs.map +1 -1
  165. package/lib/components/VColorPicker/VColorPickerSwatches.sass +0 -1
  166. package/lib/components/VColorPicker/index.mjs.map +1 -1
  167. package/lib/components/VColorPicker/util/index.mjs.map +1 -1
  168. package/lib/components/VCombobox/VCombobox.mjs +140 -110
  169. package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
  170. package/lib/components/VCombobox/VCombobox.sass +0 -2
  171. package/lib/components/VCombobox/index.mjs.map +1 -1
  172. package/lib/components/VCounter/VCounter.mjs.map +1 -1
  173. package/lib/components/VCounter/VCounter.sass +0 -1
  174. package/lib/components/VCounter/index.mjs.map +1 -1
  175. package/lib/components/VData/VData.mjs.map +1 -1
  176. package/lib/components/VData/index.mjs.map +1 -1
  177. package/lib/components/VDataIterator/VDataFooter.mjs.map +1 -1
  178. package/lib/components/VDataIterator/VDataIterator.mjs.map +1 -1
  179. package/lib/components/VDataIterator/index.mjs.map +1 -1
  180. package/lib/components/VDataTable/MobileRow.mjs.map +1 -1
  181. package/lib/components/VDataTable/Row.mjs.map +1 -1
  182. package/lib/components/VDataTable/RowGroup.mjs.map +1 -1
  183. package/lib/components/VDataTable/VDataTable.mjs.map +1 -1
  184. package/lib/components/VDataTable/VDataTableHeader.mjs.map +1 -1
  185. package/lib/components/VDataTable/VDataTableHeaderDesktop.mjs.map +1 -1
  186. package/lib/components/VDataTable/VDataTableHeaderMobile.mjs.map +1 -1
  187. package/lib/components/VDataTable/VEditDialog.mjs.map +1 -1
  188. package/lib/components/VDataTable/VVirtualTable.mjs.map +1 -1
  189. package/lib/components/VDataTable/index.mjs.map +1 -1
  190. package/lib/components/VDataTable/mixins/header.mjs.map +1 -1
  191. package/lib/components/VDatePicker/VDatePicker.mjs.map +1 -1
  192. package/lib/components/VDatePicker/VDatePickerDateTable.mjs.map +1 -1
  193. package/lib/components/VDatePicker/VDatePickerHeader.mjs.map +1 -1
  194. package/lib/components/VDatePicker/VDatePickerMonthTable.mjs.map +1 -1
  195. package/lib/components/VDatePicker/VDatePickerTitle.mjs.map +1 -1
  196. package/lib/components/VDatePicker/VDatePickerYears.mjs.map +1 -1
  197. package/lib/components/VDatePicker/index.mjs.map +1 -1
  198. package/lib/components/VDatePicker/mixins/date-picker-table.mjs.map +1 -1
  199. package/lib/components/VDatePicker/util/createNativeLocaleFormatter.mjs.map +1 -1
  200. package/lib/components/VDatePicker/util/eventHelpers.mjs.map +1 -1
  201. package/lib/components/VDatePicker/util/index.mjs.map +1 -1
  202. package/lib/components/VDatePicker/util/isDateAllowed.mjs.map +1 -1
  203. package/lib/components/VDatePicker/util/monthChange.mjs.map +1 -1
  204. package/lib/components/VDatePicker/util/pad.mjs.map +1 -1
  205. package/lib/components/VDatePicker/util/sanitizeDateString.mjs.map +1 -1
  206. package/lib/components/VDefaultsProvider/VDefaultsProvider.mjs.map +1 -1
  207. package/lib/components/VDefaultsProvider/index.mjs.map +1 -1
  208. package/lib/components/VDialog/VDialog.css +31 -12
  209. package/lib/components/VDialog/VDialog.mjs +14 -12
  210. package/lib/components/VDialog/VDialog.mjs.map +1 -1
  211. package/lib/components/VDialog/VDialog.sass +27 -12
  212. package/lib/components/VDialog/_variables.scss +3 -7
  213. package/lib/components/VDialog/index.mjs.map +1 -1
  214. package/lib/components/VDivider/VDivider.mjs.map +1 -1
  215. package/lib/components/VDivider/VDivider.sass +0 -1
  216. package/lib/components/VDivider/index.mjs.map +1 -1
  217. package/lib/components/VExpansionPanel/VExpansionPanel.css +8 -6
  218. package/lib/components/VExpansionPanel/VExpansionPanel.mjs +6 -2
  219. package/lib/components/VExpansionPanel/VExpansionPanel.mjs.map +1 -1
  220. package/lib/components/VExpansionPanel/VExpansionPanel.sass +0 -1
  221. package/lib/components/VExpansionPanel/VExpansionPanelText.mjs.map +1 -1
  222. package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs +9 -6
  223. package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs.map +1 -1
  224. package/lib/components/VExpansionPanel/VExpansionPanels.mjs +4 -0
  225. package/lib/components/VExpansionPanel/VExpansionPanels.mjs.map +1 -1
  226. package/lib/components/VExpansionPanel/index.mjs.map +1 -1
  227. package/lib/components/VField/VField.css +10 -10
  228. package/lib/components/VField/VField.mjs +12 -11
  229. package/lib/components/VField/VField.mjs.map +1 -1
  230. package/lib/components/VField/VField.sass +7 -9
  231. package/lib/components/VField/VFieldLabel.mjs.map +1 -1
  232. package/lib/components/VField/_variables.scss +3 -3
  233. package/lib/components/VField/index.mjs.map +1 -1
  234. package/lib/components/VFileInput/VFileInput.mjs +5 -3
  235. package/lib/components/VFileInput/VFileInput.mjs.map +1 -1
  236. package/lib/components/VFileInput/VFileInput.sass +0 -1
  237. package/lib/components/VFileInput/index.mjs.map +1 -1
  238. package/lib/components/VFooter/VFooter.mjs +32 -15
  239. package/lib/components/VFooter/VFooter.mjs.map +1 -1
  240. package/lib/components/VFooter/VFooter.sass +0 -1
  241. package/lib/components/VFooter/index.mjs.map +1 -1
  242. package/lib/components/VForm/VForm.mjs +25 -11
  243. package/lib/components/VForm/VForm.mjs.map +1 -1
  244. package/lib/components/VForm/index.mjs.map +1 -1
  245. package/lib/components/VGrid/VCol.mjs.map +1 -1
  246. package/lib/components/VGrid/VContainer.mjs.map +1 -1
  247. package/lib/components/VGrid/VRow.mjs.map +1 -1
  248. package/lib/components/VGrid/VSpacer.mjs.map +1 -1
  249. package/lib/components/VGrid/index.mjs.map +1 -1
  250. package/lib/components/VHover/VHover.mjs.map +1 -1
  251. package/lib/components/VHover/index.mjs.map +1 -1
  252. package/lib/components/VIcon/VIcon.css +27 -12
  253. package/lib/components/VIcon/VIcon.mjs +18 -17
  254. package/lib/components/VIcon/VIcon.mjs.map +1 -1
  255. package/lib/components/VIcon/VIcon.sass +27 -17
  256. package/lib/components/VIcon/_variables.scss +1 -0
  257. package/lib/components/VIcon/index.mjs.map +1 -1
  258. package/lib/components/VImg/VImg.mjs.map +1 -1
  259. package/lib/components/VImg/VImg.sass +0 -1
  260. package/lib/components/VImg/index.mjs.map +1 -1
  261. package/lib/components/VInput/VInput.css +3 -1
  262. package/lib/components/VInput/VInput.mjs +10 -10
  263. package/lib/components/VInput/VInput.mjs.map +1 -1
  264. package/lib/components/VInput/VInput.sass +3 -2
  265. package/lib/components/VInput/_variables.scss +4 -0
  266. package/lib/components/VInput/index.mjs.map +1 -1
  267. package/lib/components/VItemGroup/VItem.mjs.map +1 -1
  268. package/lib/components/VItemGroup/VItemGroup.mjs.map +1 -1
  269. package/lib/components/VItemGroup/VItemGroup.sass +0 -1
  270. package/lib/components/VItemGroup/index.mjs.map +1 -1
  271. package/lib/components/VKbd/VKbd.sass +0 -1
  272. package/lib/components/VKbd/_variables.scss +1 -1
  273. package/lib/components/VKbd/index.mjs.map +1 -1
  274. package/lib/components/VLabel/VLabel.mjs.map +1 -1
  275. package/lib/components/VLabel/VLabel.sass +0 -1
  276. package/lib/components/VLabel/index.mjs.map +1 -1
  277. package/lib/components/VLayout/VLayout.mjs.map +1 -1
  278. package/lib/components/VLayout/VLayoutItem.mjs +1 -1
  279. package/lib/components/VLayout/VLayoutItem.mjs.map +1 -1
  280. package/lib/components/VLayout/index.mjs.map +1 -1
  281. package/lib/components/VLazy/VLazy.mjs.map +1 -1
  282. package/lib/components/VLazy/index.mjs.map +1 -1
  283. package/lib/components/VList/VList.css +7 -12
  284. package/lib/components/VList/VList.mjs +83 -48
  285. package/lib/components/VList/VList.mjs.map +1 -1
  286. package/lib/components/VList/VList.sass +3 -4
  287. package/lib/components/VList/VListChildren.mjs +41 -3
  288. package/lib/components/VList/VListChildren.mjs.map +1 -1
  289. package/lib/components/VList/VListGroup.mjs +43 -15
  290. package/lib/components/VList/VListGroup.mjs.map +1 -1
  291. package/lib/components/VList/VListImg.mjs.map +1 -1
  292. package/lib/components/VList/VListItem.css +129 -51
  293. package/lib/components/VList/VListItem.mjs +49 -44
  294. package/lib/components/VList/VListItem.mjs.map +1 -1
  295. package/lib/components/VList/VListItem.sass +77 -30
  296. package/lib/components/VList/VListItemAction.mjs +29 -0
  297. package/lib/components/VList/VListItemAction.mjs.map +1 -0
  298. package/lib/components/VList/VListItemAvatar.mjs +10 -16
  299. package/lib/components/VList/VListItemAvatar.mjs.map +1 -1
  300. package/lib/components/VList/VListItemHeader.mjs.map +1 -1
  301. package/lib/components/VList/VListItemIcon.mjs +23 -0
  302. package/lib/components/VList/VListItemIcon.mjs.map +1 -0
  303. package/lib/components/VList/VListItemMedia.mjs +4 -4
  304. package/lib/components/VList/VListItemMedia.mjs.map +1 -1
  305. package/lib/components/VList/VListItemSubtitle.mjs.map +1 -1
  306. package/lib/components/VList/VListItemTitle.mjs.map +1 -1
  307. package/lib/components/VList/VListSubheader.mjs +3 -3
  308. package/lib/components/VList/VListSubheader.mjs.map +1 -1
  309. package/lib/components/VList/_variables.scss +12 -4
  310. package/lib/components/VList/index.mjs +2 -0
  311. package/lib/components/VList/index.mjs.map +1 -1
  312. package/lib/components/VList/list.mjs.map +1 -1
  313. package/lib/components/VLocaleProvider/VLocaleProvider.mjs.map +1 -1
  314. package/lib/components/VLocaleProvider/index.mjs.map +1 -1
  315. package/lib/components/VMain/VMain.mjs.map +1 -1
  316. package/lib/components/VMain/VMain.sass +0 -1
  317. package/lib/components/VMain/index.mjs.map +1 -1
  318. package/lib/components/VMenu/VMenu.css +2 -12
  319. package/lib/components/VMenu/VMenu.mjs +65 -31
  320. package/lib/components/VMenu/VMenu.mjs.map +1 -1
  321. package/lib/components/VMenu/VMenu.sass +3 -7
  322. package/lib/components/VMenu/_variables.scss +0 -1
  323. package/lib/components/VMenu/index.mjs.map +1 -1
  324. package/lib/components/VMenu/shared.mjs +2 -0
  325. package/lib/components/VMenu/shared.mjs.map +1 -0
  326. package/lib/components/VMessages/VMessages.mjs.map +1 -1
  327. package/lib/components/VMessages/VMessages.sass +0 -1
  328. package/lib/components/VMessages/index.mjs.map +1 -1
  329. package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs +13 -9
  330. package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs.map +1 -1
  331. package/lib/components/VNavigationDrawer/VNavigationDrawer.sass +0 -1
  332. package/lib/components/VNavigationDrawer/index.mjs.map +1 -1
  333. package/lib/components/VNavigationDrawer/touch.mjs.map +1 -1
  334. package/lib/components/VNoSsr/VNoSsr.mjs.map +1 -1
  335. package/lib/components/VNoSsr/index.mjs.map +1 -1
  336. package/lib/components/VOtpInput/VOtpInput.mjs.map +1 -1
  337. package/lib/components/VOtpInput/index.mjs.map +1 -1
  338. package/lib/components/VOverflowBtn/VOverflowBtn.mjs.map +1 -1
  339. package/lib/components/VOverflowBtn/index.mjs.map +1 -1
  340. package/lib/components/VOverlay/VOverlay.css +7 -0
  341. package/lib/components/VOverlay/VOverlay.mjs +57 -32
  342. package/lib/components/VOverlay/VOverlay.mjs.map +1 -1
  343. package/lib/components/VOverlay/VOverlay.sass +8 -1
  344. package/lib/components/VOverlay/index.mjs.map +1 -1
  345. package/lib/components/VOverlay/{positionStrategies.mjs → locationStrategies.mjs} +39 -36
  346. package/lib/components/VOverlay/locationStrategies.mjs.map +1 -0
  347. package/lib/components/VOverlay/requestNewFrame.mjs.map +1 -1
  348. package/lib/components/VOverlay/scrollStrategies.mjs +11 -2
  349. package/lib/components/VOverlay/scrollStrategies.mjs.map +1 -1
  350. package/lib/components/VOverlay/useActivator.mjs +57 -15
  351. package/lib/components/VOverlay/useActivator.mjs.map +1 -1
  352. package/lib/components/VOverlay/util/point.mjs.map +1 -1
  353. package/lib/components/VPagination/VPagination.mjs +16 -17
  354. package/lib/components/VPagination/VPagination.mjs.map +1 -1
  355. package/lib/components/VPagination/VPagination.sass +0 -1
  356. package/lib/components/VPagination/index.mjs.map +1 -1
  357. package/lib/components/VParallax/VParallax.mjs.map +1 -1
  358. package/lib/components/VParallax/index.mjs.map +1 -1
  359. package/lib/components/VPicker/VPicker.mjs.map +1 -1
  360. package/lib/components/VPicker/index.mjs.map +1 -1
  361. package/lib/components/VProgressCircular/VProgressCircular.mjs.map +1 -1
  362. package/lib/components/VProgressCircular/VProgressCircular.sass +0 -1
  363. package/lib/components/VProgressCircular/index.mjs.map +1 -1
  364. package/lib/components/VProgressLinear/VProgressLinear.css +1 -1
  365. package/lib/components/VProgressLinear/VProgressLinear.mjs.map +1 -1
  366. package/lib/components/VProgressLinear/VProgressLinear.sass +0 -1
  367. package/lib/components/VProgressLinear/index.mjs.map +1 -1
  368. package/lib/components/VRadio/VRadio.mjs +6 -5
  369. package/lib/components/VRadio/VRadio.mjs.map +1 -1
  370. package/lib/components/VRadio/index.mjs.map +1 -1
  371. package/lib/components/VRadioGroup/VRadioGroup.mjs +11 -6
  372. package/lib/components/VRadioGroup/VRadioGroup.mjs.map +1 -1
  373. package/lib/components/VRadioGroup/index.mjs.map +1 -1
  374. package/lib/components/VRangeSlider/VRangeSlider.mjs +5 -2
  375. package/lib/components/VRangeSlider/VRangeSlider.mjs.map +1 -1
  376. package/lib/components/VRangeSlider/index.mjs.map +1 -1
  377. package/lib/components/VRating/VRating.css +2 -2
  378. package/lib/components/VRating/VRating.mjs +17 -6
  379. package/lib/components/VRating/VRating.mjs.map +1 -1
  380. package/lib/components/VRating/VRating.sass +2 -3
  381. package/lib/components/VRating/index.mjs.map +1 -1
  382. package/lib/components/VResponsive/VResponsive.mjs.map +1 -1
  383. package/lib/components/VResponsive/index.mjs.map +1 -1
  384. package/lib/components/VSelect/VSelect.mjs +134 -107
  385. package/lib/components/VSelect/VSelect.mjs.map +1 -1
  386. package/lib/components/VSelect/VSelect.sass +0 -2
  387. package/lib/components/VSelect/index.mjs.map +1 -1
  388. package/lib/components/VSelectionControl/VSelectionControl.css +1 -0
  389. package/lib/components/VSelectionControl/VSelectionControl.mjs +15 -12
  390. package/lib/components/VSelectionControl/VSelectionControl.mjs.map +1 -1
  391. package/lib/components/VSelectionControl/VSelectionControl.sass +1 -1
  392. package/lib/components/VSelectionControl/index.mjs.map +1 -1
  393. package/lib/components/VSelectionControlGroup/VSelectionControlGroup.mjs +6 -5
  394. package/lib/components/VSelectionControlGroup/VSelectionControlGroup.mjs.map +1 -1
  395. package/lib/components/VSelectionControlGroup/VSelectionControlGroup.sass +0 -1
  396. package/lib/components/VSelectionControlGroup/index.mjs.map +1 -1
  397. package/lib/components/VSheet/VSheet.mjs +7 -3
  398. package/lib/components/VSheet/VSheet.mjs.map +1 -1
  399. package/lib/components/VSheet/VSheet.sass +0 -1
  400. package/lib/components/VSheet/index.mjs.map +1 -1
  401. package/lib/components/VSkeletonLoader/VSkeletonLoader.mjs.map +1 -1
  402. package/lib/components/VSkeletonLoader/index.mjs.map +1 -1
  403. package/lib/components/VSlideGroup/VSlideGroup.css +0 -5
  404. package/lib/components/VSlideGroup/VSlideGroup.mjs +40 -17
  405. package/lib/components/VSlideGroup/VSlideGroup.mjs.map +1 -1
  406. package/lib/components/VSlideGroup/VSlideGroup.sass +0 -5
  407. package/lib/components/VSlideGroup/VSlideGroupItem.mjs +3 -1
  408. package/lib/components/VSlideGroup/VSlideGroupItem.mjs.map +1 -1
  409. package/lib/components/VSlideGroup/helpers.mjs.map +1 -1
  410. package/lib/components/VSlideGroup/index.mjs.map +1 -1
  411. package/lib/components/VSlider/VSlider.css +7 -2
  412. package/lib/components/VSlider/VSlider.mjs.map +1 -1
  413. package/lib/components/VSlider/VSlider.sass +11 -7
  414. package/lib/components/VSlider/VSliderThumb.mjs.map +1 -1
  415. package/lib/components/VSlider/VSliderThumb.sass +0 -2
  416. package/lib/components/VSlider/VSliderTrack.css +6 -6
  417. package/lib/components/VSlider/VSliderTrack.mjs +3 -2
  418. package/lib/components/VSlider/VSliderTrack.mjs.map +1 -1
  419. package/lib/components/VSlider/VSliderTrack.sass +7 -9
  420. package/lib/components/VSlider/_variables.scss +5 -2
  421. package/lib/components/VSlider/index.mjs.map +1 -1
  422. package/lib/components/VSlider/slider.mjs.map +1 -1
  423. package/lib/components/VSnackbar/VSnackbar.css +19 -36
  424. package/lib/components/VSnackbar/VSnackbar.mjs +38 -19
  425. package/lib/components/VSnackbar/VSnackbar.mjs.map +1 -1
  426. package/lib/components/VSnackbar/VSnackbar.sass +15 -35
  427. package/lib/components/VSnackbar/_variables.scss +0 -4
  428. package/lib/components/VSnackbar/index.mjs.map +1 -1
  429. package/lib/components/VSparkline/VSparkline.mjs.map +1 -1
  430. package/lib/components/VSparkline/helpers/core.mjs.map +1 -1
  431. package/lib/components/VSparkline/helpers/math.mjs.map +1 -1
  432. package/lib/components/VSparkline/helpers/path.mjs.map +1 -1
  433. package/lib/components/VSparkline/index.mjs.map +1 -1
  434. package/lib/components/VSpeedDial/VSpeedDial.mjs.map +1 -1
  435. package/lib/components/VSpeedDial/index.mjs.map +1 -1
  436. package/lib/components/VStepper/VStepper.mjs.map +1 -1
  437. package/lib/components/VStepper/VStepperContent.mjs.map +1 -1
  438. package/lib/components/VStepper/VStepperStep.mjs.map +1 -1
  439. package/lib/components/VStepper/index.mjs.map +1 -1
  440. package/lib/components/VSwitch/VSwitch.mjs +15 -6
  441. package/lib/components/VSwitch/VSwitch.mjs.map +1 -1
  442. package/lib/components/VSwitch/VSwitch.sass +0 -1
  443. package/lib/components/VSwitch/index.mjs.map +1 -1
  444. package/lib/components/VSystemBar/VSystemBar.css +0 -5
  445. package/lib/components/VSystemBar/VSystemBar.mjs +31 -14
  446. package/lib/components/VSystemBar/VSystemBar.mjs.map +1 -1
  447. package/lib/components/VSystemBar/VSystemBar.sass +0 -6
  448. package/lib/components/VSystemBar/_variables.scss +0 -3
  449. package/lib/components/VSystemBar/index.mjs.map +1 -1
  450. package/lib/components/VTable/VTable.mjs.map +1 -1
  451. package/lib/components/VTable/VTable.sass +0 -1
  452. package/lib/components/VTable/index.mjs.map +1 -1
  453. package/lib/components/VTabs/VTab.css +1 -1
  454. package/lib/components/VTabs/VTab.mjs +33 -36
  455. package/lib/components/VTabs/VTab.mjs.map +1 -1
  456. package/lib/components/VTabs/VTab.sass +1 -2
  457. package/lib/components/VTabs/VTabs.css +14 -11
  458. package/lib/components/VTabs/VTabs.mjs +7 -8
  459. package/lib/components/VTabs/VTabs.mjs.map +1 -1
  460. package/lib/components/VTabs/VTabs.sass +10 -7
  461. package/lib/components/VTabs/_variables.scss +1 -1
  462. package/lib/components/VTabs/index.mjs.map +1 -1
  463. package/lib/components/VTabs/shared.mjs +2 -0
  464. package/lib/components/VTabs/shared.mjs.map +1 -0
  465. package/lib/components/VTextField/VTextField.css +4 -4
  466. package/lib/components/VTextField/VTextField.mjs +9 -10
  467. package/lib/components/VTextField/VTextField.mjs.map +1 -1
  468. package/lib/components/VTextField/VTextField.sass +5 -6
  469. package/lib/components/VTextField/index.mjs.map +1 -1
  470. package/lib/components/VTextarea/VTextarea.css +7 -4
  471. package/lib/components/VTextarea/VTextarea.mjs.map +1 -1
  472. package/lib/components/VTextarea/VTextarea.sass +9 -7
  473. package/lib/components/VTextarea/index.mjs.map +1 -1
  474. package/lib/components/VThemeProvider/VThemeProvider.mjs.map +1 -1
  475. package/lib/components/VThemeProvider/index.mjs.map +1 -1
  476. package/lib/components/VTimePicker/SelectingTimes.mjs.map +1 -1
  477. package/lib/components/VTimePicker/VTimePicker.mjs.map +1 -1
  478. package/lib/components/VTimePicker/VTimePickerClock.mjs.map +1 -1
  479. package/lib/components/VTimePicker/VTimePickerTitle.mjs.map +1 -1
  480. package/lib/components/VTimePicker/index.mjs.map +1 -1
  481. package/lib/components/VTimeline/VTimeline.css +187 -48
  482. package/lib/components/VTimeline/VTimeline.mjs +27 -11
  483. package/lib/components/VTimeline/VTimeline.mjs.map +1 -1
  484. package/lib/components/VTimeline/VTimeline.sass +196 -52
  485. package/lib/components/VTimeline/VTimelineDivider.mjs +5 -3
  486. package/lib/components/VTimeline/VTimelineDivider.mjs.map +1 -1
  487. package/lib/components/VTimeline/VTimelineItem.mjs +3 -2
  488. package/lib/components/VTimeline/VTimelineItem.mjs.map +1 -1
  489. package/lib/components/VTimeline/_variables.scss +2 -1
  490. package/lib/components/VTimeline/index.mjs.map +1 -1
  491. package/lib/components/VTimeline/shared.mjs.map +1 -1
  492. package/lib/components/VToolbar/VToolbar.css +8 -1
  493. package/lib/components/VToolbar/VToolbar.mjs +21 -17
  494. package/lib/components/VToolbar/VToolbar.mjs.map +1 -1
  495. package/lib/components/VToolbar/VToolbar.sass +2 -2
  496. package/lib/components/VToolbar/VToolbarItems.mjs +1 -2
  497. package/lib/components/VToolbar/VToolbarItems.mjs.map +1 -1
  498. package/lib/components/VToolbar/VToolbarTitle.mjs.map +1 -1
  499. package/lib/components/VToolbar/_variables.scss +13 -1
  500. package/lib/components/VToolbar/index.mjs.map +1 -1
  501. package/lib/components/VTooltip/VTooltip.mjs +12 -7
  502. package/lib/components/VTooltip/VTooltip.mjs.map +1 -1
  503. package/lib/components/VTooltip/VTooltip.sass +0 -1
  504. package/lib/components/VTooltip/index.mjs.map +1 -1
  505. package/lib/components/VTreeview/VTreeview.mjs.map +1 -1
  506. package/lib/components/VTreeview/VTreeviewNode.mjs.map +1 -1
  507. package/lib/components/VTreeview/index.mjs.map +1 -1
  508. package/lib/components/VTreeview/util/filterTreeItems.mjs.map +1 -1
  509. package/lib/components/VValidation/VValidation.mjs.map +1 -1
  510. package/lib/components/VValidation/index.mjs.map +1 -1
  511. package/lib/components/VVirtualScroll/VVirtualScroll.mjs.map +1 -1
  512. package/lib/components/VVirtualScroll/index.mjs.map +1 -1
  513. package/lib/components/VWindow/VWindow.mjs +2 -10
  514. package/lib/components/VWindow/VWindow.mjs.map +1 -1
  515. package/lib/components/VWindow/VWindow.sass +0 -2
  516. package/lib/components/VWindow/VWindowItem.mjs +9 -3
  517. package/lib/components/VWindow/VWindowItem.mjs.map +1 -1
  518. package/lib/components/VWindow/index.mjs.map +1 -1
  519. package/lib/components/index.d.ts +13464 -9854
  520. package/lib/components/index.mjs.map +1 -1
  521. package/lib/components/transitions/createTransition.mjs.map +1 -1
  522. package/lib/components/transitions/dialog-transition.mjs +61 -8
  523. package/lib/components/transitions/dialog-transition.mjs.map +1 -1
  524. package/lib/components/transitions/expand-transition.mjs.map +1 -1
  525. package/lib/components/transitions/index.mjs.map +1 -1
  526. package/lib/composables/border.mjs.map +1 -1
  527. package/lib/composables/color.mjs.map +1 -1
  528. package/lib/composables/defaults.mjs +2 -2
  529. package/lib/composables/defaults.mjs.map +1 -1
  530. package/lib/composables/delay.mjs.map +1 -1
  531. package/lib/composables/density.mjs.map +1 -1
  532. package/lib/composables/dimensions.mjs.map +1 -1
  533. package/lib/composables/display.mjs +13 -11
  534. package/lib/composables/display.mjs.map +1 -1
  535. package/lib/composables/elevation.mjs.map +1 -1
  536. package/lib/composables/filter.mjs +33 -13
  537. package/lib/composables/filter.mjs.map +1 -1
  538. package/lib/composables/focus.mjs.map +1 -1
  539. package/lib/composables/form.mjs +24 -11
  540. package/lib/composables/form.mjs.map +1 -1
  541. package/lib/composables/forwardRef.mjs +10 -6
  542. package/lib/composables/forwardRef.mjs.map +1 -1
  543. package/lib/composables/group.mjs +14 -6
  544. package/lib/composables/group.mjs.map +1 -1
  545. package/lib/composables/hydration.mjs.map +1 -1
  546. package/lib/composables/icons.mjs +15 -3
  547. package/lib/composables/icons.mjs.map +1 -1
  548. package/lib/composables/index.mjs.map +1 -1
  549. package/lib/composables/intersectionObserver.mjs.map +1 -1
  550. package/lib/composables/items.mjs +84 -0
  551. package/lib/composables/items.mjs.map +1 -0
  552. package/lib/composables/layout.mjs +10 -6
  553. package/lib/composables/layout.mjs.map +1 -1
  554. package/lib/composables/lazy.mjs.map +1 -1
  555. package/lib/composables/loader.mjs.map +1 -1
  556. package/lib/composables/locale.mjs +11 -8
  557. package/lib/composables/locale.mjs.map +1 -1
  558. package/lib/composables/location.mjs +70 -0
  559. package/lib/composables/location.mjs.map +1 -0
  560. package/lib/composables/mutationObserver.mjs.map +1 -1
  561. package/lib/composables/nested/nested.mjs +27 -14
  562. package/lib/composables/nested/nested.mjs.map +1 -1
  563. package/lib/composables/nested/openStrategies.mjs +63 -36
  564. package/lib/composables/nested/openStrategies.mjs.map +1 -1
  565. package/lib/composables/nested/selectStrategies.mjs +163 -122
  566. package/lib/composables/nested/selectStrategies.mjs.map +1 -1
  567. package/lib/composables/position.mjs +4 -25
  568. package/lib/composables/position.mjs.map +1 -1
  569. package/lib/composables/proxiedModel.mjs.map +1 -1
  570. package/lib/composables/refs.mjs.map +1 -1
  571. package/lib/composables/resizeObserver.mjs +1 -9
  572. package/lib/composables/resizeObserver.mjs.map +1 -1
  573. package/lib/composables/rounded.mjs.map +1 -1
  574. package/lib/composables/router.mjs +29 -15
  575. package/lib/composables/router.mjs.map +1 -1
  576. package/lib/composables/rtl.mjs.map +1 -1
  577. package/lib/composables/scopeId.mjs +11 -0
  578. package/lib/composables/scopeId.mjs.map +1 -0
  579. package/lib/composables/scroll.mjs.map +1 -1
  580. package/lib/composables/selectLink.mjs +19 -0
  581. package/lib/composables/selectLink.mjs.map +1 -0
  582. package/lib/composables/size.mjs.map +1 -1
  583. package/lib/composables/ssrBoot.mjs +3 -2
  584. package/lib/composables/ssrBoot.mjs.map +1 -1
  585. package/lib/composables/stack.mjs +27 -23
  586. package/lib/composables/stack.mjs.map +1 -1
  587. package/lib/composables/tag.mjs.map +1 -1
  588. package/lib/composables/teleport.mjs.map +1 -1
  589. package/lib/composables/theme.mjs +94 -93
  590. package/lib/composables/theme.mjs.map +1 -1
  591. package/lib/composables/toggleScope.mjs +18 -0
  592. package/lib/composables/toggleScope.mjs.map +1 -0
  593. package/lib/composables/touch.mjs.map +1 -1
  594. package/lib/composables/transition.mjs.map +1 -1
  595. package/lib/composables/validation.mjs +17 -6
  596. package/lib/composables/validation.mjs.map +1 -1
  597. package/lib/composables/variant.mjs +3 -6
  598. package/lib/composables/variant.mjs.map +1 -1
  599. package/lib/directives/click-outside/index.mjs.map +1 -1
  600. package/lib/directives/color/index.mjs.map +1 -1
  601. package/lib/directives/index.mjs.map +1 -1
  602. package/lib/directives/intersect/index.mjs.map +1 -1
  603. package/lib/directives/mutate/index.mjs.map +1 -1
  604. package/lib/directives/resize/index.mjs.map +1 -1
  605. package/lib/directives/ripple/VRipple.sass +0 -1
  606. package/lib/directives/ripple/index.mjs +15 -3
  607. package/lib/directives/ripple/index.mjs.map +1 -1
  608. package/lib/directives/scroll/index.mjs.map +1 -1
  609. package/lib/directives/touch/index.mjs.map +1 -1
  610. package/lib/entry-bundler.mjs +1 -1
  611. package/lib/entry-bundler.mjs.map +1 -1
  612. package/lib/framework.mjs +39 -29
  613. package/lib/framework.mjs.map +1 -1
  614. package/lib/iconsets/fa-svg.d.ts +2 -1
  615. package/lib/iconsets/fa-svg.mjs.map +1 -1
  616. package/lib/iconsets/fa.d.ts +2 -1
  617. package/lib/iconsets/fa.mjs.map +1 -1
  618. package/lib/iconsets/fa4.d.ts +2 -1
  619. package/lib/iconsets/fa4.mjs.map +1 -1
  620. package/lib/iconsets/md.d.ts +2 -1
  621. package/lib/iconsets/md.mjs.map +1 -1
  622. package/lib/iconsets/mdi-svg.d.ts +2 -1
  623. package/lib/iconsets/mdi-svg.mjs.map +1 -1
  624. package/lib/iconsets/mdi.d.ts +2 -1
  625. package/lib/iconsets/mdi.mjs.map +1 -1
  626. package/lib/index.d.ts +161 -138
  627. package/lib/locale/adapters/vue-i18n.mjs.map +1 -1
  628. package/lib/locale/adapters/vue-intl.mjs.map +1 -1
  629. package/lib/locale/af.mjs.map +1 -1
  630. package/lib/locale/ar.mjs.map +1 -1
  631. package/lib/locale/az.mjs.map +1 -1
  632. package/lib/locale/bg.mjs.map +1 -1
  633. package/lib/locale/ca.mjs +9 -9
  634. package/lib/locale/ca.mjs.map +1 -1
  635. package/lib/locale/ckb.mjs.map +1 -1
  636. package/lib/locale/cs.mjs.map +1 -1
  637. package/lib/locale/da.mjs.map +1 -1
  638. package/lib/locale/de.mjs.map +1 -1
  639. package/lib/locale/el.mjs.map +1 -1
  640. package/lib/locale/en.mjs.map +1 -1
  641. package/lib/locale/es.mjs.map +1 -1
  642. package/lib/locale/et.mjs.map +1 -1
  643. package/lib/locale/fa.mjs.map +1 -1
  644. package/lib/locale/fi.mjs.map +1 -1
  645. package/lib/locale/fr.mjs.map +1 -1
  646. package/lib/locale/he.mjs.map +1 -1
  647. package/lib/locale/hr.mjs.map +1 -1
  648. package/lib/locale/hu.mjs.map +1 -1
  649. package/lib/locale/id.mjs.map +1 -1
  650. package/lib/locale/index.mjs.map +1 -1
  651. package/lib/locale/it.mjs.map +1 -1
  652. package/lib/locale/ja.mjs.map +1 -1
  653. package/lib/locale/ko.mjs.map +1 -1
  654. package/lib/locale/lt.mjs.map +1 -1
  655. package/lib/locale/lv.mjs.map +1 -1
  656. package/lib/locale/nl.mjs.map +1 -1
  657. package/lib/locale/no.mjs.map +1 -1
  658. package/lib/locale/pl.mjs.map +1 -1
  659. package/lib/locale/pt.mjs.map +1 -1
  660. package/lib/locale/ro.mjs.map +1 -1
  661. package/lib/locale/ru.mjs.map +1 -1
  662. package/lib/locale/sk.mjs.map +1 -1
  663. package/lib/locale/sl.mjs.map +1 -1
  664. package/lib/locale/sr-Cyrl.mjs.map +1 -1
  665. package/lib/locale/sr-Latn.mjs.map +1 -1
  666. package/lib/locale/sv.mjs.map +1 -1
  667. package/lib/locale/th.mjs.map +1 -1
  668. package/lib/locale/tr.mjs.map +1 -1
  669. package/lib/locale/uk.mjs.map +1 -1
  670. package/lib/locale/vi.mjs.map +1 -1
  671. package/lib/locale/zh-Hans.mjs.map +1 -1
  672. package/lib/locale/zh-Hant.mjs.map +1 -1
  673. package/lib/presets/default/index.mjs.map +1 -1
  674. package/lib/services/goto/easing-patterns.mjs.map +1 -1
  675. package/lib/services/goto/index.mjs.map +1 -1
  676. package/lib/services/goto/util.mjs.map +1 -1
  677. package/lib/styles/generic/_colors.scss +0 -1
  678. package/lib/styles/main.css +400 -392
  679. package/lib/styles/settings/_utilities.scss +54 -26
  680. package/lib/styles/tools/_states.sass +11 -3
  681. package/lib/styles/tools/_utilities.sass +1 -1
  682. package/lib/styles/tools/_variant.sass +6 -6
  683. package/lib/{components/VOverlay/util → util}/anchor.mjs +0 -0
  684. package/lib/util/anchor.mjs.map +1 -0
  685. package/lib/util/animation.mjs.map +1 -1
  686. package/lib/util/box.mjs.map +1 -1
  687. package/lib/util/color/APCA.mjs.map +1 -1
  688. package/lib/util/color/transformCIELAB.mjs.map +1 -1
  689. package/lib/util/color/transformSRGB.mjs.map +1 -1
  690. package/lib/util/colorUtils.mjs.map +1 -1
  691. package/lib/util/colors.mjs.map +1 -1
  692. package/lib/util/console.mjs.map +1 -1
  693. package/lib/util/createSimpleFunctional.mjs.map +1 -1
  694. package/lib/util/dateTimeUtils.mjs.map +1 -1
  695. package/lib/util/defineComponent.mjs +37 -6
  696. package/lib/util/defineComponent.mjs.map +1 -1
  697. package/lib/util/dom.mjs.map +1 -1
  698. package/lib/util/easing.mjs.map +1 -1
  699. package/lib/util/getCurrentInstance.mjs +20 -1
  700. package/lib/util/getCurrentInstance.mjs.map +1 -1
  701. package/lib/util/getScrollParent.mjs.map +1 -1
  702. package/lib/util/globals.mjs +0 -3
  703. package/lib/util/globals.mjs.map +1 -1
  704. package/lib/util/helpers.mjs +1 -5
  705. package/lib/util/helpers.mjs.map +1 -1
  706. package/lib/util/index.mjs +1 -0
  707. package/lib/util/index.mjs.map +1 -1
  708. package/lib/util/isFixedPosition.mjs.map +1 -1
  709. package/lib/util/propsFactory.mjs.map +1 -1
  710. package/lib/util/useRender.mjs.map +1 -1
  711. package/package.json +41 -31
  712. package/lib/components/VOverlay/positionStrategies.mjs.map +0 -1
  713. package/lib/components/VOverlay/util/anchor.mjs.map +0 -1
  714. package/lib/composables/overlay.mjs +0 -30
  715. package/lib/composables/overlay.mjs.map +0 -1
@@ -0,0 +1,84 @@
1
+ // Utilities
2
+ import { computed } from 'vue';
3
+ import { getPropertyFromItem, pick, propsFactory } from "../util/index.mjs"; // Types
4
+
5
+ // Composables
6
+ export const makeItemsProps = propsFactory({
7
+ items: {
8
+ type: Array,
9
+ default: () => []
10
+ },
11
+ itemTitle: {
12
+ type: [String, Array, Function],
13
+ default: 'title'
14
+ },
15
+ itemValue: {
16
+ type: [String, Array, Function],
17
+ default: 'value'
18
+ },
19
+ itemChildren: {
20
+ type: [Boolean, String, Array, Function],
21
+ default: 'children'
22
+ },
23
+ itemProps: {
24
+ type: [Boolean, String, Array, Function],
25
+ default: 'props'
26
+ },
27
+ returnObject: Boolean
28
+ }, 'item');
29
+ export function transformItem(props, item) {
30
+ const title = getPropertyFromItem(item, props.itemTitle, item);
31
+ const value = getPropertyFromItem(item, props.itemValue, title);
32
+ const children = getPropertyFromItem(item, props.itemChildren);
33
+ const itemProps = props.itemProps === true ? pick(item, ['children'])[1] : getPropertyFromItem(item, props.itemProps);
34
+ const _props = {
35
+ title,
36
+ value,
37
+ ...itemProps
38
+ };
39
+ return {
40
+ title: _props.title,
41
+ value: _props.value,
42
+ props: _props,
43
+ children: Array.isArray(children) ? transformItems(props, children) : undefined,
44
+ raw: item
45
+ };
46
+ }
47
+ export function transformItems(props, items) {
48
+ const array = [];
49
+
50
+ for (const item of items) {
51
+ array.push(transformItem(props, item));
52
+ }
53
+
54
+ return array;
55
+ }
56
+ export function useItems(props) {
57
+ const items = computed(() => transformItems(props, props.items));
58
+
59
+ function transformIn(value) {
60
+ return value.map(item => transformItem(props, item));
61
+ }
62
+
63
+ function transformOut(value) {
64
+ if (props.returnObject) return value.map(_ref => {
65
+ let {
66
+ raw: item
67
+ } = _ref;
68
+ return item;
69
+ });
70
+ return value.map(_ref2 => {
71
+ let {
72
+ props
73
+ } = _ref2;
74
+ return props.value;
75
+ });
76
+ }
77
+
78
+ return {
79
+ items,
80
+ transformIn,
81
+ transformOut
82
+ };
83
+ }
84
+ //# sourceMappingURL=items.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"items.mjs","names":["computed","getPropertyFromItem","pick","propsFactory","makeItemsProps","items","type","Array","default","itemTitle","String","Function","itemValue","itemChildren","Boolean","itemProps","returnObject","transformItem","props","item","title","value","children","_props","isArray","transformItems","undefined","raw","array","push","useItems","transformIn","map","transformOut"],"sources":["../../src/composables/items.ts"],"sourcesContent":["// Utilities\nimport { computed } from 'vue'\nimport { getPropertyFromItem, pick, propsFactory } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { SelectItemKey } from '@/util'\n\nexport interface InternalItem {\n title: string\n value: any\n props: {\n [key: string]: any\n title: string\n value: any\n }\n children?: InternalItem[]\n raw: any\n}\n\nexport interface ItemProps {\n items: any[]\n itemTitle: SelectItemKey\n itemValue: SelectItemKey\n itemChildren: SelectItemKey\n itemProps: SelectItemKey\n returnObject: boolean\n}\n\n// Composables\nexport const makeItemsProps = propsFactory({\n items: {\n type: Array as PropType<ItemProps['items']>,\n default: () => ([]),\n },\n itemTitle: {\n type: [String, Array, Function] as PropType<SelectItemKey>,\n default: 'title',\n },\n itemValue: {\n type: [String, Array, Function] as PropType<SelectItemKey>,\n default: 'value',\n },\n itemChildren: {\n type: [Boolean, String, Array, Function] as PropType<SelectItemKey>,\n default: 'children',\n },\n itemProps: {\n type: [Boolean, String, Array, Function] as PropType<SelectItemKey>,\n default: 'props',\n },\n returnObject: Boolean,\n}, 'item')\n\nexport function transformItem (props: Omit<ItemProps, 'items'>, item: any) {\n const title = getPropertyFromItem(item, props.itemTitle, item)\n const value = getPropertyFromItem(item, props.itemValue, title)\n const children = getPropertyFromItem(item, props.itemChildren)\n const itemProps = props.itemProps === true ? pick(item, ['children'])[1] : getPropertyFromItem(item, props.itemProps)\n\n const _props = {\n title,\n value,\n ...itemProps,\n }\n\n return {\n title: _props.title,\n value: _props.value,\n props: _props,\n children: Array.isArray(children) ? transformItems(props, children) : undefined,\n raw: item,\n }\n}\n\nexport function transformItems (props: Omit<ItemProps, 'items'>, items: ItemProps['items']) {\n const array: InternalItem[] = []\n\n for (const item of items) {\n array.push(transformItem(props, item))\n }\n\n return array\n}\n\nexport function useItems (props: ItemProps) {\n const items = computed(() => transformItems(props, props.items))\n\n function transformIn (value: any[]): InternalItem[] {\n return value.map(item => transformItem(props, item))\n }\n\n function transformOut (value: InternalItem[]) {\n if (props.returnObject) return value.map(({ raw: item }) => item)\n return value.map(({ props }) => props.value)\n }\n\n return { items, transformIn, transformOut }\n}\n"],"mappings":"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"}
@@ -5,6 +5,7 @@ import { computed, inject, onActivated, onBeforeUnmount, onDeactivated, onMounte
5
5
  import { convertToUnit, findChildrenWithProvide, getCurrentInstance, getUid, propsFactory } from "../util/index.mjs"; // Types
6
6
 
7
7
  export const VuetifyLayoutKey = Symbol.for('vuetify:layout');
8
+ export const VuetifyLayoutItemKey = Symbol.for('vuetify:layout-item');
8
9
  const ROOT_ZINDEX = 1000;
9
10
  export const makeLayoutProps = propsFactory({
10
11
  overlaps: {
@@ -18,7 +19,7 @@ export const makeLayoutItemProps = propsFactory({
18
19
  name: {
19
20
  type: String
20
21
  },
21
- priority: {
22
+ order: {
22
23
  type: [Number, String],
23
24
  default: 0
24
25
  },
@@ -36,6 +37,9 @@ export function useLayoutItem(options) {
36
37
  if (!layout) throw new Error('Could not find injected Vuetify layout');
37
38
  const id = (_options$id = options.id) != null ? _options$id : `layout-item-${getUid()}`;
38
39
  const vm = getCurrentInstance('useLayoutItem');
40
+ provide(VuetifyLayoutItemKey, {
41
+ id
42
+ });
39
43
  const isKeptAlive = ref(false);
40
44
  onDeactivated(() => isKeptAlive.value = true);
41
45
  onActivated(() => isKeptAlive.value = false);
@@ -185,7 +189,7 @@ export function createLayout(props) {
185
189
  register: (vm, _ref2) => {
186
190
  let {
187
191
  id,
188
- priority,
192
+ order,
189
193
  position,
190
194
  layoutSize,
191
195
  elementSize,
@@ -193,12 +197,12 @@ export function createLayout(props) {
193
197
  disableTransitions,
194
198
  absolute
195
199
  } = _ref2;
196
- priorities.set(id, priority);
200
+ priorities.set(id, order);
197
201
  positions.set(id, position);
198
202
  layoutSizes.set(id, layoutSize);
199
203
  activeItems.set(id, active);
200
204
  disableTransitions && disabledTransitions.set(id, disableTransitions);
201
- const instances = findChildrenWithProvide(VuetifyLayoutKey, rootVm == null ? void 0 : rootVm.vnode);
205
+ const instances = findChildrenWithProvide(VuetifyLayoutItemKey, rootVm == null ? void 0 : rootVm.vnode);
202
206
  const instanceIndex = instances.indexOf(vm);
203
207
  if (instanceIndex > -1) registered.value.splice(instanceIndex, 0, id);else registered.value.push(id);
204
208
  const index = computed(() => items.value.findIndex(i => i.id === id));
@@ -227,12 +231,12 @@ export function createLayout(props) {
227
231
  }
228
232
 
229
233
  return { ...styles,
230
- height: isHorizontal ? `calc(100% - ${item.top}px - ${item.bottom}px)` : `${elementSize.value}px`,
234
+ height: isHorizontal ? `calc(100% - ${item.top}px - ${item.bottom}px)` : elementSize.value ? `${elementSize.value}px` : undefined,
231
235
  marginLeft: isOppositeHorizontal ? undefined : `${item.left}px`,
232
236
  marginRight: isOppositeHorizontal ? `${item.right}px` : undefined,
233
237
  marginTop: position.value !== 'bottom' ? `${item.top}px` : undefined,
234
238
  marginBottom: position.value !== 'top' ? `${item.bottom}px` : undefined,
235
- width: !isHorizontal ? `calc(100% - ${item.left}px - ${item.right}px)` : `${elementSize.value}px`
239
+ width: !isHorizontal ? `calc(100% - ${item.left}px - ${item.right}px)` : elementSize.value ? `${elementSize.value}px` : undefined
236
240
  };
237
241
  });
238
242
  const layoutItemScrimStyles = computed(() => ({
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/composables/layout.ts"],"names":["useResizeObserver","computed","inject","onActivated","onBeforeUnmount","onDeactivated","onMounted","provide","reactive","ref","convertToUnit","findChildrenWithProvide","getCurrentInstance","getUid","propsFactory","VuetifyLayoutKey","Symbol","for","ROOT_ZINDEX","makeLayoutProps","overlaps","type","Array","default","fullHeight","Boolean","makeLayoutItemProps","name","String","priority","Number","absolute","useLayout","layout","Error","useLayoutItem","options","id","vm","isKeptAlive","value","layoutItemStyles","layoutItemScrimStyles","register","active","unregister","layoutRect","generateLayers","positions","layoutSizes","activeItems","previousLayer","top","left","right","bottom","layers","layer","position","get","amount","parseInt","push","createLayout","props","parentLayout","rootZIndex","registered","Map","priorities","disabledTransitions","resizeRef","contentRect","computedOverlaps","map","overlap","filter","item","includes","split","topPosition","bottomPosition","topAmount","bottomAmount","set","uniquePriorities","Set","values","p","sort","a","b","items","transitionsEnabled","from","some","mainStyles","length","paddingLeft","paddingRight","paddingTop","paddingBottom","undefined","transition","slice","index","size","getLayoutItem","find","rootVm","isMounted","layoutSize","elementSize","disableTransitions","instances","vnode","instanceIndex","indexOf","splice","findIndex","i","zIndex","isHorizontal","isOppositeHorizontal","isOppositeVertical","styles","transform","height","marginLeft","marginRight","marginTop","marginBottom","width","delete","v","layoutClasses","layoutStyles","layoutRef"],"mappings":"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","sourcesContent":["// Composables\nimport { useResizeObserver } from '@/composables/resizeObserver'\n\n// Utilities\nimport { computed, inject, onActivated, onBeforeUnmount, onDeactivated, onMounted, provide, reactive, ref } from 'vue'\nimport { convertToUnit, findChildrenWithProvide, getCurrentInstance, getUid, propsFactory } from '@/util'\n\n// Types\nimport type { ComponentInternalInstance, InjectionKey, Prop, Ref } from 'vue'\n\ntype Position = 'top' | 'left' | 'right' | 'bottom'\n\ntype LayoutItem = {\n id: string\n top: number\n bottom: number\n left: number\n right: number\n size: number\n}\n\ninterface LayoutProvide {\n register: (\n vm: ComponentInternalInstance,\n options: {\n id: string\n priority: Ref<number>\n position: Ref<Position>\n layoutSize: Ref<number | string>\n elementSize: Ref<number | string>\n active: Ref<boolean>\n disableTransitions?: Ref<boolean>\n absolute: Ref<boolean | undefined>\n }\n ) => {\n layoutItemStyles: Ref<Record<string, unknown>>\n layoutItemScrimStyles: Ref<Record<string, unknown>>\n zIndex: Ref<number>\n }\n unregister: (id: string) => void\n mainStyles: Ref<Record<string, unknown>>\n getLayoutItem: (id: string) => LayoutItem | undefined\n items: Ref<LayoutItem[]>\n layoutRect: Ref<DOMRectReadOnly | undefined>\n rootZIndex: Ref<number>\n}\n\nexport const VuetifyLayoutKey: InjectionKey<LayoutProvide> = Symbol.for('vuetify:layout')\n\nconst ROOT_ZINDEX = 1000\n\nexport const makeLayoutProps = propsFactory({\n overlaps: {\n type: Array,\n default: () => ([]),\n } as Prop<string[]>,\n fullHeight: Boolean,\n}, 'layout')\n\n// Composables\nexport const makeLayoutItemProps = propsFactory({\n name: {\n type: String,\n },\n priority: {\n type: [Number, String],\n default: 0,\n },\n absolute: Boolean,\n}, 'layout-item')\n\nexport function useLayout () {\n const layout = inject(VuetifyLayoutKey)\n\n if (!layout) throw new Error('Could not find injected Vuetify layout')\n\n return layout\n}\n\nexport function useLayoutItem (options: {\n id: string | undefined\n priority: Ref<number>\n position: Ref<Position>\n layoutSize: Ref<number | string>\n elementSize: Ref<number | string>\n active: Ref<boolean>\n disableTransitions?: Ref<boolean>\n absolute: Ref<boolean | undefined>\n}) {\n const layout = inject(VuetifyLayoutKey)\n\n if (!layout) throw new Error('Could not find injected Vuetify layout')\n\n const id = options.id ?? `layout-item-${getUid()}`\n\n const vm = getCurrentInstance('useLayoutItem')\n\n const isKeptAlive = ref(false)\n onDeactivated(() => isKeptAlive.value = true)\n onActivated(() => isKeptAlive.value = false)\n\n const {\n layoutItemStyles,\n layoutItemScrimStyles,\n } = layout.register(vm, {\n ...options,\n active: computed(() => isKeptAlive.value ? false : options.active.value),\n id,\n })\n\n onBeforeUnmount(() => layout.unregister(id))\n\n return { layoutItemStyles, layoutRect: layout.layoutRect, layoutItemScrimStyles }\n}\n\nconst generateLayers = (\n layout: string[],\n positions: Map<string, Ref<Position>>,\n layoutSizes: Map<string, Ref<number | string>>,\n activeItems: Map<string, Ref<boolean>>,\n) => {\n let previousLayer = { top: 0, left: 0, right: 0, bottom: 0 }\n const layers = [{ id: '', layer: { ...previousLayer } }]\n for (const id of layout) {\n const position = positions.get(id)\n const amount = layoutSizes.get(id)\n const active = activeItems.get(id)\n if (!position || !amount || !active) continue\n\n const layer = {\n ...previousLayer,\n [position.value]: parseInt(previousLayer[position.value], 10) + (active.value ? parseInt(amount.value, 10) : 0),\n }\n\n layers.push({\n id,\n layer,\n })\n\n previousLayer = layer\n }\n\n return layers\n}\n\nexport function createLayout (props: { overlaps?: string[], fullHeight?: boolean }) {\n const parentLayout = inject(VuetifyLayoutKey, null)\n const rootZIndex = computed(() => parentLayout ? parentLayout.rootZIndex.value - 100 : ROOT_ZINDEX)\n const registered = ref<string[]>([])\n const positions = reactive(new Map<string, Ref<Position>>())\n const layoutSizes = reactive(new Map<string, Ref<number | string>>())\n const priorities = reactive(new Map<string, Ref<number>>())\n const activeItems = reactive(new Map<string, Ref<boolean>>())\n const disabledTransitions = reactive(new Map<string, Ref<boolean>>())\n const { resizeRef, contentRect: layoutRect } = useResizeObserver()\n\n const computedOverlaps = computed(() => {\n const map = new Map<string, { position: Position, amount: number }>()\n const overlaps = props.overlaps ?? []\n for (const overlap of overlaps.filter(item => item.includes(':'))) {\n const [top, bottom] = overlap.split(':')\n if (!registered.value.includes(top) || !registered.value.includes(bottom)) continue\n\n const topPosition = positions.get(top)\n const bottomPosition = positions.get(bottom)\n const topAmount = layoutSizes.get(top)\n const bottomAmount = layoutSizes.get(bottom)\n\n if (!topPosition || !bottomPosition || !topAmount || !bottomAmount) continue\n\n map.set(bottom, { position: topPosition.value, amount: parseInt(topAmount.value, 10) })\n map.set(top, { position: bottomPosition.value, amount: -parseInt(bottomAmount.value, 10) })\n }\n\n return map\n })\n\n const layers = computed(() => {\n const uniquePriorities = [...new Set([...priorities.values()].map(p => p.value))].sort((a, b) => a - b)\n const layout = []\n for (const p of uniquePriorities) {\n const items = registered.value.filter(id => priorities.get(id)?.value === p)\n layout.push(...items)\n }\n return generateLayers(layout, positions, layoutSizes, activeItems)\n })\n\n const transitionsEnabled = computed(() => {\n return !Array.from(disabledTransitions.values()).some(ref => ref.value)\n })\n\n const mainStyles = computed(() => {\n const layer = layers.value[layers.value.length - 1].layer\n\n return {\n position: 'relative',\n paddingLeft: convertToUnit(layer.left),\n paddingRight: convertToUnit(layer.right),\n paddingTop: convertToUnit(layer.top),\n paddingBottom: convertToUnit(layer.bottom),\n ...(transitionsEnabled.value ? undefined : { transition: 'none' }),\n }\n })\n\n const items = computed(() => {\n return layers.value.slice(1).map(({ id }, index) => {\n const { layer } = layers.value[index]\n const size = layoutSizes.get(id)\n\n return {\n id,\n ...layer,\n size: Number(size!.value),\n }\n })\n })\n\n const getLayoutItem = (id: string) => {\n return items.value.find(item => item.id === id)\n }\n\n const rootVm = getCurrentInstance('createLayout')\n\n const isMounted = ref(false)\n onMounted(() => {\n isMounted.value = true\n })\n\n provide(VuetifyLayoutKey, {\n register: (\n vm: ComponentInternalInstance,\n {\n id,\n priority,\n position,\n layoutSize,\n elementSize,\n active,\n disableTransitions,\n absolute,\n }\n ) => {\n priorities.set(id, priority)\n positions.set(id, position)\n layoutSizes.set(id, layoutSize)\n activeItems.set(id, active)\n disableTransitions && disabledTransitions.set(id, disableTransitions)\n\n const instances = findChildrenWithProvide(VuetifyLayoutKey, rootVm?.vnode)\n const instanceIndex = instances.indexOf(vm)\n\n if (instanceIndex > -1) registered.value.splice(instanceIndex, 0, id)\n else registered.value.push(id)\n\n const index = computed(() => items.value.findIndex(i => i.id === id))\n const zIndex = computed(() => rootZIndex.value + (layers.value.length * 2) - (index.value * 2))\n\n const layoutItemStyles = computed(() => {\n const isHorizontal = position.value === 'left' || position.value === 'right'\n const isOppositeHorizontal = position.value === 'right'\n const isOppositeVertical = position.value === 'bottom'\n\n const styles = {\n [position.value]: 0,\n zIndex: zIndex.value,\n transform: `translate${isHorizontal ? 'X' : 'Y'}(${(active.value ? 0 : -110) * (isOppositeHorizontal || isOppositeVertical ? -1 : 1)}%)`,\n position: absolute.value || rootZIndex.value !== ROOT_ZINDEX ? 'absolute' : 'fixed',\n ...(transitionsEnabled.value ? undefined : { transition: 'none' }),\n }\n\n if (!isMounted.value) return styles\n\n if (index.value < 0) throw new Error(`Layout item \"${id}\" is missing`)\n\n const item = items.value[index.value]\n\n if (!item) throw new Error(`Could not find layout item \"${id}`)\n\n const overlap = computedOverlaps.value.get(id)\n if (overlap) {\n item[overlap.position] += overlap.amount\n }\n\n return {\n ...styles,\n height: isHorizontal ? `calc(100% - ${item.top}px - ${item.bottom}px)` : `${elementSize.value}px`,\n marginLeft: isOppositeHorizontal ? undefined : `${item.left}px`,\n marginRight: isOppositeHorizontal ? `${item.right}px` : undefined,\n marginTop: position.value !== 'bottom' ? `${item.top}px` : undefined,\n marginBottom: position.value !== 'top' ? `${item.bottom}px` : undefined,\n width: !isHorizontal ? `calc(100% - ${item.left}px - ${item.right}px)` : `${elementSize.value}px`,\n }\n })\n\n const layoutItemScrimStyles = computed(() => ({\n zIndex: zIndex.value - 1,\n position: rootZIndex.value === ROOT_ZINDEX ? 'fixed' : 'absolute',\n }))\n\n return { layoutItemStyles, layoutItemScrimStyles, zIndex }\n },\n unregister: (id: string) => {\n priorities.delete(id)\n positions.delete(id)\n layoutSizes.delete(id)\n activeItems.delete(id)\n disabledTransitions.delete(id)\n registered.value = registered.value.filter(v => v !== id)\n },\n mainStyles,\n getLayoutItem,\n items,\n layoutRect,\n rootZIndex,\n })\n\n const layoutClasses = computed(() => [\n 'v-layout',\n { 'v-layout--full-height': props.fullHeight },\n ])\n\n const layoutStyles = computed(() => ({\n zIndex: rootZIndex.value,\n }))\n\n return {\n layoutClasses,\n layoutStyles,\n getLayoutItem,\n items,\n layoutRect,\n layoutRef: resizeRef,\n }\n}\n"],"file":"layout.mjs"}
1
+ {"version":3,"file":"layout.mjs","names":["useResizeObserver","computed","inject","onActivated","onBeforeUnmount","onDeactivated","onMounted","provide","reactive","ref","convertToUnit","findChildrenWithProvide","getCurrentInstance","getUid","propsFactory","VuetifyLayoutKey","Symbol","for","VuetifyLayoutItemKey","ROOT_ZINDEX","makeLayoutProps","overlaps","type","Array","default","fullHeight","Boolean","makeLayoutItemProps","name","String","order","Number","absolute","useLayout","layout","Error","useLayoutItem","options","id","vm","isKeptAlive","value","layoutItemStyles","layoutItemScrimStyles","register","active","unregister","layoutRect","generateLayers","positions","layoutSizes","activeItems","previousLayer","top","left","right","bottom","layers","layer","position","get","amount","parseInt","push","createLayout","props","parentLayout","rootZIndex","registered","Map","priorities","disabledTransitions","resizeRef","contentRect","computedOverlaps","map","overlap","filter","item","includes","split","topPosition","bottomPosition","topAmount","bottomAmount","set","uniquePriorities","Set","values","p","sort","a","b","items","transitionsEnabled","from","some","mainStyles","length","paddingLeft","paddingRight","paddingTop","paddingBottom","undefined","transition","slice","index","size","getLayoutItem","find","rootVm","isMounted","layoutSize","elementSize","disableTransitions","instances","vnode","instanceIndex","indexOf","splice","findIndex","i","zIndex","isHorizontal","isOppositeHorizontal","isOppositeVertical","styles","transform","height","marginLeft","marginRight","marginTop","marginBottom","width","delete","v","layoutClasses","layoutStyles","layoutRef"],"sources":["../../src/composables/layout.ts"],"sourcesContent":["// Composables\nimport { useResizeObserver } from '@/composables/resizeObserver'\n\n// Utilities\nimport {\n computed,\n inject,\n onActivated,\n onBeforeUnmount,\n onDeactivated,\n onMounted,\n provide,\n reactive,\n ref,\n} from 'vue'\nimport { convertToUnit, findChildrenWithProvide, getCurrentInstance, getUid, propsFactory } from '@/util'\n\n// Types\nimport type { ComponentInternalInstance, CSSProperties, InjectionKey, Prop, Ref } from 'vue'\n\ntype Position = 'top' | 'left' | 'right' | 'bottom'\n\ntype LayoutItem = {\n id: string\n top: number\n bottom: number\n left: number\n right: number\n size: number\n}\n\ninterface LayoutProvide {\n register: (\n vm: ComponentInternalInstance,\n options: {\n id: string\n order: Ref<number>\n position: Ref<Position>\n layoutSize: Ref<number | string>\n elementSize: Ref<number | string | undefined>\n active: Ref<boolean>\n disableTransitions?: Ref<boolean>\n absolute: Ref<boolean | undefined>\n }\n ) => {\n layoutItemStyles: Ref<CSSProperties>\n layoutItemScrimStyles: Ref<CSSProperties>\n zIndex: Ref<number>\n }\n unregister: (id: string) => void\n mainStyles: Ref<CSSProperties>\n getLayoutItem: (id: string) => LayoutItem | undefined\n items: Ref<LayoutItem[]>\n layoutRect: Ref<DOMRectReadOnly | undefined>\n rootZIndex: Ref<number>\n}\n\nexport const VuetifyLayoutKey: InjectionKey<LayoutProvide> = Symbol.for('vuetify:layout')\nexport const VuetifyLayoutItemKey: InjectionKey<{ id: string }> = Symbol.for('vuetify:layout-item')\n\nconst ROOT_ZINDEX = 1000\n\nexport const makeLayoutProps = propsFactory({\n overlaps: {\n type: Array,\n default: () => ([]),\n } as Prop<string[]>,\n fullHeight: Boolean,\n}, 'layout')\n\n// Composables\nexport const makeLayoutItemProps = propsFactory({\n name: {\n type: String,\n },\n order: {\n type: [Number, String],\n default: 0,\n },\n absolute: Boolean,\n}, 'layout-item')\n\nexport function useLayout () {\n const layout = inject(VuetifyLayoutKey)\n\n if (!layout) throw new Error('Could not find injected Vuetify layout')\n\n return layout\n}\n\nexport function useLayoutItem (options: {\n id: string | undefined\n order: Ref<number>\n position: Ref<Position>\n layoutSize: Ref<number | string>\n elementSize: Ref<number | string | undefined>\n active: Ref<boolean>\n disableTransitions?: Ref<boolean>\n absolute: Ref<boolean | undefined>\n}) {\n const layout = inject(VuetifyLayoutKey)\n\n if (!layout) throw new Error('Could not find injected Vuetify layout')\n\n const id = options.id ?? `layout-item-${getUid()}`\n\n const vm = getCurrentInstance('useLayoutItem')\n\n provide(VuetifyLayoutItemKey, { id })\n\n const isKeptAlive = ref(false)\n onDeactivated(() => isKeptAlive.value = true)\n onActivated(() => isKeptAlive.value = false)\n\n const {\n layoutItemStyles,\n layoutItemScrimStyles,\n } = layout.register(vm, {\n ...options,\n active: computed(() => isKeptAlive.value ? false : options.active.value),\n id,\n })\n\n onBeforeUnmount(() => layout.unregister(id))\n\n return { layoutItemStyles, layoutRect: layout.layoutRect, layoutItemScrimStyles }\n}\n\nconst generateLayers = (\n layout: string[],\n positions: Map<string, Ref<Position>>,\n layoutSizes: Map<string, Ref<number | string>>,\n activeItems: Map<string, Ref<boolean>>,\n) => {\n let previousLayer = { top: 0, left: 0, right: 0, bottom: 0 }\n const layers = [{ id: '', layer: { ...previousLayer } }]\n for (const id of layout) {\n const position = positions.get(id)\n const amount = layoutSizes.get(id)\n const active = activeItems.get(id)\n if (!position || !amount || !active) continue\n\n const layer = {\n ...previousLayer,\n [position.value]: parseInt(previousLayer[position.value], 10) + (active.value ? parseInt(amount.value, 10) : 0),\n }\n\n layers.push({\n id,\n layer,\n })\n\n previousLayer = layer\n }\n\n return layers\n}\n\nexport function createLayout (props: { overlaps?: string[], fullHeight?: boolean }) {\n const parentLayout = inject(VuetifyLayoutKey, null)\n const rootZIndex = computed(() => parentLayout ? parentLayout.rootZIndex.value - 100 : ROOT_ZINDEX)\n const registered = ref<string[]>([])\n const positions = reactive(new Map<string, Ref<Position>>())\n const layoutSizes = reactive(new Map<string, Ref<number | string>>())\n const priorities = reactive(new Map<string, Ref<number>>())\n const activeItems = reactive(new Map<string, Ref<boolean>>())\n const disabledTransitions = reactive(new Map<string, Ref<boolean>>())\n const { resizeRef, contentRect: layoutRect } = useResizeObserver()\n\n const computedOverlaps = computed(() => {\n const map = new Map<string, { position: Position, amount: number }>()\n const overlaps = props.overlaps ?? []\n for (const overlap of overlaps.filter(item => item.includes(':'))) {\n const [top, bottom] = overlap.split(':')\n if (!registered.value.includes(top) || !registered.value.includes(bottom)) continue\n\n const topPosition = positions.get(top)\n const bottomPosition = positions.get(bottom)\n const topAmount = layoutSizes.get(top)\n const bottomAmount = layoutSizes.get(bottom)\n\n if (!topPosition || !bottomPosition || !topAmount || !bottomAmount) continue\n\n map.set(bottom, { position: topPosition.value, amount: parseInt(topAmount.value, 10) })\n map.set(top, { position: bottomPosition.value, amount: -parseInt(bottomAmount.value, 10) })\n }\n\n return map\n })\n\n const layers = computed(() => {\n const uniquePriorities = [...new Set([...priorities.values()].map(p => p.value))].sort((a, b) => a - b)\n const layout = []\n for (const p of uniquePriorities) {\n const items = registered.value.filter(id => priorities.get(id)?.value === p)\n layout.push(...items)\n }\n return generateLayers(layout, positions, layoutSizes, activeItems)\n })\n\n const transitionsEnabled = computed(() => {\n return !Array.from(disabledTransitions.values()).some(ref => ref.value)\n })\n\n const mainStyles = computed<CSSProperties>(() => {\n const layer = layers.value[layers.value.length - 1].layer\n\n return {\n position: 'relative',\n paddingLeft: convertToUnit(layer.left),\n paddingRight: convertToUnit(layer.right),\n paddingTop: convertToUnit(layer.top),\n paddingBottom: convertToUnit(layer.bottom),\n ...(transitionsEnabled.value ? undefined : { transition: 'none' }),\n }\n })\n\n const items = computed(() => {\n return layers.value.slice(1).map(({ id }, index) => {\n const { layer } = layers.value[index]\n const size = layoutSizes.get(id)\n\n return {\n id,\n ...layer,\n size: Number(size!.value),\n }\n })\n })\n\n const getLayoutItem = (id: string) => {\n return items.value.find(item => item.id === id)\n }\n\n const rootVm = getCurrentInstance('createLayout')\n\n const isMounted = ref(false)\n onMounted(() => {\n isMounted.value = true\n })\n\n provide(VuetifyLayoutKey, {\n register: (\n vm: ComponentInternalInstance,\n {\n id,\n order,\n position,\n layoutSize,\n elementSize,\n active,\n disableTransitions,\n absolute,\n }\n ) => {\n priorities.set(id, order)\n positions.set(id, position)\n layoutSizes.set(id, layoutSize)\n activeItems.set(id, active)\n disableTransitions && disabledTransitions.set(id, disableTransitions)\n\n const instances = findChildrenWithProvide(VuetifyLayoutItemKey, rootVm?.vnode)\n const instanceIndex = instances.indexOf(vm)\n\n if (instanceIndex > -1) registered.value.splice(instanceIndex, 0, id)\n else registered.value.push(id)\n\n const index = computed(() => items.value.findIndex(i => i.id === id))\n const zIndex = computed(() => rootZIndex.value + (layers.value.length * 2) - (index.value * 2))\n\n const layoutItemStyles = computed<CSSProperties>(() => {\n const isHorizontal = position.value === 'left' || position.value === 'right'\n const isOppositeHorizontal = position.value === 'right'\n const isOppositeVertical = position.value === 'bottom'\n\n const styles = {\n [position.value]: 0,\n zIndex: zIndex.value,\n transform: `translate${isHorizontal ? 'X' : 'Y'}(${(active.value ? 0 : -110) * (isOppositeHorizontal || isOppositeVertical ? -1 : 1)}%)`,\n position: absolute.value || rootZIndex.value !== ROOT_ZINDEX ? 'absolute' : 'fixed',\n ...(transitionsEnabled.value ? undefined : { transition: 'none' }),\n } as const\n\n if (!isMounted.value) return styles\n\n if (index.value < 0) throw new Error(`Layout item \"${id}\" is missing`)\n\n const item = items.value[index.value]\n\n if (!item) throw new Error(`Could not find layout item \"${id}`)\n\n const overlap = computedOverlaps.value.get(id)\n if (overlap) {\n item[overlap.position] += overlap.amount\n }\n\n return {\n ...styles,\n height: isHorizontal ? `calc(100% - ${item.top}px - ${item.bottom}px)` : elementSize.value ? `${elementSize.value}px` : undefined,\n marginLeft: isOppositeHorizontal ? undefined : `${item.left}px`,\n marginRight: isOppositeHorizontal ? `${item.right}px` : undefined,\n marginTop: position.value !== 'bottom' ? `${item.top}px` : undefined,\n marginBottom: position.value !== 'top' ? `${item.bottom}px` : undefined,\n width: !isHorizontal ? `calc(100% - ${item.left}px - ${item.right}px)` : elementSize.value ? `${elementSize.value}px` : undefined,\n }\n })\n\n const layoutItemScrimStyles = computed<CSSProperties>(() => ({\n zIndex: zIndex.value - 1,\n position: rootZIndex.value === ROOT_ZINDEX ? 'fixed' : 'absolute',\n }))\n\n return { layoutItemStyles, layoutItemScrimStyles, zIndex }\n },\n unregister: (id: string) => {\n priorities.delete(id)\n positions.delete(id)\n layoutSizes.delete(id)\n activeItems.delete(id)\n disabledTransitions.delete(id)\n registered.value = registered.value.filter(v => v !== id)\n },\n mainStyles,\n getLayoutItem,\n items,\n layoutRect,\n rootZIndex,\n })\n\n const layoutClasses = computed(() => [\n 'v-layout',\n { 'v-layout--full-height': props.fullHeight },\n ])\n\n const layoutStyles = computed(() => ({\n zIndex: rootZIndex.value,\n }))\n\n return {\n layoutClasses,\n layoutStyles,\n getLayoutItem,\n items,\n layoutRect,\n layoutRef: resizeRef,\n }\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/composables/lazy.ts"],"names":["computed","ref","watch","propsFactory","makeLazyProps","eager","Boolean","useLazy","props","active","isBooted","hasContent","value","onAfterLeave"],"mappings":"AAAA;AACA,SAASA,QAAT,EAAmBC,GAAnB,EAAwBC,KAAxB,QAAqC,KAArC,C,CAEA;;SAESC,Y;AAET,OAAO,MAAMC,aAAa,GAAGD,YAAY,CAAC;AACxCE,EAAAA,KAAK,EAAEC;AADiC,CAAD,EAEtC,MAFsC,CAAlC;AAIP,OAAO,SAASC,OAAT,CAAkBC,KAAlB,EAA6CC,MAA7C,EAAmE;AACxE,QAAMC,QAAQ,GAAGT,GAAG,CAAC,KAAD,CAApB;AACA,QAAMU,UAAU,GAAGX,QAAQ,CAAC,MAAMU,QAAQ,CAACE,KAAT,IAAkBJ,KAAK,CAACH,KAAxB,IAAiCI,MAAM,CAACG,KAA/C,CAA3B;AAEAV,EAAAA,KAAK,CAACO,MAAD,EAAS,MAAMC,QAAQ,CAACE,KAAT,GAAiB,IAAhC,CAAL;;AAEA,WAASC,YAAT,GAAyB;AACvB,QAAI,CAACL,KAAK,CAACH,KAAX,EAAkBK,QAAQ,CAACE,KAAT,GAAiB,KAAjB;AACnB;;AAED,SAAO;AAAEF,IAAAA,QAAF;AAAYC,IAAAA,UAAZ;AAAwBE,IAAAA;AAAxB,GAAP;AACD","sourcesContent":["// Utilities\nimport { computed, ref, watch } from 'vue'\n\n// Types\nimport type { Ref } from 'vue'\nimport { propsFactory } from '@/util'\n\nexport const makeLazyProps = propsFactory({\n eager: Boolean,\n}, 'lazy')\n\nexport function useLazy (props: { eager: boolean }, active: Ref<boolean>) {\n const isBooted = ref(false)\n const hasContent = computed(() => isBooted.value || props.eager || active.value)\n\n watch(active, () => isBooted.value = true)\n\n function onAfterLeave () {\n if (!props.eager) isBooted.value = false\n }\n\n return { isBooted, hasContent, onAfterLeave }\n}\n"],"file":"lazy.mjs"}
1
+ {"version":3,"file":"lazy.mjs","names":["computed","ref","watch","propsFactory","makeLazyProps","eager","Boolean","useLazy","props","active","isBooted","hasContent","value","onAfterLeave"],"sources":["../../src/composables/lazy.ts"],"sourcesContent":["// Utilities\nimport { computed, ref, watch } from 'vue'\n\n// Types\nimport type { Ref } from 'vue'\nimport { propsFactory } from '@/util'\n\nexport const makeLazyProps = propsFactory({\n eager: Boolean,\n}, 'lazy')\n\nexport function useLazy (props: { eager: boolean }, active: Ref<boolean>) {\n const isBooted = ref(false)\n const hasContent = computed(() => isBooted.value || props.eager || active.value)\n\n watch(active, () => isBooted.value = true)\n\n function onAfterLeave () {\n if (!props.eager) isBooted.value = false\n }\n\n return { isBooted, hasContent, onAfterLeave }\n}\n"],"mappings":"AAAA;AACA,SAASA,QAAT,EAAmBC,GAAnB,EAAwBC,KAAxB,QAAqC,KAArC,C,CAEA;;SAESC,Y;AAET,OAAO,MAAMC,aAAa,GAAGD,YAAY,CAAC;EACxCE,KAAK,EAAEC;AADiC,CAAD,EAEtC,MAFsC,CAAlC;AAIP,OAAO,SAASC,OAAT,CAAkBC,KAAlB,EAA6CC,MAA7C,EAAmE;EACxE,MAAMC,QAAQ,GAAGT,GAAG,CAAC,KAAD,CAApB;EACA,MAAMU,UAAU,GAAGX,QAAQ,CAAC,MAAMU,QAAQ,CAACE,KAAT,IAAkBJ,KAAK,CAACH,KAAxB,IAAiCI,MAAM,CAACG,KAA/C,CAA3B;EAEAV,KAAK,CAACO,MAAD,EAAS,MAAMC,QAAQ,CAACE,KAAT,GAAiB,IAAhC,CAAL;;EAEA,SAASC,YAAT,GAAyB;IACvB,IAAI,CAACL,KAAK,CAACH,KAAX,EAAkBK,QAAQ,CAACE,KAAT,GAAiB,KAAjB;EACnB;;EAED,OAAO;IAAEF,QAAF;IAAYC,UAAZ;IAAwBE;EAAxB,CAAP;AACD"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/composables/loader.tsx"],"names":["VProgressLinear","computed","getCurrentInstanceName","propsFactory","makeLoaderProps","loading","Boolean","useLoader","props","name","loaderClasses","LoaderSlot","slots","default","color","isActive","active"],"mappings":";AAAA;SACSA,e,mDAET;;AACA,SAASC,QAAT,QAAyB,KAAzB;SACSC,sB,EAAwBC,Y,6BAEjC;;AAcA;AACA,OAAO,MAAMC,eAAe,GAAGD,YAAY,CAAC;AAC1CE,EAAAA,OAAO,EAAEC;AADiC,CAAD,EAExC,QAFwC,CAApC;AAIP,OAAO,SAASC,SAAT,CACLC,KADK,EAGL;AAAA,MADAC,IACA,uEADOP,sBAAsB,EAC7B;AACA,QAAMQ,aAAa,GAAGT,QAAQ,CAAC,OAAO;AACpC,KAAE,GAAEQ,IAAK,WAAT,GAAsBD,KAAK,CAACH;AADQ,GAAP,CAAD,CAA9B;AAIA,SAAO;AAAEK,IAAAA;AAAF,GAAP;AACD;AAED,OAAO,SAASC,UAAT,CACLH,KADK,QASL;AAAA;;AAAA,MADA;AAAEI,IAAAA;AAAF,GACA;AACA;AAAA,aACe,GAAEJ,KAAK,CAACC,IAAK;AAD5B,MAEM,mBAAAG,KAAK,CAACC,OAAN,yCAAAD,KAAK,EAAW;AAChBE,IAAAA,KAAK,EAAEN,KAAK,CAACM,KADG;AAEhBC,IAAAA,QAAQ,EAAEP,KAAK,CAACQ;AAFA,GAAX,CAAL;AAAA,cAKWR,KAAK,CAACQ,MALjB;AAAA,aAMUR,KAAK,CAACM,KANhB;AAAA,cAOS,GAPT;AAAA;AAAA,UAFN;AAeD","sourcesContent":["// Components\nimport { VProgressLinear } from '@/components/VProgressLinear'\n\n// Utilities\nimport { computed } from 'vue'\nimport { getCurrentInstanceName, propsFactory } from '@/util'\n\n// Types\nimport type { ExtractPropTypes } from 'vue'\nimport type { SetupContext } from '@vue/runtime-core'\nimport type { MakeSlots, SlotsToProps } from '@/util'\n\nexport interface LoaderSlotProps {\n color: string | undefined\n isActive: boolean\n}\n\nexport interface LoaderProps {\n loading: boolean\n}\n\n// Composables\nexport const makeLoaderProps = propsFactory({\n loading: Boolean,\n}, 'loader')\n\nexport function useLoader (\n props: LoaderProps,\n name = getCurrentInstanceName(),\n) {\n const loaderClasses = computed(() => ({\n [`${name}--loading`]: props.loading,\n }))\n\n return { loaderClasses }\n}\n\nexport function LoaderSlot (\n props: {\n active: boolean\n name: string\n color?: string\n } & ExtractPropTypes<SlotsToProps<MakeSlots<{\n default: [LoaderSlotProps]\n }>>>,\n { slots }: SetupContext,\n) {\n return (\n <div class={`${props.name}__loader`}>\n { slots.default?.({\n color: props.color,\n isActive: props.active,\n } as LoaderSlotProps) || (\n <VProgressLinear\n active={ props.active }\n color={ props.color }\n height=\"2\"\n indeterminate\n />\n )}\n </div>\n )\n}\n"],"file":"loader.mjs"}
1
+ {"version":3,"file":"loader.mjs","names":["VProgressLinear","computed","getCurrentInstanceName","propsFactory","makeLoaderProps","loading","Boolean","useLoader","props","name","loaderClasses","LoaderSlot","slots","default","color","isActive","active"],"sources":["../../src/composables/loader.tsx"],"sourcesContent":["// Components\nimport { VProgressLinear } from '@/components/VProgressLinear'\n\n// Utilities\nimport { computed } from 'vue'\nimport { getCurrentInstanceName, propsFactory } from '@/util'\n\n// Types\nimport type { ExtractPropTypes, SetupContext } from 'vue'\nimport type { MakeSlots, SlotsToProps } from '@/util'\n\nexport interface LoaderSlotProps {\n color: string | undefined\n isActive: boolean\n}\n\nexport interface LoaderProps {\n loading: boolean | string\n}\n\n// Composables\nexport const makeLoaderProps = propsFactory({\n loading: Boolean,\n}, 'loader')\n\nexport function useLoader (\n props: LoaderProps,\n name = getCurrentInstanceName(),\n) {\n const loaderClasses = computed(() => ({\n [`${name}--loading`]: props.loading,\n }))\n\n return { loaderClasses }\n}\n\nexport function LoaderSlot (\n props: {\n active: boolean\n name: string\n color?: string\n } & ExtractPropTypes<SlotsToProps<MakeSlots<{\n default: [LoaderSlotProps]\n }>>>,\n { slots }: SetupContext,\n) {\n return (\n <div class={`${props.name}__loader`}>\n { slots.default?.({\n color: props.color,\n isActive: props.active,\n } as LoaderSlotProps) || (\n <VProgressLinear\n active={ props.active }\n color={ props.color }\n height=\"2\"\n indeterminate\n />\n )}\n </div>\n )\n}\n"],"mappings":";AAAA;SACSA,e,mDAET;;AACA,SAASC,QAAT,QAAyB,KAAzB;SACSC,sB,EAAwBC,Y,6BAEjC;;AAaA;AACA,OAAO,MAAMC,eAAe,GAAGD,YAAY,CAAC;EAC1CE,OAAO,EAAEC;AADiC,CAAD,EAExC,QAFwC,CAApC;AAIP,OAAO,SAASC,SAAT,CACLC,KADK,EAGL;EAAA,IADAC,IACA,uEADOP,sBAAsB,EAC7B;EACA,MAAMQ,aAAa,GAAGT,QAAQ,CAAC,OAAO;IACpC,CAAE,GAAEQ,IAAK,WAAT,GAAsBD,KAAK,CAACH;EADQ,CAAP,CAAD,CAA9B;EAIA,OAAO;IAAEK;EAAF,CAAP;AACD;AAED,OAAO,SAASC,UAAT,CACLH,KADK,QASL;EAAA;;EAAA,IADA;IAAEI;EAAF,CACA;EACA;IAAA,SACe,GAAEJ,KAAK,CAACC,IAAK;EAD5B,IAEM,mBAAAG,KAAK,CAACC,OAAN,yCAAAD,KAAK,EAAW;IAChBE,KAAK,EAAEN,KAAK,CAACM,KADG;IAEhBC,QAAQ,EAAEP,KAAK,CAACQ;EAFA,CAAX,CAAL;IAAA,UAKWR,KAAK,CAACQ,MALjB;IAAA,SAMUR,KAAK,CAACM,KANhB;IAAA,UAOS,GAPT;IAAA;EAAA,QAFN;AAeD"}
@@ -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,13 +23,11 @@ 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);
25
- return {
26
- adapter,
27
- rootInstance
28
- };
28
+ const instance = adapter.createRoot(app);
29
+ app == null ? void 0 : app.provide(RtlSymbol, createRtl(instance, options));
30
+ return adapter;
29
31
  }
30
32
  const LANG_PREFIX = '$vuetify.';
31
33
 
@@ -102,6 +104,7 @@ export function createDefaultLocaleAdapter(options) {
102
104
  en
103
105
  }
104
106
  });
107
+ if (!app) throw new Error('[Vuetify] Could not find default app instance');
105
108
  app.provide(VuetifyLocaleSymbol, rootScope);
106
109
  return rootScope;
107
110
  },
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/composables/locale.ts"],"names":["computed","inject","provide","ref","consoleError","consoleWarn","getObjectValueByPath","en","LocaleAdapterSymbol","Symbol","for","VuetifyLocaleSymbol","provideLocale","props","adapter","Error","createScope","useLocale","getScope","isLocaleAdapter","x","hasOwnProperty","createLocaleAdapter","app","options","createDefaultLocaleAdapter","rootInstance","createRoot","LANG_PREFIX","replace","str","params","match","index","String","createTranslateFunction","current","fallback","messages","key","startsWith","shortKey","currentLocale","value","fallbackLocale","createNumberFunction","numberFormat","Intl","NumberFormat","format","t","n","rootScope","defaultLocale","currentScope","newScope","locale"],"mappings":"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","sourcesContent":["import { computed, inject, provide, ref } from 'vue'\nimport { consoleError, consoleWarn, getObjectValueByPath } from '@/util'\n\nimport en from '@/locale/en'\n\n// Types\nimport type { App, InjectionKey, Ref } from 'vue'\nimport type { MaybeRef } from '@/util'\n\nexport interface LocaleMessages {\n [key: string]: LocaleMessages | string\n}\n\nexport interface LocaleOptions {\n defaultLocale?: string\n fallbackLocale?: string\n messages?: LocaleMessages\n}\n\nexport interface LocaleProps {\n locale?: string\n fallbackLocale?: string\n messages?: LocaleMessages\n}\n\nexport interface LocaleInstance {\n current: Ref<string>\n fallback: Ref<string>\n messages: Ref<LocaleMessages>\n t: (key: string, ...params: unknown[]) => string\n n: (value: number) => string\n}\n\nexport interface LocaleAdapter {\n createRoot: (app: App) => LocaleInstance\n getScope: () => LocaleInstance\n createScope: (options?: LocaleProps) => LocaleInstance\n}\n\nexport const LocaleAdapterSymbol: InjectionKey<LocaleAdapter> = Symbol.for('vuetify:locale-adapter')\nexport const VuetifyLocaleSymbol: InjectionKey<LocaleInstance> = Symbol.for('vuetify:locale')\n\nexport function provideLocale (props?: LocaleProps) {\n const adapter = inject(LocaleAdapterSymbol)\n\n if (!adapter) throw new Error('[Vuetify] Could not find injected locale adapter')\n\n return adapter.createScope(props)\n}\n\nexport function useLocale () {\n const adapter = inject(LocaleAdapterSymbol)\n\n if (!adapter) throw new Error('[Vuetify] Could not find injected locale adapter')\n\n return adapter.getScope()\n}\n\nfunction isLocaleAdapter (x: any): x is LocaleAdapter {\n return !!x && x.hasOwnProperty('getScope') && x.hasOwnProperty('createScope') && x.hasOwnProperty('createRoot')\n}\n\nexport function createLocaleAdapter (app: App, options?: LocaleOptions | LocaleAdapter) {\n const adapter = isLocaleAdapter(options) ? options : createDefaultLocaleAdapter(options)\n\n const rootInstance = adapter.createRoot(app)\n\n return { adapter, rootInstance }\n}\n\nconst LANG_PREFIX = '$vuetify.'\n\nconst replace = (str: string, params: unknown[]) => {\n return str.replace(/\\{(\\d+)\\}/g, (match: string, index: string) => {\n /* istanbul ignore next */\n return String(params[+index])\n })\n}\n\nconst createTranslateFunction = (\n current: Ref<string>,\n fallback: Ref<string>,\n messages: Ref<LocaleMessages>,\n) => {\n return (key: string, ...params: unknown[]) => {\n if (!key.startsWith(LANG_PREFIX)) {\n return replace(key, params)\n }\n\n const shortKey = key.replace(LANG_PREFIX, '')\n const currentLocale = current.value && messages.value[current.value]\n const fallbackLocale = fallback.value && messages.value[fallback.value]\n\n let str: string = getObjectValueByPath(currentLocale, shortKey, null)\n\n if (!str) {\n consoleWarn(`Translation key \"${key}\" not found in \"${current.value}\", trying fallback locale`)\n str = getObjectValueByPath(fallbackLocale, shortKey, null)\n }\n\n if (!str) {\n consoleError(`Translation key \"${key}\" not found in fallback`)\n str = key\n }\n\n if (typeof str !== 'string') {\n consoleError(`Translation key \"${key}\" has a non-string value`)\n str = key\n }\n\n return replace(str, params)\n }\n}\n\nfunction createNumberFunction (current: Ref<string>, fallback: Ref<string>) {\n return (value: number, options?: Intl.NumberFormatOptions) => {\n const numberFormat = new Intl.NumberFormat([current.value, fallback.value], options)\n\n return numberFormat.format(value)\n }\n}\n\nexport function createDefaultLocaleAdapter (options?: LocaleOptions): LocaleAdapter {\n const createScope = (options: {\n current: MaybeRef<string>\n fallback: MaybeRef<string>\n messages: MaybeRef<LocaleMessages>\n }) => {\n const current = ref(options.current)\n const fallback = ref(options.fallback)\n const messages = ref(options.messages)\n\n return {\n current,\n fallback,\n messages,\n t: createTranslateFunction(current, fallback, messages),\n n: createNumberFunction(current, fallback),\n }\n }\n\n return {\n createRoot: app => {\n const rootScope = createScope({\n current: options?.defaultLocale ?? 'en',\n fallback: options?.fallbackLocale ?? 'en',\n messages: options?.messages ?? { en },\n })\n\n app.provide(VuetifyLocaleSymbol, rootScope)\n\n return rootScope\n },\n getScope: () => {\n const currentScope = inject(VuetifyLocaleSymbol)\n\n if (!currentScope) throw new Error('[Vuetify] Could not find injected locale instance')\n\n return currentScope\n },\n createScope: options => {\n const currentScope = inject(VuetifyLocaleSymbol)\n\n if (!currentScope) throw new Error('[Vuetify] Could not find injected locale instance')\n\n const newScope = createScope({\n current: computed(() => options?.locale ?? currentScope.current.value),\n fallback: computed(() => options?.locale ?? currentScope.fallback.value),\n messages: computed(() => options?.messages ?? currentScope.messages.value),\n })\n\n provide(VuetifyLocaleSymbol, newScope)\n\n return newScope\n },\n }\n}\n"],"file":"locale.mjs"}
1
+ {"version":3,"file":"locale.mjs","names":["en","createRtl","RtlSymbol","computed","inject","provide","ref","consoleError","consoleWarn","getObjectValueByPath","LocaleAdapterSymbol","Symbol","for","VuetifyLocaleSymbol","provideLocale","props","adapter","Error","createScope","useLocale","getScope","isLocaleAdapter","x","hasOwnProperty","createLocale","app","options","createDefaultLocaleAdapter","instance","createRoot","LANG_PREFIX","replace","str","params","match","index","String","createTranslateFunction","current","fallback","messages","key","startsWith","shortKey","currentLocale","value","fallbackLocale","createNumberFunction","numberFormat","Intl","NumberFormat","format","t","n","rootScope","defaultLocale","currentScope","newScope","locale"],"sources":["../../src/composables/locale.ts"],"sourcesContent":["// Locales\nimport en from '@/locale/en'\n\n// Composables\nimport { createRtl, RtlSymbol } from '@/composables/rtl'\n\n// Utilities\nimport { computed, inject, provide, ref } from 'vue'\nimport { consoleError, consoleWarn, getObjectValueByPath } from '@/util'\n\n// Types\nimport type { RtlOptions } from '@/composables/rtl'\nimport type { App, InjectionKey, Ref } from 'vue'\nimport type { MaybeRef } from '@/util'\n\nexport interface LocaleMessages {\n [key: string]: LocaleMessages | string\n}\n\nexport interface LocaleOptions {\n defaultLocale?: string\n fallbackLocale?: string\n messages?: LocaleMessages\n}\n\nexport interface LocaleProps {\n locale?: string\n fallbackLocale?: string\n messages?: LocaleMessages\n}\n\nexport interface LocaleInstance {\n current: Ref<string>\n fallback: Ref<string>\n messages: Ref<LocaleMessages>\n t: (key: string, ...params: unknown[]) => string\n n: (value: number) => string\n}\n\nexport interface LocaleAdapter {\n createRoot: (app?: App) => LocaleInstance\n getScope: () => LocaleInstance\n createScope: (options?: LocaleProps) => LocaleInstance\n}\n\nexport const LocaleAdapterSymbol: InjectionKey<LocaleAdapter> = Symbol.for('vuetify:locale-adapter')\nexport const VuetifyLocaleSymbol: InjectionKey<LocaleInstance> = Symbol.for('vuetify:locale')\n\nexport function provideLocale (props?: LocaleProps) {\n const adapter = inject(LocaleAdapterSymbol)\n\n if (!adapter) throw new Error('[Vuetify] Could not find injected locale adapter')\n\n return adapter.createScope(props)\n}\n\nexport function useLocale () {\n const adapter = inject(LocaleAdapterSymbol)\n\n if (!adapter) throw new Error('[Vuetify] Could not find injected locale adapter')\n\n return adapter.getScope()\n}\n\nfunction isLocaleAdapter (x: any): x is LocaleAdapter {\n return !!x && x.hasOwnProperty('getScope') && x.hasOwnProperty('createScope') && x.hasOwnProperty('createRoot')\n}\n\nexport function createLocale (\n app: App,\n options?: (LocaleOptions & RtlOptions) | (LocaleAdapter & RtlOptions),\n) {\n const adapter = isLocaleAdapter(options) ? options : createDefaultLocaleAdapter(options)\n const instance = adapter.createRoot(app)\n\n app?.provide(RtlSymbol, createRtl(instance, options))\n\n return adapter\n}\n\nconst LANG_PREFIX = '$vuetify.'\n\nconst replace = (str: string, params: unknown[]) => {\n return str.replace(/\\{(\\d+)\\}/g, (match: string, index: string) => {\n /* istanbul ignore next */\n return String(params[+index])\n })\n}\n\nconst createTranslateFunction = (\n current: Ref<string>,\n fallback: Ref<string>,\n messages: Ref<LocaleMessages>,\n) => {\n return (key: string, ...params: unknown[]) => {\n if (!key.startsWith(LANG_PREFIX)) {\n return replace(key, params)\n }\n\n const shortKey = key.replace(LANG_PREFIX, '')\n const currentLocale = current.value && messages.value[current.value]\n const fallbackLocale = fallback.value && messages.value[fallback.value]\n\n let str: string = getObjectValueByPath(currentLocale, shortKey, null)\n\n if (!str) {\n consoleWarn(`Translation key \"${key}\" not found in \"${current.value}\", trying fallback locale`)\n str = getObjectValueByPath(fallbackLocale, shortKey, null)\n }\n\n if (!str) {\n consoleError(`Translation key \"${key}\" not found in fallback`)\n str = key\n }\n\n if (typeof str !== 'string') {\n consoleError(`Translation key \"${key}\" has a non-string value`)\n str = key\n }\n\n return replace(str, params)\n }\n}\n\nfunction createNumberFunction (current: Ref<string>, fallback: Ref<string>) {\n return (value: number, options?: Intl.NumberFormatOptions) => {\n const numberFormat = new Intl.NumberFormat([current.value, fallback.value], options)\n\n return numberFormat.format(value)\n }\n}\n\nexport function createDefaultLocaleAdapter (options?: LocaleOptions): LocaleAdapter {\n const createScope = (options: {\n current: MaybeRef<string>\n fallback: MaybeRef<string>\n messages: MaybeRef<LocaleMessages>\n }) => {\n const current = ref(options.current)\n const fallback = ref(options.fallback)\n const messages = ref(options.messages)\n\n return {\n current,\n fallback,\n messages,\n t: createTranslateFunction(current, fallback, messages),\n n: createNumberFunction(current, fallback),\n }\n }\n\n return {\n createRoot: app => {\n const rootScope = createScope({\n current: options?.defaultLocale ?? 'en',\n fallback: options?.fallbackLocale ?? 'en',\n messages: options?.messages ?? { en },\n })\n\n if (!app) throw new Error('[Vuetify] Could not find default app instance')\n\n app.provide(VuetifyLocaleSymbol, rootScope)\n\n return rootScope\n },\n getScope: () => {\n const currentScope = inject(VuetifyLocaleSymbol)\n\n if (!currentScope) throw new Error('[Vuetify] Could not find injected locale instance')\n\n return currentScope\n },\n createScope: options => {\n const currentScope = inject(VuetifyLocaleSymbol)\n\n if (!currentScope) throw new Error('[Vuetify] Could not find injected locale instance')\n\n const newScope = createScope({\n current: computed(() => options?.locale ?? currentScope.current.value),\n fallback: computed(() => options?.locale ?? currentScope.fallback.value),\n messages: computed(() => options?.messages ?? currentScope.messages.value),\n })\n\n provide(VuetifyLocaleSymbol, newScope)\n\n return newScope\n },\n }\n}\n"],"mappings":"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"}
@@ -0,0 +1,70 @@
1
+ // Composables
2
+ import { useRtl } from "./rtl.mjs"; // Utilities
3
+
4
+ import { computed } from 'vue';
5
+ import { parseAnchor, propsFactory } from "../util/index.mjs"; // Types
6
+
7
+ const oppositeMap = {
8
+ center: 'center',
9
+ top: 'bottom',
10
+ bottom: 'top',
11
+ left: 'right',
12
+ right: 'left'
13
+ };
14
+ export const makeLocationProps = propsFactory({
15
+ location: String
16
+ }, 'location');
17
+ export function useLocation(props) {
18
+ let opposite = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
19
+ let offset = arguments.length > 2 ? arguments[2] : undefined;
20
+ const {
21
+ isRtl
22
+ } = useRtl();
23
+
24
+ function toPhysical(side) {
25
+ return side === 'start' ? isRtl.value ? 'right' : 'left' : side === 'end' ? isRtl.value ? 'left' : 'right' : side;
26
+ }
27
+
28
+ const locationStyles = computed(() => {
29
+ if (!props.location) return {};
30
+ const anchor = parseAnchor(props.location.split(' ').length > 1 ? props.location : `${props.location} center`);
31
+ const side = toPhysical(anchor.side);
32
+ const align = toPhysical(anchor.align);
33
+
34
+ function getOffset(side) {
35
+ return offset ? offset(side) : 0;
36
+ }
37
+
38
+ const styles = {};
39
+
40
+ if (side !== 'center') {
41
+ if (opposite) styles[oppositeMap[side]] = `calc(100% - ${getOffset(side)}px)`;else styles[side] = 0;
42
+ }
43
+
44
+ if (align !== 'center') {
45
+ if (opposite) styles[oppositeMap[align]] = `calc(100% - ${getOffset(align)}px)`;else styles[align] = 0;
46
+ } else {
47
+ if (side === 'center') styles.top = styles.left = '50%';else {
48
+ styles[{
49
+ top: 'left',
50
+ bottom: 'left',
51
+ left: 'top',
52
+ right: 'top'
53
+ }[side]] = '50%';
54
+ }
55
+ styles.transform = {
56
+ top: 'translateX(-50%)',
57
+ bottom: 'translateX(-50%)',
58
+ left: 'translateY(-50%)',
59
+ right: 'translateY(-50%)',
60
+ center: 'translate(-50%, -50%)'
61
+ }[side];
62
+ }
63
+
64
+ return styles;
65
+ });
66
+ return {
67
+ locationStyles
68
+ };
69
+ }
70
+ //# sourceMappingURL=location.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"location.mjs","names":["useRtl","computed","parseAnchor","propsFactory","oppositeMap","center","top","bottom","left","right","makeLocationProps","location","String","useLocation","props","opposite","offset","isRtl","toPhysical","side","value","locationStyles","anchor","split","length","align","getOffset","styles","transform"],"sources":["../../src/composables/location.ts"],"sourcesContent":["// Composables\nimport { useRtl } from '@/composables/rtl'\n\n// Utilities\nimport { computed } from 'vue'\nimport { parseAnchor, propsFactory } from '@/util'\n\n// Types\nimport type { CSSProperties, PropType } from 'vue'\nimport type { Anchor } from '@/util'\n\nconst oppositeMap = {\n center: 'center',\n top: 'bottom',\n bottom: 'top',\n left: 'right',\n right: 'left',\n} as const\n\nexport interface LocationProps {\n location: Anchor | undefined\n}\n\nexport const makeLocationProps = propsFactory({\n location: String as PropType<Anchor>,\n}, 'location')\n\nexport function useLocation (props: LocationProps, opposite = false, offset?: (side: string) => number) {\n const { isRtl } = useRtl()\n\n function toPhysical (side: string) {\n return (\n side === 'start' ? (isRtl.value ? 'right' : 'left')\n : side === 'end' ? (isRtl.value ? 'left' : 'right')\n : side\n ) as 'right' | 'left' | 'top' | 'bottom' | 'center'\n }\n\n const locationStyles = computed(() => {\n if (!props.location) return {}\n\n const anchor = parseAnchor(\n props.location.split(' ').length > 1\n ? props.location\n : `${props.location} center` as Anchor\n )\n\n const side = toPhysical(anchor.side)\n const align = toPhysical(anchor.align)\n\n function getOffset (side: string) {\n return offset\n ? offset(side)\n : 0\n }\n\n const styles = {} as CSSProperties\n\n if (side !== 'center') {\n if (opposite) styles[oppositeMap[side]] = `calc(100% - ${getOffset(side)}px)`\n else styles[side] = 0\n }\n if (align !== 'center') {\n if (opposite) styles[oppositeMap[align]] = `calc(100% - ${getOffset(align)}px)`\n else styles[align] = 0\n } else {\n if (side === 'center') styles.top = styles.left = '50%'\n else {\n styles[({\n top: 'left',\n bottom: 'left',\n left: 'top',\n right: 'top',\n } as const)[side]] = '50%'\n }\n styles.transform = {\n top: 'translateX(-50%)',\n bottom: 'translateX(-50%)',\n left: 'translateY(-50%)',\n right: 'translateY(-50%)',\n center: 'translate(-50%, -50%)',\n }[side]\n }\n\n return styles\n })\n\n return { locationStyles }\n}\n"],"mappings":"AAAA;SACSA,M,qBAET;;AACA,SAASC,QAAT,QAAyB,KAAzB;SACSC,W,EAAaC,Y,6BAEtB;;AAIA,MAAMC,WAAW,GAAG;EAClBC,MAAM,EAAE,QADU;EAElBC,GAAG,EAAE,QAFa;EAGlBC,MAAM,EAAE,KAHU;EAIlBC,IAAI,EAAE,OAJY;EAKlBC,KAAK,EAAE;AALW,CAApB;AAYA,OAAO,MAAMC,iBAAiB,GAAGP,YAAY,CAAC;EAC5CQ,QAAQ,EAAEC;AADkC,CAAD,EAE1C,UAF0C,CAAtC;AAIP,OAAO,SAASC,WAAT,CAAsBC,KAAtB,EAAiG;EAAA,IAArDC,QAAqD,uEAA1C,KAA0C;EAAA,IAAnCC,MAAmC;EACtG,MAAM;IAAEC;EAAF,IAAYjB,MAAM,EAAxB;;EAEA,SAASkB,UAAT,CAAqBC,IAArB,EAAmC;IACjC,OACEA,IAAI,KAAK,OAAT,GAAoBF,KAAK,CAACG,KAAN,GAAc,OAAd,GAAwB,MAA5C,GACED,IAAI,KAAK,KAAT,GAAkBF,KAAK,CAACG,KAAN,GAAc,MAAd,GAAuB,OAAzC,GACAD,IAHJ;EAKD;;EAED,MAAME,cAAc,GAAGpB,QAAQ,CAAC,MAAM;IACpC,IAAI,CAACa,KAAK,CAACH,QAAX,EAAqB,OAAO,EAAP;IAErB,MAAMW,MAAM,GAAGpB,WAAW,CACxBY,KAAK,CAACH,QAAN,CAAeY,KAAf,CAAqB,GAArB,EAA0BC,MAA1B,GAAmC,CAAnC,GACIV,KAAK,CAACH,QADV,GAEK,GAAEG,KAAK,CAACH,QAAS,SAHE,CAA1B;IAMA,MAAMQ,IAAI,GAAGD,UAAU,CAACI,MAAM,CAACH,IAAR,CAAvB;IACA,MAAMM,KAAK,GAAGP,UAAU,CAACI,MAAM,CAACG,KAAR,CAAxB;;IAEA,SAASC,SAAT,CAAoBP,IAApB,EAAkC;MAChC,OAAOH,MAAM,GACTA,MAAM,CAACG,IAAD,CADG,GAET,CAFJ;IAGD;;IAED,MAAMQ,MAAM,GAAG,EAAf;;IAEA,IAAIR,IAAI,KAAK,QAAb,EAAuB;MACrB,IAAIJ,QAAJ,EAAcY,MAAM,CAACvB,WAAW,CAACe,IAAD,CAAZ,CAAN,GAA6B,eAAcO,SAAS,CAACP,IAAD,CAAO,KAA3D,CAAd,KACKQ,MAAM,CAACR,IAAD,CAAN,GAAe,CAAf;IACN;;IACD,IAAIM,KAAK,KAAK,QAAd,EAAwB;MACtB,IAAIV,QAAJ,EAAcY,MAAM,CAACvB,WAAW,CAACqB,KAAD,CAAZ,CAAN,GAA8B,eAAcC,SAAS,CAACD,KAAD,CAAQ,KAA7D,CAAd,KACKE,MAAM,CAACF,KAAD,CAAN,GAAgB,CAAhB;IACN,CAHD,MAGO;MACL,IAAIN,IAAI,KAAK,QAAb,EAAuBQ,MAAM,CAACrB,GAAP,GAAaqB,MAAM,CAACnB,IAAP,GAAc,KAA3B,CAAvB,KACK;QACHmB,MAAM,CAAE;UACNrB,GAAG,EAAE,MADC;UAENC,MAAM,EAAE,MAFF;UAGNC,IAAI,EAAE,KAHA;UAINC,KAAK,EAAE;QAJD,CAAD,CAKKU,IALL,CAAD,CAAN,GAKqB,KALrB;MAMD;MACDQ,MAAM,CAACC,SAAP,GAAmB;QACjBtB,GAAG,EAAE,kBADY;QAEjBC,MAAM,EAAE,kBAFS;QAGjBC,IAAI,EAAE,kBAHW;QAIjBC,KAAK,EAAE,kBAJU;QAKjBJ,MAAM,EAAE;MALS,EAMjBc,IANiB,CAAnB;IAOD;;IAED,OAAOQ,MAAP;EACD,CA/C8B,CAA/B;EAiDA,OAAO;IAAEN;EAAF,CAAP;AACD"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/composables/mutationObserver.ts"],"names":["isComponentInstance","onBeforeUnmount","onMounted","ref","watch","useMutationObserver","handler","options","mutationRef","once","immediate","optionKeys","defaultValue","Object","keys","length","observer","MutationObserver","mutations","disconnect","newValue","oldValue","el","$el","observe","attributes","attr","characterData","char","childList","child","subtree","sub","flush"],"mappings":"AAAA;SACSA,mB;AACT,SAASC,eAAT,EAA0BC,SAA1B,EAAqCC,GAArC,EAA0CC,KAA1C,QAAuD,KAAvD,C,CAEA;;AAYA,OAAO,SAASC,mBAAT,CACLC,OADK,EAELC,OAFK,EAGL;AACA,QAAMC,WAAW,GAAGL,GAAG,EAAvB;AACA,QAAM;AAAEM,IAAAA,IAAF;AAAQC,IAAAA,SAAR;AAAmB,OAAGC;AAAtB,MAAqCJ,OAAO,IAAI,EAAtD;AACA,QAAMK,YAAY,GAAG,CAACC,MAAM,CAACC,IAAP,CAAYH,UAAZ,EAAwBI,MAA9C;AAEA,QAAMC,QAAQ,GAAG,IAAIC,gBAAJ,CAAqB,CACpCC,SADoC,EAEpCF,QAFoC,KAGjC;AACHV,IAAAA,OAAO,QAAP,YAAAA,OAAO,CAAGY,SAAH,EAAcF,QAAd,CAAP;AAEA,QAAIT,OAAJ,YAAIA,OAAO,CAAEE,IAAb,EAAmBO,QAAQ,CAACG,UAAT;AACpB,GAPgB,CAAjB;AASAjB,EAAAA,SAAS,CAAC,MAAM;AACd,QAAI,EAACK,OAAD,YAACA,OAAO,CAAEG,SAAV,CAAJ,EAAyB;AAEzBJ,IAAAA,OAAO,QAAP,YAAAA,OAAO,CAAG,EAAH,EAAOU,QAAP,CAAP;AACD,GAJQ,CAAT;AAMAf,EAAAA,eAAe,CAAC,MAAM;AACpBe,IAAAA,QAAQ,CAACG,UAAT;AACD,GAFc,CAAf;AAIAf,EAAAA,KAAK,CAACI,WAAD,EAAc,CAACY,QAAD,EAAWC,QAAX,KAAwB;AAAA;;AACzC,QAAIA,QAAJ,EAAcL,QAAQ,CAACG,UAAT;AAEd,UAAMG,EAAE,GAAGtB,mBAAmB,CAACoB,QAAD,CAAnB,GAAgCA,QAAQ,CAACG,GAAzC,GAA+CH,QAA1D;AAEA,QAAI,CAACE,EAAL,EAAS;AAETN,IAAAA,QAAQ,CAACQ,OAAT,CAAiBF,EAAjB,EAAqB;AACnBG,MAAAA,UAAU,mBAAElB,OAAF,oBAAEA,OAAO,CAAEmB,IAAX,4BAAmBd,YADV;AAEnBe,MAAAA,aAAa,mBAAEpB,OAAF,oBAAEA,OAAO,CAAEqB,IAAX,4BAAmBhB,YAFb;AAGnBiB,MAAAA,SAAS,oBAAEtB,OAAF,oBAAEA,OAAO,CAAEuB,KAAX,6BAAoBlB,YAHV;AAInBmB,MAAAA,OAAO,kBAAExB,OAAF,oBAAEA,OAAO,CAAEyB,GAAX,2BAAkBpB;AAJN,KAArB;AAMD,GAbI,EAaF;AACDqB,IAAAA,KAAK,EAAE;AADN,GAbE,CAAL;AAiBA,SAAO;AAAEzB,IAAAA;AAAF,GAAP;AACD","sourcesContent":["// Utilities\nimport { isComponentInstance } from '@/util'\nimport { onBeforeUnmount, onMounted, ref, watch } from 'vue'\n\n// Types\nimport type { ComponentPublicInstance } from 'vue'\n\nexport interface MutationOptions {\n attr?: boolean\n char?: boolean\n child?: boolean\n sub?: boolean\n once?: boolean\n immediate?: boolean\n}\n\nexport function useMutationObserver (\n handler?: MutationCallback,\n options?: MutationOptions,\n) {\n const mutationRef = ref<ComponentPublicInstance | HTMLElement>()\n const { once, immediate, ...optionKeys } = options || {}\n const defaultValue = !Object.keys(optionKeys).length\n\n const observer = new MutationObserver((\n mutations: MutationRecord[],\n observer: MutationObserver\n ) => {\n handler?.(mutations, observer)\n\n if (options?.once) observer.disconnect()\n })\n\n onMounted(() => {\n if (!options?.immediate) return\n\n handler?.([], observer)\n })\n\n onBeforeUnmount(() => {\n observer.disconnect()\n })\n\n watch(mutationRef, (newValue, oldValue) => {\n if (oldValue) observer.disconnect()\n\n const el = isComponentInstance(newValue) ? newValue.$el : newValue\n\n if (!el) return\n\n observer.observe(el, {\n attributes: options?.attr ?? defaultValue,\n characterData: options?.char ?? defaultValue,\n childList: options?.child ?? defaultValue,\n subtree: options?.sub ?? defaultValue,\n })\n }, {\n flush: 'post',\n })\n\n return { mutationRef }\n}\n"],"file":"mutationObserver.mjs"}
1
+ {"version":3,"file":"mutationObserver.mjs","names":["isComponentInstance","onBeforeUnmount","onMounted","ref","watch","useMutationObserver","handler","options","mutationRef","once","immediate","optionKeys","defaultValue","Object","keys","length","observer","MutationObserver","mutations","disconnect","newValue","oldValue","el","$el","observe","attributes","attr","characterData","char","childList","child","subtree","sub","flush"],"sources":["../../src/composables/mutationObserver.ts"],"sourcesContent":["// Utilities\nimport { isComponentInstance } from '@/util'\nimport { onBeforeUnmount, onMounted, ref, watch } from 'vue'\n\n// Types\nimport type { ComponentPublicInstance } from 'vue'\n\nexport interface MutationOptions {\n attr?: boolean\n char?: boolean\n child?: boolean\n sub?: boolean\n once?: boolean\n immediate?: boolean\n}\n\nexport function useMutationObserver (\n handler?: MutationCallback,\n options?: MutationOptions,\n) {\n const mutationRef = ref<ComponentPublicInstance | HTMLElement>()\n const { once, immediate, ...optionKeys } = options || {}\n const defaultValue = !Object.keys(optionKeys).length\n\n const observer = new MutationObserver((\n mutations: MutationRecord[],\n observer: MutationObserver\n ) => {\n handler?.(mutations, observer)\n\n if (options?.once) observer.disconnect()\n })\n\n onMounted(() => {\n if (!options?.immediate) return\n\n handler?.([], observer)\n })\n\n onBeforeUnmount(() => {\n observer.disconnect()\n })\n\n watch(mutationRef, (newValue, oldValue) => {\n if (oldValue) observer.disconnect()\n\n const el = isComponentInstance(newValue) ? newValue.$el : newValue\n\n if (!el) return\n\n observer.observe(el, {\n attributes: options?.attr ?? defaultValue,\n characterData: options?.char ?? defaultValue,\n childList: options?.child ?? defaultValue,\n subtree: options?.sub ?? defaultValue,\n })\n }, {\n flush: 'post',\n })\n\n return { mutationRef }\n}\n"],"mappings":"AAAA;SACSA,mB;AACT,SAASC,eAAT,EAA0BC,SAA1B,EAAqCC,GAArC,EAA0CC,KAA1C,QAAuD,KAAvD,C,CAEA;;AAYA,OAAO,SAASC,mBAAT,CACLC,OADK,EAELC,OAFK,EAGL;EACA,MAAMC,WAAW,GAAGL,GAAG,EAAvB;EACA,MAAM;IAAEM,IAAF;IAAQC,SAAR;IAAmB,GAAGC;EAAtB,IAAqCJ,OAAO,IAAI,EAAtD;EACA,MAAMK,YAAY,GAAG,CAACC,MAAM,CAACC,IAAP,CAAYH,UAAZ,EAAwBI,MAA9C;EAEA,MAAMC,QAAQ,GAAG,IAAIC,gBAAJ,CAAqB,CACpCC,SADoC,EAEpCF,QAFoC,KAGjC;IACHV,OAAO,QAAP,YAAAA,OAAO,CAAGY,SAAH,EAAcF,QAAd,CAAP;IAEA,IAAIT,OAAJ,YAAIA,OAAO,CAAEE,IAAb,EAAmBO,QAAQ,CAACG,UAAT;EACpB,CAPgB,CAAjB;EASAjB,SAAS,CAAC,MAAM;IACd,IAAI,EAACK,OAAD,YAACA,OAAO,CAAEG,SAAV,CAAJ,EAAyB;IAEzBJ,OAAO,QAAP,YAAAA,OAAO,CAAG,EAAH,EAAOU,QAAP,CAAP;EACD,CAJQ,CAAT;EAMAf,eAAe,CAAC,MAAM;IACpBe,QAAQ,CAACG,UAAT;EACD,CAFc,CAAf;EAIAf,KAAK,CAACI,WAAD,EAAc,CAACY,QAAD,EAAWC,QAAX,KAAwB;IAAA;;IACzC,IAAIA,QAAJ,EAAcL,QAAQ,CAACG,UAAT;IAEd,MAAMG,EAAE,GAAGtB,mBAAmB,CAACoB,QAAD,CAAnB,GAAgCA,QAAQ,CAACG,GAAzC,GAA+CH,QAA1D;IAEA,IAAI,CAACE,EAAL,EAAS;IAETN,QAAQ,CAACQ,OAAT,CAAiBF,EAAjB,EAAqB;MACnBG,UAAU,mBAAElB,OAAF,oBAAEA,OAAO,CAAEmB,IAAX,4BAAmBd,YADV;MAEnBe,aAAa,mBAAEpB,OAAF,oBAAEA,OAAO,CAAEqB,IAAX,4BAAmBhB,YAFb;MAGnBiB,SAAS,oBAAEtB,OAAF,oBAAEA,OAAO,CAAEuB,KAAX,6BAAoBlB,YAHV;MAInBmB,OAAO,kBAAExB,OAAF,oBAAEA,OAAO,CAAEyB,GAAX,2BAAkBpB;IAJN,CAArB;EAMD,CAbI,EAaF;IACDqB,KAAK,EAAE;EADN,CAbE,CAAL;EAiBA,OAAO;IAAEzB;EAAF,CAAP;AACD"}
@@ -1,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 = {
@@ -36,26 +36,29 @@ export const useNested = props => {
36
36
 
37
37
  switch (props.selectStrategy) {
38
38
  case 'single-leaf':
39
- return leafSelectStrategy(true);
39
+ return leafSingleSelectStrategy(props.mandatory);
40
40
 
41
41
  case 'leaf':
42
- return leafSelectStrategy();
42
+ return leafSelectStrategy(props.mandatory);
43
43
 
44
44
  case 'independent':
45
- return independentSelectStrategy;
45
+ return independentSelectStrategy(props.mandatory);
46
46
 
47
47
  case 'single-independent':
48
- return independentSingleSelectStrategy;
48
+ return independentSingleSelectStrategy(props.mandatory);
49
49
 
50
50
  case 'classic':
51
51
  default:
52
- return classicSelectStrategy;
52
+ return classicSelectStrategy(props.mandatory);
53
53
  }
54
54
  });
55
55
  const openStrategy = computed(() => {
56
56
  if (typeof props.openStrategy === 'function') return props.openStrategy;
57
57
 
58
58
  switch (props.openStrategy) {
59
+ case 'list':
60
+ return listOpenStrategy;
61
+
59
62
  case 'single':
60
63
  return singleOpenStrategy;
61
64
 
@@ -126,7 +129,7 @@ export const useNested = props => {
126
129
  path: getPath(id),
127
130
  event
128
131
  });
129
- const newOpened = openStrategy.value({
132
+ const newOpened = openStrategy.value.open({
130
133
  id,
131
134
  value,
132
135
  opened: new Set(opened.value),
@@ -149,10 +152,19 @@ export const useNested = props => {
149
152
  selected: new Map(selected.value),
150
153
  children: children.value,
151
154
  parents: parents.value,
152
- event,
153
- mandatory: props.mandatory
155
+ event
154
156
  });
155
157
  newSelected && (selected.value = newSelected);
158
+ const newOpened = openStrategy.value.select({
159
+ id,
160
+ value,
161
+ selected: new Map(selected.value),
162
+ opened: new Set(opened.value),
163
+ children: children.value,
164
+ parents: parents.value,
165
+ event
166
+ });
167
+ newOpened && (opened.value = newOpened);
156
168
  },
157
169
  children,
158
170
  parents
@@ -176,11 +188,12 @@ export const useNestedItem = (id, isGroup) => {
176
188
  select: (selected, e) => parent.root.select(computedId.value, selected, e),
177
189
  isSelected: computed(() => parent.root.selected.value.get(computedId.value) === 'on'),
178
190
  isIndeterminate: computed(() => parent.root.selected.value.get(computedId.value) === 'indeterminate'),
179
- isLeaf: computed(() => !parent.root.children.value.get(computedId.value))
191
+ isLeaf: computed(() => !parent.root.children.value.get(computedId.value)),
192
+ isGroupActivator: parent.isGroupActivator
180
193
  };
181
- !parent.skipRegister && parent.root.register(computedId.value, parent.id.value, isGroup);
194
+ !parent.isGroupActivator && parent.root.register(computedId.value, parent.id.value, isGroup);
182
195
  onBeforeUnmount(() => {
183
- !parent.skipRegister && parent.root.unregister(computedId.value);
196
+ !parent.isGroupActivator && parent.root.unregister(computedId.value);
184
197
  });
185
198
  isGroup && provide(VNestedSymbol, item);
186
199
  return item;
@@ -188,7 +201,7 @@ export const useNestedItem = (id, isGroup) => {
188
201
  export const useNestedGroupActivator = () => {
189
202
  const parent = inject(VNestedSymbol, emptyNested);
190
203
  provide(VNestedSymbol, { ...parent,
191
- skipRegister: true
204
+ isGroupActivator: true
192
205
  });
193
206
  };
194
207
  //# sourceMappingURL=nested.mjs.map