@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.
- package/CHANGELOG.md +39 -3
- package/dist/json/attributes.json +3258 -3254
- package/dist/json/importMap-labs.json +8 -8
- package/dist/json/importMap.json +162 -162
- package/dist/json/tags.json +1 -0
- package/dist/json/web-types.json +6130 -6099
- package/dist/vuetify-labs.cjs +63 -25
- package/dist/vuetify-labs.css +3530 -3530
- package/dist/vuetify-labs.d.ts +112 -88
- package/dist/vuetify-labs.esm.js +63 -25
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +63 -25
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.cjs +25 -10
- package/dist/vuetify.cjs.map +1 -1
- package/dist/vuetify.css +6104 -6104
- package/dist/vuetify.d.ts +89 -86
- package/dist/vuetify.esm.js +25 -10
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +25 -10
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +10 -10
- package/dist/vuetify.min.js.map +1 -1
- package/lib/components/VDataTable/VDataTable.d.ts +4 -4
- package/lib/components/VDataTable/VDataTableRow.d.ts +9 -6
- package/lib/components/VDataTable/VDataTableRow.js +18 -3
- package/lib/components/VDataTable/VDataTableRow.js.map +1 -1
- package/lib/components/VDataTable/VDataTableRows.d.ts +4 -4
- package/lib/components/VDataTable/VDataTableServer.d.ts +4 -4
- package/lib/components/VDataTable/VDataTableVirtual.d.ts +4 -4
- package/lib/components/VDatePicker/VDatePicker.js +1 -1
- package/lib/components/VDatePicker/VDatePicker.js.map +1 -1
- package/lib/components/VIcon/VIcon.js +2 -2
- package/lib/components/VIcon/VIcon.js.map +1 -1
- package/lib/composables/calendar.js +1 -1
- package/lib/composables/calendar.js.map +1 -1
- package/lib/entry-bundler.js +1 -1
- package/lib/framework.d.ts +54 -54
- package/lib/framework.js +1 -1
- package/lib/labs/VDateInput/VDateInput.d.ts +35 -3
- package/lib/labs/VDateInput/VDateInput.js +38 -15
- package/lib/labs/VDateInput/VDateInput.js.map +1 -1
- package/lib/util/helpers.js +1 -1
- package/lib/util/helpers.js.map +1 -1
- package/package.json +1 -1
package/lib/framework.d.ts
CHANGED
@@ -2567,80 +2567,78 @@ declare module 'vue' {
|
|
2567
2567
|
$children?: VNodeChild
|
2568
2568
|
}
|
2569
2569
|
export interface GlobalComponents {
|
2570
|
-
|
2571
|
-
|
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
|
-
|
2576
|
-
|
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
|
-
|
2582
|
-
|
2583
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
2606
|
-
|
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
|
-
|
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
|
-
|
2642
|
-
|
2643
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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-
|
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"] ?
|
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:
|
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:
|
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
|
-
|
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) ?
|
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
|
94
|
+
function onCancel() {
|
95
|
+
emit('cancel');
|
82
96
|
menu.value = false;
|
83
97
|
}
|
84
|
-
function
|
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":
|
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":
|
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":
|
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":"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","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":[]}
|
package/lib/util/helpers.js
CHANGED
@@ -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.
|
154
|
+
if (Object.prototype.hasOwnProperty.call(obj, key)) {
|
155
155
|
found[key] = obj[key];
|
156
156
|
}
|
157
157
|
}
|