Design System · Patterns reference

Patterns

Compositions of elements — reference only. Per charter §3, components live in each consuming app, not in the design system. This page catalogs the compositions the fork carries as reusable recipes: shape, purpose, and the elements to reach for. Consumers implement each pattern locally from elements + tokens.

01

Patterns registry

Every composition row in the registry, grouped by style layer. No live demos — the shape is the specification.

20 composition patterns registered. Each row names its style-layer classification (object · component · overlay) and points at the CSS module where the pattern's base class lives.

PatternLayerFileDescription
.ss-header
App header
componentcomponents/header.cssThe ink-900 bar — brand, tabs and actions on the on-dark token family.
.ss-tab
Top tab
componentcomponents/header.cssHeader navigation tab — brand underline marks the current page.
.ss-sidenav
Side nav
componentcomponents/sidenav.cssThe product left rail — ink-900 with the on-dark family, brand spine on the active item. Persistent on desktop; slides in as a drawer (--ss-motion-duration-page/--ss-motion-ease-in-out) with a scrim below 900px.
.ss-card
Card / panel
componentcomponents/card.cssThe container base — surface, hairline, radius-md.
.ss-loc
Location card
componentcomponents/card.cssShop card — name, address, ID, platform tiles, footer. Lifts on hover.
.ss-field
Detail field row
objectcomponents/card.cssLabel/value grid row — mono uppercase key, hairline divider.
.ss-assignee
Assignee pill
objectcomponents/chip.cssAvatar + name for multi-user attribution.
.ss-composer
Voice composer
componentcomponents/form.cssTextarea + mic. The mic owns the bottom-right corner.
.ss-bubble
Intake bubble
componentcomponents/conversation.cssChat bubble — user = ink, system = brand tint.
.ss-confirm
Confirmation card
componentcomponents/conversation.cssReceipt card with a brand spine — what the system just did.
.ss-check
Processing checklist
componentcomponents/conversation.cssStepped progress — the live step breathes quietly.
.ss-feed
Activity feed
componentcomponents/conversation.cssIcon + event + mono time rows.
.ss-empty
Empty state
componentcomponents/feedback.cssDashed well with a quiet explanation and one action.
.ss-banner
Banner
componentcomponents/feedback.cssInline warning / blocked / info strip.
.ss-table
Dense table
componentcomponents/table.cssLocations at scale — sticky mono headers, compacted platform tiles.
.ss-metric-hero
Hero workload metric
objectcomponents/reviews.cssONE hero figure per view — prominence from scale, not colour. Meter fills green with work done.
.ss-facet
Filter facet
objectcomponents/reviews.cssSelectable count + label chip; active = ink fill (the toggle’s selection language).
.ss-dotline
Dot-separated meta line
objectcomponents/reviews.cssONE rule for every “token · token · token” list — divider spacing can never drift.
.ss-review
Review card
componentcomponents/reviews.cssAssembled from card + quote + stars + dotline; the spine is the reserved --ss-color-accent accent.
.ss-palette
Command palette
effectcomponents/motion-effects.cssGlass layer spawning in — scale 0.96→1, rise 8px. The scrim stays sharp.