export type StepState = 'done' | 'running' | 'failed'; export interface Step { text: string; state: StepState; } export interface StepLogProps { steps: Step[]; className?: string; } const MARK: Record = { done: '✓', running: '', failed: '×' }; /** * The pack's loading idiom. One mono line per step, appended as it happens, the * running line carrying the caret. Nothing slides: a run appends a line every * few hundred milliseconds and animating the append would be motion on a * high-repetition path. */ export function StepLog({ steps, className }: StepLogProps) { return ( ); }