@jmnpr/ui
79 React components built for screenwriting and production tools. Beat boards, stripboards, merge diffs, editor canvases, sides viewers, revision strips, signed-manifest readers.
Radix primitives underneath. shadcn-clean on top. Themed with CSS variables. Fully typed. Tree-shakable. Headless where it should be, batteries-included where it shouldn’t.
Why this exists
Most React component libraries are tuned for SaaS dashboards. Tables, forms, sidebars, modals. Nothing wrong with them — but nothing in them helps if you’re building a stripboard or a beat board or a sides viewer. The screenwriting and production world has its own grammar of components, and nobody had bothered to ship them.
@jmnpr/ui ships them.
What’s inside
The components, by part.
- Editor
- Script editor canvas, paginator-aware, Courier-12 native. Drop-in ready.
- Beat board
- Drag-sortable cards, multi-column lanes, presence, optional CRDT.
- Stripboard
- Strip rows, day columns, constraint hints, drag-to-reschedule, locked-day indicators.
- Merge diff
- Three-pane diff for script revisions — old, new, conflict markers, choose-a-side.
- Sides viewer
- Per-character, per-day, per-scene script views. Print-ready. Export-aware.
- Revision strip
- Color-coded revision chips with hash verification dots.
Licensing
Dual-licensed. Pick the one that fits.
- MIT
- For open-source projects, hobby projects, personal projects, and educational use.
- Commercial
- For closed-source products, internal tools at companies, and any commercial use. One-time per major version.
- Pricing
- Posted on the SDK landing page when v1 ships. No surprise tiers.
Status
Where things stand.
- Components
- 79 designed and prototyped
- Production use
- Powering Arqo and Beats internally
- Public release
- on deck · v1 imminent
- npm
@jmnpr/ui
GET NOTIFIED — V1 IMMINENT
@jmnpr/ui ships soon. Want a heads-up?
One email when v1 lands. No drip, no upsell.