@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
@@ -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
  */
@@ -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(() => {
@@ -9752,6 +9752,12 @@
9752
9752
  // el.style.removeProperty('max-width')
9753
9753
  // el.style.removeProperty('max-height')
9754
9754
 
9755
+ if (isRtl) {
9756
+ el.style.removeProperty('left');
9757
+ } else {
9758
+ el.style.removeProperty('right');
9759
+ }
9760
+
9755
9761
  /* eslint-disable-next-line sonarjs/prefer-immediate-return */
9756
9762
  const contentBox = nullifyTransforms(el);
9757
9763
  if (isRtl) {
@@ -10279,7 +10285,8 @@
10279
10285
  function useActivator(props, _ref) {
10280
10286
  let {
10281
10287
  isActive,
10282
- isTop
10288
+ isTop,
10289
+ contentEl
10283
10290
  } = _ref;
10284
10291
  const vm = getCurrentInstance('useActivator');
10285
10292
  const activatorEl = vue.ref();
@@ -10396,7 +10403,7 @@
10396
10403
  return events;
10397
10404
  });
10398
10405
  vue.watch(isTop, val => {
10399
- if (val && (props.openOnHover && !isHovered && (!openOnFocus.value || !isFocused) || openOnFocus.value && !isFocused && (!props.openOnHover || !isHovered))) {
10406
+ if (val && (props.openOnHover && !isHovered && (!openOnFocus.value || !isFocused) || openOnFocus.value && !isFocused && (!props.openOnHover || !isHovered)) && !contentEl.value?.contains(document.activeElement)) {
10400
10407
  isActive.value = false;
10401
10408
  }
10402
10409
  });
@@ -10802,6 +10809,9 @@
10802
10809
  attrs,
10803
10810
  emit
10804
10811
  } = _ref;
10812
+ const root = vue.ref();
10813
+ const scrimEl = vue.ref();
10814
+ const contentEl = vue.ref();
10805
10815
  const model = useProxiedModel(props, 'modelValue');
10806
10816
  const isActive = vue.computed({
10807
10817
  get: () => model.value,
@@ -10839,7 +10849,8 @@
10839
10849
  scrimEvents
10840
10850
  } = useActivator(props, {
10841
10851
  isActive,
10842
- isTop: localTop
10852
+ isTop: localTop,
10853
+ contentEl
10843
10854
  });
10844
10855
  const {
10845
10856
  teleportTarget
@@ -10860,9 +10871,6 @@
10860
10871
  vue.watch(() => props.disabled, v => {
10861
10872
  if (v) isActive.value = false;
10862
10873
  });
10863
- const root = vue.ref();
10864
- const scrimEl = vue.ref();
10865
- const contentEl = vue.ref();
10866
10874
  const {
10867
10875
  contentStyles,
10868
10876
  updateLocation
@@ -11113,10 +11121,12 @@
11113
11121
  // TODO
11114
11122
  // disableKeys: Boolean,
11115
11123
  id: String,
11124
+ submenu: Boolean,
11116
11125
  ...omit(makeVOverlayProps({
11117
11126
  closeDelay: 250,
11118
11127
  closeOnContentClick: true,
11119
11128
  locationStrategy: 'connected',
11129
+ location: undefined,
11120
11130
  openDelay: 300,
11121
11131
  scrim: false,
11122
11132
  scrollStrategy: 'reposition',
@@ -11139,6 +11149,9 @@
11139
11149
  const {
11140
11150
  scopeId
11141
11151
  } = useScopeId();
11152
+ const {
11153
+ isRtl
11154
+ } = useRtl();
11142
11155
  const uid = getUid();
11143
11156
  const id = vue.computed(() => props.id || `v-menu-${uid}`);
11144
11157
  const overlay = vue.ref();
@@ -11201,9 +11214,9 @@
11201
11214
  isActive.value = false;
11202
11215
  overlay.value?.activatorEl?.focus();
11203
11216
  }
11204
- } else if (['Enter', ' '].includes(e.key) && props.closeOnContentClick) {
11217
+ } else if (props.submenu && e.key === (isRtl.value ? 'ArrowRight' : 'ArrowLeft')) {
11205
11218
  isActive.value = false;
11206
- parent?.closeParents();
11219
+ overlay.value?.activatorEl?.focus();
11207
11220
  }
11208
11221
  }
11209
11222
  function onActivatorKeydown(e) {
@@ -11212,12 +11225,21 @@
11212
11225
  if (el && isActive.value) {
11213
11226
  if (e.key === 'ArrowDown') {
11214
11227
  e.preventDefault();
11228
+ e.stopImmediatePropagation();
11215
11229
  focusChild(el, 'next');
11216
11230
  } else if (e.key === 'ArrowUp') {
11217
11231
  e.preventDefault();
11232
+ e.stopImmediatePropagation();
11218
11233
  focusChild(el, 'prev');
11234
+ } else if (props.submenu) {
11235
+ if (e.key === (isRtl.value ? 'ArrowRight' : 'ArrowLeft')) {
11236
+ isActive.value = false;
11237
+ } else if (e.key === (isRtl.value ? 'ArrowLeft' : 'ArrowRight')) {
11238
+ e.preventDefault();
11239
+ focusChild(el, 'first');
11240
+ }
11219
11241
  }
11220
- } else if (['ArrowDown', 'ArrowUp'].includes(e.key)) {
11242
+ } else if (props.submenu ? e.key === (isRtl.value ? 'ArrowLeft' : 'ArrowRight') : ['ArrowDown', 'ArrowUp'].includes(e.key)) {
11221
11243
  isActive.value = true;
11222
11244
  e.preventDefault();
11223
11245
  setTimeout(() => setTimeout(() => onActivatorKeydown(e)));
@@ -11241,6 +11263,7 @@
11241
11263
  "onUpdate:modelValue": $event => isActive.value = $event,
11242
11264
  "absolute": true,
11243
11265
  "activatorProps": activatorProps.value,
11266
+ "location": props.location ?? (props.submenu ? 'end' : 'bottom'),
11244
11267
  "onClick:outside": onClickOutside,
11245
11268
  "onKeydown": onKeydown
11246
11269
  }, scopeId), {
@@ -30312,7 +30335,7 @@
30312
30335
  goTo
30313
30336
  };
30314
30337
  }
30315
- const version$1 = "3.6.13-3.7.0-beta.0.0-dev.2024-07-25";
30338
+ const version$1 = "3.6.13-3.7.0-beta.0.0-pr-20092.a834b18";
30316
30339
  createVuetify$1.version = version$1;
30317
30340
 
30318
30341
  // Vue's inject() can only be used in setup
@@ -30565,7 +30588,7 @@
30565
30588
 
30566
30589
  /* eslint-disable local-rules/sort-imports */
30567
30590
 
30568
- const version = "3.6.13-3.7.0-beta.0.0-dev.2024-07-25";
30591
+ const version = "3.6.13-3.7.0-beta.0.0-pr-20092.a834b18";
30569
30592
 
30570
30593
  /* eslint-disable local-rules/sort-imports */
30571
30594