@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
  */
@@ -9191,7 +9191,7 @@ const VListItem = genericComponent()({
9191
9191
  function onKeyDown(e) {
9192
9192
  if (e.key === 'Enter' || e.key === ' ') {
9193
9193
  e.preventDefault();
9194
- onClick(e);
9194
+ e.target.dispatchEvent(new MouseEvent('click', e));
9195
9195
  }
9196
9196
  }
9197
9197
  useRender(() => {
@@ -9981,6 +9981,12 @@ function getIntrinsicSize(el, isRtl) {
9981
9981
  // el.style.removeProperty('max-width')
9982
9982
  // el.style.removeProperty('max-height')
9983
9983
 
9984
+ if (isRtl) {
9985
+ el.style.removeProperty('left');
9986
+ } else {
9987
+ el.style.removeProperty('right');
9988
+ }
9989
+
9984
9990
  /* eslint-disable-next-line sonarjs/prefer-immediate-return */
9985
9991
  const contentBox = nullifyTransforms(el);
9986
9992
  if (isRtl) {
@@ -10508,7 +10514,8 @@ const makeActivatorProps = propsFactory({
10508
10514
  function useActivator(props, _ref) {
10509
10515
  let {
10510
10516
  isActive,
10511
- isTop
10517
+ isTop,
10518
+ contentEl
10512
10519
  } = _ref;
10513
10520
  const vm = getCurrentInstance('useActivator');
10514
10521
  const activatorEl = ref();
@@ -10625,7 +10632,7 @@ function useActivator(props, _ref) {
10625
10632
  return events;
10626
10633
  });
10627
10634
  watch(isTop, val => {
10628
- if (val && (props.openOnHover && !isHovered && (!openOnFocus.value || !isFocused) || openOnFocus.value && !isFocused && (!props.openOnHover || !isHovered))) {
10635
+ if (val && (props.openOnHover && !isHovered && (!openOnFocus.value || !isFocused) || openOnFocus.value && !isFocused && (!props.openOnHover || !isHovered)) && !contentEl.value?.contains(document.activeElement)) {
10629
10636
  isActive.value = false;
10630
10637
  }
10631
10638
  });
@@ -11031,6 +11038,9 @@ const VOverlay = genericComponent()({
11031
11038
  attrs,
11032
11039
  emit
11033
11040
  } = _ref;
11041
+ const root = ref();
11042
+ const scrimEl = ref();
11043
+ const contentEl = ref();
11034
11044
  const model = useProxiedModel(props, 'modelValue');
11035
11045
  const isActive = computed({
11036
11046
  get: () => model.value,
@@ -11068,7 +11078,8 @@ const VOverlay = genericComponent()({
11068
11078
  scrimEvents
11069
11079
  } = useActivator(props, {
11070
11080
  isActive,
11071
- isTop: localTop
11081
+ isTop: localTop,
11082
+ contentEl
11072
11083
  });
11073
11084
  const {
11074
11085
  teleportTarget
@@ -11089,9 +11100,6 @@ const VOverlay = genericComponent()({
11089
11100
  watch(() => props.disabled, v => {
11090
11101
  if (v) isActive.value = false;
11091
11102
  });
11092
- const root = ref();
11093
- const scrimEl = ref();
11094
- const contentEl = ref();
11095
11103
  const {
11096
11104
  contentStyles,
11097
11105
  updateLocation
@@ -11342,10 +11350,12 @@ const makeVMenuProps = propsFactory({
11342
11350
  // TODO
11343
11351
  // disableKeys: Boolean,
11344
11352
  id: String,
11353
+ submenu: Boolean,
11345
11354
  ...omit(makeVOverlayProps({
11346
11355
  closeDelay: 250,
11347
11356
  closeOnContentClick: true,
11348
11357
  locationStrategy: 'connected',
11358
+ location: undefined,
11349
11359
  openDelay: 300,
11350
11360
  scrim: false,
11351
11361
  scrollStrategy: 'reposition',
@@ -11368,6 +11378,9 @@ const VMenu = genericComponent()({
11368
11378
  const {
11369
11379
  scopeId
11370
11380
  } = useScopeId();
11381
+ const {
11382
+ isRtl
11383
+ } = useRtl();
11371
11384
  const uid = getUid();
11372
11385
  const id = computed(() => props.id || `v-menu-${uid}`);
11373
11386
  const overlay = ref();
@@ -11430,9 +11443,9 @@ const VMenu = genericComponent()({
11430
11443
  isActive.value = false;
11431
11444
  overlay.value?.activatorEl?.focus();
11432
11445
  }
11433
- } else if (['Enter', ' '].includes(e.key) && props.closeOnContentClick) {
11446
+ } else if (props.submenu && e.key === (isRtl.value ? 'ArrowRight' : 'ArrowLeft')) {
11434
11447
  isActive.value = false;
11435
- parent?.closeParents();
11448
+ overlay.value?.activatorEl?.focus();
11436
11449
  }
11437
11450
  }
11438
11451
  function onActivatorKeydown(e) {
@@ -11441,12 +11454,21 @@ const VMenu = genericComponent()({
11441
11454
  if (el && isActive.value) {
11442
11455
  if (e.key === 'ArrowDown') {
11443
11456
  e.preventDefault();
11457
+ e.stopImmediatePropagation();
11444
11458
  focusChild(el, 'next');
11445
11459
  } else if (e.key === 'ArrowUp') {
11446
11460
  e.preventDefault();
11461
+ e.stopImmediatePropagation();
11447
11462
  focusChild(el, 'prev');
11463
+ } else if (props.submenu) {
11464
+ if (e.key === (isRtl.value ? 'ArrowRight' : 'ArrowLeft')) {
11465
+ isActive.value = false;
11466
+ } else if (e.key === (isRtl.value ? 'ArrowLeft' : 'ArrowRight')) {
11467
+ e.preventDefault();
11468
+ focusChild(el, 'first');
11469
+ }
11448
11470
  }
11449
- } else if (['ArrowDown', 'ArrowUp'].includes(e.key)) {
11471
+ } else if (props.submenu ? e.key === (isRtl.value ? 'ArrowLeft' : 'ArrowRight') : ['ArrowDown', 'ArrowUp'].includes(e.key)) {
11450
11472
  isActive.value = true;
11451
11473
  e.preventDefault();
11452
11474
  setTimeout(() => setTimeout(() => onActivatorKeydown(e)));
@@ -11470,6 +11492,7 @@ const VMenu = genericComponent()({
11470
11492
  "onUpdate:modelValue": $event => isActive.value = $event,
11471
11493
  "absolute": true,
11472
11494
  "activatorProps": activatorProps.value,
11495
+ "location": props.location ?? (props.submenu ? 'end' : 'bottom'),
11473
11496
  "onClick:outside": onClickOutside,
11474
11497
  "onKeydown": onKeydown
11475
11498
  }, scopeId), {
@@ -28175,7 +28198,7 @@ function createVuetify$1() {
28175
28198
  goTo
28176
28199
  };
28177
28200
  }
28178
- const version$1 = "3.6.13-3.7.0-beta.0.0-dev.2024-07-25";
28201
+ const version$1 = "3.6.13-3.7.0-beta.0.0-pr-20092.a834b18";
28179
28202
  createVuetify$1.version = version$1;
28180
28203
 
28181
28204
  // Vue's inject() can only be used in setup
@@ -28200,7 +28223,7 @@ const createVuetify = function () {
28200
28223
  ...options
28201
28224
  });
28202
28225
  };
28203
- const version = "3.6.13-3.7.0-beta.0.0-dev.2024-07-25";
28226
+ const version = "3.6.13-3.7.0-beta.0.0-pr-20092.a834b18";
28204
28227
  createVuetify.version = version;
28205
28228
 
28206
28229
  export { index as blueprints, components, createVuetify, directives, useDate, useDefaults, useDisplay, useGoTo, useLayout, useLocale, useRtl, useTheme, version };