Files
PaperClipAI/ui
DottaandPaperclip a92e36bac0 Add document annotation UI (Phase 4)
Wires the Phase 3 annotation API into IssueDocumentsSection with a
selection toolbar, anchored highlight overlay, side panel, and mobile
bottom sheet — no markdown body mutation. Covers open/resolved/stale/
orphaned states, deep links (#document-<key>&thread=...&comment=...),
dirty-draft disable, and revision remap refresh.

- New: ui/src/api/document-annotations.ts client
- New: DocumentAnnotationLayer (overlay rectangles + selection toolbar)
- New: DocumentAnnotationPanel (filter chips, threads, composer, mobile)
- New: IssueDocumentAnnotations wrapper (count chip, deep link, dirty
  rule); used by IssueDocumentsSection for non-system documents
- New: document-annotation-hash and document-annotation-selection helpers
- Tests: hash parsing, selection→anchor projection (validated against
  shared verifyDocumentAnchorSelector), panel filter/disable/deep-link
- Stories + screenshot script: open/resolved/stale/orphaned + dirty
  + mobile bottom sheet (design/PAP-9436-doc-annotation-ui/screenshots)

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-05-26 12:03:47 +00:00
..
2026-05-26 12:03: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.