본문으로 건너뛰기
GUIDE

잘못된 UI 상태를 렌더 전에 차단하기

GJ Kit는 런타임 경고보다 올바른 값만 표현할 수 있는 API를 우선합니다. 접근성 이름 누락, 동작 없는 액션, 잘못된 리터럴 값과 서로 양립할 수 없는 모드를 타입 검사에서 발견합니다.

생성기를 거친 브랜드 테마

Theme과 ThemePair는 createTheme과 createThemes의 반환값만 Provider와 Tailwind preset에 전달할 수 있습니다. 누락된 토큰을 가진 손조립 객체는 거부됩니다.

판별 유니언으로 모드 분리

ProgressBar의 determinate와 indeterminate, Accordion의 single과 multiple, ListItem의 정적 행과 버튼 행처럼 가능한 prop 조합을 별도 타입으로 표현합니다.
TypeScript
<ProgressBar accessibilityLabel="동기화" value={null} />
// value={null}과 max의 동시 지정은 타입 오류

오타와 레거시 의미 차단

Tabs와 RadioGroup은 NoInfer로 items 밖의 value를 막고 Text의 color는 닫힌 토큰 키만 받습니다. 제거된 unstyled와 의미가 달라진 TextField style은 never로 선언해 스프레드 이관 오류도 드러냅니다.
  • IconButton 접근성 이름 누락 차단
  • EmptyState action handler 누락 차단
  • Button label과 children 동시 부재 차단