Button
Live preview and documentation for the Button component.
About
The design system's standard button, used throughout the app. Supports a label, icon, loading state, and several visual variants.
variant:primary(default),secondary,tertiary,destructive,destructiveSoft,inverse,link,soft,neutral,outline,ghostsize:small(40px, 14px label),medium(default, 45px, 16px label) orlarge(54px, 16px label). Usesmallin dense desktop areas (toolbars, sidebars, side panels), together with thesmallKasyTextFieldKasyButton.iconOnly(...): a circular icon-only buttonicon+iconAlignment:leading,trailing, ortop(icon stacked above the label)isLoading+loadingBehavior:inline(keeps the shape, swaps content for a spinner) orshrinkToCircle(shrinks into a circle while loading)expand: fills the available width;width: fixed widthpressEffect:depth(scales down, default on native),fill(hover-like fill, default on web), orbothbackgroundColor,foregroundColor,borderColor,outlineWidth,borderRadius,backgroundGradient,fontWeight: override the variant's tokens for custom caseshapticFeedbackEnabled: toggles light haptic feedback on press
Default corners: KasyRadius.xl (24), or a full circle for icon-only buttons.
Preview
Loading the component…
Last updated on 11/03/2026

