SegmentedControl
2~4개 중 하나를 골라 바로 보기 방식을 바꿔요. 내용 전체를 바꾸면 Tabs를, 하나를 켜고 끄면 Toggle을 써요.
사용 예시
보기 방식
같은 일정을 달력이나 타임라인으로 보여요. 고르는 즉시 아래 내용이 바뀌어요.
달력타임라인
10월 6일 월주간 회의디자인 리뷰
10월 7일 화
10월 8일 수배포 점검
tsx
버튼과 한 줄
도구 막대에서는 옆에 둔 Button과 같은 크기를 골라요.
sm
주월
md
주월
lg
주월
tsx
Tabs와 구분
달력타임라인
권장
같은 일정을 다른 모양으로 볼 때 써요.
개요구성원설정
지양
서로 다른 내용으로 바꾸면 Tabs를 써요.
아이콘
아이콘만 쓰면 항목마다 aria-label을 적어요. 아이콘 크기는 크기에 맞춰 정해져요.
달력목록
tsx
폭 맞추기
모바일 헤더처럼 폭이 좁으면 fill로 부모 폭만큼 늘려요.
전체내 업무완료
tsx
항목 개수
일주월
권장
항목은 2~4개로 둬요. 한눈에 보고 바로 골라요.
일3일주2주월년
지양
6개면 글자가 작게 붙어 읽기 어려워요. 많으면 Select를 써요.
비활성 항목
지금 쓸 수 없는 보기 방식은 disabled로 남겨 둬요.
목록보드간트
tsx
컨트롤
목록보드
값
"list"tsx
명세
| 이름 | 값 | 기본 |
|---|---|---|
| SegmentedControl | ||
| value | string | - |
| 호출하는 쪽에서 고른 값을 관리해요. | ||
| defaultValue | string | - |
| 처음에 고를 값이에요. 늘 하나가 골라져 있어야 해서 꼭 적어요. | ||
| onValueChange | (value, eventDetails) => void | - |
| 다른 항목을 고르면 호출돼요. | ||
| size | sm, md, lg | md |
| 높이는 sm h-8, md h-9, lg h-10이에요. 같은 크기의 Button, Input과 높이가 같아요. | ||
| fill | boolean | false |
| 부모 폭만큼 늘리고 항목이 폭을 똑같이 나눠요. | ||
| disabled | boolean | false |
| 모든 항목을 비활성으로 만들어요. | ||
| aria-label | string | - |
| 무엇을 고르는지 적어요. 화면에 보이는 제목이 없을 때 꼭 적어요. | ||
| className | string | - |
| SegmentedControlItem에도 쓸 수 있어요. 배경은 bg-neutral-selected, 둥글기는 r10, 안쪽 여백은 4px이고, 고른 항목은 bg-neutral-thumb와 shadow-s1, 둥글기는 r6이에요. | ||
| SegmentedControlItem | ||
| value | string | - |
| 이 항목을 고르면 넘어가는 값이에요. | ||
| disabled | boolean | false |
| children | ReactNode | - |
| 글자나 아이콘이에요. 아이콘만 쓰면 aria-label을 적어요. | ||