vuetify 3.6.13 → 3.7.0-beta.1

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 (177) hide show
  1. package/dist/json/attributes.json +166 -26
  2. package/dist/json/importMap-labs.json +16 -16
  3. package/dist/json/importMap.json +138 -138
  4. package/dist/json/tags.json +40 -5
  5. package/dist/json/web-types.json +394 -41
  6. package/dist/vuetify-labs.css +2300 -2284
  7. package/dist/vuetify-labs.d.ts +12763 -12509
  8. package/dist/vuetify-labs.esm.js +153 -145
  9. package/dist/vuetify-labs.esm.js.map +1 -1
  10. package/dist/vuetify-labs.js +153 -145
  11. package/dist/vuetify-labs.min.css +2 -2
  12. package/dist/vuetify.css +887 -871
  13. package/dist/vuetify.d.ts +11161 -10982
  14. package/dist/vuetify.esm.js +107 -65
  15. package/dist/vuetify.esm.js.map +1 -1
  16. package/dist/vuetify.js +107 -65
  17. package/dist/vuetify.js.map +1 -1
  18. package/dist/vuetify.min.css +2 -2
  19. package/dist/vuetify.min.js +1076 -1078
  20. package/dist/vuetify.min.js.map +1 -1
  21. package/lib/components/VAlert/index.d.mts +55 -55
  22. package/lib/components/VAppBar/index.d.mts +175 -169
  23. package/lib/components/VAutocomplete/VAutocomplete.mjs +15 -8
  24. package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
  25. package/lib/components/VAutocomplete/index.d.mts +635 -634
  26. package/lib/components/VAvatar/VAvatar.css +7 -0
  27. package/lib/components/VAvatar/VAvatar.mjs +6 -1
  28. package/lib/components/VAvatar/VAvatar.mjs.map +1 -1
  29. package/lib/components/VAvatar/VAvatar.sass +1 -0
  30. package/lib/components/VAvatar/_variables.scss +13 -0
  31. package/lib/components/VAvatar/index.d.mts +36 -30
  32. package/lib/components/VBadge/index.d.mts +58 -58
  33. package/lib/components/VBanner/index.d.mts +59 -59
  34. package/lib/components/VBottomNavigation/index.d.mts +58 -58
  35. package/lib/components/VBottomSheet/index.d.mts +125 -125
  36. package/lib/components/VBreadcrumbs/index.d.mts +42 -42
  37. package/lib/components/VBtn/VBtn.mjs +3 -1
  38. package/lib/components/VBtn/VBtn.mjs.map +1 -1
  39. package/lib/components/VBtn/index.d.mts +113 -107
  40. package/lib/components/VBtnGroup/index.d.mts +23 -23
  41. package/lib/components/VBtnToggle/index.d.mts +40 -40
  42. package/lib/components/VCard/index.d.mts +93 -93
  43. package/lib/components/VCarousel/index.d.mts +130 -121
  44. package/lib/components/VCheckbox/index.d.mts +166 -166
  45. package/lib/components/VChip/index.d.mts +86 -86
  46. package/lib/components/VChipGroup/index.d.mts +46 -46
  47. package/lib/components/VColorPicker/index.d.mts +96 -96
  48. package/lib/components/VCombobox/VCombobox.mjs +15 -8
  49. package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
  50. package/lib/components/VCombobox/index.d.mts +635 -634
  51. package/lib/components/VConfirmEdit/index.d.mts +2 -2
  52. package/lib/components/VCounter/index.d.mts +27 -27
  53. package/lib/components/VDataIterator/index.d.mts +50 -50
  54. package/lib/components/VDataTable/index.d.mts +253 -253
  55. package/lib/components/VDatePicker/index.d.mts +134 -134
  56. package/lib/components/VDialog/index.d.mts +378 -378
  57. package/lib/components/VDivider/index.d.mts +15 -15
  58. package/lib/components/VEmptyState/index.d.mts +47 -47
  59. package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs +7 -2
  60. package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs.map +1 -1
  61. package/lib/components/VExpansionPanel/index.d.mts +196 -124
  62. package/lib/components/VFab/index.d.mts +233 -227
  63. package/lib/components/VField/index.d.mts +46 -46
  64. package/lib/components/VFileInput/index.d.mts +243 -243
  65. package/lib/components/VFooter/index.d.mts +50 -50
  66. package/lib/components/VForm/index.d.mts +9 -9
  67. package/lib/components/VGrid/VContainer.mjs +6 -1
  68. package/lib/components/VGrid/VContainer.mjs.map +1 -1
  69. package/lib/components/VGrid/index.d.mts +178 -142
  70. package/lib/components/VIcon/index.d.mts +24 -24
  71. package/lib/components/VImg/VImg.css +9 -0
  72. package/lib/components/VImg/VImg.mjs +2 -0
  73. package/lib/components/VImg/VImg.mjs.map +1 -1
  74. package/lib/components/VImg/VImg.sass +9 -0
  75. package/lib/components/VImg/index.d.mts +101 -92
  76. package/lib/components/VInfiniteScroll/index.d.mts +22 -22
  77. package/lib/components/VInput/index.d.mts +53 -53
  78. package/lib/components/VItemGroup/index.d.mts +17 -17
  79. package/lib/components/VLabel/index.d.mts +8 -8
  80. package/lib/components/VLayout/index.d.mts +36 -36
  81. package/lib/components/VLazy/index.d.mts +31 -31
  82. package/lib/components/VList/VListItem.css +2 -2
  83. package/lib/components/VList/VListItem.mjs +2 -0
  84. package/lib/components/VList/VListItem.mjs.map +1 -1
  85. package/lib/components/VList/VListItem.sass +1 -1
  86. package/lib/components/VList/index.d.mts +191 -190
  87. package/lib/components/VLocaleProvider/index.d.mts +7 -7
  88. package/lib/components/VMain/index.d.mts +10 -10
  89. package/lib/components/VMenu/VMenu.mjs +7 -5
  90. package/lib/components/VMenu/VMenu.mjs.map +1 -1
  91. package/lib/components/VMenu/index.d.mts +423 -423
  92. package/lib/components/VMessages/index.d.mts +20 -20
  93. package/lib/components/VNavigationDrawer/index.d.mts +72 -72
  94. package/lib/components/VNavigationDrawer/sticky.mjs.map +1 -1
  95. package/lib/components/VOtpInput/index.d.mts +88 -88
  96. package/lib/components/VOverlay/index.d.mts +104 -104
  97. package/lib/components/VOverlay/locationStrategies.mjs +0 -6
  98. package/lib/components/VOverlay/locationStrategies.mjs.map +1 -1
  99. package/lib/components/VPagination/index.d.mts +55 -55
  100. package/lib/components/VParallax/index.d.mts +7 -7
  101. package/lib/components/VProgressCircular/index.d.mts +24 -24
  102. package/lib/components/VProgressLinear/index.d.mts +52 -52
  103. package/lib/components/VRadio/index.d.mts +41 -41
  104. package/lib/components/VRadioGroup/index.d.mts +97 -97
  105. package/lib/components/VRangeSlider/index.d.mts +94 -94
  106. package/lib/components/VRating/index.d.mts +22 -22
  107. package/lib/components/VResponsive/index.d.mts +23 -23
  108. package/lib/components/VSelect/VSelect.mjs +15 -13
  109. package/lib/components/VSelect/VSelect.mjs.map +1 -1
  110. package/lib/components/VSelect/index.d.mts +635 -634
  111. package/lib/components/VSelect/useScrolling.mjs +3 -3
  112. package/lib/components/VSelect/useScrolling.mjs.map +1 -1
  113. package/lib/components/VSelectionControl/index.d.mts +43 -43
  114. package/lib/components/VSelectionControlGroup/index.d.mts +39 -39
  115. package/lib/components/VSheet/index.d.mts +34 -34
  116. package/lib/components/VSkeletonLoader/index.d.mts +17 -17
  117. package/lib/components/VSlideGroup/VSlideGroup.mjs +3 -1
  118. package/lib/components/VSlideGroup/VSlideGroup.mjs.map +1 -1
  119. package/lib/components/VSlideGroup/index.d.mts +39 -33
  120. package/lib/components/VSlider/index.d.mts +87 -87
  121. package/lib/components/VSnackbar/index.d.mts +436 -436
  122. package/lib/components/VSparkline/index.d.mts +38 -38
  123. package/lib/components/VSpeedDial/index.d.mts +185 -185
  124. package/lib/components/VStepper/index.d.mts +119 -119
  125. package/lib/components/VSwitch/index.d.mts +100 -100
  126. package/lib/components/VSystemBar/index.d.mts +39 -39
  127. package/lib/components/VTable/index.d.mts +4 -4
  128. package/lib/components/VTabs/index.d.mts +530 -512
  129. package/lib/components/VTextField/index.d.mts +397 -397
  130. package/lib/components/VTextarea/index.d.mts +274 -274
  131. package/lib/components/VTimeline/index.d.mts +26 -26
  132. package/lib/components/VToolbar/index.d.mts +53 -53
  133. package/lib/components/VTooltip/index.d.mts +451 -451
  134. package/lib/components/VValidation/index.d.mts +22 -21
  135. package/lib/components/VVirtualScroll/VVirtualScroll.mjs +2 -0
  136. package/lib/components/VVirtualScroll/VVirtualScroll.mjs.map +1 -1
  137. package/lib/components/VVirtualScroll/index.d.mts +13 -10
  138. package/lib/components/VWindow/index.d.mts +31 -31
  139. package/lib/components/index.d.mts +11225 -11046
  140. package/lib/components/transitions/index.d.mts +200 -200
  141. package/lib/composables/nested/nested.mjs +3 -4
  142. package/lib/composables/nested/nested.mjs.map +1 -1
  143. package/lib/composables/nested/openStrategies.mjs +4 -2
  144. package/lib/composables/nested/openStrategies.mjs.map +1 -1
  145. package/lib/composables/nested/selectStrategies.mjs +5 -5
  146. package/lib/composables/nested/selectStrategies.mjs.map +1 -1
  147. package/lib/composables/validation.mjs +8 -6
  148. package/lib/composables/validation.mjs.map +1 -1
  149. package/lib/composables/virtual.mjs +1 -0
  150. package/lib/composables/virtual.mjs.map +1 -1
  151. package/lib/entry-bundler.mjs +1 -1
  152. package/lib/entry-bundler.mjs.map +1 -1
  153. package/lib/framework.mjs +1 -1
  154. package/lib/framework.mjs.map +1 -1
  155. package/lib/index.d.mts +44 -44
  156. package/lib/labs/VCalendar/index.d.mts +52 -52
  157. package/lib/labs/VDateInput/index.d.mts +244 -244
  158. package/lib/labs/VNumberInput/index.d.mts +235 -235
  159. package/lib/labs/VPicker/index.d.mts +45 -45
  160. package/lib/labs/VSnackbarQueue/index.d.mts +642 -642
  161. package/lib/labs/VStepperVertical/index.d.mts +224 -188
  162. package/lib/labs/VTimePicker/VTimePickerClock.mjs +0 -1
  163. package/lib/labs/VTimePicker/VTimePickerClock.mjs.map +1 -1
  164. package/lib/labs/VTimePicker/index.d.mts +115 -115
  165. package/lib/labs/VTreeview/VTreeview.mjs +7 -5
  166. package/lib/labs/VTreeview/VTreeview.mjs.map +1 -1
  167. package/lib/labs/VTreeview/VTreeviewChildren.mjs +33 -10
  168. package/lib/labs/VTreeview/VTreeviewChildren.mjs.map +1 -1
  169. package/lib/labs/VTreeview/VTreeviewItem.css +1 -1
  170. package/lib/labs/VTreeview/VTreeviewItem.mjs +14 -74
  171. package/lib/labs/VTreeview/VTreeviewItem.mjs.map +1 -1
  172. package/lib/labs/VTreeview/VTreeviewItem.sass +2 -5
  173. package/lib/labs/VTreeview/index.d.mts +270 -253
  174. package/lib/labs/components.d.mts +1835 -1782
  175. package/lib/util/helpers.mjs +5 -0
  176. package/lib/util/helpers.mjs.map +1 -1
  177. package/package.json +10 -5
@@ -9,11 +9,11 @@ declare const VLocaleProvider: {
9
9
  new (...args: any[]): vue.CreateComponentPublicInstance<{
10
10
  style: vue.StyleValue;
11
11
  } & {
12
+ rtl?: boolean | undefined;
12
13
  class?: any;
13
14
  locale?: string | undefined;
14
15
  fallbackLocale?: string | undefined;
15
16
  messages?: Record<string, any> | undefined;
16
- rtl?: boolean | undefined;
17
17
  } & {
18
18
  $children?: vue.VNodeChild | {
19
19
  default?: (() => vue.VNodeChild) | undefined;
@@ -26,11 +26,11 @@ declare const VLocaleProvider: {
26
26
  }, {}, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Record<string, any>, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & {
27
27
  style: vue.StyleValue;
28
28
  } & {
29
+ rtl?: boolean | undefined;
29
30
  class?: any;
30
31
  locale?: string | undefined;
31
32
  fallbackLocale?: string | undefined;
32
33
  messages?: Record<string, any> | undefined;
33
- rtl?: boolean | undefined;
34
34
  } & {
35
35
  $children?: vue.VNodeChild | {
36
36
  default?: (() => vue.VNodeChild) | undefined;
@@ -41,8 +41,8 @@ declare const VLocaleProvider: {
41
41
  } & {
42
42
  "v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
43
43
  }, {
44
- style: vue.StyleValue;
45
44
  rtl: boolean;
45
+ style: vue.StyleValue;
46
46
  }, true, {}, vue.SlotsType<Partial<{
47
47
  default: () => vue.VNode<vue.RendererNode, vue.RendererElement, {
48
48
  [key: string]: any;
@@ -57,11 +57,11 @@ declare const VLocaleProvider: {
57
57
  }, {
58
58
  style: vue.StyleValue;
59
59
  } & {
60
+ rtl?: boolean | undefined;
60
61
  class?: any;
61
62
  locale?: string | undefined;
62
63
  fallbackLocale?: string | undefined;
63
64
  messages?: Record<string, any> | undefined;
64
- rtl?: boolean | undefined;
65
65
  } & {
66
66
  $children?: vue.VNodeChild | {
67
67
  default?: (() => vue.VNodeChild) | undefined;
@@ -72,8 +72,8 @@ declare const VLocaleProvider: {
72
72
  } & {
73
73
  "v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
74
74
  }, {}, {}, {}, {}, {
75
- style: vue.StyleValue;
76
75
  rtl: boolean;
76
+ style: vue.StyleValue;
77
77
  }>;
78
78
  __isFragment?: undefined;
79
79
  __isTeleport?: undefined;
@@ -81,11 +81,11 @@ declare const VLocaleProvider: {
81
81
  } & vue.ComponentOptionsBase<{
82
82
  style: vue.StyleValue;
83
83
  } & {
84
+ rtl?: boolean | undefined;
84
85
  class?: any;
85
86
  locale?: string | undefined;
86
87
  fallbackLocale?: string | undefined;
87
88
  messages?: Record<string, any> | undefined;
88
- rtl?: boolean | undefined;
89
89
  } & {
90
90
  $children?: vue.VNodeChild | {
91
91
  default?: (() => vue.VNodeChild) | undefined;
@@ -96,8 +96,8 @@ declare const VLocaleProvider: {
96
96
  } & {
97
97
  "v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
98
98
  }, {}, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Record<string, any>, string, {
99
- style: vue.StyleValue;
100
99
  rtl: boolean;
100
+ style: vue.StyleValue;
101
101
  }, {}, string, vue.SlotsType<Partial<{
102
102
  default: () => vue.VNode<vue.RendererNode, vue.RendererElement, {
103
103
  [key: string]: any;
@@ -11,13 +11,13 @@ declare const VMain: {
11
11
  tag: string;
12
12
  scrollable: boolean;
13
13
  } & {
14
- class?: any;
15
- width?: string | number | undefined;
16
14
  height?: string | number | undefined;
15
+ width?: string | number | undefined;
17
16
  maxHeight?: string | number | undefined;
18
17
  maxWidth?: string | number | undefined;
19
18
  minHeight?: string | number | undefined;
20
19
  minWidth?: string | number | undefined;
20
+ class?: any;
21
21
  } & {
22
22
  $children?: vue.VNodeChild | {
23
23
  default?: (() => vue.VNodeChild) | undefined;
@@ -32,13 +32,13 @@ declare const VMain: {
32
32
  tag: string;
33
33
  scrollable: boolean;
34
34
  } & {
35
- class?: any;
36
- width?: string | number | undefined;
37
35
  height?: string | number | undefined;
36
+ width?: string | number | undefined;
38
37
  maxHeight?: string | number | undefined;
39
38
  maxWidth?: string | number | undefined;
40
39
  minHeight?: string | number | undefined;
41
40
  minWidth?: string | number | undefined;
41
+ class?: any;
42
42
  } & {
43
43
  $children?: vue.VNodeChild | {
44
44
  default?: (() => vue.VNodeChild) | undefined;
@@ -68,13 +68,13 @@ declare const VMain: {
68
68
  tag: string;
69
69
  scrollable: boolean;
70
70
  } & {
71
- class?: any;
72
- width?: string | number | undefined;
73
71
  height?: string | number | undefined;
72
+ width?: string | number | undefined;
74
73
  maxHeight?: string | number | undefined;
75
74
  maxWidth?: string | number | undefined;
76
75
  minHeight?: string | number | undefined;
77
76
  minWidth?: string | number | undefined;
77
+ class?: any;
78
78
  } & {
79
79
  $children?: vue.VNodeChild | {
80
80
  default?: (() => vue.VNodeChild) | undefined;
@@ -97,13 +97,13 @@ declare const VMain: {
97
97
  tag: string;
98
98
  scrollable: boolean;
99
99
  } & {
100
- class?: any;
101
- width?: string | number | undefined;
102
100
  height?: string | number | undefined;
101
+ width?: string | number | undefined;
103
102
  maxHeight?: string | number | undefined;
104
103
  maxWidth?: string | number | undefined;
105
104
  minHeight?: string | number | undefined;
106
105
  minWidth?: string | number | undefined;
106
+ class?: any;
107
107
  } & {
108
108
  $children?: vue.VNodeChild | {
109
109
  default?: (() => vue.VNodeChild) | undefined;
@@ -125,7 +125,7 @@ declare const VMain: {
125
125
  tag: Omit<{
126
126
  type: StringConstructor;
127
127
  default: string;
128
- }, "default" | "type"> & {
128
+ }, "type" | "default"> & {
129
129
  type: vue.PropType<string>;
130
130
  default: string;
131
131
  };
@@ -145,7 +145,7 @@ declare const VMain: {
145
145
  tag: Omit<{
146
146
  type: StringConstructor;
147
147
  default: string;
148
- }, "default" | "type"> & {
148
+ }, "type" | "default"> & {
149
149
  type: vue.PropType<string>;
150
150
  default: string;
151
151
  };
@@ -10,7 +10,7 @@ import { makeVOverlayProps } from "../VOverlay/VOverlay.mjs"; // Composables
10
10
  import { forwardRefs } from "../../composables/forwardRefs.mjs";
11
11
  import { useProxiedModel } from "../../composables/proxiedModel.mjs";
12
12
  import { useScopeId } from "../../composables/scopeId.mjs"; // Utilities
13
- import { computed, inject, mergeProps, nextTick, provide, ref, shallowRef, watch } from 'vue';
13
+ import { computed, inject, mergeProps, nextTick, onBeforeUnmount, onDeactivated, provide, ref, shallowRef, watch } from 'vue';
14
14
  import { VMenuSymbol } from "./shared.mjs";
15
15
  import { focusableChildren, focusChild, genericComponent, getNextElement, getUid, isClickInsideElement, omit, propsFactory, useRender } from "../../util/index.mjs"; // Types
16
16
  export const makeVMenuProps = propsFactory({
@@ -47,23 +47,25 @@ export const VMenu = genericComponent()({
47
47
  const id = computed(() => props.id || `v-menu-${uid}`);
48
48
  const overlay = ref();
49
49
  const parent = inject(VMenuSymbol, null);
50
- const openChildren = shallowRef(0);
50
+ const openChildren = shallowRef(new Set());
51
51
  provide(VMenuSymbol, {
52
52
  register() {
53
- ++openChildren.value;
53
+ openChildren.value.add(uid);
54
54
  },
55
55
  unregister() {
56
- --openChildren.value;
56
+ openChildren.value.delete(uid);
57
57
  },
58
58
  closeParents(e) {
59
59
  setTimeout(() => {
60
- if (!openChildren.value && !props.persistent && (e == null || e && !isClickInsideElement(e, overlay.value.contentEl))) {
60
+ if (!openChildren.value.size && !props.persistent && (e == null || e && !isClickInsideElement(e, overlay.value.contentEl))) {
61
61
  isActive.value = false;
62
62
  parent?.closeParents();
63
63
  }
64
64
  }, 40);
65
65
  }
66
66
  });
67
+ onBeforeUnmount(() => parent?.unregister());
68
+ onDeactivated(() => isActive.value = false);
67
69
  async function onFocusIn(e) {
68
70
  const before = e.relatedTarget;
69
71
  const after = e.target;
@@ -1 +1 @@
1
- {"version":3,"file":"VMenu.mjs","names":["VDialogTransition","VDefaultsProvider","VOverlay","makeVOverlayProps","forwardRefs","useProxiedModel","useScopeId","computed","inject","mergeProps","nextTick","provide","ref","shallowRef","watch","VMenuSymbol","focusableChildren","focusChild","genericComponent","getNextElement","getUid","isClickInsideElement","omit","propsFactory","useRender","makeVMenuProps","id","String","closeDelay","closeOnContentClick","locationStrategy","openDelay","scrim","scrollStrategy","transition","component","VMenu","name","props","emits","value","setup","_ref","slots","isActive","scopeId","uid","overlay","parent","openChildren","register","unregister","closeParents","e","setTimeout","persistent","contentEl","onFocusIn","before","relatedTarget","after","target","globalTop","document","includes","contains","focusable","focus","val","addEventListener","once","removeEventListener","onClickOutside","onKeydown","disabled","key","HTMLTextAreaElement","HTMLInputElement","closest","preventDefault","nextElement","shiftKey","el","tabIndex","activatorEl","onActivatorKeydown","activatorProps","overlayProps","filterProps","_createVNode","_mergeProps","class","style","$event","activator","default","_len","arguments","length","args","Array","_key","ΨopenChildren"],"sources":["../../../src/components/VMenu/VMenu.tsx"],"sourcesContent":["// Styles\nimport './VMenu.sass'\n\n// Components\nimport { VDialogTransition } from '@/components/transitions'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VOverlay } from '@/components/VOverlay'\nimport { makeVOverlayProps } from '@/components/VOverlay/VOverlay'\n\n// Composables\nimport { forwardRefs } from '@/composables/forwardRefs'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { useScopeId } from '@/composables/scopeId'\n\n// Utilities\nimport { computed, inject, mergeProps, nextTick, provide, ref, shallowRef, watch } from 'vue'\nimport { VMenuSymbol } from './shared'\nimport {\n focusableChildren,\n focusChild,\n genericComponent,\n getNextElement,\n getUid,\n isClickInsideElement,\n omit,\n propsFactory,\n useRender,\n} from '@/util'\n\n// Types\nimport type { Component } from 'vue'\nimport type { OverlaySlots } from '@/components/VOverlay/VOverlay'\n\nexport const makeVMenuProps = propsFactory({\n // TODO\n // disableKeys: Boolean,\n id: String,\n\n ...omit(makeVOverlayProps({\n closeDelay: 250,\n closeOnContentClick: true,\n locationStrategy: 'connected' as const,\n openDelay: 300,\n scrim: false,\n scrollStrategy: 'reposition' as const,\n transition: { component: VDialogTransition as Component },\n }), ['absolute']),\n}, 'VMenu')\n\nexport const VMenu = genericComponent<OverlaySlots>()({\n name: 'VMenu',\n\n props: makeVMenuProps(),\n\n emits: {\n 'update:modelValue': (value: boolean) => true,\n },\n\n setup (props, { slots }) {\n const isActive = useProxiedModel(props, 'modelValue')\n const { scopeId } = useScopeId()\n\n const uid = getUid()\n const id = computed(() => props.id || `v-menu-${uid}`)\n\n const overlay = ref<VOverlay>()\n\n const parent = inject(VMenuSymbol, null)\n const openChildren = shallowRef(0)\n provide(VMenuSymbol, {\n register () {\n ++openChildren.value\n },\n unregister () {\n --openChildren.value\n },\n closeParents (e) {\n setTimeout(() => {\n if (!openChildren.value &&\n !props.persistent &&\n (e == null || (e && !isClickInsideElement(e, overlay.value!.contentEl!)))\n ) {\n isActive.value = false\n parent?.closeParents()\n }\n }, 40)\n },\n })\n\n async function onFocusIn (e: FocusEvent) {\n const before = e.relatedTarget as HTMLElement | null\n const after = e.target as HTMLElement | null\n\n await nextTick()\n\n if (\n isActive.value &&\n before !== after &&\n overlay.value?.contentEl &&\n // We're the topmost menu\n overlay.value?.globalTop &&\n // It isn't the document or the menu body\n ![document, overlay.value.contentEl].includes(after!) &&\n // It isn't inside the menu body\n !overlay.value.contentEl.contains(after)\n ) {\n const focusable = focusableChildren(overlay.value.contentEl)\n focusable[0]?.focus()\n }\n }\n\n watch(isActive, val => {\n if (val) {\n parent?.register()\n document.addEventListener('focusin', onFocusIn, { once: true })\n } else {\n parent?.unregister()\n document.removeEventListener('focusin', onFocusIn)\n }\n })\n\n function onClickOutside (e: MouseEvent) {\n parent?.closeParents(e)\n }\n\n function onKeydown (e: KeyboardEvent) {\n if (props.disabled) return\n\n if (e.key === 'Tab' || (e.key === 'Enter' && !props.closeOnContentClick)) {\n if (\n e.key === 'Enter' &&\n ((e.target instanceof HTMLTextAreaElement) ||\n (e.target instanceof HTMLInputElement && !!e.target.closest('form')))\n ) return\n if (e.key === 'Enter') e.preventDefault()\n\n const nextElement = getNextElement(\n focusableChildren(overlay.value?.contentEl as Element, false),\n e.shiftKey ? 'prev' : 'next',\n (el: HTMLElement) => el.tabIndex >= 0\n )\n if (!nextElement) {\n isActive.value = false\n overlay.value?.activatorEl?.focus()\n }\n } else if (['Enter', ' '].includes(e.key) && props.closeOnContentClick) {\n isActive.value = false\n parent?.closeParents()\n }\n }\n\n function onActivatorKeydown (e: KeyboardEvent) {\n if (props.disabled) return\n\n const el = overlay.value?.contentEl\n if (el && isActive.value) {\n if (e.key === 'ArrowDown') {\n e.preventDefault()\n focusChild(el, 'next')\n } else if (e.key === 'ArrowUp') {\n e.preventDefault()\n focusChild(el, 'prev')\n }\n } else if (['ArrowDown', 'ArrowUp'].includes(e.key)) {\n isActive.value = true\n e.preventDefault()\n setTimeout(() => setTimeout(() => onActivatorKeydown(e)))\n }\n }\n\n const activatorProps = computed(() =>\n mergeProps({\n 'aria-haspopup': 'menu',\n 'aria-expanded': String(isActive.value),\n 'aria-owns': id.value,\n onKeydown: onActivatorKeydown,\n }, props.activatorProps)\n )\n\n useRender(() => {\n const overlayProps = VOverlay.filterProps(props)\n\n return (\n <VOverlay\n ref={ overlay }\n id={ id.value }\n class={[\n 'v-menu',\n props.class,\n ]}\n style={ props.style }\n { ...overlayProps }\n v-model={ isActive.value }\n absolute\n activatorProps={ activatorProps.value }\n onClick:outside={ onClickOutside }\n onKeydown={ onKeydown }\n { ...scopeId }\n >\n {{\n activator: slots.activator,\n default: (...args) => (\n <VDefaultsProvider root=\"VMenu\">\n { slots.default?.(...args) }\n </VDefaultsProvider>\n ),\n }}\n </VOverlay>\n )\n })\n\n return forwardRefs({ id, ΨopenChildren: openChildren }, overlay)\n },\n})\n\nexport type VMenu = InstanceType<typeof VMenu>\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"VMenu.mjs","names":["VDialogTransition","VDefaultsProvider","VOverlay","makeVOverlayProps","forwardRefs","useProxiedModel","useScopeId","computed","inject","mergeProps","nextTick","onBeforeUnmount","onDeactivated","provide","ref","shallowRef","watch","VMenuSymbol","focusableChildren","focusChild","genericComponent","getNextElement","getUid","isClickInsideElement","omit","propsFactory","useRender","makeVMenuProps","id","String","closeDelay","closeOnContentClick","locationStrategy","openDelay","scrim","scrollStrategy","transition","component","VMenu","name","props","emits","value","setup","_ref","slots","isActive","scopeId","uid","overlay","parent","openChildren","Set","register","add","unregister","delete","closeParents","e","setTimeout","size","persistent","contentEl","onFocusIn","before","relatedTarget","after","target","globalTop","document","includes","contains","focusable","focus","val","addEventListener","once","removeEventListener","onClickOutside","onKeydown","disabled","key","HTMLTextAreaElement","HTMLInputElement","closest","preventDefault","nextElement","shiftKey","el","tabIndex","activatorEl","onActivatorKeydown","activatorProps","overlayProps","filterProps","_createVNode","_mergeProps","class","style","$event","activator","default","_len","arguments","length","args","Array","_key","ΨopenChildren"],"sources":["../../../src/components/VMenu/VMenu.tsx"],"sourcesContent":["// Styles\nimport './VMenu.sass'\n\n// Components\nimport { VDialogTransition } from '@/components/transitions'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VOverlay } from '@/components/VOverlay'\nimport { makeVOverlayProps } from '@/components/VOverlay/VOverlay'\n\n// Composables\nimport { forwardRefs } from '@/composables/forwardRefs'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { useScopeId } from '@/composables/scopeId'\n\n// Utilities\nimport {\n computed,\n inject,\n mergeProps,\n nextTick,\n onBeforeUnmount,\n onDeactivated,\n provide,\n ref,\n shallowRef,\n watch,\n} from 'vue'\nimport { VMenuSymbol } from './shared'\nimport {\n focusableChildren,\n focusChild,\n genericComponent,\n getNextElement,\n getUid,\n isClickInsideElement,\n omit,\n propsFactory,\n useRender,\n} from '@/util'\n\n// Types\nimport type { Component } from 'vue'\nimport type { OverlaySlots } from '@/components/VOverlay/VOverlay'\n\nexport const makeVMenuProps = propsFactory({\n // TODO\n // disableKeys: Boolean,\n id: String,\n\n ...omit(makeVOverlayProps({\n closeDelay: 250,\n closeOnContentClick: true,\n locationStrategy: 'connected' as const,\n openDelay: 300,\n scrim: false,\n scrollStrategy: 'reposition' as const,\n transition: { component: VDialogTransition as Component },\n }), ['absolute']),\n}, 'VMenu')\n\nexport const VMenu = genericComponent<OverlaySlots>()({\n name: 'VMenu',\n\n props: makeVMenuProps(),\n\n emits: {\n 'update:modelValue': (value: boolean) => true,\n },\n\n setup (props, { slots }) {\n const isActive = useProxiedModel(props, 'modelValue')\n const { scopeId } = useScopeId()\n\n const uid = getUid()\n const id = computed(() => props.id || `v-menu-${uid}`)\n\n const overlay = ref<VOverlay>()\n\n const parent = inject(VMenuSymbol, null)\n const openChildren = shallowRef(new Set<number>())\n provide(VMenuSymbol, {\n register () {\n openChildren.value.add(uid)\n },\n unregister () {\n openChildren.value.delete(uid)\n },\n closeParents (e) {\n setTimeout(() => {\n if (!openChildren.value.size &&\n !props.persistent &&\n (e == null || (e && !isClickInsideElement(e, overlay.value!.contentEl!)))\n ) {\n isActive.value = false\n parent?.closeParents()\n }\n }, 40)\n },\n })\n\n onBeforeUnmount(() => parent?.unregister())\n onDeactivated(() => isActive.value = false)\n\n async function onFocusIn (e: FocusEvent) {\n const before = e.relatedTarget as HTMLElement | null\n const after = e.target as HTMLElement | null\n\n await nextTick()\n\n if (\n isActive.value &&\n before !== after &&\n overlay.value?.contentEl &&\n // We're the topmost menu\n overlay.value?.globalTop &&\n // It isn't the document or the menu body\n ![document, overlay.value.contentEl].includes(after!) &&\n // It isn't inside the menu body\n !overlay.value.contentEl.contains(after)\n ) {\n const focusable = focusableChildren(overlay.value.contentEl)\n focusable[0]?.focus()\n }\n }\n\n watch(isActive, val => {\n if (val) {\n parent?.register()\n document.addEventListener('focusin', onFocusIn, { once: true })\n } else {\n parent?.unregister()\n document.removeEventListener('focusin', onFocusIn)\n }\n })\n\n function onClickOutside (e: MouseEvent) {\n parent?.closeParents(e)\n }\n\n function onKeydown (e: KeyboardEvent) {\n if (props.disabled) return\n\n if (e.key === 'Tab' || (e.key === 'Enter' && !props.closeOnContentClick)) {\n if (\n e.key === 'Enter' &&\n ((e.target instanceof HTMLTextAreaElement) ||\n (e.target instanceof HTMLInputElement && !!e.target.closest('form')))\n ) return\n if (e.key === 'Enter') e.preventDefault()\n\n const nextElement = getNextElement(\n focusableChildren(overlay.value?.contentEl as Element, false),\n e.shiftKey ? 'prev' : 'next',\n (el: HTMLElement) => el.tabIndex >= 0\n )\n if (!nextElement) {\n isActive.value = false\n overlay.value?.activatorEl?.focus()\n }\n } else if (['Enter', ' '].includes(e.key) && props.closeOnContentClick) {\n isActive.value = false\n parent?.closeParents()\n }\n }\n\n function onActivatorKeydown (e: KeyboardEvent) {\n if (props.disabled) return\n\n const el = overlay.value?.contentEl\n if (el && isActive.value) {\n if (e.key === 'ArrowDown') {\n e.preventDefault()\n focusChild(el, 'next')\n } else if (e.key === 'ArrowUp') {\n e.preventDefault()\n focusChild(el, 'prev')\n }\n } else if (['ArrowDown', 'ArrowUp'].includes(e.key)) {\n isActive.value = true\n e.preventDefault()\n setTimeout(() => setTimeout(() => onActivatorKeydown(e)))\n }\n }\n\n const activatorProps = computed(() =>\n mergeProps({\n 'aria-haspopup': 'menu',\n 'aria-expanded': String(isActive.value),\n 'aria-owns': id.value,\n onKeydown: onActivatorKeydown,\n }, props.activatorProps)\n )\n\n useRender(() => {\n const overlayProps = VOverlay.filterProps(props)\n\n return (\n <VOverlay\n ref={ overlay }\n id={ id.value }\n class={[\n 'v-menu',\n props.class,\n ]}\n style={ props.style }\n { ...overlayProps }\n v-model={ isActive.value }\n absolute\n activatorProps={ activatorProps.value }\n onClick:outside={ onClickOutside }\n onKeydown={ onKeydown }\n { ...scopeId }\n >\n {{\n activator: slots.activator,\n default: (...args) => (\n <VDefaultsProvider root=\"VMenu\">\n { slots.default?.(...args) }\n </VDefaultsProvider>\n ),\n }}\n </VOverlay>\n )\n })\n\n return forwardRefs({ id, ΨopenChildren: openChildren }, overlay)\n },\n})\n\nexport type VMenu = InstanceType<typeof VMenu>\n"],"mappings":"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","ignoreList":[]}