@vuetify/nightly 3.8.2-master.2025-04-17 → 3.8.2-master.2025-04-22
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 +24 -3
- package/dist/json/attributes.json +2022 -2022
- package/dist/json/importMap-labs.json +36 -36
- package/dist/json/importMap.json +170 -170
- package/dist/json/web-types.json +4067 -3809
- package/dist/vuetify-labs.cjs +631 -514
- package/dist/vuetify-labs.css +5232 -5223
- package/dist/vuetify-labs.d.ts +1855 -915
- package/dist/vuetify-labs.esm.js +632 -515
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +631 -514
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.cjs +402 -391
- package/dist/vuetify.cjs.map +1 -1
- package/dist/vuetify.css +2556 -2556
- package/dist/vuetify.d.ts +168 -166
- package/dist/vuetify.esm.js +403 -392
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +402 -391
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +893 -885
- package/dist/vuetify.min.js.map +1 -1
- package/lib/components/VAlert/VAlert.js +8 -9
- package/lib/components/VAlert/VAlert.js.map +1 -1
- package/lib/components/VAppBar/VAppBar.js +4 -4
- package/lib/components/VAppBar/VAppBar.js.map +1 -1
- package/lib/components/VAutocomplete/VAutocomplete.js +1 -2
- package/lib/components/VAutocomplete/VAutocomplete.js.map +1 -1
- package/lib/components/VBadge/VBadge.js +2 -3
- package/lib/components/VBadge/VBadge.js.map +1 -1
- package/lib/components/VBanner/VBanner.js +3 -3
- package/lib/components/VBanner/VBanner.js.map +1 -1
- package/lib/components/VBottomNavigation/VBottomNavigation.js +8 -8
- package/lib/components/VBottomNavigation/VBottomNavigation.js.map +1 -1
- package/lib/components/VBreadcrumbs/VBreadcrumbs.js +6 -6
- package/lib/components/VBreadcrumbs/VBreadcrumbs.js.map +1 -1
- package/lib/components/VBreadcrumbs/VBreadcrumbsItem.js +1 -2
- package/lib/components/VBreadcrumbs/VBreadcrumbsItem.js.map +1 -1
- package/lib/components/VBtn/VBtn.js +3 -3
- package/lib/components/VBtn/VBtn.js.map +1 -1
- package/lib/components/VBtnGroup/VBtnGroup.js +4 -4
- package/lib/components/VBtnGroup/VBtnGroup.js.map +1 -1
- package/lib/components/VCard/VCard.js +7 -8
- package/lib/components/VCard/VCard.js.map +1 -1
- package/lib/components/VCheckbox/VCheckbox.js +2 -3
- package/lib/components/VCheckbox/VCheckbox.js.map +1 -1
- package/lib/components/VCheckbox/VCheckboxBtn.js +3 -3
- package/lib/components/VCheckbox/VCheckboxBtn.js.map +1 -1
- package/lib/components/VChip/VChip.js +8 -9
- package/lib/components/VChip/VChip.js.map +1 -1
- package/lib/components/VChipGroup/VChipGroup.js +5 -5
- package/lib/components/VChipGroup/VChipGroup.js.map +1 -1
- package/lib/components/VCombobox/VCombobox.js +3 -4
- package/lib/components/VCombobox/VCombobox.js.map +1 -1
- package/lib/components/VCounter/VCounter.js +2 -2
- package/lib/components/VCounter/VCounter.js.map +1 -1
- package/lib/components/VDataIterator/VDataIterator.js +2 -2
- package/lib/components/VDataIterator/VDataIterator.js.map +1 -1
- package/lib/components/VDataTable/VDataTable.js +7 -7
- package/lib/components/VDataTable/VDataTable.js.map +1 -1
- package/lib/components/VDataTable/VDataTableHeaders.js +1 -1
- package/lib/components/VDataTable/VDataTableHeaders.js.map +1 -1
- package/lib/components/VDataTable/VDataTableServer.js +7 -7
- package/lib/components/VDataTable/VDataTableServer.js.map +1 -1
- package/lib/components/VDataTable/VDataTableVirtual.js +7 -7
- package/lib/components/VDataTable/VDataTableVirtual.js.map +1 -1
- package/lib/components/VDataTable/composables/expand.d.ts +1 -1
- package/lib/components/VDataTable/composables/expand.js +1 -1
- package/lib/components/VDataTable/composables/expand.js.map +1 -1
- package/lib/components/VDataTable/composables/options.js +8 -8
- package/lib/components/VDataTable/composables/options.js.map +1 -1
- package/lib/components/VDataTable/composables/select.d.ts +2 -2
- package/lib/components/VDataTable/composables/select.js +2 -2
- package/lib/components/VDataTable/composables/select.js.map +1 -1
- package/lib/components/VDataTable/composables/sort.d.ts +2 -2
- package/lib/components/VDataTable/composables/sort.js +2 -2
- package/lib/components/VDataTable/composables/sort.js.map +1 -1
- package/lib/components/VDatePicker/VDatePicker.js +4 -4
- package/lib/components/VDatePicker/VDatePicker.js.map +1 -1
- package/lib/components/VDatePicker/VDatePickerHeader.js +1 -1
- package/lib/components/VDatePicker/VDatePickerHeader.js.map +1 -1
- package/lib/components/VDatePicker/VDatePickerMonth.js +2 -2
- package/lib/components/VDatePicker/VDatePickerMonth.js.map +1 -1
- package/lib/components/VDialog/VDialog.d.ts +9 -9
- package/lib/components/VDivider/VDivider.js +2 -2
- package/lib/components/VDivider/VDivider.js.map +1 -1
- package/lib/components/VEmptyState/VEmptyState.js +1 -2
- package/lib/components/VEmptyState/VEmptyState.js.map +1 -1
- package/lib/components/VExpansionPanel/VExpansionPanel.js +3 -3
- package/lib/components/VExpansionPanel/VExpansionPanel.js.map +1 -1
- package/lib/components/VExpansionPanel/VExpansionPanelTitle.js +3 -3
- package/lib/components/VExpansionPanel/VExpansionPanelTitle.js.map +1 -1
- package/lib/components/VExpansionPanel/VExpansionPanels.js +14 -14
- package/lib/components/VExpansionPanel/VExpansionPanels.js.map +1 -1
- package/lib/components/VFab/VFab.js +2 -2
- package/lib/components/VFab/VFab.js.map +1 -1
- package/lib/components/VField/VField.js +5 -5
- package/lib/components/VField/VField.js.map +1 -1
- package/lib/components/VFileInput/VFileInput.js +2 -2
- package/lib/components/VFileInput/VFileInput.js.map +1 -1
- package/lib/components/VFooter/VFooter.js +4 -4
- package/lib/components/VFooter/VFooter.js.map +1 -1
- package/lib/components/VForm/VForm.d.ts +40 -40
- package/lib/components/VIcon/VIcon.js +4 -4
- package/lib/components/VIcon/VIcon.js.map +1 -1
- package/lib/components/VImg/VImg.js +2 -2
- package/lib/components/VImg/VImg.js.map +1 -1
- package/lib/components/VInput/VInput.js +3 -3
- package/lib/components/VInput/VInput.js.map +1 -1
- package/lib/components/VLayout/VLayoutItem.js +5 -5
- package/lib/components/VLayout/VLayoutItem.js.map +1 -1
- package/lib/components/VList/VList.js +14 -14
- package/lib/components/VList/VList.js.map +1 -1
- package/lib/components/VList/VListGroup.js +2 -2
- package/lib/components/VList/VListGroup.js.map +1 -1
- package/lib/components/VList/VListItem.d.ts +3 -3
- package/lib/components/VList/VListItem.js +6 -6
- package/lib/components/VList/VListItem.js.map +1 -1
- package/lib/components/VList/VListSubheader.js +1 -2
- package/lib/components/VList/VListSubheader.js.map +1 -1
- package/lib/components/VMenu/VMenu.d.ts +15 -15
- package/lib/components/VMenu/VMenu.js +2 -2
- package/lib/components/VMenu/VMenu.js.map +1 -1
- package/lib/components/VMessages/VMessages.js +1 -1
- package/lib/components/VMessages/VMessages.js.map +1 -1
- package/lib/components/VNavigationDrawer/VNavigationDrawer.js +6 -6
- package/lib/components/VNavigationDrawer/VNavigationDrawer.js.map +1 -1
- package/lib/components/VNumberInput/VNumberInput.js +11 -11
- package/lib/components/VNumberInput/VNumberInput.js.map +1 -1
- package/lib/components/VOtpInput/VOtpInput.js +7 -7
- package/lib/components/VOtpInput/VOtpInput.js.map +1 -1
- package/lib/components/VOverlay/VOverlay.d.ts +3 -3
- package/lib/components/VOverlay/VOverlay.js +4 -4
- package/lib/components/VOverlay/VOverlay.js.map +1 -1
- package/lib/components/VOverlay/locationStrategies.js +10 -1
- package/lib/components/VOverlay/locationStrategies.js.map +1 -1
- package/lib/components/VPagination/VPagination.js +7 -7
- package/lib/components/VPagination/VPagination.js.map +1 -1
- package/lib/components/VProgressCircular/VProgressCircular.js +9 -9
- package/lib/components/VProgressCircular/VProgressCircular.js.map +1 -1
- package/lib/components/VProgressLinear/VProgressLinear.js +4 -4
- package/lib/components/VProgressLinear/VProgressLinear.js.map +1 -1
- package/lib/components/VSelect/VSelect.js +2 -2
- package/lib/components/VSelect/VSelect.js.map +1 -1
- package/lib/components/VSelectionControl/VSelectionControl.d.ts +1 -1
- package/lib/components/VSelectionControl/VSelectionControl.js +7 -7
- package/lib/components/VSelectionControl/VSelectionControl.js.map +1 -1
- package/lib/components/VSelectionControlGroup/VSelectionControlGroup.js +15 -15
- package/lib/components/VSelectionControlGroup/VSelectionControlGroup.js.map +1 -1
- package/lib/components/VSheet/VSheet.js +1 -2
- package/lib/components/VSheet/VSheet.js.map +1 -1
- package/lib/components/VSkeletonLoader/VSkeletonLoader.js +2 -2
- package/lib/components/VSkeletonLoader/VSkeletonLoader.js.map +1 -1
- package/lib/components/VSlider/slider.js +10 -10
- package/lib/components/VSlider/slider.js.map +1 -1
- package/lib/components/VSnackbar/VSnackbar.d.ts +9 -9
- package/lib/components/VSparkline/VSparkline.js +2 -2
- package/lib/components/VSparkline/VSparkline.js.map +1 -1
- package/lib/components/VSwitch/VSwitch.js +3 -3
- package/lib/components/VSwitch/VSwitch.js.map +1 -1
- package/lib/components/VSystemBar/VSystemBar.js +2 -2
- package/lib/components/VSystemBar/VSystemBar.js.map +1 -1
- package/lib/components/VTabs/VTab.d.ts +3 -3
- package/lib/components/VTabs/VTab.js +1 -1
- package/lib/components/VTabs/VTab.js.map +1 -1
- package/lib/components/VTabs/VTabs.js +7 -7
- package/lib/components/VTabs/VTabs.js.map +1 -1
- package/lib/components/VTimeline/VTimeline.js +9 -9
- package/lib/components/VTimeline/VTimeline.js.map +1 -1
- package/lib/components/VTimeline/VTimelineDivider.js +2 -3
- package/lib/components/VTimeline/VTimelineDivider.js.map +1 -1
- package/lib/components/VToolbar/VToolbar.js +2 -2
- package/lib/components/VToolbar/VToolbar.js.map +1 -1
- package/lib/components/VToolbar/VToolbarItems.js +2 -2
- package/lib/components/VToolbar/VToolbarItems.js.map +1 -1
- package/lib/components/VTooltip/VTooltip.d.ts +9 -9
- package/lib/components/VTooltip/VTooltip.js +3 -3
- package/lib/components/VTooltip/VTooltip.js.map +1 -1
- package/lib/components/VVirtualScroll/VVirtualScroll.js +1 -1
- package/lib/components/VVirtualScroll/VVirtualScroll.js.map +1 -1
- package/lib/components/VWindow/VWindow.js +3 -3
- package/lib/components/VWindow/VWindow.js.map +1 -1
- package/lib/components/transitions/dialog-transition.js +11 -2
- package/lib/components/transitions/dialog-transition.js.map +1 -1
- package/lib/composables/border.d.ts +1 -1
- package/lib/composables/border.js +5 -8
- package/lib/composables/border.js.map +1 -1
- package/lib/composables/calendar.d.ts +21 -54
- package/lib/composables/calendar.js +11 -11
- package/lib/composables/calendar.js.map +1 -1
- package/lib/composables/color.d.ts +8 -10
- package/lib/composables/color.js +21 -22
- package/lib/composables/color.js.map +1 -1
- package/lib/composables/density.d.ts +1 -1
- package/lib/composables/density.js +2 -2
- package/lib/composables/density.js.map +1 -1
- package/lib/composables/display.d.ts +4 -2
- package/lib/composables/display.js +2 -2
- package/lib/composables/display.js.map +1 -1
- package/lib/composables/elevation.js +4 -6
- package/lib/composables/elevation.js.map +1 -1
- package/lib/composables/focus.d.ts +4 -2
- package/lib/composables/focus.js +2 -2
- package/lib/composables/focus.js.map +1 -1
- package/lib/composables/form.d.ts +7 -7
- package/lib/composables/form.js +3 -3
- package/lib/composables/form.js.map +1 -1
- package/lib/composables/goto.js +2 -2
- package/lib/composables/goto.js.map +1 -1
- package/lib/composables/group.d.ts +3 -3
- package/lib/composables/group.js +4 -4
- package/lib/composables/group.js.map +1 -1
- package/lib/composables/icons.d.ts +2 -2
- package/lib/composables/icons.js +2 -2
- package/lib/composables/icons.js.map +1 -1
- package/lib/composables/layout.d.ts +10 -4
- package/lib/composables/layout.js +4 -4
- package/lib/composables/layout.js.map +1 -1
- package/lib/composables/lazy.d.ts +1 -1
- package/lib/composables/lazy.js +2 -2
- package/lib/composables/lazy.js.map +1 -1
- package/lib/composables/loader.d.ts +4 -2
- package/lib/composables/loader.js +2 -2
- package/lib/composables/loader.js.map +1 -1
- package/lib/composables/locale.js +3 -3
- package/lib/composables/locale.js.map +1 -1
- package/lib/composables/nested/nested.d.ts +3 -3
- package/lib/composables/nested/nested.js +4 -4
- package/lib/composables/nested/nested.js.map +1 -1
- package/lib/composables/position.d.ts +1 -1
- package/lib/composables/position.js +2 -2
- package/lib/composables/position.js.map +1 -1
- package/lib/composables/router.d.ts +3 -3
- package/lib/composables/router.js +8 -8
- package/lib/composables/router.js.map +1 -1
- package/lib/composables/size.d.ts +8 -5
- package/lib/composables/size.js +6 -5
- package/lib/composables/size.js.map +1 -1
- package/lib/composables/ssrBoot.d.ts +4 -2
- package/lib/composables/ssrBoot.js +2 -2
- package/lib/composables/ssrBoot.js.map +1 -1
- package/lib/composables/stack.d.ts +7 -5
- package/lib/composables/stack.js +5 -5
- package/lib/composables/stack.js.map +1 -1
- package/lib/composables/theme.js +7 -7
- package/lib/composables/theme.js.map +1 -1
- package/lib/composables/variant.d.ts +5 -6
- package/lib/composables/variant.js +6 -6
- package/lib/composables/variant.js.map +1 -1
- package/lib/entry-bundler.js +1 -1
- package/lib/framework.d.ts +81 -79
- package/lib/framework.js +1 -1
- package/lib/labs/VCalendar/VCalendar.d.ts +600 -211
- package/lib/labs/VCalendar/VCalendar.js +55 -27
- package/lib/labs/VCalendar/VCalendar.js.map +1 -1
- package/lib/labs/VCalendar/VCalendarDay.css +9 -0
- package/lib/labs/VCalendar/VCalendarDay.d.ts +329 -17
- package/lib/labs/VCalendar/VCalendarDay.js +18 -10
- package/lib/labs/VCalendar/VCalendarDay.js.map +1 -1
- package/lib/labs/VCalendar/VCalendarDay.sass +8 -0
- package/lib/labs/VCalendar/VCalendarEvent.js +15 -5
- package/lib/labs/VCalendar/VCalendarEvent.js.map +1 -1
- package/lib/labs/VCalendar/VCalendarHeader.d.ts +44 -17
- package/lib/labs/VCalendar/VCalendarHeader.js +5 -2
- package/lib/labs/VCalendar/VCalendarHeader.js.map +1 -1
- package/lib/labs/VCalendar/VCalendarInterval.d.ts +171 -17
- package/lib/labs/VCalendar/VCalendarInterval.js +66 -35
- package/lib/labs/VCalendar/VCalendarInterval.js.map +1 -1
- package/lib/labs/VCalendar/VCalendarIntervalEvent.d.ts +92 -17
- package/lib/labs/VCalendar/VCalendarIntervalEvent.js +30 -10
- package/lib/labs/VCalendar/VCalendarIntervalEvent.js.map +1 -1
- package/lib/labs/VCalendar/VCalendarMonthDay.d.ts +122 -88
- package/lib/labs/VCalendar/VCalendarMonthDay.js +24 -22
- package/lib/labs/VCalendar/VCalendarMonthDay.js.map +1 -1
- package/lib/labs/VIconBtn/VIconBtn.d.ts +6 -21
- package/lib/labs/VIconBtn/VIconBtn.js +10 -12
- package/lib/labs/VIconBtn/VIconBtn.js.map +1 -1
- package/lib/labs/VPicker/VPicker.js +1 -2
- package/lib/labs/VPicker/VPicker.js.map +1 -1
- package/lib/labs/VTimePicker/VTimePickerClock.js +3 -3
- package/lib/labs/VTimePicker/VTimePickerClock.js.map +1 -1
- package/lib/labs/VTreeview/VTreeview.js +11 -11
- package/lib/labs/VTreeview/VTreeview.js.map +1 -1
- package/lib/util/box.js.map +1 -1
- package/lib/util/helpers.d.ts +5 -2
- package/lib/util/helpers.js +9 -5
- package/lib/util/helpers.js.map +1 -1
- package/package.json +1 -1
@@ -8,25 +8,27 @@ import { makeVCalendarHeaderProps, VCalendarHeader } from "./VCalendarHeader.js"
|
|
8
8
|
import { VCalendarMonthDay } from "./VCalendarMonthDay.js"; // Composables
|
9
9
|
import { makeCalendarProps, useCalendar } from "../../composables/calendar.js";
|
10
10
|
import { useDate } from "../../composables/date/date.js"; // Utilities
|
11
|
-
import { computed } from 'vue';
|
12
|
-
import { chunkArray, genericComponent, propsFactory, useRender } from "../../util/index.js";
|
11
|
+
import { computed, nextTick } from 'vue';
|
12
|
+
import { chunkArray, genericComponent, getPrefixedEventHandlers, pick, propsFactory, useRender } from "../../util/index.js"; // Types
|
13
13
|
export const makeVCalendarProps = propsFactory({
|
14
14
|
hideHeader: Boolean,
|
15
15
|
hideWeekNumber: Boolean,
|
16
16
|
...makeCalendarProps(),
|
17
17
|
...makeVCalendarDayProps(),
|
18
18
|
...makeVCalendarHeaderProps()
|
19
|
-
}, '
|
19
|
+
}, 'VCalendar');
|
20
20
|
export const VCalendar = genericComponent()({
|
21
21
|
name: 'VCalendar',
|
22
22
|
props: makeVCalendarProps(),
|
23
23
|
emits: {
|
24
24
|
next: null,
|
25
25
|
prev: null,
|
26
|
+
today: null,
|
26
27
|
'update:modelValue': null
|
27
28
|
},
|
28
29
|
setup(props, _ref) {
|
29
30
|
let {
|
31
|
+
attrs,
|
30
32
|
emit,
|
31
33
|
slots
|
32
34
|
} = _ref;
|
@@ -44,27 +46,33 @@ export const VCalendar = genericComponent()({
|
|
44
46
|
function onClickNext() {
|
45
47
|
if (props.viewMode === 'month') {
|
46
48
|
model.value = [adapter.addMonths(displayValue.value, 1)];
|
47
|
-
}
|
48
|
-
if (props.viewMode === 'week') {
|
49
|
+
} else if (props.viewMode === 'week') {
|
49
50
|
model.value = [adapter.addDays(displayValue.value, 7)];
|
50
|
-
}
|
51
|
-
if (props.viewMode === 'day') {
|
51
|
+
} else if (props.viewMode === 'day') {
|
52
52
|
model.value = [adapter.addDays(displayValue.value, 1)];
|
53
53
|
}
|
54
|
+
nextTick(() => {
|
55
|
+
emit('next', model.value[0]);
|
56
|
+
});
|
54
57
|
}
|
55
58
|
function onClickPrev() {
|
56
59
|
if (props.viewMode === 'month') {
|
57
60
|
model.value = [adapter.addMonths(displayValue.value, -1)];
|
58
|
-
}
|
59
|
-
if (props.viewMode === 'week') {
|
61
|
+
} else if (props.viewMode === 'week') {
|
60
62
|
model.value = [adapter.addDays(displayValue.value, -7)];
|
61
|
-
}
|
62
|
-
if (props.viewMode === 'day') {
|
63
|
+
} else if (props.viewMode === 'day') {
|
63
64
|
model.value = [adapter.addDays(displayValue.value, -1)];
|
64
65
|
}
|
66
|
+
nextTick(() => {
|
67
|
+
emit('prev', model.value[0]);
|
68
|
+
});
|
65
69
|
}
|
66
70
|
function onClickToday() {
|
67
|
-
|
71
|
+
const date = adapter.date();
|
72
|
+
model.value = [date];
|
73
|
+
nextTick(() => {
|
74
|
+
emit('today', model.value[0]);
|
75
|
+
});
|
68
76
|
}
|
69
77
|
const title = computed(() => {
|
70
78
|
return adapter.format(displayValue.value, 'monthAndYear');
|
@@ -78,20 +86,25 @@ export const VCalendar = genericComponent()({
|
|
78
86
|
'v-calendar-weekly': props.viewMode === 'week',
|
79
87
|
'v-calendar-day': props.viewMode === 'day'
|
80
88
|
}]
|
81
|
-
}, [_createVNode("div", null, [!props.hideHeader && (
|
89
|
+
}, [_createVNode("div", null, [!props.hideHeader && (slots.header?.({
|
90
|
+
title: title.value,
|
91
|
+
clickNext: onClickNext,
|
92
|
+
clickPrev: onClickPrev,
|
93
|
+
clickToday: onClickToday
|
94
|
+
}) ?? _createVNode(VCalendarHeader, _mergeProps({
|
82
95
|
"key": "calendar-header"
|
83
96
|
}, calendarHeaderProps, {
|
84
97
|
"title": title.value,
|
85
98
|
"onClick:next": onClickNext,
|
86
99
|
"onClick:prev": onClickPrev,
|
87
100
|
"onClick:toToday": onClickToday
|
88
|
-
}),
|
89
|
-
title: title
|
101
|
+
}), {
|
102
|
+
title: slots.title
|
90
103
|
}))]), _createVNode("div", {
|
91
104
|
"class": ['v-calendar__container', `days__${weekDays.value.length}`]
|
92
105
|
}, [props.viewMode === 'month' && !props.hideDayHeader && _createVNode("div", {
|
93
106
|
"class": ['v-calendar-weekly__head', `days__${weekDays.value.length}`, ...(!props.hideWeekNumber ? ['v-calendar-weekly__head-weeknumbers'] : [])],
|
94
|
-
"key": "
|
107
|
+
"key": "calendarWeeklyHead"
|
95
108
|
}, [!props.hideWeekNumber ? _createVNode("div", {
|
96
109
|
"key": "weekNumber0",
|
97
110
|
"class": "v-calendar-weekly__head-weeknumber"
|
@@ -100,24 +113,39 @@ export const VCalendar = genericComponent()({
|
|
100
113
|
}, [dayNames[weekday]]))]), props.viewMode === 'month' && _createVNode("div", {
|
101
114
|
"key": "VCalendarMonth",
|
102
115
|
"class": ['v-calendar-month__days', `days${!props.hideWeekNumber ? '-with-weeknumbers' : ''}__${weekDays.value.length}`, ...(!props.hideWeekNumber ? ['v-calendar-month__weeknumbers'] : [])]
|
103
|
-
}, [chunkArray(daysInMonth.value, weekDays.value.length).map((week, wi) => [!props.hideWeekNumber ? _createVNode("div", {
|
116
|
+
}, [chunkArray(daysInMonth.value, weekDays.value.length).map((week, wi) => [!props.hideWeekNumber ? _createVNode("div", _mergeProps({
|
104
117
|
"class": "v-calendar-month__weeknumber"
|
105
|
-
},
|
106
|
-
|
118
|
+
}, getPrefixedEventHandlers(attrs, ':weekNumber', () => ({
|
119
|
+
weekNumber: weekNumbers.value[wi],
|
120
|
+
week
|
121
|
+
}))), [weekNumbers.value[wi]]) : '', week.map(day => _createVNode(VCalendarMonthDay, _mergeProps({
|
122
|
+
"key": day.date.getTime()
|
123
|
+
}, calendarDayProps, {
|
107
124
|
"day": day,
|
108
|
-
"title":
|
125
|
+
"title": adapter.format(day.date, 'dayOfMonth'),
|
109
126
|
"events": props.events?.filter(e => adapter.isSameDay(day.date, e.start) || adapter.isSameDay(day.date, e.end))
|
110
|
-
}, {
|
111
|
-
event
|
112
|
-
}))])]), props.viewMode === 'week' && daysInWeek.value.map((day, i) =>
|
127
|
+
}, attrs), {
|
128
|
+
...pick(slots, ['day-body', 'day-event', 'day-title'])
|
129
|
+
}))])]), props.viewMode === 'week' && daysInWeek.value.map((day, i) => slots['day-interval'] ? slots['day-interval']?.({
|
130
|
+
...calendarDayProps,
|
131
|
+
day,
|
132
|
+
dayIndex: i,
|
133
|
+
events: props.events?.filter(e => adapter.isSameDay(e.start, day.date) || adapter.isSameDay(e.end, day.date))
|
134
|
+
}) : _createVNode(VCalendarDay, _mergeProps(calendarDayProps, {
|
113
135
|
"day": day,
|
114
136
|
"dayIndex": i,
|
115
137
|
"events": props.events?.filter(e => adapter.isSameDay(e.start, day.date) || adapter.isSameDay(e.end, day.date))
|
116
|
-
}
|
117
|
-
|
138
|
+
}, attrs), {
|
139
|
+
...pick(slots, ['interval', 'intervalBody', 'intervalEvent', 'intervalTitle'])
|
140
|
+
})), props.viewMode === 'day' && (slots['day-interval'] ? slots['day-interval']({
|
141
|
+
day: genDays([displayValue.value], adapter.date())[0],
|
142
|
+
dayIndex: 0,
|
143
|
+
events: props.events?.filter(e => adapter.isSameDay(e.start, genDays([displayValue.value], adapter.date())[0].date) || adapter.isSameDay(e.end, genDays([displayValue.value], adapter.date())[0].date))
|
144
|
+
}) : _createVNode(VCalendarDay, _mergeProps(calendarDayProps, {
|
145
|
+
"day": genDays([model.value[0]], adapter.date())[0],
|
118
146
|
"dayIndex": 0,
|
119
|
-
"events": props.events?.filter(e => adapter.isSameDay(e.start, genDays([
|
120
|
-
}), null)])]);
|
147
|
+
"events": props.events?.filter(e => adapter.isSameDay(e.start, genDays([model.value[0]], adapter.date())[0].date) || adapter.isSameDay(e.end, genDays([model.value[0]], adapter.date())[0].date))
|
148
|
+
}, attrs), null))])]);
|
121
149
|
});
|
122
150
|
return {
|
123
151
|
daysInMonth,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"VCalendar.js","names":["makeVCalendarDayProps","VCalendarDay","makeVCalendarHeaderProps","VCalendarHeader","VCalendarMonthDay","makeCalendarProps","useCalendar","useDate","computed","chunkArray","genericComponent","propsFactory","useRender","makeVCalendarProps","hideHeader","Boolean","hideWeekNumber","VCalendar","name","props","emits","next","prev","setup","_ref","emit","slots","adapter","daysInMonth","daysInWeek","genDays","model","displayValue","weekNumbers","weekDays","dayNames","getWeekdays","onClickNext","viewMode","value","addMonths","addDays","onClickPrev","onClickToday","date","title","format","calendarDayProps","filterProps","calendarHeaderProps","_createVNode","header","_mergeProps","length","hideDayHeader","map","weekday","week","wi","day","isSameDay","undefined","events","filter","e","start","end","event","i"],"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 } from 'vue'\nimport { chunkArray, genericComponent, propsFactory, useRender } from '@/util'\n\nexport const makeVCalendarProps = propsFactory({\n hideHeader: Boolean,\n hideWeekNumber: Boolean,\n\n ...makeCalendarProps(),\n ...makeVCalendarDayProps(),\n ...makeVCalendarHeaderProps(),\n}, 'VCalender')\n\nexport type VCalendarSlots = {\n header: { title: string }\n event: { day?: Object, allDay: boolean, event: Record<string, unknown> }\n}\n\nexport const VCalendar = genericComponent<VCalendarSlots>()({\n name: 'VCalendar',\n\n props: makeVCalendarProps(),\n\n emits: {\n next: null,\n prev: null,\n 'update:modelValue': null,\n },\n\n setup (props, { emit, slots }) {\n const adapter = useDate()\n\n const { daysInMonth, daysInWeek, genDays, model, displayValue, weekNumbers, weekDays } = useCalendar(props as any)\n\n const dayNames = adapter.getWeekdays()\n\n function onClickNext () {\n if (props.viewMode === 'month') {\n model.value = [adapter.addMonths(displayValue.value, 1)]\n }\n if (props.viewMode === 'week') {\n model.value = [adapter.addDays(displayValue.value, 7)]\n }\n if (props.viewMode === 'day') {\n model.value = [adapter.addDays(displayValue.value, 1)]\n }\n }\n\n function onClickPrev () {\n if (props.viewMode === 'month') {\n model.value = [adapter.addMonths(displayValue.value, -1)]\n }\n if (props.viewMode === 'week') {\n model.value = [adapter.addDays(displayValue.value, -7)]\n }\n if (props.viewMode === 'day') {\n model.value = [adapter.addDays(displayValue.value, -1)]\n }\n }\n\n function onClickToday () {\n model.value = [adapter.date()]\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 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 <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 ) : (\n slots.header({ title: title.value })\n )\n )}\n </div>\n\n <div class={['v-calendar__container', `days__${weekDays.value.length}`]}>\n { props.viewMode === 'month' && !props.hideDayHeader && (\n <div\n class={\n [\n 'v-calendar-weekly__head',\n `days__${weekDays.value.length}`,\n ...(!props.hideWeekNumber ? ['v-calendar-weekly__head-weeknumbers'] : []),\n ]\n }\n key=\"calenderWeeklyHead\"\n >\n { !props.hideWeekNumber ? <div key=\"weekNumber0\" class=\"v-calendar-weekly__head-weeknumber\"></div> : '' }\n {\n weekDays.value.map(weekday => (\n <div class={ `v-calendar-weekly__head-weekday${!props.hideWeekNumber ? '-with-weeknumber' : ''}` }>\n { dayNames[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' : ''}__${weekDays.value.length}`,\n ...(!props.hideWeekNumber ? ['v-calendar-month__weeknumbers'] : []),\n ]\n }\n >\n { chunkArray(daysInMonth.value, weekDays.value.length)\n .map((week, wi) => (\n [\n !props.hideWeekNumber ? <div class=\"v-calendar-month__weeknumber\">{ weekNumbers.value[wi] }</div> : '',\n week.map(day => (\n <VCalendarMonthDay\n color={ adapter.isSameDay(adapter.date(), day.date) ? 'primary' : undefined }\n day={ day }\n title={ day ? adapter.format(day.date, 'dayOfMonth') : 'NaN' }\n events={ props.events?.filter(e => adapter.isSameDay(day.date, e.start) || adapter.isSameDay(day.date, e.end)) }\n v-slots={{\n event: slots.event,\n }}\n ></VCalendarMonthDay>\n )),\n ]\n ))}\n </div>\n )}\n\n { props.viewMode === 'week' && (\n daysInWeek.value.map((day, i) => (\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 ></VCalendarDay>\n ))\n )}\n\n { props.viewMode === 'day' && (\n <VCalendarDay\n { ...calendarDayProps }\n day={ genDays([displayValue.value as Date], adapter.date() as Date)[0] }\n dayIndex={ 0 }\n events={\n 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 )}\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","weekDays","dayNames","getWeekdays","onClickNext","viewMode","value","addMonths","addDays","onClickPrev","onClickToday","date","title","format","calendarDayProps","filterProps","calendarHeaderProps","_createVNode","header","clickNext","clickPrev","clickToday","_mergeProps","length","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, weekDays } = useCalendar(props as any)\n\n const dayNames = adapter.getWeekdays()\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 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__${weekDays.value.length}`]}>\n { props.viewMode === 'month' && !props.hideDayHeader && (\n <div\n class={\n [\n 'v-calendar-weekly__head',\n `days__${weekDays.value.length}`,\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 weekDays.value.map(weekday => (\n <div class={ `v-calendar-weekly__head-weekday${!props.hideWeekNumber ? '-with-weeknumber' : ''}` }>\n { dayNames[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' : ''}__${weekDays.value.length}`,\n ...(!props.hideWeekNumber ? ['v-calendar-month__weeknumbers'] : []),\n ]\n }\n >\n { chunkArray(daysInMonth.value, weekDays.value.length)\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', 'intervalBody', 'intervalEvent', 'intervalTitle']) }}\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":[]}
|
@@ -30,4 +30,13 @@
|
|
30
30
|
}
|
31
31
|
.v-calendar-weekly .v-calendar__container.days__0 {
|
32
32
|
grid-template-columns: repeat(1, 1fr);
|
33
|
+
}
|
34
|
+
|
35
|
+
.v-calendar-weekly__head-weekday {
|
36
|
+
padding-bottom: 4px;
|
37
|
+
}
|
38
|
+
|
39
|
+
.v-calendar-weekly__head-weekday .v-calendar-day-label__today {
|
40
|
+
background: rgba(var(--v-theme-surface-variant), var(--v-medium-emphasis-opacity));
|
41
|
+
color: rgb(var(--v-theme-on-surface-variant));
|
33
42
|
}
|
@@ -1,3 +1,7 @@
|
|
1
|
+
import type { VCalendarIntervalSlots } from './VCalendarInterval.js';
|
2
|
+
export type VCalendarDaySlots = VCalendarIntervalSlots & {
|
3
|
+
interval: Record<string, unknown>;
|
4
|
+
};
|
1
5
|
export declare const makeVCalendarDayProps: <Defaults extends {
|
2
6
|
day?: unknown;
|
3
7
|
dayIndex?: unknown;
|
@@ -122,14 +126,98 @@ export declare const VCalendarDay: {
|
|
122
126
|
events?: any[] | undefined;
|
123
127
|
dayIndex?: number | undefined;
|
124
128
|
} & {
|
125
|
-
$children?: import("vue").VNodeChild | {
|
126
|
-
|
127
|
-
|
129
|
+
$children?: {} | import("vue").VNodeChild | {
|
130
|
+
intervalBody?: ((arg: {
|
131
|
+
interval: {
|
132
|
+
label: string;
|
133
|
+
start: unknown;
|
134
|
+
end: unknown;
|
135
|
+
events: any[];
|
136
|
+
};
|
137
|
+
}) => import("vue").VNodeChild) | undefined;
|
138
|
+
intervalEvent?: ((arg: {
|
139
|
+
height: string;
|
140
|
+
margin: string;
|
141
|
+
eventClass: string;
|
142
|
+
event: any;
|
143
|
+
interval: {
|
144
|
+
label: string;
|
145
|
+
start: unknown;
|
146
|
+
end: unknown;
|
147
|
+
events: any[];
|
148
|
+
};
|
149
|
+
}) => import("vue").VNodeChild) | undefined;
|
150
|
+
intervalTitle?: ((arg: {
|
151
|
+
interval: {
|
152
|
+
label: string;
|
153
|
+
start: unknown;
|
154
|
+
end: unknown;
|
155
|
+
events: any[];
|
156
|
+
};
|
157
|
+
}) => import("vue").VNodeChild) | undefined;
|
158
|
+
interval?: ((arg: Record<string, unknown>) => import("vue").VNodeChild) | undefined;
|
159
|
+
};
|
128
160
|
'v-slots'?: {
|
129
|
-
|
161
|
+
intervalBody?: false | ((arg: {
|
162
|
+
interval: {
|
163
|
+
label: string;
|
164
|
+
start: unknown;
|
165
|
+
end: unknown;
|
166
|
+
events: any[];
|
167
|
+
};
|
168
|
+
}) => import("vue").VNodeChild) | undefined;
|
169
|
+
intervalEvent?: false | ((arg: {
|
170
|
+
height: string;
|
171
|
+
margin: string;
|
172
|
+
eventClass: string;
|
173
|
+
event: any;
|
174
|
+
interval: {
|
175
|
+
label: string;
|
176
|
+
start: unknown;
|
177
|
+
end: unknown;
|
178
|
+
events: any[];
|
179
|
+
};
|
180
|
+
}) => import("vue").VNodeChild) | undefined;
|
181
|
+
intervalTitle?: false | ((arg: {
|
182
|
+
interval: {
|
183
|
+
label: string;
|
184
|
+
start: unknown;
|
185
|
+
end: unknown;
|
186
|
+
events: any[];
|
187
|
+
};
|
188
|
+
}) => import("vue").VNodeChild) | undefined;
|
189
|
+
interval?: false | ((arg: Record<string, unknown>) => import("vue").VNodeChild) | undefined;
|
130
190
|
} | undefined;
|
131
191
|
} & {
|
132
|
-
"v-slot:
|
192
|
+
"v-slot:intervalBody"?: false | ((arg: {
|
193
|
+
interval: {
|
194
|
+
label: string;
|
195
|
+
start: unknown;
|
196
|
+
end: unknown;
|
197
|
+
events: any[];
|
198
|
+
};
|
199
|
+
}) => import("vue").VNodeChild) | undefined;
|
200
|
+
"v-slot:intervalEvent"?: false | ((arg: {
|
201
|
+
height: string;
|
202
|
+
margin: string;
|
203
|
+
eventClass: string;
|
204
|
+
event: any;
|
205
|
+
interval: {
|
206
|
+
label: string;
|
207
|
+
start: unknown;
|
208
|
+
end: unknown;
|
209
|
+
events: any[];
|
210
|
+
};
|
211
|
+
}) => import("vue").VNodeChild) | undefined;
|
212
|
+
"v-slot:intervalTitle"?: false | ((arg: {
|
213
|
+
interval: {
|
214
|
+
label: string;
|
215
|
+
start: unknown;
|
216
|
+
end: unknown;
|
217
|
+
events: any[];
|
218
|
+
};
|
219
|
+
}) => import("vue").VNodeChild) | undefined;
|
220
|
+
"v-slot:interval"?: false | ((arg: Record<string, unknown>) => import("vue").VNodeChild) | undefined;
|
133
221
|
}, {
|
134
222
|
intervals: import("vue").ComputedRef<number[]>;
|
135
223
|
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, {
|
@@ -142,7 +230,35 @@ export declare const VCalendarDay: {
|
|
142
230
|
hideDayHeader: boolean;
|
143
231
|
intervals: number;
|
144
232
|
}, true, {}, import("vue").SlotsType<Partial<{
|
145
|
-
|
233
|
+
intervalBody: (arg: {
|
234
|
+
interval: {
|
235
|
+
label: string;
|
236
|
+
start: unknown;
|
237
|
+
end: unknown;
|
238
|
+
events: any[];
|
239
|
+
};
|
240
|
+
}) => import("vue").VNode[];
|
241
|
+
intervalEvent: (arg: {
|
242
|
+
height: string;
|
243
|
+
margin: string;
|
244
|
+
eventClass: string;
|
245
|
+
event: any;
|
246
|
+
interval: {
|
247
|
+
label: string;
|
248
|
+
start: unknown;
|
249
|
+
end: unknown;
|
250
|
+
events: any[];
|
251
|
+
};
|
252
|
+
}) => import("vue").VNode[];
|
253
|
+
intervalTitle: (arg: {
|
254
|
+
interval: {
|
255
|
+
label: string;
|
256
|
+
start: unknown;
|
257
|
+
end: unknown;
|
258
|
+
events: any[];
|
259
|
+
};
|
260
|
+
}) => import("vue").VNode[];
|
261
|
+
interval: (arg: Record<string, unknown>) => import("vue").VNode[];
|
146
262
|
}>>, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, {}, any, import("vue").ComponentProvideOptions, {
|
147
263
|
P: {};
|
148
264
|
B: {};
|
@@ -163,14 +279,98 @@ export declare const VCalendarDay: {
|
|
163
279
|
events?: any[] | undefined;
|
164
280
|
dayIndex?: number | undefined;
|
165
281
|
} & {
|
166
|
-
$children?: import("vue").VNodeChild | {
|
167
|
-
|
168
|
-
|
282
|
+
$children?: {} | import("vue").VNodeChild | {
|
283
|
+
intervalBody?: ((arg: {
|
284
|
+
interval: {
|
285
|
+
label: string;
|
286
|
+
start: unknown;
|
287
|
+
end: unknown;
|
288
|
+
events: any[];
|
289
|
+
};
|
290
|
+
}) => import("vue").VNodeChild) | undefined;
|
291
|
+
intervalEvent?: ((arg: {
|
292
|
+
height: string;
|
293
|
+
margin: string;
|
294
|
+
eventClass: string;
|
295
|
+
event: any;
|
296
|
+
interval: {
|
297
|
+
label: string;
|
298
|
+
start: unknown;
|
299
|
+
end: unknown;
|
300
|
+
events: any[];
|
301
|
+
};
|
302
|
+
}) => import("vue").VNodeChild) | undefined;
|
303
|
+
intervalTitle?: ((arg: {
|
304
|
+
interval: {
|
305
|
+
label: string;
|
306
|
+
start: unknown;
|
307
|
+
end: unknown;
|
308
|
+
events: any[];
|
309
|
+
};
|
310
|
+
}) => import("vue").VNodeChild) | undefined;
|
311
|
+
interval?: ((arg: Record<string, unknown>) => import("vue").VNodeChild) | undefined;
|
312
|
+
};
|
169
313
|
'v-slots'?: {
|
170
|
-
|
314
|
+
intervalBody?: false | ((arg: {
|
315
|
+
interval: {
|
316
|
+
label: string;
|
317
|
+
start: unknown;
|
318
|
+
end: unknown;
|
319
|
+
events: any[];
|
320
|
+
};
|
321
|
+
}) => import("vue").VNodeChild) | undefined;
|
322
|
+
intervalEvent?: false | ((arg: {
|
323
|
+
height: string;
|
324
|
+
margin: string;
|
325
|
+
eventClass: string;
|
326
|
+
event: any;
|
327
|
+
interval: {
|
328
|
+
label: string;
|
329
|
+
start: unknown;
|
330
|
+
end: unknown;
|
331
|
+
events: any[];
|
332
|
+
};
|
333
|
+
}) => import("vue").VNodeChild) | undefined;
|
334
|
+
intervalTitle?: false | ((arg: {
|
335
|
+
interval: {
|
336
|
+
label: string;
|
337
|
+
start: unknown;
|
338
|
+
end: unknown;
|
339
|
+
events: any[];
|
340
|
+
};
|
341
|
+
}) => import("vue").VNodeChild) | undefined;
|
342
|
+
interval?: false | ((arg: Record<string, unknown>) => import("vue").VNodeChild) | undefined;
|
171
343
|
} | undefined;
|
172
344
|
} & {
|
173
|
-
"v-slot:
|
345
|
+
"v-slot:intervalBody"?: false | ((arg: {
|
346
|
+
interval: {
|
347
|
+
label: string;
|
348
|
+
start: unknown;
|
349
|
+
end: unknown;
|
350
|
+
events: any[];
|
351
|
+
};
|
352
|
+
}) => import("vue").VNodeChild) | undefined;
|
353
|
+
"v-slot:intervalEvent"?: false | ((arg: {
|
354
|
+
height: string;
|
355
|
+
margin: string;
|
356
|
+
eventClass: string;
|
357
|
+
event: any;
|
358
|
+
interval: {
|
359
|
+
label: string;
|
360
|
+
start: unknown;
|
361
|
+
end: unknown;
|
362
|
+
events: any[];
|
363
|
+
};
|
364
|
+
}) => import("vue").VNodeChild) | undefined;
|
365
|
+
"v-slot:intervalTitle"?: false | ((arg: {
|
366
|
+
interval: {
|
367
|
+
label: string;
|
368
|
+
start: unknown;
|
369
|
+
end: unknown;
|
370
|
+
events: any[];
|
371
|
+
};
|
372
|
+
}) => import("vue").VNodeChild) | undefined;
|
373
|
+
"v-slot:interval"?: false | ((arg: Record<string, unknown>) => import("vue").VNodeChild) | undefined;
|
174
374
|
}, {
|
175
375
|
intervals: import("vue").ComputedRef<number[]>;
|
176
376
|
}, {}, {}, {}, {
|
@@ -199,14 +399,98 @@ export declare const VCalendarDay: {
|
|
199
399
|
events?: any[] | undefined;
|
200
400
|
dayIndex?: number | undefined;
|
201
401
|
} & {
|
202
|
-
$children?: import("vue").VNodeChild | {
|
203
|
-
|
204
|
-
|
402
|
+
$children?: {} | import("vue").VNodeChild | {
|
403
|
+
intervalBody?: ((arg: {
|
404
|
+
interval: {
|
405
|
+
label: string;
|
406
|
+
start: unknown;
|
407
|
+
end: unknown;
|
408
|
+
events: any[];
|
409
|
+
};
|
410
|
+
}) => import("vue").VNodeChild) | undefined;
|
411
|
+
intervalEvent?: ((arg: {
|
412
|
+
height: string;
|
413
|
+
margin: string;
|
414
|
+
eventClass: string;
|
415
|
+
event: any;
|
416
|
+
interval: {
|
417
|
+
label: string;
|
418
|
+
start: unknown;
|
419
|
+
end: unknown;
|
420
|
+
events: any[];
|
421
|
+
};
|
422
|
+
}) => import("vue").VNodeChild) | undefined;
|
423
|
+
intervalTitle?: ((arg: {
|
424
|
+
interval: {
|
425
|
+
label: string;
|
426
|
+
start: unknown;
|
427
|
+
end: unknown;
|
428
|
+
events: any[];
|
429
|
+
};
|
430
|
+
}) => import("vue").VNodeChild) | undefined;
|
431
|
+
interval?: ((arg: Record<string, unknown>) => import("vue").VNodeChild) | undefined;
|
432
|
+
};
|
205
433
|
'v-slots'?: {
|
206
|
-
|
434
|
+
intervalBody?: false | ((arg: {
|
435
|
+
interval: {
|
436
|
+
label: string;
|
437
|
+
start: unknown;
|
438
|
+
end: unknown;
|
439
|
+
events: any[];
|
440
|
+
};
|
441
|
+
}) => import("vue").VNodeChild) | undefined;
|
442
|
+
intervalEvent?: false | ((arg: {
|
443
|
+
height: string;
|
444
|
+
margin: string;
|
445
|
+
eventClass: string;
|
446
|
+
event: any;
|
447
|
+
interval: {
|
448
|
+
label: string;
|
449
|
+
start: unknown;
|
450
|
+
end: unknown;
|
451
|
+
events: any[];
|
452
|
+
};
|
453
|
+
}) => import("vue").VNodeChild) | undefined;
|
454
|
+
intervalTitle?: false | ((arg: {
|
455
|
+
interval: {
|
456
|
+
label: string;
|
457
|
+
start: unknown;
|
458
|
+
end: unknown;
|
459
|
+
events: any[];
|
460
|
+
};
|
461
|
+
}) => import("vue").VNodeChild) | undefined;
|
462
|
+
interval?: false | ((arg: Record<string, unknown>) => import("vue").VNodeChild) | undefined;
|
207
463
|
} | undefined;
|
208
464
|
} & {
|
209
|
-
"v-slot:
|
465
|
+
"v-slot:intervalBody"?: false | ((arg: {
|
466
|
+
interval: {
|
467
|
+
label: string;
|
468
|
+
start: unknown;
|
469
|
+
end: unknown;
|
470
|
+
events: any[];
|
471
|
+
};
|
472
|
+
}) => import("vue").VNodeChild) | undefined;
|
473
|
+
"v-slot:intervalEvent"?: false | ((arg: {
|
474
|
+
height: string;
|
475
|
+
margin: string;
|
476
|
+
eventClass: string;
|
477
|
+
event: any;
|
478
|
+
interval: {
|
479
|
+
label: string;
|
480
|
+
start: unknown;
|
481
|
+
end: unknown;
|
482
|
+
events: any[];
|
483
|
+
};
|
484
|
+
}) => import("vue").VNodeChild) | undefined;
|
485
|
+
"v-slot:intervalTitle"?: false | ((arg: {
|
486
|
+
interval: {
|
487
|
+
label: string;
|
488
|
+
start: unknown;
|
489
|
+
end: unknown;
|
490
|
+
events: any[];
|
491
|
+
};
|
492
|
+
}) => import("vue").VNodeChild) | undefined;
|
493
|
+
"v-slot:interval"?: false | ((arg: Record<string, unknown>) => import("vue").VNodeChild) | undefined;
|
210
494
|
}, {
|
211
495
|
intervals: import("vue").ComputedRef<number[]>;
|
212
496
|
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, {
|
@@ -219,7 +503,35 @@ export declare const VCalendarDay: {
|
|
219
503
|
hideDayHeader: boolean;
|
220
504
|
intervals: number;
|
221
505
|
}, {}, string, import("vue").SlotsType<Partial<{
|
222
|
-
|
506
|
+
intervalBody: (arg: {
|
507
|
+
interval: {
|
508
|
+
label: string;
|
509
|
+
start: unknown;
|
510
|
+
end: unknown;
|
511
|
+
events: any[];
|
512
|
+
};
|
513
|
+
}) => import("vue").VNode[];
|
514
|
+
intervalEvent: (arg: {
|
515
|
+
height: string;
|
516
|
+
margin: string;
|
517
|
+
eventClass: string;
|
518
|
+
event: any;
|
519
|
+
interval: {
|
520
|
+
label: string;
|
521
|
+
start: unknown;
|
522
|
+
end: unknown;
|
523
|
+
events: any[];
|
524
|
+
};
|
525
|
+
}) => import("vue").VNode[];
|
526
|
+
intervalTitle: (arg: {
|
527
|
+
interval: {
|
528
|
+
label: string;
|
529
|
+
start: unknown;
|
530
|
+
end: unknown;
|
531
|
+
events: any[];
|
532
|
+
};
|
533
|
+
}) => import("vue").VNode[];
|
534
|
+
interval: (arg: Record<string, unknown>) => import("vue").VNode[];
|
223
535
|
}>>, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & import("../../util/index.js").FilterPropsOptions<{
|
224
536
|
day: {
|
225
537
|
type: ObjectConstructor;
|