Animation
컴포넌트의 등장/퇴장 효과를 통일하는 애니메이션 토큰입니다. 모두 Named 타입으로, 토큰 이름이 그대로 클래스 이름(animate-{name})에 1:1 매핑됩니다.
Enter Animations
Checkbox, Radio의 등장 효과. 각 토큰이 하나의 클래스(animate-checkbox-enter)에 1:1 매핑됩니다.
checkbox-enterCheckbox체크마크 등장 애니메이션
animate-checkbox-enterradio-enterRadio라디오 도트 등장 애니메이션
animate-radio-enterScale Comparison
컴포넌트 형태에 맞는 스케일 값 사용 가이드
Checkbox
체크마크가 영역 안에 맞게 75% 스케일에서 자연스럽게 등장합니다.
animate-checkbox-enterRadio
50% 스케일에서 시작해 '팝' 효과로 인상적인 등장감을 연출합니다.
animate-radio-enterNamed Animations
각 컴포넌트 고유의 독립 애니메이션. animate-* 클래스 하나로 완결됩니다.
Modal
2 enter/exit pairs
animate-modal-overlay-enter오버레이 페이드 인
animate-modal-overlay-exit오버레이 페이드 아웃
animate-modal-content-enter콘텐츠 등장 (opacity + scale + translateY)
animate-modal-content-exit콘텐츠 퇴장
NavigationMenu
3 enter/exit pairs
animate-fade-in페이드 인
animate-fade-out페이드 아웃
animate-nav-viewport-enter뷰포트 등장 (opacity + scale + translateY)
animate-nav-viewport-exit뷰포트 퇴장
animate-collapsible-down콜랩시블 펼치기 (height)
animate-collapsible-up콜랩시블 접기 (height)
Accordion
1 enter/exit pair
animate-accordion-down아코디언 펼치기 (height)
animate-accordion-up아코디언 접기 (height)
Drawer
화면 끝에서 슬라이드 인/아웃
animate-drawer-*-enteranimate-drawer-*-exitTooltip
툴팁 등장/퇴장 (opacity + translate 4px)
animate-tooltip-*-enteranimate-tooltip-*-exitPopover
팝오버 등장/퇴장 (opacity + translate 4px)
animate-popover-*-enteranimate-popover-*-exitToast
토스트 슬라이드 인/아웃
animate-toast-slide-*-inanimate-toast-slide-*-outGlobal
무한 회전 (로딩 스피너)
animate-spin무한 회전 (로딩 스피너)
Progress
스트라이프 흐름 애니메이션 (background-position)
animate-progress-stripe스트라이프 흐름 애니메이션 (background-position)
Spinner
3D Y축 회전 (rotateY 0→360deg), 도트 투명도 펄스 (opacity 0.2→1→0.2), 바 스케일 펄스 (scaleY 0.4→1→0.4), 유기적 형태 변형 + 3D 회전 (border-radius morph)
animate-spinner-orbit3D Y축 회전 (rotateY 0→360deg)
animate-spinner-dot도트 투명도 펄스 (opacity 0.2→1→0.2)
animate-spinner-bar바 스케일 펄스 (scaleY 0.4→1→0.4)
animate-spinner-morph유기적 형태 변형 + 3D 회전 (border-radius morph)
Skeleton
밝기 펄스 (opacity 1→0.4→1), 시머 그라디언트 스윕 (translateX -100%→100%)
animate-skeleton-pulse밝기 펄스 (opacity 1→0.4→1)
animate-skeleton-wave시머 그라디언트 스윕 (translateX -100%→100%)
Best Practices
권장
- ✓짧은 duration(micro=150ms)으로 빠른 피드백 제공
- ✓ease-out으로 자연스러운 감속감 연출
- ✓opacity + scale 조합으로 풍부한 트랜지션 구현
- ✓named 클래스로 1:1 매핑 유지
지양
- ✗300ms+ 마이크로 인터랙션
- ✗등장 애니메이션에 ease-in 사용
- ✗keyframes 하드코딩
- ✗prefers-reduced-motion 무시