@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.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
|
*/
|
@@ -508,7 +508,7 @@ function getNextElement(elements, location, condition) {
|
|
508
508
|
}
|
509
509
|
function focusChild(el, location) {
|
510
510
|
const focusable = focusableChildren(el);
|
511
|
-
if (
|
511
|
+
if (location == null) {
|
512
512
|
if (el === document.activeElement || !el.contains(document.activeElement)) {
|
513
513
|
focusable[0]?.focus();
|
514
514
|
}
|
@@ -6757,13 +6757,18 @@ function useForm(props) {
|
|
6757
6757
|
};
|
6758
6758
|
}
|
6759
6759
|
|
6760
|
+
// Utilities
|
6761
|
+
const RulesSymbol = Symbol.for('vuetify:rules');
|
6762
|
+
function useRules(fn) {
|
6763
|
+
const resolveRules = inject$1(RulesSymbol, null);
|
6764
|
+
if (!resolveRules) return toRef(fn);
|
6765
|
+
return resolveRules(fn);
|
6766
|
+
}
|
6767
|
+
|
6760
6768
|
// Composables
|
6761
6769
|
|
6762
6770
|
// Types
|
6763
6771
|
|
6764
|
-
// type ValidationRuleParams = [any, string?]
|
6765
|
-
// type ValidationAlias = string | [string, ...ValidationRuleParams]
|
6766
|
-
|
6767
6772
|
const makeValidationProps = propsFactory({
|
6768
6773
|
disabled: {
|
6769
6774
|
type: Boolean,
|
@@ -6786,7 +6791,6 @@ const makeValidationProps = propsFactory({
|
|
6786
6791
|
},
|
6787
6792
|
rules: {
|
6788
6793
|
type: Array,
|
6789
|
-
// type: Array as PropType<readonly (ValidationRule | ValidationAlias)[]>,
|
6790
6794
|
default: () => []
|
6791
6795
|
},
|
6792
6796
|
modelValue: null,
|
@@ -6800,7 +6804,7 @@ function useValidation(props) {
|
|
6800
6804
|
const model = useProxiedModel(props, 'modelValue');
|
6801
6805
|
const validationModel = computed(() => props.validationValue === undefined ? model.value : props.validationValue);
|
6802
6806
|
const form = useForm(props);
|
6803
|
-
|
6807
|
+
const rules = useRules(() => props.rules);
|
6804
6808
|
const internalErrorMessages = ref([]);
|
6805
6809
|
const isPristine = shallowRef(true);
|
6806
6810
|
const isDirty = computed(() => !!(wrapInArray(model.value === '' ? null : model.value).length || wrapInArray(validationModel.value === '' ? null : validationModel.value).length));
|
@@ -6840,28 +6844,6 @@ function useValidation(props) {
|
|
6840
6844
|
});
|
6841
6845
|
const vm = getCurrentInstance('validation');
|
6842
6846
|
const uid = computed(() => props.name ?? unref(id));
|
6843
|
-
|
6844
|
-
// const resolvedRules = computed(() => props.rules.map(rule => {
|
6845
|
-
// let ruleName: string | null = null
|
6846
|
-
// let ruleParams: ValidationRuleParams = [undefined]
|
6847
|
-
// if (Array.isArray(rule)) {
|
6848
|
-
// ruleName = rule[0]
|
6849
|
-
// ruleParams = rule.slice(1) as ValidationRuleParams
|
6850
|
-
// } else if (typeof rule === 'string') {
|
6851
|
-
// ruleName = rule
|
6852
|
-
// }
|
6853
|
-
|
6854
|
-
// if (ruleName !== null) {
|
6855
|
-
// if (ruleName.startsWith('$')) {
|
6856
|
-
// ruleName = ruleName.slice(1)
|
6857
|
-
// }
|
6858
|
-
|
6859
|
-
// return rules?.[ruleName]?.(...ruleParams)
|
6860
|
-
// } else {
|
6861
|
-
// return rule
|
6862
|
-
// }
|
6863
|
-
// }))
|
6864
|
-
|
6865
6847
|
onBeforeMount(() => {
|
6866
6848
|
form.register?.({
|
6867
6849
|
id: uid.value,
|
@@ -6917,7 +6899,7 @@ function useValidation(props) {
|
|
6917
6899
|
let silent = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
|
6918
6900
|
const results = [];
|
6919
6901
|
isValidating.value = true;
|
6920
|
-
for (const rule of
|
6902
|
+
for (const rule of rules.value) {
|
6921
6903
|
if (results.length >= Number(props.maxErrors ?? 1)) {
|
6922
6904
|
break;
|
6923
6905
|
}
|
@@ -12757,6 +12739,7 @@ const VSelect = genericComponent()({
|
|
12757
12739
|
const selectedValues = computed(() => model.value.map(selection => selection.value));
|
12758
12740
|
const isFocused = shallowRef(false);
|
12759
12741
|
let keyboardLookupPrefix = '';
|
12742
|
+
let keyboardLookupIndex = -1;
|
12760
12743
|
let keyboardLookupLastTime;
|
12761
12744
|
const displayItems = computed(() => {
|
12762
12745
|
if (props.hideSelected) {
|
@@ -12824,16 +12807,49 @@ const VSelect = genericComponent()({
|
|
12824
12807
|
const now = performance.now();
|
12825
12808
|
if (now - keyboardLookupLastTime > KEYBOARD_LOOKUP_THRESHOLD) {
|
12826
12809
|
keyboardLookupPrefix = '';
|
12810
|
+
keyboardLookupIndex = -1;
|
12827
12811
|
}
|
12828
12812
|
keyboardLookupPrefix += e.key.toLowerCase();
|
12829
12813
|
keyboardLookupLastTime = now;
|
12830
|
-
const
|
12814
|
+
const items = displayItems.value;
|
12815
|
+
function findItem() {
|
12816
|
+
let result = findItemBase();
|
12817
|
+
if (result !== undefined) return result;
|
12818
|
+
if (keyboardLookupPrefix.at(-1) === keyboardLookupPrefix.at(-2)) {
|
12819
|
+
// No matches but we have a repeated letter, try the next item with that prefix
|
12820
|
+
keyboardLookupPrefix = keyboardLookupPrefix.slice(0, -1);
|
12821
|
+
result = findItemBase();
|
12822
|
+
if (result !== undefined) return result;
|
12823
|
+
}
|
12824
|
+
|
12825
|
+
// Still nothing, wrap around to the top
|
12826
|
+
keyboardLookupIndex = -1;
|
12827
|
+
result = findItemBase();
|
12828
|
+
if (result !== undefined) return result;
|
12829
|
+
|
12830
|
+
// Still nothing, try just the new letter
|
12831
|
+
keyboardLookupPrefix = e.key.toLowerCase();
|
12832
|
+
return findItemBase();
|
12833
|
+
}
|
12834
|
+
function findItemBase() {
|
12835
|
+
for (let i = 0; i < items.length; i++) {
|
12836
|
+
const _item = items[i];
|
12837
|
+
if (i > keyboardLookupIndex && _item.title.toLowerCase().startsWith(keyboardLookupPrefix)) {
|
12838
|
+
keyboardLookupIndex = i;
|
12839
|
+
return _item;
|
12840
|
+
}
|
12841
|
+
}
|
12842
|
+
return undefined;
|
12843
|
+
}
|
12844
|
+
const item = findItem();
|
12831
12845
|
if (item !== undefined) {
|
12832
|
-
|
12846
|
+
if (!props.multiple) {
|
12847
|
+
model.value = [item];
|
12848
|
+
}
|
12833
12849
|
const index = displayItems.value.indexOf(item);
|
12834
|
-
|
12835
|
-
|
12836
|
-
}
|
12850
|
+
if (~index && IN_BROWSER) {
|
12851
|
+
listRef.value?.focus(index);
|
12852
|
+
}
|
12837
12853
|
}
|
12838
12854
|
}
|
12839
12855
|
|
@@ -31929,7 +31945,7 @@ function createVuetify$1() {
|
|
31929
31945
|
};
|
31930
31946
|
});
|
31931
31947
|
}
|
31932
|
-
const version$1 = "3.8.5-
|
31948
|
+
const version$1 = "3.8.5-pr-21419.3ae3440";
|
31933
31949
|
createVuetify$1.version = version$1;
|
31934
31950
|
|
31935
31951
|
// Vue's inject() can only be used in setup
|
@@ -32227,7 +32243,7 @@ var index = /*#__PURE__*/Object.freeze({
|
|
32227
32243
|
|
32228
32244
|
/* eslint-disable local-rules/sort-imports */
|
32229
32245
|
|
32230
|
-
const version = "3.8.5-
|
32246
|
+
const version = "3.8.5-pr-21419.3ae3440";
|
32231
32247
|
|
32232
32248
|
/* eslint-disable local-rules/sort-imports */
|
32233
32249
|
|