목록 보기
[디자인 시스템 어떻게 만들었어요?(1)] 아이콘 라이브러리 만들기
프론트엔드

[디자인 시스템 어떻게 만들었어요?(1)] 아이콘 라이브러리 만들기

요기요
요기요
2025년 10월 10일

두줄요약

요기요는 디자인 시스템 아이콘을 개별 SVG 컴포넌트와 전용 라이브러리로 재구축했습니다. 자동 변환, 접근성, 토큰 연동, 변경 내역 자동화로 운영 효율을 높였습니다.

문제 상황

  • Figma export SVG를 컴포넌트 라이브러리에서 name prop으로 매핑하는 구조
  • 런타임 동적 접근으로 인한 트리 쉐이킹 불가
  • Monochrome과 Multicolor의 색상 요구사항 미반영, 리소스 변경 시 라이브러리 버전 상승 필요

해결 방법

  • 아이콘을 개별 SVG 컴포넌트로 분리하고 아이콘 전용 라이브러리 구축
  • SVG 최적화와 SVGR 커스텀 템플릿으로 React 컴포넌트 자동 생성
  • AccessibleIcon, create/isYds2Icon 유틸로 접근성과 타입 식별 지원

성능/운영 포인트

  • Monochrome은 currentColor 적용, Multicolor은 원본 색상 유지
  • Wrapper 컴포넌트로 스타일 제어를 일원화하고 디자인 시스템 토큰 연동
  • PR diff 기반 변경 내역 관리와 Figma 플러그인 자동화로 운영 효율 개선

다음 읽기

#디자인 시스템 주제를 이어서 읽기

[디자인 시스템 어떻게 만들었어요?(2)] Radix Primitives와 Panda CSS로 유연하고 단단한 컴포넌트 만들기

Radix Primitives로 접근성과 확장성을 확보하고, Panda CSS로 상태 기반 스타일링을 선언적으로 구성했습니다. 또한 styled-components의 한계를 고려해 Zero-runtime CSS-in-TS로 전환하고 토큰 배포 전략도 정비했습니다.

요기요
요기요
프론트엔드

댓글 0개

댓글을 작성하려면 로그인이 필요합니다.

댓글을 불러오는 중...