@vuetify/nightly 3.7.15-master.2025-03-06 → 3.7.15-master.2025-03-07
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 +26 -3
- package/dist/json/attributes.json +3562 -3558
- package/dist/json/importMap-labs.json +20 -20
- package/dist/json/importMap.json +160 -160
- package/dist/json/tags.json +3 -2
- package/dist/json/web-types.json +6530 -6509
- package/dist/vuetify-labs.css +4798 -4798
- package/dist/vuetify-labs.d.ts +301 -129
- package/dist/vuetify-labs.esm.js +129 -106
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +128 -105
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.css +2139 -2139
- package/dist/vuetify.d.ts +260 -146
- package/dist/vuetify.esm.js +80 -51
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +79 -50
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +219 -217
- package/dist/vuetify.min.js.map +1 -1
- package/lib/components/VAppBar/index.d.mts +15 -6
- package/lib/components/VAutocomplete/index.d.mts +2 -2
- package/lib/components/VBadge/VBadge.mjs +2 -2
- package/lib/components/VBadge/VBadge.mjs.map +1 -1
- package/lib/components/VBtn/VBtn.mjs +6 -3
- package/lib/components/VBtn/VBtn.mjs.map +1 -1
- package/lib/components/VBtn/index.d.mts +15 -6
- package/lib/components/VCard/VCard.mjs +12 -3
- package/lib/components/VCard/VCard.mjs.map +1 -1
- package/lib/components/VCard/VCardItem.mjs +11 -4
- package/lib/components/VCard/VCardItem.mjs.map +1 -1
- package/lib/components/VCard/index.d.mts +75 -30
- package/lib/components/VCarousel/VCarousel.mjs +1 -1
- package/lib/components/VCarousel/VCarousel.mjs.map +1 -1
- package/lib/components/VChip/VChip.mjs +6 -3
- package/lib/components/VChip/VChip.mjs.map +1 -1
- package/lib/components/VChip/index.d.mts +15 -6
- package/lib/components/VCombobox/index.d.mts +2 -2
- package/lib/components/VDataTable/composables/headers.mjs +2 -2
- package/lib/components/VDataTable/composables/headers.mjs.map +1 -1
- package/lib/components/VDataTable/composables/paginate.mjs +2 -2
- package/lib/components/VDataTable/composables/paginate.mjs.map +1 -1
- package/lib/components/VFab/index.d.mts +15 -6
- package/lib/components/VList/VListItem.mjs +11 -5
- package/lib/components/VList/VListItem.mjs.map +1 -1
- package/lib/components/VList/index.d.mts +32 -14
- package/lib/components/VPagination/VPagination.mjs +3 -3
- package/lib/components/VPagination/VPagination.mjs.map +1 -1
- package/lib/components/VParallax/VParallax.mjs +1 -1
- package/lib/components/VParallax/VParallax.mjs.map +1 -1
- package/lib/components/VRating/VRating.mjs +1 -1
- package/lib/components/VRating/VRating.mjs.map +1 -1
- package/lib/components/VSelect/index.d.mts +2 -2
- package/lib/components/VSlider/slider.mjs +1 -1
- package/lib/components/VSlider/slider.mjs.map +1 -1
- package/lib/components/VSparkline/VBarline.mjs +1 -1
- package/lib/components/VSparkline/VBarline.mjs.map +1 -1
- package/lib/components/VTabs/index.d.mts +39 -24
- package/lib/components/VTextarea/VTextarea.mjs +2 -2
- package/lib/components/VTextarea/VTextarea.mjs.map +1 -1
- package/lib/components/index.d.mts +206 -92
- package/lib/composables/stack.mjs +2 -2
- package/lib/composables/stack.mjs.map +1 -1
- package/lib/composables/validation.mjs +2 -2
- package/lib/composables/validation.mjs.map +1 -1
- package/lib/entry-bundler.mjs +1 -1
- package/lib/framework.mjs +1 -1
- package/lib/index.d.mts +54 -54
- package/lib/labs/VFileUpload/VFileUpload.mjs +3 -2
- package/lib/labs/VFileUpload/VFileUpload.mjs.map +1 -1
- package/lib/labs/VFileUpload/index.d.mts +32 -14
- package/lib/labs/VNumberInput/VNumberInput.mjs +5 -5
- package/lib/labs/VNumberInput/VNumberInput.mjs.map +1 -1
- package/lib/labs/VTimePicker/VTimePicker.mjs +30 -31
- package/lib/labs/VTimePicker/VTimePicker.mjs.map +1 -1
- package/lib/labs/VTimePicker/VTimePickerControls.mjs +12 -13
- package/lib/labs/VTimePicker/VTimePickerControls.mjs.map +1 -1
- package/lib/labs/VTimePicker/index.d.mts +35 -13
- package/lib/labs/VTimePicker/shared.mjs +2 -0
- package/lib/labs/VTimePicker/shared.mjs.map +1 -0
- package/lib/labs/VTreeview/index.d.mts +32 -14
- package/lib/labs/components.d.mts +97 -39
- package/lib/locale/adapters/vuetify.mjs +1 -1
- package/lib/locale/adapters/vuetify.mjs.map +1 -1
- package/lib/util/animation.mjs +8 -8
- package/lib/util/animation.mjs.map +1 -1
- package/lib/util/helpers.mjs +6 -4
- package/lib/util/helpers.mjs.map +1 -1
- package/package.json +1 -1
- package/lib/labs/VTimePicker/SelectingTimes.mjs +0 -10
- package/lib/labs/VTimePicker/SelectingTimes.mjs.map +0 -1
@@ -31,13 +31,13 @@ declare const VCardItem: {
|
|
31
31
|
style: vue.StyleValue;
|
32
32
|
density: Density;
|
33
33
|
} & {
|
34
|
-
title?: string | number | undefined;
|
34
|
+
title?: string | number | boolean | undefined;
|
35
35
|
class?: any;
|
36
36
|
prependIcon?: IconValue | undefined;
|
37
37
|
appendIcon?: IconValue | undefined;
|
38
38
|
appendAvatar?: string | undefined;
|
39
39
|
prependAvatar?: string | undefined;
|
40
|
-
subtitle?: string | number | undefined;
|
40
|
+
subtitle?: string | number | boolean | undefined;
|
41
41
|
} & {
|
42
42
|
$children?: vue.VNodeChild | (() => vue.VNodeChild) | {
|
43
43
|
default?: (() => vue.VNodeChild) | undefined;
|
@@ -63,13 +63,13 @@ declare const VCardItem: {
|
|
63
63
|
style: vue.StyleValue;
|
64
64
|
density: Density;
|
65
65
|
} & {
|
66
|
-
title?: string | number | undefined;
|
66
|
+
title?: string | number | boolean | undefined;
|
67
67
|
class?: any;
|
68
68
|
prependIcon?: IconValue | undefined;
|
69
69
|
appendIcon?: IconValue | undefined;
|
70
70
|
appendAvatar?: string | undefined;
|
71
71
|
prependAvatar?: string | undefined;
|
72
|
-
subtitle?: string | number | undefined;
|
72
|
+
subtitle?: string | number | boolean | undefined;
|
73
73
|
} & {
|
74
74
|
$children?: vue.VNodeChild | (() => vue.VNodeChild) | {
|
75
75
|
default?: (() => vue.VNodeChild) | undefined;
|
@@ -93,7 +93,9 @@ declare const VCardItem: {
|
|
93
93
|
"v-slot:subtitle"?: false | (() => vue.VNodeChild) | undefined;
|
94
94
|
}, {
|
95
95
|
style: vue.StyleValue;
|
96
|
+
title: string | number | boolean;
|
96
97
|
density: Density;
|
98
|
+
subtitle: string | number | boolean;
|
97
99
|
}, true, {}, vue.SlotsType<Partial<{
|
98
100
|
default: () => vue.VNode[];
|
99
101
|
prepend: () => vue.VNode[];
|
@@ -111,13 +113,13 @@ declare const VCardItem: {
|
|
111
113
|
style: vue.StyleValue;
|
112
114
|
density: Density;
|
113
115
|
} & {
|
114
|
-
title?: string | number | undefined;
|
116
|
+
title?: string | number | boolean | undefined;
|
115
117
|
class?: any;
|
116
118
|
prependIcon?: IconValue | undefined;
|
117
119
|
appendIcon?: IconValue | undefined;
|
118
120
|
appendAvatar?: string | undefined;
|
119
121
|
prependAvatar?: string | undefined;
|
120
|
-
subtitle?: string | number | undefined;
|
122
|
+
subtitle?: string | number | boolean | undefined;
|
121
123
|
} & {
|
122
124
|
$children?: vue.VNodeChild | (() => vue.VNodeChild) | {
|
123
125
|
default?: (() => vue.VNodeChild) | undefined;
|
@@ -141,7 +143,9 @@ declare const VCardItem: {
|
|
141
143
|
"v-slot:subtitle"?: false | (() => vue.VNodeChild) | undefined;
|
142
144
|
}, {}, {}, {}, {}, {
|
143
145
|
style: vue.StyleValue;
|
146
|
+
title: string | number | boolean;
|
144
147
|
density: Density;
|
148
|
+
subtitle: string | number | boolean;
|
145
149
|
}>;
|
146
150
|
__isFragment?: never;
|
147
151
|
__isTeleport?: never;
|
@@ -150,13 +154,13 @@ declare const VCardItem: {
|
|
150
154
|
style: vue.StyleValue;
|
151
155
|
density: Density;
|
152
156
|
} & {
|
153
|
-
title?: string | number | undefined;
|
157
|
+
title?: string | number | boolean | undefined;
|
154
158
|
class?: any;
|
155
159
|
prependIcon?: IconValue | undefined;
|
156
160
|
appendIcon?: IconValue | undefined;
|
157
161
|
appendAvatar?: string | undefined;
|
158
162
|
prependAvatar?: string | undefined;
|
159
|
-
subtitle?: string | number | undefined;
|
163
|
+
subtitle?: string | number | boolean | undefined;
|
160
164
|
} & {
|
161
165
|
$children?: vue.VNodeChild | (() => vue.VNodeChild) | {
|
162
166
|
default?: (() => vue.VNodeChild) | undefined;
|
@@ -180,7 +184,9 @@ declare const VCardItem: {
|
|
180
184
|
"v-slot:subtitle"?: false | (() => vue.VNodeChild) | undefined;
|
181
185
|
}, {}, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Record<string, any>, string, {
|
182
186
|
style: vue.StyleValue;
|
187
|
+
title: string | number | boolean;
|
183
188
|
density: Density;
|
189
|
+
subtitle: string | number | boolean;
|
184
190
|
}, {}, string, vue.SlotsType<Partial<{
|
185
191
|
default: () => vue.VNode[];
|
186
192
|
prepend: () => vue.VNode[];
|
@@ -202,8 +208,14 @@ declare const VCardItem: {
|
|
202
208
|
appendIcon: vue.PropType<IconValue>;
|
203
209
|
prependAvatar: StringConstructor;
|
204
210
|
prependIcon: vue.PropType<IconValue>;
|
205
|
-
subtitle:
|
206
|
-
|
211
|
+
subtitle: {
|
212
|
+
type: (StringConstructor | BooleanConstructor | NumberConstructor)[];
|
213
|
+
default: undefined;
|
214
|
+
};
|
215
|
+
title: {
|
216
|
+
type: (StringConstructor | BooleanConstructor | NumberConstructor)[];
|
217
|
+
default: undefined;
|
218
|
+
};
|
207
219
|
}, vue.ExtractPropTypes<{
|
208
220
|
density: {
|
209
221
|
type: vue.PropType<Density>;
|
@@ -219,8 +231,14 @@ declare const VCardItem: {
|
|
219
231
|
appendIcon: vue.PropType<IconValue>;
|
220
232
|
prependAvatar: StringConstructor;
|
221
233
|
prependIcon: vue.PropType<IconValue>;
|
222
|
-
subtitle:
|
223
|
-
|
234
|
+
subtitle: {
|
235
|
+
type: (StringConstructor | BooleanConstructor | NumberConstructor)[];
|
236
|
+
default: undefined;
|
237
|
+
};
|
238
|
+
title: {
|
239
|
+
type: (StringConstructor | BooleanConstructor | NumberConstructor)[];
|
240
|
+
default: undefined;
|
241
|
+
};
|
224
242
|
}>>;
|
225
243
|
type VCardItem = InstanceType<typeof VCardItem>;
|
226
244
|
|
@@ -268,9 +286,9 @@ declare const VCard: {
|
|
268
286
|
minWidth?: string | number | undefined;
|
269
287
|
position?: "fixed" | "absolute" | "relative" | "static" | "sticky" | undefined;
|
270
288
|
loading?: string | boolean | undefined;
|
271
|
-
title?: string | number | undefined;
|
289
|
+
title?: string | number | boolean | undefined;
|
272
290
|
image?: string | undefined;
|
273
|
-
text?: string | number | undefined;
|
291
|
+
text?: string | number | boolean | undefined;
|
274
292
|
class?: any;
|
275
293
|
theme?: string | undefined;
|
276
294
|
to?: string | vue_router.RouteLocationAsRelativeGeneric | vue_router.RouteLocationAsPathGeneric | undefined;
|
@@ -281,7 +299,7 @@ declare const VCard: {
|
|
281
299
|
appendIcon?: IconValue | undefined;
|
282
300
|
appendAvatar?: string | undefined;
|
283
301
|
prependAvatar?: string | undefined;
|
284
|
-
subtitle?: string | number | undefined;
|
302
|
+
subtitle?: string | number | boolean | undefined;
|
285
303
|
} & {
|
286
304
|
$children?: vue.VNodeChild | (() => vue.VNodeChild) | {
|
287
305
|
default?: (() => vue.VNodeChild) | undefined;
|
@@ -345,9 +363,9 @@ declare const VCard: {
|
|
345
363
|
minWidth?: string | number | undefined;
|
346
364
|
position?: "fixed" | "absolute" | "relative" | "static" | "sticky" | undefined;
|
347
365
|
loading?: string | boolean | undefined;
|
348
|
-
title?: string | number | undefined;
|
366
|
+
title?: string | number | boolean | undefined;
|
349
367
|
image?: string | undefined;
|
350
|
-
text?: string | number | undefined;
|
368
|
+
text?: string | number | boolean | undefined;
|
351
369
|
class?: any;
|
352
370
|
theme?: string | undefined;
|
353
371
|
to?: string | vue_router.RouteLocationAsRelativeGeneric | vue_router.RouteLocationAsPathGeneric | undefined;
|
@@ -358,7 +376,7 @@ declare const VCard: {
|
|
358
376
|
appendIcon?: IconValue | undefined;
|
359
377
|
appendAvatar?: string | undefined;
|
360
378
|
prependAvatar?: string | undefined;
|
361
|
-
subtitle?: string | number | undefined;
|
379
|
+
subtitle?: string | number | boolean | undefined;
|
362
380
|
} & {
|
363
381
|
$children?: vue.VNodeChild | (() => vue.VNodeChild) | {
|
364
382
|
default?: (() => vue.VNodeChild) | undefined;
|
@@ -402,6 +420,8 @@ declare const VCard: {
|
|
402
420
|
variant: "flat" | "text" | "elevated" | "tonal" | "outlined" | "plain";
|
403
421
|
exact: boolean;
|
404
422
|
style: vue.StyleValue;
|
423
|
+
title: string | number | boolean;
|
424
|
+
text: string | number | boolean;
|
405
425
|
disabled: boolean;
|
406
426
|
tag: string;
|
407
427
|
rounded: string | number | boolean;
|
@@ -410,6 +430,7 @@ declare const VCard: {
|
|
410
430
|
ripple: boolean | {
|
411
431
|
class: string;
|
412
432
|
} | undefined;
|
433
|
+
subtitle: string | number | boolean;
|
413
434
|
hover: boolean;
|
414
435
|
}, true, {}, vue.SlotsType<Partial<{
|
415
436
|
default: () => vue.VNode[];
|
@@ -456,9 +477,9 @@ declare const VCard: {
|
|
456
477
|
minWidth?: string | number | undefined;
|
457
478
|
position?: "fixed" | "absolute" | "relative" | "static" | "sticky" | undefined;
|
458
479
|
loading?: string | boolean | undefined;
|
459
|
-
title?: string | number | undefined;
|
480
|
+
title?: string | number | boolean | undefined;
|
460
481
|
image?: string | undefined;
|
461
|
-
text?: string | number | undefined;
|
482
|
+
text?: string | number | boolean | undefined;
|
462
483
|
class?: any;
|
463
484
|
theme?: string | undefined;
|
464
485
|
to?: string | vue_router.RouteLocationAsRelativeGeneric | vue_router.RouteLocationAsPathGeneric | undefined;
|
@@ -469,7 +490,7 @@ declare const VCard: {
|
|
469
490
|
appendIcon?: IconValue | undefined;
|
470
491
|
appendAvatar?: string | undefined;
|
471
492
|
prependAvatar?: string | undefined;
|
472
|
-
subtitle?: string | number | undefined;
|
493
|
+
subtitle?: string | number | boolean | undefined;
|
473
494
|
} & {
|
474
495
|
$children?: vue.VNodeChild | (() => vue.VNodeChild) | {
|
475
496
|
default?: (() => vue.VNodeChild) | undefined;
|
@@ -513,6 +534,8 @@ declare const VCard: {
|
|
513
534
|
variant: "flat" | "text" | "elevated" | "tonal" | "outlined" | "plain";
|
514
535
|
exact: boolean;
|
515
536
|
style: vue.StyleValue;
|
537
|
+
title: string | number | boolean;
|
538
|
+
text: string | number | boolean;
|
516
539
|
disabled: boolean;
|
517
540
|
tag: string;
|
518
541
|
rounded: string | number | boolean;
|
@@ -521,6 +544,7 @@ declare const VCard: {
|
|
521
544
|
ripple: boolean | {
|
522
545
|
class: string;
|
523
546
|
} | undefined;
|
547
|
+
subtitle: string | number | boolean;
|
524
548
|
hover: boolean;
|
525
549
|
}>;
|
526
550
|
__isFragment?: never;
|
@@ -553,9 +577,9 @@ declare const VCard: {
|
|
553
577
|
minWidth?: string | number | undefined;
|
554
578
|
position?: "fixed" | "absolute" | "relative" | "static" | "sticky" | undefined;
|
555
579
|
loading?: string | boolean | undefined;
|
556
|
-
title?: string | number | undefined;
|
580
|
+
title?: string | number | boolean | undefined;
|
557
581
|
image?: string | undefined;
|
558
|
-
text?: string | number | undefined;
|
582
|
+
text?: string | number | boolean | undefined;
|
559
583
|
class?: any;
|
560
584
|
theme?: string | undefined;
|
561
585
|
to?: string | vue_router.RouteLocationAsRelativeGeneric | vue_router.RouteLocationAsPathGeneric | undefined;
|
@@ -566,7 +590,7 @@ declare const VCard: {
|
|
566
590
|
appendIcon?: IconValue | undefined;
|
567
591
|
appendAvatar?: string | undefined;
|
568
592
|
prependAvatar?: string | undefined;
|
569
|
-
subtitle?: string | number | undefined;
|
593
|
+
subtitle?: string | number | boolean | undefined;
|
570
594
|
} & {
|
571
595
|
$children?: vue.VNodeChild | (() => vue.VNodeChild) | {
|
572
596
|
default?: (() => vue.VNodeChild) | undefined;
|
@@ -610,6 +634,8 @@ declare const VCard: {
|
|
610
634
|
variant: "flat" | "text" | "elevated" | "tonal" | "outlined" | "plain";
|
611
635
|
exact: boolean;
|
612
636
|
style: vue.StyleValue;
|
637
|
+
title: string | number | boolean;
|
638
|
+
text: string | number | boolean;
|
613
639
|
disabled: boolean;
|
614
640
|
tag: string;
|
615
641
|
rounded: string | number | boolean;
|
@@ -618,6 +644,7 @@ declare const VCard: {
|
|
618
644
|
ripple: boolean | {
|
619
645
|
class: string;
|
620
646
|
} | undefined;
|
647
|
+
subtitle: string | number | boolean;
|
621
648
|
hover: boolean;
|
622
649
|
}, {}, string, vue.SlotsType<Partial<{
|
623
650
|
default: () => vue.VNode[];
|
@@ -697,9 +724,18 @@ declare const VCard: {
|
|
697
724
|
type: PropType<RippleDirectiveBinding["value"]>;
|
698
725
|
default: boolean;
|
699
726
|
};
|
700
|
-
subtitle:
|
701
|
-
|
702
|
-
|
727
|
+
subtitle: {
|
728
|
+
type: (StringConstructor | BooleanConstructor | NumberConstructor)[];
|
729
|
+
default: undefined;
|
730
|
+
};
|
731
|
+
text: {
|
732
|
+
type: (StringConstructor | BooleanConstructor | NumberConstructor)[];
|
733
|
+
default: undefined;
|
734
|
+
};
|
735
|
+
title: {
|
736
|
+
type: (StringConstructor | BooleanConstructor | NumberConstructor)[];
|
737
|
+
default: undefined;
|
738
|
+
};
|
703
739
|
}, vue.ExtractPropTypes<{
|
704
740
|
color: StringConstructor;
|
705
741
|
variant: Omit<{
|
@@ -767,9 +803,18 @@ declare const VCard: {
|
|
767
803
|
type: PropType<RippleDirectiveBinding["value"]>;
|
768
804
|
default: boolean;
|
769
805
|
};
|
770
|
-
subtitle:
|
771
|
-
|
772
|
-
|
806
|
+
subtitle: {
|
807
|
+
type: (StringConstructor | BooleanConstructor | NumberConstructor)[];
|
808
|
+
default: undefined;
|
809
|
+
};
|
810
|
+
text: {
|
811
|
+
type: (StringConstructor | BooleanConstructor | NumberConstructor)[];
|
812
|
+
default: undefined;
|
813
|
+
};
|
814
|
+
title: {
|
815
|
+
type: (StringConstructor | BooleanConstructor | NumberConstructor)[];
|
816
|
+
default: undefined;
|
817
|
+
};
|
773
818
|
}>>;
|
774
819
|
type VCard = InstanceType<typeof VCard>;
|
775
820
|
|
@@ -62,7 +62,7 @@ export const VCarousel = genericComponent()({
|
|
62
62
|
onMounted(startTimeout);
|
63
63
|
function startTimeout() {
|
64
64
|
if (!props.cycle || !windowRef.value) return;
|
65
|
-
slideTimeout = window.setTimeout(windowRef.value.group.next,
|
65
|
+
slideTimeout = window.setTimeout(windowRef.value.group.next, Number(props.interval) > 0 ? Number(props.interval) : 6000);
|
66
66
|
}
|
67
67
|
function restartTimeout() {
|
68
68
|
window.clearTimeout(slideTimeout);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"VCarousel.mjs","names":["VBtn","VDefaultsProvider","VProgressLinear","makeVWindowProps","VWindow","IconValue","useLocale","useProxiedModel","onMounted","ref","watch","convertToUnit","genericComponent","propsFactory","useRender","makeVCarouselProps","color","String","cycle","Boolean","delimiterIcon","type","default","height","Number","hideDelimiters","hideDelimiterBackground","interval","validator","value","progress","verticalDelimiters","continuous","mandatory","showArrows","VCarousel","name","props","emits","setup","_ref","slots","model","t","windowRef","slideTimeout","restartTimeout","val","window","clearTimeout","startTimeout","setTimeout","group","next","requestAnimationFrame","windowProps","filterProps","_createVNode","_mergeProps","$event","class","style","additional","_ref2","_Fragment","left","right","items","length","icon","size","variant","map","item","index","id","isSelected","onClick","select","undefined","getItemIndex","prev"],"sources":["../../../src/components/VCarousel/VCarousel.tsx"],"sourcesContent":["// Styles\nimport './VCarousel.sass'\n\n// Components\nimport { VBtn } from '@/components/VBtn'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VProgressLinear } from '@/components/VProgressLinear'\nimport { makeVWindowProps, VWindow } from '@/components/VWindow/VWindow'\n\n// Composables\nimport { IconValue } from '@/composables/icons'\nimport { useLocale } from '@/composables/locale'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { onMounted, ref, watch } from 'vue'\nimport { convertToUnit, genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { VWindowSlots } from '@/components/VWindow/VWindow'\nimport type { GroupProvide } from '@/composables/group'\nimport type { GenericProps } from '@/util'\n\nexport const makeVCarouselProps = propsFactory({\n color: String,\n cycle: Boolean,\n delimiterIcon: {\n type: IconValue,\n default: '$delimiter',\n },\n height: {\n type: [Number, String],\n default: 500,\n },\n hideDelimiters: Boolean,\n hideDelimiterBackground: Boolean,\n interval: {\n type: [Number, String],\n default: 6000,\n validator: (value: string | number) => Number(value) > 0,\n },\n progress: [Boolean, String],\n verticalDelimiters: [Boolean, String] as PropType<boolean | 'left' | 'right'>,\n\n ...makeVWindowProps({\n continuous: true,\n mandatory: 'force' as const,\n showArrows: true,\n }),\n}, 'VCarousel')\n\ntype VCarouselSlots = VWindowSlots & {\n item: {\n props: Record<string, any>\n item: {\n id: number\n value: unknown\n disabled: boolean | undefined\n }\n }\n}\n\nexport const VCarousel = genericComponent<new <T>(\n props: {\n modelValue?: T\n 'onUpdate:modelValue'?: (value: T) => void\n },\n slots: VCarouselSlots,\n) => GenericProps<typeof props, typeof slots>>()({\n name: 'VCarousel',\n\n props: makeVCarouselProps(),\n\n emits: {\n 'update:modelValue': (value: any) => true,\n },\n\n setup (props, { slots }) {\n const model = useProxiedModel(props, 'modelValue')\n const { t } = useLocale()\n const windowRef = ref<VWindow>()\n\n let slideTimeout = -1\n watch(model, restartTimeout)\n watch(() => props.interval, restartTimeout)\n watch(() => props.cycle, val => {\n if (val) restartTimeout()\n else window.clearTimeout(slideTimeout)\n })\n\n onMounted(startTimeout)\n\n function startTimeout () {\n if (!props.cycle || !windowRef.value) return\n\n slideTimeout = window.setTimeout(windowRef.value.group.next, +props.interval > 0 ? +props.interval : 6000)\n }\n\n function restartTimeout () {\n window.clearTimeout(slideTimeout)\n window.requestAnimationFrame(startTimeout)\n }\n\n useRender(() => {\n const windowProps = VWindow.filterProps(props)\n\n return (\n <VWindow\n ref={ windowRef }\n { ...windowProps }\n v-model={ model.value }\n class={[\n 'v-carousel',\n {\n 'v-carousel--hide-delimiter-background': props.hideDelimiterBackground,\n 'v-carousel--vertical-delimiters': props.verticalDelimiters,\n },\n props.class,\n ]}\n style={[\n { height: convertToUnit(props.height) },\n props.style,\n ]}\n >\n {{\n default: slots.default,\n additional: ({ group }: { group: GroupProvide }) => (\n <>\n { !props.hideDelimiters && (\n <div\n class=\"v-carousel__controls\"\n style={{\n left: props.verticalDelimiters === 'left' && props.verticalDelimiters ? 0 : 'auto',\n right: props.verticalDelimiters === 'right' ? 0 : 'auto',\n }}\n >\n { group.items.value.length > 0 && (\n <VDefaultsProvider\n defaults={{\n VBtn: {\n color: props.color,\n icon: props.delimiterIcon,\n size: 'x-small',\n variant: 'text',\n },\n }}\n scoped\n >\n { group.items.value.map((item, index) => {\n const props = {\n id: `carousel-item-${item.id}`,\n 'aria-label': t('$vuetify.carousel.ariaLabel.delimiter', index + 1, group.items.value.length),\n class: [\n 'v-carousel__controls__item',\n group.isSelected(item.id) && 'v-btn--active',\n ],\n onClick: () => group.select(item.id, true),\n }\n\n return slots.item\n ? slots.item({ props, item })\n : (<VBtn { ...item } { ...props } />)\n })}\n </VDefaultsProvider>\n )}\n </div>\n )}\n\n { props.progress && (\n <VProgressLinear\n class=\"v-carousel__progress\"\n color={ typeof props.progress === 'string' ? props.progress : undefined }\n modelValue={ (group.getItemIndex(model.value) + 1) / group.items.value.length * 100 }\n />\n )}\n </>\n ),\n prev: slots.prev,\n next: slots.next,\n }}\n </VWindow>\n )\n })\n\n return {}\n },\n})\n\nexport type VCarousel = InstanceType<typeof VCarousel>\n"],"mappings":"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","ignoreList":[]}
|
1
|
+
{"version":3,"file":"VCarousel.mjs","names":["VBtn","VDefaultsProvider","VProgressLinear","makeVWindowProps","VWindow","IconValue","useLocale","useProxiedModel","onMounted","ref","watch","convertToUnit","genericComponent","propsFactory","useRender","makeVCarouselProps","color","String","cycle","Boolean","delimiterIcon","type","default","height","Number","hideDelimiters","hideDelimiterBackground","interval","validator","value","progress","verticalDelimiters","continuous","mandatory","showArrows","VCarousel","name","props","emits","setup","_ref","slots","model","t","windowRef","slideTimeout","restartTimeout","val","window","clearTimeout","startTimeout","setTimeout","group","next","requestAnimationFrame","windowProps","filterProps","_createVNode","_mergeProps","$event","class","style","additional","_ref2","_Fragment","left","right","items","length","icon","size","variant","map","item","index","id","isSelected","onClick","select","undefined","getItemIndex","prev"],"sources":["../../../src/components/VCarousel/VCarousel.tsx"],"sourcesContent":["// Styles\nimport './VCarousel.sass'\n\n// Components\nimport { VBtn } from '@/components/VBtn'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VProgressLinear } from '@/components/VProgressLinear'\nimport { makeVWindowProps, VWindow } from '@/components/VWindow/VWindow'\n\n// Composables\nimport { IconValue } from '@/composables/icons'\nimport { useLocale } from '@/composables/locale'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { onMounted, ref, watch } from 'vue'\nimport { convertToUnit, genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { VWindowSlots } from '@/components/VWindow/VWindow'\nimport type { GroupProvide } from '@/composables/group'\nimport type { GenericProps } from '@/util'\n\nexport const makeVCarouselProps = propsFactory({\n color: String,\n cycle: Boolean,\n delimiterIcon: {\n type: IconValue,\n default: '$delimiter',\n },\n height: {\n type: [Number, String],\n default: 500,\n },\n hideDelimiters: Boolean,\n hideDelimiterBackground: Boolean,\n interval: {\n type: [Number, String],\n default: 6000,\n validator: (value: string | number) => Number(value) > 0,\n },\n progress: [Boolean, String],\n verticalDelimiters: [Boolean, String] as PropType<boolean | 'left' | 'right'>,\n\n ...makeVWindowProps({\n continuous: true,\n mandatory: 'force' as const,\n showArrows: true,\n }),\n}, 'VCarousel')\n\ntype VCarouselSlots = VWindowSlots & {\n item: {\n props: Record<string, any>\n item: {\n id: number\n value: unknown\n disabled: boolean | undefined\n }\n }\n}\n\nexport const VCarousel = genericComponent<new <T>(\n props: {\n modelValue?: T\n 'onUpdate:modelValue'?: (value: T) => void\n },\n slots: VCarouselSlots,\n) => GenericProps<typeof props, typeof slots>>()({\n name: 'VCarousel',\n\n props: makeVCarouselProps(),\n\n emits: {\n 'update:modelValue': (value: any) => true,\n },\n\n setup (props, { slots }) {\n const model = useProxiedModel(props, 'modelValue')\n const { t } = useLocale()\n const windowRef = ref<VWindow>()\n\n let slideTimeout = -1\n watch(model, restartTimeout)\n watch(() => props.interval, restartTimeout)\n watch(() => props.cycle, val => {\n if (val) restartTimeout()\n else window.clearTimeout(slideTimeout)\n })\n\n onMounted(startTimeout)\n\n function startTimeout () {\n if (!props.cycle || !windowRef.value) return\n\n slideTimeout = window.setTimeout(\n windowRef.value.group.next,\n Number(props.interval) > 0 ? Number(props.interval) : 6000\n )\n }\n\n function restartTimeout () {\n window.clearTimeout(slideTimeout)\n window.requestAnimationFrame(startTimeout)\n }\n\n useRender(() => {\n const windowProps = VWindow.filterProps(props)\n\n return (\n <VWindow\n ref={ windowRef }\n { ...windowProps }\n v-model={ model.value }\n class={[\n 'v-carousel',\n {\n 'v-carousel--hide-delimiter-background': props.hideDelimiterBackground,\n 'v-carousel--vertical-delimiters': props.verticalDelimiters,\n },\n props.class,\n ]}\n style={[\n { height: convertToUnit(props.height) },\n props.style,\n ]}\n >\n {{\n default: slots.default,\n additional: ({ group }: { group: GroupProvide }) => (\n <>\n { !props.hideDelimiters && (\n <div\n class=\"v-carousel__controls\"\n style={{\n left: props.verticalDelimiters === 'left' && props.verticalDelimiters ? 0 : 'auto',\n right: props.verticalDelimiters === 'right' ? 0 : 'auto',\n }}\n >\n { group.items.value.length > 0 && (\n <VDefaultsProvider\n defaults={{\n VBtn: {\n color: props.color,\n icon: props.delimiterIcon,\n size: 'x-small',\n variant: 'text',\n },\n }}\n scoped\n >\n { group.items.value.map((item, index) => {\n const props = {\n id: `carousel-item-${item.id}`,\n 'aria-label': t('$vuetify.carousel.ariaLabel.delimiter', index + 1, group.items.value.length),\n class: [\n 'v-carousel__controls__item',\n group.isSelected(item.id) && 'v-btn--active',\n ],\n onClick: () => group.select(item.id, true),\n }\n\n return slots.item\n ? slots.item({ props, item })\n : (<VBtn { ...item } { ...props } />)\n })}\n </VDefaultsProvider>\n )}\n </div>\n )}\n\n { props.progress && (\n <VProgressLinear\n class=\"v-carousel__progress\"\n color={ typeof props.progress === 'string' ? props.progress : undefined }\n modelValue={ (group.getItemIndex(model.value) + 1) / group.items.value.length * 100 }\n />\n )}\n </>\n ),\n prev: slots.prev,\n next: slots.next,\n }}\n </VWindow>\n )\n })\n\n return {}\n },\n})\n\nexport type VCarousel = InstanceType<typeof VCarousel>\n"],"mappings":"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","ignoreList":[]}
|
@@ -24,7 +24,7 @@ import { makeTagProps } from "../../composables/tag.mjs";
|
|
24
24
|
import { makeThemeProps, provideTheme } from "../../composables/theme.mjs";
|
25
25
|
import { genOverlays, makeVariantProps, useVariant } from "../../composables/variant.mjs"; // Directives
|
26
26
|
import { Ripple } from "../../directives/ripple/index.mjs"; // Utilities
|
27
|
-
import { computed } from 'vue';
|
27
|
+
import { computed, toDisplayString } from 'vue';
|
28
28
|
import { EventProp, genericComponent, propsFactory } from "../../util/index.mjs"; // Types
|
29
29
|
export const makeVChipProps = propsFactory({
|
30
30
|
activeClass: String,
|
@@ -57,7 +57,10 @@ export const makeVChipProps = propsFactory({
|
|
57
57
|
type: [Boolean, Object],
|
58
58
|
default: true
|
59
59
|
},
|
60
|
-
text:
|
60
|
+
text: {
|
61
|
+
type: [String, Number, Boolean],
|
62
|
+
default: undefined
|
63
|
+
},
|
61
64
|
modelValue: {
|
62
65
|
type: Boolean,
|
63
66
|
default: true
|
@@ -226,7 +229,7 @@ export const VChip = genericComponent()({
|
|
226
229
|
toggle: group?.toggle,
|
227
230
|
value: group?.value.value,
|
228
231
|
disabled: props.disabled
|
229
|
-
}) ?? props.text]), hasAppend && _createVNode("div", {
|
232
|
+
}) ?? toDisplayString(props.text)]), hasAppend && _createVNode("div", {
|
230
233
|
"key": "append",
|
231
234
|
"class": "v-chip__append"
|
232
235
|
}, [!slots.append ? _createVNode(_Fragment, null, [props.appendIcon && _createVNode(VIcon, {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"VChip.mjs","names":["VExpandXTransition","VAvatar","VChipGroupSymbol","VDefaultsProvider","VIcon","makeBorderProps","useBorder","makeComponentProps","makeDensityProps","useDensity","makeElevationProps","useElevation","makeGroupItemProps","useGroupItem","IconValue","useLocale","useProxiedModel","makeRoundedProps","useRounded","makeRouterProps","useLink","makeSizeProps","useSize","makeTagProps","makeThemeProps","provideTheme","genOverlays","makeVariantProps","useVariant","Ripple","computed","EventProp","genericComponent","propsFactory","makeVChipProps","activeClass","String","appendAvatar","appendIcon","closable","Boolean","closeIcon","type","default","closeLabel","draggable","filter","filterIcon","label","link","undefined","pill","prependAvatar","prependIcon","ripple","Object","text","modelValue","onClick","onClickOnce","tag","variant","VChip","name","directives","props","emits","e","value","val","click","setup","_ref","attrs","emit","slots","t","borderClasses","colorClasses","colorStyles","variantClasses","densityClasses","elevationClasses","roundedClasses","sizeClasses","themeClasses","isActive","group","isLink","isClickable","disabled","closeProps","preventDefault","stopPropagation","navigate","toggle","onKeyDown","key","Tag","hasAppendMedia","hasAppend","append","hasClose","close","hasFilter","hasPrependMedia","hasPrepend","prepend","hasColor","isSelected","_withDirectives","_createVNode","_mergeProps","selectedClass","class","style","linkProps","icon","_vShow","_Fragment","image","start","select","end","size","_resolveDirective"],"sources":["../../../src/components/VChip/VChip.tsx"],"sourcesContent":["/* eslint-disable complexity */\n// Styles\nimport './VChip.sass'\n\n// Components\nimport { VExpandXTransition } from '@/components/transitions'\nimport { VAvatar } from '@/components/VAvatar'\nimport { VChipGroupSymbol } from '@/components/VChipGroup/VChipGroup'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VIcon } from '@/components/VIcon'\n\n// Composables\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeComponentProps } from '@/composables/component'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeGroupItemProps, useGroupItem } from '@/composables/group'\nimport { IconValue } from '@/composables/icons'\nimport { useLocale } from '@/composables/locale'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeRouterProps, useLink } from '@/composables/router'\nimport { makeSizeProps, useSize } from '@/composables/size'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { genOverlays, makeVariantProps, useVariant } from '@/composables/variant'\n\n// Directives\nimport { Ripple } from '@/directives/ripple'\n\n// Utilities\nimport { computed } from 'vue'\nimport { EventProp, genericComponent, propsFactory } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { RippleDirectiveBinding } from '@/directives/ripple'\n\nexport type VChipSlots = {\n default: {\n isSelected: boolean | undefined\n selectedClass: boolean | (string | undefined)[] | undefined\n select: ((value: boolean) => void) | undefined\n toggle: (() => void) | undefined\n value: unknown\n disabled: boolean\n }\n label: never\n prepend: never\n append: never\n close: never\n filter: never\n}\n\nexport const makeVChipProps = propsFactory({\n activeClass: String,\n appendAvatar: String,\n appendIcon: IconValue,\n closable: Boolean,\n closeIcon: {\n type: IconValue,\n default: '$delete',\n },\n closeLabel: {\n type: String,\n default: '$vuetify.close',\n },\n draggable: Boolean,\n filter: Boolean,\n filterIcon: {\n type: IconValue,\n default: '$complete',\n },\n label: Boolean,\n link: {\n type: Boolean,\n default: undefined,\n },\n pill: Boolean,\n prependAvatar: String,\n prependIcon: IconValue,\n ripple: {\n type: [Boolean, Object] as PropType<RippleDirectiveBinding['value']>,\n default: true,\n },\n text: String,\n modelValue: {\n type: Boolean,\n default: true,\n },\n\n onClick: EventProp<[MouseEvent]>(),\n onClickOnce: EventProp<[MouseEvent]>(),\n\n ...makeBorderProps(),\n ...makeComponentProps(),\n ...makeDensityProps(),\n ...makeElevationProps(),\n ...makeGroupItemProps(),\n ...makeRoundedProps(),\n ...makeRouterProps(),\n ...makeSizeProps(),\n ...makeTagProps({ tag: 'span' }),\n ...makeThemeProps(),\n ...makeVariantProps({ variant: 'tonal' } as const),\n}, 'VChip')\n\nexport const VChip = genericComponent<VChipSlots>()({\n name: 'VChip',\n\n directives: { Ripple },\n\n props: makeVChipProps(),\n\n emits: {\n 'click:close': (e: MouseEvent) => true,\n 'update:modelValue': (value: boolean) => true,\n 'group:selected': (val: { value: boolean }) => true,\n click: (e: MouseEvent | KeyboardEvent) => true,\n },\n\n setup (props, { attrs, emit, slots }) {\n const { t } = useLocale()\n const { borderClasses } = useBorder(props)\n const { colorClasses, colorStyles, variantClasses } = useVariant(props)\n const { densityClasses } = useDensity(props)\n const { elevationClasses } = useElevation(props)\n const { roundedClasses } = useRounded(props)\n const { sizeClasses } = useSize(props)\n const { themeClasses } = provideTheme(props)\n\n const isActive = useProxiedModel(props, 'modelValue')\n const group = useGroupItem(props, VChipGroupSymbol, false)\n const link = useLink(props, attrs)\n const isLink = computed(() => props.link !== false && link.isLink.value)\n const isClickable = computed(() =>\n !props.disabled &&\n props.link !== false &&\n (!!group || props.link || link.isClickable.value)\n )\n const closeProps = computed(() => ({\n 'aria-label': t(props.closeLabel),\n onClick (e: MouseEvent) {\n e.preventDefault()\n e.stopPropagation()\n\n isActive.value = false\n\n emit('click:close', e)\n },\n }))\n\n function onClick (e: MouseEvent) {\n emit('click', e)\n\n if (!isClickable.value) return\n\n link.navigate?.(e)\n group?.toggle()\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 return () => {\n const Tag = (link.isLink.value) ? 'a' : props.tag\n const hasAppendMedia = !!(props.appendIcon || props.appendAvatar)\n const hasAppend = !!(hasAppendMedia || slots.append)\n const hasClose = !!(slots.close || props.closable)\n const hasFilter = !!(slots.filter || props.filter) && group\n const hasPrependMedia = !!(props.prependIcon || props.prependAvatar)\n const hasPrepend = !!(hasPrependMedia || slots.prepend)\n const hasColor = !group || group.isSelected.value\n\n return isActive.value && (\n <Tag\n class={[\n 'v-chip',\n {\n 'v-chip--disabled': props.disabled,\n 'v-chip--label': props.label,\n 'v-chip--link': isClickable.value,\n 'v-chip--filter': hasFilter,\n 'v-chip--pill': props.pill,\n [`${props.activeClass}`]: props.activeClass && link.isActive?.value,\n },\n themeClasses.value,\n borderClasses.value,\n hasColor ? colorClasses.value : undefined,\n densityClasses.value,\n elevationClasses.value,\n roundedClasses.value,\n sizeClasses.value,\n variantClasses.value,\n group?.selectedClass.value,\n props.class,\n ]}\n style={[\n hasColor ? colorStyles.value : undefined,\n props.style,\n ]}\n disabled={ props.disabled || undefined }\n draggable={ props.draggable }\n tabindex={ isClickable.value ? 0 : undefined }\n onClick={ onClick }\n onKeydown={ isClickable.value && !isLink.value && onKeyDown }\n v-ripple={[isClickable.value && props.ripple, null]}\n { ...link.linkProps }\n >\n { genOverlays(isClickable.value, 'v-chip') }\n\n { hasFilter && (\n <VExpandXTransition key=\"filter\">\n <div\n class=\"v-chip__filter\"\n v-show={ group.isSelected.value }\n >\n { !slots.filter ? (\n <VIcon\n key=\"filter-icon\"\n icon={ props.filterIcon }\n />\n ) : (\n <VDefaultsProvider\n key=\"filter-defaults\"\n disabled={ !props.filterIcon }\n defaults={{\n VIcon: { icon: props.filterIcon },\n }}\n v-slots:default={ slots.filter }\n />\n )}\n </div>\n </VExpandXTransition>\n )}\n\n { hasPrepend && (\n <div key=\"prepend\" class=\"v-chip__prepend\">\n { !slots.prepend ? (\n <>\n { props.prependIcon && (\n <VIcon\n key=\"prepend-icon\"\n icon={ props.prependIcon }\n start\n />\n )}\n\n { props.prependAvatar && (\n <VAvatar\n key=\"prepend-avatar\"\n image={ props.prependAvatar }\n start\n />\n )}\n </>\n ) : (\n <VDefaultsProvider\n key=\"prepend-defaults\"\n disabled={ !hasPrependMedia }\n defaults={{\n VAvatar: {\n image: props.prependAvatar,\n start: true,\n },\n VIcon: {\n icon: props.prependIcon,\n start: true,\n },\n }}\n v-slots:default={ slots.prepend }\n />\n )}\n </div>\n )}\n\n <div class=\"v-chip__content\" data-no-activator=\"\">\n { slots.default?.({\n isSelected: group?.isSelected.value,\n selectedClass: group?.selectedClass.value,\n select: group?.select,\n toggle: group?.toggle,\n value: group?.value.value,\n disabled: props.disabled,\n }) ?? props.text }\n </div>\n\n { hasAppend && (\n <div key=\"append\" class=\"v-chip__append\">\n { !slots.append ? (\n <>\n { props.appendIcon && (\n <VIcon\n key=\"append-icon\"\n end\n icon={ props.appendIcon }\n />\n )}\n\n { props.appendAvatar && (\n <VAvatar\n key=\"append-avatar\"\n end\n image={ props.appendAvatar }\n />\n )}\n </>\n ) : (\n <VDefaultsProvider\n key=\"append-defaults\"\n disabled={ !hasAppendMedia }\n defaults={{\n VAvatar: {\n end: true,\n image: props.appendAvatar,\n },\n VIcon: {\n end: true,\n icon: props.appendIcon,\n },\n }}\n v-slots:default={ slots.append }\n />\n )}\n </div>\n )}\n\n { hasClose && (\n <button\n key=\"close\"\n class=\"v-chip__close\"\n type=\"button\"\n data-testid=\"close-chip\"\n { ...closeProps.value }\n >\n { !slots.close ? (\n <VIcon\n key=\"close-icon\"\n icon={ props.closeIcon }\n size=\"x-small\"\n />\n ) : (\n <VDefaultsProvider\n key=\"close-defaults\"\n defaults={{\n VIcon: {\n icon: props.closeIcon,\n size: 'x-small',\n },\n }}\n v-slots:default={ slots.close }\n />\n )}\n </button>\n )}\n </Tag>\n )\n }\n },\n})\n\nexport type VChip = InstanceType<typeof VChip>\n"],"mappings":"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","ignoreList":[]}
|
1
|
+
{"version":3,"file":"VChip.mjs","names":["VExpandXTransition","VAvatar","VChipGroupSymbol","VDefaultsProvider","VIcon","makeBorderProps","useBorder","makeComponentProps","makeDensityProps","useDensity","makeElevationProps","useElevation","makeGroupItemProps","useGroupItem","IconValue","useLocale","useProxiedModel","makeRoundedProps","useRounded","makeRouterProps","useLink","makeSizeProps","useSize","makeTagProps","makeThemeProps","provideTheme","genOverlays","makeVariantProps","useVariant","Ripple","computed","toDisplayString","EventProp","genericComponent","propsFactory","makeVChipProps","activeClass","String","appendAvatar","appendIcon","closable","Boolean","closeIcon","type","default","closeLabel","draggable","filter","filterIcon","label","link","undefined","pill","prependAvatar","prependIcon","ripple","Object","text","Number","modelValue","onClick","onClickOnce","tag","variant","VChip","name","directives","props","emits","e","value","val","click","setup","_ref","attrs","emit","slots","t","borderClasses","colorClasses","colorStyles","variantClasses","densityClasses","elevationClasses","roundedClasses","sizeClasses","themeClasses","isActive","group","isLink","isClickable","disabled","closeProps","preventDefault","stopPropagation","navigate","toggle","onKeyDown","key","Tag","hasAppendMedia","hasAppend","append","hasClose","close","hasFilter","hasPrependMedia","hasPrepend","prepend","hasColor","isSelected","_withDirectives","_createVNode","_mergeProps","selectedClass","class","style","linkProps","icon","_vShow","_Fragment","image","start","select","end","size","_resolveDirective"],"sources":["../../../src/components/VChip/VChip.tsx"],"sourcesContent":["/* eslint-disable complexity */\n// Styles\nimport './VChip.sass'\n\n// Components\nimport { VExpandXTransition } from '@/components/transitions'\nimport { VAvatar } from '@/components/VAvatar'\nimport { VChipGroupSymbol } from '@/components/VChipGroup/VChipGroup'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VIcon } from '@/components/VIcon'\n\n// Composables\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeComponentProps } from '@/composables/component'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeGroupItemProps, useGroupItem } from '@/composables/group'\nimport { IconValue } from '@/composables/icons'\nimport { useLocale } from '@/composables/locale'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeRouterProps, useLink } from '@/composables/router'\nimport { makeSizeProps, useSize } from '@/composables/size'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { genOverlays, makeVariantProps, useVariant } from '@/composables/variant'\n\n// Directives\nimport { Ripple } from '@/directives/ripple'\n\n// Utilities\nimport { computed, toDisplayString } from 'vue'\nimport { EventProp, genericComponent, propsFactory } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { RippleDirectiveBinding } from '@/directives/ripple'\n\nexport type VChipSlots = {\n default: {\n isSelected: boolean | undefined\n selectedClass: boolean | (string | undefined)[] | undefined\n select: ((value: boolean) => void) | undefined\n toggle: (() => void) | undefined\n value: unknown\n disabled: boolean\n }\n label: never\n prepend: never\n append: never\n close: never\n filter: never\n}\n\nexport const makeVChipProps = propsFactory({\n activeClass: String,\n appendAvatar: String,\n appendIcon: IconValue,\n closable: Boolean,\n closeIcon: {\n type: IconValue,\n default: '$delete',\n },\n closeLabel: {\n type: String,\n default: '$vuetify.close',\n },\n draggable: Boolean,\n filter: Boolean,\n filterIcon: {\n type: IconValue,\n default: '$complete',\n },\n label: Boolean,\n link: {\n type: Boolean,\n default: undefined,\n },\n pill: Boolean,\n prependAvatar: String,\n prependIcon: IconValue,\n ripple: {\n type: [Boolean, Object] as PropType<RippleDirectiveBinding['value']>,\n default: true,\n },\n text: {\n type: [String, Number, Boolean],\n default: undefined,\n },\n modelValue: {\n type: Boolean,\n default: true,\n },\n\n onClick: EventProp<[MouseEvent]>(),\n onClickOnce: EventProp<[MouseEvent]>(),\n\n ...makeBorderProps(),\n ...makeComponentProps(),\n ...makeDensityProps(),\n ...makeElevationProps(),\n ...makeGroupItemProps(),\n ...makeRoundedProps(),\n ...makeRouterProps(),\n ...makeSizeProps(),\n ...makeTagProps({ tag: 'span' }),\n ...makeThemeProps(),\n ...makeVariantProps({ variant: 'tonal' } as const),\n}, 'VChip')\n\nexport const VChip = genericComponent<VChipSlots>()({\n name: 'VChip',\n\n directives: { Ripple },\n\n props: makeVChipProps(),\n\n emits: {\n 'click:close': (e: MouseEvent) => true,\n 'update:modelValue': (value: boolean) => true,\n 'group:selected': (val: { value: boolean }) => true,\n click: (e: MouseEvent | KeyboardEvent) => true,\n },\n\n setup (props, { attrs, emit, slots }) {\n const { t } = useLocale()\n const { borderClasses } = useBorder(props)\n const { colorClasses, colorStyles, variantClasses } = useVariant(props)\n const { densityClasses } = useDensity(props)\n const { elevationClasses } = useElevation(props)\n const { roundedClasses } = useRounded(props)\n const { sizeClasses } = useSize(props)\n const { themeClasses } = provideTheme(props)\n\n const isActive = useProxiedModel(props, 'modelValue')\n const group = useGroupItem(props, VChipGroupSymbol, false)\n const link = useLink(props, attrs)\n const isLink = computed(() => props.link !== false && link.isLink.value)\n const isClickable = computed(() =>\n !props.disabled &&\n props.link !== false &&\n (!!group || props.link || link.isClickable.value)\n )\n const closeProps = computed(() => ({\n 'aria-label': t(props.closeLabel),\n onClick (e: MouseEvent) {\n e.preventDefault()\n e.stopPropagation()\n\n isActive.value = false\n\n emit('click:close', e)\n },\n }))\n\n function onClick (e: MouseEvent) {\n emit('click', e)\n\n if (!isClickable.value) return\n\n link.navigate?.(e)\n group?.toggle()\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 return () => {\n const Tag = (link.isLink.value) ? 'a' : props.tag\n const hasAppendMedia = !!(props.appendIcon || props.appendAvatar)\n const hasAppend = !!(hasAppendMedia || slots.append)\n const hasClose = !!(slots.close || props.closable)\n const hasFilter = !!(slots.filter || props.filter) && group\n const hasPrependMedia = !!(props.prependIcon || props.prependAvatar)\n const hasPrepend = !!(hasPrependMedia || slots.prepend)\n const hasColor = !group || group.isSelected.value\n\n return isActive.value && (\n <Tag\n class={[\n 'v-chip',\n {\n 'v-chip--disabled': props.disabled,\n 'v-chip--label': props.label,\n 'v-chip--link': isClickable.value,\n 'v-chip--filter': hasFilter,\n 'v-chip--pill': props.pill,\n [`${props.activeClass}`]: props.activeClass && link.isActive?.value,\n },\n themeClasses.value,\n borderClasses.value,\n hasColor ? colorClasses.value : undefined,\n densityClasses.value,\n elevationClasses.value,\n roundedClasses.value,\n sizeClasses.value,\n variantClasses.value,\n group?.selectedClass.value,\n props.class,\n ]}\n style={[\n hasColor ? colorStyles.value : undefined,\n props.style,\n ]}\n disabled={ props.disabled || undefined }\n draggable={ props.draggable }\n tabindex={ isClickable.value ? 0 : undefined }\n onClick={ onClick }\n onKeydown={ isClickable.value && !isLink.value && onKeyDown }\n v-ripple={[isClickable.value && props.ripple, null]}\n { ...link.linkProps }\n >\n { genOverlays(isClickable.value, 'v-chip') }\n\n { hasFilter && (\n <VExpandXTransition key=\"filter\">\n <div\n class=\"v-chip__filter\"\n v-show={ group.isSelected.value }\n >\n { !slots.filter ? (\n <VIcon\n key=\"filter-icon\"\n icon={ props.filterIcon }\n />\n ) : (\n <VDefaultsProvider\n key=\"filter-defaults\"\n disabled={ !props.filterIcon }\n defaults={{\n VIcon: { icon: props.filterIcon },\n }}\n v-slots:default={ slots.filter }\n />\n )}\n </div>\n </VExpandXTransition>\n )}\n\n { hasPrepend && (\n <div key=\"prepend\" class=\"v-chip__prepend\">\n { !slots.prepend ? (\n <>\n { props.prependIcon && (\n <VIcon\n key=\"prepend-icon\"\n icon={ props.prependIcon }\n start\n />\n )}\n\n { props.prependAvatar && (\n <VAvatar\n key=\"prepend-avatar\"\n image={ props.prependAvatar }\n start\n />\n )}\n </>\n ) : (\n <VDefaultsProvider\n key=\"prepend-defaults\"\n disabled={ !hasPrependMedia }\n defaults={{\n VAvatar: {\n image: props.prependAvatar,\n start: true,\n },\n VIcon: {\n icon: props.prependIcon,\n start: true,\n },\n }}\n v-slots:default={ slots.prepend }\n />\n )}\n </div>\n )}\n\n <div class=\"v-chip__content\" data-no-activator=\"\">\n { slots.default?.({\n isSelected: group?.isSelected.value,\n selectedClass: group?.selectedClass.value,\n select: group?.select,\n toggle: group?.toggle,\n value: group?.value.value,\n disabled: props.disabled,\n }) ?? toDisplayString(props.text)}\n </div>\n\n { hasAppend && (\n <div key=\"append\" class=\"v-chip__append\">\n { !slots.append ? (\n <>\n { props.appendIcon && (\n <VIcon\n key=\"append-icon\"\n end\n icon={ props.appendIcon }\n />\n )}\n\n { props.appendAvatar && (\n <VAvatar\n key=\"append-avatar\"\n end\n image={ props.appendAvatar }\n />\n )}\n </>\n ) : (\n <VDefaultsProvider\n key=\"append-defaults\"\n disabled={ !hasAppendMedia }\n defaults={{\n VAvatar: {\n end: true,\n image: props.appendAvatar,\n },\n VIcon: {\n end: true,\n icon: props.appendIcon,\n },\n }}\n v-slots:default={ slots.append }\n />\n )}\n </div>\n )}\n\n { hasClose && (\n <button\n key=\"close\"\n class=\"v-chip__close\"\n type=\"button\"\n data-testid=\"close-chip\"\n { ...closeProps.value }\n >\n { !slots.close ? (\n <VIcon\n key=\"close-icon\"\n icon={ props.closeIcon }\n size=\"x-small\"\n />\n ) : (\n <VDefaultsProvider\n key=\"close-defaults\"\n defaults={{\n VIcon: {\n icon: props.closeIcon,\n size: 'x-small',\n },\n }}\n v-slots:default={ slots.close }\n />\n )}\n </button>\n )}\n </Tag>\n )\n }\n },\n})\n\nexport type VChip = InstanceType<typeof VChip>\n"],"mappings":"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","ignoreList":[]}
|
@@ -59,7 +59,7 @@ declare const VChip: {
|
|
59
59
|
border?: string | number | boolean | undefined;
|
60
60
|
color?: string | undefined;
|
61
61
|
value?: any;
|
62
|
-
text?: string | undefined;
|
62
|
+
text?: string | number | boolean | undefined;
|
63
63
|
class?: any;
|
64
64
|
theme?: string | undefined;
|
65
65
|
to?: string | vue_router.RouteLocationAsRelativeGeneric | vue_router.RouteLocationAsPathGeneric | undefined;
|
@@ -167,7 +167,7 @@ declare const VChip: {
|
|
167
167
|
border?: string | number | boolean | undefined;
|
168
168
|
color?: string | undefined;
|
169
169
|
value?: any;
|
170
|
-
text?: string | undefined;
|
170
|
+
text?: string | number | boolean | undefined;
|
171
171
|
class?: any;
|
172
172
|
theme?: string | undefined;
|
173
173
|
to?: string | vue_router.RouteLocationAsRelativeGeneric | vue_router.RouteLocationAsPathGeneric | undefined;
|
@@ -249,6 +249,7 @@ declare const VChip: {
|
|
249
249
|
exact: boolean;
|
250
250
|
label: boolean;
|
251
251
|
style: vue.StyleValue;
|
252
|
+
text: string | number | boolean;
|
252
253
|
draggable: boolean;
|
253
254
|
disabled: boolean;
|
254
255
|
size: string | number;
|
@@ -313,7 +314,7 @@ declare const VChip: {
|
|
313
314
|
border?: string | number | boolean | undefined;
|
314
315
|
color?: string | undefined;
|
315
316
|
value?: any;
|
316
|
-
text?: string | undefined;
|
317
|
+
text?: string | number | boolean | undefined;
|
317
318
|
class?: any;
|
318
319
|
theme?: string | undefined;
|
319
320
|
to?: string | vue_router.RouteLocationAsRelativeGeneric | vue_router.RouteLocationAsPathGeneric | undefined;
|
@@ -395,6 +396,7 @@ declare const VChip: {
|
|
395
396
|
exact: boolean;
|
396
397
|
label: boolean;
|
397
398
|
style: vue.StyleValue;
|
399
|
+
text: string | number | boolean;
|
398
400
|
draggable: boolean;
|
399
401
|
disabled: boolean;
|
400
402
|
size: string | number;
|
@@ -442,7 +444,7 @@ declare const VChip: {
|
|
442
444
|
border?: string | number | boolean | undefined;
|
443
445
|
color?: string | undefined;
|
444
446
|
value?: any;
|
445
|
-
text?: string | undefined;
|
447
|
+
text?: string | number | boolean | undefined;
|
446
448
|
class?: any;
|
447
449
|
theme?: string | undefined;
|
448
450
|
to?: string | vue_router.RouteLocationAsRelativeGeneric | vue_router.RouteLocationAsPathGeneric | undefined;
|
@@ -531,6 +533,7 @@ declare const VChip: {
|
|
531
533
|
exact: boolean;
|
532
534
|
label: boolean;
|
533
535
|
style: vue.StyleValue;
|
536
|
+
text: string | number | boolean;
|
534
537
|
draggable: boolean;
|
535
538
|
disabled: boolean;
|
536
539
|
size: string | number;
|
@@ -640,7 +643,10 @@ declare const VChip: {
|
|
640
643
|
type: PropType<RippleDirectiveBinding["value"]>;
|
641
644
|
default: boolean;
|
642
645
|
};
|
643
|
-
text:
|
646
|
+
text: {
|
647
|
+
type: (StringConstructor | BooleanConstructor | NumberConstructor)[];
|
648
|
+
default: undefined;
|
649
|
+
};
|
644
650
|
modelValue: {
|
645
651
|
type: BooleanConstructor;
|
646
652
|
default: boolean;
|
@@ -726,7 +732,10 @@ declare const VChip: {
|
|
726
732
|
type: PropType<RippleDirectiveBinding["value"]>;
|
727
733
|
default: boolean;
|
728
734
|
};
|
729
|
-
text:
|
735
|
+
text: {
|
736
|
+
type: (StringConstructor | BooleanConstructor | NumberConstructor)[];
|
737
|
+
default: undefined;
|
738
|
+
};
|
730
739
|
modelValue: {
|
731
740
|
type: BooleanConstructor;
|
732
741
|
default: boolean;
|
@@ -230,10 +230,10 @@ type ListItemSlot = {
|
|
230
230
|
select: (value: boolean) => void;
|
231
231
|
};
|
232
232
|
type ListItemTitleSlot = {
|
233
|
-
title?: string | number;
|
233
|
+
title?: string | number | boolean;
|
234
234
|
};
|
235
235
|
type ListItemSubtitleSlot = {
|
236
|
-
subtitle?: string | number;
|
236
|
+
subtitle?: string | number | boolean;
|
237
237
|
};
|
238
238
|
type VListItemSlots = {
|
239
239
|
prepend: ListItemSlot;
|
@@ -101,10 +101,10 @@ function parseFixedColumns(items) {
|
|
101
101
|
} else {
|
102
102
|
if (!seenFixed) {
|
103
103
|
item.lastFixed = true;
|
104
|
-
} else if (isNaN(
|
104
|
+
} else if (isNaN(Number(item.width))) {
|
105
105
|
consoleError(`Multiple fixed columns should have a static width (key: ${item.key})`);
|
106
106
|
} else {
|
107
|
-
item.minWidth = Math.max(
|
107
|
+
item.minWidth = Math.max(Number(item.width) || 0, Number(item.minWidth) || 0);
|
108
108
|
}
|
109
109
|
seenFixed = true;
|
110
110
|
}
|