paperclip/ui
scotttong 4b3f087d7f refactor(ui): extract font-size and letter-spacing to tokens (Phase 2 batch 2/4)
Replaces hardcoded TYPE values in ui/src/components/** and ui/src/pages/**
with references to new verbatim CSS custom-property tokens in
ui/src/index.css, via a new committed codemod (scripts/codemod-extract-type.mjs).

- 932 sites rewritten across 143 files:
  - 728 arbitrary font-size Tailwind classes (text-[Npx])
  - 202 arbitrary letter-spacing classes (tracking-[N em])
  - 2 inline-style fontSize string literals
  - 0 leading-[...] sites found (none existed)
- 17 new tokens minted, no normalizing: 8 --fs-* (9/10/11/12/13/14/15px +
  0.7rem, kept in its own unit) and 9 --ls-* (0.08-0.24em, 9 distinct
  values) — the micro type-size and letter-spacing clusters TOKEN-AUDIT.md
  flagged are now materialized as tokens, still un-collapsed pending a
  human scale decision.
- 2 sites allowlisted (both already-documented functional/third-party
  fontSize forms: CompanyEnvironments.tsx xterm.js config, CompanySkills.tsx
  computed Math.round() value) — no new allowlist entries needed since
  neither is a class-string or literal-fontSize site the codemod targets.
- Verified: rg gates clean, pnpm build-storybook exit 0, Storybook visual
  suite 510/510 passed (first attempt), pnpm typecheck exit 0, codemod
  re-run confirmed idempotent (0 sites on second pass).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-06 14:29:51 -07:00
..
public
src
storybook
README.md
components.json
index.html
package.json
tsconfig.json
vite.config.ts
vitest.config.ts
vitest.setup.ts

README.md

@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.