vuetify 3.7.15 → 3.7.16

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 (108) hide show
  1. package/dist/json/attributes.json +2932 -2928
  2. package/dist/json/importMap-labs.json +12 -12
  3. package/dist/json/importMap.json +164 -164
  4. package/dist/json/tags.json +3 -2
  5. package/dist/json/web-types.json +5470 -5438
  6. package/dist/vuetify-labs.css +2965 -2965
  7. package/dist/vuetify-labs.d.ts +438 -200
  8. package/dist/vuetify-labs.esm.js +155 -126
  9. package/dist/vuetify-labs.esm.js.map +1 -1
  10. package/dist/vuetify-labs.js +154 -125
  11. package/dist/vuetify-labs.min.css +2 -2
  12. package/dist/vuetify.css +4258 -4258
  13. package/dist/vuetify.d.ts +390 -210
  14. package/dist/vuetify.esm.js +101 -69
  15. package/dist/vuetify.esm.js.map +1 -1
  16. package/dist/vuetify.js +100 -68
  17. package/dist/vuetify.js.map +1 -1
  18. package/dist/vuetify.min.css +2 -2
  19. package/dist/vuetify.min.js +227 -225
  20. package/dist/vuetify.min.js.map +1 -1
  21. package/lib/components/VAppBar/index.d.mts +15 -6
  22. package/lib/components/VAutocomplete/index.d.mts +23 -8
  23. package/lib/components/VBadge/VBadge.mjs +2 -2
  24. package/lib/components/VBadge/VBadge.mjs.map +1 -1
  25. package/lib/components/VBtn/VBtn.mjs +6 -3
  26. package/lib/components/VBtn/VBtn.mjs.map +1 -1
  27. package/lib/components/VBtn/index.d.mts +15 -6
  28. package/lib/components/VCard/VCard.mjs +12 -3
  29. package/lib/components/VCard/VCard.mjs.map +1 -1
  30. package/lib/components/VCard/VCardItem.mjs +11 -4
  31. package/lib/components/VCard/VCardItem.mjs.map +1 -1
  32. package/lib/components/VCard/index.d.mts +75 -30
  33. package/lib/components/VCarousel/VCarousel.mjs +1 -1
  34. package/lib/components/VCarousel/VCarousel.mjs.map +1 -1
  35. package/lib/components/VChip/VChip.mjs +6 -3
  36. package/lib/components/VChip/VChip.mjs.map +1 -1
  37. package/lib/components/VChip/index.d.mts +15 -6
  38. package/lib/components/VCombobox/index.d.mts +23 -8
  39. package/lib/components/VDataIterator/index.d.mts +2 -2
  40. package/lib/components/VDataTable/composables/headers.mjs +3 -1
  41. package/lib/components/VDataTable/composables/headers.mjs.map +1 -1
  42. package/lib/components/VDataTable/composables/paginate.mjs +2 -2
  43. package/lib/components/VDataTable/composables/paginate.mjs.map +1 -1
  44. package/lib/components/VDataTable/index.d.mts +34 -34
  45. package/lib/components/VDataTable/types.mjs.map +1 -1
  46. package/lib/components/VDatePicker/VDatePickerMonth.mjs +12 -21
  47. package/lib/components/VDatePicker/VDatePickerMonth.mjs.map +1 -1
  48. package/lib/components/VDatePicker/index.d.mts +3 -3
  49. package/lib/components/VDialog/index.d.mts +21 -6
  50. package/lib/components/VFab/index.d.mts +15 -6
  51. package/lib/components/VList/VListItem.mjs +11 -5
  52. package/lib/components/VList/VListItem.mjs.map +1 -1
  53. package/lib/components/VList/index.d.mts +32 -14
  54. package/lib/components/VMenu/index.d.mts +21 -6
  55. package/lib/components/VOverlay/VOverlay.mjs +10 -1
  56. package/lib/components/VOverlay/VOverlay.mjs.map +1 -1
  57. package/lib/components/VOverlay/index.d.mts +6 -0
  58. package/lib/components/VPagination/VPagination.mjs +3 -3
  59. package/lib/components/VPagination/VPagination.mjs.map +1 -1
  60. package/lib/components/VParallax/VParallax.mjs +1 -1
  61. package/lib/components/VParallax/VParallax.mjs.map +1 -1
  62. package/lib/components/VRating/VRating.mjs +1 -1
  63. package/lib/components/VRating/VRating.mjs.map +1 -1
  64. package/lib/components/VSelect/index.d.mts +23 -8
  65. package/lib/components/VSlider/slider.mjs +1 -1
  66. package/lib/components/VSlider/slider.mjs.map +1 -1
  67. package/lib/components/VSnackbar/index.d.mts +21 -6
  68. package/lib/components/VSparkline/VBarline.mjs +1 -1
  69. package/lib/components/VSparkline/VBarline.mjs.map +1 -1
  70. package/lib/components/VTabs/index.d.mts +39 -24
  71. package/lib/components/VTextarea/VTextarea.mjs +2 -2
  72. package/lib/components/VTextarea/VTextarea.mjs.map +1 -1
  73. package/lib/components/VTooltip/index.d.mts +21 -6
  74. package/lib/components/index.d.mts +333 -153
  75. package/lib/composables/stack.mjs +2 -2
  76. package/lib/composables/stack.mjs.map +1 -1
  77. package/lib/composables/validation.mjs +2 -2
  78. package/lib/composables/validation.mjs.map +1 -1
  79. package/lib/entry-bundler.mjs +1 -1
  80. package/lib/framework.mjs +1 -1
  81. package/lib/index.d.mts +57 -57
  82. package/lib/labs/VDateInput/VDateInput.mjs +3 -2
  83. package/lib/labs/VDateInput/VDateInput.mjs.map +1 -1
  84. package/lib/labs/VDateInput/index.d.mts +10 -10
  85. package/lib/labs/VFileUpload/VFileUpload.mjs +3 -2
  86. package/lib/labs/VFileUpload/VFileUpload.mjs.map +1 -1
  87. package/lib/labs/VFileUpload/index.d.mts +32 -14
  88. package/lib/labs/VNumberInput/VNumberInput.mjs +5 -5
  89. package/lib/labs/VNumberInput/VNumberInput.mjs.map +1 -1
  90. package/lib/labs/VSnackbarQueue/index.d.mts +21 -6
  91. package/lib/labs/VTimePicker/VTimePicker.mjs +30 -31
  92. package/lib/labs/VTimePicker/VTimePicker.mjs.map +1 -1
  93. package/lib/labs/VTimePicker/VTimePickerControls.mjs +14 -13
  94. package/lib/labs/VTimePicker/VTimePickerControls.mjs.map +1 -1
  95. package/lib/labs/VTimePicker/index.d.mts +35 -13
  96. package/lib/labs/VTimePicker/shared.mjs +2 -0
  97. package/lib/labs/VTimePicker/shared.mjs.map +1 -0
  98. package/lib/labs/VTreeview/index.d.mts +32 -14
  99. package/lib/labs/components.d.mts +128 -55
  100. package/lib/locale/adapters/vuetify.mjs +1 -1
  101. package/lib/locale/adapters/vuetify.mjs.map +1 -1
  102. package/lib/util/animation.mjs +8 -8
  103. package/lib/util/animation.mjs.map +1 -1
  104. package/lib/util/helpers.mjs +6 -4
  105. package/lib/util/helpers.mjs.map +1 -1
  106. package/package.json +2 -2
  107. package/lib/labs/VTimePicker/SelectingTimes.mjs +0 -10
  108. package/lib/labs/VTimePicker/SelectingTimes.mjs.map +0 -1
@@ -107,7 +107,7 @@ declare const VFab: {
107
107
  position?: "fixed" | "absolute" | "relative" | "static" | "sticky" | undefined;
108
108
  value?: any;
109
109
  loading?: string | boolean | undefined;
110
- text?: string | undefined;
110
+ text?: string | number | boolean | undefined;
111
111
  class?: any;
112
112
  theme?: string | undefined;
113
113
  to?: string | vue_router.RouteLocationAsRelativeGeneric | vue_router.RouteLocationAsPathGeneric | undefined;
@@ -178,7 +178,7 @@ declare const VFab: {
178
178
  position?: "fixed" | "absolute" | "relative" | "static" | "sticky" | undefined;
179
179
  value?: any;
180
180
  loading?: string | boolean | undefined;
181
- text?: string | undefined;
181
+ text?: string | number | boolean | undefined;
182
182
  class?: any;
183
183
  theme?: string | undefined;
184
184
  to?: string | vue_router.RouteLocationAsRelativeGeneric | vue_router.RouteLocationAsPathGeneric | undefined;
@@ -217,6 +217,7 @@ declare const VFab: {
217
217
  component?: vue.Component;
218
218
  });
219
219
  style: vue.StyleValue;
220
+ text: string | number | boolean;
220
221
  disabled: boolean;
221
222
  size: string | number;
222
223
  readonly: boolean;
@@ -288,7 +289,7 @@ declare const VFab: {
288
289
  position?: "fixed" | "absolute" | "relative" | "static" | "sticky" | undefined;
289
290
  value?: any;
290
291
  loading?: string | boolean | undefined;
291
- text?: string | undefined;
292
+ text?: string | number | boolean | undefined;
292
293
  class?: any;
293
294
  theme?: string | undefined;
294
295
  to?: string | vue_router.RouteLocationAsRelativeGeneric | vue_router.RouteLocationAsPathGeneric | undefined;
@@ -327,6 +328,7 @@ declare const VFab: {
327
328
  component?: vue.Component;
328
329
  });
329
330
  style: vue.StyleValue;
331
+ text: string | number | boolean;
330
332
  disabled: boolean;
331
333
  size: string | number;
332
334
  readonly: boolean;
@@ -393,7 +395,7 @@ declare const VFab: {
393
395
  position?: "fixed" | "absolute" | "relative" | "static" | "sticky" | undefined;
394
396
  value?: any;
395
397
  loading?: string | boolean | undefined;
396
- text?: string | undefined;
398
+ text?: string | number | boolean | undefined;
397
399
  class?: any;
398
400
  theme?: string | undefined;
399
401
  to?: string | vue_router.RouteLocationAsRelativeGeneric | vue_router.RouteLocationAsPathGeneric | undefined;
@@ -434,6 +436,7 @@ declare const VFab: {
434
436
  component?: vue.Component;
435
437
  });
436
438
  style: vue.StyleValue;
439
+ text: string | number | boolean;
437
440
  disabled: boolean;
438
441
  size: string | number;
439
442
  readonly: boolean;
@@ -518,7 +521,10 @@ declare const VFab: {
518
521
  type: vue.PropType<vue.StyleValue>;
519
522
  default: null;
520
523
  };
521
- text: StringConstructor;
524
+ text: {
525
+ type: (StringConstructor | BooleanConstructor | NumberConstructor)[];
526
+ default: undefined;
527
+ };
522
528
  disabled: BooleanConstructor;
523
529
  size: {
524
530
  type: (StringConstructor | NumberConstructor)[];
@@ -636,7 +642,10 @@ declare const VFab: {
636
642
  type: vue.PropType<vue.StyleValue>;
637
643
  default: null;
638
644
  };
639
- text: StringConstructor;
645
+ text: {
646
+ type: (StringConstructor | BooleanConstructor | NumberConstructor)[];
647
+ default: undefined;
648
+ };
640
649
  disabled: BooleanConstructor;
641
650
  size: {
642
651
  type: (StringConstructor | NumberConstructor)[];
@@ -22,7 +22,7 @@ import { makeTagProps } from "../../composables/tag.mjs";
22
22
  import { makeThemeProps, provideTheme } from "../../composables/theme.mjs";
23
23
  import { genOverlays, makeVariantProps, useVariant } from "../../composables/variant.mjs"; // Directives
24
24
  import { Ripple } from "../../directives/ripple/index.mjs"; // Utilities
25
- import { computed, onBeforeMount, watch } from 'vue';
25
+ import { computed, onBeforeMount, toDisplayString, watch } from 'vue';
26
26
  import { deprecate, EventProp, genericComponent, propsFactory, useRender } from "../../util/index.mjs"; // Types
27
27
  export const makeVListItemProps = propsFactory({
28
28
  active: {
@@ -49,8 +49,14 @@ export const makeVListItemProps = propsFactory({
49
49
  default: true
50
50
  },
51
51
  slim: Boolean,
52
- subtitle: [String, Number],
53
- title: [String, Number],
52
+ subtitle: {
53
+ type: [String, Number, Boolean],
54
+ default: undefined
55
+ },
56
+ title: {
57
+ type: [String, Number, Boolean],
58
+ default: undefined
59
+ },
54
60
  value: null,
55
61
  onClick: EventProp(),
56
62
  onClickOnce: EventProp(),
@@ -243,13 +249,13 @@ export const VListItem = genericComponent()({
243
249
  }, {
244
250
  default: () => [slots.title?.({
245
251
  title: props.title
246
- }) ?? props.title]
252
+ }) ?? toDisplayString(props.title)]
247
253
  }), hasSubtitle && _createVNode(VListItemSubtitle, {
248
254
  "key": "subtitle"
249
255
  }, {
250
256
  default: () => [slots.subtitle?.({
251
257
  subtitle: props.subtitle
252
- }) ?? props.subtitle]
258
+ }) ?? toDisplayString(props.subtitle)]
253
259
  }), slots.default?.(slotProps.value)]), hasAppend && _createVNode("div", {
254
260
  "key": "append",
255
261
  "class": "v-list-item__append"
@@ -1 +1 @@
1
- {"version":3,"file":"VListItem.mjs","names":["VListItemSubtitle","VListItemTitle","VAvatar","VDefaultsProvider","VIcon","useList","makeBorderProps","useBorder","makeComponentProps","makeDensityProps","useDensity","makeDimensionProps","useDimension","makeElevationProps","useElevation","IconValue","useNestedItem","makeRoundedProps","useRounded","makeRouterProps","useLink","makeTagProps","makeThemeProps","provideTheme","genOverlays","makeVariantProps","useVariant","Ripple","computed","onBeforeMount","watch","deprecate","EventProp","genericComponent","propsFactory","useRender","makeVListItemProps","active","type","Boolean","default","undefined","activeClass","String","activeColor","appendAvatar","appendIcon","baseColor","disabled","lines","link","nav","prependAvatar","prependIcon","ripple","Object","slim","subtitle","Number","title","value","onClick","onClickOnce","variant","VListItem","name","directives","props","emits","click","e","setup","_ref","attrs","slots","emit","id","href","activate","isActivated","select","isOpen","isSelected","isIndeterminate","isGroupActivator","root","parent","openOnSelect","uid","list","isActive","activatable","isLink","isSelectable","selectable","isClickable","roundedProps","rounded","color","variantProps","val","handleActiveLink","open","themeClasses","borderClasses","colorClasses","colorStyles","variantClasses","densityClasses","dimensionStyles","elevationClasses","roundedClasses","lineClasses","slotProps","navigate","onKeyDown","target","includes","tagName","key","preventDefault","dispatchEvent","MouseEvent","Tag","tag","hasTitle","hasSubtitle","hasAppendMedia","hasAppend","append","hasPrependMedia","hasPrepend","prepend","updateHasPrepend","_withDirectives","_createVNode","_mergeProps","class","style","linkProps","_Fragment","density","image","icon","VListItemAction","start","end","_resolveDirective"],"sources":["../../../src/components/VList/VListItem.tsx"],"sourcesContent":["// Styles\nimport './VListItem.sass'\n\n// Components\nimport { VListItemSubtitle } from './VListItemSubtitle'\nimport { VListItemTitle } from './VListItemTitle'\nimport { VAvatar } from '@/components/VAvatar'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VIcon } from '@/components/VIcon'\n\n// Composables\nimport { useList } from './list'\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeComponentProps } from '@/composables/component'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { IconValue } from '@/composables/icons'\nimport { useNestedItem } from '@/composables/nested/nested'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeRouterProps, useLink } from '@/composables/router'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { genOverlays, makeVariantProps, useVariant } from '@/composables/variant'\n\n// Directives\nimport { Ripple } from '@/directives/ripple'\n\n// Utilities\nimport { computed, onBeforeMount, watch } from 'vue'\nimport { deprecate, EventProp, genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { RippleDirectiveBinding } from '@/directives/ripple'\n\nexport type ListItemSlot = {\n isActive: boolean\n isOpen: boolean\n isSelected: boolean\n isIndeterminate: boolean\n select: (value: boolean) => void\n}\n\nexport type ListItemTitleSlot = {\n title?: string | number\n}\n\nexport type ListItemSubtitleSlot = {\n subtitle?: string | number\n}\n\nexport type VListItemSlots = {\n prepend: ListItemSlot\n append: ListItemSlot\n default: ListItemSlot\n title: ListItemTitleSlot\n subtitle: ListItemSubtitleSlot\n}\n\nexport const makeVListItemProps = propsFactory({\n active: {\n type: Boolean,\n default: undefined,\n },\n activeClass: String,\n /* @deprecated */\n activeColor: String,\n appendAvatar: String,\n appendIcon: IconValue,\n baseColor: String,\n disabled: Boolean,\n lines: [Boolean, String] as PropType<'one' | 'two' | 'three' | false>,\n link: {\n type: Boolean,\n default: undefined,\n },\n nav: Boolean,\n prependAvatar: String,\n prependIcon: IconValue,\n ripple: {\n type: [Boolean, Object] as PropType<RippleDirectiveBinding['value']>,\n default: true,\n },\n slim: Boolean,\n subtitle: [String, Number],\n title: [String, Number],\n value: null,\n\n onClick: EventProp<[MouseEvent | KeyboardEvent]>(),\n onClickOnce: EventProp<[MouseEvent]>(),\n\n ...makeBorderProps(),\n ...makeComponentProps(),\n ...makeDensityProps(),\n ...makeDimensionProps(),\n ...makeElevationProps(),\n ...makeRoundedProps(),\n ...makeRouterProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n ...makeVariantProps({ variant: 'text' } as const),\n}, 'VListItem')\n\nexport const VListItem = genericComponent<VListItemSlots>()({\n name: 'VListItem',\n\n directives: { Ripple },\n\n props: makeVListItemProps(),\n\n emits: {\n click: (e: MouseEvent | KeyboardEvent) => true,\n },\n\n setup (props, { attrs, slots, emit }) {\n const link = useLink(props, attrs)\n const id = computed(() => props.value === undefined ? link.href.value : props.value)\n const {\n activate,\n isActivated,\n select,\n isOpen,\n isSelected,\n isIndeterminate,\n isGroupActivator,\n root,\n parent,\n openOnSelect,\n id: uid,\n } = useNestedItem(id, false)\n const list = useList()\n const isActive = computed(() =>\n props.active !== false &&\n (props.active || link.isActive?.value || (root.activatable.value ? isActivated.value : isSelected.value))\n )\n const isLink = computed(() => props.link !== false && link.isLink.value)\n const isSelectable = computed(() => (!!list && (root.selectable.value || root.activatable.value || props.value != null)))\n const isClickable = computed(() =>\n !props.disabled &&\n props.link !== false &&\n (props.link || link.isClickable.value || isSelectable.value)\n )\n\n const roundedProps = computed(() => props.rounded || props.nav)\n const color = computed(() => props.color ?? props.activeColor)\n const variantProps = computed(() => ({\n color: isActive.value ? color.value ?? props.baseColor : props.baseColor,\n variant: props.variant,\n }))\n\n // useNestedItem doesn't call register until beforeMount,\n // so this can't be an immediate watcher as we don't know parent yet\n watch(() => link.isActive?.value, val => {\n if (!val) return\n handleActiveLink()\n })\n onBeforeMount(() => {\n if (link.isActive?.value) handleActiveLink()\n })\n function handleActiveLink () {\n if (parent.value != null) {\n root.open(parent.value, true)\n }\n openOnSelect(true)\n }\n\n const { themeClasses } = provideTheme(props)\n const { borderClasses } = useBorder(props)\n const { colorClasses, colorStyles, variantClasses } = useVariant(variantProps)\n const { densityClasses } = useDensity(props)\n const { dimensionStyles } = useDimension(props)\n const { elevationClasses } = useElevation(props)\n const { roundedClasses } = useRounded(roundedProps)\n const lineClasses = computed(() => props.lines ? `v-list-item--${props.lines}-line` : undefined)\n\n const slotProps = computed(() => ({\n isActive: isActive.value,\n select,\n isOpen: isOpen.value,\n isSelected: isSelected.value,\n isIndeterminate: isIndeterminate.value,\n } satisfies ListItemSlot))\n\n function onClick (e: MouseEvent) {\n emit('click', e)\n\n if (!isClickable.value) return\n\n link.navigate?.(e)\n\n if (isGroupActivator) return\n\n if (root.activatable.value) {\n activate(!isActivated.value, e)\n } else if (root.selectable.value) {\n select(!isSelected.value, e)\n } else if (props.value != null) {\n select(!isSelected.value, e)\n }\n }\n\n function onKeyDown (e: KeyboardEvent) {\n const target = e.target as HTMLElement\n\n if (['INPUT', 'TEXTAREA'].includes(target.tagName)) return\n\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault()\n e.target!.dispatchEvent(new MouseEvent('click', e))\n }\n }\n\n useRender(() => {\n const Tag = isLink.value ? 'a' : props.tag\n const hasTitle = (slots.title || props.title != null)\n const hasSubtitle = (slots.subtitle || props.subtitle != null)\n const hasAppendMedia = !!(props.appendAvatar || props.appendIcon)\n const hasAppend = !!(hasAppendMedia || slots.append)\n const hasPrependMedia = !!(props.prependAvatar || props.prependIcon)\n const hasPrepend = !!(hasPrependMedia || slots.prepend)\n\n list?.updateHasPrepend(hasPrepend)\n\n if (props.activeColor) {\n deprecate('active-color', ['color', 'base-color'])\n }\n\n return (\n <Tag\n class={[\n 'v-list-item',\n {\n 'v-list-item--active': isActive.value,\n 'v-list-item--disabled': props.disabled,\n 'v-list-item--link': isClickable.value,\n 'v-list-item--nav': props.nav,\n 'v-list-item--prepend': !hasPrepend && list?.hasPrepend.value,\n 'v-list-item--slim': props.slim,\n [`${props.activeClass}`]: props.activeClass && isActive.value,\n },\n themeClasses.value,\n borderClasses.value,\n colorClasses.value,\n densityClasses.value,\n elevationClasses.value,\n lineClasses.value,\n roundedClasses.value,\n variantClasses.value,\n props.class,\n ]}\n style={[\n colorStyles.value,\n dimensionStyles.value,\n props.style,\n ]}\n tabindex={ isClickable.value ? (list ? -2 : 0) : undefined }\n aria-selected={\n isSelectable.value ? (\n root.activatable.value ? isActivated.value\n : root.selectable.value ? isSelected.value\n : isActive.value\n ) : undefined\n }\n onClick={ onClick }\n onKeydown={ isClickable.value && !isLink.value && onKeyDown }\n v-ripple={ isClickable.value && props.ripple }\n { ...link.linkProps }\n >\n { genOverlays(isClickable.value || isActive.value, 'v-list-item') }\n\n { hasPrepend && (\n <div key=\"prepend\" class=\"v-list-item__prepend\">\n { !slots.prepend ? (\n <>\n { props.prependAvatar && (\n <VAvatar\n key=\"prepend-avatar\"\n density={ props.density }\n image={ props.prependAvatar }\n />\n )}\n\n { props.prependIcon && (\n <VIcon\n key=\"prepend-icon\"\n density={ props.density }\n icon={ props.prependIcon }\n />\n )}\n </>\n ) : (\n <VDefaultsProvider\n key=\"prepend-defaults\"\n disabled={ !hasPrependMedia }\n defaults={{\n VAvatar: {\n density: props.density,\n image: props.prependAvatar,\n },\n VIcon: {\n density: props.density,\n icon: props.prependIcon,\n },\n VListItemAction: {\n start: true,\n },\n }}\n >\n { slots.prepend?.(slotProps.value) }\n </VDefaultsProvider>\n )}\n\n <div class=\"v-list-item__spacer\" />\n </div>\n )}\n\n <div class=\"v-list-item__content\" data-no-activator=\"\">\n { hasTitle && (\n <VListItemTitle key=\"title\">\n { slots.title?.({ title: props.title }) ?? props.title }\n </VListItemTitle>\n )}\n\n { hasSubtitle && (\n <VListItemSubtitle key=\"subtitle\">\n { slots.subtitle?.({ subtitle: props.subtitle }) ?? props.subtitle }\n </VListItemSubtitle>\n )}\n\n { slots.default?.(slotProps.value) }\n </div>\n\n { hasAppend && (\n <div key=\"append\" class=\"v-list-item__append\">\n { !slots.append ? (\n <>\n { props.appendIcon && (\n <VIcon\n key=\"append-icon\"\n density={ props.density }\n icon={ props.appendIcon }\n />\n )}\n\n { props.appendAvatar && (\n <VAvatar\n key=\"append-avatar\"\n density={ props.density }\n image={ props.appendAvatar }\n />\n )}\n </>\n ) : (\n <VDefaultsProvider\n key=\"append-defaults\"\n disabled={ !hasAppendMedia }\n defaults={{\n VAvatar: {\n density: props.density,\n image: props.appendAvatar,\n },\n VIcon: {\n density: props.density,\n icon: props.appendIcon,\n },\n VListItemAction: {\n end: true,\n },\n }}\n >\n { slots.append?.(slotProps.value) }\n </VDefaultsProvider>\n )}\n\n <div class=\"v-list-item__spacer\" />\n </div>\n )}\n </Tag>\n )\n })\n\n return {\n activate,\n isActivated,\n isGroupActivator,\n isSelected,\n list,\n select,\n root,\n id: uid,\n link,\n }\n },\n})\n\nexport type VListItem = InstanceType<typeof VListItem>\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"VListItem.mjs","names":["VListItemSubtitle","VListItemTitle","VAvatar","VDefaultsProvider","VIcon","useList","makeBorderProps","useBorder","makeComponentProps","makeDensityProps","useDensity","makeDimensionProps","useDimension","makeElevationProps","useElevation","IconValue","useNestedItem","makeRoundedProps","useRounded","makeRouterProps","useLink","makeTagProps","makeThemeProps","provideTheme","genOverlays","makeVariantProps","useVariant","Ripple","computed","onBeforeMount","toDisplayString","watch","deprecate","EventProp","genericComponent","propsFactory","useRender","makeVListItemProps","active","type","Boolean","default","undefined","activeClass","String","activeColor","appendAvatar","appendIcon","baseColor","disabled","lines","link","nav","prependAvatar","prependIcon","ripple","Object","slim","subtitle","Number","title","value","onClick","onClickOnce","variant","VListItem","name","directives","props","emits","click","e","setup","_ref","attrs","slots","emit","id","href","activate","isActivated","select","isOpen","isSelected","isIndeterminate","isGroupActivator","root","parent","openOnSelect","uid","list","isActive","activatable","isLink","isSelectable","selectable","isClickable","roundedProps","rounded","color","variantProps","val","handleActiveLink","open","themeClasses","borderClasses","colorClasses","colorStyles","variantClasses","densityClasses","dimensionStyles","elevationClasses","roundedClasses","lineClasses","slotProps","navigate","onKeyDown","target","includes","tagName","key","preventDefault","dispatchEvent","MouseEvent","Tag","tag","hasTitle","hasSubtitle","hasAppendMedia","hasAppend","append","hasPrependMedia","hasPrepend","prepend","updateHasPrepend","_withDirectives","_createVNode","_mergeProps","class","style","linkProps","_Fragment","density","image","icon","VListItemAction","start","end","_resolveDirective"],"sources":["../../../src/components/VList/VListItem.tsx"],"sourcesContent":["// Styles\nimport './VListItem.sass'\n\n// Components\nimport { VListItemSubtitle } from './VListItemSubtitle'\nimport { VListItemTitle } from './VListItemTitle'\nimport { VAvatar } from '@/components/VAvatar'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VIcon } from '@/components/VIcon'\n\n// Composables\nimport { useList } from './list'\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeComponentProps } from '@/composables/component'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { IconValue } from '@/composables/icons'\nimport { useNestedItem } from '@/composables/nested/nested'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeRouterProps, useLink } from '@/composables/router'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { genOverlays, makeVariantProps, useVariant } from '@/composables/variant'\n\n// Directives\nimport { Ripple } from '@/directives/ripple'\n\n// Utilities\nimport { computed, onBeforeMount, toDisplayString, watch } from 'vue'\nimport { deprecate, EventProp, genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { RippleDirectiveBinding } from '@/directives/ripple'\n\nexport type ListItemSlot = {\n isActive: boolean\n isOpen: boolean\n isSelected: boolean\n isIndeterminate: boolean\n select: (value: boolean) => void\n}\n\nexport type ListItemTitleSlot = {\n title?: string | number | boolean\n}\n\nexport type ListItemSubtitleSlot = {\n subtitle?: string | number | boolean\n}\n\nexport type VListItemSlots = {\n prepend: ListItemSlot\n append: ListItemSlot\n default: ListItemSlot\n title: ListItemTitleSlot\n subtitle: ListItemSubtitleSlot\n}\n\nexport const makeVListItemProps = propsFactory({\n active: {\n type: Boolean,\n default: undefined,\n },\n activeClass: String,\n /* @deprecated */\n activeColor: String,\n appendAvatar: String,\n appendIcon: IconValue,\n baseColor: String,\n disabled: Boolean,\n lines: [Boolean, String] as PropType<'one' | 'two' | 'three' | false>,\n link: {\n type: Boolean,\n default: undefined,\n },\n nav: Boolean,\n prependAvatar: String,\n prependIcon: IconValue,\n ripple: {\n type: [Boolean, Object] as PropType<RippleDirectiveBinding['value']>,\n default: true,\n },\n slim: Boolean,\n subtitle: {\n type: [String, Number, Boolean],\n default: undefined,\n },\n title: {\n type: [String, Number, Boolean],\n default: undefined,\n },\n value: null,\n\n onClick: EventProp<[MouseEvent | KeyboardEvent]>(),\n onClickOnce: EventProp<[MouseEvent]>(),\n\n ...makeBorderProps(),\n ...makeComponentProps(),\n ...makeDensityProps(),\n ...makeDimensionProps(),\n ...makeElevationProps(),\n ...makeRoundedProps(),\n ...makeRouterProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n ...makeVariantProps({ variant: 'text' } as const),\n}, 'VListItem')\n\nexport const VListItem = genericComponent<VListItemSlots>()({\n name: 'VListItem',\n\n directives: { Ripple },\n\n props: makeVListItemProps(),\n\n emits: {\n click: (e: MouseEvent | KeyboardEvent) => true,\n },\n\n setup (props, { attrs, slots, emit }) {\n const link = useLink(props, attrs)\n const id = computed(() => props.value === undefined ? link.href.value : props.value)\n const {\n activate,\n isActivated,\n select,\n isOpen,\n isSelected,\n isIndeterminate,\n isGroupActivator,\n root,\n parent,\n openOnSelect,\n id: uid,\n } = useNestedItem(id, false)\n const list = useList()\n const isActive = computed(() =>\n props.active !== false &&\n (props.active || link.isActive?.value || (root.activatable.value ? isActivated.value : isSelected.value))\n )\n const isLink = computed(() => props.link !== false && link.isLink.value)\n const isSelectable = computed(() => (!!list && (root.selectable.value || root.activatable.value || props.value != null)))\n const isClickable = computed(() =>\n !props.disabled &&\n props.link !== false &&\n (props.link || link.isClickable.value || isSelectable.value)\n )\n\n const roundedProps = computed(() => props.rounded || props.nav)\n const color = computed(() => props.color ?? props.activeColor)\n const variantProps = computed(() => ({\n color: isActive.value ? color.value ?? props.baseColor : props.baseColor,\n variant: props.variant,\n }))\n\n // useNestedItem doesn't call register until beforeMount,\n // so this can't be an immediate watcher as we don't know parent yet\n watch(() => link.isActive?.value, val => {\n if (!val) return\n handleActiveLink()\n })\n onBeforeMount(() => {\n if (link.isActive?.value) handleActiveLink()\n })\n function handleActiveLink () {\n if (parent.value != null) {\n root.open(parent.value, true)\n }\n openOnSelect(true)\n }\n\n const { themeClasses } = provideTheme(props)\n const { borderClasses } = useBorder(props)\n const { colorClasses, colorStyles, variantClasses } = useVariant(variantProps)\n const { densityClasses } = useDensity(props)\n const { dimensionStyles } = useDimension(props)\n const { elevationClasses } = useElevation(props)\n const { roundedClasses } = useRounded(roundedProps)\n const lineClasses = computed(() => props.lines ? `v-list-item--${props.lines}-line` : undefined)\n\n const slotProps = computed(() => ({\n isActive: isActive.value,\n select,\n isOpen: isOpen.value,\n isSelected: isSelected.value,\n isIndeterminate: isIndeterminate.value,\n } satisfies ListItemSlot))\n\n function onClick (e: MouseEvent) {\n emit('click', e)\n\n if (!isClickable.value) return\n\n link.navigate?.(e)\n\n if (isGroupActivator) return\n\n if (root.activatable.value) {\n activate(!isActivated.value, e)\n } else if (root.selectable.value) {\n select(!isSelected.value, e)\n } else if (props.value != null) {\n select(!isSelected.value, e)\n }\n }\n\n function onKeyDown (e: KeyboardEvent) {\n const target = e.target as HTMLElement\n\n if (['INPUT', 'TEXTAREA'].includes(target.tagName)) return\n\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault()\n e.target!.dispatchEvent(new MouseEvent('click', e))\n }\n }\n\n useRender(() => {\n const Tag = isLink.value ? 'a' : props.tag\n const hasTitle = (slots.title || props.title != null)\n const hasSubtitle = (slots.subtitle || props.subtitle != null)\n const hasAppendMedia = !!(props.appendAvatar || props.appendIcon)\n const hasAppend = !!(hasAppendMedia || slots.append)\n const hasPrependMedia = !!(props.prependAvatar || props.prependIcon)\n const hasPrepend = !!(hasPrependMedia || slots.prepend)\n\n list?.updateHasPrepend(hasPrepend)\n\n if (props.activeColor) {\n deprecate('active-color', ['color', 'base-color'])\n }\n\n return (\n <Tag\n class={[\n 'v-list-item',\n {\n 'v-list-item--active': isActive.value,\n 'v-list-item--disabled': props.disabled,\n 'v-list-item--link': isClickable.value,\n 'v-list-item--nav': props.nav,\n 'v-list-item--prepend': !hasPrepend && list?.hasPrepend.value,\n 'v-list-item--slim': props.slim,\n [`${props.activeClass}`]: props.activeClass && isActive.value,\n },\n themeClasses.value,\n borderClasses.value,\n colorClasses.value,\n densityClasses.value,\n elevationClasses.value,\n lineClasses.value,\n roundedClasses.value,\n variantClasses.value,\n props.class,\n ]}\n style={[\n colorStyles.value,\n dimensionStyles.value,\n props.style,\n ]}\n tabindex={ isClickable.value ? (list ? -2 : 0) : undefined }\n aria-selected={\n isSelectable.value ? (\n root.activatable.value ? isActivated.value\n : root.selectable.value ? isSelected.value\n : isActive.value\n ) : undefined\n }\n onClick={ onClick }\n onKeydown={ isClickable.value && !isLink.value && onKeyDown }\n v-ripple={ isClickable.value && props.ripple }\n { ...link.linkProps }\n >\n { genOverlays(isClickable.value || isActive.value, 'v-list-item') }\n\n { hasPrepend && (\n <div key=\"prepend\" class=\"v-list-item__prepend\">\n { !slots.prepend ? (\n <>\n { props.prependAvatar && (\n <VAvatar\n key=\"prepend-avatar\"\n density={ props.density }\n image={ props.prependAvatar }\n />\n )}\n\n { props.prependIcon && (\n <VIcon\n key=\"prepend-icon\"\n density={ props.density }\n icon={ props.prependIcon }\n />\n )}\n </>\n ) : (\n <VDefaultsProvider\n key=\"prepend-defaults\"\n disabled={ !hasPrependMedia }\n defaults={{\n VAvatar: {\n density: props.density,\n image: props.prependAvatar,\n },\n VIcon: {\n density: props.density,\n icon: props.prependIcon,\n },\n VListItemAction: {\n start: true,\n },\n }}\n >\n { slots.prepend?.(slotProps.value) }\n </VDefaultsProvider>\n )}\n\n <div class=\"v-list-item__spacer\" />\n </div>\n )}\n\n <div class=\"v-list-item__content\" data-no-activator=\"\">\n { hasTitle && (\n <VListItemTitle key=\"title\">\n { slots.title?.({ title: props.title }) ?? toDisplayString(props.title) }\n </VListItemTitle>\n )}\n\n { hasSubtitle && (\n <VListItemSubtitle key=\"subtitle\">\n { slots.subtitle?.({ subtitle: props.subtitle }) ?? toDisplayString(props.subtitle) }\n </VListItemSubtitle>\n )}\n\n { slots.default?.(slotProps.value) }\n </div>\n\n { hasAppend && (\n <div key=\"append\" class=\"v-list-item__append\">\n { !slots.append ? (\n <>\n { props.appendIcon && (\n <VIcon\n key=\"append-icon\"\n density={ props.density }\n icon={ props.appendIcon }\n />\n )}\n\n { props.appendAvatar && (\n <VAvatar\n key=\"append-avatar\"\n density={ props.density }\n image={ props.appendAvatar }\n />\n )}\n </>\n ) : (\n <VDefaultsProvider\n key=\"append-defaults\"\n disabled={ !hasAppendMedia }\n defaults={{\n VAvatar: {\n density: props.density,\n image: props.appendAvatar,\n },\n VIcon: {\n density: props.density,\n icon: props.appendIcon,\n },\n VListItemAction: {\n end: true,\n },\n }}\n >\n { slots.append?.(slotProps.value) }\n </VDefaultsProvider>\n )}\n\n <div class=\"v-list-item__spacer\" />\n </div>\n )}\n </Tag>\n )\n })\n\n return {\n activate,\n isActivated,\n isGroupActivator,\n isSelected,\n list,\n select,\n root,\n id: uid,\n link,\n }\n },\n})\n\nexport type VListItem = InstanceType<typeof VListItem>\n"],"mappings":"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","ignoreList":[]}
@@ -76,10 +76,10 @@ type ListItemSlot = {
76
76
  select: (value: boolean) => void;
77
77
  };
78
78
  type ListItemTitleSlot = {
79
- title?: string | number;
79
+ title?: string | number | boolean;
80
80
  };
81
81
  type ListItemSubtitleSlot = {
82
- subtitle?: string | number;
82
+ subtitle?: string | number | boolean;
83
83
  };
84
84
  type VListItemSlots = {
85
85
  prepend: ListItemSlot;
@@ -115,7 +115,7 @@ declare const VListItem: {
115
115
  minHeight?: string | number | undefined;
116
116
  minWidth?: string | number | undefined;
117
117
  value?: any;
118
- title?: string | number | undefined;
118
+ title?: string | number | boolean | undefined;
119
119
  class?: any;
120
120
  theme?: string | undefined;
121
121
  to?: string | vue_router.RouteLocationAsRelativeGeneric | vue_router.RouteLocationAsPathGeneric | undefined;
@@ -132,7 +132,7 @@ declare const VListItem: {
132
132
  activeClass?: string | undefined;
133
133
  appendAvatar?: string | undefined;
134
134
  prependAvatar?: string | undefined;
135
- subtitle?: string | number | undefined;
135
+ subtitle?: string | number | boolean | undefined;
136
136
  } & {
137
137
  $children?: vue.VNodeChild | {
138
138
  prepend?: ((arg: ListItemSlot) => vue.VNodeChild) | undefined;
@@ -213,7 +213,7 @@ declare const VListItem: {
213
213
  minHeight?: string | number | undefined;
214
214
  minWidth?: string | number | undefined;
215
215
  value?: any;
216
- title?: string | number | undefined;
216
+ title?: string | number | boolean | undefined;
217
217
  class?: any;
218
218
  theme?: string | undefined;
219
219
  to?: string | vue_router.RouteLocationAsRelativeGeneric | vue_router.RouteLocationAsPathGeneric | undefined;
@@ -230,7 +230,7 @@ declare const VListItem: {
230
230
  activeClass?: string | undefined;
231
231
  appendAvatar?: string | undefined;
232
232
  prependAvatar?: string | undefined;
233
- subtitle?: string | number | undefined;
233
+ subtitle?: string | number | boolean | undefined;
234
234
  } & {
235
235
  $children?: vue.VNodeChild | {
236
236
  prepend?: ((arg: ListItemSlot) => vue.VNodeChild) | undefined;
@@ -262,6 +262,7 @@ declare const VListItem: {
262
262
  active: boolean;
263
263
  nav: boolean;
264
264
  style: vue.StyleValue;
265
+ title: string | number | boolean;
265
266
  disabled: boolean;
266
267
  tag: string;
267
268
  rounded: string | number | boolean;
@@ -271,6 +272,7 @@ declare const VListItem: {
271
272
  ripple: boolean | {
272
273
  class: string;
273
274
  } | undefined;
275
+ subtitle: string | number | boolean;
274
276
  }, true, {}, vue.SlotsType<Partial<{
275
277
  prepend: (arg: ListItemSlot) => vue.VNode[];
276
278
  append: (arg: ListItemSlot) => vue.VNode[];
@@ -310,7 +312,7 @@ declare const VListItem: {
310
312
  minHeight?: string | number | undefined;
311
313
  minWidth?: string | number | undefined;
312
314
  value?: any;
313
- title?: string | number | undefined;
315
+ title?: string | number | boolean | undefined;
314
316
  class?: any;
315
317
  theme?: string | undefined;
316
318
  to?: string | vue_router.RouteLocationAsRelativeGeneric | vue_router.RouteLocationAsPathGeneric | undefined;
@@ -327,7 +329,7 @@ declare const VListItem: {
327
329
  activeClass?: string | undefined;
328
330
  appendAvatar?: string | undefined;
329
331
  prependAvatar?: string | undefined;
330
- subtitle?: string | number | undefined;
332
+ subtitle?: string | number | boolean | undefined;
331
333
  } & {
332
334
  $children?: vue.VNodeChild | {
333
335
  prepend?: ((arg: ListItemSlot) => vue.VNodeChild) | undefined;
@@ -388,6 +390,7 @@ declare const VListItem: {
388
390
  active: boolean;
389
391
  nav: boolean;
390
392
  style: vue.StyleValue;
393
+ title: string | number | boolean;
391
394
  disabled: boolean;
392
395
  tag: string;
393
396
  rounded: string | number | boolean;
@@ -397,6 +400,7 @@ declare const VListItem: {
397
400
  ripple: boolean | {
398
401
  class: string;
399
402
  } | undefined;
403
+ subtitle: string | number | boolean;
400
404
  }>;
401
405
  __isFragment?: never;
402
406
  __isTeleport?: never;
@@ -427,7 +431,7 @@ declare const VListItem: {
427
431
  minHeight?: string | number | undefined;
428
432
  minWidth?: string | number | undefined;
429
433
  value?: any;
430
- title?: string | number | undefined;
434
+ title?: string | number | boolean | undefined;
431
435
  class?: any;
432
436
  theme?: string | undefined;
433
437
  to?: string | vue_router.RouteLocationAsRelativeGeneric | vue_router.RouteLocationAsPathGeneric | undefined;
@@ -444,7 +448,7 @@ declare const VListItem: {
444
448
  activeClass?: string | undefined;
445
449
  appendAvatar?: string | undefined;
446
450
  prependAvatar?: string | undefined;
447
- subtitle?: string | number | undefined;
451
+ subtitle?: string | number | boolean | undefined;
448
452
  } & {
449
453
  $children?: vue.VNodeChild | {
450
454
  prepend?: ((arg: ListItemSlot) => vue.VNodeChild) | undefined;
@@ -507,6 +511,7 @@ declare const VListItem: {
507
511
  active: boolean;
508
512
  nav: boolean;
509
513
  style: vue.StyleValue;
514
+ title: string | number | boolean;
510
515
  disabled: boolean;
511
516
  tag: string;
512
517
  rounded: string | number | boolean;
@@ -516,6 +521,7 @@ declare const VListItem: {
516
521
  ripple: boolean | {
517
522
  class: string;
518
523
  } | undefined;
524
+ subtitle: string | number | boolean;
519
525
  }, {}, string, vue.SlotsType<Partial<{
520
526
  prepend: (arg: ListItemSlot) => vue.VNode[];
521
527
  append: (arg: ListItemSlot) => vue.VNode[];
@@ -590,8 +596,14 @@ declare const VListItem: {
590
596
  default: boolean;
591
597
  };
592
598
  slim: BooleanConstructor;
593
- subtitle: (StringConstructor | NumberConstructor)[];
594
- title: (StringConstructor | NumberConstructor)[];
599
+ subtitle: {
600
+ type: (StringConstructor | BooleanConstructor | NumberConstructor)[];
601
+ default: undefined;
602
+ };
603
+ title: {
604
+ type: (StringConstructor | BooleanConstructor | NumberConstructor)[];
605
+ default: undefined;
606
+ };
595
607
  value: null;
596
608
  onClick: PropType<(args_0: MouseEvent | KeyboardEvent) => void>;
597
609
  onClickOnce: PropType<(args_0: MouseEvent) => void>;
@@ -663,8 +675,14 @@ declare const VListItem: {
663
675
  default: boolean;
664
676
  };
665
677
  slim: BooleanConstructor;
666
- subtitle: (StringConstructor | NumberConstructor)[];
667
- title: (StringConstructor | NumberConstructor)[];
678
+ subtitle: {
679
+ type: (StringConstructor | BooleanConstructor | NumberConstructor)[];
680
+ default: undefined;
681
+ };
682
+ title: {
683
+ type: (StringConstructor | BooleanConstructor | NumberConstructor)[];
684
+ default: undefined;
685
+ };
668
686
  value: null;
669
687
  onClick: PropType<(args_0: MouseEvent | KeyboardEvent) => void>;
670
688
  onClickOnce: PropType<(args_0: MouseEvent) => void>;
@@ -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,