@dayflow/core 3.0.1 → 3.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/README.md ADDED
@@ -0,0 +1,49 @@
1
+ # DayFlow
2
+
3
+ **English** | [中文](README.zh.md) | [日本語](README.ja.md) | [Getting Started & Contributing](CONTRIBUTING.md)
4
+
5
+ A flexible and feature-rich calendar component library for React applications with drag-and-drop support, multiple
6
+ views, and plugin architecture.
7
+
8
+ [![npm](https://img.shields.io/npm/v/@dayflow/core?logo=npm&color=blue&label=version)](https://www.npmjs.com/package/@dayflow/core)
9
+ [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen?logo=github)](https://github.com/dayflow-js/dayflow/pulls)
10
+ [![License](https://img.shields.io/github/license/dayflow-js/dayflow)](https://github.com/dayflow-js/dayflow/blob/main/LICENSE)
11
+ [![Discord](https://img.shields.io/badge/Discord-Join%20Chat-5865F2?logo=discord&logoColor=white)](https://discord.gg/9vdFZKJqBb)
12
+
13
+ ## Features
14
+
15
+ ### Monthly, Weekly, Daily and Various View Types
16
+
17
+ | Monthly | Weekly |
18
+ | --------------------------------------- | -------------------------------------- |
19
+ | ![image](./assets/images/MonthView.png) | ![image](./assets/images/WeekView.png) |
20
+
21
+ | Daily | Event Stack Level |
22
+ | ------------------------------------- | ---------------------------------------- |
23
+ | ![image](./assets/images/DayView.png) | ![image](./assets/images/stackLevel.png) |
24
+
25
+ ### Default Panel (with multiple Event Detail Panel options available)
26
+
27
+ | Detail Popup | Detail Dialog |
28
+ | ----------------------------------- | ------------------------------------ |
29
+ | ![image](./assets/images/popup.png) | ![image](./assets/images/dialog.png) |
30
+
31
+ ### Easy to resize and drag
32
+
33
+ https://github.com/user-attachments/assets/726a5232-35a8-4fe3-8e7b-4de07c455353
34
+
35
+ https://github.com/user-attachments/assets/957317e5-02d8-4419-a74b-62b7d191e347
36
+
37
+ ## Contributing
38
+
39
+ Contributions are welcome! Please feel free to submit a Pull Request.
40
+
41
+ ## Bug Reports
42
+
43
+ If you find a bug, please file an issue on [GitHub Issues](https://github.com/dayflow-js/dayflow/issues).
44
+
45
+ ## Support
46
+
47
+ For questions and support, please open an issue on GitHub or go to discord.
48
+
49
+ ---
package/dist/index.d.ts CHANGED
@@ -1,6 +1,10 @@
1
1
  import { Temporal } from 'temporal-polyfill';
2
2
  import * as preact from 'preact';
3
- import { ComponentChildren, RefObject } from 'preact';
3
+ import { ComponentChildren, RefObject, h } from 'preact';
4
+ import { Event as Event$1 } from '@/types';
5
+ import * as preact_compat from 'preact/compat';
6
+ export { createPortal } from 'preact/compat';
7
+ import { BlossomColorPickerOptions } from '@dayflow/blossom-color-picker';
4
8
 
5
9
  /**
6
10
  * Calendar event interface (using Temporal API)
@@ -186,6 +190,14 @@ declare class CalendarRegistry {
186
190
  */
187
191
  validate(calendar: Partial<CalendarType>): string[];
188
192
  }
193
+ /**
194
+ * Get calendar colors for a specific hex color
195
+ * Tries to match with default calendar types, otherwise generates generic colors
196
+ */
197
+ declare function getCalendarColorsForHex(hex: string): {
198
+ colors: CalendarColors;
199
+ darkColors?: CalendarColors;
200
+ };
189
201
 
190
202
  type LocaleCode = string;
191
203
  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';
@@ -266,6 +278,7 @@ interface CalendarCallbacks {
266
278
  onCalendarMerge?: (sourceId: string, targetId: string) => void | Promise<void>;
267
279
  onEventClick?: (event: Event) => void | Promise<void>;
268
280
  onMoreEventsClick?: (date: Date) => void | Promise<void>;
281
+ onDismissUI?: () => void | Promise<void>;
269
282
  }
270
283
  interface CreateCalendarDialogProps {
271
284
  onClose: () => void;
@@ -285,38 +298,6 @@ interface CalendarHeaderProps {
285
298
  /** Left safe area padding (px) to avoid overlapping with traffic light buttons in macMode */
286
299
  safeAreaLeft?: number;
287
300
  }
288
- /**
289
- * Sidebar render props
290
- */
291
- interface CalendarSidebarRenderProps {
292
- app: ICalendarApp;
293
- calendars: CalendarType[];
294
- toggleCalendarVisibility: (calendarId: string, visible: boolean) => void;
295
- toggleAll: (visible: boolean) => void;
296
- isCollapsed: boolean;
297
- setCollapsed: (collapsed: boolean) => void;
298
- renderCalendarContextMenu?: (calendar: CalendarType, onClose: () => void) => TNode;
299
- createCalendarMode?: 'inline' | 'modal';
300
- renderCreateCalendarDialog?: (props: CreateCalendarDialogProps) => TNode;
301
- editingCalendarId?: string | null;
302
- setEditingCalendarId?: (id: string | null) => void;
303
- onCreateCalendar?: () => void;
304
- colorPickerMode?: 'blossom' | 'default';
305
- }
306
- /**
307
- * Sidebar config
308
- */
309
- interface SidebarConfig {
310
- enabled?: boolean;
311
- width?: number | string;
312
- initialCollapsed?: boolean;
313
- render?: (props: CalendarSidebarRenderProps) => TNode;
314
- renderCalendarContextMenu?: (calendar: CalendarType, onClose: () => void) => TNode;
315
- createCalendarMode?: 'inline' | 'modal';
316
- renderCreateCalendarDialog?: (props: CreateCalendarDialogProps) => TNode;
317
- /** Color picker mode: 'blossom' for BlossomColorPicker, 'default' for react-color */
318
- colorPickerMode?: 'blossom' | 'default';
319
- }
320
301
  /**
321
302
  * Calendar application configuration
322
303
  * Used to initialize CalendarApp
@@ -332,7 +313,6 @@ interface CalendarAppConfig {
332
313
  calendars?: CalendarType[];
333
314
  defaultCalendar?: string;
334
315
  theme?: ThemeConfig;
335
- useSidebar?: boolean | SidebarConfig;
336
316
  useEventDetailDialog?: boolean;
337
317
  useCalendarHeader?: boolean | ((props: CalendarHeaderProps) => TNode);
338
318
  customMobileEventRenderer?: MobileEventRenderer;
@@ -357,9 +337,9 @@ interface CalendarAppState {
357
337
  plugins: Map<string, CalendarPlugin>;
358
338
  views: Map<ViewType, CalendarView>;
359
339
  switcherMode?: ViewSwitcherMode;
360
- sidebar?: SidebarConfig;
361
340
  locale: string | Locale;
362
341
  highlightedEventId?: string | null;
342
+ selectedEventId?: string | null;
363
343
  readOnly: boolean | ReadOnlyConfig;
364
344
  }
365
345
  /**
@@ -396,6 +376,7 @@ interface ICalendarApp {
396
376
  onEventClick: (event: Event) => void;
397
377
  onMoreEventsClick: (date: Date) => void;
398
378
  highlightEvent: (eventId: string | null) => void;
379
+ selectEvent: (eventId: string | null) => void;
399
380
  getCalendars: () => CalendarType[];
400
381
  reorderCalendars: (fromIndex: number, toIndex: number) => void;
401
382
  setCalendarVisibility: (calendarId: string, visible: boolean) => void;
@@ -406,9 +387,9 @@ interface ICalendarApp {
406
387
  mergeCalendars: (sourceId: string, targetId: string) => void;
407
388
  setVisibleMonth: (date: Date) => void;
408
389
  getVisibleMonth: () => Date;
390
+ dismissUI: () => void;
409
391
  getPlugin: <T = unknown>(name: string) => T | undefined;
410
392
  hasPlugin: (name: string) => boolean;
411
- getSidebarConfig: () => SidebarConfig;
412
393
  getCalendarHeaderConfig: () => boolean | ((props: CalendarHeaderProps) => TNode);
413
394
  triggerRender: () => void;
414
395
  getCalendarRegistry: () => CalendarRegistry;
@@ -456,7 +437,6 @@ interface UseCalendarAppReturn {
456
437
  highlightEvent: (eventId: string | null) => void;
457
438
  setVisibleMonth: (date: Date) => void;
458
439
  getVisibleMonth: () => Date;
459
- sidebarConfig: SidebarConfig;
460
440
  readOnlyConfig: ReadOnlyConfig;
461
441
  }
462
442
  /**
@@ -1282,7 +1262,6 @@ declare class CalendarApp implements ICalendarApp {
1282
1262
  state: CalendarAppState;
1283
1263
  private callbacks;
1284
1264
  private calendarRegistry;
1285
- private sidebarConfig;
1286
1265
  private visibleMonth;
1287
1266
  private useEventDetailDialog;
1288
1267
  private useCalendarHeader;
@@ -1329,6 +1308,8 @@ declare class CalendarApp implements ICalendarApp {
1329
1308
  onEventClick: (event: Event) => void;
1330
1309
  onMoreEventsClick: (date: Date) => void;
1331
1310
  highlightEvent: (eventId: string | null) => void;
1311
+ selectEvent: (eventId: string | null) => void;
1312
+ dismissUI: () => void;
1332
1313
  getEvents: () => Event[];
1333
1314
  getCalendars: () => CalendarType[];
1334
1315
  reorderCalendars: (fromIndex: number, toIndex: number) => void;
@@ -1338,7 +1319,6 @@ declare class CalendarApp implements ICalendarApp {
1338
1319
  createCalendar: (calendar: CalendarType) => void;
1339
1320
  deleteCalendar: (id: string) => void;
1340
1321
  mergeCalendars: (sourceId: string, targetId: string) => void;
1341
- getSidebarConfig: () => SidebarConfig;
1342
1322
  getCalendarHeaderConfig: () => boolean | ((props: any) => TNode);
1343
1323
  private installPlugin;
1344
1324
  getPlugin: <T = unknown>(name: string) => T | undefined;
@@ -1869,7 +1849,7 @@ declare function dateToPlainDateTime(date: Date): Temporal.PlainDateTime;
1869
1849
  /**
1870
1850
  * Convert Date to ZonedDateTime (for timezone-aware events)
1871
1851
  */
1872
- declare function dateToZonedDateTime(date: Date, timeZone: string): Temporal.ZonedDateTime;
1852
+ declare function dateToZonedDateTime(date: Date, timeZone?: string): Temporal.ZonedDateTime;
1873
1853
  /**
1874
1854
  * Convert PlainDateTime to Date
1875
1855
  */
@@ -2277,6 +2257,15 @@ declare const groupSearchResults: (results: CalendarSearchEvent[], today: Date)
2277
2257
  events: CalendarSearchEvent[];
2278
2258
  }>;
2279
2259
 
2260
+ declare class ClipboardStore {
2261
+ private lastCopiedEvent;
2262
+ setEvent(event: Event$1): void;
2263
+ getEvent(): Event$1 | null;
2264
+ hasEvent(): boolean;
2265
+ clear(): void;
2266
+ }
2267
+ declare const clipboardStore: ClipboardStore;
2268
+
2280
2269
  /**
2281
2270
  * ICS (iCalendar) Types
2282
2271
  *
@@ -2486,28 +2475,19 @@ declare const getMonthLabels: (locale: string, format?: "long" | "short" | "narr
2486
2475
 
2487
2476
  declare const en: Locale;
2488
2477
 
2489
- declare const zh: Locale;
2490
-
2491
- declare const ja: Locale;
2492
-
2493
- declare const ko: Locale;
2494
-
2495
- declare const fr: Locale;
2496
-
2497
- declare const de: Locale;
2498
-
2499
- declare const es: Locale;
2500
-
2501
- declare const LOCALES: {
2502
- en: Locale;
2503
- zh: Locale;
2504
- ja: Locale;
2505
- ko: Locale;
2506
- fr: Locale;
2507
- de: Locale;
2508
- es: Locale;
2509
- };
2510
- type SupportedLang = keyof typeof LOCALES;
2478
+ /**
2479
+ * Global locale registry for the core library.
2480
+ * Default includes English.
2481
+ */
2482
+ declare const LOCALES: Record<string, Locale>;
2483
+ type SupportedLang = string;
2484
+ /**
2485
+ * Registers a new locale in the global registry.
2486
+ * This allows plugins to provide additional translations.
2487
+ *
2488
+ * @param locale The locale object to register
2489
+ */
2490
+ declare function registerLocale(locale: Locale): void;
2511
2491
 
2512
2492
  /**
2513
2493
  * Normalizes a locale string to a supported language code.
@@ -2533,6 +2513,13 @@ declare const LocaleContext: preact.Context<LocaleContextValue>;
2533
2513
  */
2534
2514
  declare function useLocale(): LocaleContextValue;
2535
2515
 
2516
+ interface LocaleProviderProps {
2517
+ locale?: LocaleCode | Locale;
2518
+ messages?: LocaleMessages;
2519
+ children?: any;
2520
+ }
2521
+ declare const LocaleProvider: ({ locale, messages, children, }: LocaleProviderProps) => preact.JSX.Element;
2522
+
2536
2523
  declare const createDayView: ViewFactory<DayViewConfig>;
2537
2524
 
2538
2525
  declare const createWeekView: ViewFactory<WeekViewConfig>;
@@ -2547,9 +2534,127 @@ declare function createStandardViews(config?: {
2547
2534
  month?: Partial<MonthViewConfig>;
2548
2535
  }): CalendarView[];
2549
2536
 
2550
- declare function createDragPlugin(config?: Partial<DragPluginConfig>): CalendarPlugin;
2551
-
2552
2537
  declare function createEventsPlugin(config?: EventsPluginConfig): CalendarPlugin;
2553
2538
 
2554
- export { CalendarApp, CalendarRegistry, CalendarRenderer, CustomRenderingStore, LAYOUT_CONFIG, LOCALES, LocaleContext, TIME_STEP, VIRTUAL_MONTH_SCROLL_CONFIG, ViewType, WeekDataCache, addDays, buildParseRegExp, calculateDayIndex, capitalize, conditionalTheme, convertDateEvent, convertDateEventWithTimeZone, createAllDayEvent, createDateWithHour, createDayView, createDragPlugin, createEvent, createEventWithDate, createEventWithRealDate, createEvents, createEventsPlugin, createMonthView, createStandardViews, createTemporalWithHour, createTimedEvent, createTimezoneEvent, createTimezoneEvents, createWeekView, createYearView, dateToPlainDate, dateToPlainDateTime, dateToZonedDateTime, daysBetween, daysDifference, de, downloadICS, en, es, extractHourFromDate, extractHourFromTemporal, formatDate, formatDateConsistent, formatDateToICSTimestamp, formatEventTimeRange, formatICSDate, formatMonthYear, formatTemporal, formatTime, fr, generateDayData, generateICS, generateUniKey, generateWeekData, generateWeekRange, generateWeeksData, getAllDayEventsForDay, getCurrentWeekDates, getDateByDayIndex, getDateObj, getDayIndexByDate, getEndOfDay, getEndOfTemporal, getEventBgColor, getEventEndHour, getEventTextColor, getEventsForDay, getEventsForWeek, getIntlLabel, getLineColor, getMonthLabels, getMonthYearOfWeek, getPlainDate, getSearchHeaderInfo, getSelectedBgColor, getStartOfDay, getStartOfTemporal, getTestEvents, getWeekDaysLabels, getWeekRange, getZoneId, groupSearchResults, importICSFile, isDate, isDeepEqual, isEventEqual, isEventInWeek, isMultiDayEvent, isMultiDayTemporalEvent, isPlainDate, isPlainDateTime, isSameDay, isSamePlainDate, isSameTemporal, isValidLocale, isZonedDateTime, ja, ko, mergeClasses, mergeFormatTemplate, monthNames, normalizeCssWidth, normalizeDate, normalizeLocale, normalizeToZoned, now, pad, parseICS, parseICSDate, parseTemporalString, plainDateTimeToDate, plainDateToDate, recalculateEventDays, resolveAppliedTheme, roundToTimeStep, scrollbarTakesSpace, setHourInTemporal, shortMonthNames, t, temporalToDate, themeClasses, themeCn, today, updateEventDateAndDay, updateEventWithRealDate, useLocale, weekDays, weekDaysFullName, zh, zonedDateTimeToDate };
2555
- export type { BalanceStrategy, BaseViewProps, CalendarAppConfig, CalendarAppState, CalendarCallbacks, CalendarColors, CalendarConfig, CalendarHeaderProps, CalendarPlugin, CalendarSidebarRenderProps, CalendarType, CalendarView, CalendarsConfig, CreateCalendarDialogProps, CreateEventParams, CreateTimezoneEventParams, CustomRendering, DayData, DayViewConfig, DayViewProps, DragConfig, DragHookOptions, DragHookReturn, DragIndicatorProps, DragIndicatorRenderer, DragIntegrationProps, DragPluginConfig, DragRef, DragService, Event, EventDetailContentProps, EventDetailContentRenderer, EventDetailDialogProps, EventDetailDialogRenderer, EventDetailPanelProps, EventDetailPanelRenderer, EventDetailPosition, EventGroup, EventLayout, EventRelations, EventsPluginConfig, EventsService, ICSDateParams, ICSExportOptions, ICSImportOptions, ICSImportResult, ICSParseError, ICSVEvent, ICalendarApp, Locale, LocaleCode, LocaleContextValue, LocaleDict, LocaleMessages, MobileEventProps, MobileEventRenderer, Mode, MonthDragState, MonthEventDragState, MonthViewConfig, MonthViewProps, NestedLayer, ReadOnlyConfig, SidebarConfig, SpecialLayoutRule, SubtreeAnalysis, SupportedLang, TComponent, TNode, ThemeColors, ThemeConfig, ThemeMode, TransferOperation, TranslationKey, UnifiedDragRef, UseCalendarAppReturn, UseCalendarReturn, UseDragCommonReturn, UseDragHandlersParams, UseDragHandlersReturn, UseDragManagerReturn, UseDragStateReturn, UseMonthDragParams, UseMonthDragReturn, UseVirtualMonthScrollProps, UseVirtualMonthScrollReturn, UseVirtualScrollProps, UseVirtualScrollReturn, UseWeekDayDragParams, UseWeekDayDragReturn, ViewAdapterProps, ViewFactory, ViewFactoryConfig, VirtualItem, VirtualScrollIntegrationProps, VirtualWeekItem, WeekDayDragState, WeekViewConfig, WeekViewProps, WeeksData, YearViewConfig, YearViewProps, useDragProps, useDragReturn };
2539
+ type DragForViewFn = (app: ICalendarApp, options: DragHookOptions) => DragHookReturn;
2540
+ declare function registerDragImplementation(fn: DragForViewFn): void;
2541
+ declare function useDragForView(app: ICalendarApp, options: DragHookOptions): DragHookReturn;
2542
+
2543
+ interface SidebarBridgeReturn {
2544
+ enabled: boolean;
2545
+ width: string;
2546
+ isCollapsed: boolean;
2547
+ toggleCollapsed: () => void;
2548
+ miniWidth: string;
2549
+ content: TNode | null;
2550
+ extraContent: TNode | null;
2551
+ safeAreaLeft: number;
2552
+ }
2553
+ type SidebarBridgeFn = (app: ICalendarApp) => SidebarBridgeReturn;
2554
+ declare function registerSidebarImplementation(fn: SidebarBridgeFn): void;
2555
+ declare function useSidebarBridge(app: ICalendarApp): SidebarBridgeReturn;
2556
+
2557
+ interface ContextMenuProps {
2558
+ x: number;
2559
+ y: number;
2560
+ onClose: () => void;
2561
+ children: any;
2562
+ className?: string;
2563
+ }
2564
+ declare const ContextMenu: preact.FunctionalComponent<preact_compat.PropsWithoutRef<ContextMenuProps> & {
2565
+ ref?: preact.Ref<HTMLDivElement> | undefined;
2566
+ }>;
2567
+ declare const ContextMenuItem: ({ onClick, children, icon, danger, disabled, }: {
2568
+ onClick: () => void;
2569
+ children: any;
2570
+ icon?: any;
2571
+ danger?: boolean;
2572
+ disabled?: boolean;
2573
+ }) => h.JSX.Element;
2574
+ declare const ContextMenuSeparator: () => h.JSX.Element;
2575
+ declare const ContextMenuLabel: any;
2576
+ declare const ContextMenuColorPicker: ({ selectedColor, onSelect, onCustomColor, }: {
2577
+ selectedColor?: string;
2578
+ onSelect: (color: string) => void;
2579
+ onCustomColor?: () => void;
2580
+ }) => h.JSX.Element;
2581
+
2582
+ interface BlossomColorPickerProps extends Partial<BlossomColorPickerOptions> {
2583
+ className?: string;
2584
+ }
2585
+ declare const BlossomColorPicker: (props: BlossomColorPickerProps) => preact.JSX.Element;
2586
+
2587
+ interface DefaultColorPickerProps {
2588
+ color: string;
2589
+ onChange: (color: {
2590
+ hex: string;
2591
+ }, isPending?: boolean) => void;
2592
+ onClose?: () => void;
2593
+ [key: string]: any;
2594
+ }
2595
+ declare const DefaultColorPicker: ({ color, onChange, onClose, }: DefaultColorPickerProps) => preact.JSX.Element;
2596
+
2597
+ interface MiniCalendarProps {
2598
+ visibleMonth: Date;
2599
+ currentDate: Date;
2600
+ showHeader?: boolean;
2601
+ onMonthChange: (offset: number) => void;
2602
+ onDateSelect: (date: Date) => void;
2603
+ locale?: string;
2604
+ }
2605
+ declare const MiniCalendar: ({ visibleMonth, currentDate, showHeader, onMonthChange, onDateSelect, }: MiniCalendarProps) => preact.JSX.Element;
2606
+
2607
+ declare const CreateCalendarDialog: ({ onClose, onCreate, colorPickerMode, }: CreateCalendarDialogProps) => preact.VNode<any> | null;
2608
+
2609
+ interface ContentSlotProps {
2610
+ generatorName: string;
2611
+ generatorArgs?: any;
2612
+ defaultContent?: any;
2613
+ store?: any;
2614
+ }
2615
+ /**
2616
+ * Preact component: Creates a placeholder <div> and registers it with CustomRenderingStore.
2617
+ * If a framework adapter (React/Vue) is present, it will portal its content into this <div>.
2618
+ * Otherwise, it displays defaultContent.
2619
+ */
2620
+ declare function ContentSlot({ generatorName, generatorArgs, defaultContent, store: propStore, }: ContentSlotProps): preact.JSX.Element;
2621
+
2622
+ interface IconProps {
2623
+ className?: string;
2624
+ width?: number;
2625
+ height?: number;
2626
+ }
2627
+ declare const ChevronRight: ({ className, width, height, }: IconProps) => preact.JSX.Element;
2628
+ declare const Plus: ({ className, width, height }: IconProps) => preact.JSX.Element;
2629
+ declare const Check: ({ className, width, height }: IconProps) => preact.JSX.Element;
2630
+ declare const ChevronsUpDown: ({ className, width, height, }: IconProps) => preact.JSX.Element;
2631
+ declare const PanelRightClose: ({ className, width, height, }: IconProps) => preact.JSX.Element;
2632
+ declare const PanelRightOpen: ({ className, width, height, }: IconProps) => preact.JSX.Element;
2633
+
2634
+ /**
2635
+ * Cancel button
2636
+ */
2637
+ declare const cancelButton = "rounded-md bg-background border border-border px-3 py-2 text-xs font-medium text-gray-700 dark:text-gray-300 hover:bg-(--hover)";
2638
+ /**
2639
+ * Calendar picker dropdown (for selecting calendar for an event)
2640
+ */
2641
+ declare const calendarPickerDropdown = "bg-white dark:bg-gray-800 rounded-md shadow-lg border border-gray-200 dark:border-gray-700 overflow-hidden transition-all duration-200 origin-top-right animate-in fade-in zoom-in-95";
2642
+ /**
2643
+ * Sidebar container
2644
+ */
2645
+ declare const sidebarContainer = "df-sidebar flex h-full flex-col border-r border-gray-200 dark:border-gray-700 bg-white dark:bg-slate-900";
2646
+ /**
2647
+ * Sidebar header
2648
+ */
2649
+ declare const sidebarHeader = "df-sidebar-header flex items-center px-2 py-2";
2650
+ /**
2651
+ * Sidebar header toggle button
2652
+ */
2653
+ declare const sidebarHeaderToggle = "df-sidebar-header-toggle flex h-8 w-8 items-center justify-center rounded hover:bg-gray-100 dark:hover:bg-slate-800";
2654
+ /**
2655
+ * Sidebar header title
2656
+ */
2657
+ declare const sidebarHeaderTitle = "df-sidebar-header-title text-sm font-semibold text-gray-700 dark:text-gray-200";
2658
+
2659
+ export { BlossomColorPicker, CalendarApp, CalendarRegistry, CalendarRenderer, Check, ChevronRight, ChevronsUpDown, ContentSlot, ContextMenu, ContextMenuColorPicker, ContextMenuItem, ContextMenuLabel, ContextMenuSeparator, CreateCalendarDialog, CustomRenderingStore, DefaultColorPicker, LAYOUT_CONFIG, LOCALES, LocaleContext, LocaleProvider, MiniCalendar, PanelRightClose, PanelRightOpen, Plus, TIME_STEP, VIRTUAL_MONTH_SCROLL_CONFIG, ViewType, WeekDataCache, addDays, buildParseRegExp, calculateDayIndex, calendarPickerDropdown, cancelButton, capitalize, clipboardStore, conditionalTheme, convertDateEvent, convertDateEventWithTimeZone, createAllDayEvent, createDateWithHour, createDayView, createEvent, createEventWithDate, createEventWithRealDate, createEvents, createEventsPlugin, createMonthView, createStandardViews, createTemporalWithHour, createTimedEvent, createTimezoneEvent, createTimezoneEvents, createWeekView, createYearView, dateToPlainDate, dateToPlainDateTime, dateToZonedDateTime, daysBetween, daysDifference, downloadICS, en, extractHourFromDate, extractHourFromTemporal, formatDate, formatDateConsistent, formatDateToICSTimestamp, formatEventTimeRange, formatICSDate, formatMonthYear, formatTemporal, formatTime, generateDayData, generateICS, generateUniKey, generateWeekData, generateWeekRange, generateWeeksData, getAllDayEventsForDay, getCalendarColorsForHex, getCurrentWeekDates, getDateByDayIndex, getDateObj, getDayIndexByDate, getEndOfDay, getEndOfTemporal, getEventBgColor, getEventEndHour, getEventTextColor, getEventsForDay, getEventsForWeek, getIntlLabel, getLineColor, getMonthLabels, getMonthYearOfWeek, getPlainDate, getSearchHeaderInfo, getSelectedBgColor, getStartOfDay, getStartOfTemporal, getTestEvents, getWeekDaysLabels, getWeekRange, getZoneId, groupSearchResults, importICSFile, isDate, isDeepEqual, isEventEqual, isEventInWeek, isMultiDayEvent, isMultiDayTemporalEvent, isPlainDate, isPlainDateTime, isSameDay, isSamePlainDate, isSameTemporal, isValidLocale, isZonedDateTime, mergeClasses, mergeFormatTemplate, monthNames, normalizeCssWidth, normalizeDate, normalizeLocale, normalizeToZoned, now, pad, parseICS, parseICSDate, parseTemporalString, plainDateTimeToDate, plainDateToDate, recalculateEventDays, registerDragImplementation, registerLocale, registerSidebarImplementation, resolveAppliedTheme, roundToTimeStep, scrollbarTakesSpace, setHourInTemporal, shortMonthNames, sidebarContainer, sidebarHeader, sidebarHeaderTitle, sidebarHeaderToggle, t, temporalToDate, themeClasses, themeCn, today, updateEventDateAndDay, updateEventWithRealDate, useDragForView, useLocale, useSidebarBridge, weekDays, weekDaysFullName, zonedDateTimeToDate };
2660
+ export type { BalanceStrategy, BaseViewProps, CalendarAppConfig, CalendarAppState, CalendarCallbacks, CalendarColors, CalendarConfig, CalendarHeaderProps, CalendarPlugin, CalendarType, CalendarView, CalendarsConfig, CreateCalendarDialogProps, CreateEventParams, CreateTimezoneEventParams, CustomRendering, DayData, DayViewConfig, DayViewProps, DragConfig, DragHookOptions, DragHookReturn, DragIndicatorProps, DragIndicatorRenderer, DragIntegrationProps, DragPluginConfig, DragRef, DragService, Event, EventDetailContentProps, EventDetailContentRenderer, EventDetailDialogProps, EventDetailDialogRenderer, EventDetailPanelProps, EventDetailPanelRenderer, EventDetailPosition, EventGroup, EventLayout, EventRelations, EventsPluginConfig, EventsService, ICSDateParams, ICSExportOptions, ICSImportOptions, ICSImportResult, ICSParseError, ICSVEvent, ICalendarApp, Locale, LocaleCode, LocaleContextValue, LocaleDict, LocaleMessages, LocaleProviderProps, MobileEventProps, MobileEventRenderer, Mode, MonthDragState, MonthEventDragState, MonthViewConfig, MonthViewProps, NestedLayer, ReadOnlyConfig, SidebarBridgeReturn, SpecialLayoutRule, SubtreeAnalysis, SupportedLang, TComponent, TNode, ThemeColors, ThemeConfig, ThemeMode, TransferOperation, TranslationKey, UnifiedDragRef, UseCalendarAppReturn, UseCalendarReturn, UseDragCommonReturn, UseDragHandlersParams, UseDragHandlersReturn, UseDragManagerReturn, UseDragStateReturn, UseMonthDragParams, UseMonthDragReturn, UseVirtualMonthScrollProps, UseVirtualMonthScrollReturn, UseVirtualScrollProps, UseVirtualScrollReturn, UseWeekDayDragParams, UseWeekDayDragReturn, ViewAdapterProps, ViewFactory, ViewFactoryConfig, VirtualItem, VirtualScrollIntegrationProps, VirtualWeekItem, WeekDayDragState, WeekViewConfig, WeekViewProps, WeeksData, YearViewConfig, YearViewProps, useDragProps, useDragReturn };