@vuetify/nightly 3.2.0-dev-20230309.0 → 3.2.0-dev-20230322.0

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 (256) hide show
  1. package/CHANGELOG.md +2 -2
  2. package/dist/json/attributes.json +210 -30
  3. package/dist/json/importMap.json +4 -4
  4. package/dist/json/tags.json +47 -2
  5. package/dist/json/web-types.json +529 -63
  6. package/dist/vuetify-labs.css +1186 -1146
  7. package/dist/vuetify-labs.d.ts +56928 -14280
  8. package/dist/vuetify-labs.esm.js +557 -363
  9. package/dist/vuetify-labs.esm.js.map +1 -1
  10. package/dist/vuetify-labs.js +557 -363
  11. package/dist/vuetify-labs.min.css +2 -2
  12. package/dist/vuetify.css +204 -179
  13. package/dist/vuetify.d.ts +55330 -15866
  14. package/dist/vuetify.esm.js +400 -306
  15. package/dist/vuetify.esm.js.map +1 -1
  16. package/dist/vuetify.js +400 -306
  17. package/dist/vuetify.js.map +1 -1
  18. package/dist/vuetify.min.css +2 -2
  19. package/dist/vuetify.min.js +668 -667
  20. package/dist/vuetify.min.js.map +1 -1
  21. package/lib/blueprints/index.d.ts +6 -9
  22. package/lib/blueprints/md1.d.ts +6 -9
  23. package/lib/blueprints/md2.d.ts +6 -9
  24. package/lib/blueprints/md3.d.ts +6 -9
  25. package/lib/blueprints/md3.mjs +6 -0
  26. package/lib/blueprints/md3.mjs.map +1 -1
  27. package/lib/components/VAlert/VAlert.mjs +29 -15
  28. package/lib/components/VAlert/VAlert.mjs.map +1 -1
  29. package/lib/components/VAlert/index.d.ts +510 -82
  30. package/lib/components/VApp/VApp.css +1 -0
  31. package/lib/components/VApp/VApp.sass +1 -0
  32. package/lib/components/VApp/index.d.ts +158 -20
  33. package/lib/components/VAppBar/VAppBar.mjs +2 -2
  34. package/lib/components/VAppBar/VAppBar.mjs.map +1 -1
  35. package/lib/components/VAppBar/index.d.ts +616 -110
  36. package/lib/components/VAutocomplete/VAutocomplete.mjs +13 -7
  37. package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
  38. package/lib/components/VAutocomplete/index.d.ts +1656 -130
  39. package/lib/components/VAvatar/index.d.ts +205 -29
  40. package/lib/components/VBadge/index.d.ts +284 -42
  41. package/lib/components/VBanner/VBanner.mjs +19 -12
  42. package/lib/components/VBanner/VBanner.mjs.map +1 -1
  43. package/lib/components/VBanner/index.d.ts +478 -84
  44. package/lib/components/VBottomNavigation/index.d.ts +321 -40
  45. package/lib/components/VBreadcrumbs/VBreadcrumbs.mjs +11 -7
  46. package/lib/components/VBreadcrumbs/VBreadcrumbs.mjs.map +1 -1
  47. package/lib/components/VBreadcrumbs/index.d.ts +325 -45
  48. package/lib/components/VBtn/VBtn.css +0 -5
  49. package/lib/components/VBtn/VBtn.mjs +65 -58
  50. package/lib/components/VBtn/VBtn.mjs.map +1 -1
  51. package/lib/components/VBtn/VBtn.sass +0 -7
  52. package/lib/components/VBtn/_variables.scss +0 -2
  53. package/lib/components/VBtn/index.d.ts +452 -69
  54. package/lib/components/VBtnGroup/VBtnGroup.mjs +1 -7
  55. package/lib/components/VBtnGroup/VBtnGroup.mjs.map +1 -1
  56. package/lib/components/VBtnGroup/index.d.ts +185 -26
  57. package/lib/components/VBtnToggle/VBtnToggle.mjs +2 -2
  58. package/lib/components/VBtnToggle/VBtnToggle.mjs.map +1 -1
  59. package/lib/components/VBtnToggle/index.d.ts +245 -35
  60. package/lib/components/VCard/VCard.mjs +10 -6
  61. package/lib/components/VCard/VCard.mjs.map +1 -1
  62. package/lib/components/VCard/VCardItem.mjs +27 -23
  63. package/lib/components/VCard/VCardItem.mjs.map +1 -1
  64. package/lib/components/VCard/index.d.ts +938 -172
  65. package/lib/components/VCarousel/index.d.ts +561 -123
  66. package/lib/components/VCheckbox/VCheckbox.mjs +2 -2
  67. package/lib/components/VCheckbox/VCheckbox.mjs.map +1 -1
  68. package/lib/components/VCheckbox/VCheckboxBtn.mjs +1 -4
  69. package/lib/components/VCheckbox/VCheckboxBtn.mjs.map +1 -1
  70. package/lib/components/VCheckbox/index.d.ts +831 -147
  71. package/lib/components/VChip/VChip.css +110 -90
  72. package/lib/components/VChip/VChip.mjs +70 -48
  73. package/lib/components/VChip/VChip.mjs.map +1 -1
  74. package/lib/components/VChip/_mixins.scss +27 -23
  75. package/lib/components/VChip/index.d.ts +474 -76
  76. package/lib/components/VChipGroup/index.d.ts +227 -32
  77. package/lib/components/VCode/index.d.ts +109 -16
  78. package/lib/components/VColorPicker/index.d.ts +284 -20
  79. package/lib/components/VCombobox/VCombobox.mjs +13 -7
  80. package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
  81. package/lib/components/VCombobox/index.d.ts +1668 -130
  82. package/lib/components/VCounter/index.d.ts +1894 -87
  83. package/lib/components/VDefaultsProvider/VDefaultsProvider.mjs +4 -1
  84. package/lib/components/VDefaultsProvider/VDefaultsProvider.mjs.map +1 -1
  85. package/lib/components/VDefaultsProvider/index.d.ts +133 -21
  86. package/lib/components/VDialog/VDialog.css +31 -24
  87. package/lib/components/VDialog/VDialog.mjs +2 -2
  88. package/lib/components/VDialog/VDialog.mjs.map +1 -1
  89. package/lib/components/VDialog/VDialog.sass +19 -12
  90. package/lib/components/VDialog/index.d.ts +2362 -146
  91. package/lib/components/VDivider/index.d.ts +130 -23
  92. package/lib/components/VExpansionPanel/index.d.ts +719 -119
  93. package/lib/components/VField/index.d.ts +163 -21
  94. package/lib/components/VFileInput/index.d.ts +1038 -104
  95. package/lib/components/VFooter/VFooter.css +2 -0
  96. package/lib/components/VFooter/VFooter.sass +2 -0
  97. package/lib/components/VFooter/_variables.scss +2 -0
  98. package/lib/components/VFooter/index.d.ts +203 -28
  99. package/lib/components/VForm/index.d.ts +204 -23
  100. package/lib/components/VGrid/VCol.mjs +6 -5
  101. package/lib/components/VGrid/VCol.mjs.map +1 -1
  102. package/lib/components/VGrid/VRow.mjs +4 -4
  103. package/lib/components/VGrid/VRow.mjs.map +1 -1
  104. package/lib/components/VGrid/index.d.ts +733 -76
  105. package/lib/components/VHover/index.d.ts +182 -35
  106. package/lib/components/VIcon/index.d.ts +494 -50
  107. package/lib/components/VImg/VImg.mjs +2 -2
  108. package/lib/components/VImg/VImg.mjs.map +1 -1
  109. package/lib/components/VImg/index.d.ts +275 -46
  110. package/lib/components/VInput/index.d.ts +315 -53
  111. package/lib/components/VItemGroup/index.d.ts +308 -52
  112. package/lib/components/VKbd/VKbd.css +1 -0
  113. package/lib/components/VKbd/VKbd.sass +1 -0
  114. package/lib/components/VKbd/_variables.scss +1 -0
  115. package/lib/components/VKbd/index.d.ts +109 -16
  116. package/lib/components/VLabel/index.d.ts +113 -20
  117. package/lib/components/VLayout/index.d.ts +296 -41
  118. package/lib/components/VLazy/VLazy.mjs +4 -1
  119. package/lib/components/VLazy/VLazy.mjs.map +1 -1
  120. package/lib/components/VLazy/index.d.ts +219 -30
  121. package/lib/components/VList/VListChildren.mjs +2 -2
  122. package/lib/components/VList/VListChildren.mjs.map +1 -1
  123. package/lib/components/VList/VListGroup.mjs +1 -4
  124. package/lib/components/VList/VListGroup.mjs.map +1 -1
  125. package/lib/components/VList/VListItem.mjs +23 -19
  126. package/lib/components/VList/VListItem.mjs.map +1 -1
  127. package/lib/components/VList/index.d.ts +1461 -223
  128. package/lib/components/VLocaleProvider/index.d.ts +121 -20
  129. package/lib/components/VMain/index.d.ts +118 -17
  130. package/lib/components/VMenu/VMenu.css +4 -4
  131. package/lib/components/VMenu/VMenu.mjs +2 -2
  132. package/lib/components/VMenu/VMenu.mjs.map +1 -1
  133. package/lib/components/VMenu/VMenu.sass +1 -1
  134. package/lib/components/VMenu/index.d.ts +2368 -142
  135. package/lib/components/VMessages/index.d.ts +1921 -98
  136. package/lib/components/VNavigationDrawer/index.d.ts +379 -56
  137. package/lib/components/VOverlay/VOverlay.css +2 -2
  138. package/lib/components/VOverlay/VOverlay.mjs +1 -4
  139. package/lib/components/VOverlay/VOverlay.mjs.map +1 -1
  140. package/lib/components/VOverlay/VOverlay.sass +1 -1
  141. package/lib/components/VOverlay/_variables.scss +1 -1
  142. package/lib/components/VOverlay/index.d.ts +519 -85
  143. package/lib/components/VPagination/index.d.ts +502 -68
  144. package/lib/components/VParallax/VParallax.mjs +3 -3
  145. package/lib/components/VParallax/VParallax.mjs.map +1 -1
  146. package/lib/components/VParallax/index.d.ts +141 -28
  147. package/lib/components/VProgressCircular/index.d.ts +186 -25
  148. package/lib/components/VProgressLinear/index.d.ts +319 -48
  149. package/lib/components/VRadio/index.d.ts +313 -57
  150. package/lib/components/VRadioGroup/VRadioGroup.mjs +4 -6
  151. package/lib/components/VRadioGroup/VRadioGroup.mjs.map +1 -1
  152. package/lib/components/VRadioGroup/index.d.ts +463 -83
  153. package/lib/components/VRangeSlider/index.d.ts +528 -80
  154. package/lib/components/VRating/VRating.mjs.map +1 -1
  155. package/lib/components/VRating/index.d.ts +305 -43
  156. package/lib/components/VResponsive/index.d.ts +142 -27
  157. package/lib/components/VSelect/VSelect.mjs +13 -7
  158. package/lib/components/VSelect/VSelect.mjs.map +1 -1
  159. package/lib/components/VSelect/index.d.ts +3060 -328
  160. package/lib/components/VSelectionControl/VSelectionControl.mjs +1 -4
  161. package/lib/components/VSelectionControl/VSelectionControl.mjs.map +1 -1
  162. package/lib/components/VSelectionControl/index.d.ts +76 -4
  163. package/lib/components/VSelectionControlGroup/index.d.ts +242 -38
  164. package/lib/components/VSheet/VSheet.mjs +1 -7
  165. package/lib/components/VSheet/VSheet.mjs.map +1 -1
  166. package/lib/components/VSheet/index.d.ts +194 -31
  167. package/lib/components/VSlideGroup/index.d.ts +475 -83
  168. package/lib/components/VSlider/VSliderTrack.mjs +1 -0
  169. package/lib/components/VSlider/VSliderTrack.mjs.map +1 -1
  170. package/lib/components/VSlider/index.d.ts +521 -79
  171. package/lib/components/VSlider/slider.mjs +5 -6
  172. package/lib/components/VSlider/slider.mjs.map +1 -1
  173. package/lib/components/VSnackbar/VSnackbar.css +2 -7
  174. package/lib/components/VSnackbar/VSnackbar.mjs +4 -3
  175. package/lib/components/VSnackbar/VSnackbar.mjs.map +1 -1
  176. package/lib/components/VSnackbar/VSnackbar.sass +3 -8
  177. package/lib/components/VSnackbar/index.d.ts +1219 -81
  178. package/lib/components/VSwitch/VSwitch.mjs +2 -2
  179. package/lib/components/VSwitch/VSwitch.mjs.map +1 -1
  180. package/lib/components/VSwitch/index.d.ts +498 -92
  181. package/lib/components/VSystemBar/index.d.ts +184 -27
  182. package/lib/components/VTable/index.d.ts +190 -35
  183. package/lib/components/VTabs/VTab.mjs +7 -23
  184. package/lib/components/VTabs/VTab.mjs.map +1 -1
  185. package/lib/components/VTabs/index.d.ts +623 -71
  186. package/lib/components/VTextField/VTextField.mjs +8 -5
  187. package/lib/components/VTextField/VTextField.mjs.map +1 -1
  188. package/lib/components/VTextField/index.d.ts +1404 -106
  189. package/lib/components/VTextarea/VTextarea.mjs +7 -1
  190. package/lib/components/VTextarea/VTextarea.mjs.map +1 -1
  191. package/lib/components/VTextarea/index.d.ts +1014 -102
  192. package/lib/components/VThemeProvider/index.d.ts +124 -19
  193. package/lib/components/VTimeline/VTimelineDivider.mjs +18 -10
  194. package/lib/components/VTimeline/VTimelineDivider.mjs.map +1 -1
  195. package/lib/components/VTimeline/index.d.ts +441 -71
  196. package/lib/components/VToolbar/VToolbar.mjs +10 -9
  197. package/lib/components/VToolbar/VToolbar.mjs.map +1 -1
  198. package/lib/components/VToolbar/index.d.ts +542 -93
  199. package/lib/components/VTooltip/VTooltip.css +3 -3
  200. package/lib/components/VTooltip/VTooltip.mjs +2 -2
  201. package/lib/components/VTooltip/VTooltip.mjs.map +1 -1
  202. package/lib/components/VTooltip/VTooltip.sass +1 -1
  203. package/lib/components/VTooltip/index.d.ts +1276 -82
  204. package/lib/components/VValidation/index.d.ts +201 -30
  205. package/lib/components/VWindow/index.d.ts +527 -95
  206. package/lib/components/index.d.ts +55255 -15788
  207. package/lib/components/transitions/index.d.ts +2097 -308
  208. package/lib/composables/defaults.mjs +2 -0
  209. package/lib/composables/defaults.mjs.map +1 -1
  210. package/lib/composables/display.mjs +2 -0
  211. package/lib/composables/display.mjs.map +1 -1
  212. package/lib/composables/form.mjs.map +1 -1
  213. package/lib/entry-bundler.mjs +1 -1
  214. package/lib/framework.mjs +1 -1
  215. package/lib/index.d.ts +7 -10
  216. package/lib/labs/VDataTable/VDataTable.css +15 -0
  217. package/lib/labs/VDataTable/VDataTable.mjs +41 -17
  218. package/lib/labs/VDataTable/VDataTable.mjs.map +1 -1
  219. package/lib/labs/VDataTable/VDataTable.sass +9 -0
  220. package/lib/labs/VDataTable/VDataTableFooter.mjs +3 -2
  221. package/lib/labs/VDataTable/VDataTableFooter.mjs.map +1 -1
  222. package/lib/labs/VDataTable/VDataTableRow.mjs +8 -2
  223. package/lib/labs/VDataTable/VDataTableRow.mjs.map +1 -1
  224. package/lib/labs/VDataTable/VDataTableRows.mjs +2 -1
  225. package/lib/labs/VDataTable/VDataTableRows.mjs.map +1 -1
  226. package/lib/labs/VDataTable/VDataTableServer.mjs +39 -17
  227. package/lib/labs/VDataTable/VDataTableServer.mjs.map +1 -1
  228. package/lib/labs/VDataTable/VDataTableVirtual.mjs +23 -12
  229. package/lib/labs/VDataTable/VDataTableVirtual.mjs.map +1 -1
  230. package/lib/labs/VDataTable/composables/expand.mjs +1 -1
  231. package/lib/labs/VDataTable/composables/expand.mjs.map +1 -1
  232. package/lib/labs/VDataTable/composables/group.mjs +12 -1
  233. package/lib/labs/VDataTable/composables/group.mjs.map +1 -1
  234. package/lib/labs/VDataTable/composables/options.mjs +0 -12
  235. package/lib/labs/VDataTable/composables/options.mjs.map +1 -1
  236. package/lib/labs/VDataTable/composables/paginate.mjs +25 -4
  237. package/lib/labs/VDataTable/composables/paginate.mjs.map +1 -1
  238. package/lib/labs/VDataTable/composables/select.mjs +1 -1
  239. package/lib/labs/VDataTable/composables/select.mjs.map +1 -1
  240. package/lib/labs/VDataTable/composables/sort.mjs +19 -3
  241. package/lib/labs/VDataTable/composables/sort.mjs.map +1 -1
  242. package/lib/labs/VDataTable/index.d.ts +4179 -1017
  243. package/lib/labs/VVirtualScroll/index.d.ts +32 -1
  244. package/lib/labs/components.d.ts +4214 -1026
  245. package/lib/locale/adapters/vue-i18n.d.ts +1 -1
  246. package/lib/locale/adapters/vue-i18n.mjs +1 -1
  247. package/lib/locale/adapters/vue-i18n.mjs.map +1 -1
  248. package/lib/styles/main.css +4 -0
  249. package/lib/styles/settings/_utilities.scss +7 -0
  250. package/lib/util/animation.mjs +8 -1
  251. package/lib/util/animation.mjs.map +1 -1
  252. package/lib/util/defineComponent.mjs +15 -7
  253. package/lib/util/defineComponent.mjs.map +1 -1
  254. package/lib/util/helpers.mjs +4 -0
  255. package/lib/util/helpers.mjs.map +1 -1
  256. package/package.json +5 -10
@@ -1,6 +1,153 @@
1
1
  import * as vue from 'vue';
2
+ import { ComponentPropsOptions, ExtractPropTypes, PropType } from 'vue';
2
3
 
3
- declare const VLazy: vue.DefineComponent<{
4
+ interface FilterPropsOptions<PropsOptions extends Readonly<ComponentPropsOptions>, Props = ExtractPropTypes<PropsOptions>> {
5
+ filterProps<T extends Partial<Props>, U extends Exclude<keyof Props, Exclude<keyof Props, keyof T>>>(props: T): [yes: Partial<Pick<T, U>>, no: Omit<T, U>];
6
+ }
7
+
8
+ declare const VLazy: {
9
+ new (...args: any[]): {
10
+ $: vue.ComponentInternalInstance;
11
+ $data: {};
12
+ $props: Partial<{
13
+ transition: NonNullable<string | boolean | (vue.TransitionProps & {
14
+ component?: vue.Component<any, any, any, vue.ComputedOptions, vue.MethodOptions> | undefined;
15
+ })>;
16
+ options: IntersectionObserverInit;
17
+ tag: string;
18
+ modelValue: boolean;
19
+ }> & Omit<{
20
+ transition: NonNullable<string | boolean | (vue.TransitionProps & {
21
+ component?: vue.Component<any, any, any, vue.ComputedOptions, vue.MethodOptions> | undefined;
22
+ })>;
23
+ options: IntersectionObserverInit;
24
+ tag: string;
25
+ modelValue: boolean;
26
+ } & {
27
+ height?: string | number | undefined;
28
+ width?: string | number | undefined;
29
+ maxHeight?: string | number | undefined;
30
+ maxWidth?: string | number | undefined;
31
+ minHeight?: string | number | undefined;
32
+ minWidth?: string | number | undefined;
33
+ } & {
34
+ $children?: vue.VNodeChild | (() => vue.VNodeChild) | {
35
+ default?: (() => vue.VNodeChild) | undefined;
36
+ };
37
+ $slots?: {
38
+ default?: (() => vue.VNodeChild) | undefined;
39
+ } | undefined;
40
+ 'v-slots'?: {
41
+ default?: false | (() => vue.VNodeChild) | undefined;
42
+ } | undefined;
43
+ } & {
44
+ "v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
45
+ } & {
46
+ "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
47
+ } & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, "transition" | "options" | "tag" | "modelValue">;
48
+ $attrs: {
49
+ [x: string]: unknown;
50
+ };
51
+ $refs: {
52
+ [x: string]: unknown;
53
+ };
54
+ $slots: Readonly<{
55
+ [name: string]: vue.Slot | undefined;
56
+ }>;
57
+ $root: vue.ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, vue.ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string>, {}> | null;
58
+ $parent: vue.ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, vue.ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string>, {}> | null;
59
+ $emit: (event: "update:modelValue", value: boolean) => void;
60
+ $el: any;
61
+ $options: vue.ComponentOptionsBase<{
62
+ transition: NonNullable<string | boolean | (vue.TransitionProps & {
63
+ component?: vue.Component<any, any, any, vue.ComputedOptions, vue.MethodOptions> | undefined;
64
+ })>;
65
+ options: IntersectionObserverInit;
66
+ tag: string;
67
+ modelValue: boolean;
68
+ } & {
69
+ height?: string | number | undefined;
70
+ width?: string | number | undefined;
71
+ maxHeight?: string | number | undefined;
72
+ maxWidth?: string | number | undefined;
73
+ minHeight?: string | number | undefined;
74
+ minWidth?: string | number | undefined;
75
+ } & {
76
+ $children?: vue.VNodeChild | (() => vue.VNodeChild) | {
77
+ default?: (() => vue.VNodeChild) | undefined;
78
+ };
79
+ $slots?: {
80
+ default?: (() => vue.VNodeChild) | undefined;
81
+ } | undefined;
82
+ 'v-slots'?: {
83
+ default?: false | (() => vue.VNodeChild) | undefined;
84
+ } | undefined;
85
+ } & {
86
+ "v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
87
+ } & {
88
+ "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
89
+ }, {}, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
90
+ 'update:modelValue': (value: boolean) => boolean;
91
+ }, string, {
92
+ transition: NonNullable<string | boolean | (vue.TransitionProps & {
93
+ component?: vue.Component<any, any, any, vue.ComputedOptions, vue.MethodOptions> | undefined;
94
+ })>;
95
+ options: IntersectionObserverInit;
96
+ tag: string;
97
+ modelValue: boolean;
98
+ }, {}, string> & {
99
+ beforeCreate?: ((() => void) | (() => void)[]) | undefined;
100
+ created?: ((() => void) | (() => void)[]) | undefined;
101
+ beforeMount?: ((() => void) | (() => void)[]) | undefined;
102
+ mounted?: ((() => void) | (() => void)[]) | undefined;
103
+ beforeUpdate?: ((() => void) | (() => void)[]) | undefined;
104
+ updated?: ((() => void) | (() => void)[]) | undefined;
105
+ activated?: ((() => void) | (() => void)[]) | undefined;
106
+ deactivated?: ((() => void) | (() => void)[]) | undefined;
107
+ beforeDestroy?: ((() => void) | (() => void)[]) | undefined;
108
+ beforeUnmount?: ((() => void) | (() => void)[]) | undefined;
109
+ destroyed?: ((() => void) | (() => void)[]) | undefined;
110
+ unmounted?: ((() => void) | (() => void)[]) | undefined;
111
+ renderTracked?: (((e: vue.DebuggerEvent) => void) | ((e: vue.DebuggerEvent) => void)[]) | undefined;
112
+ renderTriggered?: (((e: vue.DebuggerEvent) => void) | ((e: vue.DebuggerEvent) => void)[]) | undefined;
113
+ errorCaptured?: (((err: unknown, instance: vue.ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, vue.ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string>, {}> | null, info: string) => boolean | void) | ((err: unknown, instance: vue.ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, vue.ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string>, {}> | null, info: string) => boolean | void)[]) | undefined;
114
+ };
115
+ $forceUpdate: () => void;
116
+ $nextTick: typeof vue.nextTick;
117
+ $watch<T extends string | ((...args: any) => any)>(source: T, cb: T extends (...args: any) => infer R ? (args_0: R, args_1: R) => any : (...args: any) => any, options?: vue.WatchOptions<boolean> | undefined): vue.WatchStopHandle;
118
+ } & {
119
+ transition: NonNullable<string | boolean | (vue.TransitionProps & {
120
+ component?: vue.Component<any, any, any, vue.ComputedOptions, vue.MethodOptions> | undefined;
121
+ })>;
122
+ options: IntersectionObserverInit;
123
+ tag: string;
124
+ modelValue: boolean;
125
+ } & {
126
+ height?: string | number | undefined;
127
+ width?: string | number | undefined;
128
+ maxHeight?: string | number | undefined;
129
+ maxWidth?: string | number | undefined;
130
+ minHeight?: string | number | undefined;
131
+ minWidth?: string | number | undefined;
132
+ } & {
133
+ $children?: vue.VNodeChild | (() => vue.VNodeChild) | {
134
+ default?: (() => vue.VNodeChild) | undefined;
135
+ };
136
+ $slots?: {
137
+ default?: (() => vue.VNodeChild) | undefined;
138
+ } | undefined;
139
+ 'v-slots'?: {
140
+ default?: false | (() => vue.VNodeChild) | undefined;
141
+ } | undefined;
142
+ } & {
143
+ "v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
144
+ } & {
145
+ "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
146
+ } & vue.ShallowUnwrapRef<{}> & {} & vue.ComponentCustomProperties & {};
147
+ __isFragment?: undefined;
148
+ __isTeleport?: undefined;
149
+ __isSuspense?: undefined;
150
+ } & vue.ComponentOptionsBase<{
4
151
  transition: NonNullable<string | boolean | (vue.TransitionProps & {
5
152
  component?: vue.Component<any, any, any, vue.ComputedOptions, vue.MethodOptions> | undefined;
6
153
  })>;
@@ -26,44 +173,86 @@ declare const VLazy: vue.DefineComponent<{
26
173
  } | undefined;
27
174
  } & {
28
175
  "v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
176
+ } & {
177
+ "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
29
178
  }, {}, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
30
179
  'update:modelValue': (value: boolean) => boolean;
31
- }, string, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, {
180
+ }, string, {
32
181
  transition: NonNullable<string | boolean | (vue.TransitionProps & {
33
182
  component?: vue.Component<any, any, any, vue.ComputedOptions, vue.MethodOptions> | undefined;
34
183
  })>;
35
184
  options: IntersectionObserverInit;
36
185
  tag: string;
37
186
  modelValue: boolean;
38
- } & {
39
- height?: string | number | undefined;
40
- width?: string | number | undefined;
41
- maxHeight?: string | number | undefined;
42
- maxWidth?: string | number | undefined;
43
- minHeight?: string | number | undefined;
44
- minWidth?: string | number | undefined;
45
- } & {
46
- $children?: vue.VNodeChild | (() => vue.VNodeChild) | {
47
- default?: (() => vue.VNodeChild) | undefined;
187
+ }, {}, string> & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & FilterPropsOptions<{
188
+ transition: Omit<{
189
+ type: PropType<string | boolean | (vue.TransitionProps & {
190
+ component?: vue.Component<any, any, any, vue.ComputedOptions, vue.MethodOptions> | undefined;
191
+ })>;
192
+ default: string;
193
+ validator: (val: unknown) => boolean;
194
+ }, "type" | "default"> & {
195
+ type: PropType<NonNullable<string | boolean | (vue.TransitionProps & {
196
+ component?: vue.Component<any, any, any, vue.ComputedOptions, vue.MethodOptions> | undefined;
197
+ })>>;
198
+ default: NonNullable<string | boolean | (vue.TransitionProps & {
199
+ component?: vue.Component<any, any, any, vue.ComputedOptions, vue.MethodOptions> | undefined;
200
+ })>;
48
201
  };
49
- $slots?: {
50
- default?: (() => vue.VNodeChild) | undefined;
51
- } | undefined;
52
- 'v-slots'?: {
53
- default?: false | (() => vue.VNodeChild) | undefined;
54
- } | undefined;
55
- } & {
56
- "v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
57
- } & {
58
- "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
59
- }, {
60
- transition: NonNullable<string | boolean | (vue.TransitionProps & {
61
- component?: vue.Component<any, any, any, vue.ComputedOptions, vue.MethodOptions> | undefined;
62
- })>;
63
- options: IntersectionObserverInit;
64
- tag: string;
65
- modelValue: boolean;
66
- }>;
202
+ tag: {
203
+ type: StringConstructor;
204
+ default: string;
205
+ };
206
+ height: (StringConstructor | NumberConstructor)[];
207
+ maxHeight: (StringConstructor | NumberConstructor)[];
208
+ maxWidth: (StringConstructor | NumberConstructor)[];
209
+ minHeight: (StringConstructor | NumberConstructor)[];
210
+ minWidth: (StringConstructor | NumberConstructor)[];
211
+ width: (StringConstructor | NumberConstructor)[];
212
+ modelValue: BooleanConstructor;
213
+ options: {
214
+ type: PropType<IntersectionObserverInit>;
215
+ default: () => {
216
+ root: undefined;
217
+ rootMargin: undefined;
218
+ threshold: undefined;
219
+ };
220
+ };
221
+ }, vue.ExtractPropTypes<{
222
+ transition: Omit<{
223
+ type: PropType<string | boolean | (vue.TransitionProps & {
224
+ component?: vue.Component<any, any, any, vue.ComputedOptions, vue.MethodOptions> | undefined;
225
+ })>;
226
+ default: string;
227
+ validator: (val: unknown) => boolean;
228
+ }, "type" | "default"> & {
229
+ type: PropType<NonNullable<string | boolean | (vue.TransitionProps & {
230
+ component?: vue.Component<any, any, any, vue.ComputedOptions, vue.MethodOptions> | undefined;
231
+ })>>;
232
+ default: NonNullable<string | boolean | (vue.TransitionProps & {
233
+ component?: vue.Component<any, any, any, vue.ComputedOptions, vue.MethodOptions> | undefined;
234
+ })>;
235
+ };
236
+ tag: {
237
+ type: StringConstructor;
238
+ default: string;
239
+ };
240
+ height: (StringConstructor | NumberConstructor)[];
241
+ maxHeight: (StringConstructor | NumberConstructor)[];
242
+ maxWidth: (StringConstructor | NumberConstructor)[];
243
+ minHeight: (StringConstructor | NumberConstructor)[];
244
+ minWidth: (StringConstructor | NumberConstructor)[];
245
+ width: (StringConstructor | NumberConstructor)[];
246
+ modelValue: BooleanConstructor;
247
+ options: {
248
+ type: PropType<IntersectionObserverInit>;
249
+ default: () => {
250
+ root: undefined;
251
+ rootMargin: undefined;
252
+ threshold: undefined;
253
+ };
254
+ };
255
+ }>>;
67
256
  type VLazy = InstanceType<typeof VLazy>;
68
257
 
69
258
  export { VLazy };
@@ -1,7 +1,7 @@
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 { filterListGroupProps, VListGroup } from "./VListGroup.mjs";
4
+ import { VListGroup } from "./VListGroup.mjs";
5
5
  import { VListItem } from "./VListItem.mjs";
6
6
  import { VListSubheader } from "./VListSubheader.mjs"; // Utilities
7
7
  import { createList } from "./list.mjs";
@@ -57,7 +57,7 @@ export const VListChildren = genericComponent()({
57
57
  item
58
58
  }) : undefined
59
59
  };
60
- const [listGroupProps, _1] = filterListGroupProps(itemProps);
60
+ const [listGroupProps, _1] = VListGroup.filterProps(itemProps);
61
61
  return children ? _createVNode(VListGroup, _mergeProps({
62
62
  "value": itemProps?.value
63
63
  }, listGroupProps), {
@@ -1 +1 @@
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","divider","subheader","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 { ListItemSubtitleSlot, ListItemTitleSlot } from './VListItem'\nimport type { SlotsToProps } from '@/util'\nimport type { Prop } from 'vue'\n\nexport const VListChildren = genericComponent<new <T extends InternalListItem>() => {\n $props: {\n items?: T[]\n } & SlotsToProps<{\n default: []\n header: [{ props: Record<string, unknown> }]\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') {\n return slots.divider?.({ props: itemProps }) ?? (\n <VDivider { ...itemProps } />\n )\n }\n\n if (type === 'subheader') {\n return slots.subheader?.({ props: itemProps }) ?? (\n <VListSubheader\n { ...itemProps }\n v-slots={{ default: slots.subheader }}\n />\n )\n }\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({ props: { ...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;AAAA,SACSA,QAAQ;AAAA,SACRC,oBAAoB,EAAEC,UAAU;AAAA,SAChCC,SAAS;AAAA,SACTC,cAAc,gCAEvB;AAAA,SACSC,UAAU;AAAA,SACVC,gBAAgB,gCAEzB;AAMA,OAAO,MAAMC,aAAa,GAAGD,gBAAgB,EAUzC,CAAC;EACHE,IAAI,EAAE,eAAe;EAErBC,KAAK,EAAE;IACLC,KAAK,EAAEC;EACT,CAAC;EAEDC,KAAK,CAAEH,KAAK,QAAa;IAAA,IAAX;MAAEI;IAAM,CAAC;IACrBR,UAAU,EAAE;IAEZ,OAAO,MAAMQ,KAAK,CAACC,OAAO,IAAI,IAAIL,KAAK,CAACC,KAAK,EAAEK,GAAG,CAAC,SAAqD;MAAA,IAApD;QAAEC,QAAQ;QAAEP,KAAK,EAAEQ,SAAS;QAAEC,IAAI;QAAEC,GAAG,EAAEC;MAAK,CAAC;MACjG,IAAIF,IAAI,KAAK,SAAS,EAAE;QACtB,OAAOL,KAAK,CAACQ,OAAO,GAAG;UAAEZ,KAAK,EAAEQ;QAAU,CAAC,CAAC,2BAC3BA,SAAS,OACzB;MACH;MAEA,IAAIC,IAAI,KAAK,WAAW,EAAE;QACxB,OAAOL,KAAK,CAACS,SAAS,GAAG;UAAEb,KAAK,EAAEQ;QAAU,CAAC,CAAC,iCAErCA,SAAS,EACL;UAAEH,OAAO,EAAED,KAAK,CAACS;QAAU,CAAC,CAExC;MACH;MAEA,MAAMC,aAAa,GAAG;QACpBC,QAAQ,EAAEX,KAAK,CAACW,QAAQ,GAAIC,SAAc,IAAKZ,KAAK,CAACW,QAAQ,GAAG;UAAE,GAAGC,SAAS;UAAEL;QAAK,CAAC,CAAC,GAAGM,SAAS;QACnGC,OAAO,EAAEd,KAAK,CAACc,OAAO,GAAIF,SAAc,IAAKZ,KAAK,CAACc,OAAO,GAAG;UAAE,GAAGF,SAAS;UAAEL;QAAK,CAAC,CAAC,GAAGM,SAAS;QAChGE,MAAM,EAAEf,KAAK,CAACe,MAAM,GAAIH,SAAc,IAAKZ,KAAK,CAACe,MAAM,GAAG;UAAE,GAAGH,SAAS;UAAEL;QAAK,CAAC,CAAC,GAAGM,SAAS;QAC7FZ,OAAO,EAAED,KAAK,CAACC,OAAO,GAAIW,SAAc,IAAKZ,KAAK,CAACC,OAAO,GAAG;UAAE,GAAGW,SAAS;UAAEL;QAAK,CAAC,CAAC,GAAGM,SAAS;QAChGG,KAAK,EAAEhB,KAAK,CAACgB,KAAK,GAAIJ,SAAc,IAAKZ,KAAK,CAACgB,KAAK,GAAG;UAAE,GAAGJ,SAAS;UAAEL;QAAK,CAAC,CAAC,GAAGM;MACnF,CAAC;MAED,MAAM,CAACI,cAAc,EAAEC,EAAE,CAAC,GAAG9B,oBAAoB,CAACgB,SAAS,CAAQ;MAEnE,OAAOD,QAAQ;QAAA,SAEHC,SAAS,EAAEe;MAAK,GACnBF,cAAc;QAGjBG,SAAS,EAAE;UAAA,IAAC;YAAExB,KAAK,EAAEyB;UAAe,CAAC;UAAA,OAAKrB,KAAK,CAACsB,MAAM,GAClDtB,KAAK,CAACsB,MAAM,CAAC;YAAE1B,KAAK,EAAE;cAAE,GAAGQ,SAAS;cAAE,GAAGiB;YAAe;UAAE,CAAC,CAAC,uCAC5CjB,SAAS,EAAQiB,cAAc,GAAaX,aAAa,CAAK;QAAA;QAClFT,OAAO,EAAE;UAAA,SACgBE;QAAQ,GAAaH,KAAK;MAClD,KAILA,KAAK,CAACO,IAAI,GAAGP,KAAK,CAACO,IAAI,CAACH,SAAS,CAAC,2BAEzBA,SAAS,EACJM,aAAa,CAG5B;IACH,CAAC,CAAC;EACJ;AACF,CAAC,CAAC"}
1
+ {"version":3,"file":"VListChildren.mjs","names":["VDivider","VListGroup","VListItem","VListSubheader","createList","genericComponent","VListChildren","name","props","items","Array","setup","slots","default","map","children","itemProps","type","raw","item","divider","subheader","slotsWithItem","subtitle","slotProps","undefined","prepend","append","title","listGroupProps","_1","filterProps","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 { createList } from './list'\nimport { genericComponent } from '@/util'\n\n// Types\nimport type { InternalListItem } from './VList'\nimport type { ListItemSubtitleSlot, ListItemTitleSlot } from './VListItem'\nimport type { SlotsToProps } from '@/util'\nimport type { Prop } from 'vue'\n\nexport const VListChildren = genericComponent<new <T extends InternalListItem>() => {\n $props: {\n items?: T[]\n } & SlotsToProps<{\n default: []\n header: [{ props: Record<string, unknown> }]\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') {\n return slots.divider?.({ props: itemProps }) ?? (\n <VDivider { ...itemProps } />\n )\n }\n\n if (type === 'subheader') {\n return slots.subheader?.({ props: itemProps }) ?? (\n <VListSubheader\n { ...itemProps }\n v-slots={{ default: slots.subheader }}\n />\n )\n }\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] = VListGroup.filterProps(itemProps)\n\n return children ? (\n <VListGroup\n value={ itemProps?.value }\n { ...listGroupProps }\n >\n {{\n activator: ({ props: activatorProps }) => slots.header\n ? slots.header({ props: { ...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;AAAA,SACSA,QAAQ;AAAA,SACRC,UAAU;AAAA,SACVC,SAAS;AAAA,SACTC,cAAc,gCAEvB;AAAA,SACSC,UAAU;AAAA,SACVC,gBAAgB,gCAEzB;AAMA,OAAO,MAAMC,aAAa,GAAGD,gBAAgB,EAUzC,CAAC;EACHE,IAAI,EAAE,eAAe;EAErBC,KAAK,EAAE;IACLC,KAAK,EAAEC;EACT,CAAC;EAEDC,KAAK,CAAEH,KAAK,QAAa;IAAA,IAAX;MAAEI;IAAM,CAAC;IACrBR,UAAU,EAAE;IAEZ,OAAO,MAAMQ,KAAK,CAACC,OAAO,IAAI,IAAIL,KAAK,CAACC,KAAK,EAAEK,GAAG,CAAC,SAAqD;MAAA,IAApD;QAAEC,QAAQ;QAAEP,KAAK,EAAEQ,SAAS;QAAEC,IAAI;QAAEC,GAAG,EAAEC;MAAK,CAAC;MACjG,IAAIF,IAAI,KAAK,SAAS,EAAE;QACtB,OAAOL,KAAK,CAACQ,OAAO,GAAG;UAAEZ,KAAK,EAAEQ;QAAU,CAAC,CAAC,2BAC3BA,SAAS,OACzB;MACH;MAEA,IAAIC,IAAI,KAAK,WAAW,EAAE;QACxB,OAAOL,KAAK,CAACS,SAAS,GAAG;UAAEb,KAAK,EAAEQ;QAAU,CAAC,CAAC,iCAErCA,SAAS,EACL;UAAEH,OAAO,EAAED,KAAK,CAACS;QAAU,CAAC,CAExC;MACH;MAEA,MAAMC,aAAa,GAAG;QACpBC,QAAQ,EAAEX,KAAK,CAACW,QAAQ,GAAIC,SAAc,IAAKZ,KAAK,CAACW,QAAQ,GAAG;UAAE,GAAGC,SAAS;UAAEL;QAAK,CAAC,CAAC,GAAGM,SAAS;QACnGC,OAAO,EAAEd,KAAK,CAACc,OAAO,GAAIF,SAAc,IAAKZ,KAAK,CAACc,OAAO,GAAG;UAAE,GAAGF,SAAS;UAAEL;QAAK,CAAC,CAAC,GAAGM,SAAS;QAChGE,MAAM,EAAEf,KAAK,CAACe,MAAM,GAAIH,SAAc,IAAKZ,KAAK,CAACe,MAAM,GAAG;UAAE,GAAGH,SAAS;UAAEL;QAAK,CAAC,CAAC,GAAGM,SAAS;QAC7FZ,OAAO,EAAED,KAAK,CAACC,OAAO,GAAIW,SAAc,IAAKZ,KAAK,CAACC,OAAO,GAAG;UAAE,GAAGW,SAAS;UAAEL;QAAK,CAAC,CAAC,GAAGM,SAAS;QAChGG,KAAK,EAAEhB,KAAK,CAACgB,KAAK,GAAIJ,SAAc,IAAKZ,KAAK,CAACgB,KAAK,GAAG;UAAE,GAAGJ,SAAS;UAAEL;QAAK,CAAC,CAAC,GAAGM;MACnF,CAAC;MAED,MAAM,CAACI,cAAc,EAAEC,EAAE,CAAC,GAAG7B,UAAU,CAAC8B,WAAW,CAACf,SAAS,CAAC;MAE9D,OAAOD,QAAQ;QAAA,SAEHC,SAAS,EAAEgB;MAAK,GACnBH,cAAc;QAGjBI,SAAS,EAAE;UAAA,IAAC;YAAEzB,KAAK,EAAE0B;UAAe,CAAC;UAAA,OAAKtB,KAAK,CAACuB,MAAM,GAClDvB,KAAK,CAACuB,MAAM,CAAC;YAAE3B,KAAK,EAAE;cAAE,GAAGQ,SAAS;cAAE,GAAGkB;YAAe;UAAE,CAAC,CAAC,uCAC5ClB,SAAS,EAAQkB,cAAc,GAAaZ,aAAa,CAAK;QAAA;QAClFT,OAAO,EAAE;UAAA,SACgBE;QAAQ,GAAaH,KAAK;MAClD,KAILA,KAAK,CAACO,IAAI,GAAGP,KAAK,CAACO,IAAI,CAACH,SAAS,CAAC,2BAEzBA,SAAS,EACJM,aAAa,CAG5B;IACH,CAAC,CAAC;EACJ;AACF,CAAC,CAAC"}
@@ -7,7 +7,7 @@ import { IconValue } from "../../composables/icons.mjs";
7
7
  import { makeTagProps } from "../../composables/tag.mjs";
8
8
  import { useNestedGroupActivator, useNestedItem } from "../../composables/nested/nested.mjs"; // Utilities
9
9
  import { computed, toRef } from 'vue';
10
- import { defineComponent, genericComponent, pick, propsFactory, useRender } from "../../util/index.mjs"; // Types
10
+ import { defineComponent, genericComponent, propsFactory, useRender } from "../../util/index.mjs";
11
11
  const VListGroupActivator = defineComponent({
12
12
  name: 'VListGroupActivator',
13
13
  setup(_, _ref) {
@@ -100,7 +100,4 @@ export const VListGroup = genericComponent()({
100
100
  return {};
101
101
  }
102
102
  });
103
- export function filterListGroupProps(props) {
104
- return pick(props, Object.keys(VListGroup.props));
105
- }
106
103
  //# sourceMappingURL=VListGroup.mjs.map
@@ -1 +1 @@
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","id","_id","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 { ExtractPropTypes } from 'vue'\n\nexport type VListGroupSlots = {\n default: []\n activator: [{ isOpen: boolean, props: Record<string, unknown> }]\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}, 'v-list-group')\n\nexport const VListGroup = genericComponent<VListGroupSlots>()({\n name: 'VListGroup',\n\n props: {\n title: String,\n\n ...makeVListGroupProps(),\n },\n\n setup (props, { slots }) {\n const { isOpen, open, id: _id } = useNestedItem(toRef(props, 'value'), true)\n const id = computed(() => `v-list-group--id-${String(_id.value)}`)\n const list = useList()\n\n function onClick (e: Event) {\n open(!isOpen.value, e)\n }\n\n const activatorProps = computed(() => ({\n onClick,\n class: 'v-list-group__header',\n id: id.value,\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 'v-list-group--open': isOpen.value,\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: isOpen.value }) }\n </VListGroupActivator>\n </VDefaultsProvider>\n )}\n\n <VExpandTransition>\n <div class=\"v-list-group__items\" role=\"group\" aria-labelledby={ id.value } v-show={ isOpen.value }>\n { slots.default?.() }\n </div>\n </VExpandTransition>\n </props.tag>\n ))\n\n return {}\n },\n})\n\nexport type VListGroup = InstanceType<typeof VListGroup>\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
+ {"version":3,"file":"VListGroup.mjs","names":["VDefaultsProvider","VExpandTransition","useList","IconValue","makeTagProps","useNestedGroupActivator","useNestedItem","computed","toRef","defineComponent","genericComponent","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","id","_id","list","onClick","e","activatorProps","class","toggleIcon","hasPrepend","activator","VListItem","active"],"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, propsFactory, useRender } from '@/util'\n\nexport type VListGroupSlots = {\n default: []\n activator: [{ isOpen: boolean, props: Record<string, unknown> }]\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}, 'v-list-group')\n\nexport const VListGroup = genericComponent<VListGroupSlots>()({\n name: 'VListGroup',\n\n props: {\n title: String,\n\n ...makeVListGroupProps(),\n },\n\n setup (props, { slots }) {\n const { isOpen, open, id: _id } = useNestedItem(toRef(props, 'value'), true)\n const id = computed(() => `v-list-group--id-${String(_id.value)}`)\n const list = useList()\n\n function onClick (e: Event) {\n open(!isOpen.value, e)\n }\n\n const activatorProps = computed(() => ({\n onClick,\n class: 'v-list-group__header',\n id: id.value,\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 'v-list-group--open': isOpen.value,\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: isOpen.value }) }\n </VListGroupActivator>\n </VDefaultsProvider>\n )}\n\n <VExpandTransition>\n <div class=\"v-list-group__items\" role=\"group\" aria-labelledby={ id.value } v-show={ isOpen.value }>\n { slots.default?.() }\n </div>\n </VExpandTransition>\n </props.tag>\n ))\n\n return {}\n },\n})\n\nexport type VListGroup = InstanceType<typeof VListGroup>\n"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { withDirectives as _withDirectives, resolveDirective as _resolveDirective, createVNode as _createVNode } from "vue";
1
+ import { withDirectives as _withDirectives, resolveDirective as _resolveDirective, createVNode as _createVNode, Fragment as _Fragment } from "vue";
2
2
  // Styles
3
3
  import "./VListItem.css";
4
4
 
@@ -153,8 +153,10 @@ export const VListItem = genericComponent()({
153
153
  const hasColor = !list || isSelected.value || isActive.value;
154
154
  const hasTitle = slots.title || props.title;
155
155
  const hasSubtitle = slots.subtitle || props.subtitle;
156
- const hasAppend = !!(slots.append || props.appendAvatar || props.appendIcon);
157
- const hasPrepend = !!(slots.prepend || props.prependAvatar || props.prependIcon);
156
+ const hasAppendMedia = !!(props.appendAvatar || props.appendIcon);
157
+ const hasAppend = !!(hasAppendMedia || slots.append);
158
+ const hasPrependMedia = !!(props.prependAvatar || props.prependIcon);
159
+ const hasPrepend = !!(hasPrependMedia || slots.prepend);
158
160
  list?.updateHasPrepend(hasPrepend);
159
161
  return _withDirectives(_createVNode(Tag, {
160
162
  "class": ['v-list-item', {
@@ -174,7 +176,7 @@ export const VListItem = genericComponent()({
174
176
  default: () => [genOverlays(isClickable.value || isActive.value, 'v-list-item'), hasPrepend && _createVNode("div", {
175
177
  "key": "prepend",
176
178
  "class": "v-list-item__prepend"
177
- }, [props.prependAvatar && _createVNode(VAvatar, {
179
+ }, [!slots.prepend ? _createVNode(_Fragment, null, [props.prependAvatar && _createVNode(VAvatar, {
178
180
  "key": "prepend-avatar",
179
181
  "density": props.density,
180
182
  "image": props.prependAvatar
@@ -182,8 +184,9 @@ export const VListItem = genericComponent()({
182
184
  "key": "prepend-icon",
183
185
  "density": props.density,
184
186
  "icon": props.prependIcon
185
- }, null), slots.prepend && _createVNode(VDefaultsProvider, {
186
- "key": "prepend",
187
+ }, null)]) : _createVNode(VDefaultsProvider, {
188
+ "key": "prepend-defaults",
189
+ "disabled": !hasPrependMedia,
187
190
  "defaults": {
188
191
  VAvatar: {
189
192
  density: props.density,
@@ -198,7 +201,7 @@ export const VListItem = genericComponent()({
198
201
  }
199
202
  }
200
203
  }, {
201
- default: () => [slots.prepend(slotProps.value)]
204
+ default: () => [slots.prepend?.(slotProps.value)]
202
205
  })]), _createVNode("div", {
203
206
  "class": "v-list-item__content",
204
207
  "data-no-activator": ""
@@ -217,8 +220,17 @@ export const VListItem = genericComponent()({
217
220
  }), slots.default?.(slotProps.value)]), hasAppend && _createVNode("div", {
218
221
  "key": "append",
219
222
  "class": "v-list-item__append"
220
- }, [slots.append && _createVNode(VDefaultsProvider, {
221
- "key": "append",
223
+ }, [!slots.append ? _createVNode(_Fragment, null, [props.appendIcon && _createVNode(VIcon, {
224
+ "key": "append-icon",
225
+ "density": props.density,
226
+ "icon": props.appendIcon
227
+ }, null), props.appendAvatar && _createVNode(VAvatar, {
228
+ "key": "append-avatar",
229
+ "density": props.density,
230
+ "image": props.appendAvatar
231
+ }, null)]) : _createVNode(VDefaultsProvider, {
232
+ "key": "append-defaults",
233
+ "disabled": !hasAppendMedia,
222
234
  "defaults": {
223
235
  VAvatar: {
224
236
  density: props.density,
@@ -233,16 +245,8 @@ export const VListItem = genericComponent()({
233
245
  }
234
246
  }
235
247
  }, {
236
- default: () => [slots.append(slotProps.value)]
237
- }), props.appendIcon && _createVNode(VIcon, {
238
- "key": "append-icon",
239
- "density": props.density,
240
- "icon": props.appendIcon
241
- }, null), props.appendAvatar && _createVNode(VAvatar, {
242
- "key": "append-avatar",
243
- "density": props.density,
244
- "image": props.appendAvatar
245
- }, null)])]
248
+ default: () => [slots.append?.(slotProps.value)]
249
+ })])]
246
250
  }), [[_resolveDirective("ripple"), isClickable.value && props.ripple]]);
247
251
  });
248
252
  return {};
@@ -1 +1 @@
1
- {"version":3,"file":"VListItem.mjs","names":["VAvatar","VDefaultsProvider","VIcon","VListItemSubtitle","VListItemTitle","Ripple","genOverlays","makeVariantProps","useVariant","IconValue","makeBorderProps","useBorder","makeDensityProps","useDensity","makeDimensionProps","useDimension","makeElevationProps","useElevation","makeRoundedProps","useRounded","makeRouterProps","useLink","makeTagProps","makeThemeProps","provideTheme","useList","useNestedItem","computed","watch","EventProp","genericComponent","useRender","VListItem","name","directives","props","active","type","Boolean","default","undefined","activeClass","String","activeColor","appendAvatar","appendIcon","disabled","lines","link","nav","prependAvatar","prependIcon","ripple","subtitle","Number","title","value","onClick","onClickOnce","variant","emits","click","e","setup","attrs","slots","emit","id","href","select","isSelected","isIndeterminate","isGroupActivator","root","parent","openOnSelect","list","isActive","isLink","isClickable","roundedProps","rounded","variantProps","color","val","open","immediate","themeClasses","borderClasses","colorClasses","colorStyles","variantClasses","densityClasses","dimensionStyles","elevationClasses","roundedClasses","lineClasses","slotProps","navigate","onKeyDown","key","preventDefault","Tag","tag","hasColor","hasTitle","hasSubtitle","hasAppend","append","hasPrepend","prepend","updateHasPrepend","density","image","icon","VListItemAction","start","end"],"sources":["../../../src/components/VList/VListItem.tsx"],"sourcesContent":["// Styles\nimport './VListItem.sass'\n\n// Components\nimport { VAvatar } from '@/components/VAvatar'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VIcon } from '@/components/VIcon'\nimport { VListItemSubtitle } from './VListItemSubtitle'\nimport { VListItemTitle } from './VListItemTitle'\n\n// Directives\nimport { Ripple } from '@/directives/ripple'\n\n// Composables\nimport { genOverlays, makeVariantProps, useVariant } from '@/composables/variant'\nimport { IconValue } from '@/composables/icons'\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 { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeRouterProps, useLink } from '@/composables/router'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { useList } from './list'\nimport { useNestedItem } from '@/composables/nested/nested'\n\n// Utilities\nimport { computed, watch } from 'vue'\nimport { EventProp, genericComponent, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\ntype ListItemSlot = {\n isActive: boolean\n activate: (value: boolean) => void\n isSelected: boolean\n select: (value: boolean) => void\n}\n\nexport type ListItemTitleSlot = {\n title?: string\n}\n\nexport type ListItemSubtitleSlot = {\n subtitle?: string\n}\n\ntype VListItemSlots = {\n prepend: [ListItemSlot]\n append: [ListItemSlot]\n default: [ListItemSlot]\n title: [ListItemTitleSlot]\n subtitle: [ListItemSubtitleSlot]\n}\n\nexport const VListItem = genericComponent<VListItemSlots>()({\n name: 'VListItem',\n\n directives: { Ripple },\n\n props: {\n active: {\n type: Boolean,\n default: undefined,\n },\n activeClass: String,\n activeColor: String,\n appendAvatar: String,\n appendIcon: IconValue,\n disabled: Boolean,\n lines: String as PropType<'one' | 'two' | 'three'>,\n link: {\n type: Boolean,\n default: undefined,\n },\n nav: Boolean,\n prependAvatar: String,\n prependIcon: IconValue,\n ripple: {\n type: Boolean,\n default: true,\n },\n subtitle: [String, Number, Boolean],\n title: [String, Number, Boolean],\n value: null,\n\n onClick: EventProp,\n onClickOnce: EventProp,\n\n ...makeBorderProps(),\n ...makeDensityProps(),\n ...makeDimensionProps(),\n ...makeElevationProps(),\n ...makeRoundedProps(),\n ...makeRouterProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n ...makeVariantProps({ variant: 'text' } as const),\n },\n\n emits: {\n click: (e: MouseEvent | KeyboardEvent) => true,\n },\n\n setup (props, { attrs, slots, emit }) {\n const link = useLink(props, attrs)\n const id = computed(() => props.value ?? link.href.value)\n const { select, isSelected, isIndeterminate, isGroupActivator, root, parent, openOnSelect } = useNestedItem(id, false)\n const list = useList()\n const isActive = computed(() =>\n props.active !== false &&\n (props.active || link.isActive?.value || isSelected.value)\n )\n const isLink = computed(() => props.link !== false && link.isLink.value)\n const isClickable = computed(() =>\n !props.disabled &&\n props.link !== false &&\n (props.link || link.isClickable.value || (props.value != null && !!list))\n )\n\n const roundedProps = computed(() => props.rounded || props.nav)\n const variantProps = computed(() => ({\n color: isActive.value ? props.activeColor ?? props.color : props.color,\n variant: props.variant,\n }))\n\n watch(() => link.isActive?.value, val => {\n if (val && parent.value != null) {\n root.open(parent.value, true)\n }\n\n if (val) {\n openOnSelect(val)\n }\n }, { immediate: true })\n\n const { themeClasses } = provideTheme(props)\n const { borderClasses } = useBorder(props)\n const { colorClasses, colorStyles, variantClasses } = useVariant(variantProps)\n const { densityClasses } = useDensity(props)\n const { dimensionStyles } = useDimension(props)\n const { elevationClasses } = useElevation(props)\n const { roundedClasses } = useRounded(roundedProps)\n const lineClasses = computed(() => props.lines ? `v-list-item--${props.lines}-line` : undefined)\n\n const slotProps = computed(() => ({\n isActive: isActive.value,\n select,\n isSelected: isSelected.value,\n isIndeterminate: isIndeterminate.value,\n }))\n\n function onClick (e: MouseEvent) {\n emit('click', e)\n\n if (isGroupActivator || !isClickable.value) return\n\n link.navigate?.(e)\n props.value != null && select(!isSelected.value, e)\n }\n\n function onKeyDown (e: KeyboardEvent) {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault()\n onClick(e as any as MouseEvent)\n }\n }\n\n useRender(() => {\n const Tag = isLink.value ? 'a' : props.tag\n const hasColor = !list || isSelected.value || isActive.value\n const hasTitle = (slots.title || props.title)\n const hasSubtitle = (slots.subtitle || props.subtitle)\n const hasAppend = !!(slots.append || props.appendAvatar || props.appendIcon)\n const hasPrepend = !!(slots.prepend || props.prependAvatar || props.prependIcon)\n\n list?.updateHasPrepend(hasPrepend)\n\n return (\n <Tag\n class={[\n 'v-list-item',\n {\n 'v-list-item--active': isActive.value,\n 'v-list-item--disabled': props.disabled,\n 'v-list-item--link': isClickable.value,\n 'v-list-item--nav': props.nav,\n 'v-list-item--prepend': !hasPrepend && list?.hasPrepend.value,\n [`${props.activeClass}`]: props.activeClass && isActive.value,\n },\n themeClasses.value,\n borderClasses.value,\n hasColor ? colorClasses.value : undefined,\n densityClasses.value,\n elevationClasses.value,\n lineClasses.value,\n roundedClasses.value,\n variantClasses.value,\n ]}\n style={[\n hasColor ? colorStyles.value : undefined,\n dimensionStyles.value,\n ]}\n href={ link.href.value }\n tabindex={ isClickable.value ? 0 : undefined }\n onClick={ onClick }\n onKeydown={ isClickable.value && !isLink.value && onKeyDown }\n v-ripple={ isClickable.value && props.ripple }\n >\n { genOverlays(isClickable.value || isActive.value, 'v-list-item') }\n\n { hasPrepend && (\n <div key=\"prepend\" class=\"v-list-item__prepend\">\n { props.prependAvatar && (\n <VAvatar key=\"prepend-avatar\" density={ props.density } image={ props.prependAvatar } />\n )}\n\n { props.prependIcon && (\n <VIcon key=\"prepend-icon\" density={ props.density } icon={ props.prependIcon } />\n )}\n\n { slots.prepend && (\n <VDefaultsProvider\n key=\"prepend\"\n defaults={{\n VAvatar: {\n density: props.density,\n image: props.prependAvatar,\n },\n VIcon: {\n density: props.density,\n icon: props.prependIcon,\n },\n VListItemAction: {\n start: true,\n },\n }}\n >\n { slots.prepend(slotProps.value) }\n </VDefaultsProvider>\n )}\n </div>\n )}\n\n <div class=\"v-list-item__content\" data-no-activator=\"\">\n { hasTitle && (\n <VListItemTitle key=\"title\">\n { slots.title?.({ title: props.title }) ?? props.title }\n </VListItemTitle>\n )}\n\n { hasSubtitle && (\n <VListItemSubtitle key=\"subtitle\">\n { slots.subtitle?.({ subtitle: props.subtitle }) ?? props.subtitle }\n </VListItemSubtitle>\n )}\n\n { slots.default?.(slotProps.value) }\n </div>\n\n { hasAppend && (\n <div key=\"append\" class=\"v-list-item__append\">\n { slots.append && (\n <VDefaultsProvider\n key=\"append\"\n defaults={{\n VAvatar: {\n density: props.density,\n image: props.appendAvatar,\n },\n VIcon: {\n density: props.density,\n icon: props.appendIcon,\n },\n VListItemAction: {\n end: true,\n },\n }}\n >\n { slots.append(slotProps.value) }\n </VDefaultsProvider>\n )}\n\n { props.appendIcon && (\n <VIcon key=\"append-icon\" density={ props.density } icon={ props.appendIcon } />\n )}\n\n { props.appendAvatar && (\n <VAvatar key=\"append-avatar\" density={ props.density } image={ props.appendAvatar } />\n )}\n </div>\n )}\n </Tag>\n )\n })\n\n return {}\n },\n})\n\nexport type VListItem = InstanceType<typeof VListItem>\n"],"mappings":"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"}
1
+ {"version":3,"file":"VListItem.mjs","names":["VAvatar","VDefaultsProvider","VIcon","VListItemSubtitle","VListItemTitle","Ripple","genOverlays","makeVariantProps","useVariant","IconValue","makeBorderProps","useBorder","makeDensityProps","useDensity","makeDimensionProps","useDimension","makeElevationProps","useElevation","makeRoundedProps","useRounded","makeRouterProps","useLink","makeTagProps","makeThemeProps","provideTheme","useList","useNestedItem","computed","watch","EventProp","genericComponent","useRender","VListItem","name","directives","props","active","type","Boolean","default","undefined","activeClass","String","activeColor","appendAvatar","appendIcon","disabled","lines","link","nav","prependAvatar","prependIcon","ripple","subtitle","Number","title","value","onClick","onClickOnce","variant","emits","click","e","setup","attrs","slots","emit","id","href","select","isSelected","isIndeterminate","isGroupActivator","root","parent","openOnSelect","list","isActive","isLink","isClickable","roundedProps","rounded","variantProps","color","val","open","immediate","themeClasses","borderClasses","colorClasses","colorStyles","variantClasses","densityClasses","dimensionStyles","elevationClasses","roundedClasses","lineClasses","slotProps","navigate","onKeyDown","key","preventDefault","Tag","tag","hasColor","hasTitle","hasSubtitle","hasAppendMedia","hasAppend","append","hasPrependMedia","hasPrepend","prepend","updateHasPrepend","density","image","icon","VListItemAction","start","end"],"sources":["../../../src/components/VList/VListItem.tsx"],"sourcesContent":["// Styles\nimport './VListItem.sass'\n\n// Components\nimport { VAvatar } from '@/components/VAvatar'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VIcon } from '@/components/VIcon'\nimport { VListItemSubtitle } from './VListItemSubtitle'\nimport { VListItemTitle } from './VListItemTitle'\n\n// Directives\nimport { Ripple } from '@/directives/ripple'\n\n// Composables\nimport { genOverlays, makeVariantProps, useVariant } from '@/composables/variant'\nimport { IconValue } from '@/composables/icons'\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 { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeRouterProps, useLink } from '@/composables/router'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { useList } from './list'\nimport { useNestedItem } from '@/composables/nested/nested'\n\n// Utilities\nimport { computed, watch } from 'vue'\nimport { EventProp, genericComponent, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\ntype ListItemSlot = {\n isActive: boolean\n activate: (value: boolean) => void\n isSelected: boolean\n select: (value: boolean) => void\n}\n\nexport type ListItemTitleSlot = {\n title?: string\n}\n\nexport type ListItemSubtitleSlot = {\n subtitle?: string\n}\n\ntype VListItemSlots = {\n prepend: [ListItemSlot]\n append: [ListItemSlot]\n default: [ListItemSlot]\n title: [ListItemTitleSlot]\n subtitle: [ListItemSubtitleSlot]\n}\n\nexport const VListItem = genericComponent<VListItemSlots>()({\n name: 'VListItem',\n\n directives: { Ripple },\n\n props: {\n active: {\n type: Boolean,\n default: undefined,\n },\n activeClass: String,\n activeColor: String,\n appendAvatar: String,\n appendIcon: IconValue,\n disabled: Boolean,\n lines: String as PropType<'one' | 'two' | 'three'>,\n link: {\n type: Boolean,\n default: undefined,\n },\n nav: Boolean,\n prependAvatar: String,\n prependIcon: IconValue,\n ripple: {\n type: Boolean,\n default: true,\n },\n subtitle: [String, Number, Boolean],\n title: [String, Number, Boolean],\n value: null,\n\n onClick: EventProp,\n onClickOnce: EventProp,\n\n ...makeBorderProps(),\n ...makeDensityProps(),\n ...makeDimensionProps(),\n ...makeElevationProps(),\n ...makeRoundedProps(),\n ...makeRouterProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n ...makeVariantProps({ variant: 'text' } as const),\n },\n\n emits: {\n click: (e: MouseEvent | KeyboardEvent) => true,\n },\n\n setup (props, { attrs, slots, emit }) {\n const link = useLink(props, attrs)\n const id = computed(() => props.value ?? link.href.value)\n const { select, isSelected, isIndeterminate, isGroupActivator, root, parent, openOnSelect } = useNestedItem(id, false)\n const list = useList()\n const isActive = computed(() =>\n props.active !== false &&\n (props.active || link.isActive?.value || isSelected.value)\n )\n const isLink = computed(() => props.link !== false && link.isLink.value)\n const isClickable = computed(() =>\n !props.disabled &&\n props.link !== false &&\n (props.link || link.isClickable.value || (props.value != null && !!list))\n )\n\n const roundedProps = computed(() => props.rounded || props.nav)\n const variantProps = computed(() => ({\n color: isActive.value ? props.activeColor ?? props.color : props.color,\n variant: props.variant,\n }))\n\n watch(() => link.isActive?.value, val => {\n if (val && parent.value != null) {\n root.open(parent.value, true)\n }\n\n if (val) {\n openOnSelect(val)\n }\n }, { immediate: true })\n\n const { themeClasses } = provideTheme(props)\n const { borderClasses } = useBorder(props)\n const { colorClasses, colorStyles, variantClasses } = useVariant(variantProps)\n const { densityClasses } = useDensity(props)\n const { dimensionStyles } = useDimension(props)\n const { elevationClasses } = useElevation(props)\n const { roundedClasses } = useRounded(roundedProps)\n const lineClasses = computed(() => props.lines ? `v-list-item--${props.lines}-line` : undefined)\n\n const slotProps = computed(() => ({\n isActive: isActive.value,\n select,\n isSelected: isSelected.value,\n isIndeterminate: isIndeterminate.value,\n }))\n\n function onClick (e: MouseEvent) {\n emit('click', e)\n\n if (isGroupActivator || !isClickable.value) return\n\n link.navigate?.(e)\n props.value != null && select(!isSelected.value, e)\n }\n\n function onKeyDown (e: KeyboardEvent) {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault()\n onClick(e as any as MouseEvent)\n }\n }\n\n useRender(() => {\n const Tag = isLink.value ? 'a' : props.tag\n const hasColor = !list || isSelected.value || isActive.value\n const hasTitle = (slots.title || props.title)\n const hasSubtitle = (slots.subtitle || props.subtitle)\n const hasAppendMedia = !!(props.appendAvatar || props.appendIcon)\n const hasAppend = !!(hasAppendMedia || slots.append)\n const hasPrependMedia = !!(props.prependAvatar || props.prependIcon)\n const hasPrepend = !!(hasPrependMedia || slots.prepend)\n\n list?.updateHasPrepend(hasPrepend)\n\n return (\n <Tag\n class={[\n 'v-list-item',\n {\n 'v-list-item--active': isActive.value,\n 'v-list-item--disabled': props.disabled,\n 'v-list-item--link': isClickable.value,\n 'v-list-item--nav': props.nav,\n 'v-list-item--prepend': !hasPrepend && list?.hasPrepend.value,\n [`${props.activeClass}`]: props.activeClass && isActive.value,\n },\n themeClasses.value,\n borderClasses.value,\n hasColor ? colorClasses.value : undefined,\n densityClasses.value,\n elevationClasses.value,\n lineClasses.value,\n roundedClasses.value,\n variantClasses.value,\n ]}\n style={[\n hasColor ? colorStyles.value : undefined,\n dimensionStyles.value,\n ]}\n href={ link.href.value }\n tabindex={ isClickable.value ? 0 : undefined }\n onClick={ onClick }\n onKeydown={ isClickable.value && !isLink.value && onKeyDown }\n v-ripple={ isClickable.value && props.ripple }\n >\n { genOverlays(isClickable.value || isActive.value, 'v-list-item') }\n\n { hasPrepend && (\n <div key=\"prepend\" class=\"v-list-item__prepend\">\n { !slots.prepend ? (\n <>\n { props.prependAvatar && (\n <VAvatar\n key=\"prepend-avatar\"\n density={ props.density }\n image={ props.prependAvatar }\n />\n )}\n\n { props.prependIcon && (\n <VIcon\n key=\"prepend-icon\"\n density={ props.density }\n icon={ props.prependIcon }\n />\n )}\n </>\n ) : (\n <VDefaultsProvider\n key=\"prepend-defaults\"\n disabled={ !hasPrependMedia }\n defaults={{\n VAvatar: {\n density: props.density,\n image: props.prependAvatar,\n },\n VIcon: {\n density: props.density,\n icon: props.prependIcon,\n },\n VListItemAction: {\n start: true,\n },\n }}\n >\n { slots.prepend?.(slotProps.value) }\n </VDefaultsProvider>\n )}\n </div>\n )}\n\n <div class=\"v-list-item__content\" data-no-activator=\"\">\n { hasTitle && (\n <VListItemTitle key=\"title\">\n { slots.title?.({ title: props.title }) ?? props.title }\n </VListItemTitle>\n )}\n\n { hasSubtitle && (\n <VListItemSubtitle key=\"subtitle\">\n { slots.subtitle?.({ subtitle: props.subtitle }) ?? props.subtitle }\n </VListItemSubtitle>\n )}\n\n { slots.default?.(slotProps.value) }\n </div>\n\n { hasAppend && (\n <div key=\"append\" class=\"v-list-item__append\">\n { !slots.append ? (\n <>\n { props.appendIcon && (\n <VIcon\n key=\"append-icon\"\n density={ props.density }\n icon={ props.appendIcon }\n />\n )}\n\n { props.appendAvatar && (\n <VAvatar\n key=\"append-avatar\"\n density={ props.density }\n image={ props.appendAvatar }\n />\n )}\n </>\n ) : (\n <VDefaultsProvider\n key=\"append-defaults\"\n disabled={ !hasAppendMedia }\n defaults={{\n VAvatar: {\n density: props.density,\n image: props.appendAvatar,\n },\n VIcon: {\n density: props.density,\n icon: props.appendIcon,\n },\n VListItemAction: {\n end: true,\n },\n }}\n >\n { slots.append?.(slotProps.value) }\n </VDefaultsProvider>\n )}\n </div>\n )}\n </Tag>\n )\n })\n\n return {}\n },\n})\n\nexport type VListItem = InstanceType<typeof VListItem>\n"],"mappings":"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"}