The floating action for a screen's one primary verb.
| Prop | Type | Notes |
|---|---|---|
| icon | ReactNode | The single primary glyph |
| label | string | Turns it into the extended pill |
| size | regular · sm | 56 / 44px circle |
| SpeedDial | Action[] | Fans out mini secondary actions |
| aria-label | string | Required — the icon needs a name |
One FAB per screen, for its single most important verb. For inline or multiple actions use a Button; for a menu of actions use a Menu.
One warm FAB for the screen's single most important action.
Don't float two FABs. One primary verb per screen.
Use the extended pill on empty states, where a label helps.
Don't make it grey. The FAB is the one warm light.
Pinned bottom-right, clear of the content.
The extended FAB anchoring a zero-data screen.
Fanning out a few related creation actions.
| Token | Value | Role |
|---|---|---|
| --fab-size | 56px · 44px | Regular and small circle |
| --fab-bg | #FF7A00 | The one warm surface |
| --fab-text | #1A0E04 | Dark glyph |
| --fab-shadow | 0 10px 26px /.3 | Warm lift |
| --fab-mini | 44px · #16171B | Speed-dial action |
| --fab-offset | 20px + safe-area | Distance from the edge |
<button class="o-fab" aria-label="New project"><PlusIcon /></button> <button class="o-fab o-fab--extended"><PlusIcon /> New project</button>