@vuetify/nightly 3.8.8-master.2025-06-06 → 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 +14 -3
- package/dist/json/attributes.json +2080 -2080
- package/dist/json/importMap-labs.json +20 -20
- package/dist/json/importMap.json +160 -160
- package/dist/json/web-types.json +3925 -3925
- package/dist/vuetify-labs.cjs +117 -59
- package/dist/vuetify-labs.css +3446 -3446
- package/dist/vuetify-labs.d.ts +65 -59
- package/dist/vuetify-labs.esm.js +117 -59
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +117 -59
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.cjs +104 -40
- package/dist/vuetify.cjs.map +1 -1
- package/dist/vuetify.css +3061 -3061
- package/dist/vuetify.d.ts +60 -59
- package/dist/vuetify.esm.js +104 -40
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +104 -40
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +147 -140
- 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/VDataTableFooter.js +3 -1
- package/lib/components/VDataTable/VDataTableFooter.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/VNumberInput/VNumberInput.d.ts +5 -0
- package/lib/components/VNumberInput/VNumberInput.js +7 -11
- package/lib/components/VNumberInput/VNumberInput.js.map +1 -1
- package/lib/components/VOtpInput/VOtpInput.js +5 -2
- package/lib/components/VOtpInput/VOtpInput.js.map +1 -1
- package/lib/components/VSlider/VSliderThumb.js +1 -1
- package/lib/components/VSlider/VSliderThumb.js.map +1 -1
- package/lib/components/VTextField/VTextField.js +5 -4
- package/lib/components/VTextField/VTextField.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 +55 -59
- package/lib/framework.js +1 -1
- package/lib/labs/VColorInput/VColorInput.js +3 -8
- package/lib/labs/VColorInput/VColorInput.js.map +1 -1
- package/lib/labs/VDateInput/VDateInput.d.ts +5 -0
- package/lib/labs/VDateInput/VDateInput.js +7 -10
- 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.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 {
|
@@ -51075,6 +51074,7 @@ declare const VNumberInput: {
|
|
51075
51074
|
"v-slot:increment"?: false | ((arg: ControlSlot$1) => vue.VNodeChild) | undefined;
|
51076
51075
|
"v-slot:decrement"?: false | ((arg: ControlSlot$1) => vue.VNodeChild) | undefined;
|
51077
51076
|
} & {
|
51077
|
+
"onUpdate:focused"?: ((val: boolean) => any) | undefined;
|
51078
51078
|
"onUpdate:modelValue"?: ((val: number) => any) | undefined;
|
51079
51079
|
}, Omit<Omit<{
|
51080
51080
|
$: vue.ComponentInternalInstance;
|
@@ -53015,6 +53015,7 @@ declare const VNumberInput: {
|
|
53015
53015
|
} | {};
|
53016
53016
|
}) | {};
|
53017
53017
|
}, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
|
53018
|
+
'update:focused': (val: boolean) => true;
|
53018
53019
|
'update:modelValue': (val: number) => true;
|
53019
53020
|
}, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, {
|
53020
53021
|
flat: boolean;
|
@@ -53211,6 +53212,7 @@ declare const VNumberInput: {
|
|
53211
53212
|
"v-slot:increment"?: false | ((arg: ControlSlot$1) => vue.VNodeChild) | undefined;
|
53212
53213
|
"v-slot:decrement"?: false | ((arg: ControlSlot$1) => vue.VNodeChild) | undefined;
|
53213
53214
|
} & {
|
53215
|
+
"onUpdate:focused"?: ((val: boolean) => any) | undefined;
|
53214
53216
|
"onUpdate:modelValue"?: ((val: number) => any) | undefined;
|
53215
53217
|
}, Omit<Omit<{
|
53216
53218
|
$: vue.ComponentInternalInstance;
|
@@ -55324,6 +55326,7 @@ declare const VNumberInput: {
|
|
55324
55326
|
"v-slot:increment"?: false | ((arg: ControlSlot$1) => vue.VNodeChild) | undefined;
|
55325
55327
|
"v-slot:decrement"?: false | ((arg: ControlSlot$1) => vue.VNodeChild) | undefined;
|
55326
55328
|
} & {
|
55329
|
+
"onUpdate:focused"?: ((val: boolean) => any) | undefined;
|
55327
55330
|
"onUpdate:modelValue"?: ((val: number) => any) | undefined;
|
55328
55331
|
}, Omit<Omit<{
|
55329
55332
|
$: vue.ComponentInternalInstance;
|
@@ -57264,6 +57267,7 @@ declare const VNumberInput: {
|
|
57264
57267
|
} | {};
|
57265
57268
|
}) | {};
|
57266
57269
|
}, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
|
57270
|
+
'update:focused': (val: boolean) => true;
|
57267
57271
|
'update:modelValue': (val: number) => true;
|
57268
57272
|
}, string, {
|
57269
57273
|
flat: boolean;
|
@@ -85816,7 +85820,6 @@ declare const createVuetify: {
|
|
85816
85820
|
options: InternalDateOptions;
|
85817
85821
|
instance: {
|
85818
85822
|
locale?: any;
|
85819
|
-
createDateRange: (start: unknown, stop?: unknown) => unknown[];
|
85820
85823
|
date: (value?: any) => unknown;
|
85821
85824
|
format: (date: unknown, formatString: string) => string;
|
85822
85825
|
toJsDate: (value: unknown) => Date;
|
@@ -85860,8 +85863,6 @@ declare const createVuetify: {
|
|
85860
85863
|
setHours: (date: unknown, hours: number) => unknown;
|
85861
85864
|
getMinutes: (date: unknown) => number;
|
85862
85865
|
setMinutes: (date: unknown, minutes: number) => unknown;
|
85863
|
-
} & {
|
85864
|
-
createDateRange(start: unknown, stop?: unknown): unknown[];
|
85865
85866
|
};
|
85866
85867
|
};
|
85867
85868
|
goTo: GoToInstance;
|
@@ -85911,37 +85912,36 @@ declare module 'vue' {
|
|
85911
85912
|
VAppBar: VAppBar
|
85912
85913
|
VAppBarNavIcon: VAppBarNavIcon
|
85913
85914
|
VAppBarTitle: VAppBarTitle
|
85915
|
+
VAutocomplete: VAutocomplete
|
85914
85916
|
VAlert: VAlert
|
85915
85917
|
VAlertTitle: VAlertTitle
|
85916
|
-
VAutocomplete: VAutocomplete
|
85917
85918
|
VAvatar: VAvatar
|
85918
|
-
VBadge: VBadge
|
85919
85919
|
VBanner: VBanner
|
85920
85920
|
VBannerActions: VBannerActions
|
85921
85921
|
VBannerText: VBannerText
|
85922
85922
|
VBottomSheet: VBottomSheet
|
85923
|
-
|
85923
|
+
VBadge: VBadge
|
85924
85924
|
VBreadcrumbs: VBreadcrumbs
|
85925
85925
|
VBreadcrumbsItem: VBreadcrumbsItem
|
85926
85926
|
VBreadcrumbsDivider: VBreadcrumbsDivider
|
85927
|
+
VBottomNavigation: VBottomNavigation
|
85928
|
+
VBtnGroup: VBtnGroup
|
85929
|
+
VBtnToggle: VBtnToggle
|
85930
|
+
VCarousel: VCarousel
|
85931
|
+
VCarouselItem: VCarouselItem
|
85927
85932
|
VBtn: VBtn
|
85933
|
+
VChipGroup: VChipGroup
|
85934
|
+
VChip: VChip
|
85935
|
+
VCheckbox: VCheckbox
|
85936
|
+
VCheckboxBtn: VCheckboxBtn
|
85928
85937
|
VCard: VCard
|
85929
85938
|
VCardActions: VCardActions
|
85930
85939
|
VCardItem: VCardItem
|
85931
85940
|
VCardSubtitle: VCardSubtitle
|
85932
85941
|
VCardText: VCardText
|
85933
85942
|
VCardTitle: VCardTitle
|
85934
|
-
VCarousel: VCarousel
|
85935
|
-
VCarouselItem: VCarouselItem
|
85936
|
-
VChipGroup: VChipGroup
|
85937
85943
|
VCode: VCode
|
85938
|
-
VBtnToggle: VBtnToggle
|
85939
|
-
VCheckbox: VCheckbox
|
85940
|
-
VCheckboxBtn: VCheckboxBtn
|
85941
|
-
VCombobox: VCombobox
|
85942
|
-
VCounter: VCounter
|
85943
85944
|
VColorPicker: VColorPicker
|
85944
|
-
VBtnGroup: VBtnGroup
|
85945
85945
|
VDataTable: VDataTable
|
85946
85946
|
VDataTableHeaders: VDataTableHeaders
|
85947
85947
|
VDataTableFooter: VDataTableFooter
|
@@ -85949,37 +85949,38 @@ declare module 'vue' {
|
|
85949
85949
|
VDataTableRow: VDataTableRow
|
85950
85950
|
VDataTableVirtual: VDataTableVirtual
|
85951
85951
|
VDataTableServer: VDataTableServer
|
85952
|
-
|
85953
|
-
VEmptyState: VEmptyState
|
85952
|
+
VCombobox: VCombobox
|
85954
85953
|
VDatePicker: VDatePicker
|
85955
85954
|
VDatePickerControls: VDatePickerControls
|
85956
85955
|
VDatePickerHeader: VDatePickerHeader
|
85957
85956
|
VDatePickerMonth: VDatePickerMonth
|
85958
85957
|
VDatePickerMonths: VDatePickerMonths
|
85959
85958
|
VDatePickerYears: VDatePickerYears
|
85959
|
+
VCounter: VCounter
|
85960
|
+
VDialog: VDialog
|
85961
|
+
VEmptyState: VEmptyState
|
85960
85962
|
VDivider: VDivider
|
85961
|
-
VFab: VFab
|
85962
85963
|
VExpansionPanels: VExpansionPanels
|
85963
85964
|
VExpansionPanel: VExpansionPanel
|
85964
85965
|
VExpansionPanelText: VExpansionPanelText
|
85965
85966
|
VExpansionPanelTitle: VExpansionPanelTitle
|
85966
|
-
|
85967
|
-
VField: VField
|
85968
|
-
VFieldLabel: VFieldLabel
|
85967
|
+
VFab: VFab
|
85969
85968
|
VFileInput: VFileInput
|
85970
85969
|
VFooter: VFooter
|
85971
|
-
|
85970
|
+
VField: VField
|
85971
|
+
VFieldLabel: VFieldLabel
|
85972
85972
|
VIcon: VIcon
|
85973
85973
|
VComponentIcon: VComponentIcon
|
85974
85974
|
VSvgIcon: VSvgIcon
|
85975
85975
|
VLigatureIcon: VLigatureIcon
|
85976
85976
|
VClassIcon: VClassIcon
|
85977
|
+
VImg: VImg
|
85978
|
+
VInput: VInput
|
85977
85979
|
VInfiniteScroll: VInfiniteScroll
|
85980
|
+
VKbd: VKbd
|
85978
85981
|
VItemGroup: VItemGroup
|
85979
85982
|
VItem: VItem
|
85980
|
-
VImg: VImg
|
85981
85983
|
VLabel: VLabel
|
85982
|
-
VKbd: VKbd
|
85983
85984
|
VList: VList
|
85984
85985
|
VListGroup: VListGroup
|
85985
85986
|
VListImg: VListImg
|
@@ -85990,70 +85991,68 @@ declare module 'vue' {
|
|
85990
85991
|
VListItemTitle: VListItemTitle
|
85991
85992
|
VListSubheader: VListSubheader
|
85992
85993
|
VMain: VMain
|
85993
|
-
VNavigationDrawer: VNavigationDrawer
|
85994
|
-
VMenu: VMenu
|
85995
85994
|
VMessages: VMessages
|
85996
|
-
|
85995
|
+
VMenu: VMenu
|
85997
85996
|
VNumberInput: VNumberInput
|
85998
|
-
|
85997
|
+
VNavigationDrawer: VNavigationDrawer
|
85998
|
+
VOtpInput: VOtpInput
|
85999
85999
|
VProgressLinear: VProgressLinear
|
86000
86000
|
VOverlay: VOverlay
|
86001
|
+
VPagination: VPagination
|
86002
|
+
VSelect: VSelect
|
86001
86003
|
VProgressCircular: VProgressCircular
|
86002
86004
|
VRadioGroup: VRadioGroup
|
86003
86005
|
VRating: VRating
|
86004
|
-
VSelectionControl: VSelectionControl
|
86005
|
-
VSheet: VSheet
|
86006
|
-
VSelect: VSelect
|
86007
|
-
VSkeletonLoader: VSkeletonLoader
|
86008
86006
|
VSelectionControlGroup: VSelectionControlGroup
|
86009
86007
|
VSlideGroup: VSlideGroup
|
86010
86008
|
VSlideGroupItem: VSlideGroupItem
|
86009
|
+
VSheet: VSheet
|
86010
|
+
VSelectionControl: VSelectionControl
|
86011
|
+
VSkeletonLoader: VSkeletonLoader
|
86011
86012
|
VSlider: VSlider
|
86012
|
-
|
86013
|
+
VSnackbar: VSnackbar
|
86013
86014
|
VStepper: VStepper
|
86014
86015
|
VStepperActions: VStepperActions
|
86015
86016
|
VStepperHeader: VStepperHeader
|
86016
86017
|
VStepperItem: VStepperItem
|
86017
86018
|
VStepperWindow: VStepperWindow
|
86018
86019
|
VStepperWindowItem: VStepperWindowItem
|
86020
|
+
VSwitch: VSwitch
|
86021
|
+
VTable: VTable
|
86019
86022
|
VSystemBar: VSystemBar
|
86020
|
-
|
86023
|
+
VTextarea: VTextarea
|
86024
|
+
VTextField: VTextField
|
86021
86025
|
VTab: VTab
|
86022
86026
|
VTabs: VTabs
|
86023
86027
|
VTabsWindow: VTabsWindow
|
86024
86028
|
VTabsWindowItem: VTabsWindowItem
|
86025
|
-
|
86026
|
-
|
86027
|
-
|
86028
|
-
VWindowItem: VWindowItem
|
86029
|
+
VTimeline: VTimeline
|
86030
|
+
VTimelineItem: VTimelineItem
|
86031
|
+
VTooltip: VTooltip
|
86029
86032
|
VToolbar: VToolbar
|
86030
86033
|
VToolbarTitle: VToolbarTitle
|
86031
86034
|
VToolbarItems: VToolbarItems
|
86032
|
-
|
86033
|
-
|
86035
|
+
VWindow: VWindow
|
86036
|
+
VWindowItem: VWindowItem
|
86034
86037
|
VConfirmEdit: VConfirmEdit
|
86035
|
-
VDataIterator: VDataIterator
|
86036
86038
|
VDefaultsProvider: VDefaultsProvider
|
86037
|
-
VContainer: VContainer
|
86038
|
-
VCol: VCol
|
86039
|
-
VRow: VRow
|
86040
|
-
VSpacer: VSpacer
|
86041
|
-
VHover: VHover
|
86042
86039
|
VForm: VForm
|
86043
|
-
|
86040
|
+
VDataIterator: VDataIterator
|
86041
|
+
VHover: VHover
|
86044
86042
|
VLayout: VLayout
|
86045
86043
|
VLayoutItem: VLayoutItem
|
86046
86044
|
VLocaleProvider: VLocaleProvider
|
86045
|
+
VLazy: VLazy
|
86047
86046
|
VNoSsr: VNoSsr
|
86048
86047
|
VParallax: VParallax
|
86048
|
+
VRadio: VRadio
|
86049
86049
|
VRangeSlider: VRangeSlider
|
86050
86050
|
VResponsive: VResponsive
|
86051
|
-
VRadio: VRadio
|
86052
|
-
VSparkline: VSparkline
|
86053
86051
|
VSpeedDial: VSpeedDial
|
86052
|
+
VSparkline: VSparkline
|
86054
86053
|
VThemeProvider: VThemeProvider
|
86055
|
-
VValidation: VValidation
|
86056
86054
|
VVirtualScroll: VVirtualScroll
|
86055
|
+
VValidation: VValidation
|
86057
86056
|
VFabTransition: VFabTransition
|
86058
86057
|
VDialogBottomTransition: VDialogBottomTransition
|
86059
86058
|
VDialogTopTransition: VDialogTopTransition
|
@@ -86070,8 +86069,10 @@ declare module 'vue' {
|
|
86070
86069
|
VExpandTransition: VExpandTransition
|
86071
86070
|
VExpandXTransition: VExpandXTransition
|
86072
86071
|
VDialogTransition: VDialogTransition
|
86073
|
-
|
86074
|
-
|
86072
|
+
VContainer: VContainer
|
86073
|
+
VCol: VCol
|
86074
|
+
VRow: VRow
|
86075
|
+
VSpacer: VSpacer
|
86075
86076
|
VSnackbarQueue: VSnackbarQueue
|
86076
86077
|
VCalendar: VCalendar
|
86077
86078
|
VCalendarDay: VCalendarDay
|
@@ -86079,22 +86080,22 @@ declare module 'vue' {
|
|
86079
86080
|
VCalendarInterval: VCalendarInterval
|
86080
86081
|
VCalendarIntervalEvent: VCalendarIntervalEvent
|
86081
86082
|
VCalendarMonthDay: VCalendarMonthDay
|
86082
|
-
|
86083
|
-
|
86083
|
+
VFileUpload: VFileUpload
|
86084
|
+
VFileUploadItem: VFileUploadItem
|
86084
86085
|
VIconBtn: VIconBtn
|
86086
|
+
VColorInput: VColorInput
|
86085
86087
|
VStepperVertical: VStepperVertical
|
86086
86088
|
VStepperVerticalItem: VStepperVerticalItem
|
86087
86089
|
VStepperVerticalActions: VStepperVerticalActions
|
86090
|
+
VPicker: VPicker
|
86091
|
+
VPickerTitle: VPickerTitle
|
86088
86092
|
VTreeview: VTreeview
|
86089
86093
|
VTreeviewItem: VTreeviewItem
|
86090
86094
|
VTreeviewGroup: VTreeviewGroup
|
86091
|
-
VColorInput: VColorInput
|
86092
|
-
VFileUpload: VFileUpload
|
86093
|
-
VFileUploadItem: VFileUploadItem
|
86094
86095
|
VTimePicker: VTimePicker
|
86095
86096
|
VTimePickerClock: VTimePickerClock
|
86096
86097
|
VTimePickerControls: VTimePickerControls
|
86097
|
-
VPullToRefresh: VPullToRefresh
|
86098
86098
|
VDateInput: VDateInput
|
86099
|
+
VPullToRefresh: VPullToRefresh
|
86099
86100
|
}
|
86100
86101
|
}
|
package/dist/vuetify.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
|
*/
|
@@ -12392,10 +12392,12 @@ const VTextField = genericComponent()({
|
|
12392
12392
|
const inputRef = ref();
|
12393
12393
|
const isActive = computed(() => activeTypes.includes(props.type) || props.persistentPlaceholder || isFocused.value || props.active);
|
12394
12394
|
function onFocus() {
|
12395
|
-
if (inputRef.value !== document.activeElement) {
|
12396
|
-
inputRef.value?.focus();
|
12397
|
-
}
|
12398
12395
|
if (!isFocused.value) focus();
|
12396
|
+
nextTick(() => {
|
12397
|
+
if (inputRef.value !== document.activeElement) {
|
12398
|
+
inputRef.value?.focus();
|
12399
|
+
}
|
12400
|
+
});
|
12399
12401
|
}
|
12400
12402
|
function onControlMousedown(e) {
|
12401
12403
|
emit('mousedown:control', e);
|
@@ -12404,7 +12406,6 @@ const VTextField = genericComponent()({
|
|
12404
12406
|
e.preventDefault();
|
12405
12407
|
}
|
12406
12408
|
function onControlClick(e) {
|
12407
|
-
onFocus();
|
12408
12409
|
emit('click:control', e);
|
12409
12410
|
}
|
12410
12411
|
function onClear(e, reset) {
|
@@ -16533,7 +16534,7 @@ const VSliderThumb = genericComponent()({
|
|
16533
16534
|
default: () => [withDirectives(createElementVNode("div", {
|
16534
16535
|
"class": "v-slider-thumb__label-container"
|
16535
16536
|
}, [createElementVNode("div", {
|
16536
|
-
"class": normalizeClass(['v-slider-thumb__label'])
|
16537
|
+
"class": normalizeClass(['v-slider-thumb__label', textColorClasses.value])
|
16537
16538
|
}, [createElementVNode("div", null, [slots['thumb-label']?.({
|
16538
16539
|
modelValue: props.modelValue
|
16539
16540
|
}) ?? props.modelValue.toFixed(step.value ? decimals.value : 1)])])]), [[vShow, thumbLabel.value && props.focused || thumbLabel.value === 'always']])]
|
@@ -18105,6 +18106,18 @@ function createDate(options, locale) {
|
|
18105
18106
|
instance: createInstance(_options, locale)
|
18106
18107
|
};
|
18107
18108
|
}
|
18109
|
+
function createDateRange(adapter, start, stop) {
|
18110
|
+
const diff = adapter.getDiff(stop ?? start, start, 'days');
|
18111
|
+
const datesInRange = [start];
|
18112
|
+
for (let i = 1; i < diff; i++) {
|
18113
|
+
const nextDate = adapter.addDays(start, i);
|
18114
|
+
datesInRange.push(nextDate);
|
18115
|
+
}
|
18116
|
+
if (stop) {
|
18117
|
+
datesInRange.push(adapter.endOfDay(stop));
|
18118
|
+
}
|
18119
|
+
return datesInRange;
|
18120
|
+
}
|
18108
18121
|
function createInstance(options, locale) {
|
18109
18122
|
const instance = reactive(typeof options.adapter === 'function'
|
18110
18123
|
// eslint-disable-next-line new-cap
|
@@ -18115,20 +18128,7 @@ function createInstance(options, locale) {
|
|
18115
18128
|
watch(locale.current, value => {
|
18116
18129
|
instance.locale = options.locale[value] ?? value ?? instance.locale;
|
18117
18130
|
});
|
18118
|
-
return
|
18119
|
-
createDateRange(start, stop) {
|
18120
|
-
const diff = instance.getDiff(stop ?? start, start, 'days');
|
18121
|
-
const datesInRange = [start];
|
18122
|
-
for (let i = 1; i < diff; i++) {
|
18123
|
-
const nextDate = instance.addDays(start, i);
|
18124
|
-
datesInRange.push(nextDate);
|
18125
|
-
}
|
18126
|
-
if (stop) {
|
18127
|
-
datesInRange.push(instance.endOfDay(stop));
|
18128
|
-
}
|
18129
|
-
return datesInRange;
|
18130
|
-
}
|
18131
|
-
});
|
18131
|
+
return instance;
|
18132
18132
|
}
|
18133
18133
|
function useDate() {
|
18134
18134
|
const options = inject$1(DateOptionsSymbol);
|
@@ -20217,7 +20217,9 @@ const VDataTableFooter = genericComponent()({
|
|
20217
20217
|
"class": "v-data-table-footer"
|
20218
20218
|
}, [slots.prepend?.(), createElementVNode("div", {
|
20219
20219
|
"class": "v-data-table-footer__items-per-page"
|
20220
|
-
}, [createElementVNode("span",
|
20220
|
+
}, [createElementVNode("span", {
|
20221
|
+
"aria-label": t(props.itemsPerPageText)
|
20222
|
+
}, [t(props.itemsPerPageText)]), createVNode(VSelect, {
|
20221
20223
|
"items": itemsPerPageOptions.value,
|
20222
20224
|
"modelValue": itemsPerPage.value,
|
20223
20225
|
"onUpdate:modelValue": v => setItemsPerPage(Number(v)),
|
@@ -20269,6 +20271,7 @@ const VDataTableColumn = defineFunctionalComponent({
|
|
20269
20271
|
} = _ref;
|
20270
20272
|
const Tag = props.tag ?? 'td';
|
20271
20273
|
return createVNode(Tag, {
|
20274
|
+
"tabindex": "0",
|
20272
20275
|
"class": normalizeClass(['v-data-table__td', {
|
20273
20276
|
'v-data-table-column--fixed': props.fixed,
|
20274
20277
|
'v-data-table-column--last-fixed': props.lastFixed,
|
@@ -20613,6 +20616,11 @@ const VDataTableHeaders = genericComponent()({
|
|
20613
20616
|
top: props.sticky || props.fixedHeader ? `calc(var(--v-table-header-height) * ${y})` : undefined
|
20614
20617
|
};
|
20615
20618
|
}
|
20619
|
+
function handleEnterKeyPress(event, column) {
|
20620
|
+
if (event.key === 'Enter' && !props.disableSort) {
|
20621
|
+
toggleSort(column);
|
20622
|
+
}
|
20623
|
+
}
|
20616
20624
|
function getSortIcon(column) {
|
20617
20625
|
const item = sortBy.value.find(item => item.key === column.key);
|
20618
20626
|
if (!item) return props.sortAscIcon;
|
@@ -20669,7 +20677,9 @@ const VDataTableHeaders = genericComponent()({
|
|
20669
20677
|
"nowrap": column.nowrap,
|
20670
20678
|
"lastFixed": column.lastFixed,
|
20671
20679
|
"noPadding": noPadding
|
20672
|
-
}, headerProps
|
20680
|
+
}, headerProps, {
|
20681
|
+
"onKeydown": event => column.sortable && handleEnterKeyPress(event, column)
|
20682
|
+
}), {
|
20673
20683
|
default: () => {
|
20674
20684
|
const columnSlotName = `header.${column.key}`;
|
20675
20685
|
const columnSlotProps = {
|
@@ -22522,7 +22532,7 @@ const VDatePickerMonth = genericComponent()({
|
|
22522
22532
|
} else {
|
22523
22533
|
rangeStop.value = adapter.endOfDay(_value);
|
22524
22534
|
}
|
22525
|
-
model.value =
|
22535
|
+
model.value = createDateRange(adapter, rangeStart.value, rangeStop.value);
|
22526
22536
|
} else {
|
22527
22537
|
rangeStart.value = value;
|
22528
22538
|
rangeStop.value = undefined;
|
@@ -23609,6 +23619,56 @@ const VFab = genericComponent()({
|
|
23609
23619
|
|
23610
23620
|
// Types
|
23611
23621
|
|
23622
|
+
function useFileDrop() {
|
23623
|
+
function hasFilesOrFolders(e) {
|
23624
|
+
const entries = [...(e.dataTransfer?.items ?? [])].filter(x => x.kind === 'file').map(x => x.webkitGetAsEntry()).filter(Boolean);
|
23625
|
+
return entries.length > 0 || [...(e.dataTransfer?.files ?? [])].length > 0;
|
23626
|
+
}
|
23627
|
+
async function handleDrop(e) {
|
23628
|
+
const result = [];
|
23629
|
+
const entries = [...(e.dataTransfer?.items ?? [])].filter(x => x.kind === 'file').map(x => x.webkitGetAsEntry()).filter(Boolean);
|
23630
|
+
if (entries.length) {
|
23631
|
+
for (const entry of entries) {
|
23632
|
+
const files = await traverseFileTree(entry, appendIfDirectory('.', entry));
|
23633
|
+
result.push(...files.map(x => x.file));
|
23634
|
+
}
|
23635
|
+
} else {
|
23636
|
+
result.push(...[...(e.dataTransfer?.files ?? [])]);
|
23637
|
+
}
|
23638
|
+
return result;
|
23639
|
+
}
|
23640
|
+
return {
|
23641
|
+
handleDrop,
|
23642
|
+
hasFilesOrFolders
|
23643
|
+
};
|
23644
|
+
}
|
23645
|
+
function traverseFileTree(item) {
|
23646
|
+
let path = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
|
23647
|
+
return new Promise((resolve, reject) => {
|
23648
|
+
if (item.isFile) {
|
23649
|
+
const fileEntry = item;
|
23650
|
+
fileEntry.file(file => resolve([{
|
23651
|
+
file,
|
23652
|
+
path
|
23653
|
+
}]), reject);
|
23654
|
+
} else if (item.isDirectory) {
|
23655
|
+
const directoryReader = item.createReader();
|
23656
|
+
directoryReader.readEntries(async entries => {
|
23657
|
+
const files = [];
|
23658
|
+
for (const entry of entries) {
|
23659
|
+
files.push(...(await traverseFileTree(entry, appendIfDirectory(path, entry))));
|
23660
|
+
}
|
23661
|
+
resolve(files);
|
23662
|
+
});
|
23663
|
+
}
|
23664
|
+
});
|
23665
|
+
}
|
23666
|
+
function appendIfDirectory(path, item) {
|
23667
|
+
return item.isDirectory ? `${path}/${item.name}` : path;
|
23668
|
+
}
|
23669
|
+
|
23670
|
+
// Types
|
23671
|
+
|
23612
23672
|
const makeVFileInputProps = propsFactory({
|
23613
23673
|
chips: Boolean,
|
23614
23674
|
counter: Boolean,
|
@@ -23693,6 +23753,10 @@ const VFileInput = genericComponent()({
|
|
23693
23753
|
const isActive = toRef(() => isFocused.value || props.active);
|
23694
23754
|
const isPlainOrUnderlined = computed(() => ['plain', 'underlined'].includes(props.variant));
|
23695
23755
|
const isDragging = shallowRef(false);
|
23756
|
+
const {
|
23757
|
+
handleDrop,
|
23758
|
+
hasFilesOrFolders
|
23759
|
+
} = useFileDrop();
|
23696
23760
|
function onFocus() {
|
23697
23761
|
if (inputRef.value !== document.activeElement) {
|
23698
23762
|
inputRef.value?.focus();
|
@@ -23726,13 +23790,13 @@ const VFileInput = genericComponent()({
|
|
23726
23790
|
e.preventDefault();
|
23727
23791
|
isDragging.value = false;
|
23728
23792
|
}
|
23729
|
-
function onDrop(e) {
|
23793
|
+
async function onDrop(e) {
|
23730
23794
|
e.preventDefault();
|
23731
23795
|
e.stopImmediatePropagation();
|
23732
23796
|
isDragging.value = false;
|
23733
|
-
if (!
|
23797
|
+
if (!inputRef.value || !hasFilesOrFolders(e)) return;
|
23734
23798
|
const dataTransfer = new DataTransfer();
|
23735
|
-
for (const file of e
|
23799
|
+
for (const file of await handleDrop(e)) {
|
23736
23800
|
dataTransfer.items.add(file);
|
23737
23801
|
}
|
23738
23802
|
inputRef.value.files = dataTransfer.files;
|
@@ -25163,6 +25227,7 @@ const VNumberInput = genericComponent()({
|
|
25163
25227
|
...makeVNumberInputProps()
|
25164
25228
|
},
|
25165
25229
|
emits: {
|
25230
|
+
'update:focused': val => true,
|
25166
25231
|
'update:modelValue': val => true
|
25167
25232
|
},
|
25168
25233
|
setup(props, _ref) {
|
@@ -25178,11 +25243,7 @@ const VNumberInput = genericComponent()({
|
|
25178
25243
|
});
|
25179
25244
|
const form = useForm(props);
|
25180
25245
|
const controlsDisabled = computed(() => form.isDisabled.value || form.isReadonly.value);
|
25181
|
-
const
|
25182
|
-
isFocused,
|
25183
|
-
focus,
|
25184
|
-
blur
|
25185
|
-
} = useFocus(props);
|
25246
|
+
const isFocused = shallowRef(props.focused);
|
25186
25247
|
function correctPrecision(val) {
|
25187
25248
|
let precision = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : props.precision;
|
25188
25249
|
const fixed = precision == null ? String(val) : val.toFixed(precision);
|
@@ -25367,11 +25428,9 @@ const VNumberInput = genericComponent()({
|
|
25367
25428
|
inputText.value = model.value.toString();
|
25368
25429
|
}
|
25369
25430
|
function onFocus() {
|
25370
|
-
focus();
|
25371
25431
|
trimDecimalZeros();
|
25372
25432
|
}
|
25373
25433
|
function onBlur() {
|
25374
|
-
blur();
|
25375
25434
|
clampModel();
|
25376
25435
|
}
|
25377
25436
|
useRender(() => {
|
@@ -25464,9 +25523,12 @@ const VNumberInput = genericComponent()({
|
|
25464
25523
|
}, null)]) : props.reverse && controlVariant.value !== 'hidden' ? createElementVNode(Fragment, null, [controlNode(), dividerNode()]) : undefined;
|
25465
25524
|
const hasPrependInner = slots['prepend-inner'] || prependInnerControl;
|
25466
25525
|
return createVNode(VTextField, mergeProps({
|
25467
|
-
"ref": vTextFieldRef
|
25526
|
+
"ref": vTextFieldRef
|
25527
|
+
}, textFieldProps, {
|
25468
25528
|
"modelValue": inputText.value,
|
25469
25529
|
"onUpdate:modelValue": $event => inputText.value = $event,
|
25530
|
+
"focused": isFocused.value,
|
25531
|
+
"onUpdate:focused": $event => isFocused.value = $event,
|
25470
25532
|
"validationValue": model.value,
|
25471
25533
|
"onBeforeinput": onBeforeinput,
|
25472
25534
|
"onFocus": onFocus,
|
@@ -25479,8 +25541,7 @@ const VNumberInput = genericComponent()({
|
|
25479
25541
|
'v-number-input--reverse': props.reverse,
|
25480
25542
|
'v-number-input--split': controlVariant.value === 'split',
|
25481
25543
|
'v-number-input--stacked': controlVariant.value === 'stacked'
|
25482
|
-
}, props.class]
|
25483
|
-
}, textFieldProps, {
|
25544
|
+
}, props.class],
|
25484
25545
|
"style": props.style,
|
25485
25546
|
"inputmode": "decimal"
|
25486
25547
|
}), {
|
@@ -25615,7 +25676,7 @@ const VOtpInput = genericComponent()({
|
|
25615
25676
|
function onPaste(index, e) {
|
25616
25677
|
e.preventDefault();
|
25617
25678
|
e.stopPropagation();
|
25618
|
-
const clipboardText = e?.clipboardData?.getData('Text').slice(0, length.value) ?? '';
|
25679
|
+
const clipboardText = e?.clipboardData?.getData('Text').trim().slice(0, length.value) ?? '';
|
25619
25680
|
if (isValidNumber(clipboardText)) return;
|
25620
25681
|
model.value = clipboardText.split('');
|
25621
25682
|
inputRef.value?.[index].blur();
|
@@ -25647,7 +25708,10 @@ const VOtpInput = genericComponent()({
|
|
25647
25708
|
scoped: true
|
25648
25709
|
});
|
25649
25710
|
watch(model, val => {
|
25650
|
-
if (val.length === length.value)
|
25711
|
+
if (val.length === length.value) {
|
25712
|
+
focusIndex.value = length.value - 1;
|
25713
|
+
emit('finish', val.join(''));
|
25714
|
+
}
|
25651
25715
|
}, {
|
25652
25716
|
deep: true
|
25653
25717
|
});
|
@@ -29400,7 +29464,7 @@ function createVuetify$1() {
|
|
29400
29464
|
};
|
29401
29465
|
});
|
29402
29466
|
}
|
29403
|
-
const version$1 = "3.8.8-master.2025-06-
|
29467
|
+
const version$1 = "3.8.8-master.2025-06-08";
|
29404
29468
|
createVuetify$1.version = version$1;
|
29405
29469
|
|
29406
29470
|
// Vue's inject() can only be used in setup
|
@@ -29425,7 +29489,7 @@ const createVuetify = function () {
|
|
29425
29489
|
...options
|
29426
29490
|
});
|
29427
29491
|
};
|
29428
|
-
const version = "3.8.8-master.2025-06-
|
29492
|
+
const version = "3.8.8-master.2025-06-08";
|
29429
29493
|
createVuetify.version = version;
|
29430
29494
|
|
29431
29495
|
export { index as blueprints, components, createVuetify, directives, useDate, useDefaults, useDisplay, useGoTo, useLayout, useLocale, useRtl, useTheme, version };
|