@zendir/ui 0.1.14 → 0.1.15
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.
|
@@ -31,8 +31,8 @@ export interface TimelineEvent {
|
|
|
31
31
|
/** Custom metadata */
|
|
32
32
|
metadata?: Record<string, unknown>;
|
|
33
33
|
/** Secondary accent color for team/category identification (CSS color string).
|
|
34
|
-
*
|
|
35
|
-
*
|
|
34
|
+
* List: thin top stripe. Chart/Gantt: optional thin top stripe only; status is shown via Astro shape + hover, not a top line.
|
|
35
|
+
* Scatter: outer ring around the dot. Does NOT override status coloring. */
|
|
36
36
|
color?: string;
|
|
37
37
|
}
|
|
38
38
|
export interface TimelineTrackDef {
|
|
@@ -45,13 +45,21 @@ export interface TimelineTrackDef {
|
|
|
45
45
|
}
|
|
46
46
|
export type TimeFormat = 'relative' | 'absolute' | 'utc';
|
|
47
47
|
export interface TimelineFilter {
|
|
48
|
-
/** Filter by track IDs */
|
|
48
|
+
/** Filter by track IDs (empty / omitted = all tracks) */
|
|
49
49
|
tracks?: string[];
|
|
50
|
-
/** Filter by status */
|
|
50
|
+
/** Filter by display status (multi-select; empty / omitted = all) */
|
|
51
51
|
status?: TimelineEvent['status'][];
|
|
52
|
-
/**
|
|
52
|
+
/** Case-insensitive match on title, subtitle, badge, track, argument values */
|
|
53
53
|
search?: string;
|
|
54
|
+
/** Duration shape: point (no end or zero length), range (has end after start), all */
|
|
55
|
+
eventShape?: 'all' | 'point' | 'range';
|
|
56
|
+
/** Only events with a team/category accent (`event.color`) */
|
|
57
|
+
teamColoredOnly?: boolean;
|
|
54
58
|
}
|
|
59
|
+
/** Display status used for filtering and markers (badgeVariant overrides raw status when set). */
|
|
60
|
+
export declare function getTimelineEventDisplayStatus(event: TimelineEvent): TimelineEvent['status'];
|
|
61
|
+
export declare function isTimelineFilterActive(filter: TimelineFilter): boolean;
|
|
62
|
+
export declare function matchesTimelineFilter(event: TimelineEvent, filter: TimelineFilter): boolean;
|
|
55
63
|
export interface UnifiedTimelineProps {
|
|
56
64
|
/** Timeline title */
|
|
57
65
|
title?: string;
|
|
@@ -85,11 +93,15 @@ export interface UnifiedTimelineProps {
|
|
|
85
93
|
zoomable?: boolean;
|
|
86
94
|
/** Initial zoom level (1 = 100%) */
|
|
87
95
|
initialZoom?: number;
|
|
88
|
-
/** Show filter
|
|
96
|
+
/** Show advanced filter & search toolbar (enable/disable for end users) */
|
|
89
97
|
showFilters?: boolean;
|
|
98
|
+
/** Collapsed by default; set true to start with filters expanded */
|
|
99
|
+
filtersDefaultExpanded?: boolean;
|
|
100
|
+
/** When any filter is active, hide chart/scatter track rows that have no matching events */
|
|
101
|
+
hideEmptyTracksWhenFiltered?: boolean;
|
|
90
102
|
/** Controlled filter state */
|
|
91
103
|
filter?: TimelineFilter;
|
|
92
|
-
/** Filter change handler */
|
|
104
|
+
/** Filter change handler (receives normalized filter object) */
|
|
93
105
|
onFilterChange?: (filter: TimelineFilter) => void;
|
|
94
106
|
/** Show event count badge */
|
|
95
107
|
showCount?: boolean;
|