Rebar UI

1.0

opinion

TodoItem

One checkable row: a large toggle, a label, and an optional confetti burst on completion.

Task listTick a task, rename it in place
Done

Brand palette

Disabled

Waiting on legal review

Big celebration

Ship the harbour homepage

No celebration

Icon audit

Long label

Book the twelve crew interviews and confirm every night-watch slot with Leo

In context

Launch checklistHarbour rebrand, launching 24 Oct
Brand
Harbour launch checklistOn track, 84% done

Final palette signed off

Homepage live on staging

Van livery photos filed

Crew briefing sent

Props

PropTypeRequiredDefault
labelReactNodeYes—
completedbooleanYes—
onToggle(completed: boolean) => voidYes—
toggleLabelstringYes—
celebration"big" | "small" | "none" | undefinedNosmall
disabledboolean | undefinedNofalse

Label and disabled

label takes any node, so an Editable composes in. disabled shows a struck-through toggle that ignores clicks, for a task that is blocked rather than just not done.

Accessibility

The toggle is a real <button role="checkbox"> of at least 44 by 44 px. The burst only fires when completing, and is skipped under prefers-reduced-motion.

data-rebar-* attributes

data-rebar-component="todo-item" on the root; parts: toggle, label, burst (only while a celebration animates).

Migrating to Ant Design

Not codemod-covered. Compose AntD's Checkbox with your own confetti effect.