@vuetify/nightly 3.8.4-master.2025-05-12 → 3.8.4-master.2025-05-13
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 +15 -3
- package/dist/json/attributes.json +3567 -3559
- package/dist/json/importMap-labs.json +28 -28
- package/dist/json/importMap.json +166 -166
- package/dist/json/tags.json +2 -0
- package/dist/json/web-types.json +6513 -6483
- package/dist/vuetify-labs.cjs +82 -8
- package/dist/vuetify-labs.css +4320 -4320
- package/dist/vuetify-labs.d.ts +80 -62
- package/dist/vuetify-labs.esm.js +82 -8
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +82 -8
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.cjs +3 -3
- package/dist/vuetify.css +4776 -4776
- package/dist/vuetify.d.ts +62 -62
- package/dist/vuetify.esm.js +3 -3
- package/dist/vuetify.js +3 -3
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +3 -3
- package/lib/entry-bundler.js +1 -1
- package/lib/framework.d.ts +62 -62
- package/lib/framework.js +1 -1
- package/lib/labs/VDateInput/VDateInput.d.ts +28 -0
- package/lib/labs/VDateInput/VDateInput.js +79 -5
- package/lib/labs/VDateInput/VDateInput.js.map +1 -1
- package/package.json +1 -1
package/dist/vuetify-labs.d.ts
CHANGED
@@ -88186,6 +88186,7 @@ declare const VDateInput: {
|
|
88186
88186
|
direction: "horizontal" | "vertical";
|
88187
88187
|
transition: string;
|
88188
88188
|
header: string;
|
88189
|
+
menu: boolean;
|
88189
88190
|
style: vue.StyleValue;
|
88190
88191
|
title: string;
|
88191
88192
|
autofocus: boolean;
|
@@ -88283,6 +88284,7 @@ declare const VDateInput: {
|
|
88283
88284
|
firstDayOfWeek?: string | number | undefined;
|
88284
88285
|
allowedDates?: unknown[] | ((date: unknown) => boolean) | undefined;
|
88285
88286
|
displayFormat?: string | Function | undefined;
|
88287
|
+
inputFormat?: string | Function | undefined;
|
88286
88288
|
} & {
|
88287
88289
|
$children?: vue.VNodeChild | (() => vue.VNodeChild) | {
|
88288
88290
|
message?: ((arg: VMessageSlot) => vue.VNodeChild) | undefined;
|
@@ -88343,6 +88345,7 @@ declare const VDateInput: {
|
|
88343
88345
|
} & {
|
88344
88346
|
onCancel?: (() => any) | undefined;
|
88345
88347
|
"onUpdate:modelValue"?: ((val: string) => any) | undefined;
|
88348
|
+
"onUpdate:menu"?: ((val: boolean) => any) | undefined;
|
88346
88349
|
onSave?: ((value: string) => any) | undefined;
|
88347
88350
|
}, Omit<Omit<{
|
88348
88351
|
$: vue.ComponentInternalInstance;
|
@@ -90286,6 +90289,7 @@ declare const VDateInput: {
|
|
90286
90289
|
save: (value: string) => true;
|
90287
90290
|
cancel: () => true;
|
90288
90291
|
'update:modelValue': (val: string) => true;
|
90292
|
+
'update:menu': (val: boolean) => true;
|
90289
90293
|
}, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, {
|
90290
90294
|
flat: boolean;
|
90291
90295
|
reverse: boolean;
|
@@ -90297,6 +90301,7 @@ declare const VDateInput: {
|
|
90297
90301
|
direction: "horizontal" | "vertical";
|
90298
90302
|
transition: string;
|
90299
90303
|
header: string;
|
90304
|
+
menu: boolean;
|
90300
90305
|
style: vue.StyleValue;
|
90301
90306
|
title: string;
|
90302
90307
|
autofocus: boolean;
|
@@ -90379,6 +90384,7 @@ declare const VDateInput: {
|
|
90379
90384
|
direction: "horizontal" | "vertical";
|
90380
90385
|
transition: string;
|
90381
90386
|
header: string;
|
90387
|
+
menu: boolean;
|
90382
90388
|
style: vue.StyleValue;
|
90383
90389
|
title: string;
|
90384
90390
|
autofocus: boolean;
|
@@ -90476,6 +90482,7 @@ declare const VDateInput: {
|
|
90476
90482
|
firstDayOfWeek?: string | number | undefined;
|
90477
90483
|
allowedDates?: unknown[] | ((date: unknown) => boolean) | undefined;
|
90478
90484
|
displayFormat?: string | Function | undefined;
|
90485
|
+
inputFormat?: string | Function | undefined;
|
90479
90486
|
} & {
|
90480
90487
|
$children?: vue.VNodeChild | (() => vue.VNodeChild) | {
|
90481
90488
|
message?: ((arg: VMessageSlot) => vue.VNodeChild) | undefined;
|
@@ -90536,6 +90543,7 @@ declare const VDateInput: {
|
|
90536
90543
|
} & {
|
90537
90544
|
onCancel?: (() => any) | undefined;
|
90538
90545
|
"onUpdate:modelValue"?: ((val: string) => any) | undefined;
|
90546
|
+
"onUpdate:menu"?: ((val: boolean) => any) | undefined;
|
90539
90547
|
onSave?: ((value: string) => any) | undefined;
|
90540
90548
|
}, Omit<Omit<{
|
90541
90549
|
$: vue.ComponentInternalInstance;
|
@@ -92486,6 +92494,7 @@ declare const VDateInput: {
|
|
92486
92494
|
direction: "horizontal" | "vertical";
|
92487
92495
|
transition: string;
|
92488
92496
|
header: string;
|
92497
|
+
menu: boolean;
|
92489
92498
|
style: vue.StyleValue;
|
92490
92499
|
title: string;
|
92491
92500
|
autofocus: boolean;
|
@@ -92547,6 +92556,7 @@ declare const VDateInput: {
|
|
92547
92556
|
direction: "horizontal" | "vertical";
|
92548
92557
|
transition: string;
|
92549
92558
|
header: string;
|
92559
|
+
menu: boolean;
|
92550
92560
|
style: vue.StyleValue;
|
92551
92561
|
title: string;
|
92552
92562
|
autofocus: boolean;
|
@@ -92644,6 +92654,7 @@ declare const VDateInput: {
|
|
92644
92654
|
firstDayOfWeek?: string | number | undefined;
|
92645
92655
|
allowedDates?: unknown[] | ((date: unknown) => boolean) | undefined;
|
92646
92656
|
displayFormat?: string | Function | undefined;
|
92657
|
+
inputFormat?: string | Function | undefined;
|
92647
92658
|
} & {
|
92648
92659
|
$children?: vue.VNodeChild | (() => vue.VNodeChild) | {
|
92649
92660
|
message?: ((arg: VMessageSlot) => vue.VNodeChild) | undefined;
|
@@ -92704,6 +92715,7 @@ declare const VDateInput: {
|
|
92704
92715
|
} & {
|
92705
92716
|
onCancel?: (() => any) | undefined;
|
92706
92717
|
"onUpdate:modelValue"?: ((val: string) => any) | undefined;
|
92718
|
+
"onUpdate:menu"?: ((val: boolean) => any) | undefined;
|
92707
92719
|
onSave?: ((value: string) => any) | undefined;
|
92708
92720
|
}, Omit<Omit<{
|
92709
92721
|
$: vue.ComponentInternalInstance;
|
@@ -94647,6 +94659,7 @@ declare const VDateInput: {
|
|
94647
94659
|
save: (value: string) => true;
|
94648
94660
|
cancel: () => true;
|
94649
94661
|
'update:modelValue': (val: string) => true;
|
94662
|
+
'update:menu': (val: boolean) => true;
|
94650
94663
|
}, string, {
|
94651
94664
|
flat: boolean;
|
94652
94665
|
reverse: boolean;
|
@@ -94658,6 +94671,7 @@ declare const VDateInput: {
|
|
94658
94671
|
direction: "horizontal" | "vertical";
|
94659
94672
|
transition: string;
|
94660
94673
|
header: string;
|
94674
|
+
menu: boolean;
|
94661
94675
|
style: vue.StyleValue;
|
94662
94676
|
title: string;
|
94663
94677
|
autofocus: boolean;
|
@@ -94944,10 +94958,12 @@ declare const VDateInput: {
|
|
94944
94958
|
};
|
94945
94959
|
mobileBreakpoint: PropType<number | DisplayBreakpoint>;
|
94946
94960
|
displayFormat: (FunctionConstructor | StringConstructor)[];
|
94961
|
+
inputFormat: (FunctionConstructor | StringConstructor)[];
|
94947
94962
|
location: {
|
94948
94963
|
type: PropType<StrategyProps$1["location"]>;
|
94949
94964
|
default: string;
|
94950
94965
|
};
|
94966
|
+
menu: BooleanConstructor;
|
94951
94967
|
updateOn: {
|
94952
94968
|
type: PropType<("blur" | "enter")[]>;
|
94953
94969
|
default: () => string[];
|
@@ -95174,10 +95190,12 @@ declare const VDateInput: {
|
|
95174
95190
|
};
|
95175
95191
|
mobileBreakpoint: PropType<number | DisplayBreakpoint>;
|
95176
95192
|
displayFormat: (FunctionConstructor | StringConstructor)[];
|
95193
|
+
inputFormat: (FunctionConstructor | StringConstructor)[];
|
95177
95194
|
location: {
|
95178
95195
|
type: PropType<StrategyProps$1["location"]>;
|
95179
95196
|
default: string;
|
95180
95197
|
};
|
95198
|
+
menu: BooleanConstructor;
|
95181
95199
|
updateOn: {
|
95182
95200
|
type: PropType<("blur" | "enter")[]>;
|
95183
95201
|
default: () => string[];
|
@@ -100667,42 +100685,41 @@ declare module 'vue' {
|
|
100667
100685
|
$children?: VNodeChild
|
100668
100686
|
}
|
100669
100687
|
export interface GlobalComponents {
|
100688
|
+
VApp: VApp
|
100670
100689
|
VAppBar: VAppBar
|
100671
100690
|
VAppBarNavIcon: VAppBarNavIcon
|
100672
100691
|
VAppBarTitle: VAppBarTitle
|
100673
|
-
|
100674
|
-
VAlert: VAlert
|
100675
|
-
VAlertTitle: VAlertTitle
|
100692
|
+
VAvatar: VAvatar
|
100676
100693
|
VAutocomplete: VAutocomplete
|
100677
100694
|
VBanner: VBanner
|
100678
100695
|
VBannerActions: VBannerActions
|
100679
100696
|
VBannerText: VBannerText
|
100680
|
-
|
100697
|
+
VAlert: VAlert
|
100698
|
+
VAlertTitle: VAlertTitle
|
100681
100699
|
VBadge: VBadge
|
100682
|
-
VBottomSheet: VBottomSheet
|
100683
|
-
VBtn: VBtn
|
100684
100700
|
VBreadcrumbs: VBreadcrumbs
|
100685
100701
|
VBreadcrumbsItem: VBreadcrumbsItem
|
100686
100702
|
VBreadcrumbsDivider: VBreadcrumbsDivider
|
100687
|
-
|
100703
|
+
VBottomSheet: VBottomSheet
|
100704
|
+
VBottomNavigation: VBottomNavigation
|
100705
|
+
VBtn: VBtn
|
100688
100706
|
VBtnToggle: VBtnToggle
|
100707
|
+
VCarousel: VCarousel
|
100708
|
+
VCarouselItem: VCarouselItem
|
100709
|
+
VCheckbox: VCheckbox
|
100710
|
+
VCheckboxBtn: VCheckboxBtn
|
100689
100711
|
VCard: VCard
|
100690
100712
|
VCardActions: VCardActions
|
100691
100713
|
VCardItem: VCardItem
|
100692
100714
|
VCardSubtitle: VCardSubtitle
|
100693
100715
|
VCardText: VCardText
|
100694
100716
|
VCardTitle: VCardTitle
|
100695
|
-
VCarousel: VCarousel
|
100696
|
-
VCarouselItem: VCarouselItem
|
100697
|
-
VCheckbox: VCheckbox
|
100698
|
-
VCheckboxBtn: VCheckboxBtn
|
100699
|
-
VChip: VChip
|
100700
100717
|
VChipGroup: VChipGroup
|
100701
100718
|
VColorPicker: VColorPicker
|
100719
|
+
VBtnGroup: VBtnGroup
|
100702
100720
|
VCombobox: VCombobox
|
100703
|
-
VBottomNavigation: VBottomNavigation
|
100704
100721
|
VCounter: VCounter
|
100705
|
-
|
100722
|
+
VChip: VChip
|
100706
100723
|
VDataTable: VDataTable
|
100707
100724
|
VDataTableHeaders: VDataTableHeaders
|
100708
100725
|
VDataTableFooter: VDataTableFooter
|
@@ -100710,36 +100727,37 @@ declare module 'vue' {
|
|
100710
100727
|
VDataTableRow: VDataTableRow
|
100711
100728
|
VDataTableVirtual: VDataTableVirtual
|
100712
100729
|
VDataTableServer: VDataTableServer
|
100730
|
+
VCode: VCode
|
100731
|
+
VDialog: VDialog
|
100732
|
+
VExpansionPanels: VExpansionPanels
|
100733
|
+
VExpansionPanel: VExpansionPanel
|
100734
|
+
VExpansionPanelText: VExpansionPanelText
|
100735
|
+
VExpansionPanelTitle: VExpansionPanelTitle
|
100736
|
+
VEmptyState: VEmptyState
|
100713
100737
|
VDatePicker: VDatePicker
|
100714
100738
|
VDatePickerControls: VDatePickerControls
|
100715
100739
|
VDatePickerHeader: VDatePickerHeader
|
100716
100740
|
VDatePickerMonth: VDatePickerMonth
|
100717
100741
|
VDatePickerMonths: VDatePickerMonths
|
100718
100742
|
VDatePickerYears: VDatePickerYears
|
100719
|
-
VDialog: VDialog
|
100720
100743
|
VDivider: VDivider
|
100721
|
-
VEmptyState: VEmptyState
|
100722
|
-
VExpansionPanels: VExpansionPanels
|
100723
|
-
VExpansionPanel: VExpansionPanel
|
100724
|
-
VExpansionPanelText: VExpansionPanelText
|
100725
|
-
VExpansionPanelTitle: VExpansionPanelTitle
|
100726
100744
|
VField: VField
|
100727
100745
|
VFieldLabel: VFieldLabel
|
100728
|
-
VFileInput: VFileInput
|
100729
100746
|
VFab: VFab
|
100730
|
-
|
100747
|
+
VFileInput: VFileInput
|
100731
100748
|
VIcon: VIcon
|
100732
100749
|
VComponentIcon: VComponentIcon
|
100733
100750
|
VSvgIcon: VSvgIcon
|
100734
100751
|
VLigatureIcon: VLigatureIcon
|
100735
100752
|
VClassIcon: VClassIcon
|
100753
|
+
VFooter: VFooter
|
100754
|
+
VImg: VImg
|
100736
100755
|
VInfiniteScroll: VInfiniteScroll
|
100737
100756
|
VInput: VInput
|
100738
100757
|
VItemGroup: VItemGroup
|
100739
100758
|
VItem: VItem
|
100740
|
-
VKbd: VKbd
|
100741
100759
|
VLabel: VLabel
|
100742
|
-
|
100760
|
+
VKbd: VKbd
|
100743
100761
|
VList: VList
|
100744
100762
|
VListGroup: VListGroup
|
100745
100763
|
VListImg: VListImg
|
@@ -100750,40 +100768,33 @@ declare module 'vue' {
|
|
100750
100768
|
VListItemTitle: VListItemTitle
|
100751
100769
|
VListSubheader: VListSubheader
|
100752
100770
|
VMain: VMain
|
100753
|
-
VMessages: VMessages
|
100754
100771
|
VMenu: VMenu
|
100755
|
-
VOverlay: VOverlay
|
100756
100772
|
VNumberInput: VNumberInput
|
100757
100773
|
VNavigationDrawer: VNavigationDrawer
|
100758
100774
|
VOtpInput: VOtpInput
|
100775
|
+
VMessages: VMessages
|
100759
100776
|
VProgressCircular: VProgressCircular
|
100760
|
-
|
100761
|
-
|
100777
|
+
VProgressLinear: VProgressLinear
|
100778
|
+
VOverlay: VOverlay
|
100762
100779
|
VRating: VRating
|
100763
|
-
|
100780
|
+
VRadioGroup: VRadioGroup
|
100781
|
+
VPagination: VPagination
|
100782
|
+
VSelect: VSelect
|
100764
100783
|
VSheet: VSheet
|
100765
|
-
|
100784
|
+
VSnackbar: VSnackbar
|
100785
|
+
VSelectionControl: VSelectionControl
|
100766
100786
|
VSlideGroup: VSlideGroup
|
100767
100787
|
VSlideGroupItem: VSlideGroupItem
|
100768
|
-
|
100769
|
-
VSnackbar: VSnackbar
|
100788
|
+
VSelectionControlGroup: VSelectionControlGroup
|
100770
100789
|
VSlider: VSlider
|
100771
|
-
|
100772
|
-
VStepper: VStepper
|
100773
|
-
VStepperActions: VStepperActions
|
100774
|
-
VStepperHeader: VStepperHeader
|
100775
|
-
VStepperItem: VStepperItem
|
100776
|
-
VStepperWindow: VStepperWindow
|
100777
|
-
VStepperWindowItem: VStepperWindowItem
|
100778
|
-
VSystemBar: VSystemBar
|
100779
|
-
VTextField: VTextField
|
100790
|
+
VSwitch: VSwitch
|
100780
100791
|
VTable: VTable
|
100781
100792
|
VTab: VTab
|
100782
100793
|
VTabs: VTabs
|
100783
100794
|
VTabsWindow: VTabsWindow
|
100784
100795
|
VTabsWindowItem: VTabsWindowItem
|
100785
|
-
|
100786
|
-
|
100796
|
+
VSystemBar: VSystemBar
|
100797
|
+
VTextField: VTextField
|
100787
100798
|
VTimeline: VTimeline
|
100788
100799
|
VTimelineItem: VTimelineItem
|
100789
100800
|
VToolbar: VToolbar
|
@@ -100795,27 +100806,32 @@ declare module 'vue' {
|
|
100795
100806
|
VConfirmEdit: VConfirmEdit
|
100796
100807
|
VDataIterator: VDataIterator
|
100797
100808
|
VDefaultsProvider: VDefaultsProvider
|
100798
|
-
|
100799
|
-
|
100800
|
-
|
100801
|
-
|
100802
|
-
|
100809
|
+
VStepper: VStepper
|
100810
|
+
VStepperActions: VStepperActions
|
100811
|
+
VStepperHeader: VStepperHeader
|
100812
|
+
VStepperItem: VStepperItem
|
100813
|
+
VStepperWindow: VStepperWindow
|
100814
|
+
VStepperWindowItem: VStepperWindowItem
|
100803
100815
|
VHover: VHover
|
100816
|
+
VLazy: VLazy
|
100804
100817
|
VLayout: VLayout
|
100805
100818
|
VLayoutItem: VLayoutItem
|
100806
|
-
VLazy: VLazy
|
100807
100819
|
VLocaleProvider: VLocaleProvider
|
100808
100820
|
VNoSsr: VNoSsr
|
100809
100821
|
VParallax: VParallax
|
100810
100822
|
VRadio: VRadio
|
100811
100823
|
VRangeSlider: VRangeSlider
|
100812
100824
|
VResponsive: VResponsive
|
100825
|
+
VContainer: VContainer
|
100826
|
+
VCol: VCol
|
100827
|
+
VRow: VRow
|
100828
|
+
VSpacer: VSpacer
|
100813
100829
|
VSparkline: VSparkline
|
100814
|
-
VSnackbarQueue: VSnackbarQueue
|
100815
100830
|
VSpeedDial: VSpeedDial
|
100816
100831
|
VThemeProvider: VThemeProvider
|
100817
|
-
|
100832
|
+
VValidation: VValidation
|
100818
100833
|
VVirtualScroll: VVirtualScroll
|
100834
|
+
VSkeletonLoader: VSkeletonLoader
|
100819
100835
|
VFabTransition: VFabTransition
|
100820
100836
|
VDialogBottomTransition: VDialogBottomTransition
|
100821
100837
|
VDialogTopTransition: VDialogTopTransition
|
@@ -100832,28 +100848,30 @@ declare module 'vue' {
|
|
100832
100848
|
VExpandTransition: VExpandTransition
|
100833
100849
|
VExpandXTransition: VExpandXTransition
|
100834
100850
|
VDialogTransition: VDialogTransition
|
100835
|
-
|
100836
|
-
|
100851
|
+
VForm: VForm
|
100852
|
+
VTextarea: VTextarea
|
100853
|
+
VSnackbarQueue: VSnackbarQueue
|
100837
100854
|
VFileUpload: VFileUpload
|
100838
100855
|
VFileUploadItem: VFileUploadItem
|
100839
|
-
|
100840
|
-
|
100841
|
-
|
100856
|
+
VTimePicker: VTimePicker
|
100857
|
+
VTimePickerClock: VTimePickerClock
|
100858
|
+
VTimePickerControls: VTimePickerControls
|
100842
100859
|
VCalendar: VCalendar
|
100843
100860
|
VCalendarDay: VCalendarDay
|
100844
100861
|
VCalendarHeader: VCalendarHeader
|
100845
100862
|
VCalendarInterval: VCalendarInterval
|
100846
100863
|
VCalendarIntervalEvent: VCalendarIntervalEvent
|
100847
100864
|
VCalendarMonthDay: VCalendarMonthDay
|
100848
|
-
VPicker: VPicker
|
100849
|
-
VPickerTitle: VPickerTitle
|
100850
|
-
VTimePicker: VTimePicker
|
100851
|
-
VTimePickerClock: VTimePickerClock
|
100852
|
-
VTimePickerControls: VTimePickerControls
|
100853
100865
|
VTreeview: VTreeview
|
100854
100866
|
VTreeviewItem: VTreeviewItem
|
100855
100867
|
VTreeviewGroup: VTreeviewGroup
|
100856
|
-
|
100868
|
+
VStepperVertical: VStepperVertical
|
100869
|
+
VStepperVerticalItem: VStepperVerticalItem
|
100870
|
+
VStepperVerticalActions: VStepperVerticalActions
|
100871
|
+
VPicker: VPicker
|
100872
|
+
VPickerTitle: VPickerTitle
|
100873
|
+
VIconBtn: VIconBtn
|
100857
100874
|
VDateInput: VDateInput
|
100875
|
+
VPullToRefresh: VPullToRefresh
|
100858
100876
|
}
|
100859
100877
|
}
|
package/dist/vuetify-labs.esm.js
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
/*!
|
2
|
-
* Vuetify v3.8.4-master.2025-05-
|
2
|
+
* Vuetify v3.8.4-master.2025-05-13
|
3
3
|
* Forged by John Leider
|
4
4
|
* Released under the MIT License.
|
5
5
|
*/
|
@@ -29076,10 +29076,12 @@ const VCalendar = genericComponent()({
|
|
29076
29076
|
|
29077
29077
|
const makeVDateInputProps = propsFactory({
|
29078
29078
|
displayFormat: [Function, String],
|
29079
|
+
inputFormat: [Function, String],
|
29079
29080
|
location: {
|
29080
29081
|
type: String,
|
29081
29082
|
default: 'bottom start'
|
29082
29083
|
},
|
29084
|
+
menu: Boolean,
|
29083
29085
|
updateOn: {
|
29084
29086
|
type: Array,
|
29085
29087
|
default: () => ['blur', 'enter']
|
@@ -29106,7 +29108,8 @@ const VDateInput = genericComponent()({
|
|
29106
29108
|
emits: {
|
29107
29109
|
save: value => true,
|
29108
29110
|
cancel: () => true,
|
29109
|
-
'update:modelValue': val => true
|
29111
|
+
'update:modelValue': val => true,
|
29112
|
+
'update:menu': val => true
|
29110
29113
|
},
|
29111
29114
|
setup(props, _ref) {
|
29112
29115
|
let {
|
@@ -29127,7 +29130,7 @@ const VDateInput = genericComponent()({
|
|
29127
29130
|
} = useFocus(props);
|
29128
29131
|
const emptyModelValue = () => props.multiple ? [] : null;
|
29129
29132
|
const model = useProxiedModel(props, 'modelValue', emptyModelValue(), val => Array.isArray(val) ? val.map(item => adapter.toJsDate(item)) : val ? adapter.toJsDate(val) : val, val => Array.isArray(val) ? val.map(item => adapter.date(item)) : val ? adapter.date(val) : val);
|
29130
|
-
const menu =
|
29133
|
+
const menu = useProxiedModel(props, 'menu');
|
29131
29134
|
const isEditingInput = shallowRef(false);
|
29132
29135
|
const vTextFieldRef = ref();
|
29133
29136
|
const disabledActions = ref(['save']);
|
@@ -29137,6 +29140,79 @@ const VDateInput = genericComponent()({
|
|
29137
29140
|
}
|
29138
29141
|
return adapter.format(date, props.displayFormat ?? 'keyboardDate');
|
29139
29142
|
}
|
29143
|
+
function parseDateString(dateString, format) {
|
29144
|
+
function countConsecutiveChars(str, startIndex) {
|
29145
|
+
const char = str[startIndex];
|
29146
|
+
let count = 0;
|
29147
|
+
while (str[startIndex + count] === char) count++;
|
29148
|
+
return count;
|
29149
|
+
}
|
29150
|
+
function parseDateParts(dateString, format) {
|
29151
|
+
const dateParts = {};
|
29152
|
+
let stringIndex = 0;
|
29153
|
+
const upperFormat = format.toUpperCase();
|
29154
|
+
for (let formatIndex = 0; formatIndex < upperFormat.length;) {
|
29155
|
+
const formatChar = upperFormat[formatIndex];
|
29156
|
+
const charCount = countConsecutiveChars(upperFormat, formatIndex);
|
29157
|
+
const dateValue = dateString.slice(stringIndex, stringIndex + charCount);
|
29158
|
+
if (['Y', 'M', 'D'].includes(formatChar)) {
|
29159
|
+
const numValue = parseInt(dateValue);
|
29160
|
+
if (isNaN(numValue)) return null;
|
29161
|
+
dateParts[formatChar] = numValue;
|
29162
|
+
}
|
29163
|
+
formatIndex += charCount;
|
29164
|
+
stringIndex += charCount;
|
29165
|
+
}
|
29166
|
+
return dateParts;
|
29167
|
+
}
|
29168
|
+
function validateDateParts(dateParts) {
|
29169
|
+
const {
|
29170
|
+
Y: year,
|
29171
|
+
M: month,
|
29172
|
+
D: day
|
29173
|
+
} = dateParts;
|
29174
|
+
if (!year || !month || !day) return null;
|
29175
|
+
if (month < 1 || month > 12) return null;
|
29176
|
+
if (day < 1 || day > 31) return null;
|
29177
|
+
return {
|
29178
|
+
year,
|
29179
|
+
month,
|
29180
|
+
day
|
29181
|
+
};
|
29182
|
+
}
|
29183
|
+
const dateParts = parseDateParts(dateString, format);
|
29184
|
+
if (!dateParts) return null;
|
29185
|
+
const validatedParts = validateDateParts(dateParts);
|
29186
|
+
if (!validatedParts) return null;
|
29187
|
+
const {
|
29188
|
+
year,
|
29189
|
+
month,
|
29190
|
+
day
|
29191
|
+
} = validatedParts;
|
29192
|
+
return {
|
29193
|
+
year,
|
29194
|
+
month,
|
29195
|
+
day
|
29196
|
+
};
|
29197
|
+
}
|
29198
|
+
function parseUserInput(value) {
|
29199
|
+
if (typeof props.inputFormat === 'function') {
|
29200
|
+
return props.inputFormat(value);
|
29201
|
+
}
|
29202
|
+
if (typeof props.inputFormat === 'string') {
|
29203
|
+
const formattedDate = parseDateString(value, props.inputFormat);
|
29204
|
+
if (!formattedDate) {
|
29205
|
+
return model.value;
|
29206
|
+
}
|
29207
|
+
const {
|
29208
|
+
year,
|
29209
|
+
month,
|
29210
|
+
day
|
29211
|
+
} = formattedDate;
|
29212
|
+
return adapter.parseISO(`${year}-${String(month).padStart(2, '0')}-${String(day).padStart(2, '0')}`);
|
29213
|
+
}
|
29214
|
+
return adapter.isValid(value) ? adapter.date(value) : model.value;
|
29215
|
+
}
|
29140
29216
|
const display = computed(() => {
|
29141
29217
|
const value = wrapInArray(model.value);
|
29142
29218
|
if (!value.length) return null;
|
@@ -29170,7 +29246,6 @@ const VDateInput = genericComponent()({
|
|
29170
29246
|
if (e.key !== 'Enter') return;
|
29171
29247
|
if (!menu.value || !isFocused.value) {
|
29172
29248
|
menu.value = true;
|
29173
|
-
return;
|
29174
29249
|
}
|
29175
29250
|
if (props.updateOn.includes('enter')) {
|
29176
29251
|
onUserInput(e.target);
|
@@ -29214,8 +29289,7 @@ const VDateInput = genericComponent()({
|
|
29214
29289
|
let {
|
29215
29290
|
value
|
29216
29291
|
} = _ref2;
|
29217
|
-
|
29218
|
-
model.value = !value ? emptyModelValue() : value;
|
29292
|
+
model.value = !value ? emptyModelValue() : parseUserInput(value);
|
29219
29293
|
}
|
29220
29294
|
useRender(() => {
|
29221
29295
|
const confirmEditProps = VConfirmEdit.filterProps(props);
|
@@ -31665,7 +31739,7 @@ function createVuetify$1() {
|
|
31665
31739
|
};
|
31666
31740
|
});
|
31667
31741
|
}
|
31668
|
-
const version$1 = "3.8.4-master.2025-05-
|
31742
|
+
const version$1 = "3.8.4-master.2025-05-13";
|
31669
31743
|
createVuetify$1.version = version$1;
|
31670
31744
|
|
31671
31745
|
// Vue's inject() can only be used in setup
|
@@ -31963,7 +32037,7 @@ var index = /*#__PURE__*/Object.freeze({
|
|
31963
32037
|
|
31964
32038
|
/* eslint-disable local-rules/sort-imports */
|
31965
32039
|
|
31966
|
-
const version = "3.8.4-master.2025-05-
|
32040
|
+
const version = "3.8.4-master.2025-05-13";
|
31967
32041
|
|
31968
32042
|
/* eslint-disable local-rules/sort-imports */
|
31969
32043
|
|