@vuetify/nightly 3.8.4-master.2025-05-12 → 3.8.4-master.2025-05-13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +15 -3
- package/dist/json/attributes.json +3567 -3559
- package/dist/json/importMap-labs.json +28 -28
- package/dist/json/importMap.json +166 -166
- package/dist/json/tags.json +2 -0
- package/dist/json/web-types.json +6513 -6483
- package/dist/vuetify-labs.cjs +82 -8
- package/dist/vuetify-labs.css +4320 -4320
- package/dist/vuetify-labs.d.ts +80 -62
- package/dist/vuetify-labs.esm.js +82 -8
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +82 -8
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.cjs +3 -3
- package/dist/vuetify.css +4776 -4776
- package/dist/vuetify.d.ts +62 -62
- 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 +62 -62
- package/lib/framework.js +1 -1
- package/lib/labs/VDateInput/VDateInput.d.ts +28 -0
- package/lib/labs/VDateInput/VDateInput.js +79 -5
- 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.4-master.2025-05-
|
2
|
+
* Vuetify v3.8.4-master.2025-05-13
|
3
3
|
* Forged by John Leider
|
4
4
|
* Released under the MIT License.
|
5
5
|
*/
|
@@ -2208,8 +2208,8 @@ if(f.run((()=>{o.install(u)})),u.onUnmount((()=>f.stop())),u.provide(wt,e),u.pro
|
|
2208
2208
|
else{const{mount:e}=u
|
2209
2209
|
u.mount=function(){const a=e(...arguments)
|
2210
2210
|
return t.nextTick((()=>l.update())),u.mount=e,a}}("boolean"!=typeof __VUE_OPTIONS_API__||__VUE_OPTIONS_API__)&&u.mixin({computed:{$vuetify(){return t.reactive({defaults:bf.call(this,wt),display:bf.call(this,bn),theme:bf.call(this,ya),icons:bf.call(this,$t),locale:bf.call(this,pa),date:bf.call(this,ku)})}}})},unmount:function(){u.stop()},defaults:e,display:l,theme:o,icons:c,locale:d,date:v,goTo:p}}))}function bf(e){const t=this.$,a=t.parent?.provides??t.vnode.appContext?.provides
|
2211
|
-
if(a&&e in a)return a[e]}yf.version="3.8.4-master.2025-05-
|
2212
|
-
const Vf=function(){return yf({components:uf,directives:hf,...arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}})},wf="3.8.4-master.2025-05-
|
2211
|
+
if(a&&e in a)return a[e]}yf.version="3.8.4-master.2025-05-13"
|
2212
|
+
const Vf=function(){return yf({components:uf,directives:hf,...arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}})},wf="3.8.4-master.2025-05-13"
|
2213
2213
|
Vf.version=wf,e.blueprints=Kt,e.components=uf,e.createVuetify=Vf,e.directives=hf,e.useDate=Nu,e.useDefaults=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0
|
2214
2214
|
const{props:a,provideSubDefaults:l}=xt(e,t)
|
2215
2215
|
return l(),a},e.useDisplay=Cn,e.useGoTo=Rn,e.useLayout=ta,e.useLocale=ma,e.useRtl=ha,e.useTheme=Ia,e.version=wf}))
|
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.4-master.2025-05-
|
19
|
+
export const version = "3.8.4-master.2025-05-13";
|
20
20
|
createVuetify.version = version;
|
21
21
|
export { blueprints, components, directives };
|
22
22
|
export * from "./composables/index.js";
|
package/lib/framework.d.ts
CHANGED
@@ -2537,42 +2537,41 @@ declare module 'vue' {
|
|
2537
2537
|
$children?: VNodeChild
|
2538
2538
|
}
|
2539
2539
|
export interface GlobalComponents {
|
2540
|
+
VApp: typeof import('vuetify/components')['VApp']
|
2540
2541
|
VAppBar: typeof import('vuetify/components')['VAppBar']
|
2541
2542
|
VAppBarNavIcon: typeof import('vuetify/components')['VAppBarNavIcon']
|
2542
2543
|
VAppBarTitle: typeof import('vuetify/components')['VAppBarTitle']
|
2543
|
-
|
2544
|
-
VAlert: typeof import('vuetify/components')['VAlert']
|
2545
|
-
VAlertTitle: typeof import('vuetify/components')['VAlertTitle']
|
2544
|
+
VAvatar: typeof import('vuetify/components')['VAvatar']
|
2546
2545
|
VAutocomplete: typeof import('vuetify/components')['VAutocomplete']
|
2547
2546
|
VBanner: typeof import('vuetify/components')['VBanner']
|
2548
2547
|
VBannerActions: typeof import('vuetify/components')['VBannerActions']
|
2549
2548
|
VBannerText: typeof import('vuetify/components')['VBannerText']
|
2550
|
-
|
2549
|
+
VAlert: typeof import('vuetify/components')['VAlert']
|
2550
|
+
VAlertTitle: typeof import('vuetify/components')['VAlertTitle']
|
2551
2551
|
VBadge: typeof import('vuetify/components')['VBadge']
|
2552
|
-
VBottomSheet: typeof import('vuetify/components')['VBottomSheet']
|
2553
|
-
VBtn: typeof import('vuetify/components')['VBtn']
|
2554
2552
|
VBreadcrumbs: typeof import('vuetify/components')['VBreadcrumbs']
|
2555
2553
|
VBreadcrumbsItem: typeof import('vuetify/components')['VBreadcrumbsItem']
|
2556
2554
|
VBreadcrumbsDivider: typeof import('vuetify/components')['VBreadcrumbsDivider']
|
2557
|
-
|
2555
|
+
VBottomSheet: typeof import('vuetify/components')['VBottomSheet']
|
2556
|
+
VBottomNavigation: typeof import('vuetify/components')['VBottomNavigation']
|
2557
|
+
VBtn: typeof import('vuetify/components')['VBtn']
|
2558
2558
|
VBtnToggle: typeof import('vuetify/components')['VBtnToggle']
|
2559
|
+
VCarousel: typeof import('vuetify/components')['VCarousel']
|
2560
|
+
VCarouselItem: typeof import('vuetify/components')['VCarouselItem']
|
2561
|
+
VCheckbox: typeof import('vuetify/components')['VCheckbox']
|
2562
|
+
VCheckboxBtn: typeof import('vuetify/components')['VCheckboxBtn']
|
2559
2563
|
VCard: typeof import('vuetify/components')['VCard']
|
2560
2564
|
VCardActions: typeof import('vuetify/components')['VCardActions']
|
2561
2565
|
VCardItem: typeof import('vuetify/components')['VCardItem']
|
2562
2566
|
VCardSubtitle: typeof import('vuetify/components')['VCardSubtitle']
|
2563
2567
|
VCardText: typeof import('vuetify/components')['VCardText']
|
2564
2568
|
VCardTitle: typeof import('vuetify/components')['VCardTitle']
|
2565
|
-
VCarousel: typeof import('vuetify/components')['VCarousel']
|
2566
|
-
VCarouselItem: typeof import('vuetify/components')['VCarouselItem']
|
2567
|
-
VCheckbox: typeof import('vuetify/components')['VCheckbox']
|
2568
|
-
VCheckboxBtn: typeof import('vuetify/components')['VCheckboxBtn']
|
2569
|
-
VChip: typeof import('vuetify/components')['VChip']
|
2570
2569
|
VChipGroup: typeof import('vuetify/components')['VChipGroup']
|
2571
2570
|
VColorPicker: typeof import('vuetify/components')['VColorPicker']
|
2571
|
+
VBtnGroup: typeof import('vuetify/components')['VBtnGroup']
|
2572
2572
|
VCombobox: typeof import('vuetify/components')['VCombobox']
|
2573
|
-
VBottomNavigation: typeof import('vuetify/components')['VBottomNavigation']
|
2574
2573
|
VCounter: typeof import('vuetify/components')['VCounter']
|
2575
|
-
|
2574
|
+
VChip: typeof import('vuetify/components')['VChip']
|
2576
2575
|
VDataTable: typeof import('vuetify/components')['VDataTable']
|
2577
2576
|
VDataTableHeaders: typeof import('vuetify/components')['VDataTableHeaders']
|
2578
2577
|
VDataTableFooter: typeof import('vuetify/components')['VDataTableFooter']
|
@@ -2580,36 +2579,37 @@ declare module 'vue' {
|
|
2580
2579
|
VDataTableRow: typeof import('vuetify/components')['VDataTableRow']
|
2581
2580
|
VDataTableVirtual: typeof import('vuetify/components')['VDataTableVirtual']
|
2582
2581
|
VDataTableServer: typeof import('vuetify/components')['VDataTableServer']
|
2582
|
+
VCode: typeof import('vuetify/components')['VCode']
|
2583
|
+
VDialog: typeof import('vuetify/components')['VDialog']
|
2584
|
+
VExpansionPanels: typeof import('vuetify/components')['VExpansionPanels']
|
2585
|
+
VExpansionPanel: typeof import('vuetify/components')['VExpansionPanel']
|
2586
|
+
VExpansionPanelText: typeof import('vuetify/components')['VExpansionPanelText']
|
2587
|
+
VExpansionPanelTitle: typeof import('vuetify/components')['VExpansionPanelTitle']
|
2588
|
+
VEmptyState: typeof import('vuetify/components')['VEmptyState']
|
2583
2589
|
VDatePicker: typeof import('vuetify/components')['VDatePicker']
|
2584
2590
|
VDatePickerControls: typeof import('vuetify/components')['VDatePickerControls']
|
2585
2591
|
VDatePickerHeader: typeof import('vuetify/components')['VDatePickerHeader']
|
2586
2592
|
VDatePickerMonth: typeof import('vuetify/components')['VDatePickerMonth']
|
2587
2593
|
VDatePickerMonths: typeof import('vuetify/components')['VDatePickerMonths']
|
2588
2594
|
VDatePickerYears: typeof import('vuetify/components')['VDatePickerYears']
|
2589
|
-
VDialog: typeof import('vuetify/components')['VDialog']
|
2590
2595
|
VDivider: typeof import('vuetify/components')['VDivider']
|
2591
|
-
VEmptyState: typeof import('vuetify/components')['VEmptyState']
|
2592
|
-
VExpansionPanels: typeof import('vuetify/components')['VExpansionPanels']
|
2593
|
-
VExpansionPanel: typeof import('vuetify/components')['VExpansionPanel']
|
2594
|
-
VExpansionPanelText: typeof import('vuetify/components')['VExpansionPanelText']
|
2595
|
-
VExpansionPanelTitle: typeof import('vuetify/components')['VExpansionPanelTitle']
|
2596
2596
|
VField: typeof import('vuetify/components')['VField']
|
2597
2597
|
VFieldLabel: typeof import('vuetify/components')['VFieldLabel']
|
2598
|
-
VFileInput: typeof import('vuetify/components')['VFileInput']
|
2599
2598
|
VFab: typeof import('vuetify/components')['VFab']
|
2600
|
-
|
2599
|
+
VFileInput: typeof import('vuetify/components')['VFileInput']
|
2601
2600
|
VIcon: typeof import('vuetify/components')['VIcon']
|
2602
2601
|
VComponentIcon: typeof import('vuetify/components')['VComponentIcon']
|
2603
2602
|
VSvgIcon: typeof import('vuetify/components')['VSvgIcon']
|
2604
2603
|
VLigatureIcon: typeof import('vuetify/components')['VLigatureIcon']
|
2605
2604
|
VClassIcon: typeof import('vuetify/components')['VClassIcon']
|
2605
|
+
VFooter: typeof import('vuetify/components')['VFooter']
|
2606
|
+
VImg: typeof import('vuetify/components')['VImg']
|
2606
2607
|
VInfiniteScroll: typeof import('vuetify/components')['VInfiniteScroll']
|
2607
2608
|
VInput: typeof import('vuetify/components')['VInput']
|
2608
2609
|
VItemGroup: typeof import('vuetify/components')['VItemGroup']
|
2609
2610
|
VItem: typeof import('vuetify/components')['VItem']
|
2610
|
-
VKbd: typeof import('vuetify/components')['VKbd']
|
2611
2611
|
VLabel: typeof import('vuetify/components')['VLabel']
|
2612
|
-
|
2612
|
+
VKbd: typeof import('vuetify/components')['VKbd']
|
2613
2613
|
VList: typeof import('vuetify/components')['VList']
|
2614
2614
|
VListGroup: typeof import('vuetify/components')['VListGroup']
|
2615
2615
|
VListImg: typeof import('vuetify/components')['VListImg']
|
@@ -2620,40 +2620,33 @@ declare module 'vue' {
|
|
2620
2620
|
VListItemTitle: typeof import('vuetify/components')['VListItemTitle']
|
2621
2621
|
VListSubheader: typeof import('vuetify/components')['VListSubheader']
|
2622
2622
|
VMain: typeof import('vuetify/components')['VMain']
|
2623
|
-
VMessages: typeof import('vuetify/components')['VMessages']
|
2624
2623
|
VMenu: typeof import('vuetify/components')['VMenu']
|
2625
|
-
VOverlay: typeof import('vuetify/components')['VOverlay']
|
2626
2624
|
VNumberInput: typeof import('vuetify/components')['VNumberInput']
|
2627
2625
|
VNavigationDrawer: typeof import('vuetify/components')['VNavigationDrawer']
|
2628
2626
|
VOtpInput: typeof import('vuetify/components')['VOtpInput']
|
2627
|
+
VMessages: typeof import('vuetify/components')['VMessages']
|
2629
2628
|
VProgressCircular: typeof import('vuetify/components')['VProgressCircular']
|
2630
|
-
|
2631
|
-
|
2629
|
+
VProgressLinear: typeof import('vuetify/components')['VProgressLinear']
|
2630
|
+
VOverlay: typeof import('vuetify/components')['VOverlay']
|
2632
2631
|
VRating: typeof import('vuetify/components')['VRating']
|
2633
|
-
|
2632
|
+
VRadioGroup: typeof import('vuetify/components')['VRadioGroup']
|
2633
|
+
VPagination: typeof import('vuetify/components')['VPagination']
|
2634
|
+
VSelect: typeof import('vuetify/components')['VSelect']
|
2634
2635
|
VSheet: typeof import('vuetify/components')['VSheet']
|
2635
|
-
|
2636
|
+
VSnackbar: typeof import('vuetify/components')['VSnackbar']
|
2637
|
+
VSelectionControl: typeof import('vuetify/components')['VSelectionControl']
|
2636
2638
|
VSlideGroup: typeof import('vuetify/components')['VSlideGroup']
|
2637
2639
|
VSlideGroupItem: typeof import('vuetify/components')['VSlideGroupItem']
|
2638
|
-
|
2639
|
-
VSnackbar: typeof import('vuetify/components')['VSnackbar']
|
2640
|
+
VSelectionControlGroup: typeof import('vuetify/components')['VSelectionControlGroup']
|
2640
2641
|
VSlider: typeof import('vuetify/components')['VSlider']
|
2641
|
-
|
2642
|
-
VStepper: typeof import('vuetify/components')['VStepper']
|
2643
|
-
VStepperActions: typeof import('vuetify/components')['VStepperActions']
|
2644
|
-
VStepperHeader: typeof import('vuetify/components')['VStepperHeader']
|
2645
|
-
VStepperItem: typeof import('vuetify/components')['VStepperItem']
|
2646
|
-
VStepperWindow: typeof import('vuetify/components')['VStepperWindow']
|
2647
|
-
VStepperWindowItem: typeof import('vuetify/components')['VStepperWindowItem']
|
2648
|
-
VSystemBar: typeof import('vuetify/components')['VSystemBar']
|
2649
|
-
VTextField: typeof import('vuetify/components')['VTextField']
|
2642
|
+
VSwitch: typeof import('vuetify/components')['VSwitch']
|
2650
2643
|
VTable: typeof import('vuetify/components')['VTable']
|
2651
2644
|
VTab: typeof import('vuetify/components')['VTab']
|
2652
2645
|
VTabs: typeof import('vuetify/components')['VTabs']
|
2653
2646
|
VTabsWindow: typeof import('vuetify/components')['VTabsWindow']
|
2654
2647
|
VTabsWindowItem: typeof import('vuetify/components')['VTabsWindowItem']
|
2655
|
-
|
2656
|
-
|
2648
|
+
VSystemBar: typeof import('vuetify/components')['VSystemBar']
|
2649
|
+
VTextField: typeof import('vuetify/components')['VTextField']
|
2657
2650
|
VTimeline: typeof import('vuetify/components')['VTimeline']
|
2658
2651
|
VTimelineItem: typeof import('vuetify/components')['VTimelineItem']
|
2659
2652
|
VToolbar: typeof import('vuetify/components')['VToolbar']
|
@@ -2665,27 +2658,32 @@ declare module 'vue' {
|
|
2665
2658
|
VConfirmEdit: typeof import('vuetify/components')['VConfirmEdit']
|
2666
2659
|
VDataIterator: typeof import('vuetify/components')['VDataIterator']
|
2667
2660
|
VDefaultsProvider: typeof import('vuetify/components')['VDefaultsProvider']
|
2668
|
-
|
2669
|
-
|
2670
|
-
|
2671
|
-
|
2672
|
-
|
2661
|
+
VStepper: typeof import('vuetify/components')['VStepper']
|
2662
|
+
VStepperActions: typeof import('vuetify/components')['VStepperActions']
|
2663
|
+
VStepperHeader: typeof import('vuetify/components')['VStepperHeader']
|
2664
|
+
VStepperItem: typeof import('vuetify/components')['VStepperItem']
|
2665
|
+
VStepperWindow: typeof import('vuetify/components')['VStepperWindow']
|
2666
|
+
VStepperWindowItem: typeof import('vuetify/components')['VStepperWindowItem']
|
2673
2667
|
VHover: typeof import('vuetify/components')['VHover']
|
2668
|
+
VLazy: typeof import('vuetify/components')['VLazy']
|
2674
2669
|
VLayout: typeof import('vuetify/components')['VLayout']
|
2675
2670
|
VLayoutItem: typeof import('vuetify/components')['VLayoutItem']
|
2676
|
-
VLazy: typeof import('vuetify/components')['VLazy']
|
2677
2671
|
VLocaleProvider: typeof import('vuetify/components')['VLocaleProvider']
|
2678
2672
|
VNoSsr: typeof import('vuetify/components')['VNoSsr']
|
2679
2673
|
VParallax: typeof import('vuetify/components')['VParallax']
|
2680
2674
|
VRadio: typeof import('vuetify/components')['VRadio']
|
2681
2675
|
VRangeSlider: typeof import('vuetify/components')['VRangeSlider']
|
2682
2676
|
VResponsive: typeof import('vuetify/components')['VResponsive']
|
2677
|
+
VContainer: typeof import('vuetify/components')['VContainer']
|
2678
|
+
VCol: typeof import('vuetify/components')['VCol']
|
2679
|
+
VRow: typeof import('vuetify/components')['VRow']
|
2680
|
+
VSpacer: typeof import('vuetify/components')['VSpacer']
|
2683
2681
|
VSparkline: typeof import('vuetify/components')['VSparkline']
|
2684
|
-
VSnackbarQueue: typeof import('vuetify/components')['VSnackbarQueue']
|
2685
2682
|
VSpeedDial: typeof import('vuetify/components')['VSpeedDial']
|
2686
2683
|
VThemeProvider: typeof import('vuetify/components')['VThemeProvider']
|
2687
|
-
|
2684
|
+
VValidation: typeof import('vuetify/components')['VValidation']
|
2688
2685
|
VVirtualScroll: typeof import('vuetify/components')['VVirtualScroll']
|
2686
|
+
VSkeletonLoader: typeof import('vuetify/components')['VSkeletonLoader']
|
2689
2687
|
VFabTransition: typeof import('vuetify/components')['VFabTransition']
|
2690
2688
|
VDialogBottomTransition: typeof import('vuetify/components')['VDialogBottomTransition']
|
2691
2689
|
VDialogTopTransition: typeof import('vuetify/components')['VDialogTopTransition']
|
@@ -2702,28 +2700,30 @@ declare module 'vue' {
|
|
2702
2700
|
VExpandTransition: typeof import('vuetify/components')['VExpandTransition']
|
2703
2701
|
VExpandXTransition: typeof import('vuetify/components')['VExpandXTransition']
|
2704
2702
|
VDialogTransition: typeof import('vuetify/components')['VDialogTransition']
|
2705
|
-
|
2706
|
-
|
2703
|
+
VForm: typeof import('vuetify/components')['VForm']
|
2704
|
+
VTextarea: typeof import('vuetify/components')['VTextarea']
|
2705
|
+
VSnackbarQueue: typeof import('vuetify/components')['VSnackbarQueue']
|
2707
2706
|
VFileUpload: typeof import('vuetify/labs/components')['VFileUpload']
|
2708
2707
|
VFileUploadItem: typeof import('vuetify/labs/components')['VFileUploadItem']
|
2709
|
-
|
2710
|
-
|
2711
|
-
|
2708
|
+
VTimePicker: typeof import('vuetify/labs/components')['VTimePicker']
|
2709
|
+
VTimePickerClock: typeof import('vuetify/labs/components')['VTimePickerClock']
|
2710
|
+
VTimePickerControls: typeof import('vuetify/labs/components')['VTimePickerControls']
|
2712
2711
|
VCalendar: typeof import('vuetify/labs/components')['VCalendar']
|
2713
2712
|
VCalendarDay: typeof import('vuetify/labs/components')['VCalendarDay']
|
2714
2713
|
VCalendarHeader: typeof import('vuetify/labs/components')['VCalendarHeader']
|
2715
2714
|
VCalendarInterval: typeof import('vuetify/labs/components')['VCalendarInterval']
|
2716
2715
|
VCalendarIntervalEvent: typeof import('vuetify/labs/components')['VCalendarIntervalEvent']
|
2717
2716
|
VCalendarMonthDay: typeof import('vuetify/labs/components')['VCalendarMonthDay']
|
2718
|
-
VPicker: typeof import('vuetify/labs/components')['VPicker']
|
2719
|
-
VPickerTitle: typeof import('vuetify/labs/components')['VPickerTitle']
|
2720
|
-
VTimePicker: typeof import('vuetify/labs/components')['VTimePicker']
|
2721
|
-
VTimePickerClock: typeof import('vuetify/labs/components')['VTimePickerClock']
|
2722
|
-
VTimePickerControls: typeof import('vuetify/labs/components')['VTimePickerControls']
|
2723
2717
|
VTreeview: typeof import('vuetify/labs/components')['VTreeview']
|
2724
2718
|
VTreeviewItem: typeof import('vuetify/labs/components')['VTreeviewItem']
|
2725
2719
|
VTreeviewGroup: typeof import('vuetify/labs/components')['VTreeviewGroup']
|
2726
|
-
|
2720
|
+
VStepperVertical: typeof import('vuetify/labs/components')['VStepperVertical']
|
2721
|
+
VStepperVerticalItem: typeof import('vuetify/labs/components')['VStepperVerticalItem']
|
2722
|
+
VStepperVerticalActions: typeof import('vuetify/labs/components')['VStepperVerticalActions']
|
2723
|
+
VPicker: typeof import('vuetify/labs/components')['VPicker']
|
2724
|
+
VPickerTitle: typeof import('vuetify/labs/components')['VPickerTitle']
|
2725
|
+
VIconBtn: typeof import('vuetify/labs/components')['VIconBtn']
|
2727
2726
|
VDateInput: typeof import('vuetify/labs/components')['VDateInput']
|
2727
|
+
VPullToRefresh: typeof import('vuetify/labs/components')['VPullToRefresh']
|
2728
2728
|
}
|
2729
2729
|
}
|
package/lib/framework.js
CHANGED
@@ -115,7 +115,9 @@ export declare const makeVDateInputProps: <Defaults extends {
|
|
115
115
|
mobile?: unknown;
|
116
116
|
mobileBreakpoint?: unknown;
|
117
117
|
displayFormat?: unknown;
|
118
|
+
inputFormat?: unknown;
|
118
119
|
location?: unknown;
|
120
|
+
menu?: unknown;
|
119
121
|
updateOn?: unknown;
|
120
122
|
} = {}>(defaults?: Defaults | undefined) => {
|
121
123
|
max: unknown extends Defaults["max"] ? PropType<unknown> : {
|
@@ -768,6 +770,10 @@ export declare const makeVDateInputProps: <Defaults extends {
|
|
768
770
|
type: PropType<unknown extends Defaults["displayFormat"] ? string | Function : string | Function | Defaults["displayFormat"]>;
|
769
771
|
default: unknown extends Defaults["displayFormat"] ? string | Function : NonNullable<string | Function> | Defaults["displayFormat"];
|
770
772
|
};
|
773
|
+
inputFormat: unknown extends Defaults["inputFormat"] ? (FunctionConstructor | StringConstructor)[] : {
|
774
|
+
type: PropType<unknown extends Defaults["inputFormat"] ? string | Function : string | Function | Defaults["inputFormat"]>;
|
775
|
+
default: unknown extends Defaults["inputFormat"] ? string | Function : NonNullable<string | Function> | Defaults["inputFormat"];
|
776
|
+
};
|
771
777
|
location: unknown extends Defaults["location"] ? {
|
772
778
|
type: PropType<StrategyProps["location"]>;
|
773
779
|
default: string;
|
@@ -778,6 +784,10 @@ export declare const makeVDateInputProps: <Defaults extends {
|
|
778
784
|
type: PropType<unknown extends Defaults["location"] ? import("../../util/index.js").Anchor : import("../../util/index.js").Anchor | Defaults["location"]>;
|
779
785
|
default: unknown extends Defaults["location"] ? import("../../util/index.js").Anchor : NonNullable<import("../../util/index.js").Anchor> | Defaults["location"];
|
780
786
|
};
|
787
|
+
menu: unknown extends Defaults["menu"] ? BooleanConstructor : {
|
788
|
+
type: PropType<unknown extends Defaults["menu"] ? boolean : boolean | Defaults["menu"]>;
|
789
|
+
default: unknown extends Defaults["menu"] ? boolean : boolean | Defaults["menu"];
|
790
|
+
};
|
781
791
|
updateOn: unknown extends Defaults["updateOn"] ? {
|
782
792
|
type: PropType<("blur" | "enter")[]>;
|
783
793
|
default: () => string[];
|
@@ -801,6 +811,7 @@ export declare const VDateInput: {
|
|
801
811
|
direction: "horizontal" | "vertical";
|
802
812
|
transition: string;
|
803
813
|
header: string;
|
814
|
+
menu: boolean;
|
804
815
|
style: import("vue").StyleValue;
|
805
816
|
title: string;
|
806
817
|
autofocus: boolean;
|
@@ -898,6 +909,7 @@ export declare const VDateInput: {
|
|
898
909
|
firstDayOfWeek?: string | number | undefined;
|
899
910
|
allowedDates?: unknown[] | ((date: unknown) => boolean) | undefined;
|
900
911
|
displayFormat?: string | Function | undefined;
|
912
|
+
inputFormat?: string | Function | undefined;
|
901
913
|
} & {
|
902
914
|
$children?: import("vue").VNodeChild | (() => import("vue").VNodeChild) | {
|
903
915
|
message?: ((arg: import("../../components/VMessages/VMessages.js").VMessageSlot) => import("vue").VNodeChild) | undefined;
|
@@ -958,6 +970,7 @@ export declare const VDateInput: {
|
|
958
970
|
} & {
|
959
971
|
onCancel?: (() => any) | undefined;
|
960
972
|
"onUpdate:modelValue"?: ((val: string) => any) | undefined;
|
973
|
+
"onUpdate:menu"?: ((val: boolean) => any) | undefined;
|
961
974
|
onSave?: ((value: string) => any) | undefined;
|
962
975
|
}, Omit<Omit<{
|
963
976
|
$: import("vue").ComponentInternalInstance;
|
@@ -2901,6 +2914,7 @@ export declare const VDateInput: {
|
|
2901
2914
|
save: (value: string) => true;
|
2902
2915
|
cancel: () => true;
|
2903
2916
|
'update:modelValue': (val: string) => true;
|
2917
|
+
'update:menu': (val: boolean) => true;
|
2904
2918
|
}, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, {
|
2905
2919
|
flat: boolean;
|
2906
2920
|
reverse: boolean;
|
@@ -2912,6 +2926,7 @@ export declare const VDateInput: {
|
|
2912
2926
|
direction: "horizontal" | "vertical";
|
2913
2927
|
transition: string;
|
2914
2928
|
header: string;
|
2929
|
+
menu: boolean;
|
2915
2930
|
style: import("vue").StyleValue;
|
2916
2931
|
title: string;
|
2917
2932
|
autofocus: boolean;
|
@@ -2994,6 +3009,7 @@ export declare const VDateInput: {
|
|
2994
3009
|
direction: "horizontal" | "vertical";
|
2995
3010
|
transition: string;
|
2996
3011
|
header: string;
|
3012
|
+
menu: boolean;
|
2997
3013
|
style: import("vue").StyleValue;
|
2998
3014
|
title: string;
|
2999
3015
|
autofocus: boolean;
|
@@ -3091,6 +3107,7 @@ export declare const VDateInput: {
|
|
3091
3107
|
firstDayOfWeek?: string | number | undefined;
|
3092
3108
|
allowedDates?: unknown[] | ((date: unknown) => boolean) | undefined;
|
3093
3109
|
displayFormat?: string | Function | undefined;
|
3110
|
+
inputFormat?: string | Function | undefined;
|
3094
3111
|
} & {
|
3095
3112
|
$children?: import("vue").VNodeChild | (() => import("vue").VNodeChild) | {
|
3096
3113
|
message?: ((arg: import("../../components/VMessages/VMessages.js").VMessageSlot) => import("vue").VNodeChild) | undefined;
|
@@ -3151,6 +3168,7 @@ export declare const VDateInput: {
|
|
3151
3168
|
} & {
|
3152
3169
|
onCancel?: (() => any) | undefined;
|
3153
3170
|
"onUpdate:modelValue"?: ((val: string) => any) | undefined;
|
3171
|
+
"onUpdate:menu"?: ((val: boolean) => any) | undefined;
|
3154
3172
|
onSave?: ((value: string) => any) | undefined;
|
3155
3173
|
}, Omit<Omit<{
|
3156
3174
|
$: import("vue").ComponentInternalInstance;
|
@@ -5101,6 +5119,7 @@ export declare const VDateInput: {
|
|
5101
5119
|
direction: "horizontal" | "vertical";
|
5102
5120
|
transition: string;
|
5103
5121
|
header: string;
|
5122
|
+
menu: boolean;
|
5104
5123
|
style: import("vue").StyleValue;
|
5105
5124
|
title: string;
|
5106
5125
|
autofocus: boolean;
|
@@ -5162,6 +5181,7 @@ export declare const VDateInput: {
|
|
5162
5181
|
direction: "horizontal" | "vertical";
|
5163
5182
|
transition: string;
|
5164
5183
|
header: string;
|
5184
|
+
menu: boolean;
|
5165
5185
|
style: import("vue").StyleValue;
|
5166
5186
|
title: string;
|
5167
5187
|
autofocus: boolean;
|
@@ -5259,6 +5279,7 @@ export declare const VDateInput: {
|
|
5259
5279
|
firstDayOfWeek?: string | number | undefined;
|
5260
5280
|
allowedDates?: unknown[] | ((date: unknown) => boolean) | undefined;
|
5261
5281
|
displayFormat?: string | Function | undefined;
|
5282
|
+
inputFormat?: string | Function | undefined;
|
5262
5283
|
} & {
|
5263
5284
|
$children?: import("vue").VNodeChild | (() => import("vue").VNodeChild) | {
|
5264
5285
|
message?: ((arg: import("../../components/VMessages/VMessages.js").VMessageSlot) => import("vue").VNodeChild) | undefined;
|
@@ -5319,6 +5340,7 @@ export declare const VDateInput: {
|
|
5319
5340
|
} & {
|
5320
5341
|
onCancel?: (() => any) | undefined;
|
5321
5342
|
"onUpdate:modelValue"?: ((val: string) => any) | undefined;
|
5343
|
+
"onUpdate:menu"?: ((val: boolean) => any) | undefined;
|
5322
5344
|
onSave?: ((value: string) => any) | undefined;
|
5323
5345
|
}, Omit<Omit<{
|
5324
5346
|
$: import("vue").ComponentInternalInstance;
|
@@ -7262,6 +7284,7 @@ export declare const VDateInput: {
|
|
7262
7284
|
save: (value: string) => true;
|
7263
7285
|
cancel: () => true;
|
7264
7286
|
'update:modelValue': (val: string) => true;
|
7287
|
+
'update:menu': (val: boolean) => true;
|
7265
7288
|
}, string, {
|
7266
7289
|
flat: boolean;
|
7267
7290
|
reverse: boolean;
|
@@ -7273,6 +7296,7 @@ export declare const VDateInput: {
|
|
7273
7296
|
direction: "horizontal" | "vertical";
|
7274
7297
|
transition: string;
|
7275
7298
|
header: string;
|
7299
|
+
menu: boolean;
|
7276
7300
|
style: import("vue").StyleValue;
|
7277
7301
|
title: string;
|
7278
7302
|
autofocus: boolean;
|
@@ -7559,10 +7583,12 @@ export declare const VDateInput: {
|
|
7559
7583
|
};
|
7560
7584
|
mobileBreakpoint: PropType<number | import("../../composables/display.js").DisplayBreakpoint>;
|
7561
7585
|
displayFormat: (FunctionConstructor | StringConstructor)[];
|
7586
|
+
inputFormat: (FunctionConstructor | StringConstructor)[];
|
7562
7587
|
location: {
|
7563
7588
|
type: PropType<StrategyProps["location"]>;
|
7564
7589
|
default: string;
|
7565
7590
|
};
|
7591
|
+
menu: BooleanConstructor;
|
7566
7592
|
updateOn: {
|
7567
7593
|
type: PropType<("blur" | "enter")[]>;
|
7568
7594
|
default: () => string[];
|
@@ -7789,10 +7815,12 @@ export declare const VDateInput: {
|
|
7789
7815
|
};
|
7790
7816
|
mobileBreakpoint: PropType<number | import("../../composables/display.js").DisplayBreakpoint>;
|
7791
7817
|
displayFormat: (FunctionConstructor | StringConstructor)[];
|
7818
|
+
inputFormat: (FunctionConstructor | StringConstructor)[];
|
7792
7819
|
location: {
|
7793
7820
|
type: PropType<StrategyProps["location"]>;
|
7794
7821
|
default: string;
|
7795
7822
|
};
|
7823
|
+
menu: BooleanConstructor;
|
7796
7824
|
updateOn: {
|
7797
7825
|
type: PropType<("blur" | "enter")[]>;
|
7798
7826
|
default: () => string[];
|
@@ -15,10 +15,12 @@ import { genericComponent, omit, propsFactory, useRender, wrapInArray } from "..
|
|
15
15
|
// Types
|
16
16
|
export const makeVDateInputProps = propsFactory({
|
17
17
|
displayFormat: [Function, String],
|
18
|
+
inputFormat: [Function, String],
|
18
19
|
location: {
|
19
20
|
type: String,
|
20
21
|
default: 'bottom start'
|
21
22
|
},
|
23
|
+
menu: Boolean,
|
22
24
|
updateOn: {
|
23
25
|
type: Array,
|
24
26
|
default: () => ['blur', 'enter']
|
@@ -45,7 +47,8 @@ export const VDateInput = genericComponent()({
|
|
45
47
|
emits: {
|
46
48
|
save: value => true,
|
47
49
|
cancel: () => true,
|
48
|
-
'update:modelValue': val => true
|
50
|
+
'update:modelValue': val => true,
|
51
|
+
'update:menu': val => true
|
49
52
|
},
|
50
53
|
setup(props, _ref) {
|
51
54
|
let {
|
@@ -66,7 +69,7 @@ export const VDateInput = genericComponent()({
|
|
66
69
|
} = useFocus(props);
|
67
70
|
const emptyModelValue = () => props.multiple ? [] : null;
|
68
71
|
const model = useProxiedModel(props, 'modelValue', emptyModelValue(), val => Array.isArray(val) ? val.map(item => adapter.toJsDate(item)) : val ? adapter.toJsDate(val) : val, val => Array.isArray(val) ? val.map(item => adapter.date(item)) : val ? adapter.date(val) : val);
|
69
|
-
const menu =
|
72
|
+
const menu = useProxiedModel(props, 'menu');
|
70
73
|
const isEditingInput = shallowRef(false);
|
71
74
|
const vTextFieldRef = ref();
|
72
75
|
const disabledActions = ref(['save']);
|
@@ -76,6 +79,79 @@ export const VDateInput = genericComponent()({
|
|
76
79
|
}
|
77
80
|
return adapter.format(date, props.displayFormat ?? 'keyboardDate');
|
78
81
|
}
|
82
|
+
function parseDateString(dateString, format) {
|
83
|
+
function countConsecutiveChars(str, startIndex) {
|
84
|
+
const char = str[startIndex];
|
85
|
+
let count = 0;
|
86
|
+
while (str[startIndex + count] === char) count++;
|
87
|
+
return count;
|
88
|
+
}
|
89
|
+
function parseDateParts(dateString, format) {
|
90
|
+
const dateParts = {};
|
91
|
+
let stringIndex = 0;
|
92
|
+
const upperFormat = format.toUpperCase();
|
93
|
+
for (let formatIndex = 0; formatIndex < upperFormat.length;) {
|
94
|
+
const formatChar = upperFormat[formatIndex];
|
95
|
+
const charCount = countConsecutiveChars(upperFormat, formatIndex);
|
96
|
+
const dateValue = dateString.slice(stringIndex, stringIndex + charCount);
|
97
|
+
if (['Y', 'M', 'D'].includes(formatChar)) {
|
98
|
+
const numValue = parseInt(dateValue);
|
99
|
+
if (isNaN(numValue)) return null;
|
100
|
+
dateParts[formatChar] = numValue;
|
101
|
+
}
|
102
|
+
formatIndex += charCount;
|
103
|
+
stringIndex += charCount;
|
104
|
+
}
|
105
|
+
return dateParts;
|
106
|
+
}
|
107
|
+
function validateDateParts(dateParts) {
|
108
|
+
const {
|
109
|
+
Y: year,
|
110
|
+
M: month,
|
111
|
+
D: day
|
112
|
+
} = dateParts;
|
113
|
+
if (!year || !month || !day) return null;
|
114
|
+
if (month < 1 || month > 12) return null;
|
115
|
+
if (day < 1 || day > 31) return null;
|
116
|
+
return {
|
117
|
+
year,
|
118
|
+
month,
|
119
|
+
day
|
120
|
+
};
|
121
|
+
}
|
122
|
+
const dateParts = parseDateParts(dateString, format);
|
123
|
+
if (!dateParts) return null;
|
124
|
+
const validatedParts = validateDateParts(dateParts);
|
125
|
+
if (!validatedParts) return null;
|
126
|
+
const {
|
127
|
+
year,
|
128
|
+
month,
|
129
|
+
day
|
130
|
+
} = validatedParts;
|
131
|
+
return {
|
132
|
+
year,
|
133
|
+
month,
|
134
|
+
day
|
135
|
+
};
|
136
|
+
}
|
137
|
+
function parseUserInput(value) {
|
138
|
+
if (typeof props.inputFormat === 'function') {
|
139
|
+
return props.inputFormat(value);
|
140
|
+
}
|
141
|
+
if (typeof props.inputFormat === 'string') {
|
142
|
+
const formattedDate = parseDateString(value, props.inputFormat);
|
143
|
+
if (!formattedDate) {
|
144
|
+
return model.value;
|
145
|
+
}
|
146
|
+
const {
|
147
|
+
year,
|
148
|
+
month,
|
149
|
+
day
|
150
|
+
} = formattedDate;
|
151
|
+
return adapter.parseISO(`${year}-${String(month).padStart(2, '0')}-${String(day).padStart(2, '0')}`);
|
152
|
+
}
|
153
|
+
return adapter.isValid(value) ? adapter.date(value) : model.value;
|
154
|
+
}
|
79
155
|
const display = computed(() => {
|
80
156
|
const value = wrapInArray(model.value);
|
81
157
|
if (!value.length) return null;
|
@@ -109,7 +185,6 @@ export const VDateInput = genericComponent()({
|
|
109
185
|
if (e.key !== 'Enter') return;
|
110
186
|
if (!menu.value || !isFocused.value) {
|
111
187
|
menu.value = true;
|
112
|
-
return;
|
113
188
|
}
|
114
189
|
if (props.updateOn.includes('enter')) {
|
115
190
|
onUserInput(e.target);
|
@@ -153,8 +228,7 @@ export const VDateInput = genericComponent()({
|
|
153
228
|
let {
|
154
229
|
value
|
155
230
|
} = _ref2;
|
156
|
-
|
157
|
-
model.value = !value ? emptyModelValue() : value;
|
231
|
+
model.value = !value ? emptyModelValue() : parseUserInput(value);
|
158
232
|
}
|
159
233
|
useRender(() => {
|
160
234
|
const confirmEditProps = VConfirmEdit.filterProps(props);
|