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

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 (1247) hide show
  1. package/CHANGELOG.md +41 -98
  2. package/dist/json/attributes.json +5378 -0
  3. package/dist/json/importMap.json +585 -0
  4. package/dist/json/tags.json +1933 -0
  5. package/dist/json/web-types.json +18314 -0
  6. package/dist/vuetify.css +12154 -8451
  7. package/dist/vuetify.d.ts +15974 -0
  8. package/dist/vuetify.esm.js +17658 -0
  9. package/dist/vuetify.esm.js.map +1 -0
  10. package/dist/vuetify.js +16972 -9378
  11. package/dist/vuetify.js.map +1 -1
  12. package/dist/vuetify.min.css +6 -3
  13. package/dist/vuetify.min.js +1466 -5252
  14. package/dist/vuetify.min.js.map +1 -1
  15. package/lib/components/VAlert/VAlert.css +214 -0
  16. package/lib/components/VAlert/VAlert.mjs +157 -206
  17. package/lib/components/VAlert/VAlert.mjs.map +1 -1
  18. package/lib/components/VAlert/VAlert.sass +106 -159
  19. package/lib/components/VAlert/VAlertTitle.mjs +4 -0
  20. package/lib/components/VAlert/VAlertTitle.mjs.map +1 -0
  21. package/lib/components/VAlert/_variables.scss +50 -14
  22. package/lib/components/VAlert/index.mjs +2 -3
  23. package/lib/components/VAlert/index.mjs.map +1 -1
  24. package/lib/components/VApp/VApp.css +29 -0
  25. package/lib/components/VApp/VApp.mjs +36 -22
  26. package/lib/components/VApp/VApp.mjs.map +1 -1
  27. package/lib/components/VApp/VApp.sass +1 -4
  28. package/lib/components/VApp/index.mjs +1 -1
  29. package/lib/components/VApp/index.mjs.map +1 -1
  30. package/lib/components/VAppBar/VAppBar.css +10 -0
  31. package/lib/components/VAppBar/VAppBar.mjs +63 -227
  32. package/lib/components/VAppBar/VAppBar.mjs.map +1 -1
  33. package/lib/components/VAppBar/VAppBar.sass +8 -54
  34. package/lib/components/VAppBar/VAppBarNavIcon.mjs +24 -25
  35. package/lib/components/VAppBar/VAppBarNavIcon.mjs.map +1 -1
  36. package/lib/components/VAppBar/VAppBarTitle.mjs +15 -62
  37. package/lib/components/VAppBar/VAppBarTitle.mjs.map +1 -1
  38. package/lib/components/VAppBar/_variables.scss +39 -4
  39. package/lib/components/VAppBar/index.mjs +3 -11
  40. package/lib/components/VAppBar/index.mjs.map +1 -1
  41. package/lib/components/VAutocomplete/VAutocomplete.css +57 -0
  42. package/lib/components/VAutocomplete/VAutocomplete.mjs +240 -357
  43. package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
  44. package/lib/components/VAutocomplete/VAutocomplete.sass +69 -33
  45. package/lib/components/VAutocomplete/_variables.scss +7 -4
  46. package/lib/components/VAutocomplete/index.mjs +1 -3
  47. package/lib/components/VAutocomplete/index.mjs.map +1 -1
  48. package/lib/components/VAvatar/VAvatar.css +43 -0
  49. package/lib/components/VAvatar/VAvatar.mjs +49 -27
  50. package/lib/components/VAvatar/VAvatar.mjs.map +1 -1
  51. package/lib/components/VAvatar/VAvatar.sass +9 -13
  52. package/lib/components/VAvatar/_mixins.scss +32 -0
  53. package/lib/components/VAvatar/_variables.scss +19 -8
  54. package/lib/components/VAvatar/index.mjs +1 -1
  55. package/lib/components/VAvatar/index.mjs.map +1 -1
  56. package/lib/components/VBadge/VBadge.css +74 -0
  57. package/lib/components/VBadge/VBadge.mjs +51 -35
  58. package/lib/components/VBadge/VBadge.mjs.map +1 -1
  59. package/lib/components/VBadge/VBadge.sass +5 -5
  60. package/lib/components/VBadge/_variables.scss +11 -3
  61. package/lib/components/VBadge/index.mjs +1 -1
  62. package/lib/components/VBadge/index.mjs.map +1 -1
  63. package/lib/components/VBanner/VBanner.css +157 -0
  64. package/lib/components/VBanner/VBanner.mjs +75 -46
  65. package/lib/components/VBanner/VBanner.mjs.map +1 -1
  66. package/lib/components/VBanner/VBanner.sass +80 -122
  67. package/lib/components/VBanner/VBannerActions.mjs +35 -0
  68. package/lib/components/VBanner/VBannerActions.mjs.map +1 -0
  69. package/lib/components/VBanner/VBannerAvatar.mjs +20 -0
  70. package/lib/components/VBanner/VBannerAvatar.mjs.map +1 -0
  71. package/lib/components/VBanner/VBannerIcon.mjs +20 -0
  72. package/lib/components/VBanner/VBannerIcon.mjs.map +1 -0
  73. package/lib/components/VBanner/VBannerText.mjs +3 -0
  74. package/lib/components/VBanner/VBannerText.mjs.map +1 -0
  75. package/lib/components/VBanner/_variables.scss +37 -45
  76. package/lib/components/VBanner/index.mjs +5 -1
  77. package/lib/components/VBanner/index.mjs.map +1 -1
  78. package/lib/components/VBottomNavigation/VBottomNavigation.css +61 -0
  79. package/lib/components/VBottomNavigation/VBottomNavigation.mjs +104 -111
  80. package/lib/components/VBottomNavigation/VBottomNavigation.mjs.map +1 -1
  81. package/lib/components/VBottomNavigation/VBottomNavigation.sass +48 -74
  82. package/lib/components/VBottomNavigation/_variables.scss +42 -6
  83. package/lib/components/VBottomNavigation/index.mjs +1 -3
  84. package/lib/components/VBottomNavigation/index.mjs.map +1 -1
  85. package/lib/components/VBottomSheet/VBottomSheet.mjs +1 -1
  86. package/lib/components/VBottomSheet/VBottomSheet.mjs.map +1 -1
  87. package/lib/components/VBreadcrumbs/VBreadcrumbs.css +48 -0
  88. package/lib/components/VBreadcrumbs/VBreadcrumbs.mjs +81 -51
  89. package/lib/components/VBreadcrumbs/VBreadcrumbs.mjs.map +1 -1
  90. package/lib/components/VBreadcrumbs/VBreadcrumbs.sass +26 -30
  91. package/lib/components/VBreadcrumbs/VBreadcrumbsDivider.mjs +2 -5
  92. package/lib/components/VBreadcrumbs/VBreadcrumbsDivider.mjs.map +1 -1
  93. package/lib/components/VBreadcrumbs/VBreadcrumbsItem.mjs +56 -35
  94. package/lib/components/VBreadcrumbs/VBreadcrumbsItem.mjs.map +1 -1
  95. package/lib/components/VBreadcrumbs/_variables.scss +15 -7
  96. package/lib/components/VBreadcrumbs/index.mjs +3 -11
  97. package/lib/components/VBreadcrumbs/index.mjs.map +1 -1
  98. package/lib/components/VBreadcrumbs/shared.mjs +2 -0
  99. package/lib/components/VBreadcrumbs/shared.mjs.map +1 -0
  100. package/lib/components/VBtn/VBtn.css +319 -0
  101. package/lib/components/VBtn/VBtn.mjs +103 -67
  102. package/lib/components/VBtn/VBtn.mjs.map +1 -1
  103. package/lib/components/VBtn/VBtn.sass +101 -34
  104. package/lib/components/VBtn/_mixins.scss +31 -7
  105. package/lib/components/VBtn/_variables.scss +66 -29
  106. package/lib/components/VBtn/index.mjs +1 -1
  107. package/lib/components/VBtn/index.mjs.map +1 -1
  108. package/lib/components/VBtnGroup/VBtnGroup.css +57 -0
  109. package/lib/components/VBtnGroup/VBtnGroup.mjs +67 -0
  110. package/lib/components/VBtnGroup/VBtnGroup.mjs.map +1 -0
  111. package/lib/components/VBtnGroup/VBtnGroup.sass +52 -0
  112. package/lib/components/VBtnGroup/_variables.scss +25 -0
  113. package/lib/components/VBtnGroup/index.mjs +2 -0
  114. package/lib/components/VBtnGroup/index.mjs.map +1 -0
  115. package/lib/components/VBtnToggle/VBtnToggle.css +3 -0
  116. package/lib/components/VBtnToggle/VBtnToggle.mjs +45 -39
  117. package/lib/components/VBtnToggle/VBtnToggle.mjs.map +1 -1
  118. package/lib/components/VBtnToggle/VBtnToggle.sass +5 -95
  119. package/lib/components/VBtnToggle/_variables.scss +3 -10
  120. package/lib/components/VBtnToggle/index.mjs +1 -3
  121. package/lib/components/VBtnToggle/index.mjs.map +1 -1
  122. package/lib/components/VCalendar/VCalendar.mjs +15 -6
  123. package/lib/components/VCalendar/VCalendar.mjs.map +1 -1
  124. package/lib/components/VCalendar/VCalendarCategory.mjs +5 -4
  125. package/lib/components/VCalendar/VCalendarCategory.mjs.map +1 -1
  126. package/lib/components/VCalendar/VCalendarCategory.sass +67 -0
  127. package/lib/components/VCalendar/VCalendarDaily.mjs +1 -1
  128. package/lib/components/VCalendar/VCalendarDaily.mjs.map +1 -1
  129. package/lib/components/VCalendar/VCalendarMonthly.mjs +1 -1
  130. package/lib/components/VCalendar/VCalendarMonthly.mjs.map +1 -1
  131. package/lib/components/VCalendar/VCalendarWeekly.mjs +1 -1
  132. package/lib/components/VCalendar/VCalendarWeekly.mjs.map +1 -1
  133. package/lib/components/VCalendar/_variables.scss +4 -0
  134. package/lib/components/VCalendar/mixins/calendar-base.mjs +5 -4
  135. package/lib/components/VCalendar/mixins/calendar-base.mjs.map +1 -1
  136. package/lib/components/VCalendar/mixins/calendar-with-events.mjs +40 -33
  137. package/lib/components/VCalendar/mixins/calendar-with-events.mjs.map +1 -1
  138. package/lib/components/VCalendar/mixins/calendar-with-events.sass +7 -1
  139. package/lib/components/VCalendar/mixins/calendar-with-intervals.mjs +2 -1
  140. package/lib/components/VCalendar/mixins/calendar-with-intervals.mjs.map +1 -1
  141. package/lib/components/VCalendar/mixins/mouse.mjs +20 -1
  142. package/lib/components/VCalendar/mixins/mouse.mjs.map +1 -1
  143. package/lib/components/VCalendar/modes/common.mjs +7 -3
  144. package/lib/components/VCalendar/modes/common.mjs.map +1 -1
  145. package/lib/components/VCalendar/modes/stack.mjs +2 -1
  146. package/lib/components/VCalendar/modes/stack.mjs.map +1 -1
  147. package/lib/components/VCalendar/util/events.mjs +8 -3
  148. package/lib/components/VCalendar/util/events.mjs.map +1 -1
  149. package/lib/components/VCalendar/util/parser.mjs +1 -3
  150. package/lib/components/VCalendar/util/parser.mjs.map +1 -1
  151. package/lib/components/VCalendar/util/timestamp.mjs +24 -12
  152. package/lib/components/VCalendar/util/timestamp.mjs.map +1 -1
  153. package/lib/components/VCard/VCard.css +270 -0
  154. package/lib/components/VCard/VCard.mjs +163 -65
  155. package/lib/components/VCard/VCard.mjs.map +1 -1
  156. package/lib/components/VCard/VCard.sass +147 -119
  157. package/lib/components/VCard/VCardActions.mjs +29 -0
  158. package/lib/components/VCard/VCardActions.mjs.map +1 -0
  159. package/lib/components/VCard/VCardAvatar.mjs +3 -0
  160. package/lib/components/VCard/VCardAvatar.mjs.map +1 -0
  161. package/lib/components/VCard/VCardContent.mjs +3 -0
  162. package/lib/components/VCard/VCardContent.mjs.map +1 -0
  163. package/lib/components/VCard/VCardHeader.mjs +3 -0
  164. package/lib/components/VCard/VCardHeader.mjs.map +1 -0
  165. package/lib/components/VCard/VCardHeaderText.mjs +3 -0
  166. package/lib/components/VCard/VCardHeaderText.mjs.map +1 -0
  167. package/lib/components/VCard/VCardImg.mjs +3 -0
  168. package/lib/components/VCard/VCardImg.mjs.map +1 -0
  169. package/lib/components/VCard/VCardSubtitle.mjs +3 -0
  170. package/lib/components/VCard/VCardSubtitle.mjs.map +1 -0
  171. package/lib/components/VCard/VCardText.mjs +3 -0
  172. package/lib/components/VCard/VCardText.mjs.map +1 -0
  173. package/lib/components/VCard/VCardTitle.mjs +3 -0
  174. package/lib/components/VCard/VCardTitle.mjs.map +1 -0
  175. package/lib/components/VCard/_mixins.scss +13 -0
  176. package/lib/components/VCard/_variables.scss +106 -26
  177. package/lib/components/VCard/index.mjs +10 -16
  178. package/lib/components/VCard/index.mjs.map +1 -1
  179. package/lib/components/VCarousel/VCarousel.css +63 -0
  180. package/lib/components/VCarousel/VCarousel.mjs +99 -185
  181. package/lib/components/VCarousel/VCarousel.mjs.map +1 -1
  182. package/lib/components/VCarousel/VCarousel.sass +7 -2
  183. package/lib/components/VCarousel/VCarouselItem.mjs +22 -42
  184. package/lib/components/VCarousel/VCarouselItem.mjs.map +1 -1
  185. package/lib/components/VCarousel/_variables.scss +1 -3
  186. package/lib/components/VCarousel/index.mjs +2 -9
  187. package/lib/components/VCarousel/index.mjs.map +1 -1
  188. package/lib/components/VCheckbox/VCheckbox.css +3 -0
  189. package/lib/components/VCheckbox/VCheckbox.mjs +56 -83
  190. package/lib/components/VCheckbox/VCheckbox.mjs.map +1 -1
  191. package/lib/components/VCheckbox/VCheckbox.sass +8 -8
  192. package/lib/components/VCheckbox/_variables.scss +2 -4
  193. package/lib/components/VCheckbox/index.mjs +1 -9
  194. package/lib/components/VCheckbox/index.mjs.map +1 -1
  195. package/lib/components/VChip/VChip.css +276 -0
  196. package/lib/components/VChip/VChip.mjs +153 -143
  197. package/lib/components/VChip/VChip.mjs.map +1 -1
  198. package/lib/components/VChip/VChip.sass +41 -177
  199. package/lib/components/VChip/_mixins.scss +65 -0
  200. package/lib/components/VChip/_variables.scss +48 -49
  201. package/lib/components/VChip/index.mjs +1 -3
  202. package/lib/components/VChip/index.mjs.map +1 -1
  203. package/lib/components/VChipGroup/VChipGroup.css +18 -0
  204. package/lib/components/VChipGroup/VChipGroup.mjs +66 -38
  205. package/lib/components/VChipGroup/VChipGroup.mjs.map +1 -1
  206. package/lib/components/VChipGroup/VChipGroup.sass +11 -17
  207. package/lib/components/VChipGroup/_variables.scss +3 -5
  208. package/lib/components/VChipGroup/index.mjs +1 -3
  209. package/lib/components/VChipGroup/index.mjs.map +1 -1
  210. package/lib/components/VCode/VCode.css +7 -0
  211. package/lib/components/VCode/VCode.sass +9 -0
  212. package/lib/components/VCode/_variables.scss +5 -0
  213. package/lib/components/VCode/index.mjs +4 -0
  214. package/lib/components/VCode/index.mjs.map +1 -0
  215. package/lib/components/VColorPicker/VColorPicker.css +21 -0
  216. package/lib/components/VColorPicker/VColorPicker.mjs +103 -133
  217. package/lib/components/VColorPicker/VColorPicker.mjs.map +1 -1
  218. package/lib/components/VColorPicker/VColorPicker.sass +10 -17
  219. package/lib/components/VColorPicker/VColorPickerCanvas.css +21 -0
  220. package/lib/components/VColorPicker/VColorPickerCanvas.mjs +139 -121
  221. package/lib/components/VColorPicker/VColorPickerCanvas.mjs.map +1 -1
  222. package/lib/components/VColorPicker/VColorPickerCanvas.sass +5 -3
  223. package/lib/components/VColorPicker/VColorPickerEdit.css +31 -0
  224. package/lib/components/VColorPicker/VColorPickerEdit.mjs +74 -134
  225. package/lib/components/VColorPicker/VColorPickerEdit.mjs.map +1 -1
  226. package/lib/components/VColorPicker/VColorPickerEdit.sass +9 -6
  227. package/lib/components/VColorPicker/VColorPickerPreview.css +67 -0
  228. package/lib/components/VColorPicker/VColorPickerPreview.mjs +65 -83
  229. package/lib/components/VColorPicker/VColorPickerPreview.mjs.map +1 -1
  230. package/lib/components/VColorPicker/VColorPickerPreview.sass +42 -39
  231. package/lib/components/VColorPicker/VColorPickerSwatches.css +35 -0
  232. package/lib/components/VColorPicker/VColorPickerSwatches.mjs +34 -54
  233. package/lib/components/VColorPicker/VColorPickerSwatches.mjs.map +1 -1
  234. package/lib/components/VColorPicker/VColorPickerSwatches.sass +6 -4
  235. package/lib/components/VColorPicker/_variables.scss +5 -9
  236. package/lib/components/VColorPicker/index.mjs +1 -5
  237. package/lib/components/VColorPicker/index.mjs.map +1 -1
  238. package/lib/components/VColorPicker/util/index.mjs +141 -97
  239. package/lib/components/VColorPicker/util/index.mjs.map +1 -1
  240. package/lib/components/VCombobox/VCombobox.css +66 -0
  241. package/lib/components/VCombobox/VCombobox.mjs +336 -200
  242. package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
  243. package/lib/components/VCombobox/VCombobox.sass +91 -0
  244. package/lib/components/VCombobox/_variables.scss +8 -0
  245. package/lib/components/VCombobox/index.mjs +1 -3
  246. package/lib/components/VCombobox/index.mjs.map +1 -1
  247. package/lib/components/VCounter/VCounter.css +6 -0
  248. package/lib/components/VCounter/VCounter.mjs +36 -27
  249. package/lib/components/VCounter/VCounter.mjs.map +1 -1
  250. package/lib/components/VCounter/VCounter.sass +5 -7
  251. package/lib/components/VCounter/_variables.scss +3 -2
  252. package/lib/components/VCounter/index.mjs +1 -3
  253. package/lib/components/VCounter/index.mjs.map +1 -1
  254. package/lib/components/VData/VData.mjs +8 -3
  255. package/lib/components/VData/VData.mjs.map +1 -1
  256. package/lib/components/VDataIterator/VDataFooter.mjs +1 -1
  257. package/lib/components/VDataIterator/VDataFooter.mjs.map +1 -1
  258. package/lib/components/VDataIterator/VDataIterator.mjs +20 -8
  259. package/lib/components/VDataIterator/VDataIterator.mjs.map +1 -1
  260. package/lib/components/VDataIterator/_variables.scss +2 -2
  261. package/lib/components/VDataTable/MobileRow.mjs +6 -5
  262. package/lib/components/VDataTable/MobileRow.mjs.map +1 -1
  263. package/lib/components/VDataTable/Row.mjs +20 -12
  264. package/lib/components/VDataTable/Row.mjs.map +1 -1
  265. package/lib/components/VDataTable/RowGroup.mjs +5 -4
  266. package/lib/components/VDataTable/RowGroup.mjs.map +1 -1
  267. package/lib/components/VDataTable/VDataTable.mjs +11 -6
  268. package/lib/components/VDataTable/VDataTable.mjs.map +1 -1
  269. package/lib/components/VDataTable/VDataTable.sass +5 -0
  270. package/lib/components/VDataTable/VDataTableHeader.mjs +7 -6
  271. package/lib/components/VDataTable/VDataTableHeader.mjs.map +1 -1
  272. package/lib/components/VDataTable/VDataTableHeaderDesktop.mjs +3 -3
  273. package/lib/components/VDataTable/VDataTableHeaderDesktop.mjs.map +1 -1
  274. package/lib/components/VDataTable/VDataTableHeaderMobile.mjs +2 -2
  275. package/lib/components/VDataTable/VDataTableHeaderMobile.mjs.map +1 -1
  276. package/lib/components/VDataTable/VEditDialog.mjs +7 -6
  277. package/lib/components/VDataTable/VEditDialog.mjs.map +1 -1
  278. package/lib/components/VDataTable/VVirtualTable.mjs +2 -2
  279. package/lib/components/VDataTable/VVirtualTable.mjs.map +1 -1
  280. package/lib/components/VDataTable/_variables.scss +2 -2
  281. package/lib/components/VDatePicker/VDatePicker.mjs +13 -13
  282. package/lib/components/VDatePicker/VDatePicker.mjs.map +1 -1
  283. package/lib/components/VDatePicker/VDatePickerDateTable.mjs +5 -5
  284. package/lib/components/VDatePicker/VDatePickerDateTable.mjs.map +1 -1
  285. package/lib/components/VDatePicker/VDatePickerHeader.mjs +5 -5
  286. package/lib/components/VDatePicker/VDatePickerHeader.mjs.map +1 -1
  287. package/lib/components/VDatePicker/VDatePickerMonthTable.mjs +2 -2
  288. package/lib/components/VDatePicker/VDatePickerMonthTable.mjs.map +1 -1
  289. package/lib/components/VDatePicker/VDatePickerTitle.mjs +2 -2
  290. package/lib/components/VDatePicker/VDatePickerTitle.mjs.map +1 -1
  291. package/lib/components/VDatePicker/VDatePickerYears.mjs +4 -4
  292. package/lib/components/VDatePicker/VDatePickerYears.mjs.map +1 -1
  293. package/lib/components/VDatePicker/mixins/date-picker-table.mjs +20 -9
  294. package/lib/components/VDatePicker/mixins/date-picker-table.mjs.map +1 -1
  295. package/lib/components/VDatePicker/util/createNativeLocaleFormatter.mjs +7 -5
  296. package/lib/components/VDatePicker/util/createNativeLocaleFormatter.mjs.map +1 -1
  297. package/lib/components/VDatePicker/util/eventHelpers.mjs +1 -0
  298. package/lib/components/VDatePicker/util/eventHelpers.mjs.map +1 -1
  299. package/lib/components/VDatePicker/util/monthChange.mjs +3 -3
  300. package/lib/components/VDatePicker/util/monthChange.mjs.map +1 -1
  301. package/lib/components/VDatePicker/util/pad.mjs +4 -1
  302. package/lib/components/VDatePicker/util/pad.mjs.map +1 -1
  303. package/lib/components/VDatePicker/util/sanitizeDateString.mjs +1 -1
  304. package/lib/components/VDatePicker/util/sanitizeDateString.mjs.map +1 -1
  305. package/lib/components/VDefaultsProvider/VDefaultsProvider.mjs +38 -0
  306. package/lib/components/VDefaultsProvider/VDefaultsProvider.mjs.map +1 -0
  307. package/lib/components/VDefaultsProvider/index.mjs +2 -0
  308. package/lib/components/VDefaultsProvider/index.mjs.map +1 -0
  309. package/lib/components/VDialog/VDialog.css +77 -0
  310. package/lib/components/VDialog/VDialog.mjs +91 -279
  311. package/lib/components/VDialog/VDialog.mjs.map +1 -1
  312. package/lib/components/VDialog/VDialog.sass +53 -81
  313. package/lib/components/VDialog/_variables.scss +12 -10
  314. package/lib/components/VDialog/index.mjs +1 -3
  315. package/lib/components/VDialog/index.mjs.map +1 -1
  316. package/lib/components/VDivider/VDivider.css +30 -0
  317. package/lib/components/VDivider/VDivider.mjs +25 -17
  318. package/lib/components/VDivider/VDivider.mjs.map +1 -1
  319. package/lib/components/VDivider/VDivider.sass +5 -9
  320. package/lib/components/VDivider/_variables.scss +9 -11
  321. package/lib/components/VDivider/index.mjs +1 -1
  322. package/lib/components/VDivider/index.mjs.map +1 -1
  323. package/lib/components/VExpansionPanel/VExpansionPanel.css +190 -0
  324. package/lib/components/VExpansionPanel/VExpansionPanel.mjs +87 -83
  325. package/lib/components/VExpansionPanel/VExpansionPanel.mjs.map +1 -1
  326. package/lib/components/VExpansionPanel/VExpansionPanel.sass +91 -129
  327. package/lib/components/VExpansionPanel/VExpansionPanelText.mjs +42 -0
  328. package/lib/components/VExpansionPanel/VExpansionPanelText.mjs.map +1 -0
  329. package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs +79 -0
  330. package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs.map +1 -0
  331. package/lib/components/VExpansionPanel/VExpansionPanels.mjs +45 -59
  332. package/lib/components/VExpansionPanel/VExpansionPanels.mjs.map +1 -1
  333. package/lib/components/VExpansionPanel/_variables.scss +13 -7
  334. package/lib/components/VExpansionPanel/index.mjs +4 -13
  335. package/lib/components/VExpansionPanel/index.mjs.map +1 -1
  336. package/lib/components/VField/VField.css +410 -0
  337. package/lib/components/VField/VField.mjs +248 -0
  338. package/lib/components/VField/VField.mjs.map +1 -0
  339. package/lib/components/VField/VField.sass +392 -0
  340. package/lib/components/VField/VFieldLabel.mjs +27 -0
  341. package/lib/components/VField/VFieldLabel.mjs.map +1 -0
  342. package/lib/components/VField/_variables.scss +44 -0
  343. package/lib/components/VField/index.mjs +3 -0
  344. package/lib/components/VField/index.mjs.map +1 -0
  345. package/lib/components/VFileInput/VFileInput.css +8 -0
  346. package/lib/components/VFileInput/VFileInput.mjs +181 -224
  347. package/lib/components/VFileInput/VFileInput.mjs.map +1 -1
  348. package/lib/components/VFileInput/VFileInput.sass +3 -51
  349. package/lib/components/VFileInput/_variables.scss +2 -6
  350. package/lib/components/VFileInput/index.mjs +1 -3
  351. package/lib/components/VFileInput/index.mjs.map +1 -1
  352. package/lib/components/VFooter/VFooter.css +20 -0
  353. package/lib/components/VFooter/VFooter.mjs +54 -31
  354. package/lib/components/VFooter/VFooter.mjs.map +1 -1
  355. package/lib/components/VFooter/VFooter.sass +10 -7
  356. package/lib/components/VFooter/_variables.scss +13 -3
  357. package/lib/components/VFooter/index.mjs +1 -1
  358. package/lib/components/VFooter/index.mjs.map +1 -1
  359. package/lib/components/VForm/VForm.mjs +55 -122
  360. package/lib/components/VForm/VForm.mjs.map +1 -1
  361. package/lib/components/VForm/index.mjs +1 -3
  362. package/lib/components/VForm/index.mjs.map +1 -1
  363. package/lib/components/VGrid/VCol.mjs +23 -18
  364. package/lib/components/VGrid/VCol.mjs.map +1 -1
  365. package/lib/components/VGrid/VContainer.mjs +10 -12
  366. package/lib/components/VGrid/VContainer.mjs.map +1 -1
  367. package/lib/components/VGrid/VGrid.css +1002 -0
  368. package/lib/components/VGrid/VGrid.sass +9 -8
  369. package/lib/components/VGrid/VRow.mjs +22 -17
  370. package/lib/components/VGrid/VRow.mjs.map +1 -1
  371. package/lib/components/VGrid/VSpacer.mjs +1 -1
  372. package/lib/components/VGrid/VSpacer.mjs.map +1 -1
  373. package/lib/components/VGrid/_mixins.sass +26 -21
  374. package/lib/components/VGrid/index.mjs +4 -4
  375. package/lib/components/VGrid/index.mjs.map +1 -1
  376. package/lib/components/VHover/VHover.mjs +31 -61
  377. package/lib/components/VHover/VHover.mjs.map +1 -1
  378. package/lib/components/VHover/index.mjs +1 -3
  379. package/lib/components/VHover/index.mjs.map +1 -1
  380. package/lib/components/VIcon/VIcon.css +65 -0
  381. package/lib/components/VIcon/VIcon.mjs +36 -29
  382. package/lib/components/VIcon/VIcon.mjs.map +1 -1
  383. package/lib/components/VIcon/VIcon.sass +31 -49
  384. package/lib/components/VIcon/_variables.scss +17 -20
  385. package/lib/components/VIcon/index.mjs +1 -1
  386. package/lib/components/VIcon/index.mjs.map +1 -1
  387. package/lib/components/VImg/VImg.css +34 -0
  388. package/lib/components/VImg/VImg.mjs +121 -71
  389. package/lib/components/VImg/VImg.mjs.map +1 -1
  390. package/lib/components/VImg/VImg.sass +14 -8
  391. package/lib/components/VImg/_variables.scss +1 -0
  392. package/lib/components/VImg/index.mjs +1 -1
  393. package/lib/components/VImg/index.mjs.map +1 -1
  394. package/lib/components/VInput/VInput.css +112 -0
  395. package/lib/components/VInput/VInput.mjs +102 -278
  396. package/lib/components/VInput/VInput.mjs.map +1 -1
  397. package/lib/components/VInput/VInput.sass +77 -117
  398. package/lib/components/VInput/_variables.scss +21 -13
  399. package/lib/components/VInput/index.mjs +1 -3
  400. package/lib/components/VInput/index.mjs.map +1 -1
  401. package/lib/components/VItemGroup/VItem.mjs +33 -62
  402. package/lib/components/VItemGroup/VItem.mjs.map +1 -1
  403. package/lib/components/VItemGroup/VItemGroup.css +6 -0
  404. package/lib/components/VItemGroup/VItemGroup.mjs +45 -215
  405. package/lib/components/VItemGroup/VItemGroup.mjs.map +1 -1
  406. package/lib/components/VItemGroup/VItemGroup.sass +3 -2
  407. package/lib/components/VItemGroup/_variables.scss +3 -2
  408. package/lib/components/VItemGroup/index.mjs +2 -9
  409. package/lib/components/VItemGroup/index.mjs.map +1 -1
  410. package/lib/components/VKbd/VKbd.css +9 -0
  411. package/lib/components/VKbd/VKbd.sass +13 -0
  412. package/lib/components/VKbd/_variables.scss +6 -0
  413. package/lib/components/VKbd/index.mjs +4 -0
  414. package/lib/components/VKbd/index.mjs.map +1 -0
  415. package/lib/components/VLabel/VLabel.css +12 -0
  416. package/lib/components/VLabel/VLabel.mjs +18 -56
  417. package/lib/components/VLabel/VLabel.mjs.map +1 -1
  418. package/lib/components/VLabel/VLabel.sass +13 -11
  419. package/lib/components/VLabel/_variables.scss +7 -4
  420. package/lib/components/VLabel/index.mjs +1 -3
  421. package/lib/components/VLabel/index.mjs.map +1 -1
  422. package/lib/components/VLayout/VLayout.css +11 -0
  423. package/lib/components/VLayout/VLayout.mjs +20 -15
  424. package/lib/components/VLayout/VLayout.mjs.map +1 -1
  425. package/lib/components/VLayout/VLayout.sass +5 -3
  426. package/lib/components/VLayout/VLayoutItem.css +8 -0
  427. package/lib/components/VLayout/VLayoutItem.mjs +36 -17
  428. package/lib/components/VLayout/VLayoutItem.mjs.map +1 -1
  429. package/lib/components/VLayout/VLayoutItem.sass +8 -0
  430. package/lib/components/VLayout/index.mjs +2 -2
  431. package/lib/components/VLayout/index.mjs.map +1 -1
  432. package/lib/components/VLazy/VLazy.mjs +41 -51
  433. package/lib/components/VLazy/VLazy.mjs.map +1 -1
  434. package/lib/components/VLazy/index.mjs +1 -3
  435. package/lib/components/VLazy/index.mjs.map +1 -1
  436. package/lib/components/VList/VList.css +107 -0
  437. package/lib/components/VList/VList.mjs +140 -73
  438. package/lib/components/VList/VList.mjs.map +1 -1
  439. package/lib/components/VList/VList.sass +88 -94
  440. package/lib/components/VList/VListChildren.mjs +53 -0
  441. package/lib/components/VList/VListChildren.mjs.map +1 -0
  442. package/lib/components/VList/VListGroup.mjs +84 -164
  443. package/lib/components/VList/VListGroup.mjs.map +1 -1
  444. package/lib/components/VList/VListImg.mjs +3 -0
  445. package/lib/components/VList/VListImg.mjs.map +1 -0
  446. package/lib/components/VList/VListItem.css +350 -0
  447. package/lib/components/VList/VListItem.mjs +184 -141
  448. package/lib/components/VList/VListItem.mjs.map +1 -1
  449. package/lib/components/VList/VListItem.sass +178 -228
  450. package/lib/components/VList/VListItemAction.mjs +23 -19
  451. package/lib/components/VList/VListItemAction.mjs.map +1 -1
  452. package/lib/components/VList/VListItemAvatar.mjs +16 -29
  453. package/lib/components/VList/VListItemAvatar.mjs.map +1 -1
  454. package/lib/components/VList/VListItemHeader.mjs +3 -0
  455. package/lib/components/VList/VListItemHeader.mjs.map +1 -0
  456. package/lib/components/VList/VListItemIcon.mjs +17 -15
  457. package/lib/components/VList/VListItemIcon.mjs.map +1 -1
  458. package/lib/components/VList/VListItemMedia.mjs +29 -0
  459. package/lib/components/VList/VListItemMedia.mjs.map +1 -0
  460. package/lib/components/VList/VListItemSubtitle.mjs +3 -0
  461. package/lib/components/VList/VListItemSubtitle.mjs.map +1 -0
  462. package/lib/components/VList/VListItemTitle.mjs +3 -0
  463. package/lib/components/VList/VListItemTitle.mjs.map +1 -0
  464. package/lib/components/VList/VListSubheader.mjs +47 -0
  465. package/lib/components/VList/VListSubheader.mjs.map +1 -0
  466. package/lib/components/VList/_variables.scss +154 -57
  467. package/lib/components/VList/index.mjs +12 -28
  468. package/lib/components/VList/index.mjs.map +1 -1
  469. package/lib/components/VList/list.mjs +31 -0
  470. package/lib/components/VList/list.mjs.map +1 -0
  471. package/lib/components/VLocaleProvider/VLocaleProvider.css +3 -0
  472. package/lib/components/VLocaleProvider/VLocaleProvider.mjs +19 -10
  473. package/lib/components/VLocaleProvider/VLocaleProvider.mjs.map +1 -1
  474. package/lib/components/VLocaleProvider/VLocaleProvider.sass +2 -0
  475. package/lib/components/VLocaleProvider/index.mjs +1 -1
  476. package/lib/components/VLocaleProvider/index.mjs.map +1 -1
  477. package/lib/components/VMain/VMain.css +18 -0
  478. package/lib/components/VMain/VMain.mjs +23 -19
  479. package/lib/components/VMain/VMain.mjs.map +1 -1
  480. package/lib/components/VMain/VMain.sass +2 -1
  481. package/lib/components/VMain/_variables.scss +3 -1
  482. package/lib/components/VMain/index.mjs +1 -1
  483. package/lib/components/VMain/index.mjs.map +1 -1
  484. package/lib/components/VMenu/VMenu.css +14 -0
  485. package/lib/components/VMenu/VMenu.mjs +78 -447
  486. package/lib/components/VMenu/VMenu.mjs.map +1 -1
  487. package/lib/components/VMenu/VMenu.sass +17 -71
  488. package/lib/components/VMenu/_variables.scss +3 -2
  489. package/lib/components/VMenu/index.mjs +1 -3
  490. package/lib/components/VMenu/index.mjs.map +1 -1
  491. package/lib/components/VMenu/shared.mjs +2 -0
  492. package/lib/components/VMenu/shared.mjs.map +1 -0
  493. package/lib/components/VMessages/VMessages.css +16 -0
  494. package/lib/components/VMessages/VMessages.mjs +42 -41
  495. package/lib/components/VMessages/VMessages.mjs.map +1 -1
  496. package/lib/components/VMessages/VMessages.sass +5 -10
  497. package/lib/components/VMessages/_variables.scss +3 -2
  498. package/lib/components/VMessages/index.mjs +1 -3
  499. package/lib/components/VMessages/index.mjs.map +1 -1
  500. package/lib/components/VNavigationDrawer/VNavigationDrawer.css +93 -0
  501. package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs +124 -55
  502. package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs.map +1 -1
  503. package/lib/components/VNavigationDrawer/VNavigationDrawer.sass +36 -23
  504. package/lib/components/VNavigationDrawer/_variables.scss +16 -9
  505. package/lib/components/VNavigationDrawer/index.mjs +1 -1
  506. package/lib/components/VNavigationDrawer/index.mjs.map +1 -1
  507. package/lib/components/VNavigationDrawer/touch.mjs +139 -0
  508. package/lib/components/VNavigationDrawer/touch.mjs.map +1 -0
  509. package/lib/components/VNoSsr/VNoSsr.mjs +23 -0
  510. package/lib/components/VNoSsr/VNoSsr.mjs.map +1 -0
  511. package/lib/components/VNoSsr/index.mjs +2 -0
  512. package/lib/components/VNoSsr/index.mjs.map +1 -0
  513. package/lib/components/VOtpInput/VOtpInput.mjs +345 -0
  514. package/lib/components/VOtpInput/VOtpInput.mjs.map +1 -0
  515. package/lib/components/VOtpInput/VOtpInput.sass +37 -0
  516. package/lib/components/VOtpInput/_variables.scss +4 -0
  517. package/lib/components/VOtpInput/index.mjs +4 -0
  518. package/lib/components/VOtpInput/index.mjs.map +1 -0
  519. package/lib/components/VOverflowBtn/VOverflowBtn.mjs +1 -1
  520. package/lib/components/VOverflowBtn/VOverflowBtn.mjs.map +1 -1
  521. package/lib/components/VOverlay/VOverlay.css +63 -0
  522. package/lib/components/VOverlay/VOverlay.mjs +229 -67
  523. package/lib/components/VOverlay/VOverlay.mjs.map +1 -1
  524. package/lib/components/VOverlay/VOverlay.sass +39 -19
  525. package/lib/components/VOverlay/_variables.scss +4 -3
  526. package/lib/components/VOverlay/index.mjs +1 -3
  527. package/lib/components/VOverlay/index.mjs.map +1 -1
  528. package/lib/components/VOverlay/positionStrategies.mjs +207 -0
  529. package/lib/components/VOverlay/positionStrategies.mjs.map +1 -0
  530. package/lib/components/VOverlay/requestNewFrame.mjs +28 -0
  531. package/lib/components/VOverlay/requestNewFrame.mjs.map +1 -0
  532. package/lib/components/VOverlay/scrollStrategies.mjs +137 -0
  533. package/lib/components/VOverlay/scrollStrategies.mjs.map +1 -0
  534. package/lib/components/VOverlay/useActivator.mjs +241 -0
  535. package/lib/components/VOverlay/useActivator.mjs.map +1 -0
  536. package/lib/components/VOverlay/util/anchor.mjs +52 -0
  537. package/lib/components/VOverlay/util/anchor.mjs.map +1 -0
  538. package/lib/components/VOverlay/util/point.mjs +56 -0
  539. package/lib/components/VOverlay/util/point.mjs.map +1 -0
  540. package/lib/components/VPagination/VPagination.css +9 -0
  541. package/lib/components/VPagination/VPagination.mjs +261 -176
  542. package/lib/components/VPagination/VPagination.mjs.map +1 -1
  543. package/lib/components/VPagination/VPagination.sass +11 -77
  544. package/lib/components/VPagination/_variables.scss +1 -15
  545. package/lib/components/VPagination/index.mjs +1 -3
  546. package/lib/components/VPagination/index.mjs.map +1 -1
  547. package/lib/components/VParallax/VParallax.css +7 -0
  548. package/lib/components/VParallax/VParallax.mjs +71 -77
  549. package/lib/components/VParallax/VParallax.mjs.map +1 -1
  550. package/lib/components/VParallax/VParallax.sass +1 -32
  551. package/lib/components/VParallax/index.mjs +1 -3
  552. package/lib/components/VParallax/index.mjs.map +1 -1
  553. package/lib/components/VPicker/VPicker.mjs +5 -5
  554. package/lib/components/VPicker/VPicker.mjs.map +1 -1
  555. package/lib/components/VProgressCircular/VProgressCircular.css +101 -0
  556. package/lib/components/VProgressCircular/VProgressCircular.mjs +110 -141
  557. package/lib/components/VProgressCircular/VProgressCircular.mjs.map +1 -1
  558. package/lib/components/VProgressCircular/VProgressCircular.sass +57 -36
  559. package/lib/components/VProgressCircular/_variables.scss +12 -5
  560. package/lib/components/VProgressCircular/index.mjs +1 -3
  561. package/lib/components/VProgressCircular/index.mjs.map +1 -1
  562. package/lib/components/VProgressLinear/VProgressLinear.css +212 -0
  563. package/lib/components/VProgressLinear/VProgressLinear.mjs +138 -226
  564. package/lib/components/VProgressLinear/VProgressLinear.mjs.map +1 -1
  565. package/lib/components/VProgressLinear/VProgressLinear.sass +83 -157
  566. package/lib/components/VProgressLinear/_variables.scss +11 -3
  567. package/lib/components/VProgressLinear/index.mjs +1 -3
  568. package/lib/components/VProgressLinear/index.mjs.map +1 -1
  569. package/lib/components/VRadio/VRadio.mjs +33 -0
  570. package/lib/components/VRadio/VRadio.mjs.map +1 -0
  571. package/lib/components/VRadio/index.mjs +2 -0
  572. package/lib/components/VRadio/index.mjs.map +1 -0
  573. package/lib/components/VRadioGroup/VRadioGroup.css +10 -0
  574. package/lib/components/VRadioGroup/VRadioGroup.mjs +66 -69
  575. package/lib/components/VRadioGroup/VRadioGroup.mjs.map +1 -1
  576. package/lib/components/VRadioGroup/VRadioGroup.sass +7 -37
  577. package/lib/components/VRadioGroup/_variables.scss +3 -3
  578. package/lib/components/VRadioGroup/index.mjs +1 -9
  579. package/lib/components/VRadioGroup/index.mjs.map +1 -1
  580. package/lib/components/VRangeSlider/VRangeSlider.mjs +194 -206
  581. package/lib/components/VRangeSlider/VRangeSlider.mjs.map +1 -1
  582. package/lib/components/VRangeSlider/index.mjs +1 -3
  583. package/lib/components/VRangeSlider/index.mjs.map +1 -1
  584. package/lib/components/VRating/VRating.css +58 -0
  585. package/lib/components/VRating/VRating.mjs +202 -177
  586. package/lib/components/VRating/VRating.mjs.map +1 -1
  587. package/lib/components/VRating/VRating.sass +51 -18
  588. package/lib/components/VRating/_variables.scss +9 -4
  589. package/lib/components/VRating/index.mjs +1 -3
  590. package/lib/components/VRating/index.mjs.map +1 -1
  591. package/lib/components/VResponsive/VResponsive.css +23 -0
  592. package/lib/components/VResponsive/VResponsive.mjs +24 -19
  593. package/lib/components/VResponsive/VResponsive.mjs.map +1 -1
  594. package/lib/components/VResponsive/VResponsive.sass +5 -7
  595. package/lib/components/VResponsive/index.mjs +1 -1
  596. package/lib/components/VResponsive/index.mjs.map +1 -1
  597. package/lib/components/VSelect/VSelect.css +34 -0
  598. package/lib/components/VSelect/VSelect.mjs +170 -781
  599. package/lib/components/VSelect/VSelect.mjs.map +1 -1
  600. package/lib/components/VSelect/VSelect.sass +44 -153
  601. package/lib/components/VSelect/_variables.scss +7 -21
  602. package/lib/components/VSelect/index.mjs +1 -3
  603. package/lib/components/VSelect/index.mjs.map +1 -1
  604. package/lib/components/VSelectionControl/VSelectionControl.css +97 -0
  605. package/lib/components/VSelectionControl/VSelectionControl.mjs +210 -0
  606. package/lib/components/VSelectionControl/VSelectionControl.mjs.map +1 -0
  607. package/lib/components/VSelectionControl/VSelectionControl.sass +96 -0
  608. package/lib/components/VSelectionControl/_variables.scss +9 -0
  609. package/lib/components/VSelectionControl/index.mjs +2 -0
  610. package/lib/components/VSelectionControl/index.mjs.map +1 -0
  611. package/lib/components/VSelectionControlGroup/VSelectionControlGroup.css +3 -0
  612. package/lib/components/VSelectionControlGroup/VSelectionControlGroup.mjs +64 -0
  613. package/lib/components/VSelectionControlGroup/VSelectionControlGroup.mjs.map +1 -0
  614. package/lib/components/VSelectionControlGroup/VSelectionControlGroup.sass +9 -0
  615. package/lib/components/VSelectionControlGroup/_variables.scss +4 -0
  616. package/lib/components/VSelectionControlGroup/index.mjs +2 -0
  617. package/lib/components/VSelectionControlGroup/index.mjs.map +1 -0
  618. package/lib/components/VSheet/VSheet.css +23 -0
  619. package/lib/components/VSheet/VSheet.mjs +18 -18
  620. package/lib/components/VSheet/VSheet.mjs.map +1 -1
  621. package/lib/components/VSheet/VSheet.sass +11 -7
  622. package/lib/components/VSheet/_variables.scss +15 -4
  623. package/lib/components/VSheet/index.mjs +1 -1
  624. package/lib/components/VSheet/index.mjs.map +1 -1
  625. package/lib/components/VSkeletonLoader/VSkeletonLoader.mjs +8 -8
  626. package/lib/components/VSkeletonLoader/VSkeletonLoader.mjs.map +1 -1
  627. package/lib/components/VSlideGroup/VSlideGroup.css +42 -0
  628. package/lib/components/VSlideGroup/VSlideGroup.mjs +301 -361
  629. package/lib/components/VSlideGroup/VSlideGroup.mjs.map +1 -1
  630. package/lib/components/VSlideGroup/VSlideGroup.sass +21 -25
  631. package/lib/components/VSlideGroup/VSlideGroupItem.mjs +29 -0
  632. package/lib/components/VSlideGroup/VSlideGroupItem.mjs.map +1 -0
  633. package/lib/components/VSlideGroup/_variables.scss +4 -1
  634. package/lib/components/VSlideGroup/helpers.mjs +54 -0
  635. package/lib/components/VSlideGroup/helpers.mjs.map +1 -0
  636. package/lib/components/VSlideGroup/index.mjs +2 -9
  637. package/lib/components/VSlideGroup/index.mjs.map +1 -1
  638. package/lib/components/VSlider/VSlider.css +53 -0
  639. package/lib/components/VSlider/VSlider.mjs +113 -538
  640. package/lib/components/VSlider/VSlider.mjs.map +1 -1
  641. package/lib/components/VSlider/VSlider.sass +38 -274
  642. package/lib/components/VSlider/VSliderThumb.css +142 -0
  643. package/lib/components/VSlider/VSliderThumb.mjs +165 -0
  644. package/lib/components/VSlider/VSliderThumb.mjs.map +1 -0
  645. package/lib/components/VSlider/VSliderThumb.sass +147 -0
  646. package/lib/components/VSlider/VSliderTrack.css +150 -0
  647. package/lib/components/VSlider/VSliderTrack.mjs +121 -0
  648. package/lib/components/VSlider/VSliderTrack.mjs.map +1 -0
  649. package/lib/components/VSlider/VSliderTrack.sass +159 -0
  650. package/lib/components/VSlider/_variables.scss +23 -14
  651. package/lib/components/VSlider/index.mjs +1 -3
  652. package/lib/components/VSlider/index.mjs.map +1 -1
  653. package/lib/components/VSlider/slider.mjs +300 -0
  654. package/lib/components/VSlider/slider.mjs.map +1 -0
  655. package/lib/components/VSnackbar/VSnackbar.css +137 -0
  656. package/lib/components/VSnackbar/VSnackbar.mjs +101 -168
  657. package/lib/components/VSnackbar/VSnackbar.mjs.map +1 -1
  658. package/lib/components/VSnackbar/VSnackbar.sass +43 -79
  659. package/lib/components/VSnackbar/_variables.scss +20 -25
  660. package/lib/components/VSnackbar/index.mjs +1 -3
  661. package/lib/components/VSnackbar/index.mjs.map +1 -1
  662. package/lib/components/VSparkline/VSparkline.mjs +13 -13
  663. package/lib/components/VSparkline/VSparkline.mjs.map +1 -1
  664. package/lib/components/VSparkline/helpers/path.mjs +7 -5
  665. package/lib/components/VSparkline/helpers/path.mjs.map +1 -1
  666. package/lib/components/VSpeedDial/VSpeedDial.mjs +4 -4
  667. package/lib/components/VSpeedDial/VSpeedDial.mjs.map +1 -1
  668. package/lib/components/VStepper/VStepper.mjs +2 -2
  669. package/lib/components/VStepper/VStepper.mjs.map +1 -1
  670. package/lib/components/VStepper/VStepper.sass +5 -1
  671. package/lib/components/VStepper/VStepperStep.mjs +1 -1
  672. package/lib/components/VStepper/_variables.scss +6 -5
  673. package/lib/components/VSwitch/VSwitch.css +69 -0
  674. package/lib/components/VSwitch/VSwitch.mjs +99 -107
  675. package/lib/components/VSwitch/VSwitch.mjs.map +1 -1
  676. package/lib/components/VSwitch/VSwitch.sass +71 -129
  677. package/lib/components/VSwitch/_variables.scss +10 -23
  678. package/lib/components/VSwitch/index.mjs +1 -3
  679. package/lib/components/VSwitch/index.mjs.map +1 -1
  680. package/lib/components/VSystemBar/VSystemBar.css +35 -0
  681. package/lib/components/VSystemBar/VSystemBar.mjs +52 -37
  682. package/lib/components/VSystemBar/VSystemBar.mjs.map +1 -1
  683. package/lib/components/VSystemBar/VSystemBar.sass +14 -26
  684. package/lib/components/VSystemBar/_variables.scss +27 -17
  685. package/lib/components/VSystemBar/index.mjs +1 -1
  686. package/lib/components/VSystemBar/index.mjs.map +1 -1
  687. package/lib/components/VTable/VTable.css +143 -0
  688. package/lib/components/VTable/VTable.mjs +54 -0
  689. package/lib/components/VTable/VTable.mjs.map +1 -0
  690. package/lib/components/VTable/VTable.sass +156 -0
  691. package/lib/components/VTable/_mixins.scss +25 -0
  692. package/lib/components/VTable/_variables.scss +21 -0
  693. package/lib/components/VTable/index.mjs +2 -0
  694. package/lib/components/VTable/index.mjs.map +1 -0
  695. package/lib/components/VTabs/VTab.css +29 -0
  696. package/lib/components/VTabs/VTab.mjs +109 -69
  697. package/lib/components/VTabs/VTab.mjs.map +1 -1
  698. package/lib/components/VTabs/VTab.sass +30 -0
  699. package/lib/components/VTabs/VTabs.css +71 -0
  700. package/lib/components/VTabs/VTabs.mjs +86 -283
  701. package/lib/components/VTabs/VTabs.mjs.map +1 -1
  702. package/lib/components/VTabs/VTabs.sass +40 -202
  703. package/lib/components/VTabs/_variables.scss +10 -18
  704. package/lib/components/VTabs/index.mjs +2 -15
  705. package/lib/components/VTabs/index.mjs.map +1 -1
  706. package/lib/components/VTabs/shared.mjs +2 -0
  707. package/lib/components/VTabs/shared.mjs.map +1 -0
  708. package/lib/components/VTextField/VTextField.css +70 -0
  709. package/lib/components/VTextField/VTextField.mjs +162 -483
  710. package/lib/components/VTextField/VTextField.mjs.map +1 -1
  711. package/lib/components/VTextField/VTextField.sass +56 -493
  712. package/lib/components/VTextField/_variables.scss +10 -50
  713. package/lib/components/VTextField/index.mjs +1 -3
  714. package/lib/components/VTextField/index.mjs.map +1 -1
  715. package/lib/components/VTextarea/VTextarea.css +37 -0
  716. package/lib/components/VTextarea/VTextarea.mjs +210 -74
  717. package/lib/components/VTextarea/VTextarea.mjs.map +1 -1
  718. package/lib/components/VTextarea/VTextarea.sass +35 -75
  719. package/lib/components/VTextarea/_variables.scss +2 -4
  720. package/lib/components/VTextarea/index.mjs +1 -3
  721. package/lib/components/VTextarea/index.mjs.map +1 -1
  722. package/lib/components/VThemeProvider/VThemeProvider.css +4 -0
  723. package/lib/components/VThemeProvider/VThemeProvider.mjs +23 -18
  724. package/lib/components/VThemeProvider/VThemeProvider.mjs.map +1 -1
  725. package/lib/components/VThemeProvider/index.mjs +1 -1
  726. package/lib/components/VThemeProvider/index.mjs.map +1 -1
  727. package/lib/components/VTimePicker/VTimePicker.mjs +4 -4
  728. package/lib/components/VTimePicker/VTimePicker.mjs.map +1 -1
  729. package/lib/components/VTimePicker/VTimePickerClock.mjs +9 -9
  730. package/lib/components/VTimePicker/VTimePickerClock.mjs.map +1 -1
  731. package/lib/components/VTimePicker/VTimePickerTitle.mjs +2 -2
  732. package/lib/components/VTimePicker/VTimePickerTitle.mjs.map +1 -1
  733. package/lib/components/VTimeline/VTimeline.css +399 -0
  734. package/lib/components/VTimeline/VTimeline.mjs +89 -34
  735. package/lib/components/VTimeline/VTimeline.mjs.map +1 -1
  736. package/lib/components/VTimeline/VTimeline.sass +347 -115
  737. package/lib/components/VTimeline/VTimelineDivider.mjs +76 -0
  738. package/lib/components/VTimeline/VTimelineDivider.mjs.map +1 -0
  739. package/lib/components/VTimeline/VTimelineItem.mjs +68 -90
  740. package/lib/components/VTimeline/VTimelineItem.mjs.map +1 -1
  741. package/lib/components/VTimeline/_mixins.sass +21 -32
  742. package/lib/components/VTimeline/_variables.scss +28 -15
  743. package/lib/components/VTimeline/index.mjs +2 -9
  744. package/lib/components/VTimeline/index.mjs.map +1 -1
  745. package/lib/components/VTimeline/shared.mjs +2 -0
  746. package/lib/components/VTimeline/shared.mjs.map +1 -0
  747. package/lib/components/VToolbar/VToolbar.css +145 -0
  748. package/lib/components/VToolbar/VToolbar.mjs +135 -141
  749. package/lib/components/VToolbar/VToolbar.mjs.map +1 -1
  750. package/lib/components/VToolbar/VToolbar.sass +75 -123
  751. package/lib/components/VToolbar/VToolbarItems.mjs +32 -0
  752. package/lib/components/VToolbar/VToolbarItems.mjs.map +1 -0
  753. package/lib/components/VToolbar/VToolbarTitle.mjs +34 -0
  754. package/lib/components/VToolbar/VToolbarTitle.mjs.map +1 -0
  755. package/lib/components/VToolbar/_variables.scss +65 -15
  756. package/lib/components/VToolbar/index.mjs +3 -14
  757. package/lib/components/VToolbar/index.mjs.map +1 -1
  758. package/lib/components/VTooltip/VTooltip.css +22 -0
  759. package/lib/components/VTooltip/VTooltip.mjs +73 -199
  760. package/lib/components/VTooltip/VTooltip.mjs.map +1 -1
  761. package/lib/components/VTooltip/VTooltip.sass +8 -15
  762. package/lib/components/VTooltip/_variables.scss +6 -6
  763. package/lib/components/VTooltip/index.mjs +1 -3
  764. package/lib/components/VTooltip/index.mjs.map +1 -1
  765. package/lib/components/VTreeview/VTreeview.mjs +18 -9
  766. package/lib/components/VTreeview/VTreeview.mjs.map +1 -1
  767. package/lib/components/VTreeview/VTreeviewNode.mjs +4 -2
  768. package/lib/components/VTreeview/VTreeviewNode.mjs.map +1 -1
  769. package/lib/components/VTreeview/_mixins.sass +3 -3
  770. package/lib/components/VValidation/VValidation.mjs +26 -0
  771. package/lib/components/VValidation/VValidation.mjs.map +1 -0
  772. package/lib/components/VValidation/index.mjs +2 -0
  773. package/lib/components/VValidation/index.mjs.map +1 -0
  774. package/lib/components/VVirtualScroll/VVirtualScroll.mjs +1 -1
  775. package/lib/components/VVirtualScroll/VVirtualScroll.mjs.map +1 -1
  776. package/lib/components/VWindow/VWindow.css +70 -0
  777. package/lib/components/VWindow/VWindow.mjs +158 -233
  778. package/lib/components/VWindow/VWindow.mjs.map +1 -1
  779. package/lib/components/VWindow/VWindow.sass +29 -51
  780. package/lib/components/VWindow/VWindowItem.mjs +72 -98
  781. package/lib/components/VWindow/VWindowItem.mjs.map +1 -1
  782. package/lib/components/VWindow/_variables.scss +2 -3
  783. package/lib/components/VWindow/index.mjs +2 -9
  784. package/lib/components/VWindow/index.mjs.map +1 -1
  785. package/lib/components/index.d.ts +15391 -0
  786. package/lib/components/index.mjs +75 -65
  787. package/lib/components/index.mjs.map +1 -1
  788. package/lib/components/transitions/createTransition.mjs +61 -16
  789. package/lib/components/transitions/createTransition.mjs.map +1 -1
  790. package/lib/components/transitions/dialog-transition.mjs +107 -0
  791. package/lib/components/transitions/dialog-transition.mjs.map +1 -0
  792. package/lib/components/transitions/expand-transition.mjs +6 -4
  793. package/lib/components/transitions/expand-transition.mjs.map +1 -1
  794. package/lib/components/transitions/index.mjs +1 -1
  795. package/lib/components/transitions/index.mjs.map +1 -1
  796. package/lib/composables/border.mjs +9 -7
  797. package/lib/composables/border.mjs.map +1 -1
  798. package/lib/composables/color.mjs +2 -2
  799. package/lib/composables/color.mjs.map +1 -1
  800. package/lib/composables/defaults.mjs +42 -0
  801. package/lib/composables/defaults.mjs.map +1 -0
  802. package/lib/composables/density.mjs +5 -4
  803. package/lib/composables/density.mjs.map +1 -1
  804. package/lib/composables/display.mjs +4 -3
  805. package/lib/composables/display.mjs.map +1 -1
  806. package/lib/composables/elevation.mjs +4 -3
  807. package/lib/composables/elevation.mjs.map +1 -1
  808. package/lib/composables/filter.mjs +87 -0
  809. package/lib/composables/filter.mjs.map +1 -0
  810. package/lib/composables/focus.mjs +35 -0
  811. package/lib/composables/focus.mjs.map +1 -0
  812. package/lib/composables/form.mjs +116 -0
  813. package/lib/composables/form.mjs.map +1 -0
  814. package/lib/composables/forwardRef.mjs +46 -0
  815. package/lib/composables/forwardRef.mjs.map +1 -0
  816. package/lib/composables/group.mjs +135 -45
  817. package/lib/composables/group.mjs.map +1 -1
  818. package/lib/composables/hydration.mjs +12 -0
  819. package/lib/composables/hydration.mjs.map +1 -0
  820. package/lib/composables/icons.mjs +24 -30
  821. package/lib/composables/icons.mjs.map +1 -1
  822. package/lib/composables/index.mjs +9 -0
  823. package/lib/composables/index.mjs.map +1 -0
  824. package/lib/composables/intersectionObserver.mjs +33 -0
  825. package/lib/composables/intersectionObserver.mjs.map +1 -0
  826. package/lib/composables/items.mjs +56 -0
  827. package/lib/composables/items.mjs.map +1 -0
  828. package/lib/composables/layout.mjs +157 -66
  829. package/lib/composables/layout.mjs.map +1 -1
  830. package/lib/composables/lazy.mjs +23 -0
  831. package/lib/composables/lazy.mjs.map +1 -0
  832. package/lib/composables/loader.mjs +39 -0
  833. package/lib/composables/loader.mjs.map +1 -0
  834. package/lib/composables/locale.mjs +25 -13
  835. package/lib/composables/locale.mjs.map +1 -1
  836. package/lib/composables/mutationObserver.mjs +43 -0
  837. package/lib/composables/mutationObserver.mjs.map +1 -0
  838. package/lib/composables/nested/nested.mjs +207 -0
  839. package/lib/composables/nested/nested.mjs.map +1 -0
  840. package/lib/composables/nested/openStrategies.mjs +76 -0
  841. package/lib/composables/nested/openStrategies.mjs.map +1 -0
  842. package/lib/composables/nested/selectStrategies.mjs +198 -0
  843. package/lib/composables/nested/selectStrategies.mjs.map +1 -0
  844. package/lib/composables/overlay.mjs +34 -0
  845. package/lib/composables/overlay.mjs.map +1 -0
  846. package/lib/composables/position.mjs +6 -5
  847. package/lib/composables/position.mjs.map +1 -1
  848. package/lib/composables/proxiedModel.mjs +13 -8
  849. package/lib/composables/proxiedModel.mjs.map +1 -1
  850. package/lib/composables/refs.mjs +16 -0
  851. package/lib/composables/refs.mjs.map +1 -0
  852. package/lib/composables/resizeObserver.mjs +35 -0
  853. package/lib/composables/resizeObserver.mjs.map +1 -0
  854. package/lib/composables/rounded.mjs +10 -8
  855. package/lib/composables/rounded.mjs.map +1 -1
  856. package/lib/composables/router.mjs +82 -0
  857. package/lib/composables/router.mjs.map +1 -0
  858. package/lib/composables/rtl.mjs +5 -5
  859. package/lib/composables/rtl.mjs.map +1 -1
  860. package/lib/composables/scroll.mjs +3 -2
  861. package/lib/composables/scroll.mjs.map +1 -1
  862. package/lib/composables/selectLink.mjs +19 -0
  863. package/lib/composables/selectLink.mjs.map +1 -0
  864. package/lib/composables/size.mjs +4 -3
  865. package/lib/composables/size.mjs.map +1 -1
  866. package/lib/composables/stack.mjs +36 -0
  867. package/lib/composables/stack.mjs.map +1 -0
  868. package/lib/composables/teleport.mjs +30 -0
  869. package/lib/composables/teleport.mjs.map +1 -0
  870. package/lib/composables/theme.mjs +147 -96
  871. package/lib/composables/theme.mjs.map +1 -1
  872. package/lib/composables/touch.mjs +129 -0
  873. package/lib/composables/touch.mjs.map +1 -0
  874. package/lib/composables/transition.mjs +20 -0
  875. package/lib/composables/transition.mjs.map +1 -1
  876. package/lib/composables/validation.mjs +119 -0
  877. package/lib/composables/validation.mjs.map +1 -0
  878. package/lib/composables/variant.mjs +50 -0
  879. package/lib/composables/variant.mjs.map +1 -0
  880. package/lib/directives/click-outside/index.mjs +23 -11
  881. package/lib/directives/click-outside/index.mjs.map +1 -1
  882. package/lib/directives/color/index.mjs +1 -1
  883. package/lib/directives/color/index.mjs.map +1 -1
  884. package/lib/directives/index.d.ts +58 -0
  885. package/lib/directives/index.mjs +2 -2
  886. package/lib/directives/index.mjs.map +1 -1
  887. package/lib/directives/intersect/index.mjs +26 -19
  888. package/lib/directives/intersect/index.mjs.map +1 -1
  889. package/lib/directives/mutate/index.mjs +33 -34
  890. package/lib/directives/mutate/index.mjs.map +1 -1
  891. package/lib/directives/resize/index.mjs +10 -7
  892. package/lib/directives/resize/index.mjs.map +1 -1
  893. package/lib/directives/ripple/VRipple.css +34 -0
  894. package/lib/directives/ripple/VRipple.sass +2 -1
  895. package/lib/directives/ripple/_variables.scss +4 -4
  896. package/lib/directives/ripple/index.mjs +35 -20
  897. package/lib/directives/ripple/index.mjs.map +1 -1
  898. package/lib/directives/scroll/index.mjs +9 -6
  899. package/lib/directives/scroll/index.mjs.map +1 -1
  900. package/lib/directives/touch/index.mjs +17 -7
  901. package/lib/directives/touch/index.mjs.map +1 -1
  902. package/lib/entry-bundler.mjs +8 -6
  903. package/lib/entry-bundler.mjs.map +1 -1
  904. package/lib/framework.mjs +55 -36
  905. package/lib/framework.mjs.map +1 -1
  906. package/lib/iconsets/fa-svg.d.ts +54 -0
  907. package/lib/iconsets/fa.d.ts +54 -0
  908. package/lib/iconsets/fa.mjs +1 -0
  909. package/lib/iconsets/fa.mjs.map +1 -1
  910. package/lib/iconsets/fa4.d.ts +54 -0
  911. package/lib/iconsets/fa4.mjs +2 -1
  912. package/lib/iconsets/fa4.mjs.map +1 -1
  913. package/lib/iconsets/md.d.ts +54 -0
  914. package/lib/iconsets/md.mjs +2 -1
  915. package/lib/iconsets/md.mjs.map +1 -1
  916. package/lib/iconsets/mdi-svg.d.ts +54 -0
  917. package/lib/iconsets/mdi-svg.mjs +1 -1
  918. package/lib/iconsets/mdi-svg.mjs.map +1 -1
  919. package/lib/iconsets/mdi.d.ts +54 -0
  920. package/lib/iconsets/mdi.mjs +4 -3
  921. package/lib/iconsets/mdi.mjs.map +1 -1
  922. package/lib/index.d.ts +450 -0
  923. package/lib/locale/adapters/vue-i18n.mjs +64 -0
  924. package/lib/locale/adapters/vue-i18n.mjs.map +1 -0
  925. package/lib/locale/adapters/vue-intl.mjs +67 -0
  926. package/lib/locale/adapters/vue-intl.mjs.map +1 -0
  927. package/lib/locale/af.mjs +5 -3
  928. package/lib/locale/af.mjs.map +1 -1
  929. package/lib/locale/ar.mjs +5 -3
  930. package/lib/locale/ar.mjs.map +1 -1
  931. package/lib/locale/az.mjs +5 -3
  932. package/lib/locale/az.mjs.map +1 -1
  933. package/lib/locale/bg.mjs +5 -3
  934. package/lib/locale/bg.mjs.map +1 -1
  935. package/lib/locale/ca.mjs +12 -10
  936. package/lib/locale/ca.mjs.map +1 -1
  937. package/lib/locale/ckb.mjs +5 -3
  938. package/lib/locale/ckb.mjs.map +1 -1
  939. package/lib/locale/cs.mjs +6 -4
  940. package/lib/locale/cs.mjs.map +1 -1
  941. package/lib/locale/da.mjs +72 -0
  942. package/lib/locale/da.mjs.map +1 -0
  943. package/lib/locale/de.mjs +5 -3
  944. package/lib/locale/de.mjs.map +1 -1
  945. package/lib/locale/el.mjs +5 -3
  946. package/lib/locale/el.mjs.map +1 -1
  947. package/lib/locale/en.mjs +5 -3
  948. package/lib/locale/en.mjs.map +1 -1
  949. package/lib/locale/es.mjs +6 -4
  950. package/lib/locale/es.mjs.map +1 -1
  951. package/lib/locale/et.mjs +5 -3
  952. package/lib/locale/et.mjs.map +1 -1
  953. package/lib/locale/fa.mjs +5 -3
  954. package/lib/locale/fa.mjs.map +1 -1
  955. package/lib/locale/fi.mjs +5 -3
  956. package/lib/locale/fi.mjs.map +1 -1
  957. package/lib/locale/fr.mjs +7 -5
  958. package/lib/locale/fr.mjs.map +1 -1
  959. package/lib/locale/he.mjs +5 -3
  960. package/lib/locale/he.mjs.map +1 -1
  961. package/lib/locale/hr.mjs +5 -3
  962. package/lib/locale/hr.mjs.map +1 -1
  963. package/lib/locale/hu.mjs +5 -3
  964. package/lib/locale/hu.mjs.map +1 -1
  965. package/lib/locale/id.mjs +5 -3
  966. package/lib/locale/id.mjs.map +1 -1
  967. package/lib/locale/index.d.ts +3111 -0
  968. package/lib/locale/index.mjs +1 -0
  969. package/lib/locale/index.mjs.map +1 -1
  970. package/lib/locale/it.mjs +8 -6
  971. package/lib/locale/it.mjs.map +1 -1
  972. package/lib/locale/ja.mjs +5 -3
  973. package/lib/locale/ja.mjs.map +1 -1
  974. package/lib/locale/ko.mjs +5 -3
  975. package/lib/locale/ko.mjs.map +1 -1
  976. package/lib/locale/lt.mjs +5 -3
  977. package/lib/locale/lt.mjs.map +1 -1
  978. package/lib/locale/lv.mjs +5 -3
  979. package/lib/locale/lv.mjs.map +1 -1
  980. package/lib/locale/nl.mjs +5 -3
  981. package/lib/locale/nl.mjs.map +1 -1
  982. package/lib/locale/no.mjs +5 -3
  983. package/lib/locale/no.mjs.map +1 -1
  984. package/lib/locale/pl.mjs +5 -3
  985. package/lib/locale/pl.mjs.map +1 -1
  986. package/lib/locale/pt.mjs +5 -3
  987. package/lib/locale/pt.mjs.map +1 -1
  988. package/lib/locale/ro.mjs +5 -3
  989. package/lib/locale/ro.mjs.map +1 -1
  990. package/lib/locale/ru.mjs +5 -3
  991. package/lib/locale/ru.mjs.map +1 -1
  992. package/lib/locale/sk.mjs +5 -3
  993. package/lib/locale/sk.mjs.map +1 -1
  994. package/lib/locale/sl.mjs +5 -3
  995. package/lib/locale/sl.mjs.map +1 -1
  996. package/lib/locale/sr-Cyrl.mjs +5 -3
  997. package/lib/locale/sr-Cyrl.mjs.map +1 -1
  998. package/lib/locale/sr-Latn.mjs +5 -3
  999. package/lib/locale/sr-Latn.mjs.map +1 -1
  1000. package/lib/locale/sv.mjs +5 -3
  1001. package/lib/locale/sv.mjs.map +1 -1
  1002. package/lib/locale/th.mjs +5 -3
  1003. package/lib/locale/th.mjs.map +1 -1
  1004. package/lib/locale/tr.mjs +5 -3
  1005. package/lib/locale/tr.mjs.map +1 -1
  1006. package/lib/locale/uk.mjs +5 -3
  1007. package/lib/locale/uk.mjs.map +1 -1
  1008. package/lib/locale/vi.mjs +5 -3
  1009. package/lib/locale/vi.mjs.map +1 -1
  1010. package/lib/locale/zh-Hans.mjs +5 -3
  1011. package/lib/locale/zh-Hans.mjs.map +1 -1
  1012. package/lib/locale/zh-Hant.mjs +5 -3
  1013. package/lib/locale/zh-Hant.mjs.map +1 -1
  1014. package/lib/presets/default/index.mjs +1 -1
  1015. package/lib/presets/default/index.mjs.map +1 -1
  1016. package/lib/services/goto/easing-patterns.mjs +0 -3
  1017. package/lib/services/goto/easing-patterns.mjs.map +1 -1
  1018. package/lib/services/goto/index.mjs +17 -17
  1019. package/lib/services/goto/index.mjs.map +1 -1
  1020. package/lib/services/goto/util.mjs +2 -2
  1021. package/lib/services/goto/util.mjs.map +1 -1
  1022. package/lib/styles/elements/_blockquote.sass +6 -4
  1023. package/lib/styles/elements/_global.sass +12 -8
  1024. package/lib/styles/elements/_index.sass +2 -6
  1025. package/lib/styles/generic/_colors.scss +31 -11
  1026. package/lib/styles/generic/_elevation.scss +3 -3
  1027. package/lib/styles/generic/_index.scss +6 -6
  1028. package/lib/styles/generic/_reset.scss +236 -226
  1029. package/lib/styles/generic/_transitions.scss +20 -4
  1030. package/lib/styles/main.css +18620 -0
  1031. package/lib/styles/main.sass +4 -5
  1032. package/lib/styles/settings/_colors.scss +431 -7
  1033. package/lib/styles/settings/_elevations.scss +1 -1
  1034. package/lib/styles/settings/_index.sass +4 -10
  1035. package/lib/styles/settings/_utilities.scss +514 -463
  1036. package/lib/styles/settings/_variables.scss +59 -64
  1037. package/lib/styles/tools/_absolute.sass +8 -0
  1038. package/lib/styles/tools/_border.sass +6 -1
  1039. package/lib/styles/tools/_density.sass +5 -9
  1040. package/lib/styles/tools/_display.sass +11 -0
  1041. package/lib/styles/tools/_elevation.sass +4 -2
  1042. package/lib/styles/tools/_functions.sass +32 -24
  1043. package/lib/styles/tools/_index.sass +17 -22
  1044. package/lib/styles/tools/_radius.sass +5 -2
  1045. package/lib/styles/tools/_rtl.sass +2 -0
  1046. package/lib/styles/tools/_sheet.sass +7 -4
  1047. package/lib/styles/tools/_states.sass +18 -8
  1048. package/lib/styles/tools/_theme.sass +3 -5
  1049. package/lib/styles/tools/_typography.sass +6 -0
  1050. package/lib/styles/tools/_utilities.sass +27 -24
  1051. package/lib/styles/tools/_variant.sass +53 -0
  1052. package/lib/styles/utilities/_display.sass +7 -6
  1053. package/lib/styles/utilities/_index.sass +25 -22
  1054. package/lib/styles/utilities/_text.sass +8 -7
  1055. package/lib/styles.scss +4 -0
  1056. package/lib/util/animation.mjs +43 -0
  1057. package/lib/util/animation.mjs.map +1 -0
  1058. package/lib/util/box.mjs +32 -0
  1059. package/lib/util/box.mjs.map +1 -0
  1060. package/lib/util/color/APCA.mjs +85 -0
  1061. package/lib/util/color/APCA.mjs.map +1 -0
  1062. package/lib/util/colorUtils.mjs +10 -7
  1063. package/lib/util/colorUtils.mjs.map +1 -1
  1064. package/lib/util/console.mjs +8 -7
  1065. package/lib/util/console.mjs.map +1 -1
  1066. package/lib/util/createSimpleFunctional.mjs +18 -11
  1067. package/lib/util/createSimpleFunctional.mjs.map +1 -1
  1068. package/lib/util/dateTimeUtils.mjs +3 -1
  1069. package/lib/util/dateTimeUtils.mjs.map +1 -1
  1070. package/lib/util/defineComponent.mjs +92 -0
  1071. package/lib/util/defineComponent.mjs.map +1 -0
  1072. package/lib/util/easing.mjs +5 -0
  1073. package/lib/util/easing.mjs.map +1 -0
  1074. package/lib/util/getCurrentInstance.mjs +19 -0
  1075. package/lib/util/getCurrentInstance.mjs.map +1 -0
  1076. package/lib/util/getScrollParent.mjs +24 -0
  1077. package/lib/util/getScrollParent.mjs.map +1 -0
  1078. package/lib/util/globals.mjs +1 -0
  1079. package/lib/util/globals.mjs.map +1 -1
  1080. package/lib/util/helpers.mjs +194 -41
  1081. package/lib/util/helpers.mjs.map +1 -1
  1082. package/lib/util/index.mjs +6 -2
  1083. package/lib/util/isFixedPosition.mjs +12 -0
  1084. package/lib/util/isFixedPosition.mjs.map +1 -0
  1085. package/lib/util/propsFactory.mjs.map +1 -1
  1086. package/lib/util/useRender.mjs +4 -2
  1087. package/lib/util/useRender.mjs.map +1 -1
  1088. package/package.json +109 -42
  1089. package/dist/vuetify.css.map +0 -1
  1090. package/lib/components/VApp/_index.scss +0 -1
  1091. package/lib/components/VAvatar/_index.scss +0 -2
  1092. package/lib/components/VBadge/_index.scss +0 -2
  1093. package/lib/components/VBanner/_index.scss +0 -2
  1094. package/lib/components/VBtn/_index.scss +0 -3
  1095. package/lib/components/VCheckbox/VSimpleCheckbox.mjs +0 -92
  1096. package/lib/components/VCheckbox/VSimpleCheckbox.mjs.map +0 -1
  1097. package/lib/components/VCheckbox/VSimpleCheckbox.sass +0 -16
  1098. package/lib/components/VDataTable/VSimpleTable.mjs +0 -48
  1099. package/lib/components/VDataTable/VSimpleTable.mjs.map +0 -1
  1100. package/lib/components/VDataTable/VSimpleTable.sass +0 -179
  1101. package/lib/components/VDivider/_index.scss +0 -2
  1102. package/lib/components/VExpansionPanel/VExpansionPanelContent.mjs +0 -47
  1103. package/lib/components/VExpansionPanel/VExpansionPanelContent.mjs.map +0 -1
  1104. package/lib/components/VExpansionPanel/VExpansionPanelHeader.mjs +0 -112
  1105. package/lib/components/VExpansionPanel/VExpansionPanelHeader.mjs.map +0 -1
  1106. package/lib/components/VFooter/_index.scss +0 -2
  1107. package/lib/components/VGrid/_index.scss +0 -2
  1108. package/lib/components/VIcon/_index.scss +0 -2
  1109. package/lib/components/VImg/_index.scss +0 -2
  1110. package/lib/components/VLayout/_index.scss +0 -1
  1111. package/lib/components/VList/VListGroup.sass +0 -111
  1112. package/lib/components/VList/VListItemGroup.mjs +0 -41
  1113. package/lib/components/VList/VListItemGroup.mjs.map +0 -1
  1114. package/lib/components/VList/VListItemGroup.sass +0 -5
  1115. package/lib/components/VList/_mixins.sass +0 -18
  1116. package/lib/components/VMain/_index.scss +0 -2
  1117. package/lib/components/VNavigationDrawer/_index.scss +0 -2
  1118. package/lib/components/VParallax/_variables.scss +0 -4
  1119. package/lib/components/VRadioGroup/VRadio.mjs +0 -179
  1120. package/lib/components/VRadioGroup/VRadio.mjs.map +0 -1
  1121. package/lib/components/VRadioGroup/VRadio.sass +0 -25
  1122. package/lib/components/VRangeSlider/VRangeSlider.sass +0 -19
  1123. package/lib/components/VResponsive/_index.scss +0 -1
  1124. package/lib/components/VSelect/VSelectList.mjs +0 -251
  1125. package/lib/components/VSelect/VSelectList.mjs.map +0 -1
  1126. package/lib/components/VSheet/_index.scss +0 -2
  1127. package/lib/components/VSlideGroup/VSlideItem.mjs +0 -14
  1128. package/lib/components/VSlideGroup/VSlideItem.mjs.map +0 -1
  1129. package/lib/components/VSubheader/VSubheader.mjs +0 -31
  1130. package/lib/components/VSubheader/VSubheader.mjs.map +0 -1
  1131. package/lib/components/VSubheader/VSubheader.sass +0 -15
  1132. package/lib/components/VSubheader/_variables.scss +0 -6
  1133. package/lib/components/VSubheader/index.mjs +0 -4
  1134. package/lib/components/VSubheader/index.mjs.map +0 -1
  1135. package/lib/components/VSystemBar/_index.scss +0 -2
  1136. package/lib/components/VTabs/VTabItem.mjs +0 -23
  1137. package/lib/components/VTabs/VTabItem.mjs.map +0 -1
  1138. package/lib/components/VTabs/VTabsBar.mjs +0 -86
  1139. package/lib/components/VTabs/VTabsBar.mjs.map +0 -1
  1140. package/lib/components/VTabs/VTabsItems.mjs +0 -37
  1141. package/lib/components/VTabs/VTabsItems.mjs.map +0 -1
  1142. package/lib/components/VTabs/VTabsSlider.mjs +0 -20
  1143. package/lib/components/VTabs/VTabsSlider.mjs.map +0 -1
  1144. package/lib/components/VTextField/_mixins.sass +0 -18
  1145. package/lib/components/VToolbar/_index.scss +0 -2
  1146. package/lib/entry.mjs +0 -4
  1147. package/lib/entry.mjs.map +0 -1
  1148. package/lib/globals.d.mjs +0 -2
  1149. package/lib/globals.d.mjs.map +0 -1
  1150. package/lib/mixins/activatable/index.mjs +0 -196
  1151. package/lib/mixins/activatable/index.mjs.map +0 -1
  1152. package/lib/mixins/applicationable/index.mjs +0 -72
  1153. package/lib/mixins/applicationable/index.mjs.map +0 -1
  1154. package/lib/mixins/binds-attrs/index.mjs +0 -42
  1155. package/lib/mixins/binds-attrs/index.mjs.map +0 -1
  1156. package/lib/mixins/bootable/index.mjs +0 -54
  1157. package/lib/mixins/bootable/index.mjs.map +0 -1
  1158. package/lib/mixins/button-group/index.mjs +0 -28
  1159. package/lib/mixins/button-group/index.mjs.map +0 -1
  1160. package/lib/mixins/colorable/index.mjs +0 -78
  1161. package/lib/mixins/colorable/index.mjs.map +0 -1
  1162. package/lib/mixins/comparable/index.mjs +0 -15
  1163. package/lib/mixins/comparable/index.mjs.map +0 -1
  1164. package/lib/mixins/dependent/index.mjs +0 -73
  1165. package/lib/mixins/dependent/index.mjs.map +0 -1
  1166. package/lib/mixins/detachable/index.mjs +0 -128
  1167. package/lib/mixins/detachable/index.mjs.map +0 -1
  1168. package/lib/mixins/elevatable/index.mjs +0 -26
  1169. package/lib/mixins/elevatable/index.mjs.map +0 -1
  1170. package/lib/mixins/filterable/index.mjs +0 -16
  1171. package/lib/mixins/filterable/index.mjs.map +0 -1
  1172. package/lib/mixins/intersectable/index.mjs +0 -53
  1173. package/lib/mixins/intersectable/index.mjs.map +0 -1
  1174. package/lib/mixins/loadable/index.mjs +0 -45
  1175. package/lib/mixins/loadable/index.mjs.map +0 -1
  1176. package/lib/mixins/localable/index.mjs +0 -17
  1177. package/lib/mixins/localable/index.mjs.map +0 -1
  1178. package/lib/mixins/menuable/index.mjs +0 -361
  1179. package/lib/mixins/menuable/index.mjs.map +0 -1
  1180. package/lib/mixins/mobile/index.mjs +0 -50
  1181. package/lib/mixins/mobile/index.mjs.map +0 -1
  1182. package/lib/mixins/overlayable/index.mjs +0 -201
  1183. package/lib/mixins/overlayable/index.mjs.map +0 -1
  1184. package/lib/mixins/picker/index.mjs +0 -75
  1185. package/lib/mixins/picker/index.mjs.map +0 -1
  1186. package/lib/mixins/picker-button/index.mjs +0 -35
  1187. package/lib/mixins/picker-button/index.mjs.map +0 -1
  1188. package/lib/mixins/proxyable/index.mjs +0 -50
  1189. package/lib/mixins/proxyable/index.mjs.map +0 -1
  1190. package/lib/mixins/returnable/index.mjs +0 -36
  1191. package/lib/mixins/returnable/index.mjs.map +0 -1
  1192. package/lib/mixins/rippleable/index.mjs +0 -35
  1193. package/lib/mixins/rippleable/index.mjs.map +0 -1
  1194. package/lib/mixins/roundable/index.mjs +0 -37
  1195. package/lib/mixins/roundable/index.mjs.map +0 -1
  1196. package/lib/mixins/routable/index.mjs +0 -146
  1197. package/lib/mixins/routable/index.mjs.map +0 -1
  1198. package/lib/mixins/selectable/index.mjs +0 -167
  1199. package/lib/mixins/selectable/index.mjs.map +0 -1
  1200. package/lib/mixins/stackable/index.mjs +0 -55
  1201. package/lib/mixins/stackable/index.mjs.map +0 -1
  1202. package/lib/mixins/themeable/index.mjs +0 -111
  1203. package/lib/mixins/themeable/index.mjs.map +0 -1
  1204. package/lib/mixins/toggleable/index.mjs +0 -40
  1205. package/lib/mixins/toggleable/index.mjs.map +0 -1
  1206. package/lib/mixins/transitionable/index.mjs +0 -13
  1207. package/lib/mixins/transitionable/index.mjs.map +0 -1
  1208. package/lib/mixins/translatable/index.mjs +0 -59
  1209. package/lib/mixins/translatable/index.mjs.map +0 -1
  1210. package/lib/mixins/validatable/index.mjs +0 -263
  1211. package/lib/mixins/validatable/index.mjs.map +0 -1
  1212. package/lib/services/application/index.mjs +0 -44
  1213. package/lib/services/application/index.mjs.map +0 -1
  1214. package/lib/services/breakpoint/index.mjs +0 -151
  1215. package/lib/services/breakpoint/index.mjs.map +0 -1
  1216. package/lib/services/index.mjs +0 -10
  1217. package/lib/services/index.mjs.map +0 -1
  1218. package/lib/services/lang/index.mjs +0 -69
  1219. package/lib/services/lang/index.mjs.map +0 -1
  1220. package/lib/services/service/index.mjs +0 -8
  1221. package/lib/services/service/index.mjs.map +0 -1
  1222. package/lib/styles/components/_index.sass +0 -1
  1223. package/lib/styles/components/_selection-controls.sass +0 -119
  1224. package/lib/styles/elements/_code.sass +0 -23
  1225. package/lib/styles/elements/_headings.sass +0 -8
  1226. package/lib/styles/elements/_lists.sass +0 -3
  1227. package/lib/styles/elements/_typography.sass +0 -88
  1228. package/lib/styles/settings/_dark.scss +0 -145
  1229. package/lib/styles/settings/_light.scss +0 -126
  1230. package/lib/styles/settings/_theme.scss +0 -1
  1231. package/lib/styles/styles.sass +0 -2
  1232. package/lib/util/makeProps.mjs +0 -52
  1233. package/lib/util/makeProps.mjs.map +0 -1
  1234. package/lib/util/useDirective.mjs +0 -7
  1235. package/lib/util/useDirective.mjs.map +0 -1
  1236. package/types/.npmignore +0 -2
  1237. package/types/alacarte.d.ts +0 -49
  1238. package/types/colors.d.ts +0 -107
  1239. package/types/index.d.ts +0 -300
  1240. package/types/lib.d.ts +0 -380
  1241. package/types/services/application.d.ts +0 -27
  1242. package/types/services/breakpoint.d.ts +0 -45
  1243. package/types/services/goto.d.ts +0 -31
  1244. package/types/services/icons.d.ts +0 -71
  1245. package/types/services/index.d.ts +0 -16
  1246. package/types/services/lang.d.ts +0 -19
  1247. package/types/services/theme.d.ts +0 -83
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/composables/locale.ts"],"names":["computed","inject","provide","consoleError","consoleWarn","getObjectValueByPath","wrapInRef","en","VuetifyLocaleAdapterSymbol","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","t","rootScope","defaultLocale","currentScope","newScope","locale"],"mappings":"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","sourcesContent":["import { computed, inject, provide } from 'vue'\nimport { consoleError, consoleWarn, getObjectValueByPath, wrapInRef } 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\nexport interface LocaleAdapter {\n createRoot: (app: App) => LocaleInstance\n getScope: () => LocaleInstance\n createScope: (options?: LocaleProps) => LocaleInstance\n}\n\nexport const VuetifyLocaleAdapterSymbol: 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(VuetifyLocaleAdapterSymbol)\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(VuetifyLocaleAdapterSymbol)\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\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 = wrapInRef(options.current)\n const fallback = wrapInRef(options.fallback)\n const messages = wrapInRef(options.messages)\n\n return { current, fallback, messages, t: createTranslateFunction(current, fallback, messages) }\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,"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":"AAAA,SAASA,QAAT,EAAmBC,MAAnB,EAA2BC,OAA3B,EAAoCC,GAApC,QAA+C,KAA/C;SACSC,Y,EAAcC,W,EAAaC,oB;OAE7BC,E,0BAEP;;AAkCA,OAAO,MAAMC,mBAAgD,GAAGC,MAAM,CAACC,GAAP,CAAW,wBAAX,CAAzD;AACP,OAAO,MAAMC,mBAAiD,GAAGF,MAAM,CAACC,GAAP,CAAW,gBAAX,CAA1D;AAEP,OAAO,SAASE,aAAT,CAAwBC,KAAxB,EAA6C;AAClD,QAAMC,OAAO,GAAGb,MAAM,CAACO,mBAAD,CAAtB;AAEA,MAAI,CAACM,OAAL,EAAc,MAAM,IAAIC,KAAJ,CAAU,kDAAV,CAAN;AAEd,SAAOD,OAAO,CAACE,WAAR,CAAoBH,KAApB,CAAP;AACD;AAED,OAAO,SAASI,SAAT,GAAsB;AAC3B,QAAMH,OAAO,GAAGb,MAAM,CAACO,mBAAD,CAAtB;AAEA,MAAI,CAACM,OAAL,EAAc,MAAM,IAAIC,KAAJ,CAAU,kDAAV,CAAN;AAEd,SAAOD,OAAO,CAACI,QAAR,EAAP;AACD;;AAED,SAASC,eAAT,CAA0BC,CAA1B,EAAsD;AACpD,SAAO,CAAC,CAACA,CAAF,IAAOA,CAAC,CAACC,cAAF,CAAiB,UAAjB,CAAP,IAAuCD,CAAC,CAACC,cAAF,CAAiB,aAAjB,CAAvC,IAA0ED,CAAC,CAACC,cAAF,CAAiB,YAAjB,CAAjF;AACD;;AAED,OAAO,SAASC,mBAAT,CAA8BC,GAA9B,EAAwCC,OAAxC,EAAiF;AACtF,QAAMV,OAAO,GAAGK,eAAe,CAACK,OAAD,CAAf,GAA2BA,OAA3B,GAAqCC,0BAA0B,CAACD,OAAD,CAA/E;AAEA,QAAME,YAAY,GAAGZ,OAAO,CAACa,UAAR,CAAmBJ,GAAnB,CAArB;AAEA,SAAO;AAAET,IAAAA,OAAF;AAAWY,IAAAA;AAAX,GAAP;AACD;AAED,MAAME,WAAW,GAAG,WAApB;;AAEA,MAAMC,OAAO,GAAG,CAACC,GAAD,EAAcC,MAAd,KAAoC;AAClD,SAAOD,GAAG,CAACD,OAAJ,CAAY,YAAZ,EAA0B,CAACG,KAAD,EAAgBC,KAAhB,KAAkC;AACjE;AACA,WAAOC,MAAM,CAACH,MAAM,CAAC,CAACE,KAAF,CAAP,CAAb;AACD,GAHM,CAAP;AAID,CALD;;AAOA,MAAME,uBAAuB,GAAG,CAC9BC,OAD8B,EAE9BC,QAF8B,EAG9BC,QAH8B,KAI3B;AACH,SAAO,UAACC,GAAD,EAAuC;AAAA,sCAAtBR,MAAsB;AAAtBA,MAAAA,MAAsB;AAAA;;AAC5C,QAAI,CAACQ,GAAG,CAACC,UAAJ,CAAeZ,WAAf,CAAL,EAAkC;AAChC,aAAOC,OAAO,CAACU,GAAD,EAAMR,MAAN,CAAd;AACD;;AAED,UAAMU,QAAQ,GAAGF,GAAG,CAACV,OAAJ,CAAYD,WAAZ,EAAyB,EAAzB,CAAjB;AACA,UAAMc,aAAa,GAAGN,OAAO,CAACO,KAAR,IAAiBL,QAAQ,CAACK,KAAT,CAAeP,OAAO,CAACO,KAAvB,CAAvC;AACA,UAAMC,cAAc,GAAGP,QAAQ,CAACM,KAAT,IAAkBL,QAAQ,CAACK,KAAT,CAAeN,QAAQ,CAACM,KAAxB,CAAzC;AAEA,QAAIb,GAAW,GAAGxB,oBAAoB,CAACoC,aAAD,EAAgBD,QAAhB,EAA0B,IAA1B,CAAtC;;AAEA,QAAI,CAACX,GAAL,EAAU;AACRzB,MAAAA,WAAW,CAAE,oBAAmBkC,GAAI,mBAAkBH,OAAO,CAACO,KAAM,2BAAzD,CAAX;AACAb,MAAAA,GAAG,GAAGxB,oBAAoB,CAACsC,cAAD,EAAiBH,QAAjB,EAA2B,IAA3B,CAA1B;AACD;;AAED,QAAI,CAACX,GAAL,EAAU;AACR1B,MAAAA,YAAY,CAAE,oBAAmBmC,GAAI,yBAAzB,CAAZ;AACAT,MAAAA,GAAG,GAAGS,GAAN;AACD;;AAED,QAAI,OAAOT,GAAP,KAAe,QAAnB,EAA6B;AAC3B1B,MAAAA,YAAY,CAAE,oBAAmBmC,GAAI,0BAAzB,CAAZ;AACAT,MAAAA,GAAG,GAAGS,GAAN;AACD;;AAED,WAAOV,OAAO,CAACC,GAAD,EAAMC,MAAN,CAAd;AACD,GA3BD;AA4BD,CAjCD;;AAmCA,SAASc,oBAAT,CAA+BT,OAA/B,EAAqDC,QAArD,EAA4E;AAC1E,SAAO,CAACM,KAAD,EAAgBnB,OAAhB,KAAuD;AAC5D,UAAMsB,YAAY,GAAG,IAAIC,IAAI,CAACC,YAAT,CAAsB,CAACZ,OAAO,CAACO,KAAT,EAAgBN,QAAQ,CAACM,KAAzB,CAAtB,EAAuDnB,OAAvD,CAArB;AAEA,WAAOsB,YAAY,CAACG,MAAb,CAAoBN,KAApB,CAAP;AACD,GAJD;AAKD;;AAED,OAAO,SAASlB,0BAAT,CAAqCD,OAArC,EAA6E;AAClF,QAAMR,WAAW,GAAIQ,OAAD,IAId;AACJ,UAAMY,OAAO,GAAGjC,GAAG,CAACqB,OAAO,CAACY,OAAT,CAAnB;AACA,UAAMC,QAAQ,GAAGlC,GAAG,CAACqB,OAAO,CAACa,QAAT,CAApB;AACA,UAAMC,QAAQ,GAAGnC,GAAG,CAACqB,OAAO,CAACc,QAAT,CAApB;AAEA,WAAO;AACLF,MAAAA,OADK;AAELC,MAAAA,QAFK;AAGLC,MAAAA,QAHK;AAILY,MAAAA,CAAC,EAAEf,uBAAuB,CAACC,OAAD,EAAUC,QAAV,EAAoBC,QAApB,CAJrB;AAKLa,MAAAA,CAAC,EAAEN,oBAAoB,CAACT,OAAD,EAAUC,QAAV;AALlB,KAAP;AAOD,GAhBD;;AAkBA,SAAO;AACLV,IAAAA,UAAU,EAAEJ,GAAG,IAAI;AAAA;;AACjB,YAAM6B,SAAS,GAAGpC,WAAW,CAAC;AAC5BoB,QAAAA,OAAO,2BAAEZ,OAAF,oBAAEA,OAAO,CAAE6B,aAAX,oCAA4B,IADP;AAE5BhB,QAAAA,QAAQ,2BAAEb,OAAF,oBAAEA,OAAO,CAAEoB,cAAX,oCAA6B,IAFT;AAG5BN,QAAAA,QAAQ,uBAAEd,OAAF,oBAAEA,OAAO,CAAEc,QAAX,gCAAuB;AAAE/B,UAAAA;AAAF;AAHH,OAAD,CAA7B;AAMAgB,MAAAA,GAAG,CAACrB,OAAJ,CAAYS,mBAAZ,EAAiCyC,SAAjC;AAEA,aAAOA,SAAP;AACD,KAXI;AAYLlC,IAAAA,QAAQ,EAAE,MAAM;AACd,YAAMoC,YAAY,GAAGrD,MAAM,CAACU,mBAAD,CAA3B;AAEA,UAAI,CAAC2C,YAAL,EAAmB,MAAM,IAAIvC,KAAJ,CAAU,mDAAV,CAAN;AAEnB,aAAOuC,YAAP;AACD,KAlBI;AAmBLtC,IAAAA,WAAW,EAAEQ,OAAO,IAAI;AACtB,YAAM8B,YAAY,GAAGrD,MAAM,CAACU,mBAAD,CAA3B;AAEA,UAAI,CAAC2C,YAAL,EAAmB,MAAM,IAAIvC,KAAJ,CAAU,mDAAV,CAAN;AAEnB,YAAMwC,QAAQ,GAAGvC,WAAW,CAAC;AAC3BoB,QAAAA,OAAO,EAAEpC,QAAQ,CAAC;AAAA;;AAAA,oCAAMwB,OAAN,oBAAMA,OAAO,CAAEgC,MAAf,8BAAyBF,YAAY,CAAClB,OAAb,CAAqBO,KAA9C;AAAA,SAAD,CADU;AAE3BN,QAAAA,QAAQ,EAAErC,QAAQ,CAAC;AAAA;;AAAA,qCAAMwB,OAAN,oBAAMA,OAAO,CAAEgC,MAAf,+BAAyBF,YAAY,CAACjB,QAAb,CAAsBM,KAA/C;AAAA,SAAD,CAFS;AAG3BL,QAAAA,QAAQ,EAAEtC,QAAQ,CAAC;AAAA;;AAAA,uCAAMwB,OAAN,oBAAMA,OAAO,CAAEc,QAAf,iCAA2BgB,YAAY,CAAChB,QAAb,CAAsBK,KAAjD;AAAA,SAAD;AAHS,OAAD,CAA5B;AAMAzC,MAAAA,OAAO,CAACS,mBAAD,EAAsB4C,QAAtB,CAAP;AAEA,aAAOA,QAAP;AACD;AAjCI,GAAP;AAmCD","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"}
@@ -0,0 +1,43 @@
1
+ // Utilities
2
+ import { isComponentInstance } from "../util/index.mjs";
3
+ import { onBeforeUnmount, onMounted, ref, watch } from 'vue'; // Types
4
+
5
+ export function useMutationObserver(handler, options) {
6
+ const mutationRef = ref();
7
+ const {
8
+ once,
9
+ immediate,
10
+ ...optionKeys
11
+ } = options || {};
12
+ const defaultValue = !Object.keys(optionKeys).length;
13
+ const observer = new MutationObserver((mutations, observer) => {
14
+ handler == null ? void 0 : handler(mutations, observer);
15
+ if (options != null && options.once) observer.disconnect();
16
+ });
17
+ onMounted(() => {
18
+ if (!(options != null && options.immediate)) return;
19
+ handler == null ? void 0 : handler([], observer);
20
+ });
21
+ onBeforeUnmount(() => {
22
+ observer.disconnect();
23
+ });
24
+ watch(mutationRef, (newValue, oldValue) => {
25
+ var _options$attr, _options$char, _options$child, _options$sub;
26
+
27
+ if (oldValue) observer.disconnect();
28
+ const el = isComponentInstance(newValue) ? newValue.$el : newValue;
29
+ if (!el) return;
30
+ observer.observe(el, {
31
+ attributes: (_options$attr = options == null ? void 0 : options.attr) != null ? _options$attr : defaultValue,
32
+ characterData: (_options$char = options == null ? void 0 : options.char) != null ? _options$char : defaultValue,
33
+ childList: (_options$child = options == null ? void 0 : options.child) != null ? _options$child : defaultValue,
34
+ subtree: (_options$sub = options == null ? void 0 : options.sub) != null ? _options$sub : defaultValue
35
+ });
36
+ }, {
37
+ flush: 'post'
38
+ });
39
+ return {
40
+ mutationRef
41
+ };
42
+ }
43
+ //# sourceMappingURL=mutationObserver.mjs.map
@@ -0,0 +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"}
@@ -0,0 +1,207 @@
1
+ import { useProxiedModel } from "../proxiedModel.mjs";
2
+ import { getCurrentInstance, getUid, propsFactory } from "../../util/index.mjs";
3
+ import { computed, inject, onBeforeUnmount, provide, ref } from 'vue';
4
+ import { listOpenStrategy, multipleOpenStrategy, singleOpenStrategy } from "./openStrategies.mjs";
5
+ import { classicSelectStrategy, independentSelectStrategy, independentSingleSelectStrategy, leafSelectStrategy, leafSingleSelectStrategy } from "./selectStrategies.mjs"; // Types
6
+
7
+ export const VNestedSymbol = Symbol.for('vuetify:nested');
8
+ export const emptyNested = {
9
+ id: ref(),
10
+ root: {
11
+ register: () => null,
12
+ unregister: () => null,
13
+ parents: ref(new Map()),
14
+ children: ref(new Map()),
15
+ open: () => null,
16
+ select: () => null,
17
+ opened: ref(new Set()),
18
+ selected: ref(new Map()),
19
+ selectedValues: ref([])
20
+ }
21
+ };
22
+ export const makeNestedProps = propsFactory({
23
+ selectStrategy: [String, Function],
24
+ openStrategy: [String, Function],
25
+ opened: Array,
26
+ selected: Array,
27
+ mandatory: Boolean
28
+ }, 'nested');
29
+ export const useNested = props => {
30
+ let isUnmounted = false;
31
+ const children = ref(new Map());
32
+ const parents = ref(new Map());
33
+ const opened = useProxiedModel(props, 'opened', props.opened, v => new Set(v), v => [...v.values()]);
34
+ const selectStrategy = computed(() => {
35
+ if (typeof props.selectStrategy === 'object') return props.selectStrategy;
36
+
37
+ switch (props.selectStrategy) {
38
+ case 'single-leaf':
39
+ return leafSingleSelectStrategy(props.mandatory);
40
+
41
+ case 'leaf':
42
+ return leafSelectStrategy(props.mandatory);
43
+
44
+ case 'independent':
45
+ return independentSelectStrategy(props.mandatory);
46
+
47
+ case 'single-independent':
48
+ return independentSingleSelectStrategy(props.mandatory);
49
+
50
+ case 'classic':
51
+ default:
52
+ return classicSelectStrategy(props.mandatory);
53
+ }
54
+ });
55
+ const openStrategy = computed(() => {
56
+ if (typeof props.openStrategy === 'function') return props.openStrategy;
57
+
58
+ switch (props.openStrategy) {
59
+ case 'list':
60
+ return listOpenStrategy;
61
+
62
+ case 'single':
63
+ return singleOpenStrategy;
64
+
65
+ case 'multiple':
66
+ default:
67
+ return multipleOpenStrategy;
68
+ }
69
+ });
70
+ const selected = useProxiedModel(props, 'selected', props.selected, v => selectStrategy.value.in(v, children.value, parents.value), v => selectStrategy.value.out(v, children.value, parents.value));
71
+ onBeforeUnmount(() => {
72
+ isUnmounted = true;
73
+ });
74
+
75
+ function getPath(id) {
76
+ const path = [];
77
+ let parent = id;
78
+
79
+ while (parent != null) {
80
+ path.unshift(parent);
81
+ parent = parents.value.get(parent);
82
+ }
83
+
84
+ return path;
85
+ }
86
+
87
+ const vm = getCurrentInstance('nested');
88
+ const nested = {
89
+ id: ref(),
90
+ root: {
91
+ opened,
92
+ selected,
93
+ selectedValues: computed(() => {
94
+ const arr = [];
95
+
96
+ for (const [key, value] of selected.value.entries()) {
97
+ if (value === 'on') arr.push(key);
98
+ }
99
+
100
+ return arr;
101
+ }),
102
+ register: (id, parentId, isGroup) => {
103
+ parentId && id !== parentId && parents.value.set(id, parentId);
104
+ isGroup && children.value.set(id, []);
105
+
106
+ if (parentId != null) {
107
+ children.value.set(parentId, [...(children.value.get(parentId) || []), id]);
108
+ }
109
+ },
110
+ unregister: id => {
111
+ if (isUnmounted) return;
112
+ children.value.delete(id);
113
+ const parent = parents.value.get(id);
114
+
115
+ if (parent) {
116
+ var _children$value$get;
117
+
118
+ const list = (_children$value$get = children.value.get(parent)) != null ? _children$value$get : [];
119
+ children.value.set(parent, list.filter(child => child !== id));
120
+ }
121
+
122
+ parents.value.delete(id);
123
+ opened.value.delete(id);
124
+ },
125
+ open: (id, value, event) => {
126
+ vm.emit('click:open', {
127
+ id,
128
+ value,
129
+ path: getPath(id),
130
+ event
131
+ });
132
+ const newOpened = openStrategy.value.open({
133
+ id,
134
+ value,
135
+ opened: new Set(opened.value),
136
+ children: children.value,
137
+ parents: parents.value,
138
+ event
139
+ });
140
+ newOpened && (opened.value = newOpened);
141
+ },
142
+ select: (id, value, event) => {
143
+ vm.emit('click:select', {
144
+ id,
145
+ value,
146
+ path: getPath(id),
147
+ event
148
+ });
149
+ const newSelected = selectStrategy.value.select({
150
+ id,
151
+ value,
152
+ selected: new Map(selected.value),
153
+ children: children.value,
154
+ parents: parents.value,
155
+ event
156
+ });
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);
168
+ },
169
+ children,
170
+ parents
171
+ }
172
+ };
173
+ provide(VNestedSymbol, nested);
174
+ return nested.root;
175
+ };
176
+ export const useNestedItem = (id, isGroup) => {
177
+ const parent = inject(VNestedSymbol, emptyNested);
178
+ const computedId = computed(() => {
179
+ var _id$value;
180
+
181
+ return (_id$value = id.value) != null ? _id$value : getUid().toString();
182
+ });
183
+ const item = { ...parent,
184
+ id: computedId,
185
+ open: (open, e) => parent.root.open(computedId.value, open, e),
186
+ isOpen: computed(() => parent.root.opened.value.has(computedId.value)),
187
+ parent: computed(() => parent.root.parents.value.get(computedId.value)),
188
+ select: (selected, e) => parent.root.select(computedId.value, selected, e),
189
+ isSelected: computed(() => parent.root.selected.value.get(computedId.value) === 'on'),
190
+ isIndeterminate: computed(() => parent.root.selected.value.get(computedId.value) === 'indeterminate'),
191
+ isLeaf: computed(() => !parent.root.children.value.get(computedId.value)),
192
+ isGroupActivator: parent.isGroupActivator
193
+ };
194
+ !parent.isGroupActivator && parent.root.register(computedId.value, parent.id.value, isGroup);
195
+ onBeforeUnmount(() => {
196
+ !parent.isGroupActivator && parent.root.unregister(computedId.value);
197
+ });
198
+ isGroup && provide(VNestedSymbol, item);
199
+ return item;
200
+ };
201
+ export const useNestedGroupActivator = () => {
202
+ const parent = inject(VNestedSymbol, emptyNested);
203
+ provide(VNestedSymbol, { ...parent,
204
+ isGroupActivator: true
205
+ });
206
+ };
207
+ //# sourceMappingURL=nested.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/composables/nested/nested.ts"],"names":["useProxiedModel","getCurrentInstance","getUid","propsFactory","computed","inject","onBeforeUnmount","provide","ref","listOpenStrategy","multipleOpenStrategy","singleOpenStrategy","classicSelectStrategy","independentSelectStrategy","independentSingleSelectStrategy","leafSelectStrategy","leafSingleSelectStrategy","VNestedSymbol","Symbol","for","emptyNested","id","root","register","unregister","parents","Map","children","open","select","opened","Set","selected","selectedValues","makeNestedProps","selectStrategy","String","Function","openStrategy","Array","mandatory","Boolean","useNested","props","isUnmounted","v","values","value","in","out","getPath","path","parent","unshift","get","vm","nested","arr","key","entries","push","parentId","isGroup","set","delete","list","filter","child","event","emit","newOpened","newSelected","useNestedItem","computedId","toString","item","e","isOpen","has","isSelected","isIndeterminate","isLeaf","isGroupActivator","useNestedGroupActivator"],"mappings":"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","sourcesContent":["import { useProxiedModel } from '@/composables/proxiedModel'\nimport { getCurrentInstance, getUid, propsFactory } from '@/util'\nimport { computed, inject, onBeforeUnmount, provide, ref } from 'vue'\nimport { listOpenStrategy, multipleOpenStrategy, singleOpenStrategy } from './openStrategies'\nimport {\n classicSelectStrategy,\n independentSelectStrategy,\n independentSingleSelectStrategy,\n leafSelectStrategy,\n leafSingleSelectStrategy,\n} from './selectStrategies'\n\n// Types\nimport type { InjectionKey, Prop, Ref } from 'vue'\nimport type { SelectStrategyFn } from './selectStrategies'\nimport type { OpenStrategy } from './openStrategies'\n\nexport type SelectStrategy = 'single-leaf' | 'leaf' | 'independent' | 'single-independent' | 'classic' | SelectStrategyFn\nexport type OpenStrategyProp = 'single' | 'multiple' | 'list' | OpenStrategy\n\nexport interface NestedProps {\n selectStrategy: SelectStrategy | undefined\n openStrategy: OpenStrategyProp | undefined\n selected: string[] | undefined\n opened: string[] | undefined\n mandatory: boolean\n 'onUpdate:selected': ((val: string[]) => void) | undefined\n 'onUpdate:opened': ((val: string[]) => void) | undefined\n}\n\ntype NestedProvide = {\n id: Ref<string | undefined>\n isGroupActivator?: boolean\n root: {\n children: Ref<Map<string, string[]>>\n parents: Ref<Map<string, string>>\n opened: Ref<Set<string>>\n selected: Ref<Map<string, 'on' | 'off' | 'indeterminate'>>\n selectedValues: Ref<string[]>\n register: (id: string, parentId: string | undefined, isGroup?: boolean) => void\n unregister: (id: string) => void\n open: (id: string, value: boolean, event?: Event) => void\n select: (id: string, value: boolean, event?: Event) => void\n }\n}\n\nexport const VNestedSymbol: InjectionKey<NestedProvide> = Symbol.for('vuetify:nested')\n\nexport const emptyNested: NestedProvide = {\n id: ref(),\n root: {\n register: () => null,\n unregister: () => null,\n parents: ref(new Map()),\n children: ref(new Map()),\n open: () => null,\n select: () => null,\n opened: ref(new Set()),\n selected: ref(new Map()),\n selectedValues: ref([]),\n },\n}\n\nexport const makeNestedProps = propsFactory({\n selectStrategy: [String, Function] as Prop<SelectStrategy>,\n openStrategy: [String, Function] as Prop<OpenStrategyProp>,\n opened: Array as Prop<string[]>,\n selected: Array as Prop<string[]>,\n mandatory: Boolean,\n}, 'nested')\n\nexport const useNested = (props: NestedProps) => {\n let isUnmounted = false\n const children = ref(new Map<string, string[]>())\n const parents = ref(new Map<string, string>())\n\n const opened = useProxiedModel(props, 'opened', props.opened, v => new Set(v), v => [...v.values()])\n\n const selectStrategy = computed(() => {\n if (typeof props.selectStrategy === 'object') return props.selectStrategy\n\n switch (props.selectStrategy) {\n case 'single-leaf': return leafSingleSelectStrategy(props.mandatory)\n case 'leaf': return leafSelectStrategy(props.mandatory)\n case 'independent': return independentSelectStrategy(props.mandatory)\n case 'single-independent': return independentSingleSelectStrategy(props.mandatory)\n case 'classic':\n default: return classicSelectStrategy(props.mandatory)\n }\n })\n\n const openStrategy = computed(() => {\n if (typeof props.openStrategy === 'function') return props.openStrategy\n\n switch (props.openStrategy) {\n case 'list': return listOpenStrategy\n case 'single': return singleOpenStrategy\n case 'multiple':\n default: return multipleOpenStrategy\n }\n })\n\n const selected = useProxiedModel(\n props,\n 'selected',\n props.selected,\n v => selectStrategy.value.in(v, children.value, parents.value),\n v => selectStrategy.value.out(v, children.value, parents.value),\n )\n\n onBeforeUnmount(() => {\n isUnmounted = true\n })\n\n function getPath (id: string) {\n const path: string[] = []\n let parent: string | undefined = id\n\n while (parent != null) {\n path.unshift(parent)\n parent = parents.value.get(parent)\n }\n\n return path\n }\n\n const vm = getCurrentInstance('nested')\n\n const nested: NestedProvide = {\n id: ref(),\n root: {\n opened,\n selected,\n selectedValues: computed(() => {\n const arr = []\n\n for (const [key, value] of selected.value.entries()) {\n if (value === 'on') arr.push(key)\n }\n\n return arr\n }),\n register: (id, parentId, isGroup) => {\n parentId && id !== parentId && parents.value.set(id, parentId)\n\n isGroup && children.value.set(id, [])\n\n if (parentId != null) {\n children.value.set(parentId, [...children.value.get(parentId) || [], id])\n }\n },\n unregister: id => {\n if (isUnmounted) return\n\n children.value.delete(id)\n const parent = parents.value.get(id)\n if (parent) {\n const list = children.value.get(parent) ?? []\n children.value.set(parent, list.filter(child => child !== id))\n }\n parents.value.delete(id)\n opened.value.delete(id)\n },\n open: (id, value, event) => {\n vm.emit('click:open', { id, value, path: getPath(id), event })\n\n const newOpened = openStrategy.value.open({\n id,\n value,\n opened: new Set(opened.value),\n children: children.value,\n parents: parents.value,\n event,\n })\n\n newOpened && (opened.value = newOpened)\n },\n select: (id, value, event) => {\n vm.emit('click:select', { id, value, path: getPath(id), event })\n\n const newSelected = selectStrategy.value.select({\n id,\n value,\n selected: new Map(selected.value),\n children: children.value,\n parents: parents.value,\n event,\n })\n newSelected && (selected.value = newSelected)\n\n const newOpened = openStrategy.value.select({\n id,\n value,\n selected: new Map(selected.value),\n opened: new Set(opened.value),\n children: children.value,\n parents: parents.value,\n event,\n })\n newOpened && (opened.value = newOpened)\n },\n children,\n parents,\n },\n }\n\n provide(VNestedSymbol, nested)\n\n return nested.root\n}\n\nexport const useNestedItem = (id: Ref<string | undefined>, isGroup: boolean) => {\n const parent = inject(VNestedSymbol, emptyNested)\n\n const computedId = computed(() => id.value ?? getUid().toString())\n\n const item = {\n ...parent,\n id: computedId,\n open: (open: boolean, e: Event) => parent.root.open(computedId.value, open, e),\n isOpen: computed(() => parent.root.opened.value.has(computedId.value)),\n parent: computed(() => parent.root.parents.value.get(computedId.value)),\n select: (selected: boolean, e?: Event) => parent.root.select(computedId.value, selected, e),\n isSelected: computed(() => parent.root.selected.value.get(computedId.value) === 'on'),\n isIndeterminate: computed(() => parent.root.selected.value.get(computedId.value) === 'indeterminate'),\n isLeaf: computed(() => !parent.root.children.value.get(computedId.value)),\n isGroupActivator: parent.isGroupActivator,\n }\n\n !parent.isGroupActivator && parent.root.register(computedId.value, parent.id.value, isGroup)\n\n onBeforeUnmount(() => {\n !parent.isGroupActivator && parent.root.unregister(computedId.value)\n })\n\n isGroup && provide(VNestedSymbol, item)\n\n return item\n}\n\nexport const useNestedGroupActivator = () => {\n const parent = inject(VNestedSymbol, emptyNested)\n\n provide(VNestedSymbol, { ...parent, isGroupActivator: true })\n}\n"],"file":"nested.mjs"}
@@ -0,0 +1,76 @@
1
+ export const singleOpenStrategy = {
2
+ open: _ref => {
3
+ let {
4
+ id,
5
+ value,
6
+ opened,
7
+ parents
8
+ } = _ref;
9
+
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);
49
+ }
50
+
51
+ return opened;
52
+ },
53
+ select: () => null
54
+ };
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 = [];
66
+ let parent = parents.get(id);
67
+
68
+ while (parent != null) {
69
+ path.push(parent);
70
+ parent = parents.get(parent);
71
+ }
72
+
73
+ return new Set(path);
74
+ }
75
+ };
76
+ //# sourceMappingURL=openStrategies.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/composables/nested/openStrategies.ts"],"names":["singleOpenStrategy","open","id","value","opened","parents","newOpened","Set","add","parent","get","delete","select","multipleOpenStrategy","listOpenStrategy","path","push"],"mappings":"AAwBA,OAAO,MAAMA,kBAAgC,GAAG;AAC9CC,EAAAA,IAAI,EAAE,QAAoC;AAAA,QAAnC;AAAEC,MAAAA,EAAF;AAAMC,MAAAA,KAAN;AAAaC,MAAAA,MAAb;AAAqBC,MAAAA;AAArB,KAAmC;;AACxC,QAAIF,KAAJ,EAAW;AACT,YAAMG,SAAS,GAAG,IAAIC,GAAJ,EAAlB;AACAD,MAAAA,SAAS,CAACE,GAAV,CAAcN,EAAd;AAEA,UAAIO,MAAM,GAAGJ,OAAO,CAACK,GAAR,CAAYR,EAAZ,CAAb;;AAEA,aAAOO,MAAM,IAAI,IAAjB,EAAuB;AACrBH,QAAAA,SAAS,CAACE,GAAV,CAAcC,MAAd;AACAA,QAAAA,MAAM,GAAGJ,OAAO,CAACK,GAAR,CAAYD,MAAZ,CAAT;AACD;;AAED,aAAOH,SAAP;AACD,KAZD,MAYO;AACLF,MAAAA,MAAM,CAACO,MAAP,CAAcT,EAAd;AACA,aAAOE,MAAP;AACD;AACF,GAlB6C;AAmB9CQ,EAAAA,MAAM,EAAE,MAAM;AAnBgC,CAAzC;AAsBP,OAAO,MAAMC,oBAAkC,GAAG;AAChDZ,EAAAA,IAAI,EAAE,SAAoC;AAAA,QAAnC;AAAEC,MAAAA,EAAF;AAAMC,MAAAA,KAAN;AAAaC,MAAAA,MAAb;AAAqBC,MAAAA;AAArB,KAAmC;;AACxC,QAAIF,KAAJ,EAAW;AACT,UAAIM,MAAM,GAAGJ,OAAO,CAACK,GAAR,CAAYR,EAAZ,CAAb;AACAE,MAAAA,MAAM,CAACI,GAAP,CAAWN,EAAX;;AAEA,aAAOO,MAAM,IAAI,IAAV,IAAkBA,MAAM,KAAKP,EAApC,EAAwC;AACtCE,QAAAA,MAAM,CAACI,GAAP,CAAWC,MAAX;AACAA,QAAAA,MAAM,GAAGJ,OAAO,CAACK,GAAR,CAAYD,MAAZ,CAAT;AACD;;AAED,aAAOL,MAAP;AACD,KAVD,MAUO;AACLA,MAAAA,MAAM,CAACO,MAAP,CAAcT,EAAd;AACD;;AACD,WAAOE,MAAP;AACD,GAhB+C;AAiBhDQ,EAAAA,MAAM,EAAE,MAAM;AAjBkC,CAA3C;AAoBP,OAAO,MAAME,gBAA8B,GAAG;AAC5Cb,EAAAA,IAAI,EAAEY,oBAAoB,CAACZ,IADiB;AAE5CW,EAAAA,MAAM,EAAE,SAAoC;AAAA,QAAnC;AAAEV,MAAAA,EAAF;AAAMC,MAAAA,KAAN;AAAaC,MAAAA,MAAb;AAAqBC,MAAAA;AAArB,KAAmC;AAC1C,QAAI,CAACF,KAAL,EAAY,OAAOC,MAAP;AAEZ,UAAMW,IAAc,GAAG,EAAvB;AAEA,QAAIN,MAAM,GAAGJ,OAAO,CAACK,GAAR,CAAYR,EAAZ,CAAb;;AAEA,WAAOO,MAAM,IAAI,IAAjB,EAAuB;AACrBM,MAAAA,IAAI,CAACC,IAAL,CAAUP,MAAV;AACAA,MAAAA,MAAM,GAAGJ,OAAO,CAACK,GAAR,CAAYD,MAAZ,CAAT;AACD;;AAED,WAAO,IAAIF,GAAJ,CAAQQ,IAAR,CAAP;AACD;AAf2C,CAAvC","sourcesContent":["export type OpenStrategyFn = (data: {\n id: string\n value: boolean\n opened: Set<string>\n children: Map<string, string[]>\n parents: Map<string, string>\n event?: Event\n}) => Set<string>\n\nexport type OpenSelectStrategyFn = (data: {\n id: string\n value: boolean\n opened: Set<string>\n selected: Map<string, 'on' | 'off' | 'indeterminate'>\n children: Map<string, string[]>\n parents: Map<string, string>\n event?: Event\n}) => Set<string> | null\n\nexport type OpenStrategy = {\n open: OpenStrategyFn\n select: OpenSelectStrategyFn\n}\n\nexport const singleOpenStrategy: OpenStrategy = {\n open: ({ id, value, opened, parents }) => {\n if (value) {\n const newOpened = new Set<string>()\n newOpened.add(id)\n\n let parent = parents.get(id)\n\n while (parent != null) {\n newOpened.add(parent)\n parent = parents.get(parent)\n }\n\n return newOpened\n } else {\n opened.delete(id)\n return opened\n }\n },\n select: () => null,\n}\n\nexport const multipleOpenStrategy: OpenStrategy = {\n open: ({ id, value, opened, parents }) => {\n if (value) {\n let parent = parents.get(id)\n opened.add(id)\n\n while (parent != null && parent !== id) {\n opened.add(parent)\n parent = parents.get(parent)\n }\n\n return opened\n } else {\n opened.delete(id)\n }\n return opened\n },\n select: () => null,\n}\n\nexport const listOpenStrategy: OpenStrategy = {\n open: multipleOpenStrategy.open,\n select: ({ id, value, opened, parents }) => {\n if (!value) return opened\n\n const path: string[] = []\n\n let parent = parents.get(id)\n\n while (parent != null) {\n path.push(parent)\n parent = parents.get(parent)\n }\n\n return new Set(path)\n },\n}\n"],"file":"openStrategies.mjs"}
@@ -0,0 +1,198 @@
1
+ /* eslint-disable sonarjs/no-identical-functions */
2
+ export const independentSelectStrategy = mandatory => {
3
+ const strategy = {
4
+ select: _ref => {
5
+ let {
6
+ id,
7
+ value,
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
+
21
+ selected.set(id, value ? 'on' : 'off');
22
+ return selected;
23
+ },
24
+ in: (v, children, parents) => {
25
+ let map = new Map();
26
+
27
+ for (const id of v || []) {
28
+ map = strategy.select({
29
+ id,
30
+ value: true,
31
+ selected: new Map(map),
32
+ children,
33
+ parents
34
+ });
35
+ }
36
+
37
+ return map;
38
+ },
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
+ }
48
+ };
49
+ return strategy;
50
+ };
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();
68
+
69
+ if (v != null && v.length) {
70
+ map = parentStrategy.in(v.slice(0, 1), children, parents);
71
+ }
72
+
73
+ return map;
74
+ },
75
+ out: (v, children, parents) => {
76
+ return parentStrategy.out(v, children, parents);
77
+ }
78
+ };
79
+ return strategy;
80
+ };
81
+ export const leafSelectStrategy = mandatory => {
82
+ const parentStrategy = independentSelectStrategy(mandatory);
83
+ const strategy = {
84
+ select: _ref4 => {
85
+ let {
86
+ id,
87
+ selected,
88
+ children,
89
+ ...rest
90
+ } = _ref4;
91
+ if (children.has(id)) return selected;
92
+ return parentStrategy.select({
93
+ id,
94
+ selected,
95
+ children,
96
+ ...rest
97
+ });
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];
139
+
140
+ while (items.length) {
141
+ const item = items.shift();
142
+ selected.set(item, value ? 'on' : 'off');
143
+
144
+ if (children.has(item)) {
145
+ items.push(...children.get(item));
146
+ }
147
+ }
148
+
149
+ let parent = parents.get(id);
150
+
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;
197
+ };
198
+ //# sourceMappingURL=selectStrategies.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/composables/nested/selectStrategies.ts"],"names":["independentSelectStrategy","mandatory","strategy","select","id","value","selected","on","Array","from","entries","reduce","arr","key","length","set","in","v","children","parents","map","Map","out","push","independentSingleSelectStrategy","parentStrategy","rest","singleSelected","has","get","slice","leafSelectStrategy","leafSingleSelectStrategy","classicSelectStrategy","original","items","item","shift","parent","childrenIds","everySelected","every","cid","noneSelected"],"mappings":"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","sourcesContent":["/* eslint-disable sonarjs/no-identical-functions */\nexport type SelectStrategyFn = (data: {\n id: string\n value: boolean\n selected: Map<string, 'on' | 'off' | 'indeterminate'>\n children: Map<string, string[]>\n parents: Map<string, string>\n event?: Event\n}) => Map<string, 'on' | 'off' | 'indeterminate'>\n\nexport type SelectStrategyTransformInFn = (\n v: string[] | undefined,\n children: Map<string, string[]>,\n parents: Map<string, string>,\n) => Map<string, 'on' | 'off' | 'indeterminate'>\n\nexport type SelectStrategyTransformOutFn = (\n v: Map<string, 'on' | 'off' | 'indeterminate'>,\n children: Map<string, string[]>,\n parents: Map<string, string>,\n) => any[]\n\nexport type SelectStrategy = {\n select: SelectStrategyFn\n in: SelectStrategyTransformInFn\n out: SelectStrategyTransformOutFn\n}\n\nexport const independentSelectStrategy = (mandatory?: boolean): SelectStrategy => {\n const strategy: SelectStrategy = {\n select: ({ id, value, selected }) => {\n // When mandatory and we're trying to deselect when id\n // is the only currently selected item then do nothing\n if (mandatory && !value) {\n const on = Array.from(selected.entries()).reduce((arr, [key, value]) => value === 'on' ? [...arr, key] : arr, [] as string[])\n if (on.length === 1 && on[0] === id) return selected\n }\n\n selected.set(id, value ? 'on' : 'off')\n\n return selected\n },\n in: (v, children, parents) => {\n let map = new Map()\n\n for (const id of (v || [])) {\n map = strategy.select({\n id,\n value: true,\n selected: new Map(map),\n children,\n parents,\n })\n }\n\n return map\n },\n out: v => {\n const arr = []\n\n for (const [key, value] of v.entries()) {\n if (value === 'on') arr.push(key)\n }\n\n return arr\n },\n }\n\n return strategy\n}\n\nexport const independentSingleSelectStrategy = (mandatory?: boolean): SelectStrategy => {\n const parentStrategy = independentSelectStrategy(mandatory)\n\n const strategy: SelectStrategy = {\n select: ({ selected, id, ...rest }) => {\n const singleSelected = selected.has(id) ? new Map([[id, selected.get(id)!]]) : new Map()\n return parentStrategy.select({ ...rest, id, selected: singleSelected })\n },\n in: (v, children, parents) => {\n let map = new Map()\n\n if (v?.length) {\n map = parentStrategy.in(v.slice(0, 1), children, parents)\n }\n\n return map\n },\n out: (v, children, parents) => {\n return parentStrategy.out(v, children, parents)\n },\n }\n\n return strategy\n}\n\nexport const leafSelectStrategy = (mandatory?: boolean): SelectStrategy => {\n const parentStrategy = independentSelectStrategy(mandatory)\n\n const strategy: SelectStrategy = {\n select: ({ id, selected, children, ...rest }) => {\n if (children.has(id)) return selected\n\n return parentStrategy.select({ id, selected, children, ...rest })\n },\n in: parentStrategy.in,\n out: parentStrategy.out,\n }\n\n return strategy\n}\n\nexport const leafSingleSelectStrategy = (mandatory?: boolean): SelectStrategy => {\n const parentStrategy = independentSingleSelectStrategy(mandatory)\n\n const strategy: SelectStrategy = {\n select: ({ id, selected, children, ...rest }) => {\n if (children.has(id)) return selected\n\n return parentStrategy.select({ id, selected, children, ...rest })\n },\n in: parentStrategy.in,\n out: parentStrategy.out,\n }\n\n return strategy\n}\n\nexport const classicSelectStrategy = (mandatory?: boolean): SelectStrategy => {\n const strategy: SelectStrategy = {\n select: ({ id, value, selected, children, parents }) => {\n const original = new Map(selected)\n\n const items = [id]\n\n while (items.length) {\n const item = items.shift()!\n\n selected.set(item, value ? 'on' : 'off')\n\n if (children.has(item)) {\n items.push(...children.get(item)!)\n }\n }\n\n let parent = parents.get(id)\n\n while (parent) {\n const childrenIds = children.get(parent)!\n const everySelected = childrenIds.every(cid => selected.get(cid) === 'on')\n const noneSelected = childrenIds.every(cid => !selected.has(cid) || selected.get(cid) === 'off')\n\n selected.set(parent, everySelected ? 'on' : noneSelected ? 'off' : 'indeterminate')\n\n parent = parents.get(parent)\n }\n\n // If mandatory and planned deselect results in no selected\n // items then we can't do it, so return original state\n if (mandatory && !value) {\n const on = Array.from(selected.entries()).reduce((arr, [key, value]) => value === 'on' ? [...arr, key] : arr, [] as string[])\n if (on.length === 0) return original\n }\n\n return selected\n },\n in: (v, children, parents) => {\n let map = new Map()\n\n for (const id of (v || [])) {\n map = strategy.select({\n id,\n value: true,\n selected: new Map(map),\n children,\n parents,\n })\n }\n\n return map\n },\n out: (v, children) => {\n const arr = []\n\n for (const [key, value] of v.entries()) {\n if (value === 'on' && !children.has(key)) arr.push(key)\n }\n\n return arr\n },\n }\n\n return strategy\n}\n"],"file":"selectStrategies.mjs"}