@vuetify/nightly 3.8.8-master.2025-06-06 → 3.8.8-master.2025-06-07
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 +9 -3
- package/dist/json/attributes.json +2176 -2176
- package/dist/json/importMap-labs.json +28 -28
- package/dist/json/importMap.json +148 -148
- package/dist/json/web-types.json +4180 -4180
- package/dist/vuetify-labs.cjs +29 -35
- package/dist/vuetify-labs.css +4211 -4211
- package/dist/vuetify-labs.d.ts +64 -54
- package/dist/vuetify-labs.esm.js +29 -35
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +29 -35
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.cjs +23 -20
- package/dist/vuetify.cjs.map +1 -1
- package/dist/vuetify.css +3951 -3951
- package/dist/vuetify.d.ts +59 -54
- package/dist/vuetify.esm.js +23 -20
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +23 -20
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +30 -30
- package/dist/vuetify.min.js.map +1 -1
- package/lib/components/VDataTable/VDataTableFooter.js +3 -1
- package/lib/components/VDataTable/VDataTableFooter.js.map +1 -1
- package/lib/components/VNumberInput/VNumberInput.d.ts +5 -0
- package/lib/components/VNumberInput/VNumberInput.js +7 -11
- package/lib/components/VNumberInput/VNumberInput.js.map +1 -1
- package/lib/components/VOtpInput/VOtpInput.js +5 -2
- package/lib/components/VOtpInput/VOtpInput.js.map +1 -1
- package/lib/components/VTextField/VTextField.js +5 -4
- package/lib/components/VTextField/VTextField.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/VColorInput/VColorInput.js +3 -8
- package/lib/labs/VColorInput/VColorInput.js.map +1 -1
- package/lib/labs/VDateInput/VDateInput.d.ts +5 -0
- package/lib/labs/VDateInput/VDateInput.js +5 -9
- package/lib/labs/VDateInput/VDateInput.js.map +1 -1
- package/package.json +1 -1
package/lib/framework.d.ts
CHANGED
@@ -2549,41 +2549,34 @@ declare module 'vue' {
|
|
2549
2549
|
$children?: VNodeChild
|
2550
2550
|
}
|
2551
2551
|
export interface GlobalComponents {
|
2552
|
-
VApp: typeof import('vuetify/components')['VApp']
|
2553
2552
|
VAppBar: typeof import('vuetify/components')['VAppBar']
|
2554
2553
|
VAppBarNavIcon: typeof import('vuetify/components')['VAppBarNavIcon']
|
2555
2554
|
VAppBarTitle: typeof import('vuetify/components')['VAppBarTitle']
|
2556
2555
|
VAlert: typeof import('vuetify/components')['VAlert']
|
2557
2556
|
VAlertTitle: typeof import('vuetify/components')['VAlertTitle']
|
2558
|
-
VAutocomplete: typeof import('vuetify/components')['VAutocomplete']
|
2559
2557
|
VAvatar: typeof import('vuetify/components')['VAvatar']
|
2558
|
+
VApp: typeof import('vuetify/components')['VApp']
|
2560
2559
|
VBadge: typeof import('vuetify/components')['VBadge']
|
2561
2560
|
VBanner: typeof import('vuetify/components')['VBanner']
|
2562
2561
|
VBannerActions: typeof import('vuetify/components')['VBannerActions']
|
2563
2562
|
VBannerText: typeof import('vuetify/components')['VBannerText']
|
2563
|
+
VAutocomplete: typeof import('vuetify/components')['VAutocomplete']
|
2564
2564
|
VBottomSheet: typeof import('vuetify/components')['VBottomSheet']
|
2565
|
-
VBottomNavigation: typeof import('vuetify/components')['VBottomNavigation']
|
2566
2565
|
VBreadcrumbs: typeof import('vuetify/components')['VBreadcrumbs']
|
2567
2566
|
VBreadcrumbsItem: typeof import('vuetify/components')['VBreadcrumbsItem']
|
2568
2567
|
VBreadcrumbsDivider: typeof import('vuetify/components')['VBreadcrumbsDivider']
|
2568
|
+
VBottomNavigation: typeof import('vuetify/components')['VBottomNavigation']
|
2569
2569
|
VBtn: typeof import('vuetify/components')['VBtn']
|
2570
|
+
VBtnToggle: typeof import('vuetify/components')['VBtnToggle']
|
2571
|
+
VBtnGroup: typeof import('vuetify/components')['VBtnGroup']
|
2572
|
+
VCarousel: typeof import('vuetify/components')['VCarousel']
|
2573
|
+
VCarouselItem: typeof import('vuetify/components')['VCarouselItem']
|
2570
2574
|
VCard: typeof import('vuetify/components')['VCard']
|
2571
2575
|
VCardActions: typeof import('vuetify/components')['VCardActions']
|
2572
2576
|
VCardItem: typeof import('vuetify/components')['VCardItem']
|
2573
2577
|
VCardSubtitle: typeof import('vuetify/components')['VCardSubtitle']
|
2574
2578
|
VCardText: typeof import('vuetify/components')['VCardText']
|
2575
2579
|
VCardTitle: typeof import('vuetify/components')['VCardTitle']
|
2576
|
-
VCarousel: typeof import('vuetify/components')['VCarousel']
|
2577
|
-
VCarouselItem: typeof import('vuetify/components')['VCarouselItem']
|
2578
|
-
VChipGroup: typeof import('vuetify/components')['VChipGroup']
|
2579
|
-
VCode: typeof import('vuetify/components')['VCode']
|
2580
|
-
VBtnToggle: typeof import('vuetify/components')['VBtnToggle']
|
2581
|
-
VCheckbox: typeof import('vuetify/components')['VCheckbox']
|
2582
|
-
VCheckboxBtn: typeof import('vuetify/components')['VCheckboxBtn']
|
2583
|
-
VCombobox: typeof import('vuetify/components')['VCombobox']
|
2584
|
-
VCounter: typeof import('vuetify/components')['VCounter']
|
2585
|
-
VColorPicker: typeof import('vuetify/components')['VColorPicker']
|
2586
|
-
VBtnGroup: typeof import('vuetify/components')['VBtnGroup']
|
2587
2580
|
VDataTable: typeof import('vuetify/components')['VDataTable']
|
2588
2581
|
VDataTableHeaders: typeof import('vuetify/components')['VDataTableHeaders']
|
2589
2582
|
VDataTableFooter: typeof import('vuetify/components')['VDataTableFooter']
|
@@ -2591,8 +2584,14 @@ declare module 'vue' {
|
|
2591
2584
|
VDataTableRow: typeof import('vuetify/components')['VDataTableRow']
|
2592
2585
|
VDataTableVirtual: typeof import('vuetify/components')['VDataTableVirtual']
|
2593
2586
|
VDataTableServer: typeof import('vuetify/components')['VDataTableServer']
|
2587
|
+
VCode: typeof import('vuetify/components')['VCode']
|
2588
|
+
VCheckbox: typeof import('vuetify/components')['VCheckbox']
|
2589
|
+
VCheckboxBtn: typeof import('vuetify/components')['VCheckboxBtn']
|
2594
2590
|
VChip: typeof import('vuetify/components')['VChip']
|
2595
|
-
|
2591
|
+
VCounter: typeof import('vuetify/components')['VCounter']
|
2592
|
+
VChipGroup: typeof import('vuetify/components')['VChipGroup']
|
2593
|
+
VCombobox: typeof import('vuetify/components')['VCombobox']
|
2594
|
+
VColorPicker: typeof import('vuetify/components')['VColorPicker']
|
2596
2595
|
VDatePicker: typeof import('vuetify/components')['VDatePicker']
|
2597
2596
|
VDatePickerControls: typeof import('vuetify/components')['VDatePickerControls']
|
2598
2597
|
VDatePickerHeader: typeof import('vuetify/components')['VDatePickerHeader']
|
@@ -2600,28 +2599,28 @@ declare module 'vue' {
|
|
2600
2599
|
VDatePickerMonths: typeof import('vuetify/components')['VDatePickerMonths']
|
2601
2600
|
VDatePickerYears: typeof import('vuetify/components')['VDatePickerYears']
|
2602
2601
|
VDivider: typeof import('vuetify/components')['VDivider']
|
2603
|
-
|
2602
|
+
VDialog: typeof import('vuetify/components')['VDialog']
|
2604
2603
|
VExpansionPanels: typeof import('vuetify/components')['VExpansionPanels']
|
2605
2604
|
VExpansionPanel: typeof import('vuetify/components')['VExpansionPanel']
|
2606
2605
|
VExpansionPanelText: typeof import('vuetify/components')['VExpansionPanelText']
|
2607
2606
|
VExpansionPanelTitle: typeof import('vuetify/components')['VExpansionPanelTitle']
|
2608
|
-
|
2607
|
+
VFab: typeof import('vuetify/components')['VFab']
|
2608
|
+
VFooter: typeof import('vuetify/components')['VFooter']
|
2609
|
+
VFileInput: typeof import('vuetify/components')['VFileInput']
|
2609
2610
|
VField: typeof import('vuetify/components')['VField']
|
2610
2611
|
VFieldLabel: typeof import('vuetify/components')['VFieldLabel']
|
2611
|
-
VFileInput: typeof import('vuetify/components')['VFileInput']
|
2612
|
-
VFooter: typeof import('vuetify/components')['VFooter']
|
2613
|
-
VInput: typeof import('vuetify/components')['VInput']
|
2614
2612
|
VIcon: typeof import('vuetify/components')['VIcon']
|
2615
2613
|
VComponentIcon: typeof import('vuetify/components')['VComponentIcon']
|
2616
2614
|
VSvgIcon: typeof import('vuetify/components')['VSvgIcon']
|
2617
2615
|
VLigatureIcon: typeof import('vuetify/components')['VLigatureIcon']
|
2618
2616
|
VClassIcon: typeof import('vuetify/components')['VClassIcon']
|
2619
2617
|
VInfiniteScroll: typeof import('vuetify/components')['VInfiniteScroll']
|
2618
|
+
VInput: typeof import('vuetify/components')['VInput']
|
2619
|
+
VKbd: typeof import('vuetify/components')['VKbd']
|
2620
2620
|
VItemGroup: typeof import('vuetify/components')['VItemGroup']
|
2621
2621
|
VItem: typeof import('vuetify/components')['VItem']
|
2622
|
-
VImg: typeof import('vuetify/components')['VImg']
|
2623
2622
|
VLabel: typeof import('vuetify/components')['VLabel']
|
2624
|
-
|
2623
|
+
VImg: typeof import('vuetify/components')['VImg']
|
2625
2624
|
VList: typeof import('vuetify/components')['VList']
|
2626
2625
|
VListGroup: typeof import('vuetify/components')['VListGroup']
|
2627
2626
|
VListImg: typeof import('vuetify/components')['VListImg']
|
@@ -2631,68 +2630,69 @@ declare module 'vue' {
|
|
2631
2630
|
VListItemSubtitle: typeof import('vuetify/components')['VListItemSubtitle']
|
2632
2631
|
VListItemTitle: typeof import('vuetify/components')['VListItemTitle']
|
2633
2632
|
VListSubheader: typeof import('vuetify/components')['VListSubheader']
|
2633
|
+
VMenu: typeof import('vuetify/components')['VMenu']
|
2634
2634
|
VMain: typeof import('vuetify/components')['VMain']
|
2635
2635
|
VNavigationDrawer: typeof import('vuetify/components')['VNavigationDrawer']
|
2636
|
-
|
2636
|
+
VNumberInput: typeof import('vuetify/components')['VNumberInput']
|
2637
|
+
VOverlay: typeof import('vuetify/components')['VOverlay']
|
2637
2638
|
VMessages: typeof import('vuetify/components')['VMessages']
|
2638
2639
|
VOtpInput: typeof import('vuetify/components')['VOtpInput']
|
2639
|
-
|
2640
|
+
VProgressCircular: typeof import('vuetify/components')['VProgressCircular']
|
2640
2641
|
VPagination: typeof import('vuetify/components')['VPagination']
|
2641
2642
|
VProgressLinear: typeof import('vuetify/components')['VProgressLinear']
|
2642
|
-
VOverlay: typeof import('vuetify/components')['VOverlay']
|
2643
|
-
VProgressCircular: typeof import('vuetify/components')['VProgressCircular']
|
2644
2643
|
VRadioGroup: typeof import('vuetify/components')['VRadioGroup']
|
2645
2644
|
VRating: typeof import('vuetify/components')['VRating']
|
2646
|
-
VSelectionControl: typeof import('vuetify/components')['VSelectionControl']
|
2647
|
-
VSheet: typeof import('vuetify/components')['VSheet']
|
2648
2645
|
VSelect: typeof import('vuetify/components')['VSelect']
|
2649
|
-
VSkeletonLoader: typeof import('vuetify/components')['VSkeletonLoader']
|
2650
2646
|
VSelectionControlGroup: typeof import('vuetify/components')['VSelectionControlGroup']
|
2647
|
+
VSkeletonLoader: typeof import('vuetify/components')['VSkeletonLoader']
|
2648
|
+
VSheet: typeof import('vuetify/components')['VSheet']
|
2649
|
+
VSelectionControl: typeof import('vuetify/components')['VSelectionControl']
|
2651
2650
|
VSlideGroup: typeof import('vuetify/components')['VSlideGroup']
|
2652
2651
|
VSlideGroupItem: typeof import('vuetify/components')['VSlideGroupItem']
|
2653
|
-
VSlider: typeof import('vuetify/components')['VSlider']
|
2654
|
-
VTextField: typeof import('vuetify/components')['VTextField']
|
2655
2652
|
VStepper: typeof import('vuetify/components')['VStepper']
|
2656
2653
|
VStepperActions: typeof import('vuetify/components')['VStepperActions']
|
2657
2654
|
VStepperHeader: typeof import('vuetify/components')['VStepperHeader']
|
2658
2655
|
VStepperItem: typeof import('vuetify/components')['VStepperItem']
|
2659
2656
|
VStepperWindow: typeof import('vuetify/components')['VStepperWindow']
|
2660
2657
|
VStepperWindowItem: typeof import('vuetify/components')['VStepperWindowItem']
|
2661
|
-
VSystemBar: typeof import('vuetify/components')['VSystemBar']
|
2662
2658
|
VSnackbar: typeof import('vuetify/components')['VSnackbar']
|
2659
|
+
VSlider: typeof import('vuetify/components')['VSlider']
|
2660
|
+
VSystemBar: typeof import('vuetify/components')['VSystemBar']
|
2661
|
+
VSwitch: typeof import('vuetify/components')['VSwitch']
|
2662
|
+
VTimeline: typeof import('vuetify/components')['VTimeline']
|
2663
|
+
VTimelineItem: typeof import('vuetify/components')['VTimelineItem']
|
2663
2664
|
VTab: typeof import('vuetify/components')['VTab']
|
2664
2665
|
VTabs: typeof import('vuetify/components')['VTabs']
|
2665
2666
|
VTabsWindow: typeof import('vuetify/components')['VTabsWindow']
|
2666
2667
|
VTabsWindowItem: typeof import('vuetify/components')['VTabsWindowItem']
|
2668
|
+
VTextField: typeof import('vuetify/components')['VTextField']
|
2667
2669
|
VTextarea: typeof import('vuetify/components')['VTextarea']
|
2668
|
-
VTable: typeof import('vuetify/components')['VTable']
|
2669
|
-
VWindow: typeof import('vuetify/components')['VWindow']
|
2670
|
-
VWindowItem: typeof import('vuetify/components')['VWindowItem']
|
2671
2670
|
VToolbar: typeof import('vuetify/components')['VToolbar']
|
2672
2671
|
VToolbarTitle: typeof import('vuetify/components')['VToolbarTitle']
|
2673
2672
|
VToolbarItems: typeof import('vuetify/components')['VToolbarItems']
|
2674
2673
|
VTooltip: typeof import('vuetify/components')['VTooltip']
|
2675
|
-
|
2674
|
+
VWindow: typeof import('vuetify/components')['VWindow']
|
2675
|
+
VWindowItem: typeof import('vuetify/components')['VWindowItem']
|
2676
2676
|
VConfirmEdit: typeof import('vuetify/components')['VConfirmEdit']
|
2677
|
+
VTable: typeof import('vuetify/components')['VTable']
|
2677
2678
|
VDataIterator: typeof import('vuetify/components')['VDataIterator']
|
2678
2679
|
VDefaultsProvider: typeof import('vuetify/components')['VDefaultsProvider']
|
2680
|
+
VForm: typeof import('vuetify/components')['VForm']
|
2679
2681
|
VContainer: typeof import('vuetify/components')['VContainer']
|
2680
2682
|
VCol: typeof import('vuetify/components')['VCol']
|
2681
2683
|
VRow: typeof import('vuetify/components')['VRow']
|
2682
2684
|
VSpacer: typeof import('vuetify/components')['VSpacer']
|
2683
2685
|
VHover: typeof import('vuetify/components')['VHover']
|
2684
|
-
VForm: typeof import('vuetify/components')['VForm']
|
2685
2686
|
VLazy: typeof import('vuetify/components')['VLazy']
|
2686
|
-
VLayout: typeof import('vuetify/components')['VLayout']
|
2687
|
-
VLayoutItem: typeof import('vuetify/components')['VLayoutItem']
|
2688
2687
|
VLocaleProvider: typeof import('vuetify/components')['VLocaleProvider']
|
2689
2688
|
VNoSsr: typeof import('vuetify/components')['VNoSsr']
|
2689
|
+
VRadio: typeof import('vuetify/components')['VRadio']
|
2690
2690
|
VParallax: typeof import('vuetify/components')['VParallax']
|
2691
2691
|
VRangeSlider: typeof import('vuetify/components')['VRangeSlider']
|
2692
2692
|
VResponsive: typeof import('vuetify/components')['VResponsive']
|
2693
|
-
|
2694
|
-
VSparkline: typeof import('vuetify/components')['VSparkline']
|
2693
|
+
VSnackbarQueue: typeof import('vuetify/components')['VSnackbarQueue']
|
2695
2694
|
VSpeedDial: typeof import('vuetify/components')['VSpeedDial']
|
2695
|
+
VSparkline: typeof import('vuetify/components')['VSparkline']
|
2696
2696
|
VThemeProvider: typeof import('vuetify/components')['VThemeProvider']
|
2697
2697
|
VValidation: typeof import('vuetify/components')['VValidation']
|
2698
2698
|
VVirtualScroll: typeof import('vuetify/components')['VVirtualScroll']
|
@@ -2712,31 +2712,31 @@ declare module 'vue' {
|
|
2712
2712
|
VExpandTransition: typeof import('vuetify/components')['VExpandTransition']
|
2713
2713
|
VExpandXTransition: typeof import('vuetify/components')['VExpandXTransition']
|
2714
2714
|
VDialogTransition: typeof import('vuetify/components')['VDialogTransition']
|
2715
|
-
|
2716
|
-
|
2717
|
-
|
2715
|
+
VEmptyState: typeof import('vuetify/components')['VEmptyState']
|
2716
|
+
VLayout: typeof import('vuetify/components')['VLayout']
|
2717
|
+
VLayoutItem: typeof import('vuetify/components')['VLayoutItem']
|
2718
2718
|
VCalendar: typeof import('vuetify/labs/components')['VCalendar']
|
2719
2719
|
VCalendarDay: typeof import('vuetify/labs/components')['VCalendarDay']
|
2720
2720
|
VCalendarHeader: typeof import('vuetify/labs/components')['VCalendarHeader']
|
2721
2721
|
VCalendarInterval: typeof import('vuetify/labs/components')['VCalendarInterval']
|
2722
2722
|
VCalendarIntervalEvent: typeof import('vuetify/labs/components')['VCalendarIntervalEvent']
|
2723
2723
|
VCalendarMonthDay: typeof import('vuetify/labs/components')['VCalendarMonthDay']
|
2724
|
+
VIconBtn: typeof import('vuetify/labs/components')['VIconBtn']
|
2724
2725
|
VPicker: typeof import('vuetify/labs/components')['VPicker']
|
2725
2726
|
VPickerTitle: typeof import('vuetify/labs/components')['VPickerTitle']
|
2726
|
-
VIconBtn: typeof import('vuetify/labs/components')['VIconBtn']
|
2727
|
-
VStepperVertical: typeof import('vuetify/labs/components')['VStepperVertical']
|
2728
|
-
VStepperVerticalItem: typeof import('vuetify/labs/components')['VStepperVerticalItem']
|
2729
|
-
VStepperVerticalActions: typeof import('vuetify/labs/components')['VStepperVerticalActions']
|
2730
|
-
VTreeview: typeof import('vuetify/labs/components')['VTreeview']
|
2731
|
-
VTreeviewItem: typeof import('vuetify/labs/components')['VTreeviewItem']
|
2732
|
-
VTreeviewGroup: typeof import('vuetify/labs/components')['VTreeviewGroup']
|
2733
2727
|
VColorInput: typeof import('vuetify/labs/components')['VColorInput']
|
2734
|
-
VFileUpload: typeof import('vuetify/labs/components')['VFileUpload']
|
2735
|
-
VFileUploadItem: typeof import('vuetify/labs/components')['VFileUploadItem']
|
2736
2728
|
VTimePicker: typeof import('vuetify/labs/components')['VTimePicker']
|
2737
2729
|
VTimePickerClock: typeof import('vuetify/labs/components')['VTimePickerClock']
|
2738
2730
|
VTimePickerControls: typeof import('vuetify/labs/components')['VTimePickerControls']
|
2739
|
-
|
2731
|
+
VFileUpload: typeof import('vuetify/labs/components')['VFileUpload']
|
2732
|
+
VFileUploadItem: typeof import('vuetify/labs/components')['VFileUploadItem']
|
2733
|
+
VTreeview: typeof import('vuetify/labs/components')['VTreeview']
|
2734
|
+
VTreeviewItem: typeof import('vuetify/labs/components')['VTreeviewItem']
|
2735
|
+
VTreeviewGroup: typeof import('vuetify/labs/components')['VTreeviewGroup']
|
2736
|
+
VStepperVertical: typeof import('vuetify/labs/components')['VStepperVertical']
|
2737
|
+
VStepperVerticalItem: typeof import('vuetify/labs/components')['VStepperVerticalItem']
|
2738
|
+
VStepperVerticalActions: typeof import('vuetify/labs/components')['VStepperVerticalActions']
|
2740
2739
|
VDateInput: typeof import('vuetify/labs/components')['VDateInput']
|
2740
|
+
VPullToRefresh: typeof import('vuetify/labs/components')['VPullToRefresh']
|
2741
2741
|
}
|
2742
2742
|
}
|
package/lib/framework.js
CHANGED
@@ -8,7 +8,7 @@ import { makeVConfirmEditProps, VConfirmEdit } from "../../components/VConfirmEd
|
|
8
8
|
import { VIcon } from "../../components/VIcon/VIcon.js";
|
9
9
|
import { VMenu } from "../../components/VMenu/VMenu.js";
|
10
10
|
import { makeVTextFieldProps, VTextField } from "../../components/VTextField/VTextField.js"; // Composables
|
11
|
-
import { makeFocusProps
|
11
|
+
import { makeFocusProps } from "../../composables/focus.js";
|
12
12
|
import { useProxiedModel } from "../../composables/proxiedModel.js"; // Utilities
|
13
13
|
import { computed, shallowRef } from 'vue';
|
14
14
|
import { genericComponent, omit, propsFactory, useRender } from "../../util/index.js"; // Types
|
@@ -33,13 +33,9 @@ export const VColorInput = genericComponent()({
|
|
33
33
|
let {
|
34
34
|
slots
|
35
35
|
} = _ref;
|
36
|
-
const {
|
37
|
-
isFocused,
|
38
|
-
focus,
|
39
|
-
blur
|
40
|
-
} = useFocus(props);
|
41
36
|
const model = useProxiedModel(props, 'modelValue');
|
42
37
|
const menu = shallowRef(false);
|
38
|
+
const isFocused = shallowRef(props.focused);
|
43
39
|
const isInteractive = computed(() => !props.disabled && !props.readonly);
|
44
40
|
const display = computed(() => model.value || null);
|
45
41
|
function onKeydown(e) {
|
@@ -70,10 +66,9 @@ export const VColorInput = genericComponent()({
|
|
70
66
|
"modelValue": display.value,
|
71
67
|
"onKeydown": isInteractive.value ? onKeydown : undefined,
|
72
68
|
"focused": menu.value || isFocused.value,
|
73
|
-
"onFocus": focus,
|
74
|
-
"onBlur": blur,
|
75
69
|
"onClick:control": isInteractive.value ? onClick : undefined,
|
76
70
|
"onClick:prependInner": isInteractive.value ? onClick : undefined,
|
71
|
+
"onUpdate:focused": event => isFocused.value = event,
|
77
72
|
"onClick:appendInner": isInteractive.value ? onClick : undefined,
|
78
73
|
"onUpdate:modelValue": val => {
|
79
74
|
model.value = val;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"VColorInput.js","names":["makeVColorPickerProps","VColorPicker","makeVConfirmEditProps","VConfirmEdit","VIcon","VMenu","makeVTextFieldProps","VTextField","makeFocusProps","useFocus","useProxiedModel","computed","shallowRef","genericComponent","omit","propsFactory","useRender","makeVColorInputProps","pip","Boolean","pipIcon","type","String","default","VColorInput","name","props","emits","val","setup","_ref","slots","isFocused","focus","blur","model","menu","isInteractive","disabled","readonly","display","value","onKeydown","e","key","target","onClick","preventDefault","stopPropagation","onSave","confirmEditProps","filterProps","colorPickerProps","textFieldProps","hasPrepend","prepend","_createVNode","_mergeProps","class","style","undefined","arg","_createElementVNode","_Fragment","$event","_ref2","actions","proxyModel","save","cancel","isPristine","hideActions"],"sources":["../../../src/labs/VColorInput/VColorInput.tsx"],"sourcesContent":["// Styles\nimport './VColorInput.sass'\n\n// Components\nimport { makeVColorPickerProps, VColorPicker } from '@/components/VColorPicker/VColorPicker'\nimport { makeVConfirmEditProps, VConfirmEdit } from '@/components/VConfirmEdit/VConfirmEdit'\nimport { VIcon } from '@/components/VIcon/VIcon'\nimport { VMenu } from '@/components/VMenu/VMenu'\nimport { makeVTextFieldProps, VTextField } from '@/components/VTextField/VTextField'\n\n// Composables\nimport { makeFocusProps, useFocus } from '@/composables/focus'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed, shallowRef } from 'vue'\nimport { genericComponent, omit, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { VTextFieldSlots } from '@/components/VTextField/VTextField'\n\nexport type VColorInputActionsSlot = {\n save: () => void\n cancel: () => void\n isPristine: boolean\n}\n\nexport type VColorInputSlots = Omit<VTextFieldSlots, 'default'> & {\n actions: VColorInputActionsSlot\n default: never\n}\n\nexport const makeVColorInputProps = propsFactory({\n pip: Boolean,\n pipIcon: {\n type: String,\n default: '$color',\n },\n\n ...makeFocusProps(),\n ...makeVConfirmEditProps(),\n ...makeVTextFieldProps(),\n ...omit(makeVColorPickerProps(), ['width']),\n}, 'VColorInput')\n\nexport const VColorInput = genericComponent<VColorInputSlots>()({\n name: 'VColorInput',\n\n props: makeVColorInputProps(),\n\n emits: {\n 'update:modelValue': (val: string) => true,\n },\n\n setup (props, { slots }) {\n const { isFocused, focus, blur } = useFocus(props)\n const model = useProxiedModel(props, 'modelValue')\n const menu = shallowRef(false)\n\n const isInteractive = computed(() => !props.disabled && !props.readonly)\n\n const display = computed(() => model.value || null)\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\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 useRender(() => {\n const confirmEditProps = VConfirmEdit.filterProps(props)\n const colorPickerProps = VColorPicker.filterProps(omit(props, ['active', 'color']))\n const textFieldProps = VTextField.filterProps(omit(props, ['prependInnerIcon']))\n\n const hasPrepend = !!(slots.prepend || props.pipIcon)\n\n return (\n <VTextField\n { ...textFieldProps }\n class={[\n 'v-color-input',\n props.class,\n ]}\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:prependInner={ isInteractive.value ? onClick : undefined }\n onClick:appendInner={ isInteractive.value ? onClick : undefined }\n onUpdate:modelValue={ val => {\n model.value = val\n }}\n >\n {{\n ...slots,\n prepend: props.pipIcon ? arg => (\n <>\n { hasPrepend && (\n <VIcon\n color={ props.pip ? model.value as string : undefined }\n icon={ props.pipIcon }\n />\n )}\n\n { slots.prepend?.(arg) }\n </>\n ) : undefined,\n default: () => (\n <>\n <VMenu\n v-model={ menu.value }\n activator=\"parent\"\n min-width=\"0\"\n closeOnContentClick={ false }\n openOnClick={ false }\n >\n <VConfirmEdit\n { ...confirmEditProps }\n v-model={ model.value }\n onSave={ onSave }\n >\n {{\n default: ({ actions, model: proxyModel, save, cancel, isPristine }) => {\n return (\n <VColorPicker\n { ...colorPickerProps }\n modelValue={ proxyModel.value }\n onUpdate:modelValue={ val => {\n proxyModel.value = val\n model.value = val\n }}\n onMousedown={ (e: MouseEvent) => e.preventDefault() }\n >\n {{\n actions: !props.hideActions ? () => slots.actions?.({ save, cancel, isPristine }) ?? actions() : undefined,\n }}\n </VColorPicker>\n )\n },\n }}\n </VConfirmEdit>\n </VMenu>\n\n { slots.default?.() }\n </>\n ),\n }}\n </VTextField>\n )\n })\n },\n})\n\nexport type VColorInput = InstanceType<typeof VColorInput>\n"],"mappings":"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","ignoreList":[]}
|
1
|
+
{"version":3,"file":"VColorInput.js","names":["makeVColorPickerProps","VColorPicker","makeVConfirmEditProps","VConfirmEdit","VIcon","VMenu","makeVTextFieldProps","VTextField","makeFocusProps","useProxiedModel","computed","shallowRef","genericComponent","omit","propsFactory","useRender","makeVColorInputProps","pip","Boolean","pipIcon","type","String","default","VColorInput","name","props","emits","val","setup","_ref","slots","model","menu","isFocused","focused","isInteractive","disabled","readonly","display","value","onKeydown","e","key","target","onClick","preventDefault","stopPropagation","onSave","confirmEditProps","filterProps","colorPickerProps","textFieldProps","hasPrepend","prepend","_createVNode","_mergeProps","class","style","undefined","event","arg","_createElementVNode","_Fragment","$event","_ref2","actions","proxyModel","save","cancel","isPristine","hideActions"],"sources":["../../../src/labs/VColorInput/VColorInput.tsx"],"sourcesContent":["// Styles\nimport './VColorInput.sass'\n\n// Components\nimport { makeVColorPickerProps, VColorPicker } from '@/components/VColorPicker/VColorPicker'\nimport { makeVConfirmEditProps, VConfirmEdit } from '@/components/VConfirmEdit/VConfirmEdit'\nimport { VIcon } from '@/components/VIcon/VIcon'\nimport { VMenu } from '@/components/VMenu/VMenu'\nimport { makeVTextFieldProps, VTextField } from '@/components/VTextField/VTextField'\n\n// Composables\nimport { makeFocusProps } from '@/composables/focus'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed, shallowRef } from 'vue'\nimport { genericComponent, omit, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { VTextFieldSlots } from '@/components/VTextField/VTextField'\n\nexport type VColorInputActionsSlot = {\n save: () => void\n cancel: () => void\n isPristine: boolean\n}\n\nexport type VColorInputSlots = Omit<VTextFieldSlots, 'default'> & {\n actions: VColorInputActionsSlot\n default: never\n}\n\nexport const makeVColorInputProps = propsFactory({\n pip: Boolean,\n pipIcon: {\n type: String,\n default: '$color',\n },\n\n ...makeFocusProps(),\n ...makeVConfirmEditProps(),\n ...makeVTextFieldProps(),\n ...omit(makeVColorPickerProps(), ['width']),\n}, 'VColorInput')\n\nexport const VColorInput = genericComponent<VColorInputSlots>()({\n name: 'VColorInput',\n\n props: makeVColorInputProps(),\n\n emits: {\n 'update:modelValue': (val: string) => true,\n },\n\n setup (props, { slots }) {\n const model = useProxiedModel(props, 'modelValue')\n const menu = shallowRef(false)\n const isFocused = shallowRef(props.focused)\n\n const isInteractive = computed(() => !props.disabled && !props.readonly)\n\n const display = computed(() => model.value || null)\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\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 useRender(() => {\n const confirmEditProps = VConfirmEdit.filterProps(props)\n const colorPickerProps = VColorPicker.filterProps(omit(props, ['active', 'color']))\n const textFieldProps = VTextField.filterProps(omit(props, ['prependInnerIcon']))\n\n const hasPrepend = !!(slots.prepend || props.pipIcon)\n\n return (\n <VTextField\n { ...textFieldProps }\n class={[\n 'v-color-input',\n props.class,\n ]}\n style={ props.style }\n modelValue={ display.value }\n onKeydown={ isInteractive.value ? onKeydown : undefined }\n focused={ menu.value || isFocused.value }\n onClick:control={ isInteractive.value ? onClick : undefined }\n onClick:prependInner={ isInteractive.value ? onClick : undefined }\n onUpdate:focused={ event => isFocused.value = event }\n onClick:appendInner={ isInteractive.value ? onClick : undefined }\n onUpdate:modelValue={ val => {\n model.value = val\n }}\n >\n {{\n ...slots,\n prepend: props.pipIcon ? arg => (\n <>\n { hasPrepend && (\n <VIcon\n color={ props.pip ? model.value as string : undefined }\n icon={ props.pipIcon }\n />\n )}\n\n { slots.prepend?.(arg) }\n </>\n ) : undefined,\n default: () => (\n <>\n <VMenu\n v-model={ menu.value }\n activator=\"parent\"\n min-width=\"0\"\n closeOnContentClick={ false }\n openOnClick={ false }\n >\n <VConfirmEdit\n { ...confirmEditProps }\n v-model={ model.value }\n onSave={ onSave }\n >\n {{\n default: ({ actions, model: proxyModel, save, cancel, isPristine }) => {\n return (\n <VColorPicker\n { ...colorPickerProps }\n modelValue={ proxyModel.value }\n onUpdate:modelValue={ val => {\n proxyModel.value = val\n model.value = val\n }}\n onMousedown={ (e: MouseEvent) => e.preventDefault() }\n >\n {{\n actions: !props.hideActions ? () => slots.actions?.({ save, cancel, isPristine }) ?? actions() : undefined,\n }}\n </VColorPicker>\n )\n },\n }}\n </VConfirmEdit>\n </VMenu>\n\n { slots.default?.() }\n </>\n ),\n }}\n </VTextField>\n )\n })\n },\n})\n\nexport type VColorInput = InstanceType<typeof VColorInput>\n"],"mappings":"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","ignoreList":[]}
|
@@ -981,6 +981,7 @@ export declare const VDateInput: {
|
|
981
981
|
"v-slot:default"?: false | (() => import("vue").VNodeChild) | undefined;
|
982
982
|
} & {
|
983
983
|
onCancel?: (() => any) | undefined;
|
984
|
+
"onUpdate:focused"?: ((val: boolean) => any) | undefined;
|
984
985
|
"onUpdate:modelValue"?: ((val: string) => any) | undefined;
|
985
986
|
"onUpdate:menu"?: ((val: boolean) => any) | undefined;
|
986
987
|
onSave?: ((value: string) => any) | undefined;
|
@@ -2925,6 +2926,7 @@ export declare const VDateInput: {
|
|
2925
2926
|
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
2926
2927
|
save: (value: string) => true;
|
2927
2928
|
cancel: () => true;
|
2929
|
+
'update:focused': (val: boolean) => true;
|
2928
2930
|
'update:modelValue': (val: string) => true;
|
2929
2931
|
'update:menu': (val: boolean) => true;
|
2930
2932
|
}, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, {
|
@@ -3180,6 +3182,7 @@ export declare const VDateInput: {
|
|
3180
3182
|
"v-slot:default"?: false | (() => import("vue").VNodeChild) | undefined;
|
3181
3183
|
} & {
|
3182
3184
|
onCancel?: (() => any) | undefined;
|
3185
|
+
"onUpdate:focused"?: ((val: boolean) => any) | undefined;
|
3183
3186
|
"onUpdate:modelValue"?: ((val: string) => any) | undefined;
|
3184
3187
|
"onUpdate:menu"?: ((val: boolean) => any) | undefined;
|
3185
3188
|
onSave?: ((value: string) => any) | undefined;
|
@@ -5353,6 +5356,7 @@ export declare const VDateInput: {
|
|
5353
5356
|
"v-slot:default"?: false | (() => import("vue").VNodeChild) | undefined;
|
5354
5357
|
} & {
|
5355
5358
|
onCancel?: (() => any) | undefined;
|
5359
|
+
"onUpdate:focused"?: ((val: boolean) => any) | undefined;
|
5356
5360
|
"onUpdate:modelValue"?: ((val: string) => any) | undefined;
|
5357
5361
|
"onUpdate:menu"?: ((val: boolean) => any) | undefined;
|
5358
5362
|
onSave?: ((value: string) => any) | undefined;
|
@@ -7297,6 +7301,7 @@ export declare const VDateInput: {
|
|
7297
7301
|
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
7298
7302
|
save: (value: string) => true;
|
7299
7303
|
cancel: () => true;
|
7304
|
+
'update:focused': (val: boolean) => true;
|
7300
7305
|
'update:modelValue': (val: string) => true;
|
7301
7306
|
'update:menu': (val: boolean) => true;
|
7302
7307
|
}, string, {
|
@@ -7,7 +7,7 @@ import { makeVTextFieldProps, VTextField } from "../../components/VTextField/VTe
|
|
7
7
|
import { useDate } from "../../composables/date/index.js";
|
8
8
|
import { makeDateFormatProps, useDateFormat } from "../../composables/dateFormat.js";
|
9
9
|
import { makeDisplayProps, useDisplay } from "../../composables/display.js";
|
10
|
-
import { makeFocusProps
|
10
|
+
import { makeFocusProps } from "../../composables/focus.js";
|
11
11
|
import { forwardRefs } from "../../composables/forwardRefs.js";
|
12
12
|
import { useLocale } from "../../composables/locale.js";
|
13
13
|
import { useProxiedModel } from "../../composables/proxiedModel.js"; // Utilities
|
@@ -47,6 +47,7 @@ export const VDateInput = genericComponent()({
|
|
47
47
|
emits: {
|
48
48
|
save: value => true,
|
49
49
|
cancel: () => true,
|
50
|
+
'update:focused': val => true,
|
50
51
|
'update:modelValue': val => true,
|
51
52
|
'update:menu': val => true
|
52
53
|
},
|
@@ -69,15 +70,11 @@ export const VDateInput = genericComponent()({
|
|
69
70
|
const {
|
70
71
|
mobile
|
71
72
|
} = useDisplay(props);
|
72
|
-
const {
|
73
|
-
isFocused,
|
74
|
-
focus,
|
75
|
-
blur
|
76
|
-
} = useFocus(props);
|
77
73
|
const emptyModelValue = () => props.multiple ? [] : null;
|
78
74
|
const model = useProxiedModel(props, 'modelValue', emptyModelValue(), val => Array.isArray(val) ? val.map(item => adapter.toJsDate(item)) : val ? adapter.toJsDate(val) : val, val => Array.isArray(val) ? val.map(item => adapter.date(item)) : val ? adapter.date(val) : val);
|
79
75
|
const menu = useProxiedModel(props, 'menu');
|
80
76
|
const isEditingInput = shallowRef(false);
|
77
|
+
const isFocused = shallowRef(props.focused);
|
81
78
|
const vTextFieldRef = ref();
|
82
79
|
const disabledActions = ref(['save']);
|
83
80
|
function format(date) {
|
@@ -153,7 +150,6 @@ export const VDateInput = genericComponent()({
|
|
153
150
|
if (props.updateOn.includes('blur')) {
|
154
151
|
onUserInput(e.target);
|
155
152
|
}
|
156
|
-
blur();
|
157
153
|
|
158
154
|
// When in mobile mode and editing is done (due to keyboard dismissal), close the menu
|
159
155
|
if (mobile.value && isEditingInput.value && !isFocused.value) {
|
@@ -198,12 +194,12 @@ export const VDateInput = genericComponent()({
|
|
198
194
|
"readonly": isReadonly.value,
|
199
195
|
"onKeydown": isInteractive.value ? onKeydown : undefined,
|
200
196
|
"focused": menu.value || isFocused.value,
|
201
|
-
"onFocus": focus,
|
202
197
|
"onBlur": onBlur,
|
203
198
|
"validationValue": model.value,
|
204
199
|
"onClick:control": isInteractive.value ? onClick : undefined,
|
205
200
|
"onClick:prepend": isInteractive.value ? onClick : undefined,
|
206
|
-
"onUpdate:modelValue": onUpdateDisplayModel
|
201
|
+
"onUpdate:modelValue": onUpdateDisplayModel,
|
202
|
+
"onUpdate:focused": event => isFocused.value = event
|
207
203
|
}), {
|
208
204
|
...slots,
|
209
205
|
default: () => _createElementVNode(_Fragment, null, [_createVNode(VMenu, {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"VDateInput.js","names":["makeVConfirmEditProps","VConfirmEdit","makeVDatePickerProps","VDatePicker","VMenu","makeVTextFieldProps","VTextField","useDate","makeDateFormatProps","useDateFormat","makeDisplayProps","useDisplay","makeFocusProps","useFocus","forwardRefs","useLocale","useProxiedModel","computed","ref","shallowRef","watch","genericComponent","omit","propsFactory","useRender","wrapInArray","makeVDateInputProps","displayFormat","Function","String","location","type","default","menu","Boolean","updateOn","Array","mobile","hideActions","prependIcon","hideHeader","showAdjacentMonths","VDateInput","name","props","emits","save","value","cancel","val","setup","_ref","emit","slots","t","current","currentLocale","adapter","isValid","parseDate","formatDate","parserFormat","isFocused","focus","blur","emptyModelValue","multiple","model","isArray","map","item","toJsDate","date","isEditingInput","vTextFieldRef","disabledActions","format","display","length","start","end","inputmode","undefined","isInteractive","disabled","readonly","isReadonly","onKeydown","e","key","includes","onUserInput","target","onClick","preventDefault","stopPropagation","onCancel","onSave","onUpdateDisplayModel","onBlur","_ref2","trim","parts","split","every","stop","toSorted","a","b","isAfter","createDateRange","confirmEditProps","filterProps","datePickerProps","textFieldProps","_createVNode","_mergeProps","class","style","placeholder","_createElementVNode","_Fragment","$event","_ref3","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 { makeDateFormatProps, useDateFormat } from '@/composables/dateFormat'\nimport { makeDisplayProps, useDisplay } from '@/composables/display'\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, watch } 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 menu: Boolean,\n updateOn: {\n type: Array as PropType<('blur' | 'enter')[]>,\n default: () => ['blur', 'enter'],\n },\n\n ...makeDateFormatProps(),\n ...makeDisplayProps({\n mobile: null,\n }),\n ...makeFocusProps(),\n ...makeVConfirmEditProps({\n hideActions: true,\n }),\n ...makeVTextFieldProps({\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 'update:menu': (val: boolean) => true,\n },\n\n setup (props, { emit, slots }) {\n const { t, current: currentLocale } = useLocale()\n const adapter = useDate()\n const { isValid, parseDate, formatDate, parserFormat } = useDateFormat(props, currentLocale)\n const { mobile } = useDisplay(props)\n const { isFocused, focus, blur } = useFocus(props)\n\n const emptyModelValue = () => props.multiple ? [] : null\n\n const model = useProxiedModel(\n props,\n 'modelValue',\n emptyModelValue(),\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 = useProxiedModel(props, 'menu')\n const isEditingInput = shallowRef(false)\n const vTextFieldRef = ref<VTextField>()\n const disabledActions = ref<typeof VConfirmEdit['props']['disabled']>(['save'])\n\n function format (date: unknown) {\n if (typeof props.displayFormat === 'function') {\n return props.displayFormat(date)\n }\n if (props.displayFormat) {\n return adapter.format(date, props.displayFormat ?? 'keyboardDate')\n }\n return formatDate(date)\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 inputmode = computed(() => {\n if (!mobile.value) return undefined\n if (isEditingInput.value) return 'text'\n\n return 'none'\n })\n\n const isInteractive = computed(() => !props.disabled && !props.readonly)\n\n const isReadonly = computed(() => {\n if (!props.updateOn.length) return true\n\n return !(mobile.value && isEditingInput.value) && props.readonly\n })\n\n watch(menu, val => {\n if (val) return\n\n isEditingInput.value = false\n disabledActions.value = ['save']\n })\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\n if (props.updateOn.includes('enter')) {\n onUserInput(e.target as HTMLInputElement)\n }\n }\n\n function onClick (e: MouseEvent) {\n e.preventDefault()\n e.stopPropagation()\n\n if (menu.value && mobile.value) {\n isEditingInput.value = true\n } else {\n menu.value = true\n }\n }\n\n function onCancel () {\n emit('cancel')\n menu.value = false\n isEditingInput.value = false\n }\n\n function onSave (value: string) {\n emit('save', value)\n menu.value = false\n }\n\n function onUpdateDisplayModel (value: unknown) {\n if (value != null) return\n\n model.value = emptyModelValue()\n }\n\n function onBlur (e: FocusEvent) {\n if (props.updateOn.includes('blur')) {\n onUserInput(e.target as HTMLInputElement)\n }\n\n blur()\n\n // When in mobile mode and editing is done (due to keyboard dismissal), close the menu\n if (mobile.value && isEditingInput.value && !isFocused.value) {\n menu.value = false\n isEditingInput.value = false\n }\n }\n\n function onUserInput ({ value }: HTMLInputElement) {\n if (!value.trim()) {\n model.value = emptyModelValue()\n } else if (!props.multiple) {\n if (isValid(value)) {\n model.value = parseDate(value)\n }\n } else {\n const parts = value.trim().split(/\\D+-\\D+|[^\\d\\-/.]+/)\n if (parts.every(isValid)) {\n if (props.multiple === 'range') {\n const [start, stop] = parts.map(parseDate).toSorted((a, b) => adapter.isAfter(a, b) ? 1 : -1)\n model.value = adapter.createDateRange(start, stop)\n } else {\n model.value = parts.map(parseDate)\n }\n }\n }\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(omit(props, ['placeholder']))\n\n return (\n <VTextField\n ref={ vTextFieldRef }\n { ...textFieldProps }\n class={ props.class }\n style={ props.style }\n modelValue={ display.value }\n inputmode={ inputmode.value }\n placeholder={ props.placeholder ?? parserFormat.value }\n readonly={ isReadonly.value }\n onKeydown={ isInteractive.value ? onKeydown : undefined }\n focused={ menu.value || isFocused.value }\n onFocus={ focus }\n onBlur={ onBlur }\n validationValue={ model.value }\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 disabled={ disabledActions.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\n disabledActions.value = []\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({}, vTextFieldRef)\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","makeDateFormatProps","useDateFormat","makeDisplayProps","useDisplay","makeFocusProps","forwardRefs","useLocale","useProxiedModel","computed","ref","shallowRef","watch","genericComponent","omit","propsFactory","useRender","wrapInArray","makeVDateInputProps","displayFormat","Function","String","location","type","default","menu","Boolean","updateOn","Array","mobile","hideActions","prependIcon","hideHeader","showAdjacentMonths","VDateInput","name","props","emits","save","value","cancel","val","setup","_ref","emit","slots","t","current","currentLocale","adapter","isValid","parseDate","formatDate","parserFormat","emptyModelValue","multiple","model","isArray","map","item","toJsDate","date","isEditingInput","isFocused","focused","vTextFieldRef","disabledActions","format","display","length","start","end","inputmode","undefined","isInteractive","disabled","readonly","isReadonly","onKeydown","e","key","includes","onUserInput","target","onClick","preventDefault","stopPropagation","onCancel","onSave","onUpdateDisplayModel","onBlur","_ref2","trim","parts","split","every","stop","toSorted","a","b","isAfter","createDateRange","confirmEditProps","filterProps","datePickerProps","textFieldProps","_createVNode","_mergeProps","class","style","placeholder","event","_createElementVNode","_Fragment","$event","_ref3","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 { makeDateFormatProps, useDateFormat } from '@/composables/dateFormat'\nimport { makeDisplayProps, useDisplay } from '@/composables/display'\nimport { makeFocusProps } 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, watch } 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 menu: Boolean,\n updateOn: {\n type: Array as PropType<('blur' | 'enter')[]>,\n default: () => ['blur', 'enter'],\n },\n\n ...makeDateFormatProps(),\n ...makeDisplayProps({\n mobile: null,\n }),\n ...makeFocusProps(),\n ...makeVConfirmEditProps({\n hideActions: true,\n }),\n ...makeVTextFieldProps({\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:focused': (val: boolean) => true,\n 'update:modelValue': (val: string) => true,\n 'update:menu': (val: boolean) => true,\n },\n\n setup (props, { emit, slots }) {\n const { t, current: currentLocale } = useLocale()\n const adapter = useDate()\n const { isValid, parseDate, formatDate, parserFormat } = useDateFormat(props, currentLocale)\n const { mobile } = useDisplay(props)\n\n const emptyModelValue = () => props.multiple ? [] : null\n\n const model = useProxiedModel(\n props,\n 'modelValue',\n emptyModelValue(),\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 = useProxiedModel(props, 'menu')\n const isEditingInput = shallowRef(false)\n const isFocused = shallowRef(props.focused)\n const vTextFieldRef = ref<VTextField>()\n const disabledActions = ref<typeof VConfirmEdit['props']['disabled']>(['save'])\n\n function format (date: unknown) {\n if (typeof props.displayFormat === 'function') {\n return props.displayFormat(date)\n }\n if (props.displayFormat) {\n return adapter.format(date, props.displayFormat ?? 'keyboardDate')\n }\n return formatDate(date)\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 inputmode = computed(() => {\n if (!mobile.value) return undefined\n if (isEditingInput.value) return 'text'\n\n return 'none'\n })\n\n const isInteractive = computed(() => !props.disabled && !props.readonly)\n\n const isReadonly = computed(() => {\n if (!props.updateOn.length) return true\n\n return !(mobile.value && isEditingInput.value) && props.readonly\n })\n\n watch(menu, val => {\n if (val) return\n\n isEditingInput.value = false\n disabledActions.value = ['save']\n })\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\n if (props.updateOn.includes('enter')) {\n onUserInput(e.target as HTMLInputElement)\n }\n }\n\n function onClick (e: MouseEvent) {\n e.preventDefault()\n e.stopPropagation()\n\n if (menu.value && mobile.value) {\n isEditingInput.value = true\n } else {\n menu.value = true\n }\n }\n\n function onCancel () {\n emit('cancel')\n menu.value = false\n isEditingInput.value = false\n }\n\n function onSave (value: string) {\n emit('save', value)\n menu.value = false\n }\n\n function onUpdateDisplayModel (value: unknown) {\n if (value != null) return\n\n model.value = emptyModelValue()\n }\n\n function onBlur (e: FocusEvent) {\n if (props.updateOn.includes('blur')) {\n onUserInput(e.target as HTMLInputElement)\n }\n\n // When in mobile mode and editing is done (due to keyboard dismissal), close the menu\n if (mobile.value && isEditingInput.value && !isFocused.value) {\n menu.value = false\n isEditingInput.value = false\n }\n }\n\n function onUserInput ({ value }: HTMLInputElement) {\n if (!value.trim()) {\n model.value = emptyModelValue()\n } else if (!props.multiple) {\n if (isValid(value)) {\n model.value = parseDate(value)\n }\n } else {\n const parts = value.trim().split(/\\D+-\\D+|[^\\d\\-/.]+/)\n if (parts.every(isValid)) {\n if (props.multiple === 'range') {\n const [start, stop] = parts.map(parseDate).toSorted((a, b) => adapter.isAfter(a, b) ? 1 : -1)\n model.value = adapter.createDateRange(start, stop)\n } else {\n model.value = parts.map(parseDate)\n }\n }\n }\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(omit(props, ['placeholder']))\n\n return (\n <VTextField\n ref={ vTextFieldRef }\n { ...textFieldProps }\n class={ props.class }\n style={ props.style }\n modelValue={ display.value }\n inputmode={ inputmode.value }\n placeholder={ props.placeholder ?? parserFormat.value }\n readonly={ isReadonly.value }\n onKeydown={ isInteractive.value ? onKeydown : undefined }\n focused={ menu.value || isFocused.value }\n onBlur={ onBlur }\n validationValue={ model.value }\n onClick:control={ isInteractive.value ? onClick : undefined }\n onClick:prepend={ isInteractive.value ? onClick : undefined }\n onUpdate:modelValue={ onUpdateDisplayModel }\n onUpdate:focused={ event => isFocused.value = event }\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 disabled={ disabledActions.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\n disabledActions.value = []\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({}, vTextFieldRef)\n },\n})\n\nexport type VDateInput = InstanceType<typeof VDateInput>\n"],"mappings":"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","ignoreList":[]}
|