@vuetify/nightly 3.9.0-master.2025-07-11 → 3.9.0-master.2025-07-13

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 (56) hide show
  1. package/CHANGELOG.md +8 -3
  2. package/dist/json/attributes.json +2382 -2338
  3. package/dist/json/importMap-labs.json +14 -14
  4. package/dist/json/importMap.json +158 -158
  5. package/dist/json/tags.json +11 -0
  6. package/dist/json/web-types.json +4453 -4131
  7. package/dist/vuetify-labs.cjs +49 -28
  8. package/dist/vuetify-labs.css +5886 -5886
  9. package/dist/vuetify-labs.d.ts +831 -283
  10. package/dist/vuetify-labs.esm.js +49 -28
  11. package/dist/vuetify-labs.esm.js.map +1 -1
  12. package/dist/vuetify-labs.js +49 -28
  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 +3262 -3262
  17. package/dist/vuetify.d.ts +577 -206
  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 +52 -52
  46. package/lib/framework.js +1 -1
  47. package/lib/labs/VColorInput/VColorInput.d.ts +13 -0
  48. package/lib/labs/VColorInput/VColorInput.js +14 -6
  49. package/lib/labs/VColorInput/VColorInput.js.map +1 -1
  50. package/lib/labs/VDateInput/VDateInput.d.ts +145 -44
  51. package/lib/labs/VDateInput/VDateInput.js +4 -1
  52. package/lib/labs/VDateInput/VDateInput.js.map +1 -1
  53. package/lib/labs/VMaskInput/VMaskInput.d.ts +121 -36
  54. package/lib/labs/VMaskInput/VMaskInput.js +4 -2
  55. package/lib/labs/VMaskInput/VMaskInput.js.map +1 -1
  56. package/package.json +1 -1
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Vuetify v3.9.0-master.2025-07-11
2
+ * Vuetify v3.9.0-master.2025-07-13
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
@@ -12011,6 +12012,7 @@ const makeVFieldProps = propsFactory({
12011
12012
  },
12012
12013
  color: String,
12013
12014
  baseColor: String,
12015
+ details: Boolean,
12014
12016
  dirty: Boolean,
12015
12017
  disabled: {
12016
12018
  type: Boolean,
@@ -12082,7 +12084,7 @@ const VField = genericComponent()({
12082
12084
  const hasFloatingLabel = toRef(() => !props.singleLine && hasLabel.value);
12083
12085
  const uid = useId();
12084
12086
  const id = computed(() => props.id || `input-${uid}`);
12085
- const messagesId = toRef(() => `${id.value}-messages`);
12087
+ const messagesId = toRef(() => !props.details ? undefined : `${id.value}-messages`);
12086
12088
  const labelRef = ref();
12087
12089
  const floatingLabelRef = ref();
12088
12090
  const controlRef = ref();
@@ -12440,6 +12442,7 @@ const VTextField = genericComponent()({
12440
12442
  isDirty,
12441
12443
  isReadonly,
12442
12444
  isValid,
12445
+ hasDetails,
12443
12446
  reset
12444
12447
  } = _ref2;
12445
12448
  return createVNode(VField, mergeProps({
@@ -12456,6 +12459,7 @@ const VTextField = genericComponent()({
12456
12459
  "dirty": isDirty.value || props.dirty,
12457
12460
  "disabled": isDisabled.value,
12458
12461
  "focused": isFocused.value,
12462
+ "details": hasDetails.value,
12459
12463
  "error": isValid.value === false
12460
12464
  }), {
12461
12465
  ...slots,
@@ -24277,7 +24281,8 @@ const VFileInput = genericComponent()({
24277
24281
  isDisabled,
24278
24282
  isDirty,
24279
24283
  isReadonly,
24280
- isValid
24284
+ isValid,
24285
+ hasDetails
24281
24286
  } = _ref3;
24282
24287
  return createVNode(VField, mergeProps({
24283
24288
  "ref": vFieldRef,
@@ -24293,6 +24298,7 @@ const VFileInput = genericComponent()({
24293
24298
  "dirty": isDirty.value || props.dirty,
24294
24299
  "disabled": isDisabled.value,
24295
24300
  "focused": isFocused.value,
24301
+ "details": hasDetails.value,
24296
24302
  "error": isValid.value === false,
24297
24303
  "onDragover": onDragover,
24298
24304
  "onDrop": onDrop
@@ -29050,7 +29056,8 @@ const VTextarea = genericComponent()({
29050
29056
  isDisabled,
29051
29057
  isDirty,
29052
29058
  isReadonly,
29053
- isValid
29059
+ isValid,
29060
+ hasDetails
29054
29061
  } = _ref2;
29055
29062
  return createVNode(VField, mergeProps({
29056
29063
  "ref": vFieldRef,
@@ -29069,6 +29076,7 @@ const VTextarea = genericComponent()({
29069
29076
  "dirty": isDirty.value || props.dirty,
29070
29077
  "disabled": isDisabled.value,
29071
29078
  "focused": isFocused.value,
29079
+ "details": hasDetails.value,
29072
29080
  "error": isValid.value === false
29073
29081
  }), {
29074
29082
  ...slots,
@@ -31270,6 +31278,9 @@ const VColorInput = genericComponent()({
31270
31278
  function onSave() {
31271
31279
  menu.value = false;
31272
31280
  }
31281
+ function onCancel() {
31282
+ menu.value = false;
31283
+ }
31273
31284
  useRender(() => {
31274
31285
  const confirmEditProps = VConfirmEdit.filterProps(props);
31275
31286
  const colorPickerProps = VColorPicker.filterProps(omit(props, ['active', 'color']));
@@ -31305,7 +31316,8 @@ const VColorInput = genericComponent()({
31305
31316
  default: () => [createVNode(VConfirmEdit, mergeProps(confirmEditProps, {
31306
31317
  "modelValue": model.value,
31307
31318
  "onUpdate:modelValue": $event => model.value = $event,
31308
- "onSave": onSave
31319
+ "onSave": onSave,
31320
+ "onCancel": onCancel
31309
31321
  }), {
31310
31322
  default: _ref2 => {
31311
31323
  let {
@@ -31315,12 +31327,16 @@ const VColorInput = genericComponent()({
31315
31327
  cancel,
31316
31328
  isPristine
31317
31329
  } = _ref2;
31330
+ function onUpdateModel(value) {
31331
+ if (!props.hideActions) {
31332
+ proxyModel.value = value;
31333
+ } else {
31334
+ model.value = value;
31335
+ }
31336
+ }
31318
31337
  return createVNode(VColorPicker, mergeProps(colorPickerProps, {
31319
- "modelValue": proxyModel.value,
31320
- "onUpdate:modelValue": val => {
31321
- proxyModel.value = val;
31322
- model.value = val;
31323
- },
31338
+ "modelValue": props.hideActions ? model.value : proxyModel.value,
31339
+ "onUpdate:modelValue": value => onUpdateModel(value),
31324
31340
  "onMousedown": e => e.preventDefault()
31325
31341
  }), {
31326
31342
  actions: !props.hideActions ? () => slots.actions?.({
@@ -31455,7 +31471,10 @@ function useDateFormat(props, locale) {
31455
31471
  // Types
31456
31472
 
31457
31473
  const makeVDateInputProps = propsFactory({
31458
- displayFormat: [Function, String],
31474
+ displayFormat: {
31475
+ type: [Function, String],
31476
+ default: undefined
31477
+ },
31459
31478
  location: {
31460
31479
  type: String,
31461
31480
  default: 'bottom start'
@@ -32394,6 +32413,7 @@ const VMaskInput = genericComponent()({
32394
32413
  }
32395
32414
  return val;
32396
32415
  });
32416
+ const validationValue = toRef(() => returnMaskedValue.value ? maskText(model.value) : unmaskText(model.value));
32397
32417
  onBeforeMount(() => {
32398
32418
  if (props.returnMaskedValue) {
32399
32419
  emit('update:modelValue', model.value);
@@ -32404,7 +32424,8 @@ const VMaskInput = genericComponent()({
32404
32424
  return createVNode(VTextField, mergeProps(textFieldProps, {
32405
32425
  "modelValue": model.value,
32406
32426
  "onUpdate:modelValue": $event => model.value = $event,
32407
- "ref": vTextFieldRef
32427
+ "ref": vTextFieldRef,
32428
+ "validationValue": validationValue.value
32408
32429
  }), {
32409
32430
  ...slots
32410
32431
  });
@@ -33684,7 +33705,7 @@ function createVuetify$1() {
33684
33705
  };
33685
33706
  });
33686
33707
  }
33687
- const version$1 = "3.9.0-master.2025-07-11";
33708
+ const version$1 = "3.9.0-master.2025-07-13";
33688
33709
  createVuetify$1.version = version$1;
33689
33710
 
33690
33711
  // Vue's inject() can only be used in setup
@@ -33982,7 +34003,7 @@ var index = /*#__PURE__*/Object.freeze({
33982
34003
 
33983
34004
  /* eslint-disable local-rules/sort-imports */
33984
34005
 
33985
- const version = "3.9.0-master.2025-07-11";
34006
+ const version = "3.9.0-master.2025-07-13";
33986
34007
 
33987
34008
  /* eslint-disable local-rules/sort-imports */
33988
34009