@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
  */
@@ -7523,7 +7523,6 @@ const VInput = genericComponent()({
7523
7523
  } = useInputIcon(props);
7524
7524
  const uid = useId();
7525
7525
  const id = computed(() => props.id || `input-${uid}`);
7526
- const messagesId = computed(() => `${id.value}-messages`);
7527
7526
  const {
7528
7527
  errorMessages,
7529
7528
  isDirty,
@@ -7537,6 +7536,18 @@ const VInput = genericComponent()({
7537
7536
  validate,
7538
7537
  validationClasses
7539
7538
  } = useValidation(props, 'v-input', id);
7539
+ const messages = computed(() => {
7540
+ if (props.errorMessages?.length || !isPristine.value && errorMessages.value.length) {
7541
+ return errorMessages.value;
7542
+ } else if (props.hint && (props.persistentHint || props.focused)) {
7543
+ return props.hint;
7544
+ } else {
7545
+ return props.messages;
7546
+ }
7547
+ });
7548
+ const hasMessages = toRef(() => messages.value.length > 0);
7549
+ const hasDetails = toRef(() => !props.hideDetails || props.hideDetails === 'auto' && (hasMessages.value || !!slots.details));
7550
+ const messagesId = computed(() => hasDetails.value ? `${id.value}-messages` : undefined);
7540
7551
  const slotProps = computed(() => ({
7541
7552
  id,
7542
7553
  messagesId,
@@ -7546,6 +7557,7 @@ const VInput = genericComponent()({
7546
7557
  isPristine,
7547
7558
  isValid,
7548
7559
  isValidating,
7560
+ hasDetails,
7549
7561
  reset,
7550
7562
  resetValidation,
7551
7563
  validate
@@ -7557,20 +7569,9 @@ const VInput = genericComponent()({
7557
7569
  if (!props.iconColor) return undefined;
7558
7570
  return props.iconColor === true ? color.value : props.iconColor;
7559
7571
  });
7560
- const messages = computed(() => {
7561
- if (props.errorMessages?.length || !isPristine.value && errorMessages.value.length) {
7562
- return errorMessages.value;
7563
- } else if (props.hint && (props.persistentHint || props.focused)) {
7564
- return props.hint;
7565
- } else {
7566
- return props.messages;
7567
- }
7568
- });
7569
7572
  useRender(() => {
7570
7573
  const hasPrepend = !!(slots.prepend || props.prependIcon);
7571
7574
  const hasAppend = !!(slots.append || props.appendIcon);
7572
- const hasMessages = messages.value.length > 0;
7573
- const hasDetails = !props.hideDetails || props.hideDetails === 'auto' && (hasMessages || !!slots.details);
7574
7575
  return createElementVNode("div", {
7575
7576
  "class": normalizeClass(['v-input', `v-input--${props.direction}`, {
7576
7577
  'v-input--center-affix': props.centerAffix,
@@ -7595,13 +7596,13 @@ const VInput = genericComponent()({
7595
7596
  "key": "append-icon",
7596
7597
  "name": "append",
7597
7598
  "color": iconColor.value
7598
- }, null), slots.append?.(slotProps.value)]), hasDetails && createElementVNode("div", {
7599
+ }, null), slots.append?.(slotProps.value)]), hasDetails.value && createElementVNode("div", {
7599
7600
  "id": messagesId.value,
7600
7601
  "class": "v-input__details",
7601
7602
  "role": "alert",
7602
7603
  "aria-live": "polite"
7603
7604
  }, [createVNode(VMessages, {
7604
- "active": hasMessages,
7605
+ "active": hasMessages.value,
7605
7606
  "messages": messages.value
7606
7607
  }, {
7607
7608
  message: slots.message
@@ -12265,8 +12266,7 @@ const VFieldLabel = genericComponent()({
12265
12266
  "class": normalizeClass(['v-field-label', {
12266
12267
  'v-field-label--floating': props.floating
12267
12268
  }, props.class]),
12268
- "style": normalizeStyle(props.style),
12269
- "aria-hidden": props.floating || undefined
12269
+ "style": normalizeStyle(props.style)
12270
12270
  }, slots));
12271
12271
  return {};
12272
12272
  }
@@ -12290,6 +12290,7 @@ const makeVFieldProps = propsFactory({
12290
12290
  },
12291
12291
  color: String,
12292
12292
  baseColor: String,
12293
+ details: Boolean,
12293
12294
  dirty: Boolean,
12294
12295
  disabled: {
12295
12296
  type: Boolean,
@@ -12361,7 +12362,7 @@ const VField = genericComponent()({
12361
12362
  const hasFloatingLabel = toRef(() => !props.singleLine && hasLabel.value);
12362
12363
  const uid = useId();
12363
12364
  const id = computed(() => props.id || `input-${uid}`);
12364
- const messagesId = toRef(() => `${id.value}-messages`);
12365
+ const messagesId = toRef(() => !props.details ? undefined : `${id.value}-messages`);
12365
12366
  const labelRef = ref();
12366
12367
  const floatingLabelRef = ref();
12367
12368
  const controlRef = ref();
@@ -12486,6 +12487,7 @@ const VField = genericComponent()({
12486
12487
  "class": normalizeClass([textColorClasses.value]),
12487
12488
  "floating": true,
12488
12489
  "for": id.value,
12490
+ "aria-hidden": !isActive.value,
12489
12491
  "style": normalizeStyle(textColorStyles.value)
12490
12492
  }, {
12491
12493
  default: () => [label()]
@@ -12556,7 +12558,8 @@ const VField = genericComponent()({
12556
12558
  }, [createVNode(VFieldLabel, {
12557
12559
  "ref": floatingLabelRef,
12558
12560
  "floating": true,
12559
- "for": id.value
12561
+ "for": id.value,
12562
+ "aria-hidden": !isActive.value
12560
12563
  }, {
12561
12564
  default: () => [label()]
12562
12565
  })]), createElementVNode("div", {
@@ -12564,7 +12567,8 @@ const VField = genericComponent()({
12564
12567
  }, null)]), isPlainOrUnderlined.value && hasFloatingLabel.value && createVNode(VFieldLabel, {
12565
12568
  "ref": floatingLabelRef,
12566
12569
  "floating": true,
12567
- "for": id.value
12570
+ "for": id.value,
12571
+ "aria-hidden": !isActive.value
12568
12572
  }, {
12569
12573
  default: () => [label()]
12570
12574
  })])]);
@@ -12716,6 +12720,7 @@ const VTextField = genericComponent()({
12716
12720
  isDirty,
12717
12721
  isReadonly,
12718
12722
  isValid,
12723
+ hasDetails,
12719
12724
  reset
12720
12725
  } = _ref2;
12721
12726
  return createVNode(VField, mergeProps({
@@ -12732,6 +12737,7 @@ const VTextField = genericComponent()({
12732
12737
  "dirty": isDirty.value || props.dirty,
12733
12738
  "disabled": isDisabled.value,
12734
12739
  "focused": isFocused.value,
12740
+ "details": hasDetails.value,
12735
12741
  "error": isValid.value === false
12736
12742
  }), {
12737
12743
  ...slots,
@@ -24553,7 +24559,8 @@ const VFileInput = genericComponent()({
24553
24559
  isDisabled,
24554
24560
  isDirty,
24555
24561
  isReadonly,
24556
- isValid
24562
+ isValid,
24563
+ hasDetails
24557
24564
  } = _ref3;
24558
24565
  return createVNode(VField, mergeProps({
24559
24566
  "ref": vFieldRef,
@@ -24569,6 +24576,7 @@ const VFileInput = genericComponent()({
24569
24576
  "dirty": isDirty.value || props.dirty,
24570
24577
  "disabled": isDisabled.value,
24571
24578
  "focused": isFocused.value,
24579
+ "details": hasDetails.value,
24572
24580
  "error": isValid.value === false,
24573
24581
  "onDragover": onDragover,
24574
24582
  "onDrop": onDrop
@@ -29326,7 +29334,8 @@ const VTextarea = genericComponent()({
29326
29334
  isDisabled,
29327
29335
  isDirty,
29328
29336
  isReadonly,
29329
- isValid
29337
+ isValid,
29338
+ hasDetails
29330
29339
  } = _ref2;
29331
29340
  return createVNode(VField, mergeProps({
29332
29341
  "ref": vFieldRef,
@@ -29345,6 +29354,7 @@ const VTextarea = genericComponent()({
29345
29354
  "dirty": isDirty.value || props.dirty,
29346
29355
  "disabled": isDisabled.value,
29347
29356
  "focused": isFocused.value,
29357
+ "details": hasDetails.value,
29348
29358
  "error": isValid.value === false
29349
29359
  }), {
29350
29360
  ...slots,
@@ -31392,7 +31402,7 @@ function createVuetify$1() {
31392
31402
  };
31393
31403
  });
31394
31404
  }
31395
- const version$1 = "3.9.0-master.2025-07-10";
31405
+ const version$1 = "3.9.0-master.2025-07-12";
31396
31406
  createVuetify$1.version = version$1;
31397
31407
 
31398
31408
  // Vue's inject() can only be used in setup
@@ -31417,7 +31427,7 @@ const createVuetify = function () {
31417
31427
  ...options
31418
31428
  });
31419
31429
  };
31420
- const version = "3.9.0-master.2025-07-10";
31430
+ const version = "3.9.0-master.2025-07-12";
31421
31431
  createVuetify.version = version;
31422
31432
 
31423
31433
  export { index as blueprints, components, createVuetify, directives, useDate, useDefaults, useDisplay, useGoTo, useHotkey, useLayout, useLocale, useRtl, useTheme, version };