@vuetify/nightly 3.6.13-3.7.0-beta.0.0-dev.2024-07-25 → 3.6.13-3.7.0-beta.0.0-pr-20092.a834b18

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 (47) hide show
  1. package/dist/json/attributes.json +107 -99
  2. package/dist/json/importMap-labs.json +24 -24
  3. package/dist/json/importMap.json +134 -134
  4. package/dist/json/tags.json +2 -0
  5. package/dist/json/web-types.json +212 -193
  6. package/dist/vuetify-labs.css +2485 -2485
  7. package/dist/vuetify-labs.d.ts +190 -106
  8. package/dist/vuetify-labs.esm.js +36 -13
  9. package/dist/vuetify-labs.esm.js.map +1 -1
  10. package/dist/vuetify-labs.js +36 -13
  11. package/dist/vuetify-labs.min.css +2 -2
  12. package/dist/vuetify.css +1495 -1495
  13. package/dist/vuetify.d.ts +237 -153
  14. package/dist/vuetify.esm.js +36 -13
  15. package/dist/vuetify.esm.js.map +1 -1
  16. package/dist/vuetify.js +36 -13
  17. package/dist/vuetify.js.map +1 -1
  18. package/dist/vuetify.min.css +2 -2
  19. package/dist/vuetify.min.js +45 -44
  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/locationStrategies.mjs +6 -0
  32. package/lib/components/VOverlay/locationStrategies.mjs.map +1 -1
  33. package/lib/components/VOverlay/useActivator.mjs +3 -2
  34. package/lib/components/VOverlay/useActivator.mjs.map +1 -1
  35. package/lib/components/VSelect/index.d.mts +42 -24
  36. package/lib/components/VSnackbar/index.d.mts +3 -3
  37. package/lib/components/VSpeedDial/index.d.mts +28 -13
  38. package/lib/components/VTooltip/index.d.mts +3 -3
  39. package/lib/components/index.d.mts +190 -106
  40. package/lib/entry-bundler.mjs +1 -1
  41. package/lib/entry-bundler.mjs.map +1 -1
  42. package/lib/framework.mjs +1 -1
  43. package/lib/framework.mjs.map +1 -1
  44. package/lib/index.d.mts +47 -47
  45. package/lib/labs/VSnackbarQueue/index.d.mts +3 -3
  46. package/lib/labs/components.d.mts +3 -3
  47. package/package.json +1 -1
package/dist/vuetify.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Vuetify v3.6.13-3.7.0-beta.0.0-dev.2024-07-25
2
+ * Vuetify v3.6.13-3.7.0-beta.0.0-pr-20092.a834b18
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(() => {
@@ -9985,6 +9985,12 @@
9985
9985
  // el.style.removeProperty('max-width')
9986
9986
  // el.style.removeProperty('max-height')
9987
9987
 
9988
+ if (isRtl) {
9989
+ el.style.removeProperty('left');
9990
+ } else {
9991
+ el.style.removeProperty('right');
9992
+ }
9993
+
9988
9994
  /* eslint-disable-next-line sonarjs/prefer-immediate-return */
9989
9995
  const contentBox = nullifyTransforms(el);
9990
9996
  if (isRtl) {
@@ -10512,7 +10518,8 @@
10512
10518
  function useActivator(props, _ref) {
10513
10519
  let {
10514
10520
  isActive,
10515
- isTop
10521
+ isTop,
10522
+ contentEl
10516
10523
  } = _ref;
10517
10524
  const vm = getCurrentInstance('useActivator');
10518
10525
  const activatorEl = vue.ref();
@@ -10629,7 +10636,7 @@
10629
10636
  return events;
10630
10637
  });
10631
10638
  vue.watch(isTop, val => {
10632
- if (val && (props.openOnHover && !isHovered && (!openOnFocus.value || !isFocused) || openOnFocus.value && !isFocused && (!props.openOnHover || !isHovered))) {
10639
+ if (val && (props.openOnHover && !isHovered && (!openOnFocus.value || !isFocused) || openOnFocus.value && !isFocused && (!props.openOnHover || !isHovered)) && !contentEl.value?.contains(document.activeElement)) {
10633
10640
  isActive.value = false;
10634
10641
  }
10635
10642
  });
@@ -11035,6 +11042,9 @@
11035
11042
  attrs,
11036
11043
  emit
11037
11044
  } = _ref;
11045
+ const root = vue.ref();
11046
+ const scrimEl = vue.ref();
11047
+ const contentEl = vue.ref();
11038
11048
  const model = useProxiedModel(props, 'modelValue');
11039
11049
  const isActive = vue.computed({
11040
11050
  get: () => model.value,
@@ -11072,7 +11082,8 @@
11072
11082
  scrimEvents
11073
11083
  } = useActivator(props, {
11074
11084
  isActive,
11075
- isTop: localTop
11085
+ isTop: localTop,
11086
+ contentEl
11076
11087
  });
11077
11088
  const {
11078
11089
  teleportTarget
@@ -11093,9 +11104,6 @@
11093
11104
  vue.watch(() => props.disabled, v => {
11094
11105
  if (v) isActive.value = false;
11095
11106
  });
11096
- const root = vue.ref();
11097
- const scrimEl = vue.ref();
11098
- const contentEl = vue.ref();
11099
11107
  const {
11100
11108
  contentStyles,
11101
11109
  updateLocation
@@ -11346,10 +11354,12 @@
11346
11354
  // TODO
11347
11355
  // disableKeys: Boolean,
11348
11356
  id: String,
11357
+ submenu: Boolean,
11349
11358
  ...omit(makeVOverlayProps({
11350
11359
  closeDelay: 250,
11351
11360
  closeOnContentClick: true,
11352
11361
  locationStrategy: 'connected',
11362
+ location: undefined,
11353
11363
  openDelay: 300,
11354
11364
  scrim: false,
11355
11365
  scrollStrategy: 'reposition',
@@ -11372,6 +11382,9 @@
11372
11382
  const {
11373
11383
  scopeId
11374
11384
  } = useScopeId();
11385
+ const {
11386
+ isRtl
11387
+ } = useRtl();
11375
11388
  const uid = getUid();
11376
11389
  const id = vue.computed(() => props.id || `v-menu-${uid}`);
11377
11390
  const overlay = vue.ref();
@@ -11434,9 +11447,9 @@
11434
11447
  isActive.value = false;
11435
11448
  overlay.value?.activatorEl?.focus();
11436
11449
  }
11437
- } else if (['Enter', ' '].includes(e.key) && props.closeOnContentClick) {
11450
+ } else if (props.submenu && e.key === (isRtl.value ? 'ArrowRight' : 'ArrowLeft')) {
11438
11451
  isActive.value = false;
11439
- parent?.closeParents();
11452
+ overlay.value?.activatorEl?.focus();
11440
11453
  }
11441
11454
  }
11442
11455
  function onActivatorKeydown(e) {
@@ -11445,12 +11458,21 @@
11445
11458
  if (el && isActive.value) {
11446
11459
  if (e.key === 'ArrowDown') {
11447
11460
  e.preventDefault();
11461
+ e.stopImmediatePropagation();
11448
11462
  focusChild(el, 'next');
11449
11463
  } else if (e.key === 'ArrowUp') {
11450
11464
  e.preventDefault();
11465
+ e.stopImmediatePropagation();
11451
11466
  focusChild(el, 'prev');
11467
+ } else if (props.submenu) {
11468
+ if (e.key === (isRtl.value ? 'ArrowRight' : 'ArrowLeft')) {
11469
+ isActive.value = false;
11470
+ } else if (e.key === (isRtl.value ? 'ArrowLeft' : 'ArrowRight')) {
11471
+ e.preventDefault();
11472
+ focusChild(el, 'first');
11473
+ }
11452
11474
  }
11453
- } else if (['ArrowDown', 'ArrowUp'].includes(e.key)) {
11475
+ } else if (props.submenu ? e.key === (isRtl.value ? 'ArrowLeft' : 'ArrowRight') : ['ArrowDown', 'ArrowUp'].includes(e.key)) {
11454
11476
  isActive.value = true;
11455
11477
  e.preventDefault();
11456
11478
  setTimeout(() => setTimeout(() => onActivatorKeydown(e)));
@@ -11474,6 +11496,7 @@
11474
11496
  "onUpdate:modelValue": $event => isActive.value = $event,
11475
11497
  "absolute": true,
11476
11498
  "activatorProps": activatorProps.value,
11499
+ "location": props.location ?? (props.submenu ? 'end' : 'bottom'),
11477
11500
  "onClick:outside": onClickOutside,
11478
11501
  "onKeydown": onKeydown
11479
11502
  }, scopeId), {
@@ -28179,7 +28202,7 @@
28179
28202
  goTo
28180
28203
  };
28181
28204
  }
28182
- const version$1 = "3.6.13-3.7.0-beta.0.0-dev.2024-07-25";
28205
+ const version$1 = "3.6.13-3.7.0-beta.0.0-pr-20092.a834b18";
28183
28206
  createVuetify$1.version = version$1;
28184
28207
 
28185
28208
  // Vue's inject() can only be used in setup
@@ -28204,7 +28227,7 @@
28204
28227
  ...options
28205
28228
  });
28206
28229
  };
28207
- const version = "3.6.13-3.7.0-beta.0.0-dev.2024-07-25";
28230
+ const version = "3.6.13-3.7.0-beta.0.0-pr-20092.a834b18";
28208
28231
  createVuetify.version = version;
28209
28232
 
28210
28233
  exports.blueprints = index;