UI Kit
Component reference, sourced from Figma. Hover real buttons to see live hover state — the "Hover" column is a static preview.
App shell
Side nav + header composed together. This is what real screens render inside.
Default shell (Conversations expanded, AI Convo. agent active)
Content area — screens render here.
Header
App-wide header bar with project picker, plus the open project menu in three states.
Header bar (standalone)
Header + open project menu
Project menu — three states
Default · marking a favorite
Hovering a favorite
Toggling — loading
Tabs
Section-level tab bar with icon + uppercase Raleway-bold label. The active tab gets a 3px bottom rule; the rest sit on a 1px rule that continues across the row.
Email Accounts active (4 tabs)
Without icons
Filter trigger
Light-gray pill that opens the filter panel. Three states based on count and clearable.
States
Default
FilterWith count
Filter(3)Applied · clearable
Filter(3)Data table
Grid-based table primitives. The caller owns the `grid-cols-[…]` template, which keeps the header and rows aligned.
Sortable header + grouped rows
Active campaigns (2 items)
Archived (1 item)
Modal
504px dialog with header (title + close X), scrollable body, sticky footer with left + right action slots. Square 4px corners; 0px 4px 26px shadow. See src/components/app/AppModal.tsx.
Add Email Account - IMAP / SMTP
Provider cards
2-column flex-wrap grid in the provider picker. Selected variant adds a 0px 4px 12px shadow + #E6E6E6 border.
Form fields
Label (Raleway SemiBold 14/16, red * for required) + input. Input: 1px #BDBDBD border, 4px radius, 8px / 16px padding.
Helper text — host could not be resolved
Alerts
Inline tinted alert used inside modals for connection-state feedback. Tones: error, success, warning, info. The error variant supports an expandable description with a “More info” toggle.
IMAP connection successful
Connected to your email account successfully
SMTP connection failed
SMTP connection failed
MX record looks misconfigured
Pitchbox will sync the last 30 days of email