@vuetify/nightly 3.7.15-master.2025-03-06 → 3.7.15-master.2025-03-08

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (98) hide show
  1. package/CHANGELOG.md +33 -3
  2. package/dist/json/attributes.json +3107 -3103
  3. package/dist/json/importMap-labs.json +24 -24
  4. package/dist/json/importMap.json +164 -164
  5. package/dist/json/tags.json +3 -2
  6. package/dist/json/web-types.json +5945 -5924
  7. package/dist/vuetify-labs.css +3283 -3283
  8. package/dist/vuetify-labs.d.ts +314 -142
  9. package/dist/vuetify-labs.esm.js +144 -126
  10. package/dist/vuetify-labs.esm.js.map +1 -1
  11. package/dist/vuetify-labs.js +143 -125
  12. package/dist/vuetify-labs.min.css +2 -2
  13. package/dist/vuetify.css +3835 -3835
  14. package/dist/vuetify.d.ts +264 -150
  15. package/dist/vuetify.esm.js +90 -69
  16. package/dist/vuetify.esm.js.map +1 -1
  17. package/dist/vuetify.js +89 -68
  18. package/dist/vuetify.js.map +1 -1
  19. package/dist/vuetify.min.css +2 -2
  20. package/dist/vuetify.min.js +221 -219
  21. package/dist/vuetify.min.js.map +1 -1
  22. package/lib/components/VAppBar/index.d.mts +15 -6
  23. package/lib/components/VAutocomplete/index.d.mts +2 -2
  24. package/lib/components/VBadge/VBadge.mjs +2 -2
  25. package/lib/components/VBadge/VBadge.mjs.map +1 -1
  26. package/lib/components/VBtn/VBtn.mjs +6 -3
  27. package/lib/components/VBtn/VBtn.mjs.map +1 -1
  28. package/lib/components/VBtn/index.d.mts +15 -6
  29. package/lib/components/VCard/VCard.mjs +12 -3
  30. package/lib/components/VCard/VCard.mjs.map +1 -1
  31. package/lib/components/VCard/VCardItem.mjs +11 -4
  32. package/lib/components/VCard/VCardItem.mjs.map +1 -1
  33. package/lib/components/VCard/index.d.mts +75 -30
  34. package/lib/components/VCarousel/VCarousel.mjs +1 -1
  35. package/lib/components/VCarousel/VCarousel.mjs.map +1 -1
  36. package/lib/components/VChip/VChip.mjs +6 -3
  37. package/lib/components/VChip/VChip.mjs.map +1 -1
  38. package/lib/components/VChip/index.d.mts +15 -6
  39. package/lib/components/VCombobox/index.d.mts +2 -2
  40. package/lib/components/VDataTable/composables/headers.mjs +2 -2
  41. package/lib/components/VDataTable/composables/headers.mjs.map +1 -1
  42. package/lib/components/VDataTable/composables/paginate.mjs +2 -2
  43. package/lib/components/VDataTable/composables/paginate.mjs.map +1 -1
  44. package/lib/components/VDatePicker/VDatePickerMonth.mjs +12 -21
  45. package/lib/components/VDatePicker/VDatePickerMonth.mjs.map +1 -1
  46. package/lib/components/VDatePicker/index.d.mts +3 -3
  47. package/lib/components/VFab/index.d.mts +15 -6
  48. package/lib/components/VList/VListItem.mjs +11 -5
  49. package/lib/components/VList/VListItem.mjs.map +1 -1
  50. package/lib/components/VList/index.d.mts +32 -14
  51. package/lib/components/VPagination/VPagination.mjs +3 -3
  52. package/lib/components/VPagination/VPagination.mjs.map +1 -1
  53. package/lib/components/VParallax/VParallax.mjs +1 -1
  54. package/lib/components/VParallax/VParallax.mjs.map +1 -1
  55. package/lib/components/VRating/VRating.mjs +1 -1
  56. package/lib/components/VRating/VRating.mjs.map +1 -1
  57. package/lib/components/VSelect/index.d.mts +2 -2
  58. package/lib/components/VSlider/slider.mjs +1 -1
  59. package/lib/components/VSlider/slider.mjs.map +1 -1
  60. package/lib/components/VSparkline/VBarline.mjs +1 -1
  61. package/lib/components/VSparkline/VBarline.mjs.map +1 -1
  62. package/lib/components/VTabs/index.d.mts +39 -24
  63. package/lib/components/VTextarea/VTextarea.mjs +2 -2
  64. package/lib/components/VTextarea/VTextarea.mjs.map +1 -1
  65. package/lib/components/index.d.mts +209 -95
  66. package/lib/composables/stack.mjs +2 -2
  67. package/lib/composables/stack.mjs.map +1 -1
  68. package/lib/composables/validation.mjs +2 -2
  69. package/lib/composables/validation.mjs.map +1 -1
  70. package/lib/entry-bundler.mjs +1 -1
  71. package/lib/framework.mjs +1 -1
  72. package/lib/index.d.mts +55 -55
  73. package/lib/labs/VDateInput/VDateInput.mjs +3 -2
  74. package/lib/labs/VDateInput/VDateInput.mjs.map +1 -1
  75. package/lib/labs/VDateInput/index.d.mts +10 -10
  76. package/lib/labs/VFileUpload/VFileUpload.mjs +3 -2
  77. package/lib/labs/VFileUpload/VFileUpload.mjs.map +1 -1
  78. package/lib/labs/VFileUpload/index.d.mts +32 -14
  79. package/lib/labs/VNumberInput/VNumberInput.mjs +5 -5
  80. package/lib/labs/VNumberInput/VNumberInput.mjs.map +1 -1
  81. package/lib/labs/VTimePicker/VTimePicker.mjs +30 -31
  82. package/lib/labs/VTimePicker/VTimePicker.mjs.map +1 -1
  83. package/lib/labs/VTimePicker/VTimePickerControls.mjs +14 -13
  84. package/lib/labs/VTimePicker/VTimePickerControls.mjs.map +1 -1
  85. package/lib/labs/VTimePicker/index.d.mts +35 -13
  86. package/lib/labs/VTimePicker/shared.mjs +2 -0
  87. package/lib/labs/VTimePicker/shared.mjs.map +1 -0
  88. package/lib/labs/VTreeview/index.d.mts +32 -14
  89. package/lib/labs/components.d.mts +107 -49
  90. package/lib/locale/adapters/vuetify.mjs +1 -1
  91. package/lib/locale/adapters/vuetify.mjs.map +1 -1
  92. package/lib/util/animation.mjs +8 -8
  93. package/lib/util/animation.mjs.map +1 -1
  94. package/lib/util/helpers.mjs +6 -4
  95. package/lib/util/helpers.mjs.map +1 -1
  96. package/package.json +1 -1
  97. package/lib/labs/VTimePicker/SelectingTimes.mjs +0 -10
  98. 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: (StringConstructor | NumberConstructor)[];
206
- title: (StringConstructor | NumberConstructor)[];
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: (StringConstructor | NumberConstructor)[];
223
- title: (StringConstructor | NumberConstructor)[];
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: (StringConstructor | NumberConstructor)[];
701
- text: (StringConstructor | NumberConstructor)[];
702
- title: (StringConstructor | NumberConstructor)[];
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: (StringConstructor | NumberConstructor)[];
771
- text: (StringConstructor | NumberConstructor)[];
772
- title: (StringConstructor | NumberConstructor)[];
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, +props.interval > 0 ? +props.interval : 6000);
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: String,
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: StringConstructor;
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: StringConstructor;
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(+item.width)) {
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(+item.width || 0, +item.minWidth || 0);
107
+ item.minWidth = Math.max(Number(item.width) || 0, Number(item.minWidth) || 0);
108
108
  }
109
109
  seenFixed = true;
110
110
  }