Skip to content

마이그레이션 0.2.0 → 0.2.1

0.2.1 은 이름 변경 0건이다. 제거된 이름은 전부 css/deprecated.css 에 새 이름을 가리키는 별칭으로 남아 있어 코드를 고치지 않아도 값은 같다. 별칭은 다음 minor 에서 삭제하므로 그 전에 새 이름으로 옮긴다.

dist/tokens.cssindex.css 에는 별칭이 포함된다. 소스를 카테고리별로 import 하는 경우에만 @newtil/design-tokens/deprecated.css 를 따로 가져와야 별칭이 붙는다.

별칭 표 (옛 이름 → 새 이름)

표면 위 글자

on- 은 유채색 역할 위 글자에만 쓴다. 표면 위 글자는 text. 라이트·다크 모두 같은 값이었다.

옛 이름새 이름
--color-on-surface--color-text
--color-on-surface-inverse--color-text-inverse

크기 → 간격

--size-N--space-N 은 같은 primitive(--_scale-N)를 가리켰다.

옛 이름새 이름
--size-0--size-14--space-0--space-14 (같은 번호)

분수·뷰포트·키워드 → CSS 값

설계 결정이 없는 CSS 값이라 토큰에서 뺐다. 별칭의 값이 곧 대체 리터럴이다. 유틸 클래스는 @newtil/css 생성기가 리터럴로 만든다.

옛 이름대체 값
--size-1-250%
--size-1-333.333333%
--size-2-366.666667%
--size-1-425%
--size-3-475%
--size-1-520%
--size-2-540%
--size-3-560%
--size-4-580%
--size-1-616.666667%
--size-5-683.333333%
--size-1-128.333333%
--size-5-1241.666667%
--size-7-1258.333333%
--size-11-1291.666667%
--size-screen-w-2525vw
--size-screen-w-5050vw
--size-screen-w-7575vw
--size-screen-w100vw
--size-screen-h-2525vh
--size-screen-h-5050vh
--size-screen-h-7575vh
--size-screen-h100vh
--size-full100%
--size-half50%
--size-autoauto

글꼴 크기 티셔츠명 → 역할명

같은 값의 두 번째 이름이었다. 역할명 한 벌만 남긴다.

옛 이름새 이름
--font-size-xs--font-size-caption12px
--font-size-sm--font-size-body-sm14px
--font-size-md--font-size-body16px
--font-size-lg--font-size-body-lg18px
--font-size-xl--font-size-heading-sm20px
--font-size-2xl--font-size-heading-md24px
--font-size-3xl--font-size-heading-lg32px
--font-size-4xl--font-size-display48px

CSS 값

옛 이름대체 값
--shadow-nonenone
--opacity-250.25 (램프는 10 단위 — --opacity-20 / --opacity-30)
--opacity-750.75 (--opacity-70 / --opacity-80)

값이 바뀐 토큰 3개

이름은 그대로지만 렌더링 결과가 달라진다. WCAG 대비 미달을 고친 것이다.

토큰테마0.2.00.2.1대비
--color-on-primary라이트흰색--_hue-gray-9502.29 → 8.5
--color-on-success라이트흰색--_hue-gray-9502.54 → 7.8
--color-text-subtle라이트--_hue-gray-400--_hue-gray-5002.52 → 4.75
--color-text-subtle다크--_hue-gray-600--_hue-gray-5002.53 → 4.17

primary·success 버튼 위 글자가 흰색에서 검정으로 바뀐다. 흰 글자를 유지하려면 semantic 직접 변경으로 되돌리되 대비를 확인한다.

추가된 토큰 19개

토큰
표면 상태--color-surface-hover, --color-surface-active, --color-surface-disabled
글자--color-text-disabled
링크--color-link, --color-link-hover
코드 상자--color-code-bg, --color-code-fg, --color-code-border
가림막--color-scrim
Info--color-info, --color-info-hover, --color-info-active, --color-info-subtle, --color-on-info (새 primitive 램프 --_hue-sky-*)
글꼴--font-size-heading-xl (40px), --font-family-sans, --font-family-mono
--z-fixed (250 — sticky 위, overlay 아래)

구조 변경 (소비자 영향)

  • 다크 값이 소스에 한 벌만 남았다. 소스를 직접 import 하면 data-theme="dark" 수동 강제가 동작하지 않는다. dist/tokens.css(기본 export)를 쓴다. 다크모드 참고.
  • 두 테마 모두 color-scheme 을 선언한다. 네이티브 폼·스크롤바 색이 바뀔 수 있다.
  • primitive --_font-scale-8 이 48px 에서 40px 로 바뀌고 48px 는 --_font-scale-9 가 됐다. primitive 를 직접 참조하던 코드만 영향받는다.
  • primitive 에 --_hue-white 가 생겼다. semantic 의 #ffffff 는 전부 이것을 참조한다.

전체 변경 기록은 저장소의 CHANGELOG.md.