Emitted after a cluster card is selected or deselected.
Emitted after clusters have been computed.
Emitted after the active cluster filter is cleared.
Emitted after a semantic zoom transition completes.
Whether clicking a multi-month/year era cluster drills into that era's finer bursts with a breadcrumb (default true).
Accessible region label override.
Cancellable event emitted before a cluster card is selected or deselected.
Cancellable event emitted before clusters are computed from the input items.
Cancellable event emitted before the active cluster filter is cleared.
Cancellable event emitted before zooming into an era node or zooming back out.
Category definitions controlling pip colors, legend labels, and subtitle phrasing. When omitted, categories are auto-derived from the input items.
Property name or extractor for Category when binding [Data]. Defaults to 'Category'.
Computed cluster nodes currently visible in the strip.
Strategy when raw session bursts exceed MaxClusters in 'auto' mode:
'adaptive-era' (default): Switches to year or quarter/month era nodes when raw bursts exceed
EraZoomThreshold across multiple years/months, enabling semantic Click-to-Zoom drill-down.'merge-closest': Always merges the two chronologically closest adjacent bursts down to MaxClusters.Optional raw domain array (T[]). Mapped into MJBurstClusterItem<T>[] via [FieldMap]
or [IdField] / [TimestampField] / [CategoryField] / [TooltipField] / [WeightField].
Effective grouping resolution for the current view.
Raw session burst threshold above which 'adaptive-era' switches to multi-month/year era buckets (default 10).
Optional property-name or extractor-function map for [Data].
Unified convenience event emitted whenever cluster selection or era zoom updates the active filtered item set.
Human-readable summary of the current strip granularity (e.g. '3 bursts · 11 mos span').
Whether events occurring on the same UTC calendar day automatically group into the same session burst (default true).
Property name or extractor for ID when binding [Data]. Defaults to 'ID'.
Plural noun for event counts on cluster cards (default 'events'; e.g. 'changes').
Pre-normalized array of time-series items (MJBurstClusterItem<T>[]).
Alternatively, pass raw domain objects via [Data] + [FieldMap] (or [TimestampField], etc.).
Singular noun for event counts on cluster cards (default 'event'; e.g. 'change').
Maximum number of session burst cards rendered in the strip before closest-gap coalescing (default 5).
Maximum individual event pips rendered inside a cluster card before +N overflow indicator (default 12).
Minimum quiet time gap in hours required before rendering a quiet-gap connector pill between clusters (default 48).
Emitted when the user clicks an individual event pip inside a cluster card.
Grouping resolution ('auto' | 'session' | 'day' | 'week' | 'month' | 'quarter' | 'year').
Defaults to 'auto'.
Resolved category definitions (either from [Categories] or auto-discovered from items).
Currently selected cluster key (supports two-way [(SelectedClusterKey)] binding).
Emits when SelectedClusterKey changes (supports two-way [(SelectedClusterKey)]).
Maximum hours between adjacent events to coalesce into the same session burst (default 6).
Whether to render non-linear quiet-time gap connectors (⋯ 11 mos quiet ⋯) between clusters (default true).
Whether to render the top header bar with title, granularity badge, zoom breadcrumb, and legend (default true).
Whether to render the category color legend in the header (default true).
Whether to render individual event pips inside each cluster card (default true).
Whether to render a stacked category proportion bar at the bottom of each cluster card (default false).
Optional custom subtitle formatter callback for each cluster card.
Property name or extractor for Timestamp when binding [Data]. Defaults to 'Timestamp'.
Header title text (default 'Activity Timeline').
Font Awesome icon class rendered next to Title (default 'fa-solid fa-wave-square').
Property name or extractor for Tooltip when binding [Data].
Property name or extractor for Weight when binding [Data].
Stack of active semantic zoom breadcrumbs when drilling into multi-year/month eras.
Items in the current zoom scope (or all normalized items when at root).
Current deepest zoom breadcrumb, or null when at root overview.
Currently selected cluster node, or null.
Display label of the currently selected cluster, or null.
Label for the zoom-out breadcrumb button (e.g. 'All Years (640)' or parent era label).
Clears the currently selected cluster filter.
Fires BeforeSelectionClear (cancellable) and AfterSelectionClear.
Returns the cluster node matching key, or undefined.
Returns the caller's underlying Data: T payloads matching the active cluster/zoom filter.
Returns the set of item IDs matching the active cluster selection (or active zoom era),
or null when no cluster/zoom filter is active.
Returns the normalized MJBurstClusterItem<T>[] matching the active cluster/zoom filter
(or all items when no filter is active).
A callback method that is invoked immediately after the default change detector has checked data-bound properties if at least one has changed, and before the view and content children are checked.
The changed properties.
Recomputes normalized items, category definitions, and burst/era clusters for the current zoom state.
Resets the semantic zoom stack all the way back to the root overview.
Programmatically selects a cluster by key (or clears selection when clusterKey === null).
Fires BeforeClusterSelect (cancellable) and AfterClusterSelect.
Toggles the selection state of the specified cluster key.
Drills down into a multi-month/year era cluster to inspect its inner bursts.
Fires BeforeZoomChange (cancellable) and AfterZoomChange.
Zooms out one level (or to targetDepth, where 0 is the full root timeline).
Fires BeforeZoomChange (cancellable) and AfterZoomChange.
<mj-burst-cluster-strip>— General-purpose, domain-agnostic Burst-Aware Cluster Strip for irregular and multi-year time-series data.Instead of dividing wall-clock time into fixed equal width buckets (which produces mostly empty columns when events occur in irregular bursts separated by weeks, months, or years),
<mj-burst-cluster-strip>groups events into active bursts separated by non-linear quiet-time gap connectors (⋯ 11 mos quiet ⋯), and automatically scales to multi-year histories via adaptive era coalescing (Year→Quarter/Month→Session Burst) with semantic Click-to-Zoom!