SDAIA
SDAIA LogoSDAIA Logo
ComponentsButton
IntroductionInstallationFAQBrands
ColorsTypographySpacingRadiusGrid layoutsAll Tokens
All Components
AccordionActivityArea ChartAudio PlayerAvatarAvatarGroupCarousel ImageChartChipCode SnippetColumn ChartContext MenuDigital StampDividerDonut ChartDraggable ListDropdownEmpty StateFiltrationFooterImage ViewerLine ChartListMedia GalleryMenuMetricNav BarNav HeaderNumberPDF ViewerPie ChartPopoverProgress CircleQuoteRadial StepperScatterSecond Nav HeaderSlideout MenuStructured ListTableTable of ContentTree ViewVertical TabsVideo Player
BreadcrumbButtonButton MenuButton SplitContent SwitcherDate PickerFloating ButtonHorizontal TabsLinkModalPaginationRadio ButtonSwitchTag
AutocompleteCheckboxFile UploadNumber InputRange SliderRich Text EditorSelectSignatureSliderText AreaText Input
AlertsBadgeCardFeedbackFeedback OverviewHelp IconLoading IndicatorNotification BannerNotification PopupNotificationsProgress BarRatingRating OverviewSkeletonSkeleton/AvatarsTooltip
Sdaia Logo Animation
Sdaia Touch ButtonsSdaia Touch Switch

Button

Displays a button or a component that looks like a button.

Loading preview…
1<div className="relative flex min-h-[344px] items-center justify-center overflow-hidden bg-white ...">
2 {/* Geometric background */}
3 <div className="relative z-10 flex flex-col items-center gap-[22px] text-center">
4 <h2>The Foundation of SDAIA's Design System</h2>
5 <p>Primary 'Get Started' button drives the main CTA...</p>

Installation

npx sdaia-ui@latest add button

Usage

import { Button } from "@/components/ui/button"

Examples

Size

Use the `size` prop to change the size of the button.

Loading preview…
1'use client';
2
3import { Button } from 'sdaia-ui';
4
5export default function ButtonSize() {

Default

The default button style.

Loading preview…
1'use client';
2
3import { Button } from 'sdaia-ui';
4
5export default function ButtonPrimary() {

Secondary

Use `style="Secondary - Solid"` for secondary actions.

Loading preview…
1'use client';
2
3import { Button } from 'sdaia-ui';
4
5export default function ButtonSecondarySolid() {

Outline

Use `style="Secondary - Outline"` for outlined secondary actions.

Loading preview…
1'use client';
2
3import { Button } from 'sdaia-ui';
4
5export default function ButtonSecondaryOutline() {

Neutral

Use variant="neutral" for high-contrast dark actions (Figma Style=Neutral).

Loading preview…
1'use client';
2
3import { Button } from 'sdaia-ui';
4
5export default function ButtonNeutral() {

Subtle

Use `style="Subtle"` for low-emphasis inline actions.

Loading preview…
1'use client';
2
3import { Button } from 'sdaia-ui';
4
5export default function ButtonSubtle() {

Transparent

Use variant="transparent" for link-style actions (Figma Style=Transparent).

Loading preview…
1'use client';
2
3import { Button } from 'sdaia-ui';
4
5export default function ButtonTransparent() {

With Leading Icon

Remember to add `leadingIcon` to include an icon before the label.

Loading preview…
1'use client';
2
3import { Button } from 'sdaia-ui';
4
5function ArrowRightIcon() {

Icon

Renders a button with an icon and no text label.

Loading preview…
1'use client';
2
3import { Button } from 'sdaia-ui';
4
5function ArrowRightIcon() {

Destructive

Use destructive={true} with any style (e.g. variant="primary" destructive). Matches Figma Destructive=True.

Loading preview…
1<Button variant="primary" destructive>Delete</Button>
2<Button variant="secondary-solid" destructive>Delete</Button>
3<Button variant="secondary-outline" destructive>Delete</Button>
4<Button variant="subtle" destructive>Delete</Button>
5<Button variant="transparent" destructive>Delete</Button>

API Reference

ButtonProps

Props for the Button component.

Prop

Type

Default

Required

variant

"neutral" | "primary" | "secondary-solid" | "secondary-outline" | "subtle" | "transparent"

"primary"

optional

destructive

boolean

false

optional

size

"sm" | "md" | "lg"

"md"

optional

disabled

boolean

false

optional

selected

boolean

false

optional

iconOnly

boolean

false

optional

leadingIcon

ReactNode

—

optional

trailingIcon

ReactNode

—

optional

fullWidth

boolean

false

optional

as

ElementType

—

optional

children

ReactNode

—

optional
Breadcrumb
Button Menu
On this page

The Foundation of SDAIA's Design System

Primary 'Get Started' button drives the main CTA. Secondary 'Explore Components' provides an alternative action without competing with the primary.

Large
Medium
Small

Use destructive={true} with any style — matches Figma Destructive=True

Primary
Secondary solid
Secondary outline
Subtle
Transparent