@vuetify/nightly 3.7.0-beta.1-dev.2024-07-29 → 3.7.0-beta.1-dev.2024-07-30

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 (43) hide show
  1. package/dist/json/attributes.json +8 -0
  2. package/dist/json/importMap-labs.json +28 -28
  3. package/dist/json/importMap.json +118 -118
  4. package/dist/json/tags.json +2 -0
  5. package/dist/json/web-types.json +21 -2
  6. package/dist/vuetify-labs.css +3545 -3545
  7. package/dist/vuetify-labs.d.ts +190 -106
  8. package/dist/vuetify-labs.esm.js +30 -13
  9. package/dist/vuetify-labs.esm.js.map +1 -1
  10. package/dist/vuetify-labs.js +30 -13
  11. package/dist/vuetify-labs.min.css +2 -2
  12. package/dist/vuetify.css +2151 -2151
  13. package/dist/vuetify.d.ts +231 -147
  14. package/dist/vuetify.esm.js +30 -13
  15. package/dist/vuetify.esm.js.map +1 -1
  16. package/dist/vuetify.js +30 -13
  17. package/dist/vuetify.js.map +1 -1
  18. package/dist/vuetify.min.css +2 -2
  19. package/dist/vuetify.min.js +43 -43
  20. package/dist/vuetify.min.js.map +1 -1
  21. package/lib/components/VAutocomplete/index.d.mts +42 -24
  22. package/lib/components/VCombobox/index.d.mts +42 -24
  23. package/lib/components/VDialog/index.d.mts +3 -3
  24. package/lib/components/VList/VListItem.mjs +1 -1
  25. package/lib/components/VList/VListItem.mjs.map +1 -1
  26. package/lib/components/VMenu/VMenu.mjs +19 -3
  27. package/lib/components/VMenu/VMenu.mjs.map +1 -1
  28. package/lib/components/VMenu/index.d.mts +27 -12
  29. package/lib/components/VOverlay/VOverlay.mjs +5 -4
  30. package/lib/components/VOverlay/VOverlay.mjs.map +1 -1
  31. package/lib/components/VOverlay/useActivator.mjs +3 -2
  32. package/lib/components/VOverlay/useActivator.mjs.map +1 -1
  33. package/lib/components/VSelect/index.d.mts +42 -24
  34. package/lib/components/VSnackbar/index.d.mts +3 -3
  35. package/lib/components/VSpeedDial/index.d.mts +28 -13
  36. package/lib/components/VTooltip/index.d.mts +3 -3
  37. package/lib/components/index.d.mts +190 -106
  38. package/lib/entry-bundler.mjs +1 -1
  39. package/lib/framework.mjs +1 -1
  40. package/lib/index.d.mts +41 -41
  41. package/lib/labs/VSnackbarQueue/index.d.mts +3 -3
  42. package/lib/labs/components.d.mts +3 -3
  43. package/package.json +1 -1
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Vuetify v3.7.0-beta.1-dev.2024-07-29
2
+ * Vuetify v3.7.0-beta.1-dev.2024-07-30
3
3
  * Forged by John Leider
4
4
  * Released under the MIT License.
5
5
  */
@@ -8962,7 +8962,7 @@
8962
8962
  function onKeyDown(e) {
8963
8963
  if (e.key === 'Enter' || e.key === ' ') {
8964
8964
  e.preventDefault();
8965
- onClick(e);
8965
+ e.target.dispatchEvent(new MouseEvent('click', e));
8966
8966
  }
8967
8967
  }
8968
8968
  useRender(() => {
@@ -10279,7 +10279,8 @@
10279
10279
  function useActivator(props, _ref) {
10280
10280
  let {
10281
10281
  isActive,
10282
- isTop
10282
+ isTop,
10283
+ contentEl
10283
10284
  } = _ref;
10284
10285
  const vm = getCurrentInstance('useActivator');
10285
10286
  const activatorEl = vue.ref();
@@ -10396,7 +10397,7 @@
10396
10397
  return events;
10397
10398
  });
10398
10399
  vue.watch(isTop, val => {
10399
- if (val && (props.openOnHover && !isHovered && (!openOnFocus.value || !isFocused) || openOnFocus.value && !isFocused && (!props.openOnHover || !isHovered))) {
10400
+ if (val && (props.openOnHover && !isHovered && (!openOnFocus.value || !isFocused) || openOnFocus.value && !isFocused && (!props.openOnHover || !isHovered)) && !contentEl.value?.contains(document.activeElement)) {
10400
10401
  isActive.value = false;
10401
10402
  }
10402
10403
  });
@@ -10802,6 +10803,9 @@
10802
10803
  attrs,
10803
10804
  emit
10804
10805
  } = _ref;
10806
+ const root = vue.ref();
10807
+ const scrimEl = vue.ref();
10808
+ const contentEl = vue.ref();
10805
10809
  const model = useProxiedModel(props, 'modelValue');
10806
10810
  const isActive = vue.computed({
10807
10811
  get: () => model.value,
@@ -10839,7 +10843,8 @@
10839
10843
  scrimEvents
10840
10844
  } = useActivator(props, {
10841
10845
  isActive,
10842
- isTop: localTop
10846
+ isTop: localTop,
10847
+ contentEl
10843
10848
  });
10844
10849
  const {
10845
10850
  teleportTarget
@@ -10860,9 +10865,6 @@
10860
10865
  vue.watch(() => props.disabled, v => {
10861
10866
  if (v) isActive.value = false;
10862
10867
  });
10863
- const root = vue.ref();
10864
- const scrimEl = vue.ref();
10865
- const contentEl = vue.ref();
10866
10868
  const {
10867
10869
  contentStyles,
10868
10870
  updateLocation
@@ -11113,10 +11115,12 @@
11113
11115
  // TODO
11114
11116
  // disableKeys: Boolean,
11115
11117
  id: String,
11118
+ submenu: Boolean,
11116
11119
  ...omit(makeVOverlayProps({
11117
11120
  closeDelay: 250,
11118
11121
  closeOnContentClick: true,
11119
11122
  locationStrategy: 'connected',
11123
+ location: undefined,
11120
11124
  openDelay: 300,
11121
11125
  scrim: false,
11122
11126
  scrollStrategy: 'reposition',
@@ -11139,6 +11143,9 @@
11139
11143
  const {
11140
11144
  scopeId
11141
11145
  } = useScopeId();
11146
+ const {
11147
+ isRtl
11148
+ } = useRtl();
11142
11149
  const uid = getUid();
11143
11150
  const id = vue.computed(() => props.id || `v-menu-${uid}`);
11144
11151
  const overlay = vue.ref();
@@ -11201,9 +11208,9 @@
11201
11208
  isActive.value = false;
11202
11209
  overlay.value?.activatorEl?.focus();
11203
11210
  }
11204
- } else if (['Enter', ' '].includes(e.key) && props.closeOnContentClick) {
11211
+ } else if (props.submenu && e.key === (isRtl.value ? 'ArrowRight' : 'ArrowLeft')) {
11205
11212
  isActive.value = false;
11206
- parent?.closeParents();
11213
+ overlay.value?.activatorEl?.focus();
11207
11214
  }
11208
11215
  }
11209
11216
  function onActivatorKeydown(e) {
@@ -11212,12 +11219,21 @@
11212
11219
  if (el && isActive.value) {
11213
11220
  if (e.key === 'ArrowDown') {
11214
11221
  e.preventDefault();
11222
+ e.stopImmediatePropagation();
11215
11223
  focusChild(el, 'next');
11216
11224
  } else if (e.key === 'ArrowUp') {
11217
11225
  e.preventDefault();
11226
+ e.stopImmediatePropagation();
11218
11227
  focusChild(el, 'prev');
11228
+ } else if (props.submenu) {
11229
+ if (e.key === (isRtl.value ? 'ArrowRight' : 'ArrowLeft')) {
11230
+ isActive.value = false;
11231
+ } else if (e.key === (isRtl.value ? 'ArrowLeft' : 'ArrowRight')) {
11232
+ e.preventDefault();
11233
+ focusChild(el, 'first');
11234
+ }
11219
11235
  }
11220
- } else if (['ArrowDown', 'ArrowUp'].includes(e.key)) {
11236
+ } else if (props.submenu ? e.key === (isRtl.value ? 'ArrowLeft' : 'ArrowRight') : ['ArrowDown', 'ArrowUp'].includes(e.key)) {
11221
11237
  isActive.value = true;
11222
11238
  e.preventDefault();
11223
11239
  setTimeout(() => setTimeout(() => onActivatorKeydown(e)));
@@ -11241,6 +11257,7 @@
11241
11257
  "onUpdate:modelValue": $event => isActive.value = $event,
11242
11258
  "absolute": true,
11243
11259
  "activatorProps": activatorProps.value,
11260
+ "location": props.location ?? (props.submenu ? 'end' : 'bottom'),
11244
11261
  "onClick:outside": onClickOutside,
11245
11262
  "onKeydown": onKeydown
11246
11263
  }, scopeId), {
@@ -30312,7 +30329,7 @@
30312
30329
  goTo
30313
30330
  };
30314
30331
  }
30315
- const version$1 = "3.7.0-beta.1-dev.2024-07-29";
30332
+ const version$1 = "3.7.0-beta.1-dev.2024-07-30";
30316
30333
  createVuetify$1.version = version$1;
30317
30334
 
30318
30335
  // Vue's inject() can only be used in setup
@@ -30565,7 +30582,7 @@
30565
30582
 
30566
30583
  /* eslint-disable local-rules/sort-imports */
30567
30584
 
30568
- const version = "3.7.0-beta.1-dev.2024-07-29";
30585
+ const version = "3.7.0-beta.1-dev.2024-07-30";
30569
30586
 
30570
30587
  /* eslint-disable local-rules/sort-imports */
30571
30588