Files
PaperClipAI/ui
Claude 1dd388e641 storybook: rebuild Jev task composer as a token-only product modal
Rebuild the prototype on the shipped NewIssueDialog chrome: breadcrumb
header that becomes the task name, a borderless auto-growing prompt, a
single [Mode] For [Owner] in [Project] routing row in the shipped compact
control style, a quiet Jev confidence popover, InlineBanner errors, and a
secondary-left, primary-right footer with in-place results instead of a
toast. Motion uses tc-enter-marker and the motion tokens.

Add a per-task estimated cost table covering live Jev routing calls and
the single Claude Haiku 4.5 title call, built from a real Messages API
request body, with a per-1,000-tasks estimate.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SWn6etZjfGz6p8NWYkCQve
2026-09-24 22:32:47 +00:00
..

@paperclipai/ui

Published static assets for the Paperclip board UI.

What gets published

The npm package contains the production build under dist/. It does not ship the UI source tree or workspace-only dependencies.

Storybook

Storybook config, stories, and fixtures live under ui/storybook/.

pnpm --filter @paperclipai/ui storybook
pnpm --filter @paperclipai/ui build-storybook

Typical use

Install the package, then serve or copy the built files from node_modules/@paperclipai/ui/dist.

Editor dependency identity

Keep the root and workspace overrides for @codemirror/state, @codemirror/view, and @lezer/common aligned. CodeMirror requires shared extension identity, while Lezer parsers and syntax highlighters require shared NodeProp IDs. Multiple Lezer copies can crash code-block highlighting with tags is not iterable. src/lib/codemirror-single-instance.test.ts checks the installed dependency graph and highlights sample code through the editor's real language dependencies. GitHub Actions owns regeneration of pnpm-lock.yaml.