디자인 토큰이란

예시

일반적으로 특정 컴포넌트에 스타일을 주려면 다음과 같이 [css attribute] : [css value]형식으로 스타일을 줌.

button {
  color: #ffffff;
  background: #1877f2;
  border-radius: 8px;
} 

하지만 특정 css value가 많이 쓰인다면? ⇒ 값을 변수화 시켜서 사용하면 일괄적으로 css를 관리할 수 있어 유지보수성이 향상됨

const tokens = {
  colorPrimary: "#1877f2",
  colorTextOnPrimary: "#ffffff",
  radiusMedium: "8px",
}
button {
  color: var(--color-text-on-primary);
  background: var(--color-primary);
  border-radius: var(--radius-medium);
}

디자인 시스템에서 디자인 토큰

출처: https://ant.design/docs/react/customize-theme

출처: https://ant.design/docs/react/customize-theme


Astryx는 어떻게 하고 있나

import {Theme} from '@astryxdesign/core/theme';
import {neutralTheme} from '@astryxdesign/theme-neutral/built';

export function Providers({children}: {children: React.ReactNode}) {
  return (
    <Theme theme={neutralTheme}>
      {...}
    </Theme>
  );
}