vuetify 3.7.15 → 3.7.16

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 (108) hide show
  1. package/dist/json/attributes.json +2932 -2928
  2. package/dist/json/importMap-labs.json +12 -12
  3. package/dist/json/importMap.json +164 -164
  4. package/dist/json/tags.json +3 -2
  5. package/dist/json/web-types.json +5470 -5438
  6. package/dist/vuetify-labs.css +2965 -2965
  7. package/dist/vuetify-labs.d.ts +438 -200
  8. package/dist/vuetify-labs.esm.js +155 -126
  9. package/dist/vuetify-labs.esm.js.map +1 -1
  10. package/dist/vuetify-labs.js +154 -125
  11. package/dist/vuetify-labs.min.css +2 -2
  12. package/dist/vuetify.css +4258 -4258
  13. package/dist/vuetify.d.ts +390 -210
  14. package/dist/vuetify.esm.js +101 -69
  15. package/dist/vuetify.esm.js.map +1 -1
  16. package/dist/vuetify.js +100 -68
  17. package/dist/vuetify.js.map +1 -1
  18. package/dist/vuetify.min.css +2 -2
  19. package/dist/vuetify.min.js +227 -225
  20. package/dist/vuetify.min.js.map +1 -1
  21. package/lib/components/VAppBar/index.d.mts +15 -6
  22. package/lib/components/VAutocomplete/index.d.mts +23 -8
  23. package/lib/components/VBadge/VBadge.mjs +2 -2
  24. package/lib/components/VBadge/VBadge.mjs.map +1 -1
  25. package/lib/components/VBtn/VBtn.mjs +6 -3
  26. package/lib/components/VBtn/VBtn.mjs.map +1 -1
  27. package/lib/components/VBtn/index.d.mts +15 -6
  28. package/lib/components/VCard/VCard.mjs +12 -3
  29. package/lib/components/VCard/VCard.mjs.map +1 -1
  30. package/lib/components/VCard/VCardItem.mjs +11 -4
  31. package/lib/components/VCard/VCardItem.mjs.map +1 -1
  32. package/lib/components/VCard/index.d.mts +75 -30
  33. package/lib/components/VCarousel/VCarousel.mjs +1 -1
  34. package/lib/components/VCarousel/VCarousel.mjs.map +1 -1
  35. package/lib/components/VChip/VChip.mjs +6 -3
  36. package/lib/components/VChip/VChip.mjs.map +1 -1
  37. package/lib/components/VChip/index.d.mts +15 -6
  38. package/lib/components/VCombobox/index.d.mts +23 -8
  39. package/lib/components/VDataIterator/index.d.mts +2 -2
  40. package/lib/components/VDataTable/composables/headers.mjs +3 -1
  41. package/lib/components/VDataTable/composables/headers.mjs.map +1 -1
  42. package/lib/components/VDataTable/composables/paginate.mjs +2 -2
  43. package/lib/components/VDataTable/composables/paginate.mjs.map +1 -1
  44. package/lib/components/VDataTable/index.d.mts +34 -34
  45. package/lib/components/VDataTable/types.mjs.map +1 -1
  46. package/lib/components/VDatePicker/VDatePickerMonth.mjs +12 -21
  47. package/lib/components/VDatePicker/VDatePickerMonth.mjs.map +1 -1
  48. package/lib/components/VDatePicker/index.d.mts +3 -3
  49. package/lib/components/VDialog/index.d.mts +21 -6
  50. package/lib/components/VFab/index.d.mts +15 -6
  51. package/lib/components/VList/VListItem.mjs +11 -5
  52. package/lib/components/VList/VListItem.mjs.map +1 -1
  53. package/lib/components/VList/index.d.mts +32 -14
  54. package/lib/components/VMenu/index.d.mts +21 -6
  55. package/lib/components/VOverlay/VOverlay.mjs +10 -1
  56. package/lib/components/VOverlay/VOverlay.mjs.map +1 -1
  57. package/lib/components/VOverlay/index.d.mts +6 -0
  58. package/lib/components/VPagination/VPagination.mjs +3 -3
  59. package/lib/components/VPagination/VPagination.mjs.map +1 -1
  60. package/lib/components/VParallax/VParallax.mjs +1 -1
  61. package/lib/components/VParallax/VParallax.mjs.map +1 -1
  62. package/lib/components/VRating/VRating.mjs +1 -1
  63. package/lib/components/VRating/VRating.mjs.map +1 -1
  64. package/lib/components/VSelect/index.d.mts +23 -8
  65. package/lib/components/VSlider/slider.mjs +1 -1
  66. package/lib/components/VSlider/slider.mjs.map +1 -1
  67. package/lib/components/VSnackbar/index.d.mts +21 -6
  68. package/lib/components/VSparkline/VBarline.mjs +1 -1
  69. package/lib/components/VSparkline/VBarline.mjs.map +1 -1
  70. package/lib/components/VTabs/index.d.mts +39 -24
  71. package/lib/components/VTextarea/VTextarea.mjs +2 -2
  72. package/lib/components/VTextarea/VTextarea.mjs.map +1 -1
  73. package/lib/components/VTooltip/index.d.mts +21 -6
  74. package/lib/components/index.d.mts +333 -153
  75. package/lib/composables/stack.mjs +2 -2
  76. package/lib/composables/stack.mjs.map +1 -1
  77. package/lib/composables/validation.mjs +2 -2
  78. package/lib/composables/validation.mjs.map +1 -1
  79. package/lib/entry-bundler.mjs +1 -1
  80. package/lib/framework.mjs +1 -1
  81. package/lib/index.d.mts +57 -57
  82. package/lib/labs/VDateInput/VDateInput.mjs +3 -2
  83. package/lib/labs/VDateInput/VDateInput.mjs.map +1 -1
  84. package/lib/labs/VDateInput/index.d.mts +10 -10
  85. package/lib/labs/VFileUpload/VFileUpload.mjs +3 -2
  86. package/lib/labs/VFileUpload/VFileUpload.mjs.map +1 -1
  87. package/lib/labs/VFileUpload/index.d.mts +32 -14
  88. package/lib/labs/VNumberInput/VNumberInput.mjs +5 -5
  89. package/lib/labs/VNumberInput/VNumberInput.mjs.map +1 -1
  90. package/lib/labs/VSnackbarQueue/index.d.mts +21 -6
  91. package/lib/labs/VTimePicker/VTimePicker.mjs +30 -31
  92. package/lib/labs/VTimePicker/VTimePicker.mjs.map +1 -1
  93. package/lib/labs/VTimePicker/VTimePickerControls.mjs +14 -13
  94. package/lib/labs/VTimePicker/VTimePickerControls.mjs.map +1 -1
  95. package/lib/labs/VTimePicker/index.d.mts +35 -13
  96. package/lib/labs/VTimePicker/shared.mjs +2 -0
  97. package/lib/labs/VTimePicker/shared.mjs.map +1 -0
  98. package/lib/labs/VTreeview/index.d.mts +32 -14
  99. package/lib/labs/components.d.mts +128 -55
  100. package/lib/locale/adapters/vuetify.mjs +1 -1
  101. package/lib/locale/adapters/vuetify.mjs.map +1 -1
  102. package/lib/util/animation.mjs +8 -8
  103. package/lib/util/animation.mjs.map +1 -1
  104. package/lib/util/helpers.mjs +6 -4
  105. package/lib/util/helpers.mjs.map +1 -1
  106. package/package.json +2 -2
  107. package/lib/labs/VTimePicker/SelectingTimes.mjs +0 -10
  108. package/lib/labs/VTimePicker/SelectingTimes.mjs.map +0 -1
@@ -1,10 +1,10 @@
1
1
  /*!
2
- * Vuetify v3.7.15
2
+ * Vuetify v3.7.16
3
3
  * Forged by John Leider
4
4
  * Released under the MIT License.
5
5
  */
6
6
 
7
- import { shallowRef, reactive, computed, watchEffect, toRefs, capitalize, unref, Fragment, isVNode, Comment, warn, getCurrentInstance as getCurrentInstance$1, ref, provide, inject as inject$1, defineComponent as defineComponent$1, h, camelize, createVNode, mergeProps, onBeforeUnmount, watch, readonly, onMounted, onDeactivated, onActivated, onScopeDispose, effectScope, toRaw, TransitionGroup, Transition, isRef, toRef, onBeforeMount, nextTick, withDirectives, resolveDirective, vShow, onUpdated, Text, resolveDynamicComponent, markRaw, Teleport, cloneVNode, createTextVNode, onUnmounted, onBeforeUpdate, withModifiers, toDisplayString, vModelText, resolveComponent, render } from 'vue';
7
+ import { shallowRef, reactive, computed, watchEffect, toRefs, capitalize, unref, Fragment, isVNode, Comment, warn, getCurrentInstance as getCurrentInstance$1, ref, provide, inject as inject$1, defineComponent as defineComponent$1, h, camelize, createVNode, mergeProps, onBeforeUnmount, watch, readonly, onMounted, onDeactivated, onActivated, onScopeDispose, effectScope, toRaw, TransitionGroup, Transition, isRef, toRef, onBeforeMount, nextTick, withDirectives, resolveDirective, vShow, onUpdated, Text, resolveDynamicComponent, toDisplayString, markRaw, Teleport, cloneVNode, createTextVNode, onUnmounted, onBeforeUpdate, withModifiers, vModelText, resolveComponent, render } from 'vue';
8
8
 
9
9
  const IN_BROWSER = typeof window !== 'undefined';
10
10
  const SUPPORTS_INTERSECTION = IN_BROWSER && 'IntersectionObserver' in window;
@@ -80,12 +80,14 @@ function convertToUnit(str) {
80
80
  let unit = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'px';
81
81
  if (str == null || str === '') {
82
82
  return undefined;
83
- } else if (isNaN(+str)) {
83
+ }
84
+ const num = Number(str);
85
+ if (isNaN(num)) {
84
86
  return String(str);
85
- } else if (!isFinite(+str)) {
87
+ } else if (!isFinite(num)) {
86
88
  return undefined;
87
89
  } else {
88
- return `${Number(str)}${unit}`;
90
+ return `${num}${unit}`;
89
91
  }
90
92
  }
91
93
  function isObject(obj) {
@@ -613,16 +615,16 @@ function nullifyTransforms(el) {
613
615
  let ta, sx, sy, dx, dy;
614
616
  if (tx.startsWith('matrix3d(')) {
615
617
  ta = tx.slice(9, -1).split(/, /);
616
- sx = +ta[0];
617
- sy = +ta[5];
618
- dx = +ta[12];
619
- dy = +ta[13];
618
+ sx = Number(ta[0]);
619
+ sy = Number(ta[5]);
620
+ dx = Number(ta[12]);
621
+ dy = Number(ta[13]);
620
622
  } else if (tx.startsWith('matrix(')) {
621
623
  ta = tx.slice(7, -1).split(/, /);
622
- sx = +ta[0];
623
- sy = +ta[3];
624
- dx = +ta[4];
625
- dy = +ta[5];
624
+ sx = Number(ta[0]);
625
+ sy = Number(ta[3]);
626
+ dx = Number(ta[4]);
627
+ dy = Number(ta[5]);
626
628
  } else {
627
629
  return new Box(rect);
628
630
  }
@@ -2516,7 +2518,7 @@ var en = {
2516
2518
  const LANG_PREFIX = '$vuetify.';
2517
2519
  const replace = (str, params) => {
2518
2520
  return str.replace(/\{(\d+)\}/g, (match, index) => {
2519
- return String(params[+index]);
2521
+ return String(params[Number(index)]);
2520
2522
  });
2521
2523
  };
2522
2524
  const createTranslateFunction = (current, fallback, messages) => {
@@ -5805,7 +5807,10 @@ const makeVBtnProps = propsFactory({
5805
5807
  type: [Boolean, Object],
5806
5808
  default: true
5807
5809
  },
5808
- text: String,
5810
+ text: {
5811
+ type: [String, Number, Boolean],
5812
+ default: undefined
5813
+ },
5809
5814
  ...makeBorderProps(),
5810
5815
  ...makeComponentProps(),
5811
5816
  ...makeDensityProps(),
@@ -5961,7 +5966,7 @@ const VBtn = genericComponent()({
5961
5966
  }
5962
5967
  }
5963
5968
  }, {
5964
- default: () => [slots.default?.() ?? props.text]
5969
+ default: () => [slots.default?.() ?? toDisplayString(props.text)]
5965
5970
  })]), !props.icon && hasAppend && createVNode("span", {
5966
5971
  "key": "append",
5967
5972
  "class": "v-btn__append"
@@ -6969,7 +6974,7 @@ function useValidation(props) {
6969
6974
  const isPristine = shallowRef(true);
6970
6975
  const isDirty = computed(() => !!(wrapInArray(model.value === '' ? null : model.value).length || wrapInArray(validationModel.value === '' ? null : validationModel.value).length));
6971
6976
  const errorMessages = computed(() => {
6972
- return props.errorMessages?.length ? wrapInArray(props.errorMessages).concat(internalErrorMessages.value).slice(0, Math.max(0, +props.maxErrors)) : internalErrorMessages.value;
6977
+ return props.errorMessages?.length ? wrapInArray(props.errorMessages).concat(internalErrorMessages.value).slice(0, Math.max(0, Number(props.maxErrors))) : internalErrorMessages.value;
6973
6978
  });
6974
6979
  const validateOn = computed(() => {
6975
6980
  let value = (props.validateOn ?? form.validateOn?.value) || 'input';
@@ -7060,7 +7065,7 @@ function useValidation(props) {
7060
7065
  const results = [];
7061
7066
  isValidating.value = true;
7062
7067
  for (const rule of props.rules) {
7063
- if (results.length >= +(props.maxErrors ?? 1)) {
7068
+ if (results.length >= Number(props.maxErrors ?? 1)) {
7064
7069
  break;
7065
7070
  }
7066
7071
  const handler = typeof rule === 'function' ? rule : () => rule;
@@ -8121,7 +8126,10 @@ const makeVChipProps = propsFactory({
8121
8126
  type: [Boolean, Object],
8122
8127
  default: true
8123
8128
  },
8124
- text: String,
8129
+ text: {
8130
+ type: [String, Number, Boolean],
8131
+ default: undefined
8132
+ },
8125
8133
  modelValue: {
8126
8134
  type: Boolean,
8127
8135
  default: true
@@ -8290,7 +8298,7 @@ const VChip = genericComponent()({
8290
8298
  toggle: group?.toggle,
8291
8299
  value: group?.value.value,
8292
8300
  disabled: props.disabled
8293
- }) ?? props.text]), hasAppend && createVNode("div", {
8301
+ }) ?? toDisplayString(props.text)]), hasAppend && createVNode("div", {
8294
8302
  "key": "append",
8295
8303
  "class": "v-chip__append"
8296
8304
  }, [!slots.append ? createVNode(Fragment, null, [props.appendIcon && createVNode(VIcon, {
@@ -9169,8 +9177,14 @@ const makeVListItemProps = propsFactory({
9169
9177
  default: true
9170
9178
  },
9171
9179
  slim: Boolean,
9172
- subtitle: [String, Number],
9173
- title: [String, Number],
9180
+ subtitle: {
9181
+ type: [String, Number, Boolean],
9182
+ default: undefined
9183
+ },
9184
+ title: {
9185
+ type: [String, Number, Boolean],
9186
+ default: undefined
9187
+ },
9174
9188
  value: null,
9175
9189
  onClick: EventProp(),
9176
9190
  onClickOnce: EventProp(),
@@ -9363,13 +9377,13 @@ const VListItem = genericComponent()({
9363
9377
  }, {
9364
9378
  default: () => [slots.title?.({
9365
9379
  title: props.title
9366
- }) ?? props.title]
9380
+ }) ?? toDisplayString(props.title)]
9367
9381
  }), hasSubtitle && createVNode(VListItemSubtitle, {
9368
9382
  "key": "subtitle"
9369
9383
  }, {
9370
9384
  default: () => [slots.subtitle?.({
9371
9385
  subtitle: props.subtitle
9372
- }) ?? props.subtitle]
9386
+ }) ?? toDisplayString(props.subtitle)]
9373
9387
  }), slots.default?.(slotProps.value)]), hasAppend && createVNode("div", {
9374
9388
  "key": "append",
9375
9389
  "class": "v-list-item__append"
@@ -10970,10 +10984,10 @@ function useStack(isActive, zIndex, disableGlobalStack) {
10970
10984
  activeChildren: new Set()
10971
10985
  });
10972
10986
  provide(StackSymbol, stack);
10973
- const _zIndex = shallowRef(+zIndex.value);
10987
+ const _zIndex = shallowRef(Number(zIndex.value));
10974
10988
  useToggleScope(isActive, () => {
10975
10989
  const lastZIndex = globalStack.at(-1)?.[1];
10976
- _zIndex.value = lastZIndex ? lastZIndex + 10 : +zIndex.value;
10990
+ _zIndex.value = lastZIndex ? lastZIndex + 10 : Number(zIndex.value);
10977
10991
  if (createStackEntry) {
10978
10992
  globalStack.push([vm.uid, _zIndex.value]);
10979
10993
  }
@@ -11182,6 +11196,7 @@ const VOverlay = genericComponent()({
11182
11196
  emits: {
11183
11197
  'click:outside': e => true,
11184
11198
  'update:modelValue': value => true,
11199
+ keydown: e => true,
11185
11200
  afterEnter: () => true,
11186
11201
  afterLeave: () => true
11187
11202
  },
@@ -11294,6 +11309,9 @@ const VOverlay = genericComponent()({
11294
11309
  });
11295
11310
  function onKeydown(e) {
11296
11311
  if (e.key === 'Escape' && globalTop.value) {
11312
+ if (!contentEl.value?.contains(document.activeElement)) {
11313
+ emit('keydown', e);
11314
+ }
11297
11315
  if (!props.persistent) {
11298
11316
  isActive.value = false;
11299
11317
  if (contentEl.value?.contains(document.activeElement)) {
@@ -11302,6 +11320,10 @@ const VOverlay = genericComponent()({
11302
11320
  } else animateClick();
11303
11321
  }
11304
11322
  }
11323
+ function onKeydownSelf(e) {
11324
+ if (e.key === 'Escape' && !globalTop.value) return;
11325
+ emit('keydown', e);
11326
+ }
11305
11327
  const router = useRouter();
11306
11328
  useToggleScope(() => props.closeOnBack, () => {
11307
11329
  useBackButton(router, next => {
@@ -11364,7 +11386,8 @@ const VOverlay = genericComponent()({
11364
11386
  '--v-overlay-opacity': props.opacity,
11365
11387
  top: convertToUnit(top.value)
11366
11388
  }, props.style],
11367
- "ref": root
11389
+ "ref": root,
11390
+ "onKeydown": onKeydownSelf
11368
11391
  }, scopeId, attrs), [createVNode(Scrim, mergeProps({
11369
11392
  "color": scrimColor,
11370
11393
  "modelValue": isActive.value && !!props.scrim,
@@ -13755,11 +13778,11 @@ const VBadge = genericComponent()({
13755
13778
  locationStyles
13756
13779
  } = useLocation(props, true, side => {
13757
13780
  const base = props.floating ? props.dot ? 2 : 4 : props.dot ? 8 : 12;
13758
- return base + (['top', 'bottom'].includes(side) ? +(props.offsetY ?? 0) : ['left', 'right'].includes(side) ? +(props.offsetX ?? 0) : 0);
13781
+ return base + (['top', 'bottom'].includes(side) ? Number(props.offsetY ?? 0) : ['left', 'right'].includes(side) ? Number(props.offsetX ?? 0) : 0);
13759
13782
  });
13760
13783
  useRender(() => {
13761
13784
  const value = Number(props.content);
13762
- const content = !props.max || isNaN(value) ? props.content : value <= +props.max ? value : `${props.max}+`;
13785
+ const content = !props.max || isNaN(value) ? props.content : value <= Number(props.max) ? value : `${props.max}+`;
13763
13786
  const [badgeAttrs, attrs] = pickWithRest(ctx.attrs, ['aria-atomic', 'aria-label', 'aria-live', 'role', 'title']);
13764
13787
  return createVNode(props.tag, mergeProps({
13765
13788
  "class": ['v-badge', {
@@ -14458,8 +14481,14 @@ const makeCardItemProps = propsFactory({
14458
14481
  appendIcon: IconValue,
14459
14482
  prependAvatar: String,
14460
14483
  prependIcon: IconValue,
14461
- subtitle: [String, Number],
14462
- title: [String, Number],
14484
+ subtitle: {
14485
+ type: [String, Number, Boolean],
14486
+ default: undefined
14487
+ },
14488
+ title: {
14489
+ type: [String, Number, Boolean],
14490
+ default: undefined
14491
+ },
14463
14492
  ...makeComponentProps(),
14464
14493
  ...makeDensityProps()
14465
14494
  }, 'VCardItem');
@@ -14509,11 +14538,11 @@ const VCardItem = genericComponent()({
14509
14538
  }, [hasTitle && createVNode(VCardTitle, {
14510
14539
  "key": "title"
14511
14540
  }, {
14512
- default: () => [slots.title?.() ?? props.title]
14541
+ default: () => [slots.title?.() ?? toDisplayString(props.title)]
14513
14542
  }), hasSubtitle && createVNode(VCardSubtitle, {
14514
14543
  "key": "subtitle"
14515
14544
  }, {
14516
- default: () => [slots.subtitle?.() ?? props.subtitle]
14545
+ default: () => [slots.subtitle?.() ?? toDisplayString(props.subtitle)]
14517
14546
  }), slots.default?.()]), hasAppend && createVNode("div", {
14518
14547
  "key": "append",
14519
14548
  "class": "v-card-item__append"
@@ -14585,9 +14614,18 @@ const makeVCardProps = propsFactory({
14585
14614
  type: [Boolean, Object],
14586
14615
  default: true
14587
14616
  },
14588
- subtitle: [String, Number],
14589
- text: [String, Number],
14590
- title: [String, Number],
14617
+ subtitle: {
14618
+ type: [String, Number, Boolean],
14619
+ default: undefined
14620
+ },
14621
+ text: {
14622
+ type: [String, Number, Boolean],
14623
+ default: undefined
14624
+ },
14625
+ title: {
14626
+ type: [String, Number, Boolean],
14627
+ default: undefined
14628
+ },
14591
14629
  ...makeBorderProps(),
14592
14630
  ...makeComponentProps(),
14593
14631
  ...makeDensityProps(),
@@ -15056,7 +15094,7 @@ const VCarousel = genericComponent()({
15056
15094
  onMounted(startTimeout);
15057
15095
  function startTimeout() {
15058
15096
  if (!props.cycle || !windowRef.value) return;
15059
- slideTimeout = window.setTimeout(windowRef.value.group.next, +props.interval > 0 ? +props.interval : 6000);
15097
+ slideTimeout = window.setTimeout(windowRef.value.group.next, Number(props.interval) > 0 ? Number(props.interval) : 6000);
15060
15098
  }
15061
15099
  function restartTimeout() {
15062
15100
  window.clearTimeout(slideTimeout);
@@ -15782,7 +15820,7 @@ const makeSliderProps = propsFactory({
15782
15820
  const useSteps = props => {
15783
15821
  const min = computed(() => parseFloat(props.min));
15784
15822
  const max = computed(() => parseFloat(props.max));
15785
- const step = computed(() => +props.step > 0 ? parseFloat(props.step) : 0);
15823
+ const step = computed(() => Number(props.step) > 0 ? parseFloat(props.step) : 0);
15786
15824
  const decimals = computed(() => Math.max(getDecimals(step.value), getDecimals(min.value)));
15787
15825
  function roundValue(value) {
15788
15826
  value = parseFloat(value);
@@ -18737,8 +18775,8 @@ const makeDataTablePaginateProps = propsFactory({
18737
18775
  }, 'DataTable-paginate');
18738
18776
  const VDataTablePaginationSymbol = Symbol.for('vuetify:data-table-pagination');
18739
18777
  function createPagination(props) {
18740
- const page = useProxiedModel(props, 'page', undefined, value => +(value ?? 1));
18741
- const itemsPerPage = useProxiedModel(props, 'itemsPerPage', undefined, value => +(value ?? 10));
18778
+ const page = useProxiedModel(props, 'page', undefined, value => Number(value ?? 1));
18779
+ const itemsPerPage = useProxiedModel(props, 'itemsPerPage', undefined, value => Number(value ?? 10));
18742
18780
  return {
18743
18781
  page,
18744
18782
  itemsPerPage
@@ -19527,7 +19565,7 @@ const VPagination = genericComponent()({
19527
19565
  const minButtons = props.showFirstLastPage ? 5 : 3;
19528
19566
  return Math.max(0, Math.floor(
19529
19567
  // Round to two decimal places to avoid floating point errors
19530
- +((totalWidth - itemWidth * minButtons) / itemWidth).toFixed(2)));
19568
+ Number(((totalWidth - itemWidth * minButtons) / itemWidth).toFixed(2))));
19531
19569
  }
19532
19570
  const range = computed(() => {
19533
19571
  if (length.value <= 0 || isNaN(length.value) || length.value > Number.MAX_SAFE_INTEGER) return [];
@@ -19598,7 +19636,7 @@ const VPagination = genericComponent()({
19598
19636
  ref,
19599
19637
  ellipsis: false,
19600
19638
  icon: true,
19601
- disabled: !!props.disabled || +props.length < 2,
19639
+ disabled: !!props.disabled || Number(props.length) < 2,
19602
19640
  color: isActive ? props.activeColor : props.color,
19603
19641
  'aria-current': isActive,
19604
19642
  'aria-label': t(isActive ? props.currentPageAriaLabel : props.pageAriaLabel, item),
@@ -19647,7 +19685,7 @@ const VPagination = genericComponent()({
19647
19685
  refs.value[currentIndex]?.$el.focus();
19648
19686
  }
19649
19687
  function onKeydown(e) {
19650
- if (e.key === keyValues.left && !props.disabled && page.value > +props.start) {
19688
+ if (e.key === keyValues.left && !props.disabled && page.value > Number(props.start)) {
19651
19689
  page.value = page.value - 1;
19652
19690
  nextTick(updateFocus);
19653
19691
  } else if (e.key === keyValues.right && !props.disabled && page.value < start.value + length.value - 1) {
@@ -19980,8 +20018,10 @@ function parseFixedColumns(items) {
19980
20018
  } else {
19981
20019
  if (!seenFixed) {
19982
20020
  item.lastFixed = true;
19983
- } else if (isNaN(+item.width)) {
20021
+ } else if (isNaN(Number(item.width))) {
19984
20022
  consoleError(`Multiple fixed columns should have a static width (key: ${item.key})`);
20023
+ } else {
20024
+ item.minWidth = Math.max(Number(item.width) || 0, Number(item.minWidth) || 0);
19985
20025
  }
19986
20026
  seenFixed = true;
19987
20027
  }
@@ -22114,7 +22154,7 @@ const VDatePickerMonth = genericComponent()({
22114
22154
  model.value = [value];
22115
22155
  }
22116
22156
  }
22117
- return () => createVNode("div", {
22157
+ useRender(() => createVNode("div", {
22118
22158
  "class": "v-date-picker-month"
22119
22159
  }, [props.showWeek && createVNode("div", {
22120
22160
  "key": "weeks",
@@ -22136,6 +22176,13 @@ const VDatePickerMonth = genericComponent()({
22136
22176
  }, [weekDay])), daysInMonth.value.map((item, i) => {
22137
22177
  const slotProps = {
22138
22178
  props: {
22179
+ class: 'v-date-picker-month__day-btn',
22180
+ color: (item.isSelected || item.isToday) && !item.isDisabled ? props.color : undefined,
22181
+ disabled: item.isDisabled,
22182
+ icon: true,
22183
+ ripple: false,
22184
+ text: item.localized,
22185
+ variant: item.isDisabled ? item.isToday ? 'outlined' : 'text' : item.isToday && !item.isSelected ? 'outlined' : 'flat',
22139
22186
  onClick: () => onClick(item.date)
22140
22187
  },
22141
22188
  item,
@@ -22153,24 +22200,9 @@ const VDatePickerMonth = genericComponent()({
22153
22200
  'v-date-picker-month__day--week-start': item.isWeekStart
22154
22201
  }],
22155
22202
  "data-v-date": !item.isDisabled ? item.isoDate : undefined
22156
- }, [(props.showAdjacentMonths || !item.isAdjacent) && createVNode(VDefaultsProvider, {
22157
- "defaults": {
22158
- VBtn: {
22159
- class: 'v-date-picker-month__day-btn',
22160
- color: (item.isSelected || item.isToday) && !item.isDisabled ? props.color : undefined,
22161
- disabled: item.isDisabled,
22162
- icon: true,
22163
- ripple: false,
22164
- text: item.localized,
22165
- variant: item.isDisabled ? item.isToday ? 'outlined' : 'text' : item.isToday && !item.isSelected ? 'outlined' : 'flat',
22166
- onClick: () => onClick(item.date)
22167
- }
22168
- }
22169
- }, {
22170
- default: () => [slots.day?.(slotProps) ?? createVNode(VBtn, slotProps.props, null)]
22171
- })]);
22203
+ }, [(props.showAdjacentMonths || !item.isAdjacent) && (slots.day?.(slotProps) ?? createVNode(VBtn, slotProps.props, null))]);
22172
22204
  })])]
22173
- })]);
22205
+ })]));
22174
22206
  }
22175
22207
  });
22176
22208
 
@@ -24927,7 +24959,7 @@ const VParallax = genericComponent()({
24927
24959
  watch(displayHeight, onScroll);
24928
24960
  watch(() => contentRect.value?.height, onScroll);
24929
24961
  const scale = computed(() => {
24930
- return 1 - clamp(+props.scale);
24962
+ return 1 - clamp(Number(props.scale));
24931
24963
  });
24932
24964
  let frame = -1;
24933
24965
  function onScroll() {
@@ -25348,7 +25380,7 @@ const VRating = genericComponent()({
25348
25380
  themeClasses
25349
25381
  } = provideTheme(props);
25350
25382
  const rating = useProxiedModel(props, 'modelValue');
25351
- const normalizedValue = computed(() => clamp(parseFloat(rating.value), 0, +props.length));
25383
+ const normalizedValue = computed(() => clamp(parseFloat(rating.value), 0, Number(props.length)));
25352
25384
  const range = computed(() => createRange(Number(props.length), 1));
25353
25385
  const increments = computed(() => range.value.flatMap(v => props.halfIncrements ? [v - 0.5, v] : [v]));
25354
25386
  const hoverIndex = shallowRef(-1);
@@ -25959,7 +25991,7 @@ const VBarline = genericComponent()({
25959
25991
  const height = Math.abs(gridY * value);
25960
25992
  return {
25961
25993
  x: minX + index * gridX,
25962
- y: horizonY - height + +(value < 0) * height,
25994
+ y: horizonY - height + Number(value < 0) * height,
25963
25995
  height,
25964
25996
  value
25965
25997
  };
@@ -27397,10 +27429,10 @@ const VTextarea = genericComponent()({
27397
27429
  }
27398
27430
  }
27399
27431
  const sizerRef = ref();
27400
- const rows = ref(+props.rows);
27432
+ const rows = ref(Number(props.rows));
27401
27433
  const isPlainOrUnderlined = computed(() => ['plain', 'underlined'].includes(props.variant));
27402
27434
  watchEffect(() => {
27403
- if (!props.autoGrow) rows.value = +props.rows;
27435
+ if (!props.autoGrow) rows.value = Number(props.rows);
27404
27436
  });
27405
27437
  function calculateInputHeight() {
27406
27438
  if (!props.autoGrow) return;
@@ -28417,7 +28449,7 @@ function createVuetify$1() {
28417
28449
  goTo
28418
28450
  };
28419
28451
  }
28420
- const version$1 = "3.7.15";
28452
+ const version$1 = "3.7.16";
28421
28453
  createVuetify$1.version = version$1;
28422
28454
 
28423
28455
  // Vue's inject() can only be used in setup
@@ -28442,7 +28474,7 @@ const createVuetify = function () {
28442
28474
  ...options
28443
28475
  });
28444
28476
  };
28445
- const version = "3.7.15";
28477
+ const version = "3.7.16";
28446
28478
  createVuetify.version = version;
28447
28479
 
28448
28480
  export { index as blueprints, components, createVuetify, directives, useDate, useDefaults, useDisplay, useGoTo, useLayout, useLocale, useRtl, useTheme, version };