@vuetify/nightly 3.8.9-master.2025-06-13 → 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 +9 -3
- package/dist/json/attributes.json +3382 -3382
- package/dist/json/importMap-labs.json +24 -24
- package/dist/json/importMap.json +166 -166
- package/dist/json/web-types.json +6389 -6389
- package/dist/vuetify-labs.cjs +39 -14
- package/dist/vuetify-labs.css +3161 -3157
- package/dist/vuetify-labs.d.ts +65 -65
- package/dist/vuetify-labs.esm.js +39 -14
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +39 -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 +3844 -3840
- package/dist/vuetify.d.ts +65 -65
- 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/VDataTable/VDataTable.css +6 -3
- package/lib/components/VDataTable/VDataTable.sass +4 -2
- 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/hotkey.js +17 -17
- package/lib/composables/hotkey.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 +65 -65
- package/lib/framework.js +1 -1
- package/lib/labs/VFileUpload/VFileUploadItem.js +1 -0
- package/lib/labs/VFileUpload/VFileUploadItem.js.map +1 -1
- package/package.json +1 -1
package/dist/vuetify.d.ts
CHANGED
@@ -85908,43 +85908,39 @@ declare module 'vue' {
|
|
85908
85908
|
$children?: VNodeChild
|
85909
85909
|
}
|
85910
85910
|
export interface GlobalComponents {
|
85911
|
+
VAutocomplete: VAutocomplete
|
85912
|
+
VAlert: VAlert
|
85913
|
+
VAlertTitle: VAlertTitle
|
85911
85914
|
VAppBar: VAppBar
|
85912
85915
|
VAppBarNavIcon: VAppBarNavIcon
|
85913
85916
|
VAppBarTitle: VAppBarTitle
|
85914
|
-
VApp: VApp
|
85915
|
-
VAlert: VAlert
|
85916
|
-
VAlertTitle: VAlertTitle
|
85917
85917
|
VAvatar: VAvatar
|
85918
|
-
|
85919
|
-
|
85920
|
-
|
85921
|
-
|
85922
|
-
VBadge: VBadge
|
85918
|
+
VApp: VApp
|
85919
|
+
VBanner: VBanner
|
85920
|
+
VBannerActions: VBannerActions
|
85921
|
+
VBannerText: VBannerText
|
85923
85922
|
VBottomSheet: VBottomSheet
|
85924
|
-
|
85923
|
+
VBadge: VBadge
|
85925
85924
|
VBtnToggle: VBtnToggle
|
85926
|
-
|
85925
|
+
VCarousel: VCarousel
|
85926
|
+
VCarouselItem: VCarouselItem
|
85927
|
+
VCode: VCode
|
85927
85928
|
VCard: VCard
|
85928
85929
|
VCardActions: VCardActions
|
85929
85930
|
VCardItem: VCardItem
|
85930
85931
|
VCardSubtitle: VCardSubtitle
|
85931
85932
|
VCardText: VCardText
|
85932
85933
|
VCardTitle: VCardTitle
|
85933
|
-
|
85934
|
+
VChip: VChip
|
85935
|
+
VBreadcrumbs: VBreadcrumbs
|
85936
|
+
VBreadcrumbsItem: VBreadcrumbsItem
|
85937
|
+
VBreadcrumbsDivider: VBreadcrumbsDivider
|
85934
85938
|
VCheckbox: VCheckbox
|
85935
85939
|
VCheckboxBtn: VCheckboxBtn
|
85936
|
-
|
85937
|
-
|
85938
|
-
|
85939
|
-
|
85940
|
-
VCarousel: VCarousel
|
85941
|
-
VCarouselItem: VCarouselItem
|
85942
|
-
VDatePicker: VDatePicker
|
85943
|
-
VDatePickerControls: VDatePickerControls
|
85944
|
-
VDatePickerHeader: VDatePickerHeader
|
85945
|
-
VDatePickerMonth: VDatePickerMonth
|
85946
|
-
VDatePickerMonths: VDatePickerMonths
|
85947
|
-
VDatePickerYears: VDatePickerYears
|
85940
|
+
VCounter: VCounter
|
85941
|
+
VColorPicker: VColorPicker
|
85942
|
+
VBtn: VBtn
|
85943
|
+
VBtnGroup: VBtnGroup
|
85948
85944
|
VDataTable: VDataTable
|
85949
85945
|
VDataTableHeaders: VDataTableHeaders
|
85950
85946
|
VDataTableFooter: VDataTableFooter
|
@@ -85952,30 +85948,37 @@ declare module 'vue' {
|
|
85952
85948
|
VDataTableRow: VDataTableRow
|
85953
85949
|
VDataTableVirtual: VDataTableVirtual
|
85954
85950
|
VDataTableServer: VDataTableServer
|
85955
|
-
VColorPicker: VColorPicker
|
85956
|
-
VCounter: VCounter
|
85957
85951
|
VDialog: VDialog
|
85952
|
+
VDatePicker: VDatePicker
|
85953
|
+
VDatePickerControls: VDatePickerControls
|
85954
|
+
VDatePickerHeader: VDatePickerHeader
|
85955
|
+
VDatePickerMonth: VDatePickerMonth
|
85956
|
+
VDatePickerMonths: VDatePickerMonths
|
85957
|
+
VDatePickerYears: VDatePickerYears
|
85958
|
+
VEmptyState: VEmptyState
|
85959
|
+
VChipGroup: VChipGroup
|
85958
85960
|
VExpansionPanels: VExpansionPanels
|
85959
85961
|
VExpansionPanel: VExpansionPanel
|
85960
85962
|
VExpansionPanelText: VExpansionPanelText
|
85961
85963
|
VExpansionPanelTitle: VExpansionPanelTitle
|
85962
|
-
|
85963
|
-
VEmptyState: VEmptyState
|
85964
|
+
VFileInput: VFileInput
|
85964
85965
|
VField: VField
|
85965
85966
|
VFieldLabel: VFieldLabel
|
85967
|
+
VCombobox: VCombobox
|
85968
|
+
VFab: VFab
|
85966
85969
|
VFooter: VFooter
|
85967
|
-
VInfiniteScroll: VInfiniteScroll
|
85968
|
-
VFileInput: VFileInput
|
85969
85970
|
VIcon: VIcon
|
85970
85971
|
VComponentIcon: VComponentIcon
|
85971
85972
|
VSvgIcon: VSvgIcon
|
85972
85973
|
VLigatureIcon: VLigatureIcon
|
85973
85974
|
VClassIcon: VClassIcon
|
85975
|
+
VInput: VInput
|
85976
|
+
VInfiniteScroll: VInfiniteScroll
|
85974
85977
|
VImg: VImg
|
85975
|
-
|
85978
|
+
VLabel: VLabel
|
85976
85979
|
VItemGroup: VItemGroup
|
85977
85980
|
VItem: VItem
|
85978
|
-
|
85981
|
+
VKbd: VKbd
|
85979
85982
|
VList: VList
|
85980
85983
|
VListGroup: VListGroup
|
85981
85984
|
VListImg: VListImg
|
@@ -85985,78 +85988,75 @@ declare module 'vue' {
|
|
85985
85988
|
VListItemSubtitle: VListItemSubtitle
|
85986
85989
|
VListItemTitle: VListItemTitle
|
85987
85990
|
VListSubheader: VListSubheader
|
85988
|
-
VLabel: VLabel
|
85989
|
-
VMenu: VMenu
|
85990
85991
|
VMessages: VMessages
|
85991
|
-
VMain: VMain
|
85992
85992
|
VNavigationDrawer: VNavigationDrawer
|
85993
85993
|
VOtpInput: VOtpInput
|
85994
|
-
|
85995
|
-
|
85994
|
+
VMain: VMain
|
85995
|
+
VMenu: VMenu
|
85996
85996
|
VNumberInput: VNumberInput
|
85997
85997
|
VPagination: VPagination
|
85998
85998
|
VProgressCircular: VProgressCircular
|
85999
|
-
VRadioGroup: VRadioGroup
|
86000
85999
|
VProgressLinear: VProgressLinear
|
86001
|
-
|
86000
|
+
VOverlay: VOverlay
|
86002
86001
|
VRating: VRating
|
86003
86002
|
VSelectionControl: VSelectionControl
|
86003
|
+
VSlider: VSlider
|
86004
|
+
VSelect: VSelect
|
86005
|
+
VRadioGroup: VRadioGroup
|
86006
|
+
VSheet: VSheet
|
86004
86007
|
VSelectionControlGroup: VSelectionControlGroup
|
86008
|
+
VSkeletonLoader: VSkeletonLoader
|
86009
|
+
VSnackbar: VSnackbar
|
86005
86010
|
VSlideGroup: VSlideGroup
|
86006
86011
|
VSlideGroupItem: VSlideGroupItem
|
86007
|
-
|
86008
|
-
VSheet: VSheet
|
86009
|
-
VSkeletonLoader: VSkeletonLoader
|
86012
|
+
VSwitch: VSwitch
|
86010
86013
|
VStepper: VStepper
|
86011
86014
|
VStepperActions: VStepperActions
|
86012
86015
|
VStepperHeader: VStepperHeader
|
86013
86016
|
VStepperItem: VStepperItem
|
86014
86017
|
VStepperWindow: VStepperWindow
|
86015
86018
|
VStepperWindowItem: VStepperWindowItem
|
86016
|
-
VSlider: VSlider
|
86017
|
-
VSwitch: VSwitch
|
86018
|
-
VSystemBar: VSystemBar
|
86019
|
-
VTable: VTable
|
86020
86019
|
VTab: VTab
|
86021
86020
|
VTabs: VTabs
|
86022
86021
|
VTabsWindow: VTabsWindow
|
86023
86022
|
VTabsWindowItem: VTabsWindowItem
|
86024
|
-
|
86023
|
+
VTable: VTable
|
86025
86024
|
VTextField: VTextField
|
86026
86025
|
VTimeline: VTimeline
|
86027
86026
|
VTimelineItem: VTimelineItem
|
86028
86027
|
VToolbar: VToolbar
|
86029
86028
|
VToolbarTitle: VToolbarTitle
|
86030
86029
|
VToolbarItems: VToolbarItems
|
86030
|
+
VTooltip: VTooltip
|
86031
|
+
VSystemBar: VSystemBar
|
86032
|
+
VTextarea: VTextarea
|
86031
86033
|
VWindow: VWindow
|
86032
86034
|
VWindowItem: VWindowItem
|
86033
|
-
|
86034
|
-
VDataIterator: VDataIterator
|
86035
|
-
VConfirmEdit: VConfirmEdit
|
86035
|
+
VBottomNavigation: VBottomNavigation
|
86036
86036
|
VDefaultsProvider: VDefaultsProvider
|
86037
|
-
|
86037
|
+
VConfirmEdit: VConfirmEdit
|
86038
|
+
VHover: VHover
|
86038
86039
|
VContainer: VContainer
|
86039
86040
|
VCol: VCol
|
86040
86041
|
VRow: VRow
|
86041
86042
|
VSpacer: VSpacer
|
86042
|
-
|
86043
|
+
VForm: VForm
|
86043
86044
|
VLayout: VLayout
|
86044
86045
|
VLayoutItem: VLayoutItem
|
86045
86046
|
VLazy: VLazy
|
86046
86047
|
VLocaleProvider: VLocaleProvider
|
86047
86048
|
VNoSsr: VNoSsr
|
86048
|
-
VParallax: VParallax
|
86049
86049
|
VRadio: VRadio
|
86050
|
+
VParallax: VParallax
|
86051
|
+
VRangeSlider: VRangeSlider
|
86050
86052
|
VResponsive: VResponsive
|
86051
86053
|
VSnackbarQueue: VSnackbarQueue
|
86052
86054
|
VSparkline: VSparkline
|
86053
86055
|
VSpeedDial: VSpeedDial
|
86054
|
-
|
86055
|
-
VBannerActions: VBannerActions
|
86056
|
-
VBannerText: VBannerText
|
86056
|
+
VVirtualScroll: VVirtualScroll
|
86057
86057
|
VThemeProvider: VThemeProvider
|
86058
86058
|
VValidation: VValidation
|
86059
|
-
|
86059
|
+
VDivider: VDivider
|
86060
86060
|
VFabTransition: VFabTransition
|
86061
86061
|
VDialogBottomTransition: VDialogBottomTransition
|
86062
86062
|
VDialogTopTransition: VDialogTopTransition
|
@@ -86073,7 +86073,7 @@ declare module 'vue' {
|
|
86073
86073
|
VExpandTransition: VExpandTransition
|
86074
86074
|
VExpandXTransition: VExpandXTransition
|
86075
86075
|
VDialogTransition: VDialogTransition
|
86076
|
-
|
86076
|
+
VDataIterator: VDataIterator
|
86077
86077
|
VCalendar: VCalendar
|
86078
86078
|
VCalendarDay: VCalendarDay
|
86079
86079
|
VCalendarHeader: VCalendarHeader
|
@@ -86081,21 +86081,21 @@ declare module 'vue' {
|
|
86081
86081
|
VCalendarIntervalEvent: VCalendarIntervalEvent
|
86082
86082
|
VCalendarMonthDay: VCalendarMonthDay
|
86083
86083
|
VIconBtn: VIconBtn
|
86084
|
+
VFileUpload: VFileUpload
|
86085
|
+
VFileUploadItem: VFileUploadItem
|
86086
|
+
VColorInput: VColorInput
|
86087
|
+
VPicker: VPicker
|
86088
|
+
VPickerTitle: VPickerTitle
|
86084
86089
|
VStepperVertical: VStepperVertical
|
86085
86090
|
VStepperVerticalItem: VStepperVerticalItem
|
86086
86091
|
VStepperVerticalActions: VStepperVerticalActions
|
86087
|
-
VPicker: VPicker
|
86088
|
-
VPickerTitle: VPickerTitle
|
86089
|
-
VTimePicker: VTimePicker
|
86090
|
-
VTimePickerClock: VTimePickerClock
|
86091
|
-
VTimePickerControls: VTimePickerControls
|
86092
|
-
VFileUpload: VFileUpload
|
86093
|
-
VFileUploadItem: VFileUploadItem
|
86094
86092
|
VTreeview: VTreeview
|
86095
86093
|
VTreeviewItem: VTreeviewItem
|
86096
86094
|
VTreeviewGroup: VTreeviewGroup
|
86095
|
+
VTimePicker: VTimePicker
|
86096
|
+
VTimePickerClock: VTimePickerClock
|
86097
|
+
VTimePickerControls: VTimePickerControls
|
86097
86098
|
VDateInput: VDateInput
|
86098
86099
|
VPullToRefresh: VPullToRefresh
|
86099
|
-
VColorInput: VColorInput
|
86100
86100
|
}
|
86101
86101
|
}
|
package/dist/vuetify.esm.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
|
*/
|
@@ -4887,6 +4887,7 @@ function useGroup(props, injectKey) {
|
|
4887
4887
|
} else {
|
4888
4888
|
const isSelected = selected.value.includes(id);
|
4889
4889
|
if (props.mandatory && isSelected) return;
|
4890
|
+
if (!isSelected && !value) return;
|
4890
4891
|
selected.value = value ?? !isSelected ? [id] : [];
|
4891
4892
|
}
|
4892
4893
|
}
|
@@ -5112,7 +5113,7 @@ function useIntersectionObserver(callback, options) {
|
|
5112
5113
|
const observer = new IntersectionObserver(entries => {
|
5113
5114
|
isIntersecting.value = !!entries.find(entry => entry.isIntersecting);
|
5114
5115
|
}, options);
|
5115
|
-
|
5116
|
+
onScopeDispose(() => {
|
5116
5117
|
observer.disconnect();
|
5117
5118
|
});
|
5118
5119
|
watch(intersectionRef, (newValue, oldValue) => {
|
@@ -5643,9 +5644,9 @@ function useBackButton(router, cb) {
|
|
5643
5644
|
|
5644
5645
|
function useSelectLink(link, select) {
|
5645
5646
|
watch(() => link.isActive?.value, isActive => {
|
5646
|
-
if (link.isLink.value && isActive && select) {
|
5647
|
+
if (link.isLink.value && isActive != null && select) {
|
5647
5648
|
nextTick(() => {
|
5648
|
-
select(
|
5649
|
+
select(isActive);
|
5649
5650
|
});
|
5650
5651
|
}
|
5651
5652
|
}, {
|
@@ -12342,6 +12343,16 @@ const VField = genericComponent()({
|
|
12342
12343
|
}
|
12343
12344
|
});
|
12344
12345
|
|
12346
|
+
function useAutofocus(props) {
|
12347
|
+
function onIntersect(isIntersecting, entries) {
|
12348
|
+
if (!props.autofocus || !isIntersecting) return;
|
12349
|
+
entries[0].target?.focus?.();
|
12350
|
+
}
|
12351
|
+
return {
|
12352
|
+
onIntersect
|
12353
|
+
};
|
12354
|
+
}
|
12355
|
+
|
12345
12356
|
// Types
|
12346
12357
|
|
12347
12358
|
const activeTypes = ['color', 'file', 'time', 'date', 'datetime-local', 'week', 'month'];
|
@@ -12388,6 +12399,9 @@ const VTextField = genericComponent()({
|
|
12388
12399
|
focus,
|
12389
12400
|
blur
|
12390
12401
|
} = useFocus(props);
|
12402
|
+
const {
|
12403
|
+
onIntersect
|
12404
|
+
} = useAutofocus(props);
|
12391
12405
|
const counterValue = computed(() => {
|
12392
12406
|
return typeof props.counterValue === 'function' ? props.counterValue(model.value) : typeof props.counterValue === 'number' ? props.counterValue : (model.value ?? '').toString().length;
|
12393
12407
|
});
|
@@ -12397,10 +12411,6 @@ const VTextField = genericComponent()({
|
|
12397
12411
|
return props.counter;
|
12398
12412
|
});
|
12399
12413
|
const isPlainOrUnderlined = computed(() => ['plain', 'underlined'].includes(props.variant));
|
12400
|
-
function onIntersect(isIntersecting, entries) {
|
12401
|
-
if (!props.autofocus || !isIntersecting) return;
|
12402
|
-
entries[0].target?.focus?.();
|
12403
|
-
}
|
12404
12414
|
const vInputRef = ref();
|
12405
12415
|
const vFieldRef = ref();
|
12406
12416
|
const inputRef = ref();
|
@@ -25646,6 +25656,21 @@ const VOtpInput = genericComponent()({
|
|
25646
25656
|
const contentRef = ref();
|
25647
25657
|
const inputRef = ref([]);
|
25648
25658
|
const current = computed(() => inputRef.value[focusIndex.value]);
|
25659
|
+
const intersectScope = effectScope();
|
25660
|
+
intersectScope.run(() => {
|
25661
|
+
const {
|
25662
|
+
intersectionRef,
|
25663
|
+
isIntersecting
|
25664
|
+
} = useIntersectionObserver();
|
25665
|
+
watch(isIntersecting, v => {
|
25666
|
+
if (!v) return;
|
25667
|
+
intersectionRef.value?.focus();
|
25668
|
+
intersectScope.stop();
|
25669
|
+
});
|
25670
|
+
watchEffect(() => {
|
25671
|
+
intersectionRef.value = inputRef.value[0];
|
25672
|
+
});
|
25673
|
+
});
|
25649
25674
|
function onInput() {
|
25650
25675
|
// The maxlength attribute doesn't work for the number type input, so the text type is used.
|
25651
25676
|
// The following logic simulates the behavior of a number input.
|
@@ -28392,6 +28417,9 @@ const VTextarea = genericComponent()({
|
|
28392
28417
|
focus,
|
28393
28418
|
blur
|
28394
28419
|
} = useFocus(props);
|
28420
|
+
const {
|
28421
|
+
onIntersect
|
28422
|
+
} = useAutofocus(props);
|
28395
28423
|
const counterValue = computed(() => {
|
28396
28424
|
return typeof props.counterValue === 'function' ? props.counterValue(model.value) : (model.value || '').toString().length;
|
28397
28425
|
});
|
@@ -28400,10 +28428,6 @@ const VTextarea = genericComponent()({
|
|
28400
28428
|
if (!props.counter || typeof props.counter !== 'number' && typeof props.counter !== 'string') return undefined;
|
28401
28429
|
return props.counter;
|
28402
28430
|
});
|
28403
|
-
function onIntersect(isIntersecting, entries) {
|
28404
|
-
if (!props.autofocus || !isIntersecting) return;
|
28405
|
-
entries[0].target?.focus?.();
|
28406
|
-
}
|
28407
28431
|
const vInputRef = ref();
|
28408
28432
|
const vFieldRef = ref();
|
28409
28433
|
const controlHeight = shallowRef('');
|
@@ -29483,7 +29507,7 @@ function createVuetify$1() {
|
|
29483
29507
|
};
|
29484
29508
|
});
|
29485
29509
|
}
|
29486
|
-
const version$1 = "3.8.9-master.2025-06-
|
29510
|
+
const version$1 = "3.8.9-master.2025-06-17";
|
29487
29511
|
createVuetify$1.version = version$1;
|
29488
29512
|
|
29489
29513
|
// Vue's inject() can only be used in setup
|
@@ -29508,7 +29532,7 @@ const createVuetify = function () {
|
|
29508
29532
|
...options
|
29509
29533
|
});
|
29510
29534
|
};
|
29511
|
-
const version = "3.8.9-master.2025-06-
|
29535
|
+
const version = "3.8.9-master.2025-06-17";
|
29512
29536
|
createVuetify.version = version;
|
29513
29537
|
|
29514
29538
|
export { index as blueprints, components, createVuetify, directives, useDate, useDefaults, useDisplay, useGoTo, useLayout, useLocale, useRtl, useTheme, version };
|