@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
package/dist/vuetify.js CHANGED
@@ -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
  */
@@ -9195,7 +9195,7 @@
9195
9195
  function onKeyDown(e) {
9196
9196
  if (e.key === 'Enter' || e.key === ' ') {
9197
9197
  e.preventDefault();
9198
- onClick(e);
9198
+ e.target.dispatchEvent(new MouseEvent('click', e));
9199
9199
  }
9200
9200
  }
9201
9201
  useRender(() => {
@@ -10512,7 +10512,8 @@
10512
10512
  function useActivator(props, _ref) {
10513
10513
  let {
10514
10514
  isActive,
10515
- isTop
10515
+ isTop,
10516
+ contentEl
10516
10517
  } = _ref;
10517
10518
  const vm = getCurrentInstance('useActivator');
10518
10519
  const activatorEl = vue.ref();
@@ -10629,7 +10630,7 @@
10629
10630
  return events;
10630
10631
  });
10631
10632
  vue.watch(isTop, val => {
10632
- if (val && (props.openOnHover && !isHovered && (!openOnFocus.value || !isFocused) || openOnFocus.value && !isFocused && (!props.openOnHover || !isHovered))) {
10633
+ if (val && (props.openOnHover && !isHovered && (!openOnFocus.value || !isFocused) || openOnFocus.value && !isFocused && (!props.openOnHover || !isHovered)) && !contentEl.value?.contains(document.activeElement)) {
10633
10634
  isActive.value = false;
10634
10635
  }
10635
10636
  });
@@ -11035,6 +11036,9 @@
11035
11036
  attrs,
11036
11037
  emit
11037
11038
  } = _ref;
11039
+ const root = vue.ref();
11040
+ const scrimEl = vue.ref();
11041
+ const contentEl = vue.ref();
11038
11042
  const model = useProxiedModel(props, 'modelValue');
11039
11043
  const isActive = vue.computed({
11040
11044
  get: () => model.value,
@@ -11072,7 +11076,8 @@
11072
11076
  scrimEvents
11073
11077
  } = useActivator(props, {
11074
11078
  isActive,
11075
- isTop: localTop
11079
+ isTop: localTop,
11080
+ contentEl
11076
11081
  });
11077
11082
  const {
11078
11083
  teleportTarget
@@ -11093,9 +11098,6 @@
11093
11098
  vue.watch(() => props.disabled, v => {
11094
11099
  if (v) isActive.value = false;
11095
11100
  });
11096
- const root = vue.ref();
11097
- const scrimEl = vue.ref();
11098
- const contentEl = vue.ref();
11099
11101
  const {
11100
11102
  contentStyles,
11101
11103
  updateLocation
@@ -11346,10 +11348,12 @@
11346
11348
  // TODO
11347
11349
  // disableKeys: Boolean,
11348
11350
  id: String,
11351
+ submenu: Boolean,
11349
11352
  ...omit(makeVOverlayProps({
11350
11353
  closeDelay: 250,
11351
11354
  closeOnContentClick: true,
11352
11355
  locationStrategy: 'connected',
11356
+ location: undefined,
11353
11357
  openDelay: 300,
11354
11358
  scrim: false,
11355
11359
  scrollStrategy: 'reposition',
@@ -11372,6 +11376,9 @@
11372
11376
  const {
11373
11377
  scopeId
11374
11378
  } = useScopeId();
11379
+ const {
11380
+ isRtl
11381
+ } = useRtl();
11375
11382
  const uid = getUid();
11376
11383
  const id = vue.computed(() => props.id || `v-menu-${uid}`);
11377
11384
  const overlay = vue.ref();
@@ -11434,9 +11441,9 @@
11434
11441
  isActive.value = false;
11435
11442
  overlay.value?.activatorEl?.focus();
11436
11443
  }
11437
- } else if (['Enter', ' '].includes(e.key) && props.closeOnContentClick) {
11444
+ } else if (props.submenu && e.key === (isRtl.value ? 'ArrowRight' : 'ArrowLeft')) {
11438
11445
  isActive.value = false;
11439
- parent?.closeParents();
11446
+ overlay.value?.activatorEl?.focus();
11440
11447
  }
11441
11448
  }
11442
11449
  function onActivatorKeydown(e) {
@@ -11445,12 +11452,21 @@
11445
11452
  if (el && isActive.value) {
11446
11453
  if (e.key === 'ArrowDown') {
11447
11454
  e.preventDefault();
11455
+ e.stopImmediatePropagation();
11448
11456
  focusChild(el, 'next');
11449
11457
  } else if (e.key === 'ArrowUp') {
11450
11458
  e.preventDefault();
11459
+ e.stopImmediatePropagation();
11451
11460
  focusChild(el, 'prev');
11461
+ } else if (props.submenu) {
11462
+ if (e.key === (isRtl.value ? 'ArrowRight' : 'ArrowLeft')) {
11463
+ isActive.value = false;
11464
+ } else if (e.key === (isRtl.value ? 'ArrowLeft' : 'ArrowRight')) {
11465
+ e.preventDefault();
11466
+ focusChild(el, 'first');
11467
+ }
11452
11468
  }
11453
- } else if (['ArrowDown', 'ArrowUp'].includes(e.key)) {
11469
+ } else if (props.submenu ? e.key === (isRtl.value ? 'ArrowLeft' : 'ArrowRight') : ['ArrowDown', 'ArrowUp'].includes(e.key)) {
11454
11470
  isActive.value = true;
11455
11471
  e.preventDefault();
11456
11472
  setTimeout(() => setTimeout(() => onActivatorKeydown(e)));
@@ -11474,6 +11490,7 @@
11474
11490
  "onUpdate:modelValue": $event => isActive.value = $event,
11475
11491
  "absolute": true,
11476
11492
  "activatorProps": activatorProps.value,
11493
+ "location": props.location ?? (props.submenu ? 'end' : 'bottom'),
11477
11494
  "onClick:outside": onClickOutside,
11478
11495
  "onKeydown": onKeydown
11479
11496
  }, scopeId), {
@@ -28179,7 +28196,7 @@
28179
28196
  goTo
28180
28197
  };
28181
28198
  }
28182
- const version$1 = "3.7.0-beta.1-dev.2024-07-29";
28199
+ const version$1 = "3.7.0-beta.1-dev.2024-07-30";
28183
28200
  createVuetify$1.version = version$1;
28184
28201
 
28185
28202
  // Vue's inject() can only be used in setup
@@ -28204,7 +28221,7 @@
28204
28221
  ...options
28205
28222
  });
28206
28223
  };
28207
- const version = "3.7.0-beta.1-dev.2024-07-29";
28224
+ const version = "3.7.0-beta.1-dev.2024-07-30";
28208
28225
  createVuetify.version = version;
28209
28226
 
28210
28227
  exports.blueprints = index;