{"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":["시각적으로 옆에 있다는 이유로 배경을 계속 조작할 수 있다고 암시하지 않습니다.","관련 없는 긴 작업 흐름을 시트 안에 계속 쌓지 않습니다."],"accessibility":["시트에도 이름 있는 dialog 의미와 명확한 닫기 버튼이 필요합니다.","긴 본문에서 현재 focus와 저장·취소 경로가 가려지지 않게 확인합니다.","배경의 관찰 가능성과 상호작용 가능성을 구분하고 모달 계약을 일관되게 유지합니다."],"density":{"compact":"반복 목록에서만 여백을 줄이고 주요 행동 간격은 유지합니다.","normal":"기본 권장 밀도입니다. 읽기 순서와 레이블·컨트롤·피드백 그룹을 유지합니다.","relaxed":"설명 중심·프레젠테이션 화면에 사용합니다. 정보 계층을 유지하며 여백을 늘립니다."},"states":[{"name":"closed","condition":"설정 열기 전","response":"기존 프로젝트 화면과 trigger를 유지합니다."},{"name":"open","condition":"설정 trigger 실행","response":"모달로 열고 배경을 비활성화합니다."},{"name":"편집 중","condition":"이름·비공개 값 변경","response":"현재 필드 상태를 유지하며 저장 전까지 로컬 저장값은 바꾸지 않습니다."},{"name":"invalid","condition":"이름이 비어 있는 채 제출","response":"시트는 열린 채로 필수 오류를 안내합니다."},{"name":"저장·취소","condition":"완료 또는 닫기","response":"저장은 localStorage에 기록하고 닫습니다. 취소는 저장하지 않고 trigger로 복귀합니다."}],"recovery":{"loading":"진행 중임을 알리고 중복 요청을 차단합니다. 기존 데이터가 있으면 갱신 중에도 유지합니다.","empty":"처음부터 데이터가 없는 상태에는 생성·연결 행동을 제공합니다.","filtered":"검색 결과가 없으면 데이터 없음과 구분하고 필터 초기화 행동을 제공합니다.","error":"마지막 정상 데이터를 보존하고 실패 영역에 재시도를 제공합니다."},"tokenMapping":[{"path":"klic.component.card.background.default","purpose":"콘텐츠를 담는 패널 표면","cssVariable":"--klic-component-card-background-default","cssProperty":"background-color","value":"#ffffff","chain":["klic.component.card.background.default","klic.semantic.color.panel","klic.brand.color.panel","klic.primitive.color.theme.klic.light.panel"],"tailwind":"bg-[var(--klic-component-card-background-default)]"},{"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.semantic.space.container.default","purpose":"독립적인 컨테이너 간격","cssVariable":"--klic-semantic-space-container-default","cssProperty":"gap","value":"1rem","chain":["klic.semantic.space.container.default","klic.brand.spacing.md","klic.primitive.dimension.step.4"],"tailwind":"gap-[var(--klic-semantic-space-container-default)]"}],"limitations":["현재 시트는 별도 라이브러리가 아닌 native dialog에 sheet 클래스를 적용한 모달입니다. 이름·비공개 값은 로컬 저장하며 서버 반영·중첩 시트는 없습니다."],"checklist":["여러 설정을 변경한 뒤 취소와 저장을 비교합니다.","긴 본문에서 키보드로 마지막 행동에 접근합니다.","시트를 연 채 테마·창 크기를 바꿉니다."],"exports":{"design":"/design/component/sheet/DESIGN.md","contract":"/design/component/sheet/contract.json","types":"/design/klic-design.d.ts"},"prompt":"KLIC Sheet (component/sheet)을 사용해 화면을 구성하세요. 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나 실제 저장 기능을 만들어내지 마세요."}