Design Principles
설계 원칙
1. 디자인 시스템이 의미와 스타일을 함께 소유한다
컴포넌트는 스타일만 제공하는 껍데기가 아니다. 스타일과 그에 걸맞는 semantic behavior가 하나로 묶여있다. 사용하는 쪽은 어떤 컴포넌트를 쓸지만 결정하고, 그 컴포넌트가 가져야 할 의미와 동작은 디자인 시스템이 보장한다.
2. 컴포넌트는 시각적 역할로 정의된다
사용자는 "이게 버튼처럼 생겼다"는 것만 알면 된다. 실제로 <button>인지 <a>인지는 시스템이 컨텍스트를 보고 결정한다. 사용자가 의도를 선언하면, 그에 맞는 올바른 엘리먼트와 동작을 시스템이 보장한다.
3. 올바르게 쓰는 것이 가장 쉬운 구조를 만든다
자유도를 줄이는 대신 잘못 쓸 여지를 없앤다. 시스템이 허용한 컨텍스트 안에서만 동작하기 때문에 사용 현황 트래킹이 가능하고, 시스템이 일관성을 보장할 수 있다.
4. 새로운 맥락은 시스템 안에서 대응한다
사용하는 쪽이 컴포넌트를 조합하거나 변형하는 게 아니라, 디자인 시스템 안에서 새로운 컴포넌트로 대응한다. 확장은 가능하되 시스템이 정의한 방식 안에서만 허용된다.