@vuetify/nightly 3.6.3-master.2024-05-07 → 3.6.4-master.2024-05-08

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 (85) hide show
  1. package/CHANGELOG.md +2 -17
  2. package/dist/json/attributes.json +30 -30
  3. package/dist/json/importMap-labs.json +14 -14
  4. package/dist/json/importMap.json +110 -110
  5. package/dist/json/web-types.json +63 -63
  6. package/dist/vuetify-labs.css +2972 -2948
  7. package/dist/vuetify-labs.d.ts +995 -966
  8. package/dist/vuetify-labs.esm.js +88 -61
  9. package/dist/vuetify-labs.esm.js.map +1 -1
  10. package/dist/vuetify-labs.js +87 -60
  11. package/dist/vuetify-labs.min.css +2 -2
  12. package/dist/vuetify.css +1224 -1204
  13. package/dist/vuetify.d.ts +964 -935
  14. package/dist/vuetify.esm.js +88 -61
  15. package/dist/vuetify.esm.js.map +1 -1
  16. package/dist/vuetify.js +87 -60
  17. package/dist/vuetify.js.map +1 -1
  18. package/dist/vuetify.min.css +2 -2
  19. package/dist/vuetify.min.js +980 -976
  20. package/dist/vuetify.min.js.map +1 -1
  21. package/lib/components/VAutocomplete/index.d.mts +169 -140
  22. package/lib/components/VBottomSheet/index.d.mts +33 -27
  23. package/lib/components/VColorPicker/VColorPickerCanvas.mjs +1 -1
  24. package/lib/components/VColorPicker/VColorPickerCanvas.mjs.map +1 -1
  25. package/lib/components/VCombobox/index.d.mts +169 -140
  26. package/lib/components/VDataIterator/index.d.mts +1 -1
  27. package/lib/components/VDataTable/VDataTable.css +1 -1
  28. package/lib/components/VDataTable/VDataTable.sass +2 -1
  29. package/lib/components/VDataTable/VDataTableHeaders.mjs +1 -1
  30. package/lib/components/VDataTable/VDataTableHeaders.mjs.map +1 -1
  31. package/lib/components/VDataTable/VDataTableVirtual.mjs.map +1 -1
  32. package/lib/components/VDataTable/composables/select.mjs +2 -1
  33. package/lib/components/VDataTable/composables/select.mjs.map +1 -1
  34. package/lib/components/VDataTable/index.d.mts +10 -5
  35. package/lib/components/VDatePicker/VDatePickerYears.mjs +4 -4
  36. package/lib/components/VDatePicker/VDatePickerYears.mjs.map +1 -1
  37. package/lib/components/VDialog/index.d.mts +99 -93
  38. package/lib/components/VInfiniteScroll/VInfiniteScroll.mjs +1 -1
  39. package/lib/components/VInfiniteScroll/VInfiniteScroll.mjs.map +1 -1
  40. package/lib/components/VList/VList.mjs.map +1 -1
  41. package/lib/components/VList/index.d.mts +70 -46
  42. package/lib/components/VMenu/index.d.mts +99 -93
  43. package/lib/components/VOverlay/VOverlay.mjs.map +1 -1
  44. package/lib/components/VOverlay/index.d.mts +33 -27
  45. package/lib/components/VOverlay/useActivator.mjs +5 -5
  46. package/lib/components/VOverlay/useActivator.mjs.map +1 -1
  47. package/lib/components/VSelect/index.d.mts +169 -140
  48. package/lib/components/VSheet/VSheet.css +1 -1
  49. package/lib/components/VSheet/_variables.scss +1 -1
  50. package/lib/components/VSlideGroup/VSlideGroup.mjs +25 -25
  51. package/lib/components/VSlideGroup/VSlideGroup.mjs.map +1 -1
  52. package/lib/components/VSlider/VSliderThumb.css +5 -0
  53. package/lib/components/VSlider/VSliderThumb.sass +3 -0
  54. package/lib/components/VSlider/VSliderTrack.css +15 -0
  55. package/lib/components/VSlider/VSliderTrack.sass +9 -0
  56. package/lib/components/VSnackbar/index.d.mts +85 -79
  57. package/lib/components/VSpeedDial/index.d.mts +33 -27
  58. package/lib/components/VStepper/VStepperWindow.mjs +2 -1
  59. package/lib/components/VStepper/VStepperWindow.mjs.map +1 -1
  60. package/lib/components/VStepper/VStepperWindowItem.mjs +2 -1
  61. package/lib/components/VStepper/VStepperWindowItem.mjs.map +1 -1
  62. package/lib/components/VTabs/VTabsWindow.mjs +2 -1
  63. package/lib/components/VTabs/VTabsWindow.mjs.map +1 -1
  64. package/lib/components/VTooltip/index.d.mts +99 -93
  65. package/lib/components/VVirtualScroll/VVirtualScrollItem.mjs.map +1 -1
  66. package/lib/components/index.d.mts +926 -897
  67. package/lib/composables/nested/activeStrategies.mjs +16 -10
  68. package/lib/composables/nested/activeStrategies.mjs.map +1 -1
  69. package/lib/composables/nested/nested.mjs +7 -5
  70. package/lib/composables/nested/nested.mjs.map +1 -1
  71. package/lib/composables/resizeObserver.mjs +5 -5
  72. package/lib/composables/resizeObserver.mjs.map +1 -1
  73. package/lib/entry-bundler.mjs +1 -1
  74. package/lib/framework.mjs +1 -1
  75. package/lib/index.d.mts +38 -38
  76. package/lib/labs/VCalendar/VCalendar.css +5 -1
  77. package/lib/labs/VCalendar/VCalendar.sass +3 -2
  78. package/lib/labs/VCalendar/_variables.scss +8 -0
  79. package/lib/labs/VSnackbarQueue/index.d.mts +97 -91
  80. package/lib/labs/VTreeview/VTreeview.mjs.map +1 -1
  81. package/lib/labs/VTreeview/index.d.mts +82 -58
  82. package/lib/labs/components.d.mts +178 -149
  83. package/lib/util/helpers.mjs +16 -0
  84. package/lib/util/helpers.mjs.map +1 -1
  85. package/package.json +1 -1
@@ -1,10 +1,10 @@
1
1
  /*!
2
- * Vuetify v3.6.3-master.2024-05-07
2
+ * Vuetify v3.6.4-master.2024-05-08
3
3
  * Forged by John Leider
4
4
  * Released under the MIT License.
5
5
  */
6
6
 
7
- import { Fragment, reactive, computed, watchEffect, toRefs, capitalize, isVNode, Comment, shallowRef, readonly, unref, warn, ref, provide, inject as inject$1, defineComponent as defineComponent$1, camelize, h, getCurrentInstance as getCurrentInstance$1, onBeforeUnmount, watch, nextTick, onDeactivated, onActivated, onScopeDispose, effectScope, toRaw, createVNode, Suspense, TransitionGroup, Transition, mergeProps, isRef, toRef, onBeforeMount, withDirectives, resolveDirective, vShow, onMounted, onUpdated, Text, resolveDynamicComponent, markRaw, Teleport, cloneVNode, createTextVNode, onUnmounted, onBeforeUpdate, withModifiers, toDisplayString, vModelText, resolveComponent, render } from 'vue';
7
+ import { shallowRef, Fragment, reactive, computed, watchEffect, toRefs, capitalize, isVNode, Comment, readonly, unref, warn, ref, provide, inject as inject$1, defineComponent as defineComponent$1, camelize, h, getCurrentInstance as getCurrentInstance$1, onBeforeUnmount, watch, nextTick, onDeactivated, onActivated, onScopeDispose, effectScope, toRaw, createVNode, Suspense, TransitionGroup, Transition, mergeProps, isRef, toRef, onBeforeMount, withDirectives, resolveDirective, vShow, onMounted, onUpdated, Text, resolveDynamicComponent, markRaw, Teleport, cloneVNode, createTextVNode, onUnmounted, onBeforeUpdate, withModifiers, toDisplayString, vModelText, resolveComponent, render } from 'vue';
8
8
 
9
9
  // Types
10
10
  // eslint-disable-line vue/prefer-import-from-vue
@@ -557,6 +557,22 @@ function isClickInsideElement(event, targetDiv) {
557
557
  const divBottom = divRect.bottom;
558
558
  return mouseX >= divLeft && mouseX <= divRight && mouseY >= divTop && mouseY <= divBottom;
559
559
  }
560
+ function templateRef() {
561
+ const el = shallowRef();
562
+ const fn = target => {
563
+ el.value = target;
564
+ };
565
+ Object.defineProperty(fn, 'value', {
566
+ enumerable: true,
567
+ get: () => el.value,
568
+ set: val => el.value = val
569
+ });
570
+ Object.defineProperty(fn, 'el', {
571
+ enumerable: true,
572
+ get: () => refElement(el.value)
573
+ });
574
+ return fn;
575
+ }
560
576
 
561
577
  // Utilities
562
578
  const block = ['top', 'bottom'];
@@ -1565,7 +1581,7 @@ function useRender(render) {
1565
1581
 
1566
1582
  function useResizeObserver(callback) {
1567
1583
  let box = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'content';
1568
- const resizeRef = ref();
1584
+ const resizeRef = templateRef();
1569
1585
  const contentRect = ref();
1570
1586
  if (IN_BROWSER) {
1571
1587
  const observer = new ResizeObserver(entries => {
@@ -1580,12 +1596,12 @@ function useResizeObserver(callback) {
1580
1596
  onBeforeUnmount(() => {
1581
1597
  observer.disconnect();
1582
1598
  });
1583
- watch(resizeRef, (newValue, oldValue) => {
1599
+ watch(() => resizeRef.el, (newValue, oldValue) => {
1584
1600
  if (oldValue) {
1585
- observer.unobserve(refElement(oldValue));
1601
+ observer.unobserve(oldValue);
1586
1602
  contentRect.value = undefined;
1587
1603
  }
1588
- if (newValue) observer.observe(refElement(newValue));
1604
+ if (newValue) observer.observe(newValue);
1589
1605
  }, {
1590
1606
  flush: 'post'
1591
1607
  });
@@ -7384,7 +7400,7 @@ const VSlideGroup = genericComponent()({
7384
7400
  const goTo = useGoTo();
7385
7401
  const goToOptions = computed(() => {
7386
7402
  return {
7387
- container: containerRef.value,
7403
+ container: containerRef.el,
7388
7404
  duration: 200,
7389
7405
  easing: 'easeOutQuart'
7390
7406
  };
@@ -7408,9 +7424,9 @@ const VSlideGroup = genericComponent()({
7408
7424
  contentSize.value = contentRect.value[sizeProperty];
7409
7425
  isOverflowing.value = containerSize.value + 1 < contentSize.value;
7410
7426
  }
7411
- if (firstSelectedIndex.value >= 0 && contentRef.value) {
7427
+ if (firstSelectedIndex.value >= 0 && contentRef.el) {
7412
7428
  // TODO: Is this too naive? Should we store element references in group composable?
7413
- const selectedElement = contentRef.value.children[lastSelectedIndex.value];
7429
+ const selectedElement = contentRef.el.children[lastSelectedIndex.value];
7414
7430
  scrollToChildren(selectedElement, props.centerActive);
7415
7431
  }
7416
7432
  });
@@ -7421,13 +7437,13 @@ const VSlideGroup = genericComponent()({
7421
7437
  let target = 0;
7422
7438
  if (center) {
7423
7439
  target = calculateCenteredTarget({
7424
- containerElement: containerRef.value,
7440
+ containerElement: containerRef.el,
7425
7441
  isHorizontal: isHorizontal.value,
7426
7442
  selectedElement: children
7427
7443
  });
7428
7444
  } else {
7429
7445
  target = calculateUpdatedTarget({
7430
- containerElement: containerRef.value,
7446
+ containerElement: containerRef.el,
7431
7447
  isHorizontal: isHorizontal.value,
7432
7448
  isRtl: isRtl.value,
7433
7449
  selectedElement: children
@@ -7436,18 +7452,18 @@ const VSlideGroup = genericComponent()({
7436
7452
  scrollToPosition(target);
7437
7453
  }
7438
7454
  function scrollToPosition(newPosition) {
7439
- if (!IN_BROWSER || !containerRef.value) return;
7440
- const offsetSize = getOffsetSize(isHorizontal.value, containerRef.value);
7441
- const scrollPosition = getScrollPosition(isHorizontal.value, isRtl.value, containerRef.value);
7442
- const scrollSize = getScrollSize(isHorizontal.value, containerRef.value);
7455
+ if (!IN_BROWSER || !containerRef.el) return;
7456
+ const offsetSize = getOffsetSize(isHorizontal.value, containerRef.el);
7457
+ const scrollPosition = getScrollPosition(isHorizontal.value, isRtl.value, containerRef.el);
7458
+ const scrollSize = getScrollSize(isHorizontal.value, containerRef.el);
7443
7459
  if (scrollSize <= offsetSize ||
7444
7460
  // Prevent scrolling by only a couple of pixels, which doesn't look smooth
7445
7461
  Math.abs(newPosition - scrollPosition) < 16) return;
7446
- if (isHorizontal.value && isRtl.value && containerRef.value) {
7462
+ if (isHorizontal.value && isRtl.value && containerRef.el) {
7447
7463
  const {
7448
7464
  scrollWidth,
7449
7465
  offsetWidth: containerWidth
7450
- } = containerRef.value;
7466
+ } = containerRef.el;
7451
7467
  newPosition = scrollWidth - containerWidth - newPosition;
7452
7468
  }
7453
7469
  if (isHorizontal.value) {
@@ -7465,12 +7481,12 @@ const VSlideGroup = genericComponent()({
7465
7481
  }
7466
7482
  function onFocusin(e) {
7467
7483
  isFocused.value = true;
7468
- if (!isOverflowing.value || !contentRef.value) return;
7484
+ if (!isOverflowing.value || !contentRef.el) return;
7469
7485
 
7470
7486
  // Focused element is likely to be the root of an item, so a
7471
7487
  // breadth-first search will probably find it in the first iteration
7472
7488
  for (const el of e.composedPath()) {
7473
- for (const item of contentRef.value.children) {
7489
+ for (const item of contentRef.el.children) {
7474
7490
  if (item === el) {
7475
7491
  scrollToChildren(item);
7476
7492
  return;
@@ -7485,14 +7501,14 @@ const VSlideGroup = genericComponent()({
7485
7501
  // Affix clicks produce onFocus that we have to ignore to avoid extra scrollToChildren
7486
7502
  let ignoreFocusEvent = false;
7487
7503
  function onFocus(e) {
7488
- if (!ignoreFocusEvent && !isFocused.value && !(e.relatedTarget && contentRef.value?.contains(e.relatedTarget))) focus();
7504
+ if (!ignoreFocusEvent && !isFocused.value && !(e.relatedTarget && contentRef.el?.contains(e.relatedTarget))) focus();
7489
7505
  ignoreFocusEvent = false;
7490
7506
  }
7491
7507
  function onFocusAffixes() {
7492
7508
  ignoreFocusEvent = true;
7493
7509
  }
7494
7510
  function onKeydown(e) {
7495
- if (!contentRef.value) return;
7511
+ if (!contentRef.el) return;
7496
7512
  function toFocus(location) {
7497
7513
  e.preventDefault();
7498
7514
  focus(location);
@@ -7517,21 +7533,21 @@ const VSlideGroup = genericComponent()({
7517
7533
  }
7518
7534
  }
7519
7535
  function focus(location) {
7520
- if (!contentRef.value) return;
7536
+ if (!contentRef.el) return;
7521
7537
  let el;
7522
7538
  if (!location) {
7523
- const focusable = focusableChildren(contentRef.value);
7539
+ const focusable = focusableChildren(contentRef.el);
7524
7540
  el = focusable[0];
7525
7541
  } else if (location === 'next') {
7526
- el = contentRef.value.querySelector(':focus')?.nextElementSibling;
7542
+ el = contentRef.el.querySelector(':focus')?.nextElementSibling;
7527
7543
  if (!el) return focus('first');
7528
7544
  } else if (location === 'prev') {
7529
- el = contentRef.value.querySelector(':focus')?.previousElementSibling;
7545
+ el = contentRef.el.querySelector(':focus')?.previousElementSibling;
7530
7546
  if (!el) return focus('last');
7531
7547
  } else if (location === 'first') {
7532
- el = contentRef.value.firstElementChild;
7548
+ el = contentRef.el.firstElementChild;
7533
7549
  } else if (location === 'last') {
7534
- el = contentRef.value.lastElementChild;
7550
+ el = contentRef.el.lastElementChild;
7535
7551
  }
7536
7552
  if (el) {
7537
7553
  el.focus({
@@ -7545,11 +7561,11 @@ const VSlideGroup = genericComponent()({
7545
7561
  let newPosition = scrollOffset.value + offsetStep;
7546
7562
 
7547
7563
  // TODO: improve it
7548
- if (isHorizontal.value && isRtl.value && containerRef.value) {
7564
+ if (isHorizontal.value && isRtl.value && containerRef.el) {
7549
7565
  const {
7550
7566
  scrollWidth,
7551
7567
  offsetWidth: containerWidth
7552
- } = containerRef.value;
7568
+ } = containerRef.el;
7553
7569
  newPosition += scrollWidth - containerWidth;
7554
7570
  }
7555
7571
  scrollToPosition(newPosition);
@@ -7592,8 +7608,8 @@ const VSlideGroup = genericComponent()({
7592
7608
  });
7593
7609
  const hasNext = computed(() => {
7594
7610
  if (!containerRef.value) return false;
7595
- const scrollSize = getScrollSize(isHorizontal.value, containerRef.value);
7596
- const clientSize = getClientSize(isHorizontal.value, containerRef.value);
7611
+ const scrollSize = getScrollSize(isHorizontal.value, containerRef.el);
7612
+ const clientSize = getClientSize(isHorizontal.value, containerRef.el);
7597
7613
  const scrollSizeMax = scrollSize - clientSize;
7598
7614
 
7599
7615
  // 1 pixel in reserve, may be lost after rounding
@@ -8017,14 +8033,16 @@ const independentActiveStrategy = mandatory => {
8017
8033
  },
8018
8034
  in: (v, children, parents) => {
8019
8035
  let set = new Set();
8020
- for (const id of v || []) {
8021
- set = strategy.activate({
8022
- id,
8023
- value: true,
8024
- activated: new Set(set),
8025
- children,
8026
- parents
8027
- });
8036
+ if (v != null) {
8037
+ for (const id of wrapInArray(v)) {
8038
+ set = strategy.activate({
8039
+ id,
8040
+ value: true,
8041
+ activated: new Set(set),
8042
+ children,
8043
+ parents
8044
+ });
8045
+ }
8028
8046
  }
8029
8047
  return set;
8030
8048
  },
@@ -8053,8 +8071,11 @@ const independentSingleActiveStrategy = mandatory => {
8053
8071
  },
8054
8072
  in: (v, children, parents) => {
8055
8073
  let set = new Set();
8056
- if (v?.length) {
8057
- set = parentStrategy.in(v.slice(0, 1), children, parents);
8074
+ if (v != null) {
8075
+ const arr = wrapInArray(v);
8076
+ if (arr.length) {
8077
+ set = parentStrategy.in(arr.slice(0, 1), children, parents);
8078
+ }
8058
8079
  }
8059
8080
  return set;
8060
8081
  },
@@ -8398,12 +8419,12 @@ const emptyNested = {
8398
8419
  const makeNestedProps = propsFactory({
8399
8420
  activatable: Boolean,
8400
8421
  selectable: Boolean,
8401
- activeStrategy: [String, Function],
8402
- selectStrategy: [String, Function],
8422
+ activeStrategy: [String, Function, Object],
8423
+ selectStrategy: [String, Function, Object],
8403
8424
  openStrategy: [String, Object],
8404
- opened: Array,
8405
- activated: Array,
8406
- selected: Array,
8425
+ opened: null,
8426
+ activated: null,
8427
+ selected: null,
8407
8428
  mandatory: Boolean
8408
8429
  }, 'nested');
8409
8430
  const useNested = props => {
@@ -8413,6 +8434,7 @@ const useNested = props => {
8413
8434
  const opened = useProxiedModel(props, 'opened', props.opened, v => new Set(v), v => [...v.values()]);
8414
8435
  const activeStrategy = computed(() => {
8415
8436
  if (typeof props.activeStrategy === 'object') return props.activeStrategy;
8437
+ if (typeof props.activeStrategy === 'function') return props.activeStrategy(props.mandatory);
8416
8438
  switch (props.activeStrategy) {
8417
8439
  case 'leaf':
8418
8440
  return leafActiveStrategy(props.mandatory);
@@ -8427,6 +8449,7 @@ const useNested = props => {
8427
8449
  });
8428
8450
  const selectStrategy = computed(() => {
8429
8451
  if (typeof props.selectStrategy === 'object') return props.selectStrategy;
8452
+ if (typeof props.selectStrategy === 'function') return props.selectStrategy(props.mandatory);
8430
8453
  switch (props.selectStrategy) {
8431
8454
  case 'single-leaf':
8432
8455
  return leafSingleSelectStrategy(props.mandatory);
@@ -10327,17 +10350,17 @@ function useActivator(props, _ref) {
10327
10350
  }, {
10328
10351
  flush: 'post'
10329
10352
  });
10330
- const activatorRef = ref();
10353
+ const activatorRef = templateRef();
10331
10354
  watchEffect(() => {
10332
10355
  if (!activatorRef.value) return;
10333
10356
  nextTick(() => {
10334
- activatorEl.value = refElement(activatorRef.value);
10357
+ activatorEl.value = activatorRef.el;
10335
10358
  });
10336
10359
  });
10337
- const targetRef = ref();
10360
+ const targetRef = templateRef();
10338
10361
  const target = computed(() => {
10339
10362
  if (props.target === 'cursor' && cursorTarget.value) return cursorTarget.value;
10340
- if (targetRef.value) return refElement(targetRef.value);
10363
+ if (targetRef.value) return targetRef.el;
10341
10364
  return getTarget(props.target, vm) || activatorEl.value;
10342
10365
  });
10343
10366
  const targetEl = computed(() => {
@@ -14806,7 +14829,7 @@ const VColorPickerCanvas = defineComponent({
14806
14829
  const {
14807
14830
  resizeRef
14808
14831
  } = useResizeObserver(entries => {
14809
- if (!resizeRef.value?.offsetParent) return;
14832
+ if (!resizeRef.el?.offsetParent) return;
14810
14833
  const {
14811
14834
  width,
14812
14835
  height
@@ -18429,6 +18452,7 @@ function provideSelection(props, _ref9) {
18429
18452
  });
18430
18453
  return !!items.length && isSelected(items);
18431
18454
  });
18455
+ const showSelectAll = computed(() => selectStrategy.value.showSelectAll);
18432
18456
  const data = {
18433
18457
  toggleSelect,
18434
18458
  select,
@@ -18437,7 +18461,7 @@ function provideSelection(props, _ref9) {
18437
18461
  isSomeSelected,
18438
18462
  someSelected,
18439
18463
  allSelected,
18440
- showSelectAll: selectStrategy.value.showSelectAll
18464
+ showSelectAll
18441
18465
  };
18442
18466
  provide(VDataTableSelectionSymbol, data);
18443
18467
  return data;
@@ -19708,7 +19732,7 @@ const VDataTableHeaders = genericComponent()({
19708
19732
  };
19709
19733
  if (slots[columnSlotName]) return slots[columnSlotName](columnSlotProps);
19710
19734
  if (column.key === 'data-table-select') {
19711
- return slots['header.data-table-select']?.(columnSlotProps) ?? (showSelectAll && createVNode(VCheckboxBtn, {
19735
+ return slots['header.data-table-select']?.(columnSlotProps) ?? (showSelectAll.value && createVNode(VCheckboxBtn, {
19712
19736
  "modelValue": allSelected.value,
19713
19737
  "indeterminate": someSelected.value && !allSelected.value,
19714
19738
  "onUpdate:modelValue": selectAll
@@ -21677,10 +21701,10 @@ const VDatePickerYears = genericComponent()({
21677
21701
  watchEffect(() => {
21678
21702
  model.value = model.value ?? adapter.getYear(adapter.date());
21679
21703
  });
21680
- const yearRef = ref();
21704
+ const yearRef = templateRef();
21681
21705
  onMounted(async () => {
21682
21706
  await nextTick();
21683
- yearRef.value?.$el.scrollIntoView({
21707
+ yearRef.el?.scrollIntoView({
21684
21708
  block: 'center'
21685
21709
  });
21686
21710
  });
@@ -23006,7 +23030,7 @@ const VInfiniteScroll = genericComponent()({
23006
23030
  function intersecting(side) {
23007
23031
  if (props.mode !== 'manual' && !isIntersecting.value) return;
23008
23032
  const status = getStatus(side);
23009
- if (!rootEl.value || status === 'loading') return;
23033
+ if (!rootEl.value || ['empty', 'loading'].includes(status)) return;
23010
23034
  previousScrollSize = getScrollSize();
23011
23035
  setStatus(side, 'loading');
23012
23036
  function done(status) {
@@ -25901,7 +25925,8 @@ const VStepperWindow = genericComponent()({
25901
25925
  }, windowProps, {
25902
25926
  "modelValue": model.value,
25903
25927
  "onUpdate:modelValue": $event => model.value = $event,
25904
- "class": "v-stepper-window",
25928
+ "class": ['v-stepper-window', props.class],
25929
+ "style": props.style,
25905
25930
  "mandatory": false,
25906
25931
  "touch": false
25907
25932
  }), slots);
@@ -25925,7 +25950,8 @@ const VStepperWindowItem = genericComponent()({
25925
25950
  return createVNode(VWindowItem, mergeProps({
25926
25951
  "_as": "VStepperWindowItem"
25927
25952
  }, windowItemProps, {
25928
- "class": "v-stepper-window-item"
25953
+ "class": ['v-stepper-window-item', props.class],
25954
+ "style": props.style
25929
25955
  }), slots);
25930
25956
  });
25931
25957
  return {};
@@ -26424,7 +26450,8 @@ const VTabsWindow = genericComponent()({
26424
26450
  }, windowProps, {
26425
26451
  "modelValue": model.value,
26426
26452
  "onUpdate:modelValue": $event => model.value = $event,
26427
- "class": "v-tabs-window",
26453
+ "class": ['v-tabs-window', props.class],
26454
+ "style": props.style,
26428
26455
  "mandatory": false,
26429
26456
  "touch": false
26430
26457
  }), slots);
@@ -29744,7 +29771,7 @@ function createVuetify$1() {
29744
29771
  goTo
29745
29772
  };
29746
29773
  }
29747
- const version$1 = "3.6.3-master.2024-05-07";
29774
+ const version$1 = "3.6.4-master.2024-05-08";
29748
29775
  createVuetify$1.version = version$1;
29749
29776
 
29750
29777
  // Vue's inject() can only be used in setup
@@ -29997,7 +30024,7 @@ var index = /*#__PURE__*/Object.freeze({
29997
30024
 
29998
30025
  /* eslint-disable local-rules/sort-imports */
29999
30026
 
30000
- const version = "3.6.3-master.2024-05-07";
30027
+ const version = "3.6.4-master.2024-05-08";
30001
30028
 
30002
30029
  /* eslint-disable local-rules/sort-imports */
30003
30030