Skip to content

Patterns

Patterns

Compositions the product reaches for again and again. A component says what a thing is; a pattern says how several of them solve a recurring problem the same way every time.

The shortlist

6 compositions that already repeat across the product.

Dual-layout table

Documented

A desktop table and a stacked mobile list rendered from the same data, switched with responsive CSS rather than a JavaScript branch.

Made of
TableBadgeDropdownMenuPaginationCheckbox
Seen in
SettingsBilling, SettingsPayouts, SettingsDiscounts, SettingsRoles
Blocked on
Table, DropdownMenu and Pagination.

Dual-layout table example

Rendered live from Storybook

Type to confirm

Documented

The destructive gate: the confirm action stays disabled until the exact resource name has been typed.

Made of
AlertDialogInputLabelButton
Seen in
SettingsManage (delete space), GHLDeleteKeyModal
Blocked on
AlertDialog and Input.

Type to confirm example

Rendered live from Storybook

Settings screen

Documented

The surface header card, section stack, and save bar that appears once the form is dirty.

Made of
CardSeparatorButtonSwitchInput
Seen in
Every screen under settings/ — 34 components
Blocked on
Card and the settings area port. The header-card pattern should be lifted out first.

Settings screen example

Rendered live from Storybook

Connect an integration

Documented

Not-connected, connection, and connected states with an account picker and event switches.

Made of
DialogSelectSwitchDropdownMenuAccordion
Seen in
Meta, Google, GA4, LinkedIn and TikTok analytics settings
Blocked on
Dialog, Select and Switch. Collapse the five near-identical implementations into one component with a brand prop.

Connect an integration example

Rendered live from Storybook

Empty state

Documented

What a surface says before it has data: an illustration, a concise explanation, and the action that resolves it.

Made of
ButtonCard
Seen in
empty-states/ — five components
Blocked on
Card. This is the cheapest pattern to land first.

Empty state example

Rendered live from Storybook

Media surface

Documented

Cover imagery with frosted labels that opens into a full-screen lightbox.

Made of
MediaPillMediaLightboxAspectRatioCarousel
Seen in
ProductImageGallery, ProductCard, post attachments
Blocked on
MediaPill and MediaLightbox.

Media surface example

Rendered live from Storybook