@vuetify/nightly 3.8.0-master.2025-04-01 → 3.8.0-master.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 +13 -3
- package/dist/json/attributes.json +1509 -1509
- package/dist/json/importMap-labs.json +38 -38
- package/dist/json/importMap.json +168 -168
- package/dist/json/web-types.json +3070 -3070
- package/dist/vuetify-labs.cjs +51 -44
- package/dist/vuetify-labs.css +4644 -4630
- package/dist/vuetify-labs.d.ts +119 -80
- package/dist/vuetify-labs.esm.js +51 -44
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +51 -44
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.cjs +51 -44
- package/dist/vuetify.cjs.map +1 -1
- package/dist/vuetify.css +2263 -2249
- package/dist/vuetify.d.ts +119 -80
- package/dist/vuetify.esm.js +51 -44
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +51 -44
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +83 -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/VNavigationDrawer/VNavigationDrawer.js +2 -2
- package/lib/components/VNavigationDrawer/VNavigationDrawer.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.css +21 -4
- package/lib/components/VTextField/VTextField.d.ts +12 -3
- package/lib/components/VTextField/VTextField.sass +22 -7
- package/lib/entry-bundler.js +1 -1
- package/lib/framework.d.ts +65 -65
- package/lib/framework.js +1 -1
- package/package.json +1 -1
package/dist/vuetify-labs.cjs
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
/*!
|
2
|
-
* Vuetify v3.8.0-master.2025-04-
|
2
|
+
* Vuetify v3.8.0-master.2025-04-03
|
3
3
|
* Forged by John Leider
|
4
4
|
* Released under the MIT License.
|
5
5
|
*/
|
@@ -11736,7 +11736,7 @@
|
|
11736
11736
|
return props.error || props.disabled ? undefined : isActive.value && isFocused.value ? props.color : props.baseColor;
|
11737
11737
|
});
|
11738
11738
|
const iconColor = vue.computed(() => {
|
11739
|
-
if (!props.iconColor) return undefined;
|
11739
|
+
if (!props.iconColor || props.glow && !isFocused.value) return undefined;
|
11740
11740
|
return props.iconColor === true ? color.value : props.iconColor;
|
11741
11741
|
});
|
11742
11742
|
const {
|
@@ -11934,7 +11934,8 @@
|
|
11934
11934
|
})])]);
|
11935
11935
|
});
|
11936
11936
|
return {
|
11937
|
-
controlRef
|
11937
|
+
controlRef,
|
11938
|
+
fieldIconColor: iconColor
|
11938
11939
|
};
|
11939
11940
|
}
|
11940
11941
|
});
|
@@ -12672,14 +12673,6 @@
|
|
12672
12673
|
const vTextFieldRef = vue.ref();
|
12673
12674
|
const vMenuRef = vue.ref();
|
12674
12675
|
const vVirtualScrollRef = vue.ref();
|
12675
|
-
const _menu = useProxiedModel(props, 'menu');
|
12676
|
-
const menu = vue.computed({
|
12677
|
-
get: () => _menu.value,
|
12678
|
-
set: v => {
|
12679
|
-
if (_menu.value && !v && vMenuRef.value?.ΨopenChildren.size) return;
|
12680
|
-
_menu.value = v;
|
12681
|
-
}
|
12682
|
-
});
|
12683
12676
|
const {
|
12684
12677
|
items,
|
12685
12678
|
transformIn,
|
@@ -12695,7 +12688,6 @@
|
|
12695
12688
|
const form = useForm(props);
|
12696
12689
|
const selectedValues = vue.computed(() => model.value.map(selection => selection.value));
|
12697
12690
|
const isFocused = vue.shallowRef(false);
|
12698
|
-
const label = vue.computed(() => menu.value ? props.closeText : props.openText);
|
12699
12691
|
let keyboardLookupPrefix = '';
|
12700
12692
|
let keyboardLookupLastTime;
|
12701
12693
|
const displayItems = vue.computed(() => {
|
@@ -12705,6 +12697,16 @@
|
|
12705
12697
|
return items.value;
|
12706
12698
|
});
|
12707
12699
|
const menuDisabled = vue.computed(() => props.hideNoData && !displayItems.value.length || form.isReadonly.value || form.isDisabled.value);
|
12700
|
+
const _menu = useProxiedModel(props, 'menu');
|
12701
|
+
const menu = vue.computed({
|
12702
|
+
get: () => _menu.value,
|
12703
|
+
set: v => {
|
12704
|
+
if (_menu.value && !v && vMenuRef.value?.ΨopenChildren.size) return;
|
12705
|
+
if (v && menuDisabled.value) return;
|
12706
|
+
_menu.value = v;
|
12707
|
+
}
|
12708
|
+
});
|
12709
|
+
const label = vue.computed(() => menu.value ? props.closeText : props.openText);
|
12708
12710
|
const computedMenuProps = vue.computed(() => {
|
12709
12711
|
return {
|
12710
12712
|
...props.menuProps,
|
@@ -13000,6 +13002,7 @@
|
|
13000
13002
|
}
|
13001
13003
|
return vue.createVNode(vue.Fragment, null, [slots['append-inner']?.(...args), props.menuIcon ? vue.createVNode(VIcon, {
|
13002
13004
|
"class": "v-select__menu-icon",
|
13005
|
+
"color": vTextFieldRef.value?.fieldIconColor,
|
13003
13006
|
"icon": props.menuIcon
|
13004
13007
|
}, null) : undefined]);
|
13005
13008
|
}
|
@@ -13203,17 +13206,8 @@
|
|
13203
13206
|
const listHasFocus = vue.shallowRef(false);
|
13204
13207
|
const vMenuRef = vue.ref();
|
13205
13208
|
const vVirtualScrollRef = vue.ref();
|
13206
|
-
const _menu = useProxiedModel(props, 'menu');
|
13207
|
-
const menu = vue.computed({
|
13208
|
-
get: () => _menu.value,
|
13209
|
-
set: v => {
|
13210
|
-
if (_menu.value && !v && vMenuRef.value?.ΨopenChildren.size) return;
|
13211
|
-
_menu.value = v;
|
13212
|
-
}
|
13213
|
-
});
|
13214
13209
|
const selectionIndex = vue.shallowRef(-1);
|
13215
13210
|
const color = vue.computed(() => vTextFieldRef.value?.color);
|
13216
|
-
const label = vue.computed(() => menu.value ? props.closeText : props.openText);
|
13217
13211
|
const {
|
13218
13212
|
items,
|
13219
13213
|
transformIn,
|
@@ -13250,6 +13244,16 @@
|
|
13250
13244
|
return selectFirst && displayItems.value.length > 0 && !isPristine.value && !listHasFocus.value;
|
13251
13245
|
});
|
13252
13246
|
const menuDisabled = vue.computed(() => props.hideNoData && !displayItems.value.length || form.isReadonly.value || form.isDisabled.value);
|
13247
|
+
const _menu = useProxiedModel(props, 'menu');
|
13248
|
+
const menu = vue.computed({
|
13249
|
+
get: () => _menu.value,
|
13250
|
+
set: v => {
|
13251
|
+
if (_menu.value && !v && vMenuRef.value?.ΨopenChildren.size) return;
|
13252
|
+
if (v && menuDisabled.value) return;
|
13253
|
+
_menu.value = v;
|
13254
|
+
}
|
13255
|
+
});
|
13256
|
+
const label = vue.computed(() => menu.value ? props.closeText : props.openText);
|
13253
13257
|
const listRef = vue.ref();
|
13254
13258
|
const listEvents = useScrolling(listRef, vTextFieldRef);
|
13255
13259
|
function onClear(e) {
|
@@ -13599,6 +13603,7 @@
|
|
13599
13603
|
}
|
13600
13604
|
return vue.createVNode(vue.Fragment, null, [slots['append-inner']?.(...args), props.menuIcon ? vue.createVNode(VIcon, {
|
13601
13605
|
"class": "v-autocomplete__menu-icon",
|
13606
|
+
"color": vTextFieldRef.value?.fieldIconColor,
|
13602
13607
|
"icon": props.menuIcon,
|
13603
13608
|
"onMousedown": onMousedownMenuIcon,
|
13604
13609
|
"onClick": noop,
|
@@ -17968,18 +17973,9 @@
|
|
17968
17973
|
const listHasFocus = vue.shallowRef(false);
|
17969
17974
|
const vMenuRef = vue.ref();
|
17970
17975
|
const vVirtualScrollRef = vue.ref();
|
17971
|
-
const _menu = useProxiedModel(props, 'menu');
|
17972
|
-
const menu = vue.computed({
|
17973
|
-
get: () => _menu.value,
|
17974
|
-
set: v => {
|
17975
|
-
if (_menu.value && !v && vMenuRef.value?.ΨopenChildren.size) return;
|
17976
|
-
_menu.value = v;
|
17977
|
-
}
|
17978
|
-
});
|
17979
17976
|
const selectionIndex = vue.shallowRef(-1);
|
17980
17977
|
let cleared = false;
|
17981
17978
|
const color = vue.computed(() => vTextFieldRef.value?.color);
|
17982
|
-
const label = vue.computed(() => menu.value ? props.closeText : props.openText);
|
17983
17979
|
const {
|
17984
17980
|
items,
|
17985
17981
|
transformIn,
|
@@ -18023,6 +18019,27 @@
|
|
18023
18019
|
const counterValue = vue.computed(() => {
|
18024
18020
|
return typeof props.counterValue === 'function' ? props.counterValue(model.value) : typeof props.counterValue === 'number' ? props.counterValue : props.multiple ? model.value.length : search.value.length;
|
18025
18021
|
});
|
18022
|
+
const {
|
18023
|
+
filteredItems,
|
18024
|
+
getMatches
|
18025
|
+
} = useFilter(props, items, () => isPristine.value ? '' : search.value);
|
18026
|
+
const displayItems = vue.computed(() => {
|
18027
|
+
if (props.hideSelected) {
|
18028
|
+
return filteredItems.value.filter(filteredItem => !model.value.some(s => s.value === filteredItem.value));
|
18029
|
+
}
|
18030
|
+
return filteredItems.value;
|
18031
|
+
});
|
18032
|
+
const menuDisabled = vue.computed(() => props.hideNoData && !displayItems.value.length || form.isReadonly.value || form.isDisabled.value);
|
18033
|
+
const _menu = useProxiedModel(props, 'menu');
|
18034
|
+
const menu = vue.computed({
|
18035
|
+
get: () => _menu.value,
|
18036
|
+
set: v => {
|
18037
|
+
if (_menu.value && !v && vMenuRef.value?.ΨopenChildren.size) return;
|
18038
|
+
if (v && menuDisabled.value) return;
|
18039
|
+
_menu.value = v;
|
18040
|
+
}
|
18041
|
+
});
|
18042
|
+
const label = vue.computed(() => menu.value ? props.closeText : props.openText);
|
18026
18043
|
vue.watch(_search, value => {
|
18027
18044
|
if (cleared) {
|
18028
18045
|
// wait for clear to finish, VTextField sets _search to null
|
@@ -18038,22 +18055,11 @@
|
|
18038
18055
|
_search.value = value[0]?.title ?? '';
|
18039
18056
|
}
|
18040
18057
|
});
|
18041
|
-
const {
|
18042
|
-
filteredItems,
|
18043
|
-
getMatches
|
18044
|
-
} = useFilter(props, items, () => isPristine.value ? '' : search.value);
|
18045
|
-
const displayItems = vue.computed(() => {
|
18046
|
-
if (props.hideSelected) {
|
18047
|
-
return filteredItems.value.filter(filteredItem => !model.value.some(s => s.value === filteredItem.value));
|
18048
|
-
}
|
18049
|
-
return filteredItems.value;
|
18050
|
-
});
|
18051
18058
|
const selectedValues = vue.computed(() => model.value.map(selection => selection.value));
|
18052
18059
|
const highlightFirst = vue.computed(() => {
|
18053
18060
|
const selectFirst = props.autoSelectFirst === true || props.autoSelectFirst === 'exact' && search.value === displayItems.value[0]?.title;
|
18054
18061
|
return selectFirst && displayItems.value.length > 0 && !isPristine.value && !listHasFocus.value;
|
18055
18062
|
});
|
18056
|
-
const menuDisabled = vue.computed(() => props.hideNoData && !displayItems.value.length || form.isReadonly.value || form.isDisabled.value);
|
18057
18063
|
const listRef = vue.ref();
|
18058
18064
|
const listEvents = useScrolling(listRef, vTextFieldRef);
|
18059
18065
|
function onClear(e) {
|
@@ -18404,6 +18410,7 @@
|
|
18404
18410
|
}
|
18405
18411
|
return vue.createVNode(vue.Fragment, null, [slots['append-inner']?.(...args), (!props.hideNoData || props.items.length) && props.menuIcon ? vue.createVNode(VIcon, {
|
18406
18412
|
"class": "v-combobox__menu-icon",
|
18413
|
+
"color": vTextFieldRef.value?.fieldIconColor,
|
18407
18414
|
"icon": props.menuIcon,
|
18408
18415
|
"onMousedown": onMousedownMenuIcon,
|
18409
18416
|
"onClick": noop,
|
@@ -24553,7 +24560,7 @@
|
|
24553
24560
|
position: location,
|
24554
24561
|
layoutSize,
|
24555
24562
|
elementSize: width,
|
24556
|
-
active: vue.
|
24563
|
+
active: vue.readonly(isActive),
|
24557
24564
|
disableTransitions: vue.computed(() => isDragging.value),
|
24558
24565
|
absolute: vue.computed(() =>
|
24559
24566
|
// eslint-disable-next-line @typescript-eslint/no-use-before-define
|
@@ -31534,7 +31541,7 @@
|
|
31534
31541
|
};
|
31535
31542
|
});
|
31536
31543
|
}
|
31537
|
-
const version$1 = "3.8.0-master.2025-04-
|
31544
|
+
const version$1 = "3.8.0-master.2025-04-03";
|
31538
31545
|
createVuetify$1.version = version$1;
|
31539
31546
|
|
31540
31547
|
// Vue's inject() can only be used in setup
|
@@ -31819,7 +31826,7 @@
|
|
31819
31826
|
|
31820
31827
|
/* eslint-disable local-rules/sort-imports */
|
31821
31828
|
|
31822
|
-
const version = "3.8.0-master.2025-04-
|
31829
|
+
const version = "3.8.0-master.2025-04-03";
|
31823
31830
|
|
31824
31831
|
/* eslint-disable local-rules/sort-imports */
|
31825
31832
|
|