{"_id":"@babanomania/statekit","name":"@babanomania/statekit","dist-tags":{"latest":"0.1.0"},"versions":{"0.1.0":{"name":"@babanomania/statekit","version":"0.1.0","description":"50+ application states — loading, empty, error, offline, success, and more — as animated, themeable, production-ready React components.","license":"MIT","type":"module","main":"./dist/index.cjs","module":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./styles.css":"./dist/styles.css","./tailwind-preset":"./tailwind-preset/index.cjs"},"sideEffects":["**/*.css"],"publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+https://github.com/babanomania/state-kit.git","directory":"packages/statekit"},"homepage":"https://babanomania.github.io/state-kit/","engines":{"node":">=18"},"keywords":["react","components","ui","states","loading","error","empty-state","design-system"],"peerDependencies":{"react":">=18","react-dom":">=18"},"devDependencies":{"@testing-library/jest-dom":"^6.9.1","@testing-library/react":"^16.0.0","@types/jest-axe":"^3.5.9","@types/react":"^18.3.0","@types/react-dom":"^18.3.0","autoprefixer":"^10.4.0","jest-axe":"^10.0.0","jsdom":"^25.0.0","postcss":"^8.4.0","react":"^18.3.0","react-dom":"^18.3.0","tailwindcss":"^3.4.0","tsup":"^8.3.0","typescript":"^5.6.0","vitest":"^2.1.0"},"scripts":{"build":"tsup && pnpm run build:css","build:css":"tailwindcss -i src/styles.css -o dist/styles.css --minify","dev":"tsup --watch","typecheck":"tsc --noEmit","lint":"eslint src","test":"vitest run"},"_id":"@babanomania/statekit@0.1.0","bugs":{"url":"https://github.com/babanomania/state-kit/issues"},"_integrity":"sha512-ZquNno4+cbKju+Jc/ZOlJR23bDfgvs4z5yn58qV1WCvX2XsZop5+Ojw9SlJMSI4nm5nzPQS1+xv9kpioYNpkVQ==","_resolved":"/tmp/894463f64b730c34f86a024e77a33836/babanomania-statekit-0.1.0.tgz","_from":"file:babanomania-statekit-0.1.0.tgz","_nodeVersion":"20.20.2","_npmVersion":"10.8.2","dist":{"integrity":"sha512-ZquNno4+cbKju+Jc/ZOlJR23bDfgvs4z5yn58qV1WCvX2XsZop5+Ojw9SlJMSI4nm5nzPQS1+xv9kpioYNpkVQ==","shasum":"daced26e42c78b53f77e4c3e6d025329cb2af69f","tarball":"https://registry.npmjs.org/@babanomania/statekit/-/statekit-0.1.0.tgz","fileCount":11,"unpackedSize":434870,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@babanomania%2fstatekit@0.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIGSRItY9YpLxZeJZxsKpPZT01gaq3AewYNfeID3YdvbTAiBTB9NQn+yA09hSmNWF1UD6ubL7pI9opjPF09sBdFKx8w=="}]},"_npmUser":{"name":"babanomania","email":"babanomania@gmail.com"},"directories":{},"maintainers":[{"name":"babanomania","email":"babanomania@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/statekit_0.1.0_1782013599591_0.717824137620148"},"_hasShrinkwrap":false}},"time":{"created":"2026-06-21T03:46:39.342Z","0.1.0":"2026-06-21T03:46:39.719Z","modified":"2026-06-21T03:46:40.151Z"},"maintainers":[{"name":"babanomania","email":"babanomania@gmail.com"}],"description":"50+ application states — loading, empty, error, offline, success, and more — as animated, themeable, production-ready React components.","homepage":"https://babanomania.github.io/state-kit/","keywords":["react","components","ui","states","loading","error","empty-state","design-system"],"repository":{"type":"git","url":"git+https://github.com/babanomania/state-kit.git","directory":"packages/statekit"},"bugs":{"url":"https://github.com/babanomania/state-kit/issues"},"license":"MIT","readme":"# @babanomania/statekit\n\nBuild Better States. 50+ application states — loading, empty, error, offline, success, and more —\nas animated, themeable, production-ready React components.\n\n## Install\n\n```bash\nnpm install @babanomania/statekit\n```\n\n## Quickstart\n\n```tsx\nimport { StateProvider, Spinner } from \"@babanomania/statekit\";\nimport \"@babanomania/statekit/styles.css\";\n\nfunction App() {\n  return (\n    <StateProvider theme=\"aurora\">\n      <Spinner />\n    </StateProvider>\n  );\n}\n```\n\n## The flagship: `DataStateBoundary`\n\nWrap a data fetch once — it renders the right state automatically (loading, error, empty, offline),\nwith built-in retry and offline detection:\n\n```tsx\nimport { DataStateBoundary } from \"@babanomania/statekit\";\n\nfunction Users() {\n  const { data, loading, error, refetch } = useUsers();\n\n  return (\n    <DataStateBoundary loading={loading} error={error} data={data} onRetry={refetch} theme=\"aurora\">\n      {(users) => <UsersTable data={users} />}\n    </DataStateBoundary>\n  );\n}\n```\n\n32 components across Loading, Empty, Error, Success, Connectivity, Security, Data, and System\ncategories — every one themeable via the same 6-token contract (`createTheme`) and built on motion\nthat respects `prefers-reduced-motion`.\n\n## Documentation\n\nFull component catalog, theming guide, and motion gallery:\nhttps://babanomania.github.io/state-kit/\n\n## License\n\nMIT\n","readmeFilename":"README.md","_rev":"1-e5e667a4b4a409c900326efb9001673b"}