# KBX Figma Handoff Contract

이 디렉터리는 Figma 파일 자체가 아니라 **코드와 디자인이 공유해야 할 기계 판독 가능한 계약**입니다.

## Variables

`variables.contract.json`

- `KBX Primitive`
- `KBX Semantic`
- `KBX Component`
- Density modes: `compact`, `comfortable`, `touch`

Token 이름은 `packages/kbx-ui/src/tokens/source/kbx.tokens.json`이 Source of Truth입니다.
Figma에서 이름을 별도로 바꾸지 않습니다.

## Components

`components.contract.json`

명명 규칙:

```text
KBX/{Category}/{Component}
```

예:

```text
KBX/Primitive/KbxInput
KBX/Business/KbxLookup
KBX/Template/KbxTransactionPage
KBX/WMS/KbxWmsMobilePage
```

`designRequired=true`인 34개 Core Component는 Design System v1.0의 1차 필수 범위입니다.
State/Variant는 Component Catalog에 정의된 상태를 기준으로 합니다.

## 중요한 경계

- 이 JSON에 없는 상태를 Figma에서 임의로 추가하지 않는다.
- Figma node id를 코드의 영구 식별자로 사용하지 않는다.
- PrimeVue/AG Grid 내부 Variant를 그대로 KBX Component Variant로 노출하지 않는다.
- 디자인 변경이 Public UX Contract를 바꾸면 Component Version과 release impact를 같이 검토한다.

실제 Figma Library와 연결할 때는 이 계약을 기준으로 Variable/Component 이름을 맞춘 뒤, Node ID 등 도구 종속 정보만 별도 mapping으로 관리합니다.
