@vuetify/nightly 3.8.0-beta.0-dev.2025-03-24 → 3.8.0-beta.0-dev.2025-03-25

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.
Files changed (46) hide show
  1. package/CHANGELOG.md +39 -3
  2. package/dist/json/attributes.json +3258 -3254
  3. package/dist/json/importMap-labs.json +8 -8
  4. package/dist/json/importMap.json +162 -162
  5. package/dist/json/tags.json +1 -0
  6. package/dist/json/web-types.json +6130 -6099
  7. package/dist/vuetify-labs.cjs +63 -25
  8. package/dist/vuetify-labs.css +3530 -3530
  9. package/dist/vuetify-labs.d.ts +112 -88
  10. package/dist/vuetify-labs.esm.js +63 -25
  11. package/dist/vuetify-labs.esm.js.map +1 -1
  12. package/dist/vuetify-labs.js +63 -25
  13. package/dist/vuetify-labs.min.css +2 -2
  14. package/dist/vuetify.cjs +25 -10
  15. package/dist/vuetify.cjs.map +1 -1
  16. package/dist/vuetify.css +6104 -6104
  17. package/dist/vuetify.d.ts +89 -86
  18. package/dist/vuetify.esm.js +25 -10
  19. package/dist/vuetify.esm.js.map +1 -1
  20. package/dist/vuetify.js +25 -10
  21. package/dist/vuetify.js.map +1 -1
  22. package/dist/vuetify.min.css +2 -2
  23. package/dist/vuetify.min.js +10 -10
  24. package/dist/vuetify.min.js.map +1 -1
  25. package/lib/components/VDataTable/VDataTable.d.ts +4 -4
  26. package/lib/components/VDataTable/VDataTableRow.d.ts +9 -6
  27. package/lib/components/VDataTable/VDataTableRow.js +18 -3
  28. package/lib/components/VDataTable/VDataTableRow.js.map +1 -1
  29. package/lib/components/VDataTable/VDataTableRows.d.ts +4 -4
  30. package/lib/components/VDataTable/VDataTableServer.d.ts +4 -4
  31. package/lib/components/VDataTable/VDataTableVirtual.d.ts +4 -4
  32. package/lib/components/VDatePicker/VDatePicker.js +1 -1
  33. package/lib/components/VDatePicker/VDatePicker.js.map +1 -1
  34. package/lib/components/VIcon/VIcon.js +2 -2
  35. package/lib/components/VIcon/VIcon.js.map +1 -1
  36. package/lib/composables/calendar.js +1 -1
  37. package/lib/composables/calendar.js.map +1 -1
  38. package/lib/entry-bundler.js +1 -1
  39. package/lib/framework.d.ts +54 -54
  40. package/lib/framework.js +1 -1
  41. package/lib/labs/VDateInput/VDateInput.d.ts +35 -3
  42. package/lib/labs/VDateInput/VDateInput.js +38 -15
  43. package/lib/labs/VDateInput/VDateInput.js.map +1 -1
  44. package/lib/util/helpers.js +1 -1
  45. package/lib/util/helpers.js.map +1 -1
  46. package/package.json +1 -1
@@ -2567,80 +2567,78 @@ declare module 'vue' {
2567
2567
  $children?: VNodeChild
2568
2568
  }
2569
2569
  export interface GlobalComponents {
2570
- VApp: typeof import('vuetify/components')['VApp']
2571
- VAvatar: typeof import('vuetify/components')['VAvatar']
2570
+ VAlert: typeof import('vuetify/components')['VAlert']
2571
+ VAlertTitle: typeof import('vuetify/components')['VAlertTitle']
2572
2572
  VAppBar: typeof import('vuetify/components')['VAppBar']
2573
2573
  VAppBarNavIcon: typeof import('vuetify/components')['VAppBarNavIcon']
2574
2574
  VAppBarTitle: typeof import('vuetify/components')['VAppBarTitle']
2575
- VAlert: typeof import('vuetify/components')['VAlert']
2576
- VAlertTitle: typeof import('vuetify/components')['VAlertTitle']
2575
+ VAutocomplete: typeof import('vuetify/components')['VAutocomplete']
2576
+ VApp: typeof import('vuetify/components')['VApp']
2577
+ VAvatar: typeof import('vuetify/components')['VAvatar']
2578
+ VBottomSheet: typeof import('vuetify/components')['VBottomSheet']
2577
2579
  VBottomNavigation: typeof import('vuetify/components')['VBottomNavigation']
2580
+ VBadge: typeof import('vuetify/components')['VBadge']
2581
+ VBtnGroup: typeof import('vuetify/components')['VBtnGroup']
2578
2582
  VBanner: typeof import('vuetify/components')['VBanner']
2579
2583
  VBannerActions: typeof import('vuetify/components')['VBannerActions']
2580
2584
  VBannerText: typeof import('vuetify/components')['VBannerText']
2581
- VBadge: typeof import('vuetify/components')['VBadge']
2582
- VAutocomplete: typeof import('vuetify/components')['VAutocomplete']
2583
- VBottomSheet: typeof import('vuetify/components')['VBottomSheet']
2585
+ VBtn: typeof import('vuetify/components')['VBtn']
2586
+ VCarousel: typeof import('vuetify/components')['VCarousel']
2587
+ VCarouselItem: typeof import('vuetify/components')['VCarouselItem']
2584
2588
  VBreadcrumbs: typeof import('vuetify/components')['VBreadcrumbs']
2585
2589
  VBreadcrumbsItem: typeof import('vuetify/components')['VBreadcrumbsItem']
2586
2590
  VBreadcrumbsDivider: typeof import('vuetify/components')['VBreadcrumbsDivider']
2587
- VCarousel: typeof import('vuetify/components')['VCarousel']
2588
- VCarouselItem: typeof import('vuetify/components')['VCarouselItem']
2589
- VBtn: typeof import('vuetify/components')['VBtn']
2590
2591
  VBtnToggle: typeof import('vuetify/components')['VBtnToggle']
2591
- VBtnGroup: typeof import('vuetify/components')['VBtnGroup']
2592
+ VCheckbox: typeof import('vuetify/components')['VCheckbox']
2593
+ VCheckboxBtn: typeof import('vuetify/components')['VCheckboxBtn']
2594
+ VCode: typeof import('vuetify/components')['VCode']
2592
2595
  VCard: typeof import('vuetify/components')['VCard']
2593
2596
  VCardActions: typeof import('vuetify/components')['VCardActions']
2594
2597
  VCardItem: typeof import('vuetify/components')['VCardItem']
2595
2598
  VCardSubtitle: typeof import('vuetify/components')['VCardSubtitle']
2596
2599
  VCardText: typeof import('vuetify/components')['VCardText']
2597
2600
  VCardTitle: typeof import('vuetify/components')['VCardTitle']
2598
- VChip: typeof import('vuetify/components')['VChip']
2599
- VCheckbox: typeof import('vuetify/components')['VCheckbox']
2600
- VCheckboxBtn: typeof import('vuetify/components')['VCheckboxBtn']
2601
- VCode: typeof import('vuetify/components')['VCode']
2601
+ VDialog: typeof import('vuetify/components')['VDialog']
2602
2602
  VChipGroup: typeof import('vuetify/components')['VChipGroup']
2603
- VColorPicker: typeof import('vuetify/components')['VColorPicker']
2604
2603
  VCombobox: typeof import('vuetify/components')['VCombobox']
2605
- VCounter: typeof import('vuetify/components')['VCounter']
2606
- VDialog: typeof import('vuetify/components')['VDialog']
2604
+ VChip: typeof import('vuetify/components')['VChip']
2605
+ VColorPicker: typeof import('vuetify/components')['VColorPicker']
2606
+ VDivider: typeof import('vuetify/components')['VDivider']
2607
2607
  VDatePicker: typeof import('vuetify/components')['VDatePicker']
2608
2608
  VDatePickerControls: typeof import('vuetify/components')['VDatePickerControls']
2609
2609
  VDatePickerHeader: typeof import('vuetify/components')['VDatePickerHeader']
2610
2610
  VDatePickerMonth: typeof import('vuetify/components')['VDatePickerMonth']
2611
2611
  VDatePickerMonths: typeof import('vuetify/components')['VDatePickerMonths']
2612
2612
  VDatePickerYears: typeof import('vuetify/components')['VDatePickerYears']
2613
- VDataTable: typeof import('vuetify/components')['VDataTable']
2614
- VDataTableHeaders: typeof import('vuetify/components')['VDataTableHeaders']
2615
- VDataTableFooter: typeof import('vuetify/components')['VDataTableFooter']
2616
- VDataTableRows: typeof import('vuetify/components')['VDataTableRows']
2617
- VDataTableRow: typeof import('vuetify/components')['VDataTableRow']
2618
- VDataTableVirtual: typeof import('vuetify/components')['VDataTableVirtual']
2619
- VDataTableServer: typeof import('vuetify/components')['VDataTableServer']
2620
2613
  VEmptyState: typeof import('vuetify/components')['VEmptyState']
2614
+ VCounter: typeof import('vuetify/components')['VCounter']
2615
+ VFab: typeof import('vuetify/components')['VFab']
2616
+ VFooter: typeof import('vuetify/components')['VFooter']
2621
2617
  VExpansionPanels: typeof import('vuetify/components')['VExpansionPanels']
2622
2618
  VExpansionPanel: typeof import('vuetify/components')['VExpansionPanel']
2623
2619
  VExpansionPanelText: typeof import('vuetify/components')['VExpansionPanelText']
2624
2620
  VExpansionPanelTitle: typeof import('vuetify/components')['VExpansionPanelTitle']
2625
- VDivider: typeof import('vuetify/components')['VDivider']
2626
- VFooter: typeof import('vuetify/components')['VFooter']
2627
- VFab: typeof import('vuetify/components')['VFab']
2628
- VFileInput: typeof import('vuetify/components')['VFileInput']
2629
- VField: typeof import('vuetify/components')['VField']
2630
- VFieldLabel: typeof import('vuetify/components')['VFieldLabel']
2631
- VInfiniteScroll: typeof import('vuetify/components')['VInfiniteScroll']
2632
2621
  VIcon: typeof import('vuetify/components')['VIcon']
2633
2622
  VComponentIcon: typeof import('vuetify/components')['VComponentIcon']
2634
2623
  VSvgIcon: typeof import('vuetify/components')['VSvgIcon']
2635
2624
  VLigatureIcon: typeof import('vuetify/components')['VLigatureIcon']
2636
2625
  VClassIcon: typeof import('vuetify/components')['VClassIcon']
2637
- VKbd: typeof import('vuetify/components')['VKbd']
2626
+ VField: typeof import('vuetify/components')['VField']
2627
+ VFieldLabel: typeof import('vuetify/components')['VFieldLabel']
2628
+ VFileInput: typeof import('vuetify/components')['VFileInput']
2638
2629
  VImg: typeof import('vuetify/components')['VImg']
2630
+ VInput: typeof import('vuetify/components')['VInput']
2631
+ VInfiniteScroll: typeof import('vuetify/components')['VInfiniteScroll']
2639
2632
  VItemGroup: typeof import('vuetify/components')['VItemGroup']
2640
2633
  VItem: typeof import('vuetify/components')['VItem']
2641
- VInput: typeof import('vuetify/components')['VInput']
2642
- VLabel: typeof import('vuetify/components')['VLabel']
2643
- VMenu: typeof import('vuetify/components')['VMenu']
2634
+ VDataTable: typeof import('vuetify/components')['VDataTable']
2635
+ VDataTableHeaders: typeof import('vuetify/components')['VDataTableHeaders']
2636
+ VDataTableFooter: typeof import('vuetify/components')['VDataTableFooter']
2637
+ VDataTableRows: typeof import('vuetify/components')['VDataTableRows']
2638
+ VDataTableRow: typeof import('vuetify/components')['VDataTableRow']
2639
+ VDataTableVirtual: typeof import('vuetify/components')['VDataTableVirtual']
2640
+ VDataTableServer: typeof import('vuetify/components')['VDataTableServer']
2641
+ VKbd: typeof import('vuetify/components')['VKbd']
2644
2642
  VList: typeof import('vuetify/components')['VList']
2645
2643
  VListGroup: typeof import('vuetify/components')['VListGroup']
2646
2644
  VListImg: typeof import('vuetify/components')['VListImg']
@@ -2650,24 +2648,26 @@ declare module 'vue' {
2650
2648
  VListItemSubtitle: typeof import('vuetify/components')['VListItemSubtitle']
2651
2649
  VListItemTitle: typeof import('vuetify/components')['VListItemTitle']
2652
2650
  VListSubheader: typeof import('vuetify/components')['VListSubheader']
2651
+ VLabel: typeof import('vuetify/components')['VLabel']
2652
+ VMenu: typeof import('vuetify/components')['VMenu']
2653
+ VNumberInput: typeof import('vuetify/components')['VNumberInput']
2654
+ VMessages: typeof import('vuetify/components')['VMessages']
2653
2655
  VNavigationDrawer: typeof import('vuetify/components')['VNavigationDrawer']
2654
2656
  VMain: typeof import('vuetify/components')['VMain']
2657
+ VOtpInput: typeof import('vuetify/components')['VOtpInput']
2655
2658
  VOverlay: typeof import('vuetify/components')['VOverlay']
2656
- VMessages: typeof import('vuetify/components')['VMessages']
2657
- VNumberInput: typeof import('vuetify/components')['VNumberInput']
2658
- VPagination: typeof import('vuetify/components')['VPagination']
2659
+ VProgressCircular: typeof import('vuetify/components')['VProgressCircular']
2659
2660
  VRadioGroup: typeof import('vuetify/components')['VRadioGroup']
2660
- VOtpInput: typeof import('vuetify/components')['VOtpInput']
2661
2661
  VProgressLinear: typeof import('vuetify/components')['VProgressLinear']
2662
- VSelect: typeof import('vuetify/components')['VSelect']
2663
- VProgressCircular: typeof import('vuetify/components')['VProgressCircular']
2662
+ VPagination: typeof import('vuetify/components')['VPagination']
2664
2663
  VRating: typeof import('vuetify/components')['VRating']
2664
+ VSelect: typeof import('vuetify/components')['VSelect']
2665
2665
  VSelectionControl: typeof import('vuetify/components')['VSelectionControl']
2666
+ VSkeletonLoader: typeof import('vuetify/components')['VSkeletonLoader']
2666
2667
  VSelectionControlGroup: typeof import('vuetify/components')['VSelectionControlGroup']
2667
2668
  VSheet: typeof import('vuetify/components')['VSheet']
2668
- VSlider: typeof import('vuetify/components')['VSlider']
2669
- VSkeletonLoader: typeof import('vuetify/components')['VSkeletonLoader']
2670
2669
  VSnackbar: typeof import('vuetify/components')['VSnackbar']
2670
+ VSlider: typeof import('vuetify/components')['VSlider']
2671
2671
  VStepper: typeof import('vuetify/components')['VStepper']
2672
2672
  VStepperActions: typeof import('vuetify/components')['VStepperActions']
2673
2673
  VStepperHeader: typeof import('vuetify/components')['VStepperHeader']
@@ -2676,17 +2676,17 @@ declare module 'vue' {
2676
2676
  VStepperWindowItem: typeof import('vuetify/components')['VStepperWindowItem']
2677
2677
  VSlideGroup: typeof import('vuetify/components')['VSlideGroup']
2678
2678
  VSlideGroupItem: typeof import('vuetify/components')['VSlideGroupItem']
2679
+ VSystemBar: typeof import('vuetify/components')['VSystemBar']
2680
+ VSwitch: typeof import('vuetify/components')['VSwitch']
2681
+ VTable: typeof import('vuetify/components')['VTable']
2679
2682
  VTab: typeof import('vuetify/components')['VTab']
2680
2683
  VTabs: typeof import('vuetify/components')['VTabs']
2681
2684
  VTabsWindow: typeof import('vuetify/components')['VTabsWindow']
2682
2685
  VTabsWindowItem: typeof import('vuetify/components')['VTabsWindowItem']
2683
- VSystemBar: typeof import('vuetify/components')['VSystemBar']
2686
+ VTextField: typeof import('vuetify/components')['VTextField']
2684
2687
  VTextarea: typeof import('vuetify/components')['VTextarea']
2685
2688
  VTimeline: typeof import('vuetify/components')['VTimeline']
2686
2689
  VTimelineItem: typeof import('vuetify/components')['VTimelineItem']
2687
- VSwitch: typeof import('vuetify/components')['VSwitch']
2688
- VTable: typeof import('vuetify/components')['VTable']
2689
- VTextField: typeof import('vuetify/components')['VTextField']
2690
2690
  VTooltip: typeof import('vuetify/components')['VTooltip']
2691
2691
  VToolbar: typeof import('vuetify/components')['VToolbar']
2692
2692
  VToolbarTitle: typeof import('vuetify/components')['VToolbarTitle']
@@ -2701,19 +2701,19 @@ declare module 'vue' {
2701
2701
  VCol: typeof import('vuetify/components')['VCol']
2702
2702
  VRow: typeof import('vuetify/components')['VRow']
2703
2703
  VSpacer: typeof import('vuetify/components')['VSpacer']
2704
+ VHover: typeof import('vuetify/components')['VHover']
2704
2705
  VLayout: typeof import('vuetify/components')['VLayout']
2705
2706
  VLayoutItem: typeof import('vuetify/components')['VLayoutItem']
2706
- VHover: typeof import('vuetify/components')['VHover']
2707
2707
  VLazy: typeof import('vuetify/components')['VLazy']
2708
2708
  VLocaleProvider: typeof import('vuetify/components')['VLocaleProvider']
2709
2709
  VNoSsr: typeof import('vuetify/components')['VNoSsr']
2710
- VParallax: typeof import('vuetify/components')['VParallax']
2711
2710
  VRadio: typeof import('vuetify/components')['VRadio']
2712
- VRangeSlider: typeof import('vuetify/components')['VRangeSlider']
2711
+ VParallax: typeof import('vuetify/components')['VParallax']
2713
2712
  VResponsive: typeof import('vuetify/components')['VResponsive']
2714
2713
  VSnackbarQueue: typeof import('vuetify/components')['VSnackbarQueue']
2715
- VSpeedDial: typeof import('vuetify/components')['VSpeedDial']
2716
2714
  VSparkline: typeof import('vuetify/components')['VSparkline']
2715
+ VRangeSlider: typeof import('vuetify/components')['VRangeSlider']
2716
+ VSpeedDial: typeof import('vuetify/components')['VSpeedDial']
2717
2717
  VThemeProvider: typeof import('vuetify/components')['VThemeProvider']
2718
2718
  VValidation: typeof import('vuetify/components')['VValidation']
2719
2719
  VVirtualScroll: typeof import('vuetify/components')['VVirtualScroll']
@@ -2739,8 +2739,6 @@ declare module 'vue' {
2739
2739
  VCalendarInterval: typeof import('vuetify/labs/components')['VCalendarInterval']
2740
2740
  VCalendarIntervalEvent: typeof import('vuetify/labs/components')['VCalendarIntervalEvent']
2741
2741
  VCalendarMonthDay: typeof import('vuetify/labs/components')['VCalendarMonthDay']
2742
- VFileUpload: typeof import('vuetify/labs/components')['VFileUpload']
2743
- VFileUploadItem: typeof import('vuetify/labs/components')['VFileUploadItem']
2744
2742
  VPicker: typeof import('vuetify/labs/components')['VPicker']
2745
2743
  VPickerTitle: typeof import('vuetify/labs/components')['VPickerTitle']
2746
2744
  VStepperVertical: typeof import('vuetify/labs/components')['VStepperVertical']
@@ -2749,6 +2747,8 @@ declare module 'vue' {
2749
2747
  VTimePicker: typeof import('vuetify/labs/components')['VTimePicker']
2750
2748
  VTimePickerClock: typeof import('vuetify/labs/components')['VTimePickerClock']
2751
2749
  VTimePickerControls: typeof import('vuetify/labs/components')['VTimePickerControls']
2750
+ VFileUpload: typeof import('vuetify/labs/components')['VFileUpload']
2751
+ VFileUploadItem: typeof import('vuetify/labs/components')['VFileUploadItem']
2752
2752
  VTreeview: typeof import('vuetify/labs/components')['VTreeview']
2753
2753
  VTreeviewItem: typeof import('vuetify/labs/components')['VTreeviewItem']
2754
2754
  VTreeviewGroup: typeof import('vuetify/labs/components')['VTreeviewGroup']
package/lib/framework.js CHANGED
@@ -109,7 +109,7 @@ export function createVuetify() {
109
109
  };
110
110
  });
111
111
  }
112
- export const version = "3.8.0-beta.0-dev.2025-03-24";
112
+ export const version = "3.8.0-beta.0-dev.2025-03-25";
113
113
  createVuetify.version = version;
114
114
 
115
115
  // Vue's inject() can only be used in setup
@@ -112,6 +112,7 @@ export declare const makeVDateInputProps: <Defaults extends {
112
112
  cancelText?: unknown;
113
113
  okText?: unknown;
114
114
  hideActions?: unknown;
115
+ displayFormat?: unknown;
115
116
  location?: unknown;
116
117
  } = {}>(defaults?: Defaults | undefined) => {
117
118
  max: unknown extends Defaults["max"] ? PropType<unknown> : {
@@ -754,10 +755,20 @@ export declare const makeVDateInputProps: <Defaults extends {
754
755
  type: PropType<unknown extends Defaults["okText"] ? string : string | Defaults["okText"]>;
755
756
  default: unknown extends Defaults["okText"] ? string : string | Defaults["okText"];
756
757
  };
757
- hideActions: unknown extends Defaults["hideActions"] ? BooleanConstructor : {
758
+ hideActions: unknown extends Defaults["hideActions"] ? {
759
+ type: PropType<boolean>;
760
+ default: boolean;
761
+ } : Omit<{
762
+ type: PropType<boolean>;
763
+ default: boolean;
764
+ }, "type" | "default"> & {
758
765
  type: PropType<unknown extends Defaults["hideActions"] ? boolean : boolean | Defaults["hideActions"]>;
759
766
  default: unknown extends Defaults["hideActions"] ? boolean : boolean | Defaults["hideActions"];
760
767
  };
768
+ displayFormat: unknown extends Defaults["displayFormat"] ? (FunctionConstructor | StringConstructor)[] : {
769
+ type: PropType<unknown extends Defaults["displayFormat"] ? string | Function : string | Function | Defaults["displayFormat"]>;
770
+ default: unknown extends Defaults["displayFormat"] ? string | Function : NonNullable<string | Function> | Defaults["displayFormat"];
771
+ };
761
772
  location: unknown extends Defaults["location"] ? {
762
773
  type: PropType<StrategyProps["location"]>;
763
774
  default: string;
@@ -874,6 +885,7 @@ export declare const VDateInput: {
874
885
  modelModifiers?: Record<string, boolean> | undefined;
875
886
  firstDayOfWeek?: string | number | undefined;
876
887
  allowedDates?: unknown[] | ((date: unknown) => boolean) | undefined;
888
+ displayFormat?: string | Function | undefined;
877
889
  } & {
878
890
  $children?: import("vue").VNodeChild | (() => import("vue").VNodeChild) | {
879
891
  message?: ((arg: import("../../components/VMessages/VMessages.js").VMessageSlot) => import("vue").VNodeChild) | undefined;
@@ -932,8 +944,12 @@ export declare const VDateInput: {
932
944
  "v-slot:actions"?: false | ((arg: VDateInputActionsSlot) => import("vue").VNodeChild) | undefined;
933
945
  "v-slot:default"?: false | (() => import("vue").VNodeChild) | undefined;
934
946
  } & {
947
+ onCancel?: (() => any) | undefined;
935
948
  "onUpdate:modelValue"?: ((val: string) => any) | undefined;
949
+ onSave?: ((value: string) => any) | undefined;
936
950
  }, any, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
951
+ save: (value: string) => true;
952
+ cancel: () => true;
937
953
  'update:modelValue': (val: string) => true;
938
954
  }, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, {
939
955
  flat: boolean;
@@ -1118,6 +1134,7 @@ export declare const VDateInput: {
1118
1134
  modelModifiers?: Record<string, boolean> | undefined;
1119
1135
  firstDayOfWeek?: string | number | undefined;
1120
1136
  allowedDates?: unknown[] | ((date: unknown) => boolean) | undefined;
1137
+ displayFormat?: string | Function | undefined;
1121
1138
  } & {
1122
1139
  $children?: import("vue").VNodeChild | (() => import("vue").VNodeChild) | {
1123
1140
  message?: ((arg: import("../../components/VMessages/VMessages.js").VMessageSlot) => import("vue").VNodeChild) | undefined;
@@ -1176,7 +1193,9 @@ export declare const VDateInput: {
1176
1193
  "v-slot:actions"?: false | ((arg: VDateInputActionsSlot) => import("vue").VNodeChild) | undefined;
1177
1194
  "v-slot:default"?: false | (() => import("vue").VNodeChild) | undefined;
1178
1195
  } & {
1196
+ onCancel?: (() => any) | undefined;
1179
1197
  "onUpdate:modelValue"?: ((val: string) => any) | undefined;
1198
+ onSave?: ((value: string) => any) | undefined;
1180
1199
  }, any, {}, {}, {}, {
1181
1200
  flat: boolean;
1182
1201
  reverse: boolean;
@@ -1339,6 +1358,7 @@ export declare const VDateInput: {
1339
1358
  modelModifiers?: Record<string, boolean> | undefined;
1340
1359
  firstDayOfWeek?: string | number | undefined;
1341
1360
  allowedDates?: unknown[] | ((date: unknown) => boolean) | undefined;
1361
+ displayFormat?: string | Function | undefined;
1342
1362
  } & {
1343
1363
  $children?: import("vue").VNodeChild | (() => import("vue").VNodeChild) | {
1344
1364
  message?: ((arg: import("../../components/VMessages/VMessages.js").VMessageSlot) => import("vue").VNodeChild) | undefined;
@@ -1397,8 +1417,12 @@ export declare const VDateInput: {
1397
1417
  "v-slot:actions"?: false | ((arg: VDateInputActionsSlot) => import("vue").VNodeChild) | undefined;
1398
1418
  "v-slot:default"?: false | (() => import("vue").VNodeChild) | undefined;
1399
1419
  } & {
1420
+ onCancel?: (() => any) | undefined;
1400
1421
  "onUpdate:modelValue"?: ((val: string) => any) | undefined;
1422
+ onSave?: ((value: string) => any) | undefined;
1401
1423
  }, any, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
1424
+ save: (value: string) => true;
1425
+ cancel: () => true;
1402
1426
  'update:modelValue': (val: string) => true;
1403
1427
  }, string, {
1404
1428
  flat: boolean;
@@ -1693,7 +1717,11 @@ export declare const VDateInput: {
1693
1717
  type: StringConstructor;
1694
1718
  default: string;
1695
1719
  };
1696
- hideActions: BooleanConstructor;
1720
+ hideActions: {
1721
+ type: PropType<boolean>;
1722
+ default: boolean;
1723
+ };
1724
+ displayFormat: (FunctionConstructor | StringConstructor)[];
1697
1725
  location: {
1698
1726
  type: PropType<StrategyProps["location"]>;
1699
1727
  default: string;
@@ -1919,7 +1947,11 @@ export declare const VDateInput: {
1919
1947
  type: StringConstructor;
1920
1948
  default: string;
1921
1949
  };
1922
- hideActions: BooleanConstructor;
1950
+ hideActions: {
1951
+ type: PropType<boolean>;
1952
+ default: boolean;
1953
+ };
1954
+ displayFormat: (FunctionConstructor | StringConstructor)[];
1923
1955
  location: {
1924
1956
  type: PropType<StrategyProps["location"]>;
1925
1957
  default: string;
@@ -13,12 +13,15 @@ import { computed, ref, shallowRef } from 'vue';
13
13
  import { genericComponent, omit, propsFactory, useRender, wrapInArray } from "../../util/index.js"; // Types
14
14
  // Types
15
15
  export const makeVDateInputProps = propsFactory({
16
+ displayFormat: [Function, String],
16
17
  location: {
17
18
  type: String,
18
19
  default: 'bottom start'
19
20
  },
20
21
  ...makeFocusProps(),
21
- ...makeVConfirmEditProps(),
22
+ ...makeVConfirmEditProps({
23
+ hideActions: true
24
+ }),
22
25
  ...makeVTextFieldProps({
23
26
  placeholder: 'mm/dd/yyyy',
24
27
  prependIcon: '$calendar'
@@ -32,10 +35,13 @@ export const VDateInput = genericComponent()({
32
35
  name: 'VDateInput',
33
36
  props: makeVDateInputProps(),
34
37
  emits: {
38
+ save: value => true,
39
+ cancel: () => true,
35
40
  'update:modelValue': val => true
36
41
  },
37
42
  setup(props, _ref) {
38
43
  let {
44
+ emit,
39
45
  slots
40
46
  } = _ref;
41
47
  const {
@@ -50,6 +56,12 @@ export const VDateInput = genericComponent()({
50
56
  const model = useProxiedModel(props, 'modelValue', props.multiple ? [] : null, 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);
51
57
  const menu = shallowRef(false);
52
58
  const vDateInputRef = ref();
59
+ function format(date) {
60
+ if (typeof props.displayFormat === 'function') {
61
+ return props.displayFormat(date);
62
+ }
63
+ return adapter.format(date, props.displayFormat ?? 'keyboardDate');
64
+ }
53
65
  const display = computed(() => {
54
66
  const value = wrapInArray(model.value);
55
67
  if (!value.length) return null;
@@ -59,9 +71,10 @@ export const VDateInput = genericComponent()({
59
71
  if (props.multiple === 'range') {
60
72
  const start = value[0];
61
73
  const end = value[value.length - 1];
62
- return adapter.isValid(start) && adapter.isValid(end) ? `${adapter.format(adapter.date(start), 'keyboardDate')} - ${adapter.format(adapter.date(end), 'keyboardDate')}` : '';
74
+ if (!adapter.isValid(start) || !adapter.isValid(end)) return '';
75
+ return `${format(adapter.date(start))} - ${format(adapter.date(end))}`;
63
76
  }
64
- return adapter.isValid(model.value) ? adapter.format(adapter.date(model.value), 'keyboardDate') : '';
77
+ return adapter.isValid(model.value) ? format(adapter.date(model.value)) : '';
65
78
  });
66
79
  const isInteractive = computed(() => !props.disabled && !props.readonly);
67
80
  function onKeydown(e) {
@@ -78,10 +91,15 @@ export const VDateInput = genericComponent()({
78
91
  e.stopPropagation();
79
92
  menu.value = true;
80
93
  }
81
- function onSave() {
94
+ function onCancel() {
95
+ emit('cancel');
82
96
  menu.value = false;
83
97
  }
84
- function onUpdateModel(value) {
98
+ function onSave(value) {
99
+ emit('save', value);
100
+ menu.value = false;
101
+ }
102
+ function onUpdateDisplayModel(value) {
85
103
  if (value != null) return;
86
104
  model.value = null;
87
105
  }
@@ -101,7 +119,7 @@ export const VDateInput = genericComponent()({
101
119
  "onBlur": blur,
102
120
  "onClick:control": isInteractive.value ? onClick : undefined,
103
121
  "onClick:prepend": isInteractive.value ? onClick : undefined,
104
- "onUpdate:modelValue": onUpdateModel
122
+ "onUpdate:modelValue": onUpdateDisplayModel
105
123
  }), {
106
124
  ...slots,
107
125
  default: () => _createVNode(_Fragment, null, [_createVNode(VMenu, {
@@ -118,7 +136,7 @@ export const VDateInput = genericComponent()({
118
136
  "modelValue": model.value,
119
137
  "onUpdate:modelValue": $event => model.value = $event,
120
138
  "onSave": onSave,
121
- "onCancel": () => menu.value = false
139
+ "onCancel": onCancel
122
140
  }), {
123
141
  default: _ref2 => {
124
142
  let {
@@ -128,16 +146,21 @@ export const VDateInput = genericComponent()({
128
146
  cancel,
129
147
  isPristine
130
148
  } = _ref2;
149
+ function onUpdateModel(value) {
150
+ if (!props.hideActions) {
151
+ proxyModel.value = value;
152
+ } else {
153
+ model.value = value;
154
+ if (!props.multiple) {
155
+ menu.value = false;
156
+ }
157
+ }
158
+ emit('save', value);
159
+ vDateInputRef.value?.blur();
160
+ }
131
161
  return _createVNode(VDatePicker, _mergeProps(datePickerProps, {
132
162
  "modelValue": props.hideActions ? model.value : proxyModel.value,
133
- "onUpdate:modelValue": val => {
134
- if (!props.hideActions) {
135
- proxyModel.value = val;
136
- } else {
137
- model.value = val;
138
- if (!props.multiple) menu.value = false;
139
- }
140
- },
163
+ "onUpdate:modelValue": value => onUpdateModel(value),
141
164
  "onMousedown": e => e.preventDefault()
142
165
  }), {
143
166
  actions: !props.hideActions ? () => slots.actions?.({
@@ -1 +1 @@
1
- {"version":3,"file":"VDateInput.js","names":["makeVConfirmEditProps","VConfirmEdit","makeVDatePickerProps","VDatePicker","VMenu","makeVTextFieldProps","VTextField","useDate","makeFocusProps","useFocus","forwardRefs","useLocale","useProxiedModel","computed","ref","shallowRef","genericComponent","omit","propsFactory","useRender","wrapInArray","makeVDateInputProps","location","type","String","default","placeholder","prependIcon","hideHeader","showAdjacentMonths","VDateInput","name","props","emits","val","setup","_ref","slots","t","adapter","isFocused","focus","blur","model","multiple","Array","isArray","map","item","toJsDate","date","menu","vDateInputRef","display","value","length","start","end","isValid","format","isInteractive","disabled","readonly","onKeydown","e","key","target","onClick","preventDefault","stopPropagation","onSave","onUpdateModel","confirmEditProps","filterProps","datePickerProps","textFieldProps","_createVNode","_mergeProps","class","style","undefined","_Fragment","$event","onCancel","_ref2","actions","proxyModel","save","cancel","isPristine","hideActions"],"sources":["../../../src/labs/VDateInput/VDateInput.tsx"],"sourcesContent":["// Components\nimport { makeVConfirmEditProps, VConfirmEdit } from '@/components/VConfirmEdit/VConfirmEdit'\nimport { makeVDatePickerProps, VDatePicker } from '@/components/VDatePicker/VDatePicker'\nimport { VMenu } from '@/components/VMenu/VMenu'\nimport { makeVTextFieldProps, VTextField } from '@/components/VTextField/VTextField'\n\n// Composables\nimport { useDate } from '@/composables/date'\nimport { makeFocusProps, useFocus } from '@/composables/focus'\nimport { forwardRefs } from '@/composables/forwardRefs'\nimport { useLocale } from '@/composables/locale'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed, ref, shallowRef } from 'vue'\nimport { genericComponent, omit, propsFactory, useRender, wrapInArray } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { StrategyProps } from '@/components/VOverlay/locationStrategies'\nimport type { VTextFieldSlots } from '@/components/VTextField/VTextField'\n\n// Types\nexport type VDateInputActionsSlot = {\n save: () => void\n cancel: () => void\n isPristine: boolean\n}\n\nexport type VDateInputSlots = Omit<VTextFieldSlots, 'default'> & {\n actions: VDateInputActionsSlot\n default: never\n}\n\nexport const makeVDateInputProps = propsFactory({\n location: {\n type: String as PropType<StrategyProps['location']>,\n default: 'bottom start',\n },\n ...makeFocusProps(),\n ...makeVConfirmEditProps(),\n ...makeVTextFieldProps({\n placeholder: 'mm/dd/yyyy',\n prependIcon: '$calendar',\n }),\n ...omit(makeVDatePickerProps({\n hideHeader: true,\n showAdjacentMonths: true,\n }), ['active', 'location', 'rounded']),\n}, 'VDateInput')\n\nexport const VDateInput = genericComponent<VDateInputSlots>()({\n name: 'VDateInput',\n\n props: makeVDateInputProps(),\n\n emits: {\n 'update:modelValue': (val: string) => true,\n },\n\n setup (props, { slots }) {\n const { t } = useLocale()\n const adapter = useDate()\n const { isFocused, focus, blur } = useFocus(props)\n const model = useProxiedModel(\n props,\n 'modelValue',\n props.multiple ? [] : null,\n val => Array.isArray(val) ? val.map(item => adapter.toJsDate(item)) : val ? adapter.toJsDate(val) : val,\n val => Array.isArray(val) ? val.map(item => adapter.date(item)) : val ? adapter.date(val) : val\n )\n\n const menu = shallowRef(false)\n const vDateInputRef = ref()\n\n const display = computed(() => {\n const value = wrapInArray(model.value)\n\n if (!value.length) return null\n\n if (props.multiple === true) {\n return t('$vuetify.datePicker.itemsSelected', value.length)\n }\n\n if (props.multiple === 'range') {\n const start = value[0]\n const end = value[value.length - 1]\n\n return adapter.isValid(start) && adapter.isValid(end)\n ? `${adapter.format(adapter.date(start), 'keyboardDate')} - ${adapter.format(adapter.date(end), 'keyboardDate')}`\n : ''\n }\n\n return adapter.isValid(model.value) ? adapter.format(adapter.date(model.value), 'keyboardDate') : ''\n })\n\n const isInteractive = computed(() => !props.disabled && !props.readonly)\n\n function onKeydown (e: KeyboardEvent) {\n if (e.key !== 'Enter') return\n\n if (!menu.value || !isFocused.value) {\n menu.value = true\n\n return\n }\n\n const target = e.target as HTMLInputElement\n\n model.value = target.value === '' ? null : target.value\n }\n\n function onClick (e: MouseEvent) {\n e.preventDefault()\n e.stopPropagation()\n\n menu.value = true\n }\n\n function onSave () {\n menu.value = false\n }\n\n function onUpdateModel (value: string) {\n if (value != null) return\n\n model.value = null\n }\n\n useRender(() => {\n const confirmEditProps = VConfirmEdit.filterProps(props)\n const datePickerProps = VDatePicker.filterProps(omit(props, ['active', 'location', 'rounded']))\n const textFieldProps = VTextField.filterProps(props)\n\n return (\n <VTextField\n ref={ vDateInputRef }\n { ...textFieldProps }\n class={ props.class }\n style={ props.style }\n modelValue={ display.value }\n onKeydown={ isInteractive.value ? onKeydown : undefined }\n focused={ menu.value || isFocused.value }\n onFocus={ focus }\n onBlur={ blur }\n onClick:control={ isInteractive.value ? onClick : undefined }\n onClick:prepend={ isInteractive.value ? onClick : undefined }\n onUpdate:modelValue={ onUpdateModel }\n >\n {{\n ...slots,\n default: () => (\n <>\n <VMenu\n v-model={ menu.value }\n activator=\"parent\"\n min-width=\"0\"\n eager={ isFocused.value }\n location={ props.location }\n closeOnContentClick={ false }\n openOnClick={ false }\n >\n <VConfirmEdit\n { ...confirmEditProps }\n v-model={ model.value }\n onSave={ onSave }\n onCancel={ () => menu.value = false }\n >\n {{\n default: ({ actions, model: proxyModel, save, cancel, isPristine }) => {\n return (\n <VDatePicker\n { ...datePickerProps }\n modelValue={ props.hideActions ? model.value : proxyModel.value }\n onUpdate:modelValue={ val => {\n if (!props.hideActions) {\n proxyModel.value = val\n } else {\n model.value = val\n\n if (!props.multiple) menu.value = false\n }\n }}\n onMousedown={ (e: MouseEvent) => e.preventDefault() }\n >\n {{\n actions: !props.hideActions ? () => slots.actions?.({ save, cancel, isPristine }) ?? actions() : undefined,\n }}\n </VDatePicker>\n )\n },\n }}\n </VConfirmEdit>\n </VMenu>\n\n { slots.default?.() }\n </>\n ),\n }}\n </VTextField>\n )\n })\n\n return forwardRefs({}, vDateInputRef)\n },\n})\n\nexport type VDateInput = InstanceType<typeof VDateInput>\n"],"mappings":";AAAA;AAAA,SACSA,qBAAqB,EAAEC,YAAY;AAAA,SACnCC,oBAAoB,EAAEC,WAAW;AAAA,SACjCC,KAAK;AAAA,SACLC,mBAAmB,EAAEC,UAAU,qDAExC;AAAA,SACSC,OAAO;AAAA,SACPC,cAAc,EAAEC,QAAQ;AAAA,SACxBC,WAAW;AAAA,SACXC,SAAS;AAAA,SACTC,eAAe,6CAExB;AACA,SAASC,QAAQ,EAAEC,GAAG,EAAEC,UAAU,QAAQ,KAAK;AAAA,SACtCC,gBAAgB,EAAEC,IAAI,EAAEC,YAAY,EAAEC,SAAS,EAAEC,WAAW,+BAErE;AAKA;AAYA,OAAO,MAAMC,mBAAmB,GAAGH,YAAY,CAAC;EAC9CI,QAAQ,EAAE;IACRC,IAAI,EAAEC,MAA6C;IACnDC,OAAO,EAAE;EACX,CAAC;EACD,GAAGjB,cAAc,CAAC,CAAC;EACnB,GAAGR,qBAAqB,CAAC,CAAC;EAC1B,GAAGK,mBAAmB,CAAC;IACrBqB,WAAW,EAAE,YAAY;IACzBC,WAAW,EAAE;EACf,CAAC,CAAC;EACF,GAAGV,IAAI,CAACf,oBAAoB,CAAC;IAC3B0B,UAAU,EAAE,IAAI;IAChBC,kBAAkB,EAAE;EACtB,CAAC,CAAC,EAAE,CAAC,QAAQ,EAAE,UAAU,EAAE,SAAS,CAAC;AACvC,CAAC,EAAE,YAAY,CAAC;AAEhB,OAAO,MAAMC,UAAU,GAAGd,gBAAgB,CAAkB,CAAC,CAAC;EAC5De,IAAI,EAAE,YAAY;EAElBC,KAAK,EAAEX,mBAAmB,CAAC,CAAC;EAE5BY,KAAK,EAAE;IACL,mBAAmB,EAAGC,GAAW,IAAK;EACxC,CAAC;EAEDC,KAAKA,CAAEH,KAAK,EAAAI,IAAA,EAAa;IAAA,IAAX;MAAEC;IAAM,CAAC,GAAAD,IAAA;IACrB,MAAM;MAAEE;IAAE,CAAC,GAAG3B,SAAS,CAAC,CAAC;IACzB,MAAM4B,OAAO,GAAGhC,OAAO,CAAC,CAAC;IACzB,MAAM;MAAEiC,SAAS;MAAEC,KAAK;MAAEC;IAAK,CAAC,GAAGjC,QAAQ,CAACuB,KAAK,CAAC;IAClD,MAAMW,KAAK,GAAG/B,eAAe,CAC3BoB,KAAK,EACL,YAAY,EACZA,KAAK,CAACY,QAAQ,GAAG,EAAE,GAAG,IAAI,EAC1BV,GAAG,IAAIW,KAAK,CAACC,OAAO,CAACZ,GAAG,CAAC,GAAGA,GAAG,CAACa,GAAG,CAACC,IAAI,IAAIT,OAAO,CAACU,QAAQ,CAACD,IAAI,CAAC,CAAC,GAAGd,GAAG,GAAGK,OAAO,CAACU,QAAQ,CAACf,GAAG,CAAC,GAAGA,GAAG,EACvGA,GAAG,IAAIW,KAAK,CAACC,OAAO,CAACZ,GAAG,CAAC,GAAGA,GAAG,CAACa,GAAG,CAACC,IAAI,IAAIT,OAAO,CAACW,IAAI,CAACF,IAAI,CAAC,CAAC,GAAGd,GAAG,GAAGK,OAAO,CAACW,IAAI,CAAChB,GAAG,CAAC,GAAGA,GAC9F,CAAC;IAED,MAAMiB,IAAI,GAAGpC,UAAU,CAAC,KAAK,CAAC;IAC9B,MAAMqC,aAAa,GAAGtC,GAAG,CAAC,CAAC;IAE3B,MAAMuC,OAAO,GAAGxC,QAAQ,CAAC,MAAM;MAC7B,MAAMyC,KAAK,GAAGlC,WAAW,CAACuB,KAAK,CAACW,KAAK,CAAC;MAEtC,IAAI,CAACA,KAAK,CAACC,MAAM,EAAE,OAAO,IAAI;MAE9B,IAAIvB,KAAK,CAACY,QAAQ,KAAK,IAAI,EAAE;QAC3B,OAAON,CAAC,CAAC,mCAAmC,EAAEgB,KAAK,CAACC,MAAM,CAAC;MAC7D;MAEA,IAAIvB,KAAK,CAACY,QAAQ,KAAK,OAAO,EAAE;QAC9B,MAAMY,KAAK,GAAGF,KAAK,CAAC,CAAC,CAAC;QACtB,MAAMG,GAAG,GAAGH,KAAK,CAACA,KAAK,CAACC,MAAM,GAAG,CAAC,CAAC;QAEnC,OAAOhB,OAAO,CAACmB,OAAO,CAACF,KAAK,CAAC,IAAIjB,OAAO,CAACmB,OAAO,CAACD,GAAG,CAAC,GACjD,GAAGlB,OAAO,CAACoB,MAAM,CAACpB,OAAO,CAACW,IAAI,CAACM,KAAK,CAAC,EAAE,cAAc,CAAC,MAAMjB,OAAO,CAACoB,MAAM,CAACpB,OAAO,CAACW,IAAI,CAACO,GAAG,CAAC,EAAE,cAAc,CAAC,EAAE,GAC/G,EAAE;MACR;MAEA,OAAOlB,OAAO,CAACmB,OAAO,CAACf,KAAK,CAACW,KAAK,CAAC,GAAGf,OAAO,CAACoB,MAAM,CAACpB,OAAO,CAACW,IAAI,CAACP,KAAK,CAACW,KAAK,CAAC,EAAE,cAAc,CAAC,GAAG,EAAE;IACtG,CAAC,CAAC;IAEF,MAAMM,aAAa,GAAG/C,QAAQ,CAAC,MAAM,CAACmB,KAAK,CAAC6B,QAAQ,IAAI,CAAC7B,KAAK,CAAC8B,QAAQ,CAAC;IAExE,SAASC,SAASA,CAAEC,CAAgB,EAAE;MACpC,IAAIA,CAAC,CAACC,GAAG,KAAK,OAAO,EAAE;MAEvB,IAAI,CAACd,IAAI,CAACG,KAAK,IAAI,CAACd,SAAS,CAACc,KAAK,EAAE;QACnCH,IAAI,CAACG,KAAK,GAAG,IAAI;QAEjB;MACF;MAEA,MAAMY,MAAM,GAAGF,CAAC,CAACE,MAA0B;MAE3CvB,KAAK,CAACW,KAAK,GAAGY,MAAM,CAACZ,KAAK,KAAK,EAAE,GAAG,IAAI,GAAGY,MAAM,CAACZ,KAAK;IACzD;IAEA,SAASa,OAAOA,CAAEH,CAAa,EAAE;MAC/BA,CAAC,CAACI,cAAc,CAAC,CAAC;MAClBJ,CAAC,CAACK,eAAe,CAAC,CAAC;MAEnBlB,IAAI,CAACG,KAAK,GAAG,IAAI;IACnB;IAEA,SAASgB,MAAMA,CAAA,EAAI;MACjBnB,IAAI,CAACG,KAAK,GAAG,KAAK;IACpB;IAEA,SAASiB,aAAaA,CAAEjB,KAAa,EAAE;MACrC,IAAIA,KAAK,IAAI,IAAI,EAAE;MAEnBX,KAAK,CAACW,KAAK,GAAG,IAAI;IACpB;IAEAnC,SAAS,CAAC,MAAM;MACd,MAAMqD,gBAAgB,GAAGvE,YAAY,CAACwE,WAAW,CAACzC,KAAK,CAAC;MACxD,MAAM0C,eAAe,GAAGvE,WAAW,CAACsE,WAAW,CAACxD,IAAI,CAACe,KAAK,EAAE,CAAC,QAAQ,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC;MAC/F,MAAM2C,cAAc,GAAGrE,UAAU,CAACmE,WAAW,CAACzC,KAAK,CAAC;MAEpD,OAAA4C,YAAA,CAAAtE,UAAA,EAAAuE,WAAA;QAAA,OAEUzB;MAAa,GACduB,cAAc;QAAA,SACX3C,KAAK,CAAC8C,KAAK;QAAA,SACX9C,KAAK,CAAC+C,KAAK;QAAA,cACN1B,OAAO,CAACC,KAAK;QAAA,aACdM,aAAa,CAACN,KAAK,GAAGS,SAAS,GAAGiB,SAAS;QAAA,WAC7C7B,IAAI,CAACG,KAAK,IAAId,SAAS,CAACc,KAAK;QAAA,WAC7Bb,KAAK;QAAA,UACNC,IAAI;QAAA,mBACKkB,aAAa,CAACN,KAAK,GAAGa,OAAO,GAAGa,SAAS;QAAA,mBACzCpB,aAAa,CAACN,KAAK,GAAGa,OAAO,GAAGa,SAAS;QAAA,uBACrCT;MAAa;QAGjC,GAAGlC,KAAK;QACRZ,OAAO,EAAEA,CAAA,KAAAmD,YAAA,CAAAK,SAAA,SAAAL,YAAA,CAAAxE,KAAA;UAAA,cAGO+C,IAAI,CAACG,KAAK;UAAA,uBAAA4B,MAAA,IAAV/B,IAAI,CAACG,KAAK,GAAA4B,MAAA;UAAA;UAAA;UAAA,SAGZ1C,SAAS,CAACc,KAAK;UAAA,YACZtB,KAAK,CAACV,QAAQ;UAAA,uBACH,KAAK;UAAA,eACb;QAAK;UAAAG,OAAA,EAAAA,CAAA,MAAAmD,YAAA,CAAA3E,YAAA,EAAA4E,WAAA,CAGZL,gBAAgB;YAAA,cACX7B,KAAK,CAACW,KAAK;YAAA,uBAAA4B,MAAA,IAAXvC,KAAK,CAACW,KAAK,GAAA4B,MAAA;YAAA,UACZZ,MAAM;YAAA,YACJa,CAAA,KAAMhC,IAAI,CAACG,KAAK,GAAG;UAAK;YAGjC7B,OAAO,EAAE2D,KAAA,IAA8D;cAAA,IAA7D;gBAAEC,OAAO;gBAAE1C,KAAK,EAAE2C,UAAU;gBAAEC,IAAI;gBAAEC,MAAM;gBAAEC;cAAW,CAAC,GAAAL,KAAA;cAChE,OAAAR,YAAA,CAAAzE,WAAA,EAAA0E,WAAA,CAESH,eAAe;gBAAA,cACP1C,KAAK,CAAC0D,WAAW,GAAG/C,KAAK,CAACW,KAAK,GAAGgC,UAAU,CAAChC,KAAK;gBAAA,uBACzCpB,GAAG,IAAI;kBAC3B,IAAI,CAACF,KAAK,CAAC0D,WAAW,EAAE;oBACtBJ,UAAU,CAAChC,KAAK,GAAGpB,GAAG;kBACxB,CAAC,MAAM;oBACLS,KAAK,CAACW,KAAK,GAAGpB,GAAG;oBAEjB,IAAI,CAACF,KAAK,CAACY,QAAQ,EAAEO,IAAI,CAACG,KAAK,GAAG,KAAK;kBACzC;gBACF,CAAC;gBAAA,eACcU,CAAa,IAAKA,CAAC,CAACI,cAAc,CAAC;cAAC;gBAGjDiB,OAAO,EAAE,CAACrD,KAAK,CAAC0D,WAAW,GAAG,MAAMrD,KAAK,CAACgD,OAAO,GAAG;kBAAEE,IAAI;kBAAEC,MAAM;kBAAEC;gBAAW,CAAC,CAAC,IAAIJ,OAAO,CAAC,CAAC,GAAGL;cAAS;YAIlH;UAAC;QAAA,IAKL3C,KAAK,CAACZ,OAAO,GAAG,CAAC;MAEtB;IAIT,CAAC,CAAC;IAEF,OAAOf,WAAW,CAAC,CAAC,CAAC,EAAE0C,aAAa,CAAC;EACvC;AACF,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"VDateInput.js","names":["makeVConfirmEditProps","VConfirmEdit","makeVDatePickerProps","VDatePicker","VMenu","makeVTextFieldProps","VTextField","useDate","makeFocusProps","useFocus","forwardRefs","useLocale","useProxiedModel","computed","ref","shallowRef","genericComponent","omit","propsFactory","useRender","wrapInArray","makeVDateInputProps","displayFormat","Function","String","location","type","default","hideActions","placeholder","prependIcon","hideHeader","showAdjacentMonths","VDateInput","name","props","emits","save","value","cancel","val","setup","_ref","emit","slots","t","adapter","isFocused","focus","blur","model","multiple","Array","isArray","map","item","toJsDate","date","menu","vDateInputRef","format","display","length","start","end","isValid","isInteractive","disabled","readonly","onKeydown","e","key","target","onClick","preventDefault","stopPropagation","onCancel","onSave","onUpdateDisplayModel","confirmEditProps","filterProps","datePickerProps","textFieldProps","_createVNode","_mergeProps","class","style","undefined","_Fragment","$event","_ref2","actions","proxyModel","isPristine","onUpdateModel"],"sources":["../../../src/labs/VDateInput/VDateInput.tsx"],"sourcesContent":["// Components\nimport { makeVConfirmEditProps, VConfirmEdit } from '@/components/VConfirmEdit/VConfirmEdit'\nimport { makeVDatePickerProps, VDatePicker } from '@/components/VDatePicker/VDatePicker'\nimport { VMenu } from '@/components/VMenu/VMenu'\nimport { makeVTextFieldProps, VTextField } from '@/components/VTextField/VTextField'\n\n// Composables\nimport { useDate } from '@/composables/date'\nimport { makeFocusProps, useFocus } from '@/composables/focus'\nimport { forwardRefs } from '@/composables/forwardRefs'\nimport { useLocale } from '@/composables/locale'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed, ref, shallowRef } from 'vue'\nimport { genericComponent, omit, propsFactory, useRender, wrapInArray } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { StrategyProps } from '@/components/VOverlay/locationStrategies'\nimport type { VTextFieldSlots } from '@/components/VTextField/VTextField'\n\n// Types\nexport type VDateInputActionsSlot = {\n save: () => void\n cancel: () => void\n isPristine: boolean\n}\n\nexport type VDateInputSlots = Omit<VTextFieldSlots, 'default'> & {\n actions: VDateInputActionsSlot\n default: never\n}\n\nexport const makeVDateInputProps = propsFactory({\n displayFormat: [Function, String],\n location: {\n type: String as PropType<StrategyProps['location']>,\n default: 'bottom start',\n },\n\n ...makeFocusProps(),\n ...makeVConfirmEditProps({\n hideActions: true,\n }),\n ...makeVTextFieldProps({\n placeholder: 'mm/dd/yyyy',\n prependIcon: '$calendar',\n }),\n ...omit(makeVDatePickerProps({\n hideHeader: true,\n showAdjacentMonths: true,\n }), ['active', 'location', 'rounded']),\n}, 'VDateInput')\n\nexport const VDateInput = genericComponent<VDateInputSlots>()({\n name: 'VDateInput',\n\n props: makeVDateInputProps(),\n\n emits: {\n save: (value: string) => true,\n cancel: () => true,\n 'update:modelValue': (val: string) => true,\n },\n\n setup (props, { emit, slots }) {\n const { t } = useLocale()\n const adapter = useDate()\n const { isFocused, focus, blur } = useFocus(props)\n const model = useProxiedModel(\n props,\n 'modelValue',\n props.multiple ? [] : null,\n val => Array.isArray(val) ? val.map(item => adapter.toJsDate(item)) : val ? adapter.toJsDate(val) : val,\n val => Array.isArray(val) ? val.map(item => adapter.date(item)) : val ? adapter.date(val) : val\n )\n\n const menu = shallowRef(false)\n const vDateInputRef = ref()\n\n function format (date: unknown) {\n if (typeof props.displayFormat === 'function') {\n return props.displayFormat(date)\n }\n\n return adapter.format(date, props.displayFormat ?? 'keyboardDate')\n }\n\n const display = computed(() => {\n const value = wrapInArray(model.value)\n\n if (!value.length) return null\n\n if (props.multiple === true) {\n return t('$vuetify.datePicker.itemsSelected', value.length)\n }\n\n if (props.multiple === 'range') {\n const start = value[0]\n const end = value[value.length - 1]\n\n if (!adapter.isValid(start) || !adapter.isValid(end)) return ''\n\n return `${format(adapter.date(start))} - ${format(adapter.date(end))}`\n }\n\n return adapter.isValid(model.value) ? format(adapter.date(model.value)) : ''\n })\n\n const isInteractive = computed(() => !props.disabled && !props.readonly)\n\n function onKeydown (e: KeyboardEvent) {\n if (e.key !== 'Enter') return\n\n if (!menu.value || !isFocused.value) {\n menu.value = true\n\n return\n }\n\n const target = e.target as HTMLInputElement\n\n model.value = target.value === '' ? null : target.value\n }\n\n function onClick (e: MouseEvent) {\n e.preventDefault()\n e.stopPropagation()\n\n menu.value = true\n }\n\n function onCancel () {\n emit('cancel')\n menu.value = false\n }\n\n function onSave (value: string) {\n emit('save', value)\n menu.value = false\n }\n\n function onUpdateDisplayModel (value: string) {\n if (value != null) return\n\n model.value = null\n }\n\n useRender(() => {\n const confirmEditProps = VConfirmEdit.filterProps(props)\n const datePickerProps = VDatePicker.filterProps(omit(props, ['active', 'location', 'rounded']))\n const textFieldProps = VTextField.filterProps(props)\n\n return (\n <VTextField\n ref={ vDateInputRef }\n { ...textFieldProps }\n class={ props.class }\n style={ props.style }\n modelValue={ display.value }\n onKeydown={ isInteractive.value ? onKeydown : undefined }\n focused={ menu.value || isFocused.value }\n onFocus={ focus }\n onBlur={ blur }\n onClick:control={ isInteractive.value ? onClick : undefined }\n onClick:prepend={ isInteractive.value ? onClick : undefined }\n onUpdate:modelValue={ onUpdateDisplayModel }\n >\n {{\n ...slots,\n default: () => (\n <>\n <VMenu\n v-model={ menu.value }\n activator=\"parent\"\n min-width=\"0\"\n eager={ isFocused.value }\n location={ props.location }\n closeOnContentClick={ false }\n openOnClick={ false }\n >\n <VConfirmEdit\n { ...confirmEditProps }\n v-model={ model.value }\n onSave={ onSave }\n onCancel={ onCancel }\n >\n {{\n default: ({ actions, model: proxyModel, save, cancel, isPristine }) => {\n function onUpdateModel (value: string) {\n if (!props.hideActions) {\n proxyModel.value = value\n } else {\n model.value = value\n\n if (!props.multiple) {\n menu.value = false\n }\n }\n\n emit('save', value)\n vDateInputRef.value?.blur()\n }\n\n return (\n <VDatePicker\n { ...datePickerProps }\n modelValue={ props.hideActions ? model.value : proxyModel.value }\n onUpdate:modelValue={ value => onUpdateModel(value) }\n onMousedown={ (e: MouseEvent) => e.preventDefault() }\n >\n {{\n actions: !props.hideActions ? () => slots.actions?.({ save, cancel, isPristine }) ?? actions() : undefined,\n }}\n </VDatePicker>\n )\n },\n }}\n </VConfirmEdit>\n </VMenu>\n\n { slots.default?.() }\n </>\n ),\n }}\n </VTextField>\n )\n })\n\n return forwardRefs({}, vDateInputRef)\n },\n})\n\nexport type VDateInput = InstanceType<typeof VDateInput>\n"],"mappings":"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","ignoreList":[]}
@@ -151,7 +151,7 @@ export function has(obj, key) {
151
151
  export function pick(obj, paths) {
152
152
  const found = {};
153
153
  for (const key of paths) {
154
- if (Object.hasOwn(obj, key)) {
154
+ if (Object.prototype.hasOwnProperty.call(obj, key)) {
155
155
  found[key] = obj[key];
156
156
  }
157
157
  }