{"_id":"@astratra/saas-kit-ui","_rev":"3-6891da268643c7e7272ba5550cfa8d0e","name":"@astratra/saas-kit-ui","dist-tags":{"latest":"1.0.1"},"versions":{"0.1.0":{"name":"@astratra/saas-kit-ui","version":"0.1.0","keywords":["astratra","react","dashboard","saas"],"license":"MIT","_id":"@astratra/saas-kit-ui@0.1.0","maintainers":[{"name":"emch99","email":"emchkongo@gmail.com"}],"dist":{"shasum":"b5a3e8873c90b6adc6b1a2a837d89801c92804f3","tarball":"https://registry.npmjs.org/@astratra/saas-kit-ui/-/saas-kit-ui-0.1.0.tgz","fileCount":19,"integrity":"sha512-FbLwoN0w07i4ptoyNZjRmSe6bqEbcicL0hFben52d9KGdzGi/Zm1aP2VdHzHBjdSdh2HUrFUPp0kwPaRi3YRDQ==","signatures":[{"sig":"MEYCIQD23v0PsjnMpYmNRVaSqrw5WRNCUXDNgVTNjKZVJdUf3wIhAIffzsYAXzNddw05zUc/T5HywjGqYdBvZZjf2mSziKvi","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":30599},"main":"src/index.jsx","type":"module","module":"src/index.jsx","exports":{".":"./src/index.jsx","./api":"./src/lib/api.js","./styles.css":"./src/styles/global.css"},"gitHead":"1e576a2e512d525705894c42f7269882b6a09a7f","scripts":{"test":"node --test __tests__/*.test.js"},"_npmUser":{"name":"emch99","email":"emchkongo@gmail.com"},"_npmVersion":"11.5.1","description":"Reusable React dashboard shell for Astratra SaaS applications.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"22.18.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"react":">=18","react-dom":">=18"},"_npmOperationalInternal":{"tmp":"tmp/saas-kit-ui_0.1.0_1786200654223_0.9456119220082522","host":"s3://npm-registry-packages-npm-production"}},"1.0.0":{"name":"@astratra/saas-kit-ui","version":"1.0.0","keywords":["astratra","react","dashboard","saas"],"license":"MIT","_id":"@astratra/saas-kit-ui@1.0.0","maintainers":[{"name":"emch99","email":"emchkongo@gmail.com"}],"dist":{"shasum":"1dadfac6ff34c8ea23c06ad2195e150c0d9b3288","tarball":"https://registry.npmjs.org/@astratra/saas-kit-ui/-/saas-kit-ui-1.0.0.tgz","fileCount":19,"integrity":"sha512-msq3Gj3xfXWLXgf1sPWrOclRraToj+WeV/dYhPx0XbVZ5Z11srbRTqjgMf2mTs+gL2e176Z5T0KWod7tcIihyQ==","signatures":[{"sig":"MEYCIQDh7xhmVzwJQ0QWkWA7MBsJc5BLtwRm7oLgjGXcn4N2fQIhAMWbNIOw6y/NZ1L6o8Os5tpzfpT3us3sTDa/52dGa3kT","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":31177},"main":"src/index.jsx","type":"module","module":"src/index.jsx","exports":{".":"./src/index.jsx","./api":"./src/lib/api.js","./styles.css":"./src/styles/global.css"},"gitHead":"e4ba5847cd3342fd9398c867592b762f852a8ef8","scripts":{"test":"node --test __tests__/*.test.js"},"_npmUser":{"name":"emch99","email":"emchkongo@gmail.com"},"_npmVersion":"11.13.0","description":"Reusable React dashboard shell for Astratra SaaS applications.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"24.16.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"react":">=18","react-dom":">=18"},"_npmOperationalInternal":{"tmp":"tmp/saas-kit-ui_1.0.0_1786210254156_0.3605474029226208","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@astratra/saas-kit-ui","version":"1.0.1","description":"Reusable React dashboard shell for Astratra SaaS applications.","engines":{"node":">=20"},"type":"module","main":"src/index.jsx","module":"src/index.jsx","exports":{".":"./src/index.jsx","./api":"./src/lib/api.js","./styles.css":"./src/styles/global.css"},"scripts":{"test":"node --test __tests__/*.test.js"},"keywords":["astratra","react","dashboard","saas"],"license":"MIT","publishConfig":{"access":"public"},"peerDependencies":{"react":">=18","react-dom":">=18"},"sideEffects":["**/*.css"],"gitHead":"c0f1cf78836764168bbbeabdebb1574f2ec68543","_id":"@astratra/saas-kit-ui@1.0.1","_nodeVersion":"24.16.0","_npmVersion":"11.13.0","dist":{"integrity":"sha512-+tx/lLobOum3jc4oKxSBsL0RCZobMJ/5f+bFAoS6TbxSxek5b02NsyKSbgOyOqxpv5PrISC0Tot3H0xWHIymlQ==","shasum":"8bd4159cdb61658e11cb76b8e22a2fe4889fba49","tarball":"https://registry.npmjs.org/@astratra/saas-kit-ui/-/saas-kit-ui-1.0.1.tgz","fileCount":19,"unpackedSize":32510,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIBRBDnNE4Qa1lfW6gdmHpjACXllf5UHCKOp73T62fC6tAiEA6mqut60We8xXBOcQQXWmhBWJlGfB1Rxj+m22iwEmA3w="}]},"_npmUser":{"name":"emch99","email":"emchkongo@gmail.com"},"directories":{},"maintainers":[{"name":"emch99","email":"emchkongo@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/saas-kit-ui_1.0.1_1786297889031_0.8227620248054321"},"_hasShrinkwrap":false}},"time":{"created":"2026-08-08T14:50:53.929Z","modified":"2026-08-09T17:51:29.419Z","0.1.0":"2026-08-08T14:50:54.367Z","1.0.0":"2026-08-08T17:30:54.288Z","1.0.1":"2026-08-09T17:51:29.232Z"},"license":"MIT","keywords":["astratra","react","dashboard","saas"],"description":"Reusable React dashboard shell for Astratra SaaS applications.","maintainers":[{"name":"emch99","email":"emchkongo@gmail.com"}],"readme":"# @astratra/saas-kit-ui\n\nInterface React reutilisable pour demarrer rapidement un dashboard SaaS\nAstratra. Le package expose une application dashboard complete et quelques\nprimitives (`AuthProvider`, `useAuth`, `apiFetch`) pour composer une interface\nplus specifique.\n\n## Installation\n\n```bash\nnpm install @astratra/saas-kit-ui react react-dom\n```\n\nDans le repo Astratra, `examples/dashboard-ui` montre son integration avec un\nbackend `@astratra/saas-kit`.\n\n## Utilisation\n\n```jsx\nimport React from 'react';\nimport { createRoot } from 'react-dom/client';\nimport { AstratraDashboardApp } from '@astratra/saas-kit-ui';\n\ncreateRoot(document.getElementById('root')).render(\n  <React.StrictMode>\n    <AstratraDashboardApp />\n  </React.StrictMode>\n);\n```\n\nPar defaut, l'interface appelle `http://localhost:4000`. Avec Vite, definis\n`VITE_API_URL` pour pointer vers ton backend :\n\n```bash\nVITE_API_URL=http://localhost:4000 npm run dev\n```\n\n## Surface exportee\n\n- `AstratraDashboardApp` : dashboard complet login/users/settings/overview.\n- `AuthProvider` et `useAuth` : session bearer token en memoire.\n- `apiFetch` et `ApiError` : client minimal compatible avec les reponses\n  `apiResponse` d'`@astratra/core`.\n\nLe package ne contient pas de serveur Express et ne fixe aucun domaine metier.\nLe backend reste fourni par `@astratra/saas-kit` ou par ton application.\n\n## `AuthProvider`/`useAuth` vs `@astratra/react`\n\nDeux packages Astratra exposent des primitives de session React, avec des\nchoix différents et volontaires — ce n'est pas un doublon accidentel :\n\n- **`AuthProvider`/`useAuth` (ce package)** : garde le JWT en mémoire JS et\n  l'attache en `Authorization: Bearer` via `apiFetch`. Couplé au dashboard\n  complet `AstratraDashboardApp` (login/users/settings/overview) — conçu\n  pour démarrer vite avec un backend `@astratra/saas-kit` standard, pas pour\n  être réutilisé isolément dans une UI déjà existante.\n- **`SessionProvider`/`useSession` (`@astratra/react`)** : ne stocke aucun\n  token côté client — la session vit dans un cookie `HttpOnly` géré par le\n  backend, l'app injecte juste `getSession`/`signIn`/`signOut`. Pas de\n  dashboard imposé, pas de routes fixes ; à choisir quand tu construis ta\n  propre UI par-dessus `@astratra/saas-kit` (avec les cookies de session\n  activés côté `@astratra/security`) plutôt que d'utiliser\n  `AstratraDashboardApp` tel quel.\n\nEn résumé : utilise ce package si `AstratraDashboardApp` te convient tel\nquel ; utilise `@astratra/react` si tu construis ta propre interface et que\nton backend utilise les sessions cookie `HttpOnly` plutôt qu'un token Bearer\ngéré côté client.\n","readmeFilename":"README.md"}