@vuetify/nightly 3.8.0-dev.2025-04-01 → 3.8.0-dev.2025-04-03
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 +18 -3
- package/dist/json/attributes.json +3801 -3801
- package/dist/json/importMap-labs.json +18 -18
- package/dist/json/importMap.json +180 -180
- package/dist/json/web-types.json +6824 -6824
- package/dist/vuetify-labs.cjs +56 -44
- package/dist/vuetify-labs.css +4799 -4802
- package/dist/vuetify-labs.d.ts +114 -75
- package/dist/vuetify-labs.esm.js +56 -44
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +56 -44
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.cjs +56 -44
- package/dist/vuetify.cjs.map +1 -1
- package/dist/vuetify.css +2940 -2943
- package/dist/vuetify.d.ts +114 -75
- package/dist/vuetify.esm.js +56 -44
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +56 -44
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +85 -83
- package/dist/vuetify.min.js.map +1 -1
- package/lib/components/VAutocomplete/VAutocomplete.css +0 -1
- package/lib/components/VAutocomplete/VAutocomplete.js +11 -9
- package/lib/components/VAutocomplete/VAutocomplete.js.map +1 -1
- package/lib/components/VAutocomplete/VAutocomplete.sass +0 -1
- package/lib/components/VCombobox/VCombobox.css +0 -1
- package/lib/components/VCombobox/VCombobox.js +22 -20
- package/lib/components/VCombobox/VCombobox.js.map +1 -1
- package/lib/components/VCombobox/VCombobox.sass +0 -1
- package/lib/components/VField/VField.d.ts +3 -0
- package/lib/components/VField/VField.js +3 -2
- package/lib/components/VField/VField.js.map +1 -1
- package/lib/components/VNumberInput/VNumberInput.d.ts +39 -12
- package/lib/components/VSelect/VSelect.css +0 -1
- package/lib/components/VSelect/VSelect.js +11 -9
- package/lib/components/VSelect/VSelect.js.map +1 -1
- package/lib/components/VSelect/VSelect.sass +0 -1
- package/lib/components/VTextField/VTextField.d.ts +12 -3
- package/lib/composables/virtual.js +6 -1
- package/lib/composables/virtual.js.map +1 -1
- package/lib/entry-bundler.js +1 -1
- package/lib/framework.d.ts +60 -60
- package/lib/framework.js +1 -1
- package/package.json +1 -1
package/dist/vuetify.esm.js
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
/*!
|
2
|
-
* Vuetify v3.8.0-dev.2025-04-
|
2
|
+
* Vuetify v3.8.0-dev.2025-04-03
|
3
3
|
* Forged by John Leider
|
4
4
|
* Released under the MIT License.
|
5
5
|
*/
|
@@ -11997,7 +11997,7 @@ const VField = genericComponent()({
|
|
11997
11997
|
return props.error || props.disabled ? undefined : isActive.value && isFocused.value ? props.color : props.baseColor;
|
11998
11998
|
});
|
11999
11999
|
const iconColor = computed(() => {
|
12000
|
-
if (!props.iconColor) return undefined;
|
12000
|
+
if (!props.iconColor || props.glow && !isFocused.value) return undefined;
|
12001
12001
|
return props.iconColor === true ? color.value : props.iconColor;
|
12002
12002
|
});
|
12003
12003
|
const {
|
@@ -12195,7 +12195,8 @@ const VField = genericComponent()({
|
|
12195
12195
|
})])]);
|
12196
12196
|
});
|
12197
12197
|
return {
|
12198
|
-
controlRef
|
12198
|
+
controlRef,
|
12199
|
+
fieldIconColor: iconColor
|
12199
12200
|
};
|
12200
12201
|
}
|
12201
12202
|
});
|
@@ -12545,7 +12546,12 @@ function useVirtual(props, items) {
|
|
12545
12546
|
}
|
12546
12547
|
function calculateOffset(index) {
|
12547
12548
|
index = clamp(index, 0, items.value.length - 1);
|
12548
|
-
|
12549
|
+
const whole = Math.floor(index);
|
12550
|
+
const fraction = index % 1;
|
12551
|
+
const next = whole + 1;
|
12552
|
+
const wholeOffset = offsets[whole] || 0;
|
12553
|
+
const nextOffset = offsets[next] || wholeOffset;
|
12554
|
+
return wholeOffset + (nextOffset - wholeOffset) * fraction;
|
12549
12555
|
}
|
12550
12556
|
function calculateIndex(scrollTop) {
|
12551
12557
|
return binaryClosest(offsets, scrollTop);
|
@@ -12933,14 +12939,6 @@ const VSelect = genericComponent()({
|
|
12933
12939
|
const vTextFieldRef = ref();
|
12934
12940
|
const vMenuRef = ref();
|
12935
12941
|
const vVirtualScrollRef = ref();
|
12936
|
-
const _menu = useProxiedModel(props, 'menu');
|
12937
|
-
const menu = computed({
|
12938
|
-
get: () => _menu.value,
|
12939
|
-
set: v => {
|
12940
|
-
if (_menu.value && !v && vMenuRef.value?.ΨopenChildren.size) return;
|
12941
|
-
_menu.value = v;
|
12942
|
-
}
|
12943
|
-
});
|
12944
12942
|
const {
|
12945
12943
|
items,
|
12946
12944
|
transformIn,
|
@@ -12956,7 +12954,6 @@ const VSelect = genericComponent()({
|
|
12956
12954
|
const form = useForm(props);
|
12957
12955
|
const selectedValues = computed(() => model.value.map(selection => selection.value));
|
12958
12956
|
const isFocused = shallowRef(false);
|
12959
|
-
const label = computed(() => menu.value ? props.closeText : props.openText);
|
12960
12957
|
let keyboardLookupPrefix = '';
|
12961
12958
|
let keyboardLookupLastTime;
|
12962
12959
|
const displayItems = computed(() => {
|
@@ -12966,6 +12963,16 @@ const VSelect = genericComponent()({
|
|
12966
12963
|
return items.value;
|
12967
12964
|
});
|
12968
12965
|
const menuDisabled = computed(() => props.hideNoData && !displayItems.value.length || form.isReadonly.value || form.isDisabled.value);
|
12966
|
+
const _menu = useProxiedModel(props, 'menu');
|
12967
|
+
const menu = computed({
|
12968
|
+
get: () => _menu.value,
|
12969
|
+
set: v => {
|
12970
|
+
if (_menu.value && !v && vMenuRef.value?.ΨopenChildren.size) return;
|
12971
|
+
if (v && menuDisabled.value) return;
|
12972
|
+
_menu.value = v;
|
12973
|
+
}
|
12974
|
+
});
|
12975
|
+
const label = computed(() => menu.value ? props.closeText : props.openText);
|
12969
12976
|
const computedMenuProps = computed(() => {
|
12970
12977
|
return {
|
12971
12978
|
...props.menuProps,
|
@@ -13261,6 +13268,7 @@ const VSelect = genericComponent()({
|
|
13261
13268
|
}
|
13262
13269
|
return createVNode(Fragment, null, [slots['append-inner']?.(...args), props.menuIcon ? createVNode(VIcon, {
|
13263
13270
|
"class": "v-select__menu-icon",
|
13271
|
+
"color": vTextFieldRef.value?.fieldIconColor,
|
13264
13272
|
"icon": props.menuIcon
|
13265
13273
|
}, null) : undefined]);
|
13266
13274
|
}
|
@@ -13464,17 +13472,8 @@ const VAutocomplete = genericComponent()({
|
|
13464
13472
|
const listHasFocus = shallowRef(false);
|
13465
13473
|
const vMenuRef = ref();
|
13466
13474
|
const vVirtualScrollRef = ref();
|
13467
|
-
const _menu = useProxiedModel(props, 'menu');
|
13468
|
-
const menu = computed({
|
13469
|
-
get: () => _menu.value,
|
13470
|
-
set: v => {
|
13471
|
-
if (_menu.value && !v && vMenuRef.value?.ΨopenChildren.size) return;
|
13472
|
-
_menu.value = v;
|
13473
|
-
}
|
13474
|
-
});
|
13475
13475
|
const selectionIndex = shallowRef(-1);
|
13476
13476
|
const color = computed(() => vTextFieldRef.value?.color);
|
13477
|
-
const label = computed(() => menu.value ? props.closeText : props.openText);
|
13478
13477
|
const {
|
13479
13478
|
items,
|
13480
13479
|
transformIn,
|
@@ -13511,6 +13510,16 @@ const VAutocomplete = genericComponent()({
|
|
13511
13510
|
return selectFirst && displayItems.value.length > 0 && !isPristine.value && !listHasFocus.value;
|
13512
13511
|
});
|
13513
13512
|
const menuDisabled = computed(() => props.hideNoData && !displayItems.value.length || form.isReadonly.value || form.isDisabled.value);
|
13513
|
+
const _menu = useProxiedModel(props, 'menu');
|
13514
|
+
const menu = computed({
|
13515
|
+
get: () => _menu.value,
|
13516
|
+
set: v => {
|
13517
|
+
if (_menu.value && !v && vMenuRef.value?.ΨopenChildren.size) return;
|
13518
|
+
if (v && menuDisabled.value) return;
|
13519
|
+
_menu.value = v;
|
13520
|
+
}
|
13521
|
+
});
|
13522
|
+
const label = computed(() => menu.value ? props.closeText : props.openText);
|
13514
13523
|
const listRef = ref();
|
13515
13524
|
const listEvents = useScrolling(listRef, vTextFieldRef);
|
13516
13525
|
function onClear(e) {
|
@@ -13860,6 +13869,7 @@ const VAutocomplete = genericComponent()({
|
|
13860
13869
|
}
|
13861
13870
|
return createVNode(Fragment, null, [slots['append-inner']?.(...args), props.menuIcon ? createVNode(VIcon, {
|
13862
13871
|
"class": "v-autocomplete__menu-icon",
|
13872
|
+
"color": vTextFieldRef.value?.fieldIconColor,
|
13863
13873
|
"icon": props.menuIcon,
|
13864
13874
|
"onMousedown": onMousedownMenuIcon,
|
13865
13875
|
"onClick": noop,
|
@@ -18229,18 +18239,9 @@ const VCombobox = genericComponent()({
|
|
18229
18239
|
const listHasFocus = shallowRef(false);
|
18230
18240
|
const vMenuRef = ref();
|
18231
18241
|
const vVirtualScrollRef = ref();
|
18232
|
-
const _menu = useProxiedModel(props, 'menu');
|
18233
|
-
const menu = computed({
|
18234
|
-
get: () => _menu.value,
|
18235
|
-
set: v => {
|
18236
|
-
if (_menu.value && !v && vMenuRef.value?.ΨopenChildren.size) return;
|
18237
|
-
_menu.value = v;
|
18238
|
-
}
|
18239
|
-
});
|
18240
18242
|
const selectionIndex = shallowRef(-1);
|
18241
18243
|
let cleared = false;
|
18242
18244
|
const color = computed(() => vTextFieldRef.value?.color);
|
18243
|
-
const label = computed(() => menu.value ? props.closeText : props.openText);
|
18244
18245
|
const {
|
18245
18246
|
items,
|
18246
18247
|
transformIn,
|
@@ -18284,6 +18285,27 @@ const VCombobox = genericComponent()({
|
|
18284
18285
|
const counterValue = computed(() => {
|
18285
18286
|
return typeof props.counterValue === 'function' ? props.counterValue(model.value) : typeof props.counterValue === 'number' ? props.counterValue : props.multiple ? model.value.length : search.value.length;
|
18286
18287
|
});
|
18288
|
+
const {
|
18289
|
+
filteredItems,
|
18290
|
+
getMatches
|
18291
|
+
} = useFilter(props, items, () => isPristine.value ? '' : search.value);
|
18292
|
+
const displayItems = computed(() => {
|
18293
|
+
if (props.hideSelected) {
|
18294
|
+
return filteredItems.value.filter(filteredItem => !model.value.some(s => s.value === filteredItem.value));
|
18295
|
+
}
|
18296
|
+
return filteredItems.value;
|
18297
|
+
});
|
18298
|
+
const menuDisabled = computed(() => props.hideNoData && !displayItems.value.length || form.isReadonly.value || form.isDisabled.value);
|
18299
|
+
const _menu = useProxiedModel(props, 'menu');
|
18300
|
+
const menu = computed({
|
18301
|
+
get: () => _menu.value,
|
18302
|
+
set: v => {
|
18303
|
+
if (_menu.value && !v && vMenuRef.value?.ΨopenChildren.size) return;
|
18304
|
+
if (v && menuDisabled.value) return;
|
18305
|
+
_menu.value = v;
|
18306
|
+
}
|
18307
|
+
});
|
18308
|
+
const label = computed(() => menu.value ? props.closeText : props.openText);
|
18287
18309
|
watch(_search, value => {
|
18288
18310
|
if (cleared) {
|
18289
18311
|
// wait for clear to finish, VTextField sets _search to null
|
@@ -18299,22 +18321,11 @@ const VCombobox = genericComponent()({
|
|
18299
18321
|
_search.value = value[0]?.title ?? '';
|
18300
18322
|
}
|
18301
18323
|
});
|
18302
|
-
const {
|
18303
|
-
filteredItems,
|
18304
|
-
getMatches
|
18305
|
-
} = useFilter(props, items, () => isPristine.value ? '' : search.value);
|
18306
|
-
const displayItems = computed(() => {
|
18307
|
-
if (props.hideSelected) {
|
18308
|
-
return filteredItems.value.filter(filteredItem => !model.value.some(s => s.value === filteredItem.value));
|
18309
|
-
}
|
18310
|
-
return filteredItems.value;
|
18311
|
-
});
|
18312
18324
|
const selectedValues = computed(() => model.value.map(selection => selection.value));
|
18313
18325
|
const highlightFirst = computed(() => {
|
18314
18326
|
const selectFirst = props.autoSelectFirst === true || props.autoSelectFirst === 'exact' && search.value === displayItems.value[0]?.title;
|
18315
18327
|
return selectFirst && displayItems.value.length > 0 && !isPristine.value && !listHasFocus.value;
|
18316
18328
|
});
|
18317
|
-
const menuDisabled = computed(() => props.hideNoData && !displayItems.value.length || form.isReadonly.value || form.isDisabled.value);
|
18318
18329
|
const listRef = ref();
|
18319
18330
|
const listEvents = useScrolling(listRef, vTextFieldRef);
|
18320
18331
|
function onClear(e) {
|
@@ -18665,6 +18676,7 @@ const VCombobox = genericComponent()({
|
|
18665
18676
|
}
|
18666
18677
|
return createVNode(Fragment, null, [slots['append-inner']?.(...args), (!props.hideNoData || props.items.length) && props.menuIcon ? createVNode(VIcon, {
|
18667
18678
|
"class": "v-combobox__menu-icon",
|
18679
|
+
"color": vTextFieldRef.value?.fieldIconColor,
|
18668
18680
|
"icon": props.menuIcon,
|
18669
18681
|
"onMousedown": onMousedownMenuIcon,
|
18670
18682
|
"onClick": noop,
|
@@ -29206,7 +29218,7 @@ function createVuetify$1() {
|
|
29206
29218
|
};
|
29207
29219
|
});
|
29208
29220
|
}
|
29209
|
-
const version$1 = "3.8.0-dev.2025-04-
|
29221
|
+
const version$1 = "3.8.0-dev.2025-04-03";
|
29210
29222
|
createVuetify$1.version = version$1;
|
29211
29223
|
|
29212
29224
|
// Vue's inject() can only be used in setup
|
@@ -29231,7 +29243,7 @@ const createVuetify = function () {
|
|
29231
29243
|
...options
|
29232
29244
|
});
|
29233
29245
|
};
|
29234
|
-
const version = "3.8.0-dev.2025-04-
|
29246
|
+
const version = "3.8.0-dev.2025-04-03";
|
29235
29247
|
createVuetify.version = version;
|
29236
29248
|
|
29237
29249
|
export { index as blueprints, components, createVuetify, directives, useDate, useDefaults, useDisplay, useGoTo, useLayout, useLocale, useRtl, useTheme, version };
|