@vuetify/nightly 3.8.3-master.2025-05-01 → 3.8.3-master.2025-05-03
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 +7 -3
- package/dist/json/attributes.json +3663 -3663
- package/dist/json/importMap-labs.json +16 -16
- package/dist/json/importMap.json +146 -146
- package/dist/json/web-types.json +6525 -6525
- package/dist/vuetify-labs.cjs +7 -6
- package/dist/vuetify-labs.css +3627 -3627
- package/dist/vuetify-labs.d.ts +52 -52
- package/dist/vuetify-labs.esm.js +7 -6
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +7 -6
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.cjs +3 -3
- package/dist/vuetify.css +5596 -5596
- package/dist/vuetify.d.ts +52 -52
- package/dist/vuetify.esm.js +3 -3
- package/dist/vuetify.js +3 -3
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +3 -3
- package/lib/entry-bundler.js +1 -1
- package/lib/framework.d.ts +52 -52
- package/lib/framework.js +1 -1
- package/lib/labs/VDateInput/VDateInput.js +4 -3
- package/lib/labs/VDateInput/VDateInput.js.map +1 -1
- package/package.json +1 -1
package/dist/vuetify.min.js
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
/*!
|
2
|
-
* Vuetify v3.8.3-master.2025-05-
|
2
|
+
* Vuetify v3.8.3-master.2025-05-03
|
3
3
|
* Forged by John Leider
|
4
4
|
* Released under the MIT License.
|
5
5
|
*/
|
@@ -2205,8 +2205,8 @@ if(f.run((()=>{o.install(u)})),u.onUnmount((()=>f.stop())),u.provide(wt,e),u.pro
|
|
2205
2205
|
else{const{mount:e}=u
|
2206
2206
|
u.mount=function(){const a=e(...arguments)
|
2207
2207
|
return t.nextTick((()=>l.update())),u.mount=e,a}}("boolean"!=typeof __VUE_OPTIONS_API__||__VUE_OPTIONS_API__)&&u.mixin({computed:{$vuetify(){return t.reactive({defaults:bf.call(this,wt),display:bf.call(this,bn),theme:bf.call(this,ya),icons:bf.call(this,$t),locale:bf.call(this,pa),date:bf.call(this,ku)})}}})},unmount:function(){u.stop()},defaults:e,display:l,theme:o,icons:c,locale:d,date:v,goTo:p}}))}function bf(e){const t=this.$,a=t.parent?.provides??t.vnode.appContext?.provides
|
2208
|
-
if(a&&e in a)return a[e]}yf.version="3.8.3-master.2025-05-
|
2209
|
-
const Vf=function(){return yf({components:uf,directives:hf,...arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}})},wf="3.8.3-master.2025-05-
|
2208
|
+
if(a&&e in a)return a[e]}yf.version="3.8.3-master.2025-05-03"
|
2209
|
+
const Vf=function(){return yf({components:uf,directives:hf,...arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}})},wf="3.8.3-master.2025-05-03"
|
2210
2210
|
Vf.version=wf,e.blueprints=Kt,e.components=uf,e.createVuetify=Vf,e.directives=hf,e.useDate=Nu,e.useDefaults=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0
|
2211
2211
|
const{props:a,provideSubDefaults:l}=xt(e,t)
|
2212
2212
|
return l(),a},e.useDisplay=Cn,e.useGoTo=Rn,e.useLayout=ta,e.useLocale=ma,e.useRtl=ha,e.useTheme=Ia,e.version=wf}))
|
package/lib/entry-bundler.js
CHANGED
@@ -16,7 +16,7 @@ export const createVuetify = function () {
|
|
16
16
|
...options
|
17
17
|
});
|
18
18
|
};
|
19
|
-
export const version = "3.8.3-master.2025-05-
|
19
|
+
export const version = "3.8.3-master.2025-05-03";
|
20
20
|
createVuetify.version = version;
|
21
21
|
export { blueprints, components, directives };
|
22
22
|
export * from "./composables/index.js";
|
package/lib/framework.d.ts
CHANGED
@@ -2537,75 +2537,77 @@ declare module 'vue' {
|
|
2537
2537
|
$children?: VNodeChild
|
2538
2538
|
}
|
2539
2539
|
export interface GlobalComponents {
|
2540
|
-
|
2541
|
-
VAlertTitle: typeof import('vuetify/components')['VAlertTitle']
|
2542
|
-
VAutocomplete: typeof import('vuetify/components')['VAutocomplete']
|
2540
|
+
VApp: typeof import('vuetify/components')['VApp']
|
2543
2541
|
VAppBar: typeof import('vuetify/components')['VAppBar']
|
2544
2542
|
VAppBarNavIcon: typeof import('vuetify/components')['VAppBarNavIcon']
|
2545
2543
|
VAppBarTitle: typeof import('vuetify/components')['VAppBarTitle']
|
2544
|
+
VAlert: typeof import('vuetify/components')['VAlert']
|
2545
|
+
VAlertTitle: typeof import('vuetify/components')['VAlertTitle']
|
2546
|
+
VAutocomplete: typeof import('vuetify/components')['VAutocomplete']
|
2546
2547
|
VAvatar: typeof import('vuetify/components')['VAvatar']
|
2547
2548
|
VBadge: typeof import('vuetify/components')['VBadge']
|
2548
|
-
|
2549
|
+
VBottomNavigation: typeof import('vuetify/components')['VBottomNavigation']
|
2549
2550
|
VBanner: typeof import('vuetify/components')['VBanner']
|
2550
2551
|
VBannerActions: typeof import('vuetify/components')['VBannerActions']
|
2551
2552
|
VBannerText: typeof import('vuetify/components')['VBannerText']
|
2552
|
-
|
2553
|
-
VBtn: typeof import('vuetify/components')['VBtn']
|
2553
|
+
VBottomSheet: typeof import('vuetify/components')['VBottomSheet']
|
2554
2554
|
VBreadcrumbs: typeof import('vuetify/components')['VBreadcrumbs']
|
2555
2555
|
VBreadcrumbsItem: typeof import('vuetify/components')['VBreadcrumbsItem']
|
2556
2556
|
VBreadcrumbsDivider: typeof import('vuetify/components')['VBreadcrumbsDivider']
|
2557
|
-
|
2558
|
-
VBottomNavigation: typeof import('vuetify/components')['VBottomNavigation']
|
2557
|
+
VBtn: typeof import('vuetify/components')['VBtn']
|
2559
2558
|
VBtnGroup: typeof import('vuetify/components')['VBtnGroup']
|
2560
|
-
|
2561
|
-
VCarouselItem: typeof import('vuetify/components')['VCarouselItem']
|
2559
|
+
VBtnToggle: typeof import('vuetify/components')['VBtnToggle']
|
2562
2560
|
VCard: typeof import('vuetify/components')['VCard']
|
2563
2561
|
VCardActions: typeof import('vuetify/components')['VCardActions']
|
2564
2562
|
VCardItem: typeof import('vuetify/components')['VCardItem']
|
2565
2563
|
VCardSubtitle: typeof import('vuetify/components')['VCardSubtitle']
|
2566
2564
|
VCardText: typeof import('vuetify/components')['VCardText']
|
2567
2565
|
VCardTitle: typeof import('vuetify/components')['VCardTitle']
|
2568
|
-
VChip: typeof import('vuetify/components')['VChip']
|
2569
2566
|
VCheckbox: typeof import('vuetify/components')['VCheckbox']
|
2570
2567
|
VCheckboxBtn: typeof import('vuetify/components')['VCheckboxBtn']
|
2571
|
-
|
2568
|
+
VCarousel: typeof import('vuetify/components')['VCarousel']
|
2569
|
+
VCarouselItem: typeof import('vuetify/components')['VCarouselItem']
|
2572
2570
|
VChipGroup: typeof import('vuetify/components')['VChipGroup']
|
2573
|
-
VDataTable: typeof import('vuetify/components')['VDataTable']
|
2574
|
-
VDataTableHeaders: typeof import('vuetify/components')['VDataTableHeaders']
|
2575
|
-
VDataTableFooter: typeof import('vuetify/components')['VDataTableFooter']
|
2576
|
-
VDataTableRows: typeof import('vuetify/components')['VDataTableRows']
|
2577
|
-
VDataTableRow: typeof import('vuetify/components')['VDataTableRow']
|
2578
|
-
VDataTableVirtual: typeof import('vuetify/components')['VDataTableVirtual']
|
2579
|
-
VDataTableServer: typeof import('vuetify/components')['VDataTableServer']
|
2580
|
-
VCombobox: typeof import('vuetify/components')['VCombobox']
|
2581
2571
|
VCode: typeof import('vuetify/components')['VCode']
|
2572
|
+
VColorPicker: typeof import('vuetify/components')['VColorPicker']
|
2573
|
+
VCombobox: typeof import('vuetify/components')['VCombobox']
|
2582
2574
|
VCounter: typeof import('vuetify/components')['VCounter']
|
2575
|
+
VChip: typeof import('vuetify/components')['VChip']
|
2583
2576
|
VDatePicker: typeof import('vuetify/components')['VDatePicker']
|
2584
2577
|
VDatePickerControls: typeof import('vuetify/components')['VDatePickerControls']
|
2585
2578
|
VDatePickerHeader: typeof import('vuetify/components')['VDatePickerHeader']
|
2586
2579
|
VDatePickerMonth: typeof import('vuetify/components')['VDatePickerMonth']
|
2587
2580
|
VDatePickerMonths: typeof import('vuetify/components')['VDatePickerMonths']
|
2588
2581
|
VDatePickerYears: typeof import('vuetify/components')['VDatePickerYears']
|
2582
|
+
VDataTable: typeof import('vuetify/components')['VDataTable']
|
2583
|
+
VDataTableHeaders: typeof import('vuetify/components')['VDataTableHeaders']
|
2584
|
+
VDataTableFooter: typeof import('vuetify/components')['VDataTableFooter']
|
2585
|
+
VDataTableRows: typeof import('vuetify/components')['VDataTableRows']
|
2586
|
+
VDataTableRow: typeof import('vuetify/components')['VDataTableRow']
|
2587
|
+
VDataTableVirtual: typeof import('vuetify/components')['VDataTableVirtual']
|
2588
|
+
VDataTableServer: typeof import('vuetify/components')['VDataTableServer']
|
2589
2589
|
VDialog: typeof import('vuetify/components')['VDialog']
|
2590
2590
|
VEmptyState: typeof import('vuetify/components')['VEmptyState']
|
2591
|
+
VDivider: typeof import('vuetify/components')['VDivider']
|
2591
2592
|
VExpansionPanels: typeof import('vuetify/components')['VExpansionPanels']
|
2592
2593
|
VExpansionPanel: typeof import('vuetify/components')['VExpansionPanel']
|
2593
2594
|
VExpansionPanelText: typeof import('vuetify/components')['VExpansionPanelText']
|
2594
2595
|
VExpansionPanelTitle: typeof import('vuetify/components')['VExpansionPanelTitle']
|
2595
2596
|
VFab: typeof import('vuetify/components')['VFab']
|
2596
|
-
VFileInput: typeof import('vuetify/components')['VFileInput']
|
2597
|
-
VFooter: typeof import('vuetify/components')['VFooter']
|
2598
|
-
VDivider: typeof import('vuetify/components')['VDivider']
|
2599
2597
|
VField: typeof import('vuetify/components')['VField']
|
2600
2598
|
VFieldLabel: typeof import('vuetify/components')['VFieldLabel']
|
2599
|
+
VFooter: typeof import('vuetify/components')['VFooter']
|
2600
|
+
VFileInput: typeof import('vuetify/components')['VFileInput']
|
2601
2601
|
VIcon: typeof import('vuetify/components')['VIcon']
|
2602
2602
|
VComponentIcon: typeof import('vuetify/components')['VComponentIcon']
|
2603
2603
|
VSvgIcon: typeof import('vuetify/components')['VSvgIcon']
|
2604
2604
|
VLigatureIcon: typeof import('vuetify/components')['VLigatureIcon']
|
2605
2605
|
VClassIcon: typeof import('vuetify/components')['VClassIcon']
|
2606
2606
|
VImg: typeof import('vuetify/components')['VImg']
|
2607
|
-
VInput: typeof import('vuetify/components')['VInput']
|
2608
2607
|
VInfiniteScroll: typeof import('vuetify/components')['VInfiniteScroll']
|
2608
|
+
VItemGroup: typeof import('vuetify/components')['VItemGroup']
|
2609
|
+
VItem: typeof import('vuetify/components')['VItem']
|
2610
|
+
VInput: typeof import('vuetify/components')['VInput']
|
2609
2611
|
VKbd: typeof import('vuetify/components')['VKbd']
|
2610
2612
|
VLabel: typeof import('vuetify/components')['VLabel']
|
2611
2613
|
VList: typeof import('vuetify/components')['VList']
|
@@ -2617,73 +2619,71 @@ declare module 'vue' {
|
|
2617
2619
|
VListItemSubtitle: typeof import('vuetify/components')['VListItemSubtitle']
|
2618
2620
|
VListItemTitle: typeof import('vuetify/components')['VListItemTitle']
|
2619
2621
|
VListSubheader: typeof import('vuetify/components')['VListSubheader']
|
2620
|
-
VItemGroup: typeof import('vuetify/components')['VItemGroup']
|
2621
|
-
VItem: typeof import('vuetify/components')['VItem']
|
2622
|
-
VMenu: typeof import('vuetify/components')['VMenu']
|
2623
2622
|
VMain: typeof import('vuetify/components')['VMain']
|
2624
|
-
|
2623
|
+
VNavigationDrawer: typeof import('vuetify/components')['VNavigationDrawer']
|
2624
|
+
VMenu: typeof import('vuetify/components')['VMenu']
|
2625
2625
|
VMessages: typeof import('vuetify/components')['VMessages']
|
2626
2626
|
VOtpInput: typeof import('vuetify/components')['VOtpInput']
|
2627
|
-
|
2628
|
-
VPagination: typeof import('vuetify/components')['VPagination']
|
2627
|
+
VNumberInput: typeof import('vuetify/components')['VNumberInput']
|
2629
2628
|
VOverlay: typeof import('vuetify/components')['VOverlay']
|
2630
2629
|
VProgressCircular: typeof import('vuetify/components')['VProgressCircular']
|
2631
|
-
|
2632
|
-
VRating: typeof import('vuetify/components')['VRating']
|
2633
|
-
VRadioGroup: typeof import('vuetify/components')['VRadioGroup']
|
2630
|
+
VPagination: typeof import('vuetify/components')['VPagination']
|
2634
2631
|
VProgressLinear: typeof import('vuetify/components')['VProgressLinear']
|
2632
|
+
VRadioGroup: typeof import('vuetify/components')['VRadioGroup']
|
2633
|
+
VRating: typeof import('vuetify/components')['VRating']
|
2634
|
+
VSelect: typeof import('vuetify/components')['VSelect']
|
2635
|
+
VSelectionControlGroup: typeof import('vuetify/components')['VSelectionControlGroup']
|
2636
|
+
VSelectionControl: typeof import('vuetify/components')['VSelectionControl']
|
2635
2637
|
VSlideGroup: typeof import('vuetify/components')['VSlideGroup']
|
2636
2638
|
VSlideGroupItem: typeof import('vuetify/components')['VSlideGroupItem']
|
2637
|
-
VSelectionControl: typeof import('vuetify/components')['VSelectionControl']
|
2638
|
-
VSnackbar: typeof import('vuetify/components')['VSnackbar']
|
2639
2639
|
VSkeletonLoader: typeof import('vuetify/components')['VSkeletonLoader']
|
2640
|
-
VSelectionControlGroup: typeof import('vuetify/components')['VSelectionControlGroup']
|
2641
2640
|
VSlider: typeof import('vuetify/components')['VSlider']
|
2642
|
-
|
2643
|
-
|
2641
|
+
VSheet: typeof import('vuetify/components')['VSheet']
|
2642
|
+
VSnackbar: typeof import('vuetify/components')['VSnackbar']
|
2644
2643
|
VStepper: typeof import('vuetify/components')['VStepper']
|
2645
2644
|
VStepperActions: typeof import('vuetify/components')['VStepperActions']
|
2646
2645
|
VStepperHeader: typeof import('vuetify/components')['VStepperHeader']
|
2647
2646
|
VStepperItem: typeof import('vuetify/components')['VStepperItem']
|
2648
2647
|
VStepperWindow: typeof import('vuetify/components')['VStepperWindow']
|
2649
2648
|
VStepperWindowItem: typeof import('vuetify/components')['VStepperWindowItem']
|
2649
|
+
VSwitch: typeof import('vuetify/components')['VSwitch']
|
2650
|
+
VSystemBar: typeof import('vuetify/components')['VSystemBar']
|
2650
2651
|
VTab: typeof import('vuetify/components')['VTab']
|
2651
2652
|
VTabs: typeof import('vuetify/components')['VTabs']
|
2652
2653
|
VTabsWindow: typeof import('vuetify/components')['VTabsWindow']
|
2653
2654
|
VTabsWindowItem: typeof import('vuetify/components')['VTabsWindowItem']
|
2654
2655
|
VTable: typeof import('vuetify/components')['VTable']
|
2655
2656
|
VTextarea: typeof import('vuetify/components')['VTextarea']
|
2657
|
+
VTextField: typeof import('vuetify/components')['VTextField']
|
2658
|
+
VTimeline: typeof import('vuetify/components')['VTimeline']
|
2659
|
+
VTimelineItem: typeof import('vuetify/components')['VTimelineItem']
|
2656
2660
|
VToolbar: typeof import('vuetify/components')['VToolbar']
|
2657
2661
|
VToolbarTitle: typeof import('vuetify/components')['VToolbarTitle']
|
2658
2662
|
VToolbarItems: typeof import('vuetify/components')['VToolbarItems']
|
2659
2663
|
VTooltip: typeof import('vuetify/components')['VTooltip']
|
2660
|
-
VTextField: typeof import('vuetify/components')['VTextField']
|
2661
|
-
VTimeline: typeof import('vuetify/components')['VTimeline']
|
2662
|
-
VTimelineItem: typeof import('vuetify/components')['VTimelineItem']
|
2663
2664
|
VWindow: typeof import('vuetify/components')['VWindow']
|
2664
2665
|
VWindowItem: typeof import('vuetify/components')['VWindowItem']
|
2665
2666
|
VConfirmEdit: typeof import('vuetify/components')['VConfirmEdit']
|
2666
2667
|
VDataIterator: typeof import('vuetify/components')['VDataIterator']
|
2667
2668
|
VDefaultsProvider: typeof import('vuetify/components')['VDefaultsProvider']
|
2668
|
-
VForm: typeof import('vuetify/components')['VForm']
|
2669
2669
|
VContainer: typeof import('vuetify/components')['VContainer']
|
2670
2670
|
VCol: typeof import('vuetify/components')['VCol']
|
2671
2671
|
VRow: typeof import('vuetify/components')['VRow']
|
2672
2672
|
VSpacer: typeof import('vuetify/components')['VSpacer']
|
2673
|
+
VForm: typeof import('vuetify/components')['VForm']
|
2673
2674
|
VHover: typeof import('vuetify/components')['VHover']
|
2674
2675
|
VLayout: typeof import('vuetify/components')['VLayout']
|
2675
2676
|
VLayoutItem: typeof import('vuetify/components')['VLayoutItem']
|
2676
|
-
VLocaleProvider: typeof import('vuetify/components')['VLocaleProvider']
|
2677
2677
|
VLazy: typeof import('vuetify/components')['VLazy']
|
2678
|
+
VLocaleProvider: typeof import('vuetify/components')['VLocaleProvider']
|
2678
2679
|
VNoSsr: typeof import('vuetify/components')['VNoSsr']
|
2679
2680
|
VParallax: typeof import('vuetify/components')['VParallax']
|
2680
2681
|
VRadio: typeof import('vuetify/components')['VRadio']
|
2681
2682
|
VResponsive: typeof import('vuetify/components')['VResponsive']
|
2682
2683
|
VRangeSlider: typeof import('vuetify/components')['VRangeSlider']
|
2684
|
+
VSpeedDial: typeof import('vuetify/components')['VSpeedDial']
|
2683
2685
|
VSnackbarQueue: typeof import('vuetify/components')['VSnackbarQueue']
|
2684
|
-
VSheet: typeof import('vuetify/components')['VSheet']
|
2685
2686
|
VSparkline: typeof import('vuetify/components')['VSparkline']
|
2686
|
-
VSpeedDial: typeof import('vuetify/components')['VSpeedDial']
|
2687
2687
|
VThemeProvider: typeof import('vuetify/components')['VThemeProvider']
|
2688
2688
|
VVirtualScroll: typeof import('vuetify/components')['VVirtualScroll']
|
2689
2689
|
VValidation: typeof import('vuetify/components')['VValidation']
|
@@ -2711,19 +2711,19 @@ declare module 'vue' {
|
|
2711
2711
|
VCalendarMonthDay: typeof import('vuetify/labs/components')['VCalendarMonthDay']
|
2712
2712
|
VFileUpload: typeof import('vuetify/labs/components')['VFileUpload']
|
2713
2713
|
VFileUploadItem: typeof import('vuetify/labs/components')['VFileUploadItem']
|
2714
|
-
|
2715
|
-
|
2716
|
-
|
2714
|
+
VTimePicker: typeof import('vuetify/labs/components')['VTimePicker']
|
2715
|
+
VTimePickerClock: typeof import('vuetify/labs/components')['VTimePickerClock']
|
2716
|
+
VTimePickerControls: typeof import('vuetify/labs/components')['VTimePickerControls']
|
2717
2717
|
VStepperVertical: typeof import('vuetify/labs/components')['VStepperVertical']
|
2718
2718
|
VStepperVerticalItem: typeof import('vuetify/labs/components')['VStepperVerticalItem']
|
2719
2719
|
VStepperVerticalActions: typeof import('vuetify/labs/components')['VStepperVerticalActions']
|
2720
|
+
VIconBtn: typeof import('vuetify/labs/components')['VIconBtn']
|
2720
2721
|
VTreeview: typeof import('vuetify/labs/components')['VTreeview']
|
2721
2722
|
VTreeviewItem: typeof import('vuetify/labs/components')['VTreeviewItem']
|
2722
2723
|
VTreeviewGroup: typeof import('vuetify/labs/components')['VTreeviewGroup']
|
2723
|
-
|
2724
|
-
|
2725
|
-
VTimePickerControls: typeof import('vuetify/labs/components')['VTimePickerControls']
|
2726
|
-
VPullToRefresh: typeof import('vuetify/labs/components')['VPullToRefresh']
|
2724
|
+
VPicker: typeof import('vuetify/labs/components')['VPicker']
|
2725
|
+
VPickerTitle: typeof import('vuetify/labs/components')['VPickerTitle']
|
2727
2726
|
VDateInput: typeof import('vuetify/labs/components')['VDateInput']
|
2727
|
+
VPullToRefresh: typeof import('vuetify/labs/components')['VPullToRefresh']
|
2728
2728
|
}
|
2729
2729
|
}
|
package/lib/framework.js
CHANGED
@@ -64,7 +64,8 @@ export const VDateInput = genericComponent()({
|
|
64
64
|
focus,
|
65
65
|
blur
|
66
66
|
} = useFocus(props);
|
67
|
-
const
|
67
|
+
const emptyModelValue = () => props.multiple ? [] : null;
|
68
|
+
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);
|
68
69
|
const menu = shallowRef(false);
|
69
70
|
const isEditingInput = shallowRef(false);
|
70
71
|
const vTextFieldRef = ref();
|
@@ -134,7 +135,7 @@ export const VDateInput = genericComponent()({
|
|
134
135
|
}
|
135
136
|
function onUpdateDisplayModel(value) {
|
136
137
|
if (value != null) return;
|
137
|
-
model.value =
|
138
|
+
model.value = emptyModelValue();
|
138
139
|
}
|
139
140
|
function onBlur(e) {
|
140
141
|
if (props.updateOn.includes('blur')) {
|
@@ -153,7 +154,7 @@ export const VDateInput = genericComponent()({
|
|
153
154
|
value
|
154
155
|
} = _ref2;
|
155
156
|
if (value && !adapter.isValid(value)) return;
|
156
|
-
model.value = !value ?
|
157
|
+
model.value = !value ? emptyModelValue() : value;
|
157
158
|
}
|
158
159
|
useRender(() => {
|
159
160
|
const confirmEditProps = VConfirmEdit.filterProps(props);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"VDateInput.js","names":["makeVConfirmEditProps","VConfirmEdit","makeVDatePickerProps","VDatePicker","VMenu","makeVTextFieldProps","VTextField","useDate","makeDisplayProps","useDisplay","makeFocusProps","useFocus","forwardRefs","useLocale","useProxiedModel","computed","ref","shallowRef","watch","genericComponent","omit","propsFactory","useRender","wrapInArray","makeVDateInputProps","displayFormat","Function","String","location","type","default","updateOn","Array","mobile","hideActions","placeholder","prependIcon","hideHeader","showAdjacentMonths","VDateInput","name","props","emits","save","value","cancel","val","setup","_ref","emit","slots","t","adapter","isFocused","focus","blur","model","multiple","isArray","map","item","toJsDate","date","menu","isEditingInput","vTextFieldRef","disabledActions","format","display","length","start","end","isValid","inputmode","undefined","isInteractive","disabled","readonly","isReadonly","onKeydown","e","key","includes","onUserInput","target","onClick","preventDefault","stopPropagation","onCancel","onSave","onUpdateDisplayModel","onBlur","_ref2","confirmEditProps","filterProps","datePickerProps","textFieldProps","_createVNode","_mergeProps","class","style","_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 { 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 updateOn: {\n type: Array as PropType<('blur' | 'enter')[]>,\n default: () => ['blur', 'enter'],\n },\n\n ...makeDisplayProps({\n mobile: null,\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 { mobile } = useDisplay(props)\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 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\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 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 return\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 = null\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 && !adapter.isValid(value)) return\n\n model.value = !value ? null : value\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={ vTextFieldRef }\n { ...textFieldProps }\n class={ props.class }\n style={ props.style }\n modelValue={ display.value }\n inputmode={ inputmode.value }\n readonly={ isReadonly.value }\n onKeydown={ isInteractive.value ? onKeydown : undefined }\n focused={ menu.value || isFocused.value }\n onFocus={ focus }\n onBlur={ onBlur }\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","makeDisplayProps","useDisplay","makeFocusProps","useFocus","forwardRefs","useLocale","useProxiedModel","computed","ref","shallowRef","watch","genericComponent","omit","propsFactory","useRender","wrapInArray","makeVDateInputProps","displayFormat","Function","String","location","type","default","updateOn","Array","mobile","hideActions","placeholder","prependIcon","hideHeader","showAdjacentMonths","VDateInput","name","props","emits","save","value","cancel","val","setup","_ref","emit","slots","t","adapter","isFocused","focus","blur","emptyModelValue","multiple","model","isArray","map","item","toJsDate","date","menu","isEditingInput","vTextFieldRef","disabledActions","format","display","length","start","end","isValid","inputmode","undefined","isInteractive","disabled","readonly","isReadonly","onKeydown","e","key","includes","onUserInput","target","onClick","preventDefault","stopPropagation","onCancel","onSave","onUpdateDisplayModel","onBlur","_ref2","confirmEditProps","filterProps","datePickerProps","textFieldProps","_createVNode","_mergeProps","class","style","_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 { 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 updateOn: {\n type: Array as PropType<('blur' | 'enter')[]>,\n default: () => ['blur', 'enter'],\n },\n\n ...makeDisplayProps({\n mobile: null,\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 { 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 = shallowRef(false)\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\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 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 return\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 && !adapter.isValid(value)) return\n\n model.value = !value ? emptyModelValue() : value\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={ vTextFieldRef }\n { ...textFieldProps }\n class={ props.class }\n style={ props.style }\n modelValue={ display.value }\n inputmode={ inputmode.value }\n readonly={ isReadonly.value }\n onKeydown={ isInteractive.value ? onKeydown : undefined }\n focused={ menu.value || isFocused.value }\n onFocus={ focus }\n onBlur={ onBlur }\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":[]}
|