Button
Trigger for actions
import { Button } from '@kalidao/reality'
name  | type  | default  | description  | 
|---|---|---|---|
as  | "button" | "a"  | -  | -  | 
center  | boolean  | -  | Centers text and reserves space for icon and spinner  | 
justifyContent  | ConditionalStyle<Values<("center" | "flex-end" | "flex-start" | "stretch" | "space-around" | "space-between")[], { defaultClass: string; conditions: { xs: string; sm: string; md: string; lg: string; xl: string; }; }>>  | -  | -  | 
loading  | boolean  | -  | Shows loading spinner inside button  | 
prefix  | ReactNodeNoStrings  | -  | Adds ReactNode before children  | 
ref  | Ref<HTMLButtonElement>  | -  | -  | 
shape  | "circle" | "square"  | -  | Constrains button to specific shape  | 
size  | "large" | "small" | "medium"  | large  | Sets dimensions and layout  | 
suffix  | ReactNodeNoStrings  | -  | Adds ReactNode after children  | 
tone  | "background" | "blue" | "green" | "pink" | "purple" | "red" | "violet" | "foreground" | "accent"  | accent  | -  | 
variant  | "transparent" | "primary" | "secondary" | "tertiary"  | primary  | -  | 
width  | ConditionalStyle<Values<{ '112': string; '128': string; '144': string; '168': string; '180': string; '192': string; '224': string; '256': string; '288': string; '320': string; '1/4': string; '1/3': string; '1/2': string; '2/3': string; '3/4': string; screenSm: 640; ... 49 more ...; none: CSSVarFunction; }, { ...; }>>  | -  | -  | 
When variant is set to primary or secondary, you can tone to change the button accent color.
Optional center prop reserves space for affixes and loading spinner.