@vuetify/nightly 3.9.0-beta.1-dev.2025-07-05 → 3.9.0-master.2025-07-08
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 +3 -117
- package/dist/json/attributes.json +3556 -3520
- package/dist/json/importMap-labs.json +32 -32
- package/dist/json/importMap.json +140 -140
- package/dist/json/tags.json +9 -0
- package/dist/json/web-types.json +6422 -6333
- package/dist/vuetify-labs.cjs +124 -32
- package/dist/vuetify-labs.css +5401 -5344
- package/dist/vuetify-labs.d.ts +271 -176
- package/dist/vuetify-labs.esm.js +124 -32
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +124 -32
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.cjs +123 -31
- package/dist/vuetify.cjs.map +1 -1
- package/dist/vuetify.css +4117 -4060
- package/dist/vuetify.d.ts +271 -176
- package/dist/vuetify.esm.js +123 -31
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +123 -31
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +1083 -1079
- package/dist/vuetify.min.js.map +1 -1
- package/lib/components/VAutocomplete/VAutocomplete.d.ts +39 -14
- package/lib/components/VAutocomplete/VAutocomplete.js +2 -2
- package/lib/components/VAutocomplete/VAutocomplete.js.map +1 -1
- package/lib/components/VCombobox/VCombobox.d.ts +39 -14
- package/lib/components/VCombobox/VCombobox.js +2 -2
- package/lib/components/VCombobox/VCombobox.js.map +1 -1
- package/lib/components/VDataIterator/composables/items.d.ts +2 -1
- package/lib/components/VDataIterator/composables/items.js.map +1 -1
- package/lib/components/VDataTable/types.d.ts +1 -1
- package/lib/components/VDataTable/types.js.map +1 -1
- package/lib/components/VDatePicker/VDatePicker.js +2 -1
- package/lib/components/VDatePicker/VDatePicker.js.map +1 -1
- package/lib/components/VList/VList.d.ts +24 -27
- package/lib/components/VList/VList.js +0 -4
- package/lib/components/VList/VList.js.map +1 -1
- package/lib/components/VSelect/VSelect.d.ts +58 -22
- package/lib/components/VSelect/VSelect.js +2 -2
- package/lib/components/VSelect/VSelect.js.map +1 -1
- package/lib/components/VTreeview/VTreeview.d.ts +229 -167
- package/lib/components/VTreeview/VTreeview.js +7 -3
- package/lib/components/VTreeview/VTreeview.js.map +1 -1
- package/lib/components/VTreeview/VTreeviewChildren.d.ts +81 -10
- package/lib/components/VTreeview/VTreeviewChildren.js +50 -11
- package/lib/components/VTreeview/VTreeviewChildren.js.map +1 -1
- package/lib/components/VTreeview/VTreeviewItem.css +57 -0
- package/lib/components/VTreeview/VTreeviewItem.d.ts +119 -94
- package/lib/components/VTreeview/VTreeviewItem.js +13 -3
- package/lib/components/VTreeview/VTreeviewItem.js.map +1 -1
- package/lib/components/VTreeview/VTreeviewItem.sass +60 -0
- package/lib/components/VTreeview/_variables.scss +15 -0
- package/lib/composables/filter.d.ts +1 -0
- package/lib/composables/filter.js +1 -1
- package/lib/composables/filter.js.map +1 -1
- package/lib/composables/list-items.d.ts +14 -1
- package/lib/composables/list-items.js +9 -3
- package/lib/composables/list-items.js.map +1 -1
- package/lib/entry-bundler.js +1 -1
- package/lib/entry-bundler.js.map +1 -1
- package/lib/framework.d.ts +56 -55
- package/lib/framework.js +1 -1
- package/lib/framework.js.map +1 -1
- package/lib/labs/VCalendar/VCalendar.js +1 -1
- package/lib/labs/VCalendar/VCalendar.js.map +1 -1
- package/lib/util/helpers.d.ts +3 -0
- package/lib/util/helpers.js +4 -0
- package/lib/util/helpers.js.map +1 -1
- package/lib/util/indentLines.d.ts +17 -0
- package/lib/util/indentLines.js +34 -0
- package/lib/util/indentLines.js.map +1 -0
- package/lib/util/index.d.ts +1 -0
- package/lib/util/index.js +1 -0
- package/lib/util/index.js.map +1 -1
- package/package.json +1 -1
package/lib/framework.d.ts
CHANGED
@@ -439,6 +439,7 @@ type FilterFunction = (value: string, query: string, item?: InternalItem) => Fil
|
|
439
439
|
interface InternalItem<T = any> {
|
440
440
|
value: any;
|
441
441
|
raw: T;
|
442
|
+
type?: string;
|
442
443
|
}
|
443
444
|
|
444
445
|
type ValidationResult = string | boolean;
|
@@ -618,7 +619,7 @@ type InternalDataTableHeader = Omit<DataTableHeader, 'key' | 'value' | 'children
|
|
618
619
|
rowspan?: number;
|
619
620
|
children?: InternalDataTableHeader[];
|
620
621
|
};
|
621
|
-
interface DataTableItem<T = any> extends InternalItem<T>, GroupableItem<T>, SelectableItem {
|
622
|
+
interface DataTableItem<T = any> extends Omit<InternalItem<T>, 'type'>, GroupableItem<T>, SelectableItem {
|
622
623
|
key: any;
|
623
624
|
index: number;
|
624
625
|
columns: {
|
@@ -2576,24 +2577,26 @@ declare module 'vue' {
|
|
2576
2577
|
$children?: VNodeChild
|
2577
2578
|
}
|
2578
2579
|
export interface GlobalComponents {
|
2580
|
+
VApp: typeof import('vuetify/components')['VApp']
|
2579
2581
|
VAppBar: typeof import('vuetify/components')['VAppBar']
|
2580
2582
|
VAppBarNavIcon: typeof import('vuetify/components')['VAppBarNavIcon']
|
2581
2583
|
VAppBarTitle: typeof import('vuetify/components')['VAppBarTitle']
|
2582
|
-
|
2584
|
+
VAutocomplete: typeof import('vuetify/components')['VAutocomplete']
|
2583
2585
|
VAlert: typeof import('vuetify/components')['VAlert']
|
2584
2586
|
VAlertTitle: typeof import('vuetify/components')['VAlertTitle']
|
2585
|
-
VAutocomplete: typeof import('vuetify/components')['VAutocomplete']
|
2586
|
-
VAvatar: typeof import('vuetify/components')['VAvatar']
|
2587
|
-
VBadge: typeof import('vuetify/components')['VBadge']
|
2588
|
-
VBanner: typeof import('vuetify/components')['VBanner']
|
2589
|
-
VBannerActions: typeof import('vuetify/components')['VBannerActions']
|
2590
|
-
VBannerText: typeof import('vuetify/components')['VBannerText']
|
2591
|
-
VBtnGroup: typeof import('vuetify/components')['VBtnGroup']
|
2592
2587
|
VBreadcrumbs: typeof import('vuetify/components')['VBreadcrumbs']
|
2593
2588
|
VBreadcrumbsItem: typeof import('vuetify/components')['VBreadcrumbsItem']
|
2594
2589
|
VBreadcrumbsDivider: typeof import('vuetify/components')['VBreadcrumbsDivider']
|
2590
|
+
VBadge: typeof import('vuetify/components')['VBadge']
|
2591
|
+
VAvatar: typeof import('vuetify/components')['VAvatar']
|
2592
|
+
VBottomNavigation: typeof import('vuetify/components')['VBottomNavigation']
|
2595
2593
|
VBtn: typeof import('vuetify/components')['VBtn']
|
2594
|
+
VBtnGroup: typeof import('vuetify/components')['VBtnGroup']
|
2595
|
+
VBanner: typeof import('vuetify/components')['VBanner']
|
2596
|
+
VBannerActions: typeof import('vuetify/components')['VBannerActions']
|
2597
|
+
VBannerText: typeof import('vuetify/components')['VBannerText']
|
2596
2598
|
VBottomSheet: typeof import('vuetify/components')['VBottomSheet']
|
2599
|
+
VChip: typeof import('vuetify/components')['VChip']
|
2597
2600
|
VCard: typeof import('vuetify/components')['VCard']
|
2598
2601
|
VCardActions: typeof import('vuetify/components')['VCardActions']
|
2599
2602
|
VCardItem: typeof import('vuetify/components')['VCardItem']
|
@@ -2601,22 +2604,23 @@ declare module 'vue' {
|
|
2601
2604
|
VCardText: typeof import('vuetify/components')['VCardText']
|
2602
2605
|
VCardTitle: typeof import('vuetify/components')['VCardTitle']
|
2603
2606
|
VBtnToggle: typeof import('vuetify/components')['VBtnToggle']
|
2604
|
-
VChip: typeof import('vuetify/components')['VChip']
|
2605
|
-
VChipGroup: typeof import('vuetify/components')['VChipGroup']
|
2606
2607
|
VCarousel: typeof import('vuetify/components')['VCarousel']
|
2607
2608
|
VCarouselItem: typeof import('vuetify/components')['VCarouselItem']
|
2609
|
+
VChipGroup: typeof import('vuetify/components')['VChipGroup']
|
2608
2610
|
VCheckbox: typeof import('vuetify/components')['VCheckbox']
|
2609
2611
|
VCheckboxBtn: typeof import('vuetify/components')['VCheckboxBtn']
|
2612
|
+
VColorPicker: typeof import('vuetify/components')['VColorPicker']
|
2610
2613
|
VCode: typeof import('vuetify/components')['VCode']
|
2611
2614
|
VCombobox: typeof import('vuetify/components')['VCombobox']
|
2612
2615
|
VCounter: typeof import('vuetify/components')['VCounter']
|
2613
|
-
|
2616
|
+
VDialog: typeof import('vuetify/components')['VDialog']
|
2614
2617
|
VDatePicker: typeof import('vuetify/components')['VDatePicker']
|
2615
2618
|
VDatePickerControls: typeof import('vuetify/components')['VDatePickerControls']
|
2616
2619
|
VDatePickerHeader: typeof import('vuetify/components')['VDatePickerHeader']
|
2617
2620
|
VDatePickerMonth: typeof import('vuetify/components')['VDatePickerMonth']
|
2618
2621
|
VDatePickerMonths: typeof import('vuetify/components')['VDatePickerMonths']
|
2619
2622
|
VDatePickerYears: typeof import('vuetify/components')['VDatePickerYears']
|
2623
|
+
VDivider: typeof import('vuetify/components')['VDivider']
|
2620
2624
|
VDataTable: typeof import('vuetify/components')['VDataTable']
|
2621
2625
|
VDataTableHeaders: typeof import('vuetify/components')['VDataTableHeaders']
|
2622
2626
|
VDataTableFooter: typeof import('vuetify/components')['VDataTableFooter']
|
@@ -2624,9 +2628,8 @@ declare module 'vue' {
|
|
2624
2628
|
VDataTableRow: typeof import('vuetify/components')['VDataTableRow']
|
2625
2629
|
VDataTableVirtual: typeof import('vuetify/components')['VDataTableVirtual']
|
2626
2630
|
VDataTableServer: typeof import('vuetify/components')['VDataTableServer']
|
2627
|
-
VBottomNavigation: typeof import('vuetify/components')['VBottomNavigation']
|
2628
|
-
VDialog: typeof import('vuetify/components')['VDialog']
|
2629
2631
|
VEmptyState: typeof import('vuetify/components')['VEmptyState']
|
2632
|
+
VFab: typeof import('vuetify/components')['VFab']
|
2630
2633
|
VExpansionPanels: typeof import('vuetify/components')['VExpansionPanels']
|
2631
2634
|
VExpansionPanel: typeof import('vuetify/components')['VExpansionPanel']
|
2632
2635
|
VExpansionPanelText: typeof import('vuetify/components')['VExpansionPanelText']
|
@@ -2634,20 +2637,16 @@ declare module 'vue' {
|
|
2634
2637
|
VFileInput: typeof import('vuetify/components')['VFileInput']
|
2635
2638
|
VField: typeof import('vuetify/components')['VField']
|
2636
2639
|
VFieldLabel: typeof import('vuetify/components')['VFieldLabel']
|
2637
|
-
|
2638
|
-
|
2639
|
-
VItemGroup: typeof import('vuetify/components')['VItemGroup']
|
2640
|
-
VItem: typeof import('vuetify/components')['VItem']
|
2641
|
-
VInfiniteScroll: typeof import('vuetify/components')['VInfiniteScroll']
|
2640
|
+
VFooter: typeof import('vuetify/components')['VFooter']
|
2641
|
+
VImg: typeof import('vuetify/components')['VImg']
|
2642
2642
|
VIcon: typeof import('vuetify/components')['VIcon']
|
2643
2643
|
VComponentIcon: typeof import('vuetify/components')['VComponentIcon']
|
2644
2644
|
VSvgIcon: typeof import('vuetify/components')['VSvgIcon']
|
2645
2645
|
VLigatureIcon: typeof import('vuetify/components')['VLigatureIcon']
|
2646
2646
|
VClassIcon: typeof import('vuetify/components')['VClassIcon']
|
2647
|
-
|
2648
|
-
VInput: typeof import('vuetify/components')['VInput']
|
2649
|
-
VLabel: typeof import('vuetify/components')['VLabel']
|
2647
|
+
VInfiniteScroll: typeof import('vuetify/components')['VInfiniteScroll']
|
2650
2648
|
VKbd: typeof import('vuetify/components')['VKbd']
|
2649
|
+
VInput: typeof import('vuetify/components')['VInput']
|
2651
2650
|
VList: typeof import('vuetify/components')['VList']
|
2652
2651
|
VListGroup: typeof import('vuetify/components')['VListGroup']
|
2653
2652
|
VListImg: typeof import('vuetify/components')['VListImg']
|
@@ -2657,25 +2656,30 @@ declare module 'vue' {
|
|
2657
2656
|
VListItemSubtitle: typeof import('vuetify/components')['VListItemSubtitle']
|
2658
2657
|
VListItemTitle: typeof import('vuetify/components')['VListItemTitle']
|
2659
2658
|
VListSubheader: typeof import('vuetify/components')['VListSubheader']
|
2660
|
-
|
2659
|
+
VItemGroup: typeof import('vuetify/components')['VItemGroup']
|
2660
|
+
VItem: typeof import('vuetify/components')['VItem']
|
2661
|
+
VLabel: typeof import('vuetify/components')['VLabel']
|
2661
2662
|
VMain: typeof import('vuetify/components')['VMain']
|
2662
|
-
|
2663
|
+
VNumberInput: typeof import('vuetify/components')['VNumberInput']
|
2664
|
+
VMenu: typeof import('vuetify/components')['VMenu']
|
2663
2665
|
VMessages: typeof import('vuetify/components')['VMessages']
|
2666
|
+
VNavigationDrawer: typeof import('vuetify/components')['VNavigationDrawer']
|
2667
|
+
VPagination: typeof import('vuetify/components')['VPagination']
|
2664
2668
|
VOtpInput: typeof import('vuetify/components')['VOtpInput']
|
2665
|
-
VProgressCircular: typeof import('vuetify/components')['VProgressCircular']
|
2666
2669
|
VOverlay: typeof import('vuetify/components')['VOverlay']
|
2667
|
-
VNumberInput: typeof import('vuetify/components')['VNumberInput']
|
2668
|
-
VSelect: typeof import('vuetify/components')['VSelect']
|
2669
|
-
VSelectionControlGroup: typeof import('vuetify/components')['VSelectionControlGroup']
|
2670
|
-
VPagination: typeof import('vuetify/components')['VPagination']
|
2671
2670
|
VRadioGroup: typeof import('vuetify/components')['VRadioGroup']
|
2671
|
+
VProgressLinear: typeof import('vuetify/components')['VProgressLinear']
|
2672
|
+
VProgressCircular: typeof import('vuetify/components')['VProgressCircular']
|
2672
2673
|
VRating: typeof import('vuetify/components')['VRating']
|
2673
|
-
|
2674
|
+
VSelect: typeof import('vuetify/components')['VSelect']
|
2675
|
+
VSheet: typeof import('vuetify/components')['VSheet']
|
2674
2676
|
VSelectionControl: typeof import('vuetify/components')['VSelectionControl']
|
2677
|
+
VSkeletonLoader: typeof import('vuetify/components')['VSkeletonLoader']
|
2678
|
+
VSelectionControlGroup: typeof import('vuetify/components')['VSelectionControlGroup']
|
2675
2679
|
VSlider: typeof import('vuetify/components')['VSlider']
|
2676
|
-
VSheet: typeof import('vuetify/components')['VSheet']
|
2677
2680
|
VSlideGroup: typeof import('vuetify/components')['VSlideGroup']
|
2678
2681
|
VSlideGroupItem: typeof import('vuetify/components')['VSlideGroupItem']
|
2682
|
+
VSnackbar: typeof import('vuetify/components')['VSnackbar']
|
2679
2683
|
VStepper: typeof import('vuetify/components')['VStepper']
|
2680
2684
|
VStepperActions: typeof import('vuetify/components')['VStepperActions']
|
2681
2685
|
VStepperHeader: typeof import('vuetify/components')['VStepperHeader']
|
@@ -2684,23 +2688,22 @@ declare module 'vue' {
|
|
2684
2688
|
VStepperWindowItem: typeof import('vuetify/components')['VStepperWindowItem']
|
2685
2689
|
VSwitch: typeof import('vuetify/components')['VSwitch']
|
2686
2690
|
VSystemBar: typeof import('vuetify/components')['VSystemBar']
|
2687
|
-
VSnackbar: typeof import('vuetify/components')['VSnackbar']
|
2688
|
-
VTimePicker: typeof import('vuetify/components')['VTimePicker']
|
2689
|
-
VTimePickerClock: typeof import('vuetify/components')['VTimePickerClock']
|
2690
|
-
VTimePickerControls: typeof import('vuetify/components')['VTimePickerControls']
|
2691
|
-
VTextField: typeof import('vuetify/components')['VTextField']
|
2692
2691
|
VTab: typeof import('vuetify/components')['VTab']
|
2693
2692
|
VTabs: typeof import('vuetify/components')['VTabs']
|
2694
2693
|
VTabsWindow: typeof import('vuetify/components')['VTabsWindow']
|
2695
2694
|
VTabsWindowItem: typeof import('vuetify/components')['VTabsWindowItem']
|
2696
|
-
|
2695
|
+
VTextField: typeof import('vuetify/components')['VTextField']
|
2697
2696
|
VTable: typeof import('vuetify/components')['VTable']
|
2697
|
+
VTimePicker: typeof import('vuetify/components')['VTimePicker']
|
2698
|
+
VTimePickerClock: typeof import('vuetify/components')['VTimePickerClock']
|
2699
|
+
VTimePickerControls: typeof import('vuetify/components')['VTimePickerControls']
|
2698
2700
|
VTimeline: typeof import('vuetify/components')['VTimeline']
|
2699
2701
|
VTimelineItem: typeof import('vuetify/components')['VTimelineItem']
|
2702
|
+
VTextarea: typeof import('vuetify/components')['VTextarea']
|
2703
|
+
VTooltip: typeof import('vuetify/components')['VTooltip']
|
2700
2704
|
VToolbar: typeof import('vuetify/components')['VToolbar']
|
2701
2705
|
VToolbarTitle: typeof import('vuetify/components')['VToolbarTitle']
|
2702
2706
|
VToolbarItems: typeof import('vuetify/components')['VToolbarItems']
|
2703
|
-
VTooltip: typeof import('vuetify/components')['VTooltip']
|
2704
2707
|
VTreeview: typeof import('vuetify/components')['VTreeview']
|
2705
2708
|
VTreeviewItem: typeof import('vuetify/components')['VTreeviewItem']
|
2706
2709
|
VTreeviewGroup: typeof import('vuetify/components')['VTreeviewGroup']
|
@@ -2714,20 +2717,20 @@ declare module 'vue' {
|
|
2714
2717
|
VRow: typeof import('vuetify/components')['VRow']
|
2715
2718
|
VSpacer: typeof import('vuetify/components')['VSpacer']
|
2716
2719
|
VForm: typeof import('vuetify/components')['VForm']
|
2720
|
+
VHover: typeof import('vuetify/components')['VHover']
|
2717
2721
|
VLayout: typeof import('vuetify/components')['VLayout']
|
2718
2722
|
VLayoutItem: typeof import('vuetify/components')['VLayoutItem']
|
2719
|
-
VHover: typeof import('vuetify/components')['VHover']
|
2720
2723
|
VLazy: typeof import('vuetify/components')['VLazy']
|
2721
2724
|
VLocaleProvider: typeof import('vuetify/components')['VLocaleProvider']
|
2722
2725
|
VNoSsr: typeof import('vuetify/components')['VNoSsr']
|
2723
|
-
VRadio: typeof import('vuetify/components')['VRadio']
|
2724
|
-
VRangeSlider: typeof import('vuetify/components')['VRangeSlider']
|
2725
2726
|
VParallax: typeof import('vuetify/components')['VParallax']
|
2726
|
-
|
2727
|
+
VRangeSlider: typeof import('vuetify/components')['VRangeSlider']
|
2728
|
+
VRadio: typeof import('vuetify/components')['VRadio']
|
2727
2729
|
VResponsive: typeof import('vuetify/components')['VResponsive']
|
2728
2730
|
VSnackbarQueue: typeof import('vuetify/components')['VSnackbarQueue']
|
2729
|
-
|
2731
|
+
VSparkline: typeof import('vuetify/components')['VSparkline']
|
2730
2732
|
VSpeedDial: typeof import('vuetify/components')['VSpeedDial']
|
2733
|
+
VThemeProvider: typeof import('vuetify/components')['VThemeProvider']
|
2731
2734
|
VValidation: typeof import('vuetify/components')['VValidation']
|
2732
2735
|
VVirtualScroll: typeof import('vuetify/components')['VVirtualScroll']
|
2733
2736
|
VFabTransition: typeof import('vuetify/components')['VFabTransition']
|
@@ -2746,27 +2749,25 @@ declare module 'vue' {
|
|
2746
2749
|
VExpandTransition: typeof import('vuetify/components')['VExpandTransition']
|
2747
2750
|
VExpandXTransition: typeof import('vuetify/components')['VExpandXTransition']
|
2748
2751
|
VDialogTransition: typeof import('vuetify/components')['VDialogTransition']
|
2749
|
-
|
2750
|
-
VFooter: typeof import('vuetify/components')['VFooter']
|
2752
|
+
VColorInput: typeof import('vuetify/labs/components')['VColorInput']
|
2751
2753
|
VFileUpload: typeof import('vuetify/labs/components')['VFileUpload']
|
2752
2754
|
VFileUploadItem: typeof import('vuetify/labs/components')['VFileUploadItem']
|
2753
|
-
|
2754
|
-
VCalendarDay: typeof import('vuetify/labs/components')['VCalendarDay']
|
2755
|
-
VCalendarHeader: typeof import('vuetify/labs/components')['VCalendarHeader']
|
2756
|
-
VCalendarInterval: typeof import('vuetify/labs/components')['VCalendarInterval']
|
2757
|
-
VCalendarIntervalEvent: typeof import('vuetify/labs/components')['VCalendarIntervalEvent']
|
2758
|
-
VCalendarMonthDay: typeof import('vuetify/labs/components')['VCalendarMonthDay']
|
2755
|
+
VIconBtn: typeof import('vuetify/labs/components')['VIconBtn']
|
2759
2756
|
VPicker: typeof import('vuetify/labs/components')['VPicker']
|
2760
2757
|
VPickerTitle: typeof import('vuetify/labs/components')['VPickerTitle']
|
2761
2758
|
VStepperVertical: typeof import('vuetify/labs/components')['VStepperVertical']
|
2762
2759
|
VStepperVerticalItem: typeof import('vuetify/labs/components')['VStepperVerticalItem']
|
2763
2760
|
VStepperVerticalActions: typeof import('vuetify/labs/components')['VStepperVerticalActions']
|
2764
|
-
VColorInput: typeof import('vuetify/labs/components')['VColorInput']
|
2765
|
-
VIconBtn: typeof import('vuetify/labs/components')['VIconBtn']
|
2766
|
-
VDateInput: typeof import('vuetify/labs/components')['VDateInput']
|
2767
2761
|
VHotkey: typeof import('vuetify/labs/components')['VHotkey']
|
2768
|
-
|
2762
|
+
VDateInput: typeof import('vuetify/labs/components')['VDateInput']
|
2769
2763
|
VMaskInput: typeof import('vuetify/labs/components')['VMaskInput']
|
2764
|
+
VPullToRefresh: typeof import('vuetify/labs/components')['VPullToRefresh']
|
2765
|
+
VCalendar: typeof import('vuetify/labs/components')['VCalendar']
|
2766
|
+
VCalendarDay: typeof import('vuetify/labs/components')['VCalendarDay']
|
2767
|
+
VCalendarHeader: typeof import('vuetify/labs/components')['VCalendarHeader']
|
2768
|
+
VCalendarInterval: typeof import('vuetify/labs/components')['VCalendarInterval']
|
2769
|
+
VCalendarIntervalEvent: typeof import('vuetify/labs/components')['VCalendarIntervalEvent']
|
2770
|
+
VCalendarMonthDay: typeof import('vuetify/labs/components')['VCalendarMonthDay']
|
2770
2771
|
}
|
2771
2772
|
export interface GlobalDirectives {
|
2772
2773
|
vClickOutside: typeof import('vuetify/directives')['ClickOutside']
|
package/lib/framework.js
CHANGED
@@ -109,7 +109,7 @@ export function createVuetify() {
|
|
109
109
|
};
|
110
110
|
});
|
111
111
|
}
|
112
|
-
export const version = "3.9.0-
|
112
|
+
export const version = "3.9.0-master.2025-07-08";
|
113
113
|
createVuetify.version = version;
|
114
114
|
|
115
115
|
// Vue's inject() can only be used in setup
|
package/lib/framework.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"framework.js","names":["createDate","DateAdapterSymbol","DateOptionsSymbol","createDefaults","DefaultsSymbol","createDisplay","DisplaySymbol","createGoTo","GoToSymbol","createIcons","IconSymbol","createLocale","LocaleSymbol","createTheme","ThemeSymbol","effectScope","nextTick","reactive","defineComponent","IN_BROWSER","mergeDeep","createVuetify","vuetify","arguments","length","undefined","blueprint","rest","options","aliases","components","directives","scope","run","defaults","display","ssr","theme","icons","locale","date","goTo","install","app","key","directive","component","name","aliasName","appScope","onUnmount","stop","provide","instance","$nuxt","hook","update","mount","vm","__VUE_OPTIONS_API__","mixin","computed","$vuetify","inject","call","unmount","version","$","provides","parent","vnode","appContext"],"sources":["../src/framework.ts"],"sourcesContent":["// Composables\nimport { createDate, DateAdapterSymbol, DateOptionsSymbol } from '@/composables/date/date'\nimport { createDefaults, DefaultsSymbol } from '@/composables/defaults'\nimport { createDisplay, DisplaySymbol } from '@/composables/display'\nimport { createGoTo, GoToSymbol } from '@/composables/goto'\nimport { createIcons, IconSymbol } from '@/composables/icons'\nimport { createLocale, LocaleSymbol } from '@/composables/locale'\nimport { createTheme, ThemeSymbol } from '@/composables/theme'\n\n// Utilities\nimport { effectScope, nextTick, reactive } from 'vue'\nimport { defineComponent, IN_BROWSER, mergeDeep } from '@/util'\n\n// Types\nimport type { App, ComponentPublicInstance, InjectionKey } from 'vue'\nimport type { DateOptions } from '@/composables/date'\nimport type { DefaultsOptions } from '@/composables/defaults'\nimport type { DisplayOptions, SSROptions } from '@/composables/display'\nimport type { GoToOptions } from '@/composables/goto'\nimport type { IconOptions } from '@/composables/icons'\nimport type { LocaleOptions, RtlOptions } from '@/composables/locale'\nimport type { ThemeOptions } from '@/composables/theme'\n\n// Exports\nexport * from './composables'\nexport * from './types'\n\nexport interface VuetifyOptions {\n aliases?: Record<string, any>\n blueprint?: Blueprint\n components?: Record<string, any>\n date?: DateOptions\n directives?: Record<string, any>\n defaults?: DefaultsOptions\n display?: DisplayOptions\n goTo?: GoToOptions\n theme?: ThemeOptions\n icons?: IconOptions\n locale?: LocaleOptions & RtlOptions\n ssr?: SSROptions\n}\n\nexport interface Blueprint extends Omit<VuetifyOptions, 'blueprint'> {}\n\nexport function createVuetify (vuetify: VuetifyOptions = {}) {\n const { blueprint, ...rest } = vuetify\n const options: VuetifyOptions = mergeDeep(blueprint, rest)\n const {\n aliases = {},\n components = {},\n directives = {},\n } = options\n\n const scope = effectScope()\n return scope.run(() => {\n const defaults = createDefaults(options.defaults)\n const display = createDisplay(options.display, options.ssr)\n const theme = createTheme(options.theme)\n const icons = createIcons(options.icons)\n const locale = createLocale(options.locale)\n const date = createDate(options.date, locale)\n const goTo = createGoTo(options.goTo, locale)\n\n function install (app: App) {\n for (const key in directives) {\n app.directive(key, directives[key])\n }\n\n for (const key in components) {\n app.component(key, components[key])\n }\n\n for (const key in aliases) {\n app.component(key, defineComponent({\n ...aliases[key],\n name: key,\n aliasName: aliases[key].name,\n }))\n }\n\n const appScope = effectScope()\n appScope.run(() => {\n theme.install(app)\n })\n app.onUnmount(() => appScope.stop())\n\n app.provide(DefaultsSymbol, defaults)\n app.provide(DisplaySymbol, display)\n app.provide(ThemeSymbol, theme)\n app.provide(IconSymbol, icons)\n app.provide(LocaleSymbol, locale)\n app.provide(DateOptionsSymbol, date.options)\n app.provide(DateAdapterSymbol, date.instance)\n app.provide(GoToSymbol, goTo)\n\n if (IN_BROWSER && options.ssr) {\n if (app.$nuxt) {\n app.$nuxt.hook('app:suspense:resolve', () => {\n display.update()\n })\n } else {\n const { mount } = app\n app.mount = (...args) => {\n const vm = mount(...args)\n nextTick(() => display.update())\n app.mount = mount\n return vm\n }\n }\n }\n\n if (typeof __VUE_OPTIONS_API__ !== 'boolean' || __VUE_OPTIONS_API__) {\n app.mixin({\n computed: {\n $vuetify () {\n return reactive({\n defaults: inject.call(this, DefaultsSymbol),\n display: inject.call(this, DisplaySymbol),\n theme: inject.call(this, ThemeSymbol),\n icons: inject.call(this, IconSymbol),\n locale: inject.call(this, LocaleSymbol),\n date: inject.call(this, DateAdapterSymbol),\n })\n },\n },\n })\n }\n }\n\n function unmount () {\n scope.stop()\n }\n\n return {\n install,\n unmount,\n defaults,\n display,\n theme,\n icons,\n locale,\n date,\n goTo,\n }\n })!\n}\n\nexport const version = __VUETIFY_VERSION__\ncreateVuetify.version = version\n\n// Vue's inject() can only be used in setup\nfunction inject (this: ComponentPublicInstance, key: InjectionKey<any> | string) {\n const vm = this.$\n\n const provides = vm.parent?.provides ?? vm.vnode.appContext?.provides\n\n if (provides && (key as any) in provides) {\n return provides[(key as string)]\n }\n}\n"],"mappings":"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
|
1
|
+
{"version":3,"file":"framework.js","names":["createDate","DateAdapterSymbol","DateOptionsSymbol","createDefaults","DefaultsSymbol","createDisplay","DisplaySymbol","createGoTo","GoToSymbol","createIcons","IconSymbol","createLocale","LocaleSymbol","createTheme","ThemeSymbol","effectScope","nextTick","reactive","defineComponent","IN_BROWSER","mergeDeep","createVuetify","vuetify","arguments","length","undefined","blueprint","rest","options","aliases","components","directives","scope","run","defaults","display","ssr","theme","icons","locale","date","goTo","install","app","key","directive","component","name","aliasName","appScope","onUnmount","stop","provide","instance","$nuxt","hook","update","mount","vm","__VUE_OPTIONS_API__","mixin","computed","$vuetify","inject","call","unmount","version","$","provides","parent","vnode","appContext"],"sources":["../src/framework.ts"],"sourcesContent":["// Composables\nimport { createDate, DateAdapterSymbol, DateOptionsSymbol } from '@/composables/date/date'\nimport { createDefaults, DefaultsSymbol } from '@/composables/defaults'\nimport { createDisplay, DisplaySymbol } from '@/composables/display'\nimport { createGoTo, GoToSymbol } from '@/composables/goto'\nimport { createIcons, IconSymbol } from '@/composables/icons'\nimport { createLocale, LocaleSymbol } from '@/composables/locale'\nimport { createTheme, ThemeSymbol } from '@/composables/theme'\n\n// Utilities\nimport { effectScope, nextTick, reactive } from 'vue'\nimport { defineComponent, IN_BROWSER, mergeDeep } from '@/util'\n\n// Types\nimport type { App, ComponentPublicInstance, InjectionKey } from 'vue'\nimport type { DateOptions } from '@/composables/date'\nimport type { DefaultsOptions } from '@/composables/defaults'\nimport type { DisplayOptions, SSROptions } from '@/composables/display'\nimport type { GoToOptions } from '@/composables/goto'\nimport type { IconOptions } from '@/composables/icons'\nimport type { LocaleOptions, RtlOptions } from '@/composables/locale'\nimport type { ThemeOptions } from '@/composables/theme'\n\n// Exports\nexport * from './composables'\nexport * from './types'\n\nexport interface VuetifyOptions {\n aliases?: Record<string, any>\n blueprint?: Blueprint\n components?: Record<string, any>\n date?: DateOptions\n directives?: Record<string, any>\n defaults?: DefaultsOptions\n display?: DisplayOptions\n goTo?: GoToOptions\n theme?: ThemeOptions\n icons?: IconOptions\n locale?: LocaleOptions & RtlOptions\n ssr?: SSROptions\n}\n\nexport interface Blueprint extends Omit<VuetifyOptions, 'blueprint'> {}\n\nexport function createVuetify (vuetify: VuetifyOptions = {}) {\n const { blueprint, ...rest } = vuetify\n const options: VuetifyOptions = mergeDeep(blueprint, rest)\n const {\n aliases = {},\n components = {},\n directives = {},\n } = options\n\n const scope = effectScope()\n return scope.run(() => {\n const defaults = createDefaults(options.defaults)\n const display = createDisplay(options.display, options.ssr)\n const theme = createTheme(options.theme)\n const icons = createIcons(options.icons)\n const locale = createLocale(options.locale)\n const date = createDate(options.date, locale)\n const goTo = createGoTo(options.goTo, locale)\n\n function install (app: App) {\n for (const key in directives) {\n app.directive(key, directives[key])\n }\n\n for (const key in components) {\n app.component(key, components[key])\n }\n\n for (const key in aliases) {\n app.component(key, defineComponent({\n ...aliases[key],\n name: key,\n aliasName: aliases[key].name,\n }))\n }\n\n const appScope = effectScope()\n appScope.run(() => {\n theme.install(app)\n })\n app.onUnmount(() => appScope.stop())\n\n app.provide(DefaultsSymbol, defaults)\n app.provide(DisplaySymbol, display)\n app.provide(ThemeSymbol, theme)\n app.provide(IconSymbol, icons)\n app.provide(LocaleSymbol, locale)\n app.provide(DateOptionsSymbol, date.options)\n app.provide(DateAdapterSymbol, date.instance)\n app.provide(GoToSymbol, goTo)\n\n if (IN_BROWSER && options.ssr) {\n if (app.$nuxt) {\n app.$nuxt.hook('app:suspense:resolve', () => {\n display.update()\n })\n } else {\n const { mount } = app\n app.mount = (...args) => {\n const vm = mount(...args)\n nextTick(() => display.update())\n app.mount = mount\n return vm\n }\n }\n }\n\n if (typeof __VUE_OPTIONS_API__ !== 'boolean' || __VUE_OPTIONS_API__) {\n app.mixin({\n computed: {\n $vuetify () {\n return reactive({\n defaults: inject.call(this, DefaultsSymbol),\n display: inject.call(this, DisplaySymbol),\n theme: inject.call(this, ThemeSymbol),\n icons: inject.call(this, IconSymbol),\n locale: inject.call(this, LocaleSymbol),\n date: inject.call(this, DateAdapterSymbol),\n })\n },\n },\n })\n }\n }\n\n function unmount () {\n scope.stop()\n }\n\n return {\n install,\n unmount,\n defaults,\n display,\n theme,\n icons,\n locale,\n date,\n goTo,\n }\n })!\n}\n\nexport const version = __VUETIFY_VERSION__\ncreateVuetify.version = version\n\n// Vue's inject() can only be used in setup\nfunction inject (this: ComponentPublicInstance, key: InjectionKey<any> | string) {\n const vm = this.$\n\n const provides = vm.parent?.provides ?? vm.vnode.appContext?.provides\n\n if (provides && (key as any) in provides) {\n return provides[(key as string)]\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
@@ -119,7 +119,7 @@ export const VCalendar = genericComponent()({
|
|
119
119
|
weekNumber: weekNumbers.value[wi],
|
120
120
|
week
|
121
121
|
}))), [weekNumbers.value[wi]]) : '', week.map(day => _createVNode(VCalendarMonthDay, _mergeProps({
|
122
|
-
"key": day.date.getTime()
|
122
|
+
"key": adapter.toJsDate(day.date).getTime()
|
123
123
|
}, calendarDayProps, {
|
124
124
|
"day": day,
|
125
125
|
"title": adapter.format(day.date, 'dayOfMonth'),
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"VCalendar.js","names":["makeVCalendarDayProps","VCalendarDay","makeVCalendarHeaderProps","VCalendarHeader","VCalendarMonthDay","makeCalendarProps","useCalendar","useDate","computed","nextTick","chunkArray","genericComponent","getPrefixedEventHandlers","pick","propsFactory","useRender","makeVCalendarProps","hideHeader","Boolean","hideWeekNumber","VCalendar","name","props","emits","next","prev","today","setup","_ref","attrs","emit","slots","adapter","daysInMonth","daysInWeek","genDays","model","displayValue","weekNumbers","weekdayLabels","onClickNext","viewMode","value","addMonths","addDays","onClickPrev","onClickToday","date","title","format","calendarDayProps","filterProps","calendarHeaderProps","weekdaysCount","length","_createElementVNode","_normalizeClass","header","clickNext","clickPrev","clickToday","_createVNode","_mergeProps","hideDayHeader","map","weekday","week","wi","weekNumber","day","getTime","events","filter","e","isSameDay","start","end","i","dayIndex"],"sources":["../../../src/labs/VCalendar/VCalendar.tsx"],"sourcesContent":["// Styles\nimport './VCalendar.sass'\n\n// Components\nimport { makeVCalendarDayProps, VCalendarDay } from './VCalendarDay'\nimport { makeVCalendarHeaderProps, VCalendarHeader } from './VCalendarHeader'\nimport { VCalendarMonthDay } from './VCalendarMonthDay'\n\n// Composables\nimport { makeCalendarProps, useCalendar } from '@/composables/calendar'\nimport { useDate } from '@/composables/date/date'\n\n// Utilities\nimport { computed, nextTick } from 'vue'\nimport { chunkArray, genericComponent, getPrefixedEventHandlers, pick, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { VCalendarDaySlots } from './VCalendarDay'\nimport type { CalendarDay } from '@/composables/calendar'\n\nexport const makeVCalendarProps = propsFactory({\n hideHeader: Boolean,\n hideWeekNumber: Boolean,\n\n ...makeCalendarProps(),\n ...makeVCalendarDayProps(),\n ...makeVCalendarHeaderProps(),\n}, 'VCalendar')\n\nexport type VCalendarSlots = VCalendarDaySlots & {\n 'day-body': { day?: CalendarDay, events?: Array<any> }\n 'day-title': { title?: number | string }\n 'day-event': { day?: CalendarDay, allDay: boolean, event?: Record<string, unknown> }\n header: { title: string, clickNext: Function, clickPrev: Function, clickToday: Function }\n 'day-interval': { day?: CalendarDay, dayIndex: number, events?: Array<any> }\n title: { title?: string }\n}\n\nexport const VCalendar = genericComponent<VCalendarSlots>()({\n name: 'VCalendar',\n\n props: makeVCalendarProps(),\n\n emits: {\n next: null,\n prev: null,\n today: null,\n 'update:modelValue': null,\n },\n\n setup (props, { attrs, emit, slots }) {\n const adapter = useDate()\n\n const { daysInMonth, daysInWeek, genDays, model, displayValue, weekNumbers, weekdayLabels } = useCalendar(props as any)\n\n function onClickNext () {\n if (props.viewMode === 'month') {\n model.value = [adapter.addMonths(displayValue.value, 1)]\n } else if (props.viewMode === 'week') {\n model.value = [adapter.addDays(displayValue.value, 7)]\n } else if (props.viewMode === 'day') {\n model.value = [adapter.addDays(displayValue.value, 1)]\n }\n nextTick(() => {\n emit('next', model.value[0])\n })\n }\n\n function onClickPrev () {\n if (props.viewMode === 'month') {\n model.value = [adapter.addMonths(displayValue.value, -1)]\n } else if (props.viewMode === 'week') {\n model.value = [adapter.addDays(displayValue.value, -7)]\n } else if (props.viewMode === 'day') {\n model.value = [adapter.addDays(displayValue.value, -1)]\n }\n nextTick(() => {\n emit('prev', model.value[0])\n })\n }\n\n function onClickToday () {\n const date = adapter.date()\n model.value = [date]\n nextTick(() => {\n emit('today', model.value[0])\n })\n }\n\n const title = computed(() => {\n return adapter.format(displayValue.value, 'monthAndYear')\n })\n\n useRender(() => {\n const calendarDayProps = VCalendarDay.filterProps(props)\n const calendarHeaderProps = VCalendarHeader.filterProps(props)\n\n const weekdaysCount = daysInWeek.value.length\n\n return (\n <div class={[\n 'v-calendar',\n {\n 'v-calendar-monthly': props.viewMode === 'month',\n 'v-calendar-weekly': props.viewMode === 'week',\n 'v-calendar-day': props.viewMode === 'day',\n },\n ]}\n >\n <div>\n { !props.hideHeader && (\n slots.header?.({\n title: title.value,\n clickNext: onClickNext,\n clickPrev: onClickPrev,\n clickToday: onClickToday,\n }) ?? (\n <VCalendarHeader\n key=\"calendar-header\"\n { ...calendarHeaderProps }\n title={ title.value }\n onClick:next={ onClickNext }\n onClick:prev={ onClickPrev }\n onClick:toToday={ onClickToday }\n >\n {{ title: slots.title }}\n </VCalendarHeader>\n )\n )}\n </div>\n\n <div class={['v-calendar__container', `days__${weekdaysCount}`]}>\n { props.viewMode === 'month' && !props.hideDayHeader && (\n <div\n class={\n [\n 'v-calendar-weekly__head',\n `days__${weekdaysCount}`,\n ...(!props.hideWeekNumber ? ['v-calendar-weekly__head-weeknumbers'] : []),\n ]\n }\n key=\"calendarWeeklyHead\"\n >\n { !props.hideWeekNumber ? <div key=\"weekNumber0\" class=\"v-calendar-weekly__head-weeknumber\"></div> : '' }\n {\n weekdayLabels.value.map(weekday => (\n <div class={ `v-calendar-weekly__head-weekday${!props.hideWeekNumber ? '-with-weeknumber' : ''}` }>\n { weekday }\n </div>\n ))\n }\n </div>\n )}\n\n { props.viewMode === 'month' && (\n <div\n key=\"VCalendarMonth\"\n class={\n [\n 'v-calendar-month__days',\n `days${!props.hideWeekNumber ? '-with-weeknumbers' : ''}__${weekdaysCount}`,\n ...(!props.hideWeekNumber ? ['v-calendar-month__weeknumbers'] : []),\n ]\n }\n >\n { chunkArray(daysInMonth.value, weekdaysCount)\n .map((week, wi) => (\n [\n !props.hideWeekNumber ? (\n <div\n class=\"v-calendar-month__weeknumber\"\n { ...getPrefixedEventHandlers(attrs, ':weekNumber', () => ({ weekNumber: weekNumbers.value[wi], week })) }\n >{ weekNumbers.value[wi] }</div>\n ) : '',\n week.map(day => (\n <VCalendarMonthDay\n key={ day.date.getTime() }\n { ...calendarDayProps }\n day={ day }\n title={ adapter.format(day.date, 'dayOfMonth') }\n events={ props.events?.filter(e => adapter.isSameDay(day.date, e.start) || adapter.isSameDay(day.date, e.end)) }\n { ...attrs }\n >\n {{\n ...pick(slots, ['day-body', 'day-event', 'day-title']),\n }}\n </VCalendarMonthDay>\n )),\n ]\n ))\n }\n </div>\n )}\n { props.viewMode === 'week' && (\n daysInWeek.value.map((day, i) =>\n slots['day-interval'] ? slots['day-interval']?.({\n ...calendarDayProps,\n day,\n dayIndex: i,\n events: props.events?.filter(e => adapter.isSameDay(e.start, day.date) || adapter.isSameDay(e.end, day.date)),\n }) : (\n <VCalendarDay\n { ...calendarDayProps }\n day={ day }\n dayIndex={ i }\n events={ props.events?.filter(e => adapter.isSameDay(e.start, day.date) || adapter.isSameDay(e.end, day.date)) }\n { ...attrs }\n >\n {{ ...pick(slots, ['interval', 'interval-body', 'interval-event', 'interval-title']) }}\n </VCalendarDay>\n )\n ))\n }\n\n { props.viewMode === 'day' && (\n slots['day-interval'] ? slots['day-interval']({\n day: genDays([displayValue.value as Date], adapter.date() as Date)[0],\n dayIndex: 0,\n events: props.events?.filter(e =>\n adapter.isSameDay(e.start, genDays([displayValue.value as Date], adapter.date() as Date)[0].date) ||\n adapter.isSameDay(e.end, genDays([displayValue.value as Date], adapter.date() as Date)[0].date)\n ),\n }) : (\n <VCalendarDay\n { ...calendarDayProps }\n day={ genDays([model.value[0] as Date], adapter.date() as Date)[0] }\n dayIndex={ 0 }\n events={\n props.events?.filter(e =>\n adapter.isSameDay(e.start, genDays([model.value[0] as Date], adapter.date() as Date)[0].date) ||\n adapter.isSameDay(e.end, genDays([model.value[0] as Date], adapter.date() as Date)[0].date)\n )\n }\n { ...attrs }\n ></VCalendarDay>\n )\n )}\n </div>\n </div>\n )\n })\n\n return { daysInMonth, daysInWeek, genDays }\n },\n})\n\nexport type VCalendar = InstanceType<typeof VCalendar>\n"],"mappings":"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","ignoreList":[]}
|
1
|
+
{"version":3,"file":"VCalendar.js","names":["makeVCalendarDayProps","VCalendarDay","makeVCalendarHeaderProps","VCalendarHeader","VCalendarMonthDay","makeCalendarProps","useCalendar","useDate","computed","nextTick","chunkArray","genericComponent","getPrefixedEventHandlers","pick","propsFactory","useRender","makeVCalendarProps","hideHeader","Boolean","hideWeekNumber","VCalendar","name","props","emits","next","prev","today","setup","_ref","attrs","emit","slots","adapter","daysInMonth","daysInWeek","genDays","model","displayValue","weekNumbers","weekdayLabels","onClickNext","viewMode","value","addMonths","addDays","onClickPrev","onClickToday","date","title","format","calendarDayProps","filterProps","calendarHeaderProps","weekdaysCount","length","_createElementVNode","_normalizeClass","header","clickNext","clickPrev","clickToday","_createVNode","_mergeProps","hideDayHeader","map","weekday","week","wi","weekNumber","day","toJsDate","getTime","events","filter","e","isSameDay","start","end","i","dayIndex"],"sources":["../../../src/labs/VCalendar/VCalendar.tsx"],"sourcesContent":["// Styles\nimport './VCalendar.sass'\n\n// Components\nimport { makeVCalendarDayProps, VCalendarDay } from './VCalendarDay'\nimport { makeVCalendarHeaderProps, VCalendarHeader } from './VCalendarHeader'\nimport { VCalendarMonthDay } from './VCalendarMonthDay'\n\n// Composables\nimport { makeCalendarProps, useCalendar } from '@/composables/calendar'\nimport { useDate } from '@/composables/date/date'\n\n// Utilities\nimport { computed, nextTick } from 'vue'\nimport { chunkArray, genericComponent, getPrefixedEventHandlers, pick, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { VCalendarDaySlots } from './VCalendarDay'\nimport type { CalendarDay } from '@/composables/calendar'\n\nexport const makeVCalendarProps = propsFactory({\n hideHeader: Boolean,\n hideWeekNumber: Boolean,\n\n ...makeCalendarProps(),\n ...makeVCalendarDayProps(),\n ...makeVCalendarHeaderProps(),\n}, 'VCalendar')\n\nexport type VCalendarSlots = VCalendarDaySlots & {\n 'day-body': { day?: CalendarDay, events?: Array<any> }\n 'day-title': { title?: number | string }\n 'day-event': { day?: CalendarDay, allDay: boolean, event?: Record<string, unknown> }\n header: { title: string, clickNext: Function, clickPrev: Function, clickToday: Function }\n 'day-interval': { day?: CalendarDay, dayIndex: number, events?: Array<any> }\n title: { title?: string }\n}\n\nexport const VCalendar = genericComponent<VCalendarSlots>()({\n name: 'VCalendar',\n\n props: makeVCalendarProps(),\n\n emits: {\n next: null,\n prev: null,\n today: null,\n 'update:modelValue': null,\n },\n\n setup (props, { attrs, emit, slots }) {\n const adapter = useDate()\n\n const { daysInMonth, daysInWeek, genDays, model, displayValue, weekNumbers, weekdayLabels } = useCalendar(props as any)\n\n function onClickNext () {\n if (props.viewMode === 'month') {\n model.value = [adapter.addMonths(displayValue.value, 1)]\n } else if (props.viewMode === 'week') {\n model.value = [adapter.addDays(displayValue.value, 7)]\n } else if (props.viewMode === 'day') {\n model.value = [adapter.addDays(displayValue.value, 1)]\n }\n nextTick(() => {\n emit('next', model.value[0])\n })\n }\n\n function onClickPrev () {\n if (props.viewMode === 'month') {\n model.value = [adapter.addMonths(displayValue.value, -1)]\n } else if (props.viewMode === 'week') {\n model.value = [adapter.addDays(displayValue.value, -7)]\n } else if (props.viewMode === 'day') {\n model.value = [adapter.addDays(displayValue.value, -1)]\n }\n nextTick(() => {\n emit('prev', model.value[0])\n })\n }\n\n function onClickToday () {\n const date = adapter.date()\n model.value = [date]\n nextTick(() => {\n emit('today', model.value[0])\n })\n }\n\n const title = computed(() => {\n return adapter.format(displayValue.value, 'monthAndYear')\n })\n\n useRender(() => {\n const calendarDayProps = VCalendarDay.filterProps(props)\n const calendarHeaderProps = VCalendarHeader.filterProps(props)\n\n const weekdaysCount = daysInWeek.value.length\n\n return (\n <div class={[\n 'v-calendar',\n {\n 'v-calendar-monthly': props.viewMode === 'month',\n 'v-calendar-weekly': props.viewMode === 'week',\n 'v-calendar-day': props.viewMode === 'day',\n },\n ]}\n >\n <div>\n { !props.hideHeader && (\n slots.header?.({\n title: title.value,\n clickNext: onClickNext,\n clickPrev: onClickPrev,\n clickToday: onClickToday,\n }) ?? (\n <VCalendarHeader\n key=\"calendar-header\"\n { ...calendarHeaderProps }\n title={ title.value }\n onClick:next={ onClickNext }\n onClick:prev={ onClickPrev }\n onClick:toToday={ onClickToday }\n >\n {{ title: slots.title }}\n </VCalendarHeader>\n )\n )}\n </div>\n\n <div class={['v-calendar__container', `days__${weekdaysCount}`]}>\n { props.viewMode === 'month' && !props.hideDayHeader && (\n <div\n class={\n [\n 'v-calendar-weekly__head',\n `days__${weekdaysCount}`,\n ...(!props.hideWeekNumber ? ['v-calendar-weekly__head-weeknumbers'] : []),\n ]\n }\n key=\"calendarWeeklyHead\"\n >\n { !props.hideWeekNumber ? <div key=\"weekNumber0\" class=\"v-calendar-weekly__head-weeknumber\"></div> : '' }\n {\n weekdayLabels.value.map(weekday => (\n <div class={ `v-calendar-weekly__head-weekday${!props.hideWeekNumber ? '-with-weeknumber' : ''}` }>\n { weekday }\n </div>\n ))\n }\n </div>\n )}\n\n { props.viewMode === 'month' && (\n <div\n key=\"VCalendarMonth\"\n class={\n [\n 'v-calendar-month__days',\n `days${!props.hideWeekNumber ? '-with-weeknumbers' : ''}__${weekdaysCount}`,\n ...(!props.hideWeekNumber ? ['v-calendar-month__weeknumbers'] : []),\n ]\n }\n >\n { chunkArray(daysInMonth.value, weekdaysCount)\n .map((week, wi) => (\n [\n !props.hideWeekNumber ? (\n <div\n class=\"v-calendar-month__weeknumber\"\n { ...getPrefixedEventHandlers(attrs, ':weekNumber', () => ({ weekNumber: weekNumbers.value[wi], week })) }\n >{ weekNumbers.value[wi] }</div>\n ) : '',\n week.map(day => (\n <VCalendarMonthDay\n key={ adapter.toJsDate(day.date).getTime() }\n { ...calendarDayProps }\n day={ day }\n title={ adapter.format(day.date, 'dayOfMonth') }\n events={ props.events?.filter(e => adapter.isSameDay(day.date, e.start) || adapter.isSameDay(day.date, e.end)) }\n { ...attrs }\n >\n {{\n ...pick(slots, ['day-body', 'day-event', 'day-title']),\n }}\n </VCalendarMonthDay>\n )),\n ]\n ))\n }\n </div>\n )}\n { props.viewMode === 'week' && (\n daysInWeek.value.map((day, i) =>\n slots['day-interval'] ? slots['day-interval']?.({\n ...calendarDayProps,\n day,\n dayIndex: i,\n events: props.events?.filter(e => adapter.isSameDay(e.start, day.date) || adapter.isSameDay(e.end, day.date)),\n }) : (\n <VCalendarDay\n { ...calendarDayProps }\n day={ day }\n dayIndex={ i }\n events={ props.events?.filter(e => adapter.isSameDay(e.start, day.date) || adapter.isSameDay(e.end, day.date)) }\n { ...attrs }\n >\n {{ ...pick(slots, ['interval', 'interval-body', 'interval-event', 'interval-title']) }}\n </VCalendarDay>\n )\n ))\n }\n\n { props.viewMode === 'day' && (\n slots['day-interval'] ? slots['day-interval']({\n day: genDays([displayValue.value as Date], adapter.date() as Date)[0],\n dayIndex: 0,\n events: props.events?.filter(e =>\n adapter.isSameDay(e.start, genDays([displayValue.value as Date], adapter.date() as Date)[0].date) ||\n adapter.isSameDay(e.end, genDays([displayValue.value as Date], adapter.date() as Date)[0].date)\n ),\n }) : (\n <VCalendarDay\n { ...calendarDayProps }\n day={ genDays([model.value[0] as Date], adapter.date() as Date)[0] }\n dayIndex={ 0 }\n events={\n props.events?.filter(e =>\n adapter.isSameDay(e.start, genDays([model.value[0] as Date], adapter.date() as Date)[0].date) ||\n adapter.isSameDay(e.end, genDays([model.value[0] as Date], adapter.date() as Date)[0].date)\n )\n }\n { ...attrs }\n ></VCalendarDay>\n )\n )}\n </div>\n </div>\n )\n })\n\n return { daysInMonth, daysInWeek, genDays }\n },\n})\n\nexport type VCalendar = InstanceType<typeof VCalendar>\n"],"mappings":"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","ignoreList":[]}
|
package/lib/util/helpers.d.ts
CHANGED
@@ -113,6 +113,9 @@ export declare function noop(): void;
|
|
113
113
|
/** Returns null if the selector is not supported or we can't check */
|
114
114
|
export declare function matchesSelector(el: Element | undefined, selector: string): boolean | null;
|
115
115
|
export declare function ensureValidVNode(vnodes: VNodeArrayChildren): VNodeArrayChildren | null;
|
116
|
+
type Slot<T> = [T] extends [never] ? () => VNodeChild : (arg: T) => VNodeChild;
|
117
|
+
export declare function renderSlot<T>(slot: Slot<never> | undefined, fallback?: Slot<never> | undefined): VNodeChild;
|
118
|
+
export declare function renderSlot<T>(slot: Slot<T> | undefined, props: T, fallback?: Slot<T> | undefined): VNodeChild;
|
116
119
|
export declare function defer(timeout: number, cb: () => void): () => void;
|
117
120
|
export declare function isClickInsideElement(event: MouseEvent, targetDiv: HTMLElement): boolean;
|
118
121
|
export type TemplateRef = {
|
package/lib/util/helpers.js
CHANGED
@@ -491,6 +491,10 @@ export function ensureValidVNode(vnodes) {
|
|
491
491
|
return child.type !== Fragment || ensureValidVNode(child.children);
|
492
492
|
}) ? vnodes : null;
|
493
493
|
}
|
494
|
+
export function renderSlot(slot, props, fallback) {
|
495
|
+
// TODO: check if slot returns elements: #18308
|
496
|
+
return slot?.(props) ?? fallback?.(props);
|
497
|
+
}
|
494
498
|
export function defer(timeout, cb) {
|
495
499
|
if (!IN_BROWSER || timeout === 0) {
|
496
500
|
cb();
|