@vuetify/nightly 3.8.8-master.2025-06-07 → 3.8.8-master.2025-06-08
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 +8 -3
- package/dist/json/attributes.json +959 -959
- package/dist/json/importMap-labs.json +22 -22
- package/dist/json/importMap.json +144 -144
- package/dist/json/web-types.json +1852 -1852
- package/dist/vuetify-labs.cjs +91 -27
- package/dist/vuetify-labs.css +3832 -3832
- package/dist/vuetify-labs.d.ts +56 -60
- package/dist/vuetify-labs.esm.js +91 -27
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +91 -27
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.cjs +84 -23
- package/dist/vuetify.cjs.map +1 -1
- package/dist/vuetify.css +5026 -5026
- package/dist/vuetify.d.ts +56 -60
- package/dist/vuetify.esm.js +84 -23
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +84 -23
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +122 -115
- package/dist/vuetify.min.js.map +1 -1
- package/lib/components/VDataTable/VDataTableColumn.js +1 -0
- package/lib/components/VDataTable/VDataTableColumn.js.map +1 -1
- package/lib/components/VDataTable/VDataTableHeaders.js +8 -1
- package/lib/components/VDataTable/VDataTableHeaders.js.map +1 -1
- package/lib/components/VDatePicker/VDatePickerMonth.js +2 -2
- package/lib/components/VDatePicker/VDatePickerMonth.js.map +1 -1
- package/lib/components/VFileInput/VFileInput.js +8 -3
- package/lib/components/VFileInput/VFileInput.js.map +1 -1
- package/lib/components/VSlider/VSliderThumb.js +1 -1
- package/lib/components/VSlider/VSliderThumb.js.map +1 -1
- package/lib/composables/date/date.d.ts +1 -4
- package/lib/composables/date/date.js +13 -14
- package/lib/composables/date/date.js.map +1 -1
- package/lib/composables/fileDrop.d.ts +4 -0
- package/lib/composables/fileDrop.js +50 -0
- package/lib/composables/fileDrop.js.map +1 -0
- package/lib/entry-bundler.d.ts +0 -3
- package/lib/entry-bundler.js +1 -1
- package/lib/framework.d.ts +56 -60
- package/lib/framework.js +1 -1
- package/lib/labs/VDateInput/VDateInput.js +2 -1
- package/lib/labs/VDateInput/VDateInput.js.map +1 -1
- package/lib/labs/VFileUpload/VFileUpload.js +7 -3
- package/lib/labs/VFileUpload/VFileUpload.js.map +1 -1
- package/lib/labs/entry-bundler.d.ts +0 -3
- package/package.json +1 -1
package/dist/vuetify-labs.d.ts
CHANGED
@@ -86,7 +86,6 @@ declare function useRtl(): {
|
|
86
86
|
|
87
87
|
interface DateInstance extends DateModule.InternalAdapter {
|
88
88
|
locale?: any;
|
89
|
-
createDateRange: (start: unknown, stop?: unknown) => unknown[];
|
90
89
|
}
|
91
90
|
/** Supports module augmentation to specify date adapter types */
|
92
91
|
declare namespace DateModule {
|
@@ -101711,7 +101710,6 @@ declare const createVuetify: (options?: VuetifyOptions) => {
|
|
101711
101710
|
options: InternalDateOptions;
|
101712
101711
|
instance: {
|
101713
101712
|
locale?: any;
|
101714
|
-
createDateRange: (start: unknown, stop?: unknown) => unknown[];
|
101715
101713
|
date: (value?: any) => unknown;
|
101716
101714
|
format: (date: unknown, formatString: string) => string;
|
101717
101715
|
toJsDate: (value: unknown) => Date;
|
@@ -101755,8 +101753,6 @@ declare const createVuetify: (options?: VuetifyOptions) => {
|
|
101755
101753
|
setHours: (date: unknown, hours: number) => unknown;
|
101756
101754
|
getMinutes: (date: unknown) => number;
|
101757
101755
|
setMinutes: (date: unknown, minutes: number) => unknown;
|
101758
|
-
} & {
|
101759
|
-
createDateRange(start: unknown, stop?: unknown): unknown[];
|
101760
101756
|
};
|
101761
101757
|
};
|
101762
101758
|
goTo: GoToInstance;
|
@@ -101799,34 +101795,40 @@ declare module 'vue' {
|
|
101799
101795
|
$children?: VNodeChild
|
101800
101796
|
}
|
101801
101797
|
export interface GlobalComponents {
|
101798
|
+
VApp: VApp
|
101802
101799
|
VAppBar: VAppBar
|
101803
101800
|
VAppBarNavIcon: VAppBarNavIcon
|
101804
101801
|
VAppBarTitle: VAppBarTitle
|
101802
|
+
VAutocomplete: VAutocomplete
|
101805
101803
|
VAlert: VAlert
|
101806
101804
|
VAlertTitle: VAlertTitle
|
101807
101805
|
VAvatar: VAvatar
|
101808
|
-
VApp: VApp
|
101809
|
-
VBadge: VBadge
|
101810
101806
|
VBanner: VBanner
|
101811
101807
|
VBannerActions: VBannerActions
|
101812
101808
|
VBannerText: VBannerText
|
101813
|
-
VAutocomplete: VAutocomplete
|
101814
101809
|
VBottomSheet: VBottomSheet
|
101810
|
+
VBadge: VBadge
|
101815
101811
|
VBreadcrumbs: VBreadcrumbs
|
101816
101812
|
VBreadcrumbsItem: VBreadcrumbsItem
|
101817
101813
|
VBreadcrumbsDivider: VBreadcrumbsDivider
|
101818
101814
|
VBottomNavigation: VBottomNavigation
|
101819
|
-
VBtn: VBtn
|
101820
|
-
VBtnToggle: VBtnToggle
|
101821
101815
|
VBtnGroup: VBtnGroup
|
101816
|
+
VBtnToggle: VBtnToggle
|
101822
101817
|
VCarousel: VCarousel
|
101823
101818
|
VCarouselItem: VCarouselItem
|
101819
|
+
VBtn: VBtn
|
101820
|
+
VChipGroup: VChipGroup
|
101821
|
+
VChip: VChip
|
101822
|
+
VCheckbox: VCheckbox
|
101823
|
+
VCheckboxBtn: VCheckboxBtn
|
101824
101824
|
VCard: VCard
|
101825
101825
|
VCardActions: VCardActions
|
101826
101826
|
VCardItem: VCardItem
|
101827
101827
|
VCardSubtitle: VCardSubtitle
|
101828
101828
|
VCardText: VCardText
|
101829
101829
|
VCardTitle: VCardTitle
|
101830
|
+
VCode: VCode
|
101831
|
+
VColorPicker: VColorPicker
|
101830
101832
|
VDataTable: VDataTable
|
101831
101833
|
VDataTableHeaders: VDataTableHeaders
|
101832
101834
|
VDataTableFooter: VDataTableFooter
|
@@ -101834,29 +101836,24 @@ declare module 'vue' {
|
|
101834
101836
|
VDataTableRow: VDataTableRow
|
101835
101837
|
VDataTableVirtual: VDataTableVirtual
|
101836
101838
|
VDataTableServer: VDataTableServer
|
101837
|
-
VCode: VCode
|
101838
|
-
VCheckbox: VCheckbox
|
101839
|
-
VCheckboxBtn: VCheckboxBtn
|
101840
|
-
VChip: VChip
|
101841
|
-
VCounter: VCounter
|
101842
|
-
VChipGroup: VChipGroup
|
101843
101839
|
VCombobox: VCombobox
|
101844
|
-
VColorPicker: VColorPicker
|
101845
101840
|
VDatePicker: VDatePicker
|
101846
101841
|
VDatePickerControls: VDatePickerControls
|
101847
101842
|
VDatePickerHeader: VDatePickerHeader
|
101848
101843
|
VDatePickerMonth: VDatePickerMonth
|
101849
101844
|
VDatePickerMonths: VDatePickerMonths
|
101850
101845
|
VDatePickerYears: VDatePickerYears
|
101851
|
-
|
101846
|
+
VCounter: VCounter
|
101852
101847
|
VDialog: VDialog
|
101848
|
+
VEmptyState: VEmptyState
|
101849
|
+
VDivider: VDivider
|
101853
101850
|
VExpansionPanels: VExpansionPanels
|
101854
101851
|
VExpansionPanel: VExpansionPanel
|
101855
101852
|
VExpansionPanelText: VExpansionPanelText
|
101856
101853
|
VExpansionPanelTitle: VExpansionPanelTitle
|
101857
101854
|
VFab: VFab
|
101858
|
-
VFooter: VFooter
|
101859
101855
|
VFileInput: VFileInput
|
101856
|
+
VFooter: VFooter
|
101860
101857
|
VField: VField
|
101861
101858
|
VFieldLabel: VFieldLabel
|
101862
101859
|
VIcon: VIcon
|
@@ -101864,13 +101861,13 @@ declare module 'vue' {
|
|
101864
101861
|
VSvgIcon: VSvgIcon
|
101865
101862
|
VLigatureIcon: VLigatureIcon
|
101866
101863
|
VClassIcon: VClassIcon
|
101867
|
-
|
101864
|
+
VImg: VImg
|
101868
101865
|
VInput: VInput
|
101866
|
+
VInfiniteScroll: VInfiniteScroll
|
101869
101867
|
VKbd: VKbd
|
101870
101868
|
VItemGroup: VItemGroup
|
101871
101869
|
VItem: VItem
|
101872
101870
|
VLabel: VLabel
|
101873
|
-
VImg: VImg
|
101874
101871
|
VList: VList
|
101875
101872
|
VListGroup: VListGroup
|
101876
101873
|
VListImg: VListImg
|
@@ -101880,72 +101877,69 @@ declare module 'vue' {
|
|
101880
101877
|
VListItemSubtitle: VListItemSubtitle
|
101881
101878
|
VListItemTitle: VListItemTitle
|
101882
101879
|
VListSubheader: VListSubheader
|
101883
|
-
VMenu: VMenu
|
101884
101880
|
VMain: VMain
|
101885
|
-
VNavigationDrawer: VNavigationDrawer
|
101886
|
-
VNumberInput: VNumberInput
|
101887
|
-
VOverlay: VOverlay
|
101888
101881
|
VMessages: VMessages
|
101882
|
+
VMenu: VMenu
|
101883
|
+
VNumberInput: VNumberInput
|
101884
|
+
VNavigationDrawer: VNavigationDrawer
|
101889
101885
|
VOtpInput: VOtpInput
|
101890
|
-
VProgressCircular: VProgressCircular
|
101891
|
-
VPagination: VPagination
|
101892
101886
|
VProgressLinear: VProgressLinear
|
101887
|
+
VOverlay: VOverlay
|
101888
|
+
VPagination: VPagination
|
101889
|
+
VSelect: VSelect
|
101890
|
+
VProgressCircular: VProgressCircular
|
101893
101891
|
VRadioGroup: VRadioGroup
|
101894
101892
|
VRating: VRating
|
101895
|
-
VSelect: VSelect
|
101896
101893
|
VSelectionControlGroup: VSelectionControlGroup
|
101897
|
-
VSkeletonLoader: VSkeletonLoader
|
101898
|
-
VSheet: VSheet
|
101899
|
-
VSelectionControl: VSelectionControl
|
101900
101894
|
VSlideGroup: VSlideGroup
|
101901
101895
|
VSlideGroupItem: VSlideGroupItem
|
101896
|
+
VSheet: VSheet
|
101897
|
+
VSelectionControl: VSelectionControl
|
101898
|
+
VSkeletonLoader: VSkeletonLoader
|
101899
|
+
VSlider: VSlider
|
101900
|
+
VSnackbar: VSnackbar
|
101902
101901
|
VStepper: VStepper
|
101903
101902
|
VStepperActions: VStepperActions
|
101904
101903
|
VStepperHeader: VStepperHeader
|
101905
101904
|
VStepperItem: VStepperItem
|
101906
101905
|
VStepperWindow: VStepperWindow
|
101907
101906
|
VStepperWindowItem: VStepperWindowItem
|
101908
|
-
VSnackbar: VSnackbar
|
101909
|
-
VSlider: VSlider
|
101910
|
-
VSystemBar: VSystemBar
|
101911
101907
|
VSwitch: VSwitch
|
101912
|
-
|
101913
|
-
|
101908
|
+
VTable: VTable
|
101909
|
+
VSystemBar: VSystemBar
|
101910
|
+
VTextarea: VTextarea
|
101911
|
+
VTextField: VTextField
|
101914
101912
|
VTab: VTab
|
101915
101913
|
VTabs: VTabs
|
101916
101914
|
VTabsWindow: VTabsWindow
|
101917
101915
|
VTabsWindowItem: VTabsWindowItem
|
101918
|
-
|
101919
|
-
|
101916
|
+
VTimeline: VTimeline
|
101917
|
+
VTimelineItem: VTimelineItem
|
101918
|
+
VTooltip: VTooltip
|
101920
101919
|
VToolbar: VToolbar
|
101921
101920
|
VToolbarTitle: VToolbarTitle
|
101922
101921
|
VToolbarItems: VToolbarItems
|
101923
|
-
VTooltip: VTooltip
|
101924
101922
|
VWindow: VWindow
|
101925
101923
|
VWindowItem: VWindowItem
|
101926
101924
|
VConfirmEdit: VConfirmEdit
|
101927
|
-
VTable: VTable
|
101928
|
-
VDataIterator: VDataIterator
|
101929
101925
|
VDefaultsProvider: VDefaultsProvider
|
101930
101926
|
VForm: VForm
|
101931
|
-
|
101932
|
-
VCol: VCol
|
101933
|
-
VRow: VRow
|
101934
|
-
VSpacer: VSpacer
|
101927
|
+
VDataIterator: VDataIterator
|
101935
101928
|
VHover: VHover
|
101936
|
-
|
101929
|
+
VLayout: VLayout
|
101930
|
+
VLayoutItem: VLayoutItem
|
101937
101931
|
VLocaleProvider: VLocaleProvider
|
101932
|
+
VLazy: VLazy
|
101938
101933
|
VNoSsr: VNoSsr
|
101939
|
-
VRadio: VRadio
|
101940
101934
|
VParallax: VParallax
|
101935
|
+
VRadio: VRadio
|
101941
101936
|
VRangeSlider: VRangeSlider
|
101942
101937
|
VResponsive: VResponsive
|
101943
|
-
VSnackbarQueue: VSnackbarQueue
|
101944
101938
|
VSpeedDial: VSpeedDial
|
101945
101939
|
VSparkline: VSparkline
|
101946
101940
|
VThemeProvider: VThemeProvider
|
101947
|
-
VValidation: VValidation
|
101948
101941
|
VVirtualScroll: VVirtualScroll
|
101942
|
+
VValidation: VValidation
|
101949
101943
|
VFabTransition: VFabTransition
|
101950
101944
|
VDialogBottomTransition: VDialogBottomTransition
|
101951
101945
|
VDialogTopTransition: VDialogTopTransition
|
@@ -101962,30 +101956,32 @@ declare module 'vue' {
|
|
101962
101956
|
VExpandTransition: VExpandTransition
|
101963
101957
|
VExpandXTransition: VExpandXTransition
|
101964
101958
|
VDialogTransition: VDialogTransition
|
101965
|
-
|
101966
|
-
|
101967
|
-
|
101959
|
+
VContainer: VContainer
|
101960
|
+
VCol: VCol
|
101961
|
+
VRow: VRow
|
101962
|
+
VSpacer: VSpacer
|
101963
|
+
VSnackbarQueue: VSnackbarQueue
|
101968
101964
|
VCalendar: VCalendar
|
101969
101965
|
VCalendarDay: VCalendarDay
|
101970
101966
|
VCalendarHeader: VCalendarHeader
|
101971
101967
|
VCalendarInterval: VCalendarInterval
|
101972
101968
|
VCalendarIntervalEvent: VCalendarIntervalEvent
|
101973
101969
|
VCalendarMonthDay: VCalendarMonthDay
|
101970
|
+
VFileUpload: VFileUpload
|
101971
|
+
VFileUploadItem: VFileUploadItem
|
101974
101972
|
VIconBtn: VIconBtn
|
101973
|
+
VColorInput: VColorInput
|
101974
|
+
VStepperVertical: VStepperVertical
|
101975
|
+
VStepperVerticalItem: VStepperVerticalItem
|
101976
|
+
VStepperVerticalActions: VStepperVerticalActions
|
101975
101977
|
VPicker: VPicker
|
101976
101978
|
VPickerTitle: VPickerTitle
|
101977
|
-
VColorInput: VColorInput
|
101978
|
-
VTimePicker: VTimePicker
|
101979
|
-
VTimePickerClock: VTimePickerClock
|
101980
|
-
VTimePickerControls: VTimePickerControls
|
101981
|
-
VFileUpload: VFileUpload
|
101982
|
-
VFileUploadItem: VFileUploadItem
|
101983
101979
|
VTreeview: VTreeview
|
101984
101980
|
VTreeviewItem: VTreeviewItem
|
101985
101981
|
VTreeviewGroup: VTreeviewGroup
|
101986
|
-
|
101987
|
-
|
101988
|
-
|
101982
|
+
VTimePicker: VTimePicker
|
101983
|
+
VTimePickerClock: VTimePickerClock
|
101984
|
+
VTimePickerControls: VTimePickerControls
|
101989
101985
|
VDateInput: VDateInput
|
101990
101986
|
VPullToRefresh: VPullToRefresh
|
101991
101987
|
}
|
package/dist/vuetify-labs.esm.js
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
/*!
|
2
|
-
* Vuetify v3.8.8-master.2025-06-
|
2
|
+
* Vuetify v3.8.8-master.2025-06-08
|
3
3
|
* Forged by John Leider
|
4
4
|
* Released under the MIT License.
|
5
5
|
*/
|
@@ -16256,7 +16256,7 @@ const VSliderThumb = genericComponent()({
|
|
16256
16256
|
default: () => [withDirectives(createElementVNode("div", {
|
16257
16257
|
"class": "v-slider-thumb__label-container"
|
16258
16258
|
}, [createElementVNode("div", {
|
16259
|
-
"class": normalizeClass(['v-slider-thumb__label'])
|
16259
|
+
"class": normalizeClass(['v-slider-thumb__label', textColorClasses.value])
|
16260
16260
|
}, [createElementVNode("div", null, [slots['thumb-label']?.({
|
16261
16261
|
modelValue: props.modelValue
|
16262
16262
|
}) ?? props.modelValue.toFixed(step.value ? decimals.value : 1)])])]), [[vShow, thumbLabel.value && props.focused || thumbLabel.value === 'always']])]
|
@@ -17828,6 +17828,18 @@ function createDate(options, locale) {
|
|
17828
17828
|
instance: createInstance(_options, locale)
|
17829
17829
|
};
|
17830
17830
|
}
|
17831
|
+
function createDateRange(adapter, start, stop) {
|
17832
|
+
const diff = adapter.getDiff(stop ?? start, start, 'days');
|
17833
|
+
const datesInRange = [start];
|
17834
|
+
for (let i = 1; i < diff; i++) {
|
17835
|
+
const nextDate = adapter.addDays(start, i);
|
17836
|
+
datesInRange.push(nextDate);
|
17837
|
+
}
|
17838
|
+
if (stop) {
|
17839
|
+
datesInRange.push(adapter.endOfDay(stop));
|
17840
|
+
}
|
17841
|
+
return datesInRange;
|
17842
|
+
}
|
17831
17843
|
function createInstance(options, locale) {
|
17832
17844
|
const instance = reactive(typeof options.adapter === 'function'
|
17833
17845
|
// eslint-disable-next-line new-cap
|
@@ -17838,20 +17850,7 @@ function createInstance(options, locale) {
|
|
17838
17850
|
watch(locale.current, value => {
|
17839
17851
|
instance.locale = options.locale[value] ?? value ?? instance.locale;
|
17840
17852
|
});
|
17841
|
-
return
|
17842
|
-
createDateRange(start, stop) {
|
17843
|
-
const diff = instance.getDiff(stop ?? start, start, 'days');
|
17844
|
-
const datesInRange = [start];
|
17845
|
-
for (let i = 1; i < diff; i++) {
|
17846
|
-
const nextDate = instance.addDays(start, i);
|
17847
|
-
datesInRange.push(nextDate);
|
17848
|
-
}
|
17849
|
-
if (stop) {
|
17850
|
-
datesInRange.push(instance.endOfDay(stop));
|
17851
|
-
}
|
17852
|
-
return datesInRange;
|
17853
|
-
}
|
17854
|
-
});
|
17853
|
+
return instance;
|
17855
17854
|
}
|
17856
17855
|
function useDate() {
|
17857
17856
|
const options = inject$1(DateOptionsSymbol);
|
@@ -19994,6 +19993,7 @@ const VDataTableColumn = defineFunctionalComponent({
|
|
19994
19993
|
} = _ref;
|
19995
19994
|
const Tag = props.tag ?? 'td';
|
19996
19995
|
return createVNode(Tag, {
|
19996
|
+
"tabindex": "0",
|
19997
19997
|
"class": normalizeClass(['v-data-table__td', {
|
19998
19998
|
'v-data-table-column--fixed': props.fixed,
|
19999
19999
|
'v-data-table-column--last-fixed': props.lastFixed,
|
@@ -20338,6 +20338,11 @@ const VDataTableHeaders = genericComponent()({
|
|
20338
20338
|
top: props.sticky || props.fixedHeader ? `calc(var(--v-table-header-height) * ${y})` : undefined
|
20339
20339
|
};
|
20340
20340
|
}
|
20341
|
+
function handleEnterKeyPress(event, column) {
|
20342
|
+
if (event.key === 'Enter' && !props.disableSort) {
|
20343
|
+
toggleSort(column);
|
20344
|
+
}
|
20345
|
+
}
|
20341
20346
|
function getSortIcon(column) {
|
20342
20347
|
const item = sortBy.value.find(item => item.key === column.key);
|
20343
20348
|
if (!item) return props.sortAscIcon;
|
@@ -20394,7 +20399,9 @@ const VDataTableHeaders = genericComponent()({
|
|
20394
20399
|
"nowrap": column.nowrap,
|
20395
20400
|
"lastFixed": column.lastFixed,
|
20396
20401
|
"noPadding": noPadding
|
20397
|
-
}, headerProps
|
20402
|
+
}, headerProps, {
|
20403
|
+
"onKeydown": event => column.sortable && handleEnterKeyPress(event, column)
|
20404
|
+
}), {
|
20398
20405
|
default: () => {
|
20399
20406
|
const columnSlotName = `header.${column.key}`;
|
20400
20407
|
const columnSlotProps = {
|
@@ -22247,7 +22254,7 @@ const VDatePickerMonth = genericComponent()({
|
|
22247
22254
|
} else {
|
22248
22255
|
rangeStop.value = adapter.endOfDay(_value);
|
22249
22256
|
}
|
22250
|
-
model.value =
|
22257
|
+
model.value = createDateRange(adapter, rangeStart.value, rangeStop.value);
|
22251
22258
|
} else {
|
22252
22259
|
rangeStart.value = value;
|
22253
22260
|
rangeStop.value = undefined;
|
@@ -23334,6 +23341,56 @@ const VFab = genericComponent()({
|
|
23334
23341
|
|
23335
23342
|
// Types
|
23336
23343
|
|
23344
|
+
function useFileDrop() {
|
23345
|
+
function hasFilesOrFolders(e) {
|
23346
|
+
const entries = [...(e.dataTransfer?.items ?? [])].filter(x => x.kind === 'file').map(x => x.webkitGetAsEntry()).filter(Boolean);
|
23347
|
+
return entries.length > 0 || [...(e.dataTransfer?.files ?? [])].length > 0;
|
23348
|
+
}
|
23349
|
+
async function handleDrop(e) {
|
23350
|
+
const result = [];
|
23351
|
+
const entries = [...(e.dataTransfer?.items ?? [])].filter(x => x.kind === 'file').map(x => x.webkitGetAsEntry()).filter(Boolean);
|
23352
|
+
if (entries.length) {
|
23353
|
+
for (const entry of entries) {
|
23354
|
+
const files = await traverseFileTree(entry, appendIfDirectory('.', entry));
|
23355
|
+
result.push(...files.map(x => x.file));
|
23356
|
+
}
|
23357
|
+
} else {
|
23358
|
+
result.push(...[...(e.dataTransfer?.files ?? [])]);
|
23359
|
+
}
|
23360
|
+
return result;
|
23361
|
+
}
|
23362
|
+
return {
|
23363
|
+
handleDrop,
|
23364
|
+
hasFilesOrFolders
|
23365
|
+
};
|
23366
|
+
}
|
23367
|
+
function traverseFileTree(item) {
|
23368
|
+
let path = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
|
23369
|
+
return new Promise((resolve, reject) => {
|
23370
|
+
if (item.isFile) {
|
23371
|
+
const fileEntry = item;
|
23372
|
+
fileEntry.file(file => resolve([{
|
23373
|
+
file,
|
23374
|
+
path
|
23375
|
+
}]), reject);
|
23376
|
+
} else if (item.isDirectory) {
|
23377
|
+
const directoryReader = item.createReader();
|
23378
|
+
directoryReader.readEntries(async entries => {
|
23379
|
+
const files = [];
|
23380
|
+
for (const entry of entries) {
|
23381
|
+
files.push(...(await traverseFileTree(entry, appendIfDirectory(path, entry))));
|
23382
|
+
}
|
23383
|
+
resolve(files);
|
23384
|
+
});
|
23385
|
+
}
|
23386
|
+
});
|
23387
|
+
}
|
23388
|
+
function appendIfDirectory(path, item) {
|
23389
|
+
return item.isDirectory ? `${path}/${item.name}` : path;
|
23390
|
+
}
|
23391
|
+
|
23392
|
+
// Types
|
23393
|
+
|
23337
23394
|
const makeVFileInputProps = propsFactory({
|
23338
23395
|
chips: Boolean,
|
23339
23396
|
counter: Boolean,
|
@@ -23418,6 +23475,10 @@ const VFileInput = genericComponent()({
|
|
23418
23475
|
const isActive = toRef(() => isFocused.value || props.active);
|
23419
23476
|
const isPlainOrUnderlined = computed(() => ['plain', 'underlined'].includes(props.variant));
|
23420
23477
|
const isDragging = shallowRef(false);
|
23478
|
+
const {
|
23479
|
+
handleDrop,
|
23480
|
+
hasFilesOrFolders
|
23481
|
+
} = useFileDrop();
|
23421
23482
|
function onFocus() {
|
23422
23483
|
if (inputRef.value !== document.activeElement) {
|
23423
23484
|
inputRef.value?.focus();
|
@@ -23451,13 +23512,13 @@ const VFileInput = genericComponent()({
|
|
23451
23512
|
e.preventDefault();
|
23452
23513
|
isDragging.value = false;
|
23453
23514
|
}
|
23454
|
-
function onDrop(e) {
|
23515
|
+
async function onDrop(e) {
|
23455
23516
|
e.preventDefault();
|
23456
23517
|
e.stopImmediatePropagation();
|
23457
23518
|
isDragging.value = false;
|
23458
|
-
if (!
|
23519
|
+
if (!inputRef.value || !hasFilesOrFolders(e)) return;
|
23459
23520
|
const dataTransfer = new DataTransfer();
|
23460
|
-
for (const file of e
|
23521
|
+
for (const file of await handleDrop(e)) {
|
23461
23522
|
dataTransfer.items.add(file);
|
23462
23523
|
}
|
23463
23524
|
inputRef.value.files = dataTransfer.files;
|
@@ -29627,7 +29688,7 @@ const VDateInput = genericComponent()({
|
|
29627
29688
|
if (parts.every(isValid)) {
|
29628
29689
|
if (props.multiple === 'range') {
|
29629
29690
|
const [start, stop] = parts.map(parseDate).toSorted((a, b) => adapter.isAfter(a, b) ? 1 : -1);
|
29630
|
-
model.value =
|
29691
|
+
model.value = createDateRange(adapter, start, stop);
|
29631
29692
|
} else {
|
29632
29693
|
model.value = parts.map(parseDate);
|
29633
29694
|
}
|
@@ -29869,6 +29930,9 @@ const VFileUpload = genericComponent()({
|
|
29869
29930
|
const isDragging = shallowRef(false);
|
29870
29931
|
const vSheetRef = ref(null);
|
29871
29932
|
const inputRef = ref(null);
|
29933
|
+
const {
|
29934
|
+
handleDrop
|
29935
|
+
} = useFileDrop();
|
29872
29936
|
function onDragover(e) {
|
29873
29937
|
e.preventDefault();
|
29874
29938
|
e.stopImmediatePropagation();
|
@@ -29878,13 +29942,13 @@ const VFileUpload = genericComponent()({
|
|
29878
29942
|
e.preventDefault();
|
29879
29943
|
isDragging.value = false;
|
29880
29944
|
}
|
29881
|
-
function onDrop(e) {
|
29945
|
+
async function onDrop(e) {
|
29882
29946
|
e.preventDefault();
|
29883
29947
|
e.stopImmediatePropagation();
|
29884
29948
|
isDragging.value = false;
|
29885
|
-
if (!
|
29949
|
+
if (!inputRef.value) return;
|
29886
29950
|
const dataTransfer = new DataTransfer();
|
29887
|
-
for (const file of e
|
29951
|
+
for (const file of await handleDrop(e)) {
|
29888
29952
|
dataTransfer.items.add(file);
|
29889
29953
|
}
|
29890
29954
|
inputRef.value.files = dataTransfer.files;
|
@@ -32085,7 +32149,7 @@ function createVuetify$1() {
|
|
32085
32149
|
};
|
32086
32150
|
});
|
32087
32151
|
}
|
32088
|
-
const version$1 = "3.8.8-master.2025-06-
|
32152
|
+
const version$1 = "3.8.8-master.2025-06-08";
|
32089
32153
|
createVuetify$1.version = version$1;
|
32090
32154
|
|
32091
32155
|
// Vue's inject() can only be used in setup
|
@@ -32383,7 +32447,7 @@ var index = /*#__PURE__*/Object.freeze({
|
|
32383
32447
|
|
32384
32448
|
/* eslint-disable local-rules/sort-imports */
|
32385
32449
|
|
32386
|
-
const version = "3.8.8-master.2025-06-
|
32450
|
+
const version = "3.8.8-master.2025-06-08";
|
32387
32451
|
|
32388
32452
|
/* eslint-disable local-rules/sort-imports */
|
32389
32453
|
|