컴포넌트 · 액션
Button
사용자가 행동을 실행하게 합니다. 8가지 variant와 5가지 size가 있으며, 높이와 글자 크기는 플랫폼 토큰(--control-h-*)을 따라 자동으로 바뀝니다.
- Import
@ongi/ui/button- 기반
- Radix Slot (asChild)
- 상태
- Stable
구조
- 1
Container
높이 --control-h-*, 라운드 --control-radius
- 2
Leading icon (선택)
텍스트 크기의 1.15배, 간격 6px
- 3
Label
Semibold, 동사형 1–3 단어
- 4
Trailing icon (선택)
다음 단계 · 외부 이동을 암시할 때
Variant
화면의 행동 위계에 따라 선택합니다. 한 영역에 Primary는 하나만 둡니다.
Size
같은 size라도 플랫폼마다 실제 높이가 다릅니다. 아래는 각 플랫폼 토큰으로 렌더링한 결과입니다.
상태
로딩
텍스트를 숨기고(invisible) 스피너를 가운데 겹쳐서, 버튼 폭이 바뀌지 않게 합니다. 로딩 중에는 자동으로 disabled 됩니다.
아이콘 · IconButton
버튼 배치
이렇게 하세요
- Primary는 영역에서 가장 오른쪽(데스크톱) 또는 가장 넓게(모바일)
- 결제 CTA에는 최종 금액을 포함
- 파괴적 행동은 확인 다이얼로그 안에서 danger로
이렇게 하지 마세요
- Primary 두 개 나란히 배치
- 버튼 텍스트 줄바꿈 (문구를 줄이세요)
- 링크 이동에 Button을 쓰고 asChild 누락