@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-labs.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
|
*/
|
@@ -512,7 +512,7 @@
|
|
512
512
|
}
|
513
513
|
function focusChild(el, location) {
|
514
514
|
const focusable = focusableChildren(el);
|
515
|
-
if (
|
515
|
+
if (location == null) {
|
516
516
|
if (el === document.activeElement || !el.contains(document.activeElement)) {
|
517
517
|
focusable[0]?.focus();
|
518
518
|
}
|
@@ -6761,13 +6761,18 @@
|
|
6761
6761
|
};
|
6762
6762
|
}
|
6763
6763
|
|
6764
|
+
// Utilities
|
6765
|
+
const RulesSymbol = Symbol.for('vuetify:rules');
|
6766
|
+
function useRules(fn) {
|
6767
|
+
const resolveRules = vue.inject(RulesSymbol, null);
|
6768
|
+
if (!resolveRules) return vue.toRef(fn);
|
6769
|
+
return resolveRules(fn);
|
6770
|
+
}
|
6771
|
+
|
6764
6772
|
// Composables
|
6765
6773
|
|
6766
6774
|
// Types
|
6767
6775
|
|
6768
|
-
// type ValidationRuleParams = [any, string?]
|
6769
|
-
// type ValidationAlias = string | [string, ...ValidationRuleParams]
|
6770
|
-
|
6771
6776
|
const makeValidationProps = propsFactory({
|
6772
6777
|
disabled: {
|
6773
6778
|
type: Boolean,
|
@@ -6790,7 +6795,6 @@
|
|
6790
6795
|
},
|
6791
6796
|
rules: {
|
6792
6797
|
type: Array,
|
6793
|
-
// type: Array as PropType<readonly (ValidationRule | ValidationAlias)[]>,
|
6794
6798
|
default: () => []
|
6795
6799
|
},
|
6796
6800
|
modelValue: null,
|
@@ -6804,7 +6808,7 @@
|
|
6804
6808
|
const model = useProxiedModel(props, 'modelValue');
|
6805
6809
|
const validationModel = vue.computed(() => props.validationValue === undefined ? model.value : props.validationValue);
|
6806
6810
|
const form = useForm(props);
|
6807
|
-
|
6811
|
+
const rules = useRules(() => props.rules);
|
6808
6812
|
const internalErrorMessages = vue.ref([]);
|
6809
6813
|
const isPristine = vue.shallowRef(true);
|
6810
6814
|
const isDirty = vue.computed(() => !!(wrapInArray(model.value === '' ? null : model.value).length || wrapInArray(validationModel.value === '' ? null : validationModel.value).length));
|
@@ -6844,28 +6848,6 @@
|
|
6844
6848
|
});
|
6845
6849
|
const vm = getCurrentInstance('validation');
|
6846
6850
|
const uid = vue.computed(() => props.name ?? vue.unref(id));
|
6847
|
-
|
6848
|
-
// const resolvedRules = computed(() => props.rules.map(rule => {
|
6849
|
-
// let ruleName: string | null = null
|
6850
|
-
// let ruleParams: ValidationRuleParams = [undefined]
|
6851
|
-
// if (Array.isArray(rule)) {
|
6852
|
-
// ruleName = rule[0]
|
6853
|
-
// ruleParams = rule.slice(1) as ValidationRuleParams
|
6854
|
-
// } else if (typeof rule === 'string') {
|
6855
|
-
// ruleName = rule
|
6856
|
-
// }
|
6857
|
-
|
6858
|
-
// if (ruleName !== null) {
|
6859
|
-
// if (ruleName.startsWith('$')) {
|
6860
|
-
// ruleName = ruleName.slice(1)
|
6861
|
-
// }
|
6862
|
-
|
6863
|
-
// return rules?.[ruleName]?.(...ruleParams)
|
6864
|
-
// } else {
|
6865
|
-
// return rule
|
6866
|
-
// }
|
6867
|
-
// }))
|
6868
|
-
|
6869
6851
|
vue.onBeforeMount(() => {
|
6870
6852
|
form.register?.({
|
6871
6853
|
id: uid.value,
|
@@ -6921,7 +6903,7 @@
|
|
6921
6903
|
let silent = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
|
6922
6904
|
const results = [];
|
6923
6905
|
isValidating.value = true;
|
6924
|
-
for (const rule of
|
6906
|
+
for (const rule of rules.value) {
|
6925
6907
|
if (results.length >= Number(props.maxErrors ?? 1)) {
|
6926
6908
|
break;
|
6927
6909
|
}
|
@@ -12761,6 +12743,7 @@
|
|
12761
12743
|
const selectedValues = vue.computed(() => model.value.map(selection => selection.value));
|
12762
12744
|
const isFocused = vue.shallowRef(false);
|
12763
12745
|
let keyboardLookupPrefix = '';
|
12746
|
+
let keyboardLookupIndex = -1;
|
12764
12747
|
let keyboardLookupLastTime;
|
12765
12748
|
const displayItems = vue.computed(() => {
|
12766
12749
|
if (props.hideSelected) {
|
@@ -12828,16 +12811,49 @@
|
|
12828
12811
|
const now = performance.now();
|
12829
12812
|
if (now - keyboardLookupLastTime > KEYBOARD_LOOKUP_THRESHOLD) {
|
12830
12813
|
keyboardLookupPrefix = '';
|
12814
|
+
keyboardLookupIndex = -1;
|
12831
12815
|
}
|
12832
12816
|
keyboardLookupPrefix += e.key.toLowerCase();
|
12833
12817
|
keyboardLookupLastTime = now;
|
12834
|
-
const
|
12818
|
+
const items = displayItems.value;
|
12819
|
+
function findItem() {
|
12820
|
+
let result = findItemBase();
|
12821
|
+
if (result !== undefined) return result;
|
12822
|
+
if (keyboardLookupPrefix.at(-1) === keyboardLookupPrefix.at(-2)) {
|
12823
|
+
// No matches but we have a repeated letter, try the next item with that prefix
|
12824
|
+
keyboardLookupPrefix = keyboardLookupPrefix.slice(0, -1);
|
12825
|
+
result = findItemBase();
|
12826
|
+
if (result !== undefined) return result;
|
12827
|
+
}
|
12828
|
+
|
12829
|
+
// Still nothing, wrap around to the top
|
12830
|
+
keyboardLookupIndex = -1;
|
12831
|
+
result = findItemBase();
|
12832
|
+
if (result !== undefined) return result;
|
12833
|
+
|
12834
|
+
// Still nothing, try just the new letter
|
12835
|
+
keyboardLookupPrefix = e.key.toLowerCase();
|
12836
|
+
return findItemBase();
|
12837
|
+
}
|
12838
|
+
function findItemBase() {
|
12839
|
+
for (let i = 0; i < items.length; i++) {
|
12840
|
+
const _item = items[i];
|
12841
|
+
if (i > keyboardLookupIndex && _item.title.toLowerCase().startsWith(keyboardLookupPrefix)) {
|
12842
|
+
keyboardLookupIndex = i;
|
12843
|
+
return _item;
|
12844
|
+
}
|
12845
|
+
}
|
12846
|
+
return undefined;
|
12847
|
+
}
|
12848
|
+
const item = findItem();
|
12835
12849
|
if (item !== undefined) {
|
12836
|
-
|
12850
|
+
if (!props.multiple) {
|
12851
|
+
model.value = [item];
|
12852
|
+
}
|
12837
12853
|
const index = displayItems.value.indexOf(item);
|
12838
|
-
|
12839
|
-
|
12840
|
-
}
|
12854
|
+
if (~index && IN_BROWSER) {
|
12855
|
+
listRef.value?.focus(index);
|
12856
|
+
}
|
12841
12857
|
}
|
12842
12858
|
}
|
12843
12859
|
|
@@ -31933,7 +31949,7 @@
|
|
31933
31949
|
};
|
31934
31950
|
});
|
31935
31951
|
}
|
31936
|
-
const version$1 = "3.8.5-
|
31952
|
+
const version$1 = "3.8.5-pr-21419.3ae3440";
|
31937
31953
|
createVuetify$1.version = version$1;
|
31938
31954
|
|
31939
31955
|
// Vue's inject() can only be used in setup
|
@@ -32231,7 +32247,7 @@
|
|
32231
32247
|
|
32232
32248
|
/* eslint-disable local-rules/sort-imports */
|
32233
32249
|
|
32234
|
-
const version = "3.8.5-
|
32250
|
+
const version = "3.8.5-pr-21419.3ae3440";
|
32235
32251
|
|
32236
32252
|
/* eslint-disable local-rules/sort-imports */
|
32237
32253
|
|