{"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":["프로젝트 이름처럼 짧은 자유 입력에 사용합니다.","이메일·검색 등 목적에 맞는 type과 모바일 입력 환경을 선택합니다."],"avoid":["placeholder를 유일한 레이블로 사용하지 않습니다.","설명을 길게 입력받아야 한다면 한 줄 입력을 억지로 늘리지 말고 textarea를 사용합니다."],"accessibility":["visible label 또는 목적을 설명하는 접근 가능한 이름을 제공합니다.","오류는 색 이외의 문구로 전달하고 helper와 error의 id를 연결합니다.","브라우저 확대·모바일 실제 장치에서 입력 크기와 한글 fallback을 확인합니다."],"density":{"compact":"관리자 반복 입력에만 사용합니다. 도움말·오류와 실제 클릭 영역은 유지합니다.","normal":"기본 권장 밀도입니다. 읽기 순서와 레이블·컨트롤·피드백 그룹을 유지합니다.","relaxed":"처음 작성하는 폼·긴 안내에 권장합니다. 필드 그룹의 간격을 늘립니다."},"states":[{"name":"빈 값","condition":"초기 입력 전","response":"레이블은 남고 placeholder는 예시만 제공합니다."},{"name":"focus + 값 있음","condition":"편집 중","response":"focus 외곽선과 실제 값을 동시에 표시합니다."},{"name":"readonly","condition":"내용을 읽고 복사할 수 있음","response":"Tab과 텍스트 선택은 유지하며 수정만 막습니다."},{"name":"disabled","condition":"현재 사용할 수 없음","response":"편집·Tab 이동을 막고 폼 제출 값에서 제외됩니다."},{"name":"invalid + focus","condition":"값 검증에 실패한 채 편집 중","response":"오류 border·설명과 focus 표시를 함께 유지합니다."}],"recovery":{"loading":"진행 중임을 알리고 중복 요청을 차단합니다. 기존 데이터가 있으면 갱신 중에도 유지합니다.","empty":"초기 빈 입력은 오류로 표시하지 않습니다. 필수 조건은 제출 전에도 안내합니다.","filtered":"검색 결과가 없으면 데이터 없음과 구분하고 필터 초기화 행동을 제공합니다.","error":"입력값을 보존하고 오류 설명을 해당 필드와 연결합니다."},"tokenMapping":[{"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.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.border.default","purpose":"편집 가능한 컨트롤의 기본 경계","cssVariable":"--klic-component-input-border-default","cssProperty":"border-color","value":"#7e8fa7","chain":["klic.component.input.border.default","klic.semantic.color.control-border","klic.brand.color.control-border","klic.primitive.color.theme.klic.light.control-border"],"tailwind":"border-[var(--klic-component-input-border-default)]"}],"limitations":["현재 예제는 native input이며 검색 결과 조회나 자동완성 서버는 연결하지 않습니다. 입력 타이포는 viewport 48rem 경계에서 stepped 정책을 사용합니다."],"checklist":["레이블을 눌러 입력에 focus가 가는지 확인합니다.","readonly에서 값을 복사하고 disabled와 비교합니다.","긴 한글·영문 식별자와 실제 IME를 확인합니다."],"exports":{"design":"/design/component/input/DESIGN.md","contract":"/design/component/input/contract.json","types":"/design/klic-design.d.ts"},"prompt":"KLIC Input (component/input)을 사용해 화면을 구성하세요. 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나 실제 저장 기능을 만들어내지 마세요."}