@dayflow/core 3.0.0 → 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/LICENSE +21 -0
- package/README.md +49 -0
- package/dist/index.d.ts +171 -66
- package/dist/index.esm.js +1 -1
- package/dist/index.js +1 -1
- package/dist/styles.css +20 -8
- package/package.json +12 -13
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2025 DayFlow Contributors
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
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
|
+
[](https://www.npmjs.com/package/@dayflow/core)
|
|
9
|
+
[](https://github.com/dayflow-js/dayflow/pulls)
|
|
10
|
+
[](https://github.com/dayflow-js/dayflow/blob/main/LICENSE)
|
|
11
|
+
[](https://discord.gg/9vdFZKJqBb)
|
|
12
|
+
|
|
13
|
+
## Features
|
|
14
|
+
|
|
15
|
+
### Monthly, Weekly, Daily and Various View Types
|
|
16
|
+
|
|
17
|
+
| Monthly | Weekly |
|
|
18
|
+
| --------------------------------------- | -------------------------------------- |
|
|
19
|
+
|  |  |
|
|
20
|
+
|
|
21
|
+
| Daily | Event Stack Level |
|
|
22
|
+
| ------------------------------------- | ---------------------------------------- |
|
|
23
|
+
|  |  |
|
|
24
|
+
|
|
25
|
+
### Default Panel (with multiple Event Detail Panel options available)
|
|
26
|
+
|
|
27
|
+
| Detail Popup | Detail Dialog |
|
|
28
|
+
| ----------------------------------- | ------------------------------------ |
|
|
29
|
+
|  |  |
|
|
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
|
|
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
|
-
|
|
2490
|
-
|
|
2491
|
-
|
|
2492
|
-
|
|
2493
|
-
declare const
|
|
2494
|
-
|
|
2495
|
-
|
|
2496
|
-
|
|
2497
|
-
|
|
2498
|
-
|
|
2499
|
-
|
|
2500
|
-
|
|
2501
|
-
declare
|
|
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
|
-
|
|
2555
|
-
|
|
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 };
|