{"delivery":{"type":"reference-library","npmPackagePublished":false,"npmPackage":{"name":"klic-design","version":"0.0.4","published":false,"status":"source-ready","registry":"https://registry.npmjs.org/","runtime":"Bun 1.4.2 preferred; Node.js 22+ supported","exports":["tokens","theme","motion","motions/runtime","motions/runtime.css","components","blocks","Agent Skill","CSS","TypeScript","CLI"],"publishedExports":["tokens","theme","motion","motions/runtime","motions/runtime.css","components","blocks","Agent Skill","CSS","TypeScript","CLI"],"candidateExports":["tokens","theme","motion","motions/runtime","motions/runtime.css","components","blocks","Agent Skill","CSS","TypeScript","CLI"],"candidateOnlyExports":[],"publicationExportsVerified":true,"skillPath":"skills/klic-design/SKILL.md","buildCommand":"bun run pack:npm","publishedVersion":"0.0.3","publishedIntegrity":"sha512-GJJOOXh5UXxSSURZLxXLU5qq968O+p91TeTkNtqo527mzj9BOtoOH4nyMfNWZwrQwJ4o+zhy9i+cnlX71nPeKA==","installCommand":"bun add klic-design@0.0.3","cliCommand":"bunx --bun --package=klic-design@0.0.3 klic","nodeCliCommand":"npx --yes --package=klic-design@0.0.3 klic","sourceCLICommand":"curl --fail --location --output klic.mjs https://design.klic.co.kr/integrations/klic.mjs\nbun ./klic.mjs","sourceNodeCLICommand":"curl --fail --location --output klic.mjs https://design.klic.co.kr/integrations/klic.mjs\nnode ./klic.mjs"},"scope":"/about","licenses":"/licenses/README.md"},"system":{"schemaVersion":"1.0","revision":"6f9c8f5e4d7c767f79a7db999670fb4d0936e07acb1b472fe162a7a9ade60c97","definition":"/api/v1/design-system.json","docs":"/#docs/architecture"},"schemaVersion":"1.0","scope":"adoption-guidance","implementation":"native-html","use":["필수 조건·검증 결과·예시를 입력과 함께 설명해야 할 때 사용합니다.","제출 실패 후 입력값과 사용자 위치를 유지합니다."],"avoid":["오류를 잠깐 나타났다 사라지는 toast에만 담지 않습니다.","사용자가 아직 입력 중인 값을 매 키 입력마다 완료 검증으로 확정하지 않습니다."],"accessibility":["필수 조건은 required로 전달하고 장식 별표만으로 설명하지 않습니다.","aria-invalid와 오류 문장, aria-describedby가 같은 상태를 가리키게 합니다.","오류를 지우려고 값·focus·사용자가 작성한 내용을 초기화하지 않습니다."],"density":{"compact":"관리자 반복 입력에만 사용합니다. 도움말·오류와 실제 클릭 영역은 유지합니다.","normal":"기본 권장 밀도입니다. 읽기 순서와 레이블·컨트롤·피드백 그룹을 유지합니다.","relaxed":"처음 작성하는 폼·긴 안내에 권장합니다. 필드 그룹의 간격을 늘립니다."},"states":[{"name":"기본","condition":"검증 전 또는 정상값","response":"레이블과 필요한 도움말을 표시합니다."},{"name":"invalid","condition":"예제의 초기 hello@klic 값","response":"aria-invalid=true와 구체적인 오류 문장을 제공합니다."},{"name":"invalid + focus","condition":"오류를 수정 중","response":"오류 border와 focus 외곽선을 함께 유지합니다."},{"name":"valid","condition":"형식 검사 통과","response":"aria-invalid=false와 통과 문구를 제공합니다."},{"name":"조합 입력 중","condition":"한글 IME Enter","response":"조합 확정을 제출로 처리하지 않도록 구분합니다. 실제 IME는 별도 시험합니다."}],"recovery":{"loading":"진행 중임을 알리고 중복 요청을 차단합니다. 기존 데이터가 있으면 갱신 중에도 유지합니다.","empty":"초기 빈 입력은 오류로 표시하지 않습니다. 필수 조건은 제출 전에도 안내합니다.","filtered":"검색 결과가 없으면 데이터 없음과 구분하고 필터 초기화 행동을 제공합니다.","error":"입력값을 보존하고 오류 설명을 해당 필드와 연결합니다."},"tokenMapping":[{"path":"klic.component.field.spacing.internal","purpose":"레이블·입력·도움말 사이의 내부 간격","cssVariable":"--klic-component-field-spacing-internal","cssProperty":"gap","value":"0.5rem","chain":["klic.component.field.spacing.internal","klic.semantic.space.field.internal","klic.brand.spacing.sm","klic.primitive.dimension.step.2"],"tailwind":"gap-[var(--klic-component-field-spacing-internal)]"},{"path":"klic.component.input.size.default.height","purpose":"입력 컨트롤의 최소 높이","cssVariable":"--klic-component-input-size-default-height","cssProperty":"min-height","value":"2rem","chain":["klic.component.input.size.default.height","klic.semantic.size.input.default","klic.brand.dimension.control.height.md","klic.primitive.dimension.step.8"],"tailwind":"min-h-[var(--klic-component-input-size-default-height)]"},{"path":"klic.semantic.color.danger","purpose":"오류 문구와 경계","cssVariable":"--klic-semantic-color-danger","cssProperty":"color","value":"#b13c43","chain":["klic.semantic.color.danger","klic.brand.color.danger","klic.primitive.color.danger-700"],"tailwind":"text-[var(--klic-semantic-color-danger)]"},{"path":"klic.semantic.color.focus","purpose":"오류와 공존하는 focus 표시","cssVariable":"--klic-semantic-color-focus","cssProperty":"color","value":"#245fc2","chain":["klic.semantic.color.focus","klic.brand.color.focus","klic.primitive.color.palette.klic.accent"],"tailwind":"text-[var(--klic-semantic-color-focus)]"}],"limitations":["현재 field-demo는 native email input과 직접 연결된 오류 문장을 사용합니다. 제출 시 단순한 이메일 형식을 검사하며 실제 메일 발송·서버 검증은 없습니다."],"checklist":["잘못된 값→focus→수정→재제출을 이어서 확인합니다.","도움말과 오류의 연결된 읽기를 확인합니다.","실제 한국어 IME에서 Enter를 누릅니다."],"exports":{"design":"/design/component/field/DESIGN.md","contract":"/design/component/field/contract.json","types":"/design/klic-design.d.ts"},"prompt":"KLIC Field (component/field)을 사용해 화면을 구성하세요. KLIC은 7개 디자인 디멘션과 4계층 토큰을 공통 기반으로 씁니다. 적용 기준은 다릅니다. 컴포넌트는 개별 조작 요소, 블록은 업무 흐름, 모션은 시간에 따른 전환을 다룹니다. 공개 npm: klic-design@0.0.3. 소스 후보 klic-design@0.0.4는 미발행이며 klic-design@0.0.3가 현재 발행본입니다. 먼저 https://design.klic.co.kr/api/v1/design-system.json의 공통 기준(revision 6f9c8f5e4d7c767f79a7db999670fb4d0936e07acb1b472fe162a7a9ade60c97), DESIGN.md와 실제 소스를 읽고, 구현 책임·프리셋 허용 범위·충돌 해결 순서를 적용하세요. 사용 원칙·금지 사항·접근성·밀도·빈 상태·오류 처리를 준수하세요. 토큰은 klic. 4계층 참조를 보존하고 없는 API나 실제 저장 기능을 만들어내지 마세요."}