Event Propagation Matrix
motiq/event-propagation-matrixFreeComponent
A temporal background where application events propagate through a structured cell matrix (rows = regions/streams, cols = time/lanes) — origin cells light, then neighbors along the grid, so waves step cell-to-cell rather than as free-space circles. Overlaps are damped, failed propagation halts with a non-color glyph, acknowledged events dim, and old events settle into a quiet history layer. SVG + CSS only. Deterministic (SSR-safe), light/dark, reduced-motion shows current relationships statically, forced-colors-safe, offscreen-paused.
Live preview
live · rendered by the registry
Rendered by motiq on their own page — this is the component running, not a screenshot of it.Install it
npx shadcn@latest add https://www.motiq.dev/r/event-propagation-matrix.jsonSource
1"use client";23import * as React from "react";45import { cn } from "@/lib/utils";6import {7 useReducedMotion,8 useVisibilityPause,9 resolveComposition,10 compositionScrimStyle,11 contentFalloff,12 labelHiddenAt,13 type ContentPlacement,14} from "@/lib/motiq";1516/* -------------------------------------------------------------------------- */17/* Types */18/* -------------------------------------------------------------------------- */1920/** A cell address in the matrix: `row` = region/stream, `col` = time/lane. */21export interface MatrixCell {22 row: number;23 col: number;24}2526export type EventSeverity = "info" | "warning" | "critical" | number;2728/** Which way an event propagates through the grid from its origin cell. */29export type PropagationDirection = "forward" | "out" | "down";3031export interface EventData {32 /** Stable id (used for deterministic fallback placement). */33 id: string;34 /** Origin cell. If omitted, derived deterministically from `id` + seed. */35 origin?: MatrixCell;36 /** Alternative origin as a region row index — placed at a stable column. */37 originId?: number;38 /** Free-form category label — biases hue toward the secondary accent. */39 category?: string;40 /** Severity — drives reach + color (never color alone; see glyph/weight). */41 severity?: EventSeverity;42 /** Propagation shape along the matrix. Default "out". */43 direction?: PropagationDirection;44 /** Region rows (row indices) this event also reaches. */45 affectedRegions?: number[];46 /** Acknowledged events dim and carry a check glyph. */47 acknowledged?: boolean;48 /** Failed propagation halts early and is marked with a × glyph. */49 failed?: boolean;50 /** Old/settled events render quietly in the history band (no propagation). */51 history?: boolean;52}5354export interface MatrixRect {55 /** 0–1 left edge of the readable safe area. */56 x: number;57 /** 0–1 top edge of the readable safe area. */58 y: number;59 /** 0–1 width of the readable safe area. */60 w: number;61 /** 0–1 height of the readable safe area. */62 h: number;63}6465export interface EventPropagationMatrixProps66 extends React.HTMLAttributes<HTMLDivElement> {67 /** Application-defined events. Omit to render a deterministic default set. */68 events?: EventData[];69 /** Matrix rows (regions/streams). */70 rows?: number;71 /** Matrix columns (time/lanes). */72 cols?: number;73 /**74// … truncated
What it pulls in
Other registry items
Files it writes
More from motiq
All 100 items| Component | Registry | Kind | Access | Installs | Command |
|---|---|---|---|---|---|
| Activity Streamactivity-stream | motiq | Components | Free | 1 dep | |
| Adaptive Safe-Zone Gridadaptive-safe-zone-grid | motiq | Components | Free | no deps | |
| Agent Run Timelineagent-run-timeline | motiq | Components | Free | 1 dep | |
| AI Response Streamai-response-stream | motiq | Components | Free | 1 dep | |
| Animated Accordionanimated-accordion | motiq | Components | Free | 2 deps | |
| Animated Buttonanimated-button | motiq | Components | Free | 1 dep | |
| Animated Dialoganimated-dialog | motiq | Components | Free | 2 deps | |
| Animated Gridanimated-grid | motiq | Components | Free | 2 deps |
