Skip to content
Twentyfirst UIPro

Card

Data · Badge, Button, Card, IconButton, Stagger, TintIcon

View as Markdown

Quarterly onboarding

Welcome flow for new workspace admins.

Mara Ellis12 steps348 users
Live

Pricing page refresh

New tiers and a comparison table for annual plans.

86 viewing

Invoice #2041 is overdue

Net-30 passed four days ago; reminder bounced.

Rui CostaHigh priority
Open

Props

Badge

PropTypeNotes
tone?Tone
dot?boolean
live?boolean
children?ReactNode
className?stringExtra class on the root element.
style?CSSPropertiesInline style on the root element.

Button

PropTypeNotes
variant?"primary" | "secondary" | "soft" | "ghost" | "danger" | "danger-solid"
size?"md" | "sm"
icon?IconName
iconRight?IconName
disabled?boolean
type?"button" | "submit" | "reset"
onClick?(e: MouseEvent<HTMLButtonElement>) => void
children?ReactNode
asChild?booleanRender the single child element (a link, a router Link) with the button's look instead of a <button>.
id?string
name?stringForm field name and value, sent with the form when this button submits it.
value?string
form?stringThe id of the form this button belongs to, when it sits outside it.
title?string
tabIndex?number
autoFocus?boolean
aria-label?string
aria-labelledby?string
aria-describedby?string
aria-expanded?boolean | "true" | "false"For disclosure and menu triggers: whether what the button controls is open.
aria-controls?string
aria-haspopup?boolean | "true" | "false" | "menu" | "listbox" | "tree" | "grid" | "dialog"
aria-pressed?boolean | "true" | "false" | "mixed"For toggle buttons.
aria-current?boolean | "true" | "false" | "page" | "step" | "location" | "date" | "time"
className?stringExtra class on the root element.
style?CSSPropertiesInline style on the root element.

Card

PropTypeNotes
title?string
description?string
meta?string[]
corner?ReactNode
status?ReactNode
actions?ReactNode[]
tint?Tint | "surface"
onClick?() => void
children?ReactNode
eyebrow?ReactNode
surface?Surface`"glass"`: translucent glass over what is behind (maps, 3D, video, photos); `"solid"` opts out inside a glass `UIProvider`.
className?stringExtra class on the root element.
style?CSSPropertiesInline style on the root element.

IconButton

PropTypeNotes
iconIconNameRequired
labelstringAccessible name and tooltip (`aria-label` and `title`); `aria-label` or `title` override them.
variant?"soft" | "solid" | "outline" | "ghost"
size?"sm" | "md" | "lg"
type?"button" | "submit" | "reset"
onClick?(e: MouseEvent<HTMLButtonElement>) => void
disabled?boolean
asChild?booleanRender the single child element (a link) with the button's look; the icon is placed inside it.
children?ReactNode
id?string
name?stringForm field name and value, sent with the form when this button submits it.
value?string
form?stringThe id of the form this button belongs to, when it sits outside it.
title?string
tabIndex?number
autoFocus?boolean
aria-label?string
aria-labelledby?string
aria-describedby?string
aria-expanded?boolean | "true" | "false"For disclosure and menu triggers: whether what the button controls is open.
aria-controls?string
aria-haspopup?boolean | "true" | "false" | "menu" | "listbox" | "tree" | "grid" | "dialog"
aria-pressed?boolean | "true" | "false" | "mixed"For toggle buttons.
aria-current?boolean | "true" | "false" | "page" | "step" | "location" | "date" | "time"
className?stringExtra class on the root element.
style?CSSPropertiesInline style on the root element.

Stagger

PropTypeNotes
as?string
className?string
style?CSSProperties
delay?numberExtra delay before the first child, in ms.
reveal?booleanBelow the fold, wait until the group scrolls into view (default true).
children?ReactNode

TintIcon

PropTypeNotes
iconIconNameRequired
tint?Tint | "plain"
label?string
size?number
className?stringExtra class on the root element.
style?CSSPropertiesInline style on the root element.