@vuetify/nightly 3.8.5-master.2025-05-14 → 3.8.5-master.2025-05-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 (55) hide show
  1. package/CHANGELOG.md +17 -3
  2. package/dist/json/attributes.json +3800 -3800
  3. package/dist/json/importMap-labs.json +22 -22
  4. package/dist/json/importMap.json +160 -160
  5. package/dist/json/web-types.json +6633 -6633
  6. package/dist/vuetify-labs.cjs +20 -36
  7. package/dist/vuetify-labs.css +3082 -3082
  8. package/dist/vuetify-labs.d.ts +604 -601
  9. package/dist/vuetify-labs.esm.js +20 -36
  10. package/dist/vuetify-labs.esm.js.map +1 -1
  11. package/dist/vuetify-labs.js +20 -36
  12. package/dist/vuetify-labs.min.css +2 -2
  13. package/dist/vuetify.cjs +20 -36
  14. package/dist/vuetify.cjs.map +1 -1
  15. package/dist/vuetify.css +3887 -3887
  16. package/dist/vuetify.d.ts +516 -513
  17. package/dist/vuetify.esm.js +20 -36
  18. package/dist/vuetify.esm.js.map +1 -1
  19. package/dist/vuetify.js +20 -36
  20. package/dist/vuetify.js.map +1 -1
  21. package/dist/vuetify.min.css +2 -2
  22. package/dist/vuetify.min.js +581 -578
  23. package/dist/vuetify.min.js.map +1 -1
  24. package/lib/components/VAutocomplete/VAutocomplete.d.ts +84 -84
  25. package/lib/components/VCheckbox/VCheckbox.d.ts +12 -12
  26. package/lib/components/VCombobox/VCombobox.d.ts +84 -84
  27. package/lib/components/VFileInput/VFileInput.d.ts +30 -30
  28. package/lib/components/VInput/VInput.d.ts +12 -12
  29. package/lib/components/VList/VList.d.ts +3 -3
  30. package/lib/components/VList/VList.js.map +1 -1
  31. package/lib/components/VNumberInput/VNumberInput.d.ts +80 -80
  32. package/lib/components/VRadioGroup/VRadioGroup.d.ts +12 -12
  33. package/lib/components/VRangeSlider/VRangeSlider.d.ts +12 -12
  34. package/lib/components/VSelect/VSelect.d.ts +84 -84
  35. package/lib/components/VSelect/VSelect.js +6 -4
  36. package/lib/components/VSelect/VSelect.js.map +1 -1
  37. package/lib/components/VSlider/VSlider.d.ts +12 -12
  38. package/lib/components/VSwitch/VSwitch.d.ts +12 -12
  39. package/lib/components/VTextField/VTextField.d.ts +30 -30
  40. package/lib/components/VTextarea/VTextarea.d.ts +30 -30
  41. package/lib/components/VValidation/VValidation.d.ts +8 -8
  42. package/lib/composables/validation.d.ts +6 -5
  43. package/lib/composables/validation.js +4 -29
  44. package/lib/composables/validation.js.map +1 -1
  45. package/lib/entry-bundler.js +1 -1
  46. package/lib/framework.d.ts +55 -55
  47. package/lib/framework.js +1 -1
  48. package/lib/labs/VColorInput/VColorInput.d.ts +12 -12
  49. package/lib/labs/VDateInput/VDateInput.d.ts +84 -84
  50. package/lib/labs/rules/rules.d.ts +9 -5
  51. package/lib/labs/rules/rules.js +73 -51
  52. package/lib/labs/rules/rules.js.map +1 -1
  53. package/lib/util/helpers.js +1 -1
  54. package/lib/util/helpers.js.map +1 -1
  55. package/package.json +1 -1
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Vuetify v3.8.5-master.2025-05-14
2
+ * Vuetify v3.8.5-master.2025-05-16
3
3
  * Forged by John Leider
4
4
  * Released under the MIT License.
5
5
  */
@@ -431,7 +431,7 @@ function getNextElement(elements, location, condition) {
431
431
  }
432
432
  function focusChild(el, location) {
433
433
  const focusable = focusableChildren(el);
434
- if (!location) {
434
+ if (location == null) {
435
435
  if (el === document.activeElement || !el.contains(document.activeElement)) {
436
436
  focusable[0]?.focus();
437
437
  }
@@ -7035,13 +7035,18 @@ function useForm(props) {
7035
7035
  };
7036
7036
  }
7037
7037
 
7038
+ // Utilities
7039
+ const RulesSymbol = Symbol.for('vuetify:rules');
7040
+ function useRules(fn) {
7041
+ const resolveRules = inject$1(RulesSymbol, null);
7042
+ if (!resolveRules) return toRef(fn);
7043
+ return resolveRules(fn);
7044
+ }
7045
+
7038
7046
  // Composables
7039
7047
 
7040
7048
  // Types
7041
7049
 
7042
- // type ValidationRuleParams = [any, string?]
7043
- // type ValidationAlias = string | [string, ...ValidationRuleParams]
7044
-
7045
7050
  const makeValidationProps = propsFactory({
7046
7051
  disabled: {
7047
7052
  type: Boolean,
@@ -7064,7 +7069,6 @@ const makeValidationProps = propsFactory({
7064
7069
  },
7065
7070
  rules: {
7066
7071
  type: Array,
7067
- // type: Array as PropType<readonly (ValidationRule | ValidationAlias)[]>,
7068
7072
  default: () => []
7069
7073
  },
7070
7074
  modelValue: null,
@@ -7078,7 +7082,7 @@ function useValidation(props) {
7078
7082
  const model = useProxiedModel(props, 'modelValue');
7079
7083
  const validationModel = computed(() => props.validationValue === undefined ? model.value : props.validationValue);
7080
7084
  const form = useForm(props);
7081
- // const rules = useRules()
7085
+ const rules = useRules(() => props.rules);
7082
7086
  const internalErrorMessages = ref([]);
7083
7087
  const isPristine = shallowRef(true);
7084
7088
  const isDirty = computed(() => !!(wrapInArray(model.value === '' ? null : model.value).length || wrapInArray(validationModel.value === '' ? null : validationModel.value).length));
@@ -7118,28 +7122,6 @@ function useValidation(props) {
7118
7122
  });
7119
7123
  const vm = getCurrentInstance('validation');
7120
7124
  const uid = computed(() => props.name ?? unref(id));
7121
-
7122
- // const resolvedRules = computed(() => props.rules.map(rule => {
7123
- // let ruleName: string | null = null
7124
- // let ruleParams: ValidationRuleParams = [undefined]
7125
- // if (Array.isArray(rule)) {
7126
- // ruleName = rule[0]
7127
- // ruleParams = rule.slice(1) as ValidationRuleParams
7128
- // } else if (typeof rule === 'string') {
7129
- // ruleName = rule
7130
- // }
7131
-
7132
- // if (ruleName !== null) {
7133
- // if (ruleName.startsWith('$')) {
7134
- // ruleName = ruleName.slice(1)
7135
- // }
7136
-
7137
- // return rules?.[ruleName]?.(...ruleParams)
7138
- // } else {
7139
- // return rule
7140
- // }
7141
- // }))
7142
-
7143
7125
  onBeforeMount(() => {
7144
7126
  form.register?.({
7145
7127
  id: uid.value,
@@ -7195,7 +7177,7 @@ function useValidation(props) {
7195
7177
  let silent = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
7196
7178
  const results = [];
7197
7179
  isValidating.value = true;
7198
- for (const rule of props.rules) {
7180
+ for (const rule of rules.value) {
7199
7181
  if (results.length >= Number(props.maxErrors ?? 1)) {
7200
7182
  break;
7201
7183
  }
@@ -13107,11 +13089,13 @@ const VSelect = genericComponent()({
13107
13089
  keyboardLookupLastTime = now;
13108
13090
  const item = items.value.find(item => item.title.toLowerCase().startsWith(keyboardLookupPrefix));
13109
13091
  if (item !== undefined) {
13110
- model.value = [item];
13092
+ if (!props.multiple) {
13093
+ model.value = [item];
13094
+ }
13111
13095
  const index = displayItems.value.indexOf(item);
13112
- IN_BROWSER && window.requestAnimationFrame(() => {
13113
- index >= 0 && vVirtualScrollRef.value?.scrollToIndex(index);
13114
- });
13096
+ if (~index && IN_BROWSER) {
13097
+ listRef.value?.focus(index);
13098
+ }
13115
13099
  }
13116
13100
  }
13117
13101
 
@@ -29234,7 +29218,7 @@ function createVuetify$1() {
29234
29218
  };
29235
29219
  });
29236
29220
  }
29237
- const version$1 = "3.8.5-master.2025-05-14";
29221
+ const version$1 = "3.8.5-master.2025-05-16";
29238
29222
  createVuetify$1.version = version$1;
29239
29223
 
29240
29224
  // Vue's inject() can only be used in setup
@@ -29259,7 +29243,7 @@ const createVuetify = function () {
29259
29243
  ...options
29260
29244
  });
29261
29245
  };
29262
- const version = "3.8.5-master.2025-05-14";
29246
+ const version = "3.8.5-master.2025-05-16";
29263
29247
  createVuetify.version = version;
29264
29248
 
29265
29249
  export { index as blueprints, components, createVuetify, directives, useDate, useDefaults, useDisplay, useGoTo, useLayout, useLocale, useRtl, useTheme, version };