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,5 +1,5 @@
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
  */
@@ -659,17 +659,19 @@
659
659
  }
660
660
 
661
661
  class Box {
662
- constructor(_ref) {
663
- let {
662
+ constructor(args) {
663
+ const pageScale = document.body.currentCSSZoom ?? 1;
664
+ const factor = args instanceof DOMRect ? 1 + (1 - pageScale) / pageScale : 1;
665
+ const {
664
666
  x,
665
667
  y,
666
668
  width,
667
669
  height
668
- } = _ref;
669
- this.x = x;
670
- this.y = y;
671
- this.width = width;
672
- this.height = height;
670
+ } = args;
671
+ this.x = x * factor;
672
+ this.y = y * factor;
673
+ this.width = width * factor;
674
+ this.height = height * factor;
673
675
  }
674
676
  get top() {
675
677
  return this.y;
@@ -698,14 +700,16 @@
698
700
  }
699
701
  function getTargetBox(target) {
700
702
  if (Array.isArray(target)) {
703
+ const pageScale = document.body.currentCSSZoom ?? 1;
704
+ const factor = 1 + (1 - pageScale) / pageScale;
701
705
  return new Box({
702
- x: target[0],
703
- y: target[1],
704
- width: 0,
705
- height: 0
706
+ x: target[0] * factor,
707
+ y: target[1] * factor,
708
+ width: 0 * factor,
709
+ height: 0 * factor
706
710
  });
707
711
  } else {
708
- return target.getBoundingClientRect();
712
+ return new Box(target.getBoundingClientRect());
709
713
  }
710
714
  }
711
715
  function getElementBox(el) {
@@ -718,11 +722,12 @@
718
722
  height: document.documentElement.clientHeight
719
723
  });
720
724
  } else {
725
+ const pageScale = document.body.currentCSSZoom ?? 1;
721
726
  return new Box({
722
727
  x: visualViewport.scale > 1 ? 0 : visualViewport.offsetLeft,
723
728
  y: visualViewport.scale > 1 ? 0 : visualViewport.offsetTop,
724
- width: visualViewport.width * visualViewport.scale,
725
- height: visualViewport.height * visualViewport.scale
729
+ width: visualViewport.width * visualViewport.scale / pageScale,
730
+ height: visualViewport.height * visualViewport.scale / pageScale
726
731
  });
727
732
  }
728
733
  } else {
@@ -740,7 +745,7 @@
740
745
 
741
746
  /** @see https://stackoverflow.com/a/57876601/2074736 */
742
747
  function nullifyTransforms(el) {
743
- const rect = el.getBoundingClientRect();
748
+ const rect = new Box(el.getBoundingClientRect());
744
749
  const style = getComputedStyle(el);
745
750
  const tx = style.transform;
746
751
  if (tx) {
@@ -4532,14 +4537,18 @@
4532
4537
  }
4533
4538
  const value = vue.toRef(() => props.value);
4534
4539
  const disabled = vue.computed(() => !!(group.disabled.value || props.disabled));
4535
- group.register({
4536
- id,
4537
- value,
4538
- disabled
4539
- }, vm);
4540
- vue.onBeforeUnmount(() => {
4541
- group.unregister(id);
4542
- });
4540
+ function register() {
4541
+ group?.register({
4542
+ id,
4543
+ value,
4544
+ disabled
4545
+ }, vm);
4546
+ }
4547
+ function unregister() {
4548
+ group?.unregister(id);
4549
+ }
4550
+ vue.onMounted(() => register());
4551
+ vue.onBeforeUnmount(() => unregister());
4543
4552
  const isSelected = vue.computed(() => {
4544
4553
  return group.isSelected(id);
4545
4554
  });
@@ -4567,7 +4576,9 @@
4567
4576
  selectedClass,
4568
4577
  value,
4569
4578
  disabled,
4570
- group
4579
+ group,
4580
+ register,
4581
+ unregister
4571
4582
  };
4572
4583
  }
4573
4584
  function useGroup(props, injectKey) {
@@ -6159,7 +6170,7 @@
6159
6170
  });
6160
6171
  function onClick(e) {
6161
6172
  if (isDisabled.value || link.isLink.value && (e.metaKey || e.ctrlKey || e.shiftKey || e.button !== 0 || attrs.target === '_blank')) return;
6162
- if (link.isLink.value) {
6173
+ if (link.isRouterLink.value) {
6163
6174
  link.navigate?.(e);
6164
6175
  } else {
6165
6176
  // Group active state for links is handled by useSelectLink
@@ -8605,6 +8616,7 @@
8605
8616
  } = provideTheme(props);
8606
8617
  const isActive = useProxiedModel(props, 'modelValue');
8607
8618
  const group = useGroupItem(props, VChipGroupSymbol, false);
8619
+ const slideGroup = useGroupItem(props, VSlideGroupSymbol, false);
8608
8620
  const link = useLink(props, attrs);
8609
8621
  const isLink = vue.toRef(() => props.link !== false && link.isLink.value);
8610
8622
  const isClickable = vue.computed(() => !props.disabled && props.link !== false && (!!group || props.link || link.isClickable.value));
@@ -8618,6 +8630,15 @@
8618
8630
  emit('click:close', e);
8619
8631
  }
8620
8632
  }));
8633
+ vue.watch(isActive, val => {
8634
+ if (val) {
8635
+ group?.register();
8636
+ slideGroup?.register();
8637
+ } else {
8638
+ group?.unregister();
8639
+ slideGroup?.unregister();
8640
+ }
8641
+ });
8621
8642
  const {
8622
8643
  colorClasses,
8623
8644
  colorStyles,
@@ -9771,7 +9792,7 @@
9771
9792
  const isLink = vue.toRef(() => props.link !== false && link.isLink.value);
9772
9793
  const isSelectable = vue.computed(() => !!list && (root.selectable.value || root.activatable.value || props.value != null));
9773
9794
  const isClickable = vue.computed(() => !props.disabled && props.link !== false && (props.link || link.isClickable.value || isSelectable.value));
9774
- const role = vue.computed(() => list ? isSelectable.value ? 'option' : 'listitem' : undefined);
9795
+ const role = vue.computed(() => list ? isLink.value ? 'link' : isSelectable.value ? 'option' : 'listitem' : undefined);
9775
9796
  const ariaSelected = vue.computed(() => {
9776
9797
  if (!isSelectable.value) return undefined;
9777
9798
  return root.activatable.value ? isActivated.value : root.selectable.value ? isSelected.value : isActive.value;
@@ -14799,10 +14820,11 @@
14799
14820
  scopeId
14800
14821
  } = useScopeId();
14801
14822
  const overlay = vue.ref();
14802
- function onFocusin(e) {
14823
+ async function onFocusin(e) {
14803
14824
  const before = e.relatedTarget;
14804
14825
  const after = e.target;
14805
- if (before !== after && overlay.value?.contentEl &&
14826
+ await vue.nextTick();
14827
+ if (isActive.value && before !== after && overlay.value?.contentEl &&
14806
14828
  // We're the topmost dialog
14807
14829
  overlay.value?.globalTop &&
14808
14830
  // It isn't the document or the dialog body
@@ -14810,22 +14832,39 @@
14810
14832
  // It isn't inside the dialog body
14811
14833
  !overlay.value.contentEl.contains(after)) {
14812
14834
  const focusable = focusableChildren(overlay.value.contentEl);
14813
- if (!focusable.length) return;
14814
- const firstElement = focusable[0];
14815
- const lastElement = focusable[focusable.length - 1];
14816
- if (before === firstElement) {
14817
- lastElement.focus();
14818
- } else {
14819
- firstElement.focus();
14820
- }
14835
+ focusable[0]?.focus();
14836
+ }
14837
+ }
14838
+ function onKeydown(e) {
14839
+ if (e.key !== 'Tab' || !overlay.value?.contentEl) return;
14840
+ const focusable = focusableChildren(overlay.value.contentEl);
14841
+ if (!focusable.length) return;
14842
+ const firstElement = focusable[0];
14843
+ const lastElement = focusable[focusable.length - 1];
14844
+ const active = document.activeElement;
14845
+ if (e.shiftKey && active === firstElement) {
14846
+ e.preventDefault();
14847
+ lastElement.focus();
14848
+ } else if (!e.shiftKey && active === lastElement) {
14849
+ e.preventDefault();
14850
+ firstElement.focus();
14821
14851
  }
14822
14852
  }
14823
14853
  vue.onBeforeUnmount(() => {
14824
14854
  document.removeEventListener('focusin', onFocusin);
14855
+ document.removeEventListener('keydown', onKeydown);
14825
14856
  });
14826
14857
  if (IN_BROWSER) {
14827
14858
  vue.watch(() => isActive.value && props.retainFocus, val => {
14828
- val ? document.addEventListener('focusin', onFocusin) : document.removeEventListener('focusin', onFocusin);
14859
+ if (val) {
14860
+ document.addEventListener('focusin', onFocusin, {
14861
+ once: true
14862
+ });
14863
+ document.addEventListener('keydown', onKeydown);
14864
+ } else {
14865
+ document.removeEventListener('focusin', onFocusin);
14866
+ document.removeEventListener('keydown', onKeydown);
14867
+ }
14829
14868
  }, {
14830
14869
  immediate: true
14831
14870
  });
@@ -19222,6 +19261,7 @@
19222
19261
  // Types
19223
19262
 
19224
19263
  const makeVComboboxProps = propsFactory({
19264
+ alwaysFilter: Boolean,
19225
19265
  autoSelectFirst: {
19226
19266
  type: [Boolean, String]
19227
19267
  },
@@ -19321,7 +19361,7 @@
19321
19361
  const {
19322
19362
  filteredItems,
19323
19363
  getMatches
19324
- } = useFilter(props, items, () => isPristine.value ? '' : search.value);
19364
+ } = useFilter(props, items, () => props.alwaysFilter || !isPristine.value ? search.value : '');
19325
19365
  const displayItems = vue.computed(() => {
19326
19366
  if (props.hideSelected) {
19327
19367
  return filteredItems.value.filter(filteredItem => !model.value.some(s => s.value === filteredItem.value));
@@ -19368,6 +19408,7 @@
19368
19408
  const listEvents = useScrolling(listRef, vTextFieldRef);
19369
19409
  function onClear(e) {
19370
19410
  cleared = true;
19411
+ vue.nextTick(() => cleared = false);
19371
19412
  if (props.openOnClear) {
19372
19413
  menu.value = true;
19373
19414
  }
@@ -21601,6 +21642,7 @@
21601
21642
  },
21602
21643
  /** @deprecated */
21603
21644
  sticky: Boolean,
21645
+ ...makeDensityProps(),
21604
21646
  ...makeDisplayProps(),
21605
21647
  ...makeLoaderProps()
21606
21648
  }, 'VDataTableHeaders');
@@ -21725,6 +21767,7 @@
21725
21767
  if (isEmpty) return '';
21726
21768
  if (column.key === 'data-table-select') {
21727
21769
  return slots['header.data-table-select']?.(columnSlotProps) ?? (showSelectAll.value && vue.createVNode(VCheckboxBtn, {
21770
+ "density": props.density,
21728
21771
  "modelValue": allSelected.value,
21729
21772
  "indeterminate": someSelected.value && !allSelected.value,
21730
21773
  "onUpdate:modelValue": selectAll
@@ -21825,7 +21868,8 @@
21825
21868
  groupExpandIcon: {
21826
21869
  type: IconValue,
21827
21870
  default: '$tableGroupExpand'
21828
- }
21871
+ },
21872
+ ...makeDensityProps()
21829
21873
  }, 'VDataTableGroupHeaderRow');
21830
21874
  const VDataTableGroupHeaderRow = genericComponent()({
21831
21875
  name: 'VDataTableGroupHeaderRow',
@@ -21893,6 +21937,7 @@
21893
21937
  "noPadding": true
21894
21938
  }, {
21895
21939
  default: () => [vue.createVNode(VCheckboxBtn, {
21940
+ "density": props.density,
21896
21941
  "modelValue": modelValue,
21897
21942
  "indeterminate": indeterminate,
21898
21943
  "onUpdate:modelValue": selectGroup
@@ -21921,6 +21966,7 @@
21921
21966
  onClick: EventProp(),
21922
21967
  onContextmenu: EventProp(),
21923
21968
  onDblclick: EventProp(),
21969
+ ...makeDensityProps(),
21924
21970
  ...makeDisplayProps()
21925
21971
  }, 'VDataTableRow');
21926
21972
  const VDataTableRow = genericComponent()({
@@ -22029,6 +22075,7 @@
22029
22075
  }
22030
22076
  }) ?? vue.createVNode(VCheckboxBtn, {
22031
22077
  "disabled": !item.selectable,
22078
+ "density": props.density,
22032
22079
  "modelValue": isSelected([item]),
22033
22080
  "onClick": vue.withModifiers(event => toggleSelect(item, props.index, event), ['stop'])
22034
22081
  }, null);
@@ -22081,8 +22128,8 @@
22081
22128
  },
22082
22129
  rowProps: [Object, Function],
22083
22130
  cellProps: [Object, Function],
22084
- ...pick(makeVDataTableRowProps(), ['collapseIcon', 'expandIcon']),
22085
- ...pick(makeVDataTableGroupHeaderRowProps(), ['groupCollapseIcon', 'groupExpandIcon']),
22131
+ ...pick(makeVDataTableRowProps(), ['collapseIcon', 'expandIcon', 'density']),
22132
+ ...pick(makeVDataTableGroupHeaderRowProps(), ['groupCollapseIcon', 'groupExpandIcon', 'density']),
22086
22133
  ...makeDisplayProps()
22087
22134
  }, 'VDataTableRows');
22088
22135
  const VDataTableRows = genericComponent()({
@@ -22117,7 +22164,7 @@
22117
22164
  mobile
22118
22165
  } = useDisplay(props);
22119
22166
  useRender(() => {
22120
- const groupHeaderRowProps = pick(props, ['groupCollapseIcon', 'groupExpandIcon']);
22167
+ const groupHeaderRowProps = pick(props, ['groupCollapseIcon', 'groupExpandIcon', 'density']);
22121
22168
  if (props.loading && (!props.items.length || slots.loading)) {
22122
22169
  return vue.createElementVNode("tr", {
22123
22170
  "class": "v-data-table-rows-loading",
@@ -22183,6 +22230,7 @@
22183
22230
  cellProps: props.cellProps,
22184
22231
  collapseIcon: props.collapseIcon,
22185
22232
  expandIcon: props.expandIcon,
22233
+ density: props.density,
22186
22234
  mobile: mobile.value
22187
22235
  }, getPrefixedEventHandlers(attrs, ':row', () => slotProps), typeof props.rowProps === 'function' ? props.rowProps({
22188
22236
  item: slotProps.item,
@@ -22199,6 +22247,8 @@
22199
22247
  }
22200
22248
  });
22201
22249
 
22250
+ // Types
22251
+
22202
22252
  const makeVTableProps = propsFactory({
22203
22253
  fixedHeader: Boolean,
22204
22254
  fixedFooter: Boolean,
@@ -22228,37 +22278,26 @@
22228
22278
  const {
22229
22279
  densityClasses
22230
22280
  } = useDensity(props);
22231
- useRender(() => {
22232
- const tableContentDefaults = {
22233
- VCheckboxBtn: {
22234
- density: props.density
22281
+ useRender(() => vue.createVNode(props.tag, {
22282
+ "class": vue.normalizeClass(['v-table', {
22283
+ 'v-table--fixed-height': !!props.height,
22284
+ 'v-table--fixed-header': props.fixedHeader,
22285
+ 'v-table--fixed-footer': props.fixedFooter,
22286
+ 'v-table--has-top': !!slots.top,
22287
+ 'v-table--has-bottom': !!slots.bottom,
22288
+ 'v-table--hover': props.hover,
22289
+ 'v-table--striped-even': props.striped === 'even',
22290
+ 'v-table--striped-odd': props.striped === 'odd'
22291
+ }, themeClasses.value, densityClasses.value, props.class]),
22292
+ "style": vue.normalizeStyle(props.style)
22293
+ }, {
22294
+ default: () => [slots.top?.(), slots.default ? vue.createElementVNode("div", {
22295
+ "class": "v-table__wrapper",
22296
+ "style": {
22297
+ height: convertToUnit(props.height)
22235
22298
  }
22236
- };
22237
- return vue.createVNode(props.tag, {
22238
- "class": vue.normalizeClass(['v-table', {
22239
- 'v-table--fixed-height': !!props.height,
22240
- 'v-table--fixed-header': props.fixedHeader,
22241
- 'v-table--fixed-footer': props.fixedFooter,
22242
- 'v-table--has-top': !!slots.top,
22243
- 'v-table--has-bottom': !!slots.bottom,
22244
- 'v-table--hover': props.hover,
22245
- 'v-table--striped-even': props.striped === 'even',
22246
- 'v-table--striped-odd': props.striped === 'odd'
22247
- }, themeClasses.value, densityClasses.value, props.class]),
22248
- "style": vue.normalizeStyle(props.style)
22249
- }, {
22250
- default: () => [slots.top?.(), vue.createVNode(VDefaultsProvider, {
22251
- "defaults": tableContentDefaults
22252
- }, {
22253
- default: () => [slots.default ? vue.createElementVNode("div", {
22254
- "class": "v-table__wrapper",
22255
- "style": {
22256
- height: convertToUnit(props.height)
22257
- }
22258
- }, [vue.createElementVNode("table", null, [slots.default()])]) : slots.wrapper?.()]
22259
- }), slots.bottom?.()]
22260
- });
22261
- });
22299
+ }, [vue.createElementVNode("table", null, [slots.default()])]) : slots.wrapper?.(), slots.bottom?.()]
22300
+ }));
22262
22301
  return {};
22263
22302
  }
22264
22303
  });
@@ -25041,7 +25080,8 @@
25041
25080
  'onClick:clear': onClear
25042
25081
  };
25043
25082
  const expectsDirectory = attrs.webkitdirectory !== undefined && attrs.webkitdirectory !== false;
25044
- const inputAccept = expectsDirectory ? undefined : props.filterByType ?? String(attrs.accept);
25083
+ const acceptFallback = attrs.accept ? String(attrs.accept) : undefined;
25084
+ const inputAccept = expectsDirectory ? undefined : props.filterByType ?? acceptFallback;
25045
25085
  return vue.createVNode(VInput, vue.mergeProps({
25046
25086
  "ref": vInputRef,
25047
25087
  "modelValue": props.multiple ? model.value : model.value[0],
@@ -31296,6 +31336,7 @@
31296
31336
  ...itemProps,
31297
31337
  ...activatorProps,
31298
31338
  value: itemProps?.value,
31339
+ indentLines: indentLines.node,
31299
31340
  onToggleExpand: [() => checkChildren(item), activatorProps.onClick],
31300
31341
  onClick: isClickOnOpen.value ? [() => checkChildren(item), activatorProps.onClick] : () => selectItem(activatorItems.value[index]?.select, !activatorItems.value[index]?.isSelected)
31301
31342
  };
@@ -31309,7 +31350,6 @@
31309
31350
  }, listItemProps, {
31310
31351
  "hasCustomPrepend": !!slots.prepend,
31311
31352
  "hideActions": props.hideActions,
31312
- "indentLines": indentLines.node,
31313
31353
  "value": props.returnObject ? item.raw : itemProps.value,
31314
31354
  "loading": loading
31315
31355
  }), slotsWithItem));
@@ -33776,7 +33816,7 @@
33776
33816
  }), events, data, {
33777
33817
  "ref_for": true,
33778
33818
  "ref": eventsRef
33779
- }), [slot?.(scope) ?? genName(eventSummary)]), [[vue.resolveDirective("ripple"), props.eventRipple ?? true]]);
33819
+ }), [slot?.(scope) ?? genName(eventSummary)]), [[Ripple, props.eventRipple ?? true]]);
33780
33820
  }
33781
33821
  function genName(eventSummary) {
33782
33822
  return vue.createElementVNode("div", {
@@ -33814,7 +33854,7 @@
33814
33854
  },
33815
33855
  "ref_for": true,
33816
33856
  "ref": eventsRef
33817
- }, events), null), [[vue.resolveDirective("ripple"), props.eventRipple ?? true]]);
33857
+ }, events), null), [[Ripple, props.eventRipple ?? true]]);
33818
33858
  }
33819
33859
  function getVisibleEvents() {
33820
33860
  const days = base.days.value;
@@ -33942,6 +33982,9 @@
33942
33982
 
33943
33983
  const VCalendar = genericComponent()({
33944
33984
  name: 'VCalendar',
33985
+ directives: {
33986
+ vResize: Resize
33987
+ },
33945
33988
  props: {
33946
33989
  modelValue: {
33947
33990
  type: [String, Number, Date],
@@ -34227,7 +34270,7 @@
34227
34270
  "onClick:date": (e, day) => {
34228
34271
  if (attrs['onUpdate:modelValue']) emit('update:modelValue', day.date);
34229
34272
  }
34230
- }), base.getScopedSlots()), [[vue.resolveDirective("resize"), base.updateEventVisibility, void 0, {
34273
+ }), base.getScopedSlots()), [[Resize, base.updateEventVisibility, void 0, {
34231
34274
  quiet: true
34232
34275
  }]]);
34233
34276
  });
@@ -34983,7 +35026,8 @@
34983
35026
  const dividerProps = VDivider.filterProps(props);
34984
35027
  const [rootAttrs, inputAttrs] = filterInputAttrs(attrs);
34985
35028
  const expectsDirectory = attrs.webkitdirectory !== undefined && attrs.webkitdirectory !== false;
34986
- const inputAccept = expectsDirectory ? undefined : props.filterByType ?? String(attrs.accept);
35029
+ const acceptFallback = attrs.accept ? String(attrs.accept) : undefined;
35030
+ const inputAccept = expectsDirectory ? undefined : props.filterByType ?? acceptFallback;
34987
35031
  const inputNode = vue.createElementVNode("input", vue.mergeProps({
34988
35032
  "ref": inputRef,
34989
35033
  "type": "file",
@@ -37863,7 +37907,7 @@
37863
37907
  };
37864
37908
  });
37865
37909
  }
37866
- const version$1 = "3.10.3";
37910
+ const version$1 = "3.10.5";
37867
37911
  createVuetify$1.version = version$1;
37868
37912
 
37869
37913
  // Vue's inject() can only be used in setup
@@ -38161,7 +38205,7 @@
38161
38205
 
38162
38206
  /* eslint-disable local-rules/sort-imports */
38163
38207
 
38164
- const version = "3.10.3";
38208
+ const version = "3.10.5";
38165
38209
 
38166
38210
  /* eslint-disable local-rules/sort-imports */
38167
38211