vuetify 3.8.3 → 3.8.5

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 (117) hide show
  1. package/dist/_component-variables-labs.sass +1 -0
  2. package/dist/json/attributes.json +4267 -3919
  3. package/dist/json/importMap-labs.json +28 -24
  4. package/dist/json/importMap.json +164 -164
  5. package/dist/json/tags.json +92 -0
  6. package/dist/json/web-types.json +8380 -7153
  7. package/dist/vuetify-labs.cjs +374 -79
  8. package/dist/vuetify-labs.css +3864 -3836
  9. package/dist/vuetify-labs.d.ts +5818 -1810
  10. package/dist/vuetify-labs.esm.js +374 -79
  11. package/dist/vuetify-labs.esm.js.map +1 -1
  12. package/dist/vuetify-labs.js +374 -79
  13. package/dist/vuetify-labs.min.css +2 -2
  14. package/dist/vuetify.cjs +53 -30
  15. package/dist/vuetify.cjs.map +1 -1
  16. package/dist/vuetify.css +3556 -3531
  17. package/dist/vuetify.d.ts +4121 -1210
  18. package/dist/vuetify.esm.js +53 -30
  19. package/dist/vuetify.esm.js.map +1 -1
  20. package/dist/vuetify.js +53 -30
  21. package/dist/vuetify.js.map +1 -1
  22. package/dist/vuetify.min.css +2 -2
  23. package/dist/vuetify.min.js +30 -27
  24. package/dist/vuetify.min.js.map +1 -1
  25. package/lib/components/VAutocomplete/VAutocomplete.d.ts +795 -77
  26. package/lib/components/VBadge/VBadge.d.ts +22 -46
  27. package/lib/components/VBottomNavigation/VBottomNavigation.d.ts +6 -6
  28. package/lib/components/VBottomSheet/VBottomSheet.css +1 -1
  29. package/lib/components/VBottomSheet/VBottomSheet.d.ts +1434 -80
  30. package/lib/components/VBottomSheet/VBottomSheet.sass +1 -1
  31. package/lib/components/VBtn/VBtn.css +25 -0
  32. package/lib/components/VBtn/VBtn.sass +9 -0
  33. package/lib/components/VBtn/_variables.scss +1 -0
  34. package/lib/components/VCombobox/VCombobox.d.ts +795 -77
  35. package/lib/components/VCounter/VCounter.d.ts +22 -46
  36. package/lib/components/VDataIterator/VDataIterator.d.ts +22 -46
  37. package/lib/components/VDataTable/VDataTable.d.ts +110 -110
  38. package/lib/components/VDataTable/VDataTableHeaders.js +1 -2
  39. package/lib/components/VDataTable/VDataTableHeaders.js.map +1 -1
  40. package/lib/components/VDataTable/VDataTableServer.d.ts +62 -189
  41. package/lib/components/VDataTable/VDataTableServer.js.map +1 -1
  42. package/lib/components/VDataTable/VDataTableVirtual.d.ts +62 -189
  43. package/lib/components/VDataTable/VDataTableVirtual.js.map +1 -1
  44. package/lib/components/VDataTable/composables/headers.d.ts +75 -75
  45. package/lib/components/VDataTable/composables/select.js +1 -1
  46. package/lib/components/VDataTable/composables/select.js.map +1 -1
  47. package/lib/components/VDatePicker/VDatePicker.d.ts +3 -3
  48. package/lib/components/VDatePicker/VDatePickerMonth.d.ts +6 -6
  49. package/lib/components/VDialog/VDialog.d.ts +1048 -146
  50. package/lib/components/VDialog/VDialog.js +1 -1
  51. package/lib/components/VDialog/VDialog.js.map +1 -1
  52. package/lib/components/VFab/VFab.d.ts +22 -46
  53. package/lib/components/VFileInput/VFileInput.css +4 -0
  54. package/lib/components/VFileInput/VFileInput.js +21 -3
  55. package/lib/components/VFileInput/VFileInput.js.map +1 -1
  56. package/lib/components/VFileInput/VFileInput.sass +4 -0
  57. package/lib/components/VImg/VImg.d.ts +22 -49
  58. package/lib/components/VLazy/VLazy.d.ts +22 -46
  59. package/lib/components/VMenu/VMenu.d.ts +1048 -146
  60. package/lib/components/VMenu/VMenu.js.map +1 -1
  61. package/lib/components/VMessages/VMessages.d.ts +22 -46
  62. package/lib/components/VNumberInput/VNumberInput.d.ts +3 -3
  63. package/lib/components/VOverlay/VOverlay.d.ts +22 -49
  64. package/lib/components/VOverlay/locationStrategies.js +1 -1
  65. package/lib/components/VOverlay/locationStrategies.js.map +1 -1
  66. package/lib/components/VSelect/VSelect.d.ts +1235 -93
  67. package/lib/components/VSnackbar/VSnackbar.d.ts +58 -109
  68. package/lib/components/VSnackbarQueue/VSnackbarQueue.d.ts +25 -47
  69. package/lib/components/VSnackbarQueue/VSnackbarQueue.js.map +1 -1
  70. package/lib/components/VSpeedDial/VSpeedDial.d.ts +1434 -80
  71. package/lib/components/VTable/VTable.css +2 -6
  72. package/lib/components/VTable/VTable.sass +4 -22
  73. package/lib/components/VTabs/VTabs.d.ts +6 -6
  74. package/lib/components/VTextField/VTextField.js +5 -3
  75. package/lib/components/VTextField/VTextField.js.map +1 -1
  76. package/lib/components/VTooltip/VTooltip.d.ts +58 -109
  77. package/lib/components/VTooltip/VTooltip.js +2 -2
  78. package/lib/components/VTooltip/VTooltip.js.map +1 -1
  79. package/lib/components/transitions/dialog-transition.js +3 -3
  80. package/lib/components/transitions/dialog-transition.js.map +1 -1
  81. package/lib/composables/dateFormat.d.ts +24 -0
  82. package/lib/composables/dateFormat.js +112 -0
  83. package/lib/composables/dateFormat.js.map +1 -0
  84. package/lib/composables/transition.d.ts +10 -20
  85. package/lib/composables/transition.js +15 -12
  86. package/lib/composables/transition.js.map +1 -1
  87. package/lib/entry-bundler.d.ts +6 -6
  88. package/lib/entry-bundler.js +1 -1
  89. package/lib/framework.d.ts +113 -149
  90. package/lib/framework.js +1 -1
  91. package/lib/iconsets/mdi.js +2 -1
  92. package/lib/iconsets/mdi.js.map +1 -1
  93. package/lib/labs/VCalendar/VCalendar.d.ts +3 -3
  94. package/lib/labs/VCalendar/VCalendarDay.d.ts +3 -3
  95. package/lib/labs/VCalendar/VCalendarInterval.d.ts +3 -3
  96. package/lib/labs/VCalendar/VCalendarMonthDay.d.ts +3 -3
  97. package/lib/labs/VColorInput/VColorInput.css +4 -0
  98. package/lib/labs/VColorInput/VColorInput.d.ts +1767 -0
  99. package/lib/labs/VColorInput/VColorInput.js +129 -0
  100. package/lib/labs/VColorInput/VColorInput.js.map +1 -0
  101. package/lib/labs/VColorInput/VColorInput.sass +7 -0
  102. package/lib/labs/VColorInput/_variables.scss +2 -0
  103. package/lib/labs/VColorInput/index.d.ts +1 -0
  104. package/lib/labs/VColorInput/index.js +2 -0
  105. package/lib/labs/VColorInput/index.js.map +1 -0
  106. package/lib/labs/VDateInput/VDateInput.d.ts +96 -34
  107. package/lib/labs/VDateInput/VDateInput.js +71 -17
  108. package/lib/labs/VDateInput/VDateInput.js.map +1 -1
  109. package/lib/labs/VFileUpload/VFileUpload.js +19 -31
  110. package/lib/labs/VFileUpload/VFileUpload.js.map +1 -1
  111. package/lib/labs/VTimePicker/VTimePickerClock.js +2 -2
  112. package/lib/labs/VTimePicker/VTimePickerClock.js.map +1 -1
  113. package/lib/labs/components.d.ts +1 -0
  114. package/lib/labs/components.js +1 -0
  115. package/lib/labs/components.js.map +1 -1
  116. package/lib/util/helpers.js.map +1 -1
  117. package/package.json +7 -8
@@ -15,7 +15,9 @@ export type VSnackbarQueueSlots<T extends string | SnackbarMessage> = {
15
15
  };
16
16
  };
17
17
  };
18
- export type SnackbarMessage = string | Omit<VSnackbar['$props'], 'modelValue' | 'onUpdate:modelValue' | 'activator' | 'activatorProps' | 'closeDelay' | 'openDelay' | 'openOnClick' | 'openOnFocus' | 'openOnHover' | '$children' | 'v-slots' | `v-slot:${string}` | keyof VNodeProps>;
18
+ export type SnackbarMessage = string | (Omit<VSnackbar['$props'], 'modelValue' | 'onUpdate:modelValue' | 'activator' | 'activatorProps' | 'closeDelay' | 'openDelay' | 'openOnClick' | 'openOnFocus' | 'openOnHover' | 'style' | '$children' | 'v-slots' | `v-slot:${string}` | keyof VNodeProps> & {
19
+ style?: any;
20
+ });
19
21
  export declare const makeVSnackbarQueueProps: <Defaults extends {
20
22
  variant?: unknown;
21
23
  offset?: unknown;
@@ -146,43 +148,31 @@ export declare const makeVSnackbarQueueProps: <Defaults extends {
146
148
  type: PropType<unknown extends Defaults["position"] ? "fixed" | "absolute" | "relative" | "static" | "sticky" : "fixed" | "absolute" | "relative" | "static" | "sticky" | Defaults["position"]>;
147
149
  default: unknown extends Defaults["position"] ? "fixed" | "absolute" | "relative" | "static" | "sticky" : NonNullable<"fixed" | "absolute" | "relative" | "static" | "sticky"> | Defaults["position"];
148
150
  };
149
- transition: unknown extends Defaults["transition"] ? Omit<{
151
+ transition: unknown extends Defaults["transition"] ? {
150
152
  type: PropType<string | boolean | (import("vue").TransitionProps & {
151
153
  component?: import("vue").Component;
152
- })>;
153
- default: string;
154
- validator: (val: unknown) => boolean;
155
- }, "type" | "default"> & {
156
- type: PropType<string | boolean | (import("vue").TransitionProps & {
157
- component?: import("vue").Component;
158
- })>;
154
+ }) | null>;
159
155
  default: NonNullable<string | boolean | (import("vue").TransitionProps & {
160
156
  component?: import("vue").Component;
161
- })>;
162
- } : Omit<Omit<{
163
- type: PropType<string | boolean | (import("vue").TransitionProps & {
164
- component?: import("vue").Component;
165
- })>;
166
- default: string;
167
- validator: (val: unknown) => boolean;
168
- }, "type" | "default"> & {
157
+ }) | null>;
158
+ } : Omit<{
169
159
  type: PropType<string | boolean | (import("vue").TransitionProps & {
170
160
  component?: import("vue").Component;
171
- })>;
161
+ }) | null>;
172
162
  default: NonNullable<string | boolean | (import("vue").TransitionProps & {
173
163
  component?: import("vue").Component;
174
- })>;
164
+ }) | null>;
175
165
  }, "type" | "default"> & {
176
166
  type: PropType<unknown extends Defaults["transition"] ? string | boolean | (import("vue").TransitionProps & {
177
167
  component?: import("vue").Component;
178
- }) : string | boolean | (import("vue").TransitionProps & {
168
+ }) | null : string | boolean | (import("vue").TransitionProps & {
179
169
  component?: import("vue").Component;
180
- }) | Defaults["transition"]>;
170
+ }) | Defaults["transition"] | null>;
181
171
  default: unknown extends Defaults["transition"] ? string | boolean | (import("vue").TransitionProps & {
182
172
  component?: import("vue").Component;
183
- }) : NonNullable<string | boolean | (import("vue").TransitionProps & {
173
+ }) | null : NonNullable<string | boolean | (import("vue").TransitionProps & {
184
174
  component?: import("vue").Component;
185
- })> | Defaults["transition"];
175
+ }) | null> | Defaults["transition"];
186
176
  };
187
177
  zIndex: unknown extends Defaults["zIndex"] ? {
188
178
  type: (StringConstructor | NumberConstructor)[];
@@ -385,7 +375,7 @@ export declare const VSnackbarQueue: {
385
375
  origin: "auto" | import("../../util/index.js").Anchor | "overlap";
386
376
  transition: string | boolean | (import("vue").TransitionProps & {
387
377
  component?: import("vue").Component;
388
- });
378
+ }) | null;
389
379
  zIndex: string | number;
390
380
  style: import("vue").StyleValue;
391
381
  eager: boolean;
@@ -436,7 +426,7 @@ export declare const VSnackbarQueue: {
436
426
  origin: "auto" | import("../../util/index.js").Anchor | "overlap";
437
427
  transition: string | boolean | (import("vue").TransitionProps & {
438
428
  component?: import("vue").Component;
439
- });
429
+ }) | null;
440
430
  zIndex: string | number;
441
431
  style: import("vue").StyleValue;
442
432
  eager: boolean;
@@ -482,7 +472,7 @@ export declare const VSnackbarQueue: {
482
472
  origin: "auto" | import("../../util/index.js").Anchor | "overlap";
483
473
  transition: string | boolean | (import("vue").TransitionProps & {
484
474
  component?: import("vue").Component;
485
- });
475
+ }) | null;
486
476
  zIndex: string | number;
487
477
  style: import("vue").StyleValue;
488
478
  eager: boolean;
@@ -531,7 +521,7 @@ export declare const VSnackbarQueue: {
531
521
  origin: "auto" | import("../../util/index.js").Anchor | "overlap";
532
522
  transition: string | boolean | (import("vue").TransitionProps & {
533
523
  component?: import("vue").Component;
534
- });
524
+ }) | null;
535
525
  zIndex: string | number;
536
526
  style: import("vue").StyleValue;
537
527
  eager: boolean;
@@ -561,7 +551,7 @@ export declare const VSnackbarQueue: {
561
551
  origin: "auto" | import("../../util/index.js").Anchor | "overlap";
562
552
  transition: string | boolean | (import("vue").TransitionProps & {
563
553
  component?: import("vue").Component;
564
- });
554
+ }) | null;
565
555
  zIndex: string | number;
566
556
  style: import("vue").StyleValue;
567
557
  eager: boolean;
@@ -612,7 +602,7 @@ export declare const VSnackbarQueue: {
612
602
  origin: "auto" | import("../../util/index.js").Anchor | "overlap";
613
603
  transition: string | boolean | (import("vue").TransitionProps & {
614
604
  component?: import("vue").Component;
615
- });
605
+ }) | null;
616
606
  zIndex: string | number;
617
607
  style: import("vue").StyleValue;
618
608
  eager: boolean;
@@ -675,19 +665,13 @@ export declare const VSnackbarQueue: {
675
665
  type: PropType<"fixed" | "absolute" | "relative" | "static" | "sticky">;
676
666
  validator: (v: any) => boolean;
677
667
  };
678
- transition: Omit<{
668
+ transition: {
679
669
  type: PropType<string | boolean | (import("vue").TransitionProps & {
680
670
  component?: import("vue").Component;
681
- })>;
682
- default: string;
683
- validator: (val: unknown) => boolean;
684
- }, "type" | "default"> & {
685
- type: PropType<string | boolean | (import("vue").TransitionProps & {
686
- component?: import("vue").Component;
687
- })>;
671
+ }) | null>;
688
672
  default: NonNullable<string | boolean | (import("vue").TransitionProps & {
689
673
  component?: import("vue").Component;
690
- })>;
674
+ }) | null>;
691
675
  };
692
676
  zIndex: {
693
677
  type: (StringConstructor | NumberConstructor)[];
@@ -782,19 +766,13 @@ export declare const VSnackbarQueue: {
782
766
  type: PropType<"fixed" | "absolute" | "relative" | "static" | "sticky">;
783
767
  validator: (v: any) => boolean;
784
768
  };
785
- transition: Omit<{
786
- type: PropType<string | boolean | (import("vue").TransitionProps & {
787
- component?: import("vue").Component;
788
- })>;
789
- default: string;
790
- validator: (val: unknown) => boolean;
791
- }, "type" | "default"> & {
769
+ transition: {
792
770
  type: PropType<string | boolean | (import("vue").TransitionProps & {
793
771
  component?: import("vue").Component;
794
- })>;
772
+ }) | null>;
795
773
  default: NonNullable<string | boolean | (import("vue").TransitionProps & {
796
774
  component?: import("vue").Component;
797
- })>;
775
+ }) | null>;
798
776
  };
799
777
  zIndex: {
800
778
  type: (StringConstructor | NumberConstructor)[];
@@ -1 +1 @@
1
- {"version":3,"file":"VSnackbarQueue.js","names":["VBtn","VDefaultsProvider","makeVSnackbarProps","VSnackbar","useLocale","computed","nextTick","shallowRef","watch","genericComponent","omit","propsFactory","useRender","makeVSnackbarQueueProps","closable","Boolean","String","closeText","type","default","modelValue","Array","VSnackbarQueue","name","props","emits","val","setup","_ref","emit","slots","t","isActive","isVisible","current","length","oldVal","value","showNext","onAfterLeave","undefined","next","rest","text","onClickClose","btnProps","color","hasActions","actions","_","snackbarProps","filterProps","_createVNode","_Fragment","item","_mergeProps","$event","onClick"],"sources":["../../../src/components/VSnackbarQueue/VSnackbarQueue.tsx"],"sourcesContent":["// Components\nimport { VBtn } from '@/components/VBtn'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { makeVSnackbarProps, VSnackbar } from '@/components/VSnackbar/VSnackbar'\n\n// Composables\nimport { useLocale } from '@/composables/locale'\n\n// Utilities\nimport { computed, nextTick, shallowRef, watch } from 'vue'\nimport { genericComponent, omit, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType, VNodeProps } from 'vue'\nimport type { GenericProps } from '@/util'\n\nexport type VSnackbarQueueSlots<T extends string | SnackbarMessage> = {\n default: { item: T }\n text: { item: T }\n actions: {\n item: T\n props: {\n onClick: () => void\n }\n }\n}\n\nexport type SnackbarMessage = string | Omit<\n VSnackbar['$props'],\n | 'modelValue'\n | 'onUpdate:modelValue'\n | 'activator'\n | 'activatorProps'\n | 'closeDelay'\n | 'openDelay'\n | 'openOnClick'\n | 'openOnFocus'\n | 'openOnHover'\n | '$children'\n | 'v-slots'\n | `v-slot:${string}`\n | keyof VNodeProps\n>\n\nexport const makeVSnackbarQueueProps = propsFactory({\n // TODO: Port this to Snackbar on dev\n closable: [Boolean, String],\n closeText: {\n type: String,\n default: '$vuetify.dismiss',\n },\n modelValue: {\n type: Array as PropType<readonly SnackbarMessage[]>,\n default: () => [],\n },\n\n ...omit(makeVSnackbarProps(), ['modelValue']),\n}, 'VSnackbarQueue')\n\nexport const VSnackbarQueue = genericComponent<new <T extends readonly SnackbarMessage[]> (\n props: {\n modelValue?: T\n 'onUpdate:modelValue'?: (val: T) => void\n },\n slots: VSnackbarQueueSlots<T[number]>,\n) => GenericProps<typeof props, typeof slots>>()({\n name: 'VSnackbarQueue',\n\n props: makeVSnackbarQueueProps(),\n\n emits: {\n 'update:modelValue': (val: SnackbarMessage[]) => true,\n },\n\n setup (props, { emit, slots }) {\n const { t } = useLocale()\n\n const isActive = shallowRef(false)\n const isVisible = shallowRef(false)\n const current = shallowRef<Exclude<SnackbarMessage, string>>()\n\n watch(() => props.modelValue.length, (val, oldVal) => {\n if (!isVisible.value && val > oldVal) {\n showNext()\n }\n })\n watch(isActive, val => {\n if (val) isVisible.value = true\n })\n\n function onAfterLeave () {\n if (props.modelValue.length) {\n showNext()\n } else {\n current.value = undefined\n isVisible.value = false\n }\n }\n function showNext () {\n const [next, ...rest] = props.modelValue\n emit('update:modelValue', rest)\n current.value = typeof next === 'string' ? { text: next } : next\n nextTick(() => {\n isActive.value = true\n })\n }\n function onClickClose () {\n isActive.value = false\n }\n\n const btnProps = computed(() => ({\n color: typeof props.closable === 'string' ? props.closable : undefined,\n text: t(props.closeText),\n }))\n\n useRender(() => {\n const hasActions = !!(props.closable || slots.actions)\n const { modelValue: _, ...snackbarProps } = VSnackbar.filterProps(props as any)\n\n return (\n <>\n { isVisible.value && !!current.value && (\n slots.default\n ? (\n <VDefaultsProvider defaults={{ VSnackbar: current.value }}>\n { slots.default({ item: current.value }) }\n </VDefaultsProvider>\n ) : (\n <VSnackbar\n { ...snackbarProps }\n { ...current.value }\n v-model={ isActive.value }\n onAfterLeave={ onAfterLeave }\n >\n {{\n text: slots.text ? () => slots.text?.({ item: current.value! }) : undefined,\n actions: hasActions ? () => (\n <>\n { !slots.actions ? (\n <VBtn\n { ...btnProps.value }\n onClick={ onClickClose }\n />\n ) : (\n <VDefaultsProvider\n defaults={{\n VBtn: btnProps.value,\n }}\n >\n { slots.actions({\n item: current.value!,\n props: { onClick: onClickClose },\n })}\n </VDefaultsProvider>\n )}\n </>\n ) : undefined,\n }}\n </VSnackbar>\n )\n )}\n </>\n )\n })\n },\n})\n\nexport type VSnackbarQueue = InstanceType<typeof VSnackbarQueue>\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"VSnackbarQueue.js","names":["VBtn","VDefaultsProvider","makeVSnackbarProps","VSnackbar","useLocale","computed","nextTick","shallowRef","watch","genericComponent","omit","propsFactory","useRender","makeVSnackbarQueueProps","closable","Boolean","String","closeText","type","default","modelValue","Array","VSnackbarQueue","name","props","emits","val","setup","_ref","emit","slots","t","isActive","isVisible","current","length","oldVal","value","showNext","onAfterLeave","undefined","next","rest","text","onClickClose","btnProps","color","hasActions","actions","_","snackbarProps","filterProps","_createVNode","_Fragment","item","_mergeProps","$event","onClick"],"sources":["../../../src/components/VSnackbarQueue/VSnackbarQueue.tsx"],"sourcesContent":["// Components\nimport { VBtn } from '@/components/VBtn'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { makeVSnackbarProps, VSnackbar } from '@/components/VSnackbar/VSnackbar'\n\n// Composables\nimport { useLocale } from '@/composables/locale'\n\n// Utilities\nimport { computed, nextTick, shallowRef, watch } from 'vue'\nimport { genericComponent, omit, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType, VNodeProps } from 'vue'\nimport type { GenericProps } from '@/util'\n\nexport type VSnackbarQueueSlots<T extends string | SnackbarMessage> = {\n default: { item: T }\n text: { item: T }\n actions: {\n item: T\n props: {\n onClick: () => void\n }\n }\n}\n\nexport type SnackbarMessage =\n | string\n | (Omit<\n VSnackbar['$props'],\n | 'modelValue'\n | 'onUpdate:modelValue'\n | 'activator'\n | 'activatorProps'\n | 'closeDelay'\n | 'openDelay'\n | 'openOnClick'\n | 'openOnFocus'\n | 'openOnHover'\n | 'style'\n | '$children'\n | 'v-slots'\n | `v-slot:${string}`\n | keyof VNodeProps\n > & { style?: any })\n\nexport const makeVSnackbarQueueProps = propsFactory({\n // TODO: Port this to Snackbar on dev\n closable: [Boolean, String],\n closeText: {\n type: String,\n default: '$vuetify.dismiss',\n },\n modelValue: {\n type: Array as PropType<readonly SnackbarMessage[]>,\n default: () => [],\n },\n\n ...omit(makeVSnackbarProps(), ['modelValue']),\n}, 'VSnackbarQueue')\n\nexport const VSnackbarQueue = genericComponent<new <T extends readonly SnackbarMessage[]> (\n props: {\n modelValue?: T\n 'onUpdate:modelValue'?: (val: T) => void\n },\n slots: VSnackbarQueueSlots<T[number]>,\n) => GenericProps<typeof props, typeof slots>>()({\n name: 'VSnackbarQueue',\n\n props: makeVSnackbarQueueProps(),\n\n emits: {\n 'update:modelValue': (val: SnackbarMessage[]) => true,\n },\n\n setup (props, { emit, slots }) {\n const { t } = useLocale()\n\n const isActive = shallowRef(false)\n const isVisible = shallowRef(false)\n const current = shallowRef<Exclude<SnackbarMessage, string>>()\n\n watch(() => props.modelValue.length, (val, oldVal) => {\n if (!isVisible.value && val > oldVal) {\n showNext()\n }\n })\n watch(isActive, val => {\n if (val) isVisible.value = true\n })\n\n function onAfterLeave () {\n if (props.modelValue.length) {\n showNext()\n } else {\n current.value = undefined\n isVisible.value = false\n }\n }\n function showNext () {\n const [next, ...rest] = props.modelValue\n emit('update:modelValue', rest)\n current.value = typeof next === 'string' ? { text: next } : next\n nextTick(() => {\n isActive.value = true\n })\n }\n function onClickClose () {\n isActive.value = false\n }\n\n const btnProps = computed(() => ({\n color: typeof props.closable === 'string' ? props.closable : undefined,\n text: t(props.closeText),\n }))\n\n useRender(() => {\n const hasActions = !!(props.closable || slots.actions)\n const { modelValue: _, ...snackbarProps } = VSnackbar.filterProps(props as any)\n\n return (\n <>\n { isVisible.value && !!current.value && (\n slots.default\n ? (\n <VDefaultsProvider defaults={{ VSnackbar: current.value }}>\n { slots.default({ item: current.value }) }\n </VDefaultsProvider>\n ) : (\n <VSnackbar\n { ...snackbarProps }\n { ...current.value }\n v-model={ isActive.value }\n onAfterLeave={ onAfterLeave }\n >\n {{\n text: slots.text ? () => slots.text?.({ item: current.value! }) : undefined,\n actions: hasActions ? () => (\n <>\n { !slots.actions ? (\n <VBtn\n { ...btnProps.value }\n onClick={ onClickClose }\n />\n ) : (\n <VDefaultsProvider\n defaults={{\n VBtn: btnProps.value,\n }}\n >\n { slots.actions({\n item: current.value!,\n props: { onClick: onClickClose },\n })}\n </VDefaultsProvider>\n )}\n </>\n ) : undefined,\n }}\n </VSnackbar>\n )\n )}\n </>\n )\n })\n },\n})\n\nexport type VSnackbarQueue = InstanceType<typeof VSnackbarQueue>\n"],"mappings":"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","ignoreList":[]}