@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.
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Vuetify v3.8.4-master.2025-05-12
2
+ * Vuetify v3.8.4-master.2025-05-13
3
3
  * Forged by John Leider
4
4
  * Released under the MIT License.
5
5
  */
@@ -2208,8 +2208,8 @@ if(f.run((()=>{o.install(u)})),u.onUnmount((()=>f.stop())),u.provide(wt,e),u.pro
2208
2208
  else{const{mount:e}=u
2209
2209
  u.mount=function(){const a=e(...arguments)
2210
2210
  return t.nextTick((()=>l.update())),u.mount=e,a}}("boolean"!=typeof __VUE_OPTIONS_API__||__VUE_OPTIONS_API__)&&u.mixin({computed:{$vuetify(){return t.reactive({defaults:bf.call(this,wt),display:bf.call(this,bn),theme:bf.call(this,ya),icons:bf.call(this,$t),locale:bf.call(this,pa),date:bf.call(this,ku)})}}})},unmount:function(){u.stop()},defaults:e,display:l,theme:o,icons:c,locale:d,date:v,goTo:p}}))}function bf(e){const t=this.$,a=t.parent?.provides??t.vnode.appContext?.provides
2211
- if(a&&e in a)return a[e]}yf.version="3.8.4-master.2025-05-12"
2212
- const Vf=function(){return yf({components:uf,directives:hf,...arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}})},wf="3.8.4-master.2025-05-12"
2211
+ if(a&&e in a)return a[e]}yf.version="3.8.4-master.2025-05-13"
2212
+ const Vf=function(){return yf({components:uf,directives:hf,...arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}})},wf="3.8.4-master.2025-05-13"
2213
2213
  Vf.version=wf,e.blueprints=Kt,e.components=uf,e.createVuetify=Vf,e.directives=hf,e.useDate=Nu,e.useDefaults=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0
2214
2214
  const{props:a,provideSubDefaults:l}=xt(e,t)
2215
2215
  return l(),a},e.useDisplay=Cn,e.useGoTo=Rn,e.useLayout=ta,e.useLocale=ma,e.useRtl=ha,e.useTheme=Ia,e.version=wf}))
@@ -16,7 +16,7 @@ export const createVuetify = function () {
16
16
  ...options
17
17
  });
18
18
  };
19
- export const version = "3.8.4-master.2025-05-12";
19
+ export const version = "3.8.4-master.2025-05-13";
20
20
  createVuetify.version = version;
21
21
  export { blueprints, components, directives };
22
22
  export * from "./composables/index.js";
@@ -2537,42 +2537,41 @@ declare module 'vue' {
2537
2537
  $children?: VNodeChild
2538
2538
  }
2539
2539
  export interface GlobalComponents {
2540
+ VApp: typeof import('vuetify/components')['VApp']
2540
2541
  VAppBar: typeof import('vuetify/components')['VAppBar']
2541
2542
  VAppBarNavIcon: typeof import('vuetify/components')['VAppBarNavIcon']
2542
2543
  VAppBarTitle: typeof import('vuetify/components')['VAppBarTitle']
2543
- VApp: typeof import('vuetify/components')['VApp']
2544
- VAlert: typeof import('vuetify/components')['VAlert']
2545
- VAlertTitle: typeof import('vuetify/components')['VAlertTitle']
2544
+ VAvatar: typeof import('vuetify/components')['VAvatar']
2546
2545
  VAutocomplete: typeof import('vuetify/components')['VAutocomplete']
2547
2546
  VBanner: typeof import('vuetify/components')['VBanner']
2548
2547
  VBannerActions: typeof import('vuetify/components')['VBannerActions']
2549
2548
  VBannerText: typeof import('vuetify/components')['VBannerText']
2550
- VAvatar: typeof import('vuetify/components')['VAvatar']
2549
+ VAlert: typeof import('vuetify/components')['VAlert']
2550
+ VAlertTitle: typeof import('vuetify/components')['VAlertTitle']
2551
2551
  VBadge: typeof import('vuetify/components')['VBadge']
2552
- VBottomSheet: typeof import('vuetify/components')['VBottomSheet']
2553
- VBtn: typeof import('vuetify/components')['VBtn']
2554
2552
  VBreadcrumbs: typeof import('vuetify/components')['VBreadcrumbs']
2555
2553
  VBreadcrumbsItem: typeof import('vuetify/components')['VBreadcrumbsItem']
2556
2554
  VBreadcrumbsDivider: typeof import('vuetify/components')['VBreadcrumbsDivider']
2557
- VBtnGroup: typeof import('vuetify/components')['VBtnGroup']
2555
+ VBottomSheet: typeof import('vuetify/components')['VBottomSheet']
2556
+ VBottomNavigation: typeof import('vuetify/components')['VBottomNavigation']
2557
+ VBtn: typeof import('vuetify/components')['VBtn']
2558
2558
  VBtnToggle: typeof import('vuetify/components')['VBtnToggle']
2559
+ VCarousel: typeof import('vuetify/components')['VCarousel']
2560
+ VCarouselItem: typeof import('vuetify/components')['VCarouselItem']
2561
+ VCheckbox: typeof import('vuetify/components')['VCheckbox']
2562
+ VCheckboxBtn: typeof import('vuetify/components')['VCheckboxBtn']
2559
2563
  VCard: typeof import('vuetify/components')['VCard']
2560
2564
  VCardActions: typeof import('vuetify/components')['VCardActions']
2561
2565
  VCardItem: typeof import('vuetify/components')['VCardItem']
2562
2566
  VCardSubtitle: typeof import('vuetify/components')['VCardSubtitle']
2563
2567
  VCardText: typeof import('vuetify/components')['VCardText']
2564
2568
  VCardTitle: typeof import('vuetify/components')['VCardTitle']
2565
- VCarousel: typeof import('vuetify/components')['VCarousel']
2566
- VCarouselItem: typeof import('vuetify/components')['VCarouselItem']
2567
- VCheckbox: typeof import('vuetify/components')['VCheckbox']
2568
- VCheckboxBtn: typeof import('vuetify/components')['VCheckboxBtn']
2569
- VChip: typeof import('vuetify/components')['VChip']
2570
2569
  VChipGroup: typeof import('vuetify/components')['VChipGroup']
2571
2570
  VColorPicker: typeof import('vuetify/components')['VColorPicker']
2571
+ VBtnGroup: typeof import('vuetify/components')['VBtnGroup']
2572
2572
  VCombobox: typeof import('vuetify/components')['VCombobox']
2573
- VBottomNavigation: typeof import('vuetify/components')['VBottomNavigation']
2574
2573
  VCounter: typeof import('vuetify/components')['VCounter']
2575
- VCode: typeof import('vuetify/components')['VCode']
2574
+ VChip: typeof import('vuetify/components')['VChip']
2576
2575
  VDataTable: typeof import('vuetify/components')['VDataTable']
2577
2576
  VDataTableHeaders: typeof import('vuetify/components')['VDataTableHeaders']
2578
2577
  VDataTableFooter: typeof import('vuetify/components')['VDataTableFooter']
@@ -2580,36 +2579,37 @@ declare module 'vue' {
2580
2579
  VDataTableRow: typeof import('vuetify/components')['VDataTableRow']
2581
2580
  VDataTableVirtual: typeof import('vuetify/components')['VDataTableVirtual']
2582
2581
  VDataTableServer: typeof import('vuetify/components')['VDataTableServer']
2582
+ VCode: typeof import('vuetify/components')['VCode']
2583
+ VDialog: typeof import('vuetify/components')['VDialog']
2584
+ VExpansionPanels: typeof import('vuetify/components')['VExpansionPanels']
2585
+ VExpansionPanel: typeof import('vuetify/components')['VExpansionPanel']
2586
+ VExpansionPanelText: typeof import('vuetify/components')['VExpansionPanelText']
2587
+ VExpansionPanelTitle: typeof import('vuetify/components')['VExpansionPanelTitle']
2588
+ VEmptyState: typeof import('vuetify/components')['VEmptyState']
2583
2589
  VDatePicker: typeof import('vuetify/components')['VDatePicker']
2584
2590
  VDatePickerControls: typeof import('vuetify/components')['VDatePickerControls']
2585
2591
  VDatePickerHeader: typeof import('vuetify/components')['VDatePickerHeader']
2586
2592
  VDatePickerMonth: typeof import('vuetify/components')['VDatePickerMonth']
2587
2593
  VDatePickerMonths: typeof import('vuetify/components')['VDatePickerMonths']
2588
2594
  VDatePickerYears: typeof import('vuetify/components')['VDatePickerYears']
2589
- VDialog: typeof import('vuetify/components')['VDialog']
2590
2595
  VDivider: typeof import('vuetify/components')['VDivider']
2591
- VEmptyState: typeof import('vuetify/components')['VEmptyState']
2592
- VExpansionPanels: typeof import('vuetify/components')['VExpansionPanels']
2593
- VExpansionPanel: typeof import('vuetify/components')['VExpansionPanel']
2594
- VExpansionPanelText: typeof import('vuetify/components')['VExpansionPanelText']
2595
- VExpansionPanelTitle: typeof import('vuetify/components')['VExpansionPanelTitle']
2596
2596
  VField: typeof import('vuetify/components')['VField']
2597
2597
  VFieldLabel: typeof import('vuetify/components')['VFieldLabel']
2598
- VFileInput: typeof import('vuetify/components')['VFileInput']
2599
2598
  VFab: typeof import('vuetify/components')['VFab']
2600
- VFooter: typeof import('vuetify/components')['VFooter']
2599
+ VFileInput: typeof import('vuetify/components')['VFileInput']
2601
2600
  VIcon: typeof import('vuetify/components')['VIcon']
2602
2601
  VComponentIcon: typeof import('vuetify/components')['VComponentIcon']
2603
2602
  VSvgIcon: typeof import('vuetify/components')['VSvgIcon']
2604
2603
  VLigatureIcon: typeof import('vuetify/components')['VLigatureIcon']
2605
2604
  VClassIcon: typeof import('vuetify/components')['VClassIcon']
2605
+ VFooter: typeof import('vuetify/components')['VFooter']
2606
+ VImg: typeof import('vuetify/components')['VImg']
2606
2607
  VInfiniteScroll: typeof import('vuetify/components')['VInfiniteScroll']
2607
2608
  VInput: typeof import('vuetify/components')['VInput']
2608
2609
  VItemGroup: typeof import('vuetify/components')['VItemGroup']
2609
2610
  VItem: typeof import('vuetify/components')['VItem']
2610
- VKbd: typeof import('vuetify/components')['VKbd']
2611
2611
  VLabel: typeof import('vuetify/components')['VLabel']
2612
- VImg: typeof import('vuetify/components')['VImg']
2612
+ VKbd: typeof import('vuetify/components')['VKbd']
2613
2613
  VList: typeof import('vuetify/components')['VList']
2614
2614
  VListGroup: typeof import('vuetify/components')['VListGroup']
2615
2615
  VListImg: typeof import('vuetify/components')['VListImg']
@@ -2620,40 +2620,33 @@ declare module 'vue' {
2620
2620
  VListItemTitle: typeof import('vuetify/components')['VListItemTitle']
2621
2621
  VListSubheader: typeof import('vuetify/components')['VListSubheader']
2622
2622
  VMain: typeof import('vuetify/components')['VMain']
2623
- VMessages: typeof import('vuetify/components')['VMessages']
2624
2623
  VMenu: typeof import('vuetify/components')['VMenu']
2625
- VOverlay: typeof import('vuetify/components')['VOverlay']
2626
2624
  VNumberInput: typeof import('vuetify/components')['VNumberInput']
2627
2625
  VNavigationDrawer: typeof import('vuetify/components')['VNavigationDrawer']
2628
2626
  VOtpInput: typeof import('vuetify/components')['VOtpInput']
2627
+ VMessages: typeof import('vuetify/components')['VMessages']
2629
2628
  VProgressCircular: typeof import('vuetify/components')['VProgressCircular']
2630
- VPagination: typeof import('vuetify/components')['VPagination']
2631
- VRadioGroup: typeof import('vuetify/components')['VRadioGroup']
2629
+ VProgressLinear: typeof import('vuetify/components')['VProgressLinear']
2630
+ VOverlay: typeof import('vuetify/components')['VOverlay']
2632
2631
  VRating: typeof import('vuetify/components')['VRating']
2633
- VSelectionControl: typeof import('vuetify/components')['VSelectionControl']
2632
+ VRadioGroup: typeof import('vuetify/components')['VRadioGroup']
2633
+ VPagination: typeof import('vuetify/components')['VPagination']
2634
+ VSelect: typeof import('vuetify/components')['VSelect']
2634
2635
  VSheet: typeof import('vuetify/components')['VSheet']
2635
- VSelectionControlGroup: typeof import('vuetify/components')['VSelectionControlGroup']
2636
+ VSnackbar: typeof import('vuetify/components')['VSnackbar']
2637
+ VSelectionControl: typeof import('vuetify/components')['VSelectionControl']
2636
2638
  VSlideGroup: typeof import('vuetify/components')['VSlideGroup']
2637
2639
  VSlideGroupItem: typeof import('vuetify/components')['VSlideGroupItem']
2638
- VSelect: typeof import('vuetify/components')['VSelect']
2639
- VSnackbar: typeof import('vuetify/components')['VSnackbar']
2640
+ VSelectionControlGroup: typeof import('vuetify/components')['VSelectionControlGroup']
2640
2641
  VSlider: typeof import('vuetify/components')['VSlider']
2641
- VSkeletonLoader: typeof import('vuetify/components')['VSkeletonLoader']
2642
- VStepper: typeof import('vuetify/components')['VStepper']
2643
- VStepperActions: typeof import('vuetify/components')['VStepperActions']
2644
- VStepperHeader: typeof import('vuetify/components')['VStepperHeader']
2645
- VStepperItem: typeof import('vuetify/components')['VStepperItem']
2646
- VStepperWindow: typeof import('vuetify/components')['VStepperWindow']
2647
- VStepperWindowItem: typeof import('vuetify/components')['VStepperWindowItem']
2648
- VSystemBar: typeof import('vuetify/components')['VSystemBar']
2649
- VTextField: typeof import('vuetify/components')['VTextField']
2642
+ VSwitch: typeof import('vuetify/components')['VSwitch']
2650
2643
  VTable: typeof import('vuetify/components')['VTable']
2651
2644
  VTab: typeof import('vuetify/components')['VTab']
2652
2645
  VTabs: typeof import('vuetify/components')['VTabs']
2653
2646
  VTabsWindow: typeof import('vuetify/components')['VTabsWindow']
2654
2647
  VTabsWindowItem: typeof import('vuetify/components')['VTabsWindowItem']
2655
- VTextarea: typeof import('vuetify/components')['VTextarea']
2656
- VSwitch: typeof import('vuetify/components')['VSwitch']
2648
+ VSystemBar: typeof import('vuetify/components')['VSystemBar']
2649
+ VTextField: typeof import('vuetify/components')['VTextField']
2657
2650
  VTimeline: typeof import('vuetify/components')['VTimeline']
2658
2651
  VTimelineItem: typeof import('vuetify/components')['VTimelineItem']
2659
2652
  VToolbar: typeof import('vuetify/components')['VToolbar']
@@ -2665,27 +2658,32 @@ declare module 'vue' {
2665
2658
  VConfirmEdit: typeof import('vuetify/components')['VConfirmEdit']
2666
2659
  VDataIterator: typeof import('vuetify/components')['VDataIterator']
2667
2660
  VDefaultsProvider: typeof import('vuetify/components')['VDefaultsProvider']
2668
- VForm: typeof import('vuetify/components')['VForm']
2669
- VContainer: typeof import('vuetify/components')['VContainer']
2670
- VCol: typeof import('vuetify/components')['VCol']
2671
- VRow: typeof import('vuetify/components')['VRow']
2672
- VSpacer: typeof import('vuetify/components')['VSpacer']
2661
+ VStepper: typeof import('vuetify/components')['VStepper']
2662
+ VStepperActions: typeof import('vuetify/components')['VStepperActions']
2663
+ VStepperHeader: typeof import('vuetify/components')['VStepperHeader']
2664
+ VStepperItem: typeof import('vuetify/components')['VStepperItem']
2665
+ VStepperWindow: typeof import('vuetify/components')['VStepperWindow']
2666
+ VStepperWindowItem: typeof import('vuetify/components')['VStepperWindowItem']
2673
2667
  VHover: typeof import('vuetify/components')['VHover']
2668
+ VLazy: typeof import('vuetify/components')['VLazy']
2674
2669
  VLayout: typeof import('vuetify/components')['VLayout']
2675
2670
  VLayoutItem: typeof import('vuetify/components')['VLayoutItem']
2676
- VLazy: typeof import('vuetify/components')['VLazy']
2677
2671
  VLocaleProvider: typeof import('vuetify/components')['VLocaleProvider']
2678
2672
  VNoSsr: typeof import('vuetify/components')['VNoSsr']
2679
2673
  VParallax: typeof import('vuetify/components')['VParallax']
2680
2674
  VRadio: typeof import('vuetify/components')['VRadio']
2681
2675
  VRangeSlider: typeof import('vuetify/components')['VRangeSlider']
2682
2676
  VResponsive: typeof import('vuetify/components')['VResponsive']
2677
+ VContainer: typeof import('vuetify/components')['VContainer']
2678
+ VCol: typeof import('vuetify/components')['VCol']
2679
+ VRow: typeof import('vuetify/components')['VRow']
2680
+ VSpacer: typeof import('vuetify/components')['VSpacer']
2683
2681
  VSparkline: typeof import('vuetify/components')['VSparkline']
2684
- VSnackbarQueue: typeof import('vuetify/components')['VSnackbarQueue']
2685
2682
  VSpeedDial: typeof import('vuetify/components')['VSpeedDial']
2686
2683
  VThemeProvider: typeof import('vuetify/components')['VThemeProvider']
2687
- VProgressLinear: typeof import('vuetify/components')['VProgressLinear']
2684
+ VValidation: typeof import('vuetify/components')['VValidation']
2688
2685
  VVirtualScroll: typeof import('vuetify/components')['VVirtualScroll']
2686
+ VSkeletonLoader: typeof import('vuetify/components')['VSkeletonLoader']
2689
2687
  VFabTransition: typeof import('vuetify/components')['VFabTransition']
2690
2688
  VDialogBottomTransition: typeof import('vuetify/components')['VDialogBottomTransition']
2691
2689
  VDialogTopTransition: typeof import('vuetify/components')['VDialogTopTransition']
@@ -2702,28 +2700,30 @@ declare module 'vue' {
2702
2700
  VExpandTransition: typeof import('vuetify/components')['VExpandTransition']
2703
2701
  VExpandXTransition: typeof import('vuetify/components')['VExpandXTransition']
2704
2702
  VDialogTransition: typeof import('vuetify/components')['VDialogTransition']
2705
- VValidation: typeof import('vuetify/components')['VValidation']
2706
- VIconBtn: typeof import('vuetify/labs/components')['VIconBtn']
2703
+ VForm: typeof import('vuetify/components')['VForm']
2704
+ VTextarea: typeof import('vuetify/components')['VTextarea']
2705
+ VSnackbarQueue: typeof import('vuetify/components')['VSnackbarQueue']
2707
2706
  VFileUpload: typeof import('vuetify/labs/components')['VFileUpload']
2708
2707
  VFileUploadItem: typeof import('vuetify/labs/components')['VFileUploadItem']
2709
- VStepperVertical: typeof import('vuetify/labs/components')['VStepperVertical']
2710
- VStepperVerticalItem: typeof import('vuetify/labs/components')['VStepperVerticalItem']
2711
- VStepperVerticalActions: typeof import('vuetify/labs/components')['VStepperVerticalActions']
2708
+ VTimePicker: typeof import('vuetify/labs/components')['VTimePicker']
2709
+ VTimePickerClock: typeof import('vuetify/labs/components')['VTimePickerClock']
2710
+ VTimePickerControls: typeof import('vuetify/labs/components')['VTimePickerControls']
2712
2711
  VCalendar: typeof import('vuetify/labs/components')['VCalendar']
2713
2712
  VCalendarDay: typeof import('vuetify/labs/components')['VCalendarDay']
2714
2713
  VCalendarHeader: typeof import('vuetify/labs/components')['VCalendarHeader']
2715
2714
  VCalendarInterval: typeof import('vuetify/labs/components')['VCalendarInterval']
2716
2715
  VCalendarIntervalEvent: typeof import('vuetify/labs/components')['VCalendarIntervalEvent']
2717
2716
  VCalendarMonthDay: typeof import('vuetify/labs/components')['VCalendarMonthDay']
2718
- VPicker: typeof import('vuetify/labs/components')['VPicker']
2719
- VPickerTitle: typeof import('vuetify/labs/components')['VPickerTitle']
2720
- VTimePicker: typeof import('vuetify/labs/components')['VTimePicker']
2721
- VTimePickerClock: typeof import('vuetify/labs/components')['VTimePickerClock']
2722
- VTimePickerControls: typeof import('vuetify/labs/components')['VTimePickerControls']
2723
2717
  VTreeview: typeof import('vuetify/labs/components')['VTreeview']
2724
2718
  VTreeviewItem: typeof import('vuetify/labs/components')['VTreeviewItem']
2725
2719
  VTreeviewGroup: typeof import('vuetify/labs/components')['VTreeviewGroup']
2726
- VPullToRefresh: typeof import('vuetify/labs/components')['VPullToRefresh']
2720
+ VStepperVertical: typeof import('vuetify/labs/components')['VStepperVertical']
2721
+ VStepperVerticalItem: typeof import('vuetify/labs/components')['VStepperVerticalItem']
2722
+ VStepperVerticalActions: typeof import('vuetify/labs/components')['VStepperVerticalActions']
2723
+ VPicker: typeof import('vuetify/labs/components')['VPicker']
2724
+ VPickerTitle: typeof import('vuetify/labs/components')['VPickerTitle']
2725
+ VIconBtn: typeof import('vuetify/labs/components')['VIconBtn']
2727
2726
  VDateInput: typeof import('vuetify/labs/components')['VDateInput']
2727
+ VPullToRefresh: typeof import('vuetify/labs/components')['VPullToRefresh']
2728
2728
  }
2729
2729
  }
package/lib/framework.js CHANGED
@@ -109,7 +109,7 @@ export function createVuetify() {
109
109
  };
110
110
  });
111
111
  }
112
- export const version = "3.8.4-master.2025-05-12";
112
+ export const version = "3.8.4-master.2025-05-13";
113
113
  createVuetify.version = version;
114
114
 
115
115
  // Vue's inject() can only be used in setup
@@ -115,7 +115,9 @@ export declare const makeVDateInputProps: <Defaults extends {
115
115
  mobile?: unknown;
116
116
  mobileBreakpoint?: unknown;
117
117
  displayFormat?: unknown;
118
+ inputFormat?: unknown;
118
119
  location?: unknown;
120
+ menu?: unknown;
119
121
  updateOn?: unknown;
120
122
  } = {}>(defaults?: Defaults | undefined) => {
121
123
  max: unknown extends Defaults["max"] ? PropType<unknown> : {
@@ -768,6 +770,10 @@ export declare const makeVDateInputProps: <Defaults extends {
768
770
  type: PropType<unknown extends Defaults["displayFormat"] ? string | Function : string | Function | Defaults["displayFormat"]>;
769
771
  default: unknown extends Defaults["displayFormat"] ? string | Function : NonNullable<string | Function> | Defaults["displayFormat"];
770
772
  };
773
+ inputFormat: unknown extends Defaults["inputFormat"] ? (FunctionConstructor | StringConstructor)[] : {
774
+ type: PropType<unknown extends Defaults["inputFormat"] ? string | Function : string | Function | Defaults["inputFormat"]>;
775
+ default: unknown extends Defaults["inputFormat"] ? string | Function : NonNullable<string | Function> | Defaults["inputFormat"];
776
+ };
771
777
  location: unknown extends Defaults["location"] ? {
772
778
  type: PropType<StrategyProps["location"]>;
773
779
  default: string;
@@ -778,6 +784,10 @@ export declare const makeVDateInputProps: <Defaults extends {
778
784
  type: PropType<unknown extends Defaults["location"] ? import("../../util/index.js").Anchor : import("../../util/index.js").Anchor | Defaults["location"]>;
779
785
  default: unknown extends Defaults["location"] ? import("../../util/index.js").Anchor : NonNullable<import("../../util/index.js").Anchor> | Defaults["location"];
780
786
  };
787
+ menu: unknown extends Defaults["menu"] ? BooleanConstructor : {
788
+ type: PropType<unknown extends Defaults["menu"] ? boolean : boolean | Defaults["menu"]>;
789
+ default: unknown extends Defaults["menu"] ? boolean : boolean | Defaults["menu"];
790
+ };
781
791
  updateOn: unknown extends Defaults["updateOn"] ? {
782
792
  type: PropType<("blur" | "enter")[]>;
783
793
  default: () => string[];
@@ -801,6 +811,7 @@ export declare const VDateInput: {
801
811
  direction: "horizontal" | "vertical";
802
812
  transition: string;
803
813
  header: string;
814
+ menu: boolean;
804
815
  style: import("vue").StyleValue;
805
816
  title: string;
806
817
  autofocus: boolean;
@@ -898,6 +909,7 @@ export declare const VDateInput: {
898
909
  firstDayOfWeek?: string | number | undefined;
899
910
  allowedDates?: unknown[] | ((date: unknown) => boolean) | undefined;
900
911
  displayFormat?: string | Function | undefined;
912
+ inputFormat?: string | Function | undefined;
901
913
  } & {
902
914
  $children?: import("vue").VNodeChild | (() => import("vue").VNodeChild) | {
903
915
  message?: ((arg: import("../../components/VMessages/VMessages.js").VMessageSlot) => import("vue").VNodeChild) | undefined;
@@ -958,6 +970,7 @@ export declare const VDateInput: {
958
970
  } & {
959
971
  onCancel?: (() => any) | undefined;
960
972
  "onUpdate:modelValue"?: ((val: string) => any) | undefined;
973
+ "onUpdate:menu"?: ((val: boolean) => any) | undefined;
961
974
  onSave?: ((value: string) => any) | undefined;
962
975
  }, Omit<Omit<{
963
976
  $: import("vue").ComponentInternalInstance;
@@ -2901,6 +2914,7 @@ export declare const VDateInput: {
2901
2914
  save: (value: string) => true;
2902
2915
  cancel: () => true;
2903
2916
  'update:modelValue': (val: string) => true;
2917
+ 'update:menu': (val: boolean) => true;
2904
2918
  }, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, {
2905
2919
  flat: boolean;
2906
2920
  reverse: boolean;
@@ -2912,6 +2926,7 @@ export declare const VDateInput: {
2912
2926
  direction: "horizontal" | "vertical";
2913
2927
  transition: string;
2914
2928
  header: string;
2929
+ menu: boolean;
2915
2930
  style: import("vue").StyleValue;
2916
2931
  title: string;
2917
2932
  autofocus: boolean;
@@ -2994,6 +3009,7 @@ export declare const VDateInput: {
2994
3009
  direction: "horizontal" | "vertical";
2995
3010
  transition: string;
2996
3011
  header: string;
3012
+ menu: boolean;
2997
3013
  style: import("vue").StyleValue;
2998
3014
  title: string;
2999
3015
  autofocus: boolean;
@@ -3091,6 +3107,7 @@ export declare const VDateInput: {
3091
3107
  firstDayOfWeek?: string | number | undefined;
3092
3108
  allowedDates?: unknown[] | ((date: unknown) => boolean) | undefined;
3093
3109
  displayFormat?: string | Function | undefined;
3110
+ inputFormat?: string | Function | undefined;
3094
3111
  } & {
3095
3112
  $children?: import("vue").VNodeChild | (() => import("vue").VNodeChild) | {
3096
3113
  message?: ((arg: import("../../components/VMessages/VMessages.js").VMessageSlot) => import("vue").VNodeChild) | undefined;
@@ -3151,6 +3168,7 @@ export declare const VDateInput: {
3151
3168
  } & {
3152
3169
  onCancel?: (() => any) | undefined;
3153
3170
  "onUpdate:modelValue"?: ((val: string) => any) | undefined;
3171
+ "onUpdate:menu"?: ((val: boolean) => any) | undefined;
3154
3172
  onSave?: ((value: string) => any) | undefined;
3155
3173
  }, Omit<Omit<{
3156
3174
  $: import("vue").ComponentInternalInstance;
@@ -5101,6 +5119,7 @@ export declare const VDateInput: {
5101
5119
  direction: "horizontal" | "vertical";
5102
5120
  transition: string;
5103
5121
  header: string;
5122
+ menu: boolean;
5104
5123
  style: import("vue").StyleValue;
5105
5124
  title: string;
5106
5125
  autofocus: boolean;
@@ -5162,6 +5181,7 @@ export declare const VDateInput: {
5162
5181
  direction: "horizontal" | "vertical";
5163
5182
  transition: string;
5164
5183
  header: string;
5184
+ menu: boolean;
5165
5185
  style: import("vue").StyleValue;
5166
5186
  title: string;
5167
5187
  autofocus: boolean;
@@ -5259,6 +5279,7 @@ export declare const VDateInput: {
5259
5279
  firstDayOfWeek?: string | number | undefined;
5260
5280
  allowedDates?: unknown[] | ((date: unknown) => boolean) | undefined;
5261
5281
  displayFormat?: string | Function | undefined;
5282
+ inputFormat?: string | Function | undefined;
5262
5283
  } & {
5263
5284
  $children?: import("vue").VNodeChild | (() => import("vue").VNodeChild) | {
5264
5285
  message?: ((arg: import("../../components/VMessages/VMessages.js").VMessageSlot) => import("vue").VNodeChild) | undefined;
@@ -5319,6 +5340,7 @@ export declare const VDateInput: {
5319
5340
  } & {
5320
5341
  onCancel?: (() => any) | undefined;
5321
5342
  "onUpdate:modelValue"?: ((val: string) => any) | undefined;
5343
+ "onUpdate:menu"?: ((val: boolean) => any) | undefined;
5322
5344
  onSave?: ((value: string) => any) | undefined;
5323
5345
  }, Omit<Omit<{
5324
5346
  $: import("vue").ComponentInternalInstance;
@@ -7262,6 +7284,7 @@ export declare const VDateInput: {
7262
7284
  save: (value: string) => true;
7263
7285
  cancel: () => true;
7264
7286
  'update:modelValue': (val: string) => true;
7287
+ 'update:menu': (val: boolean) => true;
7265
7288
  }, string, {
7266
7289
  flat: boolean;
7267
7290
  reverse: boolean;
@@ -7273,6 +7296,7 @@ export declare const VDateInput: {
7273
7296
  direction: "horizontal" | "vertical";
7274
7297
  transition: string;
7275
7298
  header: string;
7299
+ menu: boolean;
7276
7300
  style: import("vue").StyleValue;
7277
7301
  title: string;
7278
7302
  autofocus: boolean;
@@ -7559,10 +7583,12 @@ export declare const VDateInput: {
7559
7583
  };
7560
7584
  mobileBreakpoint: PropType<number | import("../../composables/display.js").DisplayBreakpoint>;
7561
7585
  displayFormat: (FunctionConstructor | StringConstructor)[];
7586
+ inputFormat: (FunctionConstructor | StringConstructor)[];
7562
7587
  location: {
7563
7588
  type: PropType<StrategyProps["location"]>;
7564
7589
  default: string;
7565
7590
  };
7591
+ menu: BooleanConstructor;
7566
7592
  updateOn: {
7567
7593
  type: PropType<("blur" | "enter")[]>;
7568
7594
  default: () => string[];
@@ -7789,10 +7815,12 @@ export declare const VDateInput: {
7789
7815
  };
7790
7816
  mobileBreakpoint: PropType<number | import("../../composables/display.js").DisplayBreakpoint>;
7791
7817
  displayFormat: (FunctionConstructor | StringConstructor)[];
7818
+ inputFormat: (FunctionConstructor | StringConstructor)[];
7792
7819
  location: {
7793
7820
  type: PropType<StrategyProps["location"]>;
7794
7821
  default: string;
7795
7822
  };
7823
+ menu: BooleanConstructor;
7796
7824
  updateOn: {
7797
7825
  type: PropType<("blur" | "enter")[]>;
7798
7826
  default: () => string[];
@@ -15,10 +15,12 @@ import { genericComponent, omit, propsFactory, useRender, wrapInArray } from "..
15
15
  // Types
16
16
  export const makeVDateInputProps = propsFactory({
17
17
  displayFormat: [Function, String],
18
+ inputFormat: [Function, String],
18
19
  location: {
19
20
  type: String,
20
21
  default: 'bottom start'
21
22
  },
23
+ menu: Boolean,
22
24
  updateOn: {
23
25
  type: Array,
24
26
  default: () => ['blur', 'enter']
@@ -45,7 +47,8 @@ export const VDateInput = genericComponent()({
45
47
  emits: {
46
48
  save: value => true,
47
49
  cancel: () => true,
48
- 'update:modelValue': val => true
50
+ 'update:modelValue': val => true,
51
+ 'update:menu': val => true
49
52
  },
50
53
  setup(props, _ref) {
51
54
  let {
@@ -66,7 +69,7 @@ export const VDateInput = genericComponent()({
66
69
  } = useFocus(props);
67
70
  const emptyModelValue = () => props.multiple ? [] : null;
68
71
  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);
69
- const menu = shallowRef(false);
72
+ const menu = useProxiedModel(props, 'menu');
70
73
  const isEditingInput = shallowRef(false);
71
74
  const vTextFieldRef = ref();
72
75
  const disabledActions = ref(['save']);
@@ -76,6 +79,79 @@ export const VDateInput = genericComponent()({
76
79
  }
77
80
  return adapter.format(date, props.displayFormat ?? 'keyboardDate');
78
81
  }
82
+ function parseDateString(dateString, format) {
83
+ function countConsecutiveChars(str, startIndex) {
84
+ const char = str[startIndex];
85
+ let count = 0;
86
+ while (str[startIndex + count] === char) count++;
87
+ return count;
88
+ }
89
+ function parseDateParts(dateString, format) {
90
+ const dateParts = {};
91
+ let stringIndex = 0;
92
+ const upperFormat = format.toUpperCase();
93
+ for (let formatIndex = 0; formatIndex < upperFormat.length;) {
94
+ const formatChar = upperFormat[formatIndex];
95
+ const charCount = countConsecutiveChars(upperFormat, formatIndex);
96
+ const dateValue = dateString.slice(stringIndex, stringIndex + charCount);
97
+ if (['Y', 'M', 'D'].includes(formatChar)) {
98
+ const numValue = parseInt(dateValue);
99
+ if (isNaN(numValue)) return null;
100
+ dateParts[formatChar] = numValue;
101
+ }
102
+ formatIndex += charCount;
103
+ stringIndex += charCount;
104
+ }
105
+ return dateParts;
106
+ }
107
+ function validateDateParts(dateParts) {
108
+ const {
109
+ Y: year,
110
+ M: month,
111
+ D: day
112
+ } = dateParts;
113
+ if (!year || !month || !day) return null;
114
+ if (month < 1 || month > 12) return null;
115
+ if (day < 1 || day > 31) return null;
116
+ return {
117
+ year,
118
+ month,
119
+ day
120
+ };
121
+ }
122
+ const dateParts = parseDateParts(dateString, format);
123
+ if (!dateParts) return null;
124
+ const validatedParts = validateDateParts(dateParts);
125
+ if (!validatedParts) return null;
126
+ const {
127
+ year,
128
+ month,
129
+ day
130
+ } = validatedParts;
131
+ return {
132
+ year,
133
+ month,
134
+ day
135
+ };
136
+ }
137
+ function parseUserInput(value) {
138
+ if (typeof props.inputFormat === 'function') {
139
+ return props.inputFormat(value);
140
+ }
141
+ if (typeof props.inputFormat === 'string') {
142
+ const formattedDate = parseDateString(value, props.inputFormat);
143
+ if (!formattedDate) {
144
+ return model.value;
145
+ }
146
+ const {
147
+ year,
148
+ month,
149
+ day
150
+ } = formattedDate;
151
+ return adapter.parseISO(`${year}-${String(month).padStart(2, '0')}-${String(day).padStart(2, '0')}`);
152
+ }
153
+ return adapter.isValid(value) ? adapter.date(value) : model.value;
154
+ }
79
155
  const display = computed(() => {
80
156
  const value = wrapInArray(model.value);
81
157
  if (!value.length) return null;
@@ -109,7 +185,6 @@ export const VDateInput = genericComponent()({
109
185
  if (e.key !== 'Enter') return;
110
186
  if (!menu.value || !isFocused.value) {
111
187
  menu.value = true;
112
- return;
113
188
  }
114
189
  if (props.updateOn.includes('enter')) {
115
190
  onUserInput(e.target);
@@ -153,8 +228,7 @@ export const VDateInput = genericComponent()({
153
228
  let {
154
229
  value
155
230
  } = _ref2;
156
- if (value && !adapter.isValid(value)) return;
157
- model.value = !value ? emptyModelValue() : value;
231
+ model.value = !value ? emptyModelValue() : parseUserInput(value);
158
232
  }
159
233
  useRender(() => {
160
234
  const confirmEditProps = VConfirmEdit.filterProps(props);