@dayflow/core 3.4.2 → 3.5.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/dist/index.d.ts +138 -190
- package/dist/index.esm.js +1 -1
- package/dist/index.js +1 -1
- package/dist/styles.components.css +6037 -379
- package/dist/styles.css +6076 -2513
- package/package.json +7 -3
package/dist/index.d.ts
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import * as preact from 'preact';
|
|
2
2
|
import { ComponentChildren, AnyComponent, RefObject, JSX } from 'preact';
|
|
3
3
|
import { Temporal } from 'temporal-polyfill';
|
|
4
|
-
|
|
5
|
-
export { createPortal } from 'preact/compat';
|
|
4
|
+
export { ContextMenu, ContextMenuColorPicker, ContextMenuItem, ContextMenuLabel, ContextMenuSeparator } from '@dayflow/ui-context-menu';
|
|
6
5
|
import { BlossomColorPickerOptions } from '@dayflow/blossom-color-picker';
|
|
6
|
+
export { RangePicker as DayflowRangePicker, RangePickerProps, ZonedRange } from '@dayflow/ui-range-picker';
|
|
7
|
+
export { createPortal } from 'preact/compat';
|
|
7
8
|
|
|
8
9
|
type ViewSwitcherMode = 'buttons' | 'select';
|
|
9
10
|
|
|
@@ -219,6 +220,10 @@ interface Event {
|
|
|
219
220
|
allDay?: boolean;
|
|
220
221
|
icon?: boolean | ComponentChildren;
|
|
221
222
|
calendarId?: string;
|
|
223
|
+
/** Multi-calendar support: list of calendar IDs this event belongs to.
|
|
224
|
+
* When present, takes precedence over calendarId for visibility and color rendering.
|
|
225
|
+
* The event is visible as long as at least one listed calendar is visible. */
|
|
226
|
+
calendarIds?: string[];
|
|
222
227
|
meta?: Record<string, unknown>;
|
|
223
228
|
day?: number;
|
|
224
229
|
}
|
|
@@ -522,18 +527,20 @@ interface CalendarCallbacks {
|
|
|
522
527
|
onEventDelete?: (eventId: string) => void | Promise<void>;
|
|
523
528
|
onDateChange?: (date: Date) => void | Promise<void>;
|
|
524
529
|
onRender?: () => void | Promise<void>;
|
|
525
|
-
/**
|
|
526
|
-
* @deprecated This method is retained for backward compatibility and will be removed in future releases. Use ``onVisibleRangeChange`` instead.
|
|
527
|
-
*/
|
|
528
|
-
onVisibleMonthChange?: (date: Date) => void | Promise<void>;
|
|
529
530
|
onVisibleRangeChange?: (start: Date, end: Date, reason: RangeChangeReason) => void | Promise<void>;
|
|
530
531
|
onCalendarUpdate?: (calendar: CalendarType) => void | Promise<void>;
|
|
531
532
|
onCalendarCreate?: (calendar: CalendarType) => void | Promise<void>;
|
|
532
533
|
onCalendarDelete?: (calendarId: string) => void | Promise<void>;
|
|
533
534
|
onCalendarMerge?: (sourceId: string, targetId: string) => void | Promise<void>;
|
|
534
535
|
onEventClick?: (event: Event) => void | Promise<void>;
|
|
536
|
+
onEventDoubleClick?: (event: Event, e: MouseEvent) => boolean | undefined | Promise<boolean | undefined>;
|
|
535
537
|
onMoreEventsClick?: (date: Date) => void | Promise<void>;
|
|
536
538
|
onDismissUI?: () => void | Promise<void>;
|
|
539
|
+
/**
|
|
540
|
+
* Toggle event detail panel or dialog.
|
|
541
|
+
* If eventId is null, closes the detail UI.
|
|
542
|
+
*/
|
|
543
|
+
onEventDetailToggle?: (eventId: string | null) => void;
|
|
537
544
|
}
|
|
538
545
|
interface CalendarHeaderProps {
|
|
539
546
|
calendar: ICalendarApp;
|
|
@@ -666,7 +673,9 @@ interface ICalendarApp {
|
|
|
666
673
|
getEvents: () => Event[];
|
|
667
674
|
getAllEvents: () => Event[];
|
|
668
675
|
onEventClick: (event: Event) => void;
|
|
676
|
+
onEventDoubleClick: (event: Event, e: MouseEvent) => boolean | undefined | Promise<boolean | undefined>;
|
|
669
677
|
onMoreEventsClick: (date: Date) => void;
|
|
678
|
+
onEventDetailToggle: (eventId: string | null) => void;
|
|
670
679
|
highlightEvent: (eventId: string | null) => void;
|
|
671
680
|
selectEvent: (eventId: string | null) => void;
|
|
672
681
|
getCalendars: () => CalendarType[];
|
|
@@ -834,6 +843,7 @@ interface DragRef {
|
|
|
834
843
|
lastClientY: number;
|
|
835
844
|
allDay: boolean;
|
|
836
845
|
eventDate?: Date;
|
|
846
|
+
calendarIds?: string[];
|
|
837
847
|
}
|
|
838
848
|
/**
|
|
839
849
|
* Event detail position interface
|
|
@@ -857,6 +867,12 @@ interface DragIndicatorProps {
|
|
|
857
867
|
getDynamicPadding: (drag: DragRef) => string;
|
|
858
868
|
locale?: string;
|
|
859
869
|
isMobile?: boolean;
|
|
870
|
+
/** True when the indicator container has a light background (e.g. diagonal multi-calendar pattern).
|
|
871
|
+
* Renderers should use dark text instead of white when this is set. */
|
|
872
|
+
isLightBackground?: boolean;
|
|
873
|
+
/** Pre-computed line colors for all calendars on this event.
|
|
874
|
+
* Single-element array for single-calendar; multi-element for multi-calendar gradient bar. */
|
|
875
|
+
calendarLineColors?: string[];
|
|
860
876
|
}
|
|
861
877
|
interface DragIndicatorRenderer {
|
|
862
878
|
renderAllDayContent: (props: DragIndicatorProps) => ComponentChildren;
|
|
@@ -893,6 +909,7 @@ interface UnifiedDragRef extends DragRef {
|
|
|
893
909
|
initialIndicatorHeight?: number;
|
|
894
910
|
indicatorContainer?: HTMLElement | null;
|
|
895
911
|
calendarId?: string;
|
|
912
|
+
calendarIds?: string[];
|
|
896
913
|
title?: string;
|
|
897
914
|
}
|
|
898
915
|
interface useDragProps extends Partial<DragConfig> {
|
|
@@ -1110,7 +1127,7 @@ interface EventDetailPanelProps {
|
|
|
1110
1127
|
/** Whether the event is all-day */
|
|
1111
1128
|
isAllDay: boolean;
|
|
1112
1129
|
/** Event visibility state */
|
|
1113
|
-
eventVisibility: '
|
|
1130
|
+
eventVisibility: 'standard' | 'sticky-top' | 'sticky-bottom' | 'sticky-left' | 'sticky-right';
|
|
1114
1131
|
/** Calendar container reference */
|
|
1115
1132
|
calendarRef: RefObject<HTMLDivElement>;
|
|
1116
1133
|
/** Selected event element reference */
|
|
@@ -1538,6 +1555,51 @@ interface MobileEventProps {
|
|
|
1538
1555
|
timeFormat?: '12h' | '24h';
|
|
1539
1556
|
}
|
|
1540
1557
|
|
|
1558
|
+
type CalendarSearchEvent = Event & {
|
|
1559
|
+
color?: string;
|
|
1560
|
+
[key: string]: unknown;
|
|
1561
|
+
};
|
|
1562
|
+
interface CalendarSearchProps {
|
|
1563
|
+
/**
|
|
1564
|
+
* Debounce delay in ms
|
|
1565
|
+
* @default 300
|
|
1566
|
+
*/
|
|
1567
|
+
debounceDelay?: number;
|
|
1568
|
+
/**
|
|
1569
|
+
* Async search method
|
|
1570
|
+
*/
|
|
1571
|
+
onSearch?: (keyword: string) => Promise<CalendarSearchEvent[]>;
|
|
1572
|
+
/**
|
|
1573
|
+
* Custom search logic (takes over completely)
|
|
1574
|
+
*/
|
|
1575
|
+
customSearch?: (params: {
|
|
1576
|
+
keyword: string;
|
|
1577
|
+
events: CalendarSearchEvent[];
|
|
1578
|
+
}) => CalendarSearchEvent[];
|
|
1579
|
+
/**
|
|
1580
|
+
* Search state callback
|
|
1581
|
+
*/
|
|
1582
|
+
onSearchStateChange?: (state: {
|
|
1583
|
+
keyword: string;
|
|
1584
|
+
loading: boolean;
|
|
1585
|
+
results: CalendarSearchEvent[];
|
|
1586
|
+
}) => void;
|
|
1587
|
+
/**
|
|
1588
|
+
* Empty result text
|
|
1589
|
+
*/
|
|
1590
|
+
emptyText?: string | Record<string, string>;
|
|
1591
|
+
/**
|
|
1592
|
+
* Custom handler for search result clicks
|
|
1593
|
+
*/
|
|
1594
|
+
onResultClick?: (params: {
|
|
1595
|
+
event: CalendarSearchEvent;
|
|
1596
|
+
app: ICalendarApp;
|
|
1597
|
+
source: 'desktop' | 'mobile';
|
|
1598
|
+
defaultAction: () => void;
|
|
1599
|
+
closeSearch: () => void;
|
|
1600
|
+
}) => void | Promise<void>;
|
|
1601
|
+
}
|
|
1602
|
+
|
|
1541
1603
|
declare class CalendarApp implements ICalendarApp {
|
|
1542
1604
|
state: CalendarAppState;
|
|
1543
1605
|
private callbacks;
|
|
@@ -1583,7 +1645,9 @@ declare class CalendarApp implements ICalendarApp {
|
|
|
1583
1645
|
getAllEvents: () => Event[];
|
|
1584
1646
|
getEvents: () => Event[];
|
|
1585
1647
|
onEventClick: (event: Event) => void;
|
|
1648
|
+
onEventDoubleClick: (event: Event, e: MouseEvent) => boolean | undefined | Promise<boolean | undefined>;
|
|
1586
1649
|
onMoreEventsClick: (date: Date) => void;
|
|
1650
|
+
onEventDetailToggle: (eventId: string | null) => void;
|
|
1587
1651
|
highlightEvent: (eventId: string | null) => void;
|
|
1588
1652
|
selectEvent: (eventId: string | null) => void;
|
|
1589
1653
|
dismissUI: () => void;
|
|
@@ -1767,6 +1831,48 @@ declare const getSelectedBgColor: (calendarIdOrColor: string, registry?: Calenda
|
|
|
1767
1831
|
* Now uses the calendar registry for color resolution
|
|
1768
1832
|
*/
|
|
1769
1833
|
declare const getLineColor: (calendarIdOrColor: string, registry?: CalendarRegistry) => string;
|
|
1834
|
+
/**
|
|
1835
|
+
* Resolve the primary calendar ID for an event.
|
|
1836
|
+
* Uses calendarIds[0] when available, otherwise falls back to calendarId.
|
|
1837
|
+
*/
|
|
1838
|
+
declare const getPrimaryCalendarId: (event: {
|
|
1839
|
+
calendarId?: string;
|
|
1840
|
+
calendarIds?: string[];
|
|
1841
|
+
}) => string;
|
|
1842
|
+
/**
|
|
1843
|
+
* Resolve all line colors for an event's calendar(s).
|
|
1844
|
+
* Returns an array with one entry per calendar ID.
|
|
1845
|
+
*/
|
|
1846
|
+
declare const getCalendarLineColors: (event: {
|
|
1847
|
+
calendarId?: string;
|
|
1848
|
+
calendarIds?: string[];
|
|
1849
|
+
}, registry?: CalendarRegistry) => string[];
|
|
1850
|
+
/**
|
|
1851
|
+
* Build a CSS gradient string for the multi-calendar color bar.
|
|
1852
|
+
* For a single color it returns the plain color value (no gradient).
|
|
1853
|
+
* For multiple colors it builds an equal-segment `linear-gradient(to bottom, ...)`.
|
|
1854
|
+
*/
|
|
1855
|
+
declare const buildColorBarGradient: (colors: string[]) => string;
|
|
1856
|
+
/**
|
|
1857
|
+
* Build a 45° repeating stripe for narrow multi-calendar color bars.
|
|
1858
|
+
* Uses the same angle and stripe width as the event background pattern, but
|
|
1859
|
+
* accepts line colors so the left bar remains stronger than the event fill.
|
|
1860
|
+
*/
|
|
1861
|
+
declare const buildDiagonalColorBarGradient: (colors: string[], stripeWidth?: number) => string;
|
|
1862
|
+
/**
|
|
1863
|
+
* Resolve all eventColor values for an event's calendar(s).
|
|
1864
|
+
* Used to build the diagonal stripe background.
|
|
1865
|
+
*/
|
|
1866
|
+
declare const getCalendarEventBgColors: (event: {
|
|
1867
|
+
calendarId?: string;
|
|
1868
|
+
calendarIds?: string[];
|
|
1869
|
+
}, registry?: CalendarRegistry) => string[];
|
|
1870
|
+
/**
|
|
1871
|
+
* Build a 45° repeating diagonal stripe CSS background for multi-calendar events.
|
|
1872
|
+
* For a single color returns the plain color value (no pattern).
|
|
1873
|
+
* Each stripe is `stripeWidth` px wide (default 6px).
|
|
1874
|
+
*/
|
|
1875
|
+
declare const buildDiagonalPatternBackground: (colors: string[], stripeWidth?: number) => string;
|
|
1770
1876
|
|
|
1771
1877
|
/**
|
|
1772
1878
|
* Time Utilities
|
|
@@ -2283,14 +2389,6 @@ declare function now(timeZone?: string): Temporal.ZonedDateTime;
|
|
|
2283
2389
|
*/
|
|
2284
2390
|
declare function today(timeZone?: string): Temporal.PlainDate;
|
|
2285
2391
|
|
|
2286
|
-
declare const pad: (input: number) => string;
|
|
2287
|
-
declare const mergeFormatTemplate: (dateFormat: string, timeFormat: string) => string;
|
|
2288
|
-
declare const buildParseRegExp: (template: string) => RegExp;
|
|
2289
|
-
declare const parseTemporalString: (input: string, regExp: RegExp, reference: Temporal.ZonedDateTime, zoneId: string) => Temporal.ZonedDateTime | null;
|
|
2290
|
-
declare const getZoneId: (value: Temporal.ZonedDateTime) => string;
|
|
2291
|
-
declare const normalizeToZoned: (input: Temporal.PlainDate | Temporal.PlainDateTime | Temporal.ZonedDateTime, fallbackZone?: string, fallbackTemporal?: Temporal.ZonedDateTime) => Temporal.ZonedDateTime;
|
|
2292
|
-
declare const formatTemporal: (value: Temporal.ZonedDateTime, format: string, timeFormat: string) => string;
|
|
2293
|
-
|
|
2294
2392
|
/**
|
|
2295
2393
|
* Style Utility Functions
|
|
2296
2394
|
*
|
|
@@ -2327,97 +2425,8 @@ declare function normalizeCssWidth(width?: number | string, defaultWidth?: strin
|
|
|
2327
2425
|
*/
|
|
2328
2426
|
declare function scrollbarTakesSpace(): boolean;
|
|
2329
2427
|
|
|
2330
|
-
/**
|
|
2331
|
-
* Theme Utility Functions
|
|
2332
|
-
*
|
|
2333
|
-
* This module provides utility functions for working with theme-aware class names.
|
|
2334
|
-
*/
|
|
2335
|
-
/**
|
|
2336
|
-
* Combine class names with theme-specific variants
|
|
2337
|
-
*
|
|
2338
|
-
* @param base - Base class names (applied in both themes)
|
|
2339
|
-
* @param light - Light mode specific class names
|
|
2340
|
-
* @param dark - Dark mode specific class names (will be prefixed with 'dark:')
|
|
2341
|
-
* @returns Combined class name string
|
|
2342
|
-
*
|
|
2343
|
-
* @example
|
|
2344
|
-
* ```ts
|
|
2345
|
-
* themeCn('p-4 rounded', 'bg-white text-black', 'bg-gray-900 text-white')
|
|
2346
|
-
* // Returns: 'p-4 rounded bg-white text-black dark:bg-gray-900 dark:text-white'
|
|
2347
|
-
* ```
|
|
2348
|
-
*/
|
|
2349
|
-
declare const themeCn: (base: string, light: string, dark: string) => string;
|
|
2350
|
-
/**
|
|
2351
|
-
* Common theme class combinations
|
|
2352
|
-
*
|
|
2353
|
-
* Pre-defined class combinations for common UI elements.
|
|
2354
|
-
* Use these for consistency across the application.
|
|
2355
|
-
*/
|
|
2356
|
-
declare const themeClasses: {
|
|
2357
|
-
container: string;
|
|
2358
|
-
card: string;
|
|
2359
|
-
sidebar: string;
|
|
2360
|
-
text: string;
|
|
2361
|
-
textMuted: string;
|
|
2362
|
-
textSubtle: string;
|
|
2363
|
-
textEmphasis: string;
|
|
2364
|
-
border: string;
|
|
2365
|
-
borderLight: string;
|
|
2366
|
-
borderStrong: string;
|
|
2367
|
-
bgPrimary: string;
|
|
2368
|
-
bgSecondary: string;
|
|
2369
|
-
bgTertiary: string;
|
|
2370
|
-
bgMuted: string;
|
|
2371
|
-
hover: string;
|
|
2372
|
-
hoverSubtle: string;
|
|
2373
|
-
active: string;
|
|
2374
|
-
focus: string;
|
|
2375
|
-
input: string;
|
|
2376
|
-
inputFocus: string;
|
|
2377
|
-
buttonPrimary: string;
|
|
2378
|
-
buttonSecondary: string;
|
|
2379
|
-
buttonDanger: string;
|
|
2380
|
-
buttonSuccess: string;
|
|
2381
|
-
shadow: string;
|
|
2382
|
-
shadowMd: string;
|
|
2383
|
-
shadowLg: string;
|
|
2384
|
-
divider: string;
|
|
2385
|
-
};
|
|
2386
|
-
/**
|
|
2387
|
-
* Conditional theme class
|
|
2388
|
-
*
|
|
2389
|
-
* Returns different class names based on a condition.
|
|
2390
|
-
*
|
|
2391
|
-
* @param condition - Condition to evaluate
|
|
2392
|
-
* @param whenTrue - Class names when condition is true
|
|
2393
|
-
* @param whenFalse - Class names when condition is false
|
|
2394
|
-
* @returns Class name string based on condition
|
|
2395
|
-
*
|
|
2396
|
-
* @example
|
|
2397
|
-
* ```ts
|
|
2398
|
-
* conditionalTheme(isActive, 'bg-blue-500 dark:bg-blue-600', 'bg-gray-200 dark:bg-gray-700')
|
|
2399
|
-
* ```
|
|
2400
|
-
*/
|
|
2401
|
-
declare const conditionalTheme: (condition: boolean, whenTrue: string, whenFalse: string) => string;
|
|
2402
|
-
/**
|
|
2403
|
-
* Merge multiple class names, filtering out falsy values
|
|
2404
|
-
*
|
|
2405
|
-
* @param classes - Array of class names or falsy values
|
|
2406
|
-
* @returns Merged class name string
|
|
2407
|
-
*
|
|
2408
|
-
* @example
|
|
2409
|
-
* ```ts
|
|
2410
|
-
* mergeClasses('p-4', isActive && 'bg-blue-500', 'rounded')
|
|
2411
|
-
* // Returns: 'p-4 bg-blue-500 rounded' (if isActive is true)
|
|
2412
|
-
* ```
|
|
2413
|
-
*/
|
|
2414
|
-
declare const mergeClasses: (...classes: (string | undefined | null | false)[]) => string;
|
|
2415
2428
|
/**
|
|
2416
2429
|
* Resolve the currently applied theme on the document.
|
|
2417
|
-
*
|
|
2418
|
-
* This inspects common override hooks (like `data-dayflow-theme-override` or
|
|
2419
|
-
* manual `dark`/`light` classes) so host applications can force a theme even
|
|
2420
|
-
* when DayFlow is configured in `auto` mode.
|
|
2421
2430
|
*/
|
|
2422
2431
|
declare const resolveAppliedTheme: (effectiveTheme: "light" | "dark") => "light" | "dark";
|
|
2423
2432
|
|
|
@@ -2545,29 +2554,6 @@ declare function createAllDayEvent(id: string, title: string, date: Date, option
|
|
|
2545
2554
|
* Quick create timed event
|
|
2546
2555
|
*/
|
|
2547
2556
|
declare function createTimedEvent(id: string, title: string, start: Date, end: Date, options?: Omit<CreateEventParams, 'id' | 'title' | 'start' | 'end'>): Event;
|
|
2548
|
-
/**
|
|
2549
|
-
* Convert legacy Date-based event to Temporal-based event
|
|
2550
|
-
* @deprecated Use createEvent() directly with Date objects instead
|
|
2551
|
-
*/
|
|
2552
|
-
declare function convertDateEvent(id: string, title: string, startDate: Date, endDate: Date, allDay?: boolean, options?: {
|
|
2553
|
-
description?: string;
|
|
2554
|
-
calendarId?: string;
|
|
2555
|
-
meta?: Record<string, unknown>;
|
|
2556
|
-
}): Event;
|
|
2557
|
-
/**
|
|
2558
|
-
* Convert legacy Date-based event to timezone-aware event
|
|
2559
|
-
* @deprecated Use createTimezoneEvent() directly with Date objects instead
|
|
2560
|
-
*/
|
|
2561
|
-
declare function convertDateEventWithTimeZone(id: string, title: string, startDate: Date, endDate: Date, timeZone: string, options?: {
|
|
2562
|
-
description?: string;
|
|
2563
|
-
calendarId?: string;
|
|
2564
|
-
meta?: Record<string, unknown>;
|
|
2565
|
-
}): Event;
|
|
2566
|
-
|
|
2567
|
-
type CalendarSearchEvent = Event & {
|
|
2568
|
-
color?: string;
|
|
2569
|
-
[key: string]: unknown;
|
|
2570
|
-
};
|
|
2571
2557
|
|
|
2572
2558
|
/**
|
|
2573
2559
|
* Helper to get date object from event start
|
|
@@ -2582,16 +2568,16 @@ declare const getDateObj: (dateInput: unknown) => Date;
|
|
|
2582
2568
|
*/
|
|
2583
2569
|
declare const normalizeDate: (date: Date) => Date;
|
|
2584
2570
|
/**
|
|
2585
|
-
* Helper to get header text and
|
|
2571
|
+
* Helper to get header text and semantic tone for a date group in search results
|
|
2586
2572
|
* @param groupDate The date of the group
|
|
2587
2573
|
* @param today Reference today date (normalized)
|
|
2588
2574
|
* @param locale Locale string
|
|
2589
2575
|
* @param t Translation function
|
|
2590
|
-
* @returns Object with title and
|
|
2576
|
+
* @returns Object with title and tone
|
|
2591
2577
|
*/
|
|
2592
2578
|
declare const getSearchHeaderInfo: (groupDate: Date, today: Date, locale: string, t: (key: TranslationKey) => string) => {
|
|
2593
2579
|
title: string;
|
|
2594
|
-
|
|
2580
|
+
tone: "default" | "today" | "upcoming";
|
|
2595
2581
|
};
|
|
2596
2582
|
/**
|
|
2597
2583
|
* Helper to group search results by date
|
|
@@ -2969,33 +2955,6 @@ type SidebarBridgeFn = (app: ICalendarApp) => SidebarBridgeReturn;
|
|
|
2969
2955
|
declare function registerSidebarImplementation(fn: SidebarBridgeFn): void;
|
|
2970
2956
|
declare function useSidebarBridge(app: ICalendarApp): SidebarBridgeReturn;
|
|
2971
2957
|
|
|
2972
|
-
interface ContextMenuProps {
|
|
2973
|
-
x: number;
|
|
2974
|
-
y: number;
|
|
2975
|
-
onClose: () => void;
|
|
2976
|
-
children: ComponentChildren;
|
|
2977
|
-
className?: string;
|
|
2978
|
-
}
|
|
2979
|
-
declare const ContextMenu: preact.FunctionalComponent<preact_compat.PropsWithoutRef<ContextMenuProps> & {
|
|
2980
|
-
ref?: preact.Ref<HTMLDivElement> | undefined;
|
|
2981
|
-
}>;
|
|
2982
|
-
declare const ContextMenuItem: ({ onClick, children, icon, danger, disabled, }: {
|
|
2983
|
-
onClick: () => void;
|
|
2984
|
-
children: ComponentChildren;
|
|
2985
|
-
icon?: ComponentChildren;
|
|
2986
|
-
danger?: boolean;
|
|
2987
|
-
disabled?: boolean;
|
|
2988
|
-
}) => preact.JSX.Element;
|
|
2989
|
-
declare const ContextMenuSeparator: () => preact.JSX.Element;
|
|
2990
|
-
declare const ContextMenuLabel: ({ children, }: {
|
|
2991
|
-
children: ComponentChildren;
|
|
2992
|
-
}) => preact.JSX.Element;
|
|
2993
|
-
declare const ContextMenuColorPicker: ({ selectedColor, onSelect, onCustomColor, }: {
|
|
2994
|
-
selectedColor?: string;
|
|
2995
|
-
onSelect: (color: string) => void;
|
|
2996
|
-
onCustomColor?: () => void;
|
|
2997
|
-
}) => preact.JSX.Element;
|
|
2998
|
-
|
|
2999
2958
|
interface GridContextMenuProps {
|
|
3000
2959
|
x: number;
|
|
3001
2960
|
y: number;
|
|
@@ -3044,30 +3003,6 @@ interface DefaultColorPickerProps {
|
|
|
3044
3003
|
}
|
|
3045
3004
|
declare const DefaultColorPicker: ({ color, onChange, onClose, }: DefaultColorPickerProps) => preact.JSX.Element;
|
|
3046
3005
|
|
|
3047
|
-
type ZonedRange = [Temporal.ZonedDateTime, Temporal.ZonedDateTime];
|
|
3048
|
-
interface RangePickerProps {
|
|
3049
|
-
value: [
|
|
3050
|
-
Temporal.PlainDate | Temporal.PlainDateTime | Temporal.ZonedDateTime,
|
|
3051
|
-
Temporal.PlainDate | Temporal.PlainDateTime | Temporal.ZonedDateTime
|
|
3052
|
-
];
|
|
3053
|
-
format?: string;
|
|
3054
|
-
showTimeFormat?: string;
|
|
3055
|
-
showTime?: boolean | {
|
|
3056
|
-
format?: string;
|
|
3057
|
-
};
|
|
3058
|
-
onChange?: (value: ZonedRange, dateString: [string, string]) => void;
|
|
3059
|
-
onOk?: (value: ZonedRange, dateString: [string, string]) => void;
|
|
3060
|
-
timeZone?: string;
|
|
3061
|
-
disabled?: boolean;
|
|
3062
|
-
placement?: 'bottomLeft' | 'bottomRight' | 'topLeft' | 'topRight';
|
|
3063
|
-
autoAdjustOverflow?: boolean;
|
|
3064
|
-
getPopupContainer?: () => HTMLElement;
|
|
3065
|
-
matchTriggerWidth?: boolean;
|
|
3066
|
-
locale?: string | Locale;
|
|
3067
|
-
}
|
|
3068
|
-
|
|
3069
|
-
declare const RangePicker: ({ value, format, showTimeFormat, showTime, onChange, onOk, timeZone, disabled, placement, autoAdjustOverflow, getPopupContainer, matchTriggerWidth, locale, }: RangePickerProps) => JSX.Element;
|
|
3070
|
-
|
|
3071
3006
|
interface MiniCalendarProps {
|
|
3072
3007
|
visibleMonth: Date;
|
|
3073
3008
|
currentDate: Date;
|
|
@@ -3097,7 +3032,6 @@ interface DefaultEventDetailDialogProps extends EventDetailDialogProps {
|
|
|
3097
3032
|
}
|
|
3098
3033
|
/**
|
|
3099
3034
|
* Default event detail dialog component (Dialog mode)
|
|
3100
|
-
* Content is consistent with DefaultEventDetailPanel, but displayed using Dialog/Modal
|
|
3101
3035
|
*/
|
|
3102
3036
|
declare const DefaultEventDetailDialog: ({ event, isOpen, onEventUpdate, onEventDelete, onClose, app, }: DefaultEventDetailDialogProps) => preact.VNode<any> | null;
|
|
3103
3037
|
|
|
@@ -3208,6 +3142,20 @@ interface CalendarEventProps {
|
|
|
3208
3142
|
|
|
3209
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;
|
|
3210
3144
|
|
|
3145
|
+
interface LayoutCalculationParams {
|
|
3146
|
+
containerWidth?: number;
|
|
3147
|
+
viewType?: 'week' | 'day';
|
|
3148
|
+
}
|
|
3149
|
+
|
|
3150
|
+
declare const EventLayoutCalculator: {
|
|
3151
|
+
/**
|
|
3152
|
+
* Calculate layout for all events in a day
|
|
3153
|
+
* @param dayEvents Array of events for the day
|
|
3154
|
+
* @param params Layout calculation parameters
|
|
3155
|
+
*/
|
|
3156
|
+
calculateDayEventLayouts(dayEvents: Event[], params?: LayoutCalculationParams): Map<string, EventLayout>;
|
|
3157
|
+
};
|
|
3158
|
+
|
|
3211
3159
|
interface IconProps {
|
|
3212
3160
|
className?: string;
|
|
3213
3161
|
width?: number;
|
|
@@ -3228,27 +3176,27 @@ declare const AlertCircle: ({ className, width, height, }: IconProps) => preact.
|
|
|
3228
3176
|
/**
|
|
3229
3177
|
* Cancel button
|
|
3230
3178
|
*/
|
|
3231
|
-
declare const cancelButton = "
|
|
3179
|
+
declare const cancelButton = "df-btn-sm df-btn-sm-ghost";
|
|
3232
3180
|
/**
|
|
3233
3181
|
* Calendar picker dropdown (for selecting calendar for an event)
|
|
3234
3182
|
*/
|
|
3235
|
-
declare const calendarPickerDropdown = "df-portal
|
|
3183
|
+
declare const calendarPickerDropdown = "df-portal df-calendar-picker-dropdown df-animate-in df-fade-in df-zoom-in-95";
|
|
3236
3184
|
/**
|
|
3237
3185
|
* Sidebar container
|
|
3238
3186
|
*/
|
|
3239
|
-
declare const sidebarContainer = "df-sidebar
|
|
3187
|
+
declare const sidebarContainer = "df-sidebar";
|
|
3240
3188
|
/**
|
|
3241
3189
|
* Sidebar header
|
|
3242
3190
|
*/
|
|
3243
|
-
declare const sidebarHeader = "df-sidebar-header
|
|
3191
|
+
declare const sidebarHeader = "df-sidebar-header";
|
|
3244
3192
|
/**
|
|
3245
3193
|
* Sidebar header toggle button
|
|
3246
3194
|
*/
|
|
3247
|
-
declare const sidebarHeaderToggle = "df-sidebar-
|
|
3195
|
+
declare const sidebarHeaderToggle = "df-sidebar-toggle";
|
|
3248
3196
|
/**
|
|
3249
3197
|
* Sidebar header title
|
|
3250
3198
|
*/
|
|
3251
|
-
declare const sidebarHeaderTitle = "df-sidebar-header-title
|
|
3199
|
+
declare const sidebarHeaderTitle = "df-sidebar-header-title";
|
|
3252
3200
|
|
|
3253
|
-
export { AlertCircle, AudioLines, BlossomColorPicker, CalendarApp, CalendarEvent, CalendarRegistry, CalendarRenderer, Check, ChevronDown, ChevronRight, ChevronsUpDown, ContentSlot,
|
|
3254
|
-
export type { AllDaySortComparator, BalanceStrategy, BaseViewProps, CalendarAppConfig, CalendarAppConfigSyncSnapshot, CalendarAppState, CalendarCallbacks, CalendarColors, CalendarConfig, CalendarEventProps, CalendarHeaderProps, CalendarPlugin, CalendarType, CalendarView, CalendarViewType, CalendarsConfig, ColorPickerProps, CreateCalendarDialogColorPickerProps, CreateCalendarDialogProps, CreateEventParams, CreateTimezoneEventParams, CustomRendering, DayData, DayViewConfig, DayViewProps, DragConfig, DragHookOptions, DragHookReturn, DragIndicatorProps, DragIndicatorRenderer, DragIntegrationProps, DragPluginConfig, DragRef, DragService, Event, EventChange, EventContentSlotArgs, EventContextMenuSlotArgs, EventDetailContentProps, EventDetailContentRenderer, EventDetailDialogProps, EventDetailDialogRenderer, EventDetailPanelProps, EventDetailPanelRenderer, EventDetailPosition, EventGroup, EventLayout, EventRelations, EventsPluginConfig, EventsService, GridContextMenuSlotArgs, ICSDateParams, ICSExportOptions, ICSImportOptions, ICSImportResult, ICSParseError, ICSVEvent, ICalendarApp, Locale, LocaleCode, LocaleContextValue, LocaleDict, LocaleMessages, LocaleProviderProps, MobileEventProps, MobileEventRenderer, Mode, MonthDragState, MonthEventDragState, MonthScrollConfig, MonthViewConfig, MonthViewProps, NestedLayer, RangeChangeReason,
|
|
3201
|
+
export { AlertCircle, AudioLines, BlossomColorPicker, CalendarApp, CalendarEvent, CalendarRegistry, CalendarRenderer, Check, ChevronDown, ChevronRight, ChevronsUpDown, ContentSlot, CreateCalendarDialog, CustomRenderingStore, DefaultColorPicker, DefaultEventDetailDialog, DefaultEventDetailPanel, EventContextMenu, EventLayoutCalculator, GridContextMenu, LAYOUT_CONFIG, LOCALES, Loader2, LoadingButton, LocaleContext, LocaleProvider, MiniCalendar, PanelRightClose, PanelRightOpen, Plus, TIME_STEP, TimeZone, VIRTUAL_MONTH_SCROLL_CONFIG, ViewType, WeekDataCache, addDays, buildColorBarGradient, buildDiagonalColorBarGradient, buildDiagonalPatternBackground, calculateDayIndex, calendarPickerDropdown, cancelButton, capitalize, clipboardStore, compareAllDayDisplayPriority, compareViews, convertToDayFlowEvent, createAllDayDisplayComparator, createAllDayEvent, createConfigSyncSnapshot, createDateWithHour, createDayView, createEvent, createEventWithDate, createEventWithPlainDateTime, createEventWithRealDate, createEventWithZonedDateTime, createEvents, createEventsPlugin, createMonthView, createNormalizedCalendarAppConfigGetter, createStandardViews, createTemporalWithHour, createTimedEvent, createTimezoneEvent, createTimezoneEvents, createWeekView, createYearView, dateToPlainDate, dateToPlainDateTime, dateToZonedDateTime, daysBetween, daysDifference, downloadICS, en, escapeICSValue, extractHourFromDate, extractHourFromTemporal, extractVEvents, foldLine, formatDate, formatDateConsistent, formatDateToICSTimestamp, formatEventTimeRange, formatICSDate, formatMonthYear, formatProperty, formatTime, generateDayData, generateICS, generateSecondaryTimeSlots, generateUniKey, generateVEvent, generateWeekData, generateWeekRange, generateWeeksData, getAllDayEventsForDay, getAllDayRangeMetrics, getCalendarColorsForHex, getCalendarEventBgColors, getCalendarLineColors, getCallbackConfigUpdate, getCurrentWeekDates, getDateByDayIndex, getDateObj, getDayIndexByDate, getEndOfDay, getEndOfTemporal, getEventBgColor, getEventEndHour, getEventTextColor, getEventsForDay, getEventsForWeek, getIntlLabel, getLineColor, getMonthLabels, getMonthYearOfWeek, getNextHourRangeInTimeZone, getNowInTimeZone, getPlainDate, getPrimaryCalendarId, getSearchHeaderInfo, getSelectedBgColor, getStartOfDay, getStartOfTemporal, getSyncConfigUpdates, getTestEvents, getTimezoneDisplayLabel, getTodayInTimeZone, getWeekDaysLabels, getWeekNumber, getWeekRange, groupSearchResults, hasEventChanged, importICSFile, isDate, isDeepEqual, isEventDeepEqual, isEventInWeek, isMultiDayEvent, isMultiDayTemporalEvent, isPlainDate, isPlainDateTime, isSameDay, isSamePlainDate, isSameTemporal, isValidLocale, isZonedDateTime, monthNames, normalizeCssWidth, normalizeDate, normalizeLocale, normalizeTimeZoneValue, now, pad2, parseICS, parseICSDate, parseVEventLines, pickSyncableConfig, plainDateTimeToDate, plainDateToDate, recalculateEventDays, registerDragImplementation, registerLocale, registerSidebarImplementation, resolveAppliedTheme, restoreTimedDragFromAllDayTransition, restoreVisualEventToCanonical, restoreVisualTimedTemporalToCanonical, roundToTimeStep, scrollbarTakesSpace, setHourInTemporal, shortMonthNames, sidebarContainer, sidebarHeader, sidebarHeaderTitle, sidebarHeaderToggle, sortAllDayByTitle, subscribeCalendar, syncCalendarAppConfig, t, temporalToDate, temporalToVisualDate, temporalToVisualTemporal, today, unescapeICSValue, updateEventDateAndDay, updateEventWithRealDate, useDragForView, useLocale, useSidebarBridge, weekDays, weekDaysFullName, zonedDateTimeToDate };
|
|
3202
|
+
export type { AllDaySortComparator, BalanceStrategy, BaseViewProps, CalendarAppConfig, CalendarAppConfigSyncSnapshot, CalendarAppState, CalendarCallbacks, CalendarColors, CalendarConfig, CalendarEventProps, CalendarHeaderProps, CalendarPlugin, CalendarSearchEvent, CalendarSearchProps, CalendarType, CalendarView, CalendarViewType, CalendarsConfig, ColorPickerProps, CreateCalendarDialogColorPickerProps, CreateCalendarDialogProps, CreateEventParams, CreateTimezoneEventParams, CustomRendering, DayData, DayViewConfig, DayViewProps, DragConfig, DragHookOptions, DragHookReturn, DragIndicatorProps, DragIndicatorRenderer, DragIntegrationProps, DragPluginConfig, DragRef, DragService, Event, EventChange, EventContentSlotArgs, EventContextMenuSlotArgs, EventDetailContentProps, EventDetailContentRenderer, EventDetailDialogProps, EventDetailDialogRenderer, EventDetailPanelProps, EventDetailPanelRenderer, EventDetailPosition, EventGroup, EventLayout, EventRelations, EventsPluginConfig, EventsService, GridContextMenuSlotArgs, ICSDateParams, ICSExportOptions, ICSImportOptions, ICSImportResult, ICSParseError, ICSVEvent, ICalendarApp, Locale, LocaleCode, LocaleContextValue, LocaleDict, LocaleMessages, LocaleProviderProps, MobileEventProps, MobileEventRenderer, Mode, MonthDragState, MonthEventDragState, MonthScrollConfig, MonthViewConfig, MonthViewProps, NestedLayer, RangeChangeReason, ReadOnlyConfig, SidebarBridgeReturn, SidebarHeaderSlotArgs, SpecialLayoutRule, SubscribeResult, SubtreeAnalysis, SupportedLang, SyncableCalendarAppConfig, TComponent, TNode, ThemeColors, ThemeConfig, ThemeMode, TimeZoneValue, TitleBarSlotProps, TransferOperation, TranslationKey, UnifiedDragRef, UseCalendarAppReturn, UseCalendarReturn, UseDragCommonReturn, UseDragHandlersParams, UseDragHandlersReturn, UseDragManagerReturn, UseDragStateReturn, UseMonthDragParams, UseMonthDragReturn, UseVirtualMonthScrollProps, UseVirtualMonthScrollReturn, UseVirtualScrollProps, UseVirtualScrollReturn, UseWeekDayDragParams, UseWeekDayDragReturn, ViewAdapterProps, ViewConfigComparison, ViewFactory, ViewFactoryConfig, VirtualItem, VirtualScrollIntegrationProps, VirtualWeekItem, WeekDayDragState, WeekViewConfig, WeekViewProps, WeeksData, YearViewConfig, YearViewProps, useDragProps, useDragReturn };
|