Frame
Neutral well with an elevated white panel. Wraps lists with columns and tables.
Flush
The default. A neutral-100 well with a 17px radius, and the panel meets its edges. FramePanel is the white shadow-sm surface inside it, at 16px. FrameHeader holds one title and an optional description.
Forward to the support queue
Callers wait up to 2 minutes before voicemail.
Thin
A 4px inset around the panel with a 20px outer radius, so the curves stay concentric. Used for chart cards and docs examples.
0.14s
Median time to first word, last 24 hours
Separated panels
Use thin: its 4px gap separates the panels that share one well.
+1 (415) 555-0198
Linked to Nova Sales Assistant
+44 20 7946 0958
Linked to Orbit Retention Bot
With a list
ListColumns is a flush Frame with a 1px inset. Column labels sit in the well and the List is the panel.
Best practices
When to use
- Use to group related content: a neutral-100 well with one or more white FramePanels.
- Use default (17px well, 16px panel, flush) for lists with columns, tables and settings sections. Use thin (4px inset, 20px outer radius) for chart cards and compact framed surfaces.
Behavior
- Frame is the well; FramePanel is the white shadow-sm surface. Put at most one FrameTitle in each Frame, in FrameHeader.
- FrameFooter sits in the well below the panel for secondary text and one quiet action (tertiary sm button).
- Add gap-1 on Frame when several panels share one well.
- ListColumns is a default Frame with a 1px inset, and only column labels go in its well. Tables render inside Frame themselves.