Lineage node
An asset on the lineage canvas.
<mm-lineage-node name="orders_daily" type="model" provider="dbt" current></mm-lineage-node>
<mm-lineage-node name="Weekly revenue" type="dashboard" provider="looker" stub></mm-lineage-node>
<mm-lineage-node variant="agent-cluster" count="4"></mm-lineage-node>
Guidance
Lineage nodes are compact cards on the lineage canvas: a sentence-case caption naming the asset type ("Table", "Topic · stub"), the asset name (13px, 600, wrapping anywhere so long MRN-like names never overflow), and the provider with its logo. Provider logos are the only colour; they are never recoloured.
States, each carried by shape or words as well as colour:
current: the asset whose page you are on. 2px burnt sienna border on the burnt sienna tint. One per graph.selected: a 2px ink border and a tick at the end of the type strip. It is deliberately not the focus ring (a detached 2px ink outline with a 2px gap) and not burnt sienna, so current, selected and focused can all be told apart, alone or combined.stub: created by OpenLineage but not yet surveyed by a plugin. Dashed border on a transparent ground, "stub" in the type strip, and "Not catalogued yet" for assistive technology.failed: the last run failed. A crimson error icon and the words "Last run failed".
Variants: cycle-return closes a cycle without drawing an edge backwards ("Returns to orders_daily",
dotted ochre border, matching cycle edges). agent-cluster groups agents that looked up one asset
("4 agents looked this up") and expands to list them.
Standalone, set interactive to render the node as a button that fires mm-node-activate. Inside
mm-lineage-canvas the canvas owns focus and keyboard, so nodes are not tab stops there.
Properties
| Property | Attribute | Type | Default | Description |
|---|---|---|---|---|
name | name | string | '' | Asset name, or for cycle-return the name of the asset the cycle returns to. |
type | type | string | '' | Asset type, written in normal case (table, topic, dashboard, model). Shown in sentence case ("Table"). |
provider | provider | string | '' | Provider key as used in MRNs (postgresql, kafka, dbt). |
mrn | mrn | string | '' | The asset's MRN, e.g. mrn://postgresql/table/shop.public.orders. Used in events and the accessible description. |
variant | variant | LineageNodeVariant | 'asset' | asset (default), cycle-return or agent-cluster. |
current | current | boolean | false | The asset whose page you are on. |
selected | selected | boolean | false | Selected on the canvas. |
stub | stub | boolean | false | Created by OpenLineage, not yet surveyed by a plugin. |
failed | failed | boolean | false | The asset's last run failed. |
focused | focused | boolean | false | Draws the focus ring. Set by mm-lineage-canvas, which keeps DOM focus on itself and points at the node with aria-activedescendant. |
interactive | interactive | boolean | false | Renders the card as a button that fires mm-node-activate. For standalone use. |
count | count | number | 0 | Agent cluster: number of agents. Defaults to the length of members. |
members | string[] | [] | Agent cluster: agent names, listed when expanded. | |
expanded | expanded | boolean | false | Agent cluster: whether the agent list is shown. |
Methods
| Method | Description |
|---|---|
describe() | A sentence describing the node for assistive technology, used by the canvas as the node's label. |
toggle() | Expands or collapses an agent cluster and fires mm-toggle. |
Events
| Event | Detail | Description |
|---|---|---|
mm-node-activate | CustomEvent<MmLineageNodeActivateDetail> | An interactive node was clicked or activated with Enter or Space. |
mm-toggle | CustomEvent<MmLineageNodeToggleDetail> | An agent cluster was expanded or collapsed. |
CSS parts
| Part | Description |
|---|---|
node | The card (a button when interactive). |
type | The type caption. |
name | The asset name. |
provider | The provider row. |
status | The "Last run failed" row. |
toggle | The agent cluster's show or hide button. |
Examples
Every state of mm-lineage-node in Storybook, with keyboard and screen reader tests.