@claritylabs/cl-pipelines/ui. All components are headless — they render semantic HTML with data-* attributes and accept className props, but ship with no built-in styles.
StatusBanner
StatusBanner is a compound component. Use StatusBanner (or StatusBanner.Root) as the wrapper, then compose the sub-components inside it. The wrapper renders null when status is "idle", "complete", or undefined.
StatusBanner.Root (StatusBanner)
The container element. Renders a<div data-status="..."> when visible.
PipelineStatus | undefined
Controls visibility and the
data-status attribute. Renders null for "idle", "complete", and undefined. Visible for "running", "paused", and "error".string
Error message string. Passed through context to
StatusBanner.Description.LogEntry[]
Log entries. Passed through context to any
ProgressLog rendered as a child.React.ReactNode
required
Sub-components:
Indicator, Title, Description, Actions.string
Class name applied to the root
<div>.StatusBanner.Indicator
An inline element that marks the status visually. Renders a<span data-indicator="..."> by default. Override with render to show a spinner or icon.
string
Class name applied to the
<span>.(status: PipelineStatus) => React.ReactNode
Custom render function. Return any React node — spinner, icon, badge — based on the current status.
StatusBanner.Title
The title line. Renders a<div data-role="title"> with a default text string based on status:
React.ReactNode
Override the default text with any content.
string
Class name applied to the
<div>.StatusBanner.Description
A secondary text line. Renders a<div data-role="description"> showing the error string from the parent Root by default.
React.ReactNode
Override the default (error string) with any content.
string
Class name applied to the
<div>.StatusBanner.Actions
A layout slot for action buttons. Renders a<div data-role="actions">.
React.ReactNode
required
Any React content — typically a
RetryButtons component.string
Class name applied to the
<div>.ProgressLog
Renders a list ofLogEntry items. Renders null when entries is undefined or empty.
Default list item markup:
LogEntry[] | undefined
The log entries to display. Renders
null when undefined or empty.boolean
When
true, shows only the last entry. Useful for compact status lines. Defaults to false.number
Maximum number of entries to show. Shows the last
N entries. Defaults to 10.string
Class name applied to the
<ul> container.(entry: LogEntry, i: number) => React.ReactNode
Custom render function for each list item. Return your own
<li> or any element.RetryButtons
Renders two buttons: a resume button ("resume" mode) and a restart button ("full" mode). Default labels are “Retry” and “Restart”.
(mode: RetryMode) => void
required
Called with
"resume" when the Retry button is clicked, and "full" when the Restart button is clicked.boolean
Disables both buttons when
true. Use this while an async runPipeline call is in flight.{ resume?: string; full?: string }
Override the default button labels. Defaults to
{ resume: "Retry", full: "Restart" }.(mode: RetryMode, onClick: () => void, label: string, disabled: boolean) => React.ReactNode
Custom render function for each button. Return any React node. Called once for
"resume" and once for "full".string
Class name applied to the wrapping
<div data-role="retry-buttons">.