@dayflow/core 2.0.6 → 2.0.7

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.
Files changed (34) hide show
  1. package/dist/components/calendarEvent/components/MonthRegularContent.d.ts +1 -1
  2. package/dist/components/calendarEvent/components/RegularEventContent.d.ts +1 -1
  3. package/dist/components/calendarEvent/types.d.ts +1 -2
  4. package/dist/components/common/DefaultEventDetailPanel.d.ts +1 -1
  5. package/dist/components/contextMenu/components/EventContextMenu.d.ts +13 -0
  6. package/dist/components/contextMenu/components/GridContextMenu.d.ts +13 -0
  7. package/dist/components/contextMenu/components/Primitives.d.ts +41 -0
  8. package/dist/components/contextMenu/index.d.ts +4 -0
  9. package/dist/components/contextMenu/utils.d.ts +5 -0
  10. package/dist/components/dayView/DayContent.d.ts +1 -1
  11. package/dist/components/dayView/RightPanel.d.ts +1 -1
  12. package/dist/components/monthView/WeekComponent.d.ts +1 -2
  13. package/dist/components/weekView/AllDayRow.d.ts +1 -1
  14. package/dist/components/weekView/TimeGrid.d.ts +1 -1
  15. package/dist/components/yearView/DefaultYearView.d.ts +5 -2
  16. package/dist/components/yearView/FixedWeekYearView.d.ts +5 -2
  17. package/dist/components/yearView/YearDayCell.d.ts +1 -0
  18. package/dist/components/yearView/YearMultiDayEvent.d.ts +1 -2
  19. package/dist/components/yearView/YearRowComponent.d.ts +1 -2
  20. package/dist/hooks/useCalendarDrop.d.ts +1 -2
  21. package/dist/hooks/useKeyboardShortcuts.d.ts +12 -0
  22. package/dist/index.esm.js +1 -1
  23. package/dist/index.js +1 -1
  24. package/dist/locale/types.d.ts +1 -1
  25. package/dist/styles.css +29 -33
  26. package/dist/types/factory.d.ts +23 -22
  27. package/dist/utils/clipboardStore.d.ts +10 -0
  28. package/dist/utils/temporal.d.ts +8 -8
  29. package/dist/utils/temporalTypeGuards.d.ts +10 -10
  30. package/dist/views/DayView.d.ts +1 -10
  31. package/dist/views/MonthView.d.ts +1 -8
  32. package/dist/views/WeekView.d.ts +1 -8
  33. package/dist/views/YearView.d.ts +5 -2
  34. package/package.json +1 -1
@@ -1,5 +1,5 @@
1
1
  export type LocaleCode = string;
2
- export type TranslationKey = 'allDay' | 'noEvents' | 'more' | 'eventTitle' | 'dateRange' | 'timeRange' | 'note' | 'addNotePlaceholder' | 'setAsAllDay' | 'setAsTimed' | 'delete' | 'confirm' | 'cancel' | 'today' | 'day' | 'week' | 'month' | 'year' | 'newEvent' | 'newAllDayEvent' | 'newCalendarEvent' | 'newAllDayCalendarEvent' | 'save' | 'deleteCalendar' | 'deleteCalendarMessage' | 'merge' | 'confirmDeleteTitle' | 'confirmDeleteMessage' | 'mergeConfirmTitle' | 'mergeConfirmMessage' | 'expandSidebar' | 'collapseSidebar' | 'calendars' | 'createCalendar' | 'calendarNamePlaceholder' | 'customColor' | 'create' | 'calendarOptions' | 'untitled' | 'search' | 'noResults' | 'calendar' | 'starts' | 'ends' | 'notes' | 'titlePlaceholder' | 'notesPlaceholder' | 'editEvent' | 'done' | 'quickCreateEvent' | 'quickCreatePlaceholder' | 'noSuggestions' | 'newCalendar' | 'refreshAll' | 'tomorrow' | 'importCalendar' | 'exportCalendar' | 'addSchedule' | 'importCalendarMessage' | 'ok';
2
+ export type TranslationKey = 'allDay' | 'noEvents' | 'more' | 'eventTitle' | 'dateRange' | 'timeRange' | 'note' | 'addNotePlaceholder' | 'setAsAllDay' | 'setAsTimed' | 'delete' | 'confirm' | 'cancel' | 'today' | 'day' | 'week' | 'month' | 'year' | 'newEvent' | 'newAllDayEvent' | 'newCalendarEvent' | 'newAllDayCalendarEvent' | 'save' | 'deleteCalendar' | 'deleteCalendarMessage' | 'merge' | 'confirmDeleteTitle' | 'confirmDeleteMessage' | 'mergeConfirmTitle' | 'mergeConfirmMessage' | 'expandSidebar' | 'collapseSidebar' | 'calendars' | 'createCalendar' | 'calendarNamePlaceholder' | 'customColor' | 'create' | 'calendarOptions' | 'untitled' | 'search' | 'noResults' | 'calendar' | 'starts' | 'ends' | 'notes' | 'titlePlaceholder' | 'notesPlaceholder' | 'editEvent' | 'done' | 'quickCreateEvent' | 'quickCreatePlaceholder' | 'noSuggestions' | 'newCalendar' | 'refreshAll' | 'tomorrow' | 'importCalendar' | 'exportCalendar' | 'addSchedule' | 'importCalendarMessage' | 'ok' | 'cut' | 'copy' | 'pasteHere' | 'eventSummary';
3
3
  export type LocaleDict = Partial<Record<TranslationKey, string>>;
4
4
  export type LocaleMessages = Partial<Record<TranslationKey, string>>;
5
5
  export interface Locale {
package/dist/styles.css CHANGED
@@ -539,6 +539,9 @@
539
539
  .ml-2 {
540
540
  margin-left: calc(var(--spacing) * 2);
541
541
  }
542
+ .ml-3 {
543
+ margin-left: calc(var(--spacing) * 3);
544
+ }
542
545
  .ml-auto {
543
546
  margin-left: auto;
544
547
  }
@@ -810,9 +813,6 @@
810
813
  .flex-shrink-0 {
811
814
  flex-shrink: 0;
812
815
  }
813
- .shrink {
814
- flex-shrink: 1;
815
- }
816
816
  .shrink-0 {
817
817
  flex-shrink: 0;
818
818
  }
@@ -1051,13 +1051,6 @@
1051
1051
  margin-inline-end: calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-x-reverse)));
1052
1052
  }
1053
1053
  }
1054
- .space-x-3 {
1055
- :where(& > :not(:last-child)) {
1056
- --tw-space-x-reverse: 0;
1057
- margin-inline-start: calc(calc(var(--spacing) * 3) * var(--tw-space-x-reverse));
1058
- margin-inline-end: calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-x-reverse)));
1059
- }
1060
- }
1061
1054
  .truncate {
1062
1055
  overflow: hidden;
1063
1056
  text-overflow: ellipsis;
@@ -1069,6 +1062,9 @@
1069
1062
  .overflow-hidden {
1070
1063
  overflow: hidden;
1071
1064
  }
1065
+ .overflow-visible {
1066
+ overflow: visible;
1067
+ }
1072
1068
  .overflow-x-hidden {
1073
1069
  overflow-x: hidden;
1074
1070
  }
@@ -1849,6 +1845,9 @@
1849
1845
  .opacity-50 {
1850
1846
  opacity: 50%;
1851
1847
  }
1848
+ .opacity-60 {
1849
+ opacity: 60%;
1850
+ }
1852
1851
  .opacity-80 {
1853
1852
  opacity: 80%;
1854
1853
  }
@@ -2408,6 +2407,11 @@
2408
2407
  background-color: var(--color-destructive);
2409
2408
  }
2410
2409
  }
2410
+ .focus\:bg-primary {
2411
+ &:focus {
2412
+ background-color: var(--color-primary);
2413
+ }
2414
+ }
2411
2415
  .focus\:bg-slate-100 {
2412
2416
  &:focus {
2413
2417
  background-color: var(--color-slate-100);
@@ -2418,9 +2422,9 @@
2418
2422
  color: var(--color-destructive-foreground);
2419
2423
  }
2420
2424
  }
2421
- .focus\:text-slate-900 {
2425
+ .focus\:text-white {
2422
2426
  &:focus {
2423
- color: var(--color-slate-900);
2427
+ color: var(--color-white);
2424
2428
  }
2425
2429
  }
2426
2430
  .focus\:ring-1 {
@@ -2519,16 +2523,6 @@
2519
2523
  opacity: 50%;
2520
2524
  }
2521
2525
  }
2522
- .data-disabled\:pointer-events-none {
2523
- &[data-disabled] {
2524
- pointer-events: none;
2525
- }
2526
- }
2527
- .data-disabled\:opacity-50 {
2528
- &[data-disabled] {
2529
- opacity: 50%;
2530
- }
2531
- }
2532
2526
  .sm\:top-6 {
2533
2527
  @media (width >= 40rem) {
2534
2528
  top: calc(var(--spacing) * 6);
@@ -3119,6 +3113,15 @@
3119
3113
  }
3120
3114
  }
3121
3115
  }
3116
+ .dark\:hover\:bg-primary {
3117
+ .dark & {
3118
+ &:hover {
3119
+ @media (hover: hover) {
3120
+ background-color: var(--color-primary);
3121
+ }
3122
+ }
3123
+ }
3124
+ }
3122
3125
  .dark\:hover\:bg-primary\/20 {
3123
3126
  .dark & {
3124
3127
  &:hover {
@@ -3231,10 +3234,10 @@
3231
3234
  }
3232
3235
  }
3233
3236
  }
3234
- .dark\:focus\:border-primary {
3237
+ .dark\:focus\:bg-primary {
3235
3238
  .dark & {
3236
3239
  &:focus {
3237
- border-color: var(--color-primary);
3240
+ background-color: var(--color-primary);
3238
3241
  }
3239
3242
  }
3240
3243
  }
@@ -3245,17 +3248,10 @@
3245
3248
  }
3246
3249
  }
3247
3250
  }
3248
- .dark\:focus\:text-slate-50 {
3249
- .dark & {
3250
- &:focus {
3251
- color: var(--color-slate-50);
3252
- }
3253
- }
3254
- }
3255
- .dark\:focus\:ring-primary {
3251
+ .dark\:focus\:text-white {
3256
3252
  .dark & {
3257
3253
  &:focus {
3258
- --tw-ring-color: var(--color-primary);
3254
+ color: var(--color-white);
3259
3255
  }
3260
3256
  }
3261
3257
  }
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { CalendarView, ViewType, UseCalendarAppReturn } from './core';
2
+ import { CalendarView, ViewType, CalendarApp } from './core';
3
3
  import { Event } from './event';
4
4
  import { EventLayout } from './layout';
5
5
  import { EventDetailContentRenderer, EventDetailDialogRenderer } from './eventDetail';
@@ -9,16 +9,25 @@ import { ViewSwitcherMode } from '../components/common/ViewHeader';
9
9
  * Base properties for all view components
10
10
  */
11
11
  export interface BaseViewProps {
12
- app: UseCalendarAppReturn['app'];
13
- currentDate: Date;
14
- currentView: ViewType;
15
- events: Event[];
16
- onEventUpdate: (event: Event) => void;
17
- onEventDelete: (eventId: string) => void;
18
- onEventCreate: (event: Event) => void;
19
- onDateChange: (date: Date) => void;
20
- onViewChange: (view: ViewType) => void;
21
- config: Record<string, any>;
12
+ app: CalendarApp;
13
+ currentDate?: Date;
14
+ currentView?: ViewType;
15
+ events?: Event[];
16
+ onEventUpdate?: (event: Event) => void;
17
+ onEventDelete?: (eventId: string) => void;
18
+ onEventCreate?: (event: Event) => void;
19
+ onDateChange?: (date: Date) => void;
20
+ onViewChange?: (view: ViewType) => void;
21
+ config?: Record<string, any>;
22
+ selectedEventId?: string | null;
23
+ onEventSelect?: (eventId: string | null) => void;
24
+ detailPanelEventId?: string | null;
25
+ onDetailPanelToggle?: (eventId: string | null) => void;
26
+ customDetailPanelContent?: EventDetailContentRenderer;
27
+ customEventDetailDialog?: EventDetailDialogRenderer;
28
+ calendarRef: React.RefObject<HTMLDivElement>;
29
+ switcherMode?: ViewSwitcherMode;
30
+ meta?: Record<string, any>;
22
31
  }
23
32
  /**
24
33
  * Day view specific Props
@@ -27,8 +36,6 @@ export interface DayViewProps extends BaseViewProps {
27
36
  showMiniCalendar?: boolean;
28
37
  showAllDay?: boolean;
29
38
  scrollToCurrentTime?: boolean;
30
- selectedEvent?: Event | null;
31
- onEventSelect?: (event: Event | null) => void;
32
39
  }
33
40
  /**
34
41
  * Week view specific Props
@@ -107,24 +114,18 @@ export interface YearViewConfig extends ViewFactoryConfig {
107
114
  * View adapter Props
108
115
  * Adapter properties for wrapping original components
109
116
  */
110
- export interface ViewAdapterProps {
117
+ export interface ViewAdapterProps extends BaseViewProps {
111
118
  viewType: ViewType;
112
119
  originalComponent: React.ComponentType<any>;
113
- app: UseCalendarAppReturn['app'];
114
120
  config: ViewFactoryConfig;
115
121
  className?: string;
116
- customDetailPanelContent?: EventDetailContentRenderer;
117
- customEventDetailDialog?: EventDetailDialogRenderer;
118
- calendarRef: React.RefObject<HTMLDivElement>;
119
- switcherMode?: ViewSwitcherMode;
120
- meta?: Record<string, any>;
121
122
  }
122
123
  /**
123
124
  * Drag integration Props
124
125
  * Properties for integrating drag functionality into views
125
126
  */
126
127
  export interface DragIntegrationProps {
127
- app: UseCalendarAppReturn['app'];
128
+ app: CalendarApp;
128
129
  viewType: ViewType;
129
130
  calendarRef: React.RefObject<HTMLDivElement>;
130
131
  allDayRowRef?: React.RefObject<HTMLDivElement>;
@@ -140,7 +141,7 @@ export interface DragIntegrationProps {
140
141
  * Properties for integrating virtual scroll functionality into views
141
142
  */
142
143
  export interface VirtualScrollIntegrationProps {
143
- app: UseCalendarAppReturn['app'];
144
+ app: CalendarApp;
144
145
  currentDate: Date;
145
146
  weekHeight?: number;
146
147
  onCurrentMonthChange?: (month: string, year: number) => void;
@@ -0,0 +1,10 @@
1
+ import { Event } from '@/types';
2
+ declare class ClipboardStore {
3
+ private lastCopiedEvent;
4
+ setEvent(event: Event): void;
5
+ getEvent(): Event | null;
6
+ hasEvent(): boolean;
7
+ clear(): void;
8
+ }
9
+ export declare const clipboardStore: ClipboardStore;
10
+ export {};
@@ -7,11 +7,11 @@ import { Temporal } from 'temporal-polyfill';
7
7
  * Check if value is Temporal.PlainDate
8
8
  * Uses multiple methods to check, handling polyfill and serialization issues
9
9
  */
10
- export declare function isPlainDate(date: Temporal.PlainDate | Temporal.PlainDateTime | Temporal.ZonedDateTime): date is Temporal.PlainDate;
10
+ export declare function isPlainDate(date: any): date is Temporal.PlainDate;
11
11
  /**
12
12
  * Check if value is Temporal.ZonedDateTime
13
13
  */
14
- export declare function isZonedDateTime(date: Temporal.PlainDate | Temporal.PlainDateTime | Temporal.ZonedDateTime): date is Temporal.ZonedDateTime;
14
+ export declare function isZonedDateTime(date: any): date is Temporal.ZonedDateTime;
15
15
  /**
16
16
  * Check if value is Date object
17
17
  */
@@ -43,18 +43,18 @@ export declare function zonedDateTimeToDate(zdt: Temporal.ZonedDateTime): Date;
43
43
  */
44
44
  export declare function plainDateToDate(plainDate: Temporal.PlainDate, timeZone?: string): Date;
45
45
  /**
46
- * Convert Temporal (PlainDate | ZonedDateTime) to Date
47
- * @param temporal Temporal date-time object
46
+ * Convert Temporal (PlainDate | PlainDateTime | ZonedDateTime) or Date to Date
47
+ * @param temporal Temporal date-time object or native Date
48
48
  * @param timeZone Timezone (optional, only used for PlainDate)
49
49
  * @returns Date object
50
50
  */
51
- export declare function temporalToDate(temporal: Temporal.PlainDate | Temporal.PlainDateTime | Temporal.ZonedDateTime, timeZone?: string): Date;
51
+ export declare function temporalToDate(temporal: Temporal.PlainDate | Temporal.PlainDateTime | Temporal.ZonedDateTime | Date, timeZone?: string): Date;
52
52
  /**
53
53
  * Extract hour number (with decimals) from Temporal object
54
54
  * @param temporal Temporal time object
55
55
  * @returns Hour number (0-24, supports decimals), returns 0 if PlainDate
56
56
  */
57
- export declare function extractHourFromTemporal(temporal: Temporal.PlainDate | Temporal.PlainDateTime | Temporal.ZonedDateTime): number;
57
+ export declare function extractHourFromTemporal(temporal: Temporal.PlainDate | Temporal.PlainDateTime | Temporal.ZonedDateTime | Date): number;
58
58
  /**
59
59
  * Create new Temporal object with specified hour
60
60
  * @param temporal Base Temporal object
@@ -65,11 +65,11 @@ export declare function createTemporalWithHour(temporal: Temporal.PlainDate | Te
65
65
  /**
66
66
  * Check if two Temporal dates are on the same day
67
67
  */
68
- export declare function isSamePlainDate(date1: Temporal.PlainDate | Temporal.PlainDateTime | Temporal.ZonedDateTime, date2: Temporal.PlainDate | Temporal.PlainDateTime | Temporal.ZonedDateTime): boolean;
68
+ export declare function isSamePlainDate(date1: Temporal.PlainDate | Temporal.PlainDateTime | Temporal.ZonedDateTime | Date, date2: Temporal.PlainDate | Temporal.PlainDateTime | Temporal.ZonedDateTime | Date): boolean;
69
69
  /**
70
70
  * Check if event spans multiple days
71
71
  */
72
- export declare function isMultiDayTemporalEvent(start: Temporal.PlainDate | Temporal.PlainDateTime | Temporal.ZonedDateTime, end: Temporal.PlainDate | Temporal.PlainDateTime | Temporal.ZonedDateTime): boolean;
72
+ export declare function isMultiDayTemporalEvent(start: Temporal.PlainDate | Temporal.PlainDateTime | Temporal.ZonedDateTime | Date, end: Temporal.PlainDate | Temporal.PlainDateTime | Temporal.ZonedDateTime | Date): boolean;
73
73
  /**
74
74
  * Get start time of Temporal date (00:00:00)
75
75
  */
@@ -8,20 +8,20 @@ import { Temporal } from 'temporal-polyfill';
8
8
  /**
9
9
  * Check if temporal is PlainDate (date only, no time)
10
10
  */
11
- export declare function isPlainDate(temporal: Temporal.PlainDate | Temporal.PlainDateTime | Temporal.ZonedDateTime): temporal is Temporal.PlainDate;
11
+ export declare function isPlainDate(temporal: any): temporal is Temporal.PlainDate;
12
12
  /**
13
13
  * Check if temporal is PlainDateTime (date + time, no timezone)
14
14
  */
15
- export declare function isPlainDateTime(temporal: Temporal.PlainDate | Temporal.PlainDateTime | Temporal.ZonedDateTime): temporal is Temporal.PlainDateTime;
15
+ export declare function isPlainDateTime(temporal: any): temporal is Temporal.PlainDateTime;
16
16
  /**
17
17
  * Check if temporal is ZonedDateTime (date + time + timezone)
18
18
  */
19
- export declare function isZonedDateTime(temporal: Temporal.PlainDate | Temporal.PlainDateTime | Temporal.ZonedDateTime): temporal is Temporal.ZonedDateTime;
19
+ export declare function isZonedDateTime(temporal: any): temporal is Temporal.ZonedDateTime;
20
20
  /**
21
- * Convert any Temporal type to Date (for internal processing)
22
- * Handles all three Temporal types uniformly
21
+ * Convert any Temporal type or Date to Date (for internal processing)
22
+ * Handles all three Temporal types and native Date uniformly
23
23
  */
24
- export declare function temporalToDate(temporal: Temporal.PlainDate | Temporal.PlainDateTime | Temporal.ZonedDateTime): Date;
24
+ export declare function temporalToDate(temporal: Temporal.PlainDate | Temporal.PlainDateTime | Temporal.ZonedDateTime | Date): Date;
25
25
  /**
26
26
  * Convert Date to PlainDate (for all-day events)
27
27
  */
@@ -46,7 +46,7 @@ export declare function plainDateToDate(pd: Temporal.PlainDate): Date;
46
46
  * Extract hour from any Temporal type (with decimal for minutes)
47
47
  * @returns Hour number (0-24, with decimals, e.g., 14.5 = 14:30)
48
48
  */
49
- export declare function extractHourFromTemporal(temporal: Temporal.PlainDate | Temporal.PlainDateTime | Temporal.ZonedDateTime): number;
49
+ export declare function extractHourFromTemporal(temporal: Temporal.PlainDate | Temporal.PlainDateTime | Temporal.ZonedDateTime | Date): number;
50
50
  /**
51
51
  * Create a new Temporal with specified hour (supports PlainDateTime and ZonedDateTime)
52
52
  * @param temporal Base temporal object
@@ -56,8 +56,8 @@ export declare function setHourInTemporal(temporal: Temporal.PlainDateTime | Tem
56
56
  /**
57
57
  * Check if two Temporal objects represent the same day
58
58
  */
59
- export declare function isSameTemporal(t1: Temporal.PlainDate | Temporal.PlainDateTime | Temporal.ZonedDateTime, t2: Temporal.PlainDate | Temporal.PlainDateTime | Temporal.ZonedDateTime): boolean;
59
+ export declare function isSameTemporal(t1: Temporal.PlainDate | Temporal.PlainDateTime | Temporal.ZonedDateTime | Date, t2: Temporal.PlainDate | Temporal.PlainDateTime | Temporal.ZonedDateTime | Date): boolean;
60
60
  /**
61
- * Get PlainDate from any Temporal type
61
+ * Get PlainDate from any Temporal type or Date
62
62
  */
63
- export declare function getPlainDate(temporal: Temporal.PlainDate | Temporal.PlainDateTime | Temporal.ZonedDateTime): Temporal.PlainDate;
63
+ export declare function getPlainDate(temporal: Temporal.PlainDate | Temporal.PlainDateTime | Temporal.ZonedDateTime | Date): Temporal.PlainDate;
@@ -1,13 +1,4 @@
1
1
  import React from 'react';
2
- import { CalendarApp } from '@/core';
3
- import { EventDetailContentRenderer, EventDetailDialogRenderer } from '@/types';
4
- import { ViewSwitcherMode } from '@/components/common/ViewHeader';
5
- interface DayViewProps {
6
- app: CalendarApp;
7
- customDetailPanelContent?: EventDetailContentRenderer;
8
- customEventDetailDialog?: EventDetailDialogRenderer;
9
- calendarRef: React.RefObject<HTMLDivElement>;
10
- switcherMode?: ViewSwitcherMode;
11
- }
2
+ import { DayViewProps } from '@/types';
12
3
  declare const DayView: React.FC<DayViewProps>;
13
4
  export default DayView;
@@ -1,11 +1,4 @@
1
1
  import React from 'react';
2
- import { CalendarApp } from '@/core';
3
- import { EventDetailContentRenderer, EventDetailDialogRenderer } from '@/types';
4
- interface MonthViewProps {
5
- app: CalendarApp;
6
- customDetailPanelContent?: EventDetailContentRenderer;
7
- customEventDetailDialog?: EventDetailDialogRenderer;
8
- calendarRef: React.RefObject<HTMLDivElement>;
9
- }
2
+ import { MonthViewProps } from '@/types';
10
3
  declare const MonthView: React.FC<MonthViewProps>;
11
4
  export default MonthView;
@@ -1,11 +1,4 @@
1
1
  import React from 'react';
2
- import { CalendarApp } from '@/core';
3
- import { EventDetailContentRenderer, EventDetailDialogRenderer } from '@/types';
4
- interface WeekViewProps {
5
- app: CalendarApp;
6
- customDetailPanelContent?: EventDetailContentRenderer;
7
- customEventDetailDialog?: EventDetailDialogRenderer;
8
- calendarRef: React.RefObject<HTMLDivElement>;
9
- }
2
+ import { WeekViewProps } from '@/types';
10
3
  declare const WeekView: React.FC<WeekViewProps>;
11
4
  export default WeekView;
@@ -1,12 +1,15 @@
1
1
  import React from 'react';
2
- import { CalendarApp } from '@/core';
3
- import { EventDetailContentRenderer, EventDetailDialogRenderer } from '@/types';
2
+ import { EventDetailContentRenderer, EventDetailDialogRenderer, CalendarApp } from '@/types';
4
3
  interface YearViewProps {
5
4
  app: CalendarApp;
6
5
  calendarRef: React.RefObject<HTMLDivElement>;
7
6
  customDetailPanelContent?: EventDetailContentRenderer;
8
7
  customEventDetailDialog?: EventDetailDialogRenderer;
9
8
  config?: any;
9
+ selectedEventId?: string | null;
10
+ onEventSelect?: (eventId: string | null) => void;
11
+ detailPanelEventId?: string | null;
12
+ onDetailPanelToggle?: (eventId: string | null) => void;
10
13
  }
11
14
  declare const YearView: React.FC<YearViewProps>;
12
15
  export default YearView;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dayflow/core",
3
- "version": "2.0.6",
3
+ "version": "2.0.7",
4
4
  "description": "A flexible and feature-rich calendar component library for React applications with drag-and-drop support, multiple views (Day, Week, Month, Year), and plugin architecture",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.esm.js",