Component catalog
Find components by type and feeling. Explore live examples, shortlist your options, and copy your picks to your agent.
Filter by feeling, motion, usage or library · 1 active
40 total results · 31 with visual previews · 9 on source sites
loop · state — subtleInline or avatar-size agent activity indicator: libraries.dev thinking-orbs + shimmering verb + detail line.
state — subtleAI conversation view: user bubbles, assistant turns with markdown-ish text + code blocks, tool-call chips, copy/vote/regenerate actions, @oc/agent-status while pending. Auto-sticks to bottom.

Zero-data / first-run placeholder: layered icon, title, one primary next step, optional secondary + help link. Dashed drop-zone or plain.


Icon + title + text feature rows in a 2- or 3-column grid, or heading-left/list-right with columns={1}. Calmer alternative to feature-bento.

Chat input: auto-growing textarea, file attachment chips, model picker, web-search toggle, send/stop; Enter sends, Shift+Enter newline; optional suggestion chips.
loop · state — subtleStarter page → app/chat/page.tsx. Use existing compatible tokens, or install a theme only when requested; it pulls in 4 @oc blocks. Preview: /templates/template-ai-chat.

Writes DESIGN.md to the project root + theme tokens + fonts. Read design-systems/editorial/DESIGN.md first.

Writes DESIGN.md to the project root + theme tokens + fonts. Read design-systems/soft-glass/DESIGN.md first.
enter — subtle
loop — subtleThree small AI waiting indicators (dots, sweep bar, 3×3 pixel grid) sharing one cycle length so they can be mixed on a page, with an optional elapsed-seconds counter, aria-live and an sr-only label. Drawn in currentColor — set the text colour and it follows the theme. Lighter than canvas orbs for inline 'working…' states; use oc/agent-status for the primary agent indicator.
loop — subtleWrap real content in <Skeleton loading> and it renders an invisible copy with a pulsing overlay of exactly the same size — no hand-sized placeholder boxes, zero layout shift when data lands. No deps; bg-muted-foreground/20 + Tailwind animate-pulse. Does NOT honour reduced motion — add motion-reduce:animate-none. Pair with transitions/skeleton-reveal for the crossfade out.
enter · state — subtleHuman-in-the-loop 'agent wants to do X — approve?' card. Requires the Beautiful UI foundation.css, which redefines --accent (collides with shadcn).
state · enter — subtle
enter · state — subtleRow-level diff table for agent-proposed data changes. Requires the Beautiful UI foundation.css, which redefines --accent (collides with shadcn).
enter · drag — subtle
state · press · loop — subtleBottom prompt bar with attachments/actions. Requires the Beautiful UI foundation.css, which redefines --accent (collides with shadcn).
state · enter — subtleToken-by-token streaming text with caret. Requires the Beautiful UI foundation.css, which redefines --accent (collides with shadcn).
state · loop — subtle
state · loop — subtle
enter · hover — subtleCompact chips for tool calls an agent made. Requires the Beautiful UI foundation.css, which redefines --accent (collides with shadcn).

enter — medium
cursor · drag — medium
cursor · press — medium
enter — medium
state — subtleCRM-style grid with tags, sorting, and relationship status. Then add `@import "./beautifui/records-table.css";` to your app's globals.css.
enter — medium
loop · press — subtle
state · hover — mediumCollapsible workspace and chat navigation with gliding hover states. Then add `@import "./beautifui/sidebar-nav.css";` to your app's globals.css.
More examples on source sites
These entries have no hosted visual preview. Open the vendor demo to explore them; access requirements still apply.
- smoothuiExternal demo ↗
- transitionsExternal demo ↗
- transitionsExternal demo ↗
- beautifuiExternal demo ↗
- beautifuiExternal demo ↗
- beautifuiExternal demo ↗
- beautifuiExternal demo ↗
- beautifuiExternal demo ↗
- beautifuiExternal demo ↗