vuetify 3.7.14 → 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 (198) hide show
  1. package/dist/json/attributes.json +3550 -3550
  2. package/dist/json/importMap-labs.json +28 -28
  3. package/dist/json/importMap.json +162 -162
  4. package/dist/json/tags.json +3 -3
  5. package/dist/json/web-types.json +6475 -6452
  6. package/dist/vuetify-labs.css +5395 -5391
  7. package/dist/vuetify-labs.d.ts +453 -215
  8. package/dist/vuetify-labs.esm.js +254 -151
  9. package/dist/vuetify-labs.esm.js.map +1 -1
  10. package/dist/vuetify-labs.js +253 -150
  11. package/dist/vuetify-labs.min.css +2 -2
  12. package/dist/vuetify.css +3635 -3635
  13. package/dist/vuetify.d.ts +389 -209
  14. package/dist/vuetify.esm.js +105 -70
  15. package/dist/vuetify.esm.js.map +1 -1
  16. package/dist/vuetify.js +104 -69
  17. package/dist/vuetify.js.map +1 -1
  18. package/dist/vuetify.min.css +2 -2
  19. package/dist/vuetify.min.js +229 -227
  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 +13 -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/VOtpInput/VOtpInput.mjs +1 -1
  56. package/lib/components/VOtpInput/VOtpInput.mjs.map +1 -1
  57. package/lib/components/VOverlay/VOverlay.mjs +10 -1
  58. package/lib/components/VOverlay/VOverlay.mjs.map +1 -1
  59. package/lib/components/VOverlay/index.d.mts +6 -0
  60. package/lib/components/VPagination/VPagination.mjs +3 -3
  61. package/lib/components/VPagination/VPagination.mjs.map +1 -1
  62. package/lib/components/VParallax/VParallax.mjs +1 -1
  63. package/lib/components/VParallax/VParallax.mjs.map +1 -1
  64. package/lib/components/VRating/VRating.mjs +1 -1
  65. package/lib/components/VRating/VRating.mjs.map +1 -1
  66. package/lib/components/VSelect/index.d.mts +23 -8
  67. package/lib/components/VSlider/slider.mjs +2 -1
  68. package/lib/components/VSlider/slider.mjs.map +1 -1
  69. package/lib/components/VSnackbar/index.d.mts +21 -6
  70. package/lib/components/VSparkline/VBarline.mjs +1 -1
  71. package/lib/components/VSparkline/VBarline.mjs.map +1 -1
  72. package/lib/components/VTabs/index.d.mts +39 -24
  73. package/lib/components/VTextarea/VTextarea.mjs +2 -2
  74. package/lib/components/VTextarea/VTextarea.mjs.map +1 -1
  75. package/lib/components/VTooltip/index.d.mts +21 -6
  76. package/lib/components/index.d.mts +333 -153
  77. package/lib/composables/stack.mjs +2 -2
  78. package/lib/composables/stack.mjs.map +1 -1
  79. package/lib/composables/validation.mjs +2 -2
  80. package/lib/composables/validation.mjs.map +1 -1
  81. package/lib/entry-bundler.mjs +1 -1
  82. package/lib/framework.mjs +1 -1
  83. package/lib/index.d.mts +56 -56
  84. package/lib/labs/VDateInput/VDateInput.mjs +5 -4
  85. package/lib/labs/VDateInput/VDateInput.mjs.map +1 -1
  86. package/lib/labs/VDateInput/index.d.mts +10 -10
  87. package/lib/labs/VFileUpload/VFileUpload.css +5 -1
  88. package/lib/labs/VFileUpload/VFileUpload.mjs +3 -2
  89. package/lib/labs/VFileUpload/VFileUpload.mjs.map +1 -1
  90. package/lib/labs/VFileUpload/VFileUpload.sass +4 -0
  91. package/lib/labs/VFileUpload/_variables.scss +1 -1
  92. package/lib/labs/VFileUpload/index.d.mts +32 -14
  93. package/lib/labs/VNumberInput/VNumberInput.mjs +60 -24
  94. package/lib/labs/VNumberInput/VNumberInput.mjs.map +1 -1
  95. package/lib/labs/VNumberInput/hold.mjs +31 -0
  96. package/lib/labs/VNumberInput/hold.mjs.map +1 -0
  97. package/lib/labs/VNumberInput/index.d.mts +1 -7
  98. package/lib/labs/VSnackbarQueue/index.d.mts +21 -6
  99. package/lib/labs/VTimePicker/VTimePicker.mjs +30 -31
  100. package/lib/labs/VTimePicker/VTimePicker.mjs.map +1 -1
  101. package/lib/labs/VTimePicker/VTimePickerControls.mjs +14 -13
  102. package/lib/labs/VTimePicker/VTimePickerControls.mjs.map +1 -1
  103. package/lib/labs/VTimePicker/index.d.mts +35 -13
  104. package/lib/labs/VTimePicker/shared.mjs +2 -0
  105. package/lib/labs/VTimePicker/shared.mjs.map +1 -0
  106. package/lib/labs/VTreeview/VTreeviewItem.mjs +11 -4
  107. package/lib/labs/VTreeview/VTreeviewItem.mjs.map +1 -1
  108. package/lib/labs/VTreeview/index.d.mts +46 -22
  109. package/lib/labs/components.d.mts +143 -70
  110. package/lib/locale/adapters/vuetify.mjs +1 -1
  111. package/lib/locale/adapters/vuetify.mjs.map +1 -1
  112. package/lib/locale/af.mjs +42 -42
  113. package/lib/locale/af.mjs.map +1 -1
  114. package/lib/locale/az.mjs +7 -7
  115. package/lib/locale/az.mjs.map +1 -1
  116. package/lib/locale/bg.mjs +7 -7
  117. package/lib/locale/bg.mjs.map +1 -1
  118. package/lib/locale/ca.mjs +25 -25
  119. package/lib/locale/ca.mjs.map +1 -1
  120. package/lib/locale/ckb.mjs +29 -29
  121. package/lib/locale/ckb.mjs.map +1 -1
  122. package/lib/locale/cs.mjs +13 -13
  123. package/lib/locale/cs.mjs.map +1 -1
  124. package/lib/locale/da.mjs +22 -22
  125. package/lib/locale/da.mjs.map +1 -1
  126. package/lib/locale/el.mjs +41 -41
  127. package/lib/locale/el.mjs.map +1 -1
  128. package/lib/locale/es.mjs +26 -26
  129. package/lib/locale/es.mjs.map +1 -1
  130. package/lib/locale/et.mjs +29 -29
  131. package/lib/locale/et.mjs.map +1 -1
  132. package/lib/locale/fa.mjs +5 -5
  133. package/lib/locale/fa.mjs.map +1 -1
  134. package/lib/locale/fi.mjs +22 -22
  135. package/lib/locale/fi.mjs.map +1 -1
  136. package/lib/locale/fr.mjs +6 -6
  137. package/lib/locale/fr.mjs.map +1 -1
  138. package/lib/locale/he.mjs +29 -29
  139. package/lib/locale/he.mjs.map +1 -1
  140. package/lib/locale/hr.mjs +28 -28
  141. package/lib/locale/hr.mjs.map +1 -1
  142. package/lib/locale/hu.mjs +10 -10
  143. package/lib/locale/hu.mjs.map +1 -1
  144. package/lib/locale/id.mjs +30 -30
  145. package/lib/locale/id.mjs.map +1 -1
  146. package/lib/locale/it.mjs +7 -7
  147. package/lib/locale/it.mjs.map +1 -1
  148. package/lib/locale/ja.mjs +9 -9
  149. package/lib/locale/ja.mjs.map +1 -1
  150. package/lib/locale/km.mjs +6 -6
  151. package/lib/locale/km.mjs.map +1 -1
  152. package/lib/locale/ko.mjs +27 -27
  153. package/lib/locale/ko.mjs.map +1 -1
  154. package/lib/locale/lt.mjs +5 -5
  155. package/lib/locale/lt.mjs.map +1 -1
  156. package/lib/locale/lv.mjs +33 -33
  157. package/lib/locale/lv.mjs.map +1 -1
  158. package/lib/locale/nl.mjs +10 -10
  159. package/lib/locale/nl.mjs.map +1 -1
  160. package/lib/locale/no.mjs +11 -11
  161. package/lib/locale/no.mjs.map +1 -1
  162. package/lib/locale/pl.mjs +7 -7
  163. package/lib/locale/pl.mjs.map +1 -1
  164. package/lib/locale/pt.mjs +11 -11
  165. package/lib/locale/pt.mjs.map +1 -1
  166. package/lib/locale/ro.mjs +9 -9
  167. package/lib/locale/ro.mjs.map +1 -1
  168. package/lib/locale/ru.mjs +6 -6
  169. package/lib/locale/ru.mjs.map +1 -1
  170. package/lib/locale/sk.mjs +5 -5
  171. package/lib/locale/sk.mjs.map +1 -1
  172. package/lib/locale/sl.mjs +4 -4
  173. package/lib/locale/sl.mjs.map +1 -1
  174. package/lib/locale/sr-Cyrl.mjs +30 -30
  175. package/lib/locale/sr-Cyrl.mjs.map +1 -1
  176. package/lib/locale/sr-Latn.mjs +28 -28
  177. package/lib/locale/sr-Latn.mjs.map +1 -1
  178. package/lib/locale/sv.mjs +17 -17
  179. package/lib/locale/sv.mjs.map +1 -1
  180. package/lib/locale/th.mjs +30 -30
  181. package/lib/locale/th.mjs.map +1 -1
  182. package/lib/locale/tr.mjs +31 -31
  183. package/lib/locale/tr.mjs.map +1 -1
  184. package/lib/locale/uk.mjs +29 -29
  185. package/lib/locale/uk.mjs.map +1 -1
  186. package/lib/locale/vi.mjs +28 -28
  187. package/lib/locale/vi.mjs.map +1 -1
  188. package/lib/locale/zh-Hans.mjs +31 -31
  189. package/lib/locale/zh-Hans.mjs.map +1 -1
  190. package/lib/locale/zh-Hant.mjs +31 -31
  191. package/lib/locale/zh-Hant.mjs.map +1 -1
  192. package/lib/util/animation.mjs +8 -8
  193. package/lib/util/animation.mjs.map +1 -1
  194. package/lib/util/helpers.mjs +6 -4
  195. package/lib/util/helpers.mjs.map +1 -1
  196. package/package.json +7 -2
  197. package/lib/labs/VTimePicker/SelectingTimes.mjs +0 -10
  198. package/lib/labs/VTimePicker/SelectingTimes.mjs.map +0 -1
package/dist/vuetify.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Vuetify v3.7.14
2
+ * Vuetify v3.7.16
3
3
  * Forged by John Leider
4
4
  * Released under the MIT License.
5
5
  */
@@ -84,12 +84,14 @@
84
84
  let unit = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'px';
85
85
  if (str == null || str === '') {
86
86
  return undefined;
87
- } else if (isNaN(+str)) {
87
+ }
88
+ const num = Number(str);
89
+ if (isNaN(num)) {
88
90
  return String(str);
89
- } else if (!isFinite(+str)) {
91
+ } else if (!isFinite(num)) {
90
92
  return undefined;
91
93
  } else {
92
- return `${Number(str)}${unit}`;
94
+ return `${num}${unit}`;
93
95
  }
94
96
  }
95
97
  function isObject(obj) {
@@ -617,16 +619,16 @@
617
619
  let ta, sx, sy, dx, dy;
618
620
  if (tx.startsWith('matrix3d(')) {
619
621
  ta = tx.slice(9, -1).split(/, /);
620
- sx = +ta[0];
621
- sy = +ta[5];
622
- dx = +ta[12];
623
- dy = +ta[13];
622
+ sx = Number(ta[0]);
623
+ sy = Number(ta[5]);
624
+ dx = Number(ta[12]);
625
+ dy = Number(ta[13]);
624
626
  } else if (tx.startsWith('matrix(')) {
625
627
  ta = tx.slice(7, -1).split(/, /);
626
- sx = +ta[0];
627
- sy = +ta[3];
628
- dx = +ta[4];
629
- dy = +ta[5];
628
+ sx = Number(ta[0]);
629
+ sy = Number(ta[3]);
630
+ dx = Number(ta[4]);
631
+ dy = Number(ta[5]);
630
632
  } else {
631
633
  return new Box(rect);
632
634
  }
@@ -2520,7 +2522,7 @@
2520
2522
  const LANG_PREFIX = '$vuetify.';
2521
2523
  const replace = (str, params) => {
2522
2524
  return str.replace(/\{(\d+)\}/g, (match, index) => {
2523
- return String(params[+index]);
2525
+ return String(params[Number(index)]);
2524
2526
  });
2525
2527
  };
2526
2528
  const createTranslateFunction = (current, fallback, messages) => {
@@ -5809,7 +5811,10 @@
5809
5811
  type: [Boolean, Object],
5810
5812
  default: true
5811
5813
  },
5812
- text: String,
5814
+ text: {
5815
+ type: [String, Number, Boolean],
5816
+ default: undefined
5817
+ },
5813
5818
  ...makeBorderProps(),
5814
5819
  ...makeComponentProps(),
5815
5820
  ...makeDensityProps(),
@@ -5965,7 +5970,7 @@
5965
5970
  }
5966
5971
  }
5967
5972
  }, {
5968
- default: () => [slots.default?.() ?? props.text]
5973
+ default: () => [slots.default?.() ?? vue.toDisplayString(props.text)]
5969
5974
  })]), !props.icon && hasAppend && vue.createVNode("span", {
5970
5975
  "key": "append",
5971
5976
  "class": "v-btn__append"
@@ -6973,7 +6978,7 @@
6973
6978
  const isPristine = vue.shallowRef(true);
6974
6979
  const isDirty = vue.computed(() => !!(wrapInArray(model.value === '' ? null : model.value).length || wrapInArray(validationModel.value === '' ? null : validationModel.value).length));
6975
6980
  const errorMessages = vue.computed(() => {
6976
- return props.errorMessages?.length ? wrapInArray(props.errorMessages).concat(internalErrorMessages.value).slice(0, Math.max(0, +props.maxErrors)) : internalErrorMessages.value;
6981
+ return props.errorMessages?.length ? wrapInArray(props.errorMessages).concat(internalErrorMessages.value).slice(0, Math.max(0, Number(props.maxErrors))) : internalErrorMessages.value;
6977
6982
  });
6978
6983
  const validateOn = vue.computed(() => {
6979
6984
  let value = (props.validateOn ?? form.validateOn?.value) || 'input';
@@ -7064,7 +7069,7 @@
7064
7069
  const results = [];
7065
7070
  isValidating.value = true;
7066
7071
  for (const rule of props.rules) {
7067
- if (results.length >= +(props.maxErrors ?? 1)) {
7072
+ if (results.length >= Number(props.maxErrors ?? 1)) {
7068
7073
  break;
7069
7074
  }
7070
7075
  const handler = typeof rule === 'function' ? rule : () => rule;
@@ -8125,7 +8130,10 @@
8125
8130
  type: [Boolean, Object],
8126
8131
  default: true
8127
8132
  },
8128
- text: String,
8133
+ text: {
8134
+ type: [String, Number, Boolean],
8135
+ default: undefined
8136
+ },
8129
8137
  modelValue: {
8130
8138
  type: Boolean,
8131
8139
  default: true
@@ -8294,7 +8302,7 @@
8294
8302
  toggle: group?.toggle,
8295
8303
  value: group?.value.value,
8296
8304
  disabled: props.disabled
8297
- }) ?? props.text]), hasAppend && vue.createVNode("div", {
8305
+ }) ?? vue.toDisplayString(props.text)]), hasAppend && vue.createVNode("div", {
8298
8306
  "key": "append",
8299
8307
  "class": "v-chip__append"
8300
8308
  }, [!slots.append ? vue.createVNode(vue.Fragment, null, [props.appendIcon && vue.createVNode(VIcon, {
@@ -9173,8 +9181,14 @@
9173
9181
  default: true
9174
9182
  },
9175
9183
  slim: Boolean,
9176
- subtitle: [String, Number],
9177
- title: [String, Number],
9184
+ subtitle: {
9185
+ type: [String, Number, Boolean],
9186
+ default: undefined
9187
+ },
9188
+ title: {
9189
+ type: [String, Number, Boolean],
9190
+ default: undefined
9191
+ },
9178
9192
  value: null,
9179
9193
  onClick: EventProp(),
9180
9194
  onClickOnce: EventProp(),
@@ -9293,6 +9307,8 @@
9293
9307
  }
9294
9308
  }
9295
9309
  function onKeyDown(e) {
9310
+ const target = e.target;
9311
+ if (['INPUT', 'TEXTAREA'].includes(target.tagName)) return;
9296
9312
  if (e.key === 'Enter' || e.key === ' ') {
9297
9313
  e.preventDefault();
9298
9314
  e.target.dispatchEvent(new MouseEvent('click', e));
@@ -9365,13 +9381,13 @@
9365
9381
  }, {
9366
9382
  default: () => [slots.title?.({
9367
9383
  title: props.title
9368
- }) ?? props.title]
9384
+ }) ?? vue.toDisplayString(props.title)]
9369
9385
  }), hasSubtitle && vue.createVNode(VListItemSubtitle, {
9370
9386
  "key": "subtitle"
9371
9387
  }, {
9372
9388
  default: () => [slots.subtitle?.({
9373
9389
  subtitle: props.subtitle
9374
- }) ?? props.subtitle]
9390
+ }) ?? vue.toDisplayString(props.subtitle)]
9375
9391
  }), slots.default?.(slotProps.value)]), hasAppend && vue.createVNode("div", {
9376
9392
  "key": "append",
9377
9393
  "class": "v-list-item__append"
@@ -10972,10 +10988,10 @@
10972
10988
  activeChildren: new Set()
10973
10989
  });
10974
10990
  vue.provide(StackSymbol, stack);
10975
- const _zIndex = vue.shallowRef(+zIndex.value);
10991
+ const _zIndex = vue.shallowRef(Number(zIndex.value));
10976
10992
  useToggleScope(isActive, () => {
10977
10993
  const lastZIndex = globalStack.at(-1)?.[1];
10978
- _zIndex.value = lastZIndex ? lastZIndex + 10 : +zIndex.value;
10994
+ _zIndex.value = lastZIndex ? lastZIndex + 10 : Number(zIndex.value);
10979
10995
  if (createStackEntry) {
10980
10996
  globalStack.push([vm.uid, _zIndex.value]);
10981
10997
  }
@@ -11184,6 +11200,7 @@
11184
11200
  emits: {
11185
11201
  'click:outside': e => true,
11186
11202
  'update:modelValue': value => true,
11203
+ keydown: e => true,
11187
11204
  afterEnter: () => true,
11188
11205
  afterLeave: () => true
11189
11206
  },
@@ -11296,6 +11313,9 @@
11296
11313
  });
11297
11314
  function onKeydown(e) {
11298
11315
  if (e.key === 'Escape' && globalTop.value) {
11316
+ if (!contentEl.value?.contains(document.activeElement)) {
11317
+ emit('keydown', e);
11318
+ }
11299
11319
  if (!props.persistent) {
11300
11320
  isActive.value = false;
11301
11321
  if (contentEl.value?.contains(document.activeElement)) {
@@ -11304,6 +11324,10 @@
11304
11324
  } else animateClick();
11305
11325
  }
11306
11326
  }
11327
+ function onKeydownSelf(e) {
11328
+ if (e.key === 'Escape' && !globalTop.value) return;
11329
+ emit('keydown', e);
11330
+ }
11307
11331
  const router = useRouter();
11308
11332
  useToggleScope(() => props.closeOnBack, () => {
11309
11333
  useBackButton(router, next => {
@@ -11366,7 +11390,8 @@
11366
11390
  '--v-overlay-opacity': props.opacity,
11367
11391
  top: convertToUnit(top.value)
11368
11392
  }, props.style],
11369
- "ref": root
11393
+ "ref": root,
11394
+ "onKeydown": onKeydownSelf
11370
11395
  }, scopeId, attrs), [vue.createVNode(Scrim, vue.mergeProps({
11371
11396
  "color": scrimColor,
11372
11397
  "modelValue": isActive.value && !!props.scrim,
@@ -13757,11 +13782,11 @@
13757
13782
  locationStyles
13758
13783
  } = useLocation(props, true, side => {
13759
13784
  const base = props.floating ? props.dot ? 2 : 4 : props.dot ? 8 : 12;
13760
- return base + (['top', 'bottom'].includes(side) ? +(props.offsetY ?? 0) : ['left', 'right'].includes(side) ? +(props.offsetX ?? 0) : 0);
13785
+ return base + (['top', 'bottom'].includes(side) ? Number(props.offsetY ?? 0) : ['left', 'right'].includes(side) ? Number(props.offsetX ?? 0) : 0);
13761
13786
  });
13762
13787
  useRender(() => {
13763
13788
  const value = Number(props.content);
13764
- const content = !props.max || isNaN(value) ? props.content : value <= +props.max ? value : `${props.max}+`;
13789
+ const content = !props.max || isNaN(value) ? props.content : value <= Number(props.max) ? value : `${props.max}+`;
13765
13790
  const [badgeAttrs, attrs] = pickWithRest(ctx.attrs, ['aria-atomic', 'aria-label', 'aria-live', 'role', 'title']);
13766
13791
  return vue.createVNode(props.tag, vue.mergeProps({
13767
13792
  "class": ['v-badge', {
@@ -14460,8 +14485,14 @@
14460
14485
  appendIcon: IconValue,
14461
14486
  prependAvatar: String,
14462
14487
  prependIcon: IconValue,
14463
- subtitle: [String, Number],
14464
- title: [String, Number],
14488
+ subtitle: {
14489
+ type: [String, Number, Boolean],
14490
+ default: undefined
14491
+ },
14492
+ title: {
14493
+ type: [String, Number, Boolean],
14494
+ default: undefined
14495
+ },
14465
14496
  ...makeComponentProps(),
14466
14497
  ...makeDensityProps()
14467
14498
  }, 'VCardItem');
@@ -14511,11 +14542,11 @@
14511
14542
  }, [hasTitle && vue.createVNode(VCardTitle, {
14512
14543
  "key": "title"
14513
14544
  }, {
14514
- default: () => [slots.title?.() ?? props.title]
14545
+ default: () => [slots.title?.() ?? vue.toDisplayString(props.title)]
14515
14546
  }), hasSubtitle && vue.createVNode(VCardSubtitle, {
14516
14547
  "key": "subtitle"
14517
14548
  }, {
14518
- default: () => [slots.subtitle?.() ?? props.subtitle]
14549
+ default: () => [slots.subtitle?.() ?? vue.toDisplayString(props.subtitle)]
14519
14550
  }), slots.default?.()]), hasAppend && vue.createVNode("div", {
14520
14551
  "key": "append",
14521
14552
  "class": "v-card-item__append"
@@ -14587,9 +14618,18 @@
14587
14618
  type: [Boolean, Object],
14588
14619
  default: true
14589
14620
  },
14590
- subtitle: [String, Number],
14591
- text: [String, Number],
14592
- title: [String, Number],
14621
+ subtitle: {
14622
+ type: [String, Number, Boolean],
14623
+ default: undefined
14624
+ },
14625
+ text: {
14626
+ type: [String, Number, Boolean],
14627
+ default: undefined
14628
+ },
14629
+ title: {
14630
+ type: [String, Number, Boolean],
14631
+ default: undefined
14632
+ },
14593
14633
  ...makeBorderProps(),
14594
14634
  ...makeComponentProps(),
14595
14635
  ...makeDensityProps(),
@@ -15058,7 +15098,7 @@
15058
15098
  vue.onMounted(startTimeout);
15059
15099
  function startTimeout() {
15060
15100
  if (!props.cycle || !windowRef.value) return;
15061
- slideTimeout = window.setTimeout(windowRef.value.group.next, +props.interval > 0 ? +props.interval : 6000);
15101
+ slideTimeout = window.setTimeout(windowRef.value.group.next, Number(props.interval) > 0 ? Number(props.interval) : 6000);
15062
15102
  }
15063
15103
  function restartTimeout() {
15064
15104
  window.clearTimeout(slideTimeout);
@@ -15784,7 +15824,7 @@
15784
15824
  const useSteps = props => {
15785
15825
  const min = vue.computed(() => parseFloat(props.min));
15786
15826
  const max = vue.computed(() => parseFloat(props.max));
15787
- const step = vue.computed(() => +props.step > 0 ? parseFloat(props.step) : 0);
15827
+ const step = vue.computed(() => Number(props.step) > 0 ? parseFloat(props.step) : 0);
15788
15828
  const decimals = vue.computed(() => Math.max(getDecimals(step.value), getDecimals(min.value)));
15789
15829
  function roundValue(value) {
15790
15830
  value = parseFloat(value);
@@ -15918,6 +15958,7 @@
15918
15958
  });
15919
15959
  }
15920
15960
  function onSliderMousedown(e) {
15961
+ if (e.button !== 0) return;
15921
15962
  e.preventDefault();
15922
15963
  handleStart(e);
15923
15964
  window.addEventListener('mousemove', onMouseMove, moveListenerOptions);
@@ -18738,8 +18779,8 @@
18738
18779
  }, 'DataTable-paginate');
18739
18780
  const VDataTablePaginationSymbol = Symbol.for('vuetify:data-table-pagination');
18740
18781
  function createPagination(props) {
18741
- const page = useProxiedModel(props, 'page', undefined, value => +(value ?? 1));
18742
- const itemsPerPage = useProxiedModel(props, 'itemsPerPage', undefined, value => +(value ?? 10));
18782
+ const page = useProxiedModel(props, 'page', undefined, value => Number(value ?? 1));
18783
+ const itemsPerPage = useProxiedModel(props, 'itemsPerPage', undefined, value => Number(value ?? 10));
18743
18784
  return {
18744
18785
  page,
18745
18786
  itemsPerPage
@@ -19528,7 +19569,7 @@
19528
19569
  const minButtons = props.showFirstLastPage ? 5 : 3;
19529
19570
  return Math.max(0, Math.floor(
19530
19571
  // Round to two decimal places to avoid floating point errors
19531
- +((totalWidth - itemWidth * minButtons) / itemWidth).toFixed(2)));
19572
+ Number(((totalWidth - itemWidth * minButtons) / itemWidth).toFixed(2))));
19532
19573
  }
19533
19574
  const range = vue.computed(() => {
19534
19575
  if (length.value <= 0 || isNaN(length.value) || length.value > Number.MAX_SAFE_INTEGER) return [];
@@ -19599,7 +19640,7 @@
19599
19640
  ref,
19600
19641
  ellipsis: false,
19601
19642
  icon: true,
19602
- disabled: !!props.disabled || +props.length < 2,
19643
+ disabled: !!props.disabled || Number(props.length) < 2,
19603
19644
  color: isActive ? props.activeColor : props.color,
19604
19645
  'aria-current': isActive,
19605
19646
  'aria-label': t(isActive ? props.currentPageAriaLabel : props.pageAriaLabel, item),
@@ -19648,7 +19689,7 @@
19648
19689
  refs.value[currentIndex]?.$el.focus();
19649
19690
  }
19650
19691
  function onKeydown(e) {
19651
- if (e.key === keyValues.left && !props.disabled && page.value > +props.start) {
19692
+ if (e.key === keyValues.left && !props.disabled && page.value > Number(props.start)) {
19652
19693
  page.value = page.value - 1;
19653
19694
  vue.nextTick(updateFocus);
19654
19695
  } else if (e.key === keyValues.right && !props.disabled && page.value < start.value + length.value - 1) {
@@ -19981,8 +20022,10 @@
19981
20022
  } else {
19982
20023
  if (!seenFixed) {
19983
20024
  item.lastFixed = true;
19984
- } else if (isNaN(+item.width)) {
20025
+ } else if (isNaN(Number(item.width))) {
19985
20026
  consoleError(`Multiple fixed columns should have a static width (key: ${item.key})`);
20027
+ } else {
20028
+ item.minWidth = Math.max(Number(item.width) || 0, Number(item.minWidth) || 0);
19986
20029
  }
19987
20030
  seenFixed = true;
19988
20031
  }
@@ -22115,7 +22158,7 @@
22115
22158
  model.value = [value];
22116
22159
  }
22117
22160
  }
22118
- return () => vue.createVNode("div", {
22161
+ useRender(() => vue.createVNode("div", {
22119
22162
  "class": "v-date-picker-month"
22120
22163
  }, [props.showWeek && vue.createVNode("div", {
22121
22164
  "key": "weeks",
@@ -22137,6 +22180,13 @@
22137
22180
  }, [weekDay])), daysInMonth.value.map((item, i) => {
22138
22181
  const slotProps = {
22139
22182
  props: {
22183
+ class: 'v-date-picker-month__day-btn',
22184
+ color: (item.isSelected || item.isToday) && !item.isDisabled ? props.color : undefined,
22185
+ disabled: item.isDisabled,
22186
+ icon: true,
22187
+ ripple: false,
22188
+ text: item.localized,
22189
+ variant: item.isDisabled ? item.isToday ? 'outlined' : 'text' : item.isToday && !item.isSelected ? 'outlined' : 'flat',
22140
22190
  onClick: () => onClick(item.date)
22141
22191
  },
22142
22192
  item,
@@ -22154,24 +22204,9 @@
22154
22204
  'v-date-picker-month__day--week-start': item.isWeekStart
22155
22205
  }],
22156
22206
  "data-v-date": !item.isDisabled ? item.isoDate : undefined
22157
- }, [(props.showAdjacentMonths || !item.isAdjacent) && vue.createVNode(VDefaultsProvider, {
22158
- "defaults": {
22159
- VBtn: {
22160
- class: 'v-date-picker-month__day-btn',
22161
- color: (item.isSelected || item.isToday) && !item.isDisabled ? props.color : undefined,
22162
- disabled: item.isDisabled,
22163
- icon: true,
22164
- ripple: false,
22165
- text: item.localized,
22166
- variant: item.isDisabled ? item.isToday ? 'outlined' : 'text' : item.isToday && !item.isSelected ? 'outlined' : 'flat',
22167
- onClick: () => onClick(item.date)
22168
- }
22169
- }
22170
- }, {
22171
- default: () => [slots.day?.(slotProps) ?? vue.createVNode(VBtn, slotProps.props, null)]
22172
- })]);
22207
+ }, [(props.showAdjacentMonths || !item.isAdjacent) && (slots.day?.(slotProps) ?? vue.createVNode(VBtn, slotProps.props, null))]);
22173
22208
  })])]
22174
- })]);
22209
+ })]));
22175
22210
  }
22176
22211
  });
22177
22212
 
@@ -24832,7 +24867,7 @@
24832
24867
  "disabled": props.disabled,
24833
24868
  "inputmode": props.type === 'number' ? 'numeric' : 'text',
24834
24869
  "min": props.type === 'number' ? 0 : undefined,
24835
- "maxlength": "1",
24870
+ "maxlength": i === 0 ? length.value : '1',
24836
24871
  "placeholder": props.placeholder,
24837
24872
  "type": props.type === 'number' ? 'text' : props.type,
24838
24873
  "value": model.value[i],
@@ -24928,7 +24963,7 @@
24928
24963
  vue.watch(displayHeight, onScroll);
24929
24964
  vue.watch(() => contentRect.value?.height, onScroll);
24930
24965
  const scale = vue.computed(() => {
24931
- return 1 - clamp(+props.scale);
24966
+ return 1 - clamp(Number(props.scale));
24932
24967
  });
24933
24968
  let frame = -1;
24934
24969
  function onScroll() {
@@ -25349,7 +25384,7 @@
25349
25384
  themeClasses
25350
25385
  } = provideTheme(props);
25351
25386
  const rating = useProxiedModel(props, 'modelValue');
25352
- const normalizedValue = vue.computed(() => clamp(parseFloat(rating.value), 0, +props.length));
25387
+ const normalizedValue = vue.computed(() => clamp(parseFloat(rating.value), 0, Number(props.length)));
25353
25388
  const range = vue.computed(() => createRange(Number(props.length), 1));
25354
25389
  const increments = vue.computed(() => range.value.flatMap(v => props.halfIncrements ? [v - 0.5, v] : [v]));
25355
25390
  const hoverIndex = vue.shallowRef(-1);
@@ -25960,7 +25995,7 @@
25960
25995
  const height = Math.abs(gridY * value);
25961
25996
  return {
25962
25997
  x: minX + index * gridX,
25963
- y: horizonY - height + +(value < 0) * height,
25998
+ y: horizonY - height + Number(value < 0) * height,
25964
25999
  height,
25965
26000
  value
25966
26001
  };
@@ -27398,10 +27433,10 @@
27398
27433
  }
27399
27434
  }
27400
27435
  const sizerRef = vue.ref();
27401
- const rows = vue.ref(+props.rows);
27436
+ const rows = vue.ref(Number(props.rows));
27402
27437
  const isPlainOrUnderlined = vue.computed(() => ['plain', 'underlined'].includes(props.variant));
27403
27438
  vue.watchEffect(() => {
27404
- if (!props.autoGrow) rows.value = +props.rows;
27439
+ if (!props.autoGrow) rows.value = Number(props.rows);
27405
27440
  });
27406
27441
  function calculateInputHeight() {
27407
27442
  if (!props.autoGrow) return;
@@ -28418,7 +28453,7 @@
28418
28453
  goTo
28419
28454
  };
28420
28455
  }
28421
- const version$1 = "3.7.14";
28456
+ const version$1 = "3.7.16";
28422
28457
  createVuetify$1.version = version$1;
28423
28458
 
28424
28459
  // Vue's inject() can only be used in setup
@@ -28443,7 +28478,7 @@
28443
28478
  ...options
28444
28479
  });
28445
28480
  };
28446
- const version = "3.7.14";
28481
+ const version = "3.7.16";
28447
28482
  createVuetify.version = version;
28448
28483
 
28449
28484
  exports.blueprints = index;