@vuetify/nightly 3.8.7-master.2025-05-31 → 3.8.7-master.2025-06-03

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 (86) hide show
  1. package/CHANGELOG.md +12 -3
  2. package/dist/json/attributes.json +3132 -3132
  3. package/dist/json/importMap-labs.json +22 -22
  4. package/dist/json/importMap.json +118 -118
  5. package/dist/json/web-types.json +5875 -5875
  6. package/dist/vuetify-labs.cjs +90 -80
  7. package/dist/vuetify-labs.css +3328 -3322
  8. package/dist/vuetify-labs.d.ts +42 -42
  9. package/dist/vuetify-labs.esm.js +90 -80
  10. package/dist/vuetify-labs.esm.js.map +1 -1
  11. package/dist/vuetify-labs.js +90 -80
  12. package/dist/vuetify-labs.min.css +2 -2
  13. package/dist/vuetify.cjs +84 -74
  14. package/dist/vuetify.cjs.map +1 -1
  15. package/dist/vuetify.css +4505 -4499
  16. package/dist/vuetify.d.ts +42 -42
  17. package/dist/vuetify.esm.js +84 -74
  18. package/dist/vuetify.esm.js.map +1 -1
  19. package/dist/vuetify.js +84 -74
  20. package/dist/vuetify.js.map +1 -1
  21. package/dist/vuetify.min.css +2 -2
  22. package/dist/vuetify.min.js +265 -265
  23. package/dist/vuetify.min.js.map +1 -1
  24. package/lib/components/VAutocomplete/VAutocomplete.css +6 -6
  25. package/lib/components/VAutocomplete/VAutocomplete.sass +3 -9
  26. package/lib/components/VCarousel/VCarousel.js +3 -3
  27. package/lib/components/VCarousel/VCarousel.js.map +1 -1
  28. package/lib/components/VChip/VChip.js +1 -0
  29. package/lib/components/VChip/VChip.js.map +1 -1
  30. package/lib/components/VColorPicker/VColorPickerPreview.js +3 -3
  31. package/lib/components/VColorPicker/VColorPickerPreview.js.map +1 -1
  32. package/lib/components/VColorPicker/VColorPickerSwatches.js +3 -3
  33. package/lib/components/VColorPicker/VColorPickerSwatches.js.map +1 -1
  34. package/lib/components/VCombobox/VCombobox.css +6 -6
  35. package/lib/components/VCombobox/VCombobox.sass +3 -9
  36. package/lib/components/VDataTable/VDataTableColumn.js +3 -3
  37. package/lib/components/VDataTable/VDataTableColumn.js.map +1 -1
  38. package/lib/components/VDataTable/VDataTableGroupHeaderRow.js +3 -3
  39. package/lib/components/VDataTable/VDataTableGroupHeaderRow.js.map +1 -1
  40. package/lib/components/VDataTable/VDataTableVirtual.js +7 -7
  41. package/lib/components/VDataTable/VDataTableVirtual.js.map +1 -1
  42. package/lib/components/VDatePicker/VDatePickerControls.js +4 -4
  43. package/lib/components/VDatePicker/VDatePickerControls.js.map +1 -1
  44. package/lib/components/VDatePicker/VDatePickerMonth.js +3 -3
  45. package/lib/components/VDatePicker/VDatePickerMonth.js.map +1 -1
  46. package/lib/components/VDatePicker/VDatePickerMonths.js +3 -3
  47. package/lib/components/VDatePicker/VDatePickerMonths.js.map +1 -1
  48. package/lib/components/VDatePicker/VDatePickerYears.js +3 -3
  49. package/lib/components/VDatePicker/VDatePickerYears.js.map +1 -1
  50. package/lib/components/VEmptyState/VEmptyState.js +3 -3
  51. package/lib/components/VEmptyState/VEmptyState.js.map +1 -1
  52. package/lib/components/VImg/VImg.js +7 -7
  53. package/lib/components/VImg/VImg.js.map +1 -1
  54. package/lib/components/VInfiniteScroll/VInfiniteScroll.js +3 -3
  55. package/lib/components/VInfiniteScroll/VInfiniteScroll.js.map +1 -1
  56. package/lib/components/VOtpInput/VOtpInput.js +2 -2
  57. package/lib/components/VOtpInput/VOtpInput.js.map +1 -1
  58. package/lib/components/VProgressCircular/VProgressCircular.js +2 -2
  59. package/lib/components/VProgressCircular/VProgressCircular.js.map +1 -1
  60. package/lib/components/VProgressLinear/VProgressLinear.js +3 -3
  61. package/lib/components/VProgressLinear/VProgressLinear.js.map +1 -1
  62. package/lib/components/VSelect/VSelect.css +6 -0
  63. package/lib/components/VSelect/VSelect.sass +3 -0
  64. package/lib/components/VSelect/_mixins.scss +14 -0
  65. package/lib/components/VSelectionControl/VSelectionControl.js +2 -2
  66. package/lib/components/VSelectionControl/VSelectionControl.js.map +1 -1
  67. package/lib/components/VSlider/VSliderThumb.js +16 -10
  68. package/lib/components/VSlider/VSliderThumb.js.map +1 -1
  69. package/lib/components/VSlider/VSliderTrack.js +6 -6
  70. package/lib/components/VSlider/VSliderTrack.js.map +1 -1
  71. package/lib/components/VSlider/slider.js +4 -1
  72. package/lib/components/VSlider/slider.js.map +1 -1
  73. package/lib/components/VTable/VTable.js +3 -3
  74. package/lib/components/VTable/VTable.js.map +1 -1
  75. package/lib/components/VToolbar/VToolbar.js +5 -5
  76. package/lib/components/VToolbar/VToolbar.js.map +1 -1
  77. package/lib/components/VVirtualScroll/VVirtualScroll.js +7 -7
  78. package/lib/components/VVirtualScroll/VVirtualScroll.js.map +1 -1
  79. package/lib/components/VWindow/VWindow.js +3 -3
  80. package/lib/components/VWindow/VWindow.js.map +1 -1
  81. package/lib/entry-bundler.js +1 -1
  82. package/lib/framework.d.ts +42 -42
  83. package/lib/framework.js +1 -1
  84. package/lib/labs/VPullToRefresh/VPullToRefresh.js +7 -7
  85. package/lib/labs/VPullToRefresh/VPullToRefresh.js.map +1 -1
  86. package/package.json +2 -2
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Vuetify v3.8.7-master.2025-05-31
2
+ * Vuetify v3.8.7-master.2025-06-03
3
3
  * Forged by John Leider
4
4
  * Released under the MIT License.
5
5
  */
@@ -3552,9 +3552,9 @@
3552
3552
  if (!normalisedSrc.value.src || state.value === 'idle') return null;
3553
3553
  const img = vue.createElementVNode("img", {
3554
3554
  "class": vue.normalizeClass(['v-img__img', containClasses.value]),
3555
- "style": vue.normalizeStyle({
3555
+ "style": {
3556
3556
  objectPosition: props.position
3557
- }),
3557
+ },
3558
3558
  "crossorigin": props.crossorigin,
3559
3559
  "src": normalisedSrc.value.src,
3560
3560
  "srcset": normalisedSrc.value.srcset,
@@ -3581,9 +3581,9 @@
3581
3581
  }, {
3582
3582
  default: () => [normalisedSrc.value.lazySrc && state.value !== 'loaded' && vue.createElementVNode("img", {
3583
3583
  "class": vue.normalizeClass(['v-img__img', 'v-img__img--preload', containClasses.value]),
3584
- "style": vue.normalizeStyle({
3584
+ "style": {
3585
3585
  objectPosition: props.position
3586
- }),
3586
+ },
3587
3587
  "crossorigin": props.crossorigin,
3588
3588
  "src": normalisedSrc.value.lazySrc,
3589
3589
  "alt": props.alt,
@@ -3617,9 +3617,9 @@
3617
3617
  if (!props.gradient) return null;
3618
3618
  return vue.createElementVNode("div", {
3619
3619
  "class": "v-img__gradient",
3620
- "style": vue.normalizeStyle({
3620
+ "style": {
3621
3621
  backgroundImage: `linear-gradient(${props.gradient})`
3622
- })
3622
+ }
3623
3623
  }, null);
3624
3624
  };
3625
3625
  const isBooted = vue.shallowRef(false);
@@ -3830,9 +3830,9 @@
3830
3830
  }, {
3831
3831
  default: () => [vue.createElementVNode("div", {
3832
3832
  "class": "v-toolbar__content",
3833
- "style": vue.normalizeStyle({
3833
+ "style": {
3834
3834
  height: convertToUnit(contentHeight.value)
3835
- })
3835
+ }
3836
3836
  }, [slots.prepend && vue.createElementVNode("div", {
3837
3837
  "class": "v-toolbar__prepend"
3838
3838
  }, [slots.prepend?.()]), hasTitle && vue.createVNode(VToolbarTitle, {
@@ -3853,9 +3853,9 @@
3853
3853
  default: () => [vue.createVNode(VExpandTransition, null, {
3854
3854
  default: () => [isExtended.value && vue.createElementVNode("div", {
3855
3855
  "class": "v-toolbar__extension",
3856
- "style": vue.normalizeStyle({
3856
+ "style": {
3857
3857
  height: convertToUnit(extensionHeight.value)
3858
- })
3858
+ }
3859
3859
  }, [extension])]
3860
3860
  })]
3861
3861
  })]
@@ -4928,9 +4928,9 @@
4928
4928
  "aria-valuenow": props.indeterminate ? undefined : normalizedValue.value
4929
4929
  }, {
4930
4930
  default: () => [vue.createElementVNode("svg", {
4931
- "style": vue.normalizeStyle({
4931
+ "style": {
4932
4932
  transform: `rotate(calc(-90deg + ${Number(props.rotate)}deg))`
4933
- }),
4933
+ },
4934
4934
  "xmlns": "http://www.w3.org/2000/svg",
4935
4935
  "viewBox": `0 0 ${diameter.value} ${diameter.value}`
4936
4936
  }, [vue.createElementVNode("circle", {
@@ -5151,7 +5151,7 @@
5151
5151
  default: () => [props.stream && vue.createElementVNode("div", {
5152
5152
  "key": "stream",
5153
5153
  "class": vue.normalizeClass(['v-progress-linear__stream', textColorClasses.value]),
5154
- "style": vue.normalizeStyle({
5154
+ "style": {
5155
5155
  ...textColorStyles.value,
5156
5156
  [isReversed.value ? 'left' : 'right']: convertToUnit(-height.value),
5157
5157
  borderTop: `${convertToUnit(height.value / 2)} dotted`,
@@ -5159,7 +5159,7 @@
5159
5159
  top: `calc(50% - ${convertToUnit(height.value / 4)})`,
5160
5160
  width: convertToUnit(100 - normalizedBuffer.value, '%'),
5161
5161
  '--v-progress-linear-stream-to': convertToUnit(height.value * (isReversed.value ? 1 : -1))
5162
- })
5162
+ }
5163
5163
  }, null), vue.createElementVNode("div", {
5164
5164
  "class": vue.normalizeClass(['v-progress-linear__background', !isForcedColorsModeActive ? backgroundColorClasses.value : undefined]),
5165
5165
  "style": vue.normalizeStyle([backgroundColorStyles.value, {
@@ -6467,7 +6467,7 @@
6467
6467
  backgroundColorClasses,
6468
6468
  backgroundColorStyles
6469
6469
  }), vue.withDirectives(vue.createElementVNode("div", {
6470
- "class": ['v-selection-control__input']
6470
+ "class": vue.normalizeClass(['v-selection-control__input'])
6471
6471
  }, [slots.input?.({
6472
6472
  model,
6473
6473
  textColorClasses,
@@ -8100,6 +8100,7 @@
8100
8100
  const isClickable = vue.computed(() => !props.disabled && props.link !== false && (!!group || props.link || link.isClickable.value));
8101
8101
  const closeProps = vue.toRef(() => ({
8102
8102
  'aria-label': t(props.closeLabel),
8103
+ disabled: props.disabled,
8103
8104
  onClick(e) {
8104
8105
  e.preventDefault();
8105
8106
  e.stopPropagation();
@@ -12614,14 +12615,14 @@
12614
12615
  return props.renderless ? vue.createElementVNode(vue.Fragment, null, [vue.createElementVNode("div", {
12615
12616
  "ref": markerRef,
12616
12617
  "class": "v-virtual-scroll__spacer",
12617
- "style": vue.normalizeStyle({
12618
+ "style": {
12618
12619
  paddingTop: convertToUnit(paddingTop.value)
12619
- })
12620
+ }
12620
12621
  }, null), children, vue.createElementVNode("div", {
12621
12622
  "class": "v-virtual-scroll__spacer",
12622
- "style": vue.normalizeStyle({
12623
+ "style": {
12623
12624
  paddingBottom: convertToUnit(paddingBottom.value)
12624
- })
12625
+ }
12625
12626
  }, null)]) : vue.createElementVNode("div", {
12626
12627
  "ref": containerRef,
12627
12628
  "class": vue.normalizeClass(['v-virtual-scroll', props.class]),
@@ -12631,10 +12632,10 @@
12631
12632
  }, [vue.createElementVNode("div", {
12632
12633
  "ref": markerRef,
12633
12634
  "class": "v-virtual-scroll__container",
12634
- "style": vue.normalizeStyle({
12635
+ "style": {
12635
12636
  paddingTop: convertToUnit(paddingTop.value),
12636
12637
  paddingBottom: convertToUnit(paddingBottom.value)
12637
- })
12638
+ }
12638
12639
  }, [children])]);
12639
12640
  });
12640
12641
  return {
@@ -15068,9 +15069,9 @@
15068
15069
  }, {
15069
15070
  default: () => [vue.createElementVNode("div", {
15070
15071
  "class": "v-window__container",
15071
- "style": vue.normalizeStyle({
15072
+ "style": {
15072
15073
  height: transitionHeight.value
15073
- })
15074
+ }
15074
15075
  }, [slots.default?.({
15075
15076
  group
15076
15077
  }), props.showArrows !== false && vue.createElementVNode("div", {
@@ -15165,10 +15166,10 @@
15165
15166
  } = _ref2;
15166
15167
  return vue.createElementVNode(vue.Fragment, null, [!props.hideDelimiters && vue.createElementVNode("div", {
15167
15168
  "class": "v-carousel__controls",
15168
- "style": vue.normalizeStyle({
15169
+ "style": {
15169
15170
  left: props.verticalDelimiters === 'left' && props.verticalDelimiters ? 0 : 'auto',
15170
15171
  right: props.verticalDelimiters === 'right' ? 0 : 'auto'
15171
- })
15172
+ }
15172
15173
  }, [group.items.value.length > 0 && vue.createVNode(VDefaultsProvider, {
15173
15174
  "defaults": {
15174
15175
  VBtn: {
@@ -15888,7 +15889,10 @@
15888
15889
  if (step.value <= 0) return value;
15889
15890
  const clamped = clamp(value, min.value, max.value);
15890
15891
  const offset = min.value % step.value;
15891
- const newValue = Math.round((clamped - offset) / step.value) * step.value + offset;
15892
+ let newValue = Math.round((clamped - offset) / step.value) * step.value + offset;
15893
+ if (clamped > newValue && newValue + step.value > max.value) {
15894
+ newValue = max.value;
15895
+ }
15892
15896
  return parseFloat(Math.min(newValue, max.value).toFixed(decimals.value));
15893
15897
  }
15894
15898
  return {
@@ -16144,6 +16148,8 @@
16144
16148
  } = useRtl();
16145
16149
  if (!slider) throw new Error('[Vuetify] v-slider-thumb must be used inside v-slider or v-range-slider');
16146
16150
  const {
16151
+ min,
16152
+ max,
16147
16153
  thumbColor,
16148
16154
  step,
16149
16155
  disabled,
@@ -16184,16 +16190,20 @@
16184
16190
  if (!relevantKeys.includes(e.key)) return;
16185
16191
  e.preventDefault();
16186
16192
  const _step = step.value || 0.1;
16187
- const steps = (props.max - props.min) / _step;
16193
+ const steps = (max.value - min.value) / _step;
16188
16194
  if ([left, right, down, up].includes(e.key)) {
16189
16195
  const increase = vertical.value ? [isRtl.value ? left : right, isReversed.value ? down : up] : indexFromEnd.value !== isRtl.value ? [left, up] : [right, up];
16190
16196
  const direction = increase.includes(e.key) ? 1 : -1;
16191
16197
  const multiplier = e.shiftKey ? 2 : e.ctrlKey ? 1 : 0;
16192
- value = value + direction * _step * multipliers.value[multiplier];
16198
+ if (direction === -1 && value === max.value && !multiplier && !Number.isInteger(steps)) {
16199
+ value = value - steps % 1 * _step;
16200
+ } else {
16201
+ value = value + direction * _step * multipliers.value[multiplier];
16202
+ }
16193
16203
  } else if (e.key === home) {
16194
- value = props.min;
16204
+ value = min.value;
16195
16205
  } else if (e.key === end) {
16196
- value = props.max;
16206
+ value = max.value;
16197
16207
  } else {
16198
16208
  const direction = e.key === pagedown ? 1 : -1;
16199
16209
  value = value - direction * _step * (steps > 100 ? steps / 10 : 10);
@@ -16218,17 +16228,17 @@
16218
16228
  "role": "slider",
16219
16229
  "tabindex": disabled.value ? -1 : 0,
16220
16230
  "aria-label": props.name,
16221
- "aria-valuemin": props.min,
16222
- "aria-valuemax": props.max,
16231
+ "aria-valuemin": min.value,
16232
+ "aria-valuemax": max.value,
16223
16233
  "aria-valuenow": props.modelValue,
16224
16234
  "aria-readonly": !!readonly.value,
16225
16235
  "aria-orientation": direction.value,
16226
16236
  "onKeydown": !readonly.value ? onKeydown : undefined
16227
16237
  }, [vue.createElementVNode("div", {
16228
16238
  "class": vue.normalizeClass(['v-slider-thumb__surface', textColorClasses.value, elevationClasses.value]),
16229
- "style": vue.normalizeStyle({
16239
+ "style": {
16230
16240
  ...textColorStyles.value
16231
- })
16241
+ }
16232
16242
  }, null), vue.withDirectives(vue.createElementVNode("div", {
16233
16243
  "class": vue.normalizeClass(['v-slider-thumb__ripple', textColorClasses.value]),
16234
16244
  "style": vue.normalizeStyle(textColorStyles.value)
@@ -16241,7 +16251,7 @@
16241
16251
  default: () => [vue.withDirectives(vue.createElementVNode("div", {
16242
16252
  "class": "v-slider-thumb__label-container"
16243
16253
  }, [vue.createElementVNode("div", {
16244
- "class": ['v-slider-thumb__label']
16254
+ "class": vue.normalizeClass(['v-slider-thumb__label'])
16245
16255
  }, [vue.createElementVNode("div", null, [slots['thumb-label']?.({
16246
16256
  modelValue: props.modelValue
16247
16257
  }) ?? props.modelValue.toFixed(step.value ? decimals.value : 1)])])]), [[vue.vShow, thumbLabel.value && props.focused || thumbLabel.value === 'always']])]
@@ -16326,9 +16336,9 @@
16326
16336
  'v-slider-track__tick--first': tick.value === min.value,
16327
16337
  'v-slider-track__tick--last': tick.value === max.value
16328
16338
  }]),
16329
- "style": vue.normalizeStyle({
16339
+ "style": {
16330
16340
  [startDir.value]: directionValue
16331
- })
16341
+ }
16332
16342
  }, [(tick.label || slots['tick-label']) && vue.createElementVNode("div", {
16333
16343
  "class": "v-slider-track__tick-label"
16334
16344
  }, [slots['tick-label']?.({
@@ -16348,16 +16358,16 @@
16348
16358
  "class": vue.normalizeClass(['v-slider-track__background', trackColorClasses.value, {
16349
16359
  'v-slider-track__background--opacity': !!color.value || !trackFillColor.value
16350
16360
  }]),
16351
- "style": vue.normalizeStyle({
16361
+ "style": {
16352
16362
  ...backgroundStyles.value,
16353
16363
  ...trackColorStyles.value
16354
- })
16364
+ }
16355
16365
  }, null), vue.createElementVNode("div", {
16356
16366
  "class": vue.normalizeClass(['v-slider-track__fill', trackFillColorClasses.value]),
16357
- "style": vue.normalizeStyle({
16367
+ "style": {
16358
16368
  ...trackFillStyles.value,
16359
16369
  ...trackFillColorStyles.value
16360
- })
16370
+ }
16361
16371
  }, null), showTicks.value && vue.createElementVNode("div", {
16362
16372
  "class": vue.normalizeClass(['v-slider-track__ticks', {
16363
16373
  'v-slider-track__ticks--always-show': showTicks.value === 'always'
@@ -16559,9 +16569,9 @@
16559
16569
  }, null)]), vue.createElementVNode("div", {
16560
16570
  "class": "v-color-picker-preview__dot"
16561
16571
  }, [vue.createElementVNode("div", {
16562
- "style": vue.normalizeStyle({
16572
+ "style": {
16563
16573
  background: HSVtoCSS(props.color ?? nullColor)
16564
- })
16574
+ }
16565
16575
  }, null)]), vue.createElementVNode("div", {
16566
16576
  "class": "v-color-picker-preview__sliders"
16567
16577
  }, [vue.createVNode(VSlider, {
@@ -16962,9 +16972,9 @@
16962
16972
  "class": "v-color-picker-swatches__color",
16963
16973
  "onClick": () => hsva && emit('update:color', hsva)
16964
16974
  }, [vue.createElementVNode("div", {
16965
- "style": vue.normalizeStyle({
16975
+ "style": {
16966
16976
  background
16967
- })
16977
+ }
16968
16978
  }, [props.color && deepEqual(props.color, hsva) ? vue.createVNode(VIcon, {
16969
16979
  "size": "x-small",
16970
16980
  "icon": "$success",
@@ -19983,12 +19993,12 @@
19983
19993
  'v-data-table-column--no-padding': props.noPadding,
19984
19994
  'v-data-table-column--nowrap': props.nowrap
19985
19995
  }, `v-data-table-column--align-${props.align}`]),
19986
- "style": vue.normalizeStyle({
19996
+ "style": {
19987
19997
  height: convertToUnit(props.height),
19988
19998
  width: convertToUnit(props.width),
19989
19999
  maxWidth: convertToUnit(props.maxWidth),
19990
20000
  left: convertToUnit(props.fixedOffset || null)
19991
- })
20001
+ }
19992
20002
  }, {
19993
20003
  default: () => [slots.default?.()]
19994
20004
  });
@@ -20513,9 +20523,9 @@
20513
20523
  });
20514
20524
  return () => vue.createElementVNode("tr", {
20515
20525
  "class": "v-data-table-group-header-row",
20516
- "style": vue.normalizeStyle({
20526
+ "style": {
20517
20527
  '--v-data-table-group-header-row-depth': props.item.depth
20518
- })
20528
+ }
20519
20529
  }, [columns.value.map(column => {
20520
20530
  if (column.key === 'data-table-group') {
20521
20531
  const icon = isGroupOpen(props.item) ? '$expand' : '$next';
@@ -20863,9 +20873,9 @@
20863
20873
  }, {
20864
20874
  default: () => [slots.top?.(), slots.default ? vue.createElementVNode("div", {
20865
20875
  "class": "v-table__wrapper",
20866
- "style": vue.normalizeStyle({
20876
+ "style": {
20867
20877
  height: convertToUnit(props.height)
20868
- })
20878
+ }
20869
20879
  }, [vue.createElementVNode("table", null, [slots.default()])]) : slots.wrapper?.(), slots.bottom?.()]
20870
20880
  }));
20871
20881
  return {};
@@ -21300,19 +21310,19 @@
21300
21310
  "onScrollPassive": handleScroll,
21301
21311
  "onScrollend": handleScrollend,
21302
21312
  "class": "v-table__wrapper",
21303
- "style": vue.normalizeStyle({
21313
+ "style": {
21304
21314
  height: convertToUnit(props.height)
21305
- })
21315
+ }
21306
21316
  }, [vue.createElementVNode("table", null, [slots.colgroup?.(slotProps.value), !props.hideDefaultHeader && vue.createElementVNode("thead", {
21307
21317
  "key": "thead"
21308
21318
  }, [vue.createVNode(VDataTableHeaders, dataTableHeadersProps, slots)]), slots.thead?.(slotProps.value), !props.hideDefaultBody && vue.createElementVNode("tbody", {
21309
21319
  "key": "tbody"
21310
21320
  }, [vue.createElementVNode("tr", {
21311
21321
  "ref": markerRef,
21312
- "style": vue.normalizeStyle({
21322
+ "style": {
21313
21323
  height: convertToUnit(paddingTop.value),
21314
21324
  border: 0
21315
- })
21325
+ }
21316
21326
  }, [vue.createElementVNode("td", {
21317
21327
  "colspan": columns.value.length,
21318
21328
  "style": {
@@ -21343,10 +21353,10 @@
21343
21353
  }
21344
21354
  })
21345
21355
  }), slots['body.append']?.(slotProps.value), vue.createElementVNode("tr", {
21346
- "style": vue.normalizeStyle({
21356
+ "style": {
21347
21357
  height: convertToUnit(paddingBottom.value),
21348
21358
  border: 0
21349
- })
21359
+ }
21350
21360
  }, [vue.createElementVNode("td", {
21351
21361
  "colspan": columns.value.length,
21352
21362
  "style": {
@@ -21884,10 +21894,10 @@
21884
21894
  useRender(() => {
21885
21895
  // TODO: add slot support and scope defaults
21886
21896
  return vue.createElementVNode("div", {
21887
- "class": ['v-date-picker-controls'],
21888
- "style": vue.normalizeStyle({
21897
+ "class": vue.normalizeClass(['v-date-picker-controls']),
21898
+ "style": {
21889
21899
  '--v-date-picker-controls-height': convertToUnit(props.controlHeight)
21890
- })
21900
+ }
21891
21901
  }, [vue.createVNode(VBtn, {
21892
21902
  "class": "v-date-picker-controls__month-btn",
21893
21903
  "data-testid": "month-btn",
@@ -22265,7 +22275,7 @@
22265
22275
  "key": "hide-week-days",
22266
22276
  "class": "v-date-picker-month__day"
22267
22277
  }, [vue.createTextVNode("\xA0")]), weekNumbers.value.map(week => vue.createElementVNode("div", {
22268
- "class": ['v-date-picker-month__day', 'v-date-picker-month__day--adjacent']
22278
+ "class": vue.normalizeClass(['v-date-picker-month__day', 'v-date-picker-month__day--adjacent'])
22269
22279
  }, [week]))]), vue.createVNode(MaybeTransition, {
22270
22280
  "name": transition.value
22271
22281
  }, {
@@ -22274,7 +22284,7 @@
22274
22284
  "key": daysInMonth.value[0].date?.toString(),
22275
22285
  "class": "v-date-picker-month__days"
22276
22286
  }, [!props.hideWeekdays && adapter.getWeekdays(props.firstDayOfWeek).map(weekDay => vue.createElementVNode("div", {
22277
- "class": ['v-date-picker-month__day', 'v-date-picker-month__weekday']
22287
+ "class": vue.normalizeClass(['v-date-picker-month__day', 'v-date-picker-month__weekday'])
22278
22288
  }, [weekDay])), daysInMonth.value.map((item, i) => {
22279
22289
  const slotProps = {
22280
22290
  props: {
@@ -22362,9 +22372,9 @@
22362
22372
  }
22363
22373
  useRender(() => vue.createElementVNode("div", {
22364
22374
  "class": "v-date-picker-months",
22365
- "style": vue.normalizeStyle({
22375
+ "style": {
22366
22376
  height: convertToUnit(props.height)
22367
- })
22377
+ }
22368
22378
  }, [vue.createElementVNode("div", {
22369
22379
  "class": "v-date-picker-months__content"
22370
22380
  }, [months.value.map((month, i) => {
@@ -22464,9 +22474,9 @@
22464
22474
  }
22465
22475
  useRender(() => vue.createElementVNode("div", {
22466
22476
  "class": "v-date-picker-years",
22467
- "style": vue.normalizeStyle({
22477
+ "style": {
22468
22478
  height: convertToUnit(props.height)
22469
- })
22479
+ }
22470
22480
  }, [vue.createElementVNode("div", {
22471
22481
  "class": "v-date-picker-years__content"
22472
22482
  }, [years.value.map((year, i) => {
@@ -22910,9 +22920,9 @@
22910
22920
  }, [slots.title?.() ?? props.title]), hasText && vue.createElementVNode("div", {
22911
22921
  "key": "text",
22912
22922
  "class": "v-empty-state__text",
22913
- "style": vue.normalizeStyle({
22923
+ "style": {
22914
22924
  maxWidth: convertToUnit(props.textWidth)
22915
- })
22925
+ }
22916
22926
  }, [slots.text?.() ?? props.text]), slots.default && vue.createElementVNode("div", {
22917
22927
  "key": "content",
22918
22928
  "class": "v-empty-state__content"
@@ -23777,9 +23787,9 @@
23777
23787
  });
23778
23788
  useRender(() => vue.createElementVNode("div", {
23779
23789
  "class": "v-infinite-scroll-intersect",
23780
- "style": vue.normalizeStyle({
23790
+ "style": {
23781
23791
  '--v-infinite-margin-size': props.rootMargin
23782
- }),
23792
+ },
23783
23793
  "ref": intersectionRef
23784
23794
  }, [vue.createTextVNode("\xA0")]));
23785
23795
  return {};
@@ -25390,7 +25400,7 @@
25390
25400
  "aria-label": t(props.label, i + 1),
25391
25401
  "autofocus": i === 0 && props.autofocus,
25392
25402
  "autocomplete": "one-time-code",
25393
- "class": ['v-otp-input__field'],
25403
+ "class": vue.normalizeClass(['v-otp-input__field']),
25394
25404
  "disabled": props.disabled,
25395
25405
  "inputmode": props.type === 'number' ? 'numeric' : 'text',
25396
25406
  "min": props.type === 'number' ? 0 : undefined,
@@ -30502,7 +30512,7 @@
30502
30512
  });
30503
30513
  useRender(() => {
30504
30514
  return vue.createElementVNode("div", {
30505
- "class": ['v-pull-to-refresh'],
30515
+ "class": vue.normalizeClass(['v-pull-to-refresh']),
30506
30516
  "onTouchstart": onTouchstart,
30507
30517
  "onTouchmove": onTouchmove,
30508
30518
  "onTouchend": onTouchend,
@@ -30515,16 +30525,16 @@
30515
30525
  "class": vue.normalizeClass(['v-pull-to-refresh__pull-down', {
30516
30526
  'v-pull-to-refresh__pull-down--touching': touching.value
30517
30527
  }]),
30518
- "style": vue.normalizeStyle({
30528
+ "style": {
30519
30529
  top: convertToUnit(-1 * props.pullDownThreshold + topOffset.value),
30520
30530
  height: convertToUnit(props.pullDownThreshold)
30521
- })
30531
+ }
30522
30532
  }, [slots.pullDownPanel ? slots.pullDownPanel({
30523
30533
  canRefresh: canRefresh.value,
30524
30534
  goingUp: goingUp.value,
30525
30535
  refreshing: refreshing.value
30526
30536
  }) : vue.createElementVNode("div", {
30527
- "class": ['v-pull-to-refresh__pull-down-default']
30537
+ "class": vue.normalizeClass(['v-pull-to-refresh__pull-down-default'])
30528
30538
  }, [refreshing.value ? vue.createVNode(VProgressCircular, {
30529
30539
  "indeterminate": true,
30530
30540
  "active": false
@@ -30534,9 +30544,9 @@
30534
30544
  "class": vue.normalizeClass(['v-pull-to-refresh__scroll-container', {
30535
30545
  'v-pull-to-refresh__scroll-container--touching': touching.value
30536
30546
  }]),
30537
- "style": vue.normalizeStyle({
30547
+ "style": {
30538
30548
  top: convertToUnit(topOffset.value)
30539
- })
30549
+ }
30540
30550
  }, [slots.default?.()])]);
30541
30551
  });
30542
30552
  }
@@ -32077,7 +32087,7 @@
32077
32087
  };
32078
32088
  });
32079
32089
  }
32080
- const version$1 = "3.8.7-master.2025-05-31";
32090
+ const version$1 = "3.8.7-master.2025-06-03";
32081
32091
  createVuetify$1.version = version$1;
32082
32092
 
32083
32093
  // Vue's inject() can only be used in setup
@@ -32375,7 +32385,7 @@
32375
32385
 
32376
32386
  /* eslint-disable local-rules/sort-imports */
32377
32387
 
32378
- const version = "3.8.7-master.2025-05-31";
32388
+ const version = "3.8.7-master.2025-06-03";
32379
32389
 
32380
32390
  /* eslint-disable local-rules/sort-imports */
32381
32391