@vuetify/nightly 3.10.9-dev.2025-11-05 → 3.10.9-dev.2025-11-08

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (62) hide show
  1. package/CHANGELOG.md +7 -3
  2. package/dist/json/attributes.json +1165 -1113
  3. package/dist/json/importMap-labs.json +18 -18
  4. package/dist/json/importMap.json +166 -166
  5. package/dist/json/tags.json +14 -1
  6. package/dist/json/web-types.json +2215 -2091
  7. package/dist/vuetify-labs.cjs +79 -38
  8. package/dist/vuetify-labs.css +5133 -5126
  9. package/dist/vuetify-labs.d.ts +398 -133
  10. package/dist/vuetify-labs.esm.js +79 -38
  11. package/dist/vuetify-labs.esm.js.map +1 -1
  12. package/dist/vuetify-labs.js +79 -38
  13. package/dist/vuetify-labs.min.css +2 -2
  14. package/dist/vuetify.cjs +79 -38
  15. package/dist/vuetify.cjs.map +1 -1
  16. package/dist/vuetify.css +2945 -2938
  17. package/dist/vuetify.d.ts +338 -113
  18. package/dist/vuetify.esm.js +79 -38
  19. package/dist/vuetify.esm.js.map +1 -1
  20. package/dist/vuetify.js +79 -38
  21. package/dist/vuetify.js.map +1 -1
  22. package/dist/vuetify.min.css +2 -2
  23. package/dist/vuetify.min.js +23 -22
  24. package/dist/vuetify.min.js.map +1 -1
  25. package/lib/components/VAutocomplete/VAutocomplete.d.ts +33 -11
  26. package/lib/components/VBottomSheet/VBottomSheet.d.ts +25 -0
  27. package/lib/components/VBreadcrumbs/VBreadcrumbs.d.ts +13 -0
  28. package/lib/components/VBreadcrumbs/VBreadcrumbs.js +3 -2
  29. package/lib/components/VBreadcrumbs/VBreadcrumbs.js.map +1 -1
  30. package/lib/components/VBreadcrumbs/VBreadcrumbsItem.d.ts +20 -0
  31. package/lib/components/VBreadcrumbs/VBreadcrumbsItem.js +7 -2
  32. package/lib/components/VBreadcrumbs/VBreadcrumbsItem.js.map +1 -1
  33. package/lib/components/VCombobox/VCombobox.d.ts +33 -11
  34. package/lib/components/VDialog/VDialog.d.ts +52 -9
  35. package/lib/components/VInfiniteScroll/VInfiniteScroll.css +7 -0
  36. package/lib/components/VInfiniteScroll/VInfiniteScroll.js +3 -1
  37. package/lib/components/VInfiniteScroll/VInfiniteScroll.js.map +1 -1
  38. package/lib/components/VInfiniteScroll/VInfiniteScroll.sass +10 -0
  39. package/lib/components/VMenu/VMenu.d.ts +52 -9
  40. package/lib/components/VOverlay/VOverlay.d.ts +25 -0
  41. package/lib/components/VOverlay/locationStrategies.d.ts +12 -0
  42. package/lib/components/VOverlay/locationStrategies.js +10 -7
  43. package/lib/components/VOverlay/locationStrategies.js.map +1 -1
  44. package/lib/components/VSelect/VSelect.d.ts +51 -17
  45. package/lib/components/VSnackbar/VSnackbar.d.ts +27 -9
  46. package/lib/components/VSnackbar/VSnackbar.js +1 -1
  47. package/lib/components/VSnackbar/VSnackbar.js.map +1 -1
  48. package/lib/components/VSpeedDial/VSpeedDial.d.ts +25 -0
  49. package/lib/components/VTabs/VTab.d.ts +20 -0
  50. package/lib/components/VTabs/VTab.js +46 -17
  51. package/lib/components/VTabs/VTab.js.map +1 -1
  52. package/lib/components/VTabs/VTabs.d.ts +20 -0
  53. package/lib/components/VTabs/VTabs.js +9 -7
  54. package/lib/components/VTabs/VTabs.js.map +1 -1
  55. package/lib/components/VTooltip/VTooltip.d.ts +52 -9
  56. package/lib/entry-bundler.js +1 -1
  57. package/lib/framework.d.ts +90 -71
  58. package/lib/framework.js +1 -1
  59. package/lib/labs/VVideo/VVideo.d.ts +63 -21
  60. package/lib/labs/VVideo/VVideoControls.d.ts +30 -10
  61. package/lib/labs/VVideo/VVideoVolume.d.ts +30 -10
  62. package/package.json +1 -1
@@ -11,6 +11,7 @@ export declare const makeVMenuProps: <Defaults extends {
11
11
  origin?: unknown;
12
12
  offset?: unknown;
13
13
  stickToTarget?: unknown;
14
+ viewportMargin?: unknown;
14
15
  scrollStrategy?: unknown;
15
16
  height?: unknown;
16
17
  maxHeight?: unknown;
@@ -115,6 +116,16 @@ export declare const makeVMenuProps: <Defaults extends {
115
116
  type: import("vue").PropType<unknown extends Defaults["stickToTarget"] ? boolean : boolean | Defaults["stickToTarget"]>;
116
117
  default: unknown extends Defaults["stickToTarget"] ? boolean : boolean | Defaults["stickToTarget"];
117
118
  };
119
+ viewportMargin: unknown extends Defaults["viewportMargin"] ? {
120
+ type: (NumberConstructor | StringConstructor)[];
121
+ default: number;
122
+ } : Omit<{
123
+ type: (NumberConstructor | StringConstructor)[];
124
+ default: number;
125
+ }, "default" | "type"> & {
126
+ type: import("vue").PropType<unknown extends Defaults["viewportMargin"] ? string | number : string | number | Defaults["viewportMargin"]>;
127
+ default: unknown extends Defaults["viewportMargin"] ? string | number : Defaults["viewportMargin"] | NonNullable<string | number>;
128
+ };
118
129
  scrollStrategy: unknown extends Defaults["scrollStrategy"] ? Omit<{
119
130
  type: import("vue").PropType<"block" | "close" | "none" | "reposition" | import("../../types.js").ScrollStrategyFunction>;
120
131
  default: string;
@@ -871,6 +882,7 @@ export declare const VMenu: {
871
882
  location: import("../../util/index.js").Anchor;
872
883
  origin: "auto" | "overlap" | import("../../util/index.js").Anchor;
873
884
  stickToTarget: boolean;
885
+ viewportMargin: string | number;
874
886
  scrollStrategy: "block" | "close" | "none" | "reposition" | import("../../types.js").ScrollStrategyFunction;
875
887
  closeDelay: string | number;
876
888
  openDelay: string | number;
@@ -1023,6 +1035,7 @@ export declare const VMenu: {
1023
1035
  location: import("../../util/index.js").Anchor;
1024
1036
  origin: "auto" | "overlap" | import("../../util/index.js").Anchor;
1025
1037
  stickToTarget: boolean;
1038
+ viewportMargin: string | number;
1026
1039
  scrollStrategy: "block" | "close" | "none" | "reposition" | import("../../types.js").ScrollStrategyFunction;
1027
1040
  activatorProps: Record<string, any>;
1028
1041
  openOnClick: boolean;
@@ -1073,6 +1086,7 @@ export declare const VMenu: {
1073
1086
  origin: "auto" | "overlap" | import("../../util/index.js").Anchor;
1074
1087
  offset?: string | number | number[] | undefined;
1075
1088
  stickToTarget: boolean;
1089
+ viewportMargin: string | number;
1076
1090
  scrollStrategy: "block" | "close" | "none" | "reposition" | import("../../types.js").ScrollStrategyFunction;
1077
1091
  height?: string | number | undefined;
1078
1092
  maxHeight?: string | number | undefined;
@@ -1120,7 +1134,7 @@ export declare const VMenu: {
1120
1134
  "v-slot:default"?: false | ((arg: {
1121
1135
  isActive: import("vue").Ref<boolean, boolean>;
1122
1136
  }) => import("vue").VNodeChild) | undefined;
1123
- } & 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">;
1137
+ } & 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">;
1124
1138
  $attrs: {
1125
1139
  [x: string]: unknown;
1126
1140
  };
@@ -1152,6 +1166,7 @@ export declare const VMenu: {
1152
1166
  location: import("../../util/index.js").Anchor;
1153
1167
  origin: "auto" | "overlap" | import("../../util/index.js").Anchor;
1154
1168
  stickToTarget: boolean;
1169
+ viewportMargin: string | number;
1155
1170
  scrollStrategy: "block" | "close" | "none" | "reposition" | import("../../types.js").ScrollStrategyFunction;
1156
1171
  activatorProps: Record<string, any>;
1157
1172
  openOnHover: boolean;
@@ -1252,6 +1267,7 @@ export declare const VMenu: {
1252
1267
  location: import("../../util/index.js").Anchor;
1253
1268
  origin: "auto" | "overlap" | import("../../util/index.js").Anchor;
1254
1269
  stickToTarget: boolean;
1270
+ viewportMargin: string | number;
1255
1271
  scrollStrategy: "block" | "close" | "none" | "reposition" | import("../../types.js").ScrollStrategyFunction;
1256
1272
  activatorProps: Record<string, any>;
1257
1273
  openOnClick: boolean;
@@ -1308,6 +1324,7 @@ export declare const VMenu: {
1308
1324
  location: import("../../util/index.js").Anchor;
1309
1325
  origin: "auto" | "overlap" | import("../../util/index.js").Anchor;
1310
1326
  stickToTarget: boolean;
1327
+ viewportMargin: string | number;
1311
1328
  scrollStrategy: "block" | "close" | "none" | "reposition" | import("../../types.js").ScrollStrategyFunction;
1312
1329
  activatorProps: Record<string, any>;
1313
1330
  openOnClick: boolean;
@@ -1331,6 +1348,7 @@ export declare const VMenu: {
1331
1348
  location: import("../../util/index.js").Anchor;
1332
1349
  origin: "auto" | "overlap" | import("../../util/index.js").Anchor;
1333
1350
  stickToTarget: boolean;
1351
+ viewportMargin: string | number;
1334
1352
  scrollStrategy: "block" | "close" | "none" | "reposition" | import("../../types.js").ScrollStrategyFunction;
1335
1353
  activatorProps: Record<string, any>;
1336
1354
  openOnHover: boolean;
@@ -1409,7 +1427,7 @@ export declare const VMenu: {
1409
1427
  "onClick:outside"?: ((e: MouseEvent) => any) | undefined;
1410
1428
  onKeydown?: ((e: KeyboardEvent) => any) | undefined;
1411
1429
  "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
1412
- }, "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<{
1430
+ }, "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<{
1413
1431
  activatorEl: import("vue").Ref<HTMLElement | undefined, HTMLElement | undefined>;
1414
1432
  scrimEl: import("vue").Ref<HTMLElement | undefined, HTMLElement | undefined>;
1415
1433
  target: import("vue").ComputedRef<HTMLElement | [x: number, y: number] | undefined>;
@@ -1419,7 +1437,7 @@ export declare const VMenu: {
1419
1437
  globalTop: Readonly<import("vue").Ref<boolean, boolean>>;
1420
1438
  localTop: Readonly<import("vue").Ref<boolean, boolean>>;
1421
1439
  updateLocation: import("vue").Ref<((e: Event) => void) | undefined, ((e: Event) => void) | undefined>;
1422
- }> & {} & 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}`> & {
1440
+ }> & {} & 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}`> & {
1423
1441
  _allExposed: {
1424
1442
  activatorEl: import("vue").Ref<HTMLElement | undefined, HTMLElement | undefined>;
1425
1443
  scrimEl: import("vue").Ref<HTMLElement | undefined, HTMLElement | undefined>;
@@ -1442,6 +1460,7 @@ export declare const VMenu: {
1442
1460
  location: import("../../util/index.js").Anchor | undefined;
1443
1461
  origin: "auto" | "overlap" | import("../../util/index.js").Anchor;
1444
1462
  stickToTarget: boolean;
1463
+ viewportMargin: string | number;
1445
1464
  scrollStrategy: "block" | "close" | "none" | "reposition" | import("../../types.js").ScrollStrategyFunction;
1446
1465
  closeDelay: string | number;
1447
1466
  openDelay: string | number;
@@ -1555,6 +1574,7 @@ export declare const VMenu: {
1555
1574
  location: import("../../util/index.js").Anchor;
1556
1575
  origin: "auto" | "overlap" | import("../../util/index.js").Anchor;
1557
1576
  stickToTarget: boolean;
1577
+ viewportMargin: string | number;
1558
1578
  scrollStrategy: "block" | "close" | "none" | "reposition" | import("../../types.js").ScrollStrategyFunction;
1559
1579
  closeDelay: string | number;
1560
1580
  openDelay: string | number;
@@ -1707,6 +1727,7 @@ export declare const VMenu: {
1707
1727
  location: import("../../util/index.js").Anchor;
1708
1728
  origin: "auto" | "overlap" | import("../../util/index.js").Anchor;
1709
1729
  stickToTarget: boolean;
1730
+ viewportMargin: string | number;
1710
1731
  scrollStrategy: "block" | "close" | "none" | "reposition" | import("../../types.js").ScrollStrategyFunction;
1711
1732
  activatorProps: Record<string, any>;
1712
1733
  openOnClick: boolean;
@@ -1757,6 +1778,7 @@ export declare const VMenu: {
1757
1778
  origin: "auto" | "overlap" | import("../../util/index.js").Anchor;
1758
1779
  offset?: string | number | number[] | undefined;
1759
1780
  stickToTarget: boolean;
1781
+ viewportMargin: string | number;
1760
1782
  scrollStrategy: "block" | "close" | "none" | "reposition" | import("../../types.js").ScrollStrategyFunction;
1761
1783
  height?: string | number | undefined;
1762
1784
  maxHeight?: string | number | undefined;
@@ -1804,7 +1826,7 @@ export declare const VMenu: {
1804
1826
  "v-slot:default"?: false | ((arg: {
1805
1827
  isActive: import("vue").Ref<boolean, boolean>;
1806
1828
  }) => import("vue").VNodeChild) | undefined;
1807
- } & 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">;
1829
+ } & 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">;
1808
1830
  $attrs: {
1809
1831
  [x: string]: unknown;
1810
1832
  };
@@ -1836,6 +1858,7 @@ export declare const VMenu: {
1836
1858
  location: import("../../util/index.js").Anchor;
1837
1859
  origin: "auto" | "overlap" | import("../../util/index.js").Anchor;
1838
1860
  stickToTarget: boolean;
1861
+ viewportMargin: string | number;
1839
1862
  scrollStrategy: "block" | "close" | "none" | "reposition" | import("../../types.js").ScrollStrategyFunction;
1840
1863
  activatorProps: Record<string, any>;
1841
1864
  openOnHover: boolean;
@@ -1936,6 +1959,7 @@ export declare const VMenu: {
1936
1959
  location: import("../../util/index.js").Anchor;
1937
1960
  origin: "auto" | "overlap" | import("../../util/index.js").Anchor;
1938
1961
  stickToTarget: boolean;
1962
+ viewportMargin: string | number;
1939
1963
  scrollStrategy: "block" | "close" | "none" | "reposition" | import("../../types.js").ScrollStrategyFunction;
1940
1964
  activatorProps: Record<string, any>;
1941
1965
  openOnClick: boolean;
@@ -1992,6 +2016,7 @@ export declare const VMenu: {
1992
2016
  location: import("../../util/index.js").Anchor;
1993
2017
  origin: "auto" | "overlap" | import("../../util/index.js").Anchor;
1994
2018
  stickToTarget: boolean;
2019
+ viewportMargin: string | number;
1995
2020
  scrollStrategy: "block" | "close" | "none" | "reposition" | import("../../types.js").ScrollStrategyFunction;
1996
2021
  activatorProps: Record<string, any>;
1997
2022
  openOnClick: boolean;
@@ -2015,6 +2040,7 @@ export declare const VMenu: {
2015
2040
  location: import("../../util/index.js").Anchor;
2016
2041
  origin: "auto" | "overlap" | import("../../util/index.js").Anchor;
2017
2042
  stickToTarget: boolean;
2043
+ viewportMargin: string | number;
2018
2044
  scrollStrategy: "block" | "close" | "none" | "reposition" | import("../../types.js").ScrollStrategyFunction;
2019
2045
  activatorProps: Record<string, any>;
2020
2046
  openOnHover: boolean;
@@ -2093,7 +2119,7 @@ export declare const VMenu: {
2093
2119
  "onClick:outside"?: ((e: MouseEvent) => any) | undefined;
2094
2120
  onKeydown?: ((e: KeyboardEvent) => any) | undefined;
2095
2121
  "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
2096
- }, "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<{
2122
+ }, "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<{
2097
2123
  activatorEl: import("vue").Ref<HTMLElement | undefined, HTMLElement | undefined>;
2098
2124
  scrimEl: import("vue").Ref<HTMLElement | undefined, HTMLElement | undefined>;
2099
2125
  target: import("vue").ComputedRef<HTMLElement | [x: number, y: number] | undefined>;
@@ -2103,7 +2129,7 @@ export declare const VMenu: {
2103
2129
  globalTop: Readonly<import("vue").Ref<boolean, boolean>>;
2104
2130
  localTop: Readonly<import("vue").Ref<boolean, boolean>>;
2105
2131
  updateLocation: import("vue").Ref<((e: Event) => void) | undefined, ((e: Event) => void) | undefined>;
2106
- }> & {} & 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}`> & {
2132
+ }> & {} & 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}`> & {
2107
2133
  _allExposed: {
2108
2134
  activatorEl: import("vue").Ref<HTMLElement | undefined, HTMLElement | undefined>;
2109
2135
  scrimEl: import("vue").Ref<HTMLElement | undefined, HTMLElement | undefined>;
@@ -2124,6 +2150,7 @@ export declare const VMenu: {
2124
2150
  location: import("../../util/index.js").Anchor | undefined;
2125
2151
  origin: "auto" | "overlap" | import("../../util/index.js").Anchor;
2126
2152
  stickToTarget: boolean;
2153
+ viewportMargin: string | number;
2127
2154
  scrollStrategy: "block" | "close" | "none" | "reposition" | import("../../types.js").ScrollStrategyFunction;
2128
2155
  closeDelay: string | number;
2129
2156
  openDelay: string | number;
@@ -2221,6 +2248,7 @@ export declare const VMenu: {
2221
2248
  location: import("../../util/index.js").Anchor;
2222
2249
  origin: "auto" | "overlap" | import("../../util/index.js").Anchor;
2223
2250
  stickToTarget: boolean;
2251
+ viewportMargin: string | number;
2224
2252
  scrollStrategy: "block" | "close" | "none" | "reposition" | import("../../types.js").ScrollStrategyFunction;
2225
2253
  closeDelay: string | number;
2226
2254
  openDelay: string | number;
@@ -2373,6 +2401,7 @@ export declare const VMenu: {
2373
2401
  location: import("../../util/index.js").Anchor;
2374
2402
  origin: "auto" | "overlap" | import("../../util/index.js").Anchor;
2375
2403
  stickToTarget: boolean;
2404
+ viewportMargin: string | number;
2376
2405
  scrollStrategy: "block" | "close" | "none" | "reposition" | import("../../types.js").ScrollStrategyFunction;
2377
2406
  activatorProps: Record<string, any>;
2378
2407
  openOnClick: boolean;
@@ -2423,6 +2452,7 @@ export declare const VMenu: {
2423
2452
  origin: "auto" | "overlap" | import("../../util/index.js").Anchor;
2424
2453
  offset?: string | number | number[] | undefined;
2425
2454
  stickToTarget: boolean;
2455
+ viewportMargin: string | number;
2426
2456
  scrollStrategy: "block" | "close" | "none" | "reposition" | import("../../types.js").ScrollStrategyFunction;
2427
2457
  height?: string | number | undefined;
2428
2458
  maxHeight?: string | number | undefined;
@@ -2470,7 +2500,7 @@ export declare const VMenu: {
2470
2500
  "v-slot:default"?: false | ((arg: {
2471
2501
  isActive: import("vue").Ref<boolean, boolean>;
2472
2502
  }) => import("vue").VNodeChild) | undefined;
2473
- } & 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">;
2503
+ } & 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">;
2474
2504
  $attrs: {
2475
2505
  [x: string]: unknown;
2476
2506
  };
@@ -2502,6 +2532,7 @@ export declare const VMenu: {
2502
2532
  location: import("../../util/index.js").Anchor;
2503
2533
  origin: "auto" | "overlap" | import("../../util/index.js").Anchor;
2504
2534
  stickToTarget: boolean;
2535
+ viewportMargin: string | number;
2505
2536
  scrollStrategy: "block" | "close" | "none" | "reposition" | import("../../types.js").ScrollStrategyFunction;
2506
2537
  activatorProps: Record<string, any>;
2507
2538
  openOnHover: boolean;
@@ -2602,6 +2633,7 @@ export declare const VMenu: {
2602
2633
  location: import("../../util/index.js").Anchor;
2603
2634
  origin: "auto" | "overlap" | import("../../util/index.js").Anchor;
2604
2635
  stickToTarget: boolean;
2636
+ viewportMargin: string | number;
2605
2637
  scrollStrategy: "block" | "close" | "none" | "reposition" | import("../../types.js").ScrollStrategyFunction;
2606
2638
  activatorProps: Record<string, any>;
2607
2639
  openOnClick: boolean;
@@ -2658,6 +2690,7 @@ export declare const VMenu: {
2658
2690
  location: import("../../util/index.js").Anchor;
2659
2691
  origin: "auto" | "overlap" | import("../../util/index.js").Anchor;
2660
2692
  stickToTarget: boolean;
2693
+ viewportMargin: string | number;
2661
2694
  scrollStrategy: "block" | "close" | "none" | "reposition" | import("../../types.js").ScrollStrategyFunction;
2662
2695
  activatorProps: Record<string, any>;
2663
2696
  openOnClick: boolean;
@@ -2681,6 +2714,7 @@ export declare const VMenu: {
2681
2714
  location: import("../../util/index.js").Anchor;
2682
2715
  origin: "auto" | "overlap" | import("../../util/index.js").Anchor;
2683
2716
  stickToTarget: boolean;
2717
+ viewportMargin: string | number;
2684
2718
  scrollStrategy: "block" | "close" | "none" | "reposition" | import("../../types.js").ScrollStrategyFunction;
2685
2719
  activatorProps: Record<string, any>;
2686
2720
  openOnHover: boolean;
@@ -2759,7 +2793,7 @@ export declare const VMenu: {
2759
2793
  "onClick:outside"?: ((e: MouseEvent) => any) | undefined;
2760
2794
  onKeydown?: ((e: KeyboardEvent) => any) | undefined;
2761
2795
  "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
2762
- }, "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<{
2796
+ }, "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<{
2763
2797
  activatorEl: import("vue").Ref<HTMLElement | undefined, HTMLElement | undefined>;
2764
2798
  scrimEl: import("vue").Ref<HTMLElement | undefined, HTMLElement | undefined>;
2765
2799
  target: import("vue").ComputedRef<HTMLElement | [x: number, y: number] | undefined>;
@@ -2769,7 +2803,7 @@ export declare const VMenu: {
2769
2803
  globalTop: Readonly<import("vue").Ref<boolean, boolean>>;
2770
2804
  localTop: Readonly<import("vue").Ref<boolean, boolean>>;
2771
2805
  updateLocation: import("vue").Ref<((e: Event) => void) | undefined, ((e: Event) => void) | undefined>;
2772
- }> & {} & 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}`> & {
2806
+ }> & {} & 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}`> & {
2773
2807
  _allExposed: {
2774
2808
  activatorEl: import("vue").Ref<HTMLElement | undefined, HTMLElement | undefined>;
2775
2809
  scrimEl: import("vue").Ref<HTMLElement | undefined, HTMLElement | undefined>;
@@ -2792,6 +2826,7 @@ export declare const VMenu: {
2792
2826
  location: import("../../util/index.js").Anchor | undefined;
2793
2827
  origin: "auto" | "overlap" | import("../../util/index.js").Anchor;
2794
2828
  stickToTarget: boolean;
2829
+ viewportMargin: string | number;
2795
2830
  scrollStrategy: "block" | "close" | "none" | "reposition" | import("../../types.js").ScrollStrategyFunction;
2796
2831
  closeDelay: string | number;
2797
2832
  openDelay: string | number;
@@ -2920,6 +2955,10 @@ export declare const VMenu: {
2920
2955
  };
2921
2956
  offset: import("vue").PropType<string | number | number[] | undefined>;
2922
2957
  stickToTarget: BooleanConstructor;
2958
+ viewportMargin: {
2959
+ type: (NumberConstructor | StringConstructor)[];
2960
+ default: number;
2961
+ };
2923
2962
  scrollStrategy: Omit<{
2924
2963
  type: import("vue").PropType<"block" | "close" | "none" | "reposition" | import("../../types.js").ScrollStrategyFunction>;
2925
2964
  default: string;
@@ -3155,6 +3194,10 @@ export declare const VMenu: {
3155
3194
  };
3156
3195
  offset: import("vue").PropType<string | number | number[] | undefined>;
3157
3196
  stickToTarget: BooleanConstructor;
3197
+ viewportMargin: {
3198
+ type: (NumberConstructor | StringConstructor)[];
3199
+ default: number;
3200
+ };
3158
3201
  scrollStrategy: Omit<{
3159
3202
  type: import("vue").PropType<"block" | "close" | "none" | "reposition" | import("../../types.js").ScrollStrategyFunction>;
3160
3203
  default: string;
@@ -22,6 +22,7 @@ export declare const makeVOverlayProps: <Defaults extends {
22
22
  origin?: unknown;
23
23
  offset?: unknown;
24
24
  stickToTarget?: unknown;
25
+ viewportMargin?: unknown;
25
26
  scrollStrategy?: unknown;
26
27
  height?: unknown;
27
28
  maxHeight?: unknown;
@@ -112,6 +113,16 @@ export declare const makeVOverlayProps: <Defaults extends {
112
113
  type: PropType<unknown extends Defaults["stickToTarget"] ? boolean : boolean | Defaults["stickToTarget"]>;
113
114
  default: unknown extends Defaults["stickToTarget"] ? boolean : boolean | Defaults["stickToTarget"];
114
115
  };
116
+ viewportMargin: unknown extends Defaults["viewportMargin"] ? {
117
+ type: (NumberConstructor | StringConstructor)[];
118
+ default: number;
119
+ } : Omit<{
120
+ type: (NumberConstructor | StringConstructor)[];
121
+ default: number;
122
+ }, "default" | "type"> & {
123
+ type: PropType<unknown extends Defaults["viewportMargin"] ? string | number : string | number | Defaults["viewportMargin"]>;
124
+ default: unknown extends Defaults["viewportMargin"] ? string | number : Defaults["viewportMargin"] | NonNullable<string | number>;
125
+ };
115
126
  scrollStrategy: unknown extends Defaults["scrollStrategy"] ? {
116
127
  type: PropType<"block" | "close" | "none" | "reposition" | import("../../types.js").ScrollStrategyFunction>;
117
128
  default: string;
@@ -298,6 +309,7 @@ export declare const VOverlay: {
298
309
  location: import("../../util/index.js").Anchor;
299
310
  origin: "auto" | "overlap" | import("../../util/index.js").Anchor;
300
311
  stickToTarget: boolean;
312
+ viewportMargin: string | number;
301
313
  scrollStrategy: "block" | "close" | "none" | "reposition" | import("../../types.js").ScrollStrategyFunction;
302
314
  activatorProps: Record<string, any>;
303
315
  openOnHover: boolean;
@@ -398,6 +410,7 @@ export declare const VOverlay: {
398
410
  location: import("../../util/index.js").Anchor;
399
411
  origin: "auto" | "overlap" | import("../../util/index.js").Anchor;
400
412
  stickToTarget: boolean;
413
+ viewportMargin: string | number;
401
414
  scrollStrategy: "block" | "close" | "none" | "reposition" | import("../../types.js").ScrollStrategyFunction;
402
415
  activatorProps: Record<string, any>;
403
416
  openOnClick: boolean;
@@ -441,6 +454,7 @@ export declare const VOverlay: {
441
454
  location: import("../../util/index.js").Anchor;
442
455
  origin: "auto" | "overlap" | import("../../util/index.js").Anchor;
443
456
  stickToTarget: boolean;
457
+ viewportMargin: string | number;
444
458
  scrollStrategy: "block" | "close" | "none" | "reposition" | import("../../types.js").ScrollStrategyFunction;
445
459
  activatorProps: Record<string, any>;
446
460
  openOnHover: boolean;
@@ -535,6 +549,7 @@ export declare const VOverlay: {
535
549
  location: import("../../util/index.js").Anchor;
536
550
  origin: "auto" | "overlap" | import("../../util/index.js").Anchor;
537
551
  stickToTarget: boolean;
552
+ viewportMargin: string | number;
538
553
  scrollStrategy: "block" | "close" | "none" | "reposition" | import("../../types.js").ScrollStrategyFunction;
539
554
  activatorProps: Record<string, any>;
540
555
  openOnClick: boolean;
@@ -562,6 +577,7 @@ export declare const VOverlay: {
562
577
  location: import("../../util/index.js").Anchor;
563
578
  origin: "auto" | "overlap" | import("../../util/index.js").Anchor;
564
579
  stickToTarget: boolean;
580
+ viewportMargin: string | number;
565
581
  scrollStrategy: "block" | "close" | "none" | "reposition" | import("../../types.js").ScrollStrategyFunction;
566
582
  activatorProps: Record<string, any>;
567
583
  openOnHover: boolean;
@@ -662,6 +678,7 @@ export declare const VOverlay: {
662
678
  location: import("../../util/index.js").Anchor;
663
679
  origin: "auto" | "overlap" | import("../../util/index.js").Anchor;
664
680
  stickToTarget: boolean;
681
+ viewportMargin: string | number;
665
682
  scrollStrategy: "block" | "close" | "none" | "reposition" | import("../../types.js").ScrollStrategyFunction;
666
683
  activatorProps: Record<string, any>;
667
684
  openOnClick: boolean;
@@ -714,6 +731,10 @@ export declare const VOverlay: {
714
731
  };
715
732
  offset: PropType<string | number | number[] | undefined>;
716
733
  stickToTarget: BooleanConstructor;
734
+ viewportMargin: {
735
+ type: (NumberConstructor | StringConstructor)[];
736
+ default: number;
737
+ };
717
738
  scrollStrategy: {
718
739
  type: PropType<"block" | "close" | "none" | "reposition" | import("../../types.js").ScrollStrategyFunction>;
719
740
  default: string;
@@ -792,6 +813,10 @@ export declare const VOverlay: {
792
813
  };
793
814
  offset: PropType<string | number | number[] | undefined>;
794
815
  stickToTarget: BooleanConstructor;
816
+ viewportMargin: {
817
+ type: (NumberConstructor | StringConstructor)[];
818
+ default: number;
819
+ };
795
820
  scrollStrategy: {
796
821
  type: PropType<"block" | "close" | "none" | "reposition" | import("../../types.js").ScrollStrategyFunction>;
797
822
  default: string;
@@ -21,6 +21,7 @@ export interface StrategyProps {
21
21
  origin: Anchor | 'auto' | 'overlap';
22
22
  offset?: number | string | number[];
23
23
  stickToTarget?: boolean;
24
+ viewportMargin?: number | string;
24
25
  maxHeight?: number | string;
25
26
  maxWidth?: number | string;
26
27
  minHeight?: number | string;
@@ -32,6 +33,7 @@ export declare const makeLocationStrategyProps: <Defaults extends {
32
33
  origin?: unknown;
33
34
  offset?: unknown;
34
35
  stickToTarget?: unknown;
36
+ viewportMargin?: unknown;
35
37
  } = {}>(defaults?: Defaults | undefined) => {
36
38
  locationStrategy: unknown extends Defaults["locationStrategy"] ? {
37
39
  type: PropType<"connected" | "static" | LocationStrategyFunction>;
@@ -73,6 +75,16 @@ export declare const makeLocationStrategyProps: <Defaults extends {
73
75
  type: PropType<unknown extends Defaults["stickToTarget"] ? boolean : boolean | Defaults["stickToTarget"]>;
74
76
  default: unknown extends Defaults["stickToTarget"] ? boolean : boolean | Defaults["stickToTarget"];
75
77
  };
78
+ viewportMargin: unknown extends Defaults["viewportMargin"] ? {
79
+ type: (NumberConstructor | StringConstructor)[];
80
+ default: number;
81
+ } : Omit<{
82
+ type: (NumberConstructor | StringConstructor)[];
83
+ default: number;
84
+ }, "default" | "type"> & {
85
+ type: PropType<unknown extends Defaults["viewportMargin"] ? string | number : string | number | Defaults["viewportMargin"]>;
86
+ default: unknown extends Defaults["viewportMargin"] ? string | number : Defaults["viewportMargin"] | NonNullable<string | number>;
87
+ };
76
88
  };
77
89
  export declare function useLocationStrategies(props: StrategyProps, data: LocationStrategyData): {
78
90
  contentStyles: Ref<{}, {}>;
@@ -24,7 +24,11 @@ export const makeLocationStrategyProps = propsFactory({
24
24
  default: 'auto'
25
25
  },
26
26
  offset: [Number, String, Array],
27
- stickToTarget: Boolean
27
+ stickToTarget: Boolean,
28
+ viewportMargin: {
29
+ type: [Number, String],
30
+ default: 12
31
+ }
28
32
  }, 'VOverlay-location-strategies');
29
33
  export function useLocationStrategies(props, data) {
30
34
  const contentStyles = ref({});
@@ -211,8 +215,7 @@ function connectedLocationStrategy(data, props, contentStyles) {
211
215
 
212
216
  const contentBox = getIntrinsicSize(data.contentEl.value, data.isRtl.value);
213
217
  const scrollParents = getScrollParents(data.contentEl.value);
214
- const viewportMargin = props.stickToTarget ? 0 : 12; // TOOD: prop.viewportMargin
215
-
218
+ const viewportMargin = Number(props.viewportMargin);
216
219
  if (!scrollParents.length) {
217
220
  scrollParents.push(document.documentElement);
218
221
  if (!(data.contentEl.value.style.top && data.contentEl.value.style.left)) {
@@ -233,10 +236,10 @@ function connectedLocationStrategy(data, props, contentStyles) {
233
236
  return scrollBox;
234
237
  }, undefined);
235
238
  if (props.stickToTarget) {
236
- viewport.x += Math.min(0, targetBox.x);
237
- viewport.y += Math.min(0, targetBox.y);
238
- viewport.width = Math.max(viewport.width, targetBox.x + targetBox.width);
239
- viewport.height = Math.max(viewport.height, targetBox.y + targetBox.height);
239
+ viewport.x += Math.min(viewportMargin, targetBox.x);
240
+ viewport.y += Math.min(viewportMargin, targetBox.y);
241
+ viewport.width = Math.max(viewport.width - viewportMargin * 2, targetBox.x + targetBox.width - viewportMargin);
242
+ viewport.height = Math.max(viewport.height - viewportMargin * 2, targetBox.y + targetBox.height - viewportMargin);
240
243
  } else {
241
244
  viewport.x += viewportMargin;
242
245
  viewport.y += viewportMargin;