SwatchPicker
색 항목 중 하나를 고르는 컴포넌트예요. 캘린더 색, 라벨 색, 프로젝트 색처럼 사용자가 정하는 색에 써요. 색이 아닌 값을 고를 때는 RadioGroup이나 ToggleGroup을 써요.
사용 예시
캘린더 색
Field로 감싸면 FieldLabel이 SwatchPicker 전체의 이름이 돼요.
이 캘린더의 일정이 고른 색으로 보여요.
tsx
직접 고르기
목록에 없는 색도 허용할 때 SwatchPickerCustom을 끝에 둬요. 브라우저 색 입력을 열고, 목록에 없는 색을 고르면 그 색 항목이 직접 고르기 버튼 앞에 보여요.
tsx
권장
label에 색 이름을 적어요. 스크린 리더가 읽고, 마우스를 올리면 Tooltip으로 보여요.
지양
색 코드만 적으면 색을 구분하기 어려운 사람은 무슨 색인지 알 수 없어요.
권장
색이 아닌 값은 RadioGroup이나 ToggleGroup으로 글자를 보여요.
지양
값을 색으로만 나타내면 무엇을 고르는지 마우스를 올려야 알 수 있어요.
체크 색
고른 색 항목의 체크 색은 그 색의 밝기를 보고 검정이나 흰색으로 정해요. 밝은 색에도 어두운 색에도 체크가 보여요.
tsx
크기
좁은 메뉴나 Popover 안에서는 sm, 설정 화면에서는 md, 색이 중요한 화면에서는 lg를 써요.
tsx
비활성
권한이 없어 바꿀 수 없을 때 써요. 고른 색은 바깥 링으로 계속 보여요.
tsx
컨트롤
값
"#e5484d"tsx
명세
| 이름 | 값 | 기본 |
|---|---|---|
| SwatchPicker | ||
| value | string | null | - |
| 고른 색이에요. 고르지 않은 상태는 null이에요. | ||
| defaultValue | string | null | null |
| 처음에 고를 색을 정해요. | ||
| onValueChange | (value: string) => void | - |
| 색을 고르면 호출돼요. 직접 고르기에서 고른 색도 같은 모양으로 넘어와서 eventDetails가 없어요. | ||
| size | sm, md, lg | md |
| 24, 32, 40px이에요. | ||
| disabled | boolean | false |
| aria-label | string | - |
| Field 밖에서 쓸 때 전체 이름을 정해요. | ||
| className | string | - |
| SwatchPickerItem | ||
| value | string | - |
| CSS 색 문자열이에요. SwatchPicker의 바로 아래 자식이어야 목록으로 인식해요. 배열은 괜찮아요. | ||
| label | string | - |
| 스크린 리더가 읽는 이름이고 Tooltip으로도 보여요. | ||
| disabled | boolean | false |
| SwatchPickerCustom | ||
| label | string | 직접 고르기 |
| 버튼의 이름이고 Tooltip으로도 보여요. | ||
| disabled | boolean | false |