Button
buttonsA small action. A clear next step.
<button class="primary" data-action="saved">Create project <span>↗</span></button>Good interfaces start with the right pieces. Explore a curated collection of live, interactive components. Find your next starting point.
A small action. A clear next step.
<button class="primary" data-action="saved">Create project <span>↗</span></button>An understated supporting action.
<button data-action="saved">+ Add to collection</button>Compact controls with room to breathe.
<div class="row"><button aria-label="Like" data-like>♡</button><button aria-label="Bookmark" data-like>☆</button><button aria-label="More options" data-popover>•••</button><span class="popover" hidden>Edit · Duplicate · Archive</span></div>Related actions, kept together.
<div class="segmented"><button data-align aria-pressed="true">Left</button><button data-align aria-pressed="false">Center</button><button data-align aria-pressed="false">Right</button></div>Make consequential actions distinct.
<button class="danger" data-action="removed">Remove item <span>×</span></button>Keep the conversation going.
<button disabled><span class="spinner"></span> Preparing workspace</button>A familiar place for a fresh idea.
<label>Project name<input placeholder="My next big idea" value="Untitled studio"></label>A short list of good choices.
<label>Framework<select><option>Vanilla JavaScript</option><option>React</option><option>Vue</option><option>Svelte</option></select></label>Small decisions, clearly marked.
<label class="row"><input type="checkbox" checked> Send me product updates</label>One tap changes the state.
<div class="row spread"><span>Airplane mode</span><button class="switch" role="switch" aria-checked="false" aria-label="Airplane mode"></button></div>One choice from a few possibilities.
<fieldset><legend>Choose your plan</legend><label class="row"><input type="radio" name="plan" checked> Personal <small>Free</small></label><label class="row"><input type="radio" name="plan"> Team <small>$12 / mo</small></label></fieldset>Fine-tune the details.
<label>Volume <output>64%</output><input type="range" min="0" max="100" value="64" aria-label="Volume"></label>A little focus for a big decision.
<button data-dialog="standard">Open dialog ↗</button>Pause before taking the next step.
<button data-dialog="alert">Archive project</button>Extra context, right where it belongs.
<div class="anchor"><button data-popover aria-expanded="false">Set dimensions ⌄</button><div class="popover" hidden><b>Dimensions</b><label>Width<input value="100%"></label></div></div>A helpful hint on demand.
<div class="anchor"><button data-tooltip aria-describedby="tooltip-demo">Hover or focus me</button><span class="tooltip" id="tooltip-demo" role="tooltip" hidden>Add to your collection</span></div>Every action in its proper place.
<div class="anchor"><button data-popover aria-expanded="false">My account ⌄</button><div class="popover" hidden><button data-action="profile">Profile</button><button data-action="settings">Settings</button></div></div>More space without losing context.
<button data-dialog="sheet">Open sidebar →</button>Your trial ends in 7 days.
A calm, useful heads-up.
<div class="alert"><span>ⓘ</span><div><b>A little heads-up</b><p>Your trial ends in 7 days.</p></div></div>Let people know it worked.
<button data-action="saved">Save changes <span>⌘ S</span></button>Make the journey visible.
<div class="full"><div class="row spread"><b>Uploading assets</b><small>72%</small></div><progress value="72" max="100">72%</progress><small>18 of 25 files uploaded</small></div>A preview of what is on its way.
<div class="row full"><div class="skeleton avatar"></div><div class="full"><div class="skeleton line"></div><div class="skeleton line short"></div></div></div>A quick read on the current state.
<div class="row wrap"><span class="badge success">● Operational</span><span class="badge">◷ Pending</span><span class="badge error">● Offline</span></div>Start with something worth sharing.
Give a new beginning some direction.
<div class="center"><div class="empty-icon">▧</div><b>No files in this folder</b><p>Start with something worth sharing.</p><button data-action="uploaded">+ Add a sample file</button></div>Put a face to a name.
<div class="row"><span class="avatar purple">JD</span><span class="avatar peach">AK</span><span class="avatar green">MR</span><span class="avatar">+5</span></div>A tiny label with a lot to say.
<div class="row wrap"><span class="badge dark">Featured</span><span class="badge">Design</span><span class="badge purple">New release</span></div>| Invoice | Status | Amount |
|---|---|---|
| INV-001 | Paid | $250 |
| INV-002 | Pending | $150 |
| INV-003 | Paid | $350 |
Structure that makes data readable.
<table><thead><tr><th>Invoice</th><th>Status</th><th>Amount</th></tr></thead><tbody><tr><td>INV-001</td><td><span class="badge success">Paid</span></td><td>$250</td></tr><tr><td>INV-002</td><td>Pending</td><td>$150</td></tr><tr><td>INV-003</td><td>Paid</td><td>$350</td></tr></tbody></table>One number. The bigger picture.
<div class="full"><small>Total revenue</small><div class="metric">$45,231<span>.89</span></div><small><span class="positive">↗ 20.1%</span> from last month</small></div>Project deployed2m ago
Review approved38m ago
Branch created1h ago
A little history, at a glance.
<div class="full activity"><p><i class="dot"></i><b>Project deployed</b><small>2m ago</small></p><p><i class="dot gray"></i><b>Review approved</b><small>38m ago</small></p><p><i class="dot gray"></i><b>Branch created</b><small>1h ago</small></p></div>See the shape of your week.
<div class="chart" role="img" aria-label="Weekly activity: Monday 40, Tuesday 65, Wednesday 50, Thursday 90, Friday 72, Saturday 55, Sunday 80"><div style="--h:40%">M</div><div style="--h:65%">T</div><div style="--h:50%">W</div><div style="--h:90%">T</div><div style="--h:72%">F</div><div style="--h:55%">S</div><div style="--h:80%">S</div></div>Manage your profile and preferences.
Switch perspectives, stay in place.
<div class="full tabs"><div class="segmented" role="tablist" aria-label="Account"><button role="tab" aria-selected="true" data-tab="Account">Account</button><button role="tab" aria-selected="false" data-tab="Password">Password</button></div><div role="tabpanel"><b>Your account</b><p>Manage your profile and preferences.</p></div></div>Leave a trail back home.
<nav class="row" aria-label="Breadcrumb"><button data-action="home">Home</button><span>›</span><button data-action="components">Components</button><span>›</span><b>Button</b></nav>A comfortable pace through content.
<div class="pagination row"><button data-page="prev" aria-label="Previous page">‹</button><button data-page="1" aria-current="page">1</button><button data-page="2">2</button><button data-page="3">3</button><button data-page="next" aria-label="Next page">›</button></div>Clear paths to what matters.
<nav class="row"><button data-nav aria-pressed="true">Overview</button><button data-nav aria-pressed="false">Projects</button><button data-nav aria-pressed="false">Team</button></nav>Find the next action in a keystroke.
<div class="command full"><input placeholder="Type a command…" aria-label="Search commands" data-command><div><button data-action="calendar">▦ Calendar</button><button data-action="search">⌕ Search projects</button><button data-action="settings">⚙ Settings</button></div></div>A home for everyday destinations.
<nav class="vertical full"><button data-nav aria-pressed="true">▦ Overview <small>12</small></button><button data-nav aria-pressed="false">▧ Projects <small>8</small></button><button data-nav aria-pressed="false">♧ Team <small>4</small></button></nav>Your next project starts right here.
A container with a clear purpose.
<div class="mini-card"><b>Create something great.</b><p>Your next project starts right here.</p><button class="primary" data-action="created">Get started →</button></div>Yes. Built with native controls, keyboard support, and clear ARIA states.
Absolutely. The HTML and CSS are yours to adapt.
A little less, until you need more.
<div class="accordion full"><button aria-expanded="false" data-accordion>Is it accessible? <span>+</span></button><p hidden>Yes. Built with native controls, keyboard support, and clear ARIA states.</p><button aria-expanded="false" data-accordion>Can I customize it? <span>+</span></button><p hidden>Absolutely. The HTML and CSS are yours to adapt.</p></div>A collection of thoughtfully built interfaces.
Give ideas a little breathing room.
<div class="full"><b>The space between</b><p>A collection of thoughtfully built interfaces.</p><hr><div class="row"><span>Design</span><span class="divider"></span><span>Develop</span><span class="divider"></span><span>Ship</span></div></div>More content, a consistent footprint.
<div class="scroll full" tabindex="0" aria-label="Design resources"><div>Foundations</div><div>Color systems</div><div>Typography</div><div>Spacing</div><div>Components</div><div>Patterns</div><div>Accessibility</div><div>Motion</div><div>Resources</div><div>Guidelines</div></div>A reliable frame for your content.
<div class="ratio"><span>16 : 9</span><small>A little room for possibility</small></div>Keep the details close at hand.
<div class="full"><button class="full" data-accordion aria-expanded="false">@studio / components <span>⌄</span></button><div hidden class="file-list">button.html<br>accordion.html<br>dialog.html</div></div>Make space for what matters.
Set the tone from the first line.
<div class="full"><small class="eyebrow">THE NEXT CHAPTER</small><h2 class="demo-heading">Less, but better.</h2><p>Make space for what matters.</p></div>The best interfaces feel familiar from the very first click. A little clarity goes a long way.
Good ideas deserve good rhythm.
<p class="prose">The best interfaces feel familiar from the very first click. A little clarity goes a long way.</p>“Simplicity is the ultimate sophistication.”— A principle worth keeping
Give an idea a little emphasis.
<blockquote>“Simplicity is the ultimate sophistication.”<small>— A principle worth keeping</small></blockquote>Use display: flex to bring everything into alignment.
A small detail, precisely expressed.
<p>Use <code class="inline-code">display: flex</code> to bring everything into alignment.</p>A faster way for familiar hands.
<div class="row"><span>Open command menu</span><kbd>⌘</kbd><kbd>K</kbd></div>Bring a little order to your ideas.
<ul class="checklist"><li>Thoughtful by default</li><li>Accessible by design</li><li>Ready to make your own</li></ul>Try a different search or explore all 48 components.