@vuetify/nightly 3.8.4-master.2025-05-10 → 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 +21 -3
- package/dist/json/attributes.json +3074 -3066
- package/dist/json/importMap-labs.json +30 -30
- package/dist/json/importMap.json +188 -188
- package/dist/json/tags.json +2 -0
- package/dist/json/web-types.json +5704 -5674
- package/dist/vuetify-labs.cjs +82 -8
- package/dist/vuetify-labs.css +3919 -3919
- package/dist/vuetify-labs.d.ts +90 -72
- 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 +3546 -3546
- package/dist/vuetify.d.ts +72 -72
- 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 +72 -72
- 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 -2
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,29 +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
|
+
VAvatar: typeof import('vuetify/components')['VAvatar']
|
2545
|
+
VAutocomplete: typeof import('vuetify/components')['VAutocomplete']
|
2546
|
+
VBanner: typeof import('vuetify/components')['VBanner']
|
2547
|
+
VBannerActions: typeof import('vuetify/components')['VBannerActions']
|
2548
|
+
VBannerText: typeof import('vuetify/components')['VBannerText']
|
2544
2549
|
VAlert: typeof import('vuetify/components')['VAlert']
|
2545
2550
|
VAlertTitle: typeof import('vuetify/components')['VAlertTitle']
|
2546
|
-
VAvatar: typeof import('vuetify/components')['VAvatar']
|
2547
2551
|
VBadge: typeof import('vuetify/components')['VBadge']
|
2548
|
-
|
2549
|
-
|
2550
|
-
|
2552
|
+
VBreadcrumbs: typeof import('vuetify/components')['VBreadcrumbs']
|
2553
|
+
VBreadcrumbsItem: typeof import('vuetify/components')['VBreadcrumbsItem']
|
2554
|
+
VBreadcrumbsDivider: typeof import('vuetify/components')['VBreadcrumbsDivider']
|
2555
|
+
VBottomSheet: typeof import('vuetify/components')['VBottomSheet']
|
2551
2556
|
VBottomNavigation: typeof import('vuetify/components')['VBottomNavigation']
|
2557
|
+
VBtn: typeof import('vuetify/components')['VBtn']
|
2552
2558
|
VBtnToggle: typeof import('vuetify/components')['VBtnToggle']
|
2553
|
-
VCheckbox: typeof import('vuetify/components')['VCheckbox']
|
2554
|
-
VCheckboxBtn: typeof import('vuetify/components')['VCheckboxBtn']
|
2555
|
-
VBottomSheet: typeof import('vuetify/components')['VBottomSheet']
|
2556
2559
|
VCarousel: typeof import('vuetify/components')['VCarousel']
|
2557
2560
|
VCarouselItem: typeof import('vuetify/components')['VCarouselItem']
|
2558
|
-
|
2561
|
+
VCheckbox: typeof import('vuetify/components')['VCheckbox']
|
2562
|
+
VCheckboxBtn: typeof import('vuetify/components')['VCheckboxBtn']
|
2563
|
+
VCard: typeof import('vuetify/components')['VCard']
|
2564
|
+
VCardActions: typeof import('vuetify/components')['VCardActions']
|
2565
|
+
VCardItem: typeof import('vuetify/components')['VCardItem']
|
2566
|
+
VCardSubtitle: typeof import('vuetify/components')['VCardSubtitle']
|
2567
|
+
VCardText: typeof import('vuetify/components')['VCardText']
|
2568
|
+
VCardTitle: typeof import('vuetify/components')['VCardTitle']
|
2559
2569
|
VChipGroup: typeof import('vuetify/components')['VChipGroup']
|
2560
2570
|
VColorPicker: typeof import('vuetify/components')['VColorPicker']
|
2571
|
+
VBtnGroup: typeof import('vuetify/components')['VBtnGroup']
|
2572
|
+
VCombobox: typeof import('vuetify/components')['VCombobox']
|
2561
2573
|
VCounter: typeof import('vuetify/components')['VCounter']
|
2562
|
-
|
2574
|
+
VChip: typeof import('vuetify/components')['VChip']
|
2563
2575
|
VDataTable: typeof import('vuetify/components')['VDataTable']
|
2564
2576
|
VDataTableHeaders: typeof import('vuetify/components')['VDataTableHeaders']
|
2565
2577
|
VDataTableFooter: typeof import('vuetify/components')['VDataTableFooter']
|
@@ -2567,39 +2579,37 @@ declare module 'vue' {
|
|
2567
2579
|
VDataTableRow: typeof import('vuetify/components')['VDataTableRow']
|
2568
2580
|
VDataTableVirtual: typeof import('vuetify/components')['VDataTableVirtual']
|
2569
2581
|
VDataTableServer: typeof import('vuetify/components')['VDataTableServer']
|
2570
|
-
|
2582
|
+
VCode: typeof import('vuetify/components')['VCode']
|
2571
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']
|
2572
2589
|
VDatePicker: typeof import('vuetify/components')['VDatePicker']
|
2573
2590
|
VDatePickerControls: typeof import('vuetify/components')['VDatePickerControls']
|
2574
2591
|
VDatePickerHeader: typeof import('vuetify/components')['VDatePickerHeader']
|
2575
2592
|
VDatePickerMonth: typeof import('vuetify/components')['VDatePickerMonth']
|
2576
2593
|
VDatePickerMonths: typeof import('vuetify/components')['VDatePickerMonths']
|
2577
2594
|
VDatePickerYears: typeof import('vuetify/components')['VDatePickerYears']
|
2578
|
-
VEmptyState: typeof import('vuetify/components')['VEmptyState']
|
2579
2595
|
VDivider: typeof import('vuetify/components')['VDivider']
|
2580
2596
|
VField: typeof import('vuetify/components')['VField']
|
2581
2597
|
VFieldLabel: typeof import('vuetify/components')['VFieldLabel']
|
2582
|
-
VExpansionPanels: typeof import('vuetify/components')['VExpansionPanels']
|
2583
|
-
VExpansionPanel: typeof import('vuetify/components')['VExpansionPanel']
|
2584
|
-
VExpansionPanelText: typeof import('vuetify/components')['VExpansionPanelText']
|
2585
|
-
VExpansionPanelTitle: typeof import('vuetify/components')['VExpansionPanelTitle']
|
2586
2598
|
VFab: typeof import('vuetify/components')['VFab']
|
2587
|
-
VBreadcrumbs: typeof import('vuetify/components')['VBreadcrumbs']
|
2588
|
-
VBreadcrumbsItem: typeof import('vuetify/components')['VBreadcrumbsItem']
|
2589
|
-
VBreadcrumbsDivider: typeof import('vuetify/components')['VBreadcrumbsDivider']
|
2590
2599
|
VFileInput: typeof import('vuetify/components')['VFileInput']
|
2591
2600
|
VIcon: typeof import('vuetify/components')['VIcon']
|
2592
2601
|
VComponentIcon: typeof import('vuetify/components')['VComponentIcon']
|
2593
2602
|
VSvgIcon: typeof import('vuetify/components')['VSvgIcon']
|
2594
2603
|
VLigatureIcon: typeof import('vuetify/components')['VLigatureIcon']
|
2595
2604
|
VClassIcon: typeof import('vuetify/components')['VClassIcon']
|
2596
|
-
|
2605
|
+
VFooter: typeof import('vuetify/components')['VFooter']
|
2597
2606
|
VImg: typeof import('vuetify/components')['VImg']
|
2598
|
-
|
2607
|
+
VInfiniteScroll: typeof import('vuetify/components')['VInfiniteScroll']
|
2608
|
+
VInput: typeof import('vuetify/components')['VInput']
|
2599
2609
|
VItemGroup: typeof import('vuetify/components')['VItemGroup']
|
2600
2610
|
VItem: typeof import('vuetify/components')['VItem']
|
2601
|
-
|
2602
|
-
|
2611
|
+
VLabel: typeof import('vuetify/components')['VLabel']
|
2612
|
+
VKbd: typeof import('vuetify/components')['VKbd']
|
2603
2613
|
VList: typeof import('vuetify/components')['VList']
|
2604
2614
|
VListGroup: typeof import('vuetify/components')['VListGroup']
|
2605
2615
|
VListImg: typeof import('vuetify/components')['VListImg']
|
@@ -2609,79 +2619,71 @@ declare module 'vue' {
|
|
2609
2619
|
VListItemSubtitle: typeof import('vuetify/components')['VListItemSubtitle']
|
2610
2620
|
VListItemTitle: typeof import('vuetify/components')['VListItemTitle']
|
2611
2621
|
VListSubheader: typeof import('vuetify/components')['VListSubheader']
|
2622
|
+
VMain: typeof import('vuetify/components')['VMain']
|
2612
2623
|
VMenu: typeof import('vuetify/components')['VMenu']
|
2624
|
+
VNumberInput: typeof import('vuetify/components')['VNumberInput']
|
2613
2625
|
VNavigationDrawer: typeof import('vuetify/components')['VNavigationDrawer']
|
2614
2626
|
VOtpInput: typeof import('vuetify/components')['VOtpInput']
|
2615
|
-
VNumberInput: typeof import('vuetify/components')['VNumberInput']
|
2616
|
-
VOverlay: typeof import('vuetify/components')['VOverlay']
|
2617
2627
|
VMessages: typeof import('vuetify/components')['VMessages']
|
2618
|
-
VPagination: typeof import('vuetify/components')['VPagination']
|
2619
|
-
VProgressLinear: typeof import('vuetify/components')['VProgressLinear']
|
2620
2628
|
VProgressCircular: typeof import('vuetify/components')['VProgressCircular']
|
2621
|
-
|
2629
|
+
VProgressLinear: typeof import('vuetify/components')['VProgressLinear']
|
2630
|
+
VOverlay: typeof import('vuetify/components')['VOverlay']
|
2622
2631
|
VRating: typeof import('vuetify/components')['VRating']
|
2623
|
-
|
2624
|
-
|
2625
|
-
VCardItem: typeof import('vuetify/components')['VCardItem']
|
2626
|
-
VCardSubtitle: typeof import('vuetify/components')['VCardSubtitle']
|
2627
|
-
VCardText: typeof import('vuetify/components')['VCardText']
|
2628
|
-
VCardTitle: typeof import('vuetify/components')['VCardTitle']
|
2632
|
+
VRadioGroup: typeof import('vuetify/components')['VRadioGroup']
|
2633
|
+
VPagination: typeof import('vuetify/components')['VPagination']
|
2629
2634
|
VSelect: typeof import('vuetify/components')['VSelect']
|
2635
|
+
VSheet: typeof import('vuetify/components')['VSheet']
|
2636
|
+
VSnackbar: typeof import('vuetify/components')['VSnackbar']
|
2630
2637
|
VSelectionControl: typeof import('vuetify/components')['VSelectionControl']
|
2631
|
-
VSelectionControlGroup: typeof import('vuetify/components')['VSelectionControlGroup']
|
2632
|
-
VSkeletonLoader: typeof import('vuetify/components')['VSkeletonLoader']
|
2633
2638
|
VSlideGroup: typeof import('vuetify/components')['VSlideGroup']
|
2634
2639
|
VSlideGroupItem: typeof import('vuetify/components')['VSlideGroupItem']
|
2640
|
+
VSelectionControlGroup: typeof import('vuetify/components')['VSelectionControlGroup']
|
2635
2641
|
VSlider: typeof import('vuetify/components')['VSlider']
|
2636
|
-
|
2637
|
-
|
2642
|
+
VSwitch: typeof import('vuetify/components')['VSwitch']
|
2643
|
+
VTable: typeof import('vuetify/components')['VTable']
|
2638
2644
|
VTab: typeof import('vuetify/components')['VTab']
|
2639
2645
|
VTabs: typeof import('vuetify/components')['VTabs']
|
2640
2646
|
VTabsWindow: typeof import('vuetify/components')['VTabsWindow']
|
2641
2647
|
VTabsWindowItem: typeof import('vuetify/components')['VTabsWindowItem']
|
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
|
-
VTextarea: typeof import('vuetify/components')['VTextarea']
|
2649
2648
|
VSystemBar: typeof import('vuetify/components')['VSystemBar']
|
2650
|
-
|
2651
|
-
VSwitch: typeof import('vuetify/components')['VSwitch']
|
2649
|
+
VTextField: typeof import('vuetify/components')['VTextField']
|
2652
2650
|
VTimeline: typeof import('vuetify/components')['VTimeline']
|
2653
2651
|
VTimelineItem: typeof import('vuetify/components')['VTimelineItem']
|
2654
2652
|
VToolbar: typeof import('vuetify/components')['VToolbar']
|
2655
2653
|
VToolbarTitle: typeof import('vuetify/components')['VToolbarTitle']
|
2656
2654
|
VToolbarItems: typeof import('vuetify/components')['VToolbarItems']
|
2657
2655
|
VTooltip: typeof import('vuetify/components')['VTooltip']
|
2658
|
-
VTextField: typeof import('vuetify/components')['VTextField']
|
2659
2656
|
VWindow: typeof import('vuetify/components')['VWindow']
|
2660
2657
|
VWindowItem: typeof import('vuetify/components')['VWindowItem']
|
2658
|
+
VConfirmEdit: typeof import('vuetify/components')['VConfirmEdit']
|
2661
2659
|
VDataIterator: typeof import('vuetify/components')['VDataIterator']
|
2662
2660
|
VDefaultsProvider: typeof import('vuetify/components')['VDefaultsProvider']
|
2663
|
-
|
2664
|
-
|
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']
|
2665
2667
|
VHover: typeof import('vuetify/components')['VHover']
|
2666
|
-
|
2667
|
-
VCol: typeof import('vuetify/components')['VCol']
|
2668
|
-
VRow: typeof import('vuetify/components')['VRow']
|
2669
|
-
VSpacer: typeof import('vuetify/components')['VSpacer']
|
2668
|
+
VLazy: typeof import('vuetify/components')['VLazy']
|
2670
2669
|
VLayout: typeof import('vuetify/components')['VLayout']
|
2671
2670
|
VLayoutItem: typeof import('vuetify/components')['VLayoutItem']
|
2672
2671
|
VLocaleProvider: typeof import('vuetify/components')['VLocaleProvider']
|
2673
|
-
VLazy: typeof import('vuetify/components')['VLazy']
|
2674
2672
|
VNoSsr: typeof import('vuetify/components')['VNoSsr']
|
2675
2673
|
VParallax: typeof import('vuetify/components')['VParallax']
|
2676
2674
|
VRadio: typeof import('vuetify/components')['VRadio']
|
2675
|
+
VRangeSlider: typeof import('vuetify/components')['VRangeSlider']
|
2677
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']
|
2678
2681
|
VSparkline: typeof import('vuetify/components')['VSparkline']
|
2679
2682
|
VSpeedDial: typeof import('vuetify/components')['VSpeedDial']
|
2680
|
-
VSnackbarQueue: typeof import('vuetify/components')['VSnackbarQueue']
|
2681
|
-
VValidation: typeof import('vuetify/components')['VValidation']
|
2682
2683
|
VThemeProvider: typeof import('vuetify/components')['VThemeProvider']
|
2684
|
+
VValidation: typeof import('vuetify/components')['VValidation']
|
2683
2685
|
VVirtualScroll: typeof import('vuetify/components')['VVirtualScroll']
|
2684
|
-
|
2686
|
+
VSkeletonLoader: typeof import('vuetify/components')['VSkeletonLoader']
|
2685
2687
|
VFabTransition: typeof import('vuetify/components')['VFabTransition']
|
2686
2688
|
VDialogBottomTransition: typeof import('vuetify/components')['VDialogBottomTransition']
|
2687
2689
|
VDialogTopTransition: typeof import('vuetify/components')['VDialogTopTransition']
|
@@ -2698,32 +2700,30 @@ declare module 'vue' {
|
|
2698
2700
|
VExpandTransition: typeof import('vuetify/components')['VExpandTransition']
|
2699
2701
|
VExpandXTransition: typeof import('vuetify/components')['VExpandXTransition']
|
2700
2702
|
VDialogTransition: typeof import('vuetify/components')['VDialogTransition']
|
2701
|
-
|
2702
|
-
|
2703
|
-
|
2704
|
-
|
2705
|
-
|
2703
|
+
VForm: typeof import('vuetify/components')['VForm']
|
2704
|
+
VTextarea: typeof import('vuetify/components')['VTextarea']
|
2705
|
+
VSnackbarQueue: typeof import('vuetify/components')['VSnackbarQueue']
|
2706
|
+
VFileUpload: typeof import('vuetify/labs/components')['VFileUpload']
|
2707
|
+
VFileUploadItem: typeof import('vuetify/labs/components')['VFileUploadItem']
|
2708
|
+
VTimePicker: typeof import('vuetify/labs/components')['VTimePicker']
|
2709
|
+
VTimePickerClock: typeof import('vuetify/labs/components')['VTimePickerClock']
|
2710
|
+
VTimePickerControls: typeof import('vuetify/labs/components')['VTimePickerControls']
|
2706
2711
|
VCalendar: typeof import('vuetify/labs/components')['VCalendar']
|
2707
2712
|
VCalendarDay: typeof import('vuetify/labs/components')['VCalendarDay']
|
2708
2713
|
VCalendarHeader: typeof import('vuetify/labs/components')['VCalendarHeader']
|
2709
2714
|
VCalendarInterval: typeof import('vuetify/labs/components')['VCalendarInterval']
|
2710
2715
|
VCalendarIntervalEvent: typeof import('vuetify/labs/components')['VCalendarIntervalEvent']
|
2711
2716
|
VCalendarMonthDay: typeof import('vuetify/labs/components')['VCalendarMonthDay']
|
2712
|
-
VFileUpload: typeof import('vuetify/labs/components')['VFileUpload']
|
2713
|
-
VFileUploadItem: typeof import('vuetify/labs/components')['VFileUploadItem']
|
2714
|
-
VIconBtn: typeof import('vuetify/labs/components')['VIconBtn']
|
2715
|
-
VPicker: typeof import('vuetify/labs/components')['VPicker']
|
2716
|
-
VPickerTitle: typeof import('vuetify/labs/components')['VPickerTitle']
|
2717
2717
|
VTreeview: typeof import('vuetify/labs/components')['VTreeview']
|
2718
2718
|
VTreeviewItem: typeof import('vuetify/labs/components')['VTreeviewItem']
|
2719
2719
|
VTreeviewGroup: typeof import('vuetify/labs/components')['VTreeviewGroup']
|
2720
2720
|
VStepperVertical: typeof import('vuetify/labs/components')['VStepperVertical']
|
2721
2721
|
VStepperVerticalItem: typeof import('vuetify/labs/components')['VStepperVerticalItem']
|
2722
2722
|
VStepperVerticalActions: typeof import('vuetify/labs/components')['VStepperVerticalActions']
|
2723
|
-
|
2724
|
-
|
2725
|
-
|
2726
|
-
VPullToRefresh: typeof import('vuetify/labs/components')['VPullToRefresh']
|
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);
|