Button
Triggers a click action usually performed by the user to trigger an event such as submitting a form or closing a dialog.Usage
1import { Button } from '@raystack/apsara'
Button Props
Prop
Type
Examples
Variant
Variants allow you to customize the button's style, making it visually distinctive and suitable for different purposes. Default is solid.
1<Flex gap="large">2 <Button variant="solid">Solid</Button>3 <Button variant="outline">Outline</Button>4 <Button variant="ghost">Ghost</Button>5 <Button variant="text">Text</Button>6</Flex>
Color
Colors help convey the purpose and importance of actions. The color prop only affects solid and outline variants. Default is accent.
1<Flex gap="large">2 <Button color="success">Accent</Button>3 <Button color="danger">Danger</Button>4 <Button color="neutral">Neutral</Button>5 <Button color="success">Success</Button>6</Flex>
Size
The Button component offers two size options. Default size is normal.
1<Flex gap="large" align="center">2 <Button size="small">Small</Button>3 <Button size="normal">Normal</Button>4</Flex>
Disabled
The Button component provides a "disabled" state, which prevents the button from responding to any user actions. Default is false.
1<Flex gap="large">2 <Button variant="solid" disabled>3 Solid4 </Button>5 <Button variant="outline" disabled>6 Outline7 </Button>8 <Button variant="ghost" disabled>9 Ghost10 </Button>11 <Button variant="text" disabled>12 Text13 </Button>14</Flex>
Loading
The Button component offers inbuilt loading states. Loading state is used to signify an ongoing process after the user has clicked on the button.
1<Flex gap="large">2 <Button variant="solid" loading>3 Button4 </Button>5 <Button variant="solid" loading loaderText="Loading...">6 Button7 </Button>8 <Button variant="outline" loading loaderText="Loading...">9 Button10 </Button>11</Flex>
With leading and trailing icons
The button component accepts optional leading and/or trailing icons.
1<Flex gap="large">2 <Button variant="solid" color="accent" leadingIcon={<>I</>}>3 With leading icon4 </Button>5 <Button variant="solid" color="accent" trailingIcon={<>O</>}>6 With trailing icon7 </Button>8 <Button9 variant="solid"10 color="accent"11 leadingIcon={<>I</>}12 trailingIcon={<>O</>}13 >14 With both icons15 </Button>16</Flex>