UI that doesn't whisper.
Components, full page sections, a crisp icon set, and a labs drawer full of weird experiments. Typed, accessible, and loud by default. Copy it in, make it yours.
bun add @streamui/reactfig. 01 — specimens
Deploy succeeded
stream-ui-docs is live on production.
Loud mode
Maximum contrast. No regrets.
now streaming
lofi beats to ship UI to
- Tailwind ready
- React ready
- Next.js ready
00What's included
Four parts, one design language.
Install one package or copy the source into your repo. Plain React and Tailwind, with no theme provider.
Components
Buttons, inputs, tabs, and dialogs with keyboard support and focus states included.
Button · Input · Tabs · SwitchSections
Heroes, pricing tables, FAQs, and footers composed from the same components.
Hero · Pricing · FAQ · FooterIcons
A 24px set at one stroke weight, so icons sit evenly next to text at every size.
Search · copy as JSXLabs
Interaction experiments that haven't been promoted to the main library yet.
APIs may change
01Components
Accessible primitives, every state styled.
Each specimen is the real component. Try it with a mouse or the keyboard: hover, press, focus, and disabled all have defined states.
Used for release notes only.
The rendered component, styled with your theme tokens.
The source file the CLI copies into your repo.
variant, size, className, and every native button prop.
02Sections
Page sections built from the same parts.
Composed from the same primitives, so a hero and a pricing table never disagree about what a button looks like.
Hero
×6Pricing
×4Features
×5Testimonials
×3FAQ
×2Footer
×4
03Icons
One grid, one stroke weight.
Drawn on a 24px grid at a 1.75 stroke. Search the set and click any icon to copy its JSX.
32 shown · click to copy
04Labs
Experiments in progress.
Interaction prototypes that haven't graduated into the main library. Their APIs can change between releases.
- lab/shape-rollerexperimentalroll #0
Shape roller
Randomizes shape, color, and rotation on each roll.
- lab/magneticexperimental
Magnetic button
The button drifts toward the cursor within its area.
- lab/wobbleexperimental
Wobble type
Staggered CSS transitions on hover. No JavaScript.
05 Get started
Start with one component.
Add the button, see how it fits your codebase, then pull in more as you need them.
bun add @streamui/react