@vuetify/nightly 3.0.0-beta.3 → 3.0.0-beta.6

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 (441) hide show
  1. package/CHANGELOG.md +43 -2
  2. package/dist/_component-variables.sass +61 -0
  3. package/dist/json/attributes.json +261 -205
  4. package/dist/json/importMap.json +175 -219
  5. package/dist/json/tags.json +74 -104
  6. package/dist/json/web-types.json +880 -835
  7. package/dist/vuetify.css +597 -407
  8. package/dist/vuetify.d.ts +6770 -2144
  9. package/dist/vuetify.esm.js +9075 -8454
  10. package/dist/vuetify.esm.js.map +1 -1
  11. package/dist/vuetify.js +9074 -8453
  12. package/dist/vuetify.js.map +1 -1
  13. package/dist/vuetify.min.css +2 -2
  14. package/dist/vuetify.min.js +1078 -1040
  15. package/dist/vuetify.min.js.map +1 -1
  16. package/lib/blueprints/index.mjs +4 -0
  17. package/lib/blueprints/index.mjs.map +1 -0
  18. package/lib/blueprints/md1.mjs +63 -0
  19. package/lib/blueprints/md1.mjs.map +1 -0
  20. package/lib/blueprints/md2.mjs +60 -0
  21. package/lib/blueprints/md2.mjs.map +1 -0
  22. package/lib/blueprints/md3.mjs +74 -0
  23. package/lib/blueprints/md3.mjs.map +1 -0
  24. package/lib/components/VAlert/VAlert.css +5 -5
  25. package/lib/components/VAlert/VAlert.mjs +8 -2
  26. package/lib/components/VAlert/VAlert.mjs.map +1 -1
  27. package/lib/components/VAlert/VAlert.sass +0 -2
  28. package/lib/components/VApp/VApp.css +2 -5
  29. package/lib/components/VApp/VApp.mjs +3 -4
  30. package/lib/components/VApp/VApp.mjs.map +1 -1
  31. package/lib/components/VApp/VApp.sass +11 -12
  32. package/lib/components/VApp/variables.scss +6 -0
  33. package/lib/components/VAppBar/VAppBar.mjs +4 -3
  34. package/lib/components/VAppBar/VAppBar.mjs.map +1 -1
  35. package/lib/components/VAppBar/VAppBar.sass +0 -1
  36. package/lib/components/VAppBar/VAppBarNavIcon.mjs +7 -12
  37. package/lib/components/VAppBar/VAppBarNavIcon.mjs.map +1 -1
  38. package/lib/components/VAppBar/VAppBarTitle.mjs +4 -3
  39. package/lib/components/VAppBar/VAppBarTitle.mjs.map +1 -1
  40. package/lib/components/VAppBar/_variables.scss +2 -0
  41. package/lib/components/VAutocomplete/VAutocomplete.mjs +54 -21
  42. package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
  43. package/lib/components/VAutocomplete/VAutocomplete.sass +0 -2
  44. package/lib/components/VAvatar/VAvatar.css +1 -1
  45. package/lib/components/VAvatar/VAvatar.mjs.map +1 -1
  46. package/lib/components/VAvatar/VAvatar.sass +1 -2
  47. package/lib/components/VAvatar/_mixins.scss +0 -1
  48. package/lib/components/VBadge/VBadge.mjs +8 -7
  49. package/lib/components/VBadge/VBadge.mjs.map +1 -1
  50. package/lib/components/VBadge/VBadge.sass +0 -1
  51. package/lib/components/VBadge/_variables.scss +2 -2
  52. package/lib/components/VBanner/VBanner.css +7 -7
  53. package/lib/components/VBanner/VBanner.mjs +24 -17
  54. package/lib/components/VBanner/VBanner.mjs.map +1 -1
  55. package/lib/components/VBanner/VBanner.sass +6 -8
  56. package/lib/components/VBanner/VBannerActions.mjs +1 -1
  57. package/lib/components/VBanner/VBannerActions.mjs.map +1 -1
  58. package/lib/components/VBanner/index.mjs +0 -2
  59. package/lib/components/VBanner/index.mjs.map +1 -1
  60. package/lib/components/VBottomNavigation/VBottomNavigation.css +4 -11
  61. package/lib/components/VBottomNavigation/VBottomNavigation.mjs +4 -3
  62. package/lib/components/VBottomNavigation/VBottomNavigation.mjs.map +1 -1
  63. package/lib/components/VBottomNavigation/VBottomNavigation.sass +5 -13
  64. package/lib/components/VBottomNavigation/_variables.scss +7 -8
  65. package/lib/components/VBreadcrumbs/VBreadcrumbs.css +13 -6
  66. package/lib/components/VBreadcrumbs/VBreadcrumbs.mjs +30 -19
  67. package/lib/components/VBreadcrumbs/VBreadcrumbs.mjs.map +1 -1
  68. package/lib/components/VBreadcrumbs/VBreadcrumbs.sass +8 -4
  69. package/lib/components/VBreadcrumbs/VBreadcrumbsItem.mjs +5 -8
  70. package/lib/components/VBreadcrumbs/VBreadcrumbsItem.mjs.map +1 -1
  71. package/lib/components/VBreadcrumbs/_variables.scss +2 -1
  72. package/lib/components/VBtn/VBtn.css +72 -15
  73. package/lib/components/VBtn/VBtn.mjs +70 -27
  74. package/lib/components/VBtn/VBtn.mjs.map +1 -1
  75. package/lib/components/VBtn/VBtn.sass +70 -13
  76. package/lib/components/VBtn/_variables.scss +4 -1
  77. package/lib/components/VBtnGroup/VBtnGroup.sass +0 -1
  78. package/lib/components/VBtnGroup/_variables.scss +2 -0
  79. package/lib/components/VBtnToggle/VBtnToggle.sass +0 -1
  80. package/lib/components/VBtnToggle/_variables.scss +1 -0
  81. package/lib/components/VCard/VCard.css +86 -69
  82. package/lib/components/VCard/VCard.mjs +52 -66
  83. package/lib/components/VCard/VCard.mjs.map +1 -1
  84. package/lib/components/VCard/VCard.sass +74 -62
  85. package/lib/components/VCard/VCardActions.mjs +1 -1
  86. package/lib/components/VCard/VCardActions.mjs.map +1 -1
  87. package/lib/components/VCard/VCardItem.mjs +88 -0
  88. package/lib/components/VCard/VCardItem.mjs.map +1 -0
  89. package/lib/components/VCard/_variables.scss +40 -24
  90. package/lib/components/VCard/index.mjs +1 -5
  91. package/lib/components/VCard/index.mjs.map +1 -1
  92. package/lib/components/VCarousel/VCarousel.mjs +5 -4
  93. package/lib/components/VCarousel/VCarousel.mjs.map +1 -1
  94. package/lib/components/VCarousel/VCarousel.sass +0 -1
  95. package/lib/components/VCarousel/VCarouselItem.mjs.map +1 -1
  96. package/lib/components/VCarousel/_variables.scss +1 -0
  97. package/lib/components/VCheckbox/VCheckbox.mjs +13 -46
  98. package/lib/components/VCheckbox/VCheckbox.mjs.map +1 -1
  99. package/lib/components/VCheckbox/VCheckbox.sass +0 -1
  100. package/lib/components/VCheckbox/VCheckboxBtn.mjs +67 -0
  101. package/lib/components/VCheckbox/VCheckboxBtn.mjs.map +1 -0
  102. package/lib/components/VCheckbox/index.mjs +1 -0
  103. package/lib/components/VCheckbox/index.mjs.map +1 -1
  104. package/lib/components/VChip/VChip.css +142 -65
  105. package/lib/components/VChip/VChip.mjs +77 -38
  106. package/lib/components/VChip/VChip.mjs.map +1 -1
  107. package/lib/components/VChip/VChip.sass +6 -1
  108. package/lib/components/VChip/_mixins.scss +26 -6
  109. package/lib/components/VChip/_variables.scss +1 -5
  110. package/lib/components/VChipGroup/VChipGroup.mjs +5 -4
  111. package/lib/components/VChipGroup/VChipGroup.mjs.map +1 -1
  112. package/lib/components/VChipGroup/VChipGroup.sass +1 -1
  113. package/lib/components/VChipGroup/_variables.scss +1 -1
  114. package/lib/components/VCode/VCode.sass +1 -2
  115. package/lib/components/VCode/_variables.scss +1 -1
  116. package/lib/components/VColorPicker/VColorPicker.mjs +16 -10
  117. package/lib/components/VColorPicker/VColorPicker.mjs.map +1 -1
  118. package/lib/components/VColorPicker/VColorPicker.sass +0 -1
  119. package/lib/components/VColorPicker/VColorPickerCanvas.mjs +5 -4
  120. package/lib/components/VColorPicker/VColorPickerCanvas.mjs.map +1 -1
  121. package/lib/components/VColorPicker/VColorPickerCanvas.sass +0 -1
  122. package/lib/components/VColorPicker/VColorPickerEdit.mjs +4 -3
  123. package/lib/components/VColorPicker/VColorPickerEdit.mjs.map +1 -1
  124. package/lib/components/VColorPicker/VColorPickerEdit.sass +0 -1
  125. package/lib/components/VColorPicker/VColorPickerPreview.mjs +4 -3
  126. package/lib/components/VColorPicker/VColorPickerPreview.mjs.map +1 -1
  127. package/lib/components/VColorPicker/VColorPickerPreview.sass +0 -1
  128. package/lib/components/VColorPicker/VColorPickerSwatches.mjs +6 -5
  129. package/lib/components/VColorPicker/VColorPickerSwatches.mjs.map +1 -1
  130. package/lib/components/VColorPicker/VColorPickerSwatches.sass +0 -1
  131. package/lib/components/VColorPicker/_variables.scss +17 -10
  132. package/lib/components/VCombobox/VCombobox.mjs +52 -36
  133. package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
  134. package/lib/components/VCombobox/VCombobox.sass +0 -2
  135. package/lib/components/VCounter/VCounter.mjs +16 -16
  136. package/lib/components/VCounter/VCounter.mjs.map +1 -1
  137. package/lib/components/VCounter/VCounter.sass +1 -2
  138. package/lib/components/VCounter/_variables.scss +2 -1
  139. package/lib/components/VDialog/VDialog.css +2 -5
  140. package/lib/components/VDialog/VDialog.mjs +25 -25
  141. package/lib/components/VDialog/VDialog.mjs.map +1 -1
  142. package/lib/components/VDialog/VDialog.sass +1 -5
  143. package/lib/components/VDialog/_variables.scss +0 -1
  144. package/lib/components/VDivider/VDivider.mjs +16 -17
  145. package/lib/components/VDivider/VDivider.mjs.map +1 -1
  146. package/lib/components/VDivider/VDivider.sass +0 -1
  147. package/lib/components/VDivider/_variables.scss +3 -1
  148. package/lib/components/VExpansionPanel/VExpansionPanel.css +1 -0
  149. package/lib/components/VExpansionPanel/VExpansionPanel.mjs +9 -4
  150. package/lib/components/VExpansionPanel/VExpansionPanel.mjs.map +1 -1
  151. package/lib/components/VExpansionPanel/VExpansionPanel.sass +1 -1
  152. package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs +7 -7
  153. package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs.map +1 -1
  154. package/lib/components/VExpansionPanel/VExpansionPanels.mjs.map +1 -1
  155. package/lib/components/VExpansionPanel/_variables.scss +15 -10
  156. package/lib/components/VField/VField.css +11 -11
  157. package/lib/components/VField/VField.mjs +19 -12
  158. package/lib/components/VField/VField.mjs.map +1 -1
  159. package/lib/components/VField/VField.sass +8 -10
  160. package/lib/components/VField/VFieldLabel.mjs +8 -9
  161. package/lib/components/VField/VFieldLabel.mjs.map +1 -1
  162. package/lib/components/VField/_variables.scss +3 -3
  163. package/lib/components/VFileInput/VFileInput.css +3 -3
  164. package/lib/components/VFileInput/VFileInput.mjs +12 -7
  165. package/lib/components/VFileInput/VFileInput.mjs.map +1 -1
  166. package/lib/components/VFileInput/VFileInput.sass +3 -4
  167. package/lib/components/VFooter/VFooter.mjs +4 -3
  168. package/lib/components/VFooter/VFooter.mjs.map +1 -1
  169. package/lib/components/VFooter/VFooter.sass +0 -1
  170. package/lib/components/VFooter/_variables.scss +2 -1
  171. package/lib/components/VForm/VForm.mjs +3 -3
  172. package/lib/components/VForm/VForm.mjs.map +1 -1
  173. package/lib/components/VGrid/VCol.mjs.map +1 -1
  174. package/lib/components/VGrid/VContainer.mjs +4 -3
  175. package/lib/components/VGrid/VContainer.mjs.map +1 -1
  176. package/lib/components/VGrid/VRow.mjs.map +1 -1
  177. package/lib/components/VIcon/VIcon.css +0 -8
  178. package/lib/components/VIcon/VIcon.mjs +20 -21
  179. package/lib/components/VIcon/VIcon.mjs.map +1 -1
  180. package/lib/components/VIcon/VIcon.sass +0 -9
  181. package/lib/components/VIcon/_variables.scss +2 -5
  182. package/lib/components/VIcon/index.mjs.map +1 -1
  183. package/lib/components/VImg/VImg.sass +0 -1
  184. package/lib/components/VInput/VInput.mjs +13 -9
  185. package/lib/components/VInput/VInput.mjs.map +1 -1
  186. package/lib/components/VInput/VInput.sass +0 -1
  187. package/lib/components/VItemGroup/VItem.mjs +3 -0
  188. package/lib/components/VItemGroup/VItem.mjs.map +1 -1
  189. package/lib/components/VItemGroup/VItemGroup.sass +0 -1
  190. package/lib/components/VKbd/VKbd.sass +0 -1
  191. package/lib/components/VKbd/_variables.scss +1 -1
  192. package/lib/components/VLabel/VLabel.mjs +4 -3
  193. package/lib/components/VLabel/VLabel.mjs.map +1 -1
  194. package/lib/components/VLabel/VLabel.sass +0 -1
  195. package/lib/components/VLabel/_variables.scss +1 -0
  196. package/lib/components/VLazy/VLazy.mjs +5 -3
  197. package/lib/components/VLazy/VLazy.mjs.map +1 -1
  198. package/lib/components/VList/VList.css +2 -2
  199. package/lib/components/VList/VList.mjs +16 -18
  200. package/lib/components/VList/VList.mjs.map +1 -1
  201. package/lib/components/VList/VList.sass +1 -2
  202. package/lib/components/VList/VListChildren.mjs +7 -6
  203. package/lib/components/VList/VListChildren.mjs.map +1 -1
  204. package/lib/components/VList/VListGroup.mjs +45 -31
  205. package/lib/components/VList/VListGroup.mjs.map +1 -1
  206. package/lib/components/VList/VListItem.css +84 -58
  207. package/lib/components/VList/VListItem.mjs +78 -45
  208. package/lib/components/VList/VListItem.mjs.map +1 -1
  209. package/lib/components/VList/VListItem.sass +68 -40
  210. package/lib/components/VList/VListItemAction.mjs +8 -9
  211. package/lib/components/VList/VListItemAction.mjs.map +1 -1
  212. package/lib/components/VList/VListItemMedia.mjs +4 -3
  213. package/lib/components/VList/VListItemMedia.mjs.map +1 -1
  214. package/lib/components/VList/VListSubheader.mjs +4 -3
  215. package/lib/components/VList/VListSubheader.mjs.map +1 -1
  216. package/lib/components/VList/_variables.scss +11 -5
  217. package/lib/components/VList/index.mjs +2 -5
  218. package/lib/components/VList/index.mjs.map +1 -1
  219. package/lib/components/VLocaleProvider/VLocaleProvider.mjs +5 -3
  220. package/lib/components/VLocaleProvider/VLocaleProvider.mjs.map +1 -1
  221. package/lib/components/VMain/VMain.mjs +4 -3
  222. package/lib/components/VMain/VMain.mjs.map +1 -1
  223. package/lib/components/VMain/VMain.sass +0 -1
  224. package/lib/components/VMain/_variables.scss +1 -1
  225. package/lib/components/VMenu/VMenu.mjs +5 -5
  226. package/lib/components/VMenu/VMenu.mjs.map +1 -1
  227. package/lib/components/VMenu/VMenu.sass +0 -1
  228. package/lib/components/VMessages/VMessages.mjs +5 -3
  229. package/lib/components/VMessages/VMessages.mjs.map +1 -1
  230. package/lib/components/VMessages/VMessages.sass +0 -1
  231. package/lib/components/VMessages/_variables.scss +1 -1
  232. package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs +10 -4
  233. package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs.map +1 -1
  234. package/lib/components/VNavigationDrawer/VNavigationDrawer.sass +0 -1
  235. package/lib/components/VNavigationDrawer/_variables.scss +2 -1
  236. package/lib/components/VNavigationDrawer/touch.mjs +5 -2
  237. package/lib/components/VNavigationDrawer/touch.mjs.map +1 -1
  238. package/lib/components/VNoSsr/VNoSsr.mjs.map +1 -1
  239. package/lib/components/VOverlay/VOverlay.mjs +10 -8
  240. package/lib/components/VOverlay/VOverlay.mjs.map +1 -1
  241. package/lib/components/VOverlay/VOverlay.sass +0 -1
  242. package/lib/components/VOverlay/locationStrategies.mjs +267 -78
  243. package/lib/components/VOverlay/locationStrategies.mjs.map +1 -1
  244. package/lib/components/VOverlay/useActivator.mjs +4 -3
  245. package/lib/components/VOverlay/useActivator.mjs.map +1 -1
  246. package/lib/components/VOverlay/util/point.mjs +3 -3
  247. package/lib/components/VOverlay/util/point.mjs.map +1 -1
  248. package/lib/components/VPagination/VPagination.mjs +41 -23
  249. package/lib/components/VPagination/VPagination.mjs.map +1 -1
  250. package/lib/components/VPagination/VPagination.sass +0 -1
  251. package/lib/components/VParallax/VParallax.mjs +5 -5
  252. package/lib/components/VParallax/VParallax.mjs.map +1 -1
  253. package/lib/components/VProgressCircular/VProgressCircular.mjs +6 -5
  254. package/lib/components/VProgressCircular/VProgressCircular.mjs.map +1 -1
  255. package/lib/components/VProgressCircular/VProgressCircular.sass +0 -1
  256. package/lib/components/VProgressCircular/_variables.scss +2 -0
  257. package/lib/components/VProgressLinear/VProgressLinear.mjs +5 -3
  258. package/lib/components/VProgressLinear/VProgressLinear.mjs.map +1 -1
  259. package/lib/components/VProgressLinear/VProgressLinear.sass +0 -1
  260. package/lib/components/VProgressLinear/_variables.scss +1 -0
  261. package/lib/components/VRadioGroup/VRadioGroup.mjs +6 -3
  262. package/lib/components/VRadioGroup/VRadioGroup.mjs.map +1 -1
  263. package/lib/components/VRadioGroup/VRadioGroup.sass +5 -3
  264. package/lib/components/VRadioGroup/_variables.scss +3 -4
  265. package/lib/components/VRangeSlider/VRangeSlider.mjs +12 -13
  266. package/lib/components/VRangeSlider/VRangeSlider.mjs.map +1 -1
  267. package/lib/components/VRating/VRating.mjs +6 -5
  268. package/lib/components/VRating/VRating.mjs.map +1 -1
  269. package/lib/components/VRating/VRating.sass +2 -1
  270. package/lib/components/VResponsive/VResponsive.mjs +7 -6
  271. package/lib/components/VResponsive/VResponsive.mjs.map +1 -1
  272. package/lib/components/VSelect/VSelect.mjs +61 -22
  273. package/lib/components/VSelect/VSelect.mjs.map +1 -1
  274. package/lib/components/VSelect/VSelect.sass +0 -2
  275. package/lib/components/VSelectionControl/VSelectionControl.css +1 -0
  276. package/lib/components/VSelectionControl/VSelectionControl.mjs +12 -10
  277. package/lib/components/VSelectionControl/VSelectionControl.mjs.map +1 -1
  278. package/lib/components/VSelectionControl/VSelectionControl.sass +1 -1
  279. package/lib/components/VSelectionControl/_variables.scss +1 -0
  280. package/lib/components/VSelectionControlGroup/VSelectionControlGroup.mjs +3 -3
  281. package/lib/components/VSelectionControlGroup/VSelectionControlGroup.mjs.map +1 -1
  282. package/lib/components/VSelectionControlGroup/VSelectionControlGroup.sass +1 -6
  283. package/lib/components/VSelectionControlGroup/_variables.scss +1 -4
  284. package/lib/components/VSheet/VSheet.mjs +3 -3
  285. package/lib/components/VSheet/VSheet.mjs.map +1 -1
  286. package/lib/components/VSheet/VSheet.sass +0 -1
  287. package/lib/components/VSheet/_variables.scss +3 -2
  288. package/lib/components/VSlideGroup/VSlideGroup.mjs +47 -49
  289. package/lib/components/VSlideGroup/VSlideGroup.mjs.map +1 -1
  290. package/lib/components/VSlideGroup/VSlideGroup.sass +0 -1
  291. package/lib/components/VSlideGroup/VSlideGroupItem.mjs +7 -3
  292. package/lib/components/VSlideGroup/VSlideGroupItem.mjs.map +1 -1
  293. package/lib/components/VSlideGroup/_variables.scss +0 -5
  294. package/lib/components/VSlideGroup/index.mjs +2 -2
  295. package/lib/components/VSlideGroup/index.mjs.map +1 -1
  296. package/lib/components/VSlider/VSlider.mjs +7 -9
  297. package/lib/components/VSlider/VSlider.mjs.map +1 -1
  298. package/lib/components/VSlider/VSlider.sass +0 -2
  299. package/lib/components/VSlider/VSliderThumb.mjs +6 -5
  300. package/lib/components/VSlider/VSliderThumb.mjs.map +1 -1
  301. package/lib/components/VSlider/VSliderThumb.sass +0 -2
  302. package/lib/components/VSlider/VSliderTrack.mjs +11 -10
  303. package/lib/components/VSlider/VSliderTrack.mjs.map +1 -1
  304. package/lib/components/VSlider/VSliderTrack.sass +0 -2
  305. package/lib/components/VSlider/slider.mjs +4 -4
  306. package/lib/components/VSlider/slider.mjs.map +1 -1
  307. package/lib/components/VSnackbar/VSnackbar.css +5 -5
  308. package/lib/components/VSnackbar/VSnackbar.mjs +49 -49
  309. package/lib/components/VSnackbar/VSnackbar.mjs.map +1 -1
  310. package/lib/components/VSnackbar/VSnackbar.sass +0 -1
  311. package/lib/components/VSnackbar/_variables.scss +2 -0
  312. package/lib/components/VSwitch/VSwitch.css +7 -0
  313. package/lib/components/VSwitch/VSwitch.mjs +8 -2
  314. package/lib/components/VSwitch/VSwitch.mjs.map +1 -1
  315. package/lib/components/VSwitch/VSwitch.sass +6 -1
  316. package/lib/components/VSwitch/_variables.scss +1 -0
  317. package/lib/components/VSystemBar/VSystemBar.mjs +5 -13
  318. package/lib/components/VSystemBar/VSystemBar.mjs.map +1 -1
  319. package/lib/components/VSystemBar/VSystemBar.sass +0 -1
  320. package/lib/components/VSystemBar/_variables.scss +2 -1
  321. package/lib/components/VTable/VTable.css +1 -0
  322. package/lib/components/VTable/VTable.mjs +9 -8
  323. package/lib/components/VTable/VTable.mjs.map +1 -1
  324. package/lib/components/VTable/VTable.sass +1 -1
  325. package/lib/components/VTable/_variables.scss +2 -0
  326. package/lib/components/VTabs/VTab.css +3 -1
  327. package/lib/components/VTabs/VTab.mjs +4 -4
  328. package/lib/components/VTabs/VTab.mjs.map +1 -1
  329. package/lib/components/VTabs/VTab.sass +4 -2
  330. package/lib/components/VTabs/VTabs.mjs +15 -12
  331. package/lib/components/VTabs/VTabs.mjs.map +1 -1
  332. package/lib/components/VTabs/VTabs.sass +0 -1
  333. package/lib/components/VTabs/_variables.scss +2 -0
  334. package/lib/components/VTextField/VTextField.mjs +25 -13
  335. package/lib/components/VTextField/VTextField.mjs.map +1 -1
  336. package/lib/components/VTextField/VTextField.sass +0 -1
  337. package/lib/components/VTextField/_variables.scss +1 -1
  338. package/lib/components/VTextarea/VTextarea.mjs +22 -12
  339. package/lib/components/VTextarea/VTextarea.mjs.map +1 -1
  340. package/lib/components/VTextarea/VTextarea.sass +0 -2
  341. package/lib/components/VTextarea/_variables.scss +1 -0
  342. package/lib/components/VTimeline/VTimeline.mjs +24 -25
  343. package/lib/components/VTimeline/VTimeline.mjs.map +1 -1
  344. package/lib/components/VTimeline/VTimeline.sass +3 -3
  345. package/lib/components/VTimeline/VTimelineDivider.mjs +41 -38
  346. package/lib/components/VTimeline/VTimelineDivider.mjs.map +1 -1
  347. package/lib/components/VTimeline/VTimelineItem.mjs +10 -11
  348. package/lib/components/VTimeline/VTimelineItem.mjs.map +1 -1
  349. package/lib/components/VTimeline/_variables.scss +11 -6
  350. package/lib/components/VToolbar/VToolbar.css +15 -6
  351. package/lib/components/VToolbar/VToolbar.mjs +9 -9
  352. package/lib/components/VToolbar/VToolbar.mjs.map +1 -1
  353. package/lib/components/VToolbar/VToolbar.sass +15 -7
  354. package/lib/components/VToolbar/VToolbarItems.mjs +12 -8
  355. package/lib/components/VToolbar/VToolbarItems.mjs.map +1 -1
  356. package/lib/components/VToolbar/_variables.scss +6 -2
  357. package/lib/components/VTooltip/VTooltip.mjs +41 -39
  358. package/lib/components/VTooltip/VTooltip.mjs.map +1 -1
  359. package/lib/components/VTooltip/VTooltip.sass +0 -1
  360. package/lib/components/VTooltip/_variables.scss +1 -0
  361. package/lib/components/VWindow/VWindow.mjs +4 -4
  362. package/lib/components/VWindow/VWindow.mjs.map +1 -1
  363. package/lib/components/VWindow/VWindow.sass +0 -2
  364. package/lib/components/VWindow/VWindowItem.mjs +21 -11
  365. package/lib/components/VWindow/VWindowItem.mjs.map +1 -1
  366. package/lib/components/VWindow/_variables.scss +1 -0
  367. package/lib/components/index.d.ts +7316 -2666
  368. package/lib/components/transitions/dialog-transition.mjs +3 -0
  369. package/lib/components/transitions/dialog-transition.mjs.map +1 -1
  370. package/lib/components/transitions/index.mjs +0 -5
  371. package/lib/components/transitions/index.mjs.map +1 -1
  372. package/lib/composables/border.mjs +5 -6
  373. package/lib/composables/border.mjs.map +1 -1
  374. package/lib/composables/display.mjs +13 -11
  375. package/lib/composables/display.mjs.map +1 -1
  376. package/lib/composables/form.mjs +6 -6
  377. package/lib/composables/form.mjs.map +1 -1
  378. package/lib/composables/group.mjs.map +1 -1
  379. package/lib/composables/items.mjs +2 -2
  380. package/lib/composables/items.mjs.map +1 -1
  381. package/lib/composables/location.mjs +4 -8
  382. package/lib/composables/location.mjs.map +1 -1
  383. package/lib/composables/proxiedModel.mjs +2 -1
  384. package/lib/composables/proxiedModel.mjs.map +1 -1
  385. package/lib/composables/size.mjs +2 -2
  386. package/lib/composables/size.mjs.map +1 -1
  387. package/lib/composables/ssrBoot.mjs +3 -2
  388. package/lib/composables/ssrBoot.mjs.map +1 -1
  389. package/lib/composables/stack.mjs +7 -7
  390. package/lib/composables/stack.mjs.map +1 -1
  391. package/lib/composables/theme.mjs +15 -6
  392. package/lib/composables/theme.mjs.map +1 -1
  393. package/lib/composables/validation.mjs +15 -8
  394. package/lib/composables/validation.mjs.map +1 -1
  395. package/lib/composables/variant.mjs +7 -5
  396. package/lib/composables/variant.mjs.map +1 -1
  397. package/lib/directives/ripple/VRipple.sass +0 -1
  398. package/lib/entry-bundler.mjs +1 -1
  399. package/lib/framework.mjs +29 -7
  400. package/lib/framework.mjs.map +1 -1
  401. package/lib/index.d.ts +68 -70
  402. package/lib/styles/generic/_transitions.scss +13 -77
  403. package/lib/styles/main.css +44 -58
  404. package/lib/styles/tools/_variant.sass +6 -6
  405. package/lib/util/anchor.mjs +34 -28
  406. package/lib/util/anchor.mjs.map +1 -1
  407. package/lib/util/animation.mjs +2 -2
  408. package/lib/util/animation.mjs.map +1 -1
  409. package/lib/util/box.mjs +12 -0
  410. package/lib/util/box.mjs.map +1 -1
  411. package/lib/util/getCurrentInstance.mjs +19 -0
  412. package/lib/util/getCurrentInstance.mjs.map +1 -1
  413. package/lib/util/helpers.mjs +21 -5
  414. package/lib/util/helpers.mjs.map +1 -1
  415. package/package.json +16 -10
  416. package/lib/components/VBanner/VBannerAvatar.mjs +0 -20
  417. package/lib/components/VBanner/VBannerAvatar.mjs.map +0 -1
  418. package/lib/components/VBanner/VBannerIcon.mjs +0 -20
  419. package/lib/components/VBanner/VBannerIcon.mjs.map +0 -1
  420. package/lib/components/VBreadcrumbs/shared.mjs +0 -2
  421. package/lib/components/VBreadcrumbs/shared.mjs.map +0 -1
  422. package/lib/components/VCard/VCardAvatar.mjs +0 -3
  423. package/lib/components/VCard/VCardAvatar.mjs.map +0 -1
  424. package/lib/components/VCard/VCardContent.mjs +0 -3
  425. package/lib/components/VCard/VCardContent.mjs.map +0 -1
  426. package/lib/components/VCard/VCardHeader.mjs +0 -3
  427. package/lib/components/VCard/VCardHeader.mjs.map +0 -1
  428. package/lib/components/VCard/VCardHeaderText.mjs +0 -3
  429. package/lib/components/VCard/VCardHeaderText.mjs.map +0 -1
  430. package/lib/components/VCard/VCardImg.mjs +0 -3
  431. package/lib/components/VCard/VCardImg.mjs.map +0 -1
  432. package/lib/components/VList/VListItemAvatar.mjs +0 -23
  433. package/lib/components/VList/VListItemAvatar.mjs.map +0 -1
  434. package/lib/components/VList/VListItemHeader.mjs +0 -3
  435. package/lib/components/VList/VListItemHeader.mjs.map +0 -1
  436. package/lib/components/VList/VListItemIcon.mjs +0 -23
  437. package/lib/components/VList/VListItemIcon.mjs.map +0 -1
  438. package/lib/components/VTimeline/shared.mjs +0 -2
  439. package/lib/components/VTimeline/shared.mjs.map +0 -1
  440. package/lib/presets/default/index.mjs +0 -71
  441. package/lib/presets/default/index.mjs.map +0 -1
@@ -4,19 +4,19 @@ import "./VList.css"; // Components
4
4
 
5
5
  import { VListChildren } from "./VListChildren.mjs"; // Composables
6
6
 
7
+ import { createList } from "./list.mjs";
7
8
  import { makeBorderProps, useBorder } from "../../composables/border.mjs";
8
9
  import { makeDensityProps, useDensity } from "../../composables/density.mjs";
9
10
  import { makeDimensionProps, useDimension } from "../../composables/dimensions.mjs";
10
11
  import { makeElevationProps, useElevation } from "../../composables/elevation.mjs";
11
12
  import { makeItemsProps } from "../../composables/items.mjs";
13
+ import { makeNestedProps, useNested } from "../../composables/nested/nested.mjs";
12
14
  import { makeRoundedProps, useRounded } from "../../composables/rounded.mjs";
13
15
  import { makeTagProps } from "../../composables/tag.mjs";
14
- import { useBackgroundColor } from "../../composables/color.mjs";
15
16
  import { makeThemeProps, provideTheme } from "../../composables/theme.mjs";
16
- import { makeNestedProps, useNested } from "../../composables/nested/nested.mjs";
17
17
  import { makeVariantProps } from "../../composables/variant.mjs";
18
- import { createList } from "./list.mjs";
19
- import { provideDefaults } from "../../composables/defaults.mjs"; // Utilities
18
+ import { provideDefaults } from "../../composables/defaults.mjs";
19
+ import { useBackgroundColor } from "../../composables/color.mjs"; // Utilities
20
20
 
21
21
  import { computed, toRef } from 'vue';
22
22
  import { genericComponent, getPropertyFromItem, pick, useRender } from "../../util/index.mjs"; // Types
@@ -38,7 +38,7 @@ function transformItem(props, item) {
38
38
  value: _props.value,
39
39
  props: _props,
40
40
  children: type === 'item' && children ? transformItems(props, children) : undefined,
41
- originalItem: item
41
+ raw: item
42
42
  };
43
43
  }
44
44
 
@@ -151,19 +151,17 @@ export const VList = genericComponent()({
151
151
  variant: toRef(props, 'variant')
152
152
  }
153
153
  });
154
- useRender(() => {
155
- return _createVNode(props.tag, {
156
- "class": ['v-list', {
157
- 'v-list--disabled': props.disabled,
158
- 'v-list--nav': props.nav
159
- }, themeClasses.value, backgroundColorClasses.value, borderClasses.value, densityClasses.value, elevationClasses.value, lineClasses.value, roundedClasses.value],
160
- "style": [backgroundColorStyles.value, dimensionStyles.value]
161
- }, {
162
- default: () => [_createVNode(VListChildren, {
163
- "items": items.value
164
- }, slots)]
165
- });
166
- });
154
+ useRender(() => _createVNode(props.tag, {
155
+ "class": ['v-list', {
156
+ 'v-list--disabled': props.disabled,
157
+ 'v-list--nav': props.nav
158
+ }, themeClasses.value, backgroundColorClasses.value, borderClasses.value, densityClasses.value, elevationClasses.value, lineClasses.value, roundedClasses.value],
159
+ "style": [backgroundColorStyles.value, dimensionStyles.value]
160
+ }, {
161
+ default: () => [_createVNode(VListChildren, {
162
+ "items": items.value
163
+ }, slots)]
164
+ }));
167
165
  return {
168
166
  open,
169
167
  select
@@ -1 +1 @@
1
- {"version":3,"file":"VList.mjs","names":["VListChildren","makeBorderProps","useBorder","makeDensityProps","useDensity","makeDimensionProps","useDimension","makeElevationProps","useElevation","makeItemsProps","makeRoundedProps","useRounded","makeTagProps","useBackgroundColor","makeThemeProps","provideTheme","makeNestedProps","useNested","makeVariantProps","createList","provideDefaults","computed","toRef","genericComponent","getPropertyFromItem","pick","useRender","transformItem","props","item","type","itemType","title","itemTitle","value","itemValue","undefined","children","itemChildren","itemProps","_props","transformItems","originalItem","items","array","push","useListItems","VList","name","activeColor","String","activeClass","bgColor","disabled","Boolean","lines","default","nav","selectStrategy","openStrategy","variant","emits","val","setup","slots","themeClasses","backgroundColorClasses","backgroundColorStyles","borderClasses","densityClasses","dimensionStyles","elevationClasses","roundedClasses","open","select","lineClasses","color","VListGroup","VListItem","density"],"sources":["../../../src/components/VList/VList.tsx"],"sourcesContent":["// Styles\nimport './VList.sass'\n\n// Components\nimport { VListChildren } from './VListChildren'\n\n// Composables\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeItemsProps } from '@/composables/items'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { useBackgroundColor } from '@/composables/color'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { makeNestedProps, useNested } from '@/composables/nested/nested'\nimport { makeVariantProps } from '@/composables/variant'\nimport { createList } from './list'\nimport { provideDefaults } from '@/composables/defaults'\n\n// Utilities\nimport { computed, toRef } from 'vue'\nimport { genericComponent, getPropertyFromItem, pick, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { MakeSlots } from '@/util'\nimport type { ListGroupActivatorSlot } from './VListGroup'\nimport type { InternalItem, ItemProps } from '@/composables/items'\n\nexport interface InternalListItem extends InternalItem {\n type?: 'item' | 'subheader' | 'divider'\n}\n\nfunction transformItem (props: ItemProps & { itemType: string }, item: any): InternalListItem {\n const type = getPropertyFromItem(item, props.itemType, 'item')\n const title = typeof item === 'string' ? item : getPropertyFromItem(item, props.itemTitle)\n const value = getPropertyFromItem(item, props.itemValue, undefined)\n const children = getPropertyFromItem(item, props.itemChildren)\n const itemProps = props.itemProps === true ? pick(item, ['children'])[1] : getPropertyFromItem(item, props.itemProps)\n\n const _props = {\n title,\n value,\n ...itemProps,\n }\n\n return {\n type,\n title: _props.title,\n value: _props.value,\n props: _props,\n children: type === 'item' && children ? transformItems(props, children) : undefined,\n originalItem: item,\n }\n}\n\nfunction transformItems (props: ItemProps & { itemType: string }, items: (string | object)[]) {\n const array: InternalListItem[] = []\n\n for (const item of items) {\n array.push(transformItem(props, item))\n }\n\n return array\n}\n\nfunction useListItems (props: ItemProps & { itemType: string }) {\n const items = computed(() => transformItems(props, props.items))\n\n return { items }\n}\n\nexport const VList = genericComponent<new <T>() => {\n $props: {\n items?: T[]\n }\n $slots: MakeSlots<{\n subheader: []\n header: [ListGroupActivatorSlot]\n item: [T]\n }>\n}>()({\n name: 'VList',\n\n props: {\n activeColor: String,\n activeClass: String,\n bgColor: String,\n disabled: Boolean,\n lines: {\n type: [Boolean, String] as PropType<'one' | 'two' | 'three' | false>,\n default: 'one',\n },\n nav: Boolean,\n\n ...makeNestedProps({\n selectStrategy: 'single-leaf' as const,\n openStrategy: 'list' as const,\n }),\n ...makeBorderProps(),\n ...makeDensityProps(),\n ...makeDimensionProps(),\n ...makeElevationProps(),\n itemType: {\n type: String,\n default: 'type',\n },\n ...makeItemsProps(),\n ...makeRoundedProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n ...makeVariantProps({ variant: 'text' } as const),\n },\n\n emits: {\n 'update:selected': (val: string[]) => true,\n 'update:opened': (val: string[]) => true,\n 'click:open': (value: { id: string, value: boolean, path: string[] }) => true,\n 'click:select': (value: { id: string, value: boolean, path: string[] }) => true,\n },\n\n setup (props, { slots }) {\n const { items } = useListItems(props)\n const { themeClasses } = provideTheme(props)\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(toRef(props, 'bgColor'))\n const { borderClasses } = useBorder(props)\n const { densityClasses } = useDensity(props)\n const { dimensionStyles } = useDimension(props)\n const { elevationClasses } = useElevation(props)\n const { roundedClasses } = useRounded(props)\n const { open, select } = useNested(props)\n const lineClasses = computed(() => props.lines ? `v-list--${props.lines}-line` : undefined)\n const activeColor = toRef(props, 'activeColor')\n const color = toRef(props, 'color')\n\n createList()\n\n provideDefaults({\n VListGroup: {\n activeColor,\n color,\n },\n VListItem: {\n activeClass: toRef(props, 'activeClass'),\n activeColor,\n color,\n density: toRef(props, 'density'),\n disabled: toRef(props, 'disabled'),\n lines: toRef(props, 'lines'),\n nav: toRef(props, 'nav'),\n variant: toRef(props, 'variant'),\n },\n })\n\n useRender(() => {\n return (\n <props.tag\n class={[\n 'v-list',\n {\n 'v-list--disabled': props.disabled,\n 'v-list--nav': props.nav,\n },\n themeClasses.value,\n backgroundColorClasses.value,\n borderClasses.value,\n densityClasses.value,\n elevationClasses.value,\n lineClasses.value,\n roundedClasses.value,\n ]}\n style={[\n backgroundColorStyles.value,\n dimensionStyles.value,\n ]}\n >\n <VListChildren items={ items.value } v-slots={ slots }></VListChildren>\n </props.tag>\n )\n })\n\n return {\n open,\n select,\n }\n },\n})\n\nexport type VList = InstanceType<typeof VList>\n"],"mappings":"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"}
1
+ {"version":3,"file":"VList.mjs","names":["VListChildren","createList","makeBorderProps","useBorder","makeDensityProps","useDensity","makeDimensionProps","useDimension","makeElevationProps","useElevation","makeItemsProps","makeNestedProps","useNested","makeRoundedProps","useRounded","makeTagProps","makeThemeProps","provideTheme","makeVariantProps","provideDefaults","useBackgroundColor","computed","toRef","genericComponent","getPropertyFromItem","pick","useRender","transformItem","props","item","type","itemType","title","itemTitle","value","itemValue","undefined","children","itemChildren","itemProps","_props","transformItems","raw","items","array","push","useListItems","VList","name","activeColor","String","activeClass","bgColor","disabled","Boolean","lines","default","nav","selectStrategy","openStrategy","variant","emits","val","setup","slots","themeClasses","backgroundColorClasses","backgroundColorStyles","borderClasses","densityClasses","dimensionStyles","elevationClasses","roundedClasses","open","select","lineClasses","color","VListGroup","VListItem","density"],"sources":["../../../src/components/VList/VList.tsx"],"sourcesContent":["// Styles\nimport './VList.sass'\n\n// Components\nimport { VListChildren } from './VListChildren'\n\n// Composables\nimport { createList } from './list'\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeItemsProps } from '@/composables/items'\nimport { makeNestedProps, useNested } from '@/composables/nested/nested'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { makeVariantProps } from '@/composables/variant'\nimport { provideDefaults } from '@/composables/defaults'\nimport { useBackgroundColor } from '@/composables/color'\n\n// Utilities\nimport { computed, toRef } from 'vue'\nimport { genericComponent, getPropertyFromItem, pick, useRender } from '@/util'\n\n// Types\nimport type { InternalItem, ItemProps } from '@/composables/items'\nimport type { ListGroupActivatorSlot } from './VListGroup'\nimport type { MakeSlots } from '@/util'\nimport type { PropType } from 'vue'\n\nexport interface InternalListItem extends InternalItem {\n type?: 'item' | 'subheader' | 'divider'\n}\n\nfunction transformItem (props: ItemProps & { itemType: string }, item: any): InternalListItem {\n const type = getPropertyFromItem(item, props.itemType, 'item')\n const title = typeof item === 'string' ? item : getPropertyFromItem(item, props.itemTitle)\n const value = getPropertyFromItem(item, props.itemValue, undefined)\n const children = getPropertyFromItem(item, props.itemChildren)\n const itemProps = props.itemProps === true ? pick(item, ['children'])[1] : getPropertyFromItem(item, props.itemProps)\n\n const _props = {\n title,\n value,\n ...itemProps,\n }\n\n return {\n type,\n title: _props.title,\n value: _props.value,\n props: _props,\n children: type === 'item' && children ? transformItems(props, children) : undefined,\n raw: item,\n }\n}\n\nfunction transformItems (props: ItemProps & { itemType: string }, items: (string | object)[]) {\n const array: InternalListItem[] = []\n\n for (const item of items) {\n array.push(transformItem(props, item))\n }\n\n return array\n}\n\nfunction useListItems (props: ItemProps & { itemType: string }) {\n const items = computed(() => transformItems(props, props.items))\n\n return { items }\n}\n\nexport const VList = genericComponent<new <T>() => {\n $props: {\n items?: T[]\n }\n $slots: MakeSlots<{\n subheader: []\n header: [ListGroupActivatorSlot]\n item: [T]\n }>\n}>()({\n name: 'VList',\n\n props: {\n activeColor: String,\n activeClass: String,\n bgColor: String,\n disabled: Boolean,\n lines: {\n type: [Boolean, String] as PropType<'one' | 'two' | 'three' | false>,\n default: 'one',\n },\n nav: Boolean,\n\n ...makeNestedProps({\n selectStrategy: 'single-leaf' as const,\n openStrategy: 'list' as const,\n }),\n ...makeBorderProps(),\n ...makeDensityProps(),\n ...makeDimensionProps(),\n ...makeElevationProps(),\n itemType: {\n type: String,\n default: 'type',\n },\n ...makeItemsProps(),\n ...makeRoundedProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n ...makeVariantProps({ variant: 'text' } as const),\n },\n\n emits: {\n 'update:selected': (val: string[]) => true,\n 'update:opened': (val: string[]) => true,\n 'click:open': (value: { id: string, value: boolean, path: string[] }) => true,\n 'click:select': (value: { id: string, value: boolean, path: string[] }) => true,\n },\n\n setup (props, { slots }) {\n const { items } = useListItems(props)\n const { themeClasses } = provideTheme(props)\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(toRef(props, 'bgColor'))\n const { borderClasses } = useBorder(props)\n const { densityClasses } = useDensity(props)\n const { dimensionStyles } = useDimension(props)\n const { elevationClasses } = useElevation(props)\n const { roundedClasses } = useRounded(props)\n const { open, select } = useNested(props)\n const lineClasses = computed(() => props.lines ? `v-list--${props.lines}-line` : undefined)\n const activeColor = toRef(props, 'activeColor')\n const color = toRef(props, 'color')\n\n createList()\n\n provideDefaults({\n VListGroup: {\n activeColor,\n color,\n },\n VListItem: {\n activeClass: toRef(props, 'activeClass'),\n activeColor,\n color,\n density: toRef(props, 'density'),\n disabled: toRef(props, 'disabled'),\n lines: toRef(props, 'lines'),\n nav: toRef(props, 'nav'),\n variant: toRef(props, 'variant'),\n },\n })\n\n useRender(() => (\n <props.tag\n class={[\n 'v-list',\n {\n 'v-list--disabled': props.disabled,\n 'v-list--nav': props.nav,\n },\n themeClasses.value,\n backgroundColorClasses.value,\n borderClasses.value,\n densityClasses.value,\n elevationClasses.value,\n lineClasses.value,\n roundedClasses.value,\n ]}\n style={[\n backgroundColorStyles.value,\n dimensionStyles.value,\n ]}\n >\n <VListChildren items={ items.value } v-slots={ slots }></VListChildren>\n </props.tag>\n ))\n\n return {\n open,\n select,\n }\n },\n})\n\nexport type VList = InstanceType<typeof VList>\n"],"mappings":"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"}
@@ -1,4 +1,3 @@
1
- @forward './variables'
2
1
  @use 'sass:list'
3
2
  @use '../../styles/tools'
4
3
  @use './variables' as *
@@ -66,7 +65,7 @@
66
65
  padding-inline-start: calc(#{$base-padding} + var(--indent-padding)) !important
67
66
 
68
67
  &--inset
69
- padding-inline-start: $list-subheader-inset-padding-start
68
+ --indent-padding: #{$list-subheader-inset-padding-start}
70
69
 
71
70
  .v-list--nav &
72
71
  font-size: $list-nav-subheader-font-size
@@ -1,12 +1,12 @@
1
1
  import { mergeProps as _mergeProps, resolveDirective as _resolveDirective, createVNode as _createVNode } from "vue";
2
2
  // Components
3
3
  import { VDivider } from "../VDivider/index.mjs";
4
- import { VListGroup } from "./VListGroup.mjs";
4
+ import { filterListGroupProps, VListGroup } from "./VListGroup.mjs";
5
5
  import { VListItem } from "./VListItem.mjs";
6
6
  import { VListSubheader } from "./VListSubheader.mjs"; // Utilities
7
7
 
8
- import { genericComponent } from "../../util/index.mjs";
9
- import { createList } from "./list.mjs"; // Types
8
+ import { createList } from "./list.mjs";
9
+ import { genericComponent } from "../../util/index.mjs"; // Types
10
10
 
11
11
  export const VListChildren = genericComponent()({
12
12
  name: 'VListChildren',
@@ -27,7 +27,7 @@ export const VListChildren = genericComponent()({
27
27
  children,
28
28
  props: itemProps,
29
29
  type,
30
- originalItem: item
30
+ raw: item
31
31
  } = _ref2;
32
32
  if (type === 'divider') return _createVNode(VDivider, itemProps, null);
33
33
  if (type === 'subheader') return _createVNode(VListSubheader, itemProps, slots);
@@ -68,9 +68,10 @@ export const VListChildren = genericComponent()({
68
68
  });
69
69
  } : undefined
70
70
  };
71
- return children ? _createVNode(VListGroup, {
71
+ const [listGroupProps, _1] = filterListGroupProps(itemProps);
72
+ return children ? _createVNode(VListGroup, _mergeProps({
72
73
  "value": itemProps == null ? void 0 : itemProps.value
73
- }, {
74
+ }, listGroupProps), {
74
75
  activator: _ref3 => {
75
76
  let {
76
77
  props: activatorProps
@@ -1 +1 @@
1
- {"version":3,"file":"VListChildren.mjs","names":["VDivider","VListGroup","VListItem","VListSubheader","genericComponent","createList","VListChildren","name","props","items","Array","setup","slots","default","map","children","itemProps","type","originalItem","item","slotsWithItem","subtitle","slotProps","undefined","prepend","append","title","value","activator","activatorProps","header"],"sources":["../../../src/components/VList/VListChildren.tsx"],"sourcesContent":["// Components\nimport { VDivider } from '../VDivider'\nimport { VListGroup } from './VListGroup'\nimport { VListItem } from './VListItem'\nimport { VListSubheader } from './VListSubheader'\n\n// Utilities\nimport { genericComponent } from '@/util'\nimport { createList } from './list'\n\n// Types\nimport type { InternalListItem } from './VList'\nimport type { ListItemSubtitleSlot, ListItemTitleSlot } from './VListItem'\nimport type { ListGroupActivatorSlot } from './VListGroup'\nimport type { MakeSlots } from '@/util'\nimport type { Prop } from 'vue'\n\nexport const VListChildren = genericComponent<new <T extends InternalListItem>() => {\n $props: {\n items?: T[]\n }\n $slots: MakeSlots<{\n default: []\n header: [ListGroupActivatorSlot]\n item: [T]\n title: [ListItemTitleSlot]\n subtitle: [ListItemSubtitleSlot]\n }>\n}>()({\n name: 'VListChildren',\n\n props: {\n items: Array as Prop<InternalListItem[]>,\n },\n\n setup (props, { slots }) {\n createList()\n\n return () => slots.default?.() ?? props.items?.map(({ children, props: itemProps, type, originalItem: item }) => {\n if (type === 'divider') return <VDivider {...itemProps} />\n\n if (type === 'subheader') return <VListSubheader {...itemProps} v-slots={ slots } />\n\n const slotsWithItem = {\n subtitle: slots.subtitle ? (slotProps: any) => slots.subtitle?.({ ...slotProps, item }) : undefined,\n prepend: slots.prepend ? (slotProps: any) => slots.prepend?.({ ...slotProps, item }) : undefined,\n append: slots.append ? (slotProps: any) => slots.append?.({ ...slotProps, item }) : undefined,\n default: slots.default ? (slotProps: any) => slots.default?.({ ...slotProps, item }) : undefined,\n title: slots.title ? (slotProps: any) => slots.title?.({ ...slotProps, item }) : undefined,\n }\n\n return children ? (\n <VListGroup\n value={ itemProps?.value }\n >\n {{\n activator: ({ props: activatorProps }) => slots.header\n ? slots.header({ ...itemProps, ...activatorProps })\n : <VListItem { ...itemProps } { ...activatorProps } v-slots={ slotsWithItem } />,\n default: () => (\n <VListChildren items={ children } v-slots={ slots } />\n ),\n }}\n </VListGroup>\n ) : (\n slots.item ? slots.item(itemProps) : (\n <VListItem\n { ...itemProps }\n v-slots={ slotsWithItem }\n />\n )\n )\n })\n },\n})\n"],"mappings":";AAAA;SACSA,Q;SACAC,U;SACAC,S;SACAC,c,gCAET;;SACSC,gB;SACAC,U,sBAET;;AAOA,OAAO,MAAMC,aAAa,GAAGF,gBAAgB,GAWxC;EACHG,IAAI,EAAE,eADH;EAGHC,KAAK,EAAE;IACLC,KAAK,EAAEC;EADF,CAHJ;;EAOHC,KAAK,CAAEH,KAAF,QAAoB;IAAA,IAAX;MAAEI;IAAF,CAAW;IACvBP,UAAU;IAEV,OAAO;MAAA;;MAAA,4CAAMO,KAAK,CAACC,OAAZ,qBAAM,qBAAAD,KAAK,CAAX,6CAA2BJ,KAAK,CAACC,KAAjC,qBAA2B,aAAaK,GAAb,CAAiB,SAA8D;QAAA,IAA7D;UAAEC,QAAF;UAAYP,KAAK,EAAEQ,SAAnB;UAA8BC,IAA9B;UAAoCC,YAAY,EAAEC;QAAlD,CAA6D;QAC/G,IAAIF,IAAI,KAAK,SAAb,EAAwB,8BAAqBD,SAArB;QAExB,IAAIC,IAAI,KAAK,WAAb,EAA0B,oCAA2BD,SAA3B,EAAgDJ,KAAhD;QAE1B,MAAMQ,aAAa,GAAG;UACpBC,QAAQ,EAAET,KAAK,CAACS,QAAN,GAAkBC,SAAD;YAAA;;YAAA,0BAAoBV,KAAK,CAACS,QAA1B,qBAAoB,qBAAAT,KAAK,EAAY,EAAE,GAAGU,SAAL;cAAgBH;YAAhB,CAAZ,CAAzB;UAAA,CAAjB,GAAgFI,SADtE;UAEpBC,OAAO,EAAEZ,KAAK,CAACY,OAAN,GAAiBF,SAAD;YAAA;;YAAA,yBAAoBV,KAAK,CAACY,OAA1B,qBAAoB,oBAAAZ,KAAK,EAAW,EAAE,GAAGU,SAAL;cAAgBH;YAAhB,CAAX,CAAzB;UAAA,CAAhB,GAA8EI,SAFnE;UAGpBE,MAAM,EAAEb,KAAK,CAACa,MAAN,GAAgBH,SAAD;YAAA;;YAAA,wBAAoBV,KAAK,CAACa,MAA1B,qBAAoB,mBAAAb,KAAK,EAAU,EAAE,GAAGU,SAAL;cAAgBH;YAAhB,CAAV,CAAzB;UAAA,CAAf,GAA4EI,SAHhE;UAIpBV,OAAO,EAAED,KAAK,CAACC,OAAN,GAAiBS,SAAD;YAAA;;YAAA,0BAAoBV,KAAK,CAACC,OAA1B,qBAAoB,qBAAAD,KAAK,EAAW,EAAE,GAAGU,SAAL;cAAgBH;YAAhB,CAAX,CAAzB;UAAA,CAAhB,GAA8EI,SAJnE;UAKpBG,KAAK,EAAEd,KAAK,CAACc,KAAN,GAAeJ,SAAD;YAAA;;YAAA,uBAAoBV,KAAK,CAACc,KAA1B,qBAAoB,kBAAAd,KAAK,EAAS,EAAE,GAAGU,SAAL;cAAgBH;YAAhB,CAAT,CAAzB;UAAA,CAAd,GAA0EI;QAL7D,CAAtB;QAQA,OAAOR,QAAQ;UAAA,SAEHC,SAFG,oBAEHA,SAAS,CAAEW;QAFR;UAKTC,SAAS,EAAE;YAAA,IAAC;cAAEpB,KAAK,EAAEqB;YAAT,CAAD;YAAA,OAA+BjB,KAAK,CAACkB,MAAN,GACtClB,KAAK,CAACkB,MAAN,CAAa,EAAE,GAAGd,SAAL;cAAgB,GAAGa;YAAnB,CAAb,CADsC,uCAEtBb,SAFsB,EAELa,cAFK,GAEsBT,aAFtB,CAA/B;UAAA,CALF;UAQTP,OAAO,EAAE;YAAA,SACgBE;UADhB,GACqCH,KADrC;QARA,KAcbA,KAAK,CAACO,IAAN,GAAaP,KAAK,CAACO,IAAN,CAAWH,SAAX,CAAb,2BAESA,SAFT,EAGcI,aAHd,CAdF;MAqBD,CAlCiC,CAA3B;IAAA,CAAP;EAmCD;;AA7CE,CAXwC,CAAtC"}
1
+ {"version":3,"file":"VListChildren.mjs","names":["VDivider","filterListGroupProps","VListGroup","VListItem","VListSubheader","createList","genericComponent","VListChildren","name","props","items","Array","setup","slots","default","map","children","itemProps","type","raw","item","slotsWithItem","subtitle","slotProps","undefined","prepend","append","title","listGroupProps","_1","value","activator","activatorProps","header"],"sources":["../../../src/components/VList/VListChildren.tsx"],"sourcesContent":["// Components\nimport { VDivider } from '../VDivider'\nimport { filterListGroupProps, VListGroup } from './VListGroup'\nimport { VListItem } from './VListItem'\nimport { VListSubheader } from './VListSubheader'\n\n// Utilities\nimport { createList } from './list'\nimport { genericComponent } from '@/util'\n\n// Types\nimport type { InternalListItem } from './VList'\nimport type { ListGroupActivatorSlot } from './VListGroup'\nimport type { ListItemSubtitleSlot, ListItemTitleSlot } from './VListItem'\nimport type { MakeSlots } from '@/util'\nimport type { Prop } from 'vue'\n\nexport const VListChildren = genericComponent<new <T extends InternalListItem>() => {\n $props: {\n items?: T[]\n }\n $slots: MakeSlots<{\n default: []\n header: [ListGroupActivatorSlot]\n item: [T]\n title: [ListItemTitleSlot]\n subtitle: [ListItemSubtitleSlot]\n }>\n}>()({\n name: 'VListChildren',\n\n props: {\n items: Array as Prop<InternalListItem[]>,\n },\n\n setup (props, { slots }) {\n createList()\n\n return () => slots.default?.() ?? props.items?.map(({ children, props: itemProps, type, raw: item }) => {\n if (type === 'divider') return <VDivider {...itemProps} />\n\n if (type === 'subheader') return <VListSubheader {...itemProps} v-slots={ slots } />\n\n const slotsWithItem = {\n subtitle: slots.subtitle ? (slotProps: any) => slots.subtitle?.({ ...slotProps, item }) : undefined,\n prepend: slots.prepend ? (slotProps: any) => slots.prepend?.({ ...slotProps, item }) : undefined,\n append: slots.append ? (slotProps: any) => slots.append?.({ ...slotProps, item }) : undefined,\n default: slots.default ? (slotProps: any) => slots.default?.({ ...slotProps, item }) : undefined,\n title: slots.title ? (slotProps: any) => slots.title?.({ ...slotProps, item }) : undefined,\n }\n\n const [listGroupProps, _1] = filterListGroupProps(itemProps as any)\n\n return children ? (\n <VListGroup\n value={ itemProps?.value }\n { ...listGroupProps }\n >\n {{\n activator: ({ props: activatorProps }) => slots.header\n ? slots.header({ ...itemProps, ...activatorProps })\n : <VListItem { ...itemProps } { ...activatorProps } v-slots={ slotsWithItem } />,\n default: () => (\n <VListChildren items={ children } v-slots={ slots } />\n ),\n }}\n </VListGroup>\n ) : (\n slots.item ? slots.item(itemProps) : (\n <VListItem\n { ...itemProps }\n v-slots={ slotsWithItem }\n />\n )\n )\n })\n },\n})\n"],"mappings":";AAAA;SACSA,Q;SACAC,oB,EAAsBC,U;SACtBC,S;SACAC,c,gCAET;;SACSC,U;SACAC,gB,gCAET;;AAOA,OAAO,MAAMC,aAAa,GAAGD,gBAAgB,GAWxC;EACHE,IAAI,EAAE,eADH;EAGHC,KAAK,EAAE;IACLC,KAAK,EAAEC;EADF,CAHJ;;EAOHC,KAAK,CAAEH,KAAF,QAAoB;IAAA,IAAX;MAAEI;IAAF,CAAW;IACvBR,UAAU;IAEV,OAAO;MAAA;;MAAA,4CAAMQ,KAAK,CAACC,OAAZ,qBAAM,qBAAAD,KAAK,CAAX,6CAA2BJ,KAAK,CAACC,KAAjC,qBAA2B,aAAaK,GAAb,CAAiB,SAAqD;QAAA,IAApD;UAAEC,QAAF;UAAYP,KAAK,EAAEQ,SAAnB;UAA8BC,IAA9B;UAAoCC,GAAG,EAAEC;QAAzC,CAAoD;QACtG,IAAIF,IAAI,KAAK,SAAb,EAAwB,8BAAqBD,SAArB;QAExB,IAAIC,IAAI,KAAK,WAAb,EAA0B,oCAA2BD,SAA3B,EAAgDJ,KAAhD;QAE1B,MAAMQ,aAAa,GAAG;UACpBC,QAAQ,EAAET,KAAK,CAACS,QAAN,GAAkBC,SAAD;YAAA;;YAAA,0BAAoBV,KAAK,CAACS,QAA1B,qBAAoB,qBAAAT,KAAK,EAAY,EAAE,GAAGU,SAAL;cAAgBH;YAAhB,CAAZ,CAAzB;UAAA,CAAjB,GAAgFI,SADtE;UAEpBC,OAAO,EAAEZ,KAAK,CAACY,OAAN,GAAiBF,SAAD;YAAA;;YAAA,yBAAoBV,KAAK,CAACY,OAA1B,qBAAoB,oBAAAZ,KAAK,EAAW,EAAE,GAAGU,SAAL;cAAgBH;YAAhB,CAAX,CAAzB;UAAA,CAAhB,GAA8EI,SAFnE;UAGpBE,MAAM,EAAEb,KAAK,CAACa,MAAN,GAAgBH,SAAD;YAAA;;YAAA,wBAAoBV,KAAK,CAACa,MAA1B,qBAAoB,mBAAAb,KAAK,EAAU,EAAE,GAAGU,SAAL;cAAgBH;YAAhB,CAAV,CAAzB;UAAA,CAAf,GAA4EI,SAHhE;UAIpBV,OAAO,EAAED,KAAK,CAACC,OAAN,GAAiBS,SAAD;YAAA;;YAAA,0BAAoBV,KAAK,CAACC,OAA1B,qBAAoB,qBAAAD,KAAK,EAAW,EAAE,GAAGU,SAAL;cAAgBH;YAAhB,CAAX,CAAzB;UAAA,CAAhB,GAA8EI,SAJnE;UAKpBG,KAAK,EAAEd,KAAK,CAACc,KAAN,GAAeJ,SAAD;YAAA;;YAAA,uBAAoBV,KAAK,CAACc,KAA1B,qBAAoB,kBAAAd,KAAK,EAAS,EAAE,GAAGU,SAAL;cAAgBH;YAAhB,CAAT,CAAzB;UAAA,CAAd,GAA0EI;QAL7D,CAAtB;QAQA,MAAM,CAACI,cAAD,EAAiBC,EAAjB,IAAuB5B,oBAAoB,CAACgB,SAAD,CAAjD;QAEA,OAAOD,QAAQ;UAAA,SAEHC,SAFG,oBAEHA,SAAS,CAAEa;QAFR,GAGNF,cAHM;UAMTG,SAAS,EAAE;YAAA,IAAC;cAAEtB,KAAK,EAAEuB;YAAT,CAAD;YAAA,OAA+BnB,KAAK,CAACoB,MAAN,GACtCpB,KAAK,CAACoB,MAAN,CAAa,EAAE,GAAGhB,SAAL;cAAgB,GAAGe;YAAnB,CAAb,CADsC,uCAEtBf,SAFsB,EAELe,cAFK,GAEsBX,aAFtB,CAA/B;UAAA,CANF;UASTP,OAAO,EAAE;YAAA,SACgBE;UADhB,GACqCH,KADrC;QATA,KAebA,KAAK,CAACO,IAAN,GAAaP,KAAK,CAACO,IAAN,CAAWH,SAAX,CAAb,2BAESA,SAFT,EAGcI,aAHd,CAfF;MAsBD,CArCiC,CAA3B;IAAA,CAAP;EAsCD;;AAhDE,CAXwC,CAAtC"}
@@ -4,12 +4,12 @@ import { VDefaultsProvider } from "../VDefaultsProvider/index.mjs";
4
4
  import { VExpandTransition } from "../transitions/index.mjs"; // Composables
5
5
 
6
6
  import { useList } from "./list.mjs";
7
+ import { IconValue } from "../../composables/icons.mjs";
7
8
  import { makeTagProps } from "../../composables/tag.mjs";
8
- import { useNestedGroupActivator, useNestedItem } from "../../composables/nested/nested.mjs";
9
- import { IconValue } from "../../composables/icons.mjs"; // Utilities
9
+ import { useNestedGroupActivator, useNestedItem } from "../../composables/nested/nested.mjs"; // Utilities
10
10
 
11
11
  import { computed, toRef } from 'vue';
12
- import { defineComponent, genericComponent } from "../../util/index.mjs"; // Types
12
+ import { defineComponent, genericComponent, pick, propsFactory, useRender } from "../../util/index.mjs"; // Types
13
13
 
14
14
  const VListGroupActivator = defineComponent({
15
15
  name: 'VListGroupActivator',
@@ -27,21 +27,29 @@ const VListGroupActivator = defineComponent({
27
27
  }
28
28
 
29
29
  });
30
+ export const makeVListGroupProps = propsFactory({
31
+ activeColor: String,
32
+ color: String,
33
+ collapseIcon: {
34
+ type: IconValue,
35
+ default: '$collapse'
36
+ },
37
+ expandIcon: {
38
+ type: IconValue,
39
+ default: '$expand'
40
+ },
41
+ prependIcon: IconValue,
42
+ appendIcon: IconValue,
43
+ fluid: Boolean,
44
+ subgroup: Boolean,
45
+ value: null,
46
+ ...makeTagProps()
47
+ });
30
48
  export const VListGroup = genericComponent()({
31
49
  name: 'VListGroup',
32
50
  props: {
33
- activeColor: String,
34
- color: String,
35
- collapseIcon: {
36
- type: IconValue,
37
- default: '$collapse'
38
- },
39
- expandIcon: {
40
- type: IconValue,
41
- default: '$expand'
42
- },
43
- value: null,
44
- ...makeTagProps()
51
+ title: String,
52
+ ...makeVListGroupProps()
45
53
  },
46
54
 
47
55
  setup(props, _ref2) {
@@ -58,29 +66,31 @@ export const VListGroup = genericComponent()({
58
66
  open(!isOpen.value, e);
59
67
  };
60
68
 
61
- const activatorProps = computed(() => {
62
- var _props$activeColor;
63
-
64
- return {
65
- onClick,
66
- active: isOpen.value,
67
- appendIcon: isOpen.value ? props.collapseIcon : props.expandIcon,
68
- class: 'v-list-group__header',
69
- color: isOpen.value ? (_props$activeColor = props.activeColor) != null ? _props$activeColor : props.color : undefined
70
- };
71
- });
72
- return () => {
69
+ const activatorProps = computed(() => ({
70
+ onClick,
71
+ class: 'v-list-group__header'
72
+ }));
73
+ const toggleIcon = computed(() => isOpen.value ? props.collapseIcon : props.expandIcon);
74
+ useRender(() => {
73
75
  var _slots$default2;
74
76
 
75
77
  return _createVNode(props.tag, {
76
78
  "class": ['v-list-group', {
77
- 'v-list-group--prepend': list == null ? void 0 : list.hasPrepend.value
79
+ 'v-list-group--prepend': list == null ? void 0 : list.hasPrepend.value,
80
+ 'v-list-group--fluid': props.fluid,
81
+ 'v-list-group--subgroup': props.subgroup
78
82
  }]
79
83
  }, {
80
84
  default: () => [slots.activator && _createVNode(VDefaultsProvider, {
81
85
  "defaults": {
82
- VListItemIcon: {
83
- color: activatorProps.value.color
86
+ VListItem: {
87
+ active: isOpen.value,
88
+ activeColor: props.activeColor,
89
+ color: props.color,
90
+ prependIcon: props.prependIcon || props.subgroup && toggleIcon.value,
91
+ appendIcon: props.appendIcon || !props.subgroup && toggleIcon.value,
92
+ title: props.title,
93
+ value: props.value
84
94
  }
85
95
  }
86
96
  }, {
@@ -96,8 +106,12 @@ export const VListGroup = genericComponent()({
96
106
  }, [(_slots$default2 = slots.default) == null ? void 0 : _slots$default2.call(slots)]), [[_vShow, isOpen.value]])]
97
107
  })]
98
108
  });
99
- };
109
+ });
110
+ return {};
100
111
  }
101
112
 
102
113
  });
114
+ export function filterListGroupProps(props) {
115
+ return pick(props, Object.keys(VListGroup.props));
116
+ }
103
117
  //# sourceMappingURL=VListGroup.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"VListGroup.mjs","names":["VDefaultsProvider","VExpandTransition","useList","makeTagProps","useNestedGroupActivator","useNestedItem","IconValue","computed","toRef","defineComponent","genericComponent","VListGroupActivator","name","setup","_","slots","default","VListGroup","props","activeColor","String","color","collapseIcon","type","expandIcon","value","isOpen","open","list","onClick","e","activatorProps","active","appendIcon","class","undefined","hasPrepend","activator","VListItemIcon"],"sources":["../../../src/components/VList/VListGroup.tsx"],"sourcesContent":["// Components\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VExpandTransition } from '@/components/transitions'\n\n// Composables\nimport { useList } from './list'\nimport { makeTagProps } from '@/composables/tag'\nimport { useNestedGroupActivator, useNestedItem } from '@/composables/nested/nested'\nimport { IconValue } from '@/composables/icons'\n\n// Utilities\nimport { computed, toRef } from 'vue'\nimport { defineComponent, genericComponent } from '@/util'\n\n// Types\nimport type { Ref } from 'vue'\nimport type { MakeSlots } from '@/util'\nimport type { InternalListItem } from './VList'\n\nexport type ListGroupActivatorSlot = {\n props: {\n onClick: (e: Event) => void\n appendIcon: IconValue\n class: string\n color?: string\n }\n}\n\nconst VListGroupActivator = defineComponent({\n name: 'VListGroupActivator',\n\n setup (_, { slots }) {\n useNestedGroupActivator()\n\n return () => slots.default?.()\n },\n})\n\nexport const VListGroup = genericComponent<new <T extends InternalListItem>() => {\n $props: {\n items?: T[]\n }\n $slots: MakeSlots<{\n activator: [ListGroupActivatorSlot]\n default: []\n }>\n}>()({\n name: 'VListGroup',\n\n props: {\n activeColor: String,\n color: String,\n collapseIcon: {\n type: IconValue,\n default: '$collapse',\n },\n expandIcon: {\n type: IconValue,\n default: '$expand',\n },\n value: null,\n\n ...makeTagProps(),\n },\n\n setup (props, { slots }) {\n const { isOpen, open } = useNestedItem(toRef(props, 'value'), true)\n const list = useList()\n\n const onClick = (e: Event) => {\n open(!isOpen.value, e)\n }\n\n const activatorProps: Ref<ListGroupActivatorSlot['props']> = computed(() => ({\n onClick,\n active: isOpen.value,\n appendIcon: isOpen.value ? props.collapseIcon : props.expandIcon,\n class: 'v-list-group__header',\n color: isOpen.value ? props.activeColor ?? props.color : undefined,\n }))\n\n return () => {\n return (\n <props.tag\n class={[\n 'v-list-group',\n {\n 'v-list-group--prepend': list?.hasPrepend.value,\n },\n ]}\n >\n { slots.activator && (\n <VDefaultsProvider\n defaults={{\n VListItemIcon: { color: activatorProps.value.color },\n }}\n >\n <VListGroupActivator>\n { slots.activator({ props: activatorProps.value, isOpen }) }\n </VListGroupActivator>\n </VDefaultsProvider>\n ) }\n <VExpandTransition>\n <div class=\"v-list-group__items\" v-show={isOpen.value}>\n { slots.default?.() }\n </div>\n </VExpandTransition>\n </props.tag>\n )\n }\n },\n})\n"],"mappings":";AAAA;SACSA,iB;SACAC,iB,oCAET;;SACSC,O;SACAC,Y;SACAC,uB,EAAyBC,a;SACzBC,S,uCAET;;AACA,SAASC,QAAT,EAAmBC,KAAnB,QAAgC,KAAhC;SACSC,e,EAAiBC,gB,gCAE1B;;AAcA,MAAMC,mBAAmB,GAAGF,eAAe,CAAC;EAC1CG,IAAI,EAAE,qBADoC;;EAG1CC,KAAK,CAAEC,CAAF,QAAgB;IAAA,IAAX;MAAEC;IAAF,CAAW;IACnBX,uBAAuB;IAEvB,OAAO;MAAA;;MAAA,yBAAMW,KAAK,CAACC,OAAZ,qBAAM,oBAAAD,KAAK,CAAX;IAAA,CAAP;EACD;;AAPyC,CAAD,CAA3C;AAUA,OAAO,MAAME,UAAU,GAAGP,gBAAgB,GAQrC;EACHE,IAAI,EAAE,YADH;EAGHM,KAAK,EAAE;IACLC,WAAW,EAAEC,MADR;IAELC,KAAK,EAAED,MAFF;IAGLE,YAAY,EAAE;MACZC,IAAI,EAAEjB,SADM;MAEZU,OAAO,EAAE;IAFG,CAHT;IAOLQ,UAAU,EAAE;MACVD,IAAI,EAAEjB,SADI;MAEVU,OAAO,EAAE;IAFC,CAPP;IAWLS,KAAK,EAAE,IAXF;IAaL,GAAGtB,YAAY;EAbV,CAHJ;;EAmBHU,KAAK,CAAEK,KAAF,SAAoB;IAAA,IAAX;MAAEH;IAAF,CAAW;IACvB,MAAM;MAAEW,MAAF;MAAUC;IAAV,IAAmBtB,aAAa,CAACG,KAAK,CAACU,KAAD,EAAQ,OAAR,CAAN,EAAwB,IAAxB,CAAtC;IACA,MAAMU,IAAI,GAAG1B,OAAO,EAApB;;IAEA,MAAM2B,OAAO,GAAIC,CAAD,IAAc;MAC5BH,IAAI,CAAC,CAACD,MAAM,CAACD,KAAT,EAAgBK,CAAhB,CAAJ;IACD,CAFD;;IAIA,MAAMC,cAAoD,GAAGxB,QAAQ,CAAC;MAAA;;MAAA,OAAO;QAC3EsB,OAD2E;QAE3EG,MAAM,EAAEN,MAAM,CAACD,KAF4D;QAG3EQ,UAAU,EAAEP,MAAM,CAACD,KAAP,GAAeP,KAAK,CAACI,YAArB,GAAoCJ,KAAK,CAACM,UAHqB;QAI3EU,KAAK,EAAE,sBAJoE;QAK3Eb,KAAK,EAAEK,MAAM,CAACD,KAAP,yBAAeP,KAAK,CAACC,WAArB,iCAAoCD,KAAK,CAACG,KAA1C,GAAkDc;MALkB,CAAP;IAAA,CAAD,CAArE;IAQA,OAAO,MAAM;MAAA;;MACX;QAAA,SAEW,CACL,cADK,EAEL;UACE,yBAAyBP,IAAzB,oBAAyBA,IAAI,CAAEQ,UAAN,CAAiBX;QAD5C,CAFK;MAFX;QAAA,gBASMV,KAAK,CAACsB,SAAN;UAAA,YAEY;YACRC,aAAa,EAAE;cAAEjB,KAAK,EAAEU,cAAc,CAACN,KAAf,CAAqBJ;YAA9B;UADP;QAFZ;UAAA;YAAA,gBAOMN,KAAK,CAACsB,SAAN,CAAgB;cAAEnB,KAAK,EAAEa,cAAc,CAACN,KAAxB;cAA+BC;YAA/B,CAAhB,CAPN;UAAA;QAAA,EATN;UAAA;YAAA,SAqBiB;UArBjB,uBAsBUX,KAAK,CAACC,OAtBhB,qBAsBU,qBAAAD,KAAK,CAtBf,cAqB+CW,MAAM,CAACD,KArBtD;QAAA;MAAA;IA2BD,CA5BD;EA6BD;;AAhEE,CARqC,CAAnC"}
1
+ {"version":3,"file":"VListGroup.mjs","names":["VDefaultsProvider","VExpandTransition","useList","IconValue","makeTagProps","useNestedGroupActivator","useNestedItem","computed","toRef","defineComponent","genericComponent","pick","propsFactory","useRender","VListGroupActivator","name","setup","_","slots","default","makeVListGroupProps","activeColor","String","color","collapseIcon","type","expandIcon","prependIcon","appendIcon","fluid","Boolean","subgroup","value","VListGroup","props","title","isOpen","open","list","onClick","e","activatorProps","class","toggleIcon","hasPrepend","activator","VListItem","active","filterListGroupProps","Object","keys"],"sources":["../../../src/components/VList/VListGroup.tsx"],"sourcesContent":["// Components\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VExpandTransition } from '@/components/transitions'\n\n// Composables\nimport { useList } from './list'\nimport { IconValue } from '@/composables/icons'\nimport { makeTagProps } from '@/composables/tag'\nimport { useNestedGroupActivator, useNestedItem } from '@/composables/nested/nested'\n\n// Utilities\nimport { computed, toRef } from 'vue'\nimport { defineComponent, genericComponent, pick, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { InternalListItem } from './VList'\nimport type { MakeSlots } from '@/util'\nimport type { ExtractPropTypes, Ref } from 'vue'\n\nexport type ListGroupActivatorSlot = {\n props: {\n onClick: (e: Event) => void\n class: string\n }\n}\n\nconst VListGroupActivator = defineComponent({\n name: 'VListGroupActivator',\n\n setup (_, { slots }) {\n useNestedGroupActivator()\n\n return () => slots.default?.()\n },\n})\n\nexport const makeVListGroupProps = propsFactory({\n activeColor: String,\n color: String,\n collapseIcon: {\n type: IconValue,\n default: '$collapse',\n },\n expandIcon: {\n type: IconValue,\n default: '$expand',\n },\n prependIcon: IconValue,\n appendIcon: IconValue,\n fluid: Boolean,\n subgroup: Boolean,\n value: null,\n\n ...makeTagProps(),\n})\n\nexport const VListGroup = genericComponent<new <T extends InternalListItem>() => {\n $props: {\n items?: T[]\n }\n $slots: MakeSlots<{\n activator: [ListGroupActivatorSlot]\n default: []\n }>\n}>()({\n name: 'VListGroup',\n\n props: {\n title: String,\n\n ...makeVListGroupProps(),\n },\n\n setup (props, { slots }) {\n const { isOpen, open } = useNestedItem(toRef(props, 'value'), true)\n const list = useList()\n\n const onClick = (e: Event) => {\n open(!isOpen.value, e)\n }\n\n const activatorProps: Ref<ListGroupActivatorSlot['props']> = computed(() => ({\n onClick,\n class: 'v-list-group__header',\n }))\n\n const toggleIcon = computed(() => isOpen.value ? props.collapseIcon : props.expandIcon)\n\n useRender(() => (\n <props.tag\n class={[\n 'v-list-group',\n {\n 'v-list-group--prepend': list?.hasPrepend.value,\n 'v-list-group--fluid': props.fluid,\n 'v-list-group--subgroup': props.subgroup,\n },\n ]}\n >\n { slots.activator && (\n <VDefaultsProvider\n defaults={{\n VListItem: {\n active: isOpen.value,\n activeColor: props.activeColor,\n color: props.color,\n prependIcon: props.prependIcon || (props.subgroup && toggleIcon.value),\n appendIcon: props.appendIcon || (!props.subgroup && toggleIcon.value),\n title: props.title,\n value: props.value,\n },\n }}\n >\n <VListGroupActivator>\n { slots.activator({ props: activatorProps.value, isOpen }) }\n </VListGroupActivator>\n </VDefaultsProvider>\n ) }\n\n <VExpandTransition>\n <div class=\"v-list-group__items\" v-show={ isOpen.value }>\n { slots.default?.() }\n </div>\n </VExpandTransition>\n </props.tag>\n ))\n\n return {}\n },\n})\n\nexport function filterListGroupProps (props: ExtractPropTypes<ReturnType<typeof makeVListGroupProps>>) {\n return pick(props, Object.keys(VListGroup.props) as any)\n}\n"],"mappings":"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"}
@@ -1,11 +1,13 @@
1
1
  .v-list-item {
2
2
  align-items: center;
3
- display: flex;
4
- padding: 8px 16px;
5
- position: relative;
3
+ display: grid;
4
+ flex: none;
5
+ grid-template-areas: "prepend content append";
6
+ grid-template-columns: max-content auto max-content;
6
7
  outline: none;
8
+ padding: 4px 16px;
9
+ position: relative;
7
10
  text-decoration: none;
8
- transition: 0.2s cubic-bezier(0.4, 0, 0.2, 1);
9
11
  border-color: rgba(var(--v-border-color), var(--v-border-opacity));
10
12
  border-style: solid;
11
13
  border-width: 0;
@@ -35,7 +37,7 @@
35
37
  .v-list-item--active:focus > .v-list-item__overlay, .v-list-item[aria-haspopup=menu][aria-expanded=true]:focus > .v-list-item__overlay {
36
38
  opacity: calc(0.16 * var(--v-theme-overlay-multiplier));
37
39
  }
38
- .v-list-item--variant-plain, .v-list-item--variant-outlined, .v-list-item--variant-text, .v-list-item--variant-contained-text {
40
+ .v-list-item--variant-plain, .v-list-item--variant-outlined, .v-list-item--variant-text, .v-list-item--variant-tonal {
39
41
  background: transparent;
40
42
  color: inherit;
41
43
  }
@@ -48,14 +50,14 @@
48
50
  .v-list-item--variant-plain .v-list-item__overlay {
49
51
  display: none;
50
52
  }
51
- .v-list-item--variant-contained, .v-list-item--variant-contained-flat {
53
+ .v-list-item--variant-elevated, .v-list-item--variant-flat {
52
54
  background: rgba(var(--v-theme-surface));
53
55
  color: rgba(var(--v-theme-on-surface), var(--v-high-emphasis-opacity));
54
56
  }
55
- .v-list-item--variant-contained {
57
+ .v-list-item--variant-elevated {
56
58
  box-shadow: 0px 2px 1px -1px rgba(0, 0, 0, 0.2), 0px 1px 1px 0px rgba(0, 0, 0, 0.14), 0px 1px 3px 0px rgba(0, 0, 0, 0.12);
57
59
  }
58
- .v-list-item--variant-contained-flat {
60
+ .v-list-item--variant-flat {
59
61
  box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0.2), 0px 0px 0px 0px rgba(0, 0, 0, 0.14), 0px 0px 0px 0px rgba(0, 0, 0, 0.12);
60
62
  }
61
63
  .v-list-item--variant-outlined {
@@ -64,7 +66,7 @@
64
66
  .v-list-item--variant-text .v-list-item__overlay {
65
67
  background: currentColor;
66
68
  }
67
- .v-list-item--variant-contained-text .v-list-item__underlay {
69
+ .v-list-item--variant-tonal .v-list-item__underlay {
68
70
  background: currentColor;
69
71
  opacity: var(--v-activated-opacity);
70
72
  border-radius: inherit;
@@ -76,6 +78,13 @@
76
78
  pointer-events: none;
77
79
  transition: opacity 0.2s ease-in-out;
78
80
  }
81
+ .v-list-item__prepend > .v-icon, .v-list-item__append > .v-icon {
82
+ opacity: var(--v-medium-emphasis-opacity);
83
+ }
84
+ .v-list-item--active .v-list-item__prepend > .v-icon,
85
+ .v-list-item--active .v-list-item__append > .v-icon {
86
+ opacity: 1;
87
+ }
79
88
  .v-list-item--rounded {
80
89
  border-radius: 4px;
81
90
  }
@@ -88,47 +97,53 @@
88
97
  cursor: pointer;
89
98
  }
90
99
 
91
- .v-list-item-action,
92
- .v-list-item-avatar,
93
- .v-list-item-icon {
100
+ .v-list-item__prepend {
101
+ align-items: center;
94
102
  align-self: center;
95
103
  display: flex;
96
- align-items: center;
97
- flex: none;
98
- transition: inherit;
99
- transition-property: height, width;
104
+ grid-area: prepend;
105
+ }
106
+ .v-list-item__prepend > .v-avatar {
107
+ margin-inline-end: 16px;
108
+ }
109
+ .v-list-item__prepend > .v-icon {
110
+ margin-inline-end: 32px;
100
111
  }
101
- .v-list-item--three-line .v-list-item-action,
102
- .v-list-item--three-line .v-list-item-avatar,
103
- .v-list-item--three-line .v-list-item-icon {
104
- align-self: flex-start;
112
+ .v-list-item--two-line .v-list-item__prepend, .v-list-item--three-line .v-list-item__prepend {
113
+ align-self: start;
105
114
  }
106
115
 
107
- .v-list-item-avatar--start {
108
- margin-inline-end: 16px;
116
+ .v-list-item__append {
117
+ align-self: center;
118
+ display: flex;
119
+ align-items: center;
120
+ grid-area: append;
109
121
  }
110
- .v-list-item-avatar--end {
122
+ .v-list-item__append > .v-avatar {
111
123
  margin-inline-start: 16px;
112
124
  }
113
- .v-list-item--density-default.v-list-item--three-line .v-list-item-avatar {
114
- margin-top: 4px;
125
+ .v-list-item__append > .v-icon {
126
+ margin-inline-start: 32px;
115
127
  }
116
-
117
- .v-list-item--density-comfortable.v-list-item--three-line .v-list-item-avatar {
118
- margin-top: 8px;
128
+ .v-list-item--two-line .v-list-item__append, .v-list-item--three-line .v-list-item__append {
129
+ align-self: start;
119
130
  }
120
131
 
121
- .v-list-item--density-compact.v-list-item--three-line .v-list-item-avatar {
122
- margin-top: 12px;
132
+ .v-list-item__content {
133
+ align-self: center;
134
+ grid-area: content;
135
+ overflow: hidden;
123
136
  }
124
137
 
125
- .v-list-item-icon--start {
126
- margin-inline-end: 32px;
127
- }
128
- .v-list-item-icon--end {
129
- margin-inline-start: 32px;
138
+ .v-list-item-action {
139
+ align-self: center;
140
+ display: flex;
141
+ align-items: center;
142
+ grid-area: prepend;
143
+ flex: none;
144
+ transition: inherit;
145
+ transition-property: height, width;
130
146
  }
131
-
132
147
  .v-list-item-action--start {
133
148
  margin-inline-end: 12px;
134
149
  }
@@ -155,11 +170,6 @@
155
170
  margin-bottom: 0;
156
171
  }
157
172
 
158
- .v-list-item-header {
159
- flex: 1 1 auto;
160
- min-width: 0;
161
- }
162
-
163
173
  .v-list-item-subtitle {
164
174
  -webkit-box-orient: vertical;
165
175
  display: -webkit-box;
@@ -211,10 +221,13 @@
211
221
  line-height: 1rem;
212
222
  }
213
223
 
214
- .v-list-item--density-default.v-list-item--one-line {
224
+ .v-list-item--density-default {
215
225
  min-height: 40px;
216
- padding-top: 8px;
217
- padding-bottom: 8px;
226
+ }
227
+ .v-list-item--density-default.v-list-item--one-line {
228
+ min-height: 48px;
229
+ padding-top: 4px;
230
+ padding-bottom: 4px;
218
231
  }
219
232
  .v-list-item--density-default.v-list-item--two-line {
220
233
  min-height: 64px;
@@ -239,10 +252,13 @@
239
252
  padding-inline-end: 16px;
240
253
  }
241
254
 
242
- .v-list-item--density-comfortable.v-list-item--one-line {
255
+ .v-list-item--density-comfortable {
243
256
  min-height: 36px;
244
- padding-top: 4px;
245
- padding-bottom: 4px;
257
+ }
258
+ .v-list-item--density-comfortable.v-list-item--one-line {
259
+ min-height: 44px;
260
+ padding-top: 0px;
261
+ padding-bottom: 0px;
246
262
  }
247
263
  .v-list-item--density-comfortable.v-list-item--two-line {
248
264
  min-height: 60px;
@@ -267,10 +283,13 @@
267
283
  padding-inline-end: 16px;
268
284
  }
269
285
 
270
- .v-list-item--density-compact.v-list-item--one-line {
286
+ .v-list-item--density-compact {
271
287
  min-height: 32px;
272
- padding-top: 0px;
273
- padding-bottom: 0px;
288
+ }
289
+ .v-list-item--density-compact.v-list-item--one-line {
290
+ min-height: 40px;
291
+ padding-top: -4px;
292
+ padding-bottom: -4px;
274
293
  }
275
294
  .v-list-item--density-compact.v-list-item--two-line {
276
295
  min-height: 56px;
@@ -303,6 +322,10 @@
303
322
  margin-bottom: 4px;
304
323
  }
305
324
 
325
+ .v-list-item__underlay {
326
+ position: absolute;
327
+ }
328
+
306
329
  .v-list-item__overlay {
307
330
  background-color: currentColor;
308
331
  border-radius: inherit;
@@ -315,7 +338,7 @@
315
338
  top: 0;
316
339
  transition: opacity 0.2s ease-in-out;
317
340
  }
318
- .v-list-item--active.v-list-item--contained .v-list-item__overlay {
341
+ .v-list-item--active.v-list-item--variant-elevated .v-list-item__overlay {
319
342
  --v-theme-overlay-multiplier: 0;
320
343
  }
321
344
 
@@ -327,25 +350,28 @@
327
350
  }
328
351
 
329
352
  .v-list-group {
353
+ --list-indent-size: 16px;
330
354
  --parent-padding: var(--indent-padding);
355
+ --prepend-width: 40px;
356
+ }
357
+ .v-list-group--fluid {
358
+ --list-indent-size: 0px;
331
359
  }
332
360
  .v-list-group--prepend {
333
- --parent-padding: calc(var(--indent-padding) + 40px);
361
+ --parent-padding: calc(var(--indent-padding) + var(--prepend-width));
362
+ }
363
+ .v-list-group--fluid.v-list-group--prepend {
364
+ --parent-padding: var(--indent-padding);
334
365
  }
335
366
 
336
367
  .v-list-group__items {
337
- --indent-padding: calc(var(--parent-padding) + 16px);
368
+ --indent-padding: calc(var(--parent-padding) + var(--list-indent-size));
338
369
  }
339
370
 
340
371
  .v-list-group__items .v-list-item {
341
372
  padding-inline-start: calc(16px + var(--indent-padding)) !important;
342
373
  }
343
374
 
344
- .v-list-item--prepend .v-list-item-avatar,
345
- .v-list-group__items .v-list-item--prepend .v-list-item-avatar {
346
- padding-inline-start: calc(16px + var(--indent-padding) + 40px + 16px) !important;
347
- }
348
-
349
375
  .v-list-group__header.v-list-item--active .v-list-item__overlay {
350
376
  display: none;
351
377
  }