@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.
- package/CHANGELOG.md +22 -23
- package/dist/json/attributes.json +854 -658
- package/dist/json/importMap-labs.json +4 -4
- package/dist/json/tags.json +50 -1
- package/dist/json/web-types.json +1797 -1324
- package/dist/vuetify-labs.css +81 -69
- package/dist/vuetify-labs.d.ts +771 -257
- package/dist/vuetify-labs.esm.js +260 -224
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +259 -223
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.css +23 -11
- package/dist/vuetify.d.ts +884 -412
- package/dist/vuetify.esm.js +237 -215
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +236 -214
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +640 -645
- package/dist/vuetify.min.js.map +1 -1
- package/lib/blueprints/{index.d.ts → index.d.mts} +5 -1
- package/lib/blueprints/{md1.d.ts → md1.d.mts} +5 -1
- package/lib/blueprints/{md2.d.ts → md2.d.mts} +5 -1
- package/lib/blueprints/{md3.d.ts → md3.d.mts} +5 -1
- package/lib/components/VAppBar/VAppBar.mjs +7 -11
- package/lib/components/VAppBar/VAppBar.mjs.map +1 -1
- package/lib/components/VAppBar/VAppBarNavIcon.mjs +10 -16
- package/lib/components/VAppBar/VAppBarNavIcon.mjs.map +1 -1
- package/lib/components/VAppBar/{index.d.ts → index.d.mts} +394 -28
- package/lib/components/VAutocomplete/VAutocomplete.css +1 -1
- package/lib/components/VAutocomplete/VAutocomplete.mjs +9 -2
- package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
- package/lib/components/VAutocomplete/VAutocomplete.sass +1 -1
- package/lib/components/VAutocomplete/{index.d.ts → index.d.mts} +6 -6
- package/lib/components/VBtn/VBtn.mjs +7 -6
- package/lib/components/VBtn/VBtn.mjs.map +1 -1
- package/lib/components/VCheckbox/VCheckboxBtn.mjs +0 -1
- package/lib/components/VCheckbox/VCheckboxBtn.mjs.map +1 -1
- package/lib/components/VCheckbox/{index.d.ts → index.d.mts} +6 -6
- package/lib/components/VColorPicker/VColorPicker.mjs +9 -4
- package/lib/components/VColorPicker/VColorPicker.mjs.map +1 -1
- package/lib/components/VColorPicker/VColorPickerEdit.mjs.map +1 -1
- package/lib/components/VColorPicker/VColorPickerSwatches.mjs +5 -4
- package/lib/components/VColorPicker/VColorPickerSwatches.mjs.map +1 -1
- package/lib/components/VColorPicker/{index.d.ts → index.d.mts} +97 -31
- package/lib/components/VColorPicker/util/index.mjs +2 -22
- package/lib/components/VColorPicker/util/index.mjs.map +1 -1
- package/lib/components/VCombobox/VCombobox.mjs +9 -2
- package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
- package/lib/components/VCombobox/{index.d.ts → index.d.mts} +6 -6
- package/lib/components/VField/{index.d.ts → index.d.mts} +6 -6
- package/lib/components/VFileInput/VFileInput.mjs +2 -1
- package/lib/components/VFileInput/VFileInput.mjs.map +1 -1
- package/lib/components/VFileInput/{index.d.ts → index.d.mts} +15 -15
- package/lib/components/VImg/VImg.css +2 -4
- package/lib/components/VImg/VImg.mjs +25 -24
- package/lib/components/VImg/VImg.mjs.map +1 -1
- package/lib/components/VImg/VImg.sass +4 -3
- package/lib/components/VImg/{index.d.ts → index.d.mts} +48 -3
- package/lib/components/VInput/{index.d.ts → index.d.mts} +6 -6
- package/lib/components/VList/VList.mjs +5 -0
- package/lib/components/VList/VList.mjs.map +1 -1
- package/lib/components/VList/VListGroup.mjs +3 -0
- package/lib/components/VList/VListGroup.mjs.map +1 -1
- package/lib/components/VList/VListItem.mjs +10 -5
- package/lib/components/VList/VListItem.mjs.map +1 -1
- package/lib/components/VList/{index.d.ts → index.d.mts} +18 -0
- package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs +1 -8
- package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs.map +1 -1
- package/lib/components/VRadioGroup/{index.d.ts → index.d.mts} +6 -6
- package/lib/components/VRangeSlider/{index.d.ts → index.d.mts} +6 -6
- package/lib/components/VResponsive/VResponsive.css +13 -5
- package/lib/components/VResponsive/VResponsive.mjs +12 -8
- package/lib/components/VResponsive/VResponsive.mjs.map +1 -1
- package/lib/components/VResponsive/VResponsive.sass +12 -4
- package/lib/components/VResponsive/{index.d.ts → index.d.mts} +10 -1
- package/lib/components/VSelect/VSelect.mjs +9 -2
- package/lib/components/VSelect/VSelect.mjs.map +1 -1
- package/lib/components/VSelect/{index.d.ts → index.d.mts} +6 -6
- package/lib/components/VSheet/VSheet.css +6 -0
- package/lib/components/VSheet/_variables.scss +1 -1
- package/lib/components/VSlider/{index.d.ts → index.d.mts} +6 -6
- package/lib/components/VSwitch/{index.d.ts → index.d.mts} +6 -6
- package/lib/components/VTextField/VTextField.mjs +1 -1
- package/lib/components/VTextField/VTextField.mjs.map +1 -1
- package/lib/components/VTextField/{index.d.ts → index.d.mts} +24 -24
- package/lib/components/VTextarea/VTextarea.mjs +1 -1
- package/lib/components/VTextarea/VTextarea.mjs.map +1 -1
- package/lib/components/VTextarea/{index.d.ts → index.d.mts} +15 -15
- package/lib/components/VValidation/{index.d.ts → index.d.mts} +6 -6
- package/lib/components/{index.d.ts → index.d.mts} +679 -208
- package/lib/composables/defaults.mjs +15 -3
- package/lib/composables/defaults.mjs.map +1 -1
- package/lib/composables/display.mjs +6 -6
- package/lib/composables/display.mjs.map +1 -1
- package/lib/composables/focus.mjs.map +1 -1
- package/lib/composables/scroll.mjs +18 -19
- package/lib/composables/scroll.mjs.map +1 -1
- package/lib/entry-bundler.mjs +1 -1
- package/lib/framework.mjs +1 -1
- package/lib/framework.mjs.map +1 -1
- package/lib/{index.d.ts → index.d.mts} +7 -6
- package/lib/labs/VDataTable/VDataTable.mjs +11 -2
- package/lib/labs/VDataTable/VDataTable.mjs.map +1 -1
- package/lib/labs/VDataTable/VDataTableServer.mjs +0 -5
- package/lib/labs/VDataTable/VDataTableServer.mjs.map +1 -1
- package/lib/labs/VDataTable/VDataTableVirtual.mjs +7 -2
- package/lib/labs/VDataTable/VDataTableVirtual.mjs.map +1 -1
- package/lib/labs/VDataTable/composables/paginate.mjs +6 -1
- package/lib/labs/VDataTable/composables/paginate.mjs.map +1 -1
- package/lib/labs/VDataTable/{index.d.ts → index.d.mts} +54 -12
- package/lib/labs/{components.d.ts → components.d.mts} +54 -12
- package/lib/util/colorUtils.mjs +68 -3
- package/lib/util/colorUtils.mjs.map +1 -1
- package/lib/util/console.mjs +12 -81
- package/lib/util/console.mjs.map +1 -1
- package/lib/util/defineComponent.mjs +2 -2
- package/lib/util/defineComponent.mjs.map +1 -1
- package/lib/util/helpers.mjs +3 -0
- package/lib/util/helpers.mjs.map +1 -1
- package/package.json +10 -6
- /package/lib/components/VAlert/{index.d.ts → index.d.mts} +0 -0
- /package/lib/components/VApp/{index.d.ts → index.d.mts} +0 -0
- /package/lib/components/VAvatar/{index.d.ts → index.d.mts} +0 -0
- /package/lib/components/VBadge/{index.d.ts → index.d.mts} +0 -0
- /package/lib/components/VBanner/{index.d.ts → index.d.mts} +0 -0
- /package/lib/components/VBottomNavigation/{index.d.ts → index.d.mts} +0 -0
- /package/lib/components/VBreadcrumbs/{index.d.ts → index.d.mts} +0 -0
- /package/lib/components/VBtn/{index.d.ts → index.d.mts} +0 -0
- /package/lib/components/VBtnGroup/{index.d.ts → index.d.mts} +0 -0
- /package/lib/components/VBtnToggle/{index.d.ts → index.d.mts} +0 -0
- /package/lib/components/VCard/{index.d.ts → index.d.mts} +0 -0
- /package/lib/components/VCarousel/{index.d.ts → index.d.mts} +0 -0
- /package/lib/components/VChip/{index.d.ts → index.d.mts} +0 -0
- /package/lib/components/VChipGroup/{index.d.ts → index.d.mts} +0 -0
- /package/lib/components/VCode/{index.d.ts → index.d.mts} +0 -0
- /package/lib/components/VCounter/{index.d.ts → index.d.mts} +0 -0
- /package/lib/components/VDefaultsProvider/{index.d.ts → index.d.mts} +0 -0
- /package/lib/components/VDialog/{index.d.ts → index.d.mts} +0 -0
- /package/lib/components/VDivider/{index.d.ts → index.d.mts} +0 -0
- /package/lib/components/VExpansionPanel/{index.d.ts → index.d.mts} +0 -0
- /package/lib/components/VFooter/{index.d.ts → index.d.mts} +0 -0
- /package/lib/components/VForm/{index.d.ts → index.d.mts} +0 -0
- /package/lib/components/VGrid/{index.d.ts → index.d.mts} +0 -0
- /package/lib/components/VHover/{index.d.ts → index.d.mts} +0 -0
- /package/lib/components/VIcon/{index.d.ts → index.d.mts} +0 -0
- /package/lib/components/VItemGroup/{index.d.ts → index.d.mts} +0 -0
- /package/lib/components/VKbd/{index.d.ts → index.d.mts} +0 -0
- /package/lib/components/VLabel/{index.d.ts → index.d.mts} +0 -0
- /package/lib/components/VLayout/{index.d.ts → index.d.mts} +0 -0
- /package/lib/components/VLazy/{index.d.ts → index.d.mts} +0 -0
- /package/lib/components/VLocaleProvider/{index.d.ts → index.d.mts} +0 -0
- /package/lib/components/VMain/{index.d.ts → index.d.mts} +0 -0
- /package/lib/components/VMenu/{index.d.ts → index.d.mts} +0 -0
- /package/lib/components/VMessages/{index.d.ts → index.d.mts} +0 -0
- /package/lib/components/VNavigationDrawer/{index.d.ts → index.d.mts} +0 -0
- /package/lib/components/VNoSsr/{index.d.ts → index.d.mts} +0 -0
- /package/lib/components/VOverlay/{index.d.ts → index.d.mts} +0 -0
- /package/lib/components/VPagination/{index.d.ts → index.d.mts} +0 -0
- /package/lib/components/VParallax/{index.d.ts → index.d.mts} +0 -0
- /package/lib/components/VProgressCircular/{index.d.ts → index.d.mts} +0 -0
- /package/lib/components/VProgressLinear/{index.d.ts → index.d.mts} +0 -0
- /package/lib/components/VRadio/{index.d.ts → index.d.mts} +0 -0
- /package/lib/components/VRating/{index.d.ts → index.d.mts} +0 -0
- /package/lib/components/VSelectionControl/{index.d.ts → index.d.mts} +0 -0
- /package/lib/components/VSelectionControlGroup/{index.d.ts → index.d.mts} +0 -0
- /package/lib/components/VSheet/{index.d.ts → index.d.mts} +0 -0
- /package/lib/components/VSlideGroup/{index.d.ts → index.d.mts} +0 -0
- /package/lib/components/VSnackbar/{index.d.ts → index.d.mts} +0 -0
- /package/lib/components/VSystemBar/{index.d.ts → index.d.mts} +0 -0
- /package/lib/components/VTable/{index.d.ts → index.d.mts} +0 -0
- /package/lib/components/VTabs/{index.d.ts → index.d.mts} +0 -0
- /package/lib/components/VThemeProvider/{index.d.ts → index.d.mts} +0 -0
- /package/lib/components/VTimeline/{index.d.ts → index.d.mts} +0 -0
- /package/lib/components/VToolbar/{index.d.ts → index.d.mts} +0 -0
- /package/lib/components/VTooltip/{index.d.ts → index.d.mts} +0 -0
- /package/lib/components/VVirtualScroll/{index.d.ts → index.d.mts} +0 -0
- /package/lib/components/VWindow/{index.d.ts → index.d.mts} +0 -0
- /package/lib/components/transitions/{index.d.ts → index.d.mts} +0 -0
- /package/lib/directives/{index.d.ts → index.d.mts} +0 -0
- /package/lib/iconsets/{fa-svg.d.ts → fa-svg.d.mts} +0 -0
- /package/lib/iconsets/{fa.d.ts → fa.d.mts} +0 -0
- /package/lib/iconsets/{fa4.d.ts → fa4.d.mts} +0 -0
- /package/lib/iconsets/{md.d.ts → md.d.mts} +0 -0
- /package/lib/iconsets/{mdi-svg.d.ts → mdi-svg.d.mts} +0 -0
- /package/lib/iconsets/{mdi.d.ts → mdi.d.mts} +0 -0
- /package/lib/labs/VInfiniteScroll/{index.d.ts → index.d.mts} +0 -0
- /package/lib/labs/VSkeletonLoader/{index.d.ts → index.d.mts} +0 -0
- /package/lib/labs/date/adapters/{vuetify.d.ts → vuetify.d.mts} +0 -0
- /package/lib/labs/date/{index.d.ts → index.d.mts} +0 -0
- /package/lib/locale/adapters/{vue-i18n.d.ts → vue-i18n.d.mts} +0 -0
- /package/lib/locale/adapters/{vuetify.d.ts → vuetify.d.mts} +0 -0
- /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<[
|
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<[
|
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<[
|
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<[
|
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<[
|
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<[
|
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":";AAAA;AAAA,SACSA,iBAAiB;AAAA,SACjBC,iBAAiB,oCAE1B;AAAA,SACSC,SAAS;AAAA,SACTC,kBAAkB;AAAA,SAClBC,YAAY;AAAA,SACZC,eAAe;AAAA,SACfC,OAAO;AAAA,SACPC,uBAAuB,EAAEC,aAAa;AAAA,SACtCC,UAAU,yCAEnB;AACA,SAASC,QAAQ,EAAEC,KAAK,QAAQ,KAAK;AAAA,SAC5BC,eAAe,EAAEC,gBAAgB,EAAEC,YAAY,EAAEC,SAAS;AAOnE,MAAMC,mBAAmB,GAAGJ,eAAe,CAAC;EAC1CK,IAAI,EAAE,qBAAqB;EAE3BC,KAAKA,CAAEC,CAAC,EAAAC,IAAA,EAAa;IAAA,IAAX;MAAEC;IAAM,CAAC,GAAAD,IAAA;IACjBb,uBAAuB,EAAE;IAEzB,OAAO,MAAMc,KAAK,CAACC,OAAO,IAAI;EAChC;AACF,CAAC,CAAC;AAEF,OAAO,MAAMC,mBAAmB,GAAGT,YAAY,CAAC;
|
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 ?
|
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,
|
172
|
-
"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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"}
|