Skip to content

Add compact desktop UI foundations#3

Merged
brxs merged 1 commit into
mainfrom
codex/compact-ui-foundations
Jul 18, 2026
Merged

Add compact desktop UI foundations#3
brxs merged 1 commit into
mainfrom
codex/compact-ui-foundations

Conversation

@brxs

@brxs brxs commented Jul 18, 2026

Copy link
Copy Markdown
Contributor

Summary

  • release @protocol-works/design-tokens@0.2.0 with shared compact/default control sizing tokens and Tailwind aliases
  • release @protocol-works/ui@0.3.0 with size="sm" support across buttons and form controls plus a labelled square IconButton
  • replace hand-rolled modal and popover behavior with Radix Dialog/Popover primitives while preserving the established [protocol]works presentation
  • improve Field and Checkbox accessible description/error wiring
  • add interaction tests for focus, Escape dismissal, busy modal behavior, accessible names, and compact Tailwind output

Why

Rabbithole needs dense desktop controls without creating local variants of shared primitives. The existing shared overlays also implemented focus, portals, positioning, and dismissal behavior by hand, making them harder to reuse safely across Rabbithole and the website.

This establishes the reusable foundation before migrating either consumer, while leaving domain-specific instrument controls in Rabbithole.

Consumer impact

  • controls remain md by default; compact surfaces opt into size="sm"
  • Popover now uses the Radix compound API (Popover, PopoverTrigger, PopoverContent)
  • Modal retains its controlled API and adds busy-state dismissal guards, initial focus, backdrop control, and presentation slots
  • UI 0.3 requires design-tokens 0.2 or newer

Publish order

  1. @protocol-works/design-tokens@0.2.0
  2. @protocol-works/ui@0.3.0

Verification

  • npm ci
  • npm run check
  • npm pack --dry-run
  • npm pack --dry-run --workspace @protocol-works/ui

@brxs
brxs marked this pull request as ready for review July 18, 2026 23:02
@brxs
brxs merged commit 3dbb7f2 into main Jul 18, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant