{"_id":"@100printswithme/browser-sdk","name":"@100printswithme/browser-sdk","dist-tags":{"latest":"1.0.0"},"versions":{"1.0.0":{"name":"@100printswithme/browser-sdk","version":"1.0.0","description":"Official Browser SDK for 100PrintsWithMe","type":"module","main":"./dist/100prints-sdk.umd.js","module":"./dist/100prints-sdk.es.js","types":"./dist/100prints-sdk.d.ts","exports":{".":{"types":"./dist/100prints-sdk.d.ts","import":"./dist/100prints-sdk.es.js","require":"./dist/100prints-sdk.umd.js"}},"scripts":{"dev":"vite","build":"vite build && node scripts/postbuild.js","test":"vitest run","watch":"vite build --watch","prepublishOnly":"npm run build"},"devDependencies":{"@types/jsbarcode":"^3.11.4","@types/pdfkit":"^0.17.6","@types/qrcode":"^1.5.6","brotli-dec-wasm":"^2.3.2","canvg":"^4.0.3","idb-keyval":"^6.2.5","jsbarcode":"^3.12.3","jspdf":"^4.0.0","jszip":"^3.10.1","konva":"^9.3.22","qrcode":"^1.5.4","typescript":"^5.8.2","vite":"^6.2.0","vite-plugin-dts":"^3.9.1"},"license":"MIT","homepage":"https://github.com/Controcode/100printswithme-browser-sdk","repository":{"type":"git","url":"git+https://github.com/Controcode/100printswithme-browser-sdk.git"},"bugs":{"url":"https://github.com/Controcode/100printswithme-browser-sdk/issues"},"gitHead":"28f4b47466d2ab9f4d64169c586872e571bfd442","_id":"@100printswithme/browser-sdk@1.0.0","_nodeVersion":"22.18.0","_npmVersion":"11.6.1","dist":{"integrity":"sha512-sSv5fhN1TqqaQ2CP8TMLH1spe+unAurIXa0HZiJaL1w618xlq077jEHSNMTwHlVIGz6g6v2dVPnzHLTitJ53ww==","shasum":"4a6f7dd85f6ca3e2785f3529f2aeb05cbbc4c2b6","tarball":"https://registry.npmjs.org/@100printswithme/browser-sdk/-/browser-sdk-1.0.0.tgz","fileCount":8,"unpackedSize":12833943,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIGjXvK1TDRVSOi9igQDVnqR1Ij0aaFl6yNYsURAXLpc9AiAAibPxQuFYbdfYd56XLf9ABSMoptuJYMz+FP4rQvg1sA=="}]},"_npmUser":{"name":"controcode","email":"berishabh.dev@gmail.com"},"directories":{},"maintainers":[{"name":"controcode","email":"berishabh.dev@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/browser-sdk_1.0.0_1782598623405_0.2618077290728531"},"_hasShrinkwrap":false}},"time":{"created":"2026-06-27T22:17:03.127Z","1.0.0":"2026-06-27T22:17:03.629Z","modified":"2026-06-27T22:17:03.844Z"},"maintainers":[{"name":"controcode","email":"berishabh.dev@gmail.com"}],"description":"Official Browser SDK for 100PrintsWithMe","homepage":"https://github.com/Controcode/100printswithme-browser-sdk","repository":{"type":"git","url":"git+https://github.com/Controcode/100printswithme-browser-sdk.git"},"bugs":{"url":"https://github.com/Controcode/100printswithme-browser-sdk/issues"},"license":"MIT","readme":"# 100PrintsWithMe Browser SDK\r\n\r\nOfficial Browser SDK for **100PrintsWithMe**.\r\n### Test SDK with Your API Key Live  **https://playground.100printswith.me**\r\nGenerate certificates, ID cards, event badges, invoices, reports, tickets, and other print-ready documents directly in the browser using templates created in the 100PrintsWithMe Dashboard.\r\n\r\nNo backend rendering required .\r\n\r\n---\r\n\r\n## Features\r\n\r\n- 🚀 Browser-side rendering\r\n- 🖼️ Live template preview\r\n- 📄 Export as PDF or PNG\r\n- 📦 Bulk document generation\r\n- ⚡ Built-in rendering engine\r\n- 🎨 Pixel-perfect output\r\n- 📝 TypeScript support\r\n- ⚛️ React ready\r\n- 🌐 Framework agnostic\r\n- 📚 Complete documentation\r\n\r\n---\r\n\r\n## Installation\r\n\r\n```bash\r\nnpm install @100printswithme/browser-sdk\r\n```\r\n\r\nor\r\n\r\n```bash\r\npnpm add @100printswithme/browser-sdk\r\n```\r\n\r\n---\r\n\r\n## Quick Start\r\n\r\n```ts\r\nimport { BrowserSDK } from \"@100printswithme/browser-sdk\";\r\n\r\nconst sdk = new BrowserSDK({\r\n  key: \"pk_live_xxxxxxxxxxxxxx\",\r\n});\r\n\r\nconst { blob } = await sdk.render({\r\n  templateId: \"template_abc123\",\r\n  payload: {\r\n    name: \"John Doe\",\r\n    company: \"100PrintsWithMe\",\r\n  },\r\n  format: \"pdf\",\r\n});\r\n```\r\n\r\n---\r\n\r\n## Live Preview\r\n\r\n```ts\r\nawait sdk.preview({\r\n  templateId: \"template_abc123\",\r\n  payload,\r\n  container: previewRef.current,\r\n});\r\n```\r\n\r\n---\r\n\r\n## Bulk Rendering\r\n\r\n```ts\r\nconst result = await sdk.renderBulk({\r\n  templateId: \"template_abc123\",\r\n  rows: employees,\r\n  format: \"pdf\",\r\n  mode: \"merged\",\r\n});\r\n```\r\n\r\n---\r\n\r\n## Why 100PrintsWithMe?\r\n\r\nUnlike low-level PDF libraries, the Browser SDK renders templates visually designed in the **100PrintsWithMe Dashboard**.\r\n\r\nYour application only needs to:\r\n\r\n1. Create a template visually.\r\n2. Get the Template ID.\r\n3. Pass your data.\r\n4. Render.\r\n\r\nNo canvas programming.\r\nNo PDF layout code.\r\nNo manual positioning.\r\n\r\n---\r\n\r\n## Documentation\r\n\r\nComplete documentation:\r\n\r\n**https://100printswith.me/docs**\r\n\r\nDocumentation includes:\r\n\r\n- Installation\r\n- Authentication\r\n- BrowserSDK\r\n- Preview\r\n- Render\r\n- Bulk Rendering\r\n- Type Definitions\r\n- React Examples\r\n- Vanilla JavaScript\r\n- API Reference\r\n- Best Practices\r\n- FAQ\r\n\r\n---\r\n\r\n## Examples\r\n\r\nExamples are available in the `/examples` directory.\r\n\r\n- React\r\n- Vanilla JavaScript\r\n- TypeScript\r\n- WordPress (coming soon)\r\n\r\n---\r\n\r\n## Supported Frameworks\r\n\r\n- React\r\n- Next.js\r\n- Vue\r\n- Angular\r\n- Svelte\r\n- Vite\r\n- Vanilla JavaScript\r\n\r\n---\r\n\r\n## Browser Support\r\n\r\nModern browsers supporting:\r\n\r\n- ES2020+\r\n- Canvas API\r\n- Blob API\r\n- Fetch API\r\n\r\n---\r\n\r\n## Roadmap\r\n\r\n- WordPress Plugin\r\n- React Components\r\n- Vue Components\r\n- Shopify App\r\n- Flutter SDK\r\n- Node SDK\r\n\r\n---\r\n\r\n## License\r\n\r\nCopyright (c) 2026 100PrintsWithMe.\r\n\r\nThis SDK is distributed under the MIT License.\r\n\r\nSee the LICENSE file for details.\r\n","readmeFilename":"README.md","_rev":"1-fec1706e9a9112f44778a0a78b80d69c"}