@vuetify/nightly 3.10.9-dev.2025-11-05 → 3.10.9-dev.2025-11-06
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 +6 -3
- package/dist/json/attributes.json +3507 -3455
- package/dist/json/importMap-labs.json +26 -26
- package/dist/json/importMap.json +164 -164
- package/dist/json/tags.json +14 -1
- package/dist/json/web-types.json +6462 -6338
- package/dist/vuetify-labs.cjs +76 -37
- package/dist/vuetify-labs.css +4631 -4631
- package/dist/vuetify-labs.d.ts +394 -129
- package/dist/vuetify-labs.esm.js +76 -37
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +76 -37
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.cjs +76 -37
- package/dist/vuetify.cjs.map +1 -1
- package/dist/vuetify.css +3336 -3336
- package/dist/vuetify.d.ts +334 -109
- package/dist/vuetify.esm.js +76 -37
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +76 -37
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +22 -21
- package/dist/vuetify.min.js.map +1 -1
- package/lib/components/VAutocomplete/VAutocomplete.d.ts +33 -11
- package/lib/components/VBottomSheet/VBottomSheet.d.ts +25 -0
- package/lib/components/VBreadcrumbs/VBreadcrumbs.d.ts +13 -0
- package/lib/components/VBreadcrumbs/VBreadcrumbs.js +3 -2
- package/lib/components/VBreadcrumbs/VBreadcrumbs.js.map +1 -1
- package/lib/components/VBreadcrumbs/VBreadcrumbsItem.d.ts +20 -0
- package/lib/components/VBreadcrumbs/VBreadcrumbsItem.js +7 -2
- package/lib/components/VBreadcrumbs/VBreadcrumbsItem.js.map +1 -1
- package/lib/components/VCombobox/VCombobox.d.ts +33 -11
- package/lib/components/VDialog/VDialog.d.ts +52 -9
- package/lib/components/VMenu/VMenu.d.ts +52 -9
- package/lib/components/VOverlay/VOverlay.d.ts +25 -0
- package/lib/components/VOverlay/locationStrategies.d.ts +12 -0
- package/lib/components/VOverlay/locationStrategies.js +10 -7
- package/lib/components/VOverlay/locationStrategies.js.map +1 -1
- package/lib/components/VSelect/VSelect.d.ts +51 -17
- package/lib/components/VSnackbar/VSnackbar.d.ts +27 -9
- package/lib/components/VSnackbar/VSnackbar.js +1 -1
- package/lib/components/VSnackbar/VSnackbar.js.map +1 -1
- package/lib/components/VSpeedDial/VSpeedDial.d.ts +25 -0
- package/lib/components/VTabs/VTab.d.ts +20 -0
- package/lib/components/VTabs/VTab.js +46 -17
- package/lib/components/VTabs/VTab.js.map +1 -1
- package/lib/components/VTabs/VTabs.d.ts +20 -0
- package/lib/components/VTabs/VTabs.js +9 -7
- package/lib/components/VTabs/VTabs.js.map +1 -1
- package/lib/components/VTooltip/VTooltip.d.ts +52 -9
- package/lib/entry-bundler.js +1 -1
- package/lib/framework.d.ts +86 -67
- package/lib/framework.js +1 -1
- package/lib/labs/VVideo/VVideo.d.ts +63 -21
- package/lib/labs/VVideo/VVideoControls.d.ts +30 -10
- package/lib/labs/VVideo/VVideoVolume.d.ts +30 -10
- package/package.json +1 -1
|
@@ -426,6 +426,7 @@ export declare const VSnackbar: {
|
|
|
426
426
|
location: import("../../util/index.js").Anchor;
|
|
427
427
|
origin: "auto" | "overlap" | import("../../util/index.js").Anchor;
|
|
428
428
|
stickToTarget: boolean;
|
|
429
|
+
viewportMargin: string | number;
|
|
429
430
|
scrollStrategy: "block" | "close" | "none" | "reposition" | import("../../types.js").ScrollStrategyFunction;
|
|
430
431
|
activatorProps: Record<string, any>;
|
|
431
432
|
openOnClick: boolean;
|
|
@@ -476,6 +477,7 @@ export declare const VSnackbar: {
|
|
|
476
477
|
origin: "auto" | "overlap" | import("../../util/index.js").Anchor;
|
|
477
478
|
offset?: string | number | number[] | undefined;
|
|
478
479
|
stickToTarget: boolean;
|
|
480
|
+
viewportMargin: string | number;
|
|
479
481
|
scrollStrategy: "block" | "close" | "none" | "reposition" | import("../../types.js").ScrollStrategyFunction;
|
|
480
482
|
height?: string | number | undefined;
|
|
481
483
|
maxHeight?: string | number | undefined;
|
|
@@ -523,7 +525,7 @@ export declare const VSnackbar: {
|
|
|
523
525
|
"v-slot:default"?: false | ((arg: {
|
|
524
526
|
isActive: Ref<boolean, boolean>;
|
|
525
527
|
}) => import("vue").VNodeChild) | undefined;
|
|
526
|
-
} & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, "_disableGlobalStack" | "absolute" | "activatorProps" | "closeOnBack" | "closeOnContentClick" | "contained" | "disabled" | "eager" | "location" | "locationStrategy" | "modelValue" | "noClickAnimation" | "openOnClick" | "openOnFocus" | "openOnHover" | "origin" | "persistent" | "scrim" | "scrollStrategy" | "stickToTarget" | "style" | "zIndex">;
|
|
528
|
+
} & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, "_disableGlobalStack" | "absolute" | "activatorProps" | "closeOnBack" | "closeOnContentClick" | "contained" | "disabled" | "eager" | "location" | "locationStrategy" | "modelValue" | "noClickAnimation" | "openOnClick" | "openOnFocus" | "openOnHover" | "origin" | "persistent" | "scrim" | "scrollStrategy" | "stickToTarget" | "style" | "viewportMargin" | "zIndex">;
|
|
527
529
|
$attrs: {
|
|
528
530
|
[x: string]: unknown;
|
|
529
531
|
};
|
|
@@ -555,6 +557,7 @@ export declare const VSnackbar: {
|
|
|
555
557
|
location: import("../../util/index.js").Anchor;
|
|
556
558
|
origin: "auto" | "overlap" | import("../../util/index.js").Anchor;
|
|
557
559
|
stickToTarget: boolean;
|
|
560
|
+
viewportMargin: string | number;
|
|
558
561
|
scrollStrategy: "block" | "close" | "none" | "reposition" | import("../../types.js").ScrollStrategyFunction;
|
|
559
562
|
activatorProps: Record<string, any>;
|
|
560
563
|
openOnHover: boolean;
|
|
@@ -655,6 +658,7 @@ export declare const VSnackbar: {
|
|
|
655
658
|
location: import("../../util/index.js").Anchor;
|
|
656
659
|
origin: "auto" | "overlap" | import("../../util/index.js").Anchor;
|
|
657
660
|
stickToTarget: boolean;
|
|
661
|
+
viewportMargin: string | number;
|
|
658
662
|
scrollStrategy: "block" | "close" | "none" | "reposition" | import("../../types.js").ScrollStrategyFunction;
|
|
659
663
|
activatorProps: Record<string, any>;
|
|
660
664
|
openOnClick: boolean;
|
|
@@ -711,6 +715,7 @@ export declare const VSnackbar: {
|
|
|
711
715
|
location: import("../../util/index.js").Anchor;
|
|
712
716
|
origin: "auto" | "overlap" | import("../../util/index.js").Anchor;
|
|
713
717
|
stickToTarget: boolean;
|
|
718
|
+
viewportMargin: string | number;
|
|
714
719
|
scrollStrategy: "block" | "close" | "none" | "reposition" | import("../../types.js").ScrollStrategyFunction;
|
|
715
720
|
activatorProps: Record<string, any>;
|
|
716
721
|
openOnClick: boolean;
|
|
@@ -734,6 +739,7 @@ export declare const VSnackbar: {
|
|
|
734
739
|
location: import("../../util/index.js").Anchor;
|
|
735
740
|
origin: "auto" | "overlap" | import("../../util/index.js").Anchor;
|
|
736
741
|
stickToTarget: boolean;
|
|
742
|
+
viewportMargin: string | number;
|
|
737
743
|
scrollStrategy: "block" | "close" | "none" | "reposition" | import("../../types.js").ScrollStrategyFunction;
|
|
738
744
|
activatorProps: Record<string, any>;
|
|
739
745
|
openOnHover: boolean;
|
|
@@ -812,7 +818,7 @@ export declare const VSnackbar: {
|
|
|
812
818
|
"onClick:outside"?: ((e: MouseEvent) => any) | undefined;
|
|
813
819
|
onKeydown?: ((e: KeyboardEvent) => any) | undefined;
|
|
814
820
|
"onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
|
|
815
|
-
}, "activatorEl" | "animateClick" | "contentEl" | "globalTop" | "localTop" | "rootEl" | "scrimEl" | "target" | "updateLocation" | ("_disableGlobalStack" | "absolute" | "activatorProps" | "closeOnBack" | "closeOnContentClick" | "contained" | "disabled" | "eager" | "location" | "locationStrategy" | "modelValue" | "noClickAnimation" | "openOnClick" | "openOnFocus" | "openOnHover" | "origin" | "persistent" | "scrim" | "scrollStrategy" | "stickToTarget" | "style" | "zIndex")> & import("vue").ShallowUnwrapRef<{
|
|
821
|
+
}, "activatorEl" | "animateClick" | "contentEl" | "globalTop" | "localTop" | "rootEl" | "scrimEl" | "target" | "updateLocation" | ("_disableGlobalStack" | "absolute" | "activatorProps" | "closeOnBack" | "closeOnContentClick" | "contained" | "disabled" | "eager" | "location" | "locationStrategy" | "modelValue" | "noClickAnimation" | "openOnClick" | "openOnFocus" | "openOnHover" | "origin" | "persistent" | "scrim" | "scrollStrategy" | "stickToTarget" | "style" | "viewportMargin" | "zIndex")> & import("vue").ShallowUnwrapRef<{
|
|
816
822
|
activatorEl: Ref<HTMLElement | undefined, HTMLElement | undefined>;
|
|
817
823
|
scrimEl: Ref<HTMLElement | undefined, HTMLElement | undefined>;
|
|
818
824
|
target: import("vue").ComputedRef<HTMLElement | [x: number, y: number] | undefined>;
|
|
@@ -822,7 +828,7 @@ export declare const VSnackbar: {
|
|
|
822
828
|
globalTop: Readonly<Ref<boolean, boolean>>;
|
|
823
829
|
localTop: Readonly<Ref<boolean, boolean>>;
|
|
824
830
|
updateLocation: Ref<((e: Event) => void) | undefined, ((e: Event) => void) | undefined>;
|
|
825
|
-
}> & {} & import("vue").ComponentCustomProperties & {}, "$children" | "activator" | "attach" | "class" | "closeDelay" | "contentClass" | "contentProps" | "height" | "maxHeight" | "maxWidth" | "minHeight" | "minWidth" | "offset" | "onAfterEnter" | "onAfterLeave" | "onClick:outside" | "onKeydown" | "onUpdate:modelValue" | "opacity" | "openDelay" | "target" | "theme" | "transition" | "v-slot:activator" | "v-slot:default" | "v-slots" | "width" | ("_disableGlobalStack" | "absolute" | "activatorProps" | "closeOnBack" | "closeOnContentClick" | "contained" | "disabled" | "eager" | "location" | "locationStrategy" | "modelValue" | "noClickAnimation" | "openOnClick" | "openOnFocus" | "openOnHover" | "origin" | "persistent" | "scrim" | "scrollStrategy" | "stickToTarget" | "style" | "zIndex") | keyof import("vue").VNodeProps>, `$${any}`> & {
|
|
831
|
+
}> & {} & import("vue").ComponentCustomProperties & {}, "$children" | "activator" | "attach" | "class" | "closeDelay" | "contentClass" | "contentProps" | "height" | "maxHeight" | "maxWidth" | "minHeight" | "minWidth" | "offset" | "onAfterEnter" | "onAfterLeave" | "onClick:outside" | "onKeydown" | "onUpdate:modelValue" | "opacity" | "openDelay" | "target" | "theme" | "transition" | "v-slot:activator" | "v-slot:default" | "v-slots" | "width" | ("_disableGlobalStack" | "absolute" | "activatorProps" | "closeOnBack" | "closeOnContentClick" | "contained" | "disabled" | "eager" | "location" | "locationStrategy" | "modelValue" | "noClickAnimation" | "openOnClick" | "openOnFocus" | "openOnHover" | "origin" | "persistent" | "scrim" | "scrollStrategy" | "stickToTarget" | "style" | "viewportMargin" | "zIndex") | keyof import("vue").VNodeProps>, `$${any}`> & {
|
|
826
832
|
_allExposed: {
|
|
827
833
|
activatorEl: Ref<HTMLElement | undefined, HTMLElement | undefined>;
|
|
828
834
|
scrimEl: Ref<HTMLElement | undefined, HTMLElement | undefined>;
|
|
@@ -981,6 +987,7 @@ export declare const VSnackbar: {
|
|
|
981
987
|
location: import("../../util/index.js").Anchor;
|
|
982
988
|
origin: "auto" | "overlap" | import("../../util/index.js").Anchor;
|
|
983
989
|
stickToTarget: boolean;
|
|
990
|
+
viewportMargin: string | number;
|
|
984
991
|
scrollStrategy: "block" | "close" | "none" | "reposition" | import("../../types.js").ScrollStrategyFunction;
|
|
985
992
|
activatorProps: Record<string, any>;
|
|
986
993
|
openOnClick: boolean;
|
|
@@ -1031,6 +1038,7 @@ export declare const VSnackbar: {
|
|
|
1031
1038
|
origin: "auto" | "overlap" | import("../../util/index.js").Anchor;
|
|
1032
1039
|
offset?: string | number | number[] | undefined;
|
|
1033
1040
|
stickToTarget: boolean;
|
|
1041
|
+
viewportMargin: string | number;
|
|
1034
1042
|
scrollStrategy: "block" | "close" | "none" | "reposition" | import("../../types.js").ScrollStrategyFunction;
|
|
1035
1043
|
height?: string | number | undefined;
|
|
1036
1044
|
maxHeight?: string | number | undefined;
|
|
@@ -1078,7 +1086,7 @@ export declare const VSnackbar: {
|
|
|
1078
1086
|
"v-slot:default"?: false | ((arg: {
|
|
1079
1087
|
isActive: Ref<boolean, boolean>;
|
|
1080
1088
|
}) => import("vue").VNodeChild) | undefined;
|
|
1081
|
-
} & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, "_disableGlobalStack" | "absolute" | "activatorProps" | "closeOnBack" | "closeOnContentClick" | "contained" | "disabled" | "eager" | "location" | "locationStrategy" | "modelValue" | "noClickAnimation" | "openOnClick" | "openOnFocus" | "openOnHover" | "origin" | "persistent" | "scrim" | "scrollStrategy" | "stickToTarget" | "style" | "zIndex">;
|
|
1089
|
+
} & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, "_disableGlobalStack" | "absolute" | "activatorProps" | "closeOnBack" | "closeOnContentClick" | "contained" | "disabled" | "eager" | "location" | "locationStrategy" | "modelValue" | "noClickAnimation" | "openOnClick" | "openOnFocus" | "openOnHover" | "origin" | "persistent" | "scrim" | "scrollStrategy" | "stickToTarget" | "style" | "viewportMargin" | "zIndex">;
|
|
1082
1090
|
$attrs: {
|
|
1083
1091
|
[x: string]: unknown;
|
|
1084
1092
|
};
|
|
@@ -1110,6 +1118,7 @@ export declare const VSnackbar: {
|
|
|
1110
1118
|
location: import("../../util/index.js").Anchor;
|
|
1111
1119
|
origin: "auto" | "overlap" | import("../../util/index.js").Anchor;
|
|
1112
1120
|
stickToTarget: boolean;
|
|
1121
|
+
viewportMargin: string | number;
|
|
1113
1122
|
scrollStrategy: "block" | "close" | "none" | "reposition" | import("../../types.js").ScrollStrategyFunction;
|
|
1114
1123
|
activatorProps: Record<string, any>;
|
|
1115
1124
|
openOnHover: boolean;
|
|
@@ -1210,6 +1219,7 @@ export declare const VSnackbar: {
|
|
|
1210
1219
|
location: import("../../util/index.js").Anchor;
|
|
1211
1220
|
origin: "auto" | "overlap" | import("../../util/index.js").Anchor;
|
|
1212
1221
|
stickToTarget: boolean;
|
|
1222
|
+
viewportMargin: string | number;
|
|
1213
1223
|
scrollStrategy: "block" | "close" | "none" | "reposition" | import("../../types.js").ScrollStrategyFunction;
|
|
1214
1224
|
activatorProps: Record<string, any>;
|
|
1215
1225
|
openOnClick: boolean;
|
|
@@ -1266,6 +1276,7 @@ export declare const VSnackbar: {
|
|
|
1266
1276
|
location: import("../../util/index.js").Anchor;
|
|
1267
1277
|
origin: "auto" | "overlap" | import("../../util/index.js").Anchor;
|
|
1268
1278
|
stickToTarget: boolean;
|
|
1279
|
+
viewportMargin: string | number;
|
|
1269
1280
|
scrollStrategy: "block" | "close" | "none" | "reposition" | import("../../types.js").ScrollStrategyFunction;
|
|
1270
1281
|
activatorProps: Record<string, any>;
|
|
1271
1282
|
openOnClick: boolean;
|
|
@@ -1289,6 +1300,7 @@ export declare const VSnackbar: {
|
|
|
1289
1300
|
location: import("../../util/index.js").Anchor;
|
|
1290
1301
|
origin: "auto" | "overlap" | import("../../util/index.js").Anchor;
|
|
1291
1302
|
stickToTarget: boolean;
|
|
1303
|
+
viewportMargin: string | number;
|
|
1292
1304
|
scrollStrategy: "block" | "close" | "none" | "reposition" | import("../../types.js").ScrollStrategyFunction;
|
|
1293
1305
|
activatorProps: Record<string, any>;
|
|
1294
1306
|
openOnHover: boolean;
|
|
@@ -1367,7 +1379,7 @@ export declare const VSnackbar: {
|
|
|
1367
1379
|
"onClick:outside"?: ((e: MouseEvent) => any) | undefined;
|
|
1368
1380
|
onKeydown?: ((e: KeyboardEvent) => any) | undefined;
|
|
1369
1381
|
"onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
|
|
1370
|
-
}, "activatorEl" | "animateClick" | "contentEl" | "globalTop" | "localTop" | "rootEl" | "scrimEl" | "target" | "updateLocation" | ("_disableGlobalStack" | "absolute" | "activatorProps" | "closeOnBack" | "closeOnContentClick" | "contained" | "disabled" | "eager" | "location" | "locationStrategy" | "modelValue" | "noClickAnimation" | "openOnClick" | "openOnFocus" | "openOnHover" | "origin" | "persistent" | "scrim" | "scrollStrategy" | "stickToTarget" | "style" | "zIndex")> & import("vue").ShallowUnwrapRef<{
|
|
1382
|
+
}, "activatorEl" | "animateClick" | "contentEl" | "globalTop" | "localTop" | "rootEl" | "scrimEl" | "target" | "updateLocation" | ("_disableGlobalStack" | "absolute" | "activatorProps" | "closeOnBack" | "closeOnContentClick" | "contained" | "disabled" | "eager" | "location" | "locationStrategy" | "modelValue" | "noClickAnimation" | "openOnClick" | "openOnFocus" | "openOnHover" | "origin" | "persistent" | "scrim" | "scrollStrategy" | "stickToTarget" | "style" | "viewportMargin" | "zIndex")> & import("vue").ShallowUnwrapRef<{
|
|
1371
1383
|
activatorEl: Ref<HTMLElement | undefined, HTMLElement | undefined>;
|
|
1372
1384
|
scrimEl: Ref<HTMLElement | undefined, HTMLElement | undefined>;
|
|
1373
1385
|
target: import("vue").ComputedRef<HTMLElement | [x: number, y: number] | undefined>;
|
|
@@ -1377,7 +1389,7 @@ export declare const VSnackbar: {
|
|
|
1377
1389
|
globalTop: Readonly<Ref<boolean, boolean>>;
|
|
1378
1390
|
localTop: Readonly<Ref<boolean, boolean>>;
|
|
1379
1391
|
updateLocation: Ref<((e: Event) => void) | undefined, ((e: Event) => void) | undefined>;
|
|
1380
|
-
}> & {} & import("vue").ComponentCustomProperties & {}, "$children" | "activator" | "attach" | "class" | "closeDelay" | "contentClass" | "contentProps" | "height" | "maxHeight" | "maxWidth" | "minHeight" | "minWidth" | "offset" | "onAfterEnter" | "onAfterLeave" | "onClick:outside" | "onKeydown" | "onUpdate:modelValue" | "opacity" | "openDelay" | "target" | "theme" | "transition" | "v-slot:activator" | "v-slot:default" | "v-slots" | "width" | ("_disableGlobalStack" | "absolute" | "activatorProps" | "closeOnBack" | "closeOnContentClick" | "contained" | "disabled" | "eager" | "location" | "locationStrategy" | "modelValue" | "noClickAnimation" | "openOnClick" | "openOnFocus" | "openOnHover" | "origin" | "persistent" | "scrim" | "scrollStrategy" | "stickToTarget" | "style" | "zIndex") | keyof import("vue").VNodeProps>, `$${any}`> & {
|
|
1392
|
+
}> & {} & import("vue").ComponentCustomProperties & {}, "$children" | "activator" | "attach" | "class" | "closeDelay" | "contentClass" | "contentProps" | "height" | "maxHeight" | "maxWidth" | "minHeight" | "minWidth" | "offset" | "onAfterEnter" | "onAfterLeave" | "onClick:outside" | "onKeydown" | "onUpdate:modelValue" | "opacity" | "openDelay" | "target" | "theme" | "transition" | "v-slot:activator" | "v-slot:default" | "v-slots" | "width" | ("_disableGlobalStack" | "absolute" | "activatorProps" | "closeOnBack" | "closeOnContentClick" | "contained" | "disabled" | "eager" | "location" | "locationStrategy" | "modelValue" | "noClickAnimation" | "openOnClick" | "openOnFocus" | "openOnHover" | "origin" | "persistent" | "scrim" | "scrollStrategy" | "stickToTarget" | "style" | "viewportMargin" | "zIndex") | keyof import("vue").VNodeProps>, `$${any}`> & {
|
|
1381
1393
|
_allExposed: {
|
|
1382
1394
|
activatorEl: Ref<HTMLElement | undefined, HTMLElement | undefined>;
|
|
1383
1395
|
scrimEl: Ref<HTMLElement | undefined, HTMLElement | undefined>;
|
|
@@ -1513,6 +1525,7 @@ export declare const VSnackbar: {
|
|
|
1513
1525
|
location: import("../../util/index.js").Anchor;
|
|
1514
1526
|
origin: "auto" | "overlap" | import("../../util/index.js").Anchor;
|
|
1515
1527
|
stickToTarget: boolean;
|
|
1528
|
+
viewportMargin: string | number;
|
|
1516
1529
|
scrollStrategy: "block" | "close" | "none" | "reposition" | import("../../types.js").ScrollStrategyFunction;
|
|
1517
1530
|
activatorProps: Record<string, any>;
|
|
1518
1531
|
openOnClick: boolean;
|
|
@@ -1563,6 +1576,7 @@ export declare const VSnackbar: {
|
|
|
1563
1576
|
origin: "auto" | "overlap" | import("../../util/index.js").Anchor;
|
|
1564
1577
|
offset?: string | number | number[] | undefined;
|
|
1565
1578
|
stickToTarget: boolean;
|
|
1579
|
+
viewportMargin: string | number;
|
|
1566
1580
|
scrollStrategy: "block" | "close" | "none" | "reposition" | import("../../types.js").ScrollStrategyFunction;
|
|
1567
1581
|
height?: string | number | undefined;
|
|
1568
1582
|
maxHeight?: string | number | undefined;
|
|
@@ -1610,7 +1624,7 @@ export declare const VSnackbar: {
|
|
|
1610
1624
|
"v-slot:default"?: false | ((arg: {
|
|
1611
1625
|
isActive: Ref<boolean, boolean>;
|
|
1612
1626
|
}) => import("vue").VNodeChild) | undefined;
|
|
1613
|
-
} & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, "_disableGlobalStack" | "absolute" | "activatorProps" | "closeOnBack" | "closeOnContentClick" | "contained" | "disabled" | "eager" | "location" | "locationStrategy" | "modelValue" | "noClickAnimation" | "openOnClick" | "openOnFocus" | "openOnHover" | "origin" | "persistent" | "scrim" | "scrollStrategy" | "stickToTarget" | "style" | "zIndex">;
|
|
1627
|
+
} & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, "_disableGlobalStack" | "absolute" | "activatorProps" | "closeOnBack" | "closeOnContentClick" | "contained" | "disabled" | "eager" | "location" | "locationStrategy" | "modelValue" | "noClickAnimation" | "openOnClick" | "openOnFocus" | "openOnHover" | "origin" | "persistent" | "scrim" | "scrollStrategy" | "stickToTarget" | "style" | "viewportMargin" | "zIndex">;
|
|
1614
1628
|
$attrs: {
|
|
1615
1629
|
[x: string]: unknown;
|
|
1616
1630
|
};
|
|
@@ -1642,6 +1656,7 @@ export declare const VSnackbar: {
|
|
|
1642
1656
|
location: import("../../util/index.js").Anchor;
|
|
1643
1657
|
origin: "auto" | "overlap" | import("../../util/index.js").Anchor;
|
|
1644
1658
|
stickToTarget: boolean;
|
|
1659
|
+
viewportMargin: string | number;
|
|
1645
1660
|
scrollStrategy: "block" | "close" | "none" | "reposition" | import("../../types.js").ScrollStrategyFunction;
|
|
1646
1661
|
activatorProps: Record<string, any>;
|
|
1647
1662
|
openOnHover: boolean;
|
|
@@ -1742,6 +1757,7 @@ export declare const VSnackbar: {
|
|
|
1742
1757
|
location: import("../../util/index.js").Anchor;
|
|
1743
1758
|
origin: "auto" | "overlap" | import("../../util/index.js").Anchor;
|
|
1744
1759
|
stickToTarget: boolean;
|
|
1760
|
+
viewportMargin: string | number;
|
|
1745
1761
|
scrollStrategy: "block" | "close" | "none" | "reposition" | import("../../types.js").ScrollStrategyFunction;
|
|
1746
1762
|
activatorProps: Record<string, any>;
|
|
1747
1763
|
openOnClick: boolean;
|
|
@@ -1798,6 +1814,7 @@ export declare const VSnackbar: {
|
|
|
1798
1814
|
location: import("../../util/index.js").Anchor;
|
|
1799
1815
|
origin: "auto" | "overlap" | import("../../util/index.js").Anchor;
|
|
1800
1816
|
stickToTarget: boolean;
|
|
1817
|
+
viewportMargin: string | number;
|
|
1801
1818
|
scrollStrategy: "block" | "close" | "none" | "reposition" | import("../../types.js").ScrollStrategyFunction;
|
|
1802
1819
|
activatorProps: Record<string, any>;
|
|
1803
1820
|
openOnClick: boolean;
|
|
@@ -1821,6 +1838,7 @@ export declare const VSnackbar: {
|
|
|
1821
1838
|
location: import("../../util/index.js").Anchor;
|
|
1822
1839
|
origin: "auto" | "overlap" | import("../../util/index.js").Anchor;
|
|
1823
1840
|
stickToTarget: boolean;
|
|
1841
|
+
viewportMargin: string | number;
|
|
1824
1842
|
scrollStrategy: "block" | "close" | "none" | "reposition" | import("../../types.js").ScrollStrategyFunction;
|
|
1825
1843
|
activatorProps: Record<string, any>;
|
|
1826
1844
|
openOnHover: boolean;
|
|
@@ -1899,7 +1917,7 @@ export declare const VSnackbar: {
|
|
|
1899
1917
|
"onClick:outside"?: ((e: MouseEvent) => any) | undefined;
|
|
1900
1918
|
onKeydown?: ((e: KeyboardEvent) => any) | undefined;
|
|
1901
1919
|
"onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
|
|
1902
|
-
}, "activatorEl" | "animateClick" | "contentEl" | "globalTop" | "localTop" | "rootEl" | "scrimEl" | "target" | "updateLocation" | ("_disableGlobalStack" | "absolute" | "activatorProps" | "closeOnBack" | "closeOnContentClick" | "contained" | "disabled" | "eager" | "location" | "locationStrategy" | "modelValue" | "noClickAnimation" | "openOnClick" | "openOnFocus" | "openOnHover" | "origin" | "persistent" | "scrim" | "scrollStrategy" | "stickToTarget" | "style" | "zIndex")> & import("vue").ShallowUnwrapRef<{
|
|
1920
|
+
}, "activatorEl" | "animateClick" | "contentEl" | "globalTop" | "localTop" | "rootEl" | "scrimEl" | "target" | "updateLocation" | ("_disableGlobalStack" | "absolute" | "activatorProps" | "closeOnBack" | "closeOnContentClick" | "contained" | "disabled" | "eager" | "location" | "locationStrategy" | "modelValue" | "noClickAnimation" | "openOnClick" | "openOnFocus" | "openOnHover" | "origin" | "persistent" | "scrim" | "scrollStrategy" | "stickToTarget" | "style" | "viewportMargin" | "zIndex")> & import("vue").ShallowUnwrapRef<{
|
|
1903
1921
|
activatorEl: Ref<HTMLElement | undefined, HTMLElement | undefined>;
|
|
1904
1922
|
scrimEl: Ref<HTMLElement | undefined, HTMLElement | undefined>;
|
|
1905
1923
|
target: import("vue").ComputedRef<HTMLElement | [x: number, y: number] | undefined>;
|
|
@@ -1909,7 +1927,7 @@ export declare const VSnackbar: {
|
|
|
1909
1927
|
globalTop: Readonly<Ref<boolean, boolean>>;
|
|
1910
1928
|
localTop: Readonly<Ref<boolean, boolean>>;
|
|
1911
1929
|
updateLocation: Ref<((e: Event) => void) | undefined, ((e: Event) => void) | undefined>;
|
|
1912
|
-
}> & {} & import("vue").ComponentCustomProperties & {}, "$children" | "activator" | "attach" | "class" | "closeDelay" | "contentClass" | "contentProps" | "height" | "maxHeight" | "maxWidth" | "minHeight" | "minWidth" | "offset" | "onAfterEnter" | "onAfterLeave" | "onClick:outside" | "onKeydown" | "onUpdate:modelValue" | "opacity" | "openDelay" | "target" | "theme" | "transition" | "v-slot:activator" | "v-slot:default" | "v-slots" | "width" | ("_disableGlobalStack" | "absolute" | "activatorProps" | "closeOnBack" | "closeOnContentClick" | "contained" | "disabled" | "eager" | "location" | "locationStrategy" | "modelValue" | "noClickAnimation" | "openOnClick" | "openOnFocus" | "openOnHover" | "origin" | "persistent" | "scrim" | "scrollStrategy" | "stickToTarget" | "style" | "zIndex") | keyof import("vue").VNodeProps>, `$${any}`> & {
|
|
1930
|
+
}> & {} & import("vue").ComponentCustomProperties & {}, "$children" | "activator" | "attach" | "class" | "closeDelay" | "contentClass" | "contentProps" | "height" | "maxHeight" | "maxWidth" | "minHeight" | "minWidth" | "offset" | "onAfterEnter" | "onAfterLeave" | "onClick:outside" | "onKeydown" | "onUpdate:modelValue" | "opacity" | "openDelay" | "target" | "theme" | "transition" | "v-slot:activator" | "v-slot:default" | "v-slots" | "width" | ("_disableGlobalStack" | "absolute" | "activatorProps" | "closeOnBack" | "closeOnContentClick" | "contained" | "disabled" | "eager" | "location" | "locationStrategy" | "modelValue" | "noClickAnimation" | "openOnClick" | "openOnFocus" | "openOnHover" | "origin" | "persistent" | "scrim" | "scrollStrategy" | "stickToTarget" | "style" | "viewportMargin" | "zIndex") | keyof import("vue").VNodeProps>, `$${any}`> & {
|
|
1913
1931
|
_allExposed: {
|
|
1914
1932
|
activatorEl: Ref<HTMLElement | undefined, HTMLElement | undefined>;
|
|
1915
1933
|
scrimEl: Ref<HTMLElement | undefined, HTMLElement | undefined>;
|
|
@@ -71,7 +71,7 @@ export const makeVSnackbarProps = propsFactory({
|
|
|
71
71
|
...makeThemeProps(),
|
|
72
72
|
...omit(makeVOverlayProps({
|
|
73
73
|
transition: 'v-snackbar-transition'
|
|
74
|
-
}), ['persistent', 'noClickAnimation', 'scrim', 'scrollStrategy', 'stickToTarget'])
|
|
74
|
+
}), ['persistent', 'noClickAnimation', 'scrim', 'scrollStrategy', 'stickToTarget', 'viewportMargin'])
|
|
75
75
|
}, 'VSnackbar');
|
|
76
76
|
export const VSnackbar = genericComponent()({
|
|
77
77
|
name: 'VSnackbar',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VSnackbar.js","names":["VDefaultsProvider","VOverlay","makeVOverlayProps","VProgressLinear","useLayout","forwardRefs","VuetifyLayoutKey","makeLocationProps","makePositionProps","usePosition","useProxiedModel","makeRoundedProps","useRounded","useScopeId","makeThemeProps","provideTheme","useToggleScope","genOverlays","makeVariantProps","useVariant","computed","inject","mergeProps","nextTick","onMounted","onScopeDispose","ref","shallowRef","watch","watchEffect","genericComponent","omit","propsFactory","refElement","useRender","useCountdown","milliseconds","time","timer","clear","clearInterval","reset","value","start","el","style","getComputedStyle","transitionDuration","interval","parseFloat","startTime","performance","now","window","setInterval","elapsed","Math","max","makeVSnackbarProps","multiLine","Boolean","text","String","timeout","type","Number","default","vertical","location","transition","VSnackbar","name","props","emits","v","setup","_ref","slots","isActive","positionClasses","scopeId","themeClasses","colorClasses","colorStyles","variantClasses","roundedClasses","countdown","overlay","timerRef","isHovering","startY","mainStyles","hasLayout","undefined","layout","startTimeout","activeTimeout","clearTimeout","element","setTimeout","onPointerenter","onPointerleave","onTouchstart","event","touches","clientY","onTouchend","abs","changedTouches","onAfterLeave","locationClasses","split","reduce","acc","loc","overlayProps","filterProps","hasContent","_createVNode","_mergeProps","class","$event","contentProps","_createElementVNode","actions","VBtn","variant","ripple","slim","activator"],"sources":["../../../src/components/VSnackbar/VSnackbar.tsx"],"sourcesContent":["// Styles\nimport './VSnackbar.sass'\n\n// Components\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VOverlay } from '@/components/VOverlay'\nimport { makeVOverlayProps } from '@/components/VOverlay/VOverlay'\nimport { VProgressLinear } from '@/components/VProgressLinear'\n\n// Composables\nimport { useLayout } from '@/composables'\nimport { forwardRefs } from '@/composables/forwardRefs'\nimport { VuetifyLayoutKey } from '@/composables/layout'\nimport { makeLocationProps } from '@/composables/location'\nimport { makePositionProps, usePosition } from '@/composables/position'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { useScopeId } from '@/composables/scopeId'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { useToggleScope } from '@/composables/toggleScope'\nimport { genOverlays, makeVariantProps, useVariant } from '@/composables/variant'\n\n// Utilities\nimport { computed, inject, mergeProps, nextTick, onMounted, onScopeDispose, ref, shallowRef, watch, watchEffect } from 'vue'\nimport { genericComponent, omit, propsFactory, refElement, useRender } from '@/util'\n\n// Types\nimport type { Ref } from 'vue'\n\ntype VSnackbarSlots = {\n activator: { isActive: boolean, props: Record<string, any> }\n default: never\n actions: { isActive: Ref<boolean> }\n text: never\n}\n\nfunction useCountdown (milliseconds: () => number) {\n const time = shallowRef(milliseconds())\n let timer = -1\n\n function clear () {\n clearInterval(timer)\n }\n\n function reset () {\n clear()\n\n nextTick(() => time.value = milliseconds())\n }\n\n function start (el?: HTMLElement) {\n const style = el ? getComputedStyle(el) : { transitionDuration: 0.2 }\n const interval = parseFloat(style.transitionDuration) * 1000 || 200\n\n clear()\n\n if (time.value <= 0) return\n\n const startTime = performance.now()\n timer = window.setInterval(() => {\n const elapsed = performance.now() - startTime + interval\n time.value = Math.max(milliseconds() - elapsed, 0)\n\n if (time.value <= 0) clear()\n }, interval)\n }\n\n onScopeDispose(clear)\n\n return { clear, time, start, reset }\n}\n\nexport const makeVSnackbarProps = propsFactory({\n /* @deprecated */\n multiLine: Boolean,\n text: String,\n timer: [Boolean, String],\n timeout: {\n type: [Number, String],\n default: 5000,\n },\n vertical: Boolean,\n\n ...makeLocationProps({ location: 'bottom' } as const),\n ...makePositionProps(),\n ...makeRoundedProps(),\n ...makeVariantProps(),\n ...makeThemeProps(),\n ...omit(makeVOverlayProps({\n transition: 'v-snackbar-transition',\n }), ['persistent', 'noClickAnimation', 'scrim', 'scrollStrategy', 'stickToTarget']),\n}, 'VSnackbar')\n\nexport const VSnackbar = genericComponent<VSnackbarSlots>()({\n name: 'VSnackbar',\n\n props: makeVSnackbarProps(),\n\n emits: {\n 'update:modelValue': (v: boolean) => true,\n },\n\n setup (props, { slots }) {\n const isActive = useProxiedModel(props, 'modelValue')\n const { positionClasses } = usePosition(props)\n const { scopeId } = useScopeId()\n const { themeClasses } = provideTheme(props)\n const { colorClasses, colorStyles, variantClasses } = useVariant(props)\n const { roundedClasses } = useRounded(props)\n const countdown = useCountdown(() => Number(props.timeout))\n\n const overlay = ref<VOverlay>()\n const timerRef = ref<VProgressLinear>()\n const isHovering = shallowRef(false)\n const startY = shallowRef(0)\n const mainStyles = ref()\n const hasLayout = inject(VuetifyLayoutKey, undefined)\n\n useToggleScope(() => !!hasLayout, () => {\n const layout = useLayout()\n\n watchEffect(() => {\n mainStyles.value = layout.mainStyles.value\n })\n })\n\n watch(isActive, startTimeout)\n watch(() => props.timeout, startTimeout)\n\n onMounted(() => {\n if (isActive.value) startTimeout()\n })\n\n let activeTimeout = -1\n function startTimeout () {\n countdown.reset()\n window.clearTimeout(activeTimeout)\n const timeout = Number(props.timeout)\n\n if (!isActive.value || timeout === -1) return\n\n const element = refElement(timerRef.value)\n\n countdown.start(element)\n\n activeTimeout = window.setTimeout(() => {\n isActive.value = false\n }, timeout)\n }\n\n function clearTimeout () {\n countdown.reset()\n window.clearTimeout(activeTimeout)\n }\n\n function onPointerenter () {\n isHovering.value = true\n clearTimeout()\n }\n\n function onPointerleave () {\n isHovering.value = false\n startTimeout()\n }\n\n function onTouchstart (event: TouchEvent) {\n startY.value = event.touches[0].clientY\n }\n\n function onTouchend (event: TouchEvent) {\n if (Math.abs(startY.value - event.changedTouches[0].clientY) > 50) {\n isActive.value = false\n }\n }\n\n function onAfterLeave () {\n if (isHovering.value) onPointerleave()\n }\n\n const locationClasses = computed(() => {\n return props.location.split(' ').reduce((acc, loc) => {\n acc[`v-snackbar--${loc}`] = true\n\n return acc\n }, {} as Record<string, any>)\n })\n\n useRender(() => {\n const overlayProps = VOverlay.filterProps(props)\n const hasContent = !!(slots.default || slots.text || props.text)\n\n return (\n <VOverlay\n ref={ overlay }\n class={[\n 'v-snackbar',\n {\n 'v-snackbar--active': isActive.value,\n 'v-snackbar--multi-line': props.multiLine && !props.vertical,\n 'v-snackbar--timer': !!props.timer,\n 'v-snackbar--vertical': props.vertical,\n },\n locationClasses.value,\n positionClasses.value,\n props.class,\n ]}\n style={[\n mainStyles.value,\n props.style,\n ]}\n { ...overlayProps }\n v-model={ isActive.value }\n contentProps={ mergeProps({\n class: [\n 'v-snackbar__wrapper',\n themeClasses.value,\n colorClasses.value,\n roundedClasses.value,\n variantClasses.value,\n ],\n style: [\n colorStyles.value,\n ],\n onPointerenter,\n onPointerleave,\n }, overlayProps.contentProps)}\n persistent\n noClickAnimation\n scrim={ false }\n scrollStrategy=\"none\"\n _disableGlobalStack\n onTouchstartPassive={ onTouchstart }\n onTouchend={ onTouchend }\n onAfterLeave={ onAfterLeave }\n { ...scopeId }\n v-slots={{ activator: slots.activator }}\n >\n { genOverlays(false, 'v-snackbar') }\n\n { props.timer && !isHovering.value && (\n <div key=\"timer\" class=\"v-snackbar__timer\">\n <VProgressLinear\n ref={ timerRef }\n color={ typeof props.timer === 'string' ? props.timer : 'info' }\n max={ props.timeout }\n modelValue={ countdown.time.value }\n />\n </div>\n )}\n\n { hasContent && (\n <div\n key=\"content\"\n class=\"v-snackbar__content\"\n role=\"status\"\n aria-live=\"polite\"\n >\n { slots.text?.() ?? props.text }\n\n { slots.default?.() }\n </div>\n )}\n\n { slots.actions && (\n <VDefaultsProvider\n defaults={{\n VBtn: {\n variant: 'text',\n ripple: false,\n slim: true,\n },\n }}\n >\n <div class=\"v-snackbar__actions\">\n { slots.actions({ isActive }) }\n </div>\n </VDefaultsProvider>\n )}\n </VOverlay>\n )\n })\n\n return forwardRefs({}, overlay)\n },\n})\n\nexport type VSnackbar = InstanceType<typeof VSnackbar>\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"VSnackbar.js","names":["VDefaultsProvider","VOverlay","makeVOverlayProps","VProgressLinear","useLayout","forwardRefs","VuetifyLayoutKey","makeLocationProps","makePositionProps","usePosition","useProxiedModel","makeRoundedProps","useRounded","useScopeId","makeThemeProps","provideTheme","useToggleScope","genOverlays","makeVariantProps","useVariant","computed","inject","mergeProps","nextTick","onMounted","onScopeDispose","ref","shallowRef","watch","watchEffect","genericComponent","omit","propsFactory","refElement","useRender","useCountdown","milliseconds","time","timer","clear","clearInterval","reset","value","start","el","style","getComputedStyle","transitionDuration","interval","parseFloat","startTime","performance","now","window","setInterval","elapsed","Math","max","makeVSnackbarProps","multiLine","Boolean","text","String","timeout","type","Number","default","vertical","location","transition","VSnackbar","name","props","emits","v","setup","_ref","slots","isActive","positionClasses","scopeId","themeClasses","colorClasses","colorStyles","variantClasses","roundedClasses","countdown","overlay","timerRef","isHovering","startY","mainStyles","hasLayout","undefined","layout","startTimeout","activeTimeout","clearTimeout","element","setTimeout","onPointerenter","onPointerleave","onTouchstart","event","touches","clientY","onTouchend","abs","changedTouches","onAfterLeave","locationClasses","split","reduce","acc","loc","overlayProps","filterProps","hasContent","_createVNode","_mergeProps","class","$event","contentProps","_createElementVNode","actions","VBtn","variant","ripple","slim","activator"],"sources":["../../../src/components/VSnackbar/VSnackbar.tsx"],"sourcesContent":["// Styles\nimport './VSnackbar.sass'\n\n// Components\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VOverlay } from '@/components/VOverlay'\nimport { makeVOverlayProps } from '@/components/VOverlay/VOverlay'\nimport { VProgressLinear } from '@/components/VProgressLinear'\n\n// Composables\nimport { useLayout } from '@/composables'\nimport { forwardRefs } from '@/composables/forwardRefs'\nimport { VuetifyLayoutKey } from '@/composables/layout'\nimport { makeLocationProps } from '@/composables/location'\nimport { makePositionProps, usePosition } from '@/composables/position'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { useScopeId } from '@/composables/scopeId'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { useToggleScope } from '@/composables/toggleScope'\nimport { genOverlays, makeVariantProps, useVariant } from '@/composables/variant'\n\n// Utilities\nimport { computed, inject, mergeProps, nextTick, onMounted, onScopeDispose, ref, shallowRef, watch, watchEffect } from 'vue'\nimport { genericComponent, omit, propsFactory, refElement, useRender } from '@/util'\n\n// Types\nimport type { Ref } from 'vue'\n\ntype VSnackbarSlots = {\n activator: { isActive: boolean, props: Record<string, any> }\n default: never\n actions: { isActive: Ref<boolean> }\n text: never\n}\n\nfunction useCountdown (milliseconds: () => number) {\n const time = shallowRef(milliseconds())\n let timer = -1\n\n function clear () {\n clearInterval(timer)\n }\n\n function reset () {\n clear()\n\n nextTick(() => time.value = milliseconds())\n }\n\n function start (el?: HTMLElement) {\n const style = el ? getComputedStyle(el) : { transitionDuration: 0.2 }\n const interval = parseFloat(style.transitionDuration) * 1000 || 200\n\n clear()\n\n if (time.value <= 0) return\n\n const startTime = performance.now()\n timer = window.setInterval(() => {\n const elapsed = performance.now() - startTime + interval\n time.value = Math.max(milliseconds() - elapsed, 0)\n\n if (time.value <= 0) clear()\n }, interval)\n }\n\n onScopeDispose(clear)\n\n return { clear, time, start, reset }\n}\n\nexport const makeVSnackbarProps = propsFactory({\n /* @deprecated */\n multiLine: Boolean,\n text: String,\n timer: [Boolean, String],\n timeout: {\n type: [Number, String],\n default: 5000,\n },\n vertical: Boolean,\n\n ...makeLocationProps({ location: 'bottom' } as const),\n ...makePositionProps(),\n ...makeRoundedProps(),\n ...makeVariantProps(),\n ...makeThemeProps(),\n ...omit(makeVOverlayProps({\n transition: 'v-snackbar-transition',\n }), [\n 'persistent',\n 'noClickAnimation',\n 'scrim',\n 'scrollStrategy',\n 'stickToTarget',\n 'viewportMargin',\n ]),\n}, 'VSnackbar')\n\nexport const VSnackbar = genericComponent<VSnackbarSlots>()({\n name: 'VSnackbar',\n\n props: makeVSnackbarProps(),\n\n emits: {\n 'update:modelValue': (v: boolean) => true,\n },\n\n setup (props, { slots }) {\n const isActive = useProxiedModel(props, 'modelValue')\n const { positionClasses } = usePosition(props)\n const { scopeId } = useScopeId()\n const { themeClasses } = provideTheme(props)\n const { colorClasses, colorStyles, variantClasses } = useVariant(props)\n const { roundedClasses } = useRounded(props)\n const countdown = useCountdown(() => Number(props.timeout))\n\n const overlay = ref<VOverlay>()\n const timerRef = ref<VProgressLinear>()\n const isHovering = shallowRef(false)\n const startY = shallowRef(0)\n const mainStyles = ref()\n const hasLayout = inject(VuetifyLayoutKey, undefined)\n\n useToggleScope(() => !!hasLayout, () => {\n const layout = useLayout()\n\n watchEffect(() => {\n mainStyles.value = layout.mainStyles.value\n })\n })\n\n watch(isActive, startTimeout)\n watch(() => props.timeout, startTimeout)\n\n onMounted(() => {\n if (isActive.value) startTimeout()\n })\n\n let activeTimeout = -1\n function startTimeout () {\n countdown.reset()\n window.clearTimeout(activeTimeout)\n const timeout = Number(props.timeout)\n\n if (!isActive.value || timeout === -1) return\n\n const element = refElement(timerRef.value)\n\n countdown.start(element)\n\n activeTimeout = window.setTimeout(() => {\n isActive.value = false\n }, timeout)\n }\n\n function clearTimeout () {\n countdown.reset()\n window.clearTimeout(activeTimeout)\n }\n\n function onPointerenter () {\n isHovering.value = true\n clearTimeout()\n }\n\n function onPointerleave () {\n isHovering.value = false\n startTimeout()\n }\n\n function onTouchstart (event: TouchEvent) {\n startY.value = event.touches[0].clientY\n }\n\n function onTouchend (event: TouchEvent) {\n if (Math.abs(startY.value - event.changedTouches[0].clientY) > 50) {\n isActive.value = false\n }\n }\n\n function onAfterLeave () {\n if (isHovering.value) onPointerleave()\n }\n\n const locationClasses = computed(() => {\n return props.location.split(' ').reduce((acc, loc) => {\n acc[`v-snackbar--${loc}`] = true\n\n return acc\n }, {} as Record<string, any>)\n })\n\n useRender(() => {\n const overlayProps = VOverlay.filterProps(props)\n const hasContent = !!(slots.default || slots.text || props.text)\n\n return (\n <VOverlay\n ref={ overlay }\n class={[\n 'v-snackbar',\n {\n 'v-snackbar--active': isActive.value,\n 'v-snackbar--multi-line': props.multiLine && !props.vertical,\n 'v-snackbar--timer': !!props.timer,\n 'v-snackbar--vertical': props.vertical,\n },\n locationClasses.value,\n positionClasses.value,\n props.class,\n ]}\n style={[\n mainStyles.value,\n props.style,\n ]}\n { ...overlayProps }\n v-model={ isActive.value }\n contentProps={ mergeProps({\n class: [\n 'v-snackbar__wrapper',\n themeClasses.value,\n colorClasses.value,\n roundedClasses.value,\n variantClasses.value,\n ],\n style: [\n colorStyles.value,\n ],\n onPointerenter,\n onPointerleave,\n }, overlayProps.contentProps)}\n persistent\n noClickAnimation\n scrim={ false }\n scrollStrategy=\"none\"\n _disableGlobalStack\n onTouchstartPassive={ onTouchstart }\n onTouchend={ onTouchend }\n onAfterLeave={ onAfterLeave }\n { ...scopeId }\n v-slots={{ activator: slots.activator }}\n >\n { genOverlays(false, 'v-snackbar') }\n\n { props.timer && !isHovering.value && (\n <div key=\"timer\" class=\"v-snackbar__timer\">\n <VProgressLinear\n ref={ timerRef }\n color={ typeof props.timer === 'string' ? props.timer : 'info' }\n max={ props.timeout }\n modelValue={ countdown.time.value }\n />\n </div>\n )}\n\n { hasContent && (\n <div\n key=\"content\"\n class=\"v-snackbar__content\"\n role=\"status\"\n aria-live=\"polite\"\n >\n { slots.text?.() ?? props.text }\n\n { slots.default?.() }\n </div>\n )}\n\n { slots.actions && (\n <VDefaultsProvider\n defaults={{\n VBtn: {\n variant: 'text',\n ripple: false,\n slim: true,\n },\n }}\n >\n <div class=\"v-snackbar__actions\">\n { slots.actions({ isActive }) }\n </div>\n </VDefaultsProvider>\n )}\n </VOverlay>\n )\n })\n\n return forwardRefs({}, overlay)\n },\n})\n\nexport type VSnackbar = InstanceType<typeof VSnackbar>\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -10,6 +10,7 @@ export declare const makeVSpeedDialProps: <Defaults extends {
|
|
|
10
10
|
origin?: unknown;
|
|
11
11
|
offset?: unknown;
|
|
12
12
|
stickToTarget?: unknown;
|
|
13
|
+
viewportMargin?: unknown;
|
|
13
14
|
scrollStrategy?: unknown;
|
|
14
15
|
height?: unknown;
|
|
15
16
|
maxHeight?: unknown;
|
|
@@ -126,6 +127,16 @@ export declare const makeVSpeedDialProps: <Defaults extends {
|
|
|
126
127
|
type: import("vue").PropType<unknown extends Defaults["stickToTarget"] ? boolean : boolean | Defaults["stickToTarget"]>;
|
|
127
128
|
default: unknown extends Defaults["stickToTarget"] ? boolean : boolean | Defaults["stickToTarget"];
|
|
128
129
|
};
|
|
130
|
+
viewportMargin: unknown extends Defaults["viewportMargin"] ? {
|
|
131
|
+
type: (NumberConstructor | StringConstructor)[];
|
|
132
|
+
default: number;
|
|
133
|
+
} : Omit<{
|
|
134
|
+
type: (NumberConstructor | StringConstructor)[];
|
|
135
|
+
default: number;
|
|
136
|
+
}, "default" | "type"> & {
|
|
137
|
+
type: import("vue").PropType<unknown extends Defaults["viewportMargin"] ? string | number : string | number | Defaults["viewportMargin"]>;
|
|
138
|
+
default: unknown extends Defaults["viewportMargin"] ? string | number : Defaults["viewportMargin"] | NonNullable<string | number>;
|
|
139
|
+
};
|
|
129
140
|
scrollStrategy: unknown extends Defaults["scrollStrategy"] ? Omit<{
|
|
130
141
|
type: import("vue").PropType<"block" | "close" | "none" | "reposition" | import("../../types.js").ScrollStrategyFunction>;
|
|
131
142
|
default: string;
|
|
@@ -1175,6 +1186,7 @@ export declare const VSpeedDial: {
|
|
|
1175
1186
|
origin: "auto" | "overlap" | Anchor;
|
|
1176
1187
|
offset: string | number | number[];
|
|
1177
1188
|
stickToTarget: boolean;
|
|
1189
|
+
viewportMargin: string | number;
|
|
1178
1190
|
scrollStrategy: "block" | "close" | "none" | "reposition" | import("../../types.js").ScrollStrategyFunction;
|
|
1179
1191
|
minWidth: string | number;
|
|
1180
1192
|
closeDelay: string | number;
|
|
@@ -1323,6 +1335,7 @@ export declare const VSpeedDial: {
|
|
|
1323
1335
|
origin: "auto" | "overlap" | Anchor;
|
|
1324
1336
|
offset: string | number | number[] | undefined;
|
|
1325
1337
|
stickToTarget: boolean;
|
|
1338
|
+
viewportMargin: string | number;
|
|
1326
1339
|
scrollStrategy: "block" | "close" | "none" | "reposition" | import("../../types.js").ScrollStrategyFunction;
|
|
1327
1340
|
minWidth: string | number;
|
|
1328
1341
|
closeDelay: string | number;
|
|
@@ -1438,6 +1451,7 @@ export declare const VSpeedDial: {
|
|
|
1438
1451
|
origin: "auto" | "overlap" | Anchor;
|
|
1439
1452
|
offset: string | number | number[];
|
|
1440
1453
|
stickToTarget: boolean;
|
|
1454
|
+
viewportMargin: string | number;
|
|
1441
1455
|
scrollStrategy: "block" | "close" | "none" | "reposition" | import("../../types.js").ScrollStrategyFunction;
|
|
1442
1456
|
minWidth: string | number;
|
|
1443
1457
|
closeDelay: string | number;
|
|
@@ -1584,6 +1598,7 @@ export declare const VSpeedDial: {
|
|
|
1584
1598
|
origin: "auto" | "overlap" | Anchor;
|
|
1585
1599
|
offset: string | number | number[] | undefined;
|
|
1586
1600
|
stickToTarget: boolean;
|
|
1601
|
+
viewportMargin: string | number;
|
|
1587
1602
|
scrollStrategy: "block" | "close" | "none" | "reposition" | import("../../types.js").ScrollStrategyFunction;
|
|
1588
1603
|
minWidth: string | number;
|
|
1589
1604
|
closeDelay: string | number;
|
|
@@ -1683,6 +1698,7 @@ export declare const VSpeedDial: {
|
|
|
1683
1698
|
origin: "auto" | "overlap" | Anchor;
|
|
1684
1699
|
offset: string | number | number[];
|
|
1685
1700
|
stickToTarget: boolean;
|
|
1701
|
+
viewportMargin: string | number;
|
|
1686
1702
|
scrollStrategy: "block" | "close" | "none" | "reposition" | import("../../types.js").ScrollStrategyFunction;
|
|
1687
1703
|
minWidth: string | number;
|
|
1688
1704
|
closeDelay: string | number;
|
|
@@ -1831,6 +1847,7 @@ export declare const VSpeedDial: {
|
|
|
1831
1847
|
origin: "auto" | "overlap" | Anchor;
|
|
1832
1848
|
offset: string | number | number[] | undefined;
|
|
1833
1849
|
stickToTarget: boolean;
|
|
1850
|
+
viewportMargin: string | number;
|
|
1834
1851
|
scrollStrategy: "block" | "close" | "none" | "reposition" | import("../../types.js").ScrollStrategyFunction;
|
|
1835
1852
|
minWidth: string | number;
|
|
1836
1853
|
closeDelay: string | number;
|
|
@@ -1966,6 +1983,10 @@ export declare const VSpeedDial: {
|
|
|
1966
1983
|
default: NonNullable<string | number | number[] | undefined>;
|
|
1967
1984
|
};
|
|
1968
1985
|
stickToTarget: BooleanConstructor;
|
|
1986
|
+
viewportMargin: {
|
|
1987
|
+
type: (NumberConstructor | StringConstructor)[];
|
|
1988
|
+
default: number;
|
|
1989
|
+
};
|
|
1969
1990
|
scrollStrategy: Omit<{
|
|
1970
1991
|
type: import("vue").PropType<"block" | "close" | "none" | "reposition" | import("../../types.js").ScrollStrategyFunction>;
|
|
1971
1992
|
default: string;
|
|
@@ -2353,6 +2374,10 @@ export declare const VSpeedDial: {
|
|
|
2353
2374
|
default: NonNullable<string | number | number[] | undefined>;
|
|
2354
2375
|
};
|
|
2355
2376
|
stickToTarget: BooleanConstructor;
|
|
2377
|
+
viewportMargin: {
|
|
2378
|
+
type: (NumberConstructor | StringConstructor)[];
|
|
2379
|
+
default: number;
|
|
2380
|
+
};
|
|
2356
2381
|
scrollStrategy: Omit<{
|
|
2357
2382
|
type: import("vue").PropType<"block" | "close" | "none" | "reposition" | import("../../types.js").ScrollStrategyFunction>;
|
|
2358
2383
|
default: string;
|
|
@@ -42,6 +42,8 @@ export declare const makeVTabProps: <Defaults extends {
|
|
|
42
42
|
text?: unknown;
|
|
43
43
|
fixed?: unknown;
|
|
44
44
|
sliderColor?: unknown;
|
|
45
|
+
sliderTransition?: unknown;
|
|
46
|
+
sliderTransitionDuration?: unknown;
|
|
45
47
|
hideSlider?: unknown;
|
|
46
48
|
direction?: unknown;
|
|
47
49
|
} = {}>(defaults?: Defaults | undefined) => {
|
|
@@ -301,6 +303,14 @@ export declare const makeVTabProps: <Defaults extends {
|
|
|
301
303
|
type: PropType<unknown extends Defaults["sliderColor"] ? string : string | Defaults["sliderColor"]>;
|
|
302
304
|
default: unknown extends Defaults["sliderColor"] ? string : string | Defaults["sliderColor"];
|
|
303
305
|
};
|
|
306
|
+
sliderTransition: unknown extends Defaults["sliderTransition"] ? PropType<"fade" | "grow" | "shift"> : {
|
|
307
|
+
type: PropType<unknown extends Defaults["sliderTransition"] ? "fade" | "grow" | "shift" : "fade" | "grow" | "shift" | Defaults["sliderTransition"]>;
|
|
308
|
+
default: unknown extends Defaults["sliderTransition"] ? "fade" | "grow" | "shift" : Defaults["sliderTransition"] | NonNullable<"fade" | "grow" | "shift">;
|
|
309
|
+
};
|
|
310
|
+
sliderTransitionDuration: unknown extends Defaults["sliderTransitionDuration"] ? (NumberConstructor | StringConstructor)[] : {
|
|
311
|
+
type: PropType<unknown extends Defaults["sliderTransitionDuration"] ? string | number : string | number | Defaults["sliderTransitionDuration"]>;
|
|
312
|
+
default: unknown extends Defaults["sliderTransitionDuration"] ? string | number : Defaults["sliderTransitionDuration"] | NonNullable<string | number>;
|
|
313
|
+
};
|
|
304
314
|
hideSlider: unknown extends Defaults["hideSlider"] ? BooleanConstructor : {
|
|
305
315
|
type: PropType<unknown extends Defaults["hideSlider"] ? boolean : boolean | Defaults["hideSlider"]>;
|
|
306
316
|
default: unknown extends Defaults["hideSlider"] ? boolean : boolean | Defaults["hideSlider"];
|
|
@@ -363,6 +373,8 @@ export declare const VTab: {
|
|
|
363
373
|
spaced?: "both" | "end" | "start" | undefined;
|
|
364
374
|
text?: string | number | boolean | undefined;
|
|
365
375
|
sliderColor?: string | undefined;
|
|
376
|
+
sliderTransition?: "fade" | "grow" | "shift" | undefined;
|
|
377
|
+
sliderTransitionDuration?: string | number | undefined;
|
|
366
378
|
} & {
|
|
367
379
|
$children?: {
|
|
368
380
|
default?: (() => import("vue").VNodeChild) | undefined;
|
|
@@ -829,6 +841,8 @@ export declare const VTab: {
|
|
|
829
841
|
spaced?: "both" | "end" | "start" | undefined;
|
|
830
842
|
text?: string | number | boolean | undefined;
|
|
831
843
|
sliderColor?: string | undefined;
|
|
844
|
+
sliderTransition?: "fade" | "grow" | "shift" | undefined;
|
|
845
|
+
sliderTransitionDuration?: string | number | undefined;
|
|
832
846
|
} & {
|
|
833
847
|
$children?: {
|
|
834
848
|
default?: (() => import("vue").VNodeChild) | undefined;
|
|
@@ -1279,6 +1293,8 @@ export declare const VTab: {
|
|
|
1279
1293
|
spaced?: "both" | "end" | "start" | undefined;
|
|
1280
1294
|
text?: string | number | boolean | undefined;
|
|
1281
1295
|
sliderColor?: string | undefined;
|
|
1296
|
+
sliderTransition?: "fade" | "grow" | "shift" | undefined;
|
|
1297
|
+
sliderTransitionDuration?: string | number | undefined;
|
|
1282
1298
|
} & {
|
|
1283
1299
|
$children?: {
|
|
1284
1300
|
default?: (() => import("vue").VNodeChild) | undefined;
|
|
@@ -1776,6 +1792,8 @@ export declare const VTab: {
|
|
|
1776
1792
|
};
|
|
1777
1793
|
fixed: BooleanConstructor;
|
|
1778
1794
|
sliderColor: StringConstructor;
|
|
1795
|
+
sliderTransition: PropType<"fade" | "grow" | "shift">;
|
|
1796
|
+
sliderTransitionDuration: (NumberConstructor | StringConstructor)[];
|
|
1779
1797
|
hideSlider: BooleanConstructor;
|
|
1780
1798
|
direction: {
|
|
1781
1799
|
type: PropType<"horizontal" | "vertical">;
|
|
@@ -1865,6 +1883,8 @@ export declare const VTab: {
|
|
|
1865
1883
|
};
|
|
1866
1884
|
fixed: BooleanConstructor;
|
|
1867
1885
|
sliderColor: StringConstructor;
|
|
1886
|
+
sliderTransition: PropType<"fade" | "grow" | "shift">;
|
|
1887
|
+
sliderTransitionDuration: (NumberConstructor | StringConstructor)[];
|
|
1868
1888
|
hideSlider: BooleanConstructor;
|
|
1869
1889
|
direction: {
|
|
1870
1890
|
type: PropType<"horizontal" | "vertical">;
|
|
@@ -12,6 +12,8 @@ import { animate, genericComponent, omit, propsFactory, standardEasing, useRende
|
|
|
12
12
|
export const makeVTabProps = propsFactory({
|
|
13
13
|
fixed: Boolean,
|
|
14
14
|
sliderColor: String,
|
|
15
|
+
sliderTransition: String,
|
|
16
|
+
sliderTransitionDuration: [String, Number],
|
|
15
17
|
hideSlider: Boolean,
|
|
16
18
|
direction: {
|
|
17
19
|
type: String,
|
|
@@ -38,6 +40,38 @@ export const VTab = genericComponent()({
|
|
|
38
40
|
const sliderEl = ref();
|
|
39
41
|
const isHorizontal = computed(() => props.direction === 'horizontal');
|
|
40
42
|
const isSelected = computed(() => rootEl.value?.group?.isSelected.value ?? false);
|
|
43
|
+
function fade(nextEl, prevEl) {
|
|
44
|
+
return {
|
|
45
|
+
opacity: [0, 1]
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
function grow(nextEl, prevEl) {
|
|
49
|
+
return props.direction === 'vertical' ? {
|
|
50
|
+
transform: ['scaleY(0)', 'scaleY(1)']
|
|
51
|
+
} : {
|
|
52
|
+
transform: ['scaleX(0)', 'scaleX(1)']
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
function shift(nextEl, prevEl) {
|
|
56
|
+
const prevBox = prevEl.getBoundingClientRect();
|
|
57
|
+
const nextBox = nextEl.getBoundingClientRect();
|
|
58
|
+
const xy = isHorizontal.value ? 'x' : 'y';
|
|
59
|
+
const XY = isHorizontal.value ? 'X' : 'Y';
|
|
60
|
+
const rightBottom = isHorizontal.value ? 'right' : 'bottom';
|
|
61
|
+
const widthHeight = isHorizontal.value ? 'width' : 'height';
|
|
62
|
+
const prevPos = prevBox[xy];
|
|
63
|
+
const nextPos = nextBox[xy];
|
|
64
|
+
const delta = prevPos > nextPos ? prevBox[rightBottom] - nextBox[rightBottom] : prevBox[xy] - nextBox[xy];
|
|
65
|
+
const origin = Math.sign(delta) > 0 ? isHorizontal.value ? 'right' : 'bottom' : Math.sign(delta) < 0 ? isHorizontal.value ? 'left' : 'top' : 'center';
|
|
66
|
+
const size = Math.abs(delta) + (Math.sign(delta) < 0 ? prevBox[widthHeight] : nextBox[widthHeight]);
|
|
67
|
+
const scale = size / Math.max(prevBox[widthHeight], nextBox[widthHeight]) || 0;
|
|
68
|
+
const initialScale = prevBox[widthHeight] / nextBox[widthHeight] || 0;
|
|
69
|
+
const sigma = 1.5;
|
|
70
|
+
return {
|
|
71
|
+
transform: [`translate${XY}(${delta}px) scale${XY}(${initialScale})`, `translate${XY}(${delta / sigma}px) scale${XY}(${(scale - 1) / sigma + 1})`, 'none'],
|
|
72
|
+
transformOrigin: Array(3).fill(origin)
|
|
73
|
+
};
|
|
74
|
+
}
|
|
41
75
|
function updateSlider(_ref2) {
|
|
42
76
|
let {
|
|
43
77
|
value
|
|
@@ -47,26 +81,21 @@ export const VTab = genericComponent()({
|
|
|
47
81
|
const nextEl = sliderEl.value;
|
|
48
82
|
if (!prevEl || !nextEl) return;
|
|
49
83
|
const color = getComputedStyle(prevEl).color;
|
|
50
|
-
const
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
const
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
const size = Math.abs(delta) + (Math.sign(delta) < 0 ? prevBox[widthHeight] : nextBox[widthHeight]);
|
|
61
|
-
const scale = size / Math.max(prevBox[widthHeight], nextBox[widthHeight]) || 0;
|
|
62
|
-
const initialScale = prevBox[widthHeight] / nextBox[widthHeight] || 0;
|
|
63
|
-
const sigma = 1.5;
|
|
84
|
+
const keyframes = {
|
|
85
|
+
fade,
|
|
86
|
+
grow,
|
|
87
|
+
shift
|
|
88
|
+
}[props.sliderTransition ?? 'shift'] ?? shift;
|
|
89
|
+
const duration = Number(props.sliderTransitionDuration) || ({
|
|
90
|
+
fade: 400,
|
|
91
|
+
grow: 350,
|
|
92
|
+
shift: 225
|
|
93
|
+
}[props.sliderTransition ?? 'shift'] ?? 225);
|
|
64
94
|
animate(nextEl, {
|
|
65
95
|
backgroundColor: [color, 'currentcolor'],
|
|
66
|
-
|
|
67
|
-
transformOrigin: Array(3).fill(origin)
|
|
96
|
+
...keyframes(nextEl, prevEl)
|
|
68
97
|
}, {
|
|
69
|
-
duration
|
|
98
|
+
duration,
|
|
70
99
|
easing: standardEasing
|
|
71
100
|
});
|
|
72
101
|
}
|