Components

AvatarGroup

사용 예시

담당자

목록의 한 줄처럼 좁은 곳에서는 max를 작게 두고 size를 sm으로 줄여요.

결제 화면 시안
알림 문구 정리
+2
출시 점검
+4
tsx
<AvatarGroup max={3} size="sm" aria-label={`담당자 ${task.people.length}명`}>  {task.people.map(person => (    <Avatar key={person.id} seed={person.id} name={person.name} />  ))}</AvatarGroup>

넘치는 사람 수

max보다 사람이 많으면 앞에서부터 max명만 보여요.

+4
tsx
<AvatarGroup max={3} aria-label="참여자 7명">  {members.map(member => (    <Avatar key={member.id} seed={member.id} name={member.name} />  ))}</AvatarGroup>
+4

크기

목록 옆에는 xs나 sm, 카드 헤더에는 md를 써요.

+4
+4
+4
+4
+4
tsx
<AvatarGroup max={3} size="xs" aria-label="참여자 7명">…</AvatarGroup><AvatarGroup max={3} size="sm" aria-label="참여자 7명">…</AvatarGroup><AvatarGroup max={3} size="md" aria-label="참여자 7명">…</AvatarGroup><AvatarGroup max={3} size="lg" aria-label="참여자 7명">…</AvatarGroup><AvatarGroup max={3} size="xl" aria-label="참여자 7명">…</AvatarGroup>

배경에 따라

배경이 bg가 아니면 --avatar-group-ring을 그 배경색으로 바꿔요. 링이 배경과 같아야 Avatar 사이가 비어 보여요.

+4
bg
+4
well
+4
panel
tsx
<div className="bg-bg-well rounded-r8 p-3">  <AvatarGroup max={3} aria-label="참여자 7명" style={{ '--avatar-group-ring': 'var(--color-bg-well)' } as CSSProperties}>    …  </AvatarGroup></div>

넘치는 사람 수 문구

읽은 사람처럼 수가 중요한 곳에서는 renderOverflow로 「+N」 대신 다른 문구를 보여요.

5명
tsx
<AvatarGroup max={2} size="sm" aria-label="읽은 사람 7명" renderOverflow={count => `${count}명`}>  {members.map(member => (    <Avatar key={member.id} seed={member.id} name={member.name} />  ))}</AvatarGroup>

컨트롤

+4
tsx
<AvatarGroup max={3} aria-label="참여자 7명">  {members.map(member => (    <Avatar key={member.id} seed={member.id} name={member.name} />  ))}</AvatarGroup>

명세

이름
이름값기본
maxnumber-
보이는 Avatar 수예요. 사람이 더 많으면 나머지는 「+N」 하나로 보이고 스크린 리더는 「외 N명」으로 읽어요.
sizexs, sm, md, lg, xlmd
안의 Avatar와 「+N」에 똑같이 적용돼요. 겹치는 폭은 4, 4, 6, 8, 12px이에요.
renderOverflow(count: number) => ReactNode-
「+N」 자리에 보일 내용을 돌려줘요.
aria-labelstring-
스크린 리더가 읽는 그룹 이름이에요.
--avatar-group-ringCSS 변수var(--color-bg)
Avatar 사이 2px 링의 색이에요.
classNamestring-