vuetify 3.6.10 → 3.6.12

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 (110) hide show
  1. package/dist/json/attributes.json +60 -72
  2. package/dist/json/importMap-labs.json +24 -24
  3. package/dist/json/importMap.json +170 -170
  4. package/dist/json/tags.json +4 -7
  5. package/dist/json/web-types.json +102 -121
  6. package/dist/vuetify-labs.css +1949 -1927
  7. package/dist/vuetify-labs.d.ts +658 -781
  8. package/dist/vuetify-labs.esm.js +141 -141
  9. package/dist/vuetify-labs.esm.js.map +1 -1
  10. package/dist/vuetify-labs.js +141 -141
  11. package/dist/vuetify-labs.min.css +2 -2
  12. package/dist/vuetify.css +1153 -1131
  13. package/dist/vuetify.d.ts +619 -712
  14. package/dist/vuetify.esm.js +71 -60
  15. package/dist/vuetify.esm.js.map +1 -1
  16. package/dist/vuetify.js +71 -60
  17. package/dist/vuetify.js.map +1 -1
  18. package/dist/vuetify.min.css +2 -2
  19. package/dist/vuetify.min.js +62 -57
  20. package/dist/vuetify.min.js.map +1 -1
  21. package/lib/blueprints/index.d.mts +3 -3
  22. package/lib/blueprints/md1.d.mts +3 -3
  23. package/lib/blueprints/md2.d.mts +3 -3
  24. package/lib/blueprints/md3.d.mts +3 -3
  25. package/lib/components/VAutocomplete/index.d.mts +25 -31
  26. package/lib/components/VBottomSheet/index.d.mts +10 -10
  27. package/lib/components/VCheckbox/index.d.mts +2 -8
  28. package/lib/components/VCombobox/index.d.mts +25 -31
  29. package/lib/components/VDataTable/VDataTableFooter.mjs +5 -4
  30. package/lib/components/VDataTable/VDataTableFooter.mjs.map +1 -1
  31. package/lib/components/VDataTable/index.d.mts +108 -108
  32. package/lib/components/VDatePicker/VDatePickerControls.mjs +5 -4
  33. package/lib/components/VDatePicker/VDatePickerControls.mjs.map +1 -1
  34. package/lib/components/VDatePicker/VDatePickerMonth.mjs +1 -1
  35. package/lib/components/VDatePicker/VDatePickerMonth.mjs.map +1 -1
  36. package/lib/components/VDatePicker/index.d.mts +70 -55
  37. package/lib/components/VDialog/index.d.mts +28 -28
  38. package/lib/components/VExpansionPanel/VExpansionPanels.mjs +6 -2
  39. package/lib/components/VExpansionPanel/VExpansionPanels.mjs.map +1 -1
  40. package/lib/components/VExpansionPanel/index.d.mts +48 -66
  41. package/lib/components/VField/VField.css +11 -6
  42. package/lib/components/VField/VField.mjs +5 -7
  43. package/lib/components/VField/VField.mjs.map +1 -1
  44. package/lib/components/VField/VField.sass +6 -2
  45. package/lib/components/VField/index.d.mts +6 -12
  46. package/lib/components/VFileInput/index.d.mts +6 -12
  47. package/lib/components/VInput/VInput.css +5 -5
  48. package/lib/components/VInput/VInput.mjs +1 -4
  49. package/lib/components/VInput/VInput.mjs.map +1 -1
  50. package/lib/components/VInput/VInput.sass +1 -1
  51. package/lib/components/VInput/index.d.mts +2 -8
  52. package/lib/components/VMenu/index.d.mts +32 -32
  53. package/lib/components/VOverlay/VOverlay.mjs +7 -2
  54. package/lib/components/VOverlay/VOverlay.mjs.map +1 -1
  55. package/lib/components/VOverlay/index.d.mts +10 -10
  56. package/lib/components/VOverlay/locationStrategies.mjs.map +1 -1
  57. package/lib/components/VProgressLinear/VProgressLinear.css +17 -0
  58. package/lib/components/VProgressLinear/VProgressLinear.mjs +6 -5
  59. package/lib/components/VProgressLinear/VProgressLinear.mjs.map +1 -1
  60. package/lib/components/VProgressLinear/VProgressLinear.sass +11 -0
  61. package/lib/components/VRadio/VRadio.mjs +8 -5
  62. package/lib/components/VRadio/VRadio.mjs.map +1 -1
  63. package/lib/components/VRadioGroup/index.d.mts +2 -8
  64. package/lib/components/VRangeSlider/index.d.mts +2 -8
  65. package/lib/components/VSelect/index.d.mts +25 -31
  66. package/lib/components/VSlider/index.d.mts +2 -8
  67. package/lib/components/VSnackbar/index.d.mts +28 -28
  68. package/lib/components/VSpeedDial/index.d.mts +14 -14
  69. package/lib/components/VSwitch/index.d.mts +2 -8
  70. package/lib/components/VTextField/VTextField.mjs +1 -1
  71. package/lib/components/VTextField/VTextField.mjs.map +1 -1
  72. package/lib/components/VTextField/index.d.mts +18 -24
  73. package/lib/components/VTextarea/VTextarea.mjs +5 -5
  74. package/lib/components/VTextarea/VTextarea.mjs.map +1 -1
  75. package/lib/components/VTextarea/index.d.mts +72 -87
  76. package/lib/components/VTooltip/index.d.mts +32 -32
  77. package/lib/components/index.d.mts +646 -739
  78. package/lib/composables/calendar.mjs +10 -4
  79. package/lib/composables/calendar.mjs.map +1 -1
  80. package/lib/composables/date/DateAdapter.mjs.map +1 -1
  81. package/lib/composables/date/adapters/vuetify.mjs +15 -13
  82. package/lib/composables/date/adapters/vuetify.mjs.map +1 -1
  83. package/lib/composables/teleport.mjs +2 -2
  84. package/lib/composables/teleport.mjs.map +1 -1
  85. package/lib/entry-bundler.mjs +1 -1
  86. package/lib/framework.mjs +1 -1
  87. package/lib/index.d.mts +63 -63
  88. package/lib/labs/VCalendar/VCalendar.mjs +7 -6
  89. package/lib/labs/VCalendar/VCalendar.mjs.map +1 -1
  90. package/lib/labs/VCalendar/index.d.mts +6 -0
  91. package/lib/labs/VDateInput/index.d.mts +39 -39
  92. package/lib/labs/VNumberInput/VNumberInput.mjs +49 -56
  93. package/lib/labs/VNumberInput/VNumberInput.mjs.map +1 -1
  94. package/lib/labs/VNumberInput/index.d.mts +6 -12
  95. package/lib/labs/VSnackbarQueue/index.d.mts +37 -37
  96. package/lib/labs/VStepperVertical/VStepperVertical.mjs +2 -0
  97. package/lib/labs/VStepperVertical/VStepperVertical.mjs.map +1 -1
  98. package/lib/labs/VStepperVertical/index.d.mts +0 -18
  99. package/lib/labs/VTimePicker/VTimePicker.mjs +5 -5
  100. package/lib/labs/VTimePicker/VTimePicker.mjs.map +1 -1
  101. package/lib/labs/VTimePicker/VTimePickerClock.mjs +2 -2
  102. package/lib/labs/VTimePicker/VTimePickerClock.mjs.map +1 -1
  103. package/lib/labs/VTimePicker/VTimePickerControls.mjs +2 -2
  104. package/lib/labs/VTimePicker/VTimePickerControls.mjs.map +1 -1
  105. package/lib/labs/VTimePicker/index.d.mts +18 -18
  106. package/lib/labs/VTreeview/VTreeview.mjs +5 -12
  107. package/lib/labs/VTreeview/VTreeview.mjs.map +1 -1
  108. package/lib/labs/VTreeview/index.d.mts +18 -30
  109. package/lib/labs/components.d.mts +124 -154
  110. package/package.json +2 -2
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Vuetify v3.6.10
2
+ * Vuetify v3.6.12
3
3
  * Forged by John Leider
4
4
  * Released under the MIT License.
5
5
  */
@@ -4976,6 +4976,7 @@ const VProgressLinear = genericComponent()({
4976
4976
  const normalizedValue = computed(() => clamp(parseFloat(progress.value) / max.value * 100, 0, 100));
4977
4977
  const isReversed = computed(() => isRtl.value !== props.reverse);
4978
4978
  const transition = computed(() => props.indeterminate ? 'fade-transition' : 'slide-x-transition');
4979
+ const isForcedColorsModeActive = IN_BROWSER && window.matchMedia?.('(forced-colors: active)').matches;
4979
4980
  function handleClick(e) {
4980
4981
  if (!intersectionRef.value) return;
4981
4982
  const {
@@ -5023,13 +5024,13 @@ const VProgressLinear = genericComponent()({
5023
5024
  '--v-progress-linear-stream-to': convertToUnit(height.value * (isReversed.value ? 1 : -1))
5024
5025
  }
5025
5026
  }, null), createVNode("div", {
5026
- "class": ['v-progress-linear__background', backgroundColorClasses.value],
5027
+ "class": ['v-progress-linear__background', !isForcedColorsModeActive ? backgroundColorClasses.value : undefined],
5027
5028
  "style": [backgroundColorStyles.value, {
5028
5029
  opacity: parseFloat(props.bgOpacity),
5029
5030
  width: props.stream ? 0 : undefined
5030
5031
  }]
5031
5032
  }, null), createVNode("div", {
5032
- "class": ['v-progress-linear__buffer', bufferColorClasses.value],
5033
+ "class": ['v-progress-linear__buffer', !isForcedColorsModeActive ? bufferColorClasses.value : undefined],
5033
5034
  "style": [bufferColorStyles.value, {
5034
5035
  opacity: parseFloat(props.bufferOpacity),
5035
5036
  width: convertToUnit(normalizedBuffer.value, '%')
@@ -5038,7 +5039,7 @@ const VProgressLinear = genericComponent()({
5038
5039
  "name": transition.value
5039
5040
  }, {
5040
5041
  default: () => [!props.indeterminate ? createVNode("div", {
5041
- "class": ['v-progress-linear__determinate', barColorClasses.value],
5042
+ "class": ['v-progress-linear__determinate', !isForcedColorsModeActive ? barColorClasses.value : undefined],
5042
5043
  "style": [barColorStyles.value, {
5043
5044
  width: convertToUnit(normalizedValue.value, '%')
5044
5045
  }]
@@ -5046,7 +5047,7 @@ const VProgressLinear = genericComponent()({
5046
5047
  "class": "v-progress-linear__indeterminate"
5047
5048
  }, [['long', 'short'].map(bar => createVNode("div", {
5048
5049
  "key": bar,
5049
- "class": ['v-progress-linear__indeterminate', bar, barColorClasses.value],
5050
+ "class": ['v-progress-linear__indeterminate', bar, !isForcedColorsModeActive ? barColorClasses.value : undefined],
5050
5051
  "style": barColorStyles.value
5051
5052
  }, null))])]
5052
5053
  }), slots.default && createVNode("div", {
@@ -6806,10 +6807,7 @@ function useValidation(props) {
6806
6807
  const makeVInputProps = propsFactory({
6807
6808
  id: String,
6808
6809
  appendIcon: IconValue,
6809
- centerAffix: {
6810
- type: Boolean,
6811
- default: true
6812
- },
6810
+ centerAffix: Boolean,
6813
6811
  prependIcon: IconValue,
6814
6812
  hideDetails: [Boolean, String],
6815
6813
  hideSpinButtons: Boolean,
@@ -10600,12 +10598,9 @@ function useStack(isActive, zIndex, disableGlobalStack) {
10600
10598
  }
10601
10599
 
10602
10600
  // Utilities
10603
-
10604
- // Types
10605
-
10606
10601
  function useTeleport(target) {
10607
10602
  const teleportTarget = computed(() => {
10608
- const _target = target.value;
10603
+ const _target = target();
10609
10604
  if (_target === true || !IN_BROWSER) return undefined;
10610
10605
  const targetElement = _target === false ? document.body : typeof _target === 'string' ? document.querySelector(_target) : _target;
10611
10606
  if (targetElement == null) {
@@ -10826,10 +10821,15 @@ const VOverlay = genericComponent()({
10826
10821
  isActive,
10827
10822
  isTop: localTop
10828
10823
  });
10829
- const potentialShadowDomRoot = computed(() => activatorEl?.value?.getRootNode());
10830
10824
  const {
10831
10825
  teleportTarget
10832
- } = useTeleport(computed(() => props.attach || props.contained || potentialShadowDomRoot.value instanceof ShadowRoot ? potentialShadowDomRoot.value : false));
10826
+ } = useTeleport(() => {
10827
+ const target = props.attach || props.contained;
10828
+ if (target) return target;
10829
+ const rootNode = activatorEl?.value?.getRootNode();
10830
+ if (rootNode instanceof ShadowRoot) return rootNode;
10831
+ return false;
10832
+ });
10833
10833
  const {
10834
10834
  dimensionStyles
10835
10835
  } = useDimension(props);
@@ -11322,10 +11322,7 @@ const makeVFieldProps = propsFactory({
11322
11322
  default: '$clear'
11323
11323
  },
11324
11324
  active: Boolean,
11325
- centerAffix: {
11326
- type: Boolean,
11327
- default: undefined
11328
- },
11325
+ centerAffix: Boolean,
11329
11326
  color: String,
11330
11327
  baseColor: String,
11331
11328
  dirty: Boolean,
@@ -11392,8 +11389,9 @@ const VField = genericComponent()({
11392
11389
  const {
11393
11390
  rtlClasses
11394
11391
  } = useRtl();
11392
+ const isSingleLine = computed(() => props.singleLine || props.centerAffix);
11395
11393
  const isActive = computed(() => props.dirty || props.active);
11396
- const hasLabel = computed(() => !props.singleLine && !!(props.label || slots.label));
11394
+ const hasLabel = computed(() => !isSingleLine.value && !!(props.label || slots.label));
11397
11395
  const uid = getUid();
11398
11396
  const id = computed(() => props.id || `input-${uid}`);
11399
11397
  const messagesId = computed(() => `${id.value}-messages`);
@@ -11482,7 +11480,7 @@ const VField = genericComponent()({
11482
11480
  "class": ['v-field', {
11483
11481
  'v-field--active': isActive.value,
11484
11482
  'v-field--appended': hasAppend,
11485
- 'v-field--center-affix': props.centerAffix ?? !isPlainOrUnderlined.value,
11483
+ 'v-field--center-affix': props.centerAffix,
11486
11484
  'v-field--disabled': props.disabled,
11487
11485
  'v-field--dirty': props.dirty,
11488
11486
  'v-field--error': props.error,
@@ -11491,7 +11489,7 @@ const VField = genericComponent()({
11491
11489
  'v-field--persistent-clear': props.persistentClear,
11492
11490
  'v-field--prepended': hasPrepend,
11493
11491
  'v-field--reverse': props.reverse,
11494
- 'v-field--single-line': props.singleLine,
11492
+ 'v-field--single-line': isSingleLine.value,
11495
11493
  'v-field--no-label': !label(),
11496
11494
  [`v-field--variant-${props.variant}`]: true
11497
11495
  }, themeClasses.value, backgroundColorClasses.value, focusClasses.value, loaderClasses.value, roundedClasses.value, rtlClasses.value, props.class],
@@ -11726,7 +11724,6 @@ const VTextField = genericComponent()({
11726
11724
  }, props.class],
11727
11725
  "style": props.style
11728
11726
  }, rootAttrs, inputProps, {
11729
- "centerAffix": !isPlainOrUnderlined.value,
11730
11727
  "focused": isFocused.value
11731
11728
  }), {
11732
11729
  ...slots,
@@ -11752,6 +11749,7 @@ const VTextField = genericComponent()({
11752
11749
  "dirty": isDirty.value || props.dirty,
11753
11750
  "disabled": isDisabled.value,
11754
11751
  "focused": isFocused.value,
11752
+ "centerAffix": props.centerAffix,
11755
11753
  "error": isValid.value === false
11756
11754
  }), {
11757
11755
  ...slots,
@@ -17269,13 +17267,14 @@ const firstDay = {
17269
17267
  ZA: 0,
17270
17268
  ZW: 0
17271
17269
  };
17272
- function getWeekArray(date, locale) {
17270
+ function getWeekArray(date, locale, firstDayOfWeek) {
17273
17271
  const weeks = [];
17274
17272
  let currentWeek = [];
17275
17273
  const firstDayOfMonth = startOfMonth(date);
17276
17274
  const lastDayOfMonth = endOfMonth(date);
17277
- const firstDayWeekIndex = (firstDayOfMonth.getDay() - firstDay[locale.slice(-2).toUpperCase()] + 7) % 7;
17278
- const lastDayWeekIndex = (lastDayOfMonth.getDay() - firstDay[locale.slice(-2).toUpperCase()] + 7) % 7;
17275
+ const first = firstDayOfWeek ?? firstDay[locale.slice(-2).toUpperCase()] ?? 0;
17276
+ const firstDayWeekIndex = (firstDayOfMonth.getDay() - first + 7) % 7;
17277
+ const lastDayWeekIndex = (lastDayOfMonth.getDay() - first + 7) % 7;
17279
17278
  for (let i = 0; i < firstDayWeekIndex; i++) {
17280
17279
  const adjacentDay = new Date(firstDayOfMonth);
17281
17280
  adjacentDay.setDate(adjacentDay.getDate() - (firstDayWeekIndex - i));
@@ -17303,9 +17302,10 @@ function getWeekArray(date, locale) {
17303
17302
  }
17304
17303
  return weeks;
17305
17304
  }
17306
- function startOfWeek(date, locale) {
17305
+ function startOfWeek(date, locale, firstDayOfWeek) {
17306
+ const day = firstDayOfWeek ?? firstDay[locale.slice(-2).toUpperCase()] ?? 0;
17307
17307
  const d = new Date(date);
17308
- while (d.getDay() !== (firstDay[locale.slice(-2).toUpperCase()] ?? 0)) {
17308
+ while (d.getDay() !== day) {
17309
17309
  d.setDate(d.getDate() - 1);
17310
17310
  }
17311
17311
  return d;
@@ -17346,8 +17346,8 @@ function date(value) {
17346
17346
  return null;
17347
17347
  }
17348
17348
  const sundayJanuarySecond2000 = new Date(2000, 0, 2);
17349
- function getWeekdays(locale) {
17350
- const daysFromSunday = firstDay[locale.slice(-2).toUpperCase()];
17349
+ function getWeekdays(locale, firstDayOfWeek) {
17350
+ const daysFromSunday = firstDayOfWeek ?? firstDay[locale.slice(-2).toUpperCase()] ?? 0;
17351
17351
  return createRange(7).map(i => {
17352
17352
  const weekday = new Date(sundayJanuarySecond2000);
17353
17353
  weekday.setDate(sundayJanuarySecond2000.getDate() + daysFromSunday + i);
@@ -17745,11 +17745,11 @@ class VuetifyDateAdapter {
17745
17745
  addMonths(date, amount) {
17746
17746
  return addMonths(date, amount);
17747
17747
  }
17748
- getWeekArray(date) {
17749
- return getWeekArray(date, this.locale);
17748
+ getWeekArray(date, firstDayOfWeek) {
17749
+ return getWeekArray(date, this.locale, firstDayOfWeek ? Number(firstDayOfWeek) : undefined);
17750
17750
  }
17751
- startOfWeek(date) {
17752
- return startOfWeek(date, this.locale);
17751
+ startOfWeek(date, firstDayOfWeek) {
17752
+ return startOfWeek(date, this.locale, firstDayOfWeek ? Number(firstDayOfWeek) : undefined);
17753
17753
  }
17754
17754
  endOfWeek(date) {
17755
17755
  return endOfWeek(date, this.locale);
@@ -17808,8 +17808,8 @@ class VuetifyDateAdapter {
17808
17808
  getDiff(date, comparing, unit) {
17809
17809
  return getDiff(date, comparing, unit);
17810
17810
  }
17811
- getWeekdays() {
17812
- return getWeekdays(this.locale);
17811
+ getWeekdays(firstDayOfWeek) {
17812
+ return getWeekdays(this.locale, firstDayOfWeek ? Number(firstDayOfWeek) : undefined);
17813
17813
  }
17814
17814
  getYear(date) {
17815
17815
  return getYear(date);
@@ -19230,19 +19230,19 @@ const VPagination = genericComponent()({
19230
19230
 
19231
19231
  const makeVDataTableFooterProps = propsFactory({
19232
19232
  prevIcon: {
19233
- type: String,
19233
+ type: IconValue,
19234
19234
  default: '$prev'
19235
19235
  },
19236
19236
  nextIcon: {
19237
- type: String,
19237
+ type: IconValue,
19238
19238
  default: '$next'
19239
19239
  },
19240
19240
  firstIcon: {
19241
- type: String,
19241
+ type: IconValue,
19242
19242
  default: '$first'
19243
19243
  },
19244
19244
  lastIcon: {
19245
- type: String,
19245
+ type: IconValue,
19246
19246
  default: '$last'
19247
19247
  },
19248
19248
  itemsPerPageText: {
@@ -21177,15 +21177,15 @@ const makeVDatePickerControlsProps = propsFactory({
21177
21177
  default: false
21178
21178
  },
21179
21179
  nextIcon: {
21180
- type: [String],
21180
+ type: IconValue,
21181
21181
  default: '$next'
21182
21182
  },
21183
21183
  prevIcon: {
21184
- type: [String],
21184
+ type: IconValue,
21185
21185
  default: '$prev'
21186
21186
  },
21187
21187
  modeIcon: {
21188
- type: [String],
21188
+ type: IconValue,
21189
21189
  default: '$subgroup'
21190
21190
  },
21191
21191
  text: String,
@@ -21371,7 +21371,8 @@ const makeCalendarProps = propsFactory({
21371
21371
  weeksInMonth: {
21372
21372
  type: String,
21373
21373
  default: 'dynamic'
21374
- }
21374
+ },
21375
+ firstDayOfWeek: [Number, String]
21375
21376
  }, 'calendar');
21376
21377
  function useCalendar(props) {
21377
21378
  const adapter = useDate();
@@ -21392,8 +21393,12 @@ function useCalendar(props) {
21392
21393
  const date = adapter.setYear(adapter.startOfMonth(adapter.date()), adapter.getYear(year.value));
21393
21394
  return adapter.setMonth(date, value);
21394
21395
  }, v => adapter.getMonth(v));
21396
+ const weekDays = computed(() => {
21397
+ const firstDayOfWeek = Number(props.firstDayOfWeek ?? 0);
21398
+ return props.weekdays.map(day => (day + firstDayOfWeek) % 7);
21399
+ });
21395
21400
  const weeksInMonth = computed(() => {
21396
- const weeks = adapter.getWeekArray(month.value);
21401
+ const weeks = adapter.getWeekArray(month.value, props.firstDayOfWeek);
21397
21402
  const days = weeks.flat();
21398
21403
 
21399
21404
  // Make sure there's always 6 weeks in month (6 * 7 days)
@@ -21414,7 +21419,7 @@ function useCalendar(props) {
21414
21419
  });
21415
21420
  function genDays(days, today) {
21416
21421
  return days.filter(date => {
21417
- return props.weekdays.includes(adapter.toJsDate(date).getDay());
21422
+ return weekDays.value.includes(adapter.toJsDate(date).getDay());
21418
21423
  }).map((date, index) => {
21419
21424
  const isoDate = adapter.toISO(date);
21420
21425
  const isAdjacent = !adapter.isSameMonth(date, month.value);
@@ -21442,7 +21447,7 @@ function useCalendar(props) {
21442
21447
  });
21443
21448
  }
21444
21449
  const daysInWeek = computed(() => {
21445
- const lastDay = adapter.startOfWeek(displayValue.value);
21450
+ const lastDay = adapter.startOfWeek(displayValue.value, props.firstDayOfWeek);
21446
21451
  const week = [];
21447
21452
  for (let day = 0; day <= 6; day++) {
21448
21453
  week.push(adapter.addDays(lastDay, day));
@@ -21480,6 +21485,7 @@ function useCalendar(props) {
21480
21485
  genDays,
21481
21486
  model,
21482
21487
  weeksInMonth,
21488
+ weekDays,
21483
21489
  weekNumbers
21484
21490
  };
21485
21491
  }
@@ -21610,7 +21616,7 @@ const VDatePickerMonth = genericComponent()({
21610
21616
  "ref": daysRef,
21611
21617
  "key": daysInMonth.value[0].date?.toString(),
21612
21618
  "class": "v-date-picker-month__days"
21613
- }, [!props.hideWeekdays && adapter.getWeekdays().map(weekDay => createVNode("div", {
21619
+ }, [!props.hideWeekdays && adapter.getWeekdays(props.firstDayOfWeek).map(weekDay => createVNode("div", {
21614
21620
  "class": ['v-date-picker-month__day', 'v-date-picker-month__weekday']
21615
21621
  }, [weekDay])), daysInMonth.value.map((item, i) => {
21616
21622
  const slotProps = {
@@ -22480,8 +22486,10 @@ const allowedVariants = ['default', 'accordion', 'inset', 'popout'];
22480
22486
  const makeVExpansionPanelsProps = propsFactory({
22481
22487
  flat: Boolean,
22482
22488
  ...makeGroupProps(),
22483
- ...makeVExpansionPanelProps(),
22489
+ ...pick(makeVExpansionPanelProps(), ['bgColor', 'collapseIcon', 'color', 'eager', 'elevation', 'expandIcon', 'focusable', 'hideActions', 'readonly', 'ripple', 'rounded', 'tile', 'static']),
22484
22490
  ...makeThemeProps(),
22491
+ ...makeComponentProps(),
22492
+ ...makeTagProps(),
22485
22493
  variant: {
22486
22494
  type: String,
22487
22495
  default: 'default',
@@ -24438,11 +24446,14 @@ const VRadio = genericComponent()({
24438
24446
  let {
24439
24447
  slots
24440
24448
  } = _ref;
24441
- useRender(() => createVNode(VSelectionControl, mergeProps(props, {
24442
- "class": ['v-radio', props.class],
24443
- "style": props.style,
24444
- "type": "radio"
24445
- }), slots));
24449
+ useRender(() => {
24450
+ const controlProps = VSelectionControl.filterProps(props);
24451
+ return createVNode(VSelectionControl, mergeProps(controlProps, {
24452
+ "class": ['v-radio', props.class],
24453
+ "style": props.style,
24454
+ "type": "radio"
24455
+ }), slots);
24456
+ });
24446
24457
  return {};
24447
24458
  }
24448
24459
  });
@@ -26765,8 +26776,8 @@ const makeVTextareaProps = propsFactory({
26765
26776
  },
26766
26777
  suffix: String,
26767
26778
  modelModifiers: Object,
26768
- ...makeVInputProps(),
26769
- ...makeVFieldProps()
26779
+ ...omit(makeVInputProps(), ['centerAffix']),
26780
+ ...omit(makeVFieldProps(), ['centerAffix'])
26770
26781
  }, 'VTextarea');
26771
26782
  const VTextarea = genericComponent()({
26772
26783
  name: 'VTextarea',
@@ -26905,7 +26916,7 @@ const VTextarea = genericComponent()({
26905
26916
  }, props.class],
26906
26917
  "style": props.style
26907
26918
  }, rootAttrs, inputProps, {
26908
- "centerAffix": rows.value === 1 && !isPlainOrUnderlined.value,
26919
+ "centerAffix": false,
26909
26920
  "focused": isFocused.value
26910
26921
  }), {
26911
26922
  ...slots,
@@ -26930,7 +26941,7 @@ const VTextarea = genericComponent()({
26930
26941
  }, fieldProps, {
26931
26942
  "id": id.value,
26932
26943
  "active": isActive.value || isDirty.value,
26933
- "centerAffix": rows.value === 1 && !isPlainOrUnderlined.value,
26944
+ "centerAffix": false,
26934
26945
  "dirty": isDirty.value || props.dirty,
26935
26946
  "disabled": isDisabled.value,
26936
26947
  "focused": isFocused.value,
@@ -27782,7 +27793,8 @@ const VCalendar = genericComponent()({
27782
27793
  genDays,
27783
27794
  model,
27784
27795
  displayValue,
27785
- weekNumbers
27796
+ weekNumbers,
27797
+ weekDays
27786
27798
  } = useCalendar(props);
27787
27799
  const dayNames = adapter.getWeekdays();
27788
27800
  function onClickNext() {
@@ -27832,19 +27844,19 @@ const VCalendar = genericComponent()({
27832
27844
  }), null) : slots.header({
27833
27845
  title: title.value
27834
27846
  }))]), createVNode("div", {
27835
- "class": ['v-calendar__container', `days__${props.weekdays.length}`]
27847
+ "class": ['v-calendar__container', `days__${weekDays.value.length}`]
27836
27848
  }, [props.viewMode === 'month' && !props.hideDayHeader && createVNode("div", {
27837
- "class": ['v-calendar-weekly__head', `days__${props.weekdays.length}`, ...(!props.hideWeekNumber ? ['v-calendar-weekly__head-weeknumbers'] : [])],
27849
+ "class": ['v-calendar-weekly__head', `days__${weekDays.value.length}`, ...(!props.hideWeekNumber ? ['v-calendar-weekly__head-weeknumbers'] : [])],
27838
27850
  "key": "calenderWeeklyHead"
27839
27851
  }, [!props.hideWeekNumber ? createVNode("div", {
27840
27852
  "key": "weekNumber0",
27841
27853
  "class": "v-calendar-weekly__head-weeknumber"
27842
- }, null) : '', props.weekdays.map(weekday => createVNode("div", {
27854
+ }, null) : '', weekDays.value.map(weekday => createVNode("div", {
27843
27855
  "class": `v-calendar-weekly__head-weekday${!props.hideWeekNumber ? '-with-weeknumber' : ''}`
27844
27856
  }, [dayNames[weekday]]))]), props.viewMode === 'month' && createVNode("div", {
27845
27857
  "key": "VCalendarMonth",
27846
- "class": ['v-calendar-month__days', `days${!props.hideWeekNumber ? '-with-weeknumbers' : ''}__${props.weekdays.length}`, ...(!props.hideWeekNumber ? ['v-calendar-month__weeknumbers'] : [])]
27847
- }, [chunkArray(daysInMonth.value, props.weekdays.length).map((week, wi) => [!props.hideWeekNumber ? createVNode("div", {
27858
+ "class": ['v-calendar-month__days', `days${!props.hideWeekNumber ? '-with-weeknumbers' : ''}__${weekDays.value.length}`, ...(!props.hideWeekNumber ? ['v-calendar-month__weeknumbers'] : [])]
27859
+ }, [chunkArray(daysInMonth.value, weekDays.value.length).map((week, wi) => [!props.hideWeekNumber ? createVNode("div", {
27848
27860
  "class": "v-calendar-month__weeknumber"
27849
27861
  }, [weekNumbers.value[wi]]) : '', week.map(day => createVNode(VCalendarMonthDay, {
27850
27862
  "color": adapter.isSameDay(adapter.date(), day.date) ? 'primary' : undefined,
@@ -28051,6 +28063,10 @@ const VNumberInput = genericComponent()({
28051
28063
  const controlVariant = computed(() => {
28052
28064
  return props.hideInput ? 'stacked' : props.controlVariant;
28053
28065
  });
28066
+ const incrementIcon = computed(() => controlVariant.value === 'split' ? '$plus' : '$collapse');
28067
+ const decrementIcon = computed(() => controlVariant.value === 'split' ? '$minus' : '$expand');
28068
+ const controlNodeSize = computed(() => controlVariant.value === 'split' ? 'default' : 'small');
28069
+ const controlNodeDefaultHeight = computed(() => controlVariant.value === 'stacked' ? 'auto' : '100%');
28054
28070
  const incrementSlotProps = computed(() => ({
28055
28071
  click: onClickUp
28056
28072
  }));
@@ -28080,7 +28096,7 @@ const VNumberInput = genericComponent()({
28080
28096
  toggleUpDown(false);
28081
28097
  }
28082
28098
  function onKeydown(e) {
28083
- if (['Enter', 'ArrowLeft', 'ArrowRight', 'Backspace', 'Tab'].includes(e.key) || e.ctrlKey) return;
28099
+ if (['Enter', 'ArrowLeft', 'ArrowRight', 'Backspace', 'Delete', 'Tab'].includes(e.key) || e.ctrlKey) return;
28084
28100
  if (['ArrowDown'].includes(e.key)) {
28085
28101
  e.preventDefault();
28086
28102
  toggleUpDown(false);
@@ -28108,18 +28124,42 @@ const VNumberInput = genericComponent()({
28108
28124
  modelValue: _,
28109
28125
  ...textFieldProps
28110
28126
  } = VTextField.filterProps(props);
28111
- function controlNode() {
28112
- const defaultHeight = controlVariant.value === 'stacked' ? 'auto' : '100%';
28113
- return createVNode("div", {
28114
- "class": "v-number-input__control"
28115
- }, [!slots.decrement ? createVNode(VBtn, {
28127
+ function incrementControlNode() {
28128
+ return !slots.increment ? createVNode(VBtn, {
28129
+ "disabled": !canIncrease.value,
28130
+ "flat": true,
28131
+ "key": "increment-btn",
28132
+ "height": controlNodeDefaultHeight.value,
28133
+ "name": "increment-btn",
28134
+ "icon": incrementIcon.value,
28135
+ "onClick": onClickUp,
28136
+ "onMousedown": onControlMousedown,
28137
+ "size": controlNodeSize.value,
28138
+ "tabindex": "-1"
28139
+ }, null) : createVNode(VDefaultsProvider, {
28140
+ "key": "increment-defaults",
28141
+ "defaults": {
28142
+ VBtn: {
28143
+ disabled: !canIncrease.value,
28144
+ flat: true,
28145
+ height: controlNodeDefaultHeight.value,
28146
+ size: controlNodeSize.value,
28147
+ icon: incrementIcon.value
28148
+ }
28149
+ }
28150
+ }, {
28151
+ default: () => [slots.increment(incrementSlotProps.value)]
28152
+ });
28153
+ }
28154
+ function decrementControlNode() {
28155
+ return !slots.decrement ? createVNode(VBtn, {
28116
28156
  "disabled": !canDecrease.value,
28117
28157
  "flat": true,
28118
28158
  "key": "decrement-btn",
28119
- "height": defaultHeight,
28159
+ "height": controlNodeDefaultHeight.value,
28120
28160
  "name": "decrement-btn",
28121
- "icon": "$expand",
28122
- "size": "small",
28161
+ "icon": decrementIcon.value,
28162
+ "size": controlNodeSize.value,
28123
28163
  "tabindex": "-1",
28124
28164
  "onClick": onClickDown,
28125
28165
  "onMousedown": onControlMousedown
@@ -28129,40 +28169,21 @@ const VNumberInput = genericComponent()({
28129
28169
  VBtn: {
28130
28170
  disabled: !canDecrease.value,
28131
28171
  flat: true,
28132
- height: defaultHeight,
28133
- size: 'small',
28134
- icon: '$expand'
28172
+ height: controlNodeDefaultHeight.value,
28173
+ size: controlNodeSize.value,
28174
+ icon: decrementIcon.value
28135
28175
  }
28136
28176
  }
28137
28177
  }, {
28138
28178
  default: () => [slots.decrement(decrementSlotProps.value)]
28139
- }), createVNode(VDivider, {
28179
+ });
28180
+ }
28181
+ function controlNode() {
28182
+ return createVNode("div", {
28183
+ "class": "v-number-input__control"
28184
+ }, [decrementControlNode(), createVNode(VDivider, {
28140
28185
  "vertical": controlVariant.value !== 'stacked'
28141
- }, null), !slots.increment ? createVNode(VBtn, {
28142
- "disabled": !canIncrease.value,
28143
- "flat": true,
28144
- "key": "increment-btn",
28145
- "height": defaultHeight,
28146
- "name": "increment-btn",
28147
- "icon": "$collapse",
28148
- "onClick": onClickUp,
28149
- "onMousedown": onControlMousedown,
28150
- "size": "small",
28151
- "tabindex": "-1"
28152
- }, null) : createVNode(VDefaultsProvider, {
28153
- "key": "increment-defaults",
28154
- "defaults": {
28155
- VBtn: {
28156
- disabled: !canIncrease.value,
28157
- flat: true,
28158
- height: defaultHeight,
28159
- size: 'small',
28160
- icon: '$collapse'
28161
- }
28162
- }
28163
- }, {
28164
- default: () => [slots.increment(incrementSlotProps.value)]
28165
- })]);
28186
+ }, null), incrementControlNode()]);
28166
28187
  }
28167
28188
  function dividerNode() {
28168
28189
  return !props.hideInput && !props.inset ? createVNode(VDivider, {
@@ -28173,27 +28194,11 @@ const VNumberInput = genericComponent()({
28173
28194
  "class": "v-number-input__control"
28174
28195
  }, [createVNode(VDivider, {
28175
28196
  "vertical": true
28176
- }, null), createVNode(VBtn, {
28177
- "flat": true,
28178
- "height": "100%",
28179
- "icon": "$plus",
28180
- "tile": true,
28181
- "tabindex": "-1",
28182
- "onClick": onClickUp,
28183
- "onMousedown": onControlMousedown
28184
- }, null)]) : !props.reverse ? createVNode(Fragment, null, [dividerNode(), controlNode()]) : undefined;
28197
+ }, null), incrementControlNode()]) : !props.reverse ? createVNode(Fragment, null, [dividerNode(), controlNode()]) : undefined;
28185
28198
  const hasAppendInner = slots['append-inner'] || appendInnerControl;
28186
28199
  const prependInnerControl = controlVariant.value === 'split' ? createVNode("div", {
28187
28200
  "class": "v-number-input__control"
28188
- }, [createVNode(VBtn, {
28189
- "flat": true,
28190
- "height": "100%",
28191
- "icon": "$minus",
28192
- "tile": true,
28193
- "tabindex": "-1",
28194
- "onClick": onClickDown,
28195
- "onMousedown": onControlMousedown
28196
- }, null), createVNode(VDivider, {
28201
+ }, [decrementControlNode(), createVNode(VDivider, {
28197
28202
  "vertical": true
28198
28203
  }, null)]) : props.reverse ? createVNode(Fragment, null, [controlNode(), dividerNode()]) : undefined;
28199
28204
  const hasPrependInner = slots['prepend-inner'] || prependInnerControl;
@@ -28419,6 +28424,7 @@ const VStepperVertical = genericComponent()({
28419
28424
  const vExpansionPanelsRef = ref();
28420
28425
  const {
28421
28426
  color,
28427
+ eager,
28422
28428
  editable,
28423
28429
  prevText,
28424
28430
  nextText,
@@ -28437,6 +28443,7 @@ const VStepperVertical = genericComponent()({
28437
28443
  provideDefaults({
28438
28444
  VStepperVerticalItem: {
28439
28445
  color,
28446
+ eager,
28440
28447
  editable,
28441
28448
  prevText,
28442
28449
  nextText,
@@ -28741,8 +28748,8 @@ const VTimePickerClock = genericComponent()({
28741
28748
  name: 'VTimePickerClock',
28742
28749
  props: makeVTimePickerClockProps(),
28743
28750
  emits: {
28744
- change: val => val,
28745
- input: val => val
28751
+ change: val => true,
28752
+ input: val => true
28746
28753
  },
28747
28754
  setup(props, _ref) {
28748
28755
  let {
@@ -28990,8 +28997,8 @@ const VTimePickerControls = genericComponent()({
28990
28997
  name: 'VTimePickerControls',
28991
28998
  props: makeVTimePickerControlsProps(),
28992
28999
  emits: {
28993
- 'update:period': data => data,
28994
- 'update:selecting': data => data
29000
+ 'update:period': data => true,
29001
+ 'update:selecting': data => true
28995
29002
  },
28996
29003
  setup(props, _ref) {
28997
29004
  let {
@@ -29127,11 +29134,11 @@ const VTimePicker = genericComponent()({
29127
29134
  name: 'VTimePicker',
29128
29135
  props: makeVTimePickerProps(),
29129
29136
  emits: {
29130
- 'update:hour': val => val,
29131
- 'update:minute': val => val,
29132
- 'update:period': val => val,
29133
- 'update:second': val => val,
29134
- 'update:modelValue': val => val
29137
+ 'update:hour': val => true,
29138
+ 'update:minute': val => true,
29139
+ 'update:period': val => true,
29140
+ 'update:second': val => true,
29141
+ 'update:modelValue': val => true
29135
29142
  },
29136
29143
  setup(props, _ref) {
29137
29144
  let {
@@ -29649,8 +29656,6 @@ const makeVTreeviewProps = propsFactory({
29649
29656
  ...omit(makeVListProps({
29650
29657
  collapseIcon: '$treeviewCollapse',
29651
29658
  expandIcon: '$treeviewExpand',
29652
- selectStrategy: 'classic',
29653
- openStrategy: 'multiple',
29654
29659
  slim: true
29655
29660
  }), ['nav'])
29656
29661
  }, 'VTreeview');
@@ -29668,17 +29673,16 @@ const VTreeview = genericComponent()({
29668
29673
  let {
29669
29674
  slots
29670
29675
  } = _ref;
29671
- const vm = getCurrentInstance('VTreeview');
29672
29676
  const {
29673
29677
  items
29674
29678
  } = useListItems(props);
29675
29679
  const activeColor = toRef(props, 'activeColor');
29676
29680
  const baseColor = toRef(props, 'baseColor');
29677
29681
  const color = toRef(props, 'color');
29678
- const opened = useProxiedModel(props, 'opened');
29679
29682
  const activated = useProxiedModel(props, 'activated');
29680
29683
  const selected = useProxiedModel(props, 'selected');
29681
29684
  const vListRef = ref();
29685
+ const opened = computed(() => props.openAll ? openAll(items.value) : props.opened);
29682
29686
  const flatItems = computed(() => flatten(items.value));
29683
29687
  const search = toRef(props, 'search');
29684
29688
  const {
@@ -29712,11 +29716,6 @@ const VTreeview = genericComponent()({
29712
29716
  }
29713
29717
  return arr;
29714
29718
  }
29715
- watch(() => props.openAll, val => {
29716
- opened.value = val ? openAll(items.value) : [];
29717
- }, {
29718
- immediate: true
29719
- });
29720
29719
  function openAll(item) {
29721
29720
  let ids = [];
29722
29721
  for (const i of item) {
@@ -29751,13 +29750,14 @@ const VTreeview = genericComponent()({
29751
29750
  }
29752
29751
  });
29753
29752
  useRender(() => {
29754
- const listProps = VList.filterProps(vm.vnode.props);
29753
+ const listProps = VList.filterProps(props);
29755
29754
  const treeviewChildrenProps = VTreeviewChildren.filterProps(props);
29756
29755
  return createVNode(VList, mergeProps({
29757
29756
  "ref": vListRef
29758
29757
  }, listProps, {
29759
29758
  "class": ['v-treeview', props.class],
29760
29759
  "style": props.style,
29760
+ "opened": opened.value,
29761
29761
  "activated": activated.value,
29762
29762
  "onUpdate:activated": $event => activated.value = $event,
29763
29763
  "selected": selected.value,
@@ -30269,7 +30269,7 @@ function createVuetify$1() {
30269
30269
  goTo
30270
30270
  };
30271
30271
  }
30272
- const version$1 = "3.6.10";
30272
+ const version$1 = "3.6.12";
30273
30273
  createVuetify$1.version = version$1;
30274
30274
 
30275
30275
  // Vue's inject() can only be used in setup
@@ -30522,7 +30522,7 @@ var index = /*#__PURE__*/Object.freeze({
30522
30522
 
30523
30523
  /* eslint-disable local-rules/sort-imports */
30524
30524
 
30525
- const version = "3.6.10";
30525
+ const version = "3.6.12";
30526
30526
 
30527
30527
  /* eslint-disable local-rules/sort-imports */
30528
30528