{"_id":"@keepkit/ui","_rev":"36-d98a2b106e86c18df566d1d6c874bb12","name":"@keepkit/ui","dist-tags":{"latest":"0.28.4"},"versions":{"0.3.0":{"name":"@keepkit/ui","version":"0.3.0","license":"MIT","_id":"@keepkit/ui@0.3.0","maintainers":[{"name":"nittaa","email":"nittaa@hotmail.co.jp"}],"dist":{"shasum":"33494a9f160495ba7cc5234406cf75c8685c064d","tarball":"https://registry.npmjs.org/@keepkit/ui/-/ui-0.3.0.tgz","fileCount":6,"integrity":"sha512-PUKZdZJBemEKiJeKLmcDYgDsxx7q1D3toL1scCUnjdPhG5jPUv6mx7de8/j5utywdd+Yjopim5Gj2M10Y/EMOQ==","signatures":[{"sig":"MEUCIQC7PAN7KM7xTj6/8JjxruYkjn5F364p7uMGviRYnvVGcAIgX+nZkHyVWG2zAGRQOzykujkfMvkdFYtbjjkfyiVQxOI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@keepkit%2fui@0.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":53658},"type":"module","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./react":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsup --watch","lint":"tsc --noEmit","test":"node --experimental-strip-types --test test/*.test.ts","build":"tsup","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"nittaa","email":"nittaa@hotmail.co.jp"},"repository":{"url":"https://github.com/nitta-a/keepkit.git","type":"git","directory":"packages/keepkit-ui"},"description":"Headless, accessible React UI components for KeepKit.","directories":{},"sideEffects":false,"_nodeVersion":"26.0.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","react":"^19.2.8","typescript":"^6.0.3","@types/react":"^19.2.18","@keepkit/core":"0.3.0"},"peerDependencies":{"react":">=18","@keepkit/core":">=0.2.0"},"_npmOperationalInternal":{"tmp":"tmp/ui_0.3.0_1788128007460_0.5249403223921845","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@keepkit/ui","version":"0.4.0","license":"MIT","_id":"@keepkit/ui@0.4.0","maintainers":[{"name":"nittaa","email":"nittaa@hotmail.co.jp"}],"dist":{"shasum":"3cf7fad3848a4bb4211287bf0536077887d643df","tarball":"https://registry.npmjs.org/@keepkit/ui/-/ui-0.4.0.tgz","fileCount":6,"integrity":"sha512-cugoKrMf4aZawG8EO1t/Qttkj1zJSQlTuRCo6BNg3NSJ2IRJ3atxxMnrbUny8nObUbZWBrguEed8dJDcPnJ8dw==","signatures":[{"sig":"MEUCIQCQ1OOlTNVDBwopS8nYa2aJjjX8c7Heun1VWDB066esIwIgNo/1V3xhvfqJys4jdOv4DXYm7RFjCiGWidcPkec58Bg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@keepkit%2fui@0.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":100753},"type":"module","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./react":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsup --watch","lint":"tsc --noEmit","test":"node --experimental-strip-types --test test/*.test.ts","build":"tsup","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"nittaa","email":"nittaa@hotmail.co.jp"},"repository":{"url":"https://github.com/nitta-a/keepkit.git","type":"git","directory":"packages/keepkit-ui"},"description":"Headless, accessible React UI components for KeepKit.","directories":{},"sideEffects":false,"_nodeVersion":"26.0.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","react":"^19.2.8","typescript":"^6.0.3","@types/react":"^19.2.18","@keepkit/core":"0.4.0"},"peerDependencies":{"react":">=18","@keepkit/core":">=0.4.0"},"_npmOperationalInternal":{"tmp":"tmp/ui_0.4.0_1788130168159_0.43373806873021836","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@keepkit/ui","version":"0.5.0","license":"MIT","_id":"@keepkit/ui@0.5.0","maintainers":[{"name":"nittaa","email":"nittaa@hotmail.co.jp"}],"dist":{"shasum":"3ef8540d54d4f4f1ff94e30db23049c8aed8a3c8","tarball":"https://registry.npmjs.org/@keepkit/ui/-/ui-0.5.0.tgz","fileCount":6,"integrity":"sha512-10y3MN8jM+a9bsop5MaLBirOJcWfDj4yMm6dh9OS+a3syGi0WazabKaE1inm/QDKexSe/KA/K18NBioM2xGKPg==","signatures":[{"sig":"MEUCICewUhppN55wZd9T5gCUJtHJh8CkQVCgXv9qilgyV84bAiEAnWUJn6L6gA6HIi8TKAZNhMxFc9kL9fScePnHUubqEMc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@keepkit%2fui@0.5.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":115952},"type":"module","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./react":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsup --watch","lint":"tsc --noEmit","test":"node --experimental-strip-types --test test/*.test.ts","build":"tsup","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"nittaa","email":"nittaa@hotmail.co.jp"},"repository":{"url":"https://github.com/nitta-a/keepkit.git","type":"git","directory":"packages/keepkit-ui"},"description":"Headless, accessible React UI components for KeepKit.","directories":{},"sideEffects":false,"_nodeVersion":"26.0.0","dependencies":{"@keepkit/core":"0.5.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","react":"^19.2.8","typescript":"^6.0.3","@types/react":"^19.2.18"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/ui_0.5.0_1788132897633_0.9449996068865778","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"@keepkit/ui","version":"0.6.0","license":"MIT","_id":"@keepkit/ui@0.6.0","maintainers":[{"name":"nittaa","email":"nittaa@hotmail.co.jp"}],"dist":{"shasum":"bddc798ea07dd802f10e2aa9d18453334a958e89","tarball":"https://registry.npmjs.org/@keepkit/ui/-/ui-0.6.0.tgz","fileCount":6,"integrity":"sha512-hIfsC0ckAmMlks75sSBtotoTj23a1eJn09XY5iRQ41jwZZe7C3IX3m/lSFnuJQ0QWNpaHrjV5z21baA0y9MceA==","signatures":[{"sig":"MEUCIGbNTkHH+uwCMe9eCFfjDZpt5190i8EWUeki22Lz+cM1AiEAzZJdmbWtR5wU33FAeA54fUqRxVqQtgLrmO8jExLmVDk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@keepkit%2fui@0.6.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":129556},"type":"module","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./react":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsup --watch","lint":"tsc --noEmit","test":"node --experimental-strip-types --test test/*.test.ts","build":"tsup","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"nittaa","email":"nittaa@hotmail.co.jp"},"repository":{"url":"https://github.com/nitta-a/keepkit.git","type":"git","directory":"packages/keepkit-ui"},"description":"Headless, accessible React UI components for KeepKit.","directories":{},"sideEffects":false,"_nodeVersion":"26.0.0","dependencies":{"@keepkit/core":"0.6.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","react":"^19.2.8","typescript":"^6.0.3","@types/react":"^19.2.18"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/ui_0.6.0_1788133887917_0.8524476668803536","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"name":"@keepkit/ui","version":"0.7.0","license":"MIT","_id":"@keepkit/ui@0.7.0","maintainers":[{"name":"nittaa","email":"nittaa@hotmail.co.jp"}],"dist":{"shasum":"7d9a6ca79c181491bbf75c2e4cb48844198feec2","tarball":"https://registry.npmjs.org/@keepkit/ui/-/ui-0.7.0.tgz","fileCount":6,"integrity":"sha512-OCqOTCx9PXqXShSySkFQkOGSxDuSJaPbBuuLYAyN9Pw9lyDPF+HvYh5INuEc/hstRI5YxZtnHI12iw+nPGvusQ==","signatures":[{"sig":"MEQCIFV1OAtQuWv05BxtiuF4LGbGLoIp801nl0RcH3jdw1VcAiBdvr4VXE+PVCNuJjOXGny8YgUq6Gw1yOqI1YuIZFJuaA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@keepkit%2fui@0.7.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":140566},"type":"module","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./react":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsup --watch","lint":"tsc --noEmit","test":"node --experimental-strip-types --test test/index.test.ts && vitest run","build":"tsup","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"nittaa","email":"nittaa@hotmail.co.jp"},"repository":{"url":"https://github.com/nitta-a/keepkit.git","type":"git","directory":"packages/keepkit-ui"},"description":"Headless, accessible React UI components for KeepKit.","directories":{},"sideEffects":false,"_nodeVersion":"26.0.0","dependencies":{"@keepkit/core":"0.7.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^8.2.2","jsdom":"^30.0.1","react":"^19.2.8","vitest":"^4.1.11","react-dom":"^19.2.8","typescript":"^6.0.3","@types/react":"^19.2.18","@types/react-dom":"^19.2.5","@testing-library/react":"^16.3.3"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/ui_0.7.0_1788136409236_0.8271099313081325","host":"s3://npm-registry-packages-npm-production"}},"0.8.0":{"name":"@keepkit/ui","version":"0.8.0","license":"MIT","_id":"@keepkit/ui@0.8.0","maintainers":[{"name":"nittaa","email":"nittaa@hotmail.co.jp"}],"dist":{"shasum":"122372d39c337131c5844338333004ec36aa4ee8","tarball":"https://registry.npmjs.org/@keepkit/ui/-/ui-0.8.0.tgz","fileCount":6,"integrity":"sha512-Q/KeRCXoD8GlZndUuDkB/V5lySAS6QOVlhKJSDnk69ZbWDjfwTwe/fupS676dAnRHR51F+lP9X7IamqMBz998A==","signatures":[{"sig":"MEUCIGFOuWB8nZmD66ISpVCSAw5cXPiyVLCMvWg1+MUG4tDSAiEAjJ1nN0R29StYmVitRY7lAIVRpp278RP3hasxLDjsUQo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@keepkit%2fui@0.8.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":143448},"type":"module","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./react":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsup --watch","lint":"tsc --noEmit","test":"node --experimental-strip-types --test test/index.test.ts && vitest run","build":"tsup","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"nittaa","email":"nittaa@hotmail.co.jp"},"repository":{"url":"https://github.com/nitta-a/keepkit.git","type":"git","directory":"packages/keepkit-ui"},"description":"Headless, accessible React UI components for KeepKit.","directories":{},"sideEffects":false,"_nodeVersion":"26.0.0","dependencies":{"@keepkit/core":"0.8.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^8.2.2","jsdom":"^30.0.1","react":"^19.2.8","vitest":"^4.1.11","react-dom":"^19.2.8","typescript":"^6.0.3","@types/react":"^19.2.18","@types/react-dom":"^19.2.5","@testing-library/react":"^16.3.3"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/ui_0.8.0_1788140183964_0.21235528487615585","host":"s3://npm-registry-packages-npm-production"}},"0.9.0":{"name":"@keepkit/ui","version":"0.9.0","license":"MIT","_id":"@keepkit/ui@0.9.0","maintainers":[{"name":"nittaa","email":"nittaa@hotmail.co.jp"}],"dist":{"shasum":"afbce48103d23c0784117d3aed329a6b84a0c6ef","tarball":"https://registry.npmjs.org/@keepkit/ui/-/ui-0.9.0.tgz","fileCount":6,"integrity":"sha512-EAQEdUTRHqkbA4NcBm/PcSlG5uV5otuTT0cOIdyCPL7RXw7AlvSVfROxqOxjy5D6f5vn6jsk0JrP5W6mUBtlnQ==","signatures":[{"sig":"MEUCIAKNh2ioU9VVtDgLfMKU1ztc0aqdIzLtAzTGfxc4RFUlAiEAhg5H/D9K3XMuQMXU+J2utei/fgEGtwBe9xAOUEids8Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@keepkit%2fui@0.9.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":154087},"type":"module","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./react":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsup --watch","lint":"tsc --noEmit","test":"node --experimental-strip-types --test test/index.test.ts && vitest run","build":"tsup","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"nittaa","email":"nittaa@hotmail.co.jp"},"repository":{"url":"https://github.com/nitta-a/keepkit.git","type":"git","directory":"packages/keepkit-ui"},"description":"Headless, accessible React UI components for KeepKit.","directories":{},"sideEffects":false,"_nodeVersion":"26.0.0","dependencies":{"@keepkit/core":"0.9.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^8.2.2","jsdom":"^30.0.1","react":"^19.2.8","vitest":"^4.1.11","react-dom":"^19.2.8","typescript":"^6.0.3","@types/react":"^19.2.18","@types/react-dom":"^19.2.5","@testing-library/react":"^16.3.3"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/ui_0.9.0_1788144495676_0.4215707171913794","host":"s3://npm-registry-packages-npm-production"}},"0.10.0":{"name":"@keepkit/ui","version":"0.10.0","license":"MIT","_id":"@keepkit/ui@0.10.0","maintainers":[{"name":"nittaa","email":"nittaa@hotmail.co.jp"}],"dist":{"shasum":"82f60e858737ca5ab0ecfc978fd2f70cfb3966d6","tarball":"https://registry.npmjs.org/@keepkit/ui/-/ui-0.10.0.tgz","fileCount":6,"integrity":"sha512-xvCk2OQQjCtmuMBmjJ4F/RztCZpLy/4FSnpUjXolNZdNwtDTMkGtegs5i7qTBmfUPqdVeakkCKfey6xnITZe5w==","signatures":[{"sig":"MEQCIAadG/wb58Utgzn9eJNVjnA5vZjoQbjgHtfMITg/th3jAiBiuB0zpzotld1Dy4bM4Dw+I8zkjMK7P78F0oOB8QTcFQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@keepkit%2fui@0.10.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":172915},"type":"module","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./react":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsup --watch","lint":"tsc --noEmit","test":"node --experimental-strip-types --test test/index.test.ts && vitest run","build":"tsup","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"nittaa","email":"nittaa@hotmail.co.jp"},"repository":{"url":"https://github.com/nitta-a/keepkit.git","type":"git","directory":"packages/keepkit-ui"},"description":"Headless, accessible React UI components for KeepKit.","directories":{},"sideEffects":false,"_nodeVersion":"26.0.0","dependencies":{"@keepkit/core":"0.10.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^8.2.2","jsdom":"^30.0.1","react":"^19.2.8","vitest":"^4.1.11","react-dom":"^19.2.8","typescript":"^6.0.3","@types/react":"^19.2.18","@types/react-dom":"^19.2.5","@testing-library/react":"^16.3.3"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/ui_0.10.0_1788153749372_0.6407182408680772","host":"s3://npm-registry-packages-npm-production"}},"0.11.0":{"name":"@keepkit/ui","version":"0.11.0","license":"MIT","_id":"@keepkit/ui@0.11.0","maintainers":[{"name":"nittaa","email":"nittaa@hotmail.co.jp"}],"dist":{"shasum":"b77abfab6fc46c9c1ef47d7b6c841e443d745dc9","tarball":"https://registry.npmjs.org/@keepkit/ui/-/ui-0.11.0.tgz","fileCount":6,"integrity":"sha512-4MEcektULPdWW6yMqYmU8ELFl2AD9wCZVRrtS+7ddnrBqemaFS7juIaagNMlSA+6aWjvQG8+f25h5xdgsMQt7w==","signatures":[{"sig":"MEUCICez4ie3qS2Q9CKjzJWYFVml2xYr7YT8/mjQIBLE+1gbAiEApznM9E84kgw9dYMNnEe3wV50tSIRsnhsCiziKHo7FDg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@keepkit%2fui@0.11.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":212357},"type":"module","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./react":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsup --watch","lint":"tsc --noEmit","test":"node --experimental-strip-types --test test/index.test.ts && vitest run","build":"tsup","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"nittaa","email":"nittaa@hotmail.co.jp"},"repository":{"url":"https://github.com/nitta-a/keepkit.git","type":"git","directory":"packages/keepkit-ui"},"description":"Headless, accessible React UI components for KeepKit.","directories":{},"sideEffects":false,"_nodeVersion":"26.0.0","dependencies":{"@keepkit/core":"0.11.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^8.2.2","jsdom":"^30.0.1","react":"^19.2.8","vitest":"^4.1.11","react-dom":"^19.2.8","typescript":"^6.0.3","@types/react":"^19.2.18","@types/react-dom":"^19.2.5","@testing-library/react":"^16.3.3"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/ui_0.11.0_1788170732693_0.9574090435750668","host":"s3://npm-registry-packages-npm-production"}},"0.12.0":{"name":"@keepkit/ui","version":"0.12.0","license":"MIT","_id":"@keepkit/ui@0.12.0","maintainers":[{"name":"nittaa","email":"nittaa@hotmail.co.jp"}],"dist":{"shasum":"8f0de632bb88c6f02c54351be5e5ccbfb2f14bee","tarball":"https://registry.npmjs.org/@keepkit/ui/-/ui-0.12.0.tgz","fileCount":7,"integrity":"sha512-0pz0gtrRxOHwbjT2FrPgT7LxWOQkkOAkndGkt+Vw7nPtJsr79Z4HLEJVNkG8cvjIL8FNcGoy+ahaAYe1zkgT/g==","signatures":[{"sig":"MEQCIDxmv6ejdXjJ4DjKUdsK9tDX1QV5tKj3MpOuOaaNhpuRAiB05fcwv6az8nCp40b0H3LLNdYWYH2pxQGGknRx3f5vdA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@keepkit%2fui@0.12.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":367781},"type":"module","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./react":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./theme.css":{"default":"./dist/theme.css"}},"scripts":{"dev":"tsup --watch","lint":"tsc --noEmit","test":"node --experimental-strip-types --test test/index.test.ts && vitest run","build":"tsup && node scripts/copy-theme.mjs","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"nittaa","email":"nittaa@hotmail.co.jp"},"repository":{"url":"https://github.com/nitta-a/keepkit.git","type":"git","directory":"packages/keepkit-ui"},"description":"Headless, accessible React UI components for KeepKit.","directories":{},"sideEffects":false,"_nodeVersion":"26.0.0","dependencies":{"@keepkit/core":"0.12.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^8.2.2","jsdom":"^30.0.1","react":"^19.2.8","vitest":"^4.1.11","react-dom":"^19.2.8","typescript":"^6.0.3","@types/react":"^19.2.18","@types/react-dom":"^19.2.5","@testing-library/react":"^16.3.3"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/ui_0.12.0_1788180725745_0.974980451547075","host":"s3://npm-registry-packages-npm-production"}},"0.13.0":{"name":"@keepkit/ui","version":"0.13.0","license":"MIT","_id":"@keepkit/ui@0.13.0","maintainers":[{"name":"nittaa","email":"nittaa@hotmail.co.jp"}],"dist":{"shasum":"7c0489e0d4ab67478f9a67ac135987aa6784b2e3","tarball":"https://registry.npmjs.org/@keepkit/ui/-/ui-0.13.0.tgz","fileCount":15,"integrity":"sha512-b1s/1+AAZszsj/0AhQVXF06ZDyLKtASWG6bnDlnOXYKV5GU6lCJOPEgRGAnWF9NbNJtw7Lv6RF91y/ocnHiTuA==","signatures":[{"sig":"MEUCIC7qlauNFjnR0OVUGKYnTAVrhBYSFcrPFR0ijxgwd7I0AiEA5mHMHAgtRLEWrrzXja7tU7I1rM7A+FQ1hHzj/hlN4V8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@keepkit%2fui@0.13.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":411882},"type":"module","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./react":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./tailwind":{"types":"./dist/tailwind.d.ts","import":"./dist/tailwind.js"},"./theme.css":{"default":"./dist/theme.css"},"./tailwind.css":{"default":"./dist/tailwind.css"},"./styles/base.css":{"default":"./dist/styles/base.css"},"./styles/sync.css":{"default":"./dist/styles/sync.css"},"./styles/button.css":{"default":"./dist/styles/button.css"},"./styles/collection.css":{"default":"./dist/styles/collection.css"}},"scripts":{"dev":"tsup --watch","lint":"tsc --noEmit","test":"node --experimental-strip-types --test test/index.test.ts && vitest run","build":"tsup && node scripts/copy-theme.mjs","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"nittaa","email":"nittaa@hotmail.co.jp"},"repository":{"url":"https://github.com/nitta-a/keepkit.git","type":"git","directory":"packages/keepkit-ui"},"description":"Headless, accessible React UI components for KeepKit.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"26.0.0","dependencies":{"@keepkit/core":"0.13.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^8.2.2","jsdom":"^30.0.1","react":"^19.2.8","vitest":"^4.1.11","react-dom":"^19.2.8","typescript":"^6.0.3","@types/react":"^19.2.18","@types/react-dom":"^19.2.5","@testing-library/react":"^16.3.3"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/ui_0.13.0_1788200048240_0.5060008223388499","host":"s3://npm-registry-packages-npm-production"}},"0.14.0":{"name":"@keepkit/ui","version":"0.14.0","license":"MIT","_id":"@keepkit/ui@0.14.0","maintainers":[{"name":"nittaa","email":"nittaa@hotmail.co.jp"}],"dist":{"shasum":"89a5eff7e19c8b863273158b979f80671d4650dc","tarball":"https://registry.npmjs.org/@keepkit/ui/-/ui-0.14.0.tgz","fileCount":15,"integrity":"sha512-k0zKeIxAOtwRKe3XvA00b6VfCiwlNWb9EHSXDFsR3wX6l7lEw4CCqQSly78sdTuDUqjs+16GAowwmlyfVDmaiA==","signatures":[{"sig":"MEUCIQDAcNzv/XVU77g3dqo5R98nVyeIa1b1CUyRMwY/uVs7ewIgTmLgyW73Motdv5EqNlEULHM6OEgXd9tYc0k7LejBrKI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@keepkit%2fui@0.14.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":425807},"type":"module","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./react":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./tailwind":{"types":"./dist/tailwind.d.ts","import":"./dist/tailwind.js"},"./theme.css":{"default":"./dist/theme.css"},"./tailwind.css":{"default":"./dist/tailwind.css"},"./styles/base.css":{"default":"./dist/styles/base.css"},"./styles/sync.css":{"default":"./dist/styles/sync.css"},"./styles/button.css":{"default":"./dist/styles/button.css"},"./styles/collection.css":{"default":"./dist/styles/collection.css"}},"scripts":{"dev":"tsup --watch","lint":"tsc --noEmit","test":"node --experimental-strip-types --test test/index.test.ts && vitest run","build":"tsup && node scripts/copy-theme.mjs","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"nittaa","email":"nittaa@hotmail.co.jp"},"repository":{"url":"https://github.com/nitta-a/keepkit.git","type":"git","directory":"packages/keepkit-ui"},"description":"Headless, accessible React UI components for KeepKit.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"26.0.0","dependencies":{"@keepkit/core":"0.14.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^8.2.2","jsdom":"^30.0.1","react":"^19.2.8","vitest":"^4.1.11","react-dom":"^19.2.8","typescript":"^6.0.3","@types/react":"^19.2.18","@types/react-dom":"^19.2.5","@testing-library/react":"^16.3.3"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/ui_0.14.0_1788300020867_0.395759724432138","host":"s3://npm-registry-packages-npm-production"}},"0.15.0":{"name":"@keepkit/ui","version":"0.15.0","license":"MIT","_id":"@keepkit/ui@0.15.0","maintainers":[{"name":"nittaa","email":"nittaa@hotmail.co.jp"}],"dist":{"shasum":"a105aab903e87d1913a6fb2474614c11e653b056","tarball":"https://registry.npmjs.org/@keepkit/ui/-/ui-0.15.0.tgz","fileCount":15,"integrity":"sha512-hAZ6nE7VBGIPU1mLDhWC4vPaq+Qtc4fhAIXf494j46PJ+P2gfhf+c8R72ncL+K8KvPmiprB1i3IeXmIfsVvbfQ==","signatures":[{"sig":"MEUCIBQdX81YQbypk5Qcdozelf7thdmAum+KmC9Ot6nLzzuYAiEA2c7UfztPjOJQ64VLp1zG8Rr7hlEJ4vKHV9pj4xryP1w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@keepkit%2fui@0.15.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":486657},"type":"module","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./react":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./tailwind":{"types":"./dist/tailwind.d.ts","import":"./dist/tailwind.js"},"./theme.css":{"default":"./dist/theme.css"},"./tailwind.css":{"default":"./dist/tailwind.css"},"./styles/base.css":{"default":"./dist/styles/base.css"},"./styles/sync.css":{"default":"./dist/styles/sync.css"},"./styles/button.css":{"default":"./dist/styles/button.css"},"./styles/collection.css":{"default":"./dist/styles/collection.css"}},"scripts":{"dev":"tsup --watch","lint":"tsc --noEmit","test":"node --experimental-strip-types --test test/index.test.ts && vitest run","build":"tsup && node scripts/copy-theme.mjs","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"nittaa","email":"nittaa@hotmail.co.jp"},"repository":{"url":"https://github.com/nitta-a/keepkit.git","type":"git","directory":"packages/keepkit-ui"},"description":"Headless, accessible React UI components for KeepKit.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"26.0.0","dependencies":{"@keepkit/core":"0.15.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^8.2.2","jsdom":"^30.0.1","react":"^19.2.8","vitest":"^4.1.11","react-dom":"^19.2.8","typescript":"^6.0.3","@types/react":"^19.2.18","@types/react-dom":"^19.2.5","@testing-library/react":"^16.3.3"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/ui_0.15.0_1788436839691_0.3636154625865038","host":"s3://npm-registry-packages-npm-production"}},"0.16.0":{"name":"@keepkit/ui","version":"0.16.0","license":"MIT","_id":"@keepkit/ui@0.16.0","maintainers":[{"name":"nittaa","email":"nittaa@hotmail.co.jp"}],"dist":{"shasum":"ade302150298a8dda66b97ba8b4156857804b663","tarball":"https://registry.npmjs.org/@keepkit/ui/-/ui-0.16.0.tgz","fileCount":15,"integrity":"sha512-jozlvKDbaO1V+eX892H4jQvQK9ar6EuQgIfLWf7RnwgYV+gWIEeHR0OyEeSIABXaT1mVprSug2fYR4uGopEMKA==","signatures":[{"sig":"MEUCIHGJQhZHJgkCfUzXIih6+KbMaEEmKty7I3hf1i2IZyaEAiEA0wZdt1a7iBnlXzzwJ7b70uVcc1005ag8DLmtglrqPog=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@keepkit%2fui@0.16.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":557000},"type":"module","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./react":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./tailwind":{"types":"./dist/tailwind.d.ts","import":"./dist/tailwind.js"},"./theme.css":{"default":"./dist/theme.css"},"./tailwind.css":{"default":"./dist/tailwind.css"},"./styles/base.css":{"default":"./dist/styles/base.css"},"./styles/sync.css":{"default":"./dist/styles/sync.css"},"./styles/button.css":{"default":"./dist/styles/button.css"},"./styles/collection.css":{"default":"./dist/styles/collection.css"}},"scripts":{"dev":"tsup --watch","lint":"tsc --noEmit","test":"node --experimental-strip-types --test test/index.test.ts && vitest run","build":"tsup && node scripts/copy-theme.mjs","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"nittaa","email":"nittaa@hotmail.co.jp"},"repository":{"url":"https://github.com/nitta-a/keepkit.git","type":"git","directory":"packages/keepkit-ui"},"description":"Headless, accessible React UI components for KeepKit.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"26.0.0","dependencies":{"@keepkit/core":"0.16.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^8.2.2","jsdom":"^30.0.1","react":"^19.2.8","vitest":"^4.1.11","react-dom":"^19.2.8","typescript":"^6.0.3","@types/react":"^19.2.18","@types/react-dom":"^19.2.5","@testing-library/react":"^16.3.3"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/ui_0.16.0_1788464760339_0.7705581555865526","host":"s3://npm-registry-packages-npm-production"}},"0.17.0":{"name":"@keepkit/ui","version":"0.17.0","license":"MIT","_id":"@keepkit/ui@0.17.0","maintainers":[{"name":"nittaa","email":"nittaa@hotmail.co.jp"}],"dist":{"shasum":"3b24e1f02616a99df0deda4c763fa8563084dae0","tarball":"https://registry.npmjs.org/@keepkit/ui/-/ui-0.17.0.tgz","fileCount":15,"integrity":"sha512-4NlIRqcrzYkO+EjeZyOZ2scB2nsTJ4XLRvz5kpL3p9NVAThIOBA6dytNUNynWE5Qt6VWXTglaa9I9Nw9hlEUJA==","signatures":[{"sig":"MEQCIE2ZSnk+zSmYTI5TIPlsONCsQL6Ztpw2PYlVLLSnCJoaAiB5tVAL5cooFnDsvr3h2uOSqYRNXedC0hb8ZQpD4fTQoA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@keepkit%2fui@0.17.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":604073},"type":"module","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./react":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./tailwind":{"types":"./dist/tailwind.d.ts","import":"./dist/tailwind.js"},"./theme.css":{"default":"./dist/theme.css"},"./tailwind.css":{"default":"./dist/tailwind.css"},"./styles/base.css":{"default":"./dist/styles/base.css"},"./styles/sync.css":{"default":"./dist/styles/sync.css"},"./styles/button.css":{"default":"./dist/styles/button.css"},"./styles/collection.css":{"default":"./dist/styles/collection.css"}},"scripts":{"dev":"tsup --watch","lint":"tsc --noEmit","test":"node --experimental-strip-types --test test/index.test.ts && vitest run","build":"tsup && node scripts/copy-theme.mjs","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"nittaa","email":"nittaa@hotmail.co.jp"},"repository":{"url":"https://github.com/nitta-a/keepkit.git","type":"git","directory":"packages/keepkit-ui"},"description":"Headless, accessible React UI components for KeepKit.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"26.0.0","dependencies":{"@keepkit/core":"0.17.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^8.2.2","jsdom":"^30.0.1","react":"^19.2.8","vitest":"^4.1.11","react-dom":"^19.2.8","typescript":"^6.0.3","@types/react":"^19.2.18","@types/react-dom":"^19.2.5","@testing-library/react":"^16.3.3"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/ui_0.17.0_1788467935842_0.9461058133393989","host":"s3://npm-registry-packages-npm-production"}},"0.18.0":{"name":"@keepkit/ui","version":"0.18.0","license":"MIT","_id":"@keepkit/ui@0.18.0","maintainers":[{"name":"nittaa","email":"nittaa@hotmail.co.jp"}],"dist":{"shasum":"95873346fca983acb8fe62cf9e8f4980cee299fa","tarball":"https://registry.npmjs.org/@keepkit/ui/-/ui-0.18.0.tgz","fileCount":16,"integrity":"sha512-4MDVTwnc1hlx9c70GIZ3H6M/s+0XsamQSA166jhzi8BXj4GkFaAHcWh4iunZy2Rpdw7hf998/F1/oek2GaLpqw==","signatures":[{"sig":"MEYCIQCDDy0v0LQXhnaitKCjHBoK/wOVAFdtxnS/FdDbxSWi1gIhAO+o7vu9IUndOmIxfToLbkGEnppvNa6DoOTbalGLWJhP","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@keepkit%2fui@0.18.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":627915},"type":"module","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./react":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./tailwind":{"types":"./dist/tailwind.d.ts","import":"./dist/tailwind.js"},"./theme.css":{"default":"./dist/theme.css"},"./tailwind.css":{"default":"./dist/tailwind.css"},"./styles/base.css":{"default":"./dist/styles/base.css"},"./styles/sync.css":{"default":"./dist/styles/sync.css"},"./styles/button.css":{"default":"./dist/styles/button.css"},"./styles/status.css":{"default":"./dist/styles/status.css"},"./styles/collection.css":{"default":"./dist/styles/collection.css"}},"scripts":{"dev":"tsup --watch","lint":"tsc --noEmit","test":"node --experimental-strip-types --test test/index.test.ts && vitest run","build":"tsup && node scripts/copy-theme.mjs","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"nittaa","email":"nittaa@hotmail.co.jp"},"repository":{"url":"https://github.com/nitta-a/keepkit.git","type":"git","directory":"packages/keepkit-ui"},"description":"Headless, accessible React UI components for KeepKit.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"26.0.0","dependencies":{"@keepkit/core":"0.18.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^8.2.2","jsdom":"^30.0.1","react":"^19.2.8","vitest":"^4.1.11","react-dom":"^19.2.8","typescript":"^6.0.3","@types/react":"^19.2.18","@types/react-dom":"^19.2.5","@testing-library/react":"^16.3.3"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/ui_0.18.0_1788470281989_0.5089326993715597","host":"s3://npm-registry-packages-npm-production"}},"0.19.0":{"name":"@keepkit/ui","version":"0.19.0","license":"MIT","_id":"@keepkit/ui@0.19.0","maintainers":[{"name":"nittaa","email":"nittaa@hotmail.co.jp"}],"dist":{"shasum":"e0851a5a6ddd78fff5c8d3be8772bb4d88f3329c","tarball":"https://registry.npmjs.org/@keepkit/ui/-/ui-0.19.0.tgz","fileCount":16,"integrity":"sha512-glJdtmFPFJW0nF7NuiG3S4j5EbcOEmZwZ/DpP51lA1v7tJTYaiSCknnMmNBOB7Dh2OiPaQtFFr+37GSWpJPAQA==","attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@keepkit%2fui@0.19.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":677603},"type":"module","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./react":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./tailwind":{"types":"./dist/tailwind.d.ts","import":"./dist/tailwind.js"},"./theme.css":{"default":"./dist/theme.css"},"./tailwind.css":{"default":"./dist/tailwind.css"},"./styles/base.css":{"default":"./dist/styles/base.css"},"./styles/sync.css":{"default":"./dist/styles/sync.css"},"./styles/button.css":{"default":"./dist/styles/button.css"},"./styles/status.css":{"default":"./dist/styles/status.css"},"./styles/collection.css":{"default":"./dist/styles/collection.css"}},"scripts":{"dev":"tsup --watch","lint":"tsc --noEmit","test":"node --experimental-strip-types --test test/index.test.ts && vitest run","build":"tsup && node scripts/copy-theme.mjs","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"nittaa","email":"nittaa@hotmail.co.jp"},"repository":{"url":"https://github.com/nitta-a/keepkit.git","type":"git","directory":"packages/keepkit-ui"},"description":"Headless, accessible React UI components for KeepKit.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"26.0.0","dependencies":{"@keepkit/core":"0.19.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^8.2.2","jsdom":"^30.0.1","react":"^19.2.8","vitest":"^4.1.11","react-dom":"^19.2.8","typescript":"^6.0.3","@types/react":"^19.2.18","@types/react-dom":"^19.2.5","@testing-library/react":"^16.3.3"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/ui_0.19.0_1788472981161_0.06804489391290347","host":"s3://npm-registry-packages-npm-production"}},"0.20.0":{"name":"@keepkit/ui","version":"0.20.0","license":"MIT","_id":"@keepkit/ui@0.20.0","maintainers":[{"name":"nittaa","email":"nittaa@hotmail.co.jp"}],"dist":{"shasum":"ff44f6baf1647cbcff2cd24dac5335f5f66df673","tarball":"https://registry.npmjs.org/@keepkit/ui/-/ui-0.20.0.tgz","fileCount":16,"integrity":"sha512-ic0Vnl63SMMsnIZVjaWO5HGaxXjiKMmcYDrQd943y2mHDjeC6u9evtM3lxYb82f3EhGL7alFAFI3ZFHGFMwgbA==","signatures":[{"sig":"MEUCIFGOswwAthUyyKzkCAJiUP3Ed9MbZ7tSxW6t6BrQnbL2AiEA+eEvm6zmJv6/wJIUAMpKnJmGHIqp6CewbqaW+rzAcE0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@keepkit%2fui@0.20.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":687076},"type":"module","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./react":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./tailwind":{"types":"./dist/tailwind.d.ts","import":"./dist/tailwind.js"},"./theme.css":{"default":"./dist/theme.css"},"./tailwind.css":{"default":"./dist/tailwind.css"},"./styles/base.css":{"default":"./dist/styles/base.css"},"./styles/sync.css":{"default":"./dist/styles/sync.css"},"./styles/button.css":{"default":"./dist/styles/button.css"},"./styles/status.css":{"default":"./dist/styles/status.css"},"./styles/collection.css":{"default":"./dist/styles/collection.css"}},"scripts":{"dev":"tsup --watch","lint":"tsc --noEmit","test":"node --experimental-strip-types --test test/index.test.ts && vitest run","build":"tsup && node scripts/copy-theme.mjs","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"nittaa","email":"nittaa@hotmail.co.jp"},"repository":{"url":"https://github.com/nitta-a/keepkit.git","type":"git","directory":"packages/keepkit-ui"},"description":"Headless, accessible React UI components for KeepKit.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"26.0.0","dependencies":{"@keepkit/core":"0.20.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^8.2.2","jsdom":"^30.0.1","react":"^19.2.8","vitest":"^4.1.11","react-dom":"^19.2.8","typescript":"^6.0.3","@types/react":"^19.2.18","@types/react-dom":"^19.2.5","@testing-library/react":"^16.3.3"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/ui_0.20.0_1788475103198_0.04545057361121341","host":"s3://npm-registry-packages-npm-production"}},"0.21.0":{"name":"@keepkit/ui","version":"0.21.0","license":"MIT","_id":"@keepkit/ui@0.21.0","maintainers":[{"name":"nittaa","email":"nittaa@hotmail.co.jp"}],"dist":{"shasum":"30db77a40e5f5936c5061784a4197a3d345c64d1","tarball":"https://registry.npmjs.org/@keepkit/ui/-/ui-0.21.0.tgz","fileCount":16,"integrity":"sha512-b2v/1+yEIvmlJb/iDpAIWK2dSuISdtK6Vq8E9xwFMEiBJqAePv8Jc6x2YUJFqhF2W41aJDQyTnBHgVk5ErnY+A==","signatures":[{"sig":"MEUCIQDQgUUHm87Xo9zAm/lIaHC/Ays7f1VJoIZAPrQnfeGZPAIgNU+Uupxcq7Yt3DQepVfIYdvbWQcvQwB4HTCP0ySasn0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@keepkit%2fui@0.21.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":763652},"type":"module","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./react":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./tailwind":{"types":"./dist/tailwind.d.ts","import":"./dist/tailwind.js"},"./theme.css":{"default":"./dist/theme.css"},"./tailwind.css":{"default":"./dist/tailwind.css"},"./styles/base.css":{"default":"./dist/styles/base.css"},"./styles/sync.css":{"default":"./dist/styles/sync.css"},"./styles/button.css":{"default":"./dist/styles/button.css"},"./styles/status.css":{"default":"./dist/styles/status.css"},"./styles/collection.css":{"default":"./dist/styles/collection.css"}},"scripts":{"dev":"tsup --watch","lint":"tsc --noEmit","test":"node --experimental-strip-types --test test/index.test.ts && vitest run","build":"tsup && node scripts/copy-theme.mjs","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"nittaa","email":"nittaa@hotmail.co.jp"},"repository":{"url":"https://github.com/nitta-a/keepkit.git","type":"git","directory":"packages/keepkit-ui"},"description":"Headless, accessible React UI components for KeepKit.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"26.0.0","dependencies":{"@keepkit/core":"0.21.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^8.2.2","jsdom":"^30.0.1","react":"^19.2.8","vitest":"^4.1.11","react-dom":"^19.2.8","typescript":"^6.0.3","@types/react":"^19.2.18","@types/react-dom":"^19.2.5","@testing-library/react":"^16.3.3"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/ui_0.21.0_1788479265798_0.38004464022420703","host":"s3://npm-registry-packages-npm-production"}},"0.22.0":{"name":"@keepkit/ui","version":"0.22.0","license":"MIT","_id":"@keepkit/ui@0.22.0","maintainers":[{"name":"nittaa","email":"nittaa@hotmail.co.jp"}],"dist":{"shasum":"50ae5c6772a09794fd4a0b5d679f26d0362d307d","tarball":"https://registry.npmjs.org/@keepkit/ui/-/ui-0.22.0.tgz","fileCount":16,"integrity":"sha512-NHWh6A1jg24dNWJgYlbbueiqCFQRTDD1lCNKKehku3LsTHVCwu+ZDr9rSPGtQiCOigOEsakwIKHvjIywR20trg==","signatures":[{"sig":"MEUCIFQnedEunjaSWwrOkHLmSGGAdTx0CQkpE9h3N9DbPpNeAiEApFPGgl8A8FcYDzI0roj0Td7wvi0Tzdjp5Wo4Xv7WdF0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@keepkit%2fui@0.22.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":793683},"type":"module","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./react":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./tailwind":{"types":"./dist/tailwind.d.ts","import":"./dist/tailwind.js"},"./theme.css":{"default":"./dist/theme.css"},"./tailwind.css":{"default":"./dist/tailwind.css"},"./styles/base.css":{"default":"./dist/styles/base.css"},"./styles/sync.css":{"default":"./dist/styles/sync.css"},"./styles/button.css":{"default":"./dist/styles/button.css"},"./styles/status.css":{"default":"./dist/styles/status.css"},"./styles/collection.css":{"default":"./dist/styles/collection.css"}},"scripts":{"dev":"tsup --watch","lint":"tsc --noEmit","test":"node --experimental-strip-types --test test/index.test.ts && vitest run","build":"tsup && node scripts/copy-theme.mjs","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"nittaa","email":"nittaa@hotmail.co.jp"},"repository":{"url":"https://github.com/nitta-a/keepkit.git","type":"git","directory":"packages/keepkit-ui"},"description":"Headless, accessible React UI components for KeepKit.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"26.0.0","dependencies":{"@keepkit/core":"0.22.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^8.2.2","jsdom":"^30.0.1","react":"^19.2.8","vitest":"^4.1.11","react-dom":"^19.2.8","typescript":"^6.0.3","@types/react":"^19.2.18","@types/react-dom":"^19.2.5","@testing-library/react":"^16.3.3"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/ui_0.22.0_1788494025684_0.7736513675484382","host":"s3://npm-registry-packages-npm-production"}},"0.23.0":{"name":"@keepkit/ui","version":"0.23.0","license":"MIT","_id":"@keepkit/ui@0.23.0","maintainers":[{"name":"nittaa","email":"nittaa@hotmail.co.jp"}],"dist":{"shasum":"afbc4b0853a2560151c03568e48901046daca051","tarball":"https://registry.npmjs.org/@keepkit/ui/-/ui-0.23.0.tgz","fileCount":16,"integrity":"sha512-UQeDPvhWbRoDIdQz3F8nwG3IYdijEWbpQFD0KQvta2VVota/EGok3ECu4YuggYlmpNFsw4cYu5Z5f76XlTyH1w==","signatures":[{"sig":"MEQCIF5e5AGAVL+APrRqxQGDU5A7BBgy43Uo/wgRkxpWqhZVAiBqUOhtRlLhuNJ4cPfB/ImoKAHbHDXITfhuCeXfo3GBVw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@keepkit%2fui@0.23.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":795403},"type":"module","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./react":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./tailwind":{"types":"./dist/tailwind.d.ts","import":"./dist/tailwind.js"},"./theme.css":{"default":"./dist/theme.css"},"./tailwind.css":{"default":"./dist/tailwind.css"},"./styles/base.css":{"default":"./dist/styles/base.css"},"./styles/sync.css":{"default":"./dist/styles/sync.css"},"./styles/button.css":{"default":"./dist/styles/button.css"},"./styles/status.css":{"default":"./dist/styles/status.css"},"./styles/collection.css":{"default":"./dist/styles/collection.css"}},"scripts":{"dev":"tsup --watch","lint":"tsc --noEmit","test":"node --experimental-strip-types --test test/index.test.ts && vitest run","build":"tsup && node scripts/copy-theme.mjs","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"nittaa","email":"nittaa@hotmail.co.jp"},"repository":{"url":"https://github.com/nitta-a/keepkit.git","type":"git","directory":"packages/keepkit-ui"},"description":"Headless, accessible React UI components for KeepKit.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"26.0.0","dependencies":{"@keepkit/core":"0.23.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^8.2.2","jsdom":"^30.0.1","react":"^19.2.8","vitest":"^4.1.11","react-dom":"^19.2.8","typescript":"^6.0.3","@types/react":"^19.2.18","@types/react-dom":"^19.2.5","@testing-library/react":"^16.3.3"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/ui_0.23.0_1788548409849_0.2911427144802743","host":"s3://npm-registry-packages-npm-production"}},"0.23.1":{"name":"@keepkit/ui","version":"0.23.1","license":"MIT","_id":"@keepkit/ui@0.23.1","maintainers":[{"name":"nittaa","email":"nittaa@hotmail.co.jp"}],"dist":{"shasum":"90d337b76743ba140be1d3cd91784a58b9739283","tarball":"https://registry.npmjs.org/@keepkit/ui/-/ui-0.23.1.tgz","fileCount":16,"integrity":"sha512-2ZrMJnXByUh7GczfSRq/qTPoQsD5ART3f9UOD2uytOw7wjI56NNVOgd32bQqwFlmkTXyhxP+3YmRRFEIdhDCfA==","signatures":[{"sig":"MEQCIBnSiV4fL/IDyj/c7pMWof61HhZeS03NJu0oTnW0vNaaAiB8FIQKzdutt12GbfIrBgjC/U4DUcwzCuTXUy6rIoXo9Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@keepkit%2fui@0.23.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":795403},"type":"module","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./react":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./tailwind":{"types":"./dist/tailwind.d.ts","import":"./dist/tailwind.js"},"./theme.css":{"default":"./dist/theme.css"},"./tailwind.css":{"default":"./dist/tailwind.css"},"./styles/base.css":{"default":"./dist/styles/base.css"},"./styles/sync.css":{"default":"./dist/styles/sync.css"},"./styles/button.css":{"default":"./dist/styles/button.css"},"./styles/status.css":{"default":"./dist/styles/status.css"},"./styles/collection.css":{"default":"./dist/styles/collection.css"}},"scripts":{"dev":"tsup --watch","lint":"tsc --noEmit","test":"node --experimental-strip-types --test test/index.test.ts && vitest run","build":"tsup && node scripts/copy-theme.mjs","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"nittaa","email":"nittaa@hotmail.co.jp"},"repository":{"url":"https://github.com/nitta-a/keepkit.git","type":"git","directory":"packages/keepkit-ui"},"description":"Headless, accessible React UI components for KeepKit.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"26.0.0","dependencies":{"@keepkit/core":"0.23.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^8.2.2","jsdom":"^30.0.1","react":"^19.2.8","vitest":"^4.1.11","react-dom":"^19.2.8","typescript":"^6.0.3","@types/react":"^19.2.18","@types/react-dom":"^19.2.5","@testing-library/react":"^16.3.3"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/ui_0.23.1_1788549208889_0.41342023091256364","host":"s3://npm-registry-packages-npm-production"}},"0.23.2":{"name":"@keepkit/ui","version":"0.23.2","license":"MIT","_id":"@keepkit/ui@0.23.2","maintainers":[{"name":"nittaa","email":"nittaa@hotmail.co.jp"}],"dist":{"shasum":"d5cbeef960a6c4adaea1bfb2d1f45b8fba9328fd","tarball":"https://registry.npmjs.org/@keepkit/ui/-/ui-0.23.2.tgz","fileCount":16,"integrity":"sha512-65jWCTnvgHLdh3uRpO+FOCpnUBbIQ7EEo2yi984SJ1zRlwUrNVO6Z5zjhhDUeZ3+sDqsTgpGSj+pPekjUtA++Q==","signatures":[{"sig":"MEUCIAFkgjw1PU+5S4TKSg80bOBC6Gsnr8Auz1xt/ae7qkVBAiEA4tC8dQiY7d5LzaIjTo71ezzmqST4S1kkc30GKZxQ2wo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@keepkit%2fui@0.23.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":798061},"type":"module","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./react":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./tailwind":{"types":"./dist/tailwind.d.ts","import":"./dist/tailwind.js"},"./theme.css":{"default":"./dist/theme.css"},"./tailwind.css":{"default":"./dist/tailwind.css"},"./styles/base.css":{"default":"./dist/styles/base.css"},"./styles/sync.css":{"default":"./dist/styles/sync.css"},"./styles/button.css":{"default":"./dist/styles/button.css"},"./styles/status.css":{"default":"./dist/styles/status.css"},"./styles/collection.css":{"default":"./dist/styles/collection.css"}},"scripts":{"dev":"tsup --watch","lint":"tsc --noEmit","test":"node --experimental-strip-types --test test/index.test.ts && vitest run","build":"tsup && node scripts/copy-theme.mjs","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"nittaa","email":"nittaa@hotmail.co.jp"},"repository":{"url":"https://github.com/nitta-a/keepkit.git","type":"git","directory":"packages/keepkit-ui"},"description":"Headless, accessible React UI components for KeepKit.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"26.0.0","dependencies":{"@keepkit/core":"0.23.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^8.2.2","jsdom":"^30.0.1","react":"^19.2.8","vitest":"^4.1.11","react-dom":"^19.2.8","typescript":"^6.0.3","@types/react":"^19.2.18","@types/react-dom":"^19.2.5","@testing-library/react":"^16.3.3"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/ui_0.23.2_1788562001751_0.9619349920199742","host":"s3://npm-registry-packages-npm-production"}},"0.24.0":{"name":"@keepkit/ui","version":"0.24.0","license":"MIT","_id":"@keepkit/ui@0.24.0","maintainers":[{"name":"nittaa","email":"nittaa@hotmail.co.jp"}],"dist":{"shasum":"cdf7e20944773067b73284e4414ed9e29602891e","tarball":"https://registry.npmjs.org/@keepkit/ui/-/ui-0.24.0.tgz","fileCount":16,"integrity":"sha512-lmYkKg33q3CuQTo0Hj2feQeyn28vFNTQ702Agfdm4LUb7xSd8YvaUq6lNjNRoJlWxZotqfSBG4P1LAYrZlwQ1A==","signatures":[{"sig":"MEQCIHLhh+YkfF6NBMwgiwUWP+wj+TO67jtZ2QUdcqLhNpu8AiBvJgdf0K/+T0Eu6h1ASWVRhdu+wRU9TUubYP3PuT+mvA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@keepkit%2fui@0.24.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":816253},"type":"module","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./react":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./tailwind":{"types":"./dist/tailwind.d.ts","import":"./dist/tailwind.js"},"./theme.css":{"default":"./dist/theme.css"},"./tailwind.css":{"default":"./dist/tailwind.css"},"./styles/base.css":{"default":"./dist/styles/base.css"},"./styles/sync.css":{"default":"./dist/styles/sync.css"},"./styles/button.css":{"default":"./dist/styles/button.css"},"./styles/status.css":{"default":"./dist/styles/status.css"},"./styles/collection.css":{"default":"./dist/styles/collection.css"}},"scripts":{"dev":"tsup --watch","lint":"tsc --noEmit","test":"node --experimental-strip-types --test test/index.test.ts && vitest run","build":"tsup && node scripts/copy-theme.mjs","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"nittaa","email":"nittaa@hotmail.co.jp"},"repository":{"url":"https://github.com/nitta-a/keepkit.git","type":"git","directory":"packages/keepkit-ui"},"description":"Headless, accessible React UI components for KeepKit.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"26.0.0","dependencies":{"@keepkit/core":"0.24.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^8.2.2","jsdom":"^30.0.1","react":"^19.2.8","vitest":"^4.1.11","react-dom":"^19.2.8","typescript":"^6.0.3","@types/react":"^19.2.18","@types/react-dom":"^19.2.5","@testing-library/react":"^16.3.3"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/ui_0.24.0_1788578260062_0.08979951257363417","host":"s3://npm-registry-packages-npm-production"}},"0.25.0":{"name":"@keepkit/ui","version":"0.25.0","license":"MIT","_id":"@keepkit/ui@0.25.0","maintainers":[{"name":"nittaa","email":"nittaa@hotmail.co.jp"}],"dist":{"shasum":"023012955504871bff619d6c1c3a70860f6a298d","tarball":"https://registry.npmjs.org/@keepkit/ui/-/ui-0.25.0.tgz","fileCount":16,"integrity":"sha512-BUqodPmNT3oltWJjMZ6yf4ckH1GK1TKM+3yvmjg3241hyANug/FI7Q/eLDLe9FRK+RrHee/h4dBj7BC/0nhvLw==","signatures":[{"sig":"MEUCIQCCJQjOhApyIj2mc7uXlb9S4quMOrrzjQdG6AoP9M8O5AIgSdaBqY9kFLiBDn9sS5gafKnG1+KWsuATUSGk+X9pJpo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@keepkit%2fui@0.25.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":851822},"type":"module","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./react":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./tailwind":{"types":"./dist/tailwind.d.ts","import":"./dist/tailwind.js"},"./theme.css":{"default":"./dist/theme.css"},"./tailwind.css":{"default":"./dist/tailwind.css"},"./styles/base.css":{"default":"./dist/styles/base.css"},"./styles/sync.css":{"default":"./dist/styles/sync.css"},"./styles/button.css":{"default":"./dist/styles/button.css"},"./styles/status.css":{"default":"./dist/styles/status.css"},"./styles/collection.css":{"default":"./dist/styles/collection.css"}},"scripts":{"dev":"tsup --watch","lint":"tsc --noEmit","test":"node --experimental-strip-types --test test/index.test.ts && vitest run","build":"tsup && node scripts/copy-theme.mjs","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"nittaa","email":"nittaa@hotmail.co.jp"},"repository":{"url":"https://github.com/nitta-a/keepkit.git","type":"git","directory":"packages/keepkit-ui"},"description":"Headless, accessible React UI components for KeepKit.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"26.0.0","dependencies":{"@keepkit/core":"0.25.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^8.2.2","jsdom":"^30.0.1","react":"^19.2.8","vitest":"^4.1.11","react-dom":"^19.2.8","typescript":"^6.0.3","@types/react":"^19.2.18","@types/react-dom":"^19.2.5","@testing-library/react":"^16.3.3"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/ui_0.25.0_1788592322952_0.6289408769961502","host":"s3://npm-registry-packages-npm-production"}},"0.26.1":{"name":"@keepkit/ui","version":"0.26.1","license":"MIT","_id":"@keepkit/ui@0.26.1","maintainers":[{"name":"nittaa","email":"nittaa@hotmail.co.jp"}],"dist":{"shasum":"f04d7d91556b16d1a109a91d35d60c75b485aeb0","tarball":"https://registry.npmjs.org/@keepkit/ui/-/ui-0.26.1.tgz","fileCount":17,"integrity":"sha512-sS07kPy5eWrIqUZpxMovNAm8R8r1Ms3Tr8ucjVp4EiAJ50iJRhJua5xBi476o3lQUsxKsSMfmD76s0d7am7A6Q==","signatures":[{"sig":"MEUCIHHeyi5C0IKh4c7fFriFyaitZ7PMXjNKQmKjwLhBRveOAiEApG0hO6Z68Vark/8OgAGQlEUreZZdwUmpuxrwCYENxrM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@keepkit%2fui@0.26.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":879799},"type":"module","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./react":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./tailwind":{"types":"./dist/tailwind.d.ts","import":"./dist/tailwind.js"},"./theme.css":{"default":"./dist/theme.css"},"./tailwind.css":{"default":"./dist/tailwind.css"},"./styles/base.css":{"default":"./dist/styles/base.css"},"./styles/sync.css":{"default":"./dist/styles/sync.css"},"./styles/button.css":{"default":"./dist/styles/button.css"},"./styles/status.css":{"default":"./dist/styles/status.css"},"./styles/workspace.css":{"default":"./dist/styles/workspace.css"},"./styles/collection.css":{"default":"./dist/styles/collection.css"}},"scripts":{"dev":"tsup --watch","lint":"tsc --noEmit","test":"node --experimental-strip-types --test test/index.test.ts && vitest run","build":"tsup && node scripts/copy-theme.mjs","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"nittaa","email":"nittaa@hotmail.co.jp"},"repository":{"url":"https://github.com/nitta-a/keepkit.git","type":"git","directory":"packages/keepkit-ui"},"description":"Headless, accessible React UI components for KeepKit.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"26.0.0","dependencies":{"@keepkit/core":"0.26.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^8.2.2","jsdom":"^30.0.1","react":"^19.2.8","vitest":"^4.1.11","react-dom":"^19.2.8","typescript":"^6.0.3","@types/react":"^19.2.18","@types/react-dom":"^19.2.5","@testing-library/react":"^16.3.3"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/ui_0.26.1_1788601950732_0.5559632787031841","host":"s3://npm-registry-packages-npm-production"}},"0.26.2":{"name":"@keepkit/ui","version":"0.26.2","license":"MIT","_id":"@keepkit/ui@0.26.2","maintainers":[{"name":"nittaa","email":"nittaa@hotmail.co.jp"}],"dist":{"shasum":"63c898a38e33d517114b0272583b0367da8f2906","tarball":"https://registry.npmjs.org/@keepkit/ui/-/ui-0.26.2.tgz","fileCount":17,"integrity":"sha512-rtE9bcPwRK8nRqY2+1vIBkSreNQniQw0mDa+JSK0HIkeqdqf3BKIhddY/dvbCljk6ICjviDmaylCxgJkd22TSw==","signatures":[{"sig":"MEYCIQC5rhR7KxnB81innhYsHa+RJiIOgg3z/rqF4HGJ4QdSswIhALko6V7ht/FVGFsuVn4/5PPO8bcip02sLmI8pJUoHuss","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@keepkit%2fui@0.26.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":880906},"type":"module","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./react":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./tailwind":{"types":"./dist/tailwind.d.ts","import":"./dist/tailwind.js"},"./theme.css":{"default":"./dist/theme.css"},"./tailwind.css":{"default":"./dist/tailwind.css"},"./styles/base.css":{"default":"./dist/styles/base.css"},"./styles/sync.css":{"default":"./dist/styles/sync.css"},"./styles/button.css":{"default":"./dist/styles/button.css"},"./styles/status.css":{"default":"./dist/styles/status.css"},"./styles/workspace.css":{"default":"./dist/styles/workspace.css"},"./styles/collection.css":{"default":"./dist/styles/collection.css"}},"scripts":{"dev":"tsup --watch","lint":"tsc --noEmit","test":"node --experimental-strip-types --test test/index.test.ts && vitest run","build":"tsup && node scripts/copy-theme.mjs","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"nittaa","email":"nittaa@hotmail.co.jp"},"repository":{"url":"https://github.com/nitta-a/keepkit.git","type":"git","directory":"packages/keepkit-ui"},"description":"Headless, accessible React UI components for KeepKit.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"26.0.0","dependencies":{"@keepkit/core":"0.26.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^8.2.2","jsdom":"^30.0.1","react":"^19.2.8","vitest":"^4.1.11","react-dom":"^19.2.8","typescript":"^6.0.3","@types/react":"^19.2.18","@types/react-dom":"^19.2.5","@testing-library/react":"^16.3.3"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/ui_0.26.2_1788604278030_0.4383121718243519","host":"s3://npm-registry-packages-npm-production"}},"0.26.4":{"name":"@keepkit/ui","version":"0.26.4","license":"MIT","_id":"@keepkit/ui@0.26.4","maintainers":[{"name":"nittaa","email":"nittaa@hotmail.co.jp"}],"dist":{"shasum":"411638877ed3abf5a4449e4540e659b1795e7610","tarball":"https://registry.npmjs.org/@keepkit/ui/-/ui-0.26.4.tgz","fileCount":17,"integrity":"sha512-8Xymmqj5ebX7JbSoX3ueF7DsqmmrME4G4xgDxxLc5cRpp1kzXHdsEMdKXz4Ms80cmsMVP6GOUupiKBdrj5eiZw==","signatures":[{"sig":"MEYCIQCS2bwazqKBHNE8lR5adBC4TAkI41Jvm2TKLpWXmAuzqgIhAPmbJAn8XogIFRa4fL1r68FLLjMI1twEbl2SvW4Gguch","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@keepkit%2fui@0.26.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":880522},"type":"module","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./react":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./tailwind":{"types":"./dist/tailwind.d.ts","import":"./dist/tailwind.js"},"./theme.css":{"default":"./dist/theme.css"},"./tailwind.css":{"default":"./dist/tailwind.css"},"./styles/base.css":{"default":"./dist/styles/base.css"},"./styles/sync.css":{"default":"./dist/styles/sync.css"},"./styles/button.css":{"default":"./dist/styles/button.css"},"./styles/status.css":{"default":"./dist/styles/status.css"},"./styles/workspace.css":{"default":"./dist/styles/workspace.css"},"./styles/collection.css":{"default":"./dist/styles/collection.css"}},"scripts":{"dev":"tsup --watch","lint":"tsc --noEmit","test":"node --experimental-strip-types --test test/index.test.ts && vitest run","build":"tsup && node scripts/copy-theme.mjs","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"nittaa","email":"nittaa@hotmail.co.jp"},"repository":{"url":"https://github.com/nitta-a/keepkit.git","type":"git","directory":"packages/keepkit-ui"},"description":"Headless, accessible React UI components for KeepKit.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"26.0.0","dependencies":{"@keepkit/core":"0.26.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^8.2.2","jsdom":"^30.0.1","react":"^19.2.8","vitest":"^4.1.11","react-dom":"^19.2.8","typescript":"^6.0.3","@types/react":"^19.2.18","@types/react-dom":"^19.2.5","@testing-library/react":"^16.3.3"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/ui_0.26.4_1788616311762_0.14326975456162683","host":"s3://npm-registry-packages-npm-production"}},"0.27.0":{"name":"@keepkit/ui","version":"0.27.0","license":"MIT","_id":"@keepkit/ui@0.27.0","maintainers":[{"name":"nittaa","email":"nittaa@hotmail.co.jp"}],"dist":{"shasum":"11648f826c26153dc00a62241c5f946dbc39fdda","tarball":"https://registry.npmjs.org/@keepkit/ui/-/ui-0.27.0.tgz","fileCount":17,"integrity":"sha512-pTSXko004Jc4UZn605H8LkjfKtIedvNVlSWzT3PRdSHyOjO16+TWXRTMim4bna0fY7GP5BqTGeIhFSUh6snl/w==","signatures":[{"sig":"MEQCIFueCeoHV0riTCktUG0yh3X/9SV8O7La79jjibF6krV7AiB8Wng1i+FC6m0smzyKChQ3+siqzmdiIkrW/i9g3UdEyw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@keepkit%2fui@0.27.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":924028},"type":"module","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./react":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./tailwind":{"types":"./dist/tailwind.d.ts","import":"./dist/tailwind.js"},"./theme.css":{"default":"./dist/theme.css"},"./tailwind.css":{"default":"./dist/tailwind.css"},"./styles/base.css":{"default":"./dist/styles/base.css"},"./styles/sync.css":{"default":"./dist/styles/sync.css"},"./styles/button.css":{"default":"./dist/styles/button.css"},"./styles/status.css":{"default":"./dist/styles/status.css"},"./styles/workspace.css":{"default":"./dist/styles/workspace.css"},"./styles/collection.css":{"default":"./dist/styles/collection.css"}},"scripts":{"dev":"tsup --watch","lint":"tsc --noEmit","test":"node --experimental-strip-types --test test/index.test.ts && vitest run","build":"tsup && node scripts/copy-theme.mjs","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"nittaa","email":"nittaa@hotmail.co.jp"},"repository":{"url":"https://github.com/nitta-a/keepkit.git","type":"git","directory":"packages/keepkit-ui"},"description":"Headless, accessible React UI components for KeepKit.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"26.0.0","dependencies":{"@keepkit/core":"0.27.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^8.2.2","jsdom":"^30.0.1","react":"^19.2.8","vitest":"^4.1.11","react-dom":"^19.2.8","typescript":"^6.0.3","@types/react":"^19.2.18","@types/react-dom":"^19.2.5","@testing-library/react":"^16.3.3"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/ui_0.27.0_1788738042198_0.49412350117992543","host":"s3://npm-registry-packages-npm-production"}},"0.27.1":{"name":"@keepkit/ui","version":"0.27.1","license":"MIT","_id":"@keepkit/ui@0.27.1","maintainers":[{"name":"nittaa","email":"nittaa@hotmail.co.jp"}],"dist":{"shasum":"9fa144464aedb33b82bfa9a608c888b255e97390","tarball":"https://registry.npmjs.org/@keepkit/ui/-/ui-0.27.1.tgz","fileCount":17,"integrity":"sha512-PY9VVfHuhnp1VJNuQdQdaQ7Z63zv3zsgIY4PTdNwkXbFI44s2nIZhVFqjSeEvJhQ4/pXjZ1dWxM8tkRZ0jDX7w==","signatures":[{"sig":"MEQCIBP4Boaxctu+4ynC/sGLfnKSvxR/BwsWiHbbhy/OxWF6AiBtxLBDnsTuVQ7Fk3Eoz77n8WfEU+rzKcDasYLaWx+1yA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@keepkit%2fui@0.27.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":925866},"type":"module","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./react":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./tailwind":{"types":"./dist/tailwind.d.ts","import":"./dist/tailwind.js"},"./theme.css":{"default":"./dist/theme.css"},"./tailwind.css":{"default":"./dist/tailwind.css"},"./styles/base.css":{"default":"./dist/styles/base.css"},"./styles/sync.css":{"default":"./dist/styles/sync.css"},"./styles/button.css":{"default":"./dist/styles/button.css"},"./styles/status.css":{"default":"./dist/styles/status.css"},"./styles/workspace.css":{"default":"./dist/styles/workspace.css"},"./styles/collection.css":{"default":"./dist/styles/collection.css"}},"scripts":{"dev":"tsup --watch","lint":"tsc --noEmit","test":"node --experimental-strip-types --test test/index.test.ts && vitest run","build":"tsup && node scripts/copy-theme.mjs","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"nittaa","email":"nittaa@hotmail.co.jp"},"repository":{"url":"https://github.com/nitta-a/keepkit.git","type":"git","directory":"packages/keepkit-ui"},"description":"Headless, accessible React UI components for KeepKit.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"26.0.0","dependencies":{"@keepkit/core":"0.27.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^8.2.2","jsdom":"^30.0.1","react":"^19.2.8","vitest":"^4.1.11","react-dom":"^19.2.8","typescript":"^6.0.3","@types/react":"^19.2.18","@types/react-dom":"^19.2.5","@testing-library/react":"^16.3.3"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/ui_0.27.1_1788748670733_0.8203434730909449","host":"s3://npm-registry-packages-npm-production"}},"0.27.3":{"name":"@keepkit/ui","version":"0.27.3","license":"MIT","_id":"@keepkit/ui@0.27.3","maintainers":[{"name":"nittaa","email":"nittaa@hotmail.co.jp"}],"dist":{"shasum":"d828f7413ceab394275486237025643cde52addc","tarball":"https://registry.npmjs.org/@keepkit/ui/-/ui-0.27.3.tgz","fileCount":17,"integrity":"sha512-Gg7Te7eW6L1RYlCSiEnzUOZosBv5L5MYebrxaZQcksc8swr7Cj/sKxjurCfuqBVgRXyYT3JWUS6VZAZ/ftFzvA==","signatures":[{"sig":"MEUCIB5R1EDMnYz0gCemshjvYBWbkz5abjRAwfzrw9W79g4QAiEA0JIdu59VYJDuGz8Q/gTnbUdt+W6RrUMkfBQCHeTtYzk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@keepkit%2fui@0.27.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":975735},"type":"module","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./react":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./tailwind":{"types":"./dist/tailwind.d.ts","import":"./dist/tailwind.js"},"./theme.css":{"default":"./dist/theme.css"},"./tailwind.css":{"default":"./dist/tailwind.css"},"./styles/base.css":{"default":"./dist/styles/base.css"},"./styles/sync.css":{"default":"./dist/styles/sync.css"},"./styles/button.css":{"default":"./dist/styles/button.css"},"./styles/status.css":{"default":"./dist/styles/status.css"},"./styles/workspace.css":{"default":"./dist/styles/workspace.css"},"./styles/collection.css":{"default":"./dist/styles/collection.css"}},"scripts":{"dev":"tsup --watch","lint":"tsc --noEmit","test":"node --experimental-strip-types --test test/index.test.ts && vitest run","build":"tsup && node scripts/copy-theme.mjs","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"nittaa","email":"nittaa@hotmail.co.jp"},"repository":{"url":"https://github.com/nitta-a/keepkit.git","type":"git","directory":"packages/keepkit-ui"},"description":"Headless, accessible React UI components for KeepKit.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"26.0.0","dependencies":{"@keepkit/core":"0.27.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^8.2.2","jsdom":"^30.0.1","react":"^19.2.8","vitest":"^4.1.11","react-dom":"^19.2.8","typescript":"^6.0.3","@types/react":"^19.2.18","@types/react-dom":"^19.2.5","@testing-library/react":"^16.3.3"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/ui_0.27.3_1788781725071_0.715190065778889","host":"s3://npm-registry-packages-npm-production"}},"0.28.0":{"name":"@keepkit/ui","version":"0.28.0","license":"MIT","_id":"@keepkit/ui@0.28.0","maintainers":[{"name":"nittaa","email":"nittaa@hotmail.co.jp"}],"dist":{"shasum":"d7b780998f4a0cd11c19c89326ac833fa6470578","tarball":"https://registry.npmjs.org/@keepkit/ui/-/ui-0.28.0.tgz","fileCount":17,"integrity":"sha512-4CmbeYz1dBA5OGoL8qHH8ZiP279n8RlBg/i4fb1TJ9P0DOiozlT3sm04id74Dj+Vxtrm98bwkJ/oOTuVlC1kGA==","signatures":[{"sig":"MEUCIQDxireuKPFh+UGPW7UgBfJXU3oSWzW7v+VzYemfGu4XpQIgGG61Bv1IrrM1lxmIFoXZs/5YvhK8HSt7pamjSK2zRRo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@keepkit%2fui@0.28.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1016533},"type":"module","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./react":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./tailwind":{"types":"./dist/tailwind.d.ts","import":"./dist/tailwind.js"},"./theme.css":{"default":"./dist/theme.css"},"./tailwind.css":{"default":"./dist/tailwind.css"},"./styles/base.css":{"default":"./dist/styles/base.css"},"./styles/sync.css":{"default":"./dist/styles/sync.css"},"./styles/button.css":{"default":"./dist/styles/button.css"},"./styles/status.css":{"default":"./dist/styles/status.css"},"./styles/workspace.css":{"default":"./dist/styles/workspace.css"},"./styles/collection.css":{"default":"./dist/styles/collection.css"}},"scripts":{"dev":"tsup --watch","lint":"tsc --noEmit","test":"node --experimental-strip-types --test test/index.test.ts && vitest run","build":"tsup && node scripts/copy-theme.mjs","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"nittaa","email":"nittaa@hotmail.co.jp"},"repository":{"url":"https://github.com/nitta-a/keepkit.git","type":"git","directory":"packages/keepkit-ui"},"description":"Headless, accessible React UI components for KeepKit.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"26.0.0","dependencies":{"@keepkit/core":"0.28.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^8.2.2","jsdom":"^30.0.1","react":"^19.2.8","vitest":"^4.1.11","react-dom":"^19.2.8","typescript":"^6.0.3","@types/react":"^19.2.18","@types/react-dom":"^19.2.5","@testing-library/react":"^16.3.3"},"peerDependencies":{"react":">=18","react-dom":">=18"},"_npmOperationalInternal":{"tmp":"tmp/ui_0.28.0_1789390885871_0.4625073607547583","host":"s3://npm-registry-packages-npm-production"}},"0.28.1":{"name":"@keepkit/ui","version":"0.28.1","license":"MIT","_id":"@keepkit/ui@0.28.1","maintainers":[{"name":"nittaa","email":"nittaa@hotmail.co.jp"}],"dist":{"shasum":"69a8e566fda0758bdf699483edce02335bda471e","tarball":"https://registry.npmjs.org/@keepkit/ui/-/ui-0.28.1.tgz","fileCount":17,"integrity":"sha512-hdHqBisf/sPwdyQPnoZJAkTxg6TvKwNEHY/eosFDzeRQ795/brp/54bRReH3QUTw/M28ZDZ8WqZCVNJbAUu2tw==","signatures":[{"sig":"MEUCIQD28Ww64v0slYZsMTIqknk0iIG1wh9vki9cBXOBh8QLWwIgN79uuZ/G+CrIPazTzU1aE6CN2VzYrqEUsCDvTaRF82Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCICwxQ6IgIq/IPhGwpVZW6sVVgChAxPzoQOYGx/mVa397AiEAleub8M/j0bKQlkFw8qUBnArzAL2lhsNTKx79lo9X7IA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@keepkit%2fui@0.28.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1028301},"type":"module","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./react":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./tailwind":{"types":"./dist/tailwind.d.ts","import":"./dist/tailwind.js"},"./theme.css":{"default":"./dist/theme.css"},"./tailwind.css":{"default":"./dist/tailwind.css"},"./styles/base.css":{"default":"./dist/styles/base.css"},"./styles/sync.css":{"default":"./dist/styles/sync.css"},"./styles/button.css":{"default":"./dist/styles/button.css"},"./styles/status.css":{"default":"./dist/styles/status.css"},"./styles/workspace.css":{"default":"./dist/styles/workspace.css"},"./styles/collection.css":{"default":"./dist/styles/collection.css"}},"scripts":{"dev":"tsup --watch","lint":"tsc --noEmit","test":"node --experimental-strip-types --test test/index.test.ts && vitest run","build":"tsup && node scripts/copy-theme.mjs","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"nittaa","email":"nittaa@hotmail.co.jp"},"repository":{"url":"https://github.com/nitta-a/keepkit.git","type":"git","directory":"packages/keepkit-ui"},"description":"Headless, accessible React UI components for KeepKit.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"26.0.0","dependencies":{"@keepkit/core":"0.28.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^8.2.2","jsdom":"^30.0.1","react":"^19.2.8","vitest":"^4.1.11","react-dom":"^19.2.8","typescript":"^6.0.3","@types/react":"^19.2.18","@types/react-dom":"^19.2.5","@testing-library/react":"^16.3.3"},"peerDependencies":{"react":">=18","react-dom":">=18"},"_npmOperationalInternal":{"tmp":"tmp/ui_0.28.1_1789852527409_0.16535241124522537","host":"s3://npm-registry-packages-npm-production"}},"0.28.2":{"name":"@keepkit/ui","version":"0.28.2","license":"MIT","_id":"@keepkit/ui@0.28.2","maintainers":[{"name":"nittaa","email":"nittaa@hotmail.co.jp"}],"dist":{"shasum":"3b653cdce3ff603c293ace89037fb815c32c3028","tarball":"https://registry.npmjs.org/@keepkit/ui/-/ui-0.28.2.tgz","fileCount":17,"integrity":"sha512-DTriXiq/ST5DVrAEQb7uQdI/8zM96DctlGGt9T9p8aqOsS5qPntA0m2cnhC7wX74k2ffvTsvqbw6bDSFI2zuSg==","signatures":[{"sig":"MEQCIHe/CVZdmlVEohNWAOnnSgo0U6Z86KW6FiB8DshzGw3MAiBA1Ktf7emHT9UVpPUxCMqs9T2o5I+16NZ8/OmlGUk+KA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQC29H5Z5JjA30h1P8A8uZL6tRqSCi9vsAehOhgsvbQo2QIhALP4YVec79t5YbyTxykrhOaeMAxkVP6TwVD9K6ns93Wx","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@keepkit%2fui@0.28.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1057440},"type":"module","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./react":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./tailwind":{"types":"./dist/tailwind.d.ts","import":"./dist/tailwind.js"},"./theme.css":{"default":"./dist/theme.css"},"./tailwind.css":{"default":"./dist/tailwind.css"},"./styles/base.css":{"default":"./dist/styles/base.css"},"./styles/sync.css":{"default":"./dist/styles/sync.css"},"./styles/button.css":{"default":"./dist/styles/button.css"},"./styles/status.css":{"default":"./dist/styles/status.css"},"./styles/workspace.css":{"default":"./dist/styles/workspace.css"},"./styles/collection.css":{"default":"./dist/styles/collection.css"}},"scripts":{"dev":"tsup --watch","lint":"tsc --noEmit","test":"node --experimental-strip-types --test test/index.test.ts && vitest run","build":"tsup && node scripts/copy-theme.mjs","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"nittaa","email":"nittaa@hotmail.co.jp"},"repository":{"url":"https://github.com/nitta-a/keepkit.git","type":"git","directory":"packages/keepkit-ui"},"description":"Headless, accessible React UI components for KeepKit.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"26.0.0","dependencies":{"@keepkit/core":"0.28.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^8.2.2","jsdom":"^30.0.1","react":"^19.2.8","vitest":"^4.1.11","react-dom":"^19.2.8","typescript":"^6.0.3","@types/react":"^19.2.18","@types/react-dom":"^19.2.5","@testing-library/react":"^16.3.3"},"peerDependencies":{"react":">=18","react-dom":">=18"},"_npmOperationalInternal":{"tmp":"tmp/ui_0.28.2_1789955252210_0.6203179666992857","host":"s3://npm-registry-packages-npm-production"}},"0.28.3":{"name":"@keepkit/ui","version":"0.28.3","license":"MIT","_id":"@keepkit/ui@0.28.3","maintainers":[{"name":"nittaa","email":"nittaa@hotmail.co.jp"}],"dist":{"shasum":"cec5f7dc56ea3cf2f98c31254cdd00e0003379ed","tarball":"https://registry.npmjs.org/@keepkit/ui/-/ui-0.28.3.tgz","fileCount":17,"integrity":"sha512-YQcAVobEtJKptlnfXsASmWg2geT0G0gn6fkI27EiPG6sNbI5Y3jdCGhmimjz3l0l5NHpbBTUyQrt1JQDtQ5G6Q==","signatures":[{"sig":"MEUCIQCGaALlaTqPxH276PoYDACRh/tygdcl0uojBbrWnbCs1AIgFIB0zJ0/MmtDy7NXMpQSRXyK7THaifNxD8XkjMRB7bw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQC8Nm+LV+X5+UCYTRGuWn2nsDcRAoBoJ36ZRxLkRp5CaQIgB3SRFCRMf/lvKpQbaExH/JBgkoMDCRgv8F7ibfjIyL8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@keepkit%2fui@0.28.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1132830},"type":"module","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./react":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./tailwind":{"types":"./dist/tailwind.d.ts","import":"./dist/tailwind.js"},"./theme.css":{"default":"./dist/theme.css"},"./tailwind.css":{"default":"./dist/tailwind.css"},"./styles/base.css":{"default":"./dist/styles/base.css"},"./styles/sync.css":{"default":"./dist/styles/sync.css"},"./styles/button.css":{"default":"./dist/styles/button.css"},"./styles/status.css":{"default":"./dist/styles/status.css"},"./styles/workspace.css":{"default":"./dist/styles/workspace.css"},"./styles/collection.css":{"default":"./dist/styles/collection.css"}},"scripts":{"dev":"tsup --watch","lint":"tsc --noEmit","test":"node --experimental-strip-types --test test/index.test.ts && vitest run","build":"tsup && node scripts/copy-theme.mjs","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"nittaa","email":"nittaa@hotmail.co.jp"},"repository":{"url":"https://github.com/nitta-a/keepkit.git","type":"git","directory":"packages/keepkit-ui"},"description":"Headless, accessible React UI components for KeepKit.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"26.0.0","dependencies":{"@keepkit/core":"0.28.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^8.2.2","jsdom":"^30.0.1","react":"^19.2.8","vitest":"^4.1.11","react-dom":"^19.2.8","typescript":"^6.0.3","@types/react":"^19.2.18","@types/react-dom":"^19.2.5","@testing-library/react":"^16.3.3"},"peerDependencies":{"react":">=18","react-dom":">=18"},"_npmOperationalInternal":{"tmp":"tmp/ui_0.28.3_1790419581532_0.9587705518795517","host":"s3://npm-registry-packages-npm-production"}},"0.28.4":{"_id":"@keepkit/ui@0.28.4","dist":{"shasum":"5ce15eb0e55505563f943ccfc34dea153c6f9666","tarball":"https://registry.npmjs.org/@keepkit/ui/-/ui-0.28.4.tgz","fileCount":17,"integrity":"sha512-76y3Qyd+nO08adCRxGThg3+Te+9bATSe6LlVHkaLne4iqiAdyqf31HY2ap1Ajwu2BfO4zPFIamVhLU2VjEbklg==","signatures":[{"sig":"MEUCIF8j0rnf/f0RM4o4p5rVLRiwzHOcb0K/iiCFgVR9XwcBAiEA2rwz4+K0d+PODxWe5hVJCPOgUkFzNgL+cCt4WSNLLEk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIAQY2By5zjzuGE9sk8s7Ap8eGiCXq5ozJ4p4QOoOQ+EFAiEAyS1nHwbRf0nGzxA0InrTtwZs6mf7IhlKxphcgbYAxGI="}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@keepkit%2fui@0.28.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1133331},"name":"@keepkit/ui","type":"module","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./react":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./tailwind":{"types":"./dist/tailwind.d.ts","import":"./dist/tailwind.js"},"./theme.css":{"default":"./dist/theme.css"},"./tailwind.css":{"default":"./dist/tailwind.css"},"./styles/base.css":{"default":"./dist/styles/base.css"},"./styles/sync.css":{"default":"./dist/styles/sync.css"},"./styles/button.css":{"default":"./dist/styles/button.css"},"./styles/status.css":{"default":"./dist/styles/status.css"},"./styles/workspace.css":{"default":"./dist/styles/workspace.css"},"./styles/collection.css":{"default":"./dist/styles/collection.css"}},"license":"MIT","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit","test":"node --experimental-strip-types --test test/index.test.ts && vitest run","build":"tsup && node scripts/copy-theme.mjs","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"version":"0.28.4","_npmUser":{"name":"nittaa","email":"nittaa@hotmail.co.jp"},"repository":{"url":"https://github.com/nitta-a/keepkit.git","type":"git","directory":"packages/keepkit-ui"},"description":"Headless, accessible React UI components for KeepKit.","directories":{},"maintainers":[{"name":"nittaa","email":"nittaa@hotmail.co.jp"}],"sideEffects":["**/*.css"],"_nodeVersion":"26.0.0","dependencies":{"@keepkit/core":"0.28.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^8.2.2","jsdom":"^30.0.1","react":"^19.2.8","vitest":"^4.1.11","react-dom":"^19.2.8","typescript":"^6.0.3","@types/react":"^19.2.18","@types/react-dom":"^19.2.5","@testing-library/react":"^16.3.3"},"peerDependencies":{"react":">=18","react-dom":">=18"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/ui_0.28.4_1790511211328_0.06453662462216614"}}},"time":{"created":"2026-08-30T22:13:27.235Z","modified":"2026-09-27T12:13:31.768Z","0.3.0":"2026-08-30T22:13:27.605Z","0.4.0":"2026-08-30T22:49:28.304Z","0.5.0":"2026-08-30T23:34:57.772Z","0.6.0":"2026-08-30T23:51:28.064Z","0.7.0":"2026-08-31T00:33:29.360Z","0.8.0":"2026-08-31T01:36:24.100Z","0.9.0":"2026-08-31T02:48:15.805Z","0.10.0":"2026-08-31T05:22:29.514Z","0.11.0":"2026-08-31T10:05:32.813Z","0.12.0":"2026-08-31T12:52:05.887Z","0.13.0":"2026-08-31T18:14:08.449Z","0.14.0":"2026-09-01T22:00:21.018Z","0.15.0":"2026-09-03T12:00:39.822Z","0.16.0":"2026-09-03T19:46:00.509Z","0.17.0":"2026-09-03T20:38:56.003Z","0.18.0":"2026-09-03T21:18:02.182Z","0.19.0":"2026-09-03T22:03:01.420Z","0.20.0":"2026-09-03T22:38:23.362Z","0.21.0":"2026-09-03T23:47:45.936Z","0.22.0":"2026-09-04T03:53:45.831Z","0.23.0":"2026-09-04T19:00:10.012Z","0.23.1":"2026-09-04T19:13:29.084Z","0.23.2":"2026-09-04T22:46:41.925Z","0.24.0":"2026-09-05T03:17:40.226Z","0.25.0":"2026-09-05T07:12:03.096Z","0.26.1":"2026-09-05T09:52:30.878Z","0.26.2":"2026-09-05T10:31:18.178Z","0.26.4":"2026-09-05T13:51:51.909Z","0.27.0":"2026-09-06T23:40:42.339Z","0.27.1":"2026-09-07T02:37:50.881Z","0.27.3":"2026-09-07T11:48:45.219Z","0.28.0":"2026-09-14T13:01:26.004Z","0.28.1":"2026-09-19T21:15:27.527Z","0.28.2":"2026-09-21T01:47:32.392Z","0.28.3":"2026-09-26T10:46:21.660Z","0.28.4":"2026-09-27T12:13:31.436Z"},"license":"MIT","repository":{"url":"https://github.com/nitta-a/keepkit.git","type":"git","directory":"packages/keepkit-ui"},"description":"Headless, accessible React UI components for KeepKit.","maintainers":[{"name":"nittaa","email":"nittaa@hotmail.co.jp"}],"readme":"# @keepkit/ui\n\n[日本語](#日本語) | [English](#english)\n\n## 日本語\n\nReactアプリケーション向けの標準利用パッケージです。`@keepkit/core`を内包し、Provider、保存ボタン、検索・ソート・ページング付きの一覧を少ないコードで構成できます。\n\n```bash\npnpm add @keepkit/ui\n```\n\n## Minimal Starter Recipe\n\n```tsx\nimport \"@keepkit/ui/theme.css\";\nimport { createBrowserStorageAdapter, createKeepKit } from \"@keepkit/ui\";\n\ntype Meta = { title: string; url: string };\nconst keep = createKeepKit<Meta>({\n  storage: createBrowserStorageAdapter({ key: \"demo:keeps\" }),\n});\n\nexport function SavedArticle({ article }: { article: Meta & { id: string } }) {\n  return (\n    <keep.Provider fallback={<p>Saved items are temporarily unavailable.</p>}>\n      <keep.Button item={{ id: article.id, targetType: \"article\", meta: article }} />\n      <keep.Collection query={{ targetType: \"article\" }} />\n    </keep.Provider>\n  );\n}\n```\n\nすべてのプリミティブは`data-state`を公開し、処理中は`data-loading=\"true\"`、無効時は`data-disabled=\"true\"`になります。`@keepkit/ui/theme.css`を読み込むと、標準の枠、面色、影、フォーカス表示と装飾アイコンが有効になります。通常の削除・一括削除・stale削除は薄い赤の枠線と文字色、hover時の淡い面色で表示し、強い赤の塗りつぶしは確認が必要なエラー状態に限定します。個別の操作は`data-keep-action`で選択でき、`--keep-icon-size`、`--keep-control-gap`、`--keep-shadow`、`--keep-success`、`--keep-warning`で調整できます。CSSを読み込まないheadless利用と`KeepButton icons`による差し替えは維持されます。\n\n```tsx\nimport \"@keepkit/ui/theme.css\";\nimport { createBrowserStorageAdapter, createKeepKit } from \"@keepkit/ui\";\n\ntype ArticleMeta = { title: string; url: string };\nconst keep = createKeepKit<ArticleMeta>({\n  storage: createBrowserStorageAdapter({ key: \"articles\" }),\n  locale: \"ja-JP\",\n  labels: { save: \"保存\", remove: \"削除\" },\n});\n\nfunction SavedArticles() {\n  return (\n    <keep.Provider>\n      <keep.Collection\n        query={{ targetType: \"article\" }}\n        renderItem={(item) => <keep.Button item={{ id: item.id, targetType: item.targetType, meta: item.meta }} />}\n      />\n    </keep.Provider>\n  );\n}\n```\n\n`keep.Collection`は検索、ソート、ページング、loading / empty / error、ARIA live通知を標準で提供します。検索は既定で300msデバウンスされます。`features={{ tagFilter: true, bulkActions: true }}`でタグフィルターと一括操作も有効にできます。個別の`KeepList`、`KeepSearchInput`、`KeepSortSelect`、`KeepPagination`、`KeepItemCheckbox`、`KeepTagEditor`などは高度なレイアウト用に利用できます。`KeepBulkActions`はrender propsで操作UIを差し替えられ、`isAllSelected` / `toggleSelectAll`で表示中アイテムを一括操作できます。`KeepNoteEditor`は既定300msのデバウンス保存に対応し、`debounceMs={0}`でフォーム送信のみへ戻せます。通知領域だけを明示的に置く場合は`KeepAnnouncer`（`KeepAnnouncements`のalias）を使えます。\n\n未分類アイテムを整理するには`<keep.Inbox />`を使います。Inboxは一括移動・archive・pinと、カードのnote/tag編集を有効にします。`KeepCollection features={{ savedViews: true }}`は現在のqueryを保存し、保存済みqueryの適用・名前変更・pin・削除を提供します。`KeepWorkspace modules={{ inbox: true, savedViews: true }}`でも両方をopt-inできます。Saved Viewデータはアイテムとは別の`keepkit:saved-views` localStorage keyに保存されます。\n再発見には`useKeepItem(item).recordOpen()`で`lastOpenedAt`を記録し、`activity`クエリまたは`createRediscoveryQuery()` / `useKeepRediscovery()`を利用できます。`inactiveForMs`は未閲覧なら`savedAt`、閲覧済みなら`lastOpenedAt`を基準にし、開封記録だけでは`updatedAt`を変更しません。`<KeepRediscovery strategy=\"forgotten\" limit={5} />`は低レベルの一覧プリセット、`<KeepRediscoveryPanel strategy=\"forgotten\" limit={5} />`は表示理由とActivityバッジ付きの標準UIです。カード単位では`trackOpen`を指定したときだけ開封記録を有効にします。\n保存確認から対象へ戻すには`revealRequest={{ requestId, itemId }}`を渡し、`onRevealResult`で結果を受け取れます。検索・タグ・保存先フィルターとページを調整して対象を表示します。\n`KeepWorkspace`はこれらのプリミティブを一つにまとめ、`basic`、`standard`、`management`、`sync`のプリセットを提供します。`createKeepKit()`を利用する場合は同じ実装を`keep.Workspace`から型付きで利用できます。`modules`、`slots`、子コンポーネントごとのpropsで部分的に差し替えられます。\n`KeepCollectionManager`は作成・名前変更・削除・件数表示をまとめたheadless UIです。`allowCreate`、`allowRename`、`allowDelete`、`showCounts`で機能を個別に切り替えられ、`collectionLabels`、`title`、`description`、`empty`で表示を差し替えられます。\n標準ブラウザーストレージは空のコレクションと変更後の名前を再読み込み後も復元します。独自の`StorageAdapter`では`getCollections`、`setCollection`、`removeCollection`を実装して永続化できます。\n画面領域を明示する場合は`surface=\"panel\"`または領域別の`surface`と、`sectionGap=\"compact\" | \"comfortable\"`を指定できます。空のslotは枠を生成せず、未指定時と`surface=\"plain\"`では従来のDOM順序を維持します。\n\n```tsx\nconst keep = createKeepKit<ArticleMeta>({ storage, locale: \"ja\" });\n\n<keep.Provider>\n  <keep.Workspace preset=\"sync\" collectionProps={{ layout: \"auto\" }} />\n</keep.Provider>;\n```\n一覧の標準カードで必要な機能だけを有効化する場合は、`features={{ pin: true, archive: true, tags: false }}`を指定できます。`pin` / `archive` はカード操作ボタン、`tags` はカード内のタグ表示を切り替えます。タグフィルターは`tagFilter`、タグ編集は`KeepTagEditor`で個別に制御でき、`itemCardProps`の明示指定が`features`より優先されます。\n`KeepCollection`は検索語と選択タグを`KeepActiveFiltersSummary`のチップとして表示し、個別解除と「すべての条件をクリア」を提供します。`activeFilters`でこの領域を差し替えられます。標準の`KeepList` / `KeepCollection`は、全件0件の`empty-storage`と絞り込み結果0件の`empty-filtered`を区別し、後者では`onClearFilters`付きの解除ボタンを表示します。\n`toolbarLayout=\"grouped\"`と`toolbarVariant=\"panel\"`を指定すると、`slots.toolbarStart` / `slots.toolbarEnd`を含む主操作、検索・ソート、フィルターの各グループをローカライズされた`role=\"group\"`として描画します。狭い幅ではグループ内のコントロールを縦に折り返します。\n`KeepItemCard`は`href`、`onOpen`、`linkTarget`、`linkComponent`に対応し、保存アイテムから詳細ページへ遷移できます。非公開・期限切れ等の`status`を持つアイテムは自動的にリンクを無効化します。`KeepBackup`はJSONのエクスポート、merge / replaceインポート、結果件数、容量エラー表示を提供します。\n`KeepTourBar`（alias: `KeepNavigator`）は進行度、前へ・次へ、一覧へ戻る操作をURLまたはコールバックで提供します。`getItemHref`、`getBackHref`、`onNavigate`でホストのルーティングを注入できます。前後ボタンには隣接アイテム名のプレビューが付き、`getItemTitle`で表示名を差し替えられます。`keyboardShortcuts`を指定するとJ/Kまたは]/[で巡回でき、`useKeepTourShortcuts`ではキーと動作を個別に差し替えられます。`KeepReorderableList`はドラッグ操作と矢印キーによる並び替えを提供し、ドラッグ中の挿入位置を表示します。`KeepCollection reorderable`ではこの導線と標準Undoを差し替えなしで利用できます。\n`KeepShortcutHint`はセマンティックな`<kbd>`バッジを表示します。`KeepTourBar showShortcutHint`は前へ/次へのキーを、`KeepNoteEditor showShortcutHint`は`Ctrl+Enter`を標準ボタン内に表示します。`mergeProps` / `createSlot`は`asChild`でclassName、style、ARIA属性、イベント、子と親のrefを合成し、`composeRefs`はcallback refとobject refをまとめる共通基盤です。フィルターチップは削除後に隣接チップへ戻り、ArrowLeft / ArrowRightで移動できます。\n`KeepList`や`KeepCollection`のカードは検索語を大文字小文字を区別せず`<mark class=\"keep-highlight\" data-highlight=\"true\">`で表示します。単体の`KeepItemCard`では`highlightQuery`、任意のテキストでは`KeepHighlight`を使えます。`KeepItemCard.Media`は読み込み状態を`data-media-status`で公開し、失敗時は`fallback`または標準SVGへ切り替わります。\nテーマCSSではハイライト用の`--keep-highlight-bg` / `--keep-highlight-fg`（ライト／ダーク対応）、タイトル2行・メモプレビュー3行の制限、メディアの固定アスペクト比を適用します。`KeepItemStatusBadge`は状態ラベルに加えてチェック・時計・進入禁止・鍵のSVGアイコンを表示し、状態ごとの形状とトーンを組み合わせます。個別の状態スタイルは`@keepkit/ui/styles/status.css`からも読み込めます。\n外部URLの詳細リンクには`target=\"_blank\"`と`rel=\"noreferrer\"`が既定で補完され、利用できないカードには`aria-disabled=\"true\"`と`data-item-status`が付与されます。同期競合ダイアログではローカルとリモートの更新日時・メモを並べて確認できます。\nカードは`cardVariant=\"outlined\" | \"elevated\" | \"filled\"`で面の表現を選べます。`--keep-card-border` / `--keep-card-shadow`と`--keep-surface-border` / `--keep-surface-background`はカード、ツールバー、Workspace領域を個別に調整するテーマトークンです。\n\n`KeepList`は初回ロード中、`layout`に合う`KeepItemCardSkeleton`を既定で6枚表示します。`loadingCount`で枚数を変更でき、従来の`loading`または`renderLoading`で完全に差し替えられます。`layout=\"auto\"`は画面幅ではなく配置コンテナ幅に追従し、サイドバーやモーダルでも1列から複数列へ切り替わります。スケルトンのパルスは`prefers-reduced-motion`で静止表示になります。\nカードグループはRoving Tabindexを採用しており、カードにフォーカスして矢印キー、Home、Endで移動できます。\n\nカードの一部だけを配置し直す場合はCompound APIを利用できます。画像alt、タイトルリンク、タグ一覧のARIAラベル、保存操作の状態は各パーツでも維持されます。\n\n```tsx\n<KeepItemCard item={item} href={`/items/${item.id}`} getImageProps={getImageProps}>\n  <KeepItemCard.Media fallback=\"No image\" />\n  <KeepItemCard.Content>\n    <KeepItemCard.Title />\n    <KeepItemCard.Tags />\n  </KeepItemCard.Content>\n  <KeepItemCard.Actions>\n    <KeepItemCard.Save />\n    <KeepItemCard.Pin />\n    <KeepItemCard.Archive />\n    <KeepItemCard.Remove />\n  </KeepItemCard.Actions>\n</KeepItemCard>\n```\n\n`KeepKitProvider` / `KeepUiProvider`の`onFeedback`は`item-saved`、`item-removed`、`item-restored`、`sync-completed`、`sync-failed`、`stale-pruned`を通知します。削除系イベントには`undo`と現在ロケールの`undoLabel`が含まれます。ラベルは既存の`labels: { save: \"保存\" }`形式で内容を上書きし、`labelOptions: { collection: { text: \"カテゴリ\", visible: false } }`で内容と表示／非表示を設定できます。非表示の表示ラベルでも、操作に必要なARIA名は維持されます。Sonner互換の関数なら次の1行で接続できます（ライブラリ依存は追加されません）。\n\n```tsx\nconst onFeedback = useKeepToastFeedback(toast);\n<KeepKitProvider storage={storage} onFeedback={onFeedback}>{children}</KeepKitProvider>;\n```\n\nv0.28.4では空のコレクションと変更後の名前が再読み込み後も復元されます。Inbox、Saved Views、利用履歴、Rediscovery、個別解除できるフィルターサマリーも利用できます。\nPhase 4の状態UIとして`KeepItemStatusBadge`、`KeepStaleNotice`、`KeepPruneStaleButton`、`KeepSyncStatusBanner`、`KeepSyncRecoveryDialog`を利用できます。`import \"@keepkit/ui/theme.css\"`でテーマCSSを有効にできます。\n\n### Tailwind／shadcnテーマ\n\n```css\n/* globals.css */\n@import \"tailwindcss\";\n@import \"@keepkit/ui/tailwind.css\";\n```\n\n```tsx\nimport { KeepThemeProvider, KeepCollection } from \"@keepkit/ui\";\n\n<KeepThemeProvider theme=\"ocean\" mode=\"system\" density=\"comfortable\" radius=\"medium\">\n  <KeepCollection layout=\"grid\" />\n</KeepThemeProvider>;\n```\n\n色テーマは`default`、`ocean`、`forest`、`sunset`、`lavender`から選べます。既存の`compact`、`minimal`、`rounded`、`high-contrast`、`dark`も引き続き利用できます。`theme`は`mode`、`density`、`radius`と独立しており、`KeepKitProvider theme=\"forest\" mode=\"dark\"`のように組み合わせられます。選択肢をUIへ表示する場合は`keepThemeNames`を利用できます。\n\nTailwind v4の`--color-background`、`--color-foreground`、`--color-card`、`--color-muted`、`--color-border`、`--color-primary`、`--color-destructive`、`--color-ring`をKeepKitのスコープ内へ継承します。KeepKitはホストの`--color-*`変数を上書きせず、`--color-keep-*`としてTailwindへ公開します。`variables`、`accentColor`、`highContrast`、`reducedMotion`による上書きも維持されます。`keepKitTheme`は`@keepkit/ui/tailwind`から、分割CSSは`@keepkit/ui/styles/base.css`、`button.css`、`collection.css`、`sync.css`から読み込めます。`KeepButton icons={{ save, saved, remove }}`と`iconOnly`でLucide等へ差し替えられます。\n\nViewer向け保存カードとカスタムテーマは次のように構成できます。`savedAt`、タイトル、タグ、詳細リンク、保存解除ボタン、期限切れ表示は`KeepItemCard`の標準markupに含まれます。\n\n```tsx\nimport \"@keepkit/ui/theme.css\";\nimport { KeepItemCard, KeepThemeProvider } from \"@keepkit/ui\";\n\n<KeepThemeProvider\n  theme=\"rounded\"\n  variables={{ \"--keep-primary\": \"oklch(0.55 0.2 250)\", \"--keep-card-gap\": \"0.75rem\" }}\n>\n  <KeepItemCard\n    item={item}\n    href={`/guide/${item.id}`}\n    getImageProps={(entry) => ({ src: entry.meta.image, alt: entry.meta.title })}\n  />\n</KeepThemeProvider>;\n```\n\n状態は色だけに依存せず、ラベルと属性でも利用できます。`[data-state=\"saved\"]`、`[data-state=\"unsaved\"]`、`[data-loading=\"true\"]`、`[data-state=\"error\"]`、`[data-state=\"empty\"]`、`[data-state=\"stale\"]`、`[data-status=\"expired\"]`、`[data-status=\"removed\"]`、`[data-state=\"selected\"]`をホストCSSやTailwindのdata variantから参照できます。既存テーマから移行する場合は、`@keepkit/ui/theme.css`を残したまま`--keepkit-*`参照を`--keep-*`へ置き換えてください。Pages Routerでは`createNextPagesRouterAdapter(router)`を`urlAdapter`へ注入します。\n\n一覧のqueryは次の形式に統一されています。\n\n```tsx\nconst query = {\n  targetType: \"article\",\n  tags: [\"read\"],\n  search: { query: \"react\", mode: \"and\" as const },\n  sort: { by: \"updatedAt\" as const, direction: \"desc\" as const },\n  pagination: { page: 1, pageSize: 20 },\n};\n```\n\n保存操作にはID付きの最小入力を渡します。保存・更新時刻はKeepKitが管理します。\n\n```tsx\nconst article = { id: \"article-123\", targetType: \"article\", meta: { title, url } };\nconst item = keep.useItem(article);\n```\n\n高度なフレームワーク中立APIは`@keepkit/core/core`、低レベルのReact APIは`@keepkit/core/react`、ストレージ実装は`@keepkit/core/storage`から利用できます。\n\n## English\n\nThe standard React package for KeepKit. It includes `@keepkit/core` and provides a single typed provider, save button, and searchable/sortable/paginated collection workflow.\n\n```bash\npnpm add @keepkit/ui\n```\n\n```tsx\nimport { createBrowserStorageAdapter, createKeepKit } from \"@keepkit/ui\";\n\ntype ArticleMeta = { title: string; url: string };\nconst keep = createKeepKit<ArticleMeta>({\n  storage: createBrowserStorageAdapter({ key: \"articles\" }),\n  labels: { save: \"Save\", remove: \"Remove\" },\n});\n\nfunction SavedArticles() {\n  return (\n    <keep.Provider>\n      <keep.Collection query={{ targetType: \"article\" }} />\n    </keep.Provider>\n  );\n}\n```\n\n`keep.Collection` includes search, sorting, pagination, loading/empty/error states, and polite live announcements. Search is debounced by 300ms by default. Enable `features={{ tagFilter: true, bulkActions: true }}` for tag filtering and bulk operations. Use the individual `KeepList`, `KeepSearchInput`, `KeepSortSelect`, `KeepPagination`, `KeepItemCheckbox`, and `KeepTagEditor` primitives when you need a custom layout. `KeepBulkActions` supports render props and exposes `isAllSelected` / `toggleSelectAll` for visible-item selection. `KeepNoteEditor` auto-saves dirty notes after 300ms by default; set `debounceMs={0}` to use form submission only. Mount `KeepAnnouncer` (`KeepAnnouncements` alias) when you need the live region explicitly.\n\nUse `<keep.Inbox />` to triage unassigned items. It enables batch collection moves, archive/pin actions, and card note/tag editing. `KeepCollection features={{ savedViews: true }}` saves the current query and supports applying, renaming, pinning, and deleting saved queries. `KeepWorkspace modules={{ inbox: true, savedViews: true }}` opts into both. Saved Views use the separate `keepkit:saved-views` localStorage key.\nPass `revealRequest={{ requestId, itemId }}` to return to an item from a save confirmation; `onRevealResult` reports the outcome after search, tag, collection, and pagination state is adjusted.\n`KeepWorkspace` composes these primitives into `basic`, `standard`, `management`, and `sync` presets. `createKeepKit()` exposes the same implementation as a typed `keep.Workspace`. Override individual areas through `modules`, `slots`, and child-component props.\n`KeepCollectionManager` is a headless collection-management UI for creating, renaming, deleting, and counting collections. Toggle each capability with `allowCreate`, `allowRename`, `allowDelete`, and `showCounts`; customize `collectionLabels`, `title`, `description`, and `empty`.\nStandard browser storage restores empty collections and renamed labels after reload. Custom `StorageAdapter` implementations can persist them by implementing `getCollections`, `setCollection`, and `removeCollection`.\nUse `surface=\"panel\"` or a per-region `surface` map together with `sectionGap=\"compact\" | \"comfortable\"` to make workspace boundaries explicit. Empty slots do not create frames, and omitted `surface` or `surface=\"plain\"` preserves the existing DOM order.\n\n```tsx\nconst keep = createKeepKit<ArticleMeta>({ storage, locale: \"en\" });\n\n<keep.Provider>\n  <keep.Workspace preset=\"sync\" collectionProps={{ layout: \"auto\" }} />\n</keep.Provider>;\n```\nEnable only the standard card features you need with `features={{ pin: true, archive: true, tags: false }}`. `pin` and `archive` toggle card action buttons, while `tags` controls tag display inside cards. Tag filtering remains independently controlled by `tagFilter`, tag editing by `KeepTagEditor`, and explicit `itemCardProps` values take precedence over `features`.\n`KeepCollection` renders the current search and tag filters as `KeepActiveFiltersSummary` chips with individual removal and a “Clear all filters” action. Replace that area with the `activeFilters` slot. Default `KeepList` / `KeepCollection` output distinguishes `empty-storage` from `empty-filtered`; the filtered state includes a reset button when `onClearFilters` is provided.\nSet `toolbarLayout=\"grouped\"` and `toolbarVariant=\"panel\"` to render host `slots.toolbarStart` / `slots.toolbarEnd`, query controls, and filters as localized `role=\"group\"` regions. The query and filter groups stack their controls at narrow widths.\n\nThe opt-in theme adds neutral borders, surfaces, shadows, focus treatment, and decorative action icons without changing accessible names. Regular remove, bulk-delete, and stale-prune actions use a subtle red outline and text with a light hover surface; solid red is reserved for error states that need confirmation. Target individual controls with `data-keep-action`, or override `--keep-icon-size`, `--keep-control-gap`, `--keep-shadow`, `--keep-success`, and `--keep-warning`. Consumers that omit the CSS keep the headless markup, and `KeepButton icons` continues to take precedence over the built-in icon.\n`KeepItemCard` accepts `href`, `onOpen`, `linkTarget`, and `linkComponent` for detail-page navigation. Links are disabled for unavailable `status` values such as private or expired. `KeepBackup` provides JSON export, merge/replace import, result counts, and quota-error messaging.\n`KeepTourBar` (aliased as `KeepNavigator`) provides progress, previous/next, and return-to-list actions through URLs or callbacks. Inject host routing with `getItemHref`, `getBackHref`, and `onNavigate`. Adjacent item titles are previewed below the navigation labels; customize them with `getItemTitle`. Set `keyboardShortcuts` for J/K or ]/[ tour navigation, or use `useKeepTourShortcuts` for custom bindings. `KeepReorderableList` supports drag and keyboard reordering and shows the active insertion position; `KeepCollection reorderable` includes that path and standard undo without a slot replacement.\n`KeepTourProvider` / `useKeepTour` manage a session-scoped tour, and `KeepFloatingTour` renders controls in a body portal so the host layout needs no reserved space. Start with `start({ itemIds })`, configure `position`, `offset`, `zIndex`, and routing callbacks. Same-tab state resumes from `sessionStorage`; set `tour={{ sessionKey }}` on `KeepKitProvider` to namespace it.\n`KeepShortcutHint` renders semantic `<kbd>` badges. `KeepTourBar showShortcutHint` displays the previous/next keys, while `KeepNoteEditor showShortcutHint` displays `Ctrl+Enter` in the save button. `mergeProps` / `createSlot` compose className, style, ARIA, events, and child/parent refs for `asChild` slots; `composeRefs` combines callback and object refs. Filter chips restore focus to an adjacent chip after removal and support ArrowLeft / ArrowRight navigation.\n`KeepFloatingTour` is a fixed portal-rendered tour control that does not consume page layout space. Use `KeepTourProvider` / `useKeepTour` to start an ordered session with `start({ itemIds })` and configure host routing with `getItemHref`, `getBackHref`, or `onNavigate`.\nCards rendered by `KeepList` and `KeepCollection` highlight case-insensitive search matches with `<mark class=\"keep-highlight\" data-highlight=\"true\">`. Use `highlightQuery` on a standalone `KeepItemCard` or `KeepHighlight` for arbitrary text. `KeepItemCard.Media` exposes its loading state through `data-media-status` and replaces failed images with `fallback` or the built-in SVG placeholder.\nThe theme defines WCAG-oriented `--keep-highlight-bg` / `--keep-highlight-fg` pairs for light and dark modes, clamps titles to two lines and memo previews to three, and reserves a stable media aspect ratio. `KeepItemStatusBadge` combines visible status text with check, clock, ban, or lock SVG icons; import `@keepkit/ui/styles/status.css` when using the status styles independently.\nExternal detail URLs receive `target=\"_blank\"` and `rel=\"noreferrer\"` defaults. Unavailable cards expose `aria-disabled=\"true\"` and normalized `data-item-status` values, and the sync recovery dialog compares local and remote updated dates and notes side by side.\nChoose `cardVariant=\"outlined\" | \"elevated\" | \"filled\"` for card surfaces. Override `--keep-card-border` / `--keep-card-shadow` and `--keep-surface-border` / `--keep-surface-background` independently for cards, toolbars, and workspace regions.\n\nDuring initial loading, `KeepList` renders six layout-matched `KeepItemCardSkeleton` placeholders by default. Change the count with `loadingCount`, or replace them with the existing `loading` prop or its `renderLoading` alias. `layout=\"auto\"` responds to the available container width rather than viewport width, so embedded sidebars and dialogs collapse to one column. Skeleton pulses become static under `prefers-reduced-motion`.\nCard groups use Roving Tabindex, so a focused card can move to adjacent cards with arrow keys or jump with Home and End.\n\nUse the compound parts to rearrange only the card regions you own while preserving image alt text, linked headings, the labelled tag list, and action state:\n\n```tsx\n<KeepItemCard item={item} href={`/items/${item.id}`} getImageProps={getImageProps}>\n  <KeepItemCard.Media fallback=\"No image\" />\n  <KeepItemCard.Content>\n    <KeepItemCard.Title />\n    <KeepItemCard.Tags />\n  </KeepItemCard.Content>\n  <KeepItemCard.Actions />\n</KeepItemCard>\n```\n\n`onFeedback` on `KeepKitProvider` / `KeepUiProvider` receives `item-saved`, `item-removed`, `item-restored`, `sync-completed`, `sync-failed`, and `stale-pruned`. Override text with the existing `labels: { save: \"Save\" }` form and configure text or visibility with `labelOptions: { collection: { text: \"Category\", visible: false } }`; required ARIA names remain available when visible text is hidden. Removal events include an `undo` function and locale-aware `undoLabel`. Connect a Sonner-compatible function without adding a package dependency:\n\n```tsx\nconst onFeedback = useKeepToastFeedback(toast);\n<KeepKitProvider storage={storage} onFeedback={onFeedback}>{children}</KeepKitProvider>;\n```\n\nv0.28.4 restores empty collections and renamed labels after reload. Inbox triage, Saved Views, activity tracking, Rediscovery, and removable active-filter summaries are also available. The portal-rendered floating tour UI, Tailwind CSS v4 integration, host-theme isolation, and cascade-layer support remain available.\nPhase 4 adds `KeepItemStatusBadge`, `KeepStaleNotice`, `KeepPruneStaleButton`, `KeepSyncStatusBanner`, and `KeepSyncRecoveryDialog` for unavailable items, sync failures, conflict resolution, and backup recovery. Import `@keepkit/ui/theme.css` or `@keepkit/ui/tailwind.css` for the opt-in theme layer.\n\n### Tailwind and shadcn theme\n\n```css\n/* globals.css */\n@import \"tailwindcss\";\n@import \"@keepkit/ui/tailwind.css\";\n```\n\n```tsx\nimport { KeepThemeProvider, KeepCollection } from \"@keepkit/ui\";\n\n<KeepThemeProvider theme=\"ocean\" mode=\"system\" density=\"comfortable\" radius=\"medium\">\n  <KeepCollection layout=\"grid\" />\n</KeepThemeProvider>;\n```\n\nColor themes include `default`, `ocean`, `forest`, `sunset`, and `lavender`. Existing `compact`, `minimal`, `rounded`, `high-contrast`, and `dark` presets remain available. `theme` composes independently with `mode`, `density`, and `radius`, so `theme=\"forest\" mode=\"dark\"` is supported. Use the exported `keepThemeNames` list when building a selector.\n\nThe scoped `--keep-*` tokens inherit complete Tailwind v4 `--color-*` values from shadcn/ui when present. KeepKit does not replace the host's generic color aliases; its Tailwind aliases are namespaced as `--color-keep-*`. The provider supports `.dark`, system preference, `variables`, `accentColor`, `highContrast`, and `reducedMotion`. Use `keepKitTheme` from `@keepkit/ui/tailwind`, feature CSS from `@keepkit/ui/styles/*`, and `icons={{ save, saved, remove }}` / `iconOnly` on `KeepButton` for Lucide or shadcn replacements. The existing Next.js Pages Router recipe remains unchanged: inject `createNextPagesRouterAdapter(router)` into `urlAdapter`.\n\nFor a Viewer card, the default `KeepItemCard` markup includes the title, tags, saved date, detail link, remove action, thumbnail, and expired-item notice. Override tokens without replacing the markup, or use render props for a complete replacement:\n\n```tsx\nimport \"@keepkit/ui/theme.css\";\nimport { KeepItemCard, KeepThemeProvider } from \"@keepkit/ui\";\n\n<KeepThemeProvider\n  theme=\"rounded\"\n  variables={{ \"--keep-primary\": \"oklch(0.55 0.2 250)\", \"--keep-card-gap\": \"0.75rem\" }}\n>\n  <KeepItemCard\n    item={item}\n    href={`/guide/${item.id}`}\n    getImageProps={(entry) => ({ src: entry.meta.image, alt: entry.meta.title })}\n  />\n</KeepThemeProvider>;\n```\n\nUse `[data-state=\"saved\"]`, `[data-state=\"unsaved\"]`, `[data-loading=\"true\"]`, `[data-state=\"error\"]`, `[data-state=\"empty\"]`, `[data-state=\"stale\"]`, `[data-status=\"expired\"]`, `[data-status=\"removed\"]`, and `[data-state=\"selected\"]` from host CSS or Tailwind data variants. For migration, keep importing `@keepkit/ui/theme.css` while replacing direct `--keepkit-*` references with `--keep-*`. In the Pages Router, inject `createNextPagesRouterAdapter(router)` into `urlAdapter`.\n\nCollection queries use one canonical shape: `targetType`, `tags`, `search`, `sort`, `pagination`, `filter`, and `savedBetween`. Saved item inputs contain only `id`, `meta`, `targetType`, `note`, and `tags`; KeepKit owns persistence timestamps.\nFor rediscovery, use `useKeepItem(item).recordOpen()` to persist `lastOpenedAt`, then query `activity` with `opened`, `lastOpenedBefore`, `lastOpenedAfter`, or `inactiveForMs`. `inactiveForMs` uses `savedAt` for never-opened items and `lastOpenedAt` for opened items; recording an open does not change `updatedAt`. `createRediscoveryQuery()` / `useKeepRediscovery()` provide standard `never-opened`, `forgotten`, and `recently-opened` views. `<KeepRediscovery>` remains the low-level list, while `<KeepRediscoveryPanel>` adds an explanation and Activity badges. `KeepItemCard trackOpen` opts into tracking without changing existing cards.\n\nFramework-neutral APIs remain available from `@keepkit/core/core`, low-level React bindings from `@keepkit/core/react`, and storage adapters from `@keepkit/core/storage`.\n\n## Archive, pin, collections, and quick save editing\n\nThe UI package exports `KeepArchiveButton`, `KeepArchiveScopeSelect`, `KeepPinButton`, `KeepCollectionSelect`, `KeepCollectionFilter`, `KeepSavePopover`, `KeepQuickEditor`, and `useKeepQuickEditor`. `KeepCollection archiveScope=\"active\" | \"archived\" | \"all\"` provides a localized scope selector and URL synchronization; `reorderable` provides standard drag/keyboard ordering and undo. Buttons expose `aria-pressed`, `data-archived`/`data-pinned`, and `data-keep-action`. Collection labels default to IDs and can be overridden with `collectionLabels`. `KeepItemCard showEditButton` opens the standard QuickEditor dialog and `editSlot` customizes its content. Enable `features={{ collectionFilter: true }}` on `KeepCollection` to include the collection filter. `KeepSavePopover` wraps `KeepButton`, opens after a new save, labels and focuses its dialog, flushes pending edits before closing, and restores focus to the trigger. Its quick editor debounces note, tags, and collection updates by 300ms and exposes `saveStatus`. Set `showSaveButton={false}` when visible save status should replace the submit button. `KeepItemCard.Save` and `KeepItemCard.Remove` let compound cards place those actions alongside `Pin` and `Archive` without replacing the default card API.\n\n## アーカイブ・ピン留め・コレクション・保存直後編集\n\nUI パッケージは `KeepArchiveButton`、`KeepArchiveScopeSelect`、`KeepPinButton`、`KeepCollectionSelect`、`KeepCollectionFilter`、`KeepSavePopover`、`KeepQuickEditor`、`useKeepQuickEditor` を公開します。`KeepCollection archiveScope=\"active\" | \"archived\" | \"all\"` はローカライズされたスコープ選択とURL同期を、`reorderable` は標準のドラッグ／キーボード並び替えとUndoを提供します。ボタンは `aria-pressed`、`data-archived` / `data-pinned`、`data-keep-action` を出力します。`KeepItemCard showEditButton` は標準QuickEditor dialogを開き、`editSlot`で内容を差し替えられます。コレクション名は既定で ID を表示し、`collectionLabels` で置換できます。`KeepCollection` に `features={{ collectionFilter: true }}` を指定するとフィルターを統合できます。`KeepSavePopover` は `KeepButton` を内部 trigger とし、新規保存後にdialogへフォーカスし、閉じる前に未保存編集をflushしてtriggerへフォーカスを戻します。クイックエディターはメモ・タグ・コレクションを一時状態として扱い、既定300msで保存し、`saveStatus`で状態を公開します。自動保存だけを表示する場合は`showSaveButton={false}`を指定します。compound cardでは`KeepItemCard.Save` / `Remove`を`Pin` / `Archive`と同じ操作領域に配置できます。\n","readmeFilename":""}