@vuetify/nightly 3.9.0-master.2025-07-11 → 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 (54) hide show
  1. package/CHANGELOG.md +7 -3
  2. package/dist/json/attributes.json +1721 -1677
  3. package/dist/json/importMap-labs.json +20 -20
  4. package/dist/json/importMap.json +164 -164
  5. package/dist/json/tags.json +11 -0
  6. package/dist/json/web-types.json +3223 -2901
  7. package/dist/vuetify-labs.cjs +35 -22
  8. package/dist/vuetify-labs.css +5286 -5286
  9. package/dist/vuetify-labs.d.ts +834 -286
  10. package/dist/vuetify-labs.esm.js +35 -22
  11. package/dist/vuetify-labs.esm.js.map +1 -1
  12. package/dist/vuetify-labs.js +35 -22
  13. package/dist/vuetify-labs.min.css +2 -2
  14. package/dist/vuetify.cjs +28 -20
  15. package/dist/vuetify.cjs.map +1 -1
  16. package/dist/vuetify.css +4118 -4118
  17. package/dist/vuetify.d.ts +580 -209
  18. package/dist/vuetify.esm.js +28 -20
  19. package/dist/vuetify.esm.js.map +1 -1
  20. package/dist/vuetify.js +28 -20
  21. package/dist/vuetify.js.map +1 -1
  22. package/dist/vuetify.min.css +2 -2
  23. package/dist/vuetify.min.js +14 -14
  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 +2 -1
  29. package/lib/components/VField/VField.js.map +1 -1
  30. package/lib/components/VFileInput/VFileInput.d.ts +13 -0
  31. package/lib/components/VFileInput/VFileInput.js +3 -1
  32. package/lib/components/VFileInput/VFileInput.js.map +1 -1
  33. package/lib/components/VInput/VInput.d.ts +2 -1
  34. package/lib/components/VInput/VInput.js +15 -14
  35. package/lib/components/VInput/VInput.js.map +1 -1
  36. package/lib/components/VNumberInput/VNumberInput.d.ts +116 -36
  37. package/lib/components/VSelect/VSelect.d.ts +121 -36
  38. package/lib/components/VTextField/VTextField.d.ts +40 -9
  39. package/lib/components/VTextField/VTextField.js +2 -0
  40. package/lib/components/VTextField/VTextField.js.map +1 -1
  41. package/lib/components/VTextarea/VTextarea.d.ts +13 -0
  42. package/lib/components/VTextarea/VTextarea.js +3 -1
  43. package/lib/components/VTextarea/VTextarea.js.map +1 -1
  44. package/lib/entry-bundler.js +1 -1
  45. package/lib/framework.d.ts +55 -55
  46. package/lib/framework.js +1 -1
  47. package/lib/labs/VColorInput/VColorInput.d.ts +13 -0
  48. package/lib/labs/VDateInput/VDateInput.d.ts +145 -44
  49. package/lib/labs/VDateInput/VDateInput.js +4 -1
  50. package/lib/labs/VDateInput/VDateInput.js.map +1 -1
  51. package/lib/labs/VMaskInput/VMaskInput.d.ts +121 -36
  52. package/lib/labs/VMaskInput/VMaskInput.js +4 -2
  53. package/lib/labs/VMaskInput/VMaskInput.js.map +1 -1
  54. package/package.json +1 -1
package/dist/vuetify.cjs CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Vuetify v3.9.0-master.2025-07-11
2
+ * Vuetify v3.9.0-master.2025-07-12
3
3
  * Forged by John Leider
4
4
  * Released under the MIT License.
5
5
  */
@@ -7527,7 +7527,6 @@
7527
7527
  } = useInputIcon(props);
7528
7528
  const uid = vue.useId();
7529
7529
  const id = vue.computed(() => props.id || `input-${uid}`);
7530
- const messagesId = vue.computed(() => `${id.value}-messages`);
7531
7530
  const {
7532
7531
  errorMessages,
7533
7532
  isDirty,
@@ -7541,6 +7540,18 @@
7541
7540
  validate,
7542
7541
  validationClasses
7543
7542
  } = useValidation(props, 'v-input', id);
7543
+ const messages = vue.computed(() => {
7544
+ if (props.errorMessages?.length || !isPristine.value && errorMessages.value.length) {
7545
+ return errorMessages.value;
7546
+ } else if (props.hint && (props.persistentHint || props.focused)) {
7547
+ return props.hint;
7548
+ } else {
7549
+ return props.messages;
7550
+ }
7551
+ });
7552
+ const hasMessages = vue.toRef(() => messages.value.length > 0);
7553
+ const hasDetails = vue.toRef(() => !props.hideDetails || props.hideDetails === 'auto' && (hasMessages.value || !!slots.details));
7554
+ const messagesId = vue.computed(() => hasDetails.value ? `${id.value}-messages` : undefined);
7544
7555
  const slotProps = vue.computed(() => ({
7545
7556
  id,
7546
7557
  messagesId,
@@ -7550,6 +7561,7 @@
7550
7561
  isPristine,
7551
7562
  isValid,
7552
7563
  isValidating,
7564
+ hasDetails,
7553
7565
  reset,
7554
7566
  resetValidation,
7555
7567
  validate
@@ -7561,20 +7573,9 @@
7561
7573
  if (!props.iconColor) return undefined;
7562
7574
  return props.iconColor === true ? color.value : props.iconColor;
7563
7575
  });
7564
- const messages = vue.computed(() => {
7565
- if (props.errorMessages?.length || !isPristine.value && errorMessages.value.length) {
7566
- return errorMessages.value;
7567
- } else if (props.hint && (props.persistentHint || props.focused)) {
7568
- return props.hint;
7569
- } else {
7570
- return props.messages;
7571
- }
7572
- });
7573
7576
  useRender(() => {
7574
7577
  const hasPrepend = !!(slots.prepend || props.prependIcon);
7575
7578
  const hasAppend = !!(slots.append || props.appendIcon);
7576
- const hasMessages = messages.value.length > 0;
7577
- const hasDetails = !props.hideDetails || props.hideDetails === 'auto' && (hasMessages || !!slots.details);
7578
7579
  return vue.createElementVNode("div", {
7579
7580
  "class": vue.normalizeClass(['v-input', `v-input--${props.direction}`, {
7580
7581
  'v-input--center-affix': props.centerAffix,
@@ -7599,13 +7600,13 @@
7599
7600
  "key": "append-icon",
7600
7601
  "name": "append",
7601
7602
  "color": iconColor.value
7602
- }, null), slots.append?.(slotProps.value)]), hasDetails && vue.createElementVNode("div", {
7603
+ }, null), slots.append?.(slotProps.value)]), hasDetails.value && vue.createElementVNode("div", {
7603
7604
  "id": messagesId.value,
7604
7605
  "class": "v-input__details",
7605
7606
  "role": "alert",
7606
7607
  "aria-live": "polite"
7607
7608
  }, [vue.createVNode(VMessages, {
7608
- "active": hasMessages,
7609
+ "active": hasMessages.value,
7609
7610
  "messages": messages.value
7610
7611
  }, {
7611
7612
  message: slots.message
@@ -12293,6 +12294,7 @@
12293
12294
  },
12294
12295
  color: String,
12295
12296
  baseColor: String,
12297
+ details: Boolean,
12296
12298
  dirty: Boolean,
12297
12299
  disabled: {
12298
12300
  type: Boolean,
@@ -12364,7 +12366,7 @@
12364
12366
  const hasFloatingLabel = vue.toRef(() => !props.singleLine && hasLabel.value);
12365
12367
  const uid = vue.useId();
12366
12368
  const id = vue.computed(() => props.id || `input-${uid}`);
12367
- const messagesId = vue.toRef(() => `${id.value}-messages`);
12369
+ const messagesId = vue.toRef(() => !props.details ? undefined : `${id.value}-messages`);
12368
12370
  const labelRef = vue.ref();
12369
12371
  const floatingLabelRef = vue.ref();
12370
12372
  const controlRef = vue.ref();
@@ -12722,6 +12724,7 @@
12722
12724
  isDirty,
12723
12725
  isReadonly,
12724
12726
  isValid,
12727
+ hasDetails,
12725
12728
  reset
12726
12729
  } = _ref2;
12727
12730
  return vue.createVNode(VField, vue.mergeProps({
@@ -12738,6 +12741,7 @@
12738
12741
  "dirty": isDirty.value || props.dirty,
12739
12742
  "disabled": isDisabled.value,
12740
12743
  "focused": isFocused.value,
12744
+ "details": hasDetails.value,
12741
12745
  "error": isValid.value === false
12742
12746
  }), {
12743
12747
  ...slots,
@@ -24559,7 +24563,8 @@
24559
24563
  isDisabled,
24560
24564
  isDirty,
24561
24565
  isReadonly,
24562
- isValid
24566
+ isValid,
24567
+ hasDetails
24563
24568
  } = _ref3;
24564
24569
  return vue.createVNode(VField, vue.mergeProps({
24565
24570
  "ref": vFieldRef,
@@ -24575,6 +24580,7 @@
24575
24580
  "dirty": isDirty.value || props.dirty,
24576
24581
  "disabled": isDisabled.value,
24577
24582
  "focused": isFocused.value,
24583
+ "details": hasDetails.value,
24578
24584
  "error": isValid.value === false,
24579
24585
  "onDragover": onDragover,
24580
24586
  "onDrop": onDrop
@@ -29332,7 +29338,8 @@
29332
29338
  isDisabled,
29333
29339
  isDirty,
29334
29340
  isReadonly,
29335
- isValid
29341
+ isValid,
29342
+ hasDetails
29336
29343
  } = _ref2;
29337
29344
  return vue.createVNode(VField, vue.mergeProps({
29338
29345
  "ref": vFieldRef,
@@ -29351,6 +29358,7 @@
29351
29358
  "dirty": isDirty.value || props.dirty,
29352
29359
  "disabled": isDisabled.value,
29353
29360
  "focused": isFocused.value,
29361
+ "details": hasDetails.value,
29354
29362
  "error": isValid.value === false
29355
29363
  }), {
29356
29364
  ...slots,
@@ -31398,7 +31406,7 @@
31398
31406
  };
31399
31407
  });
31400
31408
  }
31401
- const version$1 = "3.9.0-master.2025-07-11";
31409
+ const version$1 = "3.9.0-master.2025-07-12";
31402
31410
  createVuetify$1.version = version$1;
31403
31411
 
31404
31412
  // Vue's inject() can only be used in setup
@@ -31423,7 +31431,7 @@
31423
31431
  ...options
31424
31432
  });
31425
31433
  };
31426
- const version = "3.9.0-master.2025-07-11";
31434
+ const version = "3.9.0-master.2025-07-12";
31427
31435
  createVuetify.version = version;
31428
31436
 
31429
31437
  exports.blueprints = index;