vuetify 3.10.3 → 3.10.5

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 (79) hide show
  1. package/dist/json/attributes.json +3285 -3269
  2. package/dist/json/importMap-labs.json +18 -18
  3. package/dist/json/importMap.json +176 -176
  4. package/dist/json/tags.json +4 -0
  5. package/dist/json/web-types.json +5963 -5923
  6. package/dist/vuetify-labs.cjs +125 -81
  7. package/dist/vuetify-labs.css +6900 -6889
  8. package/dist/vuetify-labs.d.ts +117 -59
  9. package/dist/vuetify-labs.esm.js +126 -82
  10. package/dist/vuetify-labs.esm.js.map +1 -1
  11. package/dist/vuetify-labs.js +125 -81
  12. package/dist/vuetify-labs.min.css +2 -2
  13. package/dist/vuetify.cjs +117 -77
  14. package/dist/vuetify.cjs.map +1 -1
  15. package/dist/vuetify.css +3658 -3647
  16. package/dist/vuetify.d.ts +117 -59
  17. package/dist/vuetify.esm.js +117 -77
  18. package/dist/vuetify.esm.js.map +1 -1
  19. package/dist/vuetify.js +117 -77
  20. package/dist/vuetify.js.map +1 -1
  21. package/dist/vuetify.min.css +2 -2
  22. package/dist/vuetify.min.js +43 -39
  23. package/dist/vuetify.min.js.map +1 -1
  24. package/lib/components/VBadge/VBadge.css +10 -0
  25. package/lib/components/VBadge/VBadge.sass +9 -0
  26. package/lib/components/VBtn/VBtn.js +1 -1
  27. package/lib/components/VBtn/VBtn.js.map +1 -1
  28. package/lib/components/VChip/VChip.js +13 -2
  29. package/lib/components/VChip/VChip.js.map +1 -1
  30. package/lib/components/VCombobox/VCombobox.d.ts +13 -0
  31. package/lib/components/VCombobox/VCombobox.js +3 -1
  32. package/lib/components/VCombobox/VCombobox.js.map +1 -1
  33. package/lib/components/VDataTable/VDataTableGroupHeaderRow.d.ts +29 -0
  34. package/lib/components/VDataTable/VDataTableGroupHeaderRow.js +4 -1
  35. package/lib/components/VDataTable/VDataTableGroupHeaderRow.js.map +1 -1
  36. package/lib/components/VDataTable/VDataTableHeaders.d.ts +29 -0
  37. package/lib/components/VDataTable/VDataTableHeaders.js +3 -0
  38. package/lib/components/VDataTable/VDataTableHeaders.js.map +1 -1
  39. package/lib/components/VDataTable/VDataTableRow.d.ts +29 -0
  40. package/lib/components/VDataTable/VDataTableRow.js +3 -0
  41. package/lib/components/VDataTable/VDataTableRow.js.map +1 -1
  42. package/lib/components/VDataTable/VDataTableRows.d.ts +29 -0
  43. package/lib/components/VDataTable/VDataTableRows.js +4 -3
  44. package/lib/components/VDataTable/VDataTableRows.js.map +1 -1
  45. package/lib/components/VDialog/VDialog.js +29 -11
  46. package/lib/components/VDialog/VDialog.js.map +1 -1
  47. package/lib/components/VDialog/__test__/VDialog.spec.browser.js +41 -0
  48. package/lib/components/VDialog/__test__/VDialog.spec.browser.js.map +1 -1
  49. package/lib/components/VDivider/VDivider.css +1 -0
  50. package/lib/components/VDivider/VDivider.sass +1 -0
  51. package/lib/components/VFileInput/VFileInput.js +2 -1
  52. package/lib/components/VFileInput/VFileInput.js.map +1 -1
  53. package/lib/components/VKbd/_variables.scss +3 -1
  54. package/lib/components/VList/VListItem.js +1 -1
  55. package/lib/components/VList/VListItem.js.map +1 -1
  56. package/lib/components/VTable/VTable.js +20 -32
  57. package/lib/components/VTable/VTable.js.map +1 -1
  58. package/lib/components/VTreeview/VTreeviewChildren.js +1 -1
  59. package/lib/components/VTreeview/VTreeviewChildren.js.map +1 -1
  60. package/lib/composables/group.d.ts +2 -0
  61. package/lib/composables/group.js +15 -9
  62. package/lib/composables/group.js.map +1 -1
  63. package/lib/entry-bundler.js +1 -1
  64. package/lib/framework.d.ts +59 -59
  65. package/lib/framework.js +1 -1
  66. package/lib/labs/VCalendar/VCalendar.js +7 -3
  67. package/lib/labs/VCalendar/VCalendar.js.map +1 -1
  68. package/lib/labs/VCalendar/composables/calendarWithEvents.js +7 -4
  69. package/lib/labs/VCalendar/composables/calendarWithEvents.js.map +1 -1
  70. package/lib/labs/VFileUpload/VFileUpload.js +2 -1
  71. package/lib/labs/VFileUpload/VFileUpload.js.map +1 -1
  72. package/lib/labs/rules/rules.js +3 -3
  73. package/lib/labs/rules/rules.js.map +1 -1
  74. package/lib/util/animation.js +1 -1
  75. package/lib/util/animation.js.map +1 -1
  76. package/lib/util/box.d.ts +1 -1
  77. package/lib/util/box.js +19 -14
  78. package/lib/util/box.js.map +1 -1
  79. package/package.json +1 -1
@@ -1,10 +1,10 @@
1
1
  /*!
2
- * Vuetify v3.10.3
2
+ * Vuetify v3.10.5
3
3
  * Forged by John Leider
4
4
  * Released under the MIT License.
5
5
  */
6
6
 
7
- import { shallowRef, reactive, watchEffect, toRef, capitalize, unref, Fragment, camelize, isVNode, Comment, warn, getCurrentInstance as getCurrentInstance$1, ref, computed, provide, inject as inject$1, defineComponent as defineComponent$1, h, toValue, watch, onBeforeUnmount, readonly, onMounted, useId, onDeactivated, onActivated, onScopeDispose, effectScope, toRaw, getCurrentScope, createElementVNode, normalizeStyle, normalizeClass, createVNode, TransitionGroup, Transition, mergeProps, toRefs, isRef, onBeforeMount, nextTick, withDirectives, vShow, onUpdated, Text, resolveDynamicComponent, toDisplayString, markRaw, Teleport, cloneVNode, createTextVNode, normalizeProps, guardReactiveProps, onUnmounted, onBeforeUpdate, withModifiers, vModelText, resolveDirective, resolveComponent, render } from 'vue';
7
+ import { shallowRef, reactive, watchEffect, toRef, capitalize, unref, Fragment, camelize, isVNode, Comment, warn, getCurrentInstance as getCurrentInstance$1, ref, computed, provide, inject as inject$1, defineComponent as defineComponent$1, h, toValue, watch, onBeforeUnmount, readonly, onMounted, useId, onDeactivated, onActivated, onScopeDispose, effectScope, toRaw, getCurrentScope, createElementVNode, normalizeStyle, normalizeClass, createVNode, TransitionGroup, Transition, mergeProps, toRefs, isRef, onBeforeMount, nextTick, withDirectives, vShow, onUpdated, Text, resolveDynamicComponent, toDisplayString, markRaw, Teleport, cloneVNode, createTextVNode, normalizeProps, guardReactiveProps, onUnmounted, onBeforeUpdate, withModifiers, vModelText, resolveComponent, render } from 'vue';
8
8
 
9
9
  // Types
10
10
  // eslint-disable-line vue/prefer-import-from-vue
@@ -655,17 +655,19 @@ function getAxis(anchor) {
655
655
  }
656
656
 
657
657
  class Box {
658
- constructor(_ref) {
659
- let {
658
+ constructor(args) {
659
+ const pageScale = document.body.currentCSSZoom ?? 1;
660
+ const factor = args instanceof DOMRect ? 1 + (1 - pageScale) / pageScale : 1;
661
+ const {
660
662
  x,
661
663
  y,
662
664
  width,
663
665
  height
664
- } = _ref;
665
- this.x = x;
666
- this.y = y;
667
- this.width = width;
668
- this.height = height;
666
+ } = args;
667
+ this.x = x * factor;
668
+ this.y = y * factor;
669
+ this.width = width * factor;
670
+ this.height = height * factor;
669
671
  }
670
672
  get top() {
671
673
  return this.y;
@@ -694,14 +696,16 @@ function getOverflow(a, b) {
694
696
  }
695
697
  function getTargetBox(target) {
696
698
  if (Array.isArray(target)) {
699
+ const pageScale = document.body.currentCSSZoom ?? 1;
700
+ const factor = 1 + (1 - pageScale) / pageScale;
697
701
  return new Box({
698
- x: target[0],
699
- y: target[1],
700
- width: 0,
701
- height: 0
702
+ x: target[0] * factor,
703
+ y: target[1] * factor,
704
+ width: 0 * factor,
705
+ height: 0 * factor
702
706
  });
703
707
  } else {
704
- return target.getBoundingClientRect();
708
+ return new Box(target.getBoundingClientRect());
705
709
  }
706
710
  }
707
711
  function getElementBox(el) {
@@ -714,11 +718,12 @@ function getElementBox(el) {
714
718
  height: document.documentElement.clientHeight
715
719
  });
716
720
  } else {
721
+ const pageScale = document.body.currentCSSZoom ?? 1;
717
722
  return new Box({
718
723
  x: visualViewport.scale > 1 ? 0 : visualViewport.offsetLeft,
719
724
  y: visualViewport.scale > 1 ? 0 : visualViewport.offsetTop,
720
- width: visualViewport.width * visualViewport.scale,
721
- height: visualViewport.height * visualViewport.scale
725
+ width: visualViewport.width * visualViewport.scale / pageScale,
726
+ height: visualViewport.height * visualViewport.scale / pageScale
722
727
  });
723
728
  }
724
729
  } else {
@@ -736,7 +741,7 @@ function getElementBox(el) {
736
741
 
737
742
  /** @see https://stackoverflow.com/a/57876601/2074736 */
738
743
  function nullifyTransforms(el) {
739
- const rect = el.getBoundingClientRect();
744
+ const rect = new Box(el.getBoundingClientRect());
740
745
  const style = getComputedStyle(el);
741
746
  const tx = style.transform;
742
747
  if (tx) {
@@ -4528,14 +4533,18 @@ function useGroupItem(props, injectKey) {
4528
4533
  }
4529
4534
  const value = toRef(() => props.value);
4530
4535
  const disabled = computed(() => !!(group.disabled.value || props.disabled));
4531
- group.register({
4532
- id,
4533
- value,
4534
- disabled
4535
- }, vm);
4536
- onBeforeUnmount(() => {
4537
- group.unregister(id);
4538
- });
4536
+ function register() {
4537
+ group?.register({
4538
+ id,
4539
+ value,
4540
+ disabled
4541
+ }, vm);
4542
+ }
4543
+ function unregister() {
4544
+ group?.unregister(id);
4545
+ }
4546
+ onMounted(() => register());
4547
+ onBeforeUnmount(() => unregister());
4539
4548
  const isSelected = computed(() => {
4540
4549
  return group.isSelected(id);
4541
4550
  });
@@ -4563,7 +4572,9 @@ function useGroupItem(props, injectKey) {
4563
4572
  selectedClass,
4564
4573
  value,
4565
4574
  disabled,
4566
- group
4575
+ group,
4576
+ register,
4577
+ unregister
4567
4578
  };
4568
4579
  }
4569
4580
  function useGroup(props, injectKey) {
@@ -6155,7 +6166,7 @@ const VBtn = genericComponent()({
6155
6166
  });
6156
6167
  function onClick(e) {
6157
6168
  if (isDisabled.value || link.isLink.value && (e.metaKey || e.ctrlKey || e.shiftKey || e.button !== 0 || attrs.target === '_blank')) return;
6158
- if (link.isLink.value) {
6169
+ if (link.isRouterLink.value) {
6159
6170
  link.navigate?.(e);
6160
6171
  } else {
6161
6172
  // Group active state for links is handled by useSelectLink
@@ -8601,6 +8612,7 @@ const VChip = genericComponent()({
8601
8612
  } = provideTheme(props);
8602
8613
  const isActive = useProxiedModel(props, 'modelValue');
8603
8614
  const group = useGroupItem(props, VChipGroupSymbol, false);
8615
+ const slideGroup = useGroupItem(props, VSlideGroupSymbol, false);
8604
8616
  const link = useLink(props, attrs);
8605
8617
  const isLink = toRef(() => props.link !== false && link.isLink.value);
8606
8618
  const isClickable = computed(() => !props.disabled && props.link !== false && (!!group || props.link || link.isClickable.value));
@@ -8614,6 +8626,15 @@ const VChip = genericComponent()({
8614
8626
  emit('click:close', e);
8615
8627
  }
8616
8628
  }));
8629
+ watch(isActive, val => {
8630
+ if (val) {
8631
+ group?.register();
8632
+ slideGroup?.register();
8633
+ } else {
8634
+ group?.unregister();
8635
+ slideGroup?.unregister();
8636
+ }
8637
+ });
8617
8638
  const {
8618
8639
  colorClasses,
8619
8640
  colorStyles,
@@ -9767,7 +9788,7 @@ const VListItem = genericComponent()({
9767
9788
  const isLink = toRef(() => props.link !== false && link.isLink.value);
9768
9789
  const isSelectable = computed(() => !!list && (root.selectable.value || root.activatable.value || props.value != null));
9769
9790
  const isClickable = computed(() => !props.disabled && props.link !== false && (props.link || link.isClickable.value || isSelectable.value));
9770
- const role = computed(() => list ? isSelectable.value ? 'option' : 'listitem' : undefined);
9791
+ const role = computed(() => list ? isLink.value ? 'link' : isSelectable.value ? 'option' : 'listitem' : undefined);
9771
9792
  const ariaSelected = computed(() => {
9772
9793
  if (!isSelectable.value) return undefined;
9773
9794
  return root.activatable.value ? isActivated.value : root.selectable.value ? isSelected.value : isActive.value;
@@ -14795,10 +14816,11 @@ const VDialog = genericComponent()({
14795
14816
  scopeId
14796
14817
  } = useScopeId();
14797
14818
  const overlay = ref();
14798
- function onFocusin(e) {
14819
+ async function onFocusin(e) {
14799
14820
  const before = e.relatedTarget;
14800
14821
  const after = e.target;
14801
- if (before !== after && overlay.value?.contentEl &&
14822
+ await nextTick();
14823
+ if (isActive.value && before !== after && overlay.value?.contentEl &&
14802
14824
  // We're the topmost dialog
14803
14825
  overlay.value?.globalTop &&
14804
14826
  // It isn't the document or the dialog body
@@ -14806,22 +14828,39 @@ const VDialog = genericComponent()({
14806
14828
  // It isn't inside the dialog body
14807
14829
  !overlay.value.contentEl.contains(after)) {
14808
14830
  const focusable = focusableChildren(overlay.value.contentEl);
14809
- if (!focusable.length) return;
14810
- const firstElement = focusable[0];
14811
- const lastElement = focusable[focusable.length - 1];
14812
- if (before === firstElement) {
14813
- lastElement.focus();
14814
- } else {
14815
- firstElement.focus();
14816
- }
14831
+ focusable[0]?.focus();
14832
+ }
14833
+ }
14834
+ function onKeydown(e) {
14835
+ if (e.key !== 'Tab' || !overlay.value?.contentEl) return;
14836
+ const focusable = focusableChildren(overlay.value.contentEl);
14837
+ if (!focusable.length) return;
14838
+ const firstElement = focusable[0];
14839
+ const lastElement = focusable[focusable.length - 1];
14840
+ const active = document.activeElement;
14841
+ if (e.shiftKey && active === firstElement) {
14842
+ e.preventDefault();
14843
+ lastElement.focus();
14844
+ } else if (!e.shiftKey && active === lastElement) {
14845
+ e.preventDefault();
14846
+ firstElement.focus();
14817
14847
  }
14818
14848
  }
14819
14849
  onBeforeUnmount(() => {
14820
14850
  document.removeEventListener('focusin', onFocusin);
14851
+ document.removeEventListener('keydown', onKeydown);
14821
14852
  });
14822
14853
  if (IN_BROWSER) {
14823
14854
  watch(() => isActive.value && props.retainFocus, val => {
14824
- val ? document.addEventListener('focusin', onFocusin) : document.removeEventListener('focusin', onFocusin);
14855
+ if (val) {
14856
+ document.addEventListener('focusin', onFocusin, {
14857
+ once: true
14858
+ });
14859
+ document.addEventListener('keydown', onKeydown);
14860
+ } else {
14861
+ document.removeEventListener('focusin', onFocusin);
14862
+ document.removeEventListener('keydown', onKeydown);
14863
+ }
14825
14864
  }, {
14826
14865
  immediate: true
14827
14866
  });
@@ -19218,6 +19257,7 @@ const VColorPicker = defineComponent({
19218
19257
  // Types
19219
19258
 
19220
19259
  const makeVComboboxProps = propsFactory({
19260
+ alwaysFilter: Boolean,
19221
19261
  autoSelectFirst: {
19222
19262
  type: [Boolean, String]
19223
19263
  },
@@ -19317,7 +19357,7 @@ const VCombobox = genericComponent()({
19317
19357
  const {
19318
19358
  filteredItems,
19319
19359
  getMatches
19320
- } = useFilter(props, items, () => isPristine.value ? '' : search.value);
19360
+ } = useFilter(props, items, () => props.alwaysFilter || !isPristine.value ? search.value : '');
19321
19361
  const displayItems = computed(() => {
19322
19362
  if (props.hideSelected) {
19323
19363
  return filteredItems.value.filter(filteredItem => !model.value.some(s => s.value === filteredItem.value));
@@ -19364,6 +19404,7 @@ const VCombobox = genericComponent()({
19364
19404
  const listEvents = useScrolling(listRef, vTextFieldRef);
19365
19405
  function onClear(e) {
19366
19406
  cleared = true;
19407
+ nextTick(() => cleared = false);
19367
19408
  if (props.openOnClear) {
19368
19409
  menu.value = true;
19369
19410
  }
@@ -21597,6 +21638,7 @@ const makeVDataTableHeadersProps = propsFactory({
21597
21638
  },
21598
21639
  /** @deprecated */
21599
21640
  sticky: Boolean,
21641
+ ...makeDensityProps(),
21600
21642
  ...makeDisplayProps(),
21601
21643
  ...makeLoaderProps()
21602
21644
  }, 'VDataTableHeaders');
@@ -21721,6 +21763,7 @@ const VDataTableHeaders = genericComponent()({
21721
21763
  if (isEmpty) return '';
21722
21764
  if (column.key === 'data-table-select') {
21723
21765
  return slots['header.data-table-select']?.(columnSlotProps) ?? (showSelectAll.value && createVNode(VCheckboxBtn, {
21766
+ "density": props.density,
21724
21767
  "modelValue": allSelected.value,
21725
21768
  "indeterminate": someSelected.value && !allSelected.value,
21726
21769
  "onUpdate:modelValue": selectAll
@@ -21821,7 +21864,8 @@ const makeVDataTableGroupHeaderRowProps = propsFactory({
21821
21864
  groupExpandIcon: {
21822
21865
  type: IconValue,
21823
21866
  default: '$tableGroupExpand'
21824
- }
21867
+ },
21868
+ ...makeDensityProps()
21825
21869
  }, 'VDataTableGroupHeaderRow');
21826
21870
  const VDataTableGroupHeaderRow = genericComponent()({
21827
21871
  name: 'VDataTableGroupHeaderRow',
@@ -21889,6 +21933,7 @@ const VDataTableGroupHeaderRow = genericComponent()({
21889
21933
  "noPadding": true
21890
21934
  }, {
21891
21935
  default: () => [createVNode(VCheckboxBtn, {
21936
+ "density": props.density,
21892
21937
  "modelValue": modelValue,
21893
21938
  "indeterminate": indeterminate,
21894
21939
  "onUpdate:modelValue": selectGroup
@@ -21917,6 +21962,7 @@ const makeVDataTableRowProps = propsFactory({
21917
21962
  onClick: EventProp(),
21918
21963
  onContextmenu: EventProp(),
21919
21964
  onDblclick: EventProp(),
21965
+ ...makeDensityProps(),
21920
21966
  ...makeDisplayProps()
21921
21967
  }, 'VDataTableRow');
21922
21968
  const VDataTableRow = genericComponent()({
@@ -22025,6 +22071,7 @@ const VDataTableRow = genericComponent()({
22025
22071
  }
22026
22072
  }) ?? createVNode(VCheckboxBtn, {
22027
22073
  "disabled": !item.selectable,
22074
+ "density": props.density,
22028
22075
  "modelValue": isSelected([item]),
22029
22076
  "onClick": withModifiers(event => toggleSelect(item, props.index, event), ['stop'])
22030
22077
  }, null);
@@ -22077,8 +22124,8 @@ const makeVDataTableRowsProps = propsFactory({
22077
22124
  },
22078
22125
  rowProps: [Object, Function],
22079
22126
  cellProps: [Object, Function],
22080
- ...pick(makeVDataTableRowProps(), ['collapseIcon', 'expandIcon']),
22081
- ...pick(makeVDataTableGroupHeaderRowProps(), ['groupCollapseIcon', 'groupExpandIcon']),
22127
+ ...pick(makeVDataTableRowProps(), ['collapseIcon', 'expandIcon', 'density']),
22128
+ ...pick(makeVDataTableGroupHeaderRowProps(), ['groupCollapseIcon', 'groupExpandIcon', 'density']),
22082
22129
  ...makeDisplayProps()
22083
22130
  }, 'VDataTableRows');
22084
22131
  const VDataTableRows = genericComponent()({
@@ -22113,7 +22160,7 @@ const VDataTableRows = genericComponent()({
22113
22160
  mobile
22114
22161
  } = useDisplay(props);
22115
22162
  useRender(() => {
22116
- const groupHeaderRowProps = pick(props, ['groupCollapseIcon', 'groupExpandIcon']);
22163
+ const groupHeaderRowProps = pick(props, ['groupCollapseIcon', 'groupExpandIcon', 'density']);
22117
22164
  if (props.loading && (!props.items.length || slots.loading)) {
22118
22165
  return createElementVNode("tr", {
22119
22166
  "class": "v-data-table-rows-loading",
@@ -22179,6 +22226,7 @@ const VDataTableRows = genericComponent()({
22179
22226
  cellProps: props.cellProps,
22180
22227
  collapseIcon: props.collapseIcon,
22181
22228
  expandIcon: props.expandIcon,
22229
+ density: props.density,
22182
22230
  mobile: mobile.value
22183
22231
  }, getPrefixedEventHandlers(attrs, ':row', () => slotProps), typeof props.rowProps === 'function' ? props.rowProps({
22184
22232
  item: slotProps.item,
@@ -22195,6 +22243,8 @@ const VDataTableRows = genericComponent()({
22195
22243
  }
22196
22244
  });
22197
22245
 
22246
+ // Types
22247
+
22198
22248
  const makeVTableProps = propsFactory({
22199
22249
  fixedHeader: Boolean,
22200
22250
  fixedFooter: Boolean,
@@ -22224,37 +22274,26 @@ const VTable = genericComponent()({
22224
22274
  const {
22225
22275
  densityClasses
22226
22276
  } = useDensity(props);
22227
- useRender(() => {
22228
- const tableContentDefaults = {
22229
- VCheckboxBtn: {
22230
- density: props.density
22277
+ useRender(() => createVNode(props.tag, {
22278
+ "class": normalizeClass(['v-table', {
22279
+ 'v-table--fixed-height': !!props.height,
22280
+ 'v-table--fixed-header': props.fixedHeader,
22281
+ 'v-table--fixed-footer': props.fixedFooter,
22282
+ 'v-table--has-top': !!slots.top,
22283
+ 'v-table--has-bottom': !!slots.bottom,
22284
+ 'v-table--hover': props.hover,
22285
+ 'v-table--striped-even': props.striped === 'even',
22286
+ 'v-table--striped-odd': props.striped === 'odd'
22287
+ }, themeClasses.value, densityClasses.value, props.class]),
22288
+ "style": normalizeStyle(props.style)
22289
+ }, {
22290
+ default: () => [slots.top?.(), slots.default ? createElementVNode("div", {
22291
+ "class": "v-table__wrapper",
22292
+ "style": {
22293
+ height: convertToUnit(props.height)
22231
22294
  }
22232
- };
22233
- return createVNode(props.tag, {
22234
- "class": normalizeClass(['v-table', {
22235
- 'v-table--fixed-height': !!props.height,
22236
- 'v-table--fixed-header': props.fixedHeader,
22237
- 'v-table--fixed-footer': props.fixedFooter,
22238
- 'v-table--has-top': !!slots.top,
22239
- 'v-table--has-bottom': !!slots.bottom,
22240
- 'v-table--hover': props.hover,
22241
- 'v-table--striped-even': props.striped === 'even',
22242
- 'v-table--striped-odd': props.striped === 'odd'
22243
- }, themeClasses.value, densityClasses.value, props.class]),
22244
- "style": normalizeStyle(props.style)
22245
- }, {
22246
- default: () => [slots.top?.(), createVNode(VDefaultsProvider, {
22247
- "defaults": tableContentDefaults
22248
- }, {
22249
- default: () => [slots.default ? createElementVNode("div", {
22250
- "class": "v-table__wrapper",
22251
- "style": {
22252
- height: convertToUnit(props.height)
22253
- }
22254
- }, [createElementVNode("table", null, [slots.default()])]) : slots.wrapper?.()]
22255
- }), slots.bottom?.()]
22256
- });
22257
- });
22295
+ }, [createElementVNode("table", null, [slots.default()])]) : slots.wrapper?.(), slots.bottom?.()]
22296
+ }));
22258
22297
  return {};
22259
22298
  }
22260
22299
  });
@@ -25037,7 +25076,8 @@ const VFileInput = genericComponent()({
25037
25076
  'onClick:clear': onClear
25038
25077
  };
25039
25078
  const expectsDirectory = attrs.webkitdirectory !== undefined && attrs.webkitdirectory !== false;
25040
- const inputAccept = expectsDirectory ? undefined : props.filterByType ?? String(attrs.accept);
25079
+ const acceptFallback = attrs.accept ? String(attrs.accept) : undefined;
25080
+ const inputAccept = expectsDirectory ? undefined : props.filterByType ?? acceptFallback;
25041
25081
  return createVNode(VInput, mergeProps({
25042
25082
  "ref": vInputRef,
25043
25083
  "modelValue": props.multiple ? model.value : model.value[0],
@@ -31292,6 +31332,7 @@ const VTreeviewChildren = genericComponent()({
31292
31332
  ...itemProps,
31293
31333
  ...activatorProps,
31294
31334
  value: itemProps?.value,
31335
+ indentLines: indentLines.node,
31295
31336
  onToggleExpand: [() => checkChildren(item), activatorProps.onClick],
31296
31337
  onClick: isClickOnOpen.value ? [() => checkChildren(item), activatorProps.onClick] : () => selectItem(activatorItems.value[index]?.select, !activatorItems.value[index]?.isSelected)
31297
31338
  };
@@ -31305,7 +31346,6 @@ const VTreeviewChildren = genericComponent()({
31305
31346
  }, listItemProps, {
31306
31347
  "hasCustomPrepend": !!slots.prepend,
31307
31348
  "hideActions": props.hideActions,
31308
- "indentLines": indentLines.node,
31309
31349
  "value": props.returnObject ? item.raw : itemProps.value,
31310
31350
  "loading": loading
31311
31351
  }), slotsWithItem));
@@ -33772,7 +33812,7 @@ function useCalendarWithEvents(props, slots, attrs) {
33772
33812
  }), events, data, {
33773
33813
  "ref_for": true,
33774
33814
  "ref": eventsRef
33775
- }), [slot?.(scope) ?? genName(eventSummary)]), [[resolveDirective("ripple"), props.eventRipple ?? true]]);
33815
+ }), [slot?.(scope) ?? genName(eventSummary)]), [[Ripple, props.eventRipple ?? true]]);
33776
33816
  }
33777
33817
  function genName(eventSummary) {
33778
33818
  return createElementVNode("div", {
@@ -33810,7 +33850,7 @@ function useCalendarWithEvents(props, slots, attrs) {
33810
33850
  },
33811
33851
  "ref_for": true,
33812
33852
  "ref": eventsRef
33813
- }, events), null), [[resolveDirective("ripple"), props.eventRipple ?? true]]);
33853
+ }, events), null), [[Ripple, props.eventRipple ?? true]]);
33814
33854
  }
33815
33855
  function getVisibleEvents() {
33816
33856
  const days = base.days.value;
@@ -33938,6 +33978,9 @@ function useCalendarWithEvents(props, slots, attrs) {
33938
33978
 
33939
33979
  const VCalendar = genericComponent()({
33940
33980
  name: 'VCalendar',
33981
+ directives: {
33982
+ vResize: Resize
33983
+ },
33941
33984
  props: {
33942
33985
  modelValue: {
33943
33986
  type: [String, Number, Date],
@@ -34223,7 +34266,7 @@ const VCalendar = genericComponent()({
34223
34266
  "onClick:date": (e, day) => {
34224
34267
  if (attrs['onUpdate:modelValue']) emit('update:modelValue', day.date);
34225
34268
  }
34226
- }), base.getScopedSlots()), [[resolveDirective("resize"), base.updateEventVisibility, void 0, {
34269
+ }), base.getScopedSlots()), [[Resize, base.updateEventVisibility, void 0, {
34227
34270
  quiet: true
34228
34271
  }]]);
34229
34272
  });
@@ -34979,7 +35022,8 @@ const VFileUpload = genericComponent()({
34979
35022
  const dividerProps = VDivider.filterProps(props);
34980
35023
  const [rootAttrs, inputAttrs] = filterInputAttrs(attrs);
34981
35024
  const expectsDirectory = attrs.webkitdirectory !== undefined && attrs.webkitdirectory !== false;
34982
- const inputAccept = expectsDirectory ? undefined : props.filterByType ?? String(attrs.accept);
35025
+ const acceptFallback = attrs.accept ? String(attrs.accept) : undefined;
35026
+ const inputAccept = expectsDirectory ? undefined : props.filterByType ?? acceptFallback;
34983
35027
  const inputNode = createElementVNode("input", mergeProps({
34984
35028
  "ref": inputRef,
34985
35029
  "type": "file",
@@ -37859,7 +37903,7 @@ function createVuetify$1() {
37859
37903
  };
37860
37904
  });
37861
37905
  }
37862
- const version$1 = "3.10.3";
37906
+ const version$1 = "3.10.5";
37863
37907
  createVuetify$1.version = version$1;
37864
37908
 
37865
37909
  // Vue's inject() can only be used in setup
@@ -38157,7 +38201,7 @@ var index = /*#__PURE__*/Object.freeze({
38157
38201
 
38158
38202
  /* eslint-disable local-rules/sort-imports */
38159
38203
 
38160
- const version = "3.10.3";
38204
+ const version = "3.10.5";
38161
38205
 
38162
38206
  /* eslint-disable local-rules/sort-imports */
38163
38207