@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,35 +1,74 @@
1
- // Utilities
2
- import { computed, inject, onBeforeUnmount, onMounted, provide, reactive, toRef } from 'vue';
3
- import { useProxiedModel } from "./proxiedModel.mjs";
4
- import { consoleWarn, deepEqual, getUid, wrapInArray } from "../util/index.mjs"; // Types
5
-
6
1
  // Composables
2
+ import { useProxiedModel } from "./proxiedModel.mjs"; // Utilities
3
+
4
+ import { computed, inject, onBeforeUnmount, onMounted, provide, reactive, toRef, watch } from 'vue';
5
+ import { consoleWarn, deepEqual, findChildrenWithProvide, getCurrentInstance, getUid, propsFactory, wrapInArray } from "../util/index.mjs"; // Types
6
+
7
+ export const makeGroupProps = propsFactory({
8
+ modelValue: {
9
+ type: null,
10
+ default: undefined
11
+ },
12
+ multiple: Boolean,
13
+ mandatory: [Boolean, String],
14
+ max: Number,
15
+ selectedClass: String,
16
+ disabled: Boolean
17
+ }, 'group');
18
+ export const makeGroupItemProps = propsFactory({
19
+ value: null,
20
+ disabled: Boolean,
21
+ selectedClass: String
22
+ }, 'group-item');
7
23
  export function useGroupItem(props, injectKey) {
24
+ let required = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
25
+ const vm = getCurrentInstance('useGroupItem');
26
+
27
+ if (!vm) {
28
+ throw new Error('[Vuetify] useGroupItem composable must be used inside a component setup function');
29
+ }
30
+
31
+ const id = getUid();
32
+ provide(Symbol.for(`${injectKey.description}:id`), id);
8
33
  const group = inject(injectKey, null);
9
34
 
10
35
  if (!group) {
11
- throw new Error("[Vuetify] Could not find useGroup injection with symbol ".concat(injectKey.description));
36
+ if (!required) return group;
37
+ throw new Error(`[Vuetify] Could not find useGroup injection with symbol ${injectKey.description}`);
12
38
  }
13
39
 
14
- const id = getUid();
40
+ const value = toRef(props, 'value');
41
+ const disabled = computed(() => group.disabled.value || props.disabled);
15
42
  group.register({
16
43
  id,
17
- value: toRef(props, 'value'),
18
- disabled: toRef(props, 'disabled')
19
- }, props.index);
44
+ value,
45
+ disabled
46
+ }, vm);
20
47
  onBeforeUnmount(() => {
21
48
  group.unregister(id);
22
49
  });
23
50
  const isSelected = computed(() => {
24
51
  return group.isSelected(id);
25
52
  });
53
+ const selectedClass = computed(() => isSelected.value && [group.selectedClass.value, props.selectedClass]);
54
+ watch(isSelected, value => {
55
+ vm.emit('group:selected', {
56
+ value
57
+ });
58
+ });
26
59
  return {
60
+ id,
27
61
  isSelected,
28
62
  toggle: () => group.select(id, !isSelected.value),
29
- select: value => group.select(id, value)
63
+ select: value => group.select(id, value),
64
+ selectedClass,
65
+ value,
66
+ disabled,
67
+ group
30
68
  };
31
69
  }
32
70
  export function useGroup(props, injectKey) {
71
+ let isUnmounted = false;
33
72
  const items = reactive([]);
34
73
  const selected = useProxiedModel(props, 'modelValue', [], v => {
35
74
  if (v == null) return [];
@@ -38,64 +77,98 @@ export function useGroup(props, injectKey) {
38
77
  const arr = getValues(items, v);
39
78
  return props.multiple ? arr : arr[0];
40
79
  });
80
+ const groupVm = getCurrentInstance('useGroup');
41
81
 
42
- function register(item, index) {
82
+ function register(item, vm) {
43
83
  // Is there a better way to fix this typing?
44
84
  const unwrapped = item;
45
- if (index != null) items.splice(index, 0, unwrapped);else items.push(unwrapped);
85
+ const key = Symbol.for(`${injectKey.description}:id`);
86
+ const children = findChildrenWithProvide(key, groupVm == null ? void 0 : groupVm.vnode);
87
+ const index = children.indexOf(vm);
88
+
89
+ if (index > -1) {
90
+ items.splice(index, 0, unwrapped);
91
+ } else {
92
+ items.push(unwrapped);
93
+ }
46
94
  }
47
95
 
48
96
  function unregister(id) {
49
- selected.value = selected.value.filter(v => v !== id);
50
-
51
- if (props.mandatory && !selected.value.length) {
52
- selected.value = [items[items.length - 1].id];
53
- }
97
+ if (isUnmounted) return; // TODO: re-evaluate this line's importance in the future
98
+ // should we only modify the model if mandatory is set.
99
+ // selected.value = selected.value.filter(v => v !== id)
54
100
 
101
+ forceMandatoryValue();
55
102
  const index = items.findIndex(item => item.id === id);
56
103
  items.splice(index, 1);
57
- }
104
+ } // If mandatory and nothing is selected, then select first non-disabled item
58
105
 
59
- onMounted(() => {
60
- // If mandatory and nothing is selected, then select first non-disabled item
106
+
107
+ function forceMandatoryValue() {
61
108
  const item = items.find(item => !item.disabled);
62
109
 
63
- if (item && props.mandatory && !selected.value.length) {
110
+ if (item && props.mandatory === 'force' && !selected.value.length) {
64
111
  selected.value = [item.id];
65
112
  }
113
+ }
114
+
115
+ onMounted(() => {
116
+ forceMandatoryValue();
117
+ });
118
+ onBeforeUnmount(() => {
119
+ isUnmounted = true;
66
120
  });
67
121
 
68
- function select(id, isSelected) {
122
+ function select(id, value) {
69
123
  const item = items.find(item => item.id === id);
70
- if (isSelected && (item == null ? void 0 : item.disabled)) return;
124
+ if (value && item != null && item.disabled) return;
71
125
 
72
126
  if (props.multiple) {
127
+ var _value;
128
+
73
129
  const internalValue = selected.value.slice();
74
- const index = internalValue.findIndex(v => v === id); // We can't remove value if group is
130
+ const index = internalValue.findIndex(v => v === id);
131
+ const isSelected = ~index;
132
+ value = (_value = value) != null ? _value : !isSelected; // We can't remove value if group is
75
133
  // mandatory, value already exists,
76
134
  // and it is the only value
77
135
 
78
- if (props.mandatory && index > -1 && internalValue.length <= 1) return; // We can't add value if it would
136
+ if (isSelected && props.mandatory && internalValue.length <= 1) return; // We can't add value if it would
79
137
  // cause max limit to be exceeded
80
138
 
81
- if (props.max != null && index < 0 && internalValue.length + 1 > props.max) return;
82
- if (index < 0 && isSelected) internalValue.push(id);else if (index >= 0 && !isSelected) internalValue.splice(index, 1);
139
+ if (!isSelected && props.max != null && internalValue.length + 1 > props.max) return;
140
+ if (index < 0 && value) internalValue.push(id);else if (index >= 0 && !value) internalValue.splice(index, 1);
83
141
  selected.value = internalValue;
84
142
  } else {
85
- if (props.mandatory && selected.value.includes(id)) return;
86
- selected.value = isSelected ? [id] : [];
143
+ var _value2;
144
+
145
+ const isSelected = selected.value.includes(id);
146
+ if (props.mandatory && isSelected) return;
147
+ selected.value = ((_value2 = value) != null ? _value2 : !isSelected) ? [id] : [];
87
148
  }
88
149
  }
89
150
 
90
- function getOffsetId(offset) {
151
+ function step(offset) {
91
152
  // getting an offset from selected value obviously won't work with multiple values
92
- if (props.multiple) consoleWarn('This method is not supported when using "multiple" prop'); // If there is nothing selected, then next value is first item
153
+ if (props.multiple) consoleWarn('This method is not supported when using "multiple" prop');
93
154
 
94
- if (!selected.value.length) return items[0].id;
95
- const currentId = selected.value[0];
96
- const currentIndex = items.findIndex(i => i.id === currentId);
97
- const newIndex = (currentIndex + offset) % items.length;
98
- return items[newIndex].id;
155
+ if (!selected.value.length) {
156
+ const item = items.find(item => !item.disabled);
157
+ item && (selected.value = [item.id]);
158
+ } else {
159
+ const currentId = selected.value[0];
160
+ const currentIndex = items.findIndex(i => i.id === currentId);
161
+ let newIndex = (currentIndex + offset) % items.length;
162
+ let newItem = items[newIndex];
163
+
164
+ while (newItem.disabled && newIndex !== currentIndex) {
165
+ newIndex = (newIndex + offset) % items.length;
166
+ newItem = items[newIndex];
167
+ }
168
+
169
+ if (newItem.disabled) return;
170
+ selected.value = [items[newIndex].id];
171
+ }
99
172
  }
100
173
 
101
174
  const state = {
@@ -103,20 +176,35 @@ export function useGroup(props, injectKey) {
103
176
  unregister,
104
177
  selected,
105
178
  select,
106
- prev: () => selected.value = [getOffsetId(items.length - 1)],
107
- next: () => selected.value = [getOffsetId(1)],
108
- step: steps => selected.value = [getOffsetId(steps)],
109
- isSelected: id => selected.value.includes(id)
179
+ disabled: toRef(props, 'disabled'),
180
+ prev: () => step(items.length - 1),
181
+ next: () => step(1),
182
+ isSelected: id => selected.value.includes(id),
183
+ selectedClass: computed(() => props.selectedClass),
184
+ items: computed(() => items),
185
+ getItemIndex: value => getItemIndex(items, value)
110
186
  };
111
187
  provide(injectKey, state);
112
188
  return state;
113
189
  }
114
190
 
191
+ function getItemIndex(items, value) {
192
+ const ids = getIds(items, [value]);
193
+ if (!ids.length) return -1;
194
+ return items.findIndex(item => item.id === ids[0]);
195
+ }
196
+
115
197
  function getIds(items, modelValue) {
116
198
  const ids = [];
117
199
 
118
- for (const item of items) {
119
- if (item.value != null && modelValue.find(value => deepEqual(value, item.value)) || modelValue.includes(item.id)) {
200
+ for (let i = 0; i < items.length; i++) {
201
+ const item = items[i];
202
+
203
+ if (item.value != null) {
204
+ if (modelValue.find(value => deepEqual(value, item.value)) != null) {
205
+ ids.push(item.id);
206
+ }
207
+ } else if (modelValue.includes(i)) {
120
208
  ids.push(item.id);
121
209
  }
122
210
  }
@@ -127,9 +215,11 @@ function getIds(items, modelValue) {
127
215
  function getValues(items, ids) {
128
216
  const values = [];
129
217
 
130
- for (const item of items) {
218
+ for (let i = 0; i < items.length; i++) {
219
+ const item = items[i];
220
+
131
221
  if (ids.includes(item.id)) {
132
- values.push(item.value != null ? item.value : item.id);
222
+ values.push(item.value != null ? item.value : i);
133
223
  }
134
224
  }
135
225
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/composables/group.ts"],"names":["computed","inject","onBeforeUnmount","onMounted","provide","reactive","toRef","useProxiedModel","consoleWarn","deepEqual","getUid","wrapInArray","useGroupItem","props","injectKey","group","Error","description","id","register","value","disabled","index","unregister","isSelected","toggle","select","useGroup","items","selected","v","getIds","arr","getValues","multiple","item","unwrapped","splice","push","filter","mandatory","length","findIndex","find","internalValue","slice","max","includes","getOffsetId","offset","currentId","currentIndex","i","newIndex","state","prev","next","step","steps","modelValue","ids","values"],"mappings":"AAAA;AACA,SAASA,QAAT,EAAmBC,MAAnB,EAA2BC,eAA3B,EAA4CC,SAA5C,EAAuDC,OAAvD,EAAgEC,QAAhE,EAA0EC,KAA1E,QAAuF,KAAvF;SACSC,e;SACAC,W,EAAaC,S,EAAWC,M,EAAQC,W,6BAEzC;;AA0BA;AACA,OAAO,SAASC,YAAT,CACLC,KADK,EAELC,SAFK,EAGL;AACA,QAAMC,KAAK,GAAGd,MAAM,CAACa,SAAD,EAAY,IAAZ,CAApB;;AAEA,MAAI,CAACC,KAAL,EAAY;AACV,UAAM,IAAIC,KAAJ,mEAAqEF,SAAS,CAACG,WAA/E,EAAN;AACD;;AAED,QAAMC,EAAE,GAAGR,MAAM,EAAjB;AAEAK,EAAAA,KAAK,CAACI,QAAN,CAAe;AACbD,IAAAA,EADa;AAEbE,IAAAA,KAAK,EAAEd,KAAK,CAACO,KAAD,EAAQ,OAAR,CAFC;AAGbQ,IAAAA,QAAQ,EAAEf,KAAK,CAACO,KAAD,EAAQ,UAAR;AAHF,GAAf,EAIGA,KAAK,CAACS,KAJT;AAMApB,EAAAA,eAAe,CAAC,MAAM;AACpBa,IAAAA,KAAK,CAACQ,UAAN,CAAiBL,EAAjB;AACD,GAFc,CAAf;AAIA,QAAMM,UAAU,GAAGxB,QAAQ,CAAC,MAAM;AAChC,WAAOe,KAAK,CAACS,UAAN,CAAiBN,EAAjB,CAAP;AACD,GAF0B,CAA3B;AAIA,SAAO;AACLM,IAAAA,UADK;AAELC,IAAAA,MAAM,EAAE,MAAMV,KAAK,CAACW,MAAN,CAAaR,EAAb,EAAiB,CAACM,UAAU,CAACJ,KAA7B,CAFT;AAGLM,IAAAA,MAAM,EAAGN,KAAD,IAAoBL,KAAK,CAACW,MAAN,CAAaR,EAAb,EAAiBE,KAAjB;AAHvB,GAAP;AAKD;AAED,OAAO,SAASO,QAAT,CACLd,KADK,EAELC,SAFK,EAGL;AACA,QAAMc,KAAK,GAAGvB,QAAQ,CAAc,EAAd,CAAtB;AACA,QAAMwB,QAAQ,GAAGtB,eAAe,CAC9BM,KAD8B,EAE9B,YAF8B,EAG9B,EAH8B,EAI9BiB,CAAC,IAAI;AACH,QAAIA,CAAC,IAAI,IAAT,EAAe,OAAO,EAAP;AAEf,WAAOC,MAAM,CAACH,KAAD,EAAQjB,WAAW,CAACmB,CAAD,CAAnB,CAAb;AACD,GAR6B,EAS9BA,CAAC,IAAI;AACH,UAAME,GAAG,GAAGC,SAAS,CAACL,KAAD,EAAQE,CAAR,CAArB;AAEA,WAAOjB,KAAK,CAACqB,QAAN,GAAiBF,GAAjB,GAAuBA,GAAG,CAAC,CAAD,CAAjC;AACD,GAb6B,CAAhC;;AAgBA,WAASb,QAAT,CAAmBgB,IAAnB,EAAoCb,KAApC,EAAoD;AAClD;AACA,UAAMc,SAAS,GAAGD,IAAlB;AACA,QAAIb,KAAK,IAAI,IAAb,EAAmBM,KAAK,CAACS,MAAN,CAAaf,KAAb,EAAoB,CAApB,EAAuBc,SAAvB,EAAnB,KACKR,KAAK,CAACU,IAAN,CAAWF,SAAX;AACN;;AAED,WAASb,UAAT,CAAqBL,EAArB,EAAiC;AAC/BW,IAAAA,QAAQ,CAACT,KAAT,GAAiBS,QAAQ,CAACT,KAAT,CAAemB,MAAf,CAAsBT,CAAC,IAAIA,CAAC,KAAKZ,EAAjC,CAAjB;;AAEA,QAAIL,KAAK,CAAC2B,SAAN,IAAmB,CAACX,QAAQ,CAACT,KAAT,CAAeqB,MAAvC,EAA+C;AAC7CZ,MAAAA,QAAQ,CAACT,KAAT,GAAiB,CAACQ,KAAK,CAACA,KAAK,CAACa,MAAN,GAAe,CAAhB,CAAL,CAAwBvB,EAAzB,CAAjB;AACD;;AAED,UAAMI,KAAK,GAAGM,KAAK,CAACc,SAAN,CAAgBP,IAAI,IAAIA,IAAI,CAACjB,EAAL,KAAYA,EAApC,CAAd;AACAU,IAAAA,KAAK,CAACS,MAAN,CAAaf,KAAb,EAAoB,CAApB;AACD;;AAEDnB,EAAAA,SAAS,CAAC,MAAM;AACd;AACA,UAAMgC,IAAI,GAAGP,KAAK,CAACe,IAAN,CAAWR,IAAI,IAAI,CAACA,IAAI,CAACd,QAAzB,CAAb;;AACA,QAAIc,IAAI,IAAItB,KAAK,CAAC2B,SAAd,IAA2B,CAACX,QAAQ,CAACT,KAAT,CAAeqB,MAA/C,EAAuD;AACrDZ,MAAAA,QAAQ,CAACT,KAAT,GAAiB,CAACe,IAAI,CAACjB,EAAN,CAAjB;AACD;AACF,GANQ,CAAT;;AAQA,WAASQ,MAAT,CAAiBR,EAAjB,EAA6BM,UAA7B,EAAkD;AAChD,UAAMW,IAAI,GAAGP,KAAK,CAACe,IAAN,CAAWR,IAAI,IAAIA,IAAI,CAACjB,EAAL,KAAYA,EAA/B,CAAb;AACA,QAAIM,UAAU,KAAIW,IAAJ,oBAAIA,IAAI,CAAEd,QAAV,CAAd,EAAkC;;AAElC,QAAIR,KAAK,CAACqB,QAAV,EAAoB;AAClB,YAAMU,aAAa,GAAGf,QAAQ,CAACT,KAAT,CAAeyB,KAAf,EAAtB;AACA,YAAMvB,KAAK,GAAGsB,aAAa,CAACF,SAAd,CAAwBZ,CAAC,IAAIA,CAAC,KAAKZ,EAAnC,CAAd,CAFkB,CAIlB;AACA;AACA;;AACA,UACEL,KAAK,CAAC2B,SAAN,IACAlB,KAAK,GAAG,CAAC,CADT,IAEAsB,aAAa,CAACH,MAAd,IAAwB,CAH1B,EAIE,OAXgB,CAalB;AACA;;AACA,UACE5B,KAAK,CAACiC,GAAN,IAAa,IAAb,IACAxB,KAAK,GAAG,CADR,IAEAsB,aAAa,CAACH,MAAd,GAAuB,CAAvB,GAA2B5B,KAAK,CAACiC,GAHnC,EAIE;AAEF,UAAIxB,KAAK,GAAG,CAAR,IAAaE,UAAjB,EAA6BoB,aAAa,CAACN,IAAd,CAAmBpB,EAAnB,EAA7B,KACK,IAAII,KAAK,IAAI,CAAT,IAAc,CAACE,UAAnB,EAA+BoB,aAAa,CAACP,MAAd,CAAqBf,KAArB,EAA4B,CAA5B;AAEpCO,MAAAA,QAAQ,CAACT,KAAT,GAAiBwB,aAAjB;AACD,KAzBD,MAyBO;AACL,UAAI/B,KAAK,CAAC2B,SAAN,IAAmBX,QAAQ,CAACT,KAAT,CAAe2B,QAAf,CAAwB7B,EAAxB,CAAvB,EAAoD;AAEpDW,MAAAA,QAAQ,CAACT,KAAT,GAAiBI,UAAU,GAAG,CAACN,EAAD,CAAH,GAAU,EAArC;AACD;AACF;;AAED,WAAS8B,WAAT,CAAsBC,MAAtB,EAAsC;AACpC;AACA,QAAIpC,KAAK,CAACqB,QAAV,EAAoB1B,WAAW,CAAC,yDAAD,CAAX,CAFgB,CAIpC;;AACA,QAAI,CAACqB,QAAQ,CAACT,KAAT,CAAeqB,MAApB,EAA4B,OAAOb,KAAK,CAAC,CAAD,CAAL,CAASV,EAAhB;AAE5B,UAAMgC,SAAS,GAAGrB,QAAQ,CAACT,KAAT,CAAe,CAAf,CAAlB;AACA,UAAM+B,YAAY,GAAGvB,KAAK,CAACc,SAAN,CAAgBU,CAAC,IAAIA,CAAC,CAAClC,EAAF,KAASgC,SAA9B,CAArB;AACA,UAAMG,QAAQ,GAAG,CAACF,YAAY,GAAGF,MAAhB,IAA0BrB,KAAK,CAACa,MAAjD;AAEA,WAAOb,KAAK,CAACyB,QAAD,CAAL,CAAgBnC,EAAvB;AACD;;AAED,QAAMoC,KAAK,GAAG;AACZnC,IAAAA,QADY;AAEZI,IAAAA,UAFY;AAGZM,IAAAA,QAHY;AAIZH,IAAAA,MAJY;AAKZ6B,IAAAA,IAAI,EAAE,MAAM1B,QAAQ,CAACT,KAAT,GAAiB,CAAC4B,WAAW,CAACpB,KAAK,CAACa,MAAN,GAAe,CAAhB,CAAZ,CALjB;AAMZe,IAAAA,IAAI,EAAE,MAAM3B,QAAQ,CAACT,KAAT,GAAiB,CAAC4B,WAAW,CAAC,CAAD,CAAZ,CANjB;AAOZS,IAAAA,IAAI,EAAGC,KAAD,IAAmB7B,QAAQ,CAACT,KAAT,GAAiB,CAAC4B,WAAW,CAACU,KAAD,CAAZ,CAP9B;AAQZlC,IAAAA,UAAU,EAAGN,EAAD,IAAgBW,QAAQ,CAACT,KAAT,CAAe2B,QAAf,CAAwB7B,EAAxB;AARhB,GAAd;AAWAd,EAAAA,OAAO,CAACU,SAAD,EAAYwC,KAAZ,CAAP;AAEA,SAAOA,KAAP;AACD;;AAED,SAASvB,MAAT,CAAiBH,KAAjB,EAAgD+B,UAAhD,EAAmE;AACjE,QAAMC,GAAG,GAAG,EAAZ;;AAEA,OAAK,MAAMzB,IAAX,IAAmBP,KAAnB,EAA0B;AACxB,QACGO,IAAI,CAACf,KAAL,IAAc,IAAd,IAAsBuC,UAAU,CAAChB,IAAX,CAAgBvB,KAAK,IAAIX,SAAS,CAACW,KAAD,EAAQe,IAAI,CAACf,KAAb,CAAlC,CAAvB,IACAuC,UAAU,CAACZ,QAAX,CAAoBZ,IAAI,CAACjB,EAAzB,CAFF,EAGE;AACA0C,MAAAA,GAAG,CAACtB,IAAJ,CAASH,IAAI,CAACjB,EAAd;AACD;AACF;;AAED,SAAO0C,GAAP;AACD;;AAED,SAAS3B,SAAT,CAAoBL,KAApB,EAAmDgC,GAAnD,EAA+D;AAC7D,QAAMC,MAAM,GAAG,EAAf;;AAEA,OAAK,MAAM1B,IAAX,IAAmBP,KAAnB,EAA0B;AACxB,QAAIgC,GAAG,CAACb,QAAJ,CAAaZ,IAAI,CAACjB,EAAlB,CAAJ,EAA2B;AACzB2C,MAAAA,MAAM,CAACvB,IAAP,CAAYH,IAAI,CAACf,KAAL,IAAc,IAAd,GAAqBe,IAAI,CAACf,KAA1B,GAAkCe,IAAI,CAACjB,EAAnD;AACD;AACF;;AAED,SAAO2C,MAAP;AACD","sourcesContent":["// Utilities\nimport { computed, inject, onBeforeUnmount, onMounted, provide, reactive, toRef } from 'vue'\nimport { useProxiedModel } from './proxiedModel'\nimport { consoleWarn, deepEqual, getUid, wrapInArray } from '@/util'\n\n// Types\nimport type { InjectionKey, Ref, UnwrapRef } from 'vue'\n\ninterface GroupItem {\n id: number\n value: Ref<unknown>\n disabled: Ref<boolean | undefined>\n}\n\ninterface GroupProps {\n modelValue?: unknown\n multiple?: boolean\n mandatory?: boolean\n max?: number\n}\n\ninterface GroupProvide {\n register: (item: GroupItem, index?: number) => void\n unregister: (id: number) => void\n select: (id: number, value: boolean) => void\n selected: Ref<any[]>\n isSelected: (id: number) => boolean\n prev: () => void\n next: () => void\n}\n\n// Composables\nexport function useGroupItem (\n props: { value?: unknown, index?: number, disabled?: boolean },\n injectKey: InjectionKey<GroupProvide>,\n) {\n const group = inject(injectKey, null)\n\n if (!group) {\n throw new Error(`[Vuetify] Could not find useGroup injection with symbol ${injectKey.description}`)\n }\n\n const id = getUid()\n\n group.register({\n id,\n value: toRef(props, 'value'),\n disabled: toRef(props, 'disabled'),\n }, props.index)\n\n onBeforeUnmount(() => {\n group.unregister(id)\n })\n\n const isSelected = computed(() => {\n return group.isSelected(id)\n })\n\n return {\n isSelected,\n toggle: () => group.select(id, !isSelected.value),\n select: (value: boolean) => group.select(id, value),\n }\n}\n\nexport function useGroup (\n props: GroupProps,\n injectKey: InjectionKey<GroupProvide>\n) {\n const items = reactive<GroupItem[]>([])\n const selected = useProxiedModel(\n props,\n 'modelValue',\n [],\n v => {\n if (v == null) return []\n\n return getIds(items, wrapInArray(v))\n },\n v => {\n const arr = getValues(items, v)\n\n return props.multiple ? arr : arr[0]\n }\n )\n\n function register (item: GroupItem, index?: number) {\n // Is there a better way to fix this typing?\n const unwrapped = item as unknown as UnwrapRef<GroupItem>\n if (index != null) items.splice(index, 0, unwrapped)\n else items.push(unwrapped)\n }\n\n function unregister (id: number) {\n selected.value = selected.value.filter(v => v !== id)\n\n if (props.mandatory && !selected.value.length) {\n selected.value = [items[items.length - 1].id]\n }\n\n const index = items.findIndex(item => item.id === id)\n items.splice(index, 1)\n }\n\n onMounted(() => {\n // If mandatory and nothing is selected, then select first non-disabled item\n const item = items.find(item => !item.disabled)\n if (item && props.mandatory && !selected.value.length) {\n selected.value = [item.id]\n }\n })\n\n function select (id: number, isSelected: boolean) {\n const item = items.find(item => item.id === id)\n if (isSelected && item?.disabled) return\n\n if (props.multiple) {\n const internalValue = selected.value.slice()\n const index = internalValue.findIndex(v => v === id)\n\n // We can't remove value if group is\n // mandatory, value already exists,\n // and it is the only value\n if (\n props.mandatory &&\n index > -1 &&\n internalValue.length <= 1\n ) return\n\n // We can't add value if it would\n // cause max limit to be exceeded\n if (\n props.max != null &&\n index < 0 &&\n internalValue.length + 1 > props.max\n ) return\n\n if (index < 0 && isSelected) internalValue.push(id)\n else if (index >= 0 && !isSelected) internalValue.splice(index, 1)\n\n selected.value = internalValue\n } else {\n if (props.mandatory && selected.value.includes(id)) return\n\n selected.value = isSelected ? [id] : []\n }\n }\n\n function getOffsetId (offset: number) {\n // getting an offset from selected value obviously won't work with multiple values\n if (props.multiple) consoleWarn('This method is not supported when using \"multiple\" prop')\n\n // If there is nothing selected, then next value is first item\n if (!selected.value.length) return items[0].id\n\n const currentId = selected.value[0]\n const currentIndex = items.findIndex(i => i.id === currentId)\n const newIndex = (currentIndex + offset) % items.length\n\n return items[newIndex].id\n }\n\n const state = {\n register,\n unregister,\n selected,\n select,\n prev: () => selected.value = [getOffsetId(items.length - 1)],\n next: () => selected.value = [getOffsetId(1)],\n step: (steps: number) => selected.value = [getOffsetId(steps)],\n isSelected: (id: number) => selected.value.includes(id),\n }\n\n provide(injectKey, state)\n\n return state\n}\n\nfunction getIds (items: UnwrapRef<GroupItem[]>, modelValue: any[]) {\n const ids = []\n\n for (const item of items) {\n if (\n (item.value != null && modelValue.find(value => deepEqual(value, item.value))) ||\n modelValue.includes(item.id)\n ) {\n ids.push(item.id)\n }\n }\n\n return ids\n}\n\nfunction getValues (items: UnwrapRef<GroupItem[]>, ids: any[]) {\n const values = []\n\n for (const item of items) {\n if (ids.includes(item.id)) {\n values.push(item.value != null ? item.value : item.id)\n }\n }\n\n return values\n}\n"],"file":"group.mjs"}
1
+ {"version":3,"sources":["../../src/composables/group.ts"],"names":["useProxiedModel","computed","inject","onBeforeUnmount","onMounted","provide","reactive","toRef","watch","consoleWarn","deepEqual","findChildrenWithProvide","getCurrentInstance","getUid","propsFactory","wrapInArray","makeGroupProps","modelValue","type","default","undefined","multiple","Boolean","mandatory","String","max","Number","selectedClass","disabled","makeGroupItemProps","value","useGroupItem","props","injectKey","required","vm","Error","id","Symbol","for","description","group","register","unregister","isSelected","emit","toggle","select","useGroup","isUnmounted","items","selected","v","getIds","arr","getValues","groupVm","item","unwrapped","key","children","vnode","index","indexOf","splice","push","forceMandatoryValue","findIndex","find","length","internalValue","slice","includes","step","offset","currentId","currentIndex","i","newIndex","newItem","state","prev","next","getItemIndex","ids","values"],"mappings":"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","sourcesContent":["// Composables\nimport { useProxiedModel } from './proxiedModel'\n\n// Utilities\nimport { computed, inject, onBeforeUnmount, onMounted, provide, reactive, toRef, watch } from 'vue'\nimport { consoleWarn, deepEqual, findChildrenWithProvide, getCurrentInstance, getUid, propsFactory, wrapInArray } from '@/util'\n\n// Types\nimport type { ComponentInternalInstance, ComputedRef, ExtractPropTypes, InjectionKey, PropType, Ref, UnwrapRef } from 'vue'\n\nexport interface GroupItem {\n id: number\n value: Ref<unknown>\n disabled: Ref<boolean | undefined>\n}\n\nexport interface GroupProps {\n disabled: boolean\n modelValue: unknown\n multiple?: boolean\n mandatory?: boolean | 'force' | undefined\n max?: number | undefined\n selectedClass: string | undefined\n 'onUpdate:modelValue': ((val: unknown) => void) | undefined\n}\n\nexport interface GroupProvide {\n register: (item: GroupItem, cmp: ComponentInternalInstance) => void\n unregister: (id: number) => void\n select: (id: number, value: boolean) => void\n selected: Ref<Readonly<number[]>>\n isSelected: (id: number) => boolean\n prev: () => void\n next: () => void\n selectedClass: Ref<string | undefined>\n items: ComputedRef<{\n id: number\n value: unknown\n disabled: boolean | undefined\n }[]>\n disabled: Ref<boolean | undefined>\n getItemIndex: (value: unknown) => number\n}\n\nexport interface GroupItemProvide {\n id: number\n isSelected: Ref<boolean>\n toggle: () => void\n select: (value: boolean) => void\n selectedClass: Ref<(string | undefined)[] | false>\n value: Ref<unknown>\n disabled: Ref<boolean | undefined>\n group: GroupProvide\n}\n\nexport const makeGroupProps = propsFactory({\n modelValue: {\n type: null,\n default: undefined,\n },\n multiple: Boolean,\n mandatory: [Boolean, String] as PropType<boolean | 'force'>,\n max: Number,\n selectedClass: String,\n disabled: Boolean,\n}, 'group')\n\nexport const makeGroupItemProps = propsFactory({\n value: null,\n disabled: Boolean,\n selectedClass: String,\n}, 'group-item')\n\nexport type GroupItemProps = ExtractPropTypes<ReturnType<typeof makeGroupItemProps>>\n\n// Composables\nexport function useGroupItem (\n props: GroupItemProps,\n injectKey: InjectionKey<GroupProvide>,\n required?: true,\n): GroupItemProvide\nexport function useGroupItem (\n props: GroupItemProps,\n injectKey: InjectionKey<GroupProvide>,\n required: false,\n): GroupItemProvide | null\nexport function useGroupItem (\n props: GroupItemProps,\n injectKey: InjectionKey<GroupProvide>,\n required = true,\n): GroupItemProvide | null {\n const vm = getCurrentInstance('useGroupItem')\n\n if (!vm) {\n throw new Error(\n '[Vuetify] useGroupItem composable must be used inside a component setup function'\n )\n }\n\n const id = getUid()\n\n provide(Symbol.for(`${injectKey.description}:id`), id)\n\n const group = inject(injectKey, null)\n\n if (!group) {\n if (!required) return group\n\n throw new Error(`[Vuetify] Could not find useGroup injection with symbol ${injectKey.description}`)\n }\n\n const value = toRef(props, 'value')\n const disabled = computed(() => group.disabled.value || props.disabled)\n\n group.register({\n id,\n value,\n disabled,\n }, vm)\n\n onBeforeUnmount(() => {\n group.unregister(id)\n })\n\n const isSelected = computed(() => {\n return group.isSelected(id)\n })\n\n const selectedClass = computed(() => isSelected.value && [group.selectedClass.value, props.selectedClass])\n\n watch(isSelected, value => {\n vm.emit('group:selected', { value })\n })\n\n return {\n id,\n isSelected,\n toggle: () => group.select(id, !isSelected.value),\n select: (value: boolean) => group.select(id, value),\n selectedClass,\n value,\n disabled,\n group,\n }\n}\n\nexport function useGroup (\n props: GroupProps,\n injectKey: InjectionKey<GroupProvide>\n) {\n let isUnmounted = false\n const items = reactive<GroupItem[]>([])\n const selected = useProxiedModel(\n props,\n 'modelValue',\n [],\n v => {\n if (v == null) return []\n\n return getIds(items, wrapInArray(v))\n },\n v => {\n const arr = getValues(items, v)\n\n return props.multiple ? arr : arr[0]\n }\n )\n\n const groupVm = getCurrentInstance('useGroup')\n\n function register (item: GroupItem, vm: ComponentInternalInstance) {\n // Is there a better way to fix this typing?\n const unwrapped = item as unknown as UnwrapRef<GroupItem>\n\n const key = Symbol.for(`${injectKey.description}:id`)\n const children = findChildrenWithProvide(key, groupVm?.vnode)\n const index = children.indexOf(vm)\n\n if (index > -1) {\n items.splice(index, 0, unwrapped)\n } else {\n items.push(unwrapped)\n }\n }\n\n function unregister (id: number) {\n if (isUnmounted) return\n\n // TODO: re-evaluate this line's importance in the future\n // should we only modify the model if mandatory is set.\n // selected.value = selected.value.filter(v => v !== id)\n\n forceMandatoryValue()\n\n const index = items.findIndex(item => item.id === id)\n items.splice(index, 1)\n }\n\n // If mandatory and nothing is selected, then select first non-disabled item\n function forceMandatoryValue () {\n const item = items.find(item => !item.disabled)\n if (item && props.mandatory === 'force' && !selected.value.length) {\n selected.value = [item.id]\n }\n }\n\n onMounted(() => {\n forceMandatoryValue()\n })\n\n onBeforeUnmount(() => {\n isUnmounted = true\n })\n\n function select (id: number, value?: boolean) {\n const item = items.find(item => item.id === id)\n if (value && item?.disabled) return\n\n if (props.multiple) {\n const internalValue = selected.value.slice()\n const index = internalValue.findIndex(v => v === id)\n const isSelected = ~index\n value = value ?? !isSelected\n\n // We can't remove value if group is\n // mandatory, value already exists,\n // and it is the only value\n if (\n isSelected &&\n props.mandatory &&\n internalValue.length <= 1\n ) return\n\n // We can't add value if it would\n // cause max limit to be exceeded\n if (\n !isSelected &&\n props.max != null &&\n internalValue.length + 1 > props.max\n ) return\n\n if (index < 0 && value) internalValue.push(id)\n else if (index >= 0 && !value) internalValue.splice(index, 1)\n\n selected.value = internalValue\n } else {\n const isSelected = selected.value.includes(id)\n if (props.mandatory && isSelected) return\n\n selected.value = (value ?? !isSelected) ? [id] : []\n }\n }\n\n function step (offset: number) {\n // getting an offset from selected value obviously won't work with multiple values\n if (props.multiple) consoleWarn('This method is not supported when using \"multiple\" prop')\n\n if (!selected.value.length) {\n const item = items.find(item => !item.disabled)\n item && (selected.value = [item.id])\n } else {\n const currentId = selected.value[0]\n const currentIndex = items.findIndex(i => i.id === currentId)\n\n let newIndex = (currentIndex + offset) % items.length\n let newItem = items[newIndex]\n\n while (newItem.disabled && newIndex !== currentIndex) {\n newIndex = (newIndex + offset) % items.length\n newItem = items[newIndex]\n }\n\n if (newItem.disabled) return\n\n selected.value = [items[newIndex].id]\n }\n }\n\n const state: GroupProvide = {\n register,\n unregister,\n selected,\n select,\n disabled: toRef(props, 'disabled'),\n prev: () => step(items.length - 1),\n next: () => step(1),\n isSelected: (id: number) => selected.value.includes(id),\n selectedClass: computed(() => props.selectedClass),\n items: computed(() => items),\n getItemIndex: (value: unknown) => getItemIndex(items, value),\n }\n\n provide(injectKey, state)\n\n return state\n}\n\nfunction getItemIndex (items: UnwrapRef<GroupItem[]>, value: unknown) {\n const ids = getIds(items, [value])\n\n if (!ids.length) return -1\n\n return items.findIndex(item => item.id === ids[0])\n}\n\nfunction getIds (items: UnwrapRef<GroupItem[]>, modelValue: any[]) {\n const ids = []\n for (let i = 0; i < items.length; i++) {\n const item = items[i]\n\n if (item.value != null) {\n if (modelValue.find(value => deepEqual(value, item.value)) != null) {\n ids.push(item.id)\n }\n } else if (modelValue.includes(i)) {\n ids.push(item.id)\n }\n }\n\n return ids\n}\n\nfunction getValues (items: UnwrapRef<GroupItem[]>, ids: any[]) {\n const values = []\n\n for (let i = 0; i < items.length; i++) {\n const item = items[i]\n\n if (ids.includes(item.id)) {\n values.push(item.value != null ? item.value : i)\n }\n }\n\n return values\n}\n"],"file":"group.mjs"}
@@ -0,0 +1,12 @@
1
+ // Utilities
2
+ import { getCurrentInstance, IN_BROWSER } from "../util/index.mjs";
3
+ import { onMounted } from 'vue';
4
+ export function useHydration(callback) {
5
+ var _vm$root, _vm$root$appContext, _vm$root$appContext$a;
6
+
7
+ if (!IN_BROWSER) return;
8
+ const vm = getCurrentInstance('useHydration');
9
+ const rootEl = vm == null ? void 0 : (_vm$root = vm.root) == null ? void 0 : (_vm$root$appContext = _vm$root.appContext) == null ? void 0 : (_vm$root$appContext$a = _vm$root$appContext.app) == null ? void 0 : _vm$root$appContext$a._container;
10
+ return rootEl != null && rootEl.__vue_app__ ? callback() : onMounted(callback);
11
+ }
12
+ //# sourceMappingURL=hydration.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/composables/hydration.ts"],"names":["getCurrentInstance","IN_BROWSER","onMounted","useHydration","callback","vm","rootEl","root","appContext","app","_container","__vue_app__"],"mappings":"AAAA;SACSA,kB,EAAoBC,U;AAC7B,SAASC,SAAT,QAA0B,KAA1B;AAEA,OAAO,SAASC,YAAT,CAAuBC,QAAvB,EAA6C;AAAA;;AAClD,MAAI,CAACH,UAAL,EAAiB;AAEjB,QAAMI,EAAE,GAAGL,kBAAkB,CAAC,cAAD,CAA7B;AACA,QAAMM,MAAM,GAAGD,EAAH,gCAAGA,EAAE,CAAEE,IAAP,4CAAG,SAAUC,UAAb,8CAAG,oBAAsBC,GAAzB,qBAAG,sBAA2BC,UAA1C;AAEA,SAAOJ,MAAM,QAAN,IAAAA,MAAM,CAAEK,WAAR,GAAsBP,QAAQ,EAA9B,GAAmCF,SAAS,CAACE,QAAD,CAAnD;AACD","sourcesContent":["// Utilities\nimport { getCurrentInstance, IN_BROWSER } from '@/util'\nimport { onMounted } from 'vue'\n\nexport function useHydration (callback: () => void) {\n if (!IN_BROWSER) return\n\n const vm = getCurrentInstance('useHydration')\n const rootEl = vm?.root?.appContext?.app?._container\n\n return rootEl?.__vue_app__ ? callback() : onMounted(callback)\n}\n"],"file":"hydration.mjs"}
@@ -1,10 +1,9 @@
1
1
  import { mergeProps as _mergeProps, createVNode as _createVNode } from "vue";
2
2
  // Utilities
3
- import { computed, defineComponent, inject, isRef } from 'vue';
4
- import { makeProps } from "../util/makeProps.mjs";
5
- import { propsFactory } from "../util/propsFactory.mjs"; // Types
3
+ import { computed, inject, isRef } from 'vue';
4
+ import { defineComponent, propsFactory } from "../util/index.mjs"; // Types
6
5
 
7
- export const VuetifyIconSymbol = Symbol.for('vuetify:icons');
6
+ export const IconSymbol = Symbol.for('vuetify:icons');
8
7
  export const makeIconProps = propsFactory({
9
8
  icon: {
10
9
  type: [String, Object],
@@ -18,7 +17,7 @@ export const makeIconProps = propsFactory({
18
17
  }, 'icon');
19
18
  export const VComponentIcon = defineComponent({
20
19
  name: 'VComponentIcon',
21
- props: makeProps(makeIconProps()),
20
+ props: makeIconProps(),
22
21
 
23
22
  setup(props) {
24
23
  return () => {
@@ -32,32 +31,33 @@ export const VComponentIcon = defineComponent({
32
31
  export const VSvgIcon = defineComponent({
33
32
  name: 'VSvgIcon',
34
33
  inheritAttrs: false,
35
- props: makeProps(makeIconProps()),
34
+ props: makeIconProps(),
36
35
 
37
- setup(props, {
38
- attrs
39
- }) {
36
+ setup(props, _ref) {
37
+ let {
38
+ attrs
39
+ } = _ref;
40
40
  return () => {
41
41
  return _createVNode(props.tag, _mergeProps(attrs, {
42
42
  "style": null
43
43
  }), {
44
44
  default: () => [_createVNode("svg", {
45
- "class": 'v-icon__svg',
46
- "xmlns": 'http://www.w3.org/2000/svg',
47
- "viewBox": '0 0 24 24',
48
- "role": 'img',
45
+ "class": "v-icon__svg",
46
+ "xmlns": "http://www.w3.org/2000/svg",
47
+ "viewBox": "0 0 24 24",
48
+ "role": "img",
49
49
  "aria-hidden": "true"
50
50
  }, [_createVNode("path", {
51
51
  "d": props.icon
52
- }, null, 8, ["d"])])]
53
- }, 16);
52
+ }, null)])]
53
+ });
54
54
  };
55
55
  }
56
56
 
57
57
  });
58
58
  export const VLigatureIcon = defineComponent({
59
59
  name: 'VLigatureIcon',
60
- props: makeProps(makeIconProps()),
60
+ props: makeIconProps(),
61
61
 
62
62
  setup(props) {
63
63
  return () => {
@@ -70,13 +70,13 @@ export const VLigatureIcon = defineComponent({
70
70
  });
71
71
  export const VClassIcon = defineComponent({
72
72
  name: 'VClassIcon',
73
- props: makeProps(makeIconProps()),
73
+ props: makeIconProps(),
74
74
 
75
75
  setup(props) {
76
76
  return () => {
77
77
  return _createVNode(props.tag, {
78
78
  "class": props.icon
79
- }, null, 8, ["class"]);
79
+ }, null);
80
80
  };
81
81
  }
82
82
 
@@ -91,7 +91,7 @@ export const defaultSets = {
91
91
  }; // Composables
92
92
 
93
93
  export const useIcon = props => {
94
- const icons = inject(VuetifyIconSymbol);
94
+ const icons = inject(IconSymbol);
95
95
  if (!icons) throw new Error('Missing Vuetify Icons provide!');
96
96
  const iconData = computed(() => {
97
97
  const iconAlias = isRef(props) ? props.value : props.icon;
@@ -104,7 +104,7 @@ export const useIcon = props => {
104
104
  icon = (_icons$aliases = icons.aliases) == null ? void 0 : _icons$aliases[iconAlias.slice(iconAlias.indexOf('$') + 1)];
105
105
  }
106
106
 
107
- if (!icon) throw new Error("Could not find aliased icon \"".concat(iconAlias, "\""));
107
+ if (!icon) throw new Error(`Could not find aliased icon "${iconAlias}"`);
108
108
 
109
109
  if (typeof icon !== 'string') {
110
110
  return {
@@ -113,17 +113,11 @@ export const useIcon = props => {
113
113
  };
114
114
  }
115
115
 
116
- const hasSet = icon.includes(':');
117
- const setName = hasSet ? icon.split(':')[0] : icons.defaultSet;
118
- const iconName = hasSet ? icon.split(':')[1] : icon;
119
- const set = icons.sets[setName != null ? setName : icons.defaultSet];
120
-
121
- if (!set) {
122
- throw new Error("Could not find icon set \"".concat(setName, "\""));
123
- }
124
-
116
+ const iconSetName = Object.keys(icons.sets).find(setName => typeof icon === 'string' && icon.startsWith(`${setName}:`));
117
+ const iconName = iconSetName ? icon.slice(iconSetName.length + 1) : icon;
118
+ const iconSet = icons.sets[iconSetName != null ? iconSetName : icons.defaultSet];
125
119
  return {
126
- component: set.component,
120
+ component: iconSet.component,
127
121
  icon: iconName
128
122
  };
129
123
  });
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/composables/icons.tsx"],"names":["computed","defineComponent","inject","isRef","makeProps","propsFactory","VuetifyIconSymbol","Symbol","for","makeIconProps","icon","type","String","Object","required","tag","VComponentIcon","name","props","setup","VSvgIcon","inheritAttrs","attrs","VLigatureIcon","VClassIcon","defaultSets","svg","component","class","useIcon","icons","Error","iconData","iconAlias","value","includes","aliases","slice","indexOf","hasSet","setName","split","defaultSet","iconName","set","sets"],"mappings":"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","sourcesContent":["// Utilities\nimport { computed, defineComponent, inject, isRef } from 'vue'\nimport { makeProps } from '@/util/makeProps'\nimport { propsFactory } from '@/util/propsFactory'\n\n// Types\nimport type { InjectionKey, JSXComponent, PropType, Ref } from 'vue'\n\nexport type IconValue = string | JSXComponent\n\nexport interface IconAliases {\n [name: string]: IconValue\n complete: IconValue\n cancel: IconValue\n close: IconValue\n delete: IconValue\n clear: IconValue\n success: IconValue\n info: IconValue\n warning: IconValue\n error: IconValue\n prev: IconValue\n next: IconValue\n checkboxOn: IconValue\n checkboxOff: IconValue\n checkboxIndeterminate: IconValue\n delimiter: IconValue\n sort: IconValue\n expand: IconValue\n menu: IconValue\n subgroup: IconValue\n dropdown: IconValue\n radioOn: IconValue\n radioOff: IconValue\n edit: IconValue\n ratingEmpty: IconValue\n ratingFull: IconValue\n ratingHalf: IconValue\n loading: IconValue\n first: IconValue\n last: IconValue\n unfold: IconValue\n file: IconValue\n plus: IconValue\n minus: IconValue\n}\n\nexport interface IconProps {\n tag: string\n icon: IconValue\n disabled?: Boolean\n}\n\ntype IconComponent = JSXComponent<IconProps>\n\nexport interface IconSet {\n component: IconComponent\n}\n\nexport type IconOptions = {\n defaultSet: string\n aliases?: Partial<IconAliases>\n sets: Record<string, IconSet>\n}\n\ntype IconInstance = {\n component: IconComponent\n icon: IconValue\n}\n\nexport const VuetifyIconSymbol: InjectionKey<IconOptions> = Symbol.for('vuetify:icons')\n\nexport const makeIconProps = propsFactory({\n icon: {\n type: [String, Object] as PropType<IconValue>,\n required: true,\n },\n // Could not remove this and use makeTagProps, types complained because it is not required\n tag: {\n type: String,\n required: true,\n },\n}, 'icon')\n\nexport const VComponentIcon = defineComponent({\n name: 'VComponentIcon',\n\n props: makeProps(makeIconProps()),\n\n setup (props) {\n return () => {\n return (\n <props.tag>\n <props.icon />\n </props.tag>\n )\n }\n },\n})\n\nexport const VSvgIcon = defineComponent({\n name: 'VSvgIcon',\n\n inheritAttrs: false,\n\n props: makeProps(makeIconProps()),\n\n setup (props, { attrs }) {\n return () => {\n return (\n <props.tag { ...attrs } style={ null }>\n <svg\n class='v-icon__svg'\n xmlns='http://www.w3.org/2000/svg'\n viewBox='0 0 24 24'\n role='img'\n aria-hidden=\"true\"\n >\n <path d={ props.icon as string }></path>\n </svg>\n </props.tag>\n )\n }\n },\n})\n\nexport const VLigatureIcon = defineComponent({\n name: 'VLigatureIcon',\n\n props: makeProps(makeIconProps()),\n\n setup (props) {\n return () => {\n return <props.tag>{ props.icon }</props.tag>\n }\n },\n})\n\nexport const VClassIcon = defineComponent({\n name: 'VClassIcon',\n\n props: makeProps(makeIconProps()),\n\n setup (props) {\n return () => {\n return <props.tag class={ props.icon }></props.tag>\n }\n },\n})\n\nexport const defaultSets: Record<string, IconSet> = {\n svg: {\n component: VSvgIcon,\n },\n class: {\n component: VClassIcon,\n },\n}\n\n// Composables\nexport const useIcon = (props: Ref<string | undefined> | { icon?: IconValue }) => {\n const icons = inject(VuetifyIconSymbol)\n\n if (!icons) throw new Error('Missing Vuetify Icons provide!')\n\n const iconData: Ref<IconInstance> = computed(() => {\n const iconAlias = isRef(props) ? props.value : props.icon\n\n if (!iconAlias) throw new Error('Icon value is undefined or null')\n\n let icon: IconValue | undefined = iconAlias\n\n if (typeof iconAlias === 'string' && iconAlias.includes('$')) {\n icon = icons.aliases?.[iconAlias.slice(iconAlias.indexOf('$') + 1)]\n }\n\n if (!icon) throw new Error(`Could not find aliased icon \"${iconAlias}\"`)\n\n if (typeof icon !== 'string') {\n return {\n component: VComponentIcon,\n icon,\n }\n }\n\n const hasSet = icon.includes(':')\n const setName = hasSet ? icon.split(':')[0] : icons.defaultSet\n const iconName = hasSet ? icon.split(':')[1] : icon\n const set = icons.sets[setName ?? icons.defaultSet]\n\n if (!set) {\n throw new Error(`Could not find icon set \"${setName}\"`)\n }\n\n return {\n component: set.component,\n icon: iconName,\n }\n })\n\n return { iconData }\n}\n"],"file":"icons.mjs"}
1
+ {"version":3,"sources":["../../src/composables/icons.tsx"],"names":["computed","inject","isRef","defineComponent","propsFactory","IconSymbol","Symbol","for","makeIconProps","icon","type","String","Object","required","tag","VComponentIcon","name","props","setup","VSvgIcon","inheritAttrs","attrs","VLigatureIcon","VClassIcon","defaultSets","svg","component","class","useIcon","icons","Error","iconData","iconAlias","value","includes","aliases","slice","indexOf","iconSetName","keys","sets","find","setName","startsWith","iconName","length","iconSet","defaultSet"],"mappings":"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","sourcesContent":["// Utilities\nimport { computed, inject, isRef } from 'vue'\nimport { defineComponent, propsFactory } from '@/util'\n\n// Types\nimport type { InjectionKey, JSXComponent, PropType, Ref } from 'vue'\n\nexport type IconValue = string | JSXComponent\n\nexport interface IconAliases {\n [name: string]: IconValue\n complete: IconValue\n cancel: IconValue\n close: IconValue\n delete: IconValue\n clear: IconValue\n success: IconValue\n info: IconValue\n warning: IconValue\n error: IconValue\n prev: IconValue\n next: IconValue\n checkboxOn: IconValue\n checkboxOff: IconValue\n checkboxIndeterminate: IconValue\n delimiter: IconValue\n sort: IconValue\n expand: IconValue\n menu: IconValue\n subgroup: IconValue\n dropdown: IconValue\n radioOn: IconValue\n radioOff: IconValue\n edit: IconValue\n ratingEmpty: IconValue\n ratingFull: IconValue\n ratingHalf: IconValue\n loading: IconValue\n first: IconValue\n last: IconValue\n unfold: IconValue\n file: IconValue\n plus: IconValue\n minus: IconValue\n}\n\nexport interface IconProps {\n tag: string\n icon: IconValue\n disabled?: Boolean\n}\n\ntype IconComponent = JSXComponent<IconProps>\n\nexport interface IconSet {\n component: IconComponent\n}\n\nexport type IconOptions = {\n defaultSet: string\n aliases?: Partial<IconAliases>\n sets: Record<string, IconSet>\n}\n\ntype IconInstance = {\n component: IconComponent\n icon: IconValue\n}\n\nexport const IconSymbol: InjectionKey<IconOptions> = Symbol.for('vuetify:icons')\n\nexport const makeIconProps = propsFactory({\n icon: {\n type: [String, Object] as PropType<IconValue>,\n required: true,\n },\n // Could not remove this and use makeTagProps, types complained because it is not required\n tag: {\n type: String,\n required: true,\n },\n}, 'icon')\n\nexport const VComponentIcon = defineComponent({\n name: 'VComponentIcon',\n\n props: makeIconProps(),\n\n setup (props) {\n return () => {\n return (\n <props.tag>\n <props.icon />\n </props.tag>\n )\n }\n },\n})\n\nexport const VSvgIcon = defineComponent({\n name: 'VSvgIcon',\n\n inheritAttrs: false,\n\n props: makeIconProps(),\n\n setup (props, { attrs }) {\n return () => {\n return (\n <props.tag { ...attrs } style={ null }>\n <svg\n class=\"v-icon__svg\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n role=\"img\"\n aria-hidden=\"true\"\n >\n <path d={ props.icon as string }></path>\n </svg>\n </props.tag>\n )\n }\n },\n})\n\nexport const VLigatureIcon = defineComponent({\n name: 'VLigatureIcon',\n\n props: makeIconProps(),\n\n setup (props) {\n return () => {\n return <props.tag>{ props.icon }</props.tag>\n }\n },\n})\n\nexport const VClassIcon = defineComponent({\n name: 'VClassIcon',\n\n props: makeIconProps(),\n\n setup (props) {\n return () => {\n return <props.tag class={ props.icon }></props.tag>\n }\n },\n})\n\nexport const defaultSets: Record<string, IconSet> = {\n svg: {\n component: VSvgIcon,\n },\n class: {\n component: VClassIcon,\n },\n}\n\n// Composables\nexport const useIcon = (props: Ref<string | undefined> | { icon?: IconValue }) => {\n const icons = inject(IconSymbol)\n\n if (!icons) throw new Error('Missing Vuetify Icons provide!')\n\n const iconData: Ref<IconInstance> = computed(() => {\n const iconAlias = isRef(props) ? props.value : props.icon\n\n if (!iconAlias) throw new Error('Icon value is undefined or null')\n\n let icon: IconValue | undefined = iconAlias\n\n if (typeof iconAlias === 'string' && iconAlias.includes('$')) {\n icon = icons.aliases?.[iconAlias.slice(iconAlias.indexOf('$') + 1)]\n }\n\n if (!icon) throw new Error(`Could not find aliased icon \"${iconAlias}\"`)\n\n if (typeof icon !== 'string') {\n return {\n component: VComponentIcon,\n icon,\n }\n }\n\n const iconSetName = Object.keys(icons.sets).find(\n setName => typeof icon === 'string' && icon.startsWith(`${setName}:`)\n )\n\n const iconName = iconSetName ? icon.slice(iconSetName.length + 1) : icon\n const iconSet = icons.sets[iconSetName ?? icons.defaultSet]\n\n return {\n component: iconSet.component,\n icon: iconName,\n }\n })\n\n return { iconData }\n}\n"],"file":"icons.mjs"}
@@ -0,0 +1,9 @@
1
+ /*
2
+ * PUBLIC INTERFACES ONLY
3
+ * Imports in our code should be to the composable directly, not this file
4
+ */
5
+ export { useDisplay } from "./display.mjs";
6
+ export { useTheme } from "./theme.mjs";
7
+ export { provideRtl, useRtl } from "./rtl.mjs";
8
+ export { useLayout } from "./layout.mjs";
9
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/composables/index.ts"],"names":["useDisplay","useTheme","provideRtl","useRtl","useLayout"],"mappings":"AAAA;AACA;AACA;AACA;SAESA,U;SACAC,Q;SACAC,U,EAAYC,M;SACZC,S","sourcesContent":["/*\n * PUBLIC INTERFACES ONLY\n * Imports in our code should be to the composable directly, not this file\n */\n\nexport { useDisplay } from './display'\nexport { useTheme } from './theme'\nexport { provideRtl, useRtl } from './rtl'\nexport { useLayout } from './layout'\n\nexport type { DefaultsInstance } from './defaults'\nexport type { DisplayBreakpoint, DisplayInstance, DisplayThresholds } from './display'\nexport type { SubmitEventPromise } from './form'\nexport type { IconAliases, IconProps, IconSet, IconOptions } from './icons'\nexport type { LocaleAdapter } from './locale'\nexport type { RtlInstance } from './rtl'\nexport type { ThemeDefinition, ThemeInstance } from './theme'\n"],"file":"index.mjs"}
@@ -0,0 +1,33 @@
1
+ // Utilities
2
+ import { onBeforeUnmount, ref, watch } from 'vue';
3
+ import { SUPPORTS_INTERSECTION } from "../util/index.mjs";
4
+ export function useIntersectionObserver(callback) {
5
+ const intersectionRef = ref();
6
+ const isIntersecting = ref(false);
7
+
8
+ if (SUPPORTS_INTERSECTION) {
9
+ const observer = new IntersectionObserver(entries => {
10
+ callback == null ? void 0 : callback(entries, observer);
11
+ isIntersecting.value = !!entries.find(entry => entry.isIntersecting);
12
+ });
13
+ onBeforeUnmount(() => {
14
+ observer.disconnect();
15
+ });
16
+ watch(intersectionRef, (newValue, oldValue) => {
17
+ if (oldValue) {
18
+ observer.unobserve(oldValue);
19
+ isIntersecting.value = false;
20
+ }
21
+
22
+ if (newValue) observer.observe(newValue);
23
+ }, {
24
+ flush: 'post'
25
+ });
26
+ }
27
+
28
+ return {
29
+ intersectionRef,
30
+ isIntersecting
31
+ };
32
+ }
33
+ //# sourceMappingURL=intersectionObserver.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/composables/intersectionObserver.ts"],"names":["onBeforeUnmount","ref","watch","SUPPORTS_INTERSECTION","useIntersectionObserver","callback","intersectionRef","isIntersecting","observer","IntersectionObserver","entries","value","find","entry","disconnect","newValue","oldValue","unobserve","observe","flush"],"mappings":"AAAA;AACA,SAASA,eAAT,EAA0BC,GAA1B,EAA+BC,KAA/B,QAA4C,KAA5C;SACSC,qB;AAET,OAAO,SAASC,uBAAT,CAAkCC,QAAlC,EAA2E;AAChF,QAAMC,eAAe,GAAGL,GAAG,EAA3B;AACA,QAAMM,cAAc,GAAGN,GAAG,CAAC,KAAD,CAA1B;;AAEA,MAAIE,qBAAJ,EAA2B;AACzB,UAAMK,QAAQ,GAAG,IAAIC,oBAAJ,CAA0BC,OAAD,IAA0C;AAClFL,MAAAA,QAAQ,QAAR,YAAAA,QAAQ,CAAGK,OAAH,EAAYF,QAAZ,CAAR;AAEAD,MAAAA,cAAc,CAACI,KAAf,GAAuB,CAAC,CAACD,OAAO,CAACE,IAAR,CAAaC,KAAK,IAAIA,KAAK,CAACN,cAA5B,CAAzB;AACD,KAJgB,CAAjB;AAMAP,IAAAA,eAAe,CAAC,MAAM;AACpBQ,MAAAA,QAAQ,CAACM,UAAT;AACD,KAFc,CAAf;AAIAZ,IAAAA,KAAK,CAACI,eAAD,EAAkB,CAACS,QAAD,EAAWC,QAAX,KAAwB;AAC7C,UAAIA,QAAJ,EAAc;AACZR,QAAAA,QAAQ,CAACS,SAAT,CAAmBD,QAAnB;AACAT,QAAAA,cAAc,CAACI,KAAf,GAAuB,KAAvB;AACD;;AAED,UAAII,QAAJ,EAAcP,QAAQ,CAACU,OAAT,CAAiBH,QAAjB;AACf,KAPI,EAOF;AACDI,MAAAA,KAAK,EAAE;AADN,KAPE,CAAL;AAUD;;AAED,SAAO;AAAEb,IAAAA,eAAF;AAAmBC,IAAAA;AAAnB,GAAP;AACD","sourcesContent":["// Utilities\nimport { onBeforeUnmount, ref, watch } from 'vue'\nimport { SUPPORTS_INTERSECTION } from '@/util'\n\nexport function useIntersectionObserver (callback?: IntersectionObserverCallback) {\n const intersectionRef = ref<HTMLElement>()\n const isIntersecting = ref(false)\n\n if (SUPPORTS_INTERSECTION) {\n const observer = new IntersectionObserver((entries: IntersectionObserverEntry[]) => {\n callback?.(entries, observer)\n\n isIntersecting.value = !!entries.find(entry => entry.isIntersecting)\n })\n\n onBeforeUnmount(() => {\n observer.disconnect()\n })\n\n watch(intersectionRef, (newValue, oldValue) => {\n if (oldValue) {\n observer.unobserve(oldValue)\n isIntersecting.value = false\n }\n\n if (newValue) observer.observe(newValue)\n }, {\n flush: 'post',\n })\n }\n\n return { intersectionRef, isIntersecting }\n}\n"],"file":"intersectionObserver.mjs"}
@@ -0,0 +1,56 @@
1
+ // Utilities
2
+ import { computed } from 'vue';
3
+ import { getObjectValueByPath, getPropertyFromItem, propsFactory } from "../util/index.mjs"; // Types
4
+
5
+ // Composables
6
+ export const makeItemsProps = propsFactory({
7
+ items: {
8
+ type: Array,
9
+ default: () => []
10
+ },
11
+ itemTitle: {
12
+ type: [String, Array, Function],
13
+ default: 'title'
14
+ },
15
+ itemValue: {
16
+ type: [String, Array, Function],
17
+ default: 'value'
18
+ },
19
+ itemChildren: {
20
+ type: String,
21
+ default: 'children'
22
+ },
23
+ itemProps: {
24
+ type: Function,
25
+ default: item => ({})
26
+ }
27
+ }, 'item');
28
+ export function transformItem(props, item) {
29
+ var _props$itemProps;
30
+
31
+ const title = getPropertyFromItem(item, props.itemTitle, item);
32
+ const value = getPropertyFromItem(item, props.itemValue, title);
33
+ const children = getObjectValueByPath(item, props.itemChildren);
34
+ return {
35
+ title,
36
+ value,
37
+ children: Array.isArray(children) ? transformItems(props, children) : undefined,
38
+ ...((_props$itemProps = props.itemProps) == null ? void 0 : _props$itemProps.call(props, item))
39
+ };
40
+ }
41
+ export function transformItems(props, items) {
42
+ const array = [];
43
+
44
+ for (const item of items) {
45
+ array.push(transformItem(props, item));
46
+ }
47
+
48
+ return array;
49
+ }
50
+ export function useItems(props) {
51
+ const items = computed(() => transformItems(props, props.items));
52
+ return {
53
+ items
54
+ };
55
+ }
56
+ //# sourceMappingURL=items.mjs.map