@vuetify/nightly 3.8.4-master.2025-05-10 → 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-10
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-10"
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-10"
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-10";
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,29 +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
+ VAvatar: typeof import('vuetify/components')['VAvatar']
2545
+ VAutocomplete: typeof import('vuetify/components')['VAutocomplete']
2546
+ VBanner: typeof import('vuetify/components')['VBanner']
2547
+ VBannerActions: typeof import('vuetify/components')['VBannerActions']
2548
+ VBannerText: typeof import('vuetify/components')['VBannerText']
2544
2549
  VAlert: typeof import('vuetify/components')['VAlert']
2545
2550
  VAlertTitle: typeof import('vuetify/components')['VAlertTitle']
2546
- VAvatar: typeof import('vuetify/components')['VAvatar']
2547
2551
  VBadge: typeof import('vuetify/components')['VBadge']
2548
- VBtn: typeof import('vuetify/components')['VBtn']
2549
- VBtnGroup: typeof import('vuetify/components')['VBtnGroup']
2550
- VAutocomplete: typeof import('vuetify/components')['VAutocomplete']
2552
+ VBreadcrumbs: typeof import('vuetify/components')['VBreadcrumbs']
2553
+ VBreadcrumbsItem: typeof import('vuetify/components')['VBreadcrumbsItem']
2554
+ VBreadcrumbsDivider: typeof import('vuetify/components')['VBreadcrumbsDivider']
2555
+ VBottomSheet: typeof import('vuetify/components')['VBottomSheet']
2551
2556
  VBottomNavigation: typeof import('vuetify/components')['VBottomNavigation']
2557
+ VBtn: typeof import('vuetify/components')['VBtn']
2552
2558
  VBtnToggle: typeof import('vuetify/components')['VBtnToggle']
2553
- VCheckbox: typeof import('vuetify/components')['VCheckbox']
2554
- VCheckboxBtn: typeof import('vuetify/components')['VCheckboxBtn']
2555
- VBottomSheet: typeof import('vuetify/components')['VBottomSheet']
2556
2559
  VCarousel: typeof import('vuetify/components')['VCarousel']
2557
2560
  VCarouselItem: typeof import('vuetify/components')['VCarouselItem']
2558
- VChip: typeof import('vuetify/components')['VChip']
2561
+ VCheckbox: typeof import('vuetify/components')['VCheckbox']
2562
+ VCheckboxBtn: typeof import('vuetify/components')['VCheckboxBtn']
2563
+ VCard: typeof import('vuetify/components')['VCard']
2564
+ VCardActions: typeof import('vuetify/components')['VCardActions']
2565
+ VCardItem: typeof import('vuetify/components')['VCardItem']
2566
+ VCardSubtitle: typeof import('vuetify/components')['VCardSubtitle']
2567
+ VCardText: typeof import('vuetify/components')['VCardText']
2568
+ VCardTitle: typeof import('vuetify/components')['VCardTitle']
2559
2569
  VChipGroup: typeof import('vuetify/components')['VChipGroup']
2560
2570
  VColorPicker: typeof import('vuetify/components')['VColorPicker']
2571
+ VBtnGroup: typeof import('vuetify/components')['VBtnGroup']
2572
+ VCombobox: typeof import('vuetify/components')['VCombobox']
2561
2573
  VCounter: typeof import('vuetify/components')['VCounter']
2562
- VCode: typeof import('vuetify/components')['VCode']
2574
+ VChip: typeof import('vuetify/components')['VChip']
2563
2575
  VDataTable: typeof import('vuetify/components')['VDataTable']
2564
2576
  VDataTableHeaders: typeof import('vuetify/components')['VDataTableHeaders']
2565
2577
  VDataTableFooter: typeof import('vuetify/components')['VDataTableFooter']
@@ -2567,39 +2579,37 @@ declare module 'vue' {
2567
2579
  VDataTableRow: typeof import('vuetify/components')['VDataTableRow']
2568
2580
  VDataTableVirtual: typeof import('vuetify/components')['VDataTableVirtual']
2569
2581
  VDataTableServer: typeof import('vuetify/components')['VDataTableServer']
2570
- VCombobox: typeof import('vuetify/components')['VCombobox']
2582
+ VCode: typeof import('vuetify/components')['VCode']
2571
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']
2572
2589
  VDatePicker: typeof import('vuetify/components')['VDatePicker']
2573
2590
  VDatePickerControls: typeof import('vuetify/components')['VDatePickerControls']
2574
2591
  VDatePickerHeader: typeof import('vuetify/components')['VDatePickerHeader']
2575
2592
  VDatePickerMonth: typeof import('vuetify/components')['VDatePickerMonth']
2576
2593
  VDatePickerMonths: typeof import('vuetify/components')['VDatePickerMonths']
2577
2594
  VDatePickerYears: typeof import('vuetify/components')['VDatePickerYears']
2578
- VEmptyState: typeof import('vuetify/components')['VEmptyState']
2579
2595
  VDivider: typeof import('vuetify/components')['VDivider']
2580
2596
  VField: typeof import('vuetify/components')['VField']
2581
2597
  VFieldLabel: typeof import('vuetify/components')['VFieldLabel']
2582
- VExpansionPanels: typeof import('vuetify/components')['VExpansionPanels']
2583
- VExpansionPanel: typeof import('vuetify/components')['VExpansionPanel']
2584
- VExpansionPanelText: typeof import('vuetify/components')['VExpansionPanelText']
2585
- VExpansionPanelTitle: typeof import('vuetify/components')['VExpansionPanelTitle']
2586
2598
  VFab: typeof import('vuetify/components')['VFab']
2587
- VBreadcrumbs: typeof import('vuetify/components')['VBreadcrumbs']
2588
- VBreadcrumbsItem: typeof import('vuetify/components')['VBreadcrumbsItem']
2589
- VBreadcrumbsDivider: typeof import('vuetify/components')['VBreadcrumbsDivider']
2590
2599
  VFileInput: typeof import('vuetify/components')['VFileInput']
2591
2600
  VIcon: typeof import('vuetify/components')['VIcon']
2592
2601
  VComponentIcon: typeof import('vuetify/components')['VComponentIcon']
2593
2602
  VSvgIcon: typeof import('vuetify/components')['VSvgIcon']
2594
2603
  VLigatureIcon: typeof import('vuetify/components')['VLigatureIcon']
2595
2604
  VClassIcon: typeof import('vuetify/components')['VClassIcon']
2596
- VInfiniteScroll: typeof import('vuetify/components')['VInfiniteScroll']
2605
+ VFooter: typeof import('vuetify/components')['VFooter']
2597
2606
  VImg: typeof import('vuetify/components')['VImg']
2598
- VLabel: typeof import('vuetify/components')['VLabel']
2607
+ VInfiniteScroll: typeof import('vuetify/components')['VInfiniteScroll']
2608
+ VInput: typeof import('vuetify/components')['VInput']
2599
2609
  VItemGroup: typeof import('vuetify/components')['VItemGroup']
2600
2610
  VItem: typeof import('vuetify/components')['VItem']
2601
- VInput: typeof import('vuetify/components')['VInput']
2602
- VMain: typeof import('vuetify/components')['VMain']
2611
+ VLabel: typeof import('vuetify/components')['VLabel']
2612
+ VKbd: typeof import('vuetify/components')['VKbd']
2603
2613
  VList: typeof import('vuetify/components')['VList']
2604
2614
  VListGroup: typeof import('vuetify/components')['VListGroup']
2605
2615
  VListImg: typeof import('vuetify/components')['VListImg']
@@ -2609,79 +2619,71 @@ declare module 'vue' {
2609
2619
  VListItemSubtitle: typeof import('vuetify/components')['VListItemSubtitle']
2610
2620
  VListItemTitle: typeof import('vuetify/components')['VListItemTitle']
2611
2621
  VListSubheader: typeof import('vuetify/components')['VListSubheader']
2622
+ VMain: typeof import('vuetify/components')['VMain']
2612
2623
  VMenu: typeof import('vuetify/components')['VMenu']
2624
+ VNumberInput: typeof import('vuetify/components')['VNumberInput']
2613
2625
  VNavigationDrawer: typeof import('vuetify/components')['VNavigationDrawer']
2614
2626
  VOtpInput: typeof import('vuetify/components')['VOtpInput']
2615
- VNumberInput: typeof import('vuetify/components')['VNumberInput']
2616
- VOverlay: typeof import('vuetify/components')['VOverlay']
2617
2627
  VMessages: typeof import('vuetify/components')['VMessages']
2618
- VPagination: typeof import('vuetify/components')['VPagination']
2619
- VProgressLinear: typeof import('vuetify/components')['VProgressLinear']
2620
2628
  VProgressCircular: typeof import('vuetify/components')['VProgressCircular']
2621
- VRadioGroup: typeof import('vuetify/components')['VRadioGroup']
2629
+ VProgressLinear: typeof import('vuetify/components')['VProgressLinear']
2630
+ VOverlay: typeof import('vuetify/components')['VOverlay']
2622
2631
  VRating: typeof import('vuetify/components')['VRating']
2623
- VCard: typeof import('vuetify/components')['VCard']
2624
- VCardActions: typeof import('vuetify/components')['VCardActions']
2625
- VCardItem: typeof import('vuetify/components')['VCardItem']
2626
- VCardSubtitle: typeof import('vuetify/components')['VCardSubtitle']
2627
- VCardText: typeof import('vuetify/components')['VCardText']
2628
- VCardTitle: typeof import('vuetify/components')['VCardTitle']
2632
+ VRadioGroup: typeof import('vuetify/components')['VRadioGroup']
2633
+ VPagination: typeof import('vuetify/components')['VPagination']
2629
2634
  VSelect: typeof import('vuetify/components')['VSelect']
2635
+ VSheet: typeof import('vuetify/components')['VSheet']
2636
+ VSnackbar: typeof import('vuetify/components')['VSnackbar']
2630
2637
  VSelectionControl: typeof import('vuetify/components')['VSelectionControl']
2631
- VSelectionControlGroup: typeof import('vuetify/components')['VSelectionControlGroup']
2632
- VSkeletonLoader: typeof import('vuetify/components')['VSkeletonLoader']
2633
2638
  VSlideGroup: typeof import('vuetify/components')['VSlideGroup']
2634
2639
  VSlideGroupItem: typeof import('vuetify/components')['VSlideGroupItem']
2640
+ VSelectionControlGroup: typeof import('vuetify/components')['VSelectionControlGroup']
2635
2641
  VSlider: typeof import('vuetify/components')['VSlider']
2636
- VSheet: typeof import('vuetify/components')['VSheet']
2637
- VSnackbar: typeof import('vuetify/components')['VSnackbar']
2642
+ VSwitch: typeof import('vuetify/components')['VSwitch']
2643
+ VTable: typeof import('vuetify/components')['VTable']
2638
2644
  VTab: typeof import('vuetify/components')['VTab']
2639
2645
  VTabs: typeof import('vuetify/components')['VTabs']
2640
2646
  VTabsWindow: typeof import('vuetify/components')['VTabsWindow']
2641
2647
  VTabsWindowItem: typeof import('vuetify/components')['VTabsWindowItem']
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
- VTextarea: typeof import('vuetify/components')['VTextarea']
2649
2648
  VSystemBar: typeof import('vuetify/components')['VSystemBar']
2650
- VTable: typeof import('vuetify/components')['VTable']
2651
- VSwitch: typeof import('vuetify/components')['VSwitch']
2649
+ VTextField: typeof import('vuetify/components')['VTextField']
2652
2650
  VTimeline: typeof import('vuetify/components')['VTimeline']
2653
2651
  VTimelineItem: typeof import('vuetify/components')['VTimelineItem']
2654
2652
  VToolbar: typeof import('vuetify/components')['VToolbar']
2655
2653
  VToolbarTitle: typeof import('vuetify/components')['VToolbarTitle']
2656
2654
  VToolbarItems: typeof import('vuetify/components')['VToolbarItems']
2657
2655
  VTooltip: typeof import('vuetify/components')['VTooltip']
2658
- VTextField: typeof import('vuetify/components')['VTextField']
2659
2656
  VWindow: typeof import('vuetify/components')['VWindow']
2660
2657
  VWindowItem: typeof import('vuetify/components')['VWindowItem']
2658
+ VConfirmEdit: typeof import('vuetify/components')['VConfirmEdit']
2661
2659
  VDataIterator: typeof import('vuetify/components')['VDataIterator']
2662
2660
  VDefaultsProvider: typeof import('vuetify/components')['VDefaultsProvider']
2663
- VConfirmEdit: typeof import('vuetify/components')['VConfirmEdit']
2664
- VForm: typeof import('vuetify/components')['VForm']
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']
2665
2667
  VHover: typeof import('vuetify/components')['VHover']
2666
- VContainer: typeof import('vuetify/components')['VContainer']
2667
- VCol: typeof import('vuetify/components')['VCol']
2668
- VRow: typeof import('vuetify/components')['VRow']
2669
- VSpacer: typeof import('vuetify/components')['VSpacer']
2668
+ VLazy: typeof import('vuetify/components')['VLazy']
2670
2669
  VLayout: typeof import('vuetify/components')['VLayout']
2671
2670
  VLayoutItem: typeof import('vuetify/components')['VLayoutItem']
2672
2671
  VLocaleProvider: typeof import('vuetify/components')['VLocaleProvider']
2673
- VLazy: typeof import('vuetify/components')['VLazy']
2674
2672
  VNoSsr: typeof import('vuetify/components')['VNoSsr']
2675
2673
  VParallax: typeof import('vuetify/components')['VParallax']
2676
2674
  VRadio: typeof import('vuetify/components')['VRadio']
2675
+ VRangeSlider: typeof import('vuetify/components')['VRangeSlider']
2677
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']
2678
2681
  VSparkline: typeof import('vuetify/components')['VSparkline']
2679
2682
  VSpeedDial: typeof import('vuetify/components')['VSpeedDial']
2680
- VSnackbarQueue: typeof import('vuetify/components')['VSnackbarQueue']
2681
- VValidation: typeof import('vuetify/components')['VValidation']
2682
2683
  VThemeProvider: typeof import('vuetify/components')['VThemeProvider']
2684
+ VValidation: typeof import('vuetify/components')['VValidation']
2683
2685
  VVirtualScroll: typeof import('vuetify/components')['VVirtualScroll']
2684
- VKbd: typeof import('vuetify/components')['VKbd']
2686
+ VSkeletonLoader: typeof import('vuetify/components')['VSkeletonLoader']
2685
2687
  VFabTransition: typeof import('vuetify/components')['VFabTransition']
2686
2688
  VDialogBottomTransition: typeof import('vuetify/components')['VDialogBottomTransition']
2687
2689
  VDialogTopTransition: typeof import('vuetify/components')['VDialogTopTransition']
@@ -2698,32 +2700,30 @@ declare module 'vue' {
2698
2700
  VExpandTransition: typeof import('vuetify/components')['VExpandTransition']
2699
2701
  VExpandXTransition: typeof import('vuetify/components')['VExpandXTransition']
2700
2702
  VDialogTransition: typeof import('vuetify/components')['VDialogTransition']
2701
- VBanner: typeof import('vuetify/components')['VBanner']
2702
- VBannerActions: typeof import('vuetify/components')['VBannerActions']
2703
- VBannerText: typeof import('vuetify/components')['VBannerText']
2704
- VFooter: typeof import('vuetify/components')['VFooter']
2705
- VRangeSlider: typeof import('vuetify/components')['VRangeSlider']
2703
+ VForm: typeof import('vuetify/components')['VForm']
2704
+ VTextarea: typeof import('vuetify/components')['VTextarea']
2705
+ VSnackbarQueue: typeof import('vuetify/components')['VSnackbarQueue']
2706
+ VFileUpload: typeof import('vuetify/labs/components')['VFileUpload']
2707
+ VFileUploadItem: typeof import('vuetify/labs/components')['VFileUploadItem']
2708
+ VTimePicker: typeof import('vuetify/labs/components')['VTimePicker']
2709
+ VTimePickerClock: typeof import('vuetify/labs/components')['VTimePickerClock']
2710
+ VTimePickerControls: typeof import('vuetify/labs/components')['VTimePickerControls']
2706
2711
  VCalendar: typeof import('vuetify/labs/components')['VCalendar']
2707
2712
  VCalendarDay: typeof import('vuetify/labs/components')['VCalendarDay']
2708
2713
  VCalendarHeader: typeof import('vuetify/labs/components')['VCalendarHeader']
2709
2714
  VCalendarInterval: typeof import('vuetify/labs/components')['VCalendarInterval']
2710
2715
  VCalendarIntervalEvent: typeof import('vuetify/labs/components')['VCalendarIntervalEvent']
2711
2716
  VCalendarMonthDay: typeof import('vuetify/labs/components')['VCalendarMonthDay']
2712
- VFileUpload: typeof import('vuetify/labs/components')['VFileUpload']
2713
- VFileUploadItem: typeof import('vuetify/labs/components')['VFileUploadItem']
2714
- VIconBtn: typeof import('vuetify/labs/components')['VIconBtn']
2715
- VPicker: typeof import('vuetify/labs/components')['VPicker']
2716
- VPickerTitle: typeof import('vuetify/labs/components')['VPickerTitle']
2717
2717
  VTreeview: typeof import('vuetify/labs/components')['VTreeview']
2718
2718
  VTreeviewItem: typeof import('vuetify/labs/components')['VTreeviewItem']
2719
2719
  VTreeviewGroup: typeof import('vuetify/labs/components')['VTreeviewGroup']
2720
2720
  VStepperVertical: typeof import('vuetify/labs/components')['VStepperVertical']
2721
2721
  VStepperVerticalItem: typeof import('vuetify/labs/components')['VStepperVerticalItem']
2722
2722
  VStepperVerticalActions: typeof import('vuetify/labs/components')['VStepperVerticalActions']
2723
- VTimePicker: typeof import('vuetify/labs/components')['VTimePicker']
2724
- VTimePickerClock: typeof import('vuetify/labs/components')['VTimePickerClock']
2725
- VTimePickerControls: typeof import('vuetify/labs/components')['VTimePickerControls']
2726
- VPullToRefresh: typeof import('vuetify/labs/components')['VPullToRefresh']
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-10";
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);