mirror of
https://github.com/paperclipai/paperclip.git
synced 2026-11-11 21:59:38 +01:00
Task 3 of the collapsible sidebar plan (PAP-10638, §6/§9). Each sidebar content component now renders an icon-only form in the collapsed rail (collapsed && !peeking) and restores full content in peek/expanded. - SidebarNavItem: label becomes `sr-only` (kept in the a11y tree, not display:none); item is wrapped in a right-side, zero-delay Tooltip; the numeric badge / live count collapse to a dot on the icon (reusing the alert-dot styling) with an accessible text equivalent via aria-label (e.g. "Inbox, 28 unread"). The icon markup/padding is untouched so it stays pixel-aligned across states. - SidebarSection: the clipped WORK/AGENTS/COMPANY header is replaced by a thin divider in the rail (label preserved sr-only); carets/menus drop and items always render so their icons stay reachable. - SidebarCompanyMenu → logo only; SidebarAccountMenu → avatar only. - SidebarAgents / SidebarProjects: icon/avatar-only rows with right-side tooltips; row action menus and trailing indicators hidden in the rail. - Sidebar "New Task" button + Inbox badgeLabel wired for the rail. Tests: rail rendering + a11y-tree assertions for SidebarNavItem, SidebarSection, SidebarAgents, SidebarProjects (vitest, NODE_ENV=test); existing Sidebar tests wrapped in TooltipProvider. 60 sidebar tests pass. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@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.