[1.54.0] DS 원자 — Button (variant/size, 임의값 정규화)
· 약 2분
작업 일자: 2026-06-25 작업 브랜치:
feature/1.54.0-atomic-components-plan
📋 작업 개요
작업 유형: 디자인 시스템 (원자 컴포넌트 신규 구축) 담당: jsg3121 + Claude
ADR-0010 원자 우선 DS 구축의 라운드 1 #1. 코드베이스에서 가장 제각각이고 빈번한 원자인 액션 버튼을 DS로 규격화했다.
🎯 작업 목표
버튼/CTA는 코드베이스에 약 73회 등장하는데 스타일이 매우 불통일했다.
- 모서리:
rounded-lg/rounded-md/rounded-full/rounded-[20px]/rounded-[0.725rem] - 패딩:
px-4/px-[2rem]/px-3 - 높이:
h-8/h-12/h-[3rem]/h-[4rem] - 배경:
bg-primary-1~4/bg-[#b8bfc9] - hover:
hover:bg-primary-1/hover:scale-[1.025]/hover:shadow-lg
이를 토큰 기반 신규 컴포넌트로 통일하고, 임의값([...])을 표준 토큰으로 정규화한다.
✨ 주요 변경사항
1. Button 원자 신규 (3파일 구조)
src/components/button/
├── buttonStyle.ts # variant/size/fullWidth 클래스 조합 함수
├── Button.component.tsx # 액션 버튼(<button>)
└── Button.stories.tsx # variant/size/fullWidth 전부 렌더
2. variant / size
| 축 | 값 |
|---|---|
| variant | primary(bg-primary-1) / secondary(bg-primary-3) / ghost(투명+테두리) |
| size | sm / md / lg (모두 min-h-touch 44px 이상 보장) |
| 옵션 | fullWidth, showArrow(→), disabled |
색·크기는 등록된 토큰만 사용한다. variant는 정적 매핑으로 Tailwind purge에 안전하다.
🎨 디자인 변경
- 임의값 제거:
rounded-2xl·min-h-touch·px-4~6등 토큰으로 정규화. - 모바일 퍼스트:
text-sm desktop:text-base등 base(모바일) →desktop:확장. - 포커스 링:
focus-visible:outline적용(접근성).
🔧 기술적 세부사항
추가된 파일
src/components/button/buttonStyle.tssrc/components/button/Button.component.tsxsrc/components/button/Button.stories.tsx
📌 참고 사항
- 이동(링크)용 CTA는 별도 원자 LinkButton을 쓴다 — 시각 스타일은
buttonStyle에서 공유한다. - 기존 사용처(약 73곳)는 즉시 교체하지 않는다. 원자 구축 후 페이지 개편(2단계)에서 교체한다.
