G. Icons
The brand spec (p.14) is a 24 px grid, 2 px stroke, rounded ends, consistent weight, and unfamiliar icons
always labelled. lucide-react is acceptable only as the implementation of that spec: it is drawn on
a 24 grid with 2 px stroke and round caps and joins. Pin the exact version. Render at 20/16 with default
(relative) stroke. Icon-only buttons need aria-label plus a tooltip, and the SVG gets aria-hidden.
Source observations. Neither the p.16 brand mock nor the reference sidebar (org5, org1) uses nav icons; both nav lists are text-only. The reference uses icons only for “View public page ↗”, the switcher chevrons, callouts and back arrows.
Default: no icons in the sidebar or member tabs. Icons appear only where a source shows them:
| Use | Icon |
|---|---|
| Search field (p.14 / p.16) | Search |
| p.14 brand set | Storage Archive, Parts Cpu, Location MapPin |
| Create actions (“+ Add item”, p.16) | Plus |
| Back link “← All x” | ArrowLeft |
| “View public page ↗” | ArrowUpRight |
| Workspace switcher | ChevronsUpDown |
| Callouts | Info / TriangleAlert / CircleCheck |
| Overflow | Ellipsis |
| Theme toggle | Sun / Moon |
| Sign out | LogOut |
This replaces components/icons.tsx and staffNavIcons.tsx. The old nav-icon set is deleted.
Part of Space Works brand → SpaceWorks UI: design-system spec, published from docs/ui-brand-spec.md. Edit it there.