@vuetify/nightly 3.9.0-master.2025-07-10 → 3.9.0-master.2025-07-12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (58) hide show
  1. package/CHANGELOG.md +9 -3
  2. package/dist/json/attributes.json +1672 -1628
  3. package/dist/json/importMap-labs.json +18 -18
  4. package/dist/json/importMap.json +180 -180
  5. package/dist/json/tags.json +11 -0
  6. package/dist/json/web-types.json +3410 -3088
  7. package/dist/vuetify-labs.cjs +42 -27
  8. package/dist/vuetify-labs.css +3015 -3015
  9. package/dist/vuetify-labs.d.ts +845 -297
  10. package/dist/vuetify-labs.esm.js +42 -27
  11. package/dist/vuetify-labs.esm.js.map +1 -1
  12. package/dist/vuetify-labs.js +42 -27
  13. package/dist/vuetify-labs.min.css +2 -2
  14. package/dist/vuetify.cjs +34 -24
  15. package/dist/vuetify.cjs.map +1 -1
  16. package/dist/vuetify.css +3254 -3254
  17. package/dist/vuetify.d.ts +591 -220
  18. package/dist/vuetify.esm.js +34 -24
  19. package/dist/vuetify.esm.js.map +1 -1
  20. package/dist/vuetify.js +34 -24
  21. package/dist/vuetify.js.map +1 -1
  22. package/dist/vuetify.min.css +2 -2
  23. package/dist/vuetify.min.js +15 -15
  24. package/dist/vuetify.min.js.map +1 -1
  25. package/lib/components/VAutocomplete/VAutocomplete.d.ts +121 -36
  26. package/lib/components/VCombobox/VCombobox.d.ts +121 -36
  27. package/lib/components/VField/VField.d.ts +13 -0
  28. package/lib/components/VField/VField.js +7 -3
  29. package/lib/components/VField/VField.js.map +1 -1
  30. package/lib/components/VField/VFieldLabel.js +1 -2
  31. package/lib/components/VField/VFieldLabel.js.map +1 -1
  32. package/lib/components/VFileInput/VFileInput.d.ts +13 -0
  33. package/lib/components/VFileInput/VFileInput.js +3 -1
  34. package/lib/components/VFileInput/VFileInput.js.map +1 -1
  35. package/lib/components/VInput/VInput.d.ts +2 -1
  36. package/lib/components/VInput/VInput.js +15 -14
  37. package/lib/components/VInput/VInput.js.map +1 -1
  38. package/lib/components/VNumberInput/VNumberInput.d.ts +116 -36
  39. package/lib/components/VSelect/VSelect.d.ts +121 -36
  40. package/lib/components/VTextField/VTextField.d.ts +40 -9
  41. package/lib/components/VTextField/VTextField.js +2 -0
  42. package/lib/components/VTextField/VTextField.js.map +1 -1
  43. package/lib/components/VTextarea/VTextarea.d.ts +13 -0
  44. package/lib/components/VTextarea/VTextarea.js +3 -1
  45. package/lib/components/VTextarea/VTextarea.js.map +1 -1
  46. package/lib/composables/dateFormat.js +1 -1
  47. package/lib/composables/dateFormat.js.map +1 -1
  48. package/lib/entry-bundler.js +1 -1
  49. package/lib/framework.d.ts +66 -66
  50. package/lib/framework.js +1 -1
  51. package/lib/labs/VColorInput/VColorInput.d.ts +13 -0
  52. package/lib/labs/VDateInput/VDateInput.d.ts +145 -44
  53. package/lib/labs/VDateInput/VDateInput.js +4 -1
  54. package/lib/labs/VDateInput/VDateInput.js.map +1 -1
  55. package/lib/labs/VMaskInput/VMaskInput.d.ts +121 -36
  56. package/lib/labs/VMaskInput/VMaskInput.js +4 -2
  57. package/lib/labs/VMaskInput/VMaskInput.js.map +1 -1
  58. package/package.json +1 -1
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Vuetify v3.9.0-master.2025-07-10
2
+ * Vuetify v3.9.0-master.2025-07-12
3
3
  * Forged by John Leider
4
4
  * Released under the MIT License.
5
5
  */
@@ -7245,7 +7245,6 @@ const VInput = genericComponent()({
7245
7245
  } = useInputIcon(props);
7246
7246
  const uid = useId();
7247
7247
  const id = computed(() => props.id || `input-${uid}`);
7248
- const messagesId = computed(() => `${id.value}-messages`);
7249
7248
  const {
7250
7249
  errorMessages,
7251
7250
  isDirty,
@@ -7259,6 +7258,18 @@ const VInput = genericComponent()({
7259
7258
  validate,
7260
7259
  validationClasses
7261
7260
  } = useValidation(props, 'v-input', id);
7261
+ const messages = computed(() => {
7262
+ if (props.errorMessages?.length || !isPristine.value && errorMessages.value.length) {
7263
+ return errorMessages.value;
7264
+ } else if (props.hint && (props.persistentHint || props.focused)) {
7265
+ return props.hint;
7266
+ } else {
7267
+ return props.messages;
7268
+ }
7269
+ });
7270
+ const hasMessages = toRef(() => messages.value.length > 0);
7271
+ const hasDetails = toRef(() => !props.hideDetails || props.hideDetails === 'auto' && (hasMessages.value || !!slots.details));
7272
+ const messagesId = computed(() => hasDetails.value ? `${id.value}-messages` : undefined);
7262
7273
  const slotProps = computed(() => ({
7263
7274
  id,
7264
7275
  messagesId,
@@ -7268,6 +7279,7 @@ const VInput = genericComponent()({
7268
7279
  isPristine,
7269
7280
  isValid,
7270
7281
  isValidating,
7282
+ hasDetails,
7271
7283
  reset,
7272
7284
  resetValidation,
7273
7285
  validate
@@ -7279,20 +7291,9 @@ const VInput = genericComponent()({
7279
7291
  if (!props.iconColor) return undefined;
7280
7292
  return props.iconColor === true ? color.value : props.iconColor;
7281
7293
  });
7282
- const messages = computed(() => {
7283
- if (props.errorMessages?.length || !isPristine.value && errorMessages.value.length) {
7284
- return errorMessages.value;
7285
- } else if (props.hint && (props.persistentHint || props.focused)) {
7286
- return props.hint;
7287
- } else {
7288
- return props.messages;
7289
- }
7290
- });
7291
7294
  useRender(() => {
7292
7295
  const hasPrepend = !!(slots.prepend || props.prependIcon);
7293
7296
  const hasAppend = !!(slots.append || props.appendIcon);
7294
- const hasMessages = messages.value.length > 0;
7295
- const hasDetails = !props.hideDetails || props.hideDetails === 'auto' && (hasMessages || !!slots.details);
7296
7297
  return createElementVNode("div", {
7297
7298
  "class": normalizeClass(['v-input', `v-input--${props.direction}`, {
7298
7299
  'v-input--center-affix': props.centerAffix,
@@ -7317,13 +7318,13 @@ const VInput = genericComponent()({
7317
7318
  "key": "append-icon",
7318
7319
  "name": "append",
7319
7320
  "color": iconColor.value
7320
- }, null), slots.append?.(slotProps.value)]), hasDetails && createElementVNode("div", {
7321
+ }, null), slots.append?.(slotProps.value)]), hasDetails.value && createElementVNode("div", {
7321
7322
  "id": messagesId.value,
7322
7323
  "class": "v-input__details",
7323
7324
  "role": "alert",
7324
7325
  "aria-live": "polite"
7325
7326
  }, [createVNode(VMessages, {
7326
- "active": hasMessages,
7327
+ "active": hasMessages.value,
7327
7328
  "messages": messages.value
7328
7329
  }, {
7329
7330
  message: slots.message
@@ -11987,8 +11988,7 @@ const VFieldLabel = genericComponent()({
11987
11988
  "class": normalizeClass(['v-field-label', {
11988
11989
  'v-field-label--floating': props.floating
11989
11990
  }, props.class]),
11990
- "style": normalizeStyle(props.style),
11991
- "aria-hidden": props.floating || undefined
11991
+ "style": normalizeStyle(props.style)
11992
11992
  }, slots));
11993
11993
  return {};
11994
11994
  }
@@ -12012,6 +12012,7 @@ const makeVFieldProps = propsFactory({
12012
12012
  },
12013
12013
  color: String,
12014
12014
  baseColor: String,
12015
+ details: Boolean,
12015
12016
  dirty: Boolean,
12016
12017
  disabled: {
12017
12018
  type: Boolean,
@@ -12083,7 +12084,7 @@ const VField = genericComponent()({
12083
12084
  const hasFloatingLabel = toRef(() => !props.singleLine && hasLabel.value);
12084
12085
  const uid = useId();
12085
12086
  const id = computed(() => props.id || `input-${uid}`);
12086
- const messagesId = toRef(() => `${id.value}-messages`);
12087
+ const messagesId = toRef(() => !props.details ? undefined : `${id.value}-messages`);
12087
12088
  const labelRef = ref();
12088
12089
  const floatingLabelRef = ref();
12089
12090
  const controlRef = ref();
@@ -12208,6 +12209,7 @@ const VField = genericComponent()({
12208
12209
  "class": normalizeClass([textColorClasses.value]),
12209
12210
  "floating": true,
12210
12211
  "for": id.value,
12212
+ "aria-hidden": !isActive.value,
12211
12213
  "style": normalizeStyle(textColorStyles.value)
12212
12214
  }, {
12213
12215
  default: () => [label()]
@@ -12278,7 +12280,8 @@ const VField = genericComponent()({
12278
12280
  }, [createVNode(VFieldLabel, {
12279
12281
  "ref": floatingLabelRef,
12280
12282
  "floating": true,
12281
- "for": id.value
12283
+ "for": id.value,
12284
+ "aria-hidden": !isActive.value
12282
12285
  }, {
12283
12286
  default: () => [label()]
12284
12287
  })]), createElementVNode("div", {
@@ -12286,7 +12289,8 @@ const VField = genericComponent()({
12286
12289
  }, null)]), isPlainOrUnderlined.value && hasFloatingLabel.value && createVNode(VFieldLabel, {
12287
12290
  "ref": floatingLabelRef,
12288
12291
  "floating": true,
12289
- "for": id.value
12292
+ "for": id.value,
12293
+ "aria-hidden": !isActive.value
12290
12294
  }, {
12291
12295
  default: () => [label()]
12292
12296
  })])]);
@@ -12438,6 +12442,7 @@ const VTextField = genericComponent()({
12438
12442
  isDirty,
12439
12443
  isReadonly,
12440
12444
  isValid,
12445
+ hasDetails,
12441
12446
  reset
12442
12447
  } = _ref2;
12443
12448
  return createVNode(VField, mergeProps({
@@ -12454,6 +12459,7 @@ const VTextField = genericComponent()({
12454
12459
  "dirty": isDirty.value || props.dirty,
12455
12460
  "disabled": isDisabled.value,
12456
12461
  "focused": isFocused.value,
12462
+ "details": hasDetails.value,
12457
12463
  "error": isValid.value === false
12458
12464
  }), {
12459
12465
  ...slots,
@@ -24275,7 +24281,8 @@ const VFileInput = genericComponent()({
24275
24281
  isDisabled,
24276
24282
  isDirty,
24277
24283
  isReadonly,
24278
- isValid
24284
+ isValid,
24285
+ hasDetails
24279
24286
  } = _ref3;
24280
24287
  return createVNode(VField, mergeProps({
24281
24288
  "ref": vFieldRef,
@@ -24291,6 +24298,7 @@ const VFileInput = genericComponent()({
24291
24298
  "dirty": isDirty.value || props.dirty,
24292
24299
  "disabled": isDisabled.value,
24293
24300
  "focused": isFocused.value,
24301
+ "details": hasDetails.value,
24294
24302
  "error": isValid.value === false,
24295
24303
  "onDragover": onDragover,
24296
24304
  "onDrop": onDrop
@@ -29048,7 +29056,8 @@ const VTextarea = genericComponent()({
29048
29056
  isDisabled,
29049
29057
  isDirty,
29050
29058
  isReadonly,
29051
- isValid
29059
+ isValid,
29060
+ hasDetails
29052
29061
  } = _ref2;
29053
29062
  return createVNode(VField, mergeProps({
29054
29063
  "ref": vFieldRef,
@@ -29067,6 +29076,7 @@ const VTextarea = genericComponent()({
29067
29076
  "dirty": isDirty.value || props.dirty,
29068
29077
  "disabled": isDisabled.value,
29069
29078
  "focused": isFocused.value,
29079
+ "details": hasDetails.value,
29070
29080
  "error": isValid.value === false
29071
29081
  }), {
29072
29082
  ...slots,
@@ -31437,7 +31447,7 @@ function useDateFormat(props, locale) {
31437
31447
  return !!parseDate(text);
31438
31448
  }
31439
31449
  function formatDate(value) {
31440
- const parts = adapter.toISO(value).split('-');
31450
+ const parts = adapter.toISO(value).split('T')[0].split('-');
31441
31451
  return currentFormat.value.order.split('').map(sign => parts['ymd'.indexOf(sign)]).join(currentFormat.value.separator);
31442
31452
  }
31443
31453
  return {
@@ -31453,7 +31463,10 @@ function useDateFormat(props, locale) {
31453
31463
  // Types
31454
31464
 
31455
31465
  const makeVDateInputProps = propsFactory({
31456
- displayFormat: [Function, String],
31466
+ displayFormat: {
31467
+ type: [Function, String],
31468
+ default: undefined
31469
+ },
31457
31470
  location: {
31458
31471
  type: String,
31459
31472
  default: 'bottom start'
@@ -32392,6 +32405,7 @@ const VMaskInput = genericComponent()({
32392
32405
  }
32393
32406
  return val;
32394
32407
  });
32408
+ const validationValue = toRef(() => returnMaskedValue.value ? maskText(model.value) : unmaskText(model.value));
32395
32409
  onBeforeMount(() => {
32396
32410
  if (props.returnMaskedValue) {
32397
32411
  emit('update:modelValue', model.value);
@@ -32402,7 +32416,8 @@ const VMaskInput = genericComponent()({
32402
32416
  return createVNode(VTextField, mergeProps(textFieldProps, {
32403
32417
  "modelValue": model.value,
32404
32418
  "onUpdate:modelValue": $event => model.value = $event,
32405
- "ref": vTextFieldRef
32419
+ "ref": vTextFieldRef,
32420
+ "validationValue": validationValue.value
32406
32421
  }), {
32407
32422
  ...slots
32408
32423
  });
@@ -33682,7 +33697,7 @@ function createVuetify$1() {
33682
33697
  };
33683
33698
  });
33684
33699
  }
33685
- const version$1 = "3.9.0-master.2025-07-10";
33700
+ const version$1 = "3.9.0-master.2025-07-12";
33686
33701
  createVuetify$1.version = version$1;
33687
33702
 
33688
33703
  // Vue's inject() can only be used in setup
@@ -33980,7 +33995,7 @@ var index = /*#__PURE__*/Object.freeze({
33980
33995
 
33981
33996
  /* eslint-disable local-rules/sort-imports */
33982
33997
 
33983
- const version = "3.9.0-master.2025-07-10";
33998
+ const version = "3.9.0-master.2025-07-12";
33984
33999
 
33985
34000
  /* eslint-disable local-rules/sort-imports */
33986
34001