Packs
Core components
The core pack's 25 components: always included: layout, text blocks, numbers, charts, forms and buttons.
Core comes with every answer, whichever packs an app names.
Markdown
Text between components is Markdown: headings, lists, tables, emphasis, links, code and images from the hosts an app allows.
A weekend in Lisbon
Lisbon is compact and hilly. Most of what you want to see sits between Baixa and Belém, and the trams cover the steep parts.
- Day one: Alfama, the castle, a fado dinner
- Day two: Belém, pastries, the river walk
- Day three: Sintra by train (40 minutes from Rossio)
| Neighbourhood | Good for | From the centre |
|---|---|---|
| Alfama | Old streets, fado | 10 min walk |
| Belém | Monuments, pastries | 20 min by tram |
| Príncipe Real | Gardens, shops | 15 min walk |
The 28 tram is lovely but packed after 10:00. Ride it early.
Book the castle online with code LISBOA10 for 10% off.
## A weekend in LisbonLisbon is compact and hilly. Most of what you want to see sits between Baixa and Belém, and the trams cover the steep parts.

- Day one: Alfama, the castle, a fado dinner
- Day two: Belém, pastries, the river walk
- Day three: Sintra by train (40 minutes from Rossio)
| Neighbourhood | Good for | From the centre |
|---|---|---|
| Alfama | Old streets, fado | 10 min walk |
| Belém | Monuments, pastries | 20 min by tram |
| Príncipe Real | Gardens, shops | 15 min walk |
> The 28 tram is lovely but packed after 10:00. Ride it early.
Book the castle online with </span><span class="t1">code LISBOA10</span><span class="t3"> for 10% off.
Card
A section, optionally with a header.
Between its tags: Markdown and other components.
| Attribute | Type | Required | Values |
|---|---|---|---|
title |
text | ||
subtitle |
text |
Trip budget
Three nights, two people
Flights are booked. What's left is the hotel, food and two day trips, about €740 in all.
<Card title="Trip budget" subtitle="Three nights, two people">
Flights are booked. What's left is the hotel, food and two day trips, about **€740** in all.
</Card>Columns
Puts its children side by side, stacking on narrow screens.
Between its tags: Markdown and other components.
Hotel
Three nights in Chiado, breakfast included. Check-in from 15:00.
Flights
TP 1351 out on Friday 08:40, TP 1358 back on Monday 19:15.
Getting around
A Viva Viagem card covers trams, metro and the river ferries.
<Columns>
<Card title="Hotel">
Three nights in Chiado, breakfast included. Check-in from 15:00.
</Card>
<Card title="Flights">
TP 1351 out on Friday 08:40, TP 1358 back on Monday 19:15.
</Card>
<Card title="Getting around">
A Viva Viagem card covers trams, metro and the river ferries.
</Card>
</Columns>Tabs
One panel per Tab.
Between its tags: only Tab components.
Three nights, flights booked, hotel to confirm by Thursday.
- Time Out Market for the first night
- Pastéis de Belém on day two
- A tasca in Alfama for fado
Comfortable shoes (the hills are steep), a light jacket for the evenings, sunscreen.
<Tabs>
<Tab title="Overview">
Three nights, flights booked, hotel to confirm by Thursday.
</Tab>
<Tab title="Food">
- Time Out Market for the first night
- Pastéis de Belém on day two
- A tasca in Alfama for fado
</Tab>
<Tab title="Packing">
Comfortable shoes (the hills are steep), a light jacket for the evenings, sunscreen.
</Tab>
</Tabs>Tab
A panel inside Tabs.
Between its tags: Markdown and other components. It goes inside Tabs.
| Attribute | Type | Required | Values |
|---|---|---|---|
title |
text | yes |
Three nights, flights booked, hotel to confirm by Thursday.
- Time Out Market for the first night
- Pastéis de Belém on day two
- A tasca in Alfama for fado
Comfortable shoes (the hills are steep), a light jacket for the evenings, sunscreen.
<Tabs>
<Tab title="Overview">
Three nights, flights booked, hotel to confirm by Thursday.
</Tab>
<Tab title="Food">
- Time Out Market for the first night
- Pastéis de Belém on day two
- A tasca in Alfama for fado
</Tab>
<Tab title="Packing">
Comfortable shoes (the hills are steep), a light jacket for the evenings, sunscreen.
</Tab>
</Tabs>Details
A collapsible section, closed until opened (open starts it open).
Between its tags: Markdown and other components.
| Attribute | Type | Required | Values |
|---|---|---|---|
title |
text | yes | |
open |
true or false |
Why the hotel costs more on Saturday
Weekend rates in Chiado run about 30% higher, and this weekend there's a football match at the Estádio da Luz.
Cancellation terms
Free cancellation until 48 hours before check-in. After that the first night is charged.
<Details title="Why the hotel costs more on Saturday">
Weekend rates in Chiado run about 30% higher, and this weekend there's a football match at the Estádio da Luz.
</Details>
<Details title="Cancellation terms" open="true">
Free cancellation until 48 hours before check-in. After that the first night is charged.
</Details>Steps
An ordered sequence or timeline.
Between its tags: only Step components.
- Book flightsPaid on 2 October
- Confirm the hotelDue Thursday
Reply to the hotel's email with the arrival time.
- Buy the Sintra train tickets
<Steps>
<Step title="Book flights" status="done" subtitle="Paid on 2 October" />
<Step title="Confirm the hotel" status="current" subtitle="Due Thursday">
Reply to the hotel's email with the arrival time.
</Step>
<Step title="Buy the Sintra train tickets" status="todo" />
</Steps>Step
One step inside Steps.
Between its tags: Markdown and other components. It goes inside Steps.
| Attribute | Type | Required | Values |
|---|---|---|---|
title |
text | yes | |
status |
one of | done, current, todo (default) |
|
subtitle |
text |
- Book flightsPaid on 2 October
- Confirm the hotelDue Thursday
Reply to the hotel's email with the arrival time.
- Buy the Sintra train tickets
<Steps>
<Step title="Book flights" status="done" subtitle="Paid on 2 October" />
<Step title="Confirm the hotel" status="current" subtitle="Due Thursday">
Reply to the hotel's email with the arrival time.
</Step>
<Step title="Buy the Sintra train tickets" status="todo" />
</Steps>Callout
A highlighted note or alert.
Between its tags: Markdown and other components.
| Attribute | Type | Required | Values |
|---|---|---|---|
tone |
one of | neutral, info (default), success, warning, danger |
|
title |
text |
<Callout tone="info" title="Tip">Museums are free on Sunday mornings for residents only, so check the ticket rules.</Callout><Callout tone="success" title="Booked">Your table at Taberna Sal Grosso is confirmed for 20:30.</Callout>
<Callout tone="warning" title="Strike on Friday">Metro staff plan a partial strike from 06:30 to 10:30.</Callout>
<Callout tone="danger" title="Passport expires soon">It must be valid for three months after your return date.</Callout>
<Callout tone="neutral">Prices are in euros and include VAT.</Callout>
Stat
One key number, its unit inside value ("3.7 km", "$1,204").
Between its tags: nothing: it closes itself (<Name ... />).
| Attribute | Type | Required | Values |
|---|---|---|---|
label |
text | yes | |
value |
text | yes | |
change |
text | ||
note |
text | ||
tone |
one of | neutral (default), info, success, warning, danger |
|
icon |
icon name |
<Columns>
<Stat label="Monthly revenue" value="$48,210" change="+12.4%" tone="success" icon="currency-dollar" />
<Stat label="Active users" value="3,904" change="+3.1%" note="vs last month" />
<Stat label="Churn" value="2.8%" change="+0.6 pts" tone="danger" />
</Columns>Badge
A short status label.
Between its tags: inline text: its label.
| Attribute | Type | Required | Values |
|---|---|---|---|
tone |
one of | neutral (default), info, success, warning, danger |
Order #4821 is Shipped, invoice Overdue, return window 14 days, payment Failed, label Draft.
Order **#4821** is <Badge tone="success">Shipped</Badge>, invoice <Badge tone="warning">Overdue</Badge>, return window <Badge tone="info">14 days</Badge>, payment <Badge tone="danger">Failed</Badge>, label <Badge>Draft</Badge>.Progress
A progress bar.
Between its tags: nothing: it closes itself (<Name ... />).
| Attribute | Type | Required | Values |
|---|---|---|---|
value |
number | yes | |
max |
number | default 100 |
|
label |
text | ||
tone |
one of | neutral (default), info, success, warning, danger |
<Progress label="Course progress" value="7" max="12" />
<Progress label="Storage used" value="91" max="100" tone="danger" />
<Progress label="Fundraising goal" value="64" tone="success" />Avatar
A person's picture or initials, with their name.
Between its tags: nothing: it closes itself (<Name ... />).
| Attribute | Type | Required | Values |
|---|---|---|---|
name |
text | yes | |
src |
address | ||
subtitle |
text |
<Columns>
<Avatar name="Inês Duarte" subtitle="Product lead" />
<Avatar name="Tomás Ribeiro" subtitle="Engineering" />
<Avatar name="Mia Chen" subtitle="Design" />
</Columns>Gallery
A grid of images.
Between its tags: Markdown images, one a line.
<Gallery>



</Gallery>Chart
Charts the Markdown table inside: first column labels, every column after it numbers (one series each).
Between its tags: a Markdown table (first column labels, the others series).
| Attribute | Type | Required | Values |
|---|---|---|---|
type |
one of | bar (default), line, area, pie, donut, radar, scatter, stacked, horizontal |
|
title |
text | ||
x |
text | ||
y |
text |
bar
| Month | Signups |
|---|---|
| Jan | 120 |
| Feb | 180 |
| Mar | 240 |
| Apr | 210 |
| May | 305 |
<Chart type="bar" title="Signups by month" y="Signups">
| Month | Signups |
|---|---|
| Jan | 120 |
| Feb | 180 |
| Mar | 240 |
| Apr | 210 |
| May | 305 |
</Chart>line
- Antonelli
- Russell
- Hamilton
- Antonelli
- Russell
- Hamilton
- Antonelli
- Russell
- Hamilton
| Round | Antonelli | Russell | Hamilton |
|---|---|---|---|
| 1 | 25 | 18 | 15 |
| 2 | 43 | 36 | 27 |
| 3 | 68 | 51 | 45 |
| 4 | 93 | 69 | 57 |
| 5 | 111 | 94 | 70 |
<Chart type="line" title="Points by round" x="Round" y="Points">
| Round | Antonelli | Russell | Hamilton |
|---|---|---|---|
| 1 | 25 | 18 | 15 |
| 2 | 43 | 36 | 27 |
| 3 | 68 | 51 | 45 |
| 4 | 93 | 69 | 57 |
| 5 | 111 | 94 | 70 |
</Chart>area
| Day | Visitors |
|---|---|
| Mon | 1,200 |
| Tue | 1,450 |
| Wed | 1,380 |
| Thu | 1,720 |
| Fri | 1,960 |
<Chart type="area" title="Visitors this week" y="Visitors">
| Day | Visitors |
|---|---|
| Mon | 1,200 |
| Tue | 1,450 |
| Wed | 1,380 |
| Thu | 1,720 |
| Fri | 1,960 |
</Chart>stacked
- High
- Medium
- Low
- High
- Medium
- Low
- High
- Medium
- Low
| Week | High | Medium | Low |
|---|---|---|---|
| W1 | 12 | 22 | 30 |
| W2 | 9 | 25 | 34 |
| W3 | 14 | 19 | 28 |
| W4 | 7 | 21 | 31 |
<Chart type="stacked" title="Tickets by priority">
| Week | High | Medium | Low |
|---|---|---|---|
| W1 | 12 | 22 | 30 |
| W2 | 9 | 25 | 34 |
| W3 | 14 | 19 | 28 |
| W4 | 7 | 21 | 31 |
</Chart>horizontal
| Course | Fill % |
|---|---|
| CS 101 Intro to Programming | 98 |
| BIO 150 Genetics | 89 |
| ART 210 Modern Art History | 78 |
| ECO 120 Microeconomics | 71 |
<Chart type="horizontal" title="Course fill rates" y="Fill %">
| Course | Fill % |
|---|---|
| CS 101 Intro to Programming | 98 |
| BIO 150 Genetics | 89 |
| ART 210 Modern Art History | 78 |
| ECO 120 Microeconomics | 71 |
</Chart>scatter
| Price | Rating |
|---|---|
| 49 | 4.1 |
| 79 | 3.6 |
| 129 | 4.8 |
| 199 | 4.4 |
| 249 | 4.6 |
<Chart type="scatter" title="Price against rating" x="Price ($)" y="Rating">
| Price | Rating |
|---|---|
| 49 | 4.1 |
| 79 | 3.6 |
| 129 | 4.8 |
| 199 | 4.4 |
| 249 | 4.6 |
</Chart>pie
- Search56%
- Social22%
- Direct16%
- Email6%
- Search56%
- Social22%
- Direct16%
- Email6%
- Search56%
- Social22%
- Direct16%
- Email6%
| Source | Visits |
|---|---|
| Search | 5,400 |
| Social | 2,100 |
| Direct | 1,500 |
| 600 |
<Chart type="pie" title="Traffic sources">
| Source | Visits |
|---|---|
| Search | 5,400 |
| Social | 2,100 |
| Direct | 1,500 |
| Email | 600 |
</Chart>donut
- Free49%
- Pro32%
- Team19%
- Free49%
- Pro32%
- Team19%
- Free49%
- Pro32%
- Team19%
| Plan | Customers |
|---|---|
| Free | 1,842 |
| Pro | 1,214 |
| Team | 702 |
<Chart type="donut" title="Customers by plan">
| Plan | Customers |
|---|---|
| Free | 1,842 |
| Pro | 1,214 |
| Team | 702 |
</Chart>radar
- Alex
- Sam
- Alex
- Sam
- Alex
- Sam
| Skill | Alex | Sam |
|---|---|---|
| Speed | 8 | 6 |
| Power | 6 | 9 |
| Accuracy | 9 | 7 |
| Stamina | 7 | 8 |
| Teamwork | 8 | 7 |
<Chart type="radar" title="Player skills">
| Skill | Alex | Sam |
|---|---|---|
| Speed | 8 | 6 |
| Power | 6 | 9 |
| Accuracy | 9 | 7 |
| Stamina | 7 | 8 |
| Teamwork | 8 | 7 |
</Chart>FollowUps
Suggested next questions the user can tap.
Between its tags: a Markdown list.
<FollowUps>
- What's the cheapest way to get to Sintra?
- Find me a fado house that isn't touristy
- Plan day two around the rain forecast
</FollowUps>Form
Groups fields; its Button submits them.
Between its tags: Markdown and other components.
| Attribute | Type | Required | Values |
|---|---|---|---|
name |
text |
Book a demo
Tell us about your team
<Card title="Book a demo" subtitle="Tell us about your team">
<Form name="demo-request">
<Input label="Full name" name="name" placeholder="Jane Smith" required="true" />
<Input label="Work email" name="email" type="email" placeholder="jane@company.com" hint="We only use this to reply" required="true" />
<Select label="Team size" name="size" placeholder="Choose a range" options="1-10 people | 11-50 people | 51+ people" />
<Date label="Preferred date" name="date" />
<Slider label="Seats" name="seats" min="1" max="50" value="8" />
<Checkboxes label="Interested in" name="interests" options="Analytics | Billing | Support inbox" value="Analytics" />
<Radio label="Plan" name="plan" options="Cloud, managed by us | Self-hosted in your infra" value="Cloud, managed by us" />
<TextArea label="Anything else?" name="notes" placeholder="Your current tools, deadlines..." rows="3" />
<Switch label="Send me the product newsletter" name="newsletter" />
<Button>Request demo</Button>
<Button variant="tertiary">Cancel</Button>
</Form>
</Card>Input
A one-line text field.
Between its tags: nothing: it closes itself (<Name ... />).
| Attribute | Type | Required | Values |
|---|---|---|---|
label |
text | yes | |
name |
text | ||
type |
one of | text (default), email, number, password, url, tel, search, date, time, datetime-local |
|
placeholder |
text | ||
value |
text | ||
step |
number | ||
min |
number | ||
max |
number | ||
hint |
text | ||
required |
true or false |
Book a demo
Tell us about your team
<Card title="Book a demo" subtitle="Tell us about your team">
<Form name="demo-request">
<Input label="Full name" name="name" placeholder="Jane Smith" required="true" />
<Input label="Work email" name="email" type="email" placeholder="jane@company.com" hint="We only use this to reply" required="true" />
<Select label="Team size" name="size" placeholder="Choose a range" options="1-10 people | 11-50 people | 51+ people" />
<Date label="Preferred date" name="date" />
<Slider label="Seats" name="seats" min="1" max="50" value="8" />
<Checkboxes label="Interested in" name="interests" options="Analytics | Billing | Support inbox" value="Analytics" />
<Radio label="Plan" name="plan" options="Cloud, managed by us | Self-hosted in your infra" value="Cloud, managed by us" />
<TextArea label="Anything else?" name="notes" placeholder="Your current tools, deadlines..." rows="3" />
<Switch label="Send me the product newsletter" name="newsletter" />
<Button>Request demo</Button>
<Button variant="tertiary">Cancel</Button>
</Form>
</Card>TextArea
A multi-line text field.
Between its tags: nothing: it closes itself (<Name ... />).
| Attribute | Type | Required | Values |
|---|---|---|---|
label |
text | yes | |
name |
text | ||
placeholder |
text | ||
value |
text | ||
rows |
number | ||
hint |
text | ||
required |
true or false |
Book a demo
Tell us about your team
<Card title="Book a demo" subtitle="Tell us about your team">
<Form name="demo-request">
<Input label="Full name" name="name" placeholder="Jane Smith" required="true" />
<Input label="Work email" name="email" type="email" placeholder="jane@company.com" hint="We only use this to reply" required="true" />
<Select label="Team size" name="size" placeholder="Choose a range" options="1-10 people | 11-50 people | 51+ people" />
<Date label="Preferred date" name="date" />
<Slider label="Seats" name="seats" min="1" max="50" value="8" />
<Checkboxes label="Interested in" name="interests" options="Analytics | Billing | Support inbox" value="Analytics" />
<Radio label="Plan" name="plan" options="Cloud, managed by us | Self-hosted in your infra" value="Cloud, managed by us" />
<TextArea label="Anything else?" name="notes" placeholder="Your current tools, deadlines..." rows="3" />
<Switch label="Send me the product newsletter" name="newsletter" />
<Button>Request demo</Button>
<Button variant="tertiary">Cancel</Button>
</Form>
</Card>Select
A dropdown.
Between its tags: nothing: it closes itself (<Name ... />).
| Attribute | Type | Required | Values |
|---|---|---|---|
label |
text | yes | |
options |
values split by ` | ` | yes |
name |
text | ||
placeholder |
text | ||
value |
text | ||
hint |
text | ||
required |
true or false |
Book a demo
Tell us about your team
<Card title="Book a demo" subtitle="Tell us about your team">
<Form name="demo-request">
<Input label="Full name" name="name" placeholder="Jane Smith" required="true" />
<Input label="Work email" name="email" type="email" placeholder="jane@company.com" hint="We only use this to reply" required="true" />
<Select label="Team size" name="size" placeholder="Choose a range" options="1-10 people | 11-50 people | 51+ people" />
<Date label="Preferred date" name="date" />
<Slider label="Seats" name="seats" min="1" max="50" value="8" />
<Checkboxes label="Interested in" name="interests" options="Analytics | Billing | Support inbox" value="Analytics" />
<Radio label="Plan" name="plan" options="Cloud, managed by us | Self-hosted in your infra" value="Cloud, managed by us" />
<TextArea label="Anything else?" name="notes" placeholder="Your current tools, deadlines..." rows="3" />
<Switch label="Send me the product newsletter" name="newsletter" />
<Button>Request demo</Button>
<Button variant="tertiary">Cancel</Button>
</Form>
</Card>Date
A date picker.
Between its tags: nothing: it closes itself (<Name ... />).
| Attribute | Type | Required | Values |
|---|---|---|---|
label |
text | yes | |
name |
text | ||
value |
text | ||
hint |
text | ||
required |
true or false |
Book a demo
Tell us about your team
<Card title="Book a demo" subtitle="Tell us about your team">
<Form name="demo-request">
<Input label="Full name" name="name" placeholder="Jane Smith" required="true" />
<Input label="Work email" name="email" type="email" placeholder="jane@company.com" hint="We only use this to reply" required="true" />
<Select label="Team size" name="size" placeholder="Choose a range" options="1-10 people | 11-50 people | 51+ people" />
<Date label="Preferred date" name="date" />
<Slider label="Seats" name="seats" min="1" max="50" value="8" />
<Checkboxes label="Interested in" name="interests" options="Analytics | Billing | Support inbox" value="Analytics" />
<Radio label="Plan" name="plan" options="Cloud, managed by us | Self-hosted in your infra" value="Cloud, managed by us" />
<TextArea label="Anything else?" name="notes" placeholder="Your current tools, deadlines..." rows="3" />
<Switch label="Send me the product newsletter" name="newsletter" />
<Button>Request demo</Button>
<Button variant="tertiary">Cancel</Button>
</Form>
</Card>Slider
Pick a number in a range, shown with its unit ($, %, km).
Between its tags: nothing: it closes itself (<Name ... />).
| Attribute | Type | Required | Values |
|---|---|---|---|
label |
text | yes | |
min |
number | yes | |
max |
number | yes | |
step |
number | ||
value |
number | ||
name |
text | ||
unit |
text |
Book a demo
Tell us about your team
<Card title="Book a demo" subtitle="Tell us about your team">
<Form name="demo-request">
<Input label="Full name" name="name" placeholder="Jane Smith" required="true" />
<Input label="Work email" name="email" type="email" placeholder="jane@company.com" hint="We only use this to reply" required="true" />
<Select label="Team size" name="size" placeholder="Choose a range" options="1-10 people | 11-50 people | 51+ people" />
<Date label="Preferred date" name="date" />
<Slider label="Seats" name="seats" min="1" max="50" value="8" />
<Checkboxes label="Interested in" name="interests" options="Analytics | Billing | Support inbox" value="Analytics" />
<Radio label="Plan" name="plan" options="Cloud, managed by us | Self-hosted in your infra" value="Cloud, managed by us" />
<TextArea label="Anything else?" name="notes" placeholder="Your current tools, deadlines..." rows="3" />
<Switch label="Send me the product newsletter" name="newsletter" />
<Button>Request demo</Button>
<Button variant="tertiary">Cancel</Button>
</Form>
</Card>Checkboxes
Pick any number of options.
Between its tags: nothing: it closes itself (<Name ... />).
| Attribute | Type | Required | Values |
|---|---|---|---|
label |
text | yes | |
options |
values split by ` | ` | yes |
name |
text | ||
value |
values split by ` | ` | |
hint |
text | ||
required |
true or false |
Book a demo
Tell us about your team
<Card title="Book a demo" subtitle="Tell us about your team">
<Form name="demo-request">
<Input label="Full name" name="name" placeholder="Jane Smith" required="true" />
<Input label="Work email" name="email" type="email" placeholder="jane@company.com" hint="We only use this to reply" required="true" />
<Select label="Team size" name="size" placeholder="Choose a range" options="1-10 people | 11-50 people | 51+ people" />
<Date label="Preferred date" name="date" />
<Slider label="Seats" name="seats" min="1" max="50" value="8" />
<Checkboxes label="Interested in" name="interests" options="Analytics | Billing | Support inbox" value="Analytics" />
<Radio label="Plan" name="plan" options="Cloud, managed by us | Self-hosted in your infra" value="Cloud, managed by us" />
<TextArea label="Anything else?" name="notes" placeholder="Your current tools, deadlines..." rows="3" />
<Switch label="Send me the product newsletter" name="newsletter" />
<Button>Request demo</Button>
<Button variant="tertiary">Cancel</Button>
</Form>
</Card>Radio
Pick one option.
Between its tags: nothing: it closes itself (<Name ... />).
| Attribute | Type | Required | Values |
|---|---|---|---|
label |
text | yes | |
options |
values split by ` | ` | yes |
name |
text | ||
value |
text | ||
hint |
text | ||
required |
true or false |
Book a demo
Tell us about your team
<Card title="Book a demo" subtitle="Tell us about your team">
<Form name="demo-request">
<Input label="Full name" name="name" placeholder="Jane Smith" required="true" />
<Input label="Work email" name="email" type="email" placeholder="jane@company.com" hint="We only use this to reply" required="true" />
<Select label="Team size" name="size" placeholder="Choose a range" options="1-10 people | 11-50 people | 51+ people" />
<Date label="Preferred date" name="date" />
<Slider label="Seats" name="seats" min="1" max="50" value="8" />
<Checkboxes label="Interested in" name="interests" options="Analytics | Billing | Support inbox" value="Analytics" />
<Radio label="Plan" name="plan" options="Cloud, managed by us | Self-hosted in your infra" value="Cloud, managed by us" />
<TextArea label="Anything else?" name="notes" placeholder="Your current tools, deadlines..." rows="3" />
<Switch label="Send me the product newsletter" name="newsletter" />
<Button>Request demo</Button>
<Button variant="tertiary">Cancel</Button>
</Form>
</Card>Switch
An on/off toggle.
Between its tags: nothing: it closes itself (<Name ... />).
| Attribute | Type | Required | Values |
|---|---|---|---|
label |
text | yes | |
name |
text | ||
value |
true or false | ||
hint |
text |
Book a demo
Tell us about your team
<Card title="Book a demo" subtitle="Tell us about your team">
<Form name="demo-request">
<Input label="Full name" name="name" placeholder="Jane Smith" required="true" />
<Input label="Work email" name="email" type="email" placeholder="jane@company.com" hint="We only use this to reply" required="true" />
<Select label="Team size" name="size" placeholder="Choose a range" options="1-10 people | 11-50 people | 51+ people" />
<Date label="Preferred date" name="date" />
<Slider label="Seats" name="seats" min="1" max="50" value="8" />
<Checkboxes label="Interested in" name="interests" options="Analytics | Billing | Support inbox" value="Analytics" />
<Radio label="Plan" name="plan" options="Cloud, managed by us | Self-hosted in your infra" value="Cloud, managed by us" />
<TextArea label="Anything else?" name="notes" placeholder="Your current tools, deadlines..." rows="3" />
<Switch label="Send me the product newsletter" name="newsletter" />
<Button>Request demo</Button>
<Button variant="tertiary">Cancel</Button>
</Form>
</Card>Button
In a Form it submits; elsewhere href opens a link and ask sends a message (the label by default); the label goes between the tags or in label.
Between its tags: inline text: its label.
| Attribute | Type | Required | Values |
|---|---|---|---|
variant |
one of | primary (default), secondary, tertiary, danger |
|
href |
address | ||
ask |
text | ||
disabled |
true or false | ||
size |
one of | medium (default), small, large |
|
label |
text | ||
icon |
icon name |
<Button icon="download-simple">Export CSV</Button>
<Button variant="secondary" icon="share-network">Share report</Button>
<Button variant="tertiary" ask="Compare this with last quarter">Compare with Q2</Button>
<Button variant="danger">Delete project</Button>
<Button size="small" variant="secondary">Small</Button>
<Button size="large">Large</Button>
<Button disabled="true">Not yet</Button>