CommentButton
코멘트 액션용 버튼 컴포넌트
개요
Cals CommentButton은 원본 Vue QSCommentButton 컴포넌트를 React로 재구현한 것으로, 코멘트 관련 액션을 실행하는 버튼입니다. Button보다 간소한 인터페이스를 제공합니다.
주요 특징
- ✅ 버튼 텍스트: title prop으로 텍스트 표시
- ✅ 로딩 상태: loading prop으로 로딩 표시 및 클릭 차단
- ✅ 비활성화: disabled prop으로 버튼 비활성화
- ✅ 커스텀 스타일: backgroundColor, color, fontSize, fontFamily, fontWeight, fontStyle 개별 지정
- ✅ 가시성 제어: visible prop으로 선언적 표시/숨김
Button과의 차이
- FormItem 래핑 없음
- 단축키(shortcut) 없음
- 아이콘(icon) 없음
- ref 노출 없음
기본 사용
Preview
비활성화 (disabled)
Preview
로딩 상태 (loading)
loading=true이면 로딩 표시가 나타나고 클릭이 차단됩니다.
Preview
배경색 (backgroundColor)
배경색을 지정하면 hover/active/disabled 색상이 자동 파생됩니다.
Preview
폰트 스타일
Preview
가시성 제어 (visible)
Preview
API Reference
Props
| Prop | Type | Default | Description |
|---|---|---|---|
title | string | - | 버튼 텍스트 |
visible | boolean | true | 표시 여부 |
disabled | boolean | - | 비활성화 상태 |
loading | boolean | false | 로딩 상태 |
variant | "default" | "secondary" | "destructive" | ... | "default" | 버튼 변형 |
size | "xs" | "sm" | "md" | "lg" | "xl" | "md" | 버튼 크기 |
backgroundColor | string | - | 배경색 (hover/disabled 자동 파생) |
color | string | - | 텍스트 색상 |
fontSize | string | - | 폰트 크기 |
fontFamily | string | - | 폰트 패밀리 |
fontWeight | string | number | - | 폰트 굵기 |
fontStyle | string | - | 폰트 스타일 |
onClick | (e: MouseEvent) => void | - | 클릭 핸들러 |
className | string | - | 컨테이너 className |
style | CSSProperties | - | 인라인 스타일 (토큰과 병합) |
children | ReactNode | - | title 대신 사용할 커스텀 콘텐츠 |
접근성
- ✅
buttonrole 자동 적용 - ✅
disabled시 접근성 상태 자동 반영 - ✅
loading시 클릭 차단
Last updated on