@vuetify/nightly 3.8.10-dev.2025-06-18 → 3.8.10-dev.2025-06-19
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 +14 -4
- package/dist/_component-variables-labs.sass +1 -3
- package/dist/_component-variables.sass +2 -0
- package/dist/json/attributes.json +3889 -3885
- package/dist/json/importMap-labs.json +32 -56
- package/dist/json/importMap.json +180 -156
- package/dist/json/tags.json +7 -6
- package/dist/json/web-types.json +7006 -6996
- package/dist/vuetify-labs.cjs +3071 -3065
- package/dist/vuetify-labs.css +5691 -5661
- package/dist/vuetify-labs.d.ts +8142 -4681
- package/dist/vuetify-labs.esm.js +3071 -3065
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +3071 -3065
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.cjs +1218 -160
- package/dist/vuetify.cjs.map +1 -1
- package/dist/vuetify.css +5014 -4715
- package/dist/vuetify.d.ts +6675 -1051
- package/dist/vuetify.esm.js +1218 -160
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +1218 -160
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +1224 -1143
- package/dist/vuetify.min.js.map +1 -1
- package/lib/components/VAutocomplete/VAutocomplete.d.ts +18 -18
- package/lib/components/VCarousel/VCarousel.d.ts +11 -1
- package/lib/components/VCheckbox/VCheckbox.d.ts +696 -3
- package/lib/components/VCheckbox/VCheckbox.js +5 -2
- package/lib/components/VCheckbox/VCheckbox.js.map +1 -1
- package/lib/components/VCombobox/VCombobox.d.ts +18 -18
- package/lib/components/VFileInput/VFileInput.d.ts +6 -6
- package/lib/components/VList/VListItem.d.ts +3 -3
- package/lib/components/VList/VListItem.js.map +1 -1
- package/lib/components/VNumberInput/VNumberInput.d.ts +18 -18
- package/lib/components/VRadioGroup/VRadioGroup.d.ts +696 -3
- package/lib/components/VRadioGroup/VRadioGroup.js +5 -2
- package/lib/components/VRadioGroup/VRadioGroup.js.map +1 -1
- package/lib/components/VRangeSlider/VRangeSlider.d.ts +696 -3
- package/lib/components/VRangeSlider/VRangeSlider.js +2 -1
- package/lib/components/VRangeSlider/VRangeSlider.js.map +1 -1
- package/lib/components/VSelect/VSelect.d.ts +18 -18
- package/lib/components/VSlider/VSlider.d.ts +696 -3
- package/lib/components/VSlider/VSlider.js +4 -1
- package/lib/components/VSlider/VSlider.js.map +1 -1
- package/lib/components/VStepper/VStepperWindow.d.ts +10 -0
- package/lib/components/VSwitch/VSwitch.d.ts +696 -3
- package/lib/components/VSwitch/VSwitch.js +4 -1
- package/lib/components/VSwitch/VSwitch.js.map +1 -1
- package/lib/components/VTabs/VTabsWindow.d.ts +10 -0
- package/lib/components/VTextField/VTextField.d.ts +6 -6
- package/lib/components/VTextarea/VTextarea.d.ts +6 -6
- package/lib/{labs → components}/VTimePicker/VTimePicker.d.ts +1 -14
- package/lib/{labs → components}/VTimePicker/VTimePicker.js +2 -4
- package/lib/components/VTimePicker/VTimePicker.js.map +1 -0
- package/lib/components/VTimePicker/VTimePickerClock.js.map +1 -0
- package/lib/{labs → components}/VTimePicker/VTimePickerControls.d.ts +0 -26
- package/lib/{labs → components}/VTimePicker/VTimePickerControls.js +3 -7
- package/lib/components/VTimePicker/VTimePickerControls.js.map +1 -0
- package/lib/{labs → components}/VTimePicker/_variables.scss +1 -1
- package/lib/components/VTimePicker/index.js.map +1 -0
- package/lib/components/VTimePicker/shared.js.map +1 -0
- package/lib/components/VTimePicker/util.js.map +1 -0
- package/lib/{labs → components}/VTreeview/VTreeview.d.ts +10 -10
- package/lib/{labs → components}/VTreeview/VTreeview.js +1 -1
- package/lib/components/VTreeview/VTreeview.js.map +1 -0
- package/lib/{labs → components}/VTreeview/VTreeviewChildren.d.ts +22 -22
- package/lib/{labs → components}/VTreeview/VTreeviewChildren.js +1 -1
- package/lib/components/VTreeview/VTreeviewChildren.js.map +1 -0
- package/lib/{labs → components}/VTreeview/VTreeviewGroup.js +2 -2
- package/lib/components/VTreeview/VTreeviewGroup.js.map +1 -0
- package/lib/{labs → components}/VTreeview/VTreeviewItem.d.ts +58 -58
- package/lib/{labs → components}/VTreeview/VTreeviewItem.js +4 -4
- package/lib/components/VTreeview/VTreeviewItem.js.map +1 -0
- package/lib/components/VTreeview/index.js.map +1 -0
- package/lib/components/VTreeview/shared.js.map +1 -0
- package/lib/components/VWindow/VWindow.css +15 -0
- package/lib/components/VWindow/VWindow.d.ts +10 -0
- package/lib/components/VWindow/VWindow.js +8 -2
- package/lib/components/VWindow/VWindow.js.map +1 -1
- package/lib/components/VWindow/VWindow.sass +17 -0
- package/lib/components/VWindow/_variables.scss +1 -0
- package/lib/components/index.d.ts +2 -0
- package/lib/components/index.js +4 -2
- package/lib/components/index.js.map +1 -1
- package/lib/composables/forwardRefs.d.ts +2 -2
- package/lib/composables/forwardRefs.js.map +1 -1
- package/lib/composables/icons.d.ts +1 -1
- package/lib/composables/icons.js.map +1 -1
- package/lib/composables/mask.d.ts +1 -1
- package/lib/composables/mask.js.map +1 -1
- package/lib/composables/theme.d.ts +1 -1
- package/lib/composables/theme.js +2 -4
- package/lib/composables/theme.js.map +1 -1
- package/lib/entry-bundler.js +1 -1
- package/lib/framework.d.ts +68 -68
- package/lib/framework.js +1 -1
- package/lib/labs/VCalendar/VCalendar.d.ts +24 -24
- package/lib/labs/VCalendar/VCalendar.js.map +1 -1
- package/lib/labs/VDateInput/VDateInput.d.ts +18 -18
- package/lib/labs/VMaskInput/VMaskInput.d.ts +18 -18
- package/lib/labs/components.d.ts +0 -2
- package/lib/labs/components.js +0 -2
- package/lib/labs/components.js.map +1 -1
- package/lib/styles/main.css +15 -0
- package/lib/styles/utilities/_index.sass +1 -0
- package/lib/styles/utilities/_pointer-events.sass +16 -0
- package/lib/util/helpers.d.ts +1 -0
- package/lib/util/helpers.js.map +1 -1
- package/package.json +1 -1
- package/lib/labs/VTimePicker/VTimePicker.js.map +0 -1
- package/lib/labs/VTimePicker/VTimePickerClock.js.map +0 -1
- package/lib/labs/VTimePicker/VTimePickerControls.js.map +0 -1
- package/lib/labs/VTimePicker/index.js.map +0 -1
- package/lib/labs/VTimePicker/shared.js.map +0 -1
- package/lib/labs/VTimePicker/util.js.map +0 -1
- package/lib/labs/VTreeview/VTreeview.js.map +0 -1
- package/lib/labs/VTreeview/VTreeviewChildren.js.map +0 -1
- package/lib/labs/VTreeview/VTreeviewGroup.js.map +0 -1
- package/lib/labs/VTreeview/VTreeviewItem.js.map +0 -1
- package/lib/labs/VTreeview/index.js.map +0 -1
- package/lib/labs/VTreeview/shared.js.map +0 -1
- /package/lib/{labs → components}/VTimePicker/VTimePicker.css +0 -0
- /package/lib/{labs → components}/VTimePicker/VTimePicker.sass +0 -0
- /package/lib/{labs → components}/VTimePicker/VTimePickerClock.css +0 -0
- /package/lib/{labs → components}/VTimePicker/VTimePickerClock.d.ts +0 -0
- /package/lib/{labs → components}/VTimePicker/VTimePickerClock.js +0 -0
- /package/lib/{labs → components}/VTimePicker/VTimePickerClock.sass +0 -0
- /package/lib/{labs → components}/VTimePicker/VTimePickerControls.css +0 -0
- /package/lib/{labs → components}/VTimePicker/VTimePickerControls.sass +0 -0
- /package/lib/{labs → components}/VTimePicker/index.d.ts +0 -0
- /package/lib/{labs → components}/VTimePicker/index.js +0 -0
- /package/lib/{labs → components}/VTimePicker/shared.d.ts +0 -0
- /package/lib/{labs → components}/VTimePicker/shared.js +0 -0
- /package/lib/{labs → components}/VTimePicker/util.d.ts +0 -0
- /package/lib/{labs → components}/VTimePicker/util.js +0 -0
- /package/lib/{labs → components}/VTreeview/VTreeviewGroup.d.ts +0 -0
- /package/lib/{labs → components}/VTreeview/VTreeviewItem.css +0 -0
- /package/lib/{labs → components}/VTreeview/VTreeviewItem.sass +0 -0
- /package/lib/{labs → components}/VTreeview/_variables.scss +0 -0
- /package/lib/{labs → components}/VTreeview/index.d.ts +0 -0
- /package/lib/{labs → components}/VTreeview/index.js +0 -0
- /package/lib/{labs → components}/VTreeview/shared.d.ts +0 -0
- /package/lib/{labs → components}/VTreeview/shared.js +0 -0
@@ -355,26 +355,26 @@ export declare const VTreeviewItem: {
|
|
355
355
|
subtitle?: string | number | boolean | undefined;
|
356
356
|
toggleIcon?: IconValue | undefined;
|
357
357
|
} & {
|
358
|
-
$children?: import("vue").VNodeChild | ((arg: import("
|
359
|
-
prepend?: ((arg: import("
|
360
|
-
append?: ((arg: import("
|
361
|
-
default?: ((arg: import("
|
362
|
-
title?: ((arg: import("
|
363
|
-
subtitle?: ((arg: import("
|
358
|
+
$children?: import("vue").VNodeChild | ((arg: import("../VList/VListItem.js").ListItemSlot) => import("vue").VNodeChild) | {
|
359
|
+
prepend?: ((arg: import("../VList/VListItem.js").ListItemSlot) => import("vue").VNodeChild) | undefined;
|
360
|
+
append?: ((arg: import("../VList/VListItem.js").ListItemSlot) => import("vue").VNodeChild) | undefined;
|
361
|
+
default?: ((arg: import("../VList/VListItem.js").ListItemSlot) => import("vue").VNodeChild) | undefined;
|
362
|
+
title?: ((arg: import("../VList/VListItem.js").ListItemTitleSlot) => import("vue").VNodeChild) | undefined;
|
363
|
+
subtitle?: ((arg: import("../VList/VListItem.js").ListItemSubtitleSlot) => import("vue").VNodeChild) | undefined;
|
364
364
|
};
|
365
365
|
'v-slots'?: {
|
366
|
-
prepend?: false | ((arg: import("
|
367
|
-
append?: false | ((arg: import("
|
368
|
-
default?: false | ((arg: import("
|
369
|
-
title?: false | ((arg: import("
|
370
|
-
subtitle?: false | ((arg: import("
|
366
|
+
prepend?: false | ((arg: import("../VList/VListItem.js").ListItemSlot) => import("vue").VNodeChild) | undefined;
|
367
|
+
append?: false | ((arg: import("../VList/VListItem.js").ListItemSlot) => import("vue").VNodeChild) | undefined;
|
368
|
+
default?: false | ((arg: import("../VList/VListItem.js").ListItemSlot) => import("vue").VNodeChild) | undefined;
|
369
|
+
title?: false | ((arg: import("../VList/VListItem.js").ListItemTitleSlot) => import("vue").VNodeChild) | undefined;
|
370
|
+
subtitle?: false | ((arg: import("../VList/VListItem.js").ListItemSubtitleSlot) => import("vue").VNodeChild) | undefined;
|
371
371
|
} | undefined;
|
372
372
|
} & {
|
373
|
-
"v-slot:prepend"?: false | ((arg: import("
|
374
|
-
"v-slot:append"?: false | ((arg: import("
|
375
|
-
"v-slot:default"?: false | ((arg: import("
|
376
|
-
"v-slot:title"?: false | ((arg: import("
|
377
|
-
"v-slot:subtitle"?: false | ((arg: import("
|
373
|
+
"v-slot:prepend"?: false | ((arg: import("../VList/VListItem.js").ListItemSlot) => import("vue").VNodeChild) | undefined;
|
374
|
+
"v-slot:append"?: false | ((arg: import("../VList/VListItem.js").ListItemSlot) => import("vue").VNodeChild) | undefined;
|
375
|
+
"v-slot:default"?: false | ((arg: import("../VList/VListItem.js").ListItemSlot) => import("vue").VNodeChild) | undefined;
|
376
|
+
"v-slot:title"?: false | ((arg: import("../VList/VListItem.js").ListItemTitleSlot) => import("vue").VNodeChild) | undefined;
|
377
|
+
"v-slot:subtitle"?: false | ((arg: import("../VList/VListItem.js").ListItemSubtitleSlot) => import("vue").VNodeChild) | undefined;
|
378
378
|
} & {
|
379
379
|
onToggleExpand?: ((value: PointerEvent) => any) | undefined;
|
380
380
|
}, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
@@ -401,11 +401,11 @@ export declare const VTreeviewItem: {
|
|
401
401
|
} | undefined;
|
402
402
|
subtitle: string | number | boolean;
|
403
403
|
}, true, {}, import("vue").SlotsType<Partial<{
|
404
|
-
prepend: (arg: import("
|
405
|
-
append: (arg: import("
|
406
|
-
default: (arg: import("
|
407
|
-
title: (arg: import("
|
408
|
-
subtitle: (arg: import("
|
404
|
+
prepend: (arg: import("../VList/VListItem.js").ListItemSlot) => import("vue").VNode[];
|
405
|
+
append: (arg: import("../VList/VListItem.js").ListItemSlot) => import("vue").VNode[];
|
406
|
+
default: (arg: import("../VList/VListItem.js").ListItemSlot) => import("vue").VNode[];
|
407
|
+
title: (arg: import("../VList/VListItem.js").ListItemTitleSlot) => import("vue").VNode[];
|
408
|
+
subtitle: (arg: import("../VList/VListItem.js").ListItemSubtitleSlot) => import("vue").VNode[];
|
409
409
|
}>>, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, {}, any, import("vue").ComponentProvideOptions, {
|
410
410
|
P: {};
|
411
411
|
B: {};
|
@@ -461,26 +461,26 @@ export declare const VTreeviewItem: {
|
|
461
461
|
subtitle?: string | number | boolean | undefined;
|
462
462
|
toggleIcon?: IconValue | undefined;
|
463
463
|
} & {
|
464
|
-
$children?: import("vue").VNodeChild | ((arg: import("
|
465
|
-
prepend?: ((arg: import("
|
466
|
-
append?: ((arg: import("
|
467
|
-
default?: ((arg: import("
|
468
|
-
title?: ((arg: import("
|
469
|
-
subtitle?: ((arg: import("
|
464
|
+
$children?: import("vue").VNodeChild | ((arg: import("../VList/VListItem.js").ListItemSlot) => import("vue").VNodeChild) | {
|
465
|
+
prepend?: ((arg: import("../VList/VListItem.js").ListItemSlot) => import("vue").VNodeChild) | undefined;
|
466
|
+
append?: ((arg: import("../VList/VListItem.js").ListItemSlot) => import("vue").VNodeChild) | undefined;
|
467
|
+
default?: ((arg: import("../VList/VListItem.js").ListItemSlot) => import("vue").VNodeChild) | undefined;
|
468
|
+
title?: ((arg: import("../VList/VListItem.js").ListItemTitleSlot) => import("vue").VNodeChild) | undefined;
|
469
|
+
subtitle?: ((arg: import("../VList/VListItem.js").ListItemSubtitleSlot) => import("vue").VNodeChild) | undefined;
|
470
470
|
};
|
471
471
|
'v-slots'?: {
|
472
|
-
prepend?: false | ((arg: import("
|
473
|
-
append?: false | ((arg: import("
|
474
|
-
default?: false | ((arg: import("
|
475
|
-
title?: false | ((arg: import("
|
476
|
-
subtitle?: false | ((arg: import("
|
472
|
+
prepend?: false | ((arg: import("../VList/VListItem.js").ListItemSlot) => import("vue").VNodeChild) | undefined;
|
473
|
+
append?: false | ((arg: import("../VList/VListItem.js").ListItemSlot) => import("vue").VNodeChild) | undefined;
|
474
|
+
default?: false | ((arg: import("../VList/VListItem.js").ListItemSlot) => import("vue").VNodeChild) | undefined;
|
475
|
+
title?: false | ((arg: import("../VList/VListItem.js").ListItemTitleSlot) => import("vue").VNodeChild) | undefined;
|
476
|
+
subtitle?: false | ((arg: import("../VList/VListItem.js").ListItemSubtitleSlot) => import("vue").VNodeChild) | undefined;
|
477
477
|
} | undefined;
|
478
478
|
} & {
|
479
|
-
"v-slot:prepend"?: false | ((arg: import("
|
480
|
-
"v-slot:append"?: false | ((arg: import("
|
481
|
-
"v-slot:default"?: false | ((arg: import("
|
482
|
-
"v-slot:title"?: false | ((arg: import("
|
483
|
-
"v-slot:subtitle"?: false | ((arg: import("
|
479
|
+
"v-slot:prepend"?: false | ((arg: import("../VList/VListItem.js").ListItemSlot) => import("vue").VNodeChild) | undefined;
|
480
|
+
"v-slot:append"?: false | ((arg: import("../VList/VListItem.js").ListItemSlot) => import("vue").VNodeChild) | undefined;
|
481
|
+
"v-slot:default"?: false | ((arg: import("../VList/VListItem.js").ListItemSlot) => import("vue").VNodeChild) | undefined;
|
482
|
+
"v-slot:title"?: false | ((arg: import("../VList/VListItem.js").ListItemTitleSlot) => import("vue").VNodeChild) | undefined;
|
483
|
+
"v-slot:subtitle"?: false | ((arg: import("../VList/VListItem.js").ListItemSubtitleSlot) => import("vue").VNodeChild) | undefined;
|
484
484
|
} & {
|
485
485
|
onToggleExpand?: ((value: PointerEvent) => any) | undefined;
|
486
486
|
}, {}, {}, {}, {}, {
|
@@ -556,26 +556,26 @@ export declare const VTreeviewItem: {
|
|
556
556
|
subtitle?: string | number | boolean | undefined;
|
557
557
|
toggleIcon?: IconValue | undefined;
|
558
558
|
} & {
|
559
|
-
$children?: import("vue").VNodeChild | ((arg: import("
|
560
|
-
prepend?: ((arg: import("
|
561
|
-
append?: ((arg: import("
|
562
|
-
default?: ((arg: import("
|
563
|
-
title?: ((arg: import("
|
564
|
-
subtitle?: ((arg: import("
|
559
|
+
$children?: import("vue").VNodeChild | ((arg: import("../VList/VListItem.js").ListItemSlot) => import("vue").VNodeChild) | {
|
560
|
+
prepend?: ((arg: import("../VList/VListItem.js").ListItemSlot) => import("vue").VNodeChild) | undefined;
|
561
|
+
append?: ((arg: import("../VList/VListItem.js").ListItemSlot) => import("vue").VNodeChild) | undefined;
|
562
|
+
default?: ((arg: import("../VList/VListItem.js").ListItemSlot) => import("vue").VNodeChild) | undefined;
|
563
|
+
title?: ((arg: import("../VList/VListItem.js").ListItemTitleSlot) => import("vue").VNodeChild) | undefined;
|
564
|
+
subtitle?: ((arg: import("../VList/VListItem.js").ListItemSubtitleSlot) => import("vue").VNodeChild) | undefined;
|
565
565
|
};
|
566
566
|
'v-slots'?: {
|
567
|
-
prepend?: false | ((arg: import("
|
568
|
-
append?: false | ((arg: import("
|
569
|
-
default?: false | ((arg: import("
|
570
|
-
title?: false | ((arg: import("
|
571
|
-
subtitle?: false | ((arg: import("
|
567
|
+
prepend?: false | ((arg: import("../VList/VListItem.js").ListItemSlot) => import("vue").VNodeChild) | undefined;
|
568
|
+
append?: false | ((arg: import("../VList/VListItem.js").ListItemSlot) => import("vue").VNodeChild) | undefined;
|
569
|
+
default?: false | ((arg: import("../VList/VListItem.js").ListItemSlot) => import("vue").VNodeChild) | undefined;
|
570
|
+
title?: false | ((arg: import("../VList/VListItem.js").ListItemTitleSlot) => import("vue").VNodeChild) | undefined;
|
571
|
+
subtitle?: false | ((arg: import("../VList/VListItem.js").ListItemSubtitleSlot) => import("vue").VNodeChild) | undefined;
|
572
572
|
} | undefined;
|
573
573
|
} & {
|
574
|
-
"v-slot:prepend"?: false | ((arg: import("
|
575
|
-
"v-slot:append"?: false | ((arg: import("
|
576
|
-
"v-slot:default"?: false | ((arg: import("
|
577
|
-
"v-slot:title"?: false | ((arg: import("
|
578
|
-
"v-slot:subtitle"?: false | ((arg: import("
|
574
|
+
"v-slot:prepend"?: false | ((arg: import("../VList/VListItem.js").ListItemSlot) => import("vue").VNodeChild) | undefined;
|
575
|
+
"v-slot:append"?: false | ((arg: import("../VList/VListItem.js").ListItemSlot) => import("vue").VNodeChild) | undefined;
|
576
|
+
"v-slot:default"?: false | ((arg: import("../VList/VListItem.js").ListItemSlot) => import("vue").VNodeChild) | undefined;
|
577
|
+
"v-slot:title"?: false | ((arg: import("../VList/VListItem.js").ListItemTitleSlot) => import("vue").VNodeChild) | undefined;
|
578
|
+
"v-slot:subtitle"?: false | ((arg: import("../VList/VListItem.js").ListItemSubtitleSlot) => import("vue").VNodeChild) | undefined;
|
579
579
|
} & {
|
580
580
|
onToggleExpand?: ((value: PointerEvent) => any) | undefined;
|
581
581
|
}, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
@@ -602,11 +602,11 @@ export declare const VTreeviewItem: {
|
|
602
602
|
} | undefined;
|
603
603
|
subtitle: string | number | boolean;
|
604
604
|
}, {}, string, import("vue").SlotsType<Partial<{
|
605
|
-
prepend: (arg: import("
|
606
|
-
append: (arg: import("
|
607
|
-
default: (arg: import("
|
608
|
-
title: (arg: import("
|
609
|
-
subtitle: (arg: import("
|
605
|
+
prepend: (arg: import("../VList/VListItem.js").ListItemSlot) => import("vue").VNode[];
|
606
|
+
append: (arg: import("../VList/VListItem.js").ListItemSlot) => import("vue").VNode[];
|
607
|
+
default: (arg: import("../VList/VListItem.js").ListItemSlot) => import("vue").VNode[];
|
608
|
+
title: (arg: import("../VList/VListItem.js").ListItemTitleSlot) => import("vue").VNode[];
|
609
|
+
subtitle: (arg: import("../VList/VListItem.js").ListItemSubtitleSlot) => import("vue").VNode[];
|
610
610
|
}>>, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & import("../../util/index.js").FilterPropsOptions<{
|
611
611
|
color: StringConstructor;
|
612
612
|
variant: Omit<{
|
@@ -3,10 +3,10 @@ import { Fragment as _Fragment, createVNode as _createVNode, createElementVNode
|
|
3
3
|
import "./VTreeviewItem.css";
|
4
4
|
|
5
5
|
// Components
|
6
|
-
import { VBtn } from "
|
7
|
-
import { VListItemAction } from "
|
8
|
-
import { makeVListItemProps, VListItem } from "
|
9
|
-
import { VProgressCircular } from "
|
6
|
+
import { VBtn } from "../VBtn/index.js";
|
7
|
+
import { VListItemAction } from "../VList/index.js";
|
8
|
+
import { makeVListItemProps, VListItem } from "../VList/VListItem.js";
|
9
|
+
import { VProgressCircular } from "../VProgressCircular/index.js"; // Composables
|
10
10
|
import { IconValue } from "../../composables/icons.js"; // Utilities
|
11
11
|
import { computed, inject, ref, toRaw } from 'vue';
|
12
12
|
import { genericComponent, omit, propsFactory, useRender } from "../../util/index.js"; // Types
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"VTreeviewItem.js","names":["VBtn","VListItemAction","makeVListItemProps","VListItem","VProgressCircular","IconValue","computed","inject","ref","toRaw","genericComponent","omit","propsFactory","useRender","VTreeviewSymbol","makeVTreeviewItemProps","loading","Boolean","toggleIcon","slim","VTreeviewItem","name","props","emits","toggleExpand","value","setup","_ref","slots","emit","visibleIds","vListItemRef","isActivatableGroupActivator","root","activatable","isGroupActivator","vListItemRefIsClickable","link","isClickable","list","disabled","isFiltered","has","id","activateGroupActivator","e","activate","isActivated","onClickAction","preventDefault","stopPropagation","listItemProps","filterProps","hasPrepend","prepend","_createVNode","_mergeProps","class","onClick","slotProps","_createElementVNode","_Fragment","default","loader","undefined"],"sources":["../../../src/components/VTreeview/VTreeviewItem.tsx"],"sourcesContent":["// Styles\nimport './VTreeviewItem.sass'\n\n// Components\nimport { VBtn } from '@/components/VBtn'\nimport { VListItemAction } from '@/components/VList'\nimport { makeVListItemProps, VListItem } from '@/components/VList/VListItem'\nimport { VProgressCircular } from '@/components/VProgressCircular'\n\n// Composables\nimport { IconValue } from '@/composables/icons'\n\n// Utilities\nimport { computed, inject, ref, toRaw } from 'vue'\nimport { genericComponent, omit, propsFactory, useRender } from '@/util'\n\n// Types\nimport { VTreeviewSymbol } from './shared'\nimport type { VListItemSlots } from '@/components/VList/VListItem'\n\nexport const makeVTreeviewItemProps = propsFactory({\n loading: Boolean,\n toggleIcon: IconValue,\n\n ...makeVListItemProps({ slim: true }),\n}, 'VTreeviewItem')\n\nexport const VTreeviewItem = genericComponent<VListItemSlots>()({\n name: 'VTreeviewItem',\n\n props: makeVTreeviewItemProps(),\n\n emits: {\n toggleExpand: (value: PointerEvent) => true,\n },\n\n setup (props, { slots, emit }) {\n const visibleIds = inject(VTreeviewSymbol, { visibleIds: ref() }).visibleIds\n\n const vListItemRef = ref<VListItem>()\n\n const isActivatableGroupActivator = computed(() =>\n (vListItemRef.value?.root.activatable.value) &&\n vListItemRef.value?.isGroupActivator\n )\n const vListItemRefIsClickable = computed(() => (\n vListItemRef.value?.link.isClickable.value ||\n (props.value != null && !!vListItemRef.value?.list)\n ))\n const isClickable = computed(() =>\n !props.disabled &&\n props.link !== false &&\n (props.link || vListItemRefIsClickable.value || isActivatableGroupActivator.value)\n )\n const isFiltered = computed(() => visibleIds.value && !visibleIds.value.has(toRaw(vListItemRef.value?.id)))\n\n function activateGroupActivator (e: MouseEvent | KeyboardEvent) {\n if (isClickable.value && isActivatableGroupActivator.value) {\n vListItemRef.value?.activate(!vListItemRef.value?.isActivated, e)\n }\n }\n\n function onClickAction (e: PointerEvent) {\n e.preventDefault()\n e.stopPropagation()\n emit('toggleExpand', e)\n }\n\n useRender(() => {\n const listItemProps = omit(VListItem.filterProps(props), ['onClick'])\n const hasPrepend = slots.prepend || props.toggleIcon\n\n return (\n <VListItem\n ref={ vListItemRef }\n { ...listItemProps }\n active={ vListItemRef.value?.isActivated }\n class={[\n 'v-treeview-item',\n {\n 'v-treeview-item--activatable-group-activator': isActivatableGroupActivator.value,\n 'v-treeview-item--filtered': isFiltered.value,\n },\n props.class,\n ]}\n ripple={ false }\n onClick={ props.onClick ?? activateGroupActivator }\n >\n {{\n ...slots,\n prepend: hasPrepend ? slotProps => {\n return (\n <>\n <VListItemAction start={ false }>\n { props.toggleIcon ? (\n <VBtn\n density=\"compact\"\n icon={ props.toggleIcon }\n loading={ props.loading }\n variant=\"text\"\n onClick={ onClickAction }\n >\n {{\n loader () {\n return (\n <VProgressCircular\n indeterminate=\"disable-shrink\"\n size=\"20\"\n width=\"2\"\n />\n )\n },\n }}\n </VBtn>\n ) : (\n <div class=\"v-treeview-item__level\" />\n )}\n </VListItemAction>\n\n { slots.prepend?.(slotProps) }\n </>\n )\n } : undefined,\n }}\n </VListItem>\n )\n })\n\n return {}\n },\n})\n\nexport type VTreeviewItem = InstanceType<typeof VTreeviewItem>\n"],"mappings":"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","ignoreList":[]}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.js","names":["VTreeview","VTreeviewItem","VTreeviewGroup"],"sources":["../../../src/components/VTreeview/index.ts"],"sourcesContent":["export { VTreeview } from './VTreeview'\nexport { VTreeviewItem } from './VTreeviewItem'\nexport { VTreeviewGroup } from './VTreeviewGroup'\n"],"mappings":"SAASA,SAAS;AAAA,SACTC,aAAa;AAAA,SACbC,cAAc","ignoreList":[]}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"shared.js","names":["VTreeviewSymbol","Symbol","for"],"sources":["../../../src/components/VTreeview/shared.ts"],"sourcesContent":["// Types\nimport type { ComputedRef, InjectionKey } from 'vue'\n\nexport interface TreeViewProvide {\n visibleIds: ComputedRef<Set<unknown> | null>\n}\n\nexport const VTreeviewSymbol: InjectionKey<TreeViewProvide> = Symbol.for('vuetify:v-treeview')\n"],"mappings":"AAAA;;AAOA,OAAO,MAAMA,eAA8C,GAAGC,MAAM,CAACC,GAAG,CAAC,oBAAoB,CAAC","ignoreList":[]}
|
@@ -36,6 +36,21 @@
|
|
36
36
|
.v-window--show-arrows-on-hover:hover .v-window__right {
|
37
37
|
transform: translateX(0);
|
38
38
|
}
|
39
|
+
.v-window--vertical-arrows .v-window__controls {
|
40
|
+
flex-direction: column;
|
41
|
+
justify-content: center;
|
42
|
+
gap: 12px;
|
43
|
+
}
|
44
|
+
.v-window--vertical-arrows .v-window__controls--left {
|
45
|
+
align-items: start;
|
46
|
+
}
|
47
|
+
.v-window--vertical-arrows .v-window__controls--right {
|
48
|
+
align-items: end;
|
49
|
+
}
|
50
|
+
.v-window--vertical-arrows .v-window__controls .v-window__left .v-icon,
|
51
|
+
.v-window--vertical-arrows .v-window__controls .v-window__right .v-icon {
|
52
|
+
transform: rotate(90deg);
|
53
|
+
}
|
39
54
|
|
40
55
|
.v-window-x-transition-enter-active, .v-window-x-transition-leave-active, .v-window-x-reverse-transition-enter-active, .v-window-x-reverse-transition-leave-active, .v-window-y-transition-enter-active, .v-window-y-transition-leave-active, .v-window-y-reverse-transition-enter-active, .v-window-y-reverse-transition-leave-active {
|
41
56
|
transition: 0.3s cubic-bezier(0.25, 0.8, 0.5, 1);
|
@@ -42,6 +42,7 @@ export declare const makeVWindowProps: <Defaults extends {
|
|
42
42
|
prevIcon?: unknown;
|
43
43
|
reverse?: unknown;
|
44
44
|
showArrows?: unknown;
|
45
|
+
verticalArrows?: unknown;
|
45
46
|
touch?: unknown;
|
46
47
|
direction?: unknown;
|
47
48
|
modelValue?: unknown;
|
@@ -115,6 +116,10 @@ export declare const makeVWindowProps: <Defaults extends {
|
|
115
116
|
type: PropType<unknown extends Defaults["showArrows"] ? string | boolean : string | boolean | Defaults["showArrows"]>;
|
116
117
|
default: unknown extends Defaults["showArrows"] ? string | boolean : NonNullable<string | boolean> | Defaults["showArrows"];
|
117
118
|
};
|
119
|
+
verticalArrows: unknown extends Defaults["verticalArrows"] ? PropType<boolean | "left" | "right"> : {
|
120
|
+
type: PropType<unknown extends Defaults["verticalArrows"] ? boolean | "left" | "right" : boolean | "left" | "right" | Defaults["verticalArrows"]>;
|
121
|
+
default: unknown extends Defaults["verticalArrows"] ? boolean | "left" | "right" : Defaults["verticalArrows"] | NonNullable<boolean | "left" | "right">;
|
122
|
+
};
|
118
123
|
touch: unknown extends Defaults["touch"] ? {
|
119
124
|
type: PropType<boolean | TouchHandlers>;
|
120
125
|
default: undefined;
|
@@ -181,6 +186,7 @@ export declare const VWindow: {
|
|
181
186
|
theme?: string | undefined;
|
182
187
|
touch?: boolean | TouchHandlers | undefined;
|
183
188
|
showArrows?: string | boolean | undefined;
|
189
|
+
verticalArrows?: boolean | "left" | "right" | undefined;
|
184
190
|
} & {}, {
|
185
191
|
group: GroupProvide;
|
186
192
|
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Omit<{
|
@@ -233,6 +239,7 @@ export declare const VWindow: {
|
|
233
239
|
theme?: string | undefined;
|
234
240
|
touch?: boolean | TouchHandlers | undefined;
|
235
241
|
showArrows?: string | boolean | undefined;
|
242
|
+
verticalArrows?: boolean | "left" | "right" | undefined;
|
236
243
|
} & {}, {
|
237
244
|
group: GroupProvide;
|
238
245
|
}, {}, {}, {}, {
|
@@ -267,6 +274,7 @@ export declare const VWindow: {
|
|
267
274
|
theme?: string | undefined;
|
268
275
|
touch?: boolean | TouchHandlers | undefined;
|
269
276
|
showArrows?: string | boolean | undefined;
|
277
|
+
verticalArrows?: boolean | "left" | "right" | undefined;
|
270
278
|
} & {}, {
|
271
279
|
group: GroupProvide;
|
272
280
|
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Omit<{
|
@@ -324,6 +332,7 @@ export declare const VWindow: {
|
|
324
332
|
type: (StringConstructor | BooleanConstructor)[];
|
325
333
|
validator: (v: any) => boolean;
|
326
334
|
};
|
335
|
+
verticalArrows: PropType<boolean | "left" | "right">;
|
327
336
|
touch: {
|
328
337
|
type: PropType<boolean | TouchHandlers>;
|
329
338
|
default: undefined;
|
@@ -367,6 +376,7 @@ export declare const VWindow: {
|
|
367
376
|
type: (StringConstructor | BooleanConstructor)[];
|
368
377
|
validator: (v: any) => boolean;
|
369
378
|
};
|
379
|
+
verticalArrows: PropType<boolean | "left" | "right">;
|
370
380
|
touch: {
|
371
381
|
type: PropType<boolean | TouchHandlers>;
|
372
382
|
default: undefined;
|
@@ -29,6 +29,7 @@ export const makeVWindowProps = propsFactory({
|
|
29
29
|
type: [Boolean, String],
|
30
30
|
validator: v => typeof v === 'boolean' || v === 'hover'
|
31
31
|
},
|
32
|
+
verticalArrows: [Boolean, String],
|
32
33
|
touch: {
|
33
34
|
type: [Object, Boolean],
|
34
35
|
default: undefined
|
@@ -163,7 +164,8 @@ export const VWindow = genericComponent()({
|
|
163
164
|
useRender(() => _withDirectives(_createVNode(props.tag, {
|
164
165
|
"ref": rootRef,
|
165
166
|
"class": _normalizeClass(['v-window', {
|
166
|
-
'v-window--show-arrows-on-hover': props.showArrows === 'hover'
|
167
|
+
'v-window--show-arrows-on-hover': props.showArrows === 'hover',
|
168
|
+
'v-window--vertical-arrows': !!props.verticalArrows
|
167
169
|
}, themeClasses.value, props.class]),
|
168
170
|
"style": _normalizeStyle(props.style)
|
169
171
|
}, {
|
@@ -175,7 +177,11 @@ export const VWindow = genericComponent()({
|
|
175
177
|
}, [slots.default?.({
|
176
178
|
group
|
177
179
|
}), props.showArrows !== false && _createElementVNode("div", {
|
178
|
-
"class":
|
180
|
+
"class": _normalizeClass(['v-window__controls', {
|
181
|
+
'v-window__controls--left': props.verticalArrows === 'left' || props.verticalArrows === true
|
182
|
+
}, {
|
183
|
+
'v-window__controls--right': props.verticalArrows === 'right'
|
184
|
+
}])
|
179
185
|
}, [arrows.value])]), slots.additional?.({
|
180
186
|
group
|
181
187
|
})]
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"VWindow.js","names":["VBtn","makeComponentProps","useGroup","useLocale","useRtl","makeTagProps","makeThemeProps","provideTheme","vTouch","computed","provide","ref","shallowRef","toRef","watch","genericComponent","propsFactory","useRender","VWindowSymbol","Symbol","for","VWindowGroupSymbol","makeVWindowProps","continuous","Boolean","nextIcon","type","String","Function","Object","default","prevIcon","reverse","showArrows","validator","v","touch","undefined","direction","modelValue","disabled","selectedClass","mandatory","VWindow","name","directives","props","emits","value","setup","_ref","slots","themeClasses","isRtl","t","group","rootRef","isRtlReverse","isReversed","transition","axis","transitionCount","transitionHeight","activeIndex","items","findIndex","item","selected","includes","id","newVal","oldVal","itemsLength","length","lastIndex","canMoveBack","canMoveForward","prev","next","arrows","prevProps","icon","class","onClick","push","_createVNode","_createElementVNode","nextProps","touchOptions","options","left","right","start","_ref2","originalEvent","stopPropagation","_withDirectives","tag","_normalizeClass","_normalizeStyle","style","height","additional"],"sources":["../../../src/components/VWindow/VWindow.tsx"],"sourcesContent":["// Styles\nimport './VWindow.sass'\n\n// Components\nimport { VBtn } from '@/components/VBtn'\n\n// Composables\nimport { makeComponentProps } from '@/composables/component'\nimport { useGroup } from '@/composables/group'\nimport { useLocale, useRtl } from '@/composables/locale'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\n\n// Directives\nimport vTouch from '@/directives/touch'\n\n// Utilities\nimport { computed, provide, ref, shallowRef, toRef, watch } from 'vue'\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { ComputedRef, InjectionKey, PropType, Ref } from 'vue'\nimport type { GroupItemProvide, GroupProvide } from '@/composables/group'\nimport type { IconValue } from '@/composables/icons'\nimport type { TouchHandlers } from '@/directives/touch'\nimport type { GenericProps } from '@/util'\n\nexport type VWindowSlots = {\n default: { group: GroupProvide }\n additional: { group: GroupProvide }\n prev: { props: ControlProps }\n next: { props: ControlProps }\n}\n\ntype WindowProvide = {\n transition: ComputedRef<undefined | string>\n transitionCount: Ref<number>\n transitionHeight: Ref<undefined | string>\n isReversed: Ref<boolean>\n rootRef: Ref<HTMLElement | undefined>\n}\n\ntype ControlProps = {\n icon: IconValue\n class: string\n onClick: () => void\n 'aria-label': string\n}\n\nexport const VWindowSymbol: InjectionKey<WindowProvide> = Symbol.for('vuetify:v-window')\nexport const VWindowGroupSymbol: InjectionKey<GroupItemProvide> = Symbol.for('vuetify:v-window-group')\n\nexport const makeVWindowProps = propsFactory({\n continuous: Boolean,\n nextIcon: {\n type: [Boolean, String, Function, Object] as PropType<IconValue>,\n default: '$next',\n },\n prevIcon: {\n type: [Boolean, String, Function, Object] as PropType<IconValue>,\n default: '$prev',\n },\n reverse: Boolean,\n showArrows: {\n type: [Boolean, String],\n validator: (v: any) => typeof v === 'boolean' || v === 'hover',\n },\n touch: {\n type: [Object, Boolean] as PropType<boolean | TouchHandlers>,\n default: undefined,\n },\n direction: {\n type: String as PropType<'horizontal' | 'vertical'>,\n default: 'horizontal',\n },\n\n modelValue: null,\n disabled: Boolean,\n selectedClass: {\n type: String,\n default: 'v-window-item--active',\n },\n // TODO: mandatory should probably not be exposed but do this for now\n mandatory: {\n type: [Boolean, String] as PropType<boolean | 'force'>,\n default: 'force' as const,\n },\n\n ...makeComponentProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n}, 'VWindow')\n\nexport const VWindow = genericComponent<new <T>(\n props: {\n modelValue?: T\n 'onUpdate:modelValue'?: (value: T) => void\n },\n slots: VWindowSlots,\n) => GenericProps<typeof props, typeof slots>>()({\n name: 'VWindow',\n\n directives: { vTouch },\n\n props: makeVWindowProps(),\n\n emits: {\n 'update:modelValue': (value: any) => true,\n },\n\n setup (props, { slots }) {\n const { themeClasses } = provideTheme(props)\n const { isRtl } = useRtl()\n const { t } = useLocale()\n\n const group = useGroup(props, VWindowGroupSymbol)\n\n const rootRef = ref()\n const isRtlReverse = computed(() => isRtl.value ? !props.reverse : props.reverse)\n const isReversed = shallowRef(false)\n const transition = computed(() => {\n const axis = props.direction === 'vertical' ? 'y' : 'x'\n const reverse = isRtlReverse.value ? !isReversed.value : isReversed.value\n const direction = reverse ? '-reverse' : ''\n\n return `v-window-${axis}${direction}-transition`\n })\n const transitionCount = shallowRef(0)\n const transitionHeight = ref<undefined | string>(undefined)\n\n const activeIndex = computed(() => {\n return group.items.value.findIndex(item => group.selected.value.includes(item.id))\n })\n\n watch(activeIndex, (newVal, oldVal) => {\n const itemsLength = group.items.value.length\n const lastIndex = itemsLength - 1\n\n if (itemsLength <= 2) {\n isReversed.value = newVal < oldVal\n } else if (newVal === lastIndex && oldVal === 0) {\n isReversed.value = true\n } else if (newVal === 0 && oldVal === lastIndex) {\n isReversed.value = false\n } else {\n isReversed.value = newVal < oldVal\n }\n })\n\n provide(VWindowSymbol, {\n transition,\n isReversed,\n transitionCount,\n transitionHeight,\n rootRef,\n })\n\n const canMoveBack = toRef(() => props.continuous || activeIndex.value !== 0)\n const canMoveForward = toRef(() => props.continuous || activeIndex.value !== group.items.value.length - 1)\n\n function prev () {\n canMoveBack.value && group.prev()\n }\n\n function next () {\n canMoveForward.value && group.next()\n }\n\n const arrows = computed(() => {\n const arrows = []\n\n const prevProps = {\n icon: isRtl.value ? props.nextIcon : props.prevIcon,\n class: `v-window__${isRtlReverse.value ? 'right' : 'left'}`,\n onClick: group.prev,\n 'aria-label': t('$vuetify.carousel.prev'),\n }\n\n arrows.push(canMoveBack.value\n ? slots.prev\n ? slots.prev({ props: prevProps })\n : <VBtn { ...prevProps } />\n : <div />\n )\n\n const nextProps = {\n icon: isRtl.value ? props.prevIcon : props.nextIcon,\n class: `v-window__${isRtlReverse.value ? 'left' : 'right'}`,\n onClick: group.next,\n 'aria-label': t('$vuetify.carousel.next'),\n }\n\n arrows.push(canMoveForward.value\n ? slots.next\n ? slots.next({ props: nextProps })\n : <VBtn { ...nextProps } />\n : <div />\n )\n\n return arrows\n })\n\n const touchOptions = computed(() => {\n if (props.touch === false) return props.touch\n\n const options: TouchHandlers = {\n left: () => {\n isRtlReverse.value ? prev() : next()\n },\n right: () => {\n isRtlReverse.value ? next() : prev()\n },\n start: ({ originalEvent }) => {\n originalEvent.stopPropagation()\n },\n }\n\n return {\n ...options,\n ...(props.touch === true ? {} : props.touch),\n }\n })\n\n useRender(() => (\n <props.tag\n ref={ rootRef }\n class={[\n 'v-window',\n {\n 'v-window--show-arrows-on-hover': props.showArrows === 'hover',\n },\n themeClasses.value,\n props.class,\n ]}\n style={ props.style }\n v-touch={ touchOptions.value }\n >\n <div\n class=\"v-window__container\"\n style={{\n height: transitionHeight.value,\n }}\n >\n { slots.default?.({ group }) }\n\n { props.showArrows !== false && (\n <div class=\"v-window__controls\">\n { arrows.value }\n </div>\n )}\n </div>\n\n { slots.additional?.({ group }) }\n </props.tag>\n ))\n\n return {\n group,\n }\n },\n})\n\nexport type VWindow = InstanceType<typeof VWindow>\n"],"mappings":"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","ignoreList":[]}
|
1
|
+
{"version":3,"file":"VWindow.js","names":["VBtn","makeComponentProps","useGroup","useLocale","useRtl","makeTagProps","makeThemeProps","provideTheme","vTouch","computed","provide","ref","shallowRef","toRef","watch","genericComponent","propsFactory","useRender","VWindowSymbol","Symbol","for","VWindowGroupSymbol","makeVWindowProps","continuous","Boolean","nextIcon","type","String","Function","Object","default","prevIcon","reverse","showArrows","validator","v","verticalArrows","touch","undefined","direction","modelValue","disabled","selectedClass","mandatory","VWindow","name","directives","props","emits","value","setup","_ref","slots","themeClasses","isRtl","t","group","rootRef","isRtlReverse","isReversed","transition","axis","transitionCount","transitionHeight","activeIndex","items","findIndex","item","selected","includes","id","newVal","oldVal","itemsLength","length","lastIndex","canMoveBack","canMoveForward","prev","next","arrows","prevProps","icon","class","onClick","push","_createVNode","_createElementVNode","nextProps","touchOptions","options","left","right","start","_ref2","originalEvent","stopPropagation","_withDirectives","tag","_normalizeClass","_normalizeStyle","style","height","additional"],"sources":["../../../src/components/VWindow/VWindow.tsx"],"sourcesContent":["// Styles\nimport './VWindow.sass'\n\n// Components\nimport { VBtn } from '@/components/VBtn'\n\n// Composables\nimport { makeComponentProps } from '@/composables/component'\nimport { useGroup } from '@/composables/group'\nimport { useLocale, useRtl } from '@/composables/locale'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\n\n// Directives\nimport vTouch from '@/directives/touch'\n\n// Utilities\nimport { computed, provide, ref, shallowRef, toRef, watch } from 'vue'\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { ComputedRef, InjectionKey, PropType, Ref } from 'vue'\nimport type { GroupItemProvide, GroupProvide } from '@/composables/group'\nimport type { IconValue } from '@/composables/icons'\nimport type { TouchHandlers } from '@/directives/touch'\nimport type { GenericProps } from '@/util'\n\nexport type VWindowSlots = {\n default: { group: GroupProvide }\n additional: { group: GroupProvide }\n prev: { props: ControlProps }\n next: { props: ControlProps }\n}\n\ntype WindowProvide = {\n transition: ComputedRef<undefined | string>\n transitionCount: Ref<number>\n transitionHeight: Ref<undefined | string>\n isReversed: Ref<boolean>\n rootRef: Ref<HTMLElement | undefined>\n}\n\ntype ControlProps = {\n icon: IconValue\n class: string\n onClick: () => void\n 'aria-label': string\n}\n\nexport const VWindowSymbol: InjectionKey<WindowProvide> = Symbol.for('vuetify:v-window')\nexport const VWindowGroupSymbol: InjectionKey<GroupItemProvide> = Symbol.for('vuetify:v-window-group')\n\nexport const makeVWindowProps = propsFactory({\n continuous: Boolean,\n nextIcon: {\n type: [Boolean, String, Function, Object] as PropType<IconValue>,\n default: '$next',\n },\n prevIcon: {\n type: [Boolean, String, Function, Object] as PropType<IconValue>,\n default: '$prev',\n },\n reverse: Boolean,\n showArrows: {\n type: [Boolean, String],\n validator: (v: any) => typeof v === 'boolean' || v === 'hover',\n },\n verticalArrows: [Boolean, String] as PropType<boolean | 'left' | 'right'>,\n touch: {\n type: [Object, Boolean] as PropType<boolean | TouchHandlers>,\n default: undefined,\n },\n direction: {\n type: String as PropType<'horizontal' | 'vertical'>,\n default: 'horizontal',\n },\n\n modelValue: null,\n disabled: Boolean,\n selectedClass: {\n type: String,\n default: 'v-window-item--active',\n },\n // TODO: mandatory should probably not be exposed but do this for now\n mandatory: {\n type: [Boolean, String] as PropType<boolean | 'force'>,\n default: 'force' as const,\n },\n\n ...makeComponentProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n}, 'VWindow')\n\nexport const VWindow = genericComponent<new <T>(\n props: {\n modelValue?: T\n 'onUpdate:modelValue'?: (value: T) => void\n },\n slots: VWindowSlots,\n) => GenericProps<typeof props, typeof slots>>()({\n name: 'VWindow',\n\n directives: { vTouch },\n\n props: makeVWindowProps(),\n\n emits: {\n 'update:modelValue': (value: any) => true,\n },\n\n setup (props, { slots }) {\n const { themeClasses } = provideTheme(props)\n const { isRtl } = useRtl()\n const { t } = useLocale()\n\n const group = useGroup(props, VWindowGroupSymbol)\n\n const rootRef = ref()\n const isRtlReverse = computed(() => isRtl.value ? !props.reverse : props.reverse)\n const isReversed = shallowRef(false)\n const transition = computed(() => {\n const axis = props.direction === 'vertical' ? 'y' : 'x'\n const reverse = isRtlReverse.value ? !isReversed.value : isReversed.value\n const direction = reverse ? '-reverse' : ''\n\n return `v-window-${axis}${direction}-transition`\n })\n const transitionCount = shallowRef(0)\n const transitionHeight = ref<undefined | string>(undefined)\n\n const activeIndex = computed(() => {\n return group.items.value.findIndex(item => group.selected.value.includes(item.id))\n })\n\n watch(activeIndex, (newVal, oldVal) => {\n const itemsLength = group.items.value.length\n const lastIndex = itemsLength - 1\n\n if (itemsLength <= 2) {\n isReversed.value = newVal < oldVal\n } else if (newVal === lastIndex && oldVal === 0) {\n isReversed.value = true\n } else if (newVal === 0 && oldVal === lastIndex) {\n isReversed.value = false\n } else {\n isReversed.value = newVal < oldVal\n }\n })\n\n provide(VWindowSymbol, {\n transition,\n isReversed,\n transitionCount,\n transitionHeight,\n rootRef,\n })\n\n const canMoveBack = toRef(() => props.continuous || activeIndex.value !== 0)\n const canMoveForward = toRef(() => props.continuous || activeIndex.value !== group.items.value.length - 1)\n\n function prev () {\n canMoveBack.value && group.prev()\n }\n\n function next () {\n canMoveForward.value && group.next()\n }\n\n const arrows = computed(() => {\n const arrows = []\n\n const prevProps = {\n icon: isRtl.value ? props.nextIcon : props.prevIcon,\n class: `v-window__${isRtlReverse.value ? 'right' : 'left'}`,\n onClick: group.prev,\n 'aria-label': t('$vuetify.carousel.prev'),\n }\n\n arrows.push(canMoveBack.value\n ? slots.prev\n ? slots.prev({ props: prevProps })\n : <VBtn { ...prevProps } />\n : <div />\n )\n\n const nextProps = {\n icon: isRtl.value ? props.prevIcon : props.nextIcon,\n class: `v-window__${isRtlReverse.value ? 'left' : 'right'}`,\n onClick: group.next,\n 'aria-label': t('$vuetify.carousel.next'),\n }\n\n arrows.push(canMoveForward.value\n ? slots.next\n ? slots.next({ props: nextProps })\n : <VBtn { ...nextProps } />\n : <div />\n )\n\n return arrows\n })\n\n const touchOptions = computed(() => {\n if (props.touch === false) return props.touch\n\n const options: TouchHandlers = {\n left: () => {\n isRtlReverse.value ? prev() : next()\n },\n right: () => {\n isRtlReverse.value ? next() : prev()\n },\n start: ({ originalEvent }) => {\n originalEvent.stopPropagation()\n },\n }\n\n return {\n ...options,\n ...(props.touch === true ? {} : props.touch),\n }\n })\n\n useRender(() => (\n <props.tag\n ref={ rootRef }\n class={[\n 'v-window',\n {\n 'v-window--show-arrows-on-hover': props.showArrows === 'hover',\n 'v-window--vertical-arrows': !!props.verticalArrows,\n },\n themeClasses.value,\n props.class,\n ]}\n style={ props.style }\n v-touch={ touchOptions.value }\n >\n <div\n class=\"v-window__container\"\n style={{\n height: transitionHeight.value,\n }}\n >\n { slots.default?.({ group }) }\n\n { props.showArrows !== false && (\n <div\n class={[\n 'v-window__controls',\n { 'v-window__controls--left': props.verticalArrows === 'left' || props.verticalArrows === true },\n { 'v-window__controls--right': props.verticalArrows === 'right' },\n ]}\n >\n { arrows.value }\n </div>\n )}\n </div>\n\n { slots.additional?.({ group }) }\n </props.tag>\n ))\n\n return {\n group,\n }\n },\n})\n\nexport type VWindow = InstanceType<typeof VWindow>\n"],"mappings":"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","ignoreList":[]}
|
@@ -41,6 +41,23 @@
|
|
41
41
|
.v-window__right
|
42
42
|
transform: translateX(0)
|
43
43
|
|
44
|
+
&--vertical-arrows
|
45
|
+
.v-window__controls
|
46
|
+
flex-direction: column
|
47
|
+
justify-content: center
|
48
|
+
gap: $window-controls-vertical-gap
|
49
|
+
|
50
|
+
&--left
|
51
|
+
align-items: start
|
52
|
+
|
53
|
+
&--right
|
54
|
+
align-items: end
|
55
|
+
|
56
|
+
.v-window__left,
|
57
|
+
.v-window__right
|
58
|
+
.v-icon
|
59
|
+
transform: rotate(90deg)
|
60
|
+
|
44
61
|
@include tools.layer('transitions')
|
45
62
|
.v-window
|
46
63
|
&-x-transition,
|
@@ -84,8 +84,10 @@ export * from './VTextarea/index.js';
|
|
84
84
|
export * from './VTextField/index.js';
|
85
85
|
export * from './VThemeProvider/index.js';
|
86
86
|
export * from './VTimeline/index.js';
|
87
|
+
export * from './VTimePicker/index.js';
|
87
88
|
export * from './VToolbar/index.js';
|
88
89
|
export * from './VTooltip/index.js';
|
90
|
+
export * from './VTreeview/index.js';
|
89
91
|
export * from './VValidation/index.js';
|
90
92
|
export * from './VVirtualScroll/index.js';
|
91
93
|
export * from './VWindow/index.js';
|
package/lib/components/index.js
CHANGED
@@ -83,9 +83,11 @@ export * from "./VTable/index.js";
|
|
83
83
|
export * from "./VTextarea/index.js";
|
84
84
|
export * from "./VTextField/index.js";
|
85
85
|
export * from "./VThemeProvider/index.js";
|
86
|
-
export * from "./VTimeline/index.js";
|
86
|
+
export * from "./VTimeline/index.js";
|
87
|
+
export * from "./VTimePicker/index.js";
|
87
88
|
export * from "./VToolbar/index.js";
|
88
|
-
export * from "./VTooltip/index.js";
|
89
|
+
export * from "./VTooltip/index.js";
|
90
|
+
export * from "./VTreeview/index.js";
|
89
91
|
export * from "./VValidation/index.js";
|
90
92
|
export * from "./VVirtualScroll/index.js";
|
91
93
|
export * from "./VWindow/index.js";
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","names":[],"sources":["../../src/components/index.ts"],"sourcesContent":["export * from './VApp'\nexport * from './VAppBar'\nexport * from './VAlert'\nexport * from './VAutocomplete'\nexport * from './VAvatar'\nexport * from './VBadge'\nexport * from './VBanner'\nexport * from './VBottomNavigation'\nexport * from './VBottomSheet'\nexport * from './VBreadcrumbs'\nexport * from './VBtn'\nexport * from './VBtnGroup'\nexport * from './VBtnToggle'\n// export * from './VCalendar'\nexport * from './VCard'\nexport * from './VCarousel'\nexport * from './VCheckbox'\nexport * from './VChip'\nexport * from './VChipGroup'\nexport * from './VCode'\nexport * from './VColorPicker'\nexport * from './VCombobox'\nexport * from './VConfirmEdit'\nexport * from './VCounter'\nexport * from './VDataIterator'\nexport * from './VDataTable'\nexport * from './VDatePicker'\nexport * from './VDefaultsProvider'\nexport * from './VDialog'\nexport * from './VDivider'\nexport * from './VEmptyState'\nexport * from './VExpansionPanel'\nexport * from './VFab'\nexport * from './VField'\nexport * from './VFileInput'\nexport * from './VFooter'\nexport * from './VForm'\nexport * from './VGrid'\nexport * from './VHover'\nexport * from './VIcon'\nexport * from './VImg'\nexport * from './VInfiniteScroll'\nexport * from './VInput'\nexport * from './VItemGroup'\nexport * from './VKbd'\nexport * from './VLabel'\nexport * from './VLayout'\nexport * from './VLazy'\nexport * from './VList'\nexport * from './VLocaleProvider'\nexport * from './VMain'\nexport * from './VMenu'\nexport * from './VMessages'\nexport * from './VNavigationDrawer'\nexport * from './VNoSsr'\nexport * from './VNumberInput'\nexport * from './VOtpInput'\n// export * from './VOverflowBtn'\nexport * from './VOverlay'\nexport * from './VPagination'\nexport * from './VParallax'\nexport * from './VProgressCircular'\nexport * from './VProgressLinear'\nexport * from './VRadio'\nexport * from './VRadioGroup'\nexport * from './VRangeSlider'\nexport * from './VRating'\nexport * from './VResponsive'\nexport * from './VSelect'\nexport * from './VSelectionControl'\nexport * from './VSelectionControlGroup'\nexport * from './VSheet'\nexport * from './VSkeletonLoader'\nexport * from './VSlideGroup'\nexport * from './VSlider'\nexport * from './VSnackbar'\nexport * from './VSnackbarQueue'\nexport * from './VSparkline'\nexport * from './VSpeedDial'\nexport * from './VStepper'\nexport * from './VSwitch'\nexport * from './VSystemBar'\nexport * from './VTabs'\nexport * from './VTable'\nexport * from './VTextarea'\nexport * from './VTextField'\nexport * from './VThemeProvider'\nexport * from './VTimeline'\
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../src/components/index.ts"],"sourcesContent":["export * from './VApp'\nexport * from './VAppBar'\nexport * from './VAlert'\nexport * from './VAutocomplete'\nexport * from './VAvatar'\nexport * from './VBadge'\nexport * from './VBanner'\nexport * from './VBottomNavigation'\nexport * from './VBottomSheet'\nexport * from './VBreadcrumbs'\nexport * from './VBtn'\nexport * from './VBtnGroup'\nexport * from './VBtnToggle'\n// export * from './VCalendar'\nexport * from './VCard'\nexport * from './VCarousel'\nexport * from './VCheckbox'\nexport * from './VChip'\nexport * from './VChipGroup'\nexport * from './VCode'\nexport * from './VColorPicker'\nexport * from './VCombobox'\nexport * from './VConfirmEdit'\nexport * from './VCounter'\nexport * from './VDataIterator'\nexport * from './VDataTable'\nexport * from './VDatePicker'\nexport * from './VDefaultsProvider'\nexport * from './VDialog'\nexport * from './VDivider'\nexport * from './VEmptyState'\nexport * from './VExpansionPanel'\nexport * from './VFab'\nexport * from './VField'\nexport * from './VFileInput'\nexport * from './VFooter'\nexport * from './VForm'\nexport * from './VGrid'\nexport * from './VHover'\nexport * from './VIcon'\nexport * from './VImg'\nexport * from './VInfiniteScroll'\nexport * from './VInput'\nexport * from './VItemGroup'\nexport * from './VKbd'\nexport * from './VLabel'\nexport * from './VLayout'\nexport * from './VLazy'\nexport * from './VList'\nexport * from './VLocaleProvider'\nexport * from './VMain'\nexport * from './VMenu'\nexport * from './VMessages'\nexport * from './VNavigationDrawer'\nexport * from './VNoSsr'\nexport * from './VNumberInput'\nexport * from './VOtpInput'\n// export * from './VOverflowBtn'\nexport * from './VOverlay'\nexport * from './VPagination'\nexport * from './VParallax'\nexport * from './VProgressCircular'\nexport * from './VProgressLinear'\nexport * from './VRadio'\nexport * from './VRadioGroup'\nexport * from './VRangeSlider'\nexport * from './VRating'\nexport * from './VResponsive'\nexport * from './VSelect'\nexport * from './VSelectionControl'\nexport * from './VSelectionControlGroup'\nexport * from './VSheet'\nexport * from './VSkeletonLoader'\nexport * from './VSlideGroup'\nexport * from './VSlider'\nexport * from './VSnackbar'\nexport * from './VSnackbarQueue'\nexport * from './VSparkline'\nexport * from './VSpeedDial'\nexport * from './VStepper'\nexport * from './VSwitch'\nexport * from './VSystemBar'\nexport * from './VTabs'\nexport * from './VTable'\nexport * from './VTextarea'\nexport * from './VTextField'\nexport * from './VThemeProvider'\nexport * from './VTimeline'\nexport * from './VTimePicker'\nexport * from './VToolbar'\nexport * from './VTooltip'\nexport * from './VTreeview'\nexport * from './VValidation'\nexport * from './VVirtualScroll'\nexport * from './VWindow'\nexport * from './transitions'\n"],"mappings":";;;;;;;;;;;;uCAaA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sCA4CA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA","ignoreList":[]}
|
@@ -1,5 +1,5 @@
|
|
1
1
|
import type { ComponentOptionsBase, ComponentPublicInstance, Ref, UnwrapRef } from 'vue';
|
2
|
-
import type { UnionToIntersection } from "../util/index.js";
|
2
|
+
import type { NonEmptyArray, UnionToIntersection } from "../util/index.js";
|
3
3
|
/** Omit properties starting with P */
|
4
4
|
type OmitPrefix<T, P extends string, E = Extract<keyof T, `${P}${any}`>> = [E] extends [never] ? T : Omit<T, `${P}${any}`>;
|
5
5
|
type OmitPrivate<T> = OmitPrefix<T, '$'>;
|
@@ -7,7 +7,7 @@ type OmitPrivate<T> = OmitPrefix<T, '$'>;
|
|
7
7
|
type OmitProps<T> = T extends {
|
8
8
|
$props: any;
|
9
9
|
} ? Omit<T, keyof T['$props']> : T;
|
10
|
-
export declare function forwardRefs<T extends {}, U extends Ref<HTMLElement | Omit<ComponentPublicInstance, '$emit' | '$slots'> | undefined
|
10
|
+
export declare function forwardRefs<T extends {}, U extends NonEmptyArray<Ref<HTMLElement | Omit<ComponentPublicInstance, '$emit' | '$slots'> | undefined>>, UU = {
|
11
11
|
[K in keyof U]: NonNullable<UnwrapRef<U[K]>>;
|
12
12
|
}[number], UC = {
|
13
13
|
[K in keyof U]: OmitPrivate<OmitProps<NonNullable<UnwrapRef<U[K]>>>>;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"forwardRefs.js","names":["Refs","Symbol","getDescriptor","obj","key","currentObj","descriptor","Reflect","getOwnPropertyDescriptor","Object","getPrototypeOf","undefined","forwardRefs","target","_len","arguments","length","refs","Array","_key","Proxy","get","has","startsWith","ref","value","val","bind","set","_","setupState","childRefs","queue","slice","shift","push"],"sources":["../../src/composables/forwardRefs.ts"],"sourcesContent":["// Types\nimport type { ComponentOptionsBase, ComponentPublicInstance, Ref, UnwrapRef } from 'vue'\nimport type { UnionToIntersection } from '@/util'\n\nconst Refs = Symbol('Forwarded refs')\n\n/** Omit properties starting with P */\ntype OmitPrefix<\n T,\n P extends string,\n E = Extract<keyof T, `${P}${any}`>,\n> = [E] extends [never] ? T : Omit<T, `${P}${any}`>\ntype OmitPrivate<T> = OmitPrefix<T, '$'>\n\n/** Omit keyof $props from T */\ntype OmitProps<T> = T extends { $props: any } ? Omit<T, keyof T['$props']> : T\n\nfunction getDescriptor (obj: any, key: PropertyKey) {\n let currentObj = obj\n while (currentObj) {\n const descriptor = Reflect.getOwnPropertyDescriptor(currentObj, key)\n if (descriptor) return descriptor\n currentObj = Object.getPrototypeOf(currentObj)\n }\n return undefined\n}\n\nexport function forwardRefs<\n T extends {},\n U extends Ref<HTMLElement | Omit<ComponentPublicInstance, '$emit' | '$slots'> | undefined
|
1
|
+
{"version":3,"file":"forwardRefs.js","names":["Refs","Symbol","getDescriptor","obj","key","currentObj","descriptor","Reflect","getOwnPropertyDescriptor","Object","getPrototypeOf","undefined","forwardRefs","target","_len","arguments","length","refs","Array","_key","Proxy","get","has","startsWith","ref","value","val","bind","set","_","setupState","childRefs","queue","slice","shift","push"],"sources":["../../src/composables/forwardRefs.ts"],"sourcesContent":["// Types\nimport type { ComponentOptionsBase, ComponentPublicInstance, Ref, UnwrapRef } from 'vue'\nimport type { NonEmptyArray, UnionToIntersection } from '@/util'\n\nconst Refs = Symbol('Forwarded refs')\n\n/** Omit properties starting with P */\ntype OmitPrefix<\n T,\n P extends string,\n E = Extract<keyof T, `${P}${any}`>,\n> = [E] extends [never] ? T : Omit<T, `${P}${any}`>\ntype OmitPrivate<T> = OmitPrefix<T, '$'>\n\n/** Omit keyof $props from T */\ntype OmitProps<T> = T extends { $props: any } ? Omit<T, keyof T['$props']> : T\n\nfunction getDescriptor (obj: any, key: PropertyKey) {\n let currentObj = obj\n while (currentObj) {\n const descriptor = Reflect.getOwnPropertyDescriptor(currentObj, key)\n if (descriptor) return descriptor\n currentObj = Object.getPrototypeOf(currentObj)\n }\n return undefined\n}\n\nexport function forwardRefs<\n T extends {},\n U extends NonEmptyArray<Ref<HTMLElement | Omit<ComponentPublicInstance, '$emit' | '$slots'> | undefined>>,\n UU = { [K in keyof U]: NonNullable<UnwrapRef<U[K]>> }[number],\n UC = { [K in keyof U]: OmitPrivate<OmitProps<NonNullable<UnwrapRef<U[K]>>>> }[number],\n R = T & UnionToIntersection<UC> & {\n _allExposed: T | (\n UU extends { $options: infer O }\n ? O extends ComponentOptionsBase<any, infer E, any, any, any, any, any, any>\n ? E\n : never\n : never\n )\n }\n> (target: T, ...refs: U): R {\n (target as any)[Refs] = refs\n\n return new Proxy(target, {\n get (target, key) {\n if (Reflect.has(target, key)) {\n return Reflect.get(target, key)\n }\n\n // Skip internal properties\n if (typeof key === 'symbol' || key.startsWith('$') || key.startsWith('__')) return\n\n for (const ref of refs) {\n if (ref.value && Reflect.has(ref.value, key)) {\n const val = Reflect.get(ref.value, key)\n return typeof val === 'function'\n ? val.bind(ref.value)\n : val\n }\n }\n },\n has (target, key) {\n if (Reflect.has(target, key)) {\n return true\n }\n\n // Skip internal properties\n if (typeof key === 'symbol' || key.startsWith('$') || key.startsWith('__')) return false\n\n for (const ref of refs) {\n if (ref.value && Reflect.has(ref.value, key)) {\n return true\n }\n }\n return false\n },\n set (target, key, value) {\n if (Reflect.has(target, key)) {\n return Reflect.set(target, key, value)\n }\n\n // Skip internal properties\n if (typeof key === 'symbol' || key.startsWith('$') || key.startsWith('__')) return false\n\n for (const ref of refs) {\n if (ref.value && Reflect.has(ref.value, key)) {\n return Reflect.set(ref.value, key, value)\n }\n }\n\n return false\n },\n getOwnPropertyDescriptor (target, key) {\n const descriptor = Reflect.getOwnPropertyDescriptor(target, key)\n if (descriptor) return descriptor\n\n // Skip internal properties\n if (typeof key === 'symbol' || key.startsWith('$') || key.startsWith('__')) return\n\n // Check each ref's own properties\n for (const ref of refs) {\n if (!ref.value) continue\n const descriptor = getDescriptor(ref.value, key) ?? ('_' in ref.value ? getDescriptor(ref.value._?.setupState, key) : undefined)\n if (descriptor) return descriptor\n }\n\n // Recursive search up each ref's prototype\n for (const ref of refs) {\n const childRefs = ref.value && (ref.value as any)[Refs]\n if (!childRefs) continue\n const queue = childRefs.slice()\n while (queue.length) {\n const ref = queue.shift()\n const descriptor = getDescriptor(ref.value, key)\n if (descriptor) return descriptor\n const childRefs = ref.value && (ref.value as any)[Refs]\n if (childRefs) queue.push(...childRefs)\n }\n }\n\n return undefined\n },\n }) as any\n}\n"],"mappings":"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","ignoreList":[]}
|