@vuetify/nightly 3.9.0-beta.1-dev.2025-07-04 → 3.9.0-dev.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 +3428 -3392
- package/dist/json/importMap-labs.json +16 -16
- package/dist/json/importMap.json +178 -178
- package/dist/json/tags.json +9 -0
- package/dist/json/web-types.json +6555 -6466
- package/dist/vuetify-labs.cjs +124 -32
- package/dist/vuetify-labs.css +4392 -4335
- package/dist/vuetify-labs.d.ts +275 -180
- 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 +3882 -3825
- package/dist/vuetify.d.ts +275 -180
- 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 +60 -59
- 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: {
|
@@ -2577,40 +2578,40 @@ declare module 'vue' {
|
|
2577
2578
|
}
|
2578
2579
|
export interface GlobalComponents {
|
2579
2580
|
VApp: typeof import('vuetify/components')['VApp']
|
2581
|
+
VAlert: typeof import('vuetify/components')['VAlert']
|
2582
|
+
VAlertTitle: typeof import('vuetify/components')['VAlertTitle']
|
2580
2583
|
VAppBar: typeof import('vuetify/components')['VAppBar']
|
2581
2584
|
VAppBarNavIcon: typeof import('vuetify/components')['VAppBarNavIcon']
|
2582
2585
|
VAppBarTitle: typeof import('vuetify/components')['VAppBarTitle']
|
2583
2586
|
VAvatar: typeof import('vuetify/components')['VAvatar']
|
2584
2587
|
VAutocomplete: typeof import('vuetify/components')['VAutocomplete']
|
2585
|
-
VBadge: typeof import('vuetify/components')['VBadge']
|
2586
|
-
VAlert: typeof import('vuetify/components')['VAlert']
|
2587
|
-
VAlertTitle: typeof import('vuetify/components')['VAlertTitle']
|
2588
2588
|
VBottomSheet: typeof import('vuetify/components')['VBottomSheet']
|
2589
|
-
VBanner: typeof import('vuetify/components')['VBanner']
|
2590
|
-
VBannerActions: typeof import('vuetify/components')['VBannerActions']
|
2591
|
-
VBannerText: typeof import('vuetify/components')['VBannerText']
|
2592
|
-
VBottomNavigation: typeof import('vuetify/components')['VBottomNavigation']
|
2593
|
-
VBtn: typeof import('vuetify/components')['VBtn']
|
2594
2589
|
VBreadcrumbs: typeof import('vuetify/components')['VBreadcrumbs']
|
2595
2590
|
VBreadcrumbsItem: typeof import('vuetify/components')['VBreadcrumbsItem']
|
2596
2591
|
VBreadcrumbsDivider: typeof import('vuetify/components')['VBreadcrumbsDivider']
|
2592
|
+
VBottomNavigation: typeof import('vuetify/components')['VBottomNavigation']
|
2597
2593
|
VBtnGroup: typeof import('vuetify/components')['VBtnGroup']
|
2598
|
-
|
2594
|
+
VBanner: typeof import('vuetify/components')['VBanner']
|
2595
|
+
VBannerActions: typeof import('vuetify/components')['VBannerActions']
|
2596
|
+
VBannerText: typeof import('vuetify/components')['VBannerText']
|
2597
|
+
VBadge: typeof import('vuetify/components')['VBadge']
|
2598
|
+
VCarousel: typeof import('vuetify/components')['VCarousel']
|
2599
|
+
VCarouselItem: typeof import('vuetify/components')['VCarouselItem']
|
2600
|
+
VBtn: typeof import('vuetify/components')['VBtn']
|
2601
|
+
VCheckbox: typeof import('vuetify/components')['VCheckbox']
|
2602
|
+
VCheckboxBtn: typeof import('vuetify/components')['VCheckboxBtn']
|
2603
|
+
VChipGroup: typeof import('vuetify/components')['VChipGroup']
|
2599
2604
|
VCard: typeof import('vuetify/components')['VCard']
|
2600
2605
|
VCardActions: typeof import('vuetify/components')['VCardActions']
|
2601
2606
|
VCardItem: typeof import('vuetify/components')['VCardItem']
|
2602
2607
|
VCardSubtitle: typeof import('vuetify/components')['VCardSubtitle']
|
2603
2608
|
VCardText: typeof import('vuetify/components')['VCardText']
|
2604
2609
|
VCardTitle: typeof import('vuetify/components')['VCardTitle']
|
2605
|
-
|
2606
|
-
VCheckboxBtn: typeof import('vuetify/components')['VCheckboxBtn']
|
2607
|
-
VCarousel: typeof import('vuetify/components')['VCarousel']
|
2608
|
-
VCarouselItem: typeof import('vuetify/components')['VCarouselItem']
|
2610
|
+
VBtnToggle: typeof import('vuetify/components')['VBtnToggle']
|
2609
2611
|
VChip: typeof import('vuetify/components')['VChip']
|
2610
2612
|
VCode: typeof import('vuetify/components')['VCode']
|
2611
|
-
VChipGroup: typeof import('vuetify/components')['VChipGroup']
|
2612
2613
|
VCombobox: typeof import('vuetify/components')['VCombobox']
|
2613
|
-
|
2614
|
+
VCounter: typeof import('vuetify/components')['VCounter']
|
2614
2615
|
VDataTable: typeof import('vuetify/components')['VDataTable']
|
2615
2616
|
VDataTableHeaders: typeof import('vuetify/components')['VDataTableHeaders']
|
2616
2617
|
VDataTableFooter: typeof import('vuetify/components')['VDataTableFooter']
|
@@ -2618,36 +2619,36 @@ declare module 'vue' {
|
|
2618
2619
|
VDataTableRow: typeof import('vuetify/components')['VDataTableRow']
|
2619
2620
|
VDataTableVirtual: typeof import('vuetify/components')['VDataTableVirtual']
|
2620
2621
|
VDataTableServer: typeof import('vuetify/components')['VDataTableServer']
|
2621
|
-
|
2622
|
+
VDialog: typeof import('vuetify/components')['VDialog']
|
2623
|
+
VColorPicker: typeof import('vuetify/components')['VColorPicker']
|
2624
|
+
VDivider: typeof import('vuetify/components')['VDivider']
|
2622
2625
|
VDatePicker: typeof import('vuetify/components')['VDatePicker']
|
2623
2626
|
VDatePickerControls: typeof import('vuetify/components')['VDatePickerControls']
|
2624
2627
|
VDatePickerHeader: typeof import('vuetify/components')['VDatePickerHeader']
|
2625
2628
|
VDatePickerMonth: typeof import('vuetify/components')['VDatePickerMonth']
|
2626
2629
|
VDatePickerMonths: typeof import('vuetify/components')['VDatePickerMonths']
|
2627
2630
|
VDatePickerYears: typeof import('vuetify/components')['VDatePickerYears']
|
2628
|
-
VDivider: typeof import('vuetify/components')['VDivider']
|
2629
|
-
VDialog: typeof import('vuetify/components')['VDialog']
|
2630
2631
|
VExpansionPanels: typeof import('vuetify/components')['VExpansionPanels']
|
2631
2632
|
VExpansionPanel: typeof import('vuetify/components')['VExpansionPanel']
|
2632
2633
|
VExpansionPanelText: typeof import('vuetify/components')['VExpansionPanelText']
|
2633
2634
|
VExpansionPanelTitle: typeof import('vuetify/components')['VExpansionPanelTitle']
|
2634
|
-
VEmptyState: typeof import('vuetify/components')['VEmptyState']
|
2635
|
-
VFab: typeof import('vuetify/components')['VFab']
|
2636
|
-
VFileInput: typeof import('vuetify/components')['VFileInput']
|
2637
2635
|
VField: typeof import('vuetify/components')['VField']
|
2638
2636
|
VFieldLabel: typeof import('vuetify/components')['VFieldLabel']
|
2637
|
+
VFab: typeof import('vuetify/components')['VFab']
|
2638
|
+
VEmptyState: typeof import('vuetify/components')['VEmptyState']
|
2639
2639
|
VFooter: typeof import('vuetify/components')['VFooter']
|
2640
|
-
VImg: typeof import('vuetify/components')['VImg']
|
2641
2640
|
VIcon: typeof import('vuetify/components')['VIcon']
|
2642
2641
|
VComponentIcon: typeof import('vuetify/components')['VComponentIcon']
|
2643
2642
|
VSvgIcon: typeof import('vuetify/components')['VSvgIcon']
|
2644
2643
|
VLigatureIcon: typeof import('vuetify/components')['VLigatureIcon']
|
2645
2644
|
VClassIcon: typeof import('vuetify/components')['VClassIcon']
|
2646
|
-
|
2645
|
+
VFileInput: typeof import('vuetify/components')['VFileInput']
|
2647
2646
|
VInfiniteScroll: typeof import('vuetify/components')['VInfiniteScroll']
|
2647
|
+
VInput: typeof import('vuetify/components')['VInput']
|
2648
|
+
VKbd: typeof import('vuetify/components')['VKbd']
|
2649
|
+
VImg: typeof import('vuetify/components')['VImg']
|
2648
2650
|
VItemGroup: typeof import('vuetify/components')['VItemGroup']
|
2649
2651
|
VItem: typeof import('vuetify/components')['VItem']
|
2650
|
-
VLabel: typeof import('vuetify/components')['VLabel']
|
2651
2652
|
VList: typeof import('vuetify/components')['VList']
|
2652
2653
|
VListGroup: typeof import('vuetify/components')['VListGroup']
|
2653
2654
|
VListImg: typeof import('vuetify/components')['VListImg']
|
@@ -2657,54 +2658,57 @@ declare module 'vue' {
|
|
2657
2658
|
VListItemSubtitle: typeof import('vuetify/components')['VListItemSubtitle']
|
2658
2659
|
VListItemTitle: typeof import('vuetify/components')['VListItemTitle']
|
2659
2660
|
VListSubheader: typeof import('vuetify/components')['VListSubheader']
|
2660
|
-
|
2661
|
-
VMessages: typeof import('vuetify/components')['VMessages']
|
2661
|
+
VLabel: typeof import('vuetify/components')['VLabel']
|
2662
2662
|
VMenu: typeof import('vuetify/components')['VMenu']
|
2663
|
+
VMain: typeof import('vuetify/components')['VMain']
|
2664
|
+
VMessages: typeof import('vuetify/components')['VMessages']
|
2663
2665
|
VNavigationDrawer: typeof import('vuetify/components')['VNavigationDrawer']
|
2664
2666
|
VOtpInput: typeof import('vuetify/components')['VOtpInput']
|
2665
|
-
VMain: typeof import('vuetify/components')['VMain']
|
2666
|
-
VPagination: typeof import('vuetify/components')['VPagination']
|
2667
2667
|
VNumberInput: typeof import('vuetify/components')['VNumberInput']
|
2668
2668
|
VOverlay: typeof import('vuetify/components')['VOverlay']
|
2669
|
-
|
2670
|
-
VRating: typeof import('vuetify/components')['VRating']
|
2669
|
+
VPagination: typeof import('vuetify/components')['VPagination']
|
2671
2670
|
VProgressCircular: typeof import('vuetify/components')['VProgressCircular']
|
2672
|
-
VSelect: typeof import('vuetify/components')['VSelect']
|
2673
2671
|
VRadioGroup: typeof import('vuetify/components')['VRadioGroup']
|
2672
|
+
VProgressLinear: typeof import('vuetify/components')['VProgressLinear']
|
2673
|
+
VSelect: typeof import('vuetify/components')['VSelect']
|
2674
|
+
VRating: typeof import('vuetify/components')['VRating']
|
2675
|
+
VSelectionControl: typeof import('vuetify/components')['VSelectionControl']
|
2674
2676
|
VSheet: typeof import('vuetify/components')['VSheet']
|
2675
2677
|
VSelectionControlGroup: typeof import('vuetify/components')['VSelectionControlGroup']
|
2678
|
+
VSlider: typeof import('vuetify/components')['VSlider']
|
2676
2679
|
VSlideGroup: typeof import('vuetify/components')['VSlideGroup']
|
2677
2680
|
VSlideGroupItem: typeof import('vuetify/components')['VSlideGroupItem']
|
2678
|
-
VSelectionControl: typeof import('vuetify/components')['VSelectionControl']
|
2679
|
-
VStepper: typeof import('vuetify/components')['VStepper']
|
2680
|
-
VStepperActions: typeof import('vuetify/components')['VStepperActions']
|
2681
|
-
VStepperHeader: typeof import('vuetify/components')['VStepperHeader']
|
2682
|
-
VStepperItem: typeof import('vuetify/components')['VStepperItem']
|
2683
|
-
VStepperWindow: typeof import('vuetify/components')['VStepperWindow']
|
2684
|
-
VStepperWindowItem: typeof import('vuetify/components')['VStepperWindowItem']
|
2685
2681
|
VSkeletonLoader: typeof import('vuetify/components')['VSkeletonLoader']
|
2686
2682
|
VSnackbar: typeof import('vuetify/components')['VSnackbar']
|
2687
|
-
VSlider: typeof import('vuetify/components')['VSlider']
|
2688
2683
|
VSwitch: typeof import('vuetify/components')['VSwitch']
|
2689
|
-
VTable: typeof import('vuetify/components')['VTable']
|
2690
2684
|
VTab: typeof import('vuetify/components')['VTab']
|
2691
2685
|
VTabs: typeof import('vuetify/components')['VTabs']
|
2692
2686
|
VTabsWindow: typeof import('vuetify/components')['VTabsWindow']
|
2693
2687
|
VTabsWindowItem: typeof import('vuetify/components')['VTabsWindowItem']
|
2688
|
+
VTextField: typeof import('vuetify/components')['VTextField']
|
2689
|
+
VStepper: typeof import('vuetify/components')['VStepper']
|
2690
|
+
VStepperActions: typeof import('vuetify/components')['VStepperActions']
|
2691
|
+
VStepperHeader: typeof import('vuetify/components')['VStepperHeader']
|
2692
|
+
VStepperItem: typeof import('vuetify/components')['VStepperItem']
|
2693
|
+
VStepperWindow: typeof import('vuetify/components')['VStepperWindow']
|
2694
|
+
VStepperWindowItem: typeof import('vuetify/components')['VStepperWindowItem']
|
2695
|
+
VTable: typeof import('vuetify/components')['VTable']
|
2694
2696
|
VTimeline: typeof import('vuetify/components')['VTimeline']
|
2695
2697
|
VTimelineItem: typeof import('vuetify/components')['VTimelineItem']
|
2696
2698
|
VSystemBar: typeof import('vuetify/components')['VSystemBar']
|
2697
|
-
VTextField: typeof import('vuetify/components')['VTextField']
|
2698
|
-
VTextarea: typeof import('vuetify/components')['VTextarea']
|
2699
|
-
VTooltip: typeof import('vuetify/components')['VTooltip']
|
2700
|
-
VTreeview: typeof import('vuetify/components')['VTreeview']
|
2701
|
-
VTreeviewItem: typeof import('vuetify/components')['VTreeviewItem']
|
2702
|
-
VTreeviewGroup: typeof import('vuetify/components')['VTreeviewGroup']
|
2703
2699
|
VTimePicker: typeof import('vuetify/components')['VTimePicker']
|
2704
2700
|
VTimePickerClock: typeof import('vuetify/components')['VTimePickerClock']
|
2705
2701
|
VTimePickerControls: typeof import('vuetify/components')['VTimePickerControls']
|
2706
2702
|
VWindow: typeof import('vuetify/components')['VWindow']
|
2707
2703
|
VWindowItem: typeof import('vuetify/components')['VWindowItem']
|
2704
|
+
VTextarea: typeof import('vuetify/components')['VTextarea']
|
2705
|
+
VTooltip: typeof import('vuetify/components')['VTooltip']
|
2706
|
+
VToolbar: typeof import('vuetify/components')['VToolbar']
|
2707
|
+
VToolbarTitle: typeof import('vuetify/components')['VToolbarTitle']
|
2708
|
+
VToolbarItems: typeof import('vuetify/components')['VToolbarItems']
|
2709
|
+
VTreeview: typeof import('vuetify/components')['VTreeview']
|
2710
|
+
VTreeviewItem: typeof import('vuetify/components')['VTreeviewItem']
|
2711
|
+
VTreeviewGroup: typeof import('vuetify/components')['VTreeviewGroup']
|
2708
2712
|
VConfirmEdit: typeof import('vuetify/components')['VConfirmEdit']
|
2709
2713
|
VDataIterator: typeof import('vuetify/components')['VDataIterator']
|
2710
2714
|
VDefaultsProvider: typeof import('vuetify/components')['VDefaultsProvider']
|
@@ -2713,21 +2717,22 @@ declare module 'vue' {
|
|
2713
2717
|
VCol: typeof import('vuetify/components')['VCol']
|
2714
2718
|
VRow: typeof import('vuetify/components')['VRow']
|
2715
2719
|
VSpacer: typeof import('vuetify/components')['VSpacer']
|
2720
|
+
VHover: typeof import('vuetify/components')['VHover']
|
2716
2721
|
VLayout: typeof import('vuetify/components')['VLayout']
|
2717
2722
|
VLayoutItem: typeof import('vuetify/components')['VLayoutItem']
|
2718
2723
|
VLazy: typeof import('vuetify/components')['VLazy']
|
2719
2724
|
VLocaleProvider: typeof import('vuetify/components')['VLocaleProvider']
|
2720
2725
|
VNoSsr: typeof import('vuetify/components')['VNoSsr']
|
2721
2726
|
VParallax: typeof import('vuetify/components')['VParallax']
|
2722
|
-
VRadio: typeof import('vuetify/components')['VRadio']
|
2723
2727
|
VRangeSlider: typeof import('vuetify/components')['VRangeSlider']
|
2724
|
-
|
2725
|
-
VSnackbarQueue: typeof import('vuetify/components')['VSnackbarQueue']
|
2728
|
+
VRadio: typeof import('vuetify/components')['VRadio']
|
2726
2729
|
VSparkline: typeof import('vuetify/components')['VSparkline']
|
2730
|
+
VSnackbarQueue: typeof import('vuetify/components')['VSnackbarQueue']
|
2727
2731
|
VSpeedDial: typeof import('vuetify/components')['VSpeedDial']
|
2732
|
+
VResponsive: typeof import('vuetify/components')['VResponsive']
|
2728
2733
|
VThemeProvider: typeof import('vuetify/components')['VThemeProvider']
|
2729
|
-
VValidation: typeof import('vuetify/components')['VValidation']
|
2730
2734
|
VVirtualScroll: typeof import('vuetify/components')['VVirtualScroll']
|
2735
|
+
VValidation: typeof import('vuetify/components')['VValidation']
|
2731
2736
|
VFabTransition: typeof import('vuetify/components')['VFabTransition']
|
2732
2737
|
VDialogBottomTransition: typeof import('vuetify/components')['VDialogBottomTransition']
|
2733
2738
|
VDialogTopTransition: typeof import('vuetify/components')['VDialogTopTransition']
|
@@ -2744,11 +2749,6 @@ declare module 'vue' {
|
|
2744
2749
|
VExpandTransition: typeof import('vuetify/components')['VExpandTransition']
|
2745
2750
|
VExpandXTransition: typeof import('vuetify/components')['VExpandXTransition']
|
2746
2751
|
VDialogTransition: typeof import('vuetify/components')['VDialogTransition']
|
2747
|
-
VToolbar: typeof import('vuetify/components')['VToolbar']
|
2748
|
-
VToolbarTitle: typeof import('vuetify/components')['VToolbarTitle']
|
2749
|
-
VToolbarItems: typeof import('vuetify/components')['VToolbarItems']
|
2750
|
-
VHover: typeof import('vuetify/components')['VHover']
|
2751
|
-
VColorInput: typeof import('vuetify/labs/components')['VColorInput']
|
2752
2752
|
VFileUpload: typeof import('vuetify/labs/components')['VFileUpload']
|
2753
2753
|
VFileUploadItem: typeof import('vuetify/labs/components')['VFileUploadItem']
|
2754
2754
|
VCalendar: typeof import('vuetify/labs/components')['VCalendar']
|
@@ -2757,16 +2757,17 @@ declare module 'vue' {
|
|
2757
2757
|
VCalendarInterval: typeof import('vuetify/labs/components')['VCalendarInterval']
|
2758
2758
|
VCalendarIntervalEvent: typeof import('vuetify/labs/components')['VCalendarIntervalEvent']
|
2759
2759
|
VCalendarMonthDay: typeof import('vuetify/labs/components')['VCalendarMonthDay']
|
2760
|
-
VPicker: typeof import('vuetify/labs/components')['VPicker']
|
2761
|
-
VPickerTitle: typeof import('vuetify/labs/components')['VPickerTitle']
|
2762
2760
|
VIconBtn: typeof import('vuetify/labs/components')['VIconBtn']
|
2763
2761
|
VStepperVertical: typeof import('vuetify/labs/components')['VStepperVertical']
|
2764
2762
|
VStepperVerticalItem: typeof import('vuetify/labs/components')['VStepperVerticalItem']
|
2765
2763
|
VStepperVerticalActions: typeof import('vuetify/labs/components')['VStepperVerticalActions']
|
2764
|
+
VPicker: typeof import('vuetify/labs/components')['VPicker']
|
2765
|
+
VPickerTitle: typeof import('vuetify/labs/components')['VPickerTitle']
|
2766
|
+
VColorInput: typeof import('vuetify/labs/components')['VColorInput']
|
2766
2767
|
VHotkey: typeof import('vuetify/labs/components')['VHotkey']
|
2767
2768
|
VDateInput: typeof import('vuetify/labs/components')['VDateInput']
|
2768
|
-
VMaskInput: typeof import('vuetify/labs/components')['VMaskInput']
|
2769
2769
|
VPullToRefresh: typeof import('vuetify/labs/components')['VPullToRefresh']
|
2770
|
+
VMaskInput: typeof import('vuetify/labs/components')['VMaskInput']
|
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-dev.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();
|