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

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 (93) hide show
  1. package/CHANGELOG.md +7 -13
  2. package/dist/json/attributes.json +31 -31
  3. package/dist/json/importMap-labs.json +8 -8
  4. package/dist/json/importMap.json +124 -124
  5. package/dist/json/web-types.json +64 -64
  6. package/dist/vuetify-labs.css +2434 -2363
  7. package/dist/vuetify-labs.d.ts +995 -966
  8. package/dist/vuetify-labs.esm.js +104 -70
  9. package/dist/vuetify-labs.esm.js.map +1 -1
  10. package/dist/vuetify-labs.js +103 -69
  11. package/dist/vuetify-labs.min.css +2 -2
  12. package/dist/vuetify.css +775 -708
  13. package/dist/vuetify.d.ts +965 -936
  14. package/dist/vuetify.esm.js +104 -70
  15. package/dist/vuetify.esm.js.map +1 -1
  16. package/dist/vuetify.js +103 -69
  17. package/dist/vuetify.js.map +1 -1
  18. package/dist/vuetify.min.css +2 -2
  19. package/dist/vuetify.min.js +981 -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/VFileInput/VFileInput.mjs +1 -1
  39. package/lib/components/VFileInput/VFileInput.mjs.map +1 -1
  40. package/lib/components/VInfiniteScroll/VInfiniteScroll.mjs +1 -1
  41. package/lib/components/VInfiniteScroll/VInfiniteScroll.mjs.map +1 -1
  42. package/lib/components/VList/VList.mjs.map +1 -1
  43. package/lib/components/VList/index.d.mts +70 -46
  44. package/lib/components/VMenu/index.d.mts +99 -93
  45. package/lib/components/VOverlay/VOverlay.mjs.map +1 -1
  46. package/lib/components/VOverlay/index.d.mts +33 -27
  47. package/lib/components/VOverlay/useActivator.mjs +5 -5
  48. package/lib/components/VOverlay/useActivator.mjs.map +1 -1
  49. package/lib/components/VSelect/index.d.mts +169 -140
  50. package/lib/components/VSheet/VSheet.css +1 -1
  51. package/lib/components/VSheet/_variables.scss +1 -1
  52. package/lib/components/VSlideGroup/VSlideGroup.mjs +25 -25
  53. package/lib/components/VSlideGroup/VSlideGroup.mjs.map +1 -1
  54. package/lib/components/VSlider/VSliderThumb.css +5 -0
  55. package/lib/components/VSlider/VSliderThumb.sass +3 -0
  56. package/lib/components/VSlider/VSliderTrack.css +15 -0
  57. package/lib/components/VSlider/VSliderTrack.sass +9 -0
  58. package/lib/components/VSnackbar/index.d.mts +85 -79
  59. package/lib/components/VSpeedDial/index.d.mts +33 -27
  60. package/lib/components/VStepper/VStepper.mjs +12 -6
  61. package/lib/components/VStepper/VStepper.mjs.map +1 -1
  62. package/lib/components/VStepper/VStepperItem.css +47 -0
  63. package/lib/components/VStepper/VStepperItem.mjs +5 -3
  64. package/lib/components/VStepper/VStepperItem.mjs.map +1 -1
  65. package/lib/components/VStepper/VStepperItem.sass +18 -0
  66. package/lib/components/VStepper/VStepperWindow.mjs +2 -1
  67. package/lib/components/VStepper/VStepperWindow.mjs.map +1 -1
  68. package/lib/components/VStepper/VStepperWindowItem.mjs +2 -1
  69. package/lib/components/VStepper/VStepperWindowItem.mjs.map +1 -1
  70. package/lib/components/VTabs/VTabsWindow.mjs +2 -1
  71. package/lib/components/VTabs/VTabsWindow.mjs.map +1 -1
  72. package/lib/components/VTooltip/index.d.mts +99 -93
  73. package/lib/components/VVirtualScroll/VVirtualScrollItem.mjs.map +1 -1
  74. package/lib/components/index.d.mts +926 -897
  75. package/lib/composables/nested/activeStrategies.mjs +16 -10
  76. package/lib/composables/nested/activeStrategies.mjs.map +1 -1
  77. package/lib/composables/nested/nested.mjs +7 -5
  78. package/lib/composables/nested/nested.mjs.map +1 -1
  79. package/lib/composables/resizeObserver.mjs +5 -5
  80. package/lib/composables/resizeObserver.mjs.map +1 -1
  81. package/lib/entry-bundler.mjs +1 -1
  82. package/lib/framework.mjs +1 -1
  83. package/lib/index.d.mts +39 -39
  84. package/lib/labs/VCalendar/VCalendar.css +5 -1
  85. package/lib/labs/VCalendar/VCalendar.sass +3 -2
  86. package/lib/labs/VCalendar/_variables.scss +8 -0
  87. package/lib/labs/VSnackbarQueue/index.d.mts +97 -91
  88. package/lib/labs/VTreeview/VTreeview.mjs.map +1 -1
  89. package/lib/labs/VTreeview/index.d.mts +82 -58
  90. package/lib/labs/components.d.mts +178 -149
  91. package/lib/util/helpers.mjs +16 -0
  92. package/lib/util/helpers.mjs.map +1 -1
  93. 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-09
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
  });
@@ -22661,7 +22685,7 @@ const VFileInput = genericComponent()({
22661
22685
  }, fieldProps, {
22662
22686
  "id": id.value,
22663
22687
  "active": isActive.value || isDirty.value,
22664
- "dirty": isDirty.value,
22688
+ "dirty": isDirty.value || props.dirty,
22665
22689
  "disabled": isDisabled.value,
22666
22690
  "focused": isFocused.value,
22667
22691
  "error": isValid.value === false
@@ -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) {
@@ -25806,13 +25830,14 @@ const VStepperItem = genericComponent()({
25806
25830
  const group = useGroupItem(props, VStepperSymbol, true);
25807
25831
  const step = computed(() => group?.value.value ?? props.value);
25808
25832
  const isValid = computed(() => props.rules.every(handler => handler() === true));
25833
+ const isClickable = computed(() => !props.disabled && props.editable);
25809
25834
  const canEdit = computed(() => !props.disabled && props.editable);
25810
25835
  const hasError = computed(() => props.error || !isValid.value);
25811
25836
  const hasCompleted = computed(() => props.complete || props.rules.length > 0 && isValid.value);
25812
25837
  const icon = computed(() => {
25813
25838
  if (hasError.value) return props.errorIcon;
25814
25839
  if (hasCompleted.value) return props.completeIcon;
25815
- if (props.editable) return props.editIcon;
25840
+ if (group.isSelected.value && props.editable) return props.editIcon;
25816
25841
  return props.icon;
25817
25842
  });
25818
25843
  const slotProps = computed(() => ({
@@ -25839,7 +25864,7 @@ const VStepperItem = genericComponent()({
25839
25864
  }, group?.selectedClass.value],
25840
25865
  "disabled": !props.editable,
25841
25866
  "onClick": onClick
25842
- }, [createVNode(VAvatar, {
25867
+ }, [isClickable.value && genOverlays(true, 'v-stepper-item'), createVNode(VAvatar, {
25843
25868
  "key": "stepper-avatar",
25844
25869
  "class": "v-stepper-item__avatar",
25845
25870
  "color": hasColor ? props.color : undefined,
@@ -25901,7 +25926,8 @@ const VStepperWindow = genericComponent()({
25901
25926
  }, windowProps, {
25902
25927
  "modelValue": model.value,
25903
25928
  "onUpdate:modelValue": $event => model.value = $event,
25904
- "class": "v-stepper-window",
25929
+ "class": ['v-stepper-window', props.class],
25930
+ "style": props.style,
25905
25931
  "mandatory": false,
25906
25932
  "touch": false
25907
25933
  }), slots);
@@ -25925,7 +25951,8 @@ const VStepperWindowItem = genericComponent()({
25925
25951
  return createVNode(VWindowItem, mergeProps({
25926
25952
  "_as": "VStepperWindowItem"
25927
25953
  }, windowItemProps, {
25928
- "class": "v-stepper-window-item"
25954
+ "class": ['v-stepper-window-item', props.class],
25955
+ "style": props.style
25929
25956
  }), slots);
25930
25957
  });
25931
25958
  return {};
@@ -26033,12 +26060,18 @@ const VStepper = genericComponent()({
26033
26060
  default: () => [hasHeader && createVNode(VStepperHeader, {
26034
26061
  "key": "stepper-header"
26035
26062
  }, {
26036
- default: () => [items.value.map((item, index) => createVNode(Fragment, null, [!!index && createVNode(VDivider, null, null), createVNode(VStepperItem, item, {
26037
- default: slots[`header-item.${item.value}`] ?? slots.header,
26038
- icon: slots.icon,
26039
- title: slots.title,
26040
- subtitle: slots.subtitle
26041
- })]))]
26063
+ default: () => [items.value.map((_ref2, index) => {
26064
+ let {
26065
+ raw,
26066
+ ...item
26067
+ } = _ref2;
26068
+ return createVNode(Fragment, null, [!!index && createVNode(VDivider, null, null), createVNode(VStepperItem, item, {
26069
+ default: slots[`header-item.${item.value}`] ?? slots.header,
26070
+ icon: slots.icon,
26071
+ title: slots.title,
26072
+ subtitle: slots.subtitle
26073
+ })]);
26074
+ })]
26042
26075
  }), hasWindow && createVNode(VStepperWindow, {
26043
26076
  "key": "stepper-window"
26044
26077
  }, {
@@ -26424,7 +26457,8 @@ const VTabsWindow = genericComponent()({
26424
26457
  }, windowProps, {
26425
26458
  "modelValue": model.value,
26426
26459
  "onUpdate:modelValue": $event => model.value = $event,
26427
- "class": "v-tabs-window",
26460
+ "class": ['v-tabs-window', props.class],
26461
+ "style": props.style,
26428
26462
  "mandatory": false,
26429
26463
  "touch": false
26430
26464
  }), slots);
@@ -29744,7 +29778,7 @@ function createVuetify$1() {
29744
29778
  goTo
29745
29779
  };
29746
29780
  }
29747
- const version$1 = "3.6.3-master.2024-05-07";
29781
+ const version$1 = "3.6.4-master.2024-05-09";
29748
29782
  createVuetify$1.version = version$1;
29749
29783
 
29750
29784
  // Vue's inject() can only be used in setup
@@ -29997,7 +30031,7 @@ var index = /*#__PURE__*/Object.freeze({
29997
30031
 
29998
30032
  /* eslint-disable local-rules/sort-imports */
29999
30033
 
30000
- const version = "3.6.3-master.2024-05-07";
30034
+ const version = "3.6.4-master.2024-05-09";
30001
30035
 
30002
30036
  /* eslint-disable local-rules/sort-imports */
30003
30037