Files
PaperClipAI/ui
DottaandClaude Opus 4.8 07d2c4d379 feat(artifacts): star documents from headers/cards + Starred tab (PAP-14811)
P2 UI for per-user document stars (parent PAP-14541, on top of P1
PAP-14810 server/contract). All star affordances reuse StarToggle and the
resource-membership optimistic machinery.

- api/hooks: add resourceMembershipsApi.updateDocument (PUT
  .../resource-memberships/me/documents/:id { starred }) and a
  useDocumentStarMutation hook with an applyDocumentStarChange optimistic
  update over starredDocumentIds/documentStarredAt.
- IssueDocumentsSection: StarToggle in the DocumentFrameHeader actionsSlot
  (covers IssueDetail, CaseDetail, SkillStudio).
- ArtifactCard: star on document-source cards (id decodes to document:<id>),
  visible-at-rest when starred, hover-reveal otherwise.
- ArtifactsPanel DocumentViewer: star in the viewer header.
- Artifacts page: URL-driven Starred tab (?starred=1) that composes with q,
  resets kind + grouping (documents-only V1), with a dedicated empty state.

Tests: artifacts query serialization, Starred-tab param wiring, and the
optimistic flip + rollback for the document star mutation. UI typecheck green.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-21 14:45:24 +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.