@dayflow/core 3.5.0 → 3.5.1

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/dist/index.d.ts CHANGED
@@ -226,6 +226,10 @@ interface Event {
226
226
  calendarIds?: string[];
227
227
  meta?: Record<string, unknown>;
228
228
  day?: number;
229
+ /** Original start hour (used for stable cross-day layout) */
230
+ _originalStartHour?: number;
231
+ /** Original end hour (used for stable cross-day layout) */
232
+ _originalEndHour?: number;
229
233
  }
230
234
 
231
235
  /**
@@ -532,6 +536,7 @@ interface CalendarCallbacks {
532
536
  onCalendarCreate?: (calendar: CalendarType) => void | Promise<void>;
533
537
  onCalendarDelete?: (calendarId: string) => void | Promise<void>;
534
538
  onCalendarMerge?: (sourceId: string, targetId: string) => void | Promise<void>;
539
+ onCalendarReorder?: (fromIndex: number, toIndex: number) => void | Promise<void>;
535
540
  onEventClick?: (event: Event) => void | Promise<void>;
536
541
  onEventDoubleClick?: (event: Event, e: MouseEvent) => boolean | undefined | Promise<boolean | undefined>;
537
542
  onMoreEventsClick?: (date: Date) => void | Promise<void>;
@@ -597,6 +602,7 @@ interface CalendarAppConfig {
597
602
  defaultCalendar?: string;
598
603
  theme?: ThemeConfig;
599
604
  useEventDetailDialog?: boolean;
605
+ useEventDetailPanel?: boolean;
600
606
  useCalendarHeader?: boolean;
601
607
  customMobileEventRenderer?: MobileEventRenderer;
602
608
  locale?: string | Locale;
@@ -696,6 +702,7 @@ interface ICalendarApp {
696
702
  triggerRender: () => void;
697
703
  getCalendarRegistry: () => CalendarRegistry;
698
704
  getUseEventDetailDialog: () => boolean;
705
+ getUseEventDetailPanel: () => boolean;
699
706
  getCustomMobileEventRenderer: () => MobileEventRenderer | undefined;
700
707
  updateConfig: (config: Partial<CalendarAppConfig>) => void;
701
708
  /** The resolved global display/edit timezone (IANA string). */
@@ -1207,6 +1214,7 @@ interface BaseViewProps<TConfig = unknown> {
1207
1214
  onDetailPanelToggle?: (eventId: string | null) => void;
1208
1215
  customDetailPanelContent?: EventDetailContentRenderer;
1209
1216
  customEventDetailDialog?: EventDetailDialogRenderer;
1217
+ useEventDetailPanel?: boolean;
1210
1218
  calendarRef: RefObject<HTMLDivElement>;
1211
1219
  switcherMode?: ViewSwitcherMode;
1212
1220
  meta?: Record<string, unknown>;
@@ -1610,6 +1618,7 @@ declare class CalendarApp implements ICalendarApp {
1610
1618
  private navigation;
1611
1619
  private pluginManager;
1612
1620
  private useEventDetailDialog;
1621
+ private useEventDetailPanel;
1613
1622
  private useCalendarHeader;
1614
1623
  private customMobileEventRenderer?;
1615
1624
  constructor(config: CalendarAppConfig);
@@ -1672,6 +1681,7 @@ declare class CalendarApp implements ICalendarApp {
1672
1681
  getViewConfig: (viewType: CalendarViewType) => Record<string, unknown>;
1673
1682
  getCalendarRegistry: () => CalendarRegistry;
1674
1683
  getUseEventDetailDialog: () => boolean;
1684
+ getUseEventDetailPanel: () => boolean;
1675
1685
  getCustomMobileEventRenderer: () => MobileEventRenderer | undefined;
1676
1686
  getCalendarHeaderConfig: () => boolean;
1677
1687
  get timeZone(): string;
@@ -2815,7 +2825,7 @@ declare const restoreTimedDragFromAllDayTransition: ({ wasOriginallyAllDay, mous
2815
2825
 
2816
2826
  declare function normalizeTimeZoneValue(timeZone?: TimeZoneValue): string | undefined;
2817
2827
 
2818
- type SyncableCalendarAppConfig = Pick<CalendarAppConfig, 'allDaySortComparator' | 'calendars' | 'customMobileEventRenderer' | 'locale' | 'readOnly' | 'switcherMode' | 'theme' | 'timeZone' | 'useCalendarHeader' | 'useEventDetailDialog' | 'views'>;
2828
+ type SyncableCalendarAppConfig = Pick<CalendarAppConfig, 'allDaySortComparator' | 'calendars' | 'customMobileEventRenderer' | 'locale' | 'readOnly' | 'switcherMode' | 'theme' | 'timeZone' | 'useCalendarHeader' | 'useEventDetailDialog' | 'useEventDetailPanel' | 'views'>;
2819
2829
  type CalendarAppConfigSyncSnapshot = {
2820
2830
  callbacks: CalendarAppConfig['callbacks'];
2821
2831
  syncableConfig: SyncableCalendarAppConfig;
@@ -3103,6 +3113,8 @@ interface CalendarEventProps {
3103
3113
  customDetailPanelContent?: EventDetailContentRenderer;
3104
3114
  /** Custom event detail dialog component (Dialog mode) */
3105
3115
  customEventDetailDialog?: EventDetailDialogRenderer;
3116
+ /** When false, suppresses the floating event detail panel entirely */
3117
+ useEventDetailPanel?: boolean;
3106
3118
  /** Multi-day regular event segment information */
3107
3119
  multiDaySegmentInfo?: {
3108
3120
  startHour: number;
@@ -3140,7 +3152,7 @@ interface CalendarEventProps {
3140
3152
  appTimeZone?: string;
3141
3153
  }
3142
3154
 
3143
- declare const CalendarEvent: ({ event, layout, isAllDay, allDayHeight, calendarRef, isBeingDragged, isBeingResized, viewType, isMultiDay, segment, yearSegment, columnsPerRow, segmentIndex, hourHeight, firstHour, selectedEventId, detailPanelEventId, onMoveStart, onResizeStart, onEventUpdate, onEventDelete, newlyCreatedEventId, onDetailPanelOpen, onEventSelect, onEventLongPress, onDetailPanelToggle, customDetailPanelContent, customEventDetailDialog, multiDaySegmentInfo, app, isMobile, isSlidingView, enableTouch, hideTime, timeFormat, styleOverride, className, disableDefaultStyle, renderVisualContent, resizeHandleOrientation, appTimeZone, }: CalendarEventProps) => preact.JSX.Element;
3155
+ declare const CalendarEvent: ({ event, layout, isAllDay, allDayHeight, calendarRef, isBeingDragged, isBeingResized, viewType, isMultiDay, segment, yearSegment, columnsPerRow, segmentIndex, hourHeight, firstHour, selectedEventId, detailPanelEventId, onMoveStart, onResizeStart, onEventUpdate, onEventDelete, newlyCreatedEventId, onDetailPanelOpen, onEventSelect, onEventLongPress, onDetailPanelToggle, customDetailPanelContent, customEventDetailDialog, useEventDetailPanel, multiDaySegmentInfo, app, isMobile, isSlidingView, enableTouch, hideTime, timeFormat, styleOverride, className, disableDefaultStyle, renderVisualContent, resizeHandleOrientation, appTimeZone, }: CalendarEventProps) => preact.JSX.Element;
3144
3156
 
3145
3157
  interface LayoutCalculationParams {
3146
3158
  containerWidth?: number;