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
  */
@@ -3115,6 +3115,7 @@ const VImg = genericComponent()({
3115
3115
  emit,
3116
3116
  slots
3117
3117
  } = _ref;
3118
+ const vm = getCurrentInstance('VImg');
3118
3119
  const currentSrc = shallowRef(''); // Set from srcset
3119
3120
  const image = ref();
3120
3121
  const state = shallowRef(props.eager ? 'loading' : 'idle');
@@ -3161,6 +3162,7 @@ const VImg = genericComponent()({
3161
3162
  nextTick(() => {
3162
3163
  emit('loadstart', image.value?.currentSrc || normalisedSrc.value.src);
3163
3164
  setTimeout(() => {
3165
+ if (vm.isUnmounted) return;
3164
3166
  if (image.value?.complete) {
3165
3167
  if (!image.value.naturalWidth) {
3166
3168
  onError();
@@ -3176,12 +3178,14 @@ const VImg = genericComponent()({
3176
3178
  });
3177
3179
  }
3178
3180
  function onLoad() {
3181
+ if (vm.isUnmounted) return;
3179
3182
  getSrc();
3180
3183
  pollForSize(image.value);
3181
3184
  state.value = 'loaded';
3182
3185
  emit('load', image.value?.currentSrc || normalisedSrc.value.src);
3183
3186
  }
3184
3187
  function onError() {
3188
+ if (vm.isUnmounted) return;
3185
3189
  state.value = 'error';
3186
3190
  emit('error', image.value?.currentSrc || normalisedSrc.value.src);
3187
3191
  }
@@ -3190,10 +3194,14 @@ const VImg = genericComponent()({
3190
3194
  if (img) currentSrc.value = img.currentSrc || img.src;
3191
3195
  }
3192
3196
  let timer = -1;
3197
+ onBeforeUnmount(() => {
3198
+ clearTimeout(timer);
3199
+ });
3193
3200
  function pollForSize(img) {
3194
3201
  let timeout = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 100;
3195
3202
  const poll = () => {
3196
3203
  clearTimeout(timer);
3204
+ if (vm.isUnmounted) return;
3197
3205
  const {
3198
3206
  naturalHeight: imgHeight,
3199
3207
  naturalWidth: imgWidth
@@ -5435,7 +5443,7 @@ const VBtn = genericComponent()({
5435
5443
  return props.variant === 'elevated' && !(props.disabled || props.flat || props.border);
5436
5444
  });
5437
5445
  const valueAttr = computed(() => {
5438
- if (props.value === undefined) return undefined;
5446
+ if (props.value === undefined || typeof props.value === 'symbol') return undefined;
5439
5447
  return Object(props.value) === props.value ? JSON.stringify(props.value, null, 0) : props.value;
5440
5448
  });
5441
5449
  function onClick(e) {
@@ -5818,7 +5826,7 @@ const VSelectionControlGroup = genericComponent()({
5818
5826
  name: 'VSelectionControlGroup',
5819
5827
  props: makeVSelectionControlGroupProps(),
5820
5828
  emits: {
5821
- 'update:modelValue': val => true
5829
+ 'update:modelValue': value => true
5822
5830
  },
5823
5831
  setup(props, _ref) {
5824
5832
  let {
@@ -5893,7 +5901,7 @@ function useSelectionControl(props) {
5893
5901
  const model = computed({
5894
5902
  get() {
5895
5903
  const val = group ? group.modelValue.value : modelValue.value;
5896
- return isMultiple.value ? val.some(v => props.valueComparator(v, trueValue.value)) : props.valueComparator(val, trueValue.value);
5904
+ return isMultiple.value ? wrapInArray(val).some(v => props.valueComparator(v, trueValue.value)) : props.valueComparator(val, trueValue.value);
5897
5905
  },
5898
5906
  set(val) {
5899
5907
  if (props.readonly) return;
@@ -5944,7 +5952,7 @@ const VSelectionControl = genericComponent()({
5944
5952
  inheritAttrs: false,
5945
5953
  props: makeVSelectionControlProps(),
5946
5954
  emits: {
5947
- 'update:modelValue': val => true
5955
+ 'update:modelValue': value => true
5948
5956
  },
5949
5957
  setup(props, _ref) {
5950
5958
  let {
@@ -6078,7 +6086,7 @@ const VCheckboxBtn = genericComponent()({
6078
6086
  props: makeVCheckboxBtnProps(),
6079
6087
  emits: {
6080
6088
  'update:modelValue': value => true,
6081
- 'update:indeterminate': val => true
6089
+ 'update:indeterminate': value => true
6082
6090
  },
6083
6091
  setup(props, _ref) {
6084
6092
  let {
@@ -6549,7 +6557,7 @@ const VInput = genericComponent()({
6549
6557
  ...makeVInputProps()
6550
6558
  },
6551
6559
  emits: {
6552
- 'update:modelValue': val => true
6560
+ 'update:modelValue': value => true
6553
6561
  },
6554
6562
  setup(props, _ref) {
6555
6563
  let {
@@ -8247,8 +8255,8 @@ const VList = genericComponent()({
8247
8255
  name: 'VList',
8248
8256
  props: makeVListProps(),
8249
8257
  emits: {
8250
- 'update:selected': val => true,
8251
- 'update:opened': val => true,
8258
+ 'update:selected': value => true,
8259
+ 'update:opened': value => true,
8252
8260
  'click:open': value => true,
8253
8261
  'click:select': value => true
8254
8262
  },
@@ -10303,7 +10311,7 @@ const VField = genericComponent()({
10303
10311
  },
10304
10312
  emits: {
10305
10313
  'update:focused': focused => true,
10306
- 'update:modelValue': val => true
10314
+ 'update:modelValue': value => true
10307
10315
  },
10308
10316
  setup(props, _ref) {
10309
10317
  let {
@@ -10812,11 +10820,10 @@ function useVirtual(props, items) {
10812
10820
  const hasInitialRender = computed(() => {
10813
10821
  return !!(containerRef.value && markerRef.value && viewportHeight.value && itemHeight.value);
10814
10822
  });
10815
- const sizeMap = new Map();
10816
10823
  let sizes = Array.from({
10817
10824
  length: items.value.length
10818
10825
  });
10819
- const offsets = Array.from({
10826
+ let offsets = Array.from({
10820
10827
  length: items.value.length
10821
10828
  });
10822
10829
  const updateTime = shallowRef(0);
@@ -10862,7 +10869,6 @@ function useVirtual(props, items) {
10862
10869
  itemHeight.value = prevMinHeight ? Math.min(itemHeight.value, height) : height;
10863
10870
  if (prevHeight !== height || prevMinHeight !== itemHeight.value) {
10864
10871
  sizes[index] = height;
10865
- sizeMap.set(items.value[index], height);
10866
10872
  updateOffsets();
10867
10873
  }
10868
10874
  }
@@ -10946,17 +10952,17 @@ function useVirtual(props, items) {
10946
10952
  index: index + first.value
10947
10953
  }));
10948
10954
  });
10949
- watch(() => items.value.length, () => {
10950
- sizes = createRange(items.value.length).map(() => itemHeight.value);
10951
- sizeMap.forEach((height, item) => {
10952
- const index = items.value.indexOf(item);
10953
- if (index === -1) {
10954
- sizeMap.delete(item);
10955
- } else {
10956
- sizes[index] = height;
10957
- }
10955
+ watch(items, () => {
10956
+ sizes = Array.from({
10957
+ length: items.value.length
10958
+ });
10959
+ offsets = Array.from({
10960
+ length: items.value.length
10958
10961
  });
10962
+ updateOffsets.immediate();
10959
10963
  calculateVisibleItems();
10964
+ }, {
10965
+ deep: true
10960
10966
  });
10961
10967
  return {
10962
10968
  containerRef,
@@ -11218,8 +11224,8 @@ const VSelect = genericComponent()({
11218
11224
  props: makeVSelectProps(),
11219
11225
  emits: {
11220
11226
  'update:focused': focused => true,
11221
- 'update:modelValue': val => true,
11222
- 'update:menu': val => true
11227
+ 'update:modelValue': value => true,
11228
+ 'update:menu': ue => true
11223
11229
  },
11224
11230
  setup(props, _ref) {
11225
11231
  let {
@@ -11672,9 +11678,9 @@ const VAutocomplete = genericComponent()({
11672
11678
  props: makeVAutocompleteProps(),
11673
11679
  emits: {
11674
11680
  'update:focused': focused => true,
11675
- 'update:search': val => true,
11676
- 'update:modelValue': val => true,
11677
- 'update:menu': val => true
11681
+ 'update:search': value => true,
11682
+ 'update:modelValue': value => true,
11683
+ 'update:menu': value => true
11678
11684
  },
11679
11685
  setup(props, _ref) {
11680
11686
  let {
@@ -12312,6 +12318,8 @@ const VBanner = genericComponent()({
12312
12318
  }
12313
12319
  });
12314
12320
 
12321
+ // Types
12322
+
12315
12323
  const makeVBottomNavigationProps = propsFactory({
12316
12324
  bgColor: String,
12317
12325
  color: String,
@@ -13173,7 +13181,7 @@ const VWindow = genericComponent()({
13173
13181
  },
13174
13182
  props: makeVWindowProps(),
13175
13183
  emits: {
13176
- 'update:modelValue': v => true
13184
+ 'update:modelValue': value => true
13177
13185
  },
13178
13186
  setup(props, _ref) {
13179
13187
  let {
@@ -13332,7 +13340,7 @@ const VCarousel = genericComponent()({
13332
13340
  name: 'VCarousel',
13333
13341
  props: makeVCarouselProps(),
13334
13342
  emits: {
13335
- 'update:modelValue': val => true
13343
+ 'update:modelValue': value => true
13336
13344
  },
13337
13345
  setup(props, _ref) {
13338
13346
  let {
@@ -15385,9 +15393,9 @@ const VCombobox = genericComponent()({
15385
15393
  props: makeVComboboxProps(),
15386
15394
  emits: {
15387
15395
  'update:focused': focused => true,
15388
- 'update:modelValue': val => true,
15389
- 'update:search': val => true,
15390
- 'update:menu': val => true
15396
+ 'update:modelValue': value => true,
15397
+ 'update:search': value => true,
15398
+ 'update:menu': value => true
15391
15399
  },
15392
15400
  setup(props, _ref) {
15393
15401
  let {
@@ -16518,7 +16526,7 @@ function parseLocalDate(value) {
16518
16526
  // new Date() uses local time zone when passing individual date component values
16519
16527
  return new Date(parts[0], parts[1] - 1, parts[2]);
16520
16528
  }
16521
- const _YYYMMDD = /([12]\d{3}-([1-9]|0[1-9]|1[0-2])-([1-9]|0[1-9]|[12]\d|3[01]))/;
16529
+ const _YYYMMDD = /^([12]\d{3}-([1-9]|0[1-9]|1[0-2])-([1-9]|0[1-9]|[12]\d|3[01]))$/;
16522
16530
  function date(value) {
16523
16531
  if (value == null) return new Date();
16524
16532
  if (value instanceof Date) return value;
@@ -16645,9 +16653,6 @@ function addMonths(date, amount) {
16645
16653
  function getYear(date) {
16646
16654
  return date.getFullYear();
16647
16655
  }
16648
- function getNextYear(date) {
16649
- return new Date(date.getFullYear() + 1, date.getMonth(), date.getDate());
16650
- }
16651
16656
  function getMonth(date) {
16652
16657
  return date.getMonth();
16653
16658
  }
@@ -16682,9 +16687,6 @@ function isSameDay(date, comparing) {
16682
16687
  function isSameMonth(date, comparing) {
16683
16688
  return date.getMonth() === comparing.getMonth() && date.getFullYear() === comparing.getFullYear();
16684
16689
  }
16685
- function getDate(date) {
16686
- return date.getDate();
16687
- }
16688
16690
  function getDiff(date, comparing, unit) {
16689
16691
  const d = new Date(date);
16690
16692
  const c = new Date(comparing);
@@ -16771,9 +16773,6 @@ class VuetifyDateAdapter {
16771
16773
  setYear(date, year) {
16772
16774
  return setYear(date, year);
16773
16775
  }
16774
- getDate(date) {
16775
- return getDate(date);
16776
- }
16777
16776
  getDiff(date, comparing, unit) {
16778
16777
  return getDiff(date, comparing, unit);
16779
16778
  }
@@ -16783,9 +16782,6 @@ class VuetifyDateAdapter {
16783
16782
  getYear(date) {
16784
16783
  return getYear(date);
16785
16784
  }
16786
- getNextYear(date) {
16787
- return getNextYear(date);
16788
- }
16789
16785
  getMonth(date) {
16790
16786
  return getMonth(date);
16791
16787
  }
@@ -16820,7 +16816,7 @@ function createDate(options, locale) {
16820
16816
  bg: 'bg-BG',
16821
16817
  ca: 'ca-ES',
16822
16818
  ckb: '',
16823
- cs: '',
16819
+ cs: 'cs-CZ',
16824
16820
  de: 'de-DE',
16825
16821
  el: 'el-GR',
16826
16822
  en: 'en-US',
@@ -18568,7 +18564,8 @@ const VDataTableVirtual = genericComponent()({
18568
18564
  itemRef
18569
18565
  }) ?? createVNode(VDataTableRow, mergeProps(itemSlotProps.props, {
18570
18566
  "ref": itemRef,
18571
- "key": itemSlotProps.internalItem.index
18567
+ "key": itemSlotProps.internalItem.index,
18568
+ "index": itemSlotProps.internalItem.index
18572
18569
  }), slots);
18573
18570
  }
18574
18571
  })
@@ -19215,6 +19212,7 @@ const VDatePickerHeader = genericComponent()({
19215
19212
 
19216
19213
  const makeVDatePickerMonthProps = propsFactory({
19217
19214
  allowedDates: [Array, Function],
19215
+ disabled: Boolean,
19218
19216
  color: String,
19219
19217
  month: [Number, String],
19220
19218
  hideWeekdays: Boolean,
@@ -19267,7 +19265,7 @@ const VDatePickerMonth = genericComponent()({
19267
19265
  // Make sure there's always 6 weeks in month (6 * 7 days)
19268
19266
  // But only do it if we're not hiding adjacent months?
19269
19267
  const daysInMonth = 6 * 7;
19270
- if (days.length < daysInMonth && props.showAdjacentMonths) {
19268
+ if (days.length < daysInMonth) {
19271
19269
  const lastDay = days[days.length - 1];
19272
19270
  let week = [];
19273
19271
  for (let day = 1; day <= daysInMonth - days.length; day++) {
@@ -19310,6 +19308,7 @@ const VDatePickerMonth = genericComponent()({
19310
19308
  });
19311
19309
  });
19312
19310
  function isDisabled(value) {
19311
+ if (props.disabled) return true;
19313
19312
  const date = adapter.date(value);
19314
19313
  if (props.min && adapter.isAfter(props.min, date)) return true;
19315
19314
  if (props.max && adapter.isAfter(date, props.max)) return true;
@@ -19488,7 +19487,7 @@ const VDatePickerYears = genericComponent()({
19488
19487
  date = adapter.setYear(date, min);
19489
19488
  return createRange(max - min + 1, min).map(i => {
19490
19489
  const text = adapter.format(date, 'year');
19491
- date = adapter.getNextYear(date);
19490
+ date = adapter.setYear(date, adapter.getYear(date) + 1);
19492
19491
  return {
19493
19492
  text,
19494
19493
  value: i
@@ -19654,18 +19653,14 @@ const VDatePicker = genericComponent()({
19654
19653
  t
19655
19654
  } = useLocale();
19656
19655
  const model = useProxiedModel(props, 'modelValue', undefined, v => wrapInArray(v), v => props.multiple ? v : v[0]);
19657
- const internal = ref(model.value);
19658
- watchEffect(() => {
19659
- internal.value = model.value;
19660
- });
19661
19656
  const viewMode = useProxiedModel(props, 'viewMode');
19662
19657
  const inputMode = useProxiedModel(props, 'inputMode');
19663
- const _model = computed(() => {
19664
- const value = adapter.date(internal.value?.[0]);
19658
+ const internal = computed(() => {
19659
+ const value = adapter.date(model.value?.[0]);
19665
19660
  return value && adapter.isValid(value) ? value : adapter.date();
19666
19661
  });
19667
- const month = ref(Number(props.month ?? adapter.getMonth(adapter.startOfMonth(_model.value))));
19668
- const year = ref(Number(props.year ?? adapter.getYear(adapter.startOfYear(adapter.setMonth(_model.value, month.value)))));
19662
+ const month = ref(Number(props.month ?? adapter.getMonth(adapter.startOfMonth(internal.value))));
19663
+ const year = ref(Number(props.year ?? adapter.getYear(adapter.startOfYear(adapter.setMonth(internal.value, month.value)))));
19669
19664
  const isReversing = shallowRef(false);
19670
19665
  const header = computed(() => {
19671
19666
  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);
@@ -19685,6 +19680,7 @@ const VDatePicker = genericComponent()({
19685
19680
  return props.max && adapter.isValid(date) ? date : null;
19686
19681
  });
19687
19682
  const disabled = computed(() => {
19683
+ if (props.disabled) return true;
19688
19684
  const targets = [];
19689
19685
  if (viewMode.value !== 'month') {
19690
19686
  targets.push(...['prev', 'next']);
@@ -19738,11 +19734,10 @@ const VDatePicker = genericComponent()({
19738
19734
  watch(year, () => {
19739
19735
  if (viewMode.value === 'year') onClickYear();
19740
19736
  });
19741
- watch(internal, (val, oldVal) => {
19737
+ watch(model, (val, oldVal) => {
19742
19738
  const before = adapter.date(wrapInArray(val)[0]);
19743
19739
  const after = adapter.date(wrapInArray(oldVal)[0]);
19744
19740
  isReversing.value = adapter.isBefore(before, after);
19745
- model.value = val;
19746
19741
  });
19747
19742
  useRender(() => {
19748
19743
  const pickerProps = VPicker.filterProps(props);
@@ -19751,21 +19746,31 @@ const VDatePicker = genericComponent()({
19751
19746
  const datePickerMonthProps = VDatePickerMonth.filterProps(props);
19752
19747
  const datePickerMonthsProps = omit(VDatePickerMonths.filterProps(props), ['modelValue']);
19753
19748
  const datePickerYearsProps = omit(VDatePickerYears.filterProps(props), ['modelValue']);
19749
+ const headerProps = {
19750
+ header: header.value,
19751
+ transition: headerTransition.value,
19752
+ 'onClick:append': onClickAppend
19753
+ };
19754
19754
  return createVNode(VPicker, mergeProps(pickerProps, {
19755
- "class": ['v-date-picker', `v-date-picker--${viewMode.value}`, props.class],
19756
- "style": props.style,
19757
- "width": props.showWeek ? 408 : 360
19755
+ "class": ['v-date-picker', `v-date-picker--${viewMode.value}`, {
19756
+ 'v-date-picker--show-week': props.showWeek
19757
+ }, props.class],
19758
+ "style": props.style
19758
19759
  }), {
19759
19760
  title: () => slots.title?.() ?? createVNode("div", {
19760
19761
  "class": "v-date-picker__title"
19761
19762
  }, [t(props.title)]),
19762
- header: () => createVNode(VDatePickerHeader, mergeProps({
19763
+ header: () => slots.header ? createVNode(VDefaultsProvider, {
19764
+ "defaults": {
19765
+ VDatePickerHeader: {
19766
+ ...headerProps
19767
+ }
19768
+ }
19769
+ }, {
19770
+ default: () => [slots.header?.(headerProps)]
19771
+ }) : createVNode(VDatePickerHeader, mergeProps({
19763
19772
  "key": "header"
19764
- }, datePickerHeaderProps, {
19765
- "header": header.value,
19766
- "transition": headerTransition.value,
19767
- "onClick:append": onClickAppend
19768
- }), slots),
19773
+ }, datePickerHeaderProps, headerProps), slots),
19769
19774
  default: () => props.inputMode === 'calendar' ? createVNode(Fragment, null, [createVNode(VDatePickerControls, mergeProps(datePickerControlsProps, {
19770
19775
  "disabled": disabled.value,
19771
19776
  "text": text.value,
@@ -19793,8 +19798,8 @@ const VDatePicker = genericComponent()({
19793
19798
  }), null) : createVNode(VDatePickerMonth, mergeProps({
19794
19799
  "key": "date-picker-month"
19795
19800
  }, datePickerMonthProps, {
19796
- "modelValue": internal.value,
19797
- "onUpdate:modelValue": $event => internal.value = $event,
19801
+ "modelValue": model.value,
19802
+ "onUpdate:modelValue": $event => model.value = $event,
19798
19803
  "month": month.value,
19799
19804
  "onUpdate:month": $event => month.value = $event,
19800
19805
  "year": year.value,
@@ -20651,6 +20656,8 @@ const VInfiniteScroll = genericComponent()({
20651
20656
  }
20652
20657
  });
20653
20658
 
20659
+ // Types
20660
+
20654
20661
  const VItemGroupSymbol = Symbol.for('vuetify:v-item-group');
20655
20662
  const makeVItemGroupProps = propsFactory({
20656
20663
  ...makeComponentProps(),
@@ -22152,7 +22159,7 @@ const VRadioGroup = genericComponent()({
22152
22159
  inheritAttrs: false,
22153
22160
  props: makeVRadioGroupProps(),
22154
22161
  emits: {
22155
- 'update:modelValue': val => true
22162
+ 'update:modelValue': value => true
22156
22163
  },
22157
22164
  setup(props, _ref) {
22158
22165
  let {
@@ -23724,8 +23731,8 @@ const VSwitch = genericComponent()({
23724
23731
  props: makeVSwitchProps(),
23725
23732
  emits: {
23726
23733
  'update:focused': focused => true,
23727
- 'update:modelValue': () => true,
23728
- 'update:indeterminate': val => true
23734
+ 'update:modelValue': value => true,
23735
+ 'update:indeterminate': value => true
23729
23736
  },
23730
23737
  setup(props, _ref) {
23731
23738
  let {
@@ -23767,11 +23774,13 @@ const VSwitch = genericComponent()({
23767
23774
  'v-switch--inset': props.inset
23768
23775
  }, {
23769
23776
  'v-switch--indeterminate': indeterminate.value
23770
- }, loaderClasses.value, props.class],
23771
- "style": props.style
23777
+ }, loaderClasses.value, props.class]
23772
23778
  }, rootAttrs, inputProps, {
23779
+ "modelValue": model.value,
23780
+ "onUpdate:modelValue": $event => model.value = $event,
23773
23781
  "id": id.value,
23774
- "focused": isFocused.value
23782
+ "focused": isFocused.value,
23783
+ "style": props.style
23775
23784
  }), {
23776
23785
  ...slots,
23777
23786
  default: _ref2 => {
@@ -24712,11 +24721,14 @@ const VTooltip = genericComponent()({
24712
24721
  });
24713
24722
 
24714
24723
  // Composables
24724
+
24725
+ // Types
24726
+
24715
24727
  const VValidation = genericComponent()({
24716
24728
  name: 'VValidation',
24717
24729
  props: makeValidationProps(),
24718
24730
  emits: {
24719
- 'update:modelValue': val => true
24731
+ 'update:modelValue': value => true
24720
24732
  },
24721
24733
  setup(props, _ref) {
24722
24734
  let {
@@ -25178,7 +25190,7 @@ function createVuetify$1() {
25178
25190
  date
25179
25191
  };
25180
25192
  }
25181
- const version$1 = "3.4.0";
25193
+ const version$1 = "3.4.2";
25182
25194
  createVuetify$1.version = version$1;
25183
25195
 
25184
25196
  // Vue's inject() can only be used in setup
@@ -25192,7 +25204,7 @@ function inject(key) {
25192
25204
 
25193
25205
  /* eslint-disable local-rules/sort-imports */
25194
25206
 
25195
- const version = "3.4.0";
25207
+ const version = "3.4.2";
25196
25208
 
25197
25209
  /* eslint-disable local-rules/sort-imports */
25198
25210