@vuetify/nightly 3.8.5-master.2025-05-14 → 3.8.5-pr-21419.3ae3440
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.
- package/CHANGELOG.md +17 -3
- package/dist/json/attributes.json +3653 -3653
- package/dist/json/importMap-labs.json +26 -26
- package/dist/json/importMap.json +150 -150
- package/dist/json/web-types.json +6400 -6400
- package/dist/vuetify-labs.cjs +53 -37
- package/dist/vuetify-labs.css +3989 -3989
- package/dist/vuetify-labs.d.ts +605 -602
- package/dist/vuetify-labs.esm.js +53 -37
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +53 -37
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.cjs +53 -37
- package/dist/vuetify.cjs.map +1 -1
- package/dist/vuetify.css +4937 -4937
- package/dist/vuetify.d.ts +517 -514
- package/dist/vuetify.esm.js +53 -37
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +53 -37
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +589 -583
- package/dist/vuetify.min.js.map +1 -1
- package/lib/components/VAutocomplete/VAutocomplete.d.ts +84 -84
- package/lib/components/VCheckbox/VCheckbox.d.ts +12 -12
- package/lib/components/VCombobox/VCombobox.d.ts +84 -84
- package/lib/components/VFileInput/VFileInput.d.ts +30 -30
- package/lib/components/VInput/VInput.d.ts +12 -12
- package/lib/components/VList/VList.d.ts +3 -3
- package/lib/components/VList/VList.js.map +1 -1
- package/lib/components/VNumberInput/VNumberInput.d.ts +80 -80
- package/lib/components/VRadioGroup/VRadioGroup.d.ts +12 -12
- package/lib/components/VRangeSlider/VRangeSlider.d.ts +12 -12
- package/lib/components/VSelect/VSelect.d.ts +84 -84
- package/lib/components/VSelect/VSelect.js +39 -5
- package/lib/components/VSelect/VSelect.js.map +1 -1
- package/lib/components/VSlider/VSlider.d.ts +12 -12
- package/lib/components/VSwitch/VSwitch.d.ts +12 -12
- package/lib/components/VTextField/VTextField.d.ts +30 -30
- package/lib/components/VTextarea/VTextarea.d.ts +30 -30
- package/lib/components/VValidation/VValidation.d.ts +8 -8
- package/lib/composables/validation.d.ts +6 -5
- package/lib/composables/validation.js +4 -29
- package/lib/composables/validation.js.map +1 -1
- package/lib/entry-bundler.js +1 -1
- package/lib/entry-bundler.js.map +1 -1
- package/lib/framework.d.ts +56 -56
- package/lib/framework.js +1 -1
- package/lib/framework.js.map +1 -1
- package/lib/labs/VColorInput/VColorInput.d.ts +12 -12
- package/lib/labs/VDateInput/VDateInput.d.ts +84 -84
- package/lib/labs/rules/rules.d.ts +9 -5
- package/lib/labs/rules/rules.js +73 -51
- package/lib/labs/rules/rules.js.map +1 -1
- package/lib/util/helpers.js +1 -1
- package/lib/util/helpers.js.map +1 -1
- package/package.json +1 -1
package/dist/vuetify.esm.js
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
/*!
|
2
|
-
* Vuetify v3.8.5-
|
2
|
+
* Vuetify v3.8.5-pr-21419.3ae3440
|
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 (
|
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
|
-
|
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
|
7180
|
+
for (const rule of rules.value) {
|
7199
7181
|
if (results.length >= Number(props.maxErrors ?? 1)) {
|
7200
7182
|
break;
|
7201
7183
|
}
|
@@ -13035,6 +13017,7 @@ const VSelect = genericComponent()({
|
|
13035
13017
|
const selectedValues = computed(() => model.value.map(selection => selection.value));
|
13036
13018
|
const isFocused = shallowRef(false);
|
13037
13019
|
let keyboardLookupPrefix = '';
|
13020
|
+
let keyboardLookupIndex = -1;
|
13038
13021
|
let keyboardLookupLastTime;
|
13039
13022
|
const displayItems = computed(() => {
|
13040
13023
|
if (props.hideSelected) {
|
@@ -13102,16 +13085,49 @@ const VSelect = genericComponent()({
|
|
13102
13085
|
const now = performance.now();
|
13103
13086
|
if (now - keyboardLookupLastTime > KEYBOARD_LOOKUP_THRESHOLD) {
|
13104
13087
|
keyboardLookupPrefix = '';
|
13088
|
+
keyboardLookupIndex = -1;
|
13105
13089
|
}
|
13106
13090
|
keyboardLookupPrefix += e.key.toLowerCase();
|
13107
13091
|
keyboardLookupLastTime = now;
|
13108
|
-
const
|
13092
|
+
const items = displayItems.value;
|
13093
|
+
function findItem() {
|
13094
|
+
let result = findItemBase();
|
13095
|
+
if (result !== undefined) return result;
|
13096
|
+
if (keyboardLookupPrefix.at(-1) === keyboardLookupPrefix.at(-2)) {
|
13097
|
+
// No matches but we have a repeated letter, try the next item with that prefix
|
13098
|
+
keyboardLookupPrefix = keyboardLookupPrefix.slice(0, -1);
|
13099
|
+
result = findItemBase();
|
13100
|
+
if (result !== undefined) return result;
|
13101
|
+
}
|
13102
|
+
|
13103
|
+
// Still nothing, wrap around to the top
|
13104
|
+
keyboardLookupIndex = -1;
|
13105
|
+
result = findItemBase();
|
13106
|
+
if (result !== undefined) return result;
|
13107
|
+
|
13108
|
+
// Still nothing, try just the new letter
|
13109
|
+
keyboardLookupPrefix = e.key.toLowerCase();
|
13110
|
+
return findItemBase();
|
13111
|
+
}
|
13112
|
+
function findItemBase() {
|
13113
|
+
for (let i = 0; i < items.length; i++) {
|
13114
|
+
const _item = items[i];
|
13115
|
+
if (i > keyboardLookupIndex && _item.title.toLowerCase().startsWith(keyboardLookupPrefix)) {
|
13116
|
+
keyboardLookupIndex = i;
|
13117
|
+
return _item;
|
13118
|
+
}
|
13119
|
+
}
|
13120
|
+
return undefined;
|
13121
|
+
}
|
13122
|
+
const item = findItem();
|
13109
13123
|
if (item !== undefined) {
|
13110
|
-
|
13124
|
+
if (!props.multiple) {
|
13125
|
+
model.value = [item];
|
13126
|
+
}
|
13111
13127
|
const index = displayItems.value.indexOf(item);
|
13112
|
-
|
13113
|
-
|
13114
|
-
}
|
13128
|
+
if (~index && IN_BROWSER) {
|
13129
|
+
listRef.value?.focus(index);
|
13130
|
+
}
|
13115
13131
|
}
|
13116
13132
|
}
|
13117
13133
|
|
@@ -29234,7 +29250,7 @@ function createVuetify$1() {
|
|
29234
29250
|
};
|
29235
29251
|
});
|
29236
29252
|
}
|
29237
|
-
const version$1 = "3.8.5-
|
29253
|
+
const version$1 = "3.8.5-pr-21419.3ae3440";
|
29238
29254
|
createVuetify$1.version = version$1;
|
29239
29255
|
|
29240
29256
|
// Vue's inject() can only be used in setup
|
@@ -29259,7 +29275,7 @@ const createVuetify = function () {
|
|
29259
29275
|
...options
|
29260
29276
|
});
|
29261
29277
|
};
|
29262
|
-
const version = "3.8.5-
|
29278
|
+
const version = "3.8.5-pr-21419.3ae3440";
|
29263
29279
|
createVuetify.version = version;
|
29264
29280
|
|
29265
29281
|
export { index as blueprints, components, createVuetify, directives, useDate, useDefaults, useDisplay, useGoTo, useLayout, useLocale, useRtl, useTheme, version };
|