@dayflow/core 0.1.0
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/LICENSE +21 -0
- package/README.md +392 -0
- package/dist/Old/MonthView.d.ts +8 -0
- package/dist/Old/MonthView.d.ts.map +1 -0
- package/dist/Old/monthView/MonthDragIndicator.d.ts +13 -0
- package/dist/Old/monthView/MonthDragIndicator.d.ts.map +1 -0
- package/dist/Old/monthView/MultiDayEvent.d.ts +26 -0
- package/dist/Old/monthView/MultiDayEvent.d.ts.map +1 -0
- package/dist/Old/monthView/WeekComponent.d.ts +43 -0
- package/dist/Old/monthView/WeekComponent.d.ts.map +1 -0
- package/dist/Old/monthView/util.d.ts +6 -0
- package/dist/Old/monthView/util.d.ts.map +1 -0
- package/dist/Old/src/app/layout.d.ts +7 -0
- package/dist/Old/src/app/layout.d.ts.map +1 -0
- package/dist/Old/src/app/page.d.ts +2 -0
- package/dist/Old/src/app/page.d.ts.map +1 -0
- package/dist/Old/src/app/test/page.d.ts +2 -0
- package/dist/Old/src/app/test/page.d.ts.map +1 -0
- package/dist/Old/src/components/EventLayout.d.ts +134 -0
- package/dist/Old/src/components/EventLayout.d.ts.map +1 -0
- package/dist/Old/src/components/common/TodayBox.d.ts +8 -0
- package/dist/Old/src/components/common/TodayBox.d.ts.map +1 -0
- package/dist/Old/src/components/monthView/MonthDragIndicator.d.ts +13 -0
- package/dist/Old/src/components/monthView/MonthDragIndicator.d.ts.map +1 -0
- package/dist/Old/src/components/monthView/MultiDayEvent.d.ts +26 -0
- package/dist/Old/src/components/monthView/MultiDayEvent.d.ts.map +1 -0
- package/dist/Old/src/components/monthView/WeekComponent.d.ts +43 -0
- package/dist/Old/src/components/monthView/WeekComponent.d.ts.map +1 -0
- package/dist/Old/src/components/monthView/util.d.ts +6 -0
- package/dist/Old/src/components/monthView/util.d.ts.map +1 -0
- package/dist/Old/src/components/weekView/CalendarEvent.d.ts +29 -0
- package/dist/Old/src/components/weekView/CalendarEvent.d.ts.map +1 -0
- package/dist/Old/src/components/weekView/DragIndicator/DefaultDragIndicator.d.ts +3 -0
- package/dist/Old/src/components/weekView/DragIndicator/DefaultDragIndicator.d.ts.map +1 -0
- package/dist/Old/src/components/weekView/DragIndicator/DragIndicatorComponent.d.ts +8 -0
- package/dist/Old/src/components/weekView/DragIndicator/DragIndicatorComponent.d.ts.map +1 -0
- package/dist/Old/src/core/CalendarApp.d.ts +29 -0
- package/dist/Old/src/core/CalendarApp.d.ts.map +1 -0
- package/dist/Old/src/core/CalendarRenderer.d.ts +9 -0
- package/dist/Old/src/core/CalendarRenderer.d.ts.map +1 -0
- package/dist/Old/src/core/config.d.ts +61 -0
- package/dist/Old/src/core/config.d.ts.map +1 -0
- package/dist/Old/src/core/index.d.ts +8 -0
- package/dist/Old/src/core/index.d.ts.map +1 -0
- package/dist/Old/src/core/useCalendarAdapter.d.ts +4 -0
- package/dist/Old/src/core/useCalendarAdapter.d.ts.map +1 -0
- package/dist/Old/src/core/useCalendarApp.d.ts +3 -0
- package/dist/Old/src/core/useCalendarApp.d.ts.map +1 -0
- package/dist/Old/src/factories/ViewAdapter.d.ts +5 -0
- package/dist/Old/src/factories/ViewAdapter.d.ts.map +1 -0
- package/dist/Old/src/factories/createDayView.d.ts +12 -0
- package/dist/Old/src/factories/createDayView.d.ts.map +1 -0
- package/dist/Old/src/factories/createMonthView.d.ts +16 -0
- package/dist/Old/src/factories/createMonthView.d.ts.map +1 -0
- package/dist/Old/src/factories/createWeekView.d.ts +15 -0
- package/dist/Old/src/factories/createWeekView.d.ts.map +1 -0
- package/dist/Old/src/factories/createYearView.d.ts +10 -0
- package/dist/Old/src/factories/createYearView.d.ts.map +1 -0
- package/dist/Old/src/factories/index.d.ts +18 -0
- package/dist/Old/src/factories/index.d.ts.map +1 -0
- package/dist/Old/src/hooks/drag/index.d.ts +8 -0
- package/dist/Old/src/hooks/drag/index.d.ts.map +1 -0
- package/dist/Old/src/hooks/drag/useDrag.d.ts +3 -0
- package/dist/Old/src/hooks/drag/useDrag.d.ts.map +1 -0
- package/dist/Old/src/hooks/drag/useDragCommon.d.ts +3 -0
- package/dist/Old/src/hooks/drag/useDragCommon.d.ts.map +1 -0
- package/dist/Old/src/hooks/drag/useDragHandlers.d.ts +3 -0
- package/dist/Old/src/hooks/drag/useDragHandlers.d.ts.map +1 -0
- package/dist/Old/src/hooks/drag/useDragManager.d.ts +3 -0
- package/dist/Old/src/hooks/drag/useDragManager.d.ts.map +1 -0
- package/dist/Old/src/hooks/drag/useDragState.d.ts +3 -0
- package/dist/Old/src/hooks/drag/useDragState.d.ts.map +1 -0
- package/dist/Old/src/hooks/drag/useMonthDrag.d.ts +3 -0
- package/dist/Old/src/hooks/drag/useMonthDrag.d.ts.map +1 -0
- package/dist/Old/src/hooks/drag/useWeekDayDrag.d.ts +3 -0
- package/dist/Old/src/hooks/drag/useWeekDayDrag.d.ts.map +1 -0
- package/dist/Old/src/hooks/virtualScroll/index.d.ts +3 -0
- package/dist/Old/src/hooks/virtualScroll/index.d.ts.map +1 -0
- package/dist/Old/src/hooks/virtualScroll/useVirtualMonthScroll.d.ts +8 -0
- package/dist/Old/src/hooks/virtualScroll/useVirtualMonthScroll.d.ts.map +1 -0
- package/dist/Old/src/hooks/virtualScroll/useVirtualScroll.d.ts +49 -0
- package/dist/Old/src/hooks/virtualScroll/useVirtualScroll.d.ts.map +1 -0
- package/dist/Old/src/plugins/dragPlugin.d.ts +6 -0
- package/dist/Old/src/plugins/dragPlugin.d.ts.map +1 -0
- package/dist/Old/src/plugins/eventsPlugin.d.ts +4 -0
- package/dist/Old/src/plugins/eventsPlugin.d.ts.map +1 -0
- package/dist/Old/src/plugins/index.d.ts +7 -0
- package/dist/Old/src/plugins/index.d.ts.map +1 -0
- package/dist/Old/src/types/calendar.d.ts +27 -0
- package/dist/Old/src/types/calendar.d.ts.map +1 -0
- package/dist/Old/src/types/config.d.ts +20 -0
- package/dist/Old/src/types/config.d.ts.map +1 -0
- package/dist/Old/src/types/core.d.ts +148 -0
- package/dist/Old/src/types/core.d.ts.map +1 -0
- package/dist/Old/src/types/dragIndicator.d.ts +141 -0
- package/dist/Old/src/types/dragIndicator.d.ts.map +1 -0
- package/dist/Old/src/types/event.d.ts +27 -0
- package/dist/Old/src/types/event.d.ts.map +1 -0
- package/dist/Old/src/types/factory.d.ts +148 -0
- package/dist/Old/src/types/factory.d.ts.map +1 -0
- package/dist/Old/src/types/hook.d.ts +104 -0
- package/dist/Old/src/types/hook.d.ts.map +1 -0
- package/dist/Old/src/types/index.d.ts +11 -0
- package/dist/Old/src/types/index.d.ts.map +1 -0
- package/dist/Old/src/types/layout.d.ts +114 -0
- package/dist/Old/src/types/layout.d.ts.map +1 -0
- package/dist/Old/src/types/monthView.d.ts +62 -0
- package/dist/Old/src/types/monthView.d.ts.map +1 -0
- package/dist/Old/src/types/plugin.d.ts +78 -0
- package/dist/Old/src/types/plugin.d.ts.map +1 -0
- package/dist/Old/src/utils/dateFormat.d.ts +15 -0
- package/dist/Old/src/utils/dateFormat.d.ts.map +1 -0
- package/dist/Old/src/utils/helpers.d.ts +89 -0
- package/dist/Old/src/utils/helpers.d.ts.map +1 -0
- package/dist/Old/src/utils/index.d.ts +3 -0
- package/dist/Old/src/utils/index.d.ts.map +1 -0
- package/dist/Old/src/views/DayView.d.ts +8 -0
- package/dist/Old/src/views/DayView.d.ts.map +1 -0
- package/dist/Old/src/views/MonthView.d.ts +8 -0
- package/dist/Old/src/views/MonthView.d.ts.map +1 -0
- package/dist/Old/src/views/WeekView.d.ts +8 -0
- package/dist/Old/src/views/WeekView.d.ts.map +1 -0
- package/dist/Old/src/views/YearView.d.ts +8 -0
- package/dist/Old/src/views/YearView.d.ts.map +1 -0
- package/dist/Old/useVirtualMonthScroll.d.ts +8 -0
- package/dist/Old/useVirtualMonthScroll.d.ts.map +1 -0
- package/dist/components/EventLayout.d.ts +134 -0
- package/dist/components/EventLayout.d.ts.map +1 -0
- package/dist/components/common/ColorPicker.d.ts +17 -0
- package/dist/components/common/ColorPicker.d.ts.map +1 -0
- package/dist/components/common/DefaultEventDetailDialog.d.ts +9 -0
- package/dist/components/common/DefaultEventDetailDialog.d.ts.map +1 -0
- package/dist/components/common/DefaultEventDetailPanel.d.ts +8 -0
- package/dist/components/common/DefaultEventDetailPanel.d.ts.map +1 -0
- package/dist/components/common/EventDetailPanelWithContent.d.ts +12 -0
- package/dist/components/common/EventDetailPanelWithContent.d.ts.map +1 -0
- package/dist/components/common/RangePicker.d.ts +24 -0
- package/dist/components/common/RangePicker.d.ts.map +1 -0
- package/dist/components/common/TodayBox.d.ts +8 -0
- package/dist/components/common/TodayBox.d.ts.map +1 -0
- package/dist/components/common/ViewHeader.d.ts +28 -0
- package/dist/components/common/ViewHeader.d.ts.map +1 -0
- package/dist/components/common/ViewSwitcher.d.ts +9 -0
- package/dist/components/common/ViewSwitcher.d.ts.map +1 -0
- package/dist/components/monthView/MonthDragIndicator.d.ts +13 -0
- package/dist/components/monthView/MonthDragIndicator.d.ts.map +1 -0
- package/dist/components/monthView/MultiDayEvent.d.ts +26 -0
- package/dist/components/monthView/MultiDayEvent.d.ts.map +1 -0
- package/dist/components/monthView/WeekComponent.d.ts +46 -0
- package/dist/components/monthView/WeekComponent.d.ts.map +1 -0
- package/dist/components/monthView/util.d.ts +12 -0
- package/dist/components/monthView/util.d.ts.map +1 -0
- package/dist/components/sidebar/DefaultCalendarSidebar.d.ts +5 -0
- package/dist/components/sidebar/DefaultCalendarSidebar.d.ts.map +1 -0
- package/dist/components/weekView/CalendarEvent.d.ts +43 -0
- package/dist/components/weekView/CalendarEvent.d.ts.map +1 -0
- package/dist/components/weekView/DragIndicator/DefaultDragIndicator.d.ts +3 -0
- package/dist/components/weekView/DragIndicator/DefaultDragIndicator.d.ts.map +1 -0
- package/dist/components/weekView/DragIndicator/DragIndicatorComponent.d.ts +8 -0
- package/dist/components/weekView/DragIndicator/DragIndicatorComponent.d.ts.map +1 -0
- package/dist/core/CalendarApp.d.ts +43 -0
- package/dist/core/CalendarApp.d.ts.map +1 -0
- package/dist/core/CalendarRenderer.d.ts +15 -0
- package/dist/core/CalendarRenderer.d.ts.map +1 -0
- package/dist/core/DayFlowCalendar.d.ts +15 -0
- package/dist/core/DayFlowCalendar.d.ts.map +1 -0
- package/dist/core/calendarRegistry.d.ts +104 -0
- package/dist/core/calendarRegistry.d.ts.map +1 -0
- package/dist/core/config.d.ts +61 -0
- package/dist/core/config.d.ts.map +1 -0
- package/dist/core/index.d.ts +7 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/useCalendarAdapter.d.ts +4 -0
- package/dist/core/useCalendarAdapter.d.ts.map +1 -0
- package/dist/core/useCalendarApp.d.ts +3 -0
- package/dist/core/useCalendarApp.d.ts.map +1 -0
- package/dist/factories/ViewAdapter.d.ts +5 -0
- package/dist/factories/ViewAdapter.d.ts.map +1 -0
- package/dist/factories/createDayView.d.ts +12 -0
- package/dist/factories/createDayView.d.ts.map +1 -0
- package/dist/factories/createMonthView.d.ts +16 -0
- package/dist/factories/createMonthView.d.ts.map +1 -0
- package/dist/factories/createWeekView.d.ts +15 -0
- package/dist/factories/createWeekView.d.ts.map +1 -0
- package/dist/factories/createYearView.d.ts +10 -0
- package/dist/factories/createYearView.d.ts.map +1 -0
- package/dist/factories/index.d.ts +18 -0
- package/dist/factories/index.d.ts.map +1 -0
- package/dist/hooks/drag/index.d.ts +8 -0
- package/dist/hooks/drag/index.d.ts.map +1 -0
- package/dist/hooks/drag/useDrag.d.ts +3 -0
- package/dist/hooks/drag/useDrag.d.ts.map +1 -0
- package/dist/hooks/drag/useDragCommon.d.ts +3 -0
- package/dist/hooks/drag/useDragCommon.d.ts.map +1 -0
- package/dist/hooks/drag/useDragHandlers.d.ts +3 -0
- package/dist/hooks/drag/useDragHandlers.d.ts.map +1 -0
- package/dist/hooks/drag/useDragManager.d.ts +3 -0
- package/dist/hooks/drag/useDragManager.d.ts.map +1 -0
- package/dist/hooks/drag/useDragState.d.ts +3 -0
- package/dist/hooks/drag/useDragState.d.ts.map +1 -0
- package/dist/hooks/drag/useMonthDrag.d.ts +3 -0
- package/dist/hooks/drag/useMonthDrag.d.ts.map +1 -0
- package/dist/hooks/drag/useWeekDayDrag.d.ts +3 -0
- package/dist/hooks/drag/useWeekDayDrag.d.ts.map +1 -0
- package/dist/hooks/useEventCreator.d.ts +63 -0
- package/dist/hooks/useEventCreator.d.ts.map +1 -0
- package/dist/hooks/virtualScroll/index.d.ts +3 -0
- package/dist/hooks/virtualScroll/index.d.ts.map +1 -0
- package/dist/hooks/virtualScroll/useVirtualMonthScroll.d.ts +8 -0
- package/dist/hooks/virtualScroll/useVirtualMonthScroll.d.ts.map +1 -0
- package/dist/hooks/virtualScroll/useVirtualScroll.d.ts +49 -0
- package/dist/hooks/virtualScroll/useVirtualScroll.d.ts.map +1 -0
- package/dist/index.d.ts +35 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.esm.js +125 -0
- package/dist/index.esm.js.map +1 -0
- package/dist/index.js +126 -0
- package/dist/index.js.map +1 -0
- package/dist/plugins/dragPlugin.d.ts +6 -0
- package/dist/plugins/dragPlugin.d.ts.map +1 -0
- package/dist/plugins/eventsPlugin.d.ts +4 -0
- package/dist/plugins/eventsPlugin.d.ts.map +1 -0
- package/dist/plugins/index.d.ts +7 -0
- package/dist/plugins/index.d.ts.map +1 -0
- package/dist/setupTests.d.ts +2 -0
- package/dist/setupTests.d.ts.map +1 -0
- package/dist/styles/calendarClassNames.d.ts +155 -0
- package/dist/styles/calendarClassNames.d.ts.map +1 -0
- package/dist/styles/classNames.d.ts +297 -0
- package/dist/styles/classNames.d.ts.map +1 -0
- package/dist/styles.css +1 -0
- package/dist/types/calendar.d.ts +27 -0
- package/dist/types/calendar.d.ts.map +1 -0
- package/dist/types/calendarTypes.d.ts +69 -0
- package/dist/types/calendarTypes.d.ts.map +1 -0
- package/dist/types/config.d.ts +20 -0
- package/dist/types/config.d.ts.map +1 -0
- package/dist/types/core.d.ts +192 -0
- package/dist/types/core.d.ts.map +1 -0
- package/dist/types/dragIndicator.d.ts +155 -0
- package/dist/types/dragIndicator.d.ts.map +1 -0
- package/dist/types/event.d.ts +17 -0
- package/dist/types/event.d.ts.map +1 -0
- package/dist/types/eventDetail.d.ts +73 -0
- package/dist/types/eventDetail.d.ts.map +1 -0
- package/dist/types/factory.d.ts +154 -0
- package/dist/types/factory.d.ts.map +1 -0
- package/dist/types/hook.d.ts +104 -0
- package/dist/types/hook.d.ts.map +1 -0
- package/dist/types/index.d.ts +13 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/layout.d.ts +114 -0
- package/dist/types/layout.d.ts.map +1 -0
- package/dist/types/monthView.d.ts +64 -0
- package/dist/types/monthView.d.ts.map +1 -0
- package/dist/types/plugin.d.ts +78 -0
- package/dist/types/plugin.d.ts.map +1 -0
- package/dist/utils/calendarDataUtils.d.ts +84 -0
- package/dist/utils/calendarDataUtils.d.ts.map +1 -0
- package/dist/utils/colorResolver.d.ts +33 -0
- package/dist/utils/colorResolver.d.ts.map +1 -0
- package/dist/utils/colorUtils.d.ts +27 -0
- package/dist/utils/colorUtils.d.ts.map +1 -0
- package/dist/utils/compat.d.ts +60 -0
- package/dist/utils/compat.d.ts.map +1 -0
- package/dist/utils/dateConstants.d.ts +23 -0
- package/dist/utils/dateConstants.d.ts.map +1 -0
- package/dist/utils/dateFormat.d.ts +16 -0
- package/dist/utils/dateFormat.d.ts.map +1 -0
- package/dist/utils/dateRangeUtils.d.ts +25 -0
- package/dist/utils/dateRangeUtils.d.ts.map +1 -0
- package/dist/utils/dateTimeUtils.d.ts +50 -0
- package/dist/utils/dateTimeUtils.d.ts.map +1 -0
- package/dist/utils/eventHelpers.d.ts +144 -0
- package/dist/utils/eventHelpers.d.ts.map +1 -0
- package/dist/utils/eventUtils.d.ts +109 -0
- package/dist/utils/eventUtils.d.ts.map +1 -0
- package/dist/utils/helpers.d.ts +27 -0
- package/dist/utils/helpers.d.ts.map +1 -0
- package/dist/utils/index.d.ts +7 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/logger.d.ts +16 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/rangePicker.d.ts +9 -0
- package/dist/utils/rangePicker.d.ts.map +1 -0
- package/dist/utils/temporal.d.ts +101 -0
- package/dist/utils/temporal.d.ts.map +1 -0
- package/dist/utils/temporalTypeGuards.d.ts +64 -0
- package/dist/utils/temporalTypeGuards.d.ts.map +1 -0
- package/dist/utils/testDataUtils.d.ts +15 -0
- package/dist/utils/testDataUtils.d.ts.map +1 -0
- package/dist/utils/timeUtils.d.ts +39 -0
- package/dist/utils/timeUtils.d.ts.map +1 -0
- package/dist/utils/utilityFunctions.d.ts +12 -0
- package/dist/utils/utilityFunctions.d.ts.map +1 -0
- package/dist/views/DayView.d.ts +14 -0
- package/dist/views/DayView.d.ts.map +1 -0
- package/dist/views/MonthView.d.ts +14 -0
- package/dist/views/MonthView.d.ts.map +1 -0
- package/dist/views/WeekView.d.ts +14 -0
- package/dist/views/WeekView.d.ts.map +1 -0
- package/dist/views/YearView.d.ts +8 -0
- package/dist/views/YearView.d.ts.map +1 -0
- package/package.json +94 -0
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Date data interface
|
|
3
|
+
* Represents detailed information for a single date
|
|
4
|
+
*/
|
|
5
|
+
export interface DayData {
|
|
6
|
+
date: Date;
|
|
7
|
+
day: number;
|
|
8
|
+
month: number;
|
|
9
|
+
year: number;
|
|
10
|
+
monthName: string;
|
|
11
|
+
shortMonthName: string;
|
|
12
|
+
isToday: boolean;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Week data interface
|
|
16
|
+
* Represents a week's data, containing date information for 7 days
|
|
17
|
+
*/
|
|
18
|
+
export interface WeeksData {
|
|
19
|
+
days: DayData[];
|
|
20
|
+
startDate: Date;
|
|
21
|
+
monthYear: {
|
|
22
|
+
month: string;
|
|
23
|
+
monthIndex: number;
|
|
24
|
+
year: number;
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=calendar.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"calendar.d.ts","sourceRoot":"","sources":["../../src/types/calendar.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,IAAI,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED;;;GAGG;AACH,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,OAAO,EAAE,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE;QACT,KAAK,EAAE,MAAM,CAAC;QACd,UAAU,EAAE,MAAM,CAAC;QACnB,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;CACH"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Color configuration for a calendar type
|
|
3
|
+
*/
|
|
4
|
+
export interface CalendarColors {
|
|
5
|
+
/** Event background color */
|
|
6
|
+
eventColor: string;
|
|
7
|
+
/** Selected event background color */
|
|
8
|
+
eventSelectedColor: string;
|
|
9
|
+
/** Border/line color */
|
|
10
|
+
lineColor: string;
|
|
11
|
+
/** Text color */
|
|
12
|
+
textColor: string;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Calendar Type Definition
|
|
16
|
+
* Represents a category of events (e.g., Work, Personal, Study)
|
|
17
|
+
*/
|
|
18
|
+
export interface CalendarType {
|
|
19
|
+
/** Unique identifier (e.g., 'work', 'personal') */
|
|
20
|
+
id: string;
|
|
21
|
+
/** Display name (e.g., 'Work', 'Personal') */
|
|
22
|
+
name: string;
|
|
23
|
+
/** Optional description */
|
|
24
|
+
description?: string;
|
|
25
|
+
/** Light mode colors */
|
|
26
|
+
colors: CalendarColors;
|
|
27
|
+
/** Dark mode colors (optional, falls back to light mode if not provided) */
|
|
28
|
+
darkColors?: CalendarColors;
|
|
29
|
+
/** Optional icon (emoji or icon name) */
|
|
30
|
+
icon?: string;
|
|
31
|
+
/** Whether this is a system default type */
|
|
32
|
+
isDefault?: boolean;
|
|
33
|
+
/** Whether events of this type should be visible */
|
|
34
|
+
isVisible?: boolean;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Theme mode
|
|
38
|
+
*/
|
|
39
|
+
export type ThemeMode = 'light' | 'dark' | 'auto';
|
|
40
|
+
/**
|
|
41
|
+
* System-level theme colors
|
|
42
|
+
*/
|
|
43
|
+
export interface ThemeColors {
|
|
44
|
+
background?: string;
|
|
45
|
+
text?: string;
|
|
46
|
+
border?: string;
|
|
47
|
+
[key: string]: string | undefined;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Theme configuration
|
|
51
|
+
*/
|
|
52
|
+
export interface ThemeConfig {
|
|
53
|
+
/** Current theme mode */
|
|
54
|
+
mode: ThemeMode;
|
|
55
|
+
/** System-level theme colors (optional) */
|
|
56
|
+
colors?: ThemeColors;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Calendar configuration for the app
|
|
60
|
+
*/
|
|
61
|
+
export interface CalendarsConfig {
|
|
62
|
+
/** Array of calendar types */
|
|
63
|
+
calendars?: CalendarType[];
|
|
64
|
+
/** Default calendar for new events */
|
|
65
|
+
defaultCalendar?: string;
|
|
66
|
+
/** Theme configuration */
|
|
67
|
+
theme?: ThemeConfig;
|
|
68
|
+
}
|
|
69
|
+
//# sourceMappingURL=calendarTypes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"calendarTypes.d.ts","sourceRoot":"","sources":["../../src/types/calendarTypes.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,6BAA6B;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,sCAAsC;IACtC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,wBAAwB;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,iBAAiB;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,mDAAmD;IACnD,EAAE,EAAE,MAAM,CAAC;IAEX,8CAA8C;IAC9C,IAAI,EAAE,MAAM,CAAC;IAEb,2BAA2B;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,wBAAwB;IACxB,MAAM,EAAE,cAAc,CAAC;IAEvB,4EAA4E;IAC5E,UAAU,CAAC,EAAE,cAAc,CAAC;IAE5B,yCAAyC;IACzC,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,4CAA4C;IAC5C,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB,oDAAoD;IACpD,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC;AAElD;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;CACnC;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,yBAAyB;IACzB,IAAI,EAAE,SAAS,CAAC;IAEhB,2CAA2C;IAC3C,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,8BAA8B;IAC9B,SAAS,CAAC,EAAE,YAAY,EAAE,CAAC;IAE3B,sCAAsC;IACtC,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,0BAA0B;IAC1B,KAAK,CAAC,EAAE,WAAW,CAAC;CACrB"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { ViewType } from './core';
|
|
2
|
+
/**
|
|
3
|
+
* Drag configuration type
|
|
4
|
+
* Defines configuration parameters for drag functionality
|
|
5
|
+
*/
|
|
6
|
+
export interface DragConfig {
|
|
7
|
+
viewType: ViewType;
|
|
8
|
+
getLineColor: (color: string) => string;
|
|
9
|
+
getDynamicPadding: (drag: {
|
|
10
|
+
endHour: number;
|
|
11
|
+
startHour: number;
|
|
12
|
+
}) => string;
|
|
13
|
+
HOUR_HEIGHT: number;
|
|
14
|
+
FIRST_HOUR: number;
|
|
15
|
+
LAST_HOUR: number;
|
|
16
|
+
MIN_DURATION: number;
|
|
17
|
+
TIME_COLUMN_WIDTH: number;
|
|
18
|
+
ALL_DAY_HEIGHT: number;
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAElC;;;GAGG;AACH,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,QAAQ,CAAC;IAGnB,YAAY,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IAGxC,iBAAiB,EAAE,CAAC,IAAI,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,KAAK,MAAM,CAAC;IAG5E,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,cAAc,EAAE,MAAM,CAAC;CACxB"}
|
|
@@ -0,0 +1,192 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { Event } from './event';
|
|
3
|
+
import { ViewSwitcherMode } from '@/components/common/ViewHeader';
|
|
4
|
+
import { CalendarType, ThemeConfig } from './calendarTypes';
|
|
5
|
+
/**
|
|
6
|
+
* View type enum
|
|
7
|
+
*/
|
|
8
|
+
export declare enum ViewType {
|
|
9
|
+
DAY = "day",
|
|
10
|
+
WEEK = "week",
|
|
11
|
+
MONTH = "month",
|
|
12
|
+
YEAR = "year"
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Plugin interface
|
|
16
|
+
* Defines the basic structure of calendar plugins
|
|
17
|
+
*/
|
|
18
|
+
export interface CalendarPlugin {
|
|
19
|
+
name: string;
|
|
20
|
+
install: (app: CalendarApp) => void;
|
|
21
|
+
config?: Record<string, unknown>;
|
|
22
|
+
api?: unknown;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* View interface
|
|
26
|
+
* Defines the basic structure of calendar views
|
|
27
|
+
*/
|
|
28
|
+
export interface CalendarView {
|
|
29
|
+
type: ViewType;
|
|
30
|
+
component: React.ComponentType<any>;
|
|
31
|
+
config?: Record<string, unknown>;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Calendar callbacks interface
|
|
35
|
+
* Defines calendar event callback functions
|
|
36
|
+
*/
|
|
37
|
+
export interface CalendarCallbacks {
|
|
38
|
+
onViewChange?: (view: ViewType) => void;
|
|
39
|
+
onEventCreate?: (event: Event) => void;
|
|
40
|
+
onEventUpdate?: (event: Event) => void;
|
|
41
|
+
onEventDelete?: (eventId: string) => void;
|
|
42
|
+
onDateChange?: (date: Date) => void;
|
|
43
|
+
onRender?: () => void;
|
|
44
|
+
onVisibleMonthChange?: (date: Date) => void;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Sidebar 渲染所需的 props
|
|
48
|
+
*/
|
|
49
|
+
export interface CalendarSidebarRenderProps {
|
|
50
|
+
app: CalendarApp;
|
|
51
|
+
calendars: CalendarType[];
|
|
52
|
+
toggleCalendarVisibility: (calendarId: string, visible: boolean) => void;
|
|
53
|
+
toggleAll: (visible: boolean) => void;
|
|
54
|
+
isCollapsed: boolean;
|
|
55
|
+
setCollapsed: (collapsed: boolean) => void;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Sidebar 配置
|
|
59
|
+
*/
|
|
60
|
+
export interface SidebarConfig {
|
|
61
|
+
enabled?: boolean;
|
|
62
|
+
width?: number | string;
|
|
63
|
+
initialCollapsed?: boolean;
|
|
64
|
+
render?: (props: CalendarSidebarRenderProps) => React.ReactNode;
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Calendar application configuration
|
|
68
|
+
* Used to initialize CalendarApp
|
|
69
|
+
*/
|
|
70
|
+
export interface CalendarAppConfig {
|
|
71
|
+
views: CalendarView[];
|
|
72
|
+
plugins?: CalendarPlugin[];
|
|
73
|
+
events?: Event[];
|
|
74
|
+
callbacks?: CalendarCallbacks;
|
|
75
|
+
defaultView?: ViewType;
|
|
76
|
+
initialDate?: Date;
|
|
77
|
+
switcherMode?: ViewSwitcherMode;
|
|
78
|
+
calendars?: CalendarType[];
|
|
79
|
+
defaultCalendar?: string;
|
|
80
|
+
theme?: ThemeConfig;
|
|
81
|
+
useSidebar?: boolean | SidebarConfig;
|
|
82
|
+
useEventDetailDialog?: boolean;
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Calendar application state
|
|
86
|
+
* Internal state of CalendarApp
|
|
87
|
+
*/
|
|
88
|
+
export interface CalendarAppState {
|
|
89
|
+
currentView: ViewType;
|
|
90
|
+
currentDate: Date;
|
|
91
|
+
events: Event[];
|
|
92
|
+
plugins: Map<string, CalendarPlugin>;
|
|
93
|
+
views: Map<ViewType, CalendarView>;
|
|
94
|
+
switcherMode?: ViewSwitcherMode;
|
|
95
|
+
sidebar?: SidebarConfig;
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Calendar application instance
|
|
99
|
+
* Core interface of CalendarApp
|
|
100
|
+
*/
|
|
101
|
+
export interface CalendarApp {
|
|
102
|
+
state: CalendarAppState;
|
|
103
|
+
changeView: (view: ViewType) => void;
|
|
104
|
+
getCurrentView: () => CalendarView;
|
|
105
|
+
setCurrentDate: (date: Date) => void;
|
|
106
|
+
getCurrentDate: () => Date;
|
|
107
|
+
goToToday: () => void;
|
|
108
|
+
goToPrevious: () => void;
|
|
109
|
+
goToNext: () => void;
|
|
110
|
+
selectDate: (date: Date) => void;
|
|
111
|
+
addEvent: (event: Event) => void;
|
|
112
|
+
updateEvent: (id: string, event: Partial<Event>, isPending?: boolean) => void;
|
|
113
|
+
deleteEvent: (id: string) => void;
|
|
114
|
+
getEvents: () => Event[];
|
|
115
|
+
getAllEvents: () => Event[];
|
|
116
|
+
getCalendars: () => CalendarType[];
|
|
117
|
+
setCalendarVisibility: (calendarId: string, visible: boolean) => void;
|
|
118
|
+
setAllCalendarsVisibility: (visible: boolean) => void;
|
|
119
|
+
setVisibleMonth: (date: Date) => void;
|
|
120
|
+
getVisibleMonth: () => Date;
|
|
121
|
+
getPlugin: <T = unknown>(name: string) => T | undefined;
|
|
122
|
+
hasPlugin: (name: string) => boolean;
|
|
123
|
+
render: () => React.ReactElement;
|
|
124
|
+
getSidebarConfig: () => SidebarConfig;
|
|
125
|
+
getUseEventDetailDialog: () => boolean;
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* useCalendarApp Hook return type
|
|
129
|
+
* Calendar application interface provided for React components
|
|
130
|
+
*/
|
|
131
|
+
export interface UseCalendarAppReturn {
|
|
132
|
+
app: CalendarApp;
|
|
133
|
+
currentView: ViewType;
|
|
134
|
+
currentDate: Date;
|
|
135
|
+
events: Event[];
|
|
136
|
+
changeView: (view: ViewType) => void;
|
|
137
|
+
setCurrentDate: (date: Date) => void;
|
|
138
|
+
addEvent: (event: Event) => void;
|
|
139
|
+
updateEvent: (id: string, event: Partial<Event>, isPending?: boolean) => void;
|
|
140
|
+
deleteEvent: (id: string) => void;
|
|
141
|
+
goToToday: () => void;
|
|
142
|
+
goToPrevious: () => void;
|
|
143
|
+
goToNext: () => void;
|
|
144
|
+
selectDate: (date: Date) => void;
|
|
145
|
+
getCalendars: () => CalendarType[];
|
|
146
|
+
setCalendarVisibility: (calendarId: string, visible: boolean) => void;
|
|
147
|
+
setAllCalendarsVisibility: (visible: boolean) => void;
|
|
148
|
+
getAllEvents: () => Event[];
|
|
149
|
+
setVisibleMonth: (date: Date) => void;
|
|
150
|
+
getVisibleMonth: () => Date;
|
|
151
|
+
sidebarConfig: SidebarConfig;
|
|
152
|
+
}
|
|
153
|
+
/**
|
|
154
|
+
* Calendar configuration system type
|
|
155
|
+
* Contains drag and view configurations
|
|
156
|
+
*/
|
|
157
|
+
export interface CalendarConfig {
|
|
158
|
+
drag: {
|
|
159
|
+
HOUR_HEIGHT: number;
|
|
160
|
+
FIRST_HOUR: number;
|
|
161
|
+
LAST_HOUR: number;
|
|
162
|
+
MIN_DURATION: number;
|
|
163
|
+
TIME_COLUMN_WIDTH: number;
|
|
164
|
+
ALL_DAY_HEIGHT: number;
|
|
165
|
+
getLineColor: (color: string) => string;
|
|
166
|
+
getDynamicPadding: (drag: {
|
|
167
|
+
endHour: number;
|
|
168
|
+
startHour: number;
|
|
169
|
+
}) => string;
|
|
170
|
+
};
|
|
171
|
+
views: {
|
|
172
|
+
day: Record<string, unknown>;
|
|
173
|
+
week: Record<string, unknown>;
|
|
174
|
+
month: Record<string, unknown>;
|
|
175
|
+
};
|
|
176
|
+
}
|
|
177
|
+
export interface UseCalendarReturn {
|
|
178
|
+
view: ViewType;
|
|
179
|
+
currentDate: Date;
|
|
180
|
+
events: Event[];
|
|
181
|
+
currentWeekStart: Date;
|
|
182
|
+
changeView: (view: ViewType) => void;
|
|
183
|
+
goToToday: () => void;
|
|
184
|
+
goToPrevious: () => void;
|
|
185
|
+
goToNext: () => void;
|
|
186
|
+
selectDate: (date: Date) => void;
|
|
187
|
+
updateEvent: (eventId: string, updates: Partial<Event>, isPending?: boolean) => void;
|
|
188
|
+
deleteEvent: (eventId: string) => void;
|
|
189
|
+
addEvent: (event: Omit<Event, 'id'>) => void;
|
|
190
|
+
setEvents: (events: Event[] | ((prev: Event[]) => Event[])) => void;
|
|
191
|
+
}
|
|
192
|
+
//# sourceMappingURL=core.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../src/types/core.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
import { DragConfig } from '@/types';
|
|
2
|
+
import { EventLayout } from './layout';
|
|
3
|
+
import { Event } from './event';
|
|
4
|
+
import { UseDragCommonReturn, UseDragManagerReturn, UseDragStateReturn } from './hook';
|
|
5
|
+
/**
|
|
6
|
+
* Drag mode type
|
|
7
|
+
*/
|
|
8
|
+
export type Mode = 'create' | 'move' | 'resize' | null;
|
|
9
|
+
/**
|
|
10
|
+
* Drag reference interface
|
|
11
|
+
* Stores state information for drag operations
|
|
12
|
+
*/
|
|
13
|
+
export interface DragRef {
|
|
14
|
+
active: boolean;
|
|
15
|
+
mode: Mode;
|
|
16
|
+
eventId: string | null;
|
|
17
|
+
dayIndex: number;
|
|
18
|
+
startX: number;
|
|
19
|
+
startY: number;
|
|
20
|
+
startHour: number;
|
|
21
|
+
endHour: number;
|
|
22
|
+
originalDay: number;
|
|
23
|
+
originalStartHour: number;
|
|
24
|
+
originalEndHour: number;
|
|
25
|
+
resizeDirection: string | null;
|
|
26
|
+
hourOffset: number | null;
|
|
27
|
+
duration: number;
|
|
28
|
+
lastRawMouseHour: number | null;
|
|
29
|
+
lastUpdateTime: number;
|
|
30
|
+
initialMouseY: number;
|
|
31
|
+
lastClientY: number;
|
|
32
|
+
allDay: boolean;
|
|
33
|
+
eventDate?: Date;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Event detail position interface
|
|
37
|
+
* Used to position event detail popup
|
|
38
|
+
*/
|
|
39
|
+
export interface EventDetailPosition {
|
|
40
|
+
top: number;
|
|
41
|
+
left: number;
|
|
42
|
+
eventHeight: number;
|
|
43
|
+
eventMiddleY: number;
|
|
44
|
+
isSunday?: boolean;
|
|
45
|
+
}
|
|
46
|
+
export interface DragIndicatorProps {
|
|
47
|
+
drag: DragRef;
|
|
48
|
+
color?: string;
|
|
49
|
+
title?: string;
|
|
50
|
+
layout?: EventLayout | null;
|
|
51
|
+
allDay: boolean;
|
|
52
|
+
formatTime: (hour: number) => string;
|
|
53
|
+
getLineColor: (color: string) => string;
|
|
54
|
+
getDynamicPadding: (drag: DragRef) => string;
|
|
55
|
+
}
|
|
56
|
+
export interface DragIndicatorRenderer {
|
|
57
|
+
renderAllDayContent: (props: DragIndicatorProps) => React.ReactNode;
|
|
58
|
+
renderRegularContent: (props: DragIndicatorProps) => React.ReactNode;
|
|
59
|
+
renderDefaultContent: (props: DragIndicatorProps) => React.ReactNode;
|
|
60
|
+
}
|
|
61
|
+
export interface UnifiedDragRef extends DragRef {
|
|
62
|
+
targetDate?: Date | null;
|
|
63
|
+
originalDate?: Date | null;
|
|
64
|
+
originalEvent?: Event | null;
|
|
65
|
+
dragOffset?: number;
|
|
66
|
+
originalStartDate?: Date | null;
|
|
67
|
+
originalEndDate?: Date | null;
|
|
68
|
+
eventDate?: Date;
|
|
69
|
+
originalStartTime?: {
|
|
70
|
+
hour: number;
|
|
71
|
+
minute: number;
|
|
72
|
+
second: number;
|
|
73
|
+
} | null;
|
|
74
|
+
originalEndTime?: {
|
|
75
|
+
hour: number;
|
|
76
|
+
minute: number;
|
|
77
|
+
second: number;
|
|
78
|
+
} | null;
|
|
79
|
+
sourceElement?: HTMLElement | null;
|
|
80
|
+
indicatorVisible?: boolean;
|
|
81
|
+
eventDurationDays?: number;
|
|
82
|
+
currentSegmentDays?: number;
|
|
83
|
+
startDragDayIndex?: number;
|
|
84
|
+
}
|
|
85
|
+
export interface useDragProps extends Partial<DragConfig> {
|
|
86
|
+
calendarRef: React.RefObject<HTMLDivElement | null>;
|
|
87
|
+
allDayRowRef?: React.RefObject<HTMLDivElement | null>;
|
|
88
|
+
onEventsUpdate: (updateFunc: (events: Event[]) => Event[], isResizing?: boolean) => void;
|
|
89
|
+
onEventCreate: (event: Event) => void;
|
|
90
|
+
onEventEdit?: (event: Event) => void;
|
|
91
|
+
calculateNewEventLayout?: (dayIndex: number, startHour: number, endHour: number) => EventLayout | null;
|
|
92
|
+
calculateDragLayout?: (event: Event, targetDay: number, targetStartHour: number, targetEndHour: number) => EventLayout | null;
|
|
93
|
+
currentWeekStart: Date;
|
|
94
|
+
events: Event[];
|
|
95
|
+
renderer?: DragIndicatorRenderer;
|
|
96
|
+
}
|
|
97
|
+
export type MonthDragState = {
|
|
98
|
+
active: boolean;
|
|
99
|
+
mode: 'create' | 'move' | 'resize' | null;
|
|
100
|
+
eventId: string | null;
|
|
101
|
+
targetDate: Date | null;
|
|
102
|
+
startDate: Date | null;
|
|
103
|
+
endDate: Date | null;
|
|
104
|
+
};
|
|
105
|
+
export type WeekDayDragState = {
|
|
106
|
+
active: boolean;
|
|
107
|
+
mode: 'create' | 'move' | 'resize' | null;
|
|
108
|
+
eventId: string | null;
|
|
109
|
+
dayIndex: number;
|
|
110
|
+
startHour: number;
|
|
111
|
+
endHour: number;
|
|
112
|
+
allDay: boolean;
|
|
113
|
+
};
|
|
114
|
+
export interface useDragReturn {
|
|
115
|
+
createDragIndicator: (drag: UnifiedDragRef, color?: string, title?: string, layout?: EventLayout | null, sourceElement?: HTMLElement) => void;
|
|
116
|
+
updateDragIndicator: (...args: (number | boolean | EventLayout | null | undefined)[]) => void;
|
|
117
|
+
removeDragIndicator: () => void;
|
|
118
|
+
handleCreateAllDayEvent?: (e: React.MouseEvent, dayIndex: number) => void;
|
|
119
|
+
handleCreateStart: (e: React.MouseEvent, ...args: (Date | number)[]) => void;
|
|
120
|
+
handleMoveStart: (e: React.MouseEvent, event: Event) => void;
|
|
121
|
+
handleResizeStart: (e: React.MouseEvent, event: Event, direction: string) => void;
|
|
122
|
+
dragState: MonthDragState | WeekDayDragState;
|
|
123
|
+
isDragging: boolean;
|
|
124
|
+
pixelYToHour?: (y: number) => number;
|
|
125
|
+
getColumnDayIndex?: (x: number) => number;
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* Month view event drag state (alias for MonthDragState, maintains backward compatibility)
|
|
129
|
+
*/
|
|
130
|
+
export type MonthEventDragState = MonthDragState;
|
|
131
|
+
export interface UseMonthDragReturn {
|
|
132
|
+
daysDifference: (date1: Date, date2: Date) => number;
|
|
133
|
+
addDaysToDate: (date: Date, days: number) => Date;
|
|
134
|
+
getTargetDateFromPosition: (clientX: number, clientY: number) => Date | null;
|
|
135
|
+
}
|
|
136
|
+
export interface UseMonthDragParams {
|
|
137
|
+
options: useDragProps;
|
|
138
|
+
common: UseDragCommonReturn;
|
|
139
|
+
state: UseDragStateReturn;
|
|
140
|
+
manager: UseDragManagerReturn;
|
|
141
|
+
}
|
|
142
|
+
export interface UseWeekDayDragReturn {
|
|
143
|
+
handleCreateAllDayEvent: (e: React.MouseEvent, dayIndex: number) => void;
|
|
144
|
+
pixelYToHour: (y: number) => number;
|
|
145
|
+
getColumnDayIndex: (x: number) => number;
|
|
146
|
+
}
|
|
147
|
+
export interface UseWeekDayDragParams {
|
|
148
|
+
options: useDragProps;
|
|
149
|
+
common: UseDragCommonReturn;
|
|
150
|
+
state: UseDragStateReturn;
|
|
151
|
+
manager: UseDragManagerReturn;
|
|
152
|
+
handleDragMove: (e: MouseEvent) => void;
|
|
153
|
+
handleDragEnd: (e: MouseEvent) => void;
|
|
154
|
+
}
|
|
155
|
+
//# sourceMappingURL=dragIndicator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dragIndicator.d.ts","sourceRoot":"","sources":["../../src/types/dragIndicator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { Temporal } from 'temporal-polyfill';
|
|
2
|
+
/**
|
|
3
|
+
* Calendar event interface (using Temporal API)
|
|
4
|
+
* Unified event data structure supporting single-day, cross-day, and all-day events
|
|
5
|
+
*/
|
|
6
|
+
export interface Event {
|
|
7
|
+
id: string;
|
|
8
|
+
title: string;
|
|
9
|
+
description?: string;
|
|
10
|
+
start: Temporal.PlainDate | Temporal.PlainDateTime | Temporal.ZonedDateTime;
|
|
11
|
+
end: Temporal.PlainDate | Temporal.PlainDateTime | Temporal.ZonedDateTime;
|
|
12
|
+
allDay?: boolean;
|
|
13
|
+
calendarId?: string;
|
|
14
|
+
meta?: Record<string, any>;
|
|
15
|
+
day?: number;
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=event.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"event.d.ts","sourceRoot":"","sources":["../../src/types/event.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C;;;GAGG;AACH,MAAM,WAAW,KAAK;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IAMrB,KAAK,EAAE,QAAQ,CAAC,SAAS,GAAG,QAAQ,CAAC,aAAa,GAAG,QAAQ,CAAC,aAAa,CAAC;IAC5E,GAAG,EAAE,QAAQ,CAAC,SAAS,GAAG,QAAQ,CAAC,aAAa,GAAG,QAAQ,CAAC,aAAa,CAAC;IAE1E,MAAM,CAAC,EAAE,OAAO,CAAC;IAGjB,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAG3B,GAAG,CAAC,EAAE,MAAM,CAAC;CACd"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { Event } from './event';
|
|
2
|
+
import { EventDetailPosition } from './dragIndicator';
|
|
3
|
+
export type { EventDetailPosition } from './dragIndicator';
|
|
4
|
+
/**
|
|
5
|
+
* Event detail panel Props
|
|
6
|
+
*/
|
|
7
|
+
export interface EventDetailPanelProps {
|
|
8
|
+
/** Current event data */
|
|
9
|
+
event: Event;
|
|
10
|
+
/** Panel position information */
|
|
11
|
+
position: EventDetailPosition;
|
|
12
|
+
/** Panel DOM reference */
|
|
13
|
+
panelRef: React.RefObject<HTMLDivElement | null>;
|
|
14
|
+
/** Whether the event is all-day */
|
|
15
|
+
isAllDay: boolean;
|
|
16
|
+
/** Event visibility state */
|
|
17
|
+
eventVisibility: 'visible' | 'sticky-top' | 'sticky-bottom';
|
|
18
|
+
/** Calendar container reference */
|
|
19
|
+
calendarRef: React.RefObject<HTMLDivElement | null>;
|
|
20
|
+
/** Selected event element reference */
|
|
21
|
+
selectedEventElementRef: React.RefObject<HTMLDivElement | null>;
|
|
22
|
+
/** Event update callback */
|
|
23
|
+
onEventUpdate: (updatedEvent: Event) => void;
|
|
24
|
+
/** Event delete callback */
|
|
25
|
+
onEventDelete: (eventId: string) => void;
|
|
26
|
+
/** Close panel callback (optional) */
|
|
27
|
+
onClose?: () => void;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Custom event detail panel renderer (full panel including positioning and styling)
|
|
31
|
+
*/
|
|
32
|
+
export type EventDetailPanelRenderer = React.ComponentType<EventDetailPanelProps>;
|
|
33
|
+
/**
|
|
34
|
+
* Event detail content Props (excluding panel container, content only)
|
|
35
|
+
*/
|
|
36
|
+
export interface EventDetailContentProps {
|
|
37
|
+
/** Current event data */
|
|
38
|
+
event: Event;
|
|
39
|
+
/** Whether the event is all-day */
|
|
40
|
+
isAllDay: boolean;
|
|
41
|
+
/** Event update callback */
|
|
42
|
+
onEventUpdate: (updatedEvent: Event) => void;
|
|
43
|
+
/** Event delete callback */
|
|
44
|
+
onEventDelete: (eventId: string) => void;
|
|
45
|
+
/** Close panel callback (optional) */
|
|
46
|
+
onClose?: () => void;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Custom event detail content renderer (content only, will be wrapped in default panel)
|
|
50
|
+
*/
|
|
51
|
+
export type EventDetailContentRenderer = React.ComponentType<EventDetailContentProps>;
|
|
52
|
+
/**
|
|
53
|
+
* Event detail dialog Props
|
|
54
|
+
*/
|
|
55
|
+
export interface EventDetailDialogProps {
|
|
56
|
+
/** Current event data */
|
|
57
|
+
event: Event;
|
|
58
|
+
/** Whether the dialog is open */
|
|
59
|
+
isOpen: boolean;
|
|
60
|
+
/** Whether the event is all-day */
|
|
61
|
+
isAllDay: boolean;
|
|
62
|
+
/** Event update callback */
|
|
63
|
+
onEventUpdate: (updatedEvent: Event) => void;
|
|
64
|
+
/** Event delete callback */
|
|
65
|
+
onEventDelete: (eventId: string) => void;
|
|
66
|
+
/** Close dialog callback */
|
|
67
|
+
onClose: () => void;
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Custom event detail dialog renderer (Dialog/Modal mode)
|
|
71
|
+
*/
|
|
72
|
+
export type EventDetailDialogRenderer = React.ComponentType<EventDetailDialogProps>;
|
|
73
|
+
//# sourceMappingURL=eventDetail.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"eventDetail.d.ts","sourceRoot":"","sources":["../../src/types/eventDetail.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAGtD,YAAY,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAE3D;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,yBAAyB;IACzB,KAAK,EAAE,KAAK,CAAC;IACb,iCAAiC;IACjC,QAAQ,EAAE,mBAAmB,CAAC;IAC9B,0BAA0B;IAC1B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;IACjD,mCAAmC;IACnC,QAAQ,EAAE,OAAO,CAAC;IAClB,6BAA6B;IAC7B,eAAe,EAAE,SAAS,GAAG,YAAY,GAAG,eAAe,CAAC;IAC5D,mCAAmC;IACnC,WAAW,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;IACpD,uCAAuC;IACvC,uBAAuB,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;IAChE,4BAA4B;IAC5B,aAAa,EAAE,CAAC,YAAY,EAAE,KAAK,KAAK,IAAI,CAAC;IAC7C,4BAA4B;IAC5B,aAAa,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,sCAAsC;IACtC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,MAAM,wBAAwB,GAClC,KAAK,CAAC,aAAa,CAAC,qBAAqB,CAAC,CAAC;AAE7C;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,yBAAyB;IACzB,KAAK,EAAE,KAAK,CAAC;IACb,mCAAmC;IACnC,QAAQ,EAAE,OAAO,CAAC;IAClB,4BAA4B;IAC5B,aAAa,EAAE,CAAC,YAAY,EAAE,KAAK,KAAK,IAAI,CAAC;IAC7C,4BAA4B;IAC5B,aAAa,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,sCAAsC;IACtC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,MAAM,0BAA0B,GACpC,KAAK,CAAC,aAAa,CAAC,uBAAuB,CAAC,CAAC;AAE/C;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,yBAAyB;IACzB,KAAK,EAAE,KAAK,CAAC;IACb,iCAAiC;IACjC,MAAM,EAAE,OAAO,CAAC;IAChB,mCAAmC;IACnC,QAAQ,EAAE,OAAO,CAAC;IAClB,4BAA4B;IAC5B,aAAa,EAAE,CAAC,YAAY,EAAE,KAAK,KAAK,IAAI,CAAC;IAC7C,4BAA4B;IAC5B,aAAa,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,4BAA4B;IAC5B,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,MAAM,yBAAyB,GACnC,KAAK,CAAC,aAAa,CAAC,sBAAsB,CAAC,CAAC"}
|