@vuetify/nightly 3.7.15-master.2025-03-10 → 3.7.15-master.2025-03-11

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 (37) hide show
  1. package/CHANGELOG.md +7 -3
  2. package/dist/json/attributes.json +2036 -2036
  3. package/dist/json/importMap-labs.json +16 -16
  4. package/dist/json/importMap.json +154 -154
  5. package/dist/json/web-types.json +3872 -3861
  6. package/dist/vuetify-labs.css +4879 -4879
  7. package/dist/vuetify-labs.d.ts +90 -24
  8. package/dist/vuetify-labs.esm.js +13 -4
  9. package/dist/vuetify-labs.esm.js.map +1 -1
  10. package/dist/vuetify-labs.js +13 -4
  11. package/dist/vuetify-labs.min.css +2 -2
  12. package/dist/vuetify.css +4116 -4116
  13. package/dist/vuetify.d.ts +144 -78
  14. package/dist/vuetify.esm.js +13 -4
  15. package/dist/vuetify.esm.js.map +1 -1
  16. package/dist/vuetify.js +13 -4
  17. package/dist/vuetify.js.map +1 -1
  18. package/dist/vuetify.min.css +2 -2
  19. package/dist/vuetify.min.js +10 -10
  20. package/dist/vuetify.min.js.map +1 -1
  21. package/lib/components/VAutocomplete/index.d.mts +21 -6
  22. package/lib/components/VCombobox/index.d.mts +21 -6
  23. package/lib/components/VDialog/index.d.mts +21 -6
  24. package/lib/components/VMenu/index.d.mts +21 -6
  25. package/lib/components/VOverlay/VOverlay.mjs +10 -1
  26. package/lib/components/VOverlay/VOverlay.mjs.map +1 -1
  27. package/lib/components/VOverlay/index.d.mts +6 -0
  28. package/lib/components/VSelect/index.d.mts +21 -6
  29. package/lib/components/VSnackbar/index.d.mts +21 -6
  30. package/lib/components/VTooltip/index.d.mts +21 -6
  31. package/lib/components/index.d.mts +90 -24
  32. package/lib/entry-bundler.mjs +1 -1
  33. package/lib/framework.mjs +1 -1
  34. package/lib/index.d.mts +54 -54
  35. package/lib/labs/VSnackbarQueue/index.d.mts +21 -6
  36. package/lib/labs/components.d.mts +21 -6
  37. package/package.json +1 -1
@@ -283,6 +283,7 @@ declare const VMenu: {
283
283
  }) => vue.VNodeChild) | undefined;
284
284
  onAfterEnter?: (() => any) | undefined;
285
285
  onAfterLeave?: (() => any) | undefined;
286
+ onKeydown?: ((e: KeyboardEvent) => any) | undefined;
286
287
  "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
287
288
  "onClick:outside"?: ((e: MouseEvent) => any) | undefined;
288
289
  } & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & {
@@ -365,6 +366,7 @@ declare const VMenu: {
365
366
  } & {
366
367
  onAfterEnter?: (() => any) | undefined;
367
368
  onAfterLeave?: (() => any) | undefined;
369
+ onKeydown?: ((e: KeyboardEvent) => any) | undefined;
368
370
  "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
369
371
  "onClick:outside"?: ((e: MouseEvent) => any) | undefined;
370
372
  }, "absolute" | "location" | "origin" | "transition" | "zIndex" | "style" | "eager" | "disabled" | "persistent" | "modelValue" | "locationStrategy" | "scrollStrategy" | "activatorProps" | "openOnClick" | "openOnHover" | "openOnFocus" | "closeOnContentClick" | "closeOnBack" | "contained" | "noClickAnimation" | "scrim" | "_disableGlobalStack">;
@@ -386,7 +388,7 @@ declare const VMenu: {
386
388
  }>;
387
389
  $root: vue.ComponentPublicInstance | null;
388
390
  $parent: vue.ComponentPublicInstance | null;
389
- $emit: ((event: "update:modelValue", value: boolean) => void) & ((event: "click:outside", e: MouseEvent) => void) & ((event: "afterEnter") => void) & ((event: "afterLeave") => void);
391
+ $emit: ((event: "keydown", e: KeyboardEvent) => void) & ((event: "update:modelValue", value: boolean) => void) & ((event: "click:outside", e: MouseEvent) => void) & ((event: "afterEnter") => void) & ((event: "afterLeave") => void);
390
392
  $el: any;
391
393
  $options: vue.ComponentOptionsBase<{
392
394
  absolute: boolean;
@@ -468,6 +470,7 @@ declare const VMenu: {
468
470
  } & {
469
471
  onAfterEnter?: (() => any) | undefined;
470
472
  onAfterLeave?: (() => any) | undefined;
473
+ onKeydown?: ((e: KeyboardEvent) => any) | undefined;
471
474
  "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
472
475
  "onClick:outside"?: ((e: MouseEvent) => any) | undefined;
473
476
  }, {
@@ -482,6 +485,7 @@ declare const VMenu: {
482
485
  }, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
483
486
  'click:outside': (e: MouseEvent) => true;
484
487
  'update:modelValue': (value: boolean) => true;
488
+ keydown: (e: KeyboardEvent) => true;
485
489
  afterEnter: () => true;
486
490
  afterLeave: () => true;
487
491
  }, string, {
@@ -620,6 +624,7 @@ declare const VMenu: {
620
624
  } & {
621
625
  onAfterEnter?: (() => any) | undefined;
622
626
  onAfterLeave?: (() => any) | undefined;
627
+ onKeydown?: ((e: KeyboardEvent) => any) | undefined;
623
628
  "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
624
629
  "onClick:outside"?: ((e: MouseEvent) => any) | undefined;
625
630
  }, "target" | "contentEl" | "activatorEl" | "scrimEl" | "animateClick" | "globalTop" | "localTop" | "updateLocation"> & vue.ShallowUnwrapRef<{
@@ -631,7 +636,7 @@ declare const VMenu: {
631
636
  globalTop: Readonly<vue.Ref<boolean>>;
632
637
  localTop: vue.ComputedRef<boolean>;
633
638
  updateLocation: vue.Ref<((e: Event) => void) | undefined>;
634
- }> & {} & vue.ComponentCustomProperties & {}, "offset" | "key" | "height" | "width" | "maxHeight" | "maxWidth" | "minHeight" | "minWidth" | "opacity" | "target" | "class" | "theme" | "ref" | "onAfterEnter" | "onAfterLeave" | "$children" | "v-slots" | "v-slot:default" | "ref_for" | "ref_key" | "onVnodeBeforeMount" | "onVnodeMounted" | "onVnodeBeforeUpdate" | "onVnodeUpdated" | "onVnodeBeforeUnmount" | "onVnodeUnmounted" | "onUpdate:modelValue" | "contentClass" | "activator" | "v-slot:activator" | "closeDelay" | "openDelay" | "contentProps" | "attach" | "onClick:outside" | ("absolute" | "location" | "origin" | "transition" | "zIndex" | "style" | "eager" | "disabled" | "persistent" | "modelValue" | "locationStrategy" | "scrollStrategy" | "activatorProps" | "openOnClick" | "openOnHover" | "openOnFocus" | "closeOnContentClick" | "closeOnBack" | "contained" | "noClickAnimation" | "scrim" | "_disableGlobalStack")>, `$${any}`> & {
639
+ }> & {} & vue.ComponentCustomProperties & {}, "offset" | "key" | "height" | "width" | "maxHeight" | "maxWidth" | "minHeight" | "minWidth" | "opacity" | "target" | "class" | "theme" | "ref" | "onAfterEnter" | "onAfterLeave" | "onKeydown" | "$children" | "v-slots" | "v-slot:default" | "ref_for" | "ref_key" | "onVnodeBeforeMount" | "onVnodeMounted" | "onVnodeBeforeUpdate" | "onVnodeUpdated" | "onVnodeBeforeUnmount" | "onVnodeUnmounted" | "onUpdate:modelValue" | "contentClass" | "activator" | "v-slot:activator" | "closeDelay" | "openDelay" | "contentProps" | "attach" | "onClick:outside" | ("absolute" | "location" | "origin" | "transition" | "zIndex" | "style" | "eager" | "disabled" | "persistent" | "modelValue" | "locationStrategy" | "scrollStrategy" | "activatorProps" | "openOnClick" | "openOnHover" | "openOnFocus" | "closeOnContentClick" | "closeOnBack" | "contained" | "noClickAnimation" | "scrim" | "_disableGlobalStack")>, `$${any}`> & {
635
640
  _allExposed: {
636
641
  activatorEl: vue.Ref<HTMLElement | undefined>;
637
642
  scrimEl: vue.Ref<HTMLElement | undefined>;
@@ -964,6 +969,7 @@ declare const VMenu: {
964
969
  }) => vue.VNodeChild) | undefined;
965
970
  onAfterEnter?: (() => any) | undefined;
966
971
  onAfterLeave?: (() => any) | undefined;
972
+ onKeydown?: ((e: KeyboardEvent) => any) | undefined;
967
973
  "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
968
974
  "onClick:outside"?: ((e: MouseEvent) => any) | undefined;
969
975
  } & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & {
@@ -1046,6 +1052,7 @@ declare const VMenu: {
1046
1052
  } & {
1047
1053
  onAfterEnter?: (() => any) | undefined;
1048
1054
  onAfterLeave?: (() => any) | undefined;
1055
+ onKeydown?: ((e: KeyboardEvent) => any) | undefined;
1049
1056
  "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
1050
1057
  "onClick:outside"?: ((e: MouseEvent) => any) | undefined;
1051
1058
  }, "absolute" | "location" | "origin" | "transition" | "zIndex" | "style" | "eager" | "disabled" | "persistent" | "modelValue" | "locationStrategy" | "scrollStrategy" | "activatorProps" | "openOnClick" | "openOnHover" | "openOnFocus" | "closeOnContentClick" | "closeOnBack" | "contained" | "noClickAnimation" | "scrim" | "_disableGlobalStack">;
@@ -1067,7 +1074,7 @@ declare const VMenu: {
1067
1074
  }>;
1068
1075
  $root: vue.ComponentPublicInstance | null;
1069
1076
  $parent: vue.ComponentPublicInstance | null;
1070
- $emit: ((event: "update:modelValue", value: boolean) => void) & ((event: "click:outside", e: MouseEvent) => void) & ((event: "afterEnter") => void) & ((event: "afterLeave") => void);
1077
+ $emit: ((event: "keydown", e: KeyboardEvent) => void) & ((event: "update:modelValue", value: boolean) => void) & ((event: "click:outside", e: MouseEvent) => void) & ((event: "afterEnter") => void) & ((event: "afterLeave") => void);
1071
1078
  $el: any;
1072
1079
  $options: vue.ComponentOptionsBase<{
1073
1080
  absolute: boolean;
@@ -1149,6 +1156,7 @@ declare const VMenu: {
1149
1156
  } & {
1150
1157
  onAfterEnter?: (() => any) | undefined;
1151
1158
  onAfterLeave?: (() => any) | undefined;
1159
+ onKeydown?: ((e: KeyboardEvent) => any) | undefined;
1152
1160
  "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
1153
1161
  "onClick:outside"?: ((e: MouseEvent) => any) | undefined;
1154
1162
  }, {
@@ -1163,6 +1171,7 @@ declare const VMenu: {
1163
1171
  }, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
1164
1172
  'click:outside': (e: MouseEvent) => true;
1165
1173
  'update:modelValue': (value: boolean) => true;
1174
+ keydown: (e: KeyboardEvent) => true;
1166
1175
  afterEnter: () => true;
1167
1176
  afterLeave: () => true;
1168
1177
  }, string, {
@@ -1301,6 +1310,7 @@ declare const VMenu: {
1301
1310
  } & {
1302
1311
  onAfterEnter?: (() => any) | undefined;
1303
1312
  onAfterLeave?: (() => any) | undefined;
1313
+ onKeydown?: ((e: KeyboardEvent) => any) | undefined;
1304
1314
  "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
1305
1315
  "onClick:outside"?: ((e: MouseEvent) => any) | undefined;
1306
1316
  }, "target" | "contentEl" | "activatorEl" | "scrimEl" | "animateClick" | "globalTop" | "localTop" | "updateLocation"> & vue.ShallowUnwrapRef<{
@@ -1312,7 +1322,7 @@ declare const VMenu: {
1312
1322
  globalTop: Readonly<vue.Ref<boolean>>;
1313
1323
  localTop: vue.ComputedRef<boolean>;
1314
1324
  updateLocation: vue.Ref<((e: Event) => void) | undefined>;
1315
- }> & {} & vue.ComponentCustomProperties & {}, "offset" | "key" | "height" | "width" | "maxHeight" | "maxWidth" | "minHeight" | "minWidth" | "opacity" | "target" | "class" | "theme" | "ref" | "onAfterEnter" | "onAfterLeave" | "$children" | "v-slots" | "v-slot:default" | "ref_for" | "ref_key" | "onVnodeBeforeMount" | "onVnodeMounted" | "onVnodeBeforeUpdate" | "onVnodeUpdated" | "onVnodeBeforeUnmount" | "onVnodeUnmounted" | "onUpdate:modelValue" | "contentClass" | "activator" | "v-slot:activator" | "closeDelay" | "openDelay" | "contentProps" | "attach" | "onClick:outside" | ("absolute" | "location" | "origin" | "transition" | "zIndex" | "style" | "eager" | "disabled" | "persistent" | "modelValue" | "locationStrategy" | "scrollStrategy" | "activatorProps" | "openOnClick" | "openOnHover" | "openOnFocus" | "closeOnContentClick" | "closeOnBack" | "contained" | "noClickAnimation" | "scrim" | "_disableGlobalStack")>, `$${any}`> & {
1325
+ }> & {} & vue.ComponentCustomProperties & {}, "offset" | "key" | "height" | "width" | "maxHeight" | "maxWidth" | "minHeight" | "minWidth" | "opacity" | "target" | "class" | "theme" | "ref" | "onAfterEnter" | "onAfterLeave" | "onKeydown" | "$children" | "v-slots" | "v-slot:default" | "ref_for" | "ref_key" | "onVnodeBeforeMount" | "onVnodeMounted" | "onVnodeBeforeUpdate" | "onVnodeUpdated" | "onVnodeBeforeUnmount" | "onVnodeUnmounted" | "onUpdate:modelValue" | "contentClass" | "activator" | "v-slot:activator" | "closeDelay" | "openDelay" | "contentProps" | "attach" | "onClick:outside" | ("absolute" | "location" | "origin" | "transition" | "zIndex" | "style" | "eager" | "disabled" | "persistent" | "modelValue" | "locationStrategy" | "scrollStrategy" | "activatorProps" | "openOnClick" | "openOnHover" | "openOnFocus" | "closeOnContentClick" | "closeOnBack" | "contained" | "noClickAnimation" | "scrim" | "_disableGlobalStack")>, `$${any}`> & {
1316
1326
  _allExposed: {
1317
1327
  activatorEl: vue.Ref<HTMLElement | undefined>;
1318
1328
  scrimEl: vue.Ref<HTMLElement | undefined>;
@@ -1550,6 +1560,7 @@ declare const VMenu: {
1550
1560
  }) => vue.VNodeChild) | undefined;
1551
1561
  onAfterEnter?: (() => any) | undefined;
1552
1562
  onAfterLeave?: (() => any) | undefined;
1563
+ onKeydown?: ((e: KeyboardEvent) => any) | undefined;
1553
1564
  "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
1554
1565
  "onClick:outside"?: ((e: MouseEvent) => any) | undefined;
1555
1566
  } & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & {
@@ -1632,6 +1643,7 @@ declare const VMenu: {
1632
1643
  } & {
1633
1644
  onAfterEnter?: (() => any) | undefined;
1634
1645
  onAfterLeave?: (() => any) | undefined;
1646
+ onKeydown?: ((e: KeyboardEvent) => any) | undefined;
1635
1647
  "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
1636
1648
  "onClick:outside"?: ((e: MouseEvent) => any) | undefined;
1637
1649
  }, "absolute" | "location" | "origin" | "transition" | "zIndex" | "style" | "eager" | "disabled" | "persistent" | "modelValue" | "locationStrategy" | "scrollStrategy" | "activatorProps" | "openOnClick" | "openOnHover" | "openOnFocus" | "closeOnContentClick" | "closeOnBack" | "contained" | "noClickAnimation" | "scrim" | "_disableGlobalStack">;
@@ -1653,7 +1665,7 @@ declare const VMenu: {
1653
1665
  }>;
1654
1666
  $root: vue.ComponentPublicInstance | null;
1655
1667
  $parent: vue.ComponentPublicInstance | null;
1656
- $emit: ((event: "update:modelValue", value: boolean) => void) & ((event: "click:outside", e: MouseEvent) => void) & ((event: "afterEnter") => void) & ((event: "afterLeave") => void);
1668
+ $emit: ((event: "keydown", e: KeyboardEvent) => void) & ((event: "update:modelValue", value: boolean) => void) & ((event: "click:outside", e: MouseEvent) => void) & ((event: "afterEnter") => void) & ((event: "afterLeave") => void);
1657
1669
  $el: any;
1658
1670
  $options: vue.ComponentOptionsBase<{
1659
1671
  absolute: boolean;
@@ -1735,6 +1747,7 @@ declare const VMenu: {
1735
1747
  } & {
1736
1748
  onAfterEnter?: (() => any) | undefined;
1737
1749
  onAfterLeave?: (() => any) | undefined;
1750
+ onKeydown?: ((e: KeyboardEvent) => any) | undefined;
1738
1751
  "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
1739
1752
  "onClick:outside"?: ((e: MouseEvent) => any) | undefined;
1740
1753
  }, {
@@ -1749,6 +1762,7 @@ declare const VMenu: {
1749
1762
  }, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
1750
1763
  'click:outside': (e: MouseEvent) => true;
1751
1764
  'update:modelValue': (value: boolean) => true;
1765
+ keydown: (e: KeyboardEvent) => true;
1752
1766
  afterEnter: () => true;
1753
1767
  afterLeave: () => true;
1754
1768
  }, string, {
@@ -1887,6 +1901,7 @@ declare const VMenu: {
1887
1901
  } & {
1888
1902
  onAfterEnter?: (() => any) | undefined;
1889
1903
  onAfterLeave?: (() => any) | undefined;
1904
+ onKeydown?: ((e: KeyboardEvent) => any) | undefined;
1890
1905
  "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
1891
1906
  "onClick:outside"?: ((e: MouseEvent) => any) | undefined;
1892
1907
  }, "target" | "contentEl" | "activatorEl" | "scrimEl" | "animateClick" | "globalTop" | "localTop" | "updateLocation"> & vue.ShallowUnwrapRef<{
@@ -1898,7 +1913,7 @@ declare const VMenu: {
1898
1913
  globalTop: Readonly<vue.Ref<boolean>>;
1899
1914
  localTop: vue.ComputedRef<boolean>;
1900
1915
  updateLocation: vue.Ref<((e: Event) => void) | undefined>;
1901
- }> & {} & vue.ComponentCustomProperties & {}, "offset" | "key" | "height" | "width" | "maxHeight" | "maxWidth" | "minHeight" | "minWidth" | "opacity" | "target" | "class" | "theme" | "ref" | "onAfterEnter" | "onAfterLeave" | "$children" | "v-slots" | "v-slot:default" | "ref_for" | "ref_key" | "onVnodeBeforeMount" | "onVnodeMounted" | "onVnodeBeforeUpdate" | "onVnodeUpdated" | "onVnodeBeforeUnmount" | "onVnodeUnmounted" | "onUpdate:modelValue" | "contentClass" | "activator" | "v-slot:activator" | "closeDelay" | "openDelay" | "contentProps" | "attach" | "onClick:outside" | ("absolute" | "location" | "origin" | "transition" | "zIndex" | "style" | "eager" | "disabled" | "persistent" | "modelValue" | "locationStrategy" | "scrollStrategy" | "activatorProps" | "openOnClick" | "openOnHover" | "openOnFocus" | "closeOnContentClick" | "closeOnBack" | "contained" | "noClickAnimation" | "scrim" | "_disableGlobalStack")>, `$${any}`> & {
1916
+ }> & {} & vue.ComponentCustomProperties & {}, "offset" | "key" | "height" | "width" | "maxHeight" | "maxWidth" | "minHeight" | "minWidth" | "opacity" | "target" | "class" | "theme" | "ref" | "onAfterEnter" | "onAfterLeave" | "onKeydown" | "$children" | "v-slots" | "v-slot:default" | "ref_for" | "ref_key" | "onVnodeBeforeMount" | "onVnodeMounted" | "onVnodeBeforeUpdate" | "onVnodeUpdated" | "onVnodeBeforeUnmount" | "onVnodeUnmounted" | "onUpdate:modelValue" | "contentClass" | "activator" | "v-slot:activator" | "closeDelay" | "openDelay" | "contentProps" | "attach" | "onClick:outside" | ("absolute" | "location" | "origin" | "transition" | "zIndex" | "style" | "eager" | "disabled" | "persistent" | "modelValue" | "locationStrategy" | "scrollStrategy" | "activatorProps" | "openOnClick" | "openOnHover" | "openOnFocus" | "closeOnContentClick" | "closeOnBack" | "contained" | "noClickAnimation" | "scrim" | "_disableGlobalStack")>, `$${any}`> & {
1902
1917
  _allExposed: {
1903
1918
  activatorEl: vue.Ref<HTMLElement | undefined>;
1904
1919
  scrimEl: vue.Ref<HTMLElement | undefined>;
@@ -84,6 +84,7 @@ export const VOverlay = genericComponent()({
84
84
  emits: {
85
85
  'click:outside': e => true,
86
86
  'update:modelValue': value => true,
87
+ keydown: e => true,
87
88
  afterEnter: () => true,
88
89
  afterLeave: () => true
89
90
  },
@@ -196,6 +197,9 @@ export const VOverlay = genericComponent()({
196
197
  });
197
198
  function onKeydown(e) {
198
199
  if (e.key === 'Escape' && globalTop.value) {
200
+ if (!contentEl.value?.contains(document.activeElement)) {
201
+ emit('keydown', e);
202
+ }
199
203
  if (!props.persistent) {
200
204
  isActive.value = false;
201
205
  if (contentEl.value?.contains(document.activeElement)) {
@@ -204,6 +208,10 @@ export const VOverlay = genericComponent()({
204
208
  } else animateClick();
205
209
  }
206
210
  }
211
+ function onKeydownSelf(e) {
212
+ if (e.key === 'Escape' && !globalTop.value) return;
213
+ emit('keydown', e);
214
+ }
207
215
  const router = useRouter();
208
216
  useToggleScope(() => props.closeOnBack, () => {
209
217
  useBackButton(router, next => {
@@ -266,7 +274,8 @@ export const VOverlay = genericComponent()({
266
274
  '--v-overlay-opacity': props.opacity,
267
275
  top: convertToUnit(top.value)
268
276
  }, props.style],
269
- "ref": root
277
+ "ref": root,
278
+ "onKeydown": onKeydownSelf
270
279
  }, scopeId, attrs), [_createVNode(Scrim, _mergeProps({
271
280
  "color": scrimColor,
272
281
  "modelValue": isActive.value && !!props.scrim,
@@ -1 +1 @@
1
- {"version":3,"file":"VOverlay.mjs","names":["makeLocationStrategyProps","useLocationStrategies","makeScrollStrategyProps","useScrollStrategies","makeActivatorProps","useActivator","useBackgroundColor","makeComponentProps","makeDimensionProps","useDimension","useHydration","makeLazyProps","useLazy","useRtl","useProxiedModel","useBackButton","useRouter","useScopeId","useStack","useTeleport","makeThemeProps","provideTheme","useToggleScope","makeTransitionProps","MaybeTransition","ClickOutside","computed","mergeProps","onBeforeUnmount","ref","Teleport","toRef","Transition","watch","animate","convertToUnit","genericComponent","getCurrentInstance","getScrollParent","IN_BROWSER","propsFactory","standardEasing","useRender","Scrim","props","modelValue","color","rest","_createVNode","default","_mergeProps","backgroundColorClasses","value","backgroundColorStyles","makeVOverlayProps","absolute","Boolean","attach","String","Object","closeOnBack","type","contained","contentClass","contentProps","disabled","opacity","Number","noClickAnimation","persistent","scrim","zIndex","VOverlay","name","directives","inheritAttrs","_disableGlobalStack","emits","e","afterEnter","afterLeave","setup","_ref","slots","attrs","emit","vm","root","scrimEl","contentEl","model","isActive","get","set","v","themeClasses","rtlClasses","isRtl","hasContent","onAfterLeave","_onAfterLeave","scrimColor","globalTop","localTop","stackStyles","activatorEl","activatorRef","target","targetEl","targetRef","activatorEvents","contentEvents","scrimEvents","isTop","teleportTarget","rootNode","getRootNode","proxy","$el","ShadowRoot","dimensionStyles","isMounted","scopeId","contentStyles","updateLocation","onClickOutside","animateClick","closeConditional","MouseEvent","shadowTarget","val","window","addEventListener","onKeydown","removeEventListener","immediate","key","contains","document","activeElement","focus","router","next","top","scrollParent","scrollingElement","scrollTop","transformOrigin","transform","duration","easing","onAfterEnter","_Fragment","activator","activatorProps","class","style","transition","_withDirectives","_vShow","_resolveDirective","handler","include"],"sources":["../../../src/components/VOverlay/VOverlay.tsx"],"sourcesContent":["// Styles\nimport './VOverlay.sass'\n\n// Composables\nimport { makeLocationStrategyProps, useLocationStrategies } from './locationStrategies'\nimport { makeScrollStrategyProps, useScrollStrategies } from './scrollStrategies'\nimport { makeActivatorProps, useActivator } from './useActivator'\nimport { useBackgroundColor } from '@/composables/color'\nimport { makeComponentProps } from '@/composables/component'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { useHydration } from '@/composables/hydration'\nimport { makeLazyProps, useLazy } from '@/composables/lazy'\nimport { useRtl } from '@/composables/locale'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { useBackButton, useRouter } from '@/composables/router'\nimport { useScopeId } from '@/composables/scopeId'\nimport { useStack } from '@/composables/stack'\nimport { useTeleport } from '@/composables/teleport'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { useToggleScope } from '@/composables/toggleScope'\nimport { makeTransitionProps, MaybeTransition } from '@/composables/transition'\n\n// Directives\nimport { ClickOutside } from '@/directives/click-outside'\n\n// Utilities\nimport {\n computed,\n mergeProps,\n onBeforeUnmount,\n ref,\n Teleport,\n toRef,\n Transition,\n watch,\n} from 'vue'\nimport {\n animate,\n convertToUnit,\n genericComponent,\n getCurrentInstance,\n getScrollParent,\n IN_BROWSER,\n propsFactory,\n standardEasing,\n useRender,\n} from '@/util'\n\n// Types\nimport type { PropType, Ref } from 'vue'\nimport type { BackgroundColorData } from '@/composables/color'\nimport type { TemplateRef } from '@/util'\n\ninterface ScrimProps {\n [key: string]: unknown\n modelValue: boolean\n color: BackgroundColorData\n}\nfunction Scrim (props: ScrimProps) {\n const { modelValue, color, ...rest } = props\n return (\n <Transition name=\"fade-transition\" appear>\n { props.modelValue && (\n <div\n class={[\n 'v-overlay__scrim',\n props.color.backgroundColorClasses.value,\n ]}\n style={ props.color.backgroundColorStyles.value }\n { ...rest }\n />\n )}\n </Transition>\n )\n}\n\nexport type OverlaySlots = {\n default: { isActive: Ref<boolean> }\n activator: { isActive: boolean, props: Record<string, any>, targetRef: TemplateRef }\n}\n\nexport const makeVOverlayProps = propsFactory({\n absolute: Boolean,\n attach: [Boolean, String, Object] as PropType<boolean | string | Element>,\n closeOnBack: {\n type: Boolean,\n default: true,\n },\n contained: Boolean,\n contentClass: null,\n contentProps: null,\n disabled: Boolean,\n opacity: [Number, String],\n noClickAnimation: Boolean,\n modelValue: Boolean,\n persistent: Boolean,\n scrim: {\n type: [Boolean, String],\n default: true,\n },\n zIndex: {\n type: [Number, String],\n default: 2000,\n },\n\n ...makeActivatorProps(),\n ...makeComponentProps(),\n ...makeDimensionProps(),\n ...makeLazyProps(),\n ...makeLocationStrategyProps(),\n ...makeScrollStrategyProps(),\n ...makeThemeProps(),\n ...makeTransitionProps(),\n}, 'VOverlay')\n\nexport const VOverlay = genericComponent<OverlaySlots>()({\n name: 'VOverlay',\n\n directives: { ClickOutside },\n\n inheritAttrs: false,\n\n props: {\n _disableGlobalStack: Boolean,\n\n ...makeVOverlayProps(),\n },\n\n emits: {\n 'click:outside': (e: MouseEvent) => true,\n 'update:modelValue': (value: boolean) => true,\n afterEnter: () => true,\n afterLeave: () => true,\n },\n\n setup (props, { slots, attrs, emit }) {\n const vm = getCurrentInstance('VOverlay')\n const root = ref<HTMLElement>()\n const scrimEl = ref<HTMLElement>()\n const contentEl = ref<HTMLElement>()\n const model = useProxiedModel(props, 'modelValue')\n const isActive = computed({\n get: () => model.value,\n set: v => {\n if (!(v && props.disabled)) model.value = v\n },\n })\n const { themeClasses } = provideTheme(props)\n const { rtlClasses, isRtl } = useRtl()\n const { hasContent, onAfterLeave: _onAfterLeave } = useLazy(props, isActive)\n const scrimColor = useBackgroundColor(computed(() => {\n return typeof props.scrim === 'string' ? props.scrim : null\n }))\n const { globalTop, localTop, stackStyles } = useStack(isActive, toRef(props, 'zIndex'), props._disableGlobalStack)\n const {\n activatorEl, activatorRef,\n target, targetEl, targetRef,\n activatorEvents,\n contentEvents,\n scrimEvents,\n } = useActivator(props, { isActive, isTop: localTop, contentEl })\n const { teleportTarget } = useTeleport(() => {\n const target = props.attach || props.contained\n if (target) return target\n const rootNode = activatorEl?.value?.getRootNode() || vm.proxy?.$el?.getRootNode()\n if (rootNode instanceof ShadowRoot) return rootNode\n return false\n })\n const { dimensionStyles } = useDimension(props)\n const isMounted = useHydration()\n const { scopeId } = useScopeId()\n\n watch(() => props.disabled, v => {\n if (v) isActive.value = false\n })\n\n const { contentStyles, updateLocation } = useLocationStrategies(props, {\n isRtl,\n contentEl,\n target,\n isActive,\n })\n useScrollStrategies(props, {\n root,\n contentEl,\n targetEl,\n isActive,\n updateLocation,\n })\n\n function onClickOutside (e: MouseEvent) {\n emit('click:outside', e)\n\n if (!props.persistent) isActive.value = false\n else animateClick()\n }\n\n function closeConditional (e: Event) {\n return isActive.value && globalTop.value && (\n // If using scrim, only close if clicking on it rather than anything opened on top\n !props.scrim || e.target === scrimEl.value || (e instanceof MouseEvent && e.shadowTarget === scrimEl.value)\n )\n }\n\n IN_BROWSER && watch(isActive, val => {\n if (val) {\n window.addEventListener('keydown', onKeydown)\n } else {\n window.removeEventListener('keydown', onKeydown)\n }\n }, { immediate: true })\n\n onBeforeUnmount(() => {\n if (!IN_BROWSER) return\n\n window.removeEventListener('keydown', onKeydown)\n })\n\n function onKeydown (e: KeyboardEvent) {\n if (e.key === 'Escape' && globalTop.value) {\n if (!props.persistent) {\n isActive.value = false\n if (contentEl.value?.contains(document.activeElement)) {\n activatorEl.value?.focus()\n }\n } else animateClick()\n }\n }\n\n const router = useRouter()\n useToggleScope(() => props.closeOnBack, () => {\n useBackButton(router, next => {\n if (globalTop.value && isActive.value) {\n next(false)\n if (!props.persistent) isActive.value = false\n else animateClick()\n } else {\n next()\n }\n })\n })\n\n const top = ref<number>()\n watch(() => isActive.value && (props.absolute || props.contained) && teleportTarget.value == null, val => {\n if (val) {\n const scrollParent = getScrollParent(root.value)\n if (scrollParent && scrollParent !== document.scrollingElement) {\n top.value = scrollParent.scrollTop\n }\n }\n })\n\n // Add a quick \"bounce\" animation to the content\n function animateClick () {\n if (props.noClickAnimation) return\n\n contentEl.value && animate(contentEl.value, [\n { transformOrigin: 'center' },\n { transform: 'scale(1.03)' },\n { transformOrigin: 'center' },\n ], {\n duration: 150,\n easing: standardEasing,\n })\n }\n\n function onAfterEnter () {\n emit('afterEnter')\n }\n\n function onAfterLeave () {\n _onAfterLeave()\n emit('afterLeave')\n }\n\n useRender(() => (\n <>\n { slots.activator?.({\n isActive: isActive.value,\n targetRef,\n props: mergeProps({\n ref: activatorRef,\n }, activatorEvents.value, props.activatorProps),\n })}\n\n { isMounted.value && hasContent.value && (\n <Teleport\n disabled={ !teleportTarget.value }\n to={ teleportTarget.value }\n >\n <div\n class={[\n 'v-overlay',\n {\n 'v-overlay--absolute': props.absolute || props.contained,\n 'v-overlay--active': isActive.value,\n 'v-overlay--contained': props.contained,\n },\n themeClasses.value,\n rtlClasses.value,\n props.class,\n ]}\n style={[\n stackStyles.value,\n {\n '--v-overlay-opacity': props.opacity,\n top: convertToUnit(top.value),\n },\n props.style,\n ]}\n ref={ root }\n { ...scopeId }\n { ...attrs }\n >\n <Scrim\n color={ scrimColor }\n modelValue={ isActive.value && !!props.scrim }\n ref={ scrimEl }\n { ...scrimEvents.value }\n />\n <MaybeTransition\n appear\n persisted\n transition={ props.transition }\n target={ target.value }\n onAfterEnter={ onAfterEnter }\n onAfterLeave={ onAfterLeave }\n >\n <div\n ref={ contentEl }\n v-show={ isActive.value }\n v-click-outside={{ handler: onClickOutside, closeConditional, include: () => [activatorEl.value] }}\n class={[\n 'v-overlay__content',\n props.contentClass,\n ]}\n style={[\n dimensionStyles.value,\n contentStyles.value,\n ]}\n { ...contentEvents.value }\n { ...props.contentProps }\n >\n { slots.default?.({ isActive }) }\n </div>\n </MaybeTransition>\n </div>\n </Teleport>\n )}\n </>\n ))\n\n return {\n activatorEl,\n scrimEl,\n target,\n animateClick,\n contentEl,\n globalTop,\n localTop,\n updateLocation,\n }\n },\n})\n\nexport type VOverlay = InstanceType<typeof VOverlay>\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"VOverlay.mjs","names":["makeLocationStrategyProps","useLocationStrategies","makeScrollStrategyProps","useScrollStrategies","makeActivatorProps","useActivator","useBackgroundColor","makeComponentProps","makeDimensionProps","useDimension","useHydration","makeLazyProps","useLazy","useRtl","useProxiedModel","useBackButton","useRouter","useScopeId","useStack","useTeleport","makeThemeProps","provideTheme","useToggleScope","makeTransitionProps","MaybeTransition","ClickOutside","computed","mergeProps","onBeforeUnmount","ref","Teleport","toRef","Transition","watch","animate","convertToUnit","genericComponent","getCurrentInstance","getScrollParent","IN_BROWSER","propsFactory","standardEasing","useRender","Scrim","props","modelValue","color","rest","_createVNode","default","_mergeProps","backgroundColorClasses","value","backgroundColorStyles","makeVOverlayProps","absolute","Boolean","attach","String","Object","closeOnBack","type","contained","contentClass","contentProps","disabled","opacity","Number","noClickAnimation","persistent","scrim","zIndex","VOverlay","name","directives","inheritAttrs","_disableGlobalStack","emits","e","keydown","afterEnter","afterLeave","setup","_ref","slots","attrs","emit","vm","root","scrimEl","contentEl","model","isActive","get","set","v","themeClasses","rtlClasses","isRtl","hasContent","onAfterLeave","_onAfterLeave","scrimColor","globalTop","localTop","stackStyles","activatorEl","activatorRef","target","targetEl","targetRef","activatorEvents","contentEvents","scrimEvents","isTop","teleportTarget","rootNode","getRootNode","proxy","$el","ShadowRoot","dimensionStyles","isMounted","scopeId","contentStyles","updateLocation","onClickOutside","animateClick","closeConditional","MouseEvent","shadowTarget","val","window","addEventListener","onKeydown","removeEventListener","immediate","key","contains","document","activeElement","focus","onKeydownSelf","router","next","top","scrollParent","scrollingElement","scrollTop","transformOrigin","transform","duration","easing","onAfterEnter","_Fragment","activator","activatorProps","class","style","transition","_withDirectives","_vShow","_resolveDirective","handler","include"],"sources":["../../../src/components/VOverlay/VOverlay.tsx"],"sourcesContent":["// Styles\nimport './VOverlay.sass'\n\n// Composables\nimport { makeLocationStrategyProps, useLocationStrategies } from './locationStrategies'\nimport { makeScrollStrategyProps, useScrollStrategies } from './scrollStrategies'\nimport { makeActivatorProps, useActivator } from './useActivator'\nimport { useBackgroundColor } from '@/composables/color'\nimport { makeComponentProps } from '@/composables/component'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { useHydration } from '@/composables/hydration'\nimport { makeLazyProps, useLazy } from '@/composables/lazy'\nimport { useRtl } from '@/composables/locale'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { useBackButton, useRouter } from '@/composables/router'\nimport { useScopeId } from '@/composables/scopeId'\nimport { useStack } from '@/composables/stack'\nimport { useTeleport } from '@/composables/teleport'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { useToggleScope } from '@/composables/toggleScope'\nimport { makeTransitionProps, MaybeTransition } from '@/composables/transition'\n\n// Directives\nimport { ClickOutside } from '@/directives/click-outside'\n\n// Utilities\nimport {\n computed,\n mergeProps,\n onBeforeUnmount,\n ref,\n Teleport,\n toRef,\n Transition,\n watch,\n} from 'vue'\nimport {\n animate,\n convertToUnit,\n genericComponent,\n getCurrentInstance,\n getScrollParent,\n IN_BROWSER,\n propsFactory,\n standardEasing,\n useRender,\n} from '@/util'\n\n// Types\nimport type { PropType, Ref } from 'vue'\nimport type { BackgroundColorData } from '@/composables/color'\nimport type { TemplateRef } from '@/util'\n\ninterface ScrimProps {\n [key: string]: unknown\n modelValue: boolean\n color: BackgroundColorData\n}\nfunction Scrim (props: ScrimProps) {\n const { modelValue, color, ...rest } = props\n return (\n <Transition name=\"fade-transition\" appear>\n { props.modelValue && (\n <div\n class={[\n 'v-overlay__scrim',\n props.color.backgroundColorClasses.value,\n ]}\n style={ props.color.backgroundColorStyles.value }\n { ...rest }\n />\n )}\n </Transition>\n )\n}\n\nexport type OverlaySlots = {\n default: { isActive: Ref<boolean> }\n activator: { isActive: boolean, props: Record<string, any>, targetRef: TemplateRef }\n}\n\nexport const makeVOverlayProps = propsFactory({\n absolute: Boolean,\n attach: [Boolean, String, Object] as PropType<boolean | string | Element>,\n closeOnBack: {\n type: Boolean,\n default: true,\n },\n contained: Boolean,\n contentClass: null,\n contentProps: null,\n disabled: Boolean,\n opacity: [Number, String],\n noClickAnimation: Boolean,\n modelValue: Boolean,\n persistent: Boolean,\n scrim: {\n type: [Boolean, String],\n default: true,\n },\n zIndex: {\n type: [Number, String],\n default: 2000,\n },\n\n ...makeActivatorProps(),\n ...makeComponentProps(),\n ...makeDimensionProps(),\n ...makeLazyProps(),\n ...makeLocationStrategyProps(),\n ...makeScrollStrategyProps(),\n ...makeThemeProps(),\n ...makeTransitionProps(),\n}, 'VOverlay')\n\nexport const VOverlay = genericComponent<OverlaySlots>()({\n name: 'VOverlay',\n\n directives: { ClickOutside },\n\n inheritAttrs: false,\n\n props: {\n _disableGlobalStack: Boolean,\n\n ...makeVOverlayProps(),\n },\n\n emits: {\n 'click:outside': (e: MouseEvent) => true,\n 'update:modelValue': (value: boolean) => true,\n keydown: (e: KeyboardEvent) => true,\n afterEnter: () => true,\n afterLeave: () => true,\n },\n\n setup (props, { slots, attrs, emit }) {\n const vm = getCurrentInstance('VOverlay')\n const root = ref<HTMLElement>()\n const scrimEl = ref<HTMLElement>()\n const contentEl = ref<HTMLElement>()\n const model = useProxiedModel(props, 'modelValue')\n const isActive = computed({\n get: () => model.value,\n set: v => {\n if (!(v && props.disabled)) model.value = v\n },\n })\n const { themeClasses } = provideTheme(props)\n const { rtlClasses, isRtl } = useRtl()\n const { hasContent, onAfterLeave: _onAfterLeave } = useLazy(props, isActive)\n const scrimColor = useBackgroundColor(computed(() => {\n return typeof props.scrim === 'string' ? props.scrim : null\n }))\n const { globalTop, localTop, stackStyles } = useStack(isActive, toRef(props, 'zIndex'), props._disableGlobalStack)\n const {\n activatorEl, activatorRef,\n target, targetEl, targetRef,\n activatorEvents,\n contentEvents,\n scrimEvents,\n } = useActivator(props, { isActive, isTop: localTop, contentEl })\n const { teleportTarget } = useTeleport(() => {\n const target = props.attach || props.contained\n if (target) return target\n const rootNode = activatorEl?.value?.getRootNode() || vm.proxy?.$el?.getRootNode()\n if (rootNode instanceof ShadowRoot) return rootNode\n return false\n })\n const { dimensionStyles } = useDimension(props)\n const isMounted = useHydration()\n const { scopeId } = useScopeId()\n\n watch(() => props.disabled, v => {\n if (v) isActive.value = false\n })\n\n const { contentStyles, updateLocation } = useLocationStrategies(props, {\n isRtl,\n contentEl,\n target,\n isActive,\n })\n useScrollStrategies(props, {\n root,\n contentEl,\n targetEl,\n isActive,\n updateLocation,\n })\n\n function onClickOutside (e: MouseEvent) {\n emit('click:outside', e)\n\n if (!props.persistent) isActive.value = false\n else animateClick()\n }\n\n function closeConditional (e: Event) {\n return isActive.value && globalTop.value && (\n // If using scrim, only close if clicking on it rather than anything opened on top\n !props.scrim || e.target === scrimEl.value || (e instanceof MouseEvent && e.shadowTarget === scrimEl.value)\n )\n }\n\n IN_BROWSER && watch(isActive, val => {\n if (val) {\n window.addEventListener('keydown', onKeydown)\n } else {\n window.removeEventListener('keydown', onKeydown)\n }\n }, { immediate: true })\n\n onBeforeUnmount(() => {\n if (!IN_BROWSER) return\n\n window.removeEventListener('keydown', onKeydown)\n })\n\n function onKeydown (e: KeyboardEvent) {\n if (e.key === 'Escape' && globalTop.value) {\n if (!contentEl.value?.contains(document.activeElement)) {\n emit('keydown', e)\n }\n if (!props.persistent) {\n isActive.value = false\n if (contentEl.value?.contains(document.activeElement)) {\n activatorEl.value?.focus()\n }\n } else animateClick()\n }\n }\n function onKeydownSelf (e: KeyboardEvent) {\n if (e.key === 'Escape' && !globalTop.value) return\n\n emit('keydown', e)\n }\n\n const router = useRouter()\n useToggleScope(() => props.closeOnBack, () => {\n useBackButton(router, next => {\n if (globalTop.value && isActive.value) {\n next(false)\n if (!props.persistent) isActive.value = false\n else animateClick()\n } else {\n next()\n }\n })\n })\n\n const top = ref<number>()\n watch(() => isActive.value && (props.absolute || props.contained) && teleportTarget.value == null, val => {\n if (val) {\n const scrollParent = getScrollParent(root.value)\n if (scrollParent && scrollParent !== document.scrollingElement) {\n top.value = scrollParent.scrollTop\n }\n }\n })\n\n // Add a quick \"bounce\" animation to the content\n function animateClick () {\n if (props.noClickAnimation) return\n\n contentEl.value && animate(contentEl.value, [\n { transformOrigin: 'center' },\n { transform: 'scale(1.03)' },\n { transformOrigin: 'center' },\n ], {\n duration: 150,\n easing: standardEasing,\n })\n }\n\n function onAfterEnter () {\n emit('afterEnter')\n }\n\n function onAfterLeave () {\n _onAfterLeave()\n emit('afterLeave')\n }\n\n useRender(() => (\n <>\n { slots.activator?.({\n isActive: isActive.value,\n targetRef,\n props: mergeProps({\n ref: activatorRef,\n }, activatorEvents.value, props.activatorProps),\n })}\n\n { isMounted.value && hasContent.value && (\n <Teleport\n disabled={ !teleportTarget.value }\n to={ teleportTarget.value }\n >\n <div\n class={[\n 'v-overlay',\n {\n 'v-overlay--absolute': props.absolute || props.contained,\n 'v-overlay--active': isActive.value,\n 'v-overlay--contained': props.contained,\n },\n themeClasses.value,\n rtlClasses.value,\n props.class,\n ]}\n style={[\n stackStyles.value,\n {\n '--v-overlay-opacity': props.opacity,\n top: convertToUnit(top.value),\n },\n props.style,\n ]}\n ref={ root }\n onKeydown={ onKeydownSelf }\n { ...scopeId }\n { ...attrs }\n >\n <Scrim\n color={ scrimColor }\n modelValue={ isActive.value && !!props.scrim }\n ref={ scrimEl }\n { ...scrimEvents.value }\n />\n <MaybeTransition\n appear\n persisted\n transition={ props.transition }\n target={ target.value }\n onAfterEnter={ onAfterEnter }\n onAfterLeave={ onAfterLeave }\n >\n <div\n ref={ contentEl }\n v-show={ isActive.value }\n v-click-outside={{ handler: onClickOutside, closeConditional, include: () => [activatorEl.value] }}\n class={[\n 'v-overlay__content',\n props.contentClass,\n ]}\n style={[\n dimensionStyles.value,\n contentStyles.value,\n ]}\n { ...contentEvents.value }\n { ...props.contentProps }\n >\n { slots.default?.({ isActive }) }\n </div>\n </MaybeTransition>\n </div>\n </Teleport>\n )}\n </>\n ))\n\n return {\n activatorEl,\n scrimEl,\n target,\n animateClick,\n contentEl,\n globalTop,\n localTop,\n updateLocation,\n }\n },\n})\n\nexport type VOverlay = InstanceType<typeof VOverlay>\n"],"mappings":"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","ignoreList":[]}
@@ -173,6 +173,7 @@ declare const VOverlay: {
173
173
  } & {
174
174
  onAfterEnter?: (() => any) | undefined;
175
175
  onAfterLeave?: (() => any) | undefined;
176
+ onKeydown?: ((e: KeyboardEvent) => any) | undefined;
176
177
  "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
177
178
  "onClick:outside"?: ((e: MouseEvent) => any) | undefined;
178
179
  }, {
@@ -187,6 +188,7 @@ declare const VOverlay: {
187
188
  }, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
188
189
  'click:outside': (e: MouseEvent) => true;
189
190
  'update:modelValue': (value: boolean) => true;
191
+ keydown: (e: KeyboardEvent) => true;
190
192
  afterEnter: () => true;
191
193
  afterLeave: () => true;
192
194
  }, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & {
@@ -269,6 +271,7 @@ declare const VOverlay: {
269
271
  } & {
270
272
  onAfterEnter?: (() => any) | undefined;
271
273
  onAfterLeave?: (() => any) | undefined;
274
+ onKeydown?: ((e: KeyboardEvent) => any) | undefined;
272
275
  "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
273
276
  "onClick:outside"?: ((e: MouseEvent) => any) | undefined;
274
277
  }, {
@@ -394,6 +397,7 @@ declare const VOverlay: {
394
397
  } & {
395
398
  onAfterEnter?: (() => any) | undefined;
396
399
  onAfterLeave?: (() => any) | undefined;
400
+ onKeydown?: ((e: KeyboardEvent) => any) | undefined;
397
401
  "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
398
402
  "onClick:outside"?: ((e: MouseEvent) => any) | undefined;
399
403
  }, {
@@ -516,6 +520,7 @@ declare const VOverlay: {
516
520
  } & {
517
521
  onAfterEnter?: (() => any) | undefined;
518
522
  onAfterLeave?: (() => any) | undefined;
523
+ onKeydown?: ((e: KeyboardEvent) => any) | undefined;
519
524
  "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
520
525
  "onClick:outside"?: ((e: MouseEvent) => any) | undefined;
521
526
  }, {
@@ -530,6 +535,7 @@ declare const VOverlay: {
530
535
  }, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
531
536
  'click:outside': (e: MouseEvent) => true;
532
537
  'update:modelValue': (value: boolean) => true;
538
+ keydown: (e: KeyboardEvent) => true;
533
539
  afterEnter: () => true;
534
540
  afterLeave: () => true;
535
541
  }, string, {
@@ -1120,6 +1120,7 @@ declare const VMenu: {
1120
1120
  }) => vue.VNodeChild) | undefined;
1121
1121
  onAfterEnter?: (() => any) | undefined;
1122
1122
  onAfterLeave?: (() => any) | undefined;
1123
+ onKeydown?: ((e: KeyboardEvent) => any) | undefined;
1123
1124
  "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
1124
1125
  "onClick:outside"?: ((e: MouseEvent) => any) | undefined;
1125
1126
  } & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & {
@@ -1202,6 +1203,7 @@ declare const VMenu: {
1202
1203
  } & {
1203
1204
  onAfterEnter?: (() => any) | undefined;
1204
1205
  onAfterLeave?: (() => any) | undefined;
1206
+ onKeydown?: ((e: KeyboardEvent) => any) | undefined;
1205
1207
  "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
1206
1208
  "onClick:outside"?: ((e: MouseEvent) => any) | undefined;
1207
1209
  }, "absolute" | "location" | "origin" | "transition" | "zIndex" | "style" | "eager" | "disabled" | "persistent" | "modelValue" | "locationStrategy" | "scrollStrategy" | "activatorProps" | "openOnClick" | "openOnHover" | "openOnFocus" | "closeOnContentClick" | "closeOnBack" | "contained" | "noClickAnimation" | "scrim" | "_disableGlobalStack">;
@@ -1223,7 +1225,7 @@ declare const VMenu: {
1223
1225
  }>;
1224
1226
  $root: vue.ComponentPublicInstance | null;
1225
1227
  $parent: vue.ComponentPublicInstance | null;
1226
- $emit: ((event: "update:modelValue", value: boolean) => void) & ((event: "click:outside", e: MouseEvent) => void) & ((event: "afterEnter") => void) & ((event: "afterLeave") => void);
1228
+ $emit: ((event: "keydown", e: KeyboardEvent) => void) & ((event: "update:modelValue", value: boolean) => void) & ((event: "click:outside", e: MouseEvent) => void) & ((event: "afterEnter") => void) & ((event: "afterLeave") => void);
1227
1229
  $el: any;
1228
1230
  $options: vue.ComponentOptionsBase<{
1229
1231
  absolute: boolean;
@@ -1305,6 +1307,7 @@ declare const VMenu: {
1305
1307
  } & {
1306
1308
  onAfterEnter?: (() => any) | undefined;
1307
1309
  onAfterLeave?: (() => any) | undefined;
1310
+ onKeydown?: ((e: KeyboardEvent) => any) | undefined;
1308
1311
  "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
1309
1312
  "onClick:outside"?: ((e: MouseEvent) => any) | undefined;
1310
1313
  }, {
@@ -1319,6 +1322,7 @@ declare const VMenu: {
1319
1322
  }, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
1320
1323
  'click:outside': (e: MouseEvent) => true;
1321
1324
  'update:modelValue': (value: boolean) => true;
1325
+ keydown: (e: KeyboardEvent) => true;
1322
1326
  afterEnter: () => true;
1323
1327
  afterLeave: () => true;
1324
1328
  }, string, {
@@ -1457,6 +1461,7 @@ declare const VMenu: {
1457
1461
  } & {
1458
1462
  onAfterEnter?: (() => any) | undefined;
1459
1463
  onAfterLeave?: (() => any) | undefined;
1464
+ onKeydown?: ((e: KeyboardEvent) => any) | undefined;
1460
1465
  "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
1461
1466
  "onClick:outside"?: ((e: MouseEvent) => any) | undefined;
1462
1467
  }, "target" | "contentEl" | "activatorEl" | "scrimEl" | "animateClick" | "globalTop" | "localTop" | "updateLocation"> & vue.ShallowUnwrapRef<{
@@ -1468,7 +1473,7 @@ declare const VMenu: {
1468
1473
  globalTop: Readonly<vue.Ref<boolean>>;
1469
1474
  localTop: vue.ComputedRef<boolean>;
1470
1475
  updateLocation: vue.Ref<((e: Event) => void) | undefined>;
1471
- }> & {} & vue.ComponentCustomProperties & {}, "offset" | "key" | "height" | "width" | "maxHeight" | "maxWidth" | "minHeight" | "minWidth" | "opacity" | "target" | "class" | "theme" | "ref" | "onAfterEnter" | "onAfterLeave" | "$children" | "v-slots" | "v-slot:default" | "ref_for" | "ref_key" | "onVnodeBeforeMount" | "onVnodeMounted" | "onVnodeBeforeUpdate" | "onVnodeUpdated" | "onVnodeBeforeUnmount" | "onVnodeUnmounted" | "onUpdate:modelValue" | "contentClass" | "activator" | "v-slot:activator" | "closeDelay" | "openDelay" | "contentProps" | "attach" | "onClick:outside" | ("absolute" | "location" | "origin" | "transition" | "zIndex" | "style" | "eager" | "disabled" | "persistent" | "modelValue" | "locationStrategy" | "scrollStrategy" | "activatorProps" | "openOnClick" | "openOnHover" | "openOnFocus" | "closeOnContentClick" | "closeOnBack" | "contained" | "noClickAnimation" | "scrim" | "_disableGlobalStack")>, `$${any}`> & {
1476
+ }> & {} & vue.ComponentCustomProperties & {}, "offset" | "key" | "height" | "width" | "maxHeight" | "maxWidth" | "minHeight" | "minWidth" | "opacity" | "target" | "class" | "theme" | "ref" | "onAfterEnter" | "onAfterLeave" | "onKeydown" | "$children" | "v-slots" | "v-slot:default" | "ref_for" | "ref_key" | "onVnodeBeforeMount" | "onVnodeMounted" | "onVnodeBeforeUpdate" | "onVnodeUpdated" | "onVnodeBeforeUnmount" | "onVnodeUnmounted" | "onUpdate:modelValue" | "contentClass" | "activator" | "v-slot:activator" | "closeDelay" | "openDelay" | "contentProps" | "attach" | "onClick:outside" | ("absolute" | "location" | "origin" | "transition" | "zIndex" | "style" | "eager" | "disabled" | "persistent" | "modelValue" | "locationStrategy" | "scrollStrategy" | "activatorProps" | "openOnClick" | "openOnHover" | "openOnFocus" | "closeOnContentClick" | "closeOnBack" | "contained" | "noClickAnimation" | "scrim" | "_disableGlobalStack")>, `$${any}`> & {
1472
1477
  _allExposed: {
1473
1478
  activatorEl: vue.Ref<HTMLElement | undefined>;
1474
1479
  scrimEl: vue.Ref<HTMLElement | undefined>;
@@ -1801,6 +1806,7 @@ declare const VMenu: {
1801
1806
  }) => vue.VNodeChild) | undefined;
1802
1807
  onAfterEnter?: (() => any) | undefined;
1803
1808
  onAfterLeave?: (() => any) | undefined;
1809
+ onKeydown?: ((e: KeyboardEvent) => any) | undefined;
1804
1810
  "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
1805
1811
  "onClick:outside"?: ((e: MouseEvent) => any) | undefined;
1806
1812
  } & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & {
@@ -1883,6 +1889,7 @@ declare const VMenu: {
1883
1889
  } & {
1884
1890
  onAfterEnter?: (() => any) | undefined;
1885
1891
  onAfterLeave?: (() => any) | undefined;
1892
+ onKeydown?: ((e: KeyboardEvent) => any) | undefined;
1886
1893
  "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
1887
1894
  "onClick:outside"?: ((e: MouseEvent) => any) | undefined;
1888
1895
  }, "absolute" | "location" | "origin" | "transition" | "zIndex" | "style" | "eager" | "disabled" | "persistent" | "modelValue" | "locationStrategy" | "scrollStrategy" | "activatorProps" | "openOnClick" | "openOnHover" | "openOnFocus" | "closeOnContentClick" | "closeOnBack" | "contained" | "noClickAnimation" | "scrim" | "_disableGlobalStack">;
@@ -1904,7 +1911,7 @@ declare const VMenu: {
1904
1911
  }>;
1905
1912
  $root: vue.ComponentPublicInstance | null;
1906
1913
  $parent: vue.ComponentPublicInstance | null;
1907
- $emit: ((event: "update:modelValue", value: boolean) => void) & ((event: "click:outside", e: MouseEvent) => void) & ((event: "afterEnter") => void) & ((event: "afterLeave") => void);
1914
+ $emit: ((event: "keydown", e: KeyboardEvent) => void) & ((event: "update:modelValue", value: boolean) => void) & ((event: "click:outside", e: MouseEvent) => void) & ((event: "afterEnter") => void) & ((event: "afterLeave") => void);
1908
1915
  $el: any;
1909
1916
  $options: vue.ComponentOptionsBase<{
1910
1917
  absolute: boolean;
@@ -1986,6 +1993,7 @@ declare const VMenu: {
1986
1993
  } & {
1987
1994
  onAfterEnter?: (() => any) | undefined;
1988
1995
  onAfterLeave?: (() => any) | undefined;
1996
+ onKeydown?: ((e: KeyboardEvent) => any) | undefined;
1989
1997
  "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
1990
1998
  "onClick:outside"?: ((e: MouseEvent) => any) | undefined;
1991
1999
  }, {
@@ -2000,6 +2008,7 @@ declare const VMenu: {
2000
2008
  }, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
2001
2009
  'click:outside': (e: MouseEvent) => true;
2002
2010
  'update:modelValue': (value: boolean) => true;
2011
+ keydown: (e: KeyboardEvent) => true;
2003
2012
  afterEnter: () => true;
2004
2013
  afterLeave: () => true;
2005
2014
  }, string, {
@@ -2138,6 +2147,7 @@ declare const VMenu: {
2138
2147
  } & {
2139
2148
  onAfterEnter?: (() => any) | undefined;
2140
2149
  onAfterLeave?: (() => any) | undefined;
2150
+ onKeydown?: ((e: KeyboardEvent) => any) | undefined;
2141
2151
  "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
2142
2152
  "onClick:outside"?: ((e: MouseEvent) => any) | undefined;
2143
2153
  }, "target" | "contentEl" | "activatorEl" | "scrimEl" | "animateClick" | "globalTop" | "localTop" | "updateLocation"> & vue.ShallowUnwrapRef<{
@@ -2149,7 +2159,7 @@ declare const VMenu: {
2149
2159
  globalTop: Readonly<vue.Ref<boolean>>;
2150
2160
  localTop: vue.ComputedRef<boolean>;
2151
2161
  updateLocation: vue.Ref<((e: Event) => void) | undefined>;
2152
- }> & {} & vue.ComponentCustomProperties & {}, "offset" | "key" | "height" | "width" | "maxHeight" | "maxWidth" | "minHeight" | "minWidth" | "opacity" | "target" | "class" | "theme" | "ref" | "onAfterEnter" | "onAfterLeave" | "$children" | "v-slots" | "v-slot:default" | "ref_for" | "ref_key" | "onVnodeBeforeMount" | "onVnodeMounted" | "onVnodeBeforeUpdate" | "onVnodeUpdated" | "onVnodeBeforeUnmount" | "onVnodeUnmounted" | "onUpdate:modelValue" | "contentClass" | "activator" | "v-slot:activator" | "closeDelay" | "openDelay" | "contentProps" | "attach" | "onClick:outside" | ("absolute" | "location" | "origin" | "transition" | "zIndex" | "style" | "eager" | "disabled" | "persistent" | "modelValue" | "locationStrategy" | "scrollStrategy" | "activatorProps" | "openOnClick" | "openOnHover" | "openOnFocus" | "closeOnContentClick" | "closeOnBack" | "contained" | "noClickAnimation" | "scrim" | "_disableGlobalStack")>, `$${any}`> & {
2162
+ }> & {} & vue.ComponentCustomProperties & {}, "offset" | "key" | "height" | "width" | "maxHeight" | "maxWidth" | "minHeight" | "minWidth" | "opacity" | "target" | "class" | "theme" | "ref" | "onAfterEnter" | "onAfterLeave" | "onKeydown" | "$children" | "v-slots" | "v-slot:default" | "ref_for" | "ref_key" | "onVnodeBeforeMount" | "onVnodeMounted" | "onVnodeBeforeUpdate" | "onVnodeUpdated" | "onVnodeBeforeUnmount" | "onVnodeUnmounted" | "onUpdate:modelValue" | "contentClass" | "activator" | "v-slot:activator" | "closeDelay" | "openDelay" | "contentProps" | "attach" | "onClick:outside" | ("absolute" | "location" | "origin" | "transition" | "zIndex" | "style" | "eager" | "disabled" | "persistent" | "modelValue" | "locationStrategy" | "scrollStrategy" | "activatorProps" | "openOnClick" | "openOnHover" | "openOnFocus" | "closeOnContentClick" | "closeOnBack" | "contained" | "noClickAnimation" | "scrim" | "_disableGlobalStack")>, `$${any}`> & {
2153
2163
  _allExposed: {
2154
2164
  activatorEl: vue.Ref<HTMLElement | undefined>;
2155
2165
  scrimEl: vue.Ref<HTMLElement | undefined>;
@@ -2387,6 +2397,7 @@ declare const VMenu: {
2387
2397
  }) => vue.VNodeChild) | undefined;
2388
2398
  onAfterEnter?: (() => any) | undefined;
2389
2399
  onAfterLeave?: (() => any) | undefined;
2400
+ onKeydown?: ((e: KeyboardEvent) => any) | undefined;
2390
2401
  "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
2391
2402
  "onClick:outside"?: ((e: MouseEvent) => any) | undefined;
2392
2403
  } & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & {
@@ -2469,6 +2480,7 @@ declare const VMenu: {
2469
2480
  } & {
2470
2481
  onAfterEnter?: (() => any) | undefined;
2471
2482
  onAfterLeave?: (() => any) | undefined;
2483
+ onKeydown?: ((e: KeyboardEvent) => any) | undefined;
2472
2484
  "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
2473
2485
  "onClick:outside"?: ((e: MouseEvent) => any) | undefined;
2474
2486
  }, "absolute" | "location" | "origin" | "transition" | "zIndex" | "style" | "eager" | "disabled" | "persistent" | "modelValue" | "locationStrategy" | "scrollStrategy" | "activatorProps" | "openOnClick" | "openOnHover" | "openOnFocus" | "closeOnContentClick" | "closeOnBack" | "contained" | "noClickAnimation" | "scrim" | "_disableGlobalStack">;
@@ -2490,7 +2502,7 @@ declare const VMenu: {
2490
2502
  }>;
2491
2503
  $root: vue.ComponentPublicInstance | null;
2492
2504
  $parent: vue.ComponentPublicInstance | null;
2493
- $emit: ((event: "update:modelValue", value: boolean) => void) & ((event: "click:outside", e: MouseEvent) => void) & ((event: "afterEnter") => void) & ((event: "afterLeave") => void);
2505
+ $emit: ((event: "keydown", e: KeyboardEvent) => void) & ((event: "update:modelValue", value: boolean) => void) & ((event: "click:outside", e: MouseEvent) => void) & ((event: "afterEnter") => void) & ((event: "afterLeave") => void);
2494
2506
  $el: any;
2495
2507
  $options: vue.ComponentOptionsBase<{
2496
2508
  absolute: boolean;
@@ -2572,6 +2584,7 @@ declare const VMenu: {
2572
2584
  } & {
2573
2585
  onAfterEnter?: (() => any) | undefined;
2574
2586
  onAfterLeave?: (() => any) | undefined;
2587
+ onKeydown?: ((e: KeyboardEvent) => any) | undefined;
2575
2588
  "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
2576
2589
  "onClick:outside"?: ((e: MouseEvent) => any) | undefined;
2577
2590
  }, {
@@ -2586,6 +2599,7 @@ declare const VMenu: {
2586
2599
  }, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
2587
2600
  'click:outside': (e: MouseEvent) => true;
2588
2601
  'update:modelValue': (value: boolean) => true;
2602
+ keydown: (e: KeyboardEvent) => true;
2589
2603
  afterEnter: () => true;
2590
2604
  afterLeave: () => true;
2591
2605
  }, string, {
@@ -2724,6 +2738,7 @@ declare const VMenu: {
2724
2738
  } & {
2725
2739
  onAfterEnter?: (() => any) | undefined;
2726
2740
  onAfterLeave?: (() => any) | undefined;
2741
+ onKeydown?: ((e: KeyboardEvent) => any) | undefined;
2727
2742
  "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
2728
2743
  "onClick:outside"?: ((e: MouseEvent) => any) | undefined;
2729
2744
  }, "target" | "contentEl" | "activatorEl" | "scrimEl" | "animateClick" | "globalTop" | "localTop" | "updateLocation"> & vue.ShallowUnwrapRef<{
@@ -2735,7 +2750,7 @@ declare const VMenu: {
2735
2750
  globalTop: Readonly<vue.Ref<boolean>>;
2736
2751
  localTop: vue.ComputedRef<boolean>;
2737
2752
  updateLocation: vue.Ref<((e: Event) => void) | undefined>;
2738
- }> & {} & vue.ComponentCustomProperties & {}, "offset" | "key" | "height" | "width" | "maxHeight" | "maxWidth" | "minHeight" | "minWidth" | "opacity" | "target" | "class" | "theme" | "ref" | "onAfterEnter" | "onAfterLeave" | "$children" | "v-slots" | "v-slot:default" | "ref_for" | "ref_key" | "onVnodeBeforeMount" | "onVnodeMounted" | "onVnodeBeforeUpdate" | "onVnodeUpdated" | "onVnodeBeforeUnmount" | "onVnodeUnmounted" | "onUpdate:modelValue" | "contentClass" | "activator" | "v-slot:activator" | "closeDelay" | "openDelay" | "contentProps" | "attach" | "onClick:outside" | ("absolute" | "location" | "origin" | "transition" | "zIndex" | "style" | "eager" | "disabled" | "persistent" | "modelValue" | "locationStrategy" | "scrollStrategy" | "activatorProps" | "openOnClick" | "openOnHover" | "openOnFocus" | "closeOnContentClick" | "closeOnBack" | "contained" | "noClickAnimation" | "scrim" | "_disableGlobalStack")>, `$${any}`> & {
2753
+ }> & {} & vue.ComponentCustomProperties & {}, "offset" | "key" | "height" | "width" | "maxHeight" | "maxWidth" | "minHeight" | "minWidth" | "opacity" | "target" | "class" | "theme" | "ref" | "onAfterEnter" | "onAfterLeave" | "onKeydown" | "$children" | "v-slots" | "v-slot:default" | "ref_for" | "ref_key" | "onVnodeBeforeMount" | "onVnodeMounted" | "onVnodeBeforeUpdate" | "onVnodeUpdated" | "onVnodeBeforeUnmount" | "onVnodeUnmounted" | "onUpdate:modelValue" | "contentClass" | "activator" | "v-slot:activator" | "closeDelay" | "openDelay" | "contentProps" | "attach" | "onClick:outside" | ("absolute" | "location" | "origin" | "transition" | "zIndex" | "style" | "eager" | "disabled" | "persistent" | "modelValue" | "locationStrategy" | "scrollStrategy" | "activatorProps" | "openOnClick" | "openOnHover" | "openOnFocus" | "closeOnContentClick" | "closeOnBack" | "contained" | "noClickAnimation" | "scrim" | "_disableGlobalStack")>, `$${any}`> & {
2739
2754
  _allExposed: {
2740
2755
  activatorEl: vue.Ref<HTMLElement | undefined>;
2741
2756
  scrimEl: vue.Ref<HTMLElement | undefined>;