@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-labs.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
|
*/
|
@@ -11732,7 +11732,7 @@ const VField = genericComponent()({
|
|
11732
11732
|
return props.error || props.disabled ? undefined : isActive.value && isFocused.value ? props.color : props.baseColor;
|
11733
11733
|
});
|
11734
11734
|
const iconColor = computed(() => {
|
11735
|
-
if (!props.iconColor) return undefined;
|
11735
|
+
if (!props.iconColor || props.glow && !isFocused.value) return undefined;
|
11736
11736
|
return props.iconColor === true ? color.value : props.iconColor;
|
11737
11737
|
});
|
11738
11738
|
const {
|
@@ -11930,7 +11930,8 @@ const VField = genericComponent()({
|
|
11930
11930
|
})])]);
|
11931
11931
|
});
|
11932
11932
|
return {
|
11933
|
-
controlRef
|
11933
|
+
controlRef,
|
11934
|
+
fieldIconColor: iconColor
|
11934
11935
|
};
|
11935
11936
|
}
|
11936
11937
|
});
|
@@ -12280,7 +12281,12 @@ function useVirtual(props, items) {
|
|
12280
12281
|
}
|
12281
12282
|
function calculateOffset(index) {
|
12282
12283
|
index = clamp(index, 0, items.value.length - 1);
|
12283
|
-
|
12284
|
+
const whole = Math.floor(index);
|
12285
|
+
const fraction = index % 1;
|
12286
|
+
const next = whole + 1;
|
12287
|
+
const wholeOffset = offsets[whole] || 0;
|
12288
|
+
const nextOffset = offsets[next] || wholeOffset;
|
12289
|
+
return wholeOffset + (nextOffset - wholeOffset) * fraction;
|
12284
12290
|
}
|
12285
12291
|
function calculateIndex(scrollTop) {
|
12286
12292
|
return binaryClosest(offsets, scrollTop);
|
@@ -12668,14 +12674,6 @@ const VSelect = genericComponent()({
|
|
12668
12674
|
const vTextFieldRef = ref();
|
12669
12675
|
const vMenuRef = ref();
|
12670
12676
|
const vVirtualScrollRef = ref();
|
12671
|
-
const _menu = useProxiedModel(props, 'menu');
|
12672
|
-
const menu = computed({
|
12673
|
-
get: () => _menu.value,
|
12674
|
-
set: v => {
|
12675
|
-
if (_menu.value && !v && vMenuRef.value?.ΨopenChildren.size) return;
|
12676
|
-
_menu.value = v;
|
12677
|
-
}
|
12678
|
-
});
|
12679
12677
|
const {
|
12680
12678
|
items,
|
12681
12679
|
transformIn,
|
@@ -12691,7 +12689,6 @@ const VSelect = genericComponent()({
|
|
12691
12689
|
const form = useForm(props);
|
12692
12690
|
const selectedValues = computed(() => model.value.map(selection => selection.value));
|
12693
12691
|
const isFocused = shallowRef(false);
|
12694
|
-
const label = computed(() => menu.value ? props.closeText : props.openText);
|
12695
12692
|
let keyboardLookupPrefix = '';
|
12696
12693
|
let keyboardLookupLastTime;
|
12697
12694
|
const displayItems = computed(() => {
|
@@ -12701,6 +12698,16 @@ const VSelect = genericComponent()({
|
|
12701
12698
|
return items.value;
|
12702
12699
|
});
|
12703
12700
|
const menuDisabled = computed(() => props.hideNoData && !displayItems.value.length || form.isReadonly.value || form.isDisabled.value);
|
12701
|
+
const _menu = useProxiedModel(props, 'menu');
|
12702
|
+
const menu = computed({
|
12703
|
+
get: () => _menu.value,
|
12704
|
+
set: v => {
|
12705
|
+
if (_menu.value && !v && vMenuRef.value?.ΨopenChildren.size) return;
|
12706
|
+
if (v && menuDisabled.value) return;
|
12707
|
+
_menu.value = v;
|
12708
|
+
}
|
12709
|
+
});
|
12710
|
+
const label = computed(() => menu.value ? props.closeText : props.openText);
|
12704
12711
|
const computedMenuProps = computed(() => {
|
12705
12712
|
return {
|
12706
12713
|
...props.menuProps,
|
@@ -12996,6 +13003,7 @@ const VSelect = genericComponent()({
|
|
12996
13003
|
}
|
12997
13004
|
return createVNode(Fragment, null, [slots['append-inner']?.(...args), props.menuIcon ? createVNode(VIcon, {
|
12998
13005
|
"class": "v-select__menu-icon",
|
13006
|
+
"color": vTextFieldRef.value?.fieldIconColor,
|
12999
13007
|
"icon": props.menuIcon
|
13000
13008
|
}, null) : undefined]);
|
13001
13009
|
}
|
@@ -13199,17 +13207,8 @@ const VAutocomplete = genericComponent()({
|
|
13199
13207
|
const listHasFocus = shallowRef(false);
|
13200
13208
|
const vMenuRef = ref();
|
13201
13209
|
const vVirtualScrollRef = ref();
|
13202
|
-
const _menu = useProxiedModel(props, 'menu');
|
13203
|
-
const menu = computed({
|
13204
|
-
get: () => _menu.value,
|
13205
|
-
set: v => {
|
13206
|
-
if (_menu.value && !v && vMenuRef.value?.ΨopenChildren.size) return;
|
13207
|
-
_menu.value = v;
|
13208
|
-
}
|
13209
|
-
});
|
13210
13210
|
const selectionIndex = shallowRef(-1);
|
13211
13211
|
const color = computed(() => vTextFieldRef.value?.color);
|
13212
|
-
const label = computed(() => menu.value ? props.closeText : props.openText);
|
13213
13212
|
const {
|
13214
13213
|
items,
|
13215
13214
|
transformIn,
|
@@ -13246,6 +13245,16 @@ const VAutocomplete = genericComponent()({
|
|
13246
13245
|
return selectFirst && displayItems.value.length > 0 && !isPristine.value && !listHasFocus.value;
|
13247
13246
|
});
|
13248
13247
|
const menuDisabled = computed(() => props.hideNoData && !displayItems.value.length || form.isReadonly.value || form.isDisabled.value);
|
13248
|
+
const _menu = useProxiedModel(props, 'menu');
|
13249
|
+
const menu = computed({
|
13250
|
+
get: () => _menu.value,
|
13251
|
+
set: v => {
|
13252
|
+
if (_menu.value && !v && vMenuRef.value?.ΨopenChildren.size) return;
|
13253
|
+
if (v && menuDisabled.value) return;
|
13254
|
+
_menu.value = v;
|
13255
|
+
}
|
13256
|
+
});
|
13257
|
+
const label = computed(() => menu.value ? props.closeText : props.openText);
|
13249
13258
|
const listRef = ref();
|
13250
13259
|
const listEvents = useScrolling(listRef, vTextFieldRef);
|
13251
13260
|
function onClear(e) {
|
@@ -13595,6 +13604,7 @@ const VAutocomplete = genericComponent()({
|
|
13595
13604
|
}
|
13596
13605
|
return createVNode(Fragment, null, [slots['append-inner']?.(...args), props.menuIcon ? createVNode(VIcon, {
|
13597
13606
|
"class": "v-autocomplete__menu-icon",
|
13607
|
+
"color": vTextFieldRef.value?.fieldIconColor,
|
13598
13608
|
"icon": props.menuIcon,
|
13599
13609
|
"onMousedown": onMousedownMenuIcon,
|
13600
13610
|
"onClick": noop,
|
@@ -17964,18 +17974,9 @@ const VCombobox = genericComponent()({
|
|
17964
17974
|
const listHasFocus = shallowRef(false);
|
17965
17975
|
const vMenuRef = ref();
|
17966
17976
|
const vVirtualScrollRef = ref();
|
17967
|
-
const _menu = useProxiedModel(props, 'menu');
|
17968
|
-
const menu = computed({
|
17969
|
-
get: () => _menu.value,
|
17970
|
-
set: v => {
|
17971
|
-
if (_menu.value && !v && vMenuRef.value?.ΨopenChildren.size) return;
|
17972
|
-
_menu.value = v;
|
17973
|
-
}
|
17974
|
-
});
|
17975
17977
|
const selectionIndex = shallowRef(-1);
|
17976
17978
|
let cleared = false;
|
17977
17979
|
const color = computed(() => vTextFieldRef.value?.color);
|
17978
|
-
const label = computed(() => menu.value ? props.closeText : props.openText);
|
17979
17980
|
const {
|
17980
17981
|
items,
|
17981
17982
|
transformIn,
|
@@ -18019,6 +18020,27 @@ const VCombobox = genericComponent()({
|
|
18019
18020
|
const counterValue = computed(() => {
|
18020
18021
|
return typeof props.counterValue === 'function' ? props.counterValue(model.value) : typeof props.counterValue === 'number' ? props.counterValue : props.multiple ? model.value.length : search.value.length;
|
18021
18022
|
});
|
18023
|
+
const {
|
18024
|
+
filteredItems,
|
18025
|
+
getMatches
|
18026
|
+
} = useFilter(props, items, () => isPristine.value ? '' : search.value);
|
18027
|
+
const displayItems = computed(() => {
|
18028
|
+
if (props.hideSelected) {
|
18029
|
+
return filteredItems.value.filter(filteredItem => !model.value.some(s => s.value === filteredItem.value));
|
18030
|
+
}
|
18031
|
+
return filteredItems.value;
|
18032
|
+
});
|
18033
|
+
const menuDisabled = computed(() => props.hideNoData && !displayItems.value.length || form.isReadonly.value || form.isDisabled.value);
|
18034
|
+
const _menu = useProxiedModel(props, 'menu');
|
18035
|
+
const menu = computed({
|
18036
|
+
get: () => _menu.value,
|
18037
|
+
set: v => {
|
18038
|
+
if (_menu.value && !v && vMenuRef.value?.ΨopenChildren.size) return;
|
18039
|
+
if (v && menuDisabled.value) return;
|
18040
|
+
_menu.value = v;
|
18041
|
+
}
|
18042
|
+
});
|
18043
|
+
const label = computed(() => menu.value ? props.closeText : props.openText);
|
18022
18044
|
watch(_search, value => {
|
18023
18045
|
if (cleared) {
|
18024
18046
|
// wait for clear to finish, VTextField sets _search to null
|
@@ -18034,22 +18056,11 @@ const VCombobox = genericComponent()({
|
|
18034
18056
|
_search.value = value[0]?.title ?? '';
|
18035
18057
|
}
|
18036
18058
|
});
|
18037
|
-
const {
|
18038
|
-
filteredItems,
|
18039
|
-
getMatches
|
18040
|
-
} = useFilter(props, items, () => isPristine.value ? '' : search.value);
|
18041
|
-
const displayItems = computed(() => {
|
18042
|
-
if (props.hideSelected) {
|
18043
|
-
return filteredItems.value.filter(filteredItem => !model.value.some(s => s.value === filteredItem.value));
|
18044
|
-
}
|
18045
|
-
return filteredItems.value;
|
18046
|
-
});
|
18047
18059
|
const selectedValues = computed(() => model.value.map(selection => selection.value));
|
18048
18060
|
const highlightFirst = computed(() => {
|
18049
18061
|
const selectFirst = props.autoSelectFirst === true || props.autoSelectFirst === 'exact' && search.value === displayItems.value[0]?.title;
|
18050
18062
|
return selectFirst && displayItems.value.length > 0 && !isPristine.value && !listHasFocus.value;
|
18051
18063
|
});
|
18052
|
-
const menuDisabled = computed(() => props.hideNoData && !displayItems.value.length || form.isReadonly.value || form.isDisabled.value);
|
18053
18064
|
const listRef = ref();
|
18054
18065
|
const listEvents = useScrolling(listRef, vTextFieldRef);
|
18055
18066
|
function onClear(e) {
|
@@ -18400,6 +18411,7 @@ const VCombobox = genericComponent()({
|
|
18400
18411
|
}
|
18401
18412
|
return createVNode(Fragment, null, [slots['append-inner']?.(...args), (!props.hideNoData || props.items.length) && props.menuIcon ? createVNode(VIcon, {
|
18402
18413
|
"class": "v-combobox__menu-icon",
|
18414
|
+
"color": vTextFieldRef.value?.fieldIconColor,
|
18403
18415
|
"icon": props.menuIcon,
|
18404
18416
|
"onMousedown": onMousedownMenuIcon,
|
18405
18417
|
"onClick": noop,
|
@@ -31530,7 +31542,7 @@ function createVuetify$1() {
|
|
31530
31542
|
};
|
31531
31543
|
});
|
31532
31544
|
}
|
31533
|
-
const version$1 = "3.8.0-dev.2025-04-
|
31545
|
+
const version$1 = "3.8.0-dev.2025-04-03";
|
31534
31546
|
createVuetify$1.version = version$1;
|
31535
31547
|
|
31536
31548
|
// Vue's inject() can only be used in setup
|
@@ -31815,7 +31827,7 @@ var index = /*#__PURE__*/Object.freeze({
|
|
31815
31827
|
|
31816
31828
|
/* eslint-disable local-rules/sort-imports */
|
31817
31829
|
|
31818
|
-
const version = "3.8.0-dev.2025-04-
|
31830
|
+
const version = "3.8.0-dev.2025-04-03";
|
31819
31831
|
|
31820
31832
|
/* eslint-disable local-rules/sort-imports */
|
31821
31833
|
|