AIFT Design
Components

Button

버튼 컴포넌트는 사용자 인터랙션을 위한 클릭 가능한 요소입니다.

기본 사용법

import { Button } from '@aift/ui/Button';export default function Preview() {  return <Button>버튼</Button>;}

Variant와 Color 조합

Contained

import { Button } from '@aift/ui/Button';export default function Contained() {  return (    <div className="flex flex-wrap gap-2">      <Button variant="contained" color="default">Default</Button>      <Button variant="contained" color="primary">Primary</Button>      <Button variant="contained" color="positive">Positive</Button>      <Button variant="contained" color="cautionary">Cautionary</Button>      <Button variant="contained" color="destructive">Destructive</Button>      <Button variant="contained" color="info">Info</Button>    </div>  );}

Outlined

import { Button } from '@aift/ui/Button';export default function Outlined() {  return (    <div className="flex flex-wrap gap-2">      <Button variant="outlined" color="default">Default</Button>      <Button variant="outlined" color="primary">Primary</Button>      <Button variant="outlined" color="positive">Positive</Button>      <Button variant="outlined" color="cautionary">Cautionary</Button>      <Button variant="outlined" color="destructive">Destructive</Button>      <Button variant="outlined" color="info">Info</Button>    </div>  );}

Text

import { Button } from '@aift/ui/Button';export default function Text() {  return (    <div className="flex flex-wrap gap-2">      <Button variant="text" color="default">Default</Button>      <Button variant="text" color="primary">Primary</Button>      <Button variant="text" color="positive">Positive</Button>      <Button variant="text" color="cautionary">Cautionary</Button>      <Button variant="text" color="destructive">Destructive</Button>      <Button variant="text" color="info">Info</Button>      <Button variant="text" color="black">Black</Button>      <div className="w-full bg-neutral-80 p-2 rounded">        <Button variant="text" color="white">White</Button>      </div>    </div>  );}

Surface

import { Button } from '@aift/ui/Button';export default function Surface() {  return (    <div className="flex flex-wrap gap-2">      <Button variant="surface" color="default">Default</Button>      <Button variant="surface" color="primary">Primary</Button>      <Button variant="surface" color="positive">Positive</Button>      <Button variant="surface" color="cautionary">Cautionary</Button>      <Button variant="surface" color="destructive">Destructive</Button>      <Button variant="surface" color="info">Info</Button>    </div>  );}

Sizes

버튼의 크기를 결정합니다.

import { Button } from '@aift/ui/Button';export default function Sizes() {  return (    <div className="flex flex-wrap items-center gap-2">      <Button size="small">Small</Button>      <Button size="medium">Medium</Button>      <Button size="large">Large</Button>      <Button size="extra">Extra</Button>    </div>  );}

Disabled 상태

import { Button } from '@aift/ui/Button';export default function Disabled() {  return (    <div className="flex flex-wrap gap-2">      <Button variant="contained" color="primary" disabled>Disabled</Button>      <Button variant="outlined" color="primary" disabled>Disabled</Button>      <Button variant="text" color="primary" disabled>Disabled</Button>      <Button variant="surface" color="primary" disabled>Disabled</Button>    </div>  );}

Props

PropTypeDefaultDescription
variant'contained' | 'outlined' | 'text' | 'surface' | 'icon''outlined'버튼의 스타일
size'small' | 'medium' | 'large' | 'extra' | 'icon''medium'버튼의 크기
color'default' | 'primary' | 'positive' | 'cautionary' | 'destructive' | 'info' | 'black' | 'white''default'버튼의 색상
radius'none' | 'small' | 'medium' | 'large' | 'extra' | 'full''medium'버튼의 모서리 둥글기
disabledbooleanfalse비활성화 여부
asChildbooleanfalse자식 요소를 버튼으로 사용
loadingbooleanfalse로딩 상태
startIconReact.ReactNode-시작 아이콘
endIconReact.ReactNode-끝 아이콘

On this page