themeOverrideStyle
themeOverrideStyle(overrides, overrideTypes)는 ThemeProvider가 overrides로 설정하는 공개 --todae-* 커스텀 속성을 스타일 객체로 반환합니다. ThemeProvider의 overrides, overrideTypes prop과 같은 인자를 받고 같은 방식으로 검사합니다. 알 수 없는 키나 타입이 맞지 않는 값은 개발 환경에서 오류를 던지고, 프로덕션에서는 빠집니다.
이 페이지의 내용
themeOverrideStyle({ 'color.fg.default': { colorSpace: 'oklch', components: [0.2, 0, 0] } });
// { '--todae-color-fg-default': 'oklch(0.2 0 0)' }
여기 있는 나머지 헬퍼는 키나 값 하나를 다루며, 테마 편집기처럼 오버라이드를 텍스트로 편집하는 도구를 위한 것입니다.
themeOverrideType(key)는 Todae 오버라이드 키의$type(예:color,dimension)을 반환합니다.parseThemeValue(key, text)는 텍스트를1.5rem,200ms처럼 키의 타입에 맞는 값으로 읽고, 읽지 못하는 텍스트에는 차원 키의16px처럼null을 반환합니다.parseThemeColor(text)는#3366cc나oklch(0.5 0.1 30)같은 색상을 읽습니다.themeValueCss(key, value)와themeColorCss(value)는 값을 CSS로 씁니다.cssVarName(path)는 토큰 경로의 커스텀 속성을 반환합니다. 예를 들어color.fg.default는--todae-color-fg-default입니다.
언제 쓰나요
언제: 테마 편집기처럼 테마 오버라이드를 만들거나 편집하고, 그 값을 읽거나 검사하거나 CSS로 보여 주는 도구.
쓰지 않을 때: 페이지 일부의 오버라이드 → ThemeProvider의 overrides. 빌드할 때 아는 값 → 회사 토큰 패키지.
Props
| 이름 | 타입 | 설명 |
|---|---|---|
overrides 필수 | ThemeOverride | ThemeProvider가 받는 것과 같은 토큰 경로와 타입이 있는 값. null이나 undefined면 {}입니다. |
overrideTypes | ThemeOverrideTypes | ThemeProvider가 받는 것과 같은, 회사 자체 토큰 경로의 타입. |
| 이름 | 타입 | 설명 |
|---|---|---|
key 필수 | ThemeOverrideKey | THEME_OVERRIDE_KEYS의 키. |
| 이름 | 타입 | 설명 |
|---|---|---|
key 필수 | ThemeOverrideKey | THEME_OVERRIDE_KEYS의 키. 이 키의 타입에 따라 텍스트를 읽는 방식이 정해집니다. |
text 필수 | string | 읽을 텍스트. 앞뒤 공백은 무시합니다. |
| 이름 | 타입 | 설명 |
|---|---|---|
text 필수 | string | 읽을 텍스트. 앞뒤 공백은 무시합니다. |
| 이름 | 타입 | 설명 |
|---|---|---|
key 필수 | ThemeOverrideKey | THEME_OVERRIDE_KEYS의 키. |
value 필수 | ThemeOverrideValue | 키의 타입에 맞는 값. |
| 이름 | 타입 | 설명 |
|---|---|---|
value 필수 | ThemeColorValue | parseThemeColor가 반환하는 것 같은 oklch 색상. |
| 이름 | 타입 | 설명 |
|---|---|---|
path 필수 | string | 점으로 구분한 토큰 경로. 토큰 목록과 대조하지 않습니다. |