{"_id":"@aistrategy/components","_rev":"2-bf101c88e4ef7fa3bb27dc5127092dfb","name":"@aistrategy/components","dist-tags":{"latest":"1.0.1"},"versions":{"1.0.0":{"name":"@aistrategy/components","version":"1.0.0","_id":"@aistrategy/components@1.0.0","maintainers":[{"name":"saurav001","email":"saurav.samui@strategywerks.ai"}],"dist":{"shasum":"867a3488cdd88d1c37804bb7d0d8c2811bf60ebc","tarball":"https://registry.npmjs.org/@aistrategy/components/-/components-1.0.0.tgz","fileCount":10,"integrity":"sha512-StmrWMW7yRB+ICx2gM8c475IpiWgUzW+ePbXFnmCIKRLb3kUf9B7kl1bpN2rJ70Kr8Y7pLbbanSEpxFsntbkng==","signatures":[{"sig":"MEQCID0CVn+4q1xnBYMYtRlW4R6gaCmJ2hBRoDzW3coFCLyWAiAlZI0j9fmB42/EUn3hE7q2hLMrWS0KUoh7p+WbXRIw/A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":13491},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./index.css":"./dist/index.css"},"gitHead":"5a53fa685fc1035a41e927e6b8c17b38881cb949","scripts":{"dev":"tsup src/index.ts --watch","pack":"npm run build && npm pack","build":"npm run build:js && npm run build:css","build:js":"tsup src/index.ts --format cjs,esm --dts --external react,react-dom","build:css":"npx @tailwindcss/cli -i ./src/styles/tailwind.css -o ./dist/index.css --minify"},"_npmUser":{"name":"saurav001","email":"saurav.samui@strategywerks.ai"},"_npmVersion":"10.8.1","description":"Cross-framework Onboarding component (React + Angular compatible)","directories":{},"_nodeVersion":"20.16.0","dependencies":{"react-to-webcomponent":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","postcss":"^8.5.6","typescript":"^5.9.3","tailwindcss":"^4.1.17","@types/react":"^19.2.2","autoprefixer":"^10.4.22","@tailwindcss/cli":"^4.1.17","@types/react-dom":"^19.2.2"},"peerDependencies":{"react":">=18","react-dom":">=18"},"_npmOperationalInternal":{"tmp":"tmp/components_1.0.0_1762948289267_0.9474421313017047","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@aistrategy/components","version":"1.0.1","description":"Cross-framework Onboarding component (React + Angular compatible)","main":"dist/index.js","module":"dist/index.mjs","types":"dist/index.d.ts","exports":{".":{"import":"./dist/index.mjs","require":"./dist/index.js","types":"./dist/index.d.ts"},"./index.css":"./dist/index.css"},"scripts":{"build:js":"tsup src/index.ts --format cjs,esm --dts --external react,react-dom","build:css":"npx @tailwindcss/cli -i ./src/styles/tailwind.css -o ./dist/index.css --minify","build":"npm run build:js && npm run build:css","pack":"npm run build && npm pack","dev":"tsup src/index.ts --watch"},"peerDependencies":{"react":">=18","react-dom":">=18"},"dependencies":{"react-to-webcomponent":"^2.0.1"},"devDependencies":{"typescript":"^5.9.3","tsup":"^8.5.0","tailwindcss":"^4.1.17","@tailwindcss/cli":"^4.1.17","postcss":"^8.5.6","autoprefixer":"^10.4.22","@types/react":"^19.2.2","@types/react-dom":"^19.2.2"},"_id":"@aistrategy/components@1.0.1","gitHead":"5a53fa685fc1035a41e927e6b8c17b38881cb949","_nodeVersion":"20.16.0","_npmVersion":"10.8.1","dist":{"integrity":"sha512-tMGJy/pu3G6LJAR8djquzcAEsUwa8WLTxkM1hTI4lgZS8OkN8ems3c7JhqT3jLPl5tuLFFU9xYpwsDq9Wg7Y+g==","shasum":"fe18d9f92f01c3b73a712d4f938ecb9d6ae819ce","tarball":"https://registry.npmjs.org/@aistrategy/components/-/components-1.0.1.tgz","fileCount":10,"unpackedSize":13499,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIAvTkUtQLjvNAP2LF656BTCtrEcz6b4Gu9tEHnDaQOntAiEApSMY8L9wMwj4kEeYc03iXbUpQ9pbAe5/Pw/Aa4YipMc="}]},"_npmUser":{"name":"saurav001","email":"saurav.samui@strategywerks.ai"},"directories":{},"maintainers":[{"name":"saurav001","email":"saurav.samui@strategywerks.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/components_1.0.1_1762948718668_0.08841138937078896"},"_hasShrinkwrap":false}},"time":{"created":"2025-11-12T11:51:29.116Z","modified":"2025-11-12T11:58:39.057Z","1.0.0":"2025-11-12T11:51:29.514Z","1.0.1":"2025-11-12T11:58:38.857Z"},"description":"Cross-framework Onboarding component (React + Angular compatible)","maintainers":[{"name":"saurav001","email":"saurav.samui@strategywerks.ai"}],"readme":"# 🧩 @myscan/components (Local Dev)\n\nA cross-framework **Onboarding component** built with React — compatible with Angular, Vue, and Vanilla JS via Web Components.\n\n> ⚠️ This package is **not published to npm yet**.  \n> Use these steps to run and test it locally.\n\n---\n\n## 🚀 Getting Started (Local Setup)\n\n### 1️⃣ Clone the repo\n```bash\nnpm install\nnpm run build\nIf successful, you’ll see:\n✔ Build completed successfully\n\n## 🧪 Testing Locally\n\n### Option A — React App\n1.Create a test React project\ncd ..\nnpx create-react-app myscan-test --template typescript\ncd myscan-test\n\n2. Link your local package\nFrom your library folder:\ncd ../swan-web-components\nnpm run build\nnpm pack\n\nThen in your test app:\ncd ../myscan-test\nnpm install ../swan-web-components/myscan-components-1.0.0.tgz\n\n\n3.Use the component\nIn src/App.tsx:\nimport { Onboarding } from \"@myscan/components\";\n\nfunction App() {\n  return (\n    <Onboarding\n      config={{ bgColor: \"#fafafa\", theme: \"light\" }}\n      steps={[\"name\", \"email\", \"focalLength\"]}\n      onEachStepComplete={(step, value) => console.log(step, value)}\n      onComplete={(data) => console.log(\"All done:\", data)}\n    />\n  );\n}\n\nexport default App;\n\nRun the test app:\nnpm start\n\n### Option B — Test as Web Component (for Angular / JS)\n\n1.Build your package\nnpm run build\n\n2.Create a simple test HTML file\ntest.html\n<!DOCTYPE html>\n<html>\n  <head>\n    <title>myscan-onboarding test</title>\n    <script src=\"./dist/web-components/register.js\"></script>\n  </head>\n  <body>\n    <h2>Testing myscan-onboarding</h2>\n\n    <myscan-onboarding></myscan-onboarding>\n\n    <script>\n      const el = document.querySelector(\"myscan-onboarding\");\n      el.config = { bgColor: \"#fafafa\", theme: \"light\" };\n      el.steps = [\"name\", \"email\", \"focalLength\"];\n      el.onEachStepComplete = (s, v) => console.log(\"Step:\", s, v);\n      el.onComplete = (data) => console.log(\"Done:\", data);\n    </script>\n  </body>\n</html>\n\n3.Serve the file locally\nnpx serve .\nThen open the URL shown (e.g., http://localhost:3000/test.html).\n\n\n\n","readmeFilename":"ReadMe.md"}