{"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":["프로젝트 옵션처럼 현재 항목에 가까운 짧은 행동 묶음에 사용합니다.","짧은 도움말은 trigger와 관계가 분명한 위치에 둡니다."],"avoid":["필수 입력이나 중요한 확인을 사라지기 쉬운 작은 팝오버에 넣지 않습니다.","일반 버튼 목록에 role=menu만 붙이고 메뉴 키보드 모델을 제공했다고 선언하지 않습니다."],"accessibility":["trigger의 접근 가능한 이름과 aria-controls를 유지합니다.","실제 열림 상태가 바뀔 때 aria-expanded도 함께 갱신합니다.","현재 일반 버튼 목록에는 menu/menuitem 역할을 추가하지 않습니다."],"density":{"compact":"반복 목록에서만 여백을 줄이고 주요 행동 간격은 유지합니다.","normal":"기본 권장 밀도입니다. 읽기 순서와 레이블·컨트롤·피드백 그룹을 유지합니다.","relaxed":"설명 중심·프레젠테이션 화면에 사용합니다. 정보 계층을 유지하며 여백을 늘립니다."},"states":[{"name":"closed","condition":"열기 전","response":"trigger의 aria-expanded=false입니다."},{"name":"open","condition":"trigger 실행","response":"native top layer에 열고 첫 항목으로 focus합니다."},{"name":"화면 경계 충돌","condition":"아래·옆 공간이 부족함","response":"현재 열기 시점의 크기를 읽어 위쪽 또는 화면 안쪽으로 배치합니다."},{"name":"행동 선택","condition":"내부 버튼 실행","response":"닫은 뒤 결과를 알리거나 클립보드 복사를 실행합니다."},{"name":"Escape·외부 클릭","condition":"사용자가 닫음","response":"auto popover가 닫히며 조건에 따라 trigger focus를 복원합니다."}],"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.semantic.color.surface-selected","purpose":"옵션 강조 표면","cssVariable":"--klic-semantic-color-surface-selected","cssProperty":"background-color","value":"#eaf0fb","chain":["klic.semantic.color.surface-selected","klic.brand.color.surface-selected","klic.primitive.color.theme.klic.light.selected"],"tailwind":"bg-[var(--klic-semantic-color-surface-selected)]"},{"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)]"}],"limitations":["현재 예제는 native popover=\"auto\"와 일반 button 목록입니다. app.js가 첫 항목 focus·화면 경계 배치·닫힌 뒤 focus를 처리합니다. role=menu나 메뉴 전용 방향키 모델은 사용하지 않습니다."],"checklist":["화면 네 모서리 가까이에서 열어봅니다.","Tab·Shift+Tab·Escape만으로 조작합니다.","외부 클릭과 링크 복사 후 focus를 확인합니다."],"exports":{"design":"/design/component/popover/DESIGN.md","contract":"/design/component/popover/contract.json","types":"/design/klic-design.d.ts"},"prompt":"KLIC Popover (component/popover)을 사용해 화면을 구성하세요. 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나 실제 저장 기능을 만들어내지 마세요."}