vuetify 3.4.0 → 3.4.2

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 (135) hide show
  1. package/dist/json/attributes.json +1860 -1856
  2. package/dist/json/importMap.json +140 -140
  3. package/dist/json/tags.json +1 -0
  4. package/dist/json/web-types.json +3641 -3631
  5. package/dist/vuetify-labs.css +1393 -1386
  6. package/dist/vuetify-labs.d.ts +1936 -9147
  7. package/dist/vuetify-labs.esm.js +91 -79
  8. package/dist/vuetify-labs.esm.js.map +1 -1
  9. package/dist/vuetify-labs.js +91 -79
  10. package/dist/vuetify-labs.min.css +2 -2
  11. package/dist/vuetify.css +940 -933
  12. package/dist/vuetify.d.ts +2081 -9282
  13. package/dist/vuetify.esm.js +91 -79
  14. package/dist/vuetify.esm.js.map +1 -1
  15. package/dist/vuetify.js +91 -79
  16. package/dist/vuetify.js.map +1 -1
  17. package/dist/vuetify.min.css +2 -2
  18. package/dist/vuetify.min.js +67 -66
  19. package/dist/vuetify.min.js.map +1 -1
  20. package/lib/blueprints/index.d.mts +0 -2
  21. package/lib/blueprints/md1.d.mts +0 -2
  22. package/lib/blueprints/md2.d.mts +0 -2
  23. package/lib/blueprints/md3.d.mts +0 -2
  24. package/lib/components/VAutocomplete/VAutocomplete.mjs +3 -3
  25. package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
  26. package/lib/components/VAutocomplete/index.d.mts +74 -98
  27. package/lib/components/VBottomNavigation/VBottomNavigation.mjs +1 -1
  28. package/lib/components/VBottomNavigation/VBottomNavigation.mjs.map +1 -1
  29. package/lib/components/VBottomNavigation/index.d.mts +44 -69
  30. package/lib/components/VBtn/VBtn.mjs +1 -1
  31. package/lib/components/VBtn/VBtn.mjs.map +1 -1
  32. package/lib/components/VBtn/index.d.mts +11 -11
  33. package/lib/components/VBtnToggle/VBtnToggle.mjs.map +1 -1
  34. package/lib/components/VBtnToggle/index.d.mts +45 -71
  35. package/lib/components/VCarousel/VCarousel.mjs +1 -1
  36. package/lib/components/VCarousel/VCarousel.mjs.map +1 -1
  37. package/lib/components/VCarousel/index.d.mts +73 -513
  38. package/lib/components/VCheckbox/VCheckbox.mjs.map +1 -1
  39. package/lib/components/VCheckbox/VCheckboxBtn.mjs +1 -1
  40. package/lib/components/VCheckbox/VCheckboxBtn.mjs.map +1 -1
  41. package/lib/components/VCheckbox/index.d.mts +100 -482
  42. package/lib/components/VChip/index.d.mts +15 -18
  43. package/lib/components/VChipGroup/VChipGroup.mjs.map +1 -1
  44. package/lib/components/VChipGroup/index.d.mts +49 -189
  45. package/lib/components/VCombobox/VCombobox.mjs +3 -3
  46. package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
  47. package/lib/components/VCombobox/index.d.mts +74 -98
  48. package/lib/components/VDataIterator/index.d.mts +8 -6
  49. package/lib/components/VDataTable/VDataTable.mjs.map +1 -1
  50. package/lib/components/VDataTable/VDataTableRow.mjs.map +1 -1
  51. package/lib/components/VDataTable/VDataTableRows.mjs.map +1 -1
  52. package/lib/components/VDataTable/VDataTableServer.mjs.map +1 -1
  53. package/lib/components/VDataTable/VDataTableVirtual.mjs +2 -1
  54. package/lib/components/VDataTable/VDataTableVirtual.mjs.map +1 -1
  55. package/lib/components/VDataTable/composables/items.mjs.map +1 -1
  56. package/lib/components/VDataTable/composables/paginate.mjs.map +1 -1
  57. package/lib/components/VDataTable/composables/select.mjs.map +1 -1
  58. package/lib/components/VDataTable/index.d.mts +411 -4142
  59. package/lib/components/VDataTable/types.mjs.map +1 -1
  60. package/lib/components/VDatePicker/VDatePicker.css +4 -0
  61. package/lib/components/VDatePicker/VDatePicker.mjs +29 -22
  62. package/lib/components/VDatePicker/VDatePicker.mjs.map +1 -1
  63. package/lib/components/VDatePicker/VDatePicker.sass +4 -0
  64. package/lib/components/VDatePicker/VDatePickerMonth.mjs +3 -1
  65. package/lib/components/VDatePicker/VDatePickerMonth.mjs.map +1 -1
  66. package/lib/components/VDatePicker/VDatePickerYears.mjs +1 -1
  67. package/lib/components/VDatePicker/VDatePickerYears.mjs.map +1 -1
  68. package/lib/components/VDatePicker/index.d.mts +32 -36
  69. package/lib/components/VDialog/VDialog.css +4 -1
  70. package/lib/components/VDialog/VDialog.sass +4 -3
  71. package/lib/components/VField/VField.mjs +1 -1
  72. package/lib/components/VField/VField.mjs.map +1 -1
  73. package/lib/components/VField/index.d.mts +33 -41
  74. package/lib/components/VFileInput/index.d.mts +144 -385
  75. package/lib/components/VImg/VImg.mjs +10 -2
  76. package/lib/components/VImg/VImg.mjs.map +1 -1
  77. package/lib/components/VInput/VInput.mjs +1 -1
  78. package/lib/components/VInput/VInput.mjs.map +1 -1
  79. package/lib/components/VInput/index.d.mts +72 -154
  80. package/lib/components/VItemGroup/VItemGroup.mjs +1 -1
  81. package/lib/components/VItemGroup/VItemGroup.mjs.map +1 -1
  82. package/lib/components/VItemGroup/index.d.mts +49 -189
  83. package/lib/components/VList/VList.mjs +2 -2
  84. package/lib/components/VList/VList.mjs.map +1 -1
  85. package/lib/components/VList/index.d.mts +58 -95
  86. package/lib/components/VOtpInput/index.d.mts +8 -11
  87. package/lib/components/VRadio/index.d.mts +1 -1
  88. package/lib/components/VRadioGroup/VRadioGroup.mjs +1 -1
  89. package/lib/components/VRadioGroup/VRadioGroup.mjs.map +1 -1
  90. package/lib/components/VRadioGroup/index.d.mts +77 -211
  91. package/lib/components/VRangeSlider/index.d.mts +22 -25
  92. package/lib/components/VSelect/VSelect.mjs +2 -2
  93. package/lib/components/VSelect/VSelect.mjs.map +1 -1
  94. package/lib/components/VSelect/index.d.mts +67 -91
  95. package/lib/components/VSelectionControl/VSelectionControl.mjs +2 -2
  96. package/lib/components/VSelectionControl/VSelectionControl.mjs.map +1 -1
  97. package/lib/components/VSelectionControl/index.d.mts +9 -18
  98. package/lib/components/VSelectionControlGroup/VSelectionControlGroup.mjs +1 -1
  99. package/lib/components/VSelectionControlGroup/VSelectionControlGroup.mjs.map +1 -1
  100. package/lib/components/VSelectionControlGroup/index.d.mts +46 -68
  101. package/lib/components/VSlideGroup/VSlideGroup.mjs.map +1 -1
  102. package/lib/components/VSlideGroup/index.d.mts +47 -101
  103. package/lib/components/VSlider/index.d.mts +22 -25
  104. package/lib/components/VSwitch/VSwitch.mjs +7 -5
  105. package/lib/components/VSwitch/VSwitch.mjs.map +1 -1
  106. package/lib/components/VSwitch/index.d.mts +90 -303
  107. package/lib/components/VTextField/index.d.mts +173 -451
  108. package/lib/components/VTextarea/index.d.mts +144 -385
  109. package/lib/components/VValidation/VValidation.mjs +2 -2
  110. package/lib/components/VValidation/VValidation.mjs.map +1 -1
  111. package/lib/components/VValidation/index.d.mts +88 -359
  112. package/lib/components/VWindow/VWindow.mjs +1 -1
  113. package/lib/components/VWindow/VWindow.mjs.map +1 -1
  114. package/lib/components/VWindow/index.d.mts +58 -245
  115. package/lib/components/index.d.mts +1933 -9130
  116. package/lib/composables/date/DateAdapter.mjs.map +1 -1
  117. package/lib/composables/date/adapters/vuetify.mjs +1 -13
  118. package/lib/composables/date/adapters/vuetify.mjs.map +1 -1
  119. package/lib/composables/date/date.mjs +1 -1
  120. package/lib/composables/date/date.mjs.map +1 -1
  121. package/lib/composables/form.mjs.map +1 -1
  122. package/lib/composables/group.mjs.map +1 -1
  123. package/lib/composables/nested/nested.mjs.map +1 -1
  124. package/lib/composables/proxiedModel.mjs.map +1 -1
  125. package/lib/composables/validation.mjs.map +1 -1
  126. package/lib/composables/virtual.mjs +11 -13
  127. package/lib/composables/virtual.mjs.map +1 -1
  128. package/lib/entry-bundler.mjs +1 -1
  129. package/lib/framework.mjs +1 -1
  130. package/lib/index.d.mts +40 -44
  131. package/lib/labs/VConfirmEdit/index.d.mts +0 -10
  132. package/lib/labs/components.d.mts +0 -10
  133. package/lib/util/defineComponent.mjs.map +1 -1
  134. package/lib/util/helpers.mjs.map +1 -1
  135. package/package.json +2 -2
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Vuetify v3.4.0
2
+ * Vuetify v3.4.2
3
3
  * Forged by John Leider
4
4
  * Released under the MIT License.
5
5
  */
@@ -3119,6 +3119,7 @@
3119
3119
  emit,
3120
3120
  slots
3121
3121
  } = _ref;
3122
+ const vm = getCurrentInstance('VImg');
3122
3123
  const currentSrc = vue.shallowRef(''); // Set from srcset
3123
3124
  const image = vue.ref();
3124
3125
  const state = vue.shallowRef(props.eager ? 'loading' : 'idle');
@@ -3165,6 +3166,7 @@
3165
3166
  vue.nextTick(() => {
3166
3167
  emit('loadstart', image.value?.currentSrc || normalisedSrc.value.src);
3167
3168
  setTimeout(() => {
3169
+ if (vm.isUnmounted) return;
3168
3170
  if (image.value?.complete) {
3169
3171
  if (!image.value.naturalWidth) {
3170
3172
  onError();
@@ -3180,12 +3182,14 @@
3180
3182
  });
3181
3183
  }
3182
3184
  function onLoad() {
3185
+ if (vm.isUnmounted) return;
3183
3186
  getSrc();
3184
3187
  pollForSize(image.value);
3185
3188
  state.value = 'loaded';
3186
3189
  emit('load', image.value?.currentSrc || normalisedSrc.value.src);
3187
3190
  }
3188
3191
  function onError() {
3192
+ if (vm.isUnmounted) return;
3189
3193
  state.value = 'error';
3190
3194
  emit('error', image.value?.currentSrc || normalisedSrc.value.src);
3191
3195
  }
@@ -3194,10 +3198,14 @@
3194
3198
  if (img) currentSrc.value = img.currentSrc || img.src;
3195
3199
  }
3196
3200
  let timer = -1;
3201
+ vue.onBeforeUnmount(() => {
3202
+ clearTimeout(timer);
3203
+ });
3197
3204
  function pollForSize(img) {
3198
3205
  let timeout = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 100;
3199
3206
  const poll = () => {
3200
3207
  clearTimeout(timer);
3208
+ if (vm.isUnmounted) return;
3201
3209
  const {
3202
3210
  naturalHeight: imgHeight,
3203
3211
  naturalWidth: imgWidth
@@ -5439,7 +5447,7 @@
5439
5447
  return props.variant === 'elevated' && !(props.disabled || props.flat || props.border);
5440
5448
  });
5441
5449
  const valueAttr = vue.computed(() => {
5442
- if (props.value === undefined) return undefined;
5450
+ if (props.value === undefined || typeof props.value === 'symbol') return undefined;
5443
5451
  return Object(props.value) === props.value ? JSON.stringify(props.value, null, 0) : props.value;
5444
5452
  });
5445
5453
  function onClick(e) {
@@ -5822,7 +5830,7 @@
5822
5830
  name: 'VSelectionControlGroup',
5823
5831
  props: makeVSelectionControlGroupProps(),
5824
5832
  emits: {
5825
- 'update:modelValue': val => true
5833
+ 'update:modelValue': value => true
5826
5834
  },
5827
5835
  setup(props, _ref) {
5828
5836
  let {
@@ -5897,7 +5905,7 @@
5897
5905
  const model = vue.computed({
5898
5906
  get() {
5899
5907
  const val = group ? group.modelValue.value : modelValue.value;
5900
- return isMultiple.value ? val.some(v => props.valueComparator(v, trueValue.value)) : props.valueComparator(val, trueValue.value);
5908
+ return isMultiple.value ? wrapInArray(val).some(v => props.valueComparator(v, trueValue.value)) : props.valueComparator(val, trueValue.value);
5901
5909
  },
5902
5910
  set(val) {
5903
5911
  if (props.readonly) return;
@@ -5948,7 +5956,7 @@
5948
5956
  inheritAttrs: false,
5949
5957
  props: makeVSelectionControlProps(),
5950
5958
  emits: {
5951
- 'update:modelValue': val => true
5959
+ 'update:modelValue': value => true
5952
5960
  },
5953
5961
  setup(props, _ref) {
5954
5962
  let {
@@ -6082,7 +6090,7 @@
6082
6090
  props: makeVCheckboxBtnProps(),
6083
6091
  emits: {
6084
6092
  'update:modelValue': value => true,
6085
- 'update:indeterminate': val => true
6093
+ 'update:indeterminate': value => true
6086
6094
  },
6087
6095
  setup(props, _ref) {
6088
6096
  let {
@@ -6553,7 +6561,7 @@
6553
6561
  ...makeVInputProps()
6554
6562
  },
6555
6563
  emits: {
6556
- 'update:modelValue': val => true
6564
+ 'update:modelValue': value => true
6557
6565
  },
6558
6566
  setup(props, _ref) {
6559
6567
  let {
@@ -8251,8 +8259,8 @@
8251
8259
  name: 'VList',
8252
8260
  props: makeVListProps(),
8253
8261
  emits: {
8254
- 'update:selected': val => true,
8255
- 'update:opened': val => true,
8262
+ 'update:selected': value => true,
8263
+ 'update:opened': value => true,
8256
8264
  'click:open': value => true,
8257
8265
  'click:select': value => true
8258
8266
  },
@@ -10307,7 +10315,7 @@
10307
10315
  },
10308
10316
  emits: {
10309
10317
  'update:focused': focused => true,
10310
- 'update:modelValue': val => true
10318
+ 'update:modelValue': value => true
10311
10319
  },
10312
10320
  setup(props, _ref) {
10313
10321
  let {
@@ -10816,11 +10824,10 @@
10816
10824
  const hasInitialRender = vue.computed(() => {
10817
10825
  return !!(containerRef.value && markerRef.value && viewportHeight.value && itemHeight.value);
10818
10826
  });
10819
- const sizeMap = new Map();
10820
10827
  let sizes = Array.from({
10821
10828
  length: items.value.length
10822
10829
  });
10823
- const offsets = Array.from({
10830
+ let offsets = Array.from({
10824
10831
  length: items.value.length
10825
10832
  });
10826
10833
  const updateTime = vue.shallowRef(0);
@@ -10866,7 +10873,6 @@
10866
10873
  itemHeight.value = prevMinHeight ? Math.min(itemHeight.value, height) : height;
10867
10874
  if (prevHeight !== height || prevMinHeight !== itemHeight.value) {
10868
10875
  sizes[index] = height;
10869
- sizeMap.set(items.value[index], height);
10870
10876
  updateOffsets();
10871
10877
  }
10872
10878
  }
@@ -10950,17 +10956,17 @@
10950
10956
  index: index + first.value
10951
10957
  }));
10952
10958
  });
10953
- vue.watch(() => items.value.length, () => {
10954
- sizes = createRange(items.value.length).map(() => itemHeight.value);
10955
- sizeMap.forEach((height, item) => {
10956
- const index = items.value.indexOf(item);
10957
- if (index === -1) {
10958
- sizeMap.delete(item);
10959
- } else {
10960
- sizes[index] = height;
10961
- }
10959
+ vue.watch(items, () => {
10960
+ sizes = Array.from({
10961
+ length: items.value.length
10962
+ });
10963
+ offsets = Array.from({
10964
+ length: items.value.length
10962
10965
  });
10966
+ updateOffsets.immediate();
10963
10967
  calculateVisibleItems();
10968
+ }, {
10969
+ deep: true
10964
10970
  });
10965
10971
  return {
10966
10972
  containerRef,
@@ -11222,8 +11228,8 @@
11222
11228
  props: makeVSelectProps(),
11223
11229
  emits: {
11224
11230
  'update:focused': focused => true,
11225
- 'update:modelValue': val => true,
11226
- 'update:menu': val => true
11231
+ 'update:modelValue': value => true,
11232
+ 'update:menu': ue => true
11227
11233
  },
11228
11234
  setup(props, _ref) {
11229
11235
  let {
@@ -11676,9 +11682,9 @@
11676
11682
  props: makeVAutocompleteProps(),
11677
11683
  emits: {
11678
11684
  'update:focused': focused => true,
11679
- 'update:search': val => true,
11680
- 'update:modelValue': val => true,
11681
- 'update:menu': val => true
11685
+ 'update:search': value => true,
11686
+ 'update:modelValue': value => true,
11687
+ 'update:menu': value => true
11682
11688
  },
11683
11689
  setup(props, _ref) {
11684
11690
  let {
@@ -12316,6 +12322,8 @@
12316
12322
  }
12317
12323
  });
12318
12324
 
12325
+ // Types
12326
+
12319
12327
  const makeVBottomNavigationProps = propsFactory({
12320
12328
  bgColor: String,
12321
12329
  color: String,
@@ -13177,7 +13185,7 @@
13177
13185
  },
13178
13186
  props: makeVWindowProps(),
13179
13187
  emits: {
13180
- 'update:modelValue': v => true
13188
+ 'update:modelValue': value => true
13181
13189
  },
13182
13190
  setup(props, _ref) {
13183
13191
  let {
@@ -13336,7 +13344,7 @@
13336
13344
  name: 'VCarousel',
13337
13345
  props: makeVCarouselProps(),
13338
13346
  emits: {
13339
- 'update:modelValue': val => true
13347
+ 'update:modelValue': value => true
13340
13348
  },
13341
13349
  setup(props, _ref) {
13342
13350
  let {
@@ -15389,9 +15397,9 @@
15389
15397
  props: makeVComboboxProps(),
15390
15398
  emits: {
15391
15399
  'update:focused': focused => true,
15392
- 'update:modelValue': val => true,
15393
- 'update:search': val => true,
15394
- 'update:menu': val => true
15400
+ 'update:modelValue': value => true,
15401
+ 'update:search': value => true,
15402
+ 'update:menu': value => true
15395
15403
  },
15396
15404
  setup(props, _ref) {
15397
15405
  let {
@@ -16522,7 +16530,7 @@
16522
16530
  // new Date() uses local time zone when passing individual date component values
16523
16531
  return new Date(parts[0], parts[1] - 1, parts[2]);
16524
16532
  }
16525
- const _YYYMMDD = /([12]\d{3}-([1-9]|0[1-9]|1[0-2])-([1-9]|0[1-9]|[12]\d|3[01]))/;
16533
+ const _YYYMMDD = /^([12]\d{3}-([1-9]|0[1-9]|1[0-2])-([1-9]|0[1-9]|[12]\d|3[01]))$/;
16526
16534
  function date(value) {
16527
16535
  if (value == null) return new Date();
16528
16536
  if (value instanceof Date) return value;
@@ -16649,9 +16657,6 @@
16649
16657
  function getYear(date) {
16650
16658
  return date.getFullYear();
16651
16659
  }
16652
- function getNextYear(date) {
16653
- return new Date(date.getFullYear() + 1, date.getMonth(), date.getDate());
16654
- }
16655
16660
  function getMonth(date) {
16656
16661
  return date.getMonth();
16657
16662
  }
@@ -16686,9 +16691,6 @@
16686
16691
  function isSameMonth(date, comparing) {
16687
16692
  return date.getMonth() === comparing.getMonth() && date.getFullYear() === comparing.getFullYear();
16688
16693
  }
16689
- function getDate(date) {
16690
- return date.getDate();
16691
- }
16692
16694
  function getDiff(date, comparing, unit) {
16693
16695
  const d = new Date(date);
16694
16696
  const c = new Date(comparing);
@@ -16775,9 +16777,6 @@
16775
16777
  setYear(date, year) {
16776
16778
  return setYear(date, year);
16777
16779
  }
16778
- getDate(date) {
16779
- return getDate(date);
16780
- }
16781
16780
  getDiff(date, comparing, unit) {
16782
16781
  return getDiff(date, comparing, unit);
16783
16782
  }
@@ -16787,9 +16786,6 @@
16787
16786
  getYear(date) {
16788
16787
  return getYear(date);
16789
16788
  }
16790
- getNextYear(date) {
16791
- return getNextYear(date);
16792
- }
16793
16789
  getMonth(date) {
16794
16790
  return getMonth(date);
16795
16791
  }
@@ -16824,7 +16820,7 @@
16824
16820
  bg: 'bg-BG',
16825
16821
  ca: 'ca-ES',
16826
16822
  ckb: '',
16827
- cs: '',
16823
+ cs: 'cs-CZ',
16828
16824
  de: 'de-DE',
16829
16825
  el: 'el-GR',
16830
16826
  en: 'en-US',
@@ -18572,7 +18568,8 @@
18572
18568
  itemRef
18573
18569
  }) ?? vue.createVNode(VDataTableRow, vue.mergeProps(itemSlotProps.props, {
18574
18570
  "ref": itemRef,
18575
- "key": itemSlotProps.internalItem.index
18571
+ "key": itemSlotProps.internalItem.index,
18572
+ "index": itemSlotProps.internalItem.index
18576
18573
  }), slots);
18577
18574
  }
18578
18575
  })
@@ -19219,6 +19216,7 @@
19219
19216
 
19220
19217
  const makeVDatePickerMonthProps = propsFactory({
19221
19218
  allowedDates: [Array, Function],
19219
+ disabled: Boolean,
19222
19220
  color: String,
19223
19221
  month: [Number, String],
19224
19222
  hideWeekdays: Boolean,
@@ -19271,7 +19269,7 @@
19271
19269
  // Make sure there's always 6 weeks in month (6 * 7 days)
19272
19270
  // But only do it if we're not hiding adjacent months?
19273
19271
  const daysInMonth = 6 * 7;
19274
- if (days.length < daysInMonth && props.showAdjacentMonths) {
19272
+ if (days.length < daysInMonth) {
19275
19273
  const lastDay = days[days.length - 1];
19276
19274
  let week = [];
19277
19275
  for (let day = 1; day <= daysInMonth - days.length; day++) {
@@ -19314,6 +19312,7 @@
19314
19312
  });
19315
19313
  });
19316
19314
  function isDisabled(value) {
19315
+ if (props.disabled) return true;
19317
19316
  const date = adapter.date(value);
19318
19317
  if (props.min && adapter.isAfter(props.min, date)) return true;
19319
19318
  if (props.max && adapter.isAfter(date, props.max)) return true;
@@ -19492,7 +19491,7 @@
19492
19491
  date = adapter.setYear(date, min);
19493
19492
  return createRange(max - min + 1, min).map(i => {
19494
19493
  const text = adapter.format(date, 'year');
19495
- date = adapter.getNextYear(date);
19494
+ date = adapter.setYear(date, adapter.getYear(date) + 1);
19496
19495
  return {
19497
19496
  text,
19498
19497
  value: i
@@ -19658,18 +19657,14 @@
19658
19657
  t
19659
19658
  } = useLocale();
19660
19659
  const model = useProxiedModel(props, 'modelValue', undefined, v => wrapInArray(v), v => props.multiple ? v : v[0]);
19661
- const internal = vue.ref(model.value);
19662
- vue.watchEffect(() => {
19663
- internal.value = model.value;
19664
- });
19665
19660
  const viewMode = useProxiedModel(props, 'viewMode');
19666
19661
  const inputMode = useProxiedModel(props, 'inputMode');
19667
- const _model = vue.computed(() => {
19668
- const value = adapter.date(internal.value?.[0]);
19662
+ const internal = vue.computed(() => {
19663
+ const value = adapter.date(model.value?.[0]);
19669
19664
  return value && adapter.isValid(value) ? value : adapter.date();
19670
19665
  });
19671
- const month = vue.ref(Number(props.month ?? adapter.getMonth(adapter.startOfMonth(_model.value))));
19672
- const year = vue.ref(Number(props.year ?? adapter.getYear(adapter.startOfYear(adapter.setMonth(_model.value, month.value)))));
19666
+ const month = vue.ref(Number(props.month ?? adapter.getMonth(adapter.startOfMonth(internal.value))));
19667
+ const year = vue.ref(Number(props.year ?? adapter.getYear(adapter.startOfYear(adapter.setMonth(internal.value, month.value)))));
19673
19668
  const isReversing = vue.shallowRef(false);
19674
19669
  const header = vue.computed(() => {
19675
19670
  return props.multiple && model.value.length > 1 ? t('$vuetify.datePicker.itemsSelected', model.value.length) : model.value[0] && adapter.isValid(model.value[0]) ? adapter.format(model.value[0], 'normalDateWithWeekday') : t(props.header);
@@ -19689,6 +19684,7 @@
19689
19684
  return props.max && adapter.isValid(date) ? date : null;
19690
19685
  });
19691
19686
  const disabled = vue.computed(() => {
19687
+ if (props.disabled) return true;
19692
19688
  const targets = [];
19693
19689
  if (viewMode.value !== 'month') {
19694
19690
  targets.push(...['prev', 'next']);
@@ -19742,11 +19738,10 @@
19742
19738
  vue.watch(year, () => {
19743
19739
  if (viewMode.value === 'year') onClickYear();
19744
19740
  });
19745
- vue.watch(internal, (val, oldVal) => {
19741
+ vue.watch(model, (val, oldVal) => {
19746
19742
  const before = adapter.date(wrapInArray(val)[0]);
19747
19743
  const after = adapter.date(wrapInArray(oldVal)[0]);
19748
19744
  isReversing.value = adapter.isBefore(before, after);
19749
- model.value = val;
19750
19745
  });
19751
19746
  useRender(() => {
19752
19747
  const pickerProps = VPicker.filterProps(props);
@@ -19755,21 +19750,31 @@
19755
19750
  const datePickerMonthProps = VDatePickerMonth.filterProps(props);
19756
19751
  const datePickerMonthsProps = omit(VDatePickerMonths.filterProps(props), ['modelValue']);
19757
19752
  const datePickerYearsProps = omit(VDatePickerYears.filterProps(props), ['modelValue']);
19753
+ const headerProps = {
19754
+ header: header.value,
19755
+ transition: headerTransition.value,
19756
+ 'onClick:append': onClickAppend
19757
+ };
19758
19758
  return vue.createVNode(VPicker, vue.mergeProps(pickerProps, {
19759
- "class": ['v-date-picker', `v-date-picker--${viewMode.value}`, props.class],
19760
- "style": props.style,
19761
- "width": props.showWeek ? 408 : 360
19759
+ "class": ['v-date-picker', `v-date-picker--${viewMode.value}`, {
19760
+ 'v-date-picker--show-week': props.showWeek
19761
+ }, props.class],
19762
+ "style": props.style
19762
19763
  }), {
19763
19764
  title: () => slots.title?.() ?? vue.createVNode("div", {
19764
19765
  "class": "v-date-picker__title"
19765
19766
  }, [t(props.title)]),
19766
- header: () => vue.createVNode(VDatePickerHeader, vue.mergeProps({
19767
+ header: () => slots.header ? vue.createVNode(VDefaultsProvider, {
19768
+ "defaults": {
19769
+ VDatePickerHeader: {
19770
+ ...headerProps
19771
+ }
19772
+ }
19773
+ }, {
19774
+ default: () => [slots.header?.(headerProps)]
19775
+ }) : vue.createVNode(VDatePickerHeader, vue.mergeProps({
19767
19776
  "key": "header"
19768
- }, datePickerHeaderProps, {
19769
- "header": header.value,
19770
- "transition": headerTransition.value,
19771
- "onClick:append": onClickAppend
19772
- }), slots),
19777
+ }, datePickerHeaderProps, headerProps), slots),
19773
19778
  default: () => props.inputMode === 'calendar' ? vue.createVNode(vue.Fragment, null, [vue.createVNode(VDatePickerControls, vue.mergeProps(datePickerControlsProps, {
19774
19779
  "disabled": disabled.value,
19775
19780
  "text": text.value,
@@ -19797,8 +19802,8 @@
19797
19802
  }), null) : vue.createVNode(VDatePickerMonth, vue.mergeProps({
19798
19803
  "key": "date-picker-month"
19799
19804
  }, datePickerMonthProps, {
19800
- "modelValue": internal.value,
19801
- "onUpdate:modelValue": $event => internal.value = $event,
19805
+ "modelValue": model.value,
19806
+ "onUpdate:modelValue": $event => model.value = $event,
19802
19807
  "month": month.value,
19803
19808
  "onUpdate:month": $event => month.value = $event,
19804
19809
  "year": year.value,
@@ -20655,6 +20660,8 @@
20655
20660
  }
20656
20661
  });
20657
20662
 
20663
+ // Types
20664
+
20658
20665
  const VItemGroupSymbol = Symbol.for('vuetify:v-item-group');
20659
20666
  const makeVItemGroupProps = propsFactory({
20660
20667
  ...makeComponentProps(),
@@ -22156,7 +22163,7 @@
22156
22163
  inheritAttrs: false,
22157
22164
  props: makeVRadioGroupProps(),
22158
22165
  emits: {
22159
- 'update:modelValue': val => true
22166
+ 'update:modelValue': value => true
22160
22167
  },
22161
22168
  setup(props, _ref) {
22162
22169
  let {
@@ -23728,8 +23735,8 @@
23728
23735
  props: makeVSwitchProps(),
23729
23736
  emits: {
23730
23737
  'update:focused': focused => true,
23731
- 'update:modelValue': () => true,
23732
- 'update:indeterminate': val => true
23738
+ 'update:modelValue': value => true,
23739
+ 'update:indeterminate': value => true
23733
23740
  },
23734
23741
  setup(props, _ref) {
23735
23742
  let {
@@ -23771,11 +23778,13 @@
23771
23778
  'v-switch--inset': props.inset
23772
23779
  }, {
23773
23780
  'v-switch--indeterminate': indeterminate.value
23774
- }, loaderClasses.value, props.class],
23775
- "style": props.style
23781
+ }, loaderClasses.value, props.class]
23776
23782
  }, rootAttrs, inputProps, {
23783
+ "modelValue": model.value,
23784
+ "onUpdate:modelValue": $event => model.value = $event,
23777
23785
  "id": id.value,
23778
- "focused": isFocused.value
23786
+ "focused": isFocused.value,
23787
+ "style": props.style
23779
23788
  }), {
23780
23789
  ...slots,
23781
23790
  default: _ref2 => {
@@ -24716,11 +24725,14 @@
24716
24725
  });
24717
24726
 
24718
24727
  // Composables
24728
+
24729
+ // Types
24730
+
24719
24731
  const VValidation = genericComponent()({
24720
24732
  name: 'VValidation',
24721
24733
  props: makeValidationProps(),
24722
24734
  emits: {
24723
- 'update:modelValue': val => true
24735
+ 'update:modelValue': value => true
24724
24736
  },
24725
24737
  setup(props, _ref) {
24726
24738
  let {
@@ -25182,7 +25194,7 @@
25182
25194
  date
25183
25195
  };
25184
25196
  }
25185
- const version$1 = "3.4.0";
25197
+ const version$1 = "3.4.2";
25186
25198
  createVuetify$1.version = version$1;
25187
25199
 
25188
25200
  // Vue's inject() can only be used in setup
@@ -25196,7 +25208,7 @@
25196
25208
 
25197
25209
  /* eslint-disable local-rules/sort-imports */
25198
25210
 
25199
- const version = "3.4.0";
25211
+ const version = "3.4.2";
25200
25212
 
25201
25213
  /* eslint-disable local-rules/sort-imports */
25202
25214