{"_id":"@emrelutfi/emre-toast","_rev":"3-4834556fbbf2e98705bf1a8abaa77974","name":"@emrelutfi/emre-toast","dist-tags":{"latest":"0.1.2"},"versions":{"0.1.0":{"name":"@emrelutfi/emre-toast","version":"0.1.0","keywords":["react","toast","notification","react-toast","sonner-alternative","streaming","progress","undo","real-time","headless","ai","llm","sonner","zero-dependencies"],"license":"MIT","_id":"@emrelutfi/emre-toast@0.1.0","maintainers":[{"name":"emrelutfi","email":"mail@emrelutfi.com"}],"homepage":"https://github.com/lutfiEmre/emre-toast#readme","bugs":{"url":"https://github.com/lutfiEmre/emre-toast/issues"},"dist":{"shasum":"3a5e40ae12b6e4d483161e552be87f5c303dfa52","tarball":"https://registry.npmjs.org/@emrelutfi/emre-toast/-/emre-toast-0.1.0.tgz","fileCount":8,"integrity":"sha512-0PMMTMcpdc8VO1GyToNp0Ysvs/fSsVLcisCnhE7X6z+m4omCH4CBChOpQTvR/BT5QUL/JPsfQ5P6Ee42QzSp0A==","signatures":[{"sig":"MEYCIQD8Sha1DcsaNKHq1DrdqnZoCQ8zk3H2BVVlNC5gnUSI1wIhAN/5SIwhWrgQJ8AyVRYFjfFvo18Fd2JwyaMtFga+lNqk","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":191764},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"./styles.css":"./dist/styles.css"},"gitHead":"d067a18510e488cfb7999245263930ddb9262cdf","scripts":{"dev":"tsup --watch","build":"pnpm exec tsup && cp src/styles.css dist/styles.css","clean":"rm -rf dist"},"_npmUser":{"name":"emrelutfi","email":"mail@emrelutfi.com"},"repository":{"url":"git+https://github.com/lutfiEmre/emre-toast.git","type":"git"},"_npmVersion":"11.6.2","description":"AI-first React toast notifications with streaming, progress, undo countdown, and premium stacked UX.","directories":{},"_nodeVersion":"25.2.1","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.5","react":"^18.3.1","react-dom":"^18.3.1","typescript":"^5.6.3","@types/react":"^18.3.12","@types/react-dom":"^18.3.1"},"peerDependencies":{"react":">=18","react-dom":">=18"},"_npmOperationalInternal":{"tmp":"tmp/emre-toast_0.1.0_1775138692832_0.7580757297388938","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@emrelutfi/emre-toast","version":"0.1.1","keywords":["react","toast","notification","react-toast","sonner-alternative","streaming","progress","undo","real-time","headless","ai","llm","sonner","zero-dependencies"],"license":"MIT","_id":"@emrelutfi/emre-toast@0.1.1","maintainers":[{"name":"emrelutfi","email":"mail@emrelutfi.com"}],"homepage":"https://github.com/lutfiEmre/emre-toast#readme","bugs":{"url":"https://github.com/lutfiEmre/emre-toast/issues"},"dist":{"shasum":"94190f376f3d08f59b48b74587c5ab92ba424b93","tarball":"https://registry.npmjs.org/@emrelutfi/emre-toast/-/emre-toast-0.1.1.tgz","fileCount":8,"integrity":"sha512-Y27OgQTWww3vh2AqYLpO/Qo+arVYxafZ1ashNj2Os6FTjM8SVd1di9W6temQBNVO3d+GcvHUQ2o0E1Ypg60+Lg==","signatures":[{"sig":"MEUCIQCFM3g2bUuzLGt2nB0Ny9Go3E2uLTN1tjVo/kU2eY9/HQIgc23GRYJBK1iqBFzZZPb1hyS3dNcALkyBshS/FaeG80E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":191763},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"./styles.css":"./dist/styles.css"},"gitHead":"a64d2d3a5dab627bb6b9faea86ff5527e34c4318","scripts":{"dev":"tsup --watch","build":"pnpm exec tsup && cp src/styles.css dist/styles.css","clean":"rm -rf dist"},"_npmUser":{"name":"emrelutfi","email":"mail@emrelutfi.com"},"repository":{"url":"git+https://github.com/lutfiEmre/emre-toast.git","type":"git"},"_npmVersion":"11.6.2","description":"React toast notifications with streaming updates, progress, undo countdown, and premium stacked UX.","directories":{},"_nodeVersion":"25.2.1","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.5","react":"^18.3.1","react-dom":"^18.3.1","typescript":"^5.6.3","@types/react":"^18.3.12","@types/react-dom":"^18.3.1"},"peerDependencies":{"react":">=18","react-dom":">=18"},"_npmOperationalInternal":{"tmp":"tmp/emre-toast_0.1.1_1775138979794_0.4198285417081762","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@emrelutfi/emre-toast","version":"0.1.2","description":"React toast notifications with streaming updates, progress, undo countdown, and premium stacked UX.","main":"./dist/index.js","module":"./dist/index.mjs","types":"./dist/index.d.ts","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"./styles.css":"./dist/styles.css"},"scripts":{"build":"pnpm exec tsup && cp src/styles.css dist/styles.css","dev":"tsup --watch","clean":"rm -rf dist"},"peerDependencies":{"react":">=18","react-dom":">=18"},"devDependencies":{"@types/react":"^18.3.12","@types/react-dom":"^18.3.1","react":"^18.3.1","react-dom":"^18.3.1","tsup":"^8.3.5","typescript":"^5.6.3"},"keywords":["react","toast","notification","react-toast","sonner-alternative","streaming","progress","undo","real-time","headless","typescript","sonner","zero-dependencies"],"repository":{"type":"git","url":"git+https://github.com/lutfiEmre/emre-toast.git"},"homepage":"https://github.com/lutfiEmre/emre-toast#readme","bugs":{"url":"https://github.com/lutfiEmre/emre-toast/issues"},"license":"MIT","gitHead":"a64d2d3a5dab627bb6b9faea86ff5527e34c4318","_id":"@emrelutfi/emre-toast@0.1.2","_nodeVersion":"25.2.1","_npmVersion":"11.6.2","dist":{"integrity":"sha512-/Ar6f1Mv6cBXTG7RHwOUUi8iUikZP0Q4rRhx8efYdpPV4XNC5+g6DD9h7PBGk1DPtEv0TGsiJ5Z72IKAWFXHhQ==","shasum":"1585505f4cbcbde2e7c44fc3dc40b038d2d2ac0b","tarball":"https://registry.npmjs.org/@emrelutfi/emre-toast/-/emre-toast-0.1.2.tgz","fileCount":9,"unpackedSize":194534,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIBaH1QU/nIJvZtneBufKdic4CxRfQwTUfC6DY7z3+3YJAiBmZDKDXqk9513p7Ozu5x+hEh7fwOd9VXw02mbh8HyNjg=="}]},"_npmUser":{"name":"emrelutfi","email":"mail@emrelutfi.com"},"directories":{},"maintainers":[{"name":"emrelutfi","email":"mail@emrelutfi.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/emre-toast_0.1.2_1775139516253_0.3080808470930432"},"_hasShrinkwrap":false}},"time":{"created":"2026-04-02T14:04:52.771Z","modified":"2026-04-02T14:18:36.498Z","0.1.0":"2026-04-02T14:04:53.122Z","0.1.1":"2026-04-02T14:09:39.984Z","0.1.2":"2026-04-02T14:18:36.404Z"},"bugs":{"url":"https://github.com/lutfiEmre/emre-toast/issues"},"license":"MIT","homepage":"https://github.com/lutfiEmre/emre-toast#readme","keywords":["react","toast","notification","react-toast","sonner-alternative","streaming","progress","undo","real-time","headless","typescript","sonner","zero-dependencies"],"repository":{"type":"git","url":"git+https://github.com/lutfiEmre/emre-toast.git"},"description":"React toast notifications with streaming updates, progress, undo countdown, and premium stacked UX.","maintainers":[{"name":"emrelutfi","email":"mail@emrelutfi.com"}],"readme":"# @emrelutfi/emre-toast\n\nTypeScript-first React toast notifications with streaming updates, progress, undo countdown, and premium stacked UX.\n\n## Install\n\n```bash\nnpm install @emrelutfi/emre-toast\n# or\npnpm add @emrelutfi/emre-toast\n# or\nyarn add @emrelutfi/emre-toast\n```\n\n## Quick Start\n\n```tsx\nimport { Toaster, toast } from \"@emrelutfi/emre-toast\";\nimport \"@emrelutfi/emre-toast/styles.css\";\n\nexport default function App() {\n  return (\n    <>\n      <button onClick={() => toast.success(\"Saved successfully\")}>Save</button>\n      <Toaster position=\"bottom-right\" closeButton />\n    </>\n  );\n}\n```\n\n## Why Use It\n\n- Smooth stacked notifications with expand-on-hover behavior\n- In-place streaming and progress updates\n- Built-in undo countdown flow\n- Promise lifecycle helpers\n- Zero runtime dependencies\n- Works with React 18+\n\n## API\n\nMain exports:\n\n- `Toaster` (alias of `EmreToaster`)\n- `toast` (alias of `emreToast`)\n- `useEmreToast`\n\nToast methods:\n\n- `toast(\"Message\", options?)`\n- `toast.success(\"Message\", options?)`\n- `toast.error(\"Message\", options?)`\n- `toast.warning(\"Message\", options?)`\n- `toast.info(\"Message\", options?)`\n- `toast.loading(\"Message\", options?)`\n- `toast.update(id, updates)`\n- `toast.dismiss(id)`\n- `toast.promise(promise, { loading, success, error })`\n- `toast.progress(\"Uploading...\", { progress: 0 })`\n- `toast.stream(\"Generating...\", { onStream })`\n- `toast.undo(\"Item archived\", { onUndo, countdown })`\n\n## Patterns\n\n### Update a toast in place\n\n```tsx\nconst id = toast.loading(\"Analyzing...\");\n\nsetTimeout(() => {\n  toast.update(id, { title: \"Checking dependencies...\" });\n}, 800);\n\nsetTimeout(() => {\n  toast.update(id, { type: \"success\", title: \"Analysis completed\" });\n}, 1800);\n```\n\n### Promise workflow\n\n```tsx\nawait toast.promise(fetch(\"/api/save\"), {\n  loading: \"Saving...\",\n  success: \"Saved\",\n  error: \"Save failed\",\n});\n```\n\n### Progress workflow\n\n```tsx\nconst id = toast.progress(\"Uploading...\", { progress: 0 });\n\ntoast.update(id, { progress: 35 });\ntoast.update(id, { progress: 78 });\ntoast.update(id, { type: \"success\", title: \"Upload complete\", progress: 100 });\n```\n\n### Undo workflow\n\n```tsx\ntoast.undo(\"Email archived\", {\n  countdown: 5000,\n  onUndo: () => restoreEmail(),\n});\n```\n\n### Group repeated events\n\n```tsx\ntoast.success(\"File saved\", { groupKey: \"file-save\" });\ntoast.success(\"File saved\", { groupKey: \"file-save\" });\n```\n\n## Toaster Options\n\n```tsx\n<Toaster\n  position=\"top-right\"\n  theme=\"system\"\n  maxVisible={4}\n  animation=\"slide\"\n  closeButton\n  expand\n  movable\n/>\n```\n\n## Styling\n\nDefault styles are shipped in `@emrelutfi/emre-toast/styles.css`.\n\nFor per-toast customization, pass:\n\n- `classNames`\n- `fillColor`\n- `borderColor`\n- `borderWidth`\n- `icon`\n- `avatar`\n\n## License\n\nMIT\n","readmeFilename":"README.md"}