Todo List
A collapsible agent plan inside the liquid-metal ring: a dotted thought orb leads while work is in flight, and monochrome marks morph from dotted ring to progress arc to tick.
Install
Steps for Next.js.
Install the package
One package carries every component, the beUI base they build on, and the effect libraries.
bun add @poulo2/ai-componentsLoad the styles with Tailwind v4
Add both lines to your global stylesheet so Tailwind generates the classes the components use. If your app already defines the shadcn/ui tokens, skip the theme import to keep your own palette.
@import "@poulo2/ai-components/theme.css"; @source "../node_modules/@poulo2/ai-components/dist";Or load the prebuilt stylesheet
For apps without Tailwind. Import it once at the root; it includes Tailwind's base reset.
import "@poulo2/ai-components/styles.css";
Props
| Name | Type | Default | Description |
|---|---|---|---|
| items | TodoItem[] | — | Tasks with id, title, status, and optional progress (0–100) and detail. |
| title | ReactNode | "To-dos" | Heading shown next to the orb. |
| metal | boolean | true | Wraps the card in the liquid-metal ring. It flows only while a task is in progress. |
| open / defaultOpen | boolean | true | Controlled or initial expanded state. |
| onOpenChange | (open: boolean) => void | — | Called when the list is expanded or collapsed. |
| collapseOnComplete | boolean | true | Collapses the list once every task is completed. |
| maxHeight | number | 248 | Visible height of the list before it scrolls. |