@vuetify/nightly 3.8.9-master.2025-06-14 → 3.8.9-master.2025-06-17
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 +6 -3
- package/dist/json/attributes.json +3488 -3488
- package/dist/json/importMap-labs.json +26 -26
- package/dist/json/importMap.json +146 -146
- package/dist/json/web-types.json +5923 -5923
- package/dist/vuetify-labs.cjs +38 -14
- package/dist/vuetify-labs.css +3770 -3769
- package/dist/vuetify-labs.d.ts +55 -55
- package/dist/vuetify-labs.esm.js +38 -14
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +38 -14
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.cjs +38 -14
- package/dist/vuetify.cjs.map +1 -1
- package/dist/vuetify.css +6029 -6028
- package/dist/vuetify.d.ts +55 -55
- package/dist/vuetify.esm.js +38 -14
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +38 -14
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +372 -371
- package/dist/vuetify.min.js.map +1 -1
- package/lib/components/VBtnGroup/VBtnGroup.css +2 -1
- package/lib/components/VBtnGroup/VBtnGroup.sass +2 -1
- package/lib/components/VOtpInput/VOtpInput.js +17 -1
- package/lib/components/VOtpInput/VOtpInput.js.map +1 -1
- package/lib/components/VTextField/VTextField.js +4 -4
- package/lib/components/VTextField/VTextField.js.map +1 -1
- package/lib/components/VTextarea/VTextarea.js +4 -4
- package/lib/components/VTextarea/VTextarea.js.map +1 -1
- package/lib/composables/autofocus.d.ts +7 -0
- package/lib/composables/autofocus.js +10 -0
- package/lib/composables/autofocus.js.map +1 -0
- package/lib/composables/group.js +1 -0
- package/lib/composables/group.js.map +1 -1
- package/lib/composables/intersectionObserver.js +2 -2
- package/lib/composables/intersectionObserver.js.map +1 -1
- package/lib/composables/selectLink.js +2 -2
- package/lib/composables/selectLink.js.map +1 -1
- package/lib/entry-bundler.js +1 -1
- package/lib/framework.d.ts +55 -55
- package/lib/framework.js +1 -1
- package/package.json +1 -1
package/dist/vuetify-labs.js
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
/*!
|
2
|
-
* Vuetify v3.8.9-master.2025-06-
|
2
|
+
* Vuetify v3.8.9-master.2025-06-17
|
3
3
|
* Forged by John Leider
|
4
4
|
* Released under the MIT License.
|
5
5
|
*/
|
@@ -4404,6 +4404,7 @@
|
|
4404
4404
|
} else {
|
4405
4405
|
const isSelected = selected.value.includes(id);
|
4406
4406
|
if (props.mandatory && isSelected) return;
|
4407
|
+
if (!isSelected && !value) return;
|
4407
4408
|
selected.value = value ?? !isSelected ? [id] : [];
|
4408
4409
|
}
|
4409
4410
|
}
|
@@ -4838,7 +4839,7 @@
|
|
4838
4839
|
const observer = new IntersectionObserver(entries => {
|
4839
4840
|
isIntersecting.value = !!entries.find(entry => entry.isIntersecting);
|
4840
4841
|
}, options);
|
4841
|
-
vue.
|
4842
|
+
vue.onScopeDispose(() => {
|
4842
4843
|
observer.disconnect();
|
4843
4844
|
});
|
4844
4845
|
vue.watch(intersectionRef, (newValue, oldValue) => {
|
@@ -5369,9 +5370,9 @@
|
|
5369
5370
|
|
5370
5371
|
function useSelectLink(link, select) {
|
5371
5372
|
vue.watch(() => link.isActive?.value, isActive => {
|
5372
|
-
if (link.isLink.value && isActive && select) {
|
5373
|
+
if (link.isLink.value && isActive != null && select) {
|
5373
5374
|
vue.nextTick(() => {
|
5374
|
-
select(
|
5375
|
+
select(isActive);
|
5375
5376
|
});
|
5376
5377
|
}
|
5377
5378
|
}, {
|
@@ -12068,6 +12069,16 @@
|
|
12068
12069
|
}
|
12069
12070
|
});
|
12070
12071
|
|
12072
|
+
function useAutofocus(props) {
|
12073
|
+
function onIntersect(isIntersecting, entries) {
|
12074
|
+
if (!props.autofocus || !isIntersecting) return;
|
12075
|
+
entries[0].target?.focus?.();
|
12076
|
+
}
|
12077
|
+
return {
|
12078
|
+
onIntersect
|
12079
|
+
};
|
12080
|
+
}
|
12081
|
+
|
12071
12082
|
// Types
|
12072
12083
|
|
12073
12084
|
const activeTypes = ['color', 'file', 'time', 'date', 'datetime-local', 'week', 'month'];
|
@@ -12114,6 +12125,9 @@
|
|
12114
12125
|
focus,
|
12115
12126
|
blur
|
12116
12127
|
} = useFocus(props);
|
12128
|
+
const {
|
12129
|
+
onIntersect
|
12130
|
+
} = useAutofocus(props);
|
12117
12131
|
const counterValue = vue.computed(() => {
|
12118
12132
|
return typeof props.counterValue === 'function' ? props.counterValue(model.value) : typeof props.counterValue === 'number' ? props.counterValue : (model.value ?? '').toString().length;
|
12119
12133
|
});
|
@@ -12123,10 +12137,6 @@
|
|
12123
12137
|
return props.counter;
|
12124
12138
|
});
|
12125
12139
|
const isPlainOrUnderlined = vue.computed(() => ['plain', 'underlined'].includes(props.variant));
|
12126
|
-
function onIntersect(isIntersecting, entries) {
|
12127
|
-
if (!props.autofocus || !isIntersecting) return;
|
12128
|
-
entries[0].target?.focus?.();
|
12129
|
-
}
|
12130
12140
|
const vInputRef = vue.ref();
|
12131
12141
|
const vFieldRef = vue.ref();
|
12132
12142
|
const inputRef = vue.ref();
|
@@ -25372,6 +25382,21 @@
|
|
25372
25382
|
const contentRef = vue.ref();
|
25373
25383
|
const inputRef = vue.ref([]);
|
25374
25384
|
const current = vue.computed(() => inputRef.value[focusIndex.value]);
|
25385
|
+
const intersectScope = vue.effectScope();
|
25386
|
+
intersectScope.run(() => {
|
25387
|
+
const {
|
25388
|
+
intersectionRef,
|
25389
|
+
isIntersecting
|
25390
|
+
} = useIntersectionObserver();
|
25391
|
+
vue.watch(isIntersecting, v => {
|
25392
|
+
if (!v) return;
|
25393
|
+
intersectionRef.value?.focus();
|
25394
|
+
intersectScope.stop();
|
25395
|
+
});
|
25396
|
+
vue.watchEffect(() => {
|
25397
|
+
intersectionRef.value = inputRef.value[0];
|
25398
|
+
});
|
25399
|
+
});
|
25375
25400
|
function onInput() {
|
25376
25401
|
// The maxlength attribute doesn't work for the number type input, so the text type is used.
|
25377
25402
|
// The following logic simulates the behavior of a number input.
|
@@ -28118,6 +28143,9 @@
|
|
28118
28143
|
focus,
|
28119
28144
|
blur
|
28120
28145
|
} = useFocus(props);
|
28146
|
+
const {
|
28147
|
+
onIntersect
|
28148
|
+
} = useAutofocus(props);
|
28121
28149
|
const counterValue = vue.computed(() => {
|
28122
28150
|
return typeof props.counterValue === 'function' ? props.counterValue(model.value) : (model.value || '').toString().length;
|
28123
28151
|
});
|
@@ -28126,10 +28154,6 @@
|
|
28126
28154
|
if (!props.counter || typeof props.counter !== 'number' && typeof props.counter !== 'string') return undefined;
|
28127
28155
|
return props.counter;
|
28128
28156
|
});
|
28129
|
-
function onIntersect(isIntersecting, entries) {
|
28130
|
-
if (!props.autofocus || !isIntersecting) return;
|
28131
|
-
entries[0].target?.focus?.();
|
28132
|
-
}
|
28133
28157
|
const vInputRef = vue.ref();
|
28134
28158
|
const vFieldRef = vue.ref();
|
28135
28159
|
const controlHeight = vue.shallowRef('');
|
@@ -32175,7 +32199,7 @@
|
|
32175
32199
|
};
|
32176
32200
|
});
|
32177
32201
|
}
|
32178
|
-
const version$1 = "3.8.9-master.2025-06-
|
32202
|
+
const version$1 = "3.8.9-master.2025-06-17";
|
32179
32203
|
createVuetify$1.version = version$1;
|
32180
32204
|
|
32181
32205
|
// Vue's inject() can only be used in setup
|
@@ -32473,7 +32497,7 @@
|
|
32473
32497
|
|
32474
32498
|
/* eslint-disable local-rules/sort-imports */
|
32475
32499
|
|
32476
|
-
const version = "3.8.9-master.2025-06-
|
32500
|
+
const version = "3.8.9-master.2025-06-17";
|
32477
32501
|
|
32478
32502
|
/* eslint-disable local-rules/sort-imports */
|
32479
32503
|
|