{"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":["이메일 알림처럼 설정 대상이 분명한 2상태 옵션에 사용합니다.","즉시 반영인지 저장 후 반영인지 주변 문구와 화면 구조로 알려줍니다."],"avoid":["한 번 실행하고 끝나는 작업이나 이동에 사용하지 않습니다.","켜짐을 뜻하는 레이블을 꺼짐 상태에서 반대 문구로 바꿔 대상 자체가 달라 보이게 하지 않습니다."],"accessibility":["role만 있는 div 대신 native input을 유지합니다.","설정 이름과 변경 영향이 있는 도움말을 제공합니다.","checked와 별도의 aria-checked 값을 수동 관리해 상태가 어긋나게 하지 않습니다."],"density":{"compact":"관리자 반복 입력에만 사용합니다. 도움말·오류와 실제 클릭 영역은 유지합니다.","normal":"기본 권장 밀도입니다. 읽기 순서와 레이블·컨트롤·피드백 그룹을 유지합니다.","relaxed":"처음 작성하는 폼·긴 안내에 권장합니다. 필드 그룹의 간격을 늘립니다."},"states":[{"name":"off","condition":"checked=false","response":"꺼짐 상태이며 Space로 켤 수 있습니다."},{"name":"on","condition":"checked=true","response":"켜짐 상태를 위치와 native 상태로 제공합니다."},{"name":"disabled + on","condition":"정책상 항상 켜짐","response":"현재 상태를 유지하고 조작은 차단합니다."},{"name":"focus + on/off","condition":"키보드로 진입","response":"트랙 상태와 focus 표시를 함께 유지합니다."},{"name":"저장 대기 · 시트","condition":"비공개 설정을 바꾼 뒤 저장 전","response":"시트의 제출 시점에 로컬 설정으로 기록합니다. 서버 동기화는 없습니다."}],"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.semantic.color.accent","purpose":"행동·선택·진행을 전달하는 블루","cssVariable":"--klic-semantic-color-accent","cssProperty":"color","value":"#245fc2","chain":["klic.semantic.color.accent","klic.brand.color.accent","klic.primitive.color.palette.klic.accent"],"tailwind":"text-[var(--klic-semantic-color-accent)]"},{"path":"klic.semantic.color.control-border","purpose":"꺼진 스위치의 경계","cssVariable":"--klic-semantic-color-control-border","cssProperty":"border-color","value":"#7e8fa7","chain":["klic.semantic.color.control-border","klic.brand.color.control-border","klic.primitive.color.theme.klic.light.control-border"],"tailwind":"border-[var(--klic-semantic-color-control-border)]"}],"limitations":["현재 switch는 input type=\"checkbox\"에 role=\"switch\"를 부여합니다. 기본 미리보기는 메모리 상태이며, 시트의 비공개 설정은 저장 버튼을 누를 때 localStorage에 기록됩니다."],"checklist":["Space 조작과 label 클릭의 결과가 일치하는지 확인합니다.","시트에서 저장 전·후 재열기 값을 확인합니다.","켜짐·꺼짐·disabled를 Dark에서도 구분합니다."],"exports":{"design":"/design/component/switch/DESIGN.md","contract":"/design/component/switch/contract.json","types":"/design/klic-design.d.ts"},"prompt":"KLIC Switch (component/switch)을 사용해 화면을 구성하세요. 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나 실제 저장 기능을 만들어내지 마세요."}