Get startedFoundationsComponentsPatternsRules

Avatar Group

아바타 그룹은 여러 아바타를 겹쳐 쌓거나 격자로 모아 보여줘요.

설치

pnpm dlx shadcn@latest add https://rebar.conmarket-landing.workers.dev/r/steel/avatar-group.json

Examples

Appearance

stack 은 아바타를 겹쳐 좁은 공간에 담고, grid 는 줄을 바꿔 가며 격자로 늘어놓아요.

Appearance기본 최대 개수용도
stack5 (+N 포함)이슈 카드·표처럼 공간이 좁은 곳. small·medium 크기에 써요.
grid11 (+N 포함)프로젝트 멤버 목록처럼 여러 명을 한눈에 보여줄 때

Max count

maxCount 는 +N 표시까지 포함해 보여줄 최대 개수예요. 인원이 이 값을 넘으면 maxCount - 1 명을 보여주고 나머지는 +N 에 모아요. +N 을 누르면 숨은 사람의 이름 목록이 열려요.

Add and remove

처음 그릴 때는 그대로 보이고, 이후 목록에 추가된 아바타는 80% 크기에서 커지며 페이드 인(150ms, motion.avatar.enter)으로 들어와요. 빠진 아바타는 80% 로 작아지며 페이드 아웃(100ms, motion.avatar.exit)으로 나가요. 빠지는 모션이 끝난 뒤에 새 아바타가 들어오고, +N 표시도 같은 방식으로 나타나고 사라져요. 아바타 위치를 정확히 맞추려면 data 의 각 항목에 고유한 key 를 줘요.

Size

small ~ xxlarge 를 지원해요. 16px 크기는 +N 을 읽기 어려워 지원하지 않아요.

Border color

색이 있는 배경 위에 놓을 때는 borderColor 를 배경색과 맞춰 아바타 사이 경계가 자연스럽게 보이게 해요.

Click handlers

onAvatarClick(event, analyticsEvent, index) 로 아바타 클릭을 받아요. onMoreClick 을 주면 +N 을 눌렀을 때 기본 메뉴 대신 직접 만든 동작(예: 멤버 관리 모달)을 실행해요.

Usage guidelines

아바타 그룹은 여러 사람이나 대상을 한 묶음으로 보여줄 때 써요. 정해진 개수만 보여주고 나머지는 접어 두었다가 드롭다운으로 펼칠 수 있어요.

  • Stack 은 +N 을 포함해 최대 다섯 자리까지만 보여주고 small·medium 아바타에만 써요. 인원이 다섯 명을 넘으면 네 명과 +N 을 보여줘요.
  • Grid 는 세 줄 안에서 보여줘요. 기본 최대 열한 자리이고, 넘치면 마지막 자리를 +N 으로 바꿔요.
  • 각 아바타에는 마우스를 올리거나 포커스하면 이름 툴팁이 나타나요. 필요 없으면 isTooltipDisabled 로 꺼요.
Do· 같은 크기로 묶기
한 그룹 안의 아바타는 같은 크기·같은 모양으로 맞춰요.
Don't· 큰 stack
xlarge 이상 크기로 stack 을 만들면 겹친 부분이 커서 얼굴을 알아보기 어려워요.

Accessibility

  • 그룹은 <ul> 목록으로 렌더링돼요. label 로 목록이 무엇인지 알려줘요. 예를 들어 label="담당자" 면 "담당자 목록, 항목 5개" 처럼 읽혀요.
  • 한 화면에 그룹이 여러 개면 각각 다른 label 을 줘요.
  • 각 아바타의 name 은 대체 텍스트이자 툴팁 내용이 돼요.
  • +N 버튼은 기본으로 "외 N명" 을 읽어요. moreIndicatorLabel 로 바꿀 수 있어요.
  • +N 에 포커스한 상태에서 Enter·Space·아래 화살표로 메뉴를 열어요. 키보드로 열면 첫 항목에 포커스가 가고, 위·아래 화살표와 Home·End 로 이동하며, Esc 로 닫아요.

Props

AvatarGroup

Prop

Type

On this page