@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
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/composables/nested/nested.ts"],"names":["useProxiedModel","getCurrentInstance","getUid","propsFactory","computed","inject","onBeforeUnmount","provide","ref","multipleOpenStrategy","singleOpenStrategy","classicSelectStrategy","independentSelectStrategy","independentSingleSelectStrategy","leafSelectStrategy","VNestedSymbol","Symbol","for","emptyNested","id","root","register","unregister","parents","Map","children","open","select","opened","Set","selected","selectedValues","makeNestedProps","selectStrategy","String","Function","openStrategy","Array","mandatory","Boolean","useNested","props","isUnmounted","v","values","value","in","out","getPath","path","parent","unshift","get","vm","nested","arr","key","entries","push","parentId","isGroup","set","delete","list","filter","child","event","emit","newOpened","newSelected","useNestedItem","computedId","toString","item","e","isOpen","has","isSelected","isIndeterminate","isLeaf","skipRegister","useNestedGroupActivator"],"mappings":"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","sourcesContent":["import { useProxiedModel } from '@/composables/proxiedModel'\nimport { getCurrentInstance, getUid, propsFactory } from '@/util'\nimport { computed, inject, onBeforeUnmount, provide, ref } from 'vue'\nimport { multipleOpenStrategy, singleOpenStrategy } from './openStrategies'\nimport { classicSelectStrategy, independentSelectStrategy, independentSingleSelectStrategy, leafSelectStrategy } from './selectStrategies'\n\n// Types\nimport type { InjectionKey, Prop, Ref } from 'vue'\nimport type { SelectStrategyFn } from './selectStrategies'\nimport type { OpenStrategyFn } from './openStrategies'\n\nexport type SelectStrategy = 'single-leaf' | 'leaf' | 'independent' | 'single-independent' | 'classic' | SelectStrategyFn\nexport type OpenStrategy = 'single' | 'multiple' | OpenStrategyFn\n\nexport interface NestedProps {\n selectStrategy: SelectStrategy | undefined\n openStrategy: OpenStrategy | undefined\n selected: string[] | undefined\n opened: string[] | undefined\n mandatory: boolean\n 'onUpdate:selected': ((val: string[]) => void) | undefined\n 'onUpdate:opened': ((val: string[]) => void) | undefined\n}\n\ntype NestedProvide = {\n id: Ref<string | undefined>\n skipRegister?: boolean\n root: {\n children: Ref<Map<string, string[]>>\n parents: Ref<Map<string, string>>\n opened: Ref<Set<string>>\n selected: Ref<Map<string, 'on' | 'off' | 'indeterminate'>>\n selectedValues: Ref<string[]>\n register: (id: string, parentId: string | undefined, isGroup?: boolean) => void\n unregister: (id: string) => void\n open: (id: string, value: boolean, event?: Event) => void\n select: (id: string, value: boolean, event?: Event) => void\n }\n}\n\nexport const VNestedSymbol: InjectionKey<NestedProvide> = Symbol.for('vuetify:nested')\n\nexport const emptyNested: NestedProvide = {\n id: ref(),\n root: {\n register: () => null,\n unregister: () => null,\n parents: ref(new Map()),\n children: ref(new Map()),\n open: () => null,\n select: () => null,\n opened: ref(new Set()),\n selected: ref(new Map()),\n selectedValues: ref([]),\n },\n}\n\nexport const makeNestedProps = propsFactory({\n selectStrategy: [String, Function] as Prop<SelectStrategy>,\n openStrategy: [String, Function] as Prop<OpenStrategy>,\n opened: Array as Prop<string[]>,\n selected: Array as Prop<string[]>,\n mandatory: Boolean,\n}, 'nested')\n\nexport const useNested = (props: NestedProps) => {\n let isUnmounted = false\n const children = ref(new Map<string, string[]>())\n const parents = ref(new Map<string, string>())\n\n const opened = useProxiedModel(props, 'opened', props.opened, v => new Set(v), v => [...v.values()])\n\n const selectStrategy = computed(() => {\n if (typeof props.selectStrategy === 'object') return props.selectStrategy\n\n switch (props.selectStrategy) {\n case 'single-leaf': return leafSelectStrategy(true)\n case 'leaf': return leafSelectStrategy()\n case 'independent': return independentSelectStrategy\n case 'single-independent': return independentSingleSelectStrategy\n case 'classic':\n default: return classicSelectStrategy\n }\n })\n\n const openStrategy = computed(() => {\n if (typeof props.openStrategy === 'function') return props.openStrategy\n\n switch (props.openStrategy) {\n case 'single': return singleOpenStrategy\n case 'multiple':\n default: return multipleOpenStrategy\n }\n })\n\n const selected = useProxiedModel(\n props,\n 'selected',\n props.selected,\n v => selectStrategy.value.in(v, children.value, parents.value),\n v => selectStrategy.value.out(v, children.value, parents.value),\n )\n\n onBeforeUnmount(() => {\n isUnmounted = true\n })\n\n function getPath (id: string) {\n const path: string[] = []\n let parent: string | undefined = id\n\n while (parent != null) {\n path.unshift(parent)\n parent = parents.value.get(parent)\n }\n\n return path\n }\n\n const vm = getCurrentInstance('nested')\n\n const nested: NestedProvide = {\n id: ref(),\n root: {\n opened,\n selected,\n selectedValues: computed(() => {\n const arr = []\n\n for (const [key, value] of selected.value.entries()) {\n if (value === 'on') arr.push(key)\n }\n\n return arr\n }),\n register: (id, parentId, isGroup) => {\n parentId && id !== parentId && parents.value.set(id, parentId)\n\n isGroup && children.value.set(id, [])\n\n if (parentId != null) {\n children.value.set(parentId, [...children.value.get(parentId) || [], id])\n }\n },\n unregister: id => {\n if (isUnmounted) return\n\n children.value.delete(id)\n const parent = parents.value.get(id)\n if (parent) {\n const list = children.value.get(parent) ?? []\n children.value.set(parent, list.filter(child => child !== id))\n }\n parents.value.delete(id)\n opened.value.delete(id)\n },\n open: (id, value, event) => {\n vm.emit('click:open', { id, value, path: getPath(id), event })\n\n const newOpened = openStrategy.value({\n id,\n value,\n opened: new Set(opened.value),\n children: children.value,\n parents: parents.value,\n event,\n })\n\n newOpened && (opened.value = newOpened)\n },\n select: (id, value, event) => {\n vm.emit('click:select', { id, value, path: getPath(id), event })\n\n const newSelected = selectStrategy.value.select({\n id,\n value,\n selected: new Map(selected.value),\n children: children.value,\n parents: parents.value,\n event,\n mandatory: props.mandatory,\n })\n newSelected && (selected.value = newSelected)\n },\n children,\n parents,\n },\n }\n\n provide(VNestedSymbol, nested)\n\n return nested.root\n}\n\nexport const useNestedItem = (id: Ref<string | undefined>, isGroup: boolean) => {\n const parent = inject(VNestedSymbol, emptyNested)\n\n const computedId = computed(() => id.value ?? getUid().toString())\n\n const item = {\n ...parent,\n id: computedId,\n open: (open: boolean, e: Event) => parent.root.open(computedId.value, open, e),\n isOpen: computed(() => parent.root.opened.value.has(computedId.value)),\n parent: computed(() => parent.root.parents.value.get(computedId.value)),\n select: (selected: boolean, e: Event) => parent.root.select(computedId.value, selected, e),\n isSelected: computed(() => parent.root.selected.value.get(computedId.value) === 'on'),\n isIndeterminate: computed(() => parent.root.selected.value.get(computedId.value) === 'indeterminate'),\n isLeaf: computed(() => !parent.root.children.value.get(computedId.value)),\n }\n\n !parent.skipRegister && parent.root.register(computedId.value, parent.id.value, isGroup)\n\n onBeforeUnmount(() => {\n !parent.skipRegister && parent.root.unregister(computedId.value)\n })\n\n isGroup && provide(VNestedSymbol, item)\n\n return item\n}\n\nexport const useNestedGroupActivator = () => {\n const parent = inject(VNestedSymbol, emptyNested)\n\n provide(VNestedSymbol, { ...parent, skipRegister: true })\n}\n"],"file":"nested.mjs"}
1
+ {"version":3,"file":"nested.mjs","names":["useProxiedModel","getCurrentInstance","getUid","propsFactory","computed","inject","onBeforeUnmount","provide","ref","listOpenStrategy","multipleOpenStrategy","singleOpenStrategy","classicSelectStrategy","independentSelectStrategy","independentSingleSelectStrategy","leafSelectStrategy","leafSingleSelectStrategy","VNestedSymbol","Symbol","for","emptyNested","id","root","register","unregister","parents","Map","children","open","select","opened","Set","selected","selectedValues","makeNestedProps","selectStrategy","String","Function","openStrategy","Array","mandatory","Boolean","useNested","props","isUnmounted","v","values","value","in","out","getPath","path","parent","unshift","get","vm","nested","arr","key","entries","push","parentId","isGroup","set","delete","list","filter","child","event","emit","newOpened","newSelected","useNestedItem","computedId","toString","item","e","isOpen","has","isSelected","isIndeterminate","isLeaf","isGroupActivator","useNestedGroupActivator"],"sources":["../../../src/composables/nested/nested.ts"],"sourcesContent":["import { useProxiedModel } from '@/composables/proxiedModel'\nimport { getCurrentInstance, getUid, propsFactory } from '@/util'\nimport { computed, inject, onBeforeUnmount, provide, ref } from 'vue'\nimport { listOpenStrategy, multipleOpenStrategy, singleOpenStrategy } from './openStrategies'\nimport {\n classicSelectStrategy,\n independentSelectStrategy,\n independentSingleSelectStrategy,\n leafSelectStrategy,\n leafSingleSelectStrategy,\n} from './selectStrategies'\n\n// Types\nimport type { InjectionKey, Prop, Ref } from 'vue'\nimport type { SelectStrategyFn } from './selectStrategies'\nimport type { OpenStrategy } from './openStrategies'\n\nexport type SelectStrategy = 'single-leaf' | 'leaf' | 'independent' | 'single-independent' | 'classic' | SelectStrategyFn\nexport type OpenStrategyProp = 'single' | 'multiple' | 'list' | OpenStrategy\n\nexport interface NestedProps {\n selectStrategy: SelectStrategy | undefined\n openStrategy: OpenStrategyProp | undefined\n selected: string[] | undefined\n opened: string[] | undefined\n mandatory: boolean\n 'onUpdate:selected': ((val: string[]) => void) | undefined\n 'onUpdate:opened': ((val: string[]) => void) | undefined\n}\n\ntype NestedProvide = {\n id: Ref<string | undefined>\n isGroupActivator?: boolean\n root: {\n children: Ref<Map<string, string[]>>\n parents: Ref<Map<string, string>>\n opened: Ref<Set<string>>\n selected: Ref<Map<string, 'on' | 'off' | 'indeterminate'>>\n selectedValues: Ref<string[]>\n register: (id: string, parentId: string | undefined, isGroup?: boolean) => void\n unregister: (id: string) => void\n open: (id: string, value: boolean, event?: Event) => void\n select: (id: string, value: boolean, event?: Event) => void\n }\n}\n\nexport const VNestedSymbol: InjectionKey<NestedProvide> = Symbol.for('vuetify:nested')\n\nexport const emptyNested: NestedProvide = {\n id: ref(),\n root: {\n register: () => null,\n unregister: () => null,\n parents: ref(new Map()),\n children: ref(new Map()),\n open: () => null,\n select: () => null,\n opened: ref(new Set()),\n selected: ref(new Map()),\n selectedValues: ref([]),\n },\n}\n\nexport const makeNestedProps = propsFactory({\n selectStrategy: [String, Function] as Prop<SelectStrategy>,\n openStrategy: [String, Function] as Prop<OpenStrategyProp>,\n opened: Array as Prop<string[]>,\n selected: Array as Prop<string[]>,\n mandatory: Boolean,\n}, 'nested')\n\nexport const useNested = (props: NestedProps) => {\n let isUnmounted = false\n const children = ref(new Map<string, string[]>())\n const parents = ref(new Map<string, string>())\n\n const opened = useProxiedModel(props, 'opened', props.opened, v => new Set(v), v => [...v.values()])\n\n const selectStrategy = computed(() => {\n if (typeof props.selectStrategy === 'object') return props.selectStrategy\n\n switch (props.selectStrategy) {\n case 'single-leaf': return leafSingleSelectStrategy(props.mandatory)\n case 'leaf': return leafSelectStrategy(props.mandatory)\n case 'independent': return independentSelectStrategy(props.mandatory)\n case 'single-independent': return independentSingleSelectStrategy(props.mandatory)\n case 'classic':\n default: return classicSelectStrategy(props.mandatory)\n }\n })\n\n const openStrategy = computed(() => {\n if (typeof props.openStrategy === 'function') return props.openStrategy\n\n switch (props.openStrategy) {\n case 'list': return listOpenStrategy\n case 'single': return singleOpenStrategy\n case 'multiple':\n default: return multipleOpenStrategy\n }\n })\n\n const selected = useProxiedModel(\n props,\n 'selected',\n props.selected,\n v => selectStrategy.value.in(v, children.value, parents.value),\n v => selectStrategy.value.out(v, children.value, parents.value),\n )\n\n onBeforeUnmount(() => {\n isUnmounted = true\n })\n\n function getPath (id: string) {\n const path: string[] = []\n let parent: string | undefined = id\n\n while (parent != null) {\n path.unshift(parent)\n parent = parents.value.get(parent)\n }\n\n return path\n }\n\n const vm = getCurrentInstance('nested')\n\n const nested: NestedProvide = {\n id: ref(),\n root: {\n opened,\n selected,\n selectedValues: computed(() => {\n const arr = []\n\n for (const [key, value] of selected.value.entries()) {\n if (value === 'on') arr.push(key)\n }\n\n return arr\n }),\n register: (id, parentId, isGroup) => {\n parentId && id !== parentId && parents.value.set(id, parentId)\n\n isGroup && children.value.set(id, [])\n\n if (parentId != null) {\n children.value.set(parentId, [...children.value.get(parentId) || [], id])\n }\n },\n unregister: id => {\n if (isUnmounted) return\n\n children.value.delete(id)\n const parent = parents.value.get(id)\n if (parent) {\n const list = children.value.get(parent) ?? []\n children.value.set(parent, list.filter(child => child !== id))\n }\n parents.value.delete(id)\n opened.value.delete(id)\n },\n open: (id, value, event) => {\n vm.emit('click:open', { id, value, path: getPath(id), event })\n\n const newOpened = openStrategy.value.open({\n id,\n value,\n opened: new Set(opened.value),\n children: children.value,\n parents: parents.value,\n event,\n })\n\n newOpened && (opened.value = newOpened)\n },\n select: (id, value, event) => {\n vm.emit('click:select', { id, value, path: getPath(id), event })\n\n const newSelected = selectStrategy.value.select({\n id,\n value,\n selected: new Map(selected.value),\n children: children.value,\n parents: parents.value,\n event,\n })\n newSelected && (selected.value = newSelected)\n\n const newOpened = openStrategy.value.select({\n id,\n value,\n selected: new Map(selected.value),\n opened: new Set(opened.value),\n children: children.value,\n parents: parents.value,\n event,\n })\n newOpened && (opened.value = newOpened)\n },\n children,\n parents,\n },\n }\n\n provide(VNestedSymbol, nested)\n\n return nested.root\n}\n\nexport const useNestedItem = (id: Ref<string | undefined>, isGroup: boolean) => {\n const parent = inject(VNestedSymbol, emptyNested)\n\n const computedId = computed(() => id.value ?? getUid().toString())\n\n const item = {\n ...parent,\n id: computedId,\n open: (open: boolean, e: Event) => parent.root.open(computedId.value, open, e),\n isOpen: computed(() => parent.root.opened.value.has(computedId.value)),\n parent: computed(() => parent.root.parents.value.get(computedId.value)),\n select: (selected: boolean, e?: Event) => parent.root.select(computedId.value, selected, e),\n isSelected: computed(() => parent.root.selected.value.get(computedId.value) === 'on'),\n isIndeterminate: computed(() => parent.root.selected.value.get(computedId.value) === 'indeterminate'),\n isLeaf: computed(() => !parent.root.children.value.get(computedId.value)),\n isGroupActivator: parent.isGroupActivator,\n }\n\n !parent.isGroupActivator && parent.root.register(computedId.value, parent.id.value, isGroup)\n\n onBeforeUnmount(() => {\n !parent.isGroupActivator && parent.root.unregister(computedId.value)\n })\n\n isGroup && provide(VNestedSymbol, item)\n\n return item\n}\n\nexport const useNestedGroupActivator = () => {\n const parent = inject(VNestedSymbol, emptyNested)\n\n provide(VNestedSymbol, { ...parent, isGroupActivator: true })\n}\n"],"mappings":"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"}
@@ -1,49 +1,76 @@
1
- export const singleOpenStrategy = _ref => {
2
- let {
3
- id,
4
- value,
5
- opened,
6
- parents
7
- } = _ref;
8
-
9
- if (value) {
10
- const newOpened = new Set();
11
- newOpened.add(id);
12
- let parent = parents.get(id);
1
+ export const singleOpenStrategy = {
2
+ open: _ref => {
3
+ let {
4
+ id,
5
+ value,
6
+ opened,
7
+ parents
8
+ } = _ref;
13
9
 
14
- while (parent != null) {
15
- newOpened.add(parent);
16
- parent = parents.get(parent);
10
+ if (value) {
11
+ const newOpened = new Set();
12
+ newOpened.add(id);
13
+ let parent = parents.get(id);
14
+
15
+ while (parent != null) {
16
+ newOpened.add(parent);
17
+ parent = parents.get(parent);
18
+ }
19
+
20
+ return newOpened;
21
+ } else {
22
+ opened.delete(id);
23
+ return opened;
24
+ }
25
+ },
26
+ select: () => null
27
+ };
28
+ export const multipleOpenStrategy = {
29
+ open: _ref2 => {
30
+ let {
31
+ id,
32
+ value,
33
+ opened,
34
+ parents
35
+ } = _ref2;
36
+
37
+ if (value) {
38
+ let parent = parents.get(id);
39
+ opened.add(id);
40
+
41
+ while (parent != null && parent !== id) {
42
+ opened.add(parent);
43
+ parent = parents.get(parent);
44
+ }
45
+
46
+ return opened;
47
+ } else {
48
+ opened.delete(id);
17
49
  }
18
50
 
19
- return newOpened;
20
- } else {
21
- opened.delete(id);
22
51
  return opened;
23
- }
52
+ },
53
+ select: () => null
24
54
  };
25
- export const multipleOpenStrategy = _ref2 => {
26
- let {
27
- id,
28
- value,
29
- opened,
30
- parents
31
- } = _ref2;
32
-
33
- if (value) {
55
+ export const listOpenStrategy = {
56
+ open: multipleOpenStrategy.open,
57
+ select: _ref3 => {
58
+ let {
59
+ id,
60
+ value,
61
+ opened,
62
+ parents
63
+ } = _ref3;
64
+ if (!value) return opened;
65
+ const path = [];
34
66
  let parent = parents.get(id);
35
- opened.add(id);
36
67
 
37
- while (parent != null && parent !== id) {
38
- opened.add(parent);
68
+ while (parent != null) {
69
+ path.push(parent);
39
70
  parent = parents.get(parent);
40
71
  }
41
72
 
42
- return opened;
43
- } else {
44
- opened.delete(id);
73
+ return new Set(path);
45
74
  }
46
-
47
- return opened;
48
75
  };
49
76
  //# sourceMappingURL=openStrategies.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/composables/nested/openStrategies.ts"],"names":["singleOpenStrategy","id","value","opened","parents","newOpened","Set","add","parent","get","delete","multipleOpenStrategy"],"mappings":"AASA,OAAO,MAAMA,kBAAkC,GAAG,QAAoC;AAAA,MAAnC;AAAEC,IAAAA,EAAF;AAAMC,IAAAA,KAAN;AAAaC,IAAAA,MAAb;AAAqBC,IAAAA;AAArB,GAAmC;;AACpF,MAAIF,KAAJ,EAAW;AACT,UAAMG,SAAS,GAAG,IAAIC,GAAJ,EAAlB;AACAD,IAAAA,SAAS,CAACE,GAAV,CAAcN,EAAd;AAEA,QAAIO,MAAM,GAAGJ,OAAO,CAACK,GAAR,CAAYR,EAAZ,CAAb;;AAEA,WAAOO,MAAM,IAAI,IAAjB,EAAuB;AACrBH,MAAAA,SAAS,CAACE,GAAV,CAAcC,MAAd;AACAA,MAAAA,MAAM,GAAGJ,OAAO,CAACK,GAAR,CAAYD,MAAZ,CAAT;AACD;;AAED,WAAOH,SAAP;AACD,GAZD,MAYO;AACLF,IAAAA,MAAM,CAACO,MAAP,CAAcT,EAAd;AACA,WAAOE,MAAP;AACD;AACF,CAjBM;AAmBP,OAAO,MAAMQ,oBAAoC,GAAG,SAAoC;AAAA,MAAnC;AAAEV,IAAAA,EAAF;AAAMC,IAAAA,KAAN;AAAaC,IAAAA,MAAb;AAAqBC,IAAAA;AAArB,GAAmC;;AACtF,MAAIF,KAAJ,EAAW;AACT,QAAIM,MAAM,GAAGJ,OAAO,CAACK,GAAR,CAAYR,EAAZ,CAAb;AACAE,IAAAA,MAAM,CAACI,GAAP,CAAWN,EAAX;;AAEA,WAAOO,MAAM,IAAI,IAAV,IAAkBA,MAAM,KAAKP,EAApC,EAAwC;AACtCE,MAAAA,MAAM,CAACI,GAAP,CAAWC,MAAX;AACAA,MAAAA,MAAM,GAAGJ,OAAO,CAACK,GAAR,CAAYD,MAAZ,CAAT;AACD;;AAED,WAAOL,MAAP;AACD,GAVD,MAUO;AACLA,IAAAA,MAAM,CAACO,MAAP,CAAcT,EAAd;AACD;;AACD,SAAOE,MAAP;AACD,CAfM","sourcesContent":["export type OpenStrategyFn = (data: {\n id: string\n value: boolean\n opened: Set<string>\n children: Map<string, string[]>\n parents: Map<string, string>\n event?: Event\n}) => Set<string>\n\nexport const singleOpenStrategy: OpenStrategyFn = ({ id, value, opened, parents }) => {\n if (value) {\n const newOpened = new Set<string>()\n newOpened.add(id)\n\n let parent = parents.get(id)\n\n while (parent != null) {\n newOpened.add(parent)\n parent = parents.get(parent)\n }\n\n return newOpened\n } else {\n opened.delete(id)\n return opened\n }\n}\n\nexport const multipleOpenStrategy: OpenStrategyFn = ({ id, value, opened, parents }) => {\n if (value) {\n let parent = parents.get(id)\n opened.add(id)\n\n while (parent != null && parent !== id) {\n opened.add(parent)\n parent = parents.get(parent)\n }\n\n return opened\n } else {\n opened.delete(id)\n }\n return opened\n}\n"],"file":"openStrategies.mjs"}
1
+ {"version":3,"file":"openStrategies.mjs","names":["singleOpenStrategy","open","id","value","opened","parents","newOpened","Set","add","parent","get","delete","select","multipleOpenStrategy","listOpenStrategy","path","push"],"sources":["../../../src/composables/nested/openStrategies.ts"],"sourcesContent":["export type OpenStrategyFn = (data: {\n id: string\n value: boolean\n opened: Set<string>\n children: Map<string, string[]>\n parents: Map<string, string>\n event?: Event\n}) => Set<string>\n\nexport type OpenSelectStrategyFn = (data: {\n id: string\n value: boolean\n opened: Set<string>\n selected: Map<string, 'on' | 'off' | 'indeterminate'>\n children: Map<string, string[]>\n parents: Map<string, string>\n event?: Event\n}) => Set<string> | null\n\nexport type OpenStrategy = {\n open: OpenStrategyFn\n select: OpenSelectStrategyFn\n}\n\nexport const singleOpenStrategy: OpenStrategy = {\n open: ({ id, value, opened, parents }) => {\n if (value) {\n const newOpened = new Set<string>()\n newOpened.add(id)\n\n let parent = parents.get(id)\n\n while (parent != null) {\n newOpened.add(parent)\n parent = parents.get(parent)\n }\n\n return newOpened\n } else {\n opened.delete(id)\n return opened\n }\n },\n select: () => null,\n}\n\nexport const multipleOpenStrategy: OpenStrategy = {\n open: ({ id, value, opened, parents }) => {\n if (value) {\n let parent = parents.get(id)\n opened.add(id)\n\n while (parent != null && parent !== id) {\n opened.add(parent)\n parent = parents.get(parent)\n }\n\n return opened\n } else {\n opened.delete(id)\n }\n return opened\n },\n select: () => null,\n}\n\nexport const listOpenStrategy: OpenStrategy = {\n open: multipleOpenStrategy.open,\n select: ({ id, value, opened, parents }) => {\n if (!value) return opened\n\n const path: string[] = []\n\n let parent = parents.get(id)\n\n while (parent != null) {\n path.push(parent)\n parent = parents.get(parent)\n }\n\n return new Set(path)\n },\n}\n"],"mappings":"AAwBA,OAAO,MAAMA,kBAAgC,GAAG;EAC9CC,IAAI,EAAE,QAAoC;IAAA,IAAnC;MAAEC,EAAF;MAAMC,KAAN;MAAaC,MAAb;MAAqBC;IAArB,CAAmC;;IACxC,IAAIF,KAAJ,EAAW;MACT,MAAMG,SAAS,GAAG,IAAIC,GAAJ,EAAlB;MACAD,SAAS,CAACE,GAAV,CAAcN,EAAd;MAEA,IAAIO,MAAM,GAAGJ,OAAO,CAACK,GAAR,CAAYR,EAAZ,CAAb;;MAEA,OAAOO,MAAM,IAAI,IAAjB,EAAuB;QACrBH,SAAS,CAACE,GAAV,CAAcC,MAAd;QACAA,MAAM,GAAGJ,OAAO,CAACK,GAAR,CAAYD,MAAZ,CAAT;MACD;;MAED,OAAOH,SAAP;IACD,CAZD,MAYO;MACLF,MAAM,CAACO,MAAP,CAAcT,EAAd;MACA,OAAOE,MAAP;IACD;EACF,CAlB6C;EAmB9CQ,MAAM,EAAE,MAAM;AAnBgC,CAAzC;AAsBP,OAAO,MAAMC,oBAAkC,GAAG;EAChDZ,IAAI,EAAE,SAAoC;IAAA,IAAnC;MAAEC,EAAF;MAAMC,KAAN;MAAaC,MAAb;MAAqBC;IAArB,CAAmC;;IACxC,IAAIF,KAAJ,EAAW;MACT,IAAIM,MAAM,GAAGJ,OAAO,CAACK,GAAR,CAAYR,EAAZ,CAAb;MACAE,MAAM,CAACI,GAAP,CAAWN,EAAX;;MAEA,OAAOO,MAAM,IAAI,IAAV,IAAkBA,MAAM,KAAKP,EAApC,EAAwC;QACtCE,MAAM,CAACI,GAAP,CAAWC,MAAX;QACAA,MAAM,GAAGJ,OAAO,CAACK,GAAR,CAAYD,MAAZ,CAAT;MACD;;MAED,OAAOL,MAAP;IACD,CAVD,MAUO;MACLA,MAAM,CAACO,MAAP,CAAcT,EAAd;IACD;;IACD,OAAOE,MAAP;EACD,CAhB+C;EAiBhDQ,MAAM,EAAE,MAAM;AAjBkC,CAA3C;AAoBP,OAAO,MAAME,gBAA8B,GAAG;EAC5Cb,IAAI,EAAEY,oBAAoB,CAACZ,IADiB;EAE5CW,MAAM,EAAE,SAAoC;IAAA,IAAnC;MAAEV,EAAF;MAAMC,KAAN;MAAaC,MAAb;MAAqBC;IAArB,CAAmC;IAC1C,IAAI,CAACF,KAAL,EAAY,OAAOC,MAAP;IAEZ,MAAMW,IAAc,GAAG,EAAvB;IAEA,IAAIN,MAAM,GAAGJ,OAAO,CAACK,GAAR,CAAYR,EAAZ,CAAb;;IAEA,OAAOO,MAAM,IAAI,IAAjB,EAAuB;MACrBM,IAAI,CAACC,IAAL,CAAUP,MAAV;MACAA,MAAM,GAAGJ,OAAO,CAACK,GAAR,CAAYD,MAAZ,CAAT;IACD;;IAED,OAAO,IAAIF,GAAJ,CAAQQ,IAAR,CAAP;EACD;AAf2C,CAAvC"}
@@ -1,87 +1,30 @@
1
- export const independentSelectStrategy = {
2
- select: _ref => {
3
- let {
4
- id,
5
- value,
6
- mandatory,
7
- selected
8
- } = _ref;
9
- selected.set(id, value ? 'on' : mandatory && !Array.from(selected.entries()).find(_ref2 => {
10
- let [key, value] = _ref2;
11
- return value === 'on' && key !== id;
12
- }) ? 'on' : 'off');
13
- return selected;
14
- },
15
- in: (v, children, parents) => {
16
- let map = new Map();
17
-
18
- for (const id of v || []) {
19
- map = independentSelectStrategy.select({
20
- id,
21
- value: true,
22
- selected: new Map(map),
23
- children,
24
- parents
25
- });
26
- }
27
-
28
- return map;
29
- },
30
- out: v => {
31
- const arr = [];
32
-
33
- for (const [key, value] of v.entries()) {
34
- if (value === 'on') arr.push(key);
35
- }
36
-
37
- return arr;
38
- }
39
- };
40
- export const independentSingleSelectStrategy = {
41
- select: _ref3 => {
42
- let {
43
- id,
44
- value,
45
- ...rest
46
- } = _ref3;
47
- return independentSelectStrategy.select({ ...rest,
48
- id,
49
- value,
50
- selected: new Map()
51
- });
52
- },
53
- in: (v, children, parents) => {
54
- let map = new Map();
55
-
56
- if (v != null && v.length) {
57
- map = independentSelectStrategy.in(v.slice(0, 1), children, parents);
58
- }
59
-
60
- return map;
61
- },
62
- out: (v, children, parents) => {
63
- return independentSelectStrategy.out(v, children, parents);
64
- }
65
- };
66
- export const leafSelectStrategy = function () {
67
- let single = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
1
+ /* eslint-disable sonarjs/no-identical-functions */
2
+ export const independentSelectStrategy = mandatory => {
68
3
  const strategy = {
69
- select: _ref4 => {
4
+ select: _ref => {
70
5
  let {
71
6
  id,
72
7
  value,
73
- selected,
74
- children
75
- } = _ref4;
76
- if (children.has(id)) return selected;
77
- if (single) return new Map([[id, value ? 'on' : 'off']]);
8
+ selected
9
+ } = _ref;
10
+
11
+ // When mandatory and we're trying to deselect when id
12
+ // is the only currently selected item then do nothing
13
+ if (mandatory && !value) {
14
+ const on = Array.from(selected.entries()).reduce((arr, _ref2) => {
15
+ let [key, value] = _ref2;
16
+ return value === 'on' ? [...arr, key] : arr;
17
+ }, []);
18
+ if (on.length === 1 && on[0] === id) return selected;
19
+ }
20
+
78
21
  selected.set(id, value ? 'on' : 'off');
79
22
  return selected;
80
23
  },
81
24
  in: (v, children, parents) => {
82
25
  let map = new Map();
83
26
 
84
- for (const id of v != null ? v : []) {
27
+ for (const id of v || []) {
85
28
  map = strategy.select({
86
29
  id,
87
30
  value: true,
@@ -93,65 +36,163 @@ export const leafSelectStrategy = function () {
93
36
 
94
37
  return map;
95
38
  },
96
- out: independentSelectStrategy.out
39
+ out: v => {
40
+ const arr = [];
41
+
42
+ for (const [key, value] of v.entries()) {
43
+ if (value === 'on') arr.push(key);
44
+ }
45
+
46
+ return arr;
47
+ }
97
48
  };
98
49
  return strategy;
99
50
  };
100
- export const classicSelectStrategy = {
101
- select: _ref5 => {
102
- let {
103
- id,
104
- value,
105
- selected,
106
- children,
107
- parents
108
- } = _ref5;
109
- const items = [id];
110
-
111
- while (items.length) {
112
- const item = items.shift();
113
- selected.set(item, value ? 'on' : 'off');
114
-
115
- if (children.has(item)) {
116
- items.push(...children.get(item));
117
- }
118
- }
51
+ export const independentSingleSelectStrategy = mandatory => {
52
+ const parentStrategy = independentSelectStrategy(mandatory);
53
+ const strategy = {
54
+ select: _ref3 => {
55
+ let {
56
+ selected,
57
+ id,
58
+ ...rest
59
+ } = _ref3;
60
+ const singleSelected = selected.has(id) ? new Map([[id, selected.get(id)]]) : new Map();
61
+ return parentStrategy.select({ ...rest,
62
+ id,
63
+ selected: singleSelected
64
+ });
65
+ },
66
+ in: (v, children, parents) => {
67
+ let map = new Map();
119
68
 
120
- let parent = parents.get(id);
69
+ if (v != null && v.length) {
70
+ map = parentStrategy.in(v.slice(0, 1), children, parents);
71
+ }
121
72
 
122
- while (parent) {
123
- const childrenIds = children.get(parent);
124
- const everySelected = childrenIds.every(cid => selected.get(cid) === 'on');
125
- const noneSelected = childrenIds.every(cid => !selected.has(cid) || selected.get(cid) === 'off');
126
- selected.set(parent, everySelected ? 'on' : noneSelected ? 'off' : 'indeterminate');
127
- parent = parents.get(parent);
73
+ return map;
74
+ },
75
+ out: (v, children, parents) => {
76
+ return parentStrategy.out(v, children, parents);
128
77
  }
129
-
130
- return selected;
131
- },
132
- in: (v, children, parents) => {
133
- let map = new Map();
134
-
135
- for (const id of v || []) {
136
- map = classicSelectStrategy.select({
78
+ };
79
+ return strategy;
80
+ };
81
+ export const leafSelectStrategy = mandatory => {
82
+ const parentStrategy = independentSelectStrategy(mandatory);
83
+ const strategy = {
84
+ select: _ref4 => {
85
+ let {
137
86
  id,
138
- value: true,
139
- selected: new Map(map),
87
+ selected,
140
88
  children,
141
- parents
89
+ ...rest
90
+ } = _ref4;
91
+ if (children.has(id)) return selected;
92
+ return parentStrategy.select({
93
+ id,
94
+ selected,
95
+ children,
96
+ ...rest
142
97
  });
143
- }
98
+ },
99
+ in: parentStrategy.in,
100
+ out: parentStrategy.out
101
+ };
102
+ return strategy;
103
+ };
104
+ export const leafSingleSelectStrategy = mandatory => {
105
+ const parentStrategy = independentSingleSelectStrategy(mandatory);
106
+ const strategy = {
107
+ select: _ref5 => {
108
+ let {
109
+ id,
110
+ selected,
111
+ children,
112
+ ...rest
113
+ } = _ref5;
114
+ if (children.has(id)) return selected;
115
+ return parentStrategy.select({
116
+ id,
117
+ selected,
118
+ children,
119
+ ...rest
120
+ });
121
+ },
122
+ in: parentStrategy.in,
123
+ out: parentStrategy.out
124
+ };
125
+ return strategy;
126
+ };
127
+ export const classicSelectStrategy = mandatory => {
128
+ const strategy = {
129
+ select: _ref6 => {
130
+ let {
131
+ id,
132
+ value,
133
+ selected,
134
+ children,
135
+ parents
136
+ } = _ref6;
137
+ const original = new Map(selected);
138
+ const items = [id];
144
139
 
145
- return map;
146
- },
147
- out: (v, children) => {
148
- const arr = [];
140
+ while (items.length) {
141
+ const item = items.shift();
142
+ selected.set(item, value ? 'on' : 'off');
149
143
 
150
- for (const [key, value] of v.entries()) {
151
- if (value === 'on' && !children.has(key)) arr.push(key);
152
- }
144
+ if (children.has(item)) {
145
+ items.push(...children.get(item));
146
+ }
147
+ }
148
+
149
+ let parent = parents.get(id);
153
150
 
154
- return arr;
155
- }
151
+ while (parent) {
152
+ const childrenIds = children.get(parent);
153
+ const everySelected = childrenIds.every(cid => selected.get(cid) === 'on');
154
+ const noneSelected = childrenIds.every(cid => !selected.has(cid) || selected.get(cid) === 'off');
155
+ selected.set(parent, everySelected ? 'on' : noneSelected ? 'off' : 'indeterminate');
156
+ parent = parents.get(parent);
157
+ } // If mandatory and planned deselect results in no selected
158
+ // items then we can't do it, so return original state
159
+
160
+
161
+ if (mandatory && !value) {
162
+ const on = Array.from(selected.entries()).reduce((arr, _ref7) => {
163
+ let [key, value] = _ref7;
164
+ return value === 'on' ? [...arr, key] : arr;
165
+ }, []);
166
+ if (on.length === 0) return original;
167
+ }
168
+
169
+ return selected;
170
+ },
171
+ in: (v, children, parents) => {
172
+ let map = new Map();
173
+
174
+ for (const id of v || []) {
175
+ map = strategy.select({
176
+ id,
177
+ value: true,
178
+ selected: new Map(map),
179
+ children,
180
+ parents
181
+ });
182
+ }
183
+
184
+ return map;
185
+ },
186
+ out: (v, children) => {
187
+ const arr = [];
188
+
189
+ for (const [key, value] of v.entries()) {
190
+ if (value === 'on' && !children.has(key)) arr.push(key);
191
+ }
192
+
193
+ return arr;
194
+ }
195
+ };
196
+ return strategy;
156
197
  };
157
198
  //# sourceMappingURL=selectStrategies.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/composables/nested/selectStrategies.ts"],"names":["independentSelectStrategy","select","id","value","mandatory","selected","set","Array","from","entries","find","key","in","v","children","parents","map","Map","out","arr","push","independentSingleSelectStrategy","rest","length","slice","leafSelectStrategy","single","strategy","has","classicSelectStrategy","items","item","shift","get","parent","childrenIds","everySelected","every","cid","noneSelected"],"mappings":"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","sourcesContent":["export type SelectStrategyFn = (data: {\n id: string\n value: boolean\n selected: Map<string, 'on' | 'off' | 'indeterminate'>\n children: Map<string, string[]>\n parents: Map<string, string>\n event?: Event\n mandatory?: boolean\n}) => Map<string, 'on' | 'off' | 'indeterminate'>\n\nexport type SelectStrategyTransformInFn = (\n v: string[] | undefined,\n children: Map<string, string[]>,\n parents: Map<string, string>\n) => Map<string, 'on' | 'off' | 'indeterminate'>\n\nexport type SelectStrategyTransformOutFn = (\n v: Map<string, 'on' | 'off' | 'indeterminate'>,\n children: Map<string, string[]>,\n parents: Map<string, string>\n) => any[]\n\nexport type SelectStrategy = {\n select: SelectStrategyFn\n in: SelectStrategyTransformInFn\n out: SelectStrategyTransformOutFn\n}\n\nexport const independentSelectStrategy: SelectStrategy = {\n select: ({ id, value, mandatory, selected }) => {\n selected.set(id, value ? 'on' : (\n mandatory &&\n !Array.from(selected.entries()).find(([key, value]) => value === 'on' && key !== id)\n ) ? 'on' : 'off')\n\n return selected\n },\n in: (v, children, parents) => {\n let map = new Map()\n\n for (const id of (v || [])) {\n map = independentSelectStrategy.select({\n id,\n value: true,\n selected: new Map(map),\n children,\n parents,\n })\n }\n\n return map\n },\n out: v => {\n const arr = []\n\n for (const [key, value] of v.entries()) {\n if (value === 'on') arr.push(key)\n }\n\n return arr\n },\n}\n\nexport const independentSingleSelectStrategy: SelectStrategy = {\n select: ({ id, value, ...rest }) => {\n return independentSelectStrategy.select({ ...rest, id, value, selected: new Map() })\n },\n in: (v, children, parents) => {\n let map = new Map()\n\n if (v?.length) {\n map = independentSelectStrategy.in(v.slice(0, 1), children, parents)\n }\n\n return map\n },\n out: (v, children, parents) => {\n return independentSelectStrategy.out(v, children, parents)\n },\n}\n\nexport const leafSelectStrategy = (single = false): SelectStrategy => {\n const strategy: SelectStrategy = {\n select: ({ id, value, selected, children }) => {\n if (children.has(id)) return selected\n\n if (single) return new Map([[id, value ? 'on' : 'off']])\n\n selected.set(id, value ? 'on' : 'off')\n\n return selected\n },\n in: (v, children, parents) => {\n let map = new Map()\n\n for (const id of (v ?? [])) {\n map = strategy.select({\n id,\n value: true,\n selected: new Map(map),\n children,\n parents,\n })\n }\n\n return map\n },\n out: independentSelectStrategy.out,\n }\n\n return strategy\n}\n\nexport const classicSelectStrategy: SelectStrategy = {\n select: ({ id, value, selected, children, parents }) => {\n const items = [id]\n\n while (items.length) {\n const item = items.shift()!\n\n selected.set(item, value ? 'on' : 'off')\n\n if (children.has(item)) {\n items.push(...children.get(item)!)\n }\n }\n\n let parent = parents.get(id)\n\n while (parent) {\n const childrenIds = children.get(parent)!\n const everySelected = childrenIds.every(cid => selected.get(cid) === 'on')\n const noneSelected = childrenIds.every(cid => !selected.has(cid) || selected.get(cid) === 'off')\n\n selected.set(parent, everySelected ? 'on' : noneSelected ? 'off' : 'indeterminate')\n\n parent = parents.get(parent)\n }\n\n return selected\n },\n in: (v, children, parents) => {\n let map = new Map()\n\n for (const id of (v || [])) {\n map = classicSelectStrategy.select({\n id,\n value: true,\n selected: new Map(map),\n children,\n parents,\n })\n }\n\n return map\n },\n out: (v, children) => {\n const arr = []\n\n for (const [key, value] of v.entries()) {\n if (value === 'on' && !children.has(key)) arr.push(key)\n }\n\n return arr\n },\n}\n"],"file":"selectStrategies.mjs"}
1
+ {"version":3,"file":"selectStrategies.mjs","names":["independentSelectStrategy","mandatory","strategy","select","id","value","selected","on","Array","from","entries","reduce","arr","key","length","set","in","v","children","parents","map","Map","out","push","independentSingleSelectStrategy","parentStrategy","rest","singleSelected","has","get","slice","leafSelectStrategy","leafSingleSelectStrategy","classicSelectStrategy","original","items","item","shift","parent","childrenIds","everySelected","every","cid","noneSelected"],"sources":["../../../src/composables/nested/selectStrategies.ts"],"sourcesContent":["/* eslint-disable sonarjs/no-identical-functions */\nexport type SelectStrategyFn = (data: {\n id: string\n value: boolean\n selected: Map<string, 'on' | 'off' | 'indeterminate'>\n children: Map<string, string[]>\n parents: Map<string, string>\n event?: Event\n}) => Map<string, 'on' | 'off' | 'indeterminate'>\n\nexport type SelectStrategyTransformInFn = (\n v: string[] | undefined,\n children: Map<string, string[]>,\n parents: Map<string, string>,\n) => Map<string, 'on' | 'off' | 'indeterminate'>\n\nexport type SelectStrategyTransformOutFn = (\n v: Map<string, 'on' | 'off' | 'indeterminate'>,\n children: Map<string, string[]>,\n parents: Map<string, string>,\n) => any[]\n\nexport type SelectStrategy = {\n select: SelectStrategyFn\n in: SelectStrategyTransformInFn\n out: SelectStrategyTransformOutFn\n}\n\nexport const independentSelectStrategy = (mandatory?: boolean): SelectStrategy => {\n const strategy: SelectStrategy = {\n select: ({ id, value, selected }) => {\n // When mandatory and we're trying to deselect when id\n // is the only currently selected item then do nothing\n if (mandatory && !value) {\n const on = Array.from(selected.entries()).reduce((arr, [key, value]) => value === 'on' ? [...arr, key] : arr, [] as string[])\n if (on.length === 1 && on[0] === id) return selected\n }\n\n selected.set(id, value ? 'on' : 'off')\n\n return selected\n },\n in: (v, children, parents) => {\n let map = new Map()\n\n for (const id of (v || [])) {\n map = strategy.select({\n id,\n value: true,\n selected: new Map(map),\n children,\n parents,\n })\n }\n\n return map\n },\n out: v => {\n const arr = []\n\n for (const [key, value] of v.entries()) {\n if (value === 'on') arr.push(key)\n }\n\n return arr\n },\n }\n\n return strategy\n}\n\nexport const independentSingleSelectStrategy = (mandatory?: boolean): SelectStrategy => {\n const parentStrategy = independentSelectStrategy(mandatory)\n\n const strategy: SelectStrategy = {\n select: ({ selected, id, ...rest }) => {\n const singleSelected = selected.has(id) ? new Map([[id, selected.get(id)!]]) : new Map()\n return parentStrategy.select({ ...rest, id, selected: singleSelected })\n },\n in: (v, children, parents) => {\n let map = new Map()\n\n if (v?.length) {\n map = parentStrategy.in(v.slice(0, 1), children, parents)\n }\n\n return map\n },\n out: (v, children, parents) => {\n return parentStrategy.out(v, children, parents)\n },\n }\n\n return strategy\n}\n\nexport const leafSelectStrategy = (mandatory?: boolean): SelectStrategy => {\n const parentStrategy = independentSelectStrategy(mandatory)\n\n const strategy: SelectStrategy = {\n select: ({ id, selected, children, ...rest }) => {\n if (children.has(id)) return selected\n\n return parentStrategy.select({ id, selected, children, ...rest })\n },\n in: parentStrategy.in,\n out: parentStrategy.out,\n }\n\n return strategy\n}\n\nexport const leafSingleSelectStrategy = (mandatory?: boolean): SelectStrategy => {\n const parentStrategy = independentSingleSelectStrategy(mandatory)\n\n const strategy: SelectStrategy = {\n select: ({ id, selected, children, ...rest }) => {\n if (children.has(id)) return selected\n\n return parentStrategy.select({ id, selected, children, ...rest })\n },\n in: parentStrategy.in,\n out: parentStrategy.out,\n }\n\n return strategy\n}\n\nexport const classicSelectStrategy = (mandatory?: boolean): SelectStrategy => {\n const strategy: SelectStrategy = {\n select: ({ id, value, selected, children, parents }) => {\n const original = new Map(selected)\n\n const items = [id]\n\n while (items.length) {\n const item = items.shift()!\n\n selected.set(item, value ? 'on' : 'off')\n\n if (children.has(item)) {\n items.push(...children.get(item)!)\n }\n }\n\n let parent = parents.get(id)\n\n while (parent) {\n const childrenIds = children.get(parent)!\n const everySelected = childrenIds.every(cid => selected.get(cid) === 'on')\n const noneSelected = childrenIds.every(cid => !selected.has(cid) || selected.get(cid) === 'off')\n\n selected.set(parent, everySelected ? 'on' : noneSelected ? 'off' : 'indeterminate')\n\n parent = parents.get(parent)\n }\n\n // If mandatory and planned deselect results in no selected\n // items then we can't do it, so return original state\n if (mandatory && !value) {\n const on = Array.from(selected.entries()).reduce((arr, [key, value]) => value === 'on' ? [...arr, key] : arr, [] as string[])\n if (on.length === 0) return original\n }\n\n return selected\n },\n in: (v, children, parents) => {\n let map = new Map()\n\n for (const id of (v || [])) {\n map = strategy.select({\n id,\n value: true,\n selected: new Map(map),\n children,\n parents,\n })\n }\n\n return map\n },\n out: (v, children) => {\n const arr = []\n\n for (const [key, value] of v.entries()) {\n if (value === 'on' && !children.has(key)) arr.push(key)\n }\n\n return arr\n },\n }\n\n return strategy\n}\n"],"mappings":"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"}
@@ -1,45 +1,24 @@
1
1
  // Utilities
2
2
  import { computed } from 'vue';
3
- import { convertToUnit, getCurrentInstanceName, propsFactory } from "../util/index.mjs"; // Types
3
+ import { getCurrentInstanceName, propsFactory } from "../util/index.mjs"; // Types
4
4
 
5
5
  const positionValues = ['static', 'relative', 'fixed', 'absolute', 'sticky'];
6
6
  // Composables
7
7
  export const makePositionProps = propsFactory({
8
- absolute: Boolean,
9
- bottom: [Boolean, Number, String],
10
- fixed: Boolean,
11
- left: [Boolean, Number, String],
12
8
  position: {
13
9
  type: String,
14
10
  validator:
15
11
  /* istanbul ignore next */
16
12
  v => positionValues.includes(v)
17
- },
18
- right: [Boolean, Number, String],
19
- top: [Boolean, Number, String]
13
+ }
20
14
  }, 'position');
21
15
  export function usePosition(props) {
22
16
  let name = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : getCurrentInstanceName();
23
- const targets = ['top', 'right', 'bottom', 'left'];
24
17
  const positionClasses = computed(() => {
25
- if (props.fixed) return `${name}--fixed`;
26
- if (props.absolute) return `${name}--absolute`;
27
- return props.position ? `position-${props.position}` : undefined;
28
- });
29
- const positionStyles = computed(() => {
30
- const styles = {};
31
-
32
- for (const target of targets) {
33
- const prop = props[target];
34
- if (prop == null || prop === false) continue;
35
- styles[target] = convertToUnit(prop === true ? '0' : String(prop));
36
- }
37
-
38
- return styles;
18
+ return props.position ? `${name}--${props.position}` : undefined;
39
19
  });
40
20
  return {
41
- positionClasses,
42
- positionStyles
21
+ positionClasses
43
22
  };
44
23
  }
45
24
  //# sourceMappingURL=position.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/composables/position.ts"],"names":["computed","convertToUnit","getCurrentInstanceName","propsFactory","positionValues","makePositionProps","absolute","Boolean","bottom","Number","String","fixed","left","position","type","validator","v","includes","right","top","usePosition","props","name","targets","positionClasses","undefined","positionStyles","styles","target","prop"],"mappings":"AAAA;AACA,SAASA,QAAT,QAAyB,KAAzB;SACSC,a,EAAeC,sB,EAAwBC,Y,6BAEhD;;AAGA,MAAMC,cAAc,GAAG,CAAC,QAAD,EAAW,UAAX,EAAuB,OAAvB,EAAgC,UAAhC,EAA4C,QAA5C,CAAvB;AAcA;AACA,OAAO,MAAMC,iBAAiB,GAAGF,YAAY,CAAC;AAC5CG,EAAAA,QAAQ,EAAEC,OADkC;AAE5CC,EAAAA,MAAM,EAAE,CAACD,OAAD,EAAUE,MAAV,EAAkBC,MAAlB,CAFoC;AAG5CC,EAAAA,KAAK,EAAEJ,OAHqC;AAI5CK,EAAAA,IAAI,EAAE,CAACL,OAAD,EAAUE,MAAV,EAAkBC,MAAlB,CAJsC;AAK5CG,EAAAA,QAAQ,EAAE;AACRC,IAAAA,IAAI,EAAEJ,MADE;AAERK,IAAAA,SAAS;AAAE;AAA4BC,IAAAA,CAAD,IAAYZ,cAAc,CAACa,QAAf,CAAwBD,CAAxB;AAF1C,GALkC;AAS5CE,EAAAA,KAAK,EAAE,CAACX,OAAD,EAAUE,MAAV,EAAkBC,MAAlB,CATqC;AAU5CS,EAAAA,GAAG,EAAE,CAACZ,OAAD,EAAUE,MAAV,EAAkBC,MAAlB;AAVuC,CAAD,EAW1C,UAX0C,CAAtC;AAaP,OAAO,SAASU,WAAT,CACLC,KADK,EAGL;AAAA,MADAC,IACA,uEADOpB,sBAAsB,EAC7B;AACA,QAAMqB,OAAO,GAAG,CAAC,KAAD,EAAQ,OAAR,EAAiB,QAAjB,EAA2B,MAA3B,CAAhB;AAEA,QAAMC,eAAe,GAAGxB,QAAQ,CAAC,MAAM;AACrC,QAAIqB,KAAK,CAACV,KAAV,EAAiB,OAAQ,GAAEW,IAAK,SAAf;AACjB,QAAID,KAAK,CAACf,QAAV,EAAoB,OAAQ,GAAEgB,IAAK,YAAf;AAEpB,WAAOD,KAAK,CAACR,QAAN,GAAkB,YAAWQ,KAAK,CAACR,QAAS,EAA5C,GAAgDY,SAAvD;AACD,GAL+B,CAAhC;AAOA,QAAMC,cAAc,GAAG1B,QAAQ,CAAC,MAAM;AACpC,UAAM2B,MAAuD,GAAG,EAAhE;;AAEA,SAAK,MAAMC,MAAX,IAAqBL,OAArB,EAA8B;AAC5B,YAAMM,IAAI,GAAGR,KAAK,CAACO,MAAD,CAAlB;AAEA,UAAIC,IAAI,IAAI,IAAR,IAAgBA,IAAI,KAAK,KAA7B,EAAoC;AAEpCF,MAAAA,MAAM,CAACC,MAAD,CAAN,GAAiB3B,aAAa,CAAC4B,IAAI,KAAK,IAAT,GAAgB,GAAhB,GAAsBnB,MAAM,CAACmB,IAAD,CAA7B,CAA9B;AACD;;AAED,WAAOF,MAAP;AACD,GAZ8B,CAA/B;AAcA,SAAO;AAAEH,IAAAA,eAAF;AAAmBE,IAAAA;AAAnB,GAAP;AACD","sourcesContent":["// Utilities\nimport { computed } from 'vue'\nimport { convertToUnit, getCurrentInstanceName, propsFactory } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\nconst positionValues = ['static', 'relative', 'fixed', 'absolute', 'sticky'] as const\n\ntype Position = typeof positionValues[number]\n\nexport interface PositionProps {\n absolute?: boolean\n bottom?: boolean | number | string\n fixed?: boolean\n left?: boolean | number | string\n position?: Position\n right?: boolean | number | string\n top?: boolean | number | string\n}\n\n// Composables\nexport const makePositionProps = propsFactory({\n absolute: Boolean,\n bottom: [Boolean, Number, String],\n fixed: Boolean,\n left: [Boolean, Number, String],\n position: {\n type: String as PropType<Position>,\n validator: /* istanbul ignore next */ (v: any) => positionValues.includes(v),\n },\n right: [Boolean, Number, String],\n top: [Boolean, Number, String],\n}, 'position')\n\nexport function usePosition (\n props: PositionProps,\n name = getCurrentInstanceName(),\n) {\n const targets = ['top', 'right', 'bottom', 'left'] as const\n\n const positionClasses = computed(() => {\n if (props.fixed) return `${name}--fixed`\n if (props.absolute) return `${name}--absolute`\n\n return props.position ? `position-${props.position}` : undefined\n })\n\n const positionStyles = computed(() => {\n const styles: Partial<Record<typeof targets[number], string>> = {}\n\n for (const target of targets) {\n const prop = props[target]\n\n if (prop == null || prop === false) continue\n\n styles[target] = convertToUnit(prop === true ? '0' : String(prop))\n }\n\n return styles\n })\n\n return { positionClasses, positionStyles }\n}\n"],"file":"position.mjs"}
1
+ {"version":3,"file":"position.mjs","names":["computed","getCurrentInstanceName","propsFactory","positionValues","makePositionProps","position","type","String","validator","v","includes","usePosition","props","name","positionClasses","undefined"],"sources":["../../src/composables/position.ts"],"sourcesContent":["// Utilities\nimport { computed } from 'vue'\nimport { getCurrentInstanceName, propsFactory } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\nconst positionValues = ['static', 'relative', 'fixed', 'absolute', 'sticky'] as const\n\ntype Position = typeof positionValues[number]\n\nexport interface PositionProps {\n position: Position | undefined\n}\n\n// Composables\nexport const makePositionProps = propsFactory({\n position: {\n type: String as PropType<Position>,\n validator: /* istanbul ignore next */ (v: any) => positionValues.includes(v),\n },\n}, 'position')\n\nexport function usePosition (\n props: PositionProps,\n name = getCurrentInstanceName(),\n) {\n const positionClasses = computed(() => {\n return props.position ? `${name}--${props.position}` : undefined\n })\n\n return { positionClasses }\n}\n"],"mappings":"AAAA;AACA,SAASA,QAAT,QAAyB,KAAzB;SACSC,sB,EAAwBC,Y,6BAEjC;;AAGA,MAAMC,cAAc,GAAG,CAAC,QAAD,EAAW,UAAX,EAAuB,OAAvB,EAAgC,UAAhC,EAA4C,QAA5C,CAAvB;AAQA;AACA,OAAO,MAAMC,iBAAiB,GAAGF,YAAY,CAAC;EAC5CG,QAAQ,EAAE;IACRC,IAAI,EAAEC,MADE;IAERC,SAAS;IAAE;IAA4BC,CAAD,IAAYN,cAAc,CAACO,QAAf,CAAwBD,CAAxB;EAF1C;AADkC,CAAD,EAK1C,UAL0C,CAAtC;AAOP,OAAO,SAASE,WAAT,CACLC,KADK,EAGL;EAAA,IADAC,IACA,uEADOZ,sBAAsB,EAC7B;EACA,MAAMa,eAAe,GAAGd,QAAQ,CAAC,MAAM;IACrC,OAAOY,KAAK,CAACP,QAAN,GAAkB,GAAEQ,IAAK,KAAID,KAAK,CAACP,QAAS,EAA5C,GAAgDU,SAAvD;EACD,CAF+B,CAAhC;EAIA,OAAO;IAAED;EAAF,CAAP;AACD"}