2.0 alpha
These docs describe 2.0. Install it with @once-ui-system/core@alpha.
On 1.8.x? Read the 1.x docs
TrademarkTrademarkDocs
Ctrl k
Search docs...
Components

Button

Updated: June 30, 2026
View on GitHub
A versatile component for triggering actions or navigating to different pages. Buttons communicate interactivity and guide users through their journey in the application. Buttons come in different sizes to accommodate various use cases. Control the font weight of button text. Control the width of button. Enhance buttons with icons to improve visual communication. Display different states of buttons to indicate their current status, such as loading or disabled. Customize the corner radius of buttons for different design needs. Buttons can function as links when provided with an href property. Add an animated arrow that responds to hover events. Control the alignment of button content. Override default styles with data attributes. Use the color prop to apply a specific color scheme to the button. Accepts a ${ColorScheme}-${ColorWeight} value.
Prop
Type
Default
variant
primarysecondarytertiaryquaternarysubtledangersuccesswarningghostlink
primary
size
xllmsxs
m
corners
nonetoprightbottomlefttop-lefttop-rightbottom-rightbottom-left
label
string
weight
defaultstrong
strong
rounded
boolean
prefixIcon
IconName
suffixIcon
IconName
loading
Swaps the label for a spinner and blocks further clicks.
booleanfalse
disabled
booleanfalse
fillWidth
booleanfalse
horizontal
startcenterendbetween
center
children
React.ReactNode
href
Renders an anchor instead of a button.
string
className
string
style
React.CSSProperties
id
string
arrowIcon
Adds a trailing arrow that slides on hover, for links that lead somewhere.
booleanfalse
color
`${ColorScheme}-${ColorWeight}`
…and every React.ButtonHTMLAttributes propinherited
Edit this page on GitHub
TrademarkTrademark
Built with curiosity by Lorant One and the Design Engineers Club