@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-labs.d.ts
CHANGED
@@ -101795,43 +101795,39 @@ declare module 'vue' {
|
|
101795
101795
|
$children?: VNodeChild
|
101796
101796
|
}
|
101797
101797
|
export interface GlobalComponents {
|
101798
|
+
VAutocomplete: VAutocomplete
|
101799
|
+
VAlert: VAlert
|
101800
|
+
VAlertTitle: VAlertTitle
|
101798
101801
|
VAppBar: VAppBar
|
101799
101802
|
VAppBarNavIcon: VAppBarNavIcon
|
101800
101803
|
VAppBarTitle: VAppBarTitle
|
101801
|
-
VApp: VApp
|
101802
|
-
VAlert: VAlert
|
101803
|
-
VAlertTitle: VAlertTitle
|
101804
101804
|
VAvatar: VAvatar
|
101805
|
-
|
101806
|
-
|
101807
|
-
|
101808
|
-
|
101809
|
-
VBadge: VBadge
|
101805
|
+
VApp: VApp
|
101806
|
+
VBanner: VBanner
|
101807
|
+
VBannerActions: VBannerActions
|
101808
|
+
VBannerText: VBannerText
|
101810
101809
|
VBottomSheet: VBottomSheet
|
101811
|
-
|
101810
|
+
VBadge: VBadge
|
101812
101811
|
VBtnToggle: VBtnToggle
|
101813
|
-
|
101812
|
+
VCarousel: VCarousel
|
101813
|
+
VCarouselItem: VCarouselItem
|
101814
|
+
VCode: VCode
|
101814
101815
|
VCard: VCard
|
101815
101816
|
VCardActions: VCardActions
|
101816
101817
|
VCardItem: VCardItem
|
101817
101818
|
VCardSubtitle: VCardSubtitle
|
101818
101819
|
VCardText: VCardText
|
101819
101820
|
VCardTitle: VCardTitle
|
101820
|
-
|
101821
|
+
VChip: VChip
|
101822
|
+
VBreadcrumbs: VBreadcrumbs
|
101823
|
+
VBreadcrumbsItem: VBreadcrumbsItem
|
101824
|
+
VBreadcrumbsDivider: VBreadcrumbsDivider
|
101821
101825
|
VCheckbox: VCheckbox
|
101822
101826
|
VCheckboxBtn: VCheckboxBtn
|
101823
|
-
|
101824
|
-
|
101825
|
-
|
101826
|
-
|
101827
|
-
VCarousel: VCarousel
|
101828
|
-
VCarouselItem: VCarouselItem
|
101829
|
-
VDatePicker: VDatePicker
|
101830
|
-
VDatePickerControls: VDatePickerControls
|
101831
|
-
VDatePickerHeader: VDatePickerHeader
|
101832
|
-
VDatePickerMonth: VDatePickerMonth
|
101833
|
-
VDatePickerMonths: VDatePickerMonths
|
101834
|
-
VDatePickerYears: VDatePickerYears
|
101827
|
+
VCounter: VCounter
|
101828
|
+
VColorPicker: VColorPicker
|
101829
|
+
VBtn: VBtn
|
101830
|
+
VBtnGroup: VBtnGroup
|
101835
101831
|
VDataTable: VDataTable
|
101836
101832
|
VDataTableHeaders: VDataTableHeaders
|
101837
101833
|
VDataTableFooter: VDataTableFooter
|
@@ -101839,30 +101835,37 @@ declare module 'vue' {
|
|
101839
101835
|
VDataTableRow: VDataTableRow
|
101840
101836
|
VDataTableVirtual: VDataTableVirtual
|
101841
101837
|
VDataTableServer: VDataTableServer
|
101842
|
-
VColorPicker: VColorPicker
|
101843
|
-
VCounter: VCounter
|
101844
101838
|
VDialog: VDialog
|
101839
|
+
VDatePicker: VDatePicker
|
101840
|
+
VDatePickerControls: VDatePickerControls
|
101841
|
+
VDatePickerHeader: VDatePickerHeader
|
101842
|
+
VDatePickerMonth: VDatePickerMonth
|
101843
|
+
VDatePickerMonths: VDatePickerMonths
|
101844
|
+
VDatePickerYears: VDatePickerYears
|
101845
|
+
VEmptyState: VEmptyState
|
101846
|
+
VChipGroup: VChipGroup
|
101845
101847
|
VExpansionPanels: VExpansionPanels
|
101846
101848
|
VExpansionPanel: VExpansionPanel
|
101847
101849
|
VExpansionPanelText: VExpansionPanelText
|
101848
101850
|
VExpansionPanelTitle: VExpansionPanelTitle
|
101849
|
-
|
101850
|
-
VEmptyState: VEmptyState
|
101851
|
+
VFileInput: VFileInput
|
101851
101852
|
VField: VField
|
101852
101853
|
VFieldLabel: VFieldLabel
|
101854
|
+
VCombobox: VCombobox
|
101855
|
+
VFab: VFab
|
101853
101856
|
VFooter: VFooter
|
101854
|
-
VInfiniteScroll: VInfiniteScroll
|
101855
|
-
VFileInput: VFileInput
|
101856
101857
|
VIcon: VIcon
|
101857
101858
|
VComponentIcon: VComponentIcon
|
101858
101859
|
VSvgIcon: VSvgIcon
|
101859
101860
|
VLigatureIcon: VLigatureIcon
|
101860
101861
|
VClassIcon: VClassIcon
|
101862
|
+
VInput: VInput
|
101863
|
+
VInfiniteScroll: VInfiniteScroll
|
101861
101864
|
VImg: VImg
|
101862
|
-
|
101865
|
+
VLabel: VLabel
|
101863
101866
|
VItemGroup: VItemGroup
|
101864
101867
|
VItem: VItem
|
101865
|
-
|
101868
|
+
VKbd: VKbd
|
101866
101869
|
VList: VList
|
101867
101870
|
VListGroup: VListGroup
|
101868
101871
|
VListImg: VListImg
|
@@ -101872,78 +101875,75 @@ declare module 'vue' {
|
|
101872
101875
|
VListItemSubtitle: VListItemSubtitle
|
101873
101876
|
VListItemTitle: VListItemTitle
|
101874
101877
|
VListSubheader: VListSubheader
|
101875
|
-
VLabel: VLabel
|
101876
|
-
VMenu: VMenu
|
101877
101878
|
VMessages: VMessages
|
101878
|
-
VMain: VMain
|
101879
101879
|
VNavigationDrawer: VNavigationDrawer
|
101880
101880
|
VOtpInput: VOtpInput
|
101881
|
-
|
101882
|
-
|
101881
|
+
VMain: VMain
|
101882
|
+
VMenu: VMenu
|
101883
101883
|
VNumberInput: VNumberInput
|
101884
101884
|
VPagination: VPagination
|
101885
101885
|
VProgressCircular: VProgressCircular
|
101886
|
-
VRadioGroup: VRadioGroup
|
101887
101886
|
VProgressLinear: VProgressLinear
|
101888
|
-
|
101887
|
+
VOverlay: VOverlay
|
101889
101888
|
VRating: VRating
|
101890
101889
|
VSelectionControl: VSelectionControl
|
101890
|
+
VSlider: VSlider
|
101891
|
+
VSelect: VSelect
|
101892
|
+
VRadioGroup: VRadioGroup
|
101893
|
+
VSheet: VSheet
|
101891
101894
|
VSelectionControlGroup: VSelectionControlGroup
|
101895
|
+
VSkeletonLoader: VSkeletonLoader
|
101896
|
+
VSnackbar: VSnackbar
|
101892
101897
|
VSlideGroup: VSlideGroup
|
101893
101898
|
VSlideGroupItem: VSlideGroupItem
|
101894
|
-
|
101895
|
-
VSheet: VSheet
|
101896
|
-
VSkeletonLoader: VSkeletonLoader
|
101899
|
+
VSwitch: VSwitch
|
101897
101900
|
VStepper: VStepper
|
101898
101901
|
VStepperActions: VStepperActions
|
101899
101902
|
VStepperHeader: VStepperHeader
|
101900
101903
|
VStepperItem: VStepperItem
|
101901
101904
|
VStepperWindow: VStepperWindow
|
101902
101905
|
VStepperWindowItem: VStepperWindowItem
|
101903
|
-
VSlider: VSlider
|
101904
|
-
VSwitch: VSwitch
|
101905
|
-
VSystemBar: VSystemBar
|
101906
|
-
VTable: VTable
|
101907
101906
|
VTab: VTab
|
101908
101907
|
VTabs: VTabs
|
101909
101908
|
VTabsWindow: VTabsWindow
|
101910
101909
|
VTabsWindowItem: VTabsWindowItem
|
101911
|
-
|
101910
|
+
VTable: VTable
|
101912
101911
|
VTextField: VTextField
|
101913
101912
|
VTimeline: VTimeline
|
101914
101913
|
VTimelineItem: VTimelineItem
|
101915
101914
|
VToolbar: VToolbar
|
101916
101915
|
VToolbarTitle: VToolbarTitle
|
101917
101916
|
VToolbarItems: VToolbarItems
|
101917
|
+
VTooltip: VTooltip
|
101918
|
+
VSystemBar: VSystemBar
|
101919
|
+
VTextarea: VTextarea
|
101918
101920
|
VWindow: VWindow
|
101919
101921
|
VWindowItem: VWindowItem
|
101920
|
-
|
101921
|
-
VDataIterator: VDataIterator
|
101922
|
-
VConfirmEdit: VConfirmEdit
|
101922
|
+
VBottomNavigation: VBottomNavigation
|
101923
101923
|
VDefaultsProvider: VDefaultsProvider
|
101924
|
-
|
101924
|
+
VConfirmEdit: VConfirmEdit
|
101925
|
+
VHover: VHover
|
101925
101926
|
VContainer: VContainer
|
101926
101927
|
VCol: VCol
|
101927
101928
|
VRow: VRow
|
101928
101929
|
VSpacer: VSpacer
|
101929
|
-
|
101930
|
+
VForm: VForm
|
101930
101931
|
VLayout: VLayout
|
101931
101932
|
VLayoutItem: VLayoutItem
|
101932
101933
|
VLazy: VLazy
|
101933
101934
|
VLocaleProvider: VLocaleProvider
|
101934
101935
|
VNoSsr: VNoSsr
|
101935
|
-
VParallax: VParallax
|
101936
101936
|
VRadio: VRadio
|
101937
|
+
VParallax: VParallax
|
101938
|
+
VRangeSlider: VRangeSlider
|
101937
101939
|
VResponsive: VResponsive
|
101938
101940
|
VSnackbarQueue: VSnackbarQueue
|
101939
101941
|
VSparkline: VSparkline
|
101940
101942
|
VSpeedDial: VSpeedDial
|
101941
|
-
|
101942
|
-
VBannerActions: VBannerActions
|
101943
|
-
VBannerText: VBannerText
|
101943
|
+
VVirtualScroll: VVirtualScroll
|
101944
101944
|
VThemeProvider: VThemeProvider
|
101945
101945
|
VValidation: VValidation
|
101946
|
-
|
101946
|
+
VDivider: VDivider
|
101947
101947
|
VFabTransition: VFabTransition
|
101948
101948
|
VDialogBottomTransition: VDialogBottomTransition
|
101949
101949
|
VDialogTopTransition: VDialogTopTransition
|
@@ -101960,7 +101960,7 @@ declare module 'vue' {
|
|
101960
101960
|
VExpandTransition: VExpandTransition
|
101961
101961
|
VExpandXTransition: VExpandXTransition
|
101962
101962
|
VDialogTransition: VDialogTransition
|
101963
|
-
|
101963
|
+
VDataIterator: VDataIterator
|
101964
101964
|
VCalendar: VCalendar
|
101965
101965
|
VCalendarDay: VCalendarDay
|
101966
101966
|
VCalendarHeader: VCalendarHeader
|
@@ -101968,21 +101968,21 @@ declare module 'vue' {
|
|
101968
101968
|
VCalendarIntervalEvent: VCalendarIntervalEvent
|
101969
101969
|
VCalendarMonthDay: VCalendarMonthDay
|
101970
101970
|
VIconBtn: VIconBtn
|
101971
|
+
VFileUpload: VFileUpload
|
101972
|
+
VFileUploadItem: VFileUploadItem
|
101973
|
+
VColorInput: VColorInput
|
101974
|
+
VPicker: VPicker
|
101975
|
+
VPickerTitle: VPickerTitle
|
101971
101976
|
VStepperVertical: VStepperVertical
|
101972
101977
|
VStepperVerticalItem: VStepperVerticalItem
|
101973
101978
|
VStepperVerticalActions: VStepperVerticalActions
|
101974
|
-
VPicker: VPicker
|
101975
|
-
VPickerTitle: VPickerTitle
|
101976
|
-
VTimePicker: VTimePicker
|
101977
|
-
VTimePickerClock: VTimePickerClock
|
101978
|
-
VTimePickerControls: VTimePickerControls
|
101979
|
-
VFileUpload: VFileUpload
|
101980
|
-
VFileUploadItem: VFileUploadItem
|
101981
101979
|
VTreeview: VTreeview
|
101982
101980
|
VTreeviewItem: VTreeviewItem
|
101983
101981
|
VTreeviewGroup: VTreeviewGroup
|
101982
|
+
VTimePicker: VTimePicker
|
101983
|
+
VTimePickerClock: VTimePickerClock
|
101984
|
+
VTimePickerControls: VTimePickerControls
|
101984
101985
|
VDateInput: VDateInput
|
101985
101986
|
VPullToRefresh: VPullToRefresh
|
101986
|
-
VColorInput: VColorInput
|
101987
101987
|
}
|
101988
101988
|
}
|
package/dist/vuetify-labs.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
|
*/
|
@@ -4400,6 +4400,7 @@ function useGroup(props, injectKey) {
|
|
4400
4400
|
} else {
|
4401
4401
|
const isSelected = selected.value.includes(id);
|
4402
4402
|
if (props.mandatory && isSelected) return;
|
4403
|
+
if (!isSelected && !value) return;
|
4403
4404
|
selected.value = value ?? !isSelected ? [id] : [];
|
4404
4405
|
}
|
4405
4406
|
}
|
@@ -4834,7 +4835,7 @@ function useIntersectionObserver(callback, options) {
|
|
4834
4835
|
const observer = new IntersectionObserver(entries => {
|
4835
4836
|
isIntersecting.value = !!entries.find(entry => entry.isIntersecting);
|
4836
4837
|
}, options);
|
4837
|
-
|
4838
|
+
onScopeDispose(() => {
|
4838
4839
|
observer.disconnect();
|
4839
4840
|
});
|
4840
4841
|
watch(intersectionRef, (newValue, oldValue) => {
|
@@ -5365,9 +5366,9 @@ function useBackButton(router, cb) {
|
|
5365
5366
|
|
5366
5367
|
function useSelectLink(link, select) {
|
5367
5368
|
watch(() => link.isActive?.value, isActive => {
|
5368
|
-
if (link.isLink.value && isActive && select) {
|
5369
|
+
if (link.isLink.value && isActive != null && select) {
|
5369
5370
|
nextTick(() => {
|
5370
|
-
select(
|
5371
|
+
select(isActive);
|
5371
5372
|
});
|
5372
5373
|
}
|
5373
5374
|
}, {
|
@@ -12064,6 +12065,16 @@ const VField = genericComponent()({
|
|
12064
12065
|
}
|
12065
12066
|
});
|
12066
12067
|
|
12068
|
+
function useAutofocus(props) {
|
12069
|
+
function onIntersect(isIntersecting, entries) {
|
12070
|
+
if (!props.autofocus || !isIntersecting) return;
|
12071
|
+
entries[0].target?.focus?.();
|
12072
|
+
}
|
12073
|
+
return {
|
12074
|
+
onIntersect
|
12075
|
+
};
|
12076
|
+
}
|
12077
|
+
|
12067
12078
|
// Types
|
12068
12079
|
|
12069
12080
|
const activeTypes = ['color', 'file', 'time', 'date', 'datetime-local', 'week', 'month'];
|
@@ -12110,6 +12121,9 @@ const VTextField = genericComponent()({
|
|
12110
12121
|
focus,
|
12111
12122
|
blur
|
12112
12123
|
} = useFocus(props);
|
12124
|
+
const {
|
12125
|
+
onIntersect
|
12126
|
+
} = useAutofocus(props);
|
12113
12127
|
const counterValue = computed(() => {
|
12114
12128
|
return typeof props.counterValue === 'function' ? props.counterValue(model.value) : typeof props.counterValue === 'number' ? props.counterValue : (model.value ?? '').toString().length;
|
12115
12129
|
});
|
@@ -12119,10 +12133,6 @@ const VTextField = genericComponent()({
|
|
12119
12133
|
return props.counter;
|
12120
12134
|
});
|
12121
12135
|
const isPlainOrUnderlined = computed(() => ['plain', 'underlined'].includes(props.variant));
|
12122
|
-
function onIntersect(isIntersecting, entries) {
|
12123
|
-
if (!props.autofocus || !isIntersecting) return;
|
12124
|
-
entries[0].target?.focus?.();
|
12125
|
-
}
|
12126
12136
|
const vInputRef = ref();
|
12127
12137
|
const vFieldRef = ref();
|
12128
12138
|
const inputRef = ref();
|
@@ -25368,6 +25378,21 @@ const VOtpInput = genericComponent()({
|
|
25368
25378
|
const contentRef = ref();
|
25369
25379
|
const inputRef = ref([]);
|
25370
25380
|
const current = computed(() => inputRef.value[focusIndex.value]);
|
25381
|
+
const intersectScope = effectScope();
|
25382
|
+
intersectScope.run(() => {
|
25383
|
+
const {
|
25384
|
+
intersectionRef,
|
25385
|
+
isIntersecting
|
25386
|
+
} = useIntersectionObserver();
|
25387
|
+
watch(isIntersecting, v => {
|
25388
|
+
if (!v) return;
|
25389
|
+
intersectionRef.value?.focus();
|
25390
|
+
intersectScope.stop();
|
25391
|
+
});
|
25392
|
+
watchEffect(() => {
|
25393
|
+
intersectionRef.value = inputRef.value[0];
|
25394
|
+
});
|
25395
|
+
});
|
25371
25396
|
function onInput() {
|
25372
25397
|
// The maxlength attribute doesn't work for the number type input, so the text type is used.
|
25373
25398
|
// The following logic simulates the behavior of a number input.
|
@@ -28114,6 +28139,9 @@ const VTextarea = genericComponent()({
|
|
28114
28139
|
focus,
|
28115
28140
|
blur
|
28116
28141
|
} = useFocus(props);
|
28142
|
+
const {
|
28143
|
+
onIntersect
|
28144
|
+
} = useAutofocus(props);
|
28117
28145
|
const counterValue = computed(() => {
|
28118
28146
|
return typeof props.counterValue === 'function' ? props.counterValue(model.value) : (model.value || '').toString().length;
|
28119
28147
|
});
|
@@ -28122,10 +28150,6 @@ const VTextarea = genericComponent()({
|
|
28122
28150
|
if (!props.counter || typeof props.counter !== 'number' && typeof props.counter !== 'string') return undefined;
|
28123
28151
|
return props.counter;
|
28124
28152
|
});
|
28125
|
-
function onIntersect(isIntersecting, entries) {
|
28126
|
-
if (!props.autofocus || !isIntersecting) return;
|
28127
|
-
entries[0].target?.focus?.();
|
28128
|
-
}
|
28129
28153
|
const vInputRef = ref();
|
28130
28154
|
const vFieldRef = ref();
|
28131
28155
|
const controlHeight = shallowRef('');
|
@@ -29842,6 +29866,7 @@ const VFileUploadItem = genericComponent()({
|
|
29842
29866
|
"class": "v-file-upload-item"
|
29843
29867
|
}), {
|
29844
29868
|
...slots,
|
29869
|
+
title: () => props?.title ?? props.file?.name,
|
29845
29870
|
prepend: slotProps => createElementVNode(Fragment, null, [!slots.prepend ? createVNode(VAvatar, {
|
29846
29871
|
"icon": props.fileIcon,
|
29847
29872
|
"image": preview.value,
|
@@ -32170,7 +32195,7 @@ function createVuetify$1() {
|
|
32170
32195
|
};
|
32171
32196
|
});
|
32172
32197
|
}
|
32173
|
-
const version$1 = "3.8.9-master.2025-06-
|
32198
|
+
const version$1 = "3.8.9-master.2025-06-17";
|
32174
32199
|
createVuetify$1.version = version$1;
|
32175
32200
|
|
32176
32201
|
// Vue's inject() can only be used in setup
|
@@ -32468,7 +32493,7 @@ var index = /*#__PURE__*/Object.freeze({
|
|
32468
32493
|
|
32469
32494
|
/* eslint-disable local-rules/sort-imports */
|
32470
32495
|
|
32471
|
-
const version = "3.8.9-master.2025-06-
|
32496
|
+
const version = "3.8.9-master.2025-06-17";
|
32472
32497
|
|
32473
32498
|
/* eslint-disable local-rules/sort-imports */
|
32474
32499
|
|