@vuetify/nightly 3.7.15-master.2025-03-05 → 3.7.15-master.2025-03-07

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 (92) hide show
  1. package/CHANGELOG.md +29 -3
  2. package/dist/json/attributes.json +2581 -2577
  3. package/dist/json/importMap-labs.json +12 -12
  4. package/dist/json/importMap.json +160 -160
  5. package/dist/json/tags.json +3 -2
  6. package/dist/json/web-types.json +4799 -4778
  7. package/dist/vuetify-labs.css +2627 -2627
  8. package/dist/vuetify-labs.d.ts +301 -129
  9. package/dist/vuetify-labs.esm.js +129 -106
  10. package/dist/vuetify-labs.esm.js.map +1 -1
  11. package/dist/vuetify-labs.js +128 -105
  12. package/dist/vuetify-labs.min.css +2 -2
  13. package/dist/vuetify.css +2604 -2604
  14. package/dist/vuetify.d.ts +258 -144
  15. package/dist/vuetify.esm.js +80 -51
  16. package/dist/vuetify.esm.js.map +1 -1
  17. package/dist/vuetify.js +79 -50
  18. package/dist/vuetify.js.map +1 -1
  19. package/dist/vuetify.min.css +2 -2
  20. package/dist/vuetify.min.js +219 -217
  21. package/dist/vuetify.min.js.map +1 -1
  22. package/lib/components/VAppBar/index.d.mts +15 -6
  23. package/lib/components/VAutocomplete/index.d.mts +2 -2
  24. package/lib/components/VBadge/VBadge.mjs +2 -2
  25. package/lib/components/VBadge/VBadge.mjs.map +1 -1
  26. package/lib/components/VBtn/VBtn.mjs +6 -3
  27. package/lib/components/VBtn/VBtn.mjs.map +1 -1
  28. package/lib/components/VBtn/index.d.mts +15 -6
  29. package/lib/components/VCard/VCard.mjs +12 -3
  30. package/lib/components/VCard/VCard.mjs.map +1 -1
  31. package/lib/components/VCard/VCardItem.mjs +11 -4
  32. package/lib/components/VCard/VCardItem.mjs.map +1 -1
  33. package/lib/components/VCard/index.d.mts +75 -30
  34. package/lib/components/VCarousel/VCarousel.mjs +1 -1
  35. package/lib/components/VCarousel/VCarousel.mjs.map +1 -1
  36. package/lib/components/VChip/VChip.mjs +6 -3
  37. package/lib/components/VChip/VChip.mjs.map +1 -1
  38. package/lib/components/VChip/index.d.mts +15 -6
  39. package/lib/components/VCombobox/index.d.mts +2 -2
  40. package/lib/components/VDataTable/composables/headers.mjs +2 -2
  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/VFab/index.d.mts +15 -6
  45. package/lib/components/VList/VListItem.mjs +11 -5
  46. package/lib/components/VList/VListItem.mjs.map +1 -1
  47. package/lib/components/VList/index.d.mts +32 -14
  48. package/lib/components/VPagination/VPagination.mjs +3 -3
  49. package/lib/components/VPagination/VPagination.mjs.map +1 -1
  50. package/lib/components/VParallax/VParallax.mjs +1 -1
  51. package/lib/components/VParallax/VParallax.mjs.map +1 -1
  52. package/lib/components/VRating/VRating.mjs +1 -1
  53. package/lib/components/VRating/VRating.mjs.map +1 -1
  54. package/lib/components/VSelect/index.d.mts +2 -2
  55. package/lib/components/VSlider/slider.mjs +1 -1
  56. package/lib/components/VSlider/slider.mjs.map +1 -1
  57. package/lib/components/VSparkline/VBarline.mjs +1 -1
  58. package/lib/components/VSparkline/VBarline.mjs.map +1 -1
  59. package/lib/components/VTabs/index.d.mts +39 -24
  60. package/lib/components/VTextarea/VTextarea.mjs +2 -2
  61. package/lib/components/VTextarea/VTextarea.mjs.map +1 -1
  62. package/lib/components/index.d.mts +206 -92
  63. package/lib/composables/stack.mjs +2 -2
  64. package/lib/composables/stack.mjs.map +1 -1
  65. package/lib/composables/validation.mjs +2 -2
  66. package/lib/composables/validation.mjs.map +1 -1
  67. package/lib/entry-bundler.mjs +1 -1
  68. package/lib/framework.mjs +1 -1
  69. package/lib/index.d.mts +52 -52
  70. package/lib/labs/VFileUpload/VFileUpload.mjs +3 -2
  71. package/lib/labs/VFileUpload/VFileUpload.mjs.map +1 -1
  72. package/lib/labs/VFileUpload/index.d.mts +32 -14
  73. package/lib/labs/VNumberInput/VNumberInput.mjs +5 -5
  74. package/lib/labs/VNumberInput/VNumberInput.mjs.map +1 -1
  75. package/lib/labs/VTimePicker/VTimePicker.mjs +30 -31
  76. package/lib/labs/VTimePicker/VTimePicker.mjs.map +1 -1
  77. package/lib/labs/VTimePicker/VTimePickerControls.mjs +12 -13
  78. package/lib/labs/VTimePicker/VTimePickerControls.mjs.map +1 -1
  79. package/lib/labs/VTimePicker/index.d.mts +35 -13
  80. package/lib/labs/VTimePicker/shared.mjs +2 -0
  81. package/lib/labs/VTimePicker/shared.mjs.map +1 -0
  82. package/lib/labs/VTreeview/index.d.mts +32 -14
  83. package/lib/labs/components.d.mts +97 -39
  84. package/lib/locale/adapters/vuetify.mjs +1 -1
  85. package/lib/locale/adapters/vuetify.mjs.map +1 -1
  86. package/lib/util/animation.mjs +8 -8
  87. package/lib/util/animation.mjs.map +1 -1
  88. package/lib/util/helpers.mjs +6 -4
  89. package/lib/util/helpers.mjs.map +1 -1
  90. package/package.json +1 -1
  91. package/lib/labs/VTimePicker/SelectingTimes.mjs +0 -10
  92. package/lib/labs/VTimePicker/SelectingTimes.mjs.map +0 -1
@@ -1,10 +1,10 @@
1
1
  /*!
2
- * Vuetify v3.7.15-master.2025-03-05
2
+ * Vuetify v3.7.15-master.2025-03-07
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
  }
@@ -13755,11 +13769,11 @@ const VBadge = genericComponent()({
13755
13769
  locationStyles
13756
13770
  } = useLocation(props, true, side => {
13757
13771
  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);
13772
+ return base + (['top', 'bottom'].includes(side) ? Number(props.offsetY ?? 0) : ['left', 'right'].includes(side) ? Number(props.offsetX ?? 0) : 0);
13759
13773
  });
13760
13774
  useRender(() => {
13761
13775
  const value = Number(props.content);
13762
- const content = !props.max || isNaN(value) ? props.content : value <= +props.max ? value : `${props.max}+`;
13776
+ const content = !props.max || isNaN(value) ? props.content : value <= Number(props.max) ? value : `${props.max}+`;
13763
13777
  const [badgeAttrs, attrs] = pickWithRest(ctx.attrs, ['aria-atomic', 'aria-label', 'aria-live', 'role', 'title']);
13764
13778
  return createVNode(props.tag, mergeProps({
13765
13779
  "class": ['v-badge', {
@@ -14458,8 +14472,14 @@ const makeCardItemProps = propsFactory({
14458
14472
  appendIcon: IconValue,
14459
14473
  prependAvatar: String,
14460
14474
  prependIcon: IconValue,
14461
- subtitle: [String, Number],
14462
- title: [String, Number],
14475
+ subtitle: {
14476
+ type: [String, Number, Boolean],
14477
+ default: undefined
14478
+ },
14479
+ title: {
14480
+ type: [String, Number, Boolean],
14481
+ default: undefined
14482
+ },
14463
14483
  ...makeComponentProps(),
14464
14484
  ...makeDensityProps()
14465
14485
  }, 'VCardItem');
@@ -14509,11 +14529,11 @@ const VCardItem = genericComponent()({
14509
14529
  }, [hasTitle && createVNode(VCardTitle, {
14510
14530
  "key": "title"
14511
14531
  }, {
14512
- default: () => [slots.title?.() ?? props.title]
14532
+ default: () => [slots.title?.() ?? toDisplayString(props.title)]
14513
14533
  }), hasSubtitle && createVNode(VCardSubtitle, {
14514
14534
  "key": "subtitle"
14515
14535
  }, {
14516
- default: () => [slots.subtitle?.() ?? props.subtitle]
14536
+ default: () => [slots.subtitle?.() ?? toDisplayString(props.subtitle)]
14517
14537
  }), slots.default?.()]), hasAppend && createVNode("div", {
14518
14538
  "key": "append",
14519
14539
  "class": "v-card-item__append"
@@ -14585,9 +14605,18 @@ const makeVCardProps = propsFactory({
14585
14605
  type: [Boolean, Object],
14586
14606
  default: true
14587
14607
  },
14588
- subtitle: [String, Number],
14589
- text: [String, Number],
14590
- title: [String, Number],
14608
+ subtitle: {
14609
+ type: [String, Number, Boolean],
14610
+ default: undefined
14611
+ },
14612
+ text: {
14613
+ type: [String, Number, Boolean],
14614
+ default: undefined
14615
+ },
14616
+ title: {
14617
+ type: [String, Number, Boolean],
14618
+ default: undefined
14619
+ },
14591
14620
  ...makeBorderProps(),
14592
14621
  ...makeComponentProps(),
14593
14622
  ...makeDensityProps(),
@@ -15056,7 +15085,7 @@ const VCarousel = genericComponent()({
15056
15085
  onMounted(startTimeout);
15057
15086
  function startTimeout() {
15058
15087
  if (!props.cycle || !windowRef.value) return;
15059
- slideTimeout = window.setTimeout(windowRef.value.group.next, +props.interval > 0 ? +props.interval : 6000);
15088
+ slideTimeout = window.setTimeout(windowRef.value.group.next, Number(props.interval) > 0 ? Number(props.interval) : 6000);
15060
15089
  }
15061
15090
  function restartTimeout() {
15062
15091
  window.clearTimeout(slideTimeout);
@@ -15782,7 +15811,7 @@ const makeSliderProps = propsFactory({
15782
15811
  const useSteps = props => {
15783
15812
  const min = computed(() => parseFloat(props.min));
15784
15813
  const max = computed(() => parseFloat(props.max));
15785
- const step = computed(() => +props.step > 0 ? parseFloat(props.step) : 0);
15814
+ const step = computed(() => Number(props.step) > 0 ? parseFloat(props.step) : 0);
15786
15815
  const decimals = computed(() => Math.max(getDecimals(step.value), getDecimals(min.value)));
15787
15816
  function roundValue(value) {
15788
15817
  value = parseFloat(value);
@@ -18737,8 +18766,8 @@ const makeDataTablePaginateProps = propsFactory({
18737
18766
  }, 'DataTable-paginate');
18738
18767
  const VDataTablePaginationSymbol = Symbol.for('vuetify:data-table-pagination');
18739
18768
  function createPagination(props) {
18740
- const page = useProxiedModel(props, 'page', undefined, value => +(value ?? 1));
18741
- const itemsPerPage = useProxiedModel(props, 'itemsPerPage', undefined, value => +(value ?? 10));
18769
+ const page = useProxiedModel(props, 'page', undefined, value => Number(value ?? 1));
18770
+ const itemsPerPage = useProxiedModel(props, 'itemsPerPage', undefined, value => Number(value ?? 10));
18742
18771
  return {
18743
18772
  page,
18744
18773
  itemsPerPage
@@ -19527,7 +19556,7 @@ const VPagination = genericComponent()({
19527
19556
  const minButtons = props.showFirstLastPage ? 5 : 3;
19528
19557
  return Math.max(0, Math.floor(
19529
19558
  // Round to two decimal places to avoid floating point errors
19530
- +((totalWidth - itemWidth * minButtons) / itemWidth).toFixed(2)));
19559
+ Number(((totalWidth - itemWidth * minButtons) / itemWidth).toFixed(2))));
19531
19560
  }
19532
19561
  const range = computed(() => {
19533
19562
  if (length.value <= 0 || isNaN(length.value) || length.value > Number.MAX_SAFE_INTEGER) return [];
@@ -19598,7 +19627,7 @@ const VPagination = genericComponent()({
19598
19627
  ref,
19599
19628
  ellipsis: false,
19600
19629
  icon: true,
19601
- disabled: !!props.disabled || +props.length < 2,
19630
+ disabled: !!props.disabled || Number(props.length) < 2,
19602
19631
  color: isActive ? props.activeColor : props.color,
19603
19632
  'aria-current': isActive,
19604
19633
  'aria-label': t(isActive ? props.currentPageAriaLabel : props.pageAriaLabel, item),
@@ -19647,7 +19676,7 @@ const VPagination = genericComponent()({
19647
19676
  refs.value[currentIndex]?.$el.focus();
19648
19677
  }
19649
19678
  function onKeydown(e) {
19650
- if (e.key === keyValues.left && !props.disabled && page.value > +props.start) {
19679
+ if (e.key === keyValues.left && !props.disabled && page.value > Number(props.start)) {
19651
19680
  page.value = page.value - 1;
19652
19681
  nextTick(updateFocus);
19653
19682
  } else if (e.key === keyValues.right && !props.disabled && page.value < start.value + length.value - 1) {
@@ -19980,10 +20009,10 @@ function parseFixedColumns(items) {
19980
20009
  } else {
19981
20010
  if (!seenFixed) {
19982
20011
  item.lastFixed = true;
19983
- } else if (isNaN(+item.width)) {
20012
+ } else if (isNaN(Number(item.width))) {
19984
20013
  consoleError(`Multiple fixed columns should have a static width (key: ${item.key})`);
19985
20014
  } else {
19986
- item.minWidth = Math.max(+item.width || 0, +item.minWidth || 0);
20015
+ item.minWidth = Math.max(Number(item.width) || 0, Number(item.minWidth) || 0);
19987
20016
  }
19988
20017
  seenFixed = true;
19989
20018
  }
@@ -24929,7 +24958,7 @@ const VParallax = genericComponent()({
24929
24958
  watch(displayHeight, onScroll);
24930
24959
  watch(() => contentRect.value?.height, onScroll);
24931
24960
  const scale = computed(() => {
24932
- return 1 - clamp(+props.scale);
24961
+ return 1 - clamp(Number(props.scale));
24933
24962
  });
24934
24963
  let frame = -1;
24935
24964
  function onScroll() {
@@ -25350,7 +25379,7 @@ const VRating = genericComponent()({
25350
25379
  themeClasses
25351
25380
  } = provideTheme(props);
25352
25381
  const rating = useProxiedModel(props, 'modelValue');
25353
- const normalizedValue = computed(() => clamp(parseFloat(rating.value), 0, +props.length));
25382
+ const normalizedValue = computed(() => clamp(parseFloat(rating.value), 0, Number(props.length)));
25354
25383
  const range = computed(() => createRange(Number(props.length), 1));
25355
25384
  const increments = computed(() => range.value.flatMap(v => props.halfIncrements ? [v - 0.5, v] : [v]));
25356
25385
  const hoverIndex = shallowRef(-1);
@@ -25961,7 +25990,7 @@ const VBarline = genericComponent()({
25961
25990
  const height = Math.abs(gridY * value);
25962
25991
  return {
25963
25992
  x: minX + index * gridX,
25964
- y: horizonY - height + +(value < 0) * height,
25993
+ y: horizonY - height + Number(value < 0) * height,
25965
25994
  height,
25966
25995
  value
25967
25996
  };
@@ -27399,10 +27428,10 @@ const VTextarea = genericComponent()({
27399
27428
  }
27400
27429
  }
27401
27430
  const sizerRef = ref();
27402
- const rows = ref(+props.rows);
27431
+ const rows = ref(Number(props.rows));
27403
27432
  const isPlainOrUnderlined = computed(() => ['plain', 'underlined'].includes(props.variant));
27404
27433
  watchEffect(() => {
27405
- if (!props.autoGrow) rows.value = +props.rows;
27434
+ if (!props.autoGrow) rows.value = Number(props.rows);
27406
27435
  });
27407
27436
  function calculateInputHeight() {
27408
27437
  if (!props.autoGrow) return;
@@ -28419,7 +28448,7 @@ function createVuetify$1() {
28419
28448
  goTo
28420
28449
  };
28421
28450
  }
28422
- const version$1 = "3.7.15-master.2025-03-05";
28451
+ const version$1 = "3.7.15-master.2025-03-07";
28423
28452
  createVuetify$1.version = version$1;
28424
28453
 
28425
28454
  // Vue's inject() can only be used in setup
@@ -28444,7 +28473,7 @@ const createVuetify = function () {
28444
28473
  ...options
28445
28474
  });
28446
28475
  };
28447
- const version = "3.7.15-master.2025-03-05";
28476
+ const version = "3.7.15-master.2025-03-07";
28448
28477
  createVuetify.version = version;
28449
28478
 
28450
28479
  export { index as blueprints, components, createVuetify, directives, useDate, useDefaults, useDisplay, useGoTo, useLayout, useLocale, useRtl, useTheme, version };