@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
  */
@@ -8958,7 +8958,7 @@ const VListItem = genericComponent()({
8958
8958
  function onKeyDown(e) {
8959
8959
  if (e.key === 'Enter' || e.key === ' ') {
8960
8960
  e.preventDefault();
8961
- onClick(e);
8961
+ e.target.dispatchEvent(new MouseEvent('click', e));
8962
8962
  }
8963
8963
  }
8964
8964
  useRender(() => {
@@ -9748,6 +9748,12 @@ function getIntrinsicSize(el, isRtl) {
9748
9748
  // el.style.removeProperty('max-width')
9749
9749
  // el.style.removeProperty('max-height')
9750
9750
 
9751
+ if (isRtl) {
9752
+ el.style.removeProperty('left');
9753
+ } else {
9754
+ el.style.removeProperty('right');
9755
+ }
9756
+
9751
9757
  /* eslint-disable-next-line sonarjs/prefer-immediate-return */
9752
9758
  const contentBox = nullifyTransforms(el);
9753
9759
  if (isRtl) {
@@ -10275,7 +10281,8 @@ const makeActivatorProps = propsFactory({
10275
10281
  function useActivator(props, _ref) {
10276
10282
  let {
10277
10283
  isActive,
10278
- isTop
10284
+ isTop,
10285
+ contentEl
10279
10286
  } = _ref;
10280
10287
  const vm = getCurrentInstance('useActivator');
10281
10288
  const activatorEl = ref();
@@ -10392,7 +10399,7 @@ function useActivator(props, _ref) {
10392
10399
  return events;
10393
10400
  });
10394
10401
  watch(isTop, val => {
10395
- if (val && (props.openOnHover && !isHovered && (!openOnFocus.value || !isFocused) || openOnFocus.value && !isFocused && (!props.openOnHover || !isHovered))) {
10402
+ if (val && (props.openOnHover && !isHovered && (!openOnFocus.value || !isFocused) || openOnFocus.value && !isFocused && (!props.openOnHover || !isHovered)) && !contentEl.value?.contains(document.activeElement)) {
10396
10403
  isActive.value = false;
10397
10404
  }
10398
10405
  });
@@ -10798,6 +10805,9 @@ const VOverlay = genericComponent()({
10798
10805
  attrs,
10799
10806
  emit
10800
10807
  } = _ref;
10808
+ const root = ref();
10809
+ const scrimEl = ref();
10810
+ const contentEl = ref();
10801
10811
  const model = useProxiedModel(props, 'modelValue');
10802
10812
  const isActive = computed({
10803
10813
  get: () => model.value,
@@ -10835,7 +10845,8 @@ const VOverlay = genericComponent()({
10835
10845
  scrimEvents
10836
10846
  } = useActivator(props, {
10837
10847
  isActive,
10838
- isTop: localTop
10848
+ isTop: localTop,
10849
+ contentEl
10839
10850
  });
10840
10851
  const {
10841
10852
  teleportTarget
@@ -10856,9 +10867,6 @@ const VOverlay = genericComponent()({
10856
10867
  watch(() => props.disabled, v => {
10857
10868
  if (v) isActive.value = false;
10858
10869
  });
10859
- const root = ref();
10860
- const scrimEl = ref();
10861
- const contentEl = ref();
10862
10870
  const {
10863
10871
  contentStyles,
10864
10872
  updateLocation
@@ -11109,10 +11117,12 @@ const makeVMenuProps = propsFactory({
11109
11117
  // TODO
11110
11118
  // disableKeys: Boolean,
11111
11119
  id: String,
11120
+ submenu: Boolean,
11112
11121
  ...omit(makeVOverlayProps({
11113
11122
  closeDelay: 250,
11114
11123
  closeOnContentClick: true,
11115
11124
  locationStrategy: 'connected',
11125
+ location: undefined,
11116
11126
  openDelay: 300,
11117
11127
  scrim: false,
11118
11128
  scrollStrategy: 'reposition',
@@ -11135,6 +11145,9 @@ const VMenu = genericComponent()({
11135
11145
  const {
11136
11146
  scopeId
11137
11147
  } = useScopeId();
11148
+ const {
11149
+ isRtl
11150
+ } = useRtl();
11138
11151
  const uid = getUid();
11139
11152
  const id = computed(() => props.id || `v-menu-${uid}`);
11140
11153
  const overlay = ref();
@@ -11197,9 +11210,9 @@ const VMenu = genericComponent()({
11197
11210
  isActive.value = false;
11198
11211
  overlay.value?.activatorEl?.focus();
11199
11212
  }
11200
- } else if (['Enter', ' '].includes(e.key) && props.closeOnContentClick) {
11213
+ } else if (props.submenu && e.key === (isRtl.value ? 'ArrowRight' : 'ArrowLeft')) {
11201
11214
  isActive.value = false;
11202
- parent?.closeParents();
11215
+ overlay.value?.activatorEl?.focus();
11203
11216
  }
11204
11217
  }
11205
11218
  function onActivatorKeydown(e) {
@@ -11208,12 +11221,21 @@ const VMenu = genericComponent()({
11208
11221
  if (el && isActive.value) {
11209
11222
  if (e.key === 'ArrowDown') {
11210
11223
  e.preventDefault();
11224
+ e.stopImmediatePropagation();
11211
11225
  focusChild(el, 'next');
11212
11226
  } else if (e.key === 'ArrowUp') {
11213
11227
  e.preventDefault();
11228
+ e.stopImmediatePropagation();
11214
11229
  focusChild(el, 'prev');
11230
+ } else if (props.submenu) {
11231
+ if (e.key === (isRtl.value ? 'ArrowRight' : 'ArrowLeft')) {
11232
+ isActive.value = false;
11233
+ } else if (e.key === (isRtl.value ? 'ArrowLeft' : 'ArrowRight')) {
11234
+ e.preventDefault();
11235
+ focusChild(el, 'first');
11236
+ }
11215
11237
  }
11216
- } else if (['ArrowDown', 'ArrowUp'].includes(e.key)) {
11238
+ } else if (props.submenu ? e.key === (isRtl.value ? 'ArrowLeft' : 'ArrowRight') : ['ArrowDown', 'ArrowUp'].includes(e.key)) {
11217
11239
  isActive.value = true;
11218
11240
  e.preventDefault();
11219
11241
  setTimeout(() => setTimeout(() => onActivatorKeydown(e)));
@@ -11237,6 +11259,7 @@ const VMenu = genericComponent()({
11237
11259
  "onUpdate:modelValue": $event => isActive.value = $event,
11238
11260
  "absolute": true,
11239
11261
  "activatorProps": activatorProps.value,
11262
+ "location": props.location ?? (props.submenu ? 'end' : 'bottom'),
11240
11263
  "onClick:outside": onClickOutside,
11241
11264
  "onKeydown": onKeydown
11242
11265
  }, scopeId), {
@@ -30308,7 +30331,7 @@ function createVuetify$1() {
30308
30331
  goTo
30309
30332
  };
30310
30333
  }
30311
- const version$1 = "3.6.13-3.7.0-beta.0.0-dev.2024-07-25";
30334
+ const version$1 = "3.6.13-3.7.0-beta.0.0-pr-20092.a834b18";
30312
30335
  createVuetify$1.version = version$1;
30313
30336
 
30314
30337
  // Vue's inject() can only be used in setup
@@ -30561,7 +30584,7 @@ var index = /*#__PURE__*/Object.freeze({
30561
30584
 
30562
30585
  /* eslint-disable local-rules/sort-imports */
30563
30586
 
30564
- const version = "3.6.13-3.7.0-beta.0.0-dev.2024-07-25";
30587
+ const version = "3.6.13-3.7.0-beta.0.0-pr-20092.a834b18";
30565
30588
 
30566
30589
  /* eslint-disable local-rules/sort-imports */
30567
30590