@vuetify/nightly 4.0.0-dev-20230427.0 → 4.0.0-dev-20230511.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 (193) hide show
  1. package/CHANGELOG.md +22 -23
  2. package/dist/json/attributes.json +854 -658
  3. package/dist/json/importMap-labs.json +4 -4
  4. package/dist/json/tags.json +50 -1
  5. package/dist/json/web-types.json +1797 -1324
  6. package/dist/vuetify-labs.css +81 -69
  7. package/dist/vuetify-labs.d.ts +771 -257
  8. package/dist/vuetify-labs.esm.js +260 -224
  9. package/dist/vuetify-labs.esm.js.map +1 -1
  10. package/dist/vuetify-labs.js +259 -223
  11. package/dist/vuetify-labs.min.css +2 -2
  12. package/dist/vuetify.css +23 -11
  13. package/dist/vuetify.d.ts +884 -412
  14. package/dist/vuetify.esm.js +237 -215
  15. package/dist/vuetify.esm.js.map +1 -1
  16. package/dist/vuetify.js +236 -214
  17. package/dist/vuetify.js.map +1 -1
  18. package/dist/vuetify.min.css +2 -2
  19. package/dist/vuetify.min.js +640 -645
  20. package/dist/vuetify.min.js.map +1 -1
  21. package/lib/blueprints/{index.d.ts → index.d.mts} +5 -1
  22. package/lib/blueprints/{md1.d.ts → md1.d.mts} +5 -1
  23. package/lib/blueprints/{md2.d.ts → md2.d.mts} +5 -1
  24. package/lib/blueprints/{md3.d.ts → md3.d.mts} +5 -1
  25. package/lib/components/VAppBar/VAppBar.mjs +7 -11
  26. package/lib/components/VAppBar/VAppBar.mjs.map +1 -1
  27. package/lib/components/VAppBar/VAppBarNavIcon.mjs +10 -16
  28. package/lib/components/VAppBar/VAppBarNavIcon.mjs.map +1 -1
  29. package/lib/components/VAppBar/{index.d.ts → index.d.mts} +394 -28
  30. package/lib/components/VAutocomplete/VAutocomplete.css +1 -1
  31. package/lib/components/VAutocomplete/VAutocomplete.mjs +9 -2
  32. package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
  33. package/lib/components/VAutocomplete/VAutocomplete.sass +1 -1
  34. package/lib/components/VAutocomplete/{index.d.ts → index.d.mts} +6 -6
  35. package/lib/components/VBtn/VBtn.mjs +7 -6
  36. package/lib/components/VBtn/VBtn.mjs.map +1 -1
  37. package/lib/components/VCheckbox/VCheckboxBtn.mjs +0 -1
  38. package/lib/components/VCheckbox/VCheckboxBtn.mjs.map +1 -1
  39. package/lib/components/VCheckbox/{index.d.ts → index.d.mts} +6 -6
  40. package/lib/components/VColorPicker/VColorPicker.mjs +9 -4
  41. package/lib/components/VColorPicker/VColorPicker.mjs.map +1 -1
  42. package/lib/components/VColorPicker/VColorPickerEdit.mjs.map +1 -1
  43. package/lib/components/VColorPicker/VColorPickerSwatches.mjs +5 -4
  44. package/lib/components/VColorPicker/VColorPickerSwatches.mjs.map +1 -1
  45. package/lib/components/VColorPicker/{index.d.ts → index.d.mts} +97 -31
  46. package/lib/components/VColorPicker/util/index.mjs +2 -22
  47. package/lib/components/VColorPicker/util/index.mjs.map +1 -1
  48. package/lib/components/VCombobox/VCombobox.mjs +9 -2
  49. package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
  50. package/lib/components/VCombobox/{index.d.ts → index.d.mts} +6 -6
  51. package/lib/components/VField/{index.d.ts → index.d.mts} +6 -6
  52. package/lib/components/VFileInput/VFileInput.mjs +2 -1
  53. package/lib/components/VFileInput/VFileInput.mjs.map +1 -1
  54. package/lib/components/VFileInput/{index.d.ts → index.d.mts} +15 -15
  55. package/lib/components/VImg/VImg.css +2 -4
  56. package/lib/components/VImg/VImg.mjs +25 -24
  57. package/lib/components/VImg/VImg.mjs.map +1 -1
  58. package/lib/components/VImg/VImg.sass +4 -3
  59. package/lib/components/VImg/{index.d.ts → index.d.mts} +48 -3
  60. package/lib/components/VInput/{index.d.ts → index.d.mts} +6 -6
  61. package/lib/components/VList/VList.mjs +5 -0
  62. package/lib/components/VList/VList.mjs.map +1 -1
  63. package/lib/components/VList/VListGroup.mjs +3 -0
  64. package/lib/components/VList/VListGroup.mjs.map +1 -1
  65. package/lib/components/VList/VListItem.mjs +10 -5
  66. package/lib/components/VList/VListItem.mjs.map +1 -1
  67. package/lib/components/VList/{index.d.ts → index.d.mts} +18 -0
  68. package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs +1 -8
  69. package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs.map +1 -1
  70. package/lib/components/VRadioGroup/{index.d.ts → index.d.mts} +6 -6
  71. package/lib/components/VRangeSlider/{index.d.ts → index.d.mts} +6 -6
  72. package/lib/components/VResponsive/VResponsive.css +13 -5
  73. package/lib/components/VResponsive/VResponsive.mjs +12 -8
  74. package/lib/components/VResponsive/VResponsive.mjs.map +1 -1
  75. package/lib/components/VResponsive/VResponsive.sass +12 -4
  76. package/lib/components/VResponsive/{index.d.ts → index.d.mts} +10 -1
  77. package/lib/components/VSelect/VSelect.mjs +9 -2
  78. package/lib/components/VSelect/VSelect.mjs.map +1 -1
  79. package/lib/components/VSelect/{index.d.ts → index.d.mts} +6 -6
  80. package/lib/components/VSheet/VSheet.css +6 -0
  81. package/lib/components/VSheet/_variables.scss +1 -1
  82. package/lib/components/VSlider/{index.d.ts → index.d.mts} +6 -6
  83. package/lib/components/VSwitch/{index.d.ts → index.d.mts} +6 -6
  84. package/lib/components/VTextField/VTextField.mjs +1 -1
  85. package/lib/components/VTextField/VTextField.mjs.map +1 -1
  86. package/lib/components/VTextField/{index.d.ts → index.d.mts} +24 -24
  87. package/lib/components/VTextarea/VTextarea.mjs +1 -1
  88. package/lib/components/VTextarea/VTextarea.mjs.map +1 -1
  89. package/lib/components/VTextarea/{index.d.ts → index.d.mts} +15 -15
  90. package/lib/components/VValidation/{index.d.ts → index.d.mts} +6 -6
  91. package/lib/components/{index.d.ts → index.d.mts} +679 -208
  92. package/lib/composables/defaults.mjs +15 -3
  93. package/lib/composables/defaults.mjs.map +1 -1
  94. package/lib/composables/display.mjs +6 -6
  95. package/lib/composables/display.mjs.map +1 -1
  96. package/lib/composables/focus.mjs.map +1 -1
  97. package/lib/composables/scroll.mjs +18 -19
  98. package/lib/composables/scroll.mjs.map +1 -1
  99. package/lib/entry-bundler.mjs +1 -1
  100. package/lib/framework.mjs +1 -1
  101. package/lib/framework.mjs.map +1 -1
  102. package/lib/{index.d.ts → index.d.mts} +7 -6
  103. package/lib/labs/VDataTable/VDataTable.mjs +11 -2
  104. package/lib/labs/VDataTable/VDataTable.mjs.map +1 -1
  105. package/lib/labs/VDataTable/VDataTableServer.mjs +0 -5
  106. package/lib/labs/VDataTable/VDataTableServer.mjs.map +1 -1
  107. package/lib/labs/VDataTable/VDataTableVirtual.mjs +7 -2
  108. package/lib/labs/VDataTable/VDataTableVirtual.mjs.map +1 -1
  109. package/lib/labs/VDataTable/composables/paginate.mjs +6 -1
  110. package/lib/labs/VDataTable/composables/paginate.mjs.map +1 -1
  111. package/lib/labs/VDataTable/{index.d.ts → index.d.mts} +54 -12
  112. package/lib/labs/{components.d.ts → components.d.mts} +54 -12
  113. package/lib/util/colorUtils.mjs +68 -3
  114. package/lib/util/colorUtils.mjs.map +1 -1
  115. package/lib/util/console.mjs +12 -81
  116. package/lib/util/console.mjs.map +1 -1
  117. package/lib/util/defineComponent.mjs +2 -2
  118. package/lib/util/defineComponent.mjs.map +1 -1
  119. package/lib/util/helpers.mjs +3 -0
  120. package/lib/util/helpers.mjs.map +1 -1
  121. package/package.json +10 -6
  122. /package/lib/components/VAlert/{index.d.ts → index.d.mts} +0 -0
  123. /package/lib/components/VApp/{index.d.ts → index.d.mts} +0 -0
  124. /package/lib/components/VAvatar/{index.d.ts → index.d.mts} +0 -0
  125. /package/lib/components/VBadge/{index.d.ts → index.d.mts} +0 -0
  126. /package/lib/components/VBanner/{index.d.ts → index.d.mts} +0 -0
  127. /package/lib/components/VBottomNavigation/{index.d.ts → index.d.mts} +0 -0
  128. /package/lib/components/VBreadcrumbs/{index.d.ts → index.d.mts} +0 -0
  129. /package/lib/components/VBtn/{index.d.ts → index.d.mts} +0 -0
  130. /package/lib/components/VBtnGroup/{index.d.ts → index.d.mts} +0 -0
  131. /package/lib/components/VBtnToggle/{index.d.ts → index.d.mts} +0 -0
  132. /package/lib/components/VCard/{index.d.ts → index.d.mts} +0 -0
  133. /package/lib/components/VCarousel/{index.d.ts → index.d.mts} +0 -0
  134. /package/lib/components/VChip/{index.d.ts → index.d.mts} +0 -0
  135. /package/lib/components/VChipGroup/{index.d.ts → index.d.mts} +0 -0
  136. /package/lib/components/VCode/{index.d.ts → index.d.mts} +0 -0
  137. /package/lib/components/VCounter/{index.d.ts → index.d.mts} +0 -0
  138. /package/lib/components/VDefaultsProvider/{index.d.ts → index.d.mts} +0 -0
  139. /package/lib/components/VDialog/{index.d.ts → index.d.mts} +0 -0
  140. /package/lib/components/VDivider/{index.d.ts → index.d.mts} +0 -0
  141. /package/lib/components/VExpansionPanel/{index.d.ts → index.d.mts} +0 -0
  142. /package/lib/components/VFooter/{index.d.ts → index.d.mts} +0 -0
  143. /package/lib/components/VForm/{index.d.ts → index.d.mts} +0 -0
  144. /package/lib/components/VGrid/{index.d.ts → index.d.mts} +0 -0
  145. /package/lib/components/VHover/{index.d.ts → index.d.mts} +0 -0
  146. /package/lib/components/VIcon/{index.d.ts → index.d.mts} +0 -0
  147. /package/lib/components/VItemGroup/{index.d.ts → index.d.mts} +0 -0
  148. /package/lib/components/VKbd/{index.d.ts → index.d.mts} +0 -0
  149. /package/lib/components/VLabel/{index.d.ts → index.d.mts} +0 -0
  150. /package/lib/components/VLayout/{index.d.ts → index.d.mts} +0 -0
  151. /package/lib/components/VLazy/{index.d.ts → index.d.mts} +0 -0
  152. /package/lib/components/VLocaleProvider/{index.d.ts → index.d.mts} +0 -0
  153. /package/lib/components/VMain/{index.d.ts → index.d.mts} +0 -0
  154. /package/lib/components/VMenu/{index.d.ts → index.d.mts} +0 -0
  155. /package/lib/components/VMessages/{index.d.ts → index.d.mts} +0 -0
  156. /package/lib/components/VNavigationDrawer/{index.d.ts → index.d.mts} +0 -0
  157. /package/lib/components/VNoSsr/{index.d.ts → index.d.mts} +0 -0
  158. /package/lib/components/VOverlay/{index.d.ts → index.d.mts} +0 -0
  159. /package/lib/components/VPagination/{index.d.ts → index.d.mts} +0 -0
  160. /package/lib/components/VParallax/{index.d.ts → index.d.mts} +0 -0
  161. /package/lib/components/VProgressCircular/{index.d.ts → index.d.mts} +0 -0
  162. /package/lib/components/VProgressLinear/{index.d.ts → index.d.mts} +0 -0
  163. /package/lib/components/VRadio/{index.d.ts → index.d.mts} +0 -0
  164. /package/lib/components/VRating/{index.d.ts → index.d.mts} +0 -0
  165. /package/lib/components/VSelectionControl/{index.d.ts → index.d.mts} +0 -0
  166. /package/lib/components/VSelectionControlGroup/{index.d.ts → index.d.mts} +0 -0
  167. /package/lib/components/VSheet/{index.d.ts → index.d.mts} +0 -0
  168. /package/lib/components/VSlideGroup/{index.d.ts → index.d.mts} +0 -0
  169. /package/lib/components/VSnackbar/{index.d.ts → index.d.mts} +0 -0
  170. /package/lib/components/VSystemBar/{index.d.ts → index.d.mts} +0 -0
  171. /package/lib/components/VTable/{index.d.ts → index.d.mts} +0 -0
  172. /package/lib/components/VTabs/{index.d.ts → index.d.mts} +0 -0
  173. /package/lib/components/VThemeProvider/{index.d.ts → index.d.mts} +0 -0
  174. /package/lib/components/VTimeline/{index.d.ts → index.d.mts} +0 -0
  175. /package/lib/components/VToolbar/{index.d.ts → index.d.mts} +0 -0
  176. /package/lib/components/VTooltip/{index.d.ts → index.d.mts} +0 -0
  177. /package/lib/components/VVirtualScroll/{index.d.ts → index.d.mts} +0 -0
  178. /package/lib/components/VWindow/{index.d.ts → index.d.mts} +0 -0
  179. /package/lib/components/transitions/{index.d.ts → index.d.mts} +0 -0
  180. /package/lib/directives/{index.d.ts → index.d.mts} +0 -0
  181. /package/lib/iconsets/{fa-svg.d.ts → fa-svg.d.mts} +0 -0
  182. /package/lib/iconsets/{fa.d.ts → fa.d.mts} +0 -0
  183. /package/lib/iconsets/{fa4.d.ts → fa4.d.mts} +0 -0
  184. /package/lib/iconsets/{md.d.ts → md.d.mts} +0 -0
  185. /package/lib/iconsets/{mdi-svg.d.ts → mdi-svg.d.mts} +0 -0
  186. /package/lib/iconsets/{mdi.d.ts → mdi.d.mts} +0 -0
  187. /package/lib/labs/VInfiniteScroll/{index.d.ts → index.d.mts} +0 -0
  188. /package/lib/labs/VSkeletonLoader/{index.d.ts → index.d.mts} +0 -0
  189. /package/lib/labs/date/adapters/{vuetify.d.ts → vuetify.d.mts} +0 -0
  190. /package/lib/labs/date/{index.d.ts → index.d.mts} +0 -0
  191. /package/lib/locale/adapters/{vue-i18n.d.ts → vue-i18n.d.mts} +0 -0
  192. /package/lib/locale/adapters/{vuetify.d.ts → vuetify.d.mts} +0 -0
  193. /package/lib/locale/{index.d.ts → index.d.mts} +0 -0
@@ -16,6 +16,7 @@ declare const VImg: {
16
16
  $: vue.ComponentInternalInstance;
17
17
  $data: {};
18
18
  $props: Partial<{
19
+ inline: boolean;
19
20
  transition: string | boolean | (vue.TransitionProps & {
20
21
  component?: vue.Component | undefined;
21
22
  });
@@ -25,6 +26,7 @@ declare const VImg: {
25
26
  cover: boolean;
26
27
  src: string | srcObject;
27
28
  }> & Omit<{
29
+ inline: boolean;
28
30
  transition: string | boolean | (vue.TransitionProps & {
29
31
  component?: vue.Component | undefined;
30
32
  });
@@ -34,12 +36,18 @@ declare const VImg: {
34
36
  cover: boolean;
35
37
  src: string | srcObject;
36
38
  } & {
39
+ height?: string | number | undefined;
37
40
  width?: string | number | undefined;
38
41
  aspectRatio?: string | number | undefined;
42
+ maxHeight?: string | number | undefined;
43
+ maxWidth?: string | number | undefined;
44
+ minHeight?: string | number | undefined;
45
+ minWidth?: string | number | undefined;
39
46
  class?: any;
40
47
  alt?: string | undefined;
41
48
  sizes?: string | undefined;
42
49
  srcset?: string | undefined;
50
+ contentClass?: string | undefined;
43
51
  gradient?: string | undefined;
44
52
  lazySrc?: string | undefined;
45
53
  } & {
@@ -64,7 +72,7 @@ declare const VImg: {
64
72
  onError?: ((value: string | undefined) => any) | undefined;
65
73
  onLoad?: ((value: string | undefined) => any) | undefined;
66
74
  onLoadstart?: ((value: string | undefined) => any) | undefined;
67
- } & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, "transition" | "style" | "eager" | "options" | "cover" | "src">;
75
+ } & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, "inline" | "transition" | "style" | "eager" | "options" | "cover" | "src">;
68
76
  $attrs: {
69
77
  [x: string]: unknown;
70
78
  };
@@ -79,6 +87,7 @@ declare const VImg: {
79
87
  $emit: ((event: "error", value: string | undefined) => void) & ((event: "load", value: string | undefined) => void) & ((event: "loadstart", value: string | undefined) => void);
80
88
  $el: any;
81
89
  $options: vue.ComponentOptionsBase<{
90
+ inline: boolean;
82
91
  transition: string | boolean | (vue.TransitionProps & {
83
92
  component?: vue.Component | undefined;
84
93
  });
@@ -88,12 +97,18 @@ declare const VImg: {
88
97
  cover: boolean;
89
98
  src: string | srcObject;
90
99
  } & {
100
+ height?: string | number | undefined;
91
101
  width?: string | number | undefined;
92
102
  aspectRatio?: string | number | undefined;
103
+ maxHeight?: string | number | undefined;
104
+ maxWidth?: string | number | undefined;
105
+ minHeight?: string | number | undefined;
106
+ minWidth?: string | number | undefined;
93
107
  class?: any;
94
108
  alt?: string | undefined;
95
109
  sizes?: string | undefined;
96
110
  srcset?: string | undefined;
111
+ contentClass?: string | undefined;
97
112
  gradient?: string | undefined;
98
113
  lazySrc?: string | undefined;
99
114
  } & {
@@ -129,6 +144,7 @@ declare const VImg: {
129
144
  load: (value: string | undefined) => true;
130
145
  error: (value: string | undefined) => true;
131
146
  }, string, {
147
+ inline: boolean;
132
148
  transition: string | boolean | (vue.TransitionProps & {
133
149
  component?: vue.Component | undefined;
134
150
  });
@@ -158,6 +174,7 @@ declare const VImg: {
158
174
  $nextTick: typeof nextTick;
159
175
  $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;
160
176
  } & {
177
+ inline: boolean;
161
178
  transition: string | boolean | (vue.TransitionProps & {
162
179
  component?: vue.Component | undefined;
163
180
  });
@@ -167,12 +184,18 @@ declare const VImg: {
167
184
  cover: boolean;
168
185
  src: string | srcObject;
169
186
  } & {
187
+ height?: string | number | undefined;
170
188
  width?: string | number | undefined;
171
189
  aspectRatio?: string | number | undefined;
190
+ maxHeight?: string | number | undefined;
191
+ maxWidth?: string | number | undefined;
192
+ minHeight?: string | number | undefined;
193
+ minWidth?: string | number | undefined;
172
194
  class?: any;
173
195
  alt?: string | undefined;
174
196
  sizes?: string | undefined;
175
197
  srcset?: string | undefined;
198
+ contentClass?: string | undefined;
176
199
  gradient?: string | undefined;
177
200
  lazySrc?: string | undefined;
178
201
  } & {
@@ -208,6 +231,7 @@ declare const VImg: {
208
231
  __isTeleport?: undefined;
209
232
  __isSuspense?: undefined;
210
233
  } & vue.ComponentOptionsBase<{
234
+ inline: boolean;
211
235
  transition: string | boolean | (vue.TransitionProps & {
212
236
  component?: vue.Component | undefined;
213
237
  });
@@ -217,12 +241,18 @@ declare const VImg: {
217
241
  cover: boolean;
218
242
  src: string | srcObject;
219
243
  } & {
244
+ height?: string | number | undefined;
220
245
  width?: string | number | undefined;
221
246
  aspectRatio?: string | number | undefined;
247
+ maxHeight?: string | number | undefined;
248
+ maxWidth?: string | number | undefined;
249
+ minHeight?: string | number | undefined;
250
+ minWidth?: string | number | undefined;
222
251
  class?: any;
223
252
  alt?: string | undefined;
224
253
  sizes?: string | undefined;
225
254
  srcset?: string | undefined;
255
+ contentClass?: string | undefined;
226
256
  gradient?: string | undefined;
227
257
  lazySrc?: string | undefined;
228
258
  } & {
@@ -258,6 +288,7 @@ declare const VImg: {
258
288
  load: (value: string | undefined) => true;
259
289
  error: (value: string | undefined) => true;
260
290
  }, string, {
291
+ inline: boolean;
261
292
  transition: string | boolean | (vue.TransitionProps & {
262
293
  component?: vue.Component | undefined;
263
294
  });
@@ -279,7 +310,15 @@ declare const VImg: {
279
310
  type: PropType<vue.StyleValue>;
280
311
  default: null;
281
312
  };
313
+ height: (StringConstructor | NumberConstructor)[];
314
+ maxHeight: (StringConstructor | NumberConstructor)[];
315
+ maxWidth: (StringConstructor | NumberConstructor)[];
316
+ minHeight: (StringConstructor | NumberConstructor)[];
317
+ minWidth: (StringConstructor | NumberConstructor)[];
318
+ width: (StringConstructor | NumberConstructor)[];
282
319
  aspectRatio: (StringConstructor | NumberConstructor)[];
320
+ contentClass: StringConstructor;
321
+ inline: BooleanConstructor;
283
322
  alt: StringConstructor;
284
323
  cover: BooleanConstructor;
285
324
  eager: BooleanConstructor;
@@ -299,7 +338,6 @@ declare const VImg: {
299
338
  default: string;
300
339
  };
301
340
  srcset: StringConstructor;
302
- width: (StringConstructor | NumberConstructor)[];
303
341
  }, vue.ExtractPropTypes<{
304
342
  transition: {
305
343
  type: PropType<string | boolean | (vue.TransitionProps & {
@@ -313,7 +351,15 @@ declare const VImg: {
313
351
  type: PropType<vue.StyleValue>;
314
352
  default: null;
315
353
  };
354
+ height: (StringConstructor | NumberConstructor)[];
355
+ maxHeight: (StringConstructor | NumberConstructor)[];
356
+ maxWidth: (StringConstructor | NumberConstructor)[];
357
+ minHeight: (StringConstructor | NumberConstructor)[];
358
+ minWidth: (StringConstructor | NumberConstructor)[];
359
+ width: (StringConstructor | NumberConstructor)[];
316
360
  aspectRatio: (StringConstructor | NumberConstructor)[];
361
+ contentClass: StringConstructor;
362
+ inline: BooleanConstructor;
317
363
  alt: StringConstructor;
318
364
  cover: BooleanConstructor;
319
365
  eager: BooleanConstructor;
@@ -333,7 +379,6 @@ declare const VImg: {
333
379
  default: string;
334
380
  };
335
381
  srcset: StringConstructor;
336
- width: (StringConstructor | NumberConstructor)[];
337
382
  }>>;
338
383
  type VImg = InstanceType<typeof VImg>;
339
384
 
@@ -69,7 +69,7 @@ declare const VInput: {
69
69
  appendIcon?: IconValue | undefined;
70
70
  'onClick:append'?: EventProp<[MouseEvent], (args_0: MouseEvent) => any> | undefined;
71
71
  'onClick:prepend'?: EventProp<[MouseEvent], (args_0: MouseEvent) => any> | undefined;
72
- 'onUpdate:focused'?: EventProp<[FocusEvent], (args_0: FocusEvent) => any> | undefined;
72
+ 'onUpdate:focused'?: EventProp<[boolean], (args_0: boolean) => any> | undefined;
73
73
  validateOn?: "input" | "blur" | "submit" | undefined;
74
74
  validationValue?: any;
75
75
  hint?: string | undefined;
@@ -131,7 +131,7 @@ declare const VInput: {
131
131
  appendIcon?: IconValue | undefined;
132
132
  'onClick:append'?: EventProp<[MouseEvent], (args_0: MouseEvent) => any> | undefined;
133
133
  'onClick:prepend'?: EventProp<[MouseEvent], (args_0: MouseEvent) => any> | undefined;
134
- 'onUpdate:focused'?: EventProp<[FocusEvent], (args_0: FocusEvent) => any> | undefined;
134
+ 'onUpdate:focused'?: EventProp<[boolean], (args_0: boolean) => any> | undefined;
135
135
  validateOn?: "input" | "blur" | "submit" | undefined;
136
136
  validationValue?: any;
137
137
  hint?: string | undefined;
@@ -218,7 +218,7 @@ declare const VInput: {
218
218
  appendIcon?: IconValue | undefined;
219
219
  'onClick:append'?: EventProp<[MouseEvent], (args_0: MouseEvent) => any> | undefined;
220
220
  'onClick:prepend'?: EventProp<[MouseEvent], (args_0: MouseEvent) => any> | undefined;
221
- 'onUpdate:focused'?: EventProp<[FocusEvent], (args_0: FocusEvent) => any> | undefined;
221
+ 'onUpdate:focused'?: EventProp<[boolean], (args_0: boolean) => any> | undefined;
222
222
  validateOn?: "input" | "blur" | "submit" | undefined;
223
223
  validationValue?: any;
224
224
  hint?: string | undefined;
@@ -274,7 +274,7 @@ declare const VInput: {
274
274
  appendIcon?: IconValue | undefined;
275
275
  'onClick:append'?: EventProp<[MouseEvent], (args_0: MouseEvent) => any> | undefined;
276
276
  'onClick:prepend'?: EventProp<[MouseEvent], (args_0: MouseEvent) => any> | undefined;
277
- 'onUpdate:focused'?: EventProp<[FocusEvent], (args_0: FocusEvent) => any> | undefined;
277
+ 'onUpdate:focused'?: EventProp<[boolean], (args_0: boolean) => any> | undefined;
278
278
  validateOn?: "input" | "blur" | "submit" | undefined;
279
279
  validationValue?: any;
280
280
  hint?: string | undefined;
@@ -320,7 +320,7 @@ declare const VInput: {
320
320
  persistentHint: boolean;
321
321
  }, {}, string> & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & FilterPropsOptions<{
322
322
  focused: BooleanConstructor;
323
- 'onUpdate:focused': PropType<EventProp<[FocusEvent], (args_0: FocusEvent) => any>>;
323
+ 'onUpdate:focused': PropType<EventProp<[boolean], (args_0: boolean) => any>>;
324
324
  disabled: BooleanConstructor;
325
325
  error: BooleanConstructor;
326
326
  errorMessages: {
@@ -370,7 +370,7 @@ declare const VInput: {
370
370
  'onClick:append': PropType<EventProp<[MouseEvent], (args_0: MouseEvent) => any>>;
371
371
  }, vue.ExtractPropTypes<{
372
372
  focused: BooleanConstructor;
373
- 'onUpdate:focused': PropType<EventProp<[FocusEvent], (args_0: FocusEvent) => any>>;
373
+ 'onUpdate:focused': PropType<EventProp<[boolean], (args_0: boolean) => any>>;
374
374
  disabled: BooleanConstructor;
375
375
  error: BooleanConstructor;
376
376
  errorMessages: {
@@ -59,6 +59,8 @@ function useListItems(props) {
59
59
  export const VList = genericComponent()({
60
60
  name: 'VList',
61
61
  props: {
62
+ baseColor: String,
63
+ /* @deprecated */
62
64
  activeColor: String,
63
65
  activeClass: String,
64
66
  bgColor: String,
@@ -130,16 +132,19 @@ export const VList = genericComponent()({
130
132
  } = useNested(props);
131
133
  const lineClasses = computed(() => props.lines ? `v-list--${props.lines}-line` : undefined);
132
134
  const activeColor = toRef(props, 'activeColor');
135
+ const baseColor = toRef(props, 'baseColor');
133
136
  const color = toRef(props, 'color');
134
137
  createList();
135
138
  provideDefaults({
136
139
  VListGroup: {
137
140
  activeColor,
141
+ baseColor,
138
142
  color
139
143
  },
140
144
  VListItem: {
141
145
  activeClass: toRef(props, 'activeClass'),
142
146
  activeColor,
147
+ baseColor,
143
148
  color,
144
149
  density: toRef(props, 'density'),
145
150
  disabled: toRef(props, 'disabled'),
@@ -1 +1 @@
1
- {"version":3,"file":"VList.mjs","names":["VListChildren","createList","makeBorderProps","useBorder","makeComponentProps","makeDensityProps","useDensity","makeDimensionProps","useDimension","makeElevationProps","useElevation","makeItemsProps","makeNestedProps","useNested","makeRoundedProps","useRounded","makeTagProps","makeThemeProps","provideTheme","makeVariantProps","provideDefaults","useBackgroundColor","computed","ref","toRef","focusChild","genericComponent","getPropertyFromItem","pick","useRender","isPrimitive","value","transformItem","props","item","type","itemType","title","itemTitle","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","_ref","slots","themeClasses","backgroundColorClasses","backgroundColorStyles","borderClasses","densityClasses","dimensionStyles","elevationClasses","roundedClasses","open","select","lineClasses","color","VListGroup","VListItem","density","isFocused","contentRef","onFocusin","e","onFocusout","onFocus","relatedTarget","contains","focus","onKeydown","key","preventDefault","location","_createVNode","tag","class","style"],"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 { makeComponentProps } from '@/composables/component'\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, ref, toRef } from 'vue'\nimport { focusChild, genericComponent, getPropertyFromItem, pick, useRender } from '@/util'\n\n// Types\nimport type { GenericProps } from '@/util'\nimport type { InternalItem, ItemProps } from '@/composables/items'\nimport type { VListChildrenSlots } from './VListChildren'\nimport type { PropType } from 'vue'\n\nexport interface InternalListItem<T = any> extends InternalItem<T> {\n type?: 'item' | 'subheader' | 'divider'\n}\n\nfunction isPrimitive (value: unknown): value is string | number | boolean {\n return typeof value === 'string' || typeof value === 'number' || typeof value === 'boolean'\n}\n\nfunction transformItem (props: ItemProps & { itemType: string }, item: any): InternalListItem {\n const type = getPropertyFromItem(item, props.itemType, 'item')\n const title = isPrimitive(item) ? 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>(props: {\n items?: T[]\n}) => GenericProps<typeof props, VListChildrenSlots<T>>>()({\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 ...makeComponentProps(),\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: unknown[]) => true,\n 'update:opened': (val: unknown[]) => true,\n 'click:open': (value: { id: unknown, value: boolean, path: unknown[] }) => true,\n 'click:select': (value: { id: unknown, value: boolean, path: unknown[] }) => 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 const isFocused = ref(false)\n const contentRef = ref<HTMLElement>()\n function onFocusin (e: FocusEvent) {\n isFocused.value = true\n }\n\n function onFocusout (e: FocusEvent) {\n isFocused.value = false\n }\n\n function onFocus (e: FocusEvent) {\n if (\n !isFocused.value &&\n !(e.relatedTarget && contentRef.value?.contains(e.relatedTarget as Node))\n ) focus()\n }\n\n function onKeydown (e: KeyboardEvent) {\n if (!contentRef.value) return\n\n if (e.key === 'ArrowDown') {\n focus('next')\n } else if (e.key === 'ArrowUp') {\n focus('prev')\n } else if (e.key === 'Home') {\n focus('first')\n } else if (e.key === 'End') {\n focus('last')\n } else {\n return\n }\n\n e.preventDefault()\n }\n\n function focus (location?: 'next' | 'prev' | 'first' | 'last') {\n if (contentRef.value) {\n return focusChild(contentRef.value, location)\n }\n }\n\n useRender(() => {\n return (\n <props.tag\n ref={ contentRef }\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 props.class,\n ]}\n style={[\n backgroundColorStyles.value,\n dimensionStyles.value,\n props.style,\n ]}\n role=\"listbox\"\n aria-activedescendant={ undefined }\n onFocusin={ onFocusin }\n onFocusout={ onFocusout }\n onFocus={ onFocus }\n onKeydown={ onKeydown }\n >\n <VListChildren items={ items.value } v-slots={ slots }></VListChildren>\n </props.tag>\n )\n })\n\n return {\n open,\n select,\n focus,\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","makeComponentProps","makeDensityProps","useDensity","makeDimensionProps","useDimension","makeElevationProps","useElevation","makeItemsProps","makeNestedProps","useNested","makeRoundedProps","useRounded","makeTagProps","makeThemeProps","provideTheme","makeVariantProps","provideDefaults","useBackgroundColor","computed","ref","toRef","focusChild","genericComponent","getPropertyFromItem","pick","useRender","isPrimitive","value","transformItem","props","item","type","itemType","title","itemTitle","itemValue","undefined","children","itemChildren","itemProps","_props","transformItems","raw","items","array","push","useListItems","VList","name","baseColor","String","activeColor","activeClass","bgColor","disabled","Boolean","lines","default","nav","selectStrategy","openStrategy","variant","emits","val","setup","_ref","slots","themeClasses","backgroundColorClasses","backgroundColorStyles","borderClasses","densityClasses","dimensionStyles","elevationClasses","roundedClasses","open","select","lineClasses","color","VListGroup","VListItem","density","isFocused","contentRef","onFocusin","e","onFocusout","onFocus","relatedTarget","contains","focus","onKeydown","key","preventDefault","location","_createVNode","tag","class","style"],"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 { makeComponentProps } from '@/composables/component'\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, ref, toRef } from 'vue'\nimport { focusChild, genericComponent, getPropertyFromItem, pick, useRender } from '@/util'\n\n// Types\nimport type { GenericProps } from '@/util'\nimport type { InternalItem, ItemProps } from '@/composables/items'\nimport type { VListChildrenSlots } from './VListChildren'\nimport type { PropType } from 'vue'\n\nexport interface InternalListItem<T = any> extends InternalItem<T> {\n type?: 'item' | 'subheader' | 'divider'\n}\n\nfunction isPrimitive (value: unknown): value is string | number | boolean {\n return typeof value === 'string' || typeof value === 'number' || typeof value === 'boolean'\n}\n\nfunction transformItem (props: ItemProps & { itemType: string }, item: any): InternalListItem {\n const type = getPropertyFromItem(item, props.itemType, 'item')\n const title = isPrimitive(item) ? 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>(props: {\n items?: T[]\n}) => GenericProps<typeof props, VListChildrenSlots<T>>>()({\n name: 'VList',\n\n props: {\n baseColor: String,\n /* @deprecated */\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 ...makeComponentProps(),\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: unknown[]) => true,\n 'update:opened': (val: unknown[]) => true,\n 'click:open': (value: { id: unknown, value: boolean, path: unknown[] }) => true,\n 'click:select': (value: { id: unknown, value: boolean, path: unknown[] }) => 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 baseColor = toRef(props, 'baseColor')\n const color = toRef(props, 'color')\n\n createList()\n\n provideDefaults({\n VListGroup: {\n activeColor,\n baseColor,\n color,\n },\n VListItem: {\n activeClass: toRef(props, 'activeClass'),\n activeColor,\n baseColor,\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 const isFocused = ref(false)\n const contentRef = ref<HTMLElement>()\n function onFocusin (e: FocusEvent) {\n isFocused.value = true\n }\n\n function onFocusout (e: FocusEvent) {\n isFocused.value = false\n }\n\n function onFocus (e: FocusEvent) {\n if (\n !isFocused.value &&\n !(e.relatedTarget && contentRef.value?.contains(e.relatedTarget as Node))\n ) focus()\n }\n\n function onKeydown (e: KeyboardEvent) {\n if (!contentRef.value) return\n\n if (e.key === 'ArrowDown') {\n focus('next')\n } else if (e.key === 'ArrowUp') {\n focus('prev')\n } else if (e.key === 'Home') {\n focus('first')\n } else if (e.key === 'End') {\n focus('last')\n } else {\n return\n }\n\n e.preventDefault()\n }\n\n function focus (location?: 'next' | 'prev' | 'first' | 'last') {\n if (contentRef.value) {\n return focusChild(contentRef.value, location)\n }\n }\n\n useRender(() => {\n return (\n <props.tag\n ref={ contentRef }\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 props.class,\n ]}\n style={[\n backgroundColorStyles.value,\n dimensionStyles.value,\n props.style,\n ]}\n role=\"listbox\"\n aria-activedescendant={ undefined }\n onFocusin={ onFocusin }\n onFocusout={ onFocusout }\n onFocus={ onFocus }\n onKeydown={ onKeydown }\n >\n <VListChildren items={ items.value } v-slots={ slots }></VListChildren>\n </props.tag>\n )\n })\n\n return {\n open,\n select,\n focus,\n }\n },\n})\n\nexport type VList = InstanceType<typeof VList>\n"],"mappings":"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"}
@@ -22,7 +22,9 @@ const VListGroupActivator = defineComponent({
22
22
  }
23
23
  });
24
24
  export const makeVListGroupProps = propsFactory({
25
+ /* @deprecated */
25
26
  activeColor: String,
27
+ baseColor: String,
26
28
  color: String,
27
29
  collapseIcon: {
28
30
  type: IconValue,
@@ -73,6 +75,7 @@ export const VListGroup = genericComponent()({
73
75
  VListItem: {
74
76
  active: isOpen.value,
75
77
  activeColor: props.activeColor,
78
+ baseColor: props.baseColor,
76
79
  color: props.color,
77
80
  prependIcon: props.prependIcon || props.subgroup && toggleIcon.value,
78
81
  appendIcon: props.appendIcon || !props.subgroup && toggleIcon.value,
@@ -1 +1 @@
1
- {"version":3,"file":"VListGroup.mjs","names":["VDefaultsProvider","VExpandTransition","IconValue","makeComponentProps","makeTagProps","MaybeTransition","useList","useNestedGroupActivator","useNestedItem","useSsrBoot","computed","toRef","defineComponent","genericComponent","propsFactory","useRender","VListGroupActivator","name","setup","_","_ref","slots","default","makeVListGroupProps","activeColor","String","color","collapseIcon","type","expandIcon","prependIcon","appendIcon","fluid","Boolean","subgroup","value","VListGroup","props","title","_ref2","isOpen","open","id","_id","list","isBooted","onClick","e","activatorProps","class","toggleIcon","activatorDefaults","VListItem","active","_createVNode","tag","hasPrepend","style","activator","component","_withDirectives","_vShow"],"sources":["../../../src/components/VList/VListGroup.tsx"],"sourcesContent":["// Components\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VExpandTransition } from '@/components/transitions'\n\n// Composables\nimport { IconValue } from '@/composables/icons'\nimport { makeComponentProps } from '@/composables/component'\nimport { makeTagProps } from '@/composables/tag'\nimport { MaybeTransition } from '@/composables/transition'\nimport { useList } from './list'\nimport { useNestedGroupActivator, useNestedItem } from '@/composables/nested/nested'\nimport { useSsrBoot } from '@/composables/ssrBoot'\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 ...makeComponentProps(),\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 const { isBooted } = useSsrBoot()\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 const activatorDefaults = computed(() => ({\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 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 props.class,\n ]}\n style={ props.style }\n >\n { slots.activator && (\n <VDefaultsProvider defaults={ activatorDefaults.value }>\n <VListGroupActivator>\n { slots.activator({ props: activatorProps.value, isOpen: isOpen.value }) }\n </VListGroupActivator>\n </VDefaultsProvider>\n )}\n\n <MaybeTransition transition={{ component: VExpandTransition }} disabled={ !isBooted.value }>\n <div class=\"v-list-group__items\" role=\"group\" aria-labelledby={ id.value } v-show={ isOpen.value }>\n { slots.default?.() }\n </div>\n </MaybeTransition>\n </props.tag>\n ))\n\n return {}\n },\n})\n\nexport type VListGroup = InstanceType<typeof VListGroup>\n"],"mappings":"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"}
1
+ {"version":3,"file":"VListGroup.mjs","names":["VDefaultsProvider","VExpandTransition","IconValue","makeComponentProps","makeTagProps","MaybeTransition","useList","useNestedGroupActivator","useNestedItem","useSsrBoot","computed","toRef","defineComponent","genericComponent","propsFactory","useRender","VListGroupActivator","name","setup","_","_ref","slots","default","makeVListGroupProps","activeColor","String","baseColor","color","collapseIcon","type","expandIcon","prependIcon","appendIcon","fluid","Boolean","subgroup","value","VListGroup","props","title","_ref2","isOpen","open","id","_id","list","isBooted","onClick","e","activatorProps","class","toggleIcon","activatorDefaults","VListItem","active","_createVNode","tag","hasPrepend","style","activator","component","_withDirectives","_vShow"],"sources":["../../../src/components/VList/VListGroup.tsx"],"sourcesContent":["// Components\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VExpandTransition } from '@/components/transitions'\n\n// Composables\nimport { IconValue } from '@/composables/icons'\nimport { makeComponentProps } from '@/composables/component'\nimport { makeTagProps } from '@/composables/tag'\nimport { MaybeTransition } from '@/composables/transition'\nimport { useList } from './list'\nimport { useNestedGroupActivator, useNestedItem } from '@/composables/nested/nested'\nimport { useSsrBoot } from '@/composables/ssrBoot'\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 /* @deprecated */\n activeColor: String,\n baseColor: 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 ...makeComponentProps(),\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 const { isBooted } = useSsrBoot()\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 const activatorDefaults = computed(() => ({\n VListItem: {\n active: isOpen.value,\n activeColor: props.activeColor,\n baseColor: props.baseColor,\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 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 props.class,\n ]}\n style={ props.style }\n >\n { slots.activator && (\n <VDefaultsProvider defaults={ activatorDefaults.value }>\n <VListGroupActivator>\n { slots.activator({ props: activatorProps.value, isOpen: isOpen.value }) }\n </VListGroupActivator>\n </VDefaultsProvider>\n )}\n\n <MaybeTransition transition={{ component: VExpandTransition }} disabled={ !isBooted.value }>\n <div class=\"v-list-group__items\" role=\"group\" aria-labelledby={ id.value } v-show={ isOpen.value }>\n { slots.default?.() }\n </div>\n </MaybeTransition>\n </props.tag>\n ))\n\n return {}\n },\n})\n\nexport type VListGroup = InstanceType<typeof VListGroup>\n"],"mappings":"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"}
@@ -23,7 +23,7 @@ import { makeThemeProps, provideTheme } from "../../composables/theme.mjs";
23
23
  import { useList } from "./list.mjs";
24
24
  import { useNestedItem } from "../../composables/nested/nested.mjs"; // Utilities
25
25
  import { computed, watch } from 'vue';
26
- import { EventProp, genericComponent, useRender } from "../../util/index.mjs"; // Types
26
+ import { deprecate, EventProp, genericComponent, useRender } from "../../util/index.mjs"; // Types
27
27
  export const VListItem = genericComponent()({
28
28
  name: 'VListItem',
29
29
  directives: {
@@ -35,9 +35,11 @@ export const VListItem = genericComponent()({
35
35
  default: undefined
36
36
  },
37
37
  activeClass: String,
38
+ /* @deprecated */
38
39
  activeColor: String,
39
40
  appendAvatar: String,
40
41
  appendIcon: IconValue,
42
+ baseColor: String,
41
43
  disabled: Boolean,
42
44
  lines: String,
43
45
  link: {
@@ -94,8 +96,9 @@ export const VListItem = genericComponent()({
94
96
  const isLink = computed(() => props.link !== false && link.isLink.value);
95
97
  const isClickable = computed(() => !props.disabled && props.link !== false && (props.link || link.isClickable.value || props.value != null && !!list));
96
98
  const roundedProps = computed(() => props.rounded || props.nav);
99
+ const color = computed(() => props.color ?? props.activeColor);
97
100
  const variantProps = computed(() => ({
98
- color: isActive.value ? props.activeColor ?? props.color : props.color,
101
+ color: isActive.value ? color.value ?? props.baseColor : props.baseColor,
99
102
  variant: props.variant
100
103
  }));
101
104
  watch(() => link.isActive?.value, val => {
@@ -152,7 +155,6 @@ export const VListItem = genericComponent()({
152
155
  }
153
156
  useRender(() => {
154
157
  const Tag = isLink.value ? 'a' : props.tag;
155
- const hasColor = !list || isSelected.value || isActive.value;
156
158
  const hasTitle = slots.title || props.title;
157
159
  const hasSubtitle = slots.subtitle || props.subtitle;
158
160
  const hasAppendMedia = !!(props.appendAvatar || props.appendIcon);
@@ -160,6 +162,9 @@ export const VListItem = genericComponent()({
160
162
  const hasPrependMedia = !!(props.prependAvatar || props.prependIcon);
161
163
  const hasPrepend = !!(hasPrependMedia || slots.prepend);
162
164
  list?.updateHasPrepend(hasPrepend);
165
+ if (props.activeColor) {
166
+ deprecate('active-color', ['color', 'base-color']);
167
+ }
163
168
  return _withDirectives(_createVNode(Tag, {
164
169
  "class": ['v-list-item', {
165
170
  'v-list-item--active': isActive.value,
@@ -168,8 +173,8 @@ export const VListItem = genericComponent()({
168
173
  'v-list-item--nav': props.nav,
169
174
  'v-list-item--prepend': !hasPrepend && list?.hasPrepend.value,
170
175
  [`${props.activeClass}`]: props.activeClass && isActive.value
171
- }, themeClasses.value, borderClasses.value, hasColor ? colorClasses.value : undefined, densityClasses.value, elevationClasses.value, lineClasses.value, roundedClasses.value, variantClasses.value, props.class],
172
- "style": [hasColor ? colorStyles.value : undefined, dimensionStyles.value, props.style],
176
+ }, themeClasses.value, borderClasses.value, colorClasses.value, densityClasses.value, elevationClasses.value, lineClasses.value, roundedClasses.value, variantClasses.value, props.class],
177
+ "style": [colorStyles.value, dimensionStyles.value, props.style],
173
178
  "href": link.href.value,
174
179
  "tabindex": isClickable.value ? 0 : undefined,
175
180
  "onClick": onClick,
@@ -1 +1 @@
1
- {"version":3,"file":"VListItem.mjs","names":["VAvatar","VDefaultsProvider","VIcon","VListItemSubtitle","VListItemTitle","Ripple","genOverlays","makeVariantProps","useVariant","IconValue","makeBorderProps","useBorder","makeComponentProps","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","_ref","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","_withDirectives","_createVNode","class","style","_Fragment","density","image","icon","VListItemAction","start","end","_resolveDirective"],"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 { makeComponentProps } from '@/composables/component'\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 isSelected: boolean\n isIndeterminate: boolean\n select: (value: boolean) => void\n}\n\nexport type ListItemTitleSlot = {\n title?: string\n}\n\nexport type ListItemSubtitleSlot = {\n subtitle?: string\n}\n\nexport type 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<[MouseEvent]>(),\n onClickOnce: EventProp<[MouseEvent]>(),\n\n ...makeBorderProps(),\n ...makeComponentProps(),\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 } satisfies ListItemSlot))\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 props.class,\n ]}\n style={[\n hasColor ? colorStyles.value : undefined,\n dimensionStyles.value,\n props.style,\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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"}
1
+ {"version":3,"file":"VListItem.mjs","names":["VAvatar","VDefaultsProvider","VIcon","VListItemSubtitle","VListItemTitle","Ripple","genOverlays","makeVariantProps","useVariant","IconValue","makeBorderProps","useBorder","makeComponentProps","makeDensityProps","useDensity","makeDimensionProps","useDimension","makeElevationProps","useElevation","makeRoundedProps","useRounded","makeRouterProps","useLink","makeTagProps","makeThemeProps","provideTheme","useList","useNestedItem","computed","watch","deprecate","EventProp","genericComponent","useRender","VListItem","name","directives","props","active","type","Boolean","default","undefined","activeClass","String","activeColor","appendAvatar","appendIcon","baseColor","disabled","lines","link","nav","prependAvatar","prependIcon","ripple","subtitle","Number","title","value","onClick","onClickOnce","variant","emits","click","e","setup","_ref","attrs","slots","emit","id","href","select","isSelected","isIndeterminate","isGroupActivator","root","parent","openOnSelect","list","isActive","isLink","isClickable","roundedProps","rounded","color","variantProps","val","open","immediate","themeClasses","borderClasses","colorClasses","colorStyles","variantClasses","densityClasses","dimensionStyles","elevationClasses","roundedClasses","lineClasses","slotProps","navigate","onKeyDown","key","preventDefault","Tag","tag","hasTitle","hasSubtitle","hasAppendMedia","hasAppend","append","hasPrependMedia","hasPrepend","prepend","updateHasPrepend","_withDirectives","_createVNode","class","style","_Fragment","density","image","icon","VListItemAction","start","end","_resolveDirective"],"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 { makeComponentProps } from '@/composables/component'\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 { deprecate, EventProp, genericComponent, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\ntype ListItemSlot = {\n isActive: boolean\n isSelected: boolean\n isIndeterminate: boolean\n select: (value: boolean) => void\n}\n\nexport type ListItemTitleSlot = {\n title?: string\n}\n\nexport type ListItemSubtitleSlot = {\n subtitle?: string\n}\n\nexport type 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 /* @deprecated */\n activeColor: String,\n appendAvatar: String,\n appendIcon: IconValue,\n baseColor: String,\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<[MouseEvent]>(),\n onClickOnce: EventProp<[MouseEvent]>(),\n\n ...makeBorderProps(),\n ...makeComponentProps(),\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 color = computed(() => props.color ?? props.activeColor)\n const variantProps = computed(() => ({\n color: isActive.value ? color.value ?? props.baseColor : props.baseColor,\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 } satisfies ListItemSlot))\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 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 if (props.activeColor) {\n deprecate('active-color', ['color', 'base-color'])\n }\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 colorClasses.value,\n densityClasses.value,\n elevationClasses.value,\n lineClasses.value,\n roundedClasses.value,\n variantClasses.value,\n props.class,\n ]}\n style={[\n colorStyles.value,\n dimensionStyles.value,\n props.style,\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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"}