{"_id":"@bimetal/toast-headless","_rev":"4-d2911ffd033c11eb6ddbd925603875d8","name":"@bimetal/toast-headless","dist-tags":{"latest":"0.38.0"},"versions":{"0.35.0":{"name":"@bimetal/toast-headless","version":"0.35.0","keywords":["toast","notification","snackbar","feedback","headless","controller","framework-agnostic","a11y"],"author":{"name":"Andreas Biederbeck"},"license":"Apache-2.0","_id":"@bimetal/toast-headless@0.35.0","maintainers":[{"name":"biederbe","email":"mail@biederbeck.de"}],"homepage":"https://github.com/bimetal/bimetal#readme","bugs":{"url":"https://github.com/bimetal/bimetal/issues"},"dist":{"shasum":"4b8dd1dc7aece8ad747541278ff0d903b16a920d","tarball":"https://registry.npmjs.org/@bimetal/toast-headless/-/toast-headless-0.35.0.tgz","fileCount":20,"integrity":"sha512-k7MovuG2PIxqznNfM24HbxekxijK9MqsGVCGbuoi/10e1QnZNXivgxmTfv9gaafSvnUn7ZbRTzJX7JlcGUIlKA==","signatures":[{"sig":"MEUCIHAGGmJTgLq1FqFSprKZI23pyIIYk0tPzm0+hw66lLOtAiEAsDhipiNn9SNKPrZ/kFTBa/CmpjIPRli/3DYiFav81mU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":85540},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"879bd4f41496ec870dbfac92a8228bf93226f256","scripts":{"dev":"tsc -b --watch","test":"vitest run","build":"tsc -b","typecheck":"tsc --noEmit -p tsconfig.test.json","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"biederbe","email":"mail@biederbeck.de"},"repository":{"url":"git+https://github.com/bimetal/bimetal.git","type":"git","directory":"packages/toast/toast-headless"},"_npmVersion":"11.17.0","description":"Canonical, framework-agnostic toast controller (createToastController) on @bimetal/headless-core. The family's first LIGHTWEIGHT / FEEDBACK component — controller-only (no store, no aggregate, no undo). Owns the presentation lifecycle: queue, per-toast li","directories":{},"sideEffects":false,"_nodeVersion":"26.4.0","dependencies":{"@bimetal/headless-core":"^0.35.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.4"},"_npmOperationalInternal":{"tmp":"tmp/toast-headless_0.35.0_1785078737978_0.6419040531930984","host":"s3://npm-registry-packages-npm-production"}},"0.36.0":{"name":"@bimetal/toast-headless","version":"0.36.0","keywords":["toast","notification","snackbar","feedback","headless","controller","framework-agnostic","a11y"],"author":{"name":"Andreas Biederbeck"},"license":"Apache-2.0","_id":"@bimetal/toast-headless@0.36.0","maintainers":[{"name":"biederbe","email":"mail@biederbeck.de"}],"homepage":"https://github.com/bimetal/bimetal#readme","bugs":{"url":"https://github.com/bimetal/bimetal/issues"},"dist":{"shasum":"93202cc8181d31127475bda58dcbfdc3f4b4f83b","tarball":"https://registry.npmjs.org/@bimetal/toast-headless/-/toast-headless-0.36.0.tgz","fileCount":20,"integrity":"sha512-gqnFfaPrDSHq3XLATRu98FTO4lo12jyhVM0tn6QIF/zgJTwhku4lMxBafi7ucjvb/OxqUFsOPHaRjfxF6DmEqw==","signatures":[{"sig":"MEYCIQDMDx9D10bx5F9FmRqlHytDXDCE8jL3CDU2apb9MHpwKgIhAMANUUNc0Qyat42Hw3W7hryTQEIqnh9Xu9OFtbb9NE5r","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":92767},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"c398884cce8cfe7004bcd7523398ebaf63c5452c","scripts":{"dev":"tsc -b --watch","test":"vitest run","build":"tsc -b","typecheck":"tsc --noEmit -p tsconfig.test.json","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"biederbe","email":"mail@biederbeck.de"},"repository":{"url":"git+https://github.com/bimetal/bimetal.git","type":"git","directory":"packages/toast/toast-headless"},"_npmVersion":"11.17.0","description":"Canonical, framework-agnostic toast controller (createToastController) on @bimetal/headless-core. The family's first LIGHTWEIGHT / FEEDBACK component — controller-only (no store, no aggregate, no undo). Owns the presentation lifecycle: queue, per-toast li","directories":{},"sideEffects":false,"_nodeVersion":"26.5.0","dependencies":{"@bimetal/headless-core":"^0.36.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.4"},"_npmOperationalInternal":{"tmp":"tmp/toast-headless_0.36.0_1788079255781_0.19659825936089215","host":"s3://npm-registry-packages-npm-production"}},"0.37.0":{"name":"@bimetal/toast-headless","version":"0.37.0","keywords":["toast","notification","snackbar","feedback","headless","controller","framework-agnostic","a11y"],"author":{"name":"Andreas Biederbeck"},"license":"Apache-2.0","_id":"@bimetal/toast-headless@0.37.0","maintainers":[{"name":"biederbe","email":"mail@biederbeck.de"}],"homepage":"https://github.com/bimetal/bimetal#readme","bugs":{"url":"https://github.com/bimetal/bimetal/issues"},"dist":{"shasum":"89dab5fa44308a82a60c97552d30c275e62b7f14","tarball":"https://registry.npmjs.org/@bimetal/toast-headless/-/toast-headless-0.37.0.tgz","fileCount":20,"integrity":"sha512-dgQdSrqCOUB3qd+lWh0heUz2zNd1mCyGAI5ezjbEAr/ddmwqVY0UdSTHMBNosnRVPg5RncG85Mlx+0xikbO1tg==","signatures":[{"sig":"MEUCIQD+3D9LBD2sNO5mHEhejuAmpW/wkR/keinBtnomtmNLtQIgdw+nOJatlWdD4ryX9SeNQ95v+abrI54rxQZ4326oTbc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":92789},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"7c443deff9a8b0a534c68757c83f5a6b0794e018","scripts":{"dev":"tsc -b --watch","test":"vitest run","build":"tsc -b","typecheck":"tsc --noEmit -p tsconfig.test.json","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"biederbe","email":"mail@biederbeck.de"},"repository":{"url":"git+https://github.com/bimetal/bimetal.git","type":"git","directory":"packages/toast/toast-headless"},"_npmVersion":"11.17.0","description":"Canonical, framework-agnostic toast controller (createToastController) on @bimetal/headless-core. The family's first LIGHTWEIGHT / FEEDBACK component — controller-only (no store, no aggregate, no undo). Owns the presentation lifecycle: queue, per-toast li","directories":{},"sideEffects":false,"_nodeVersion":"26.5.0","dependencies":{"@bimetal/headless-core":"^0.37.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.0.1","vitest":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/toast-headless_0.37.0_1789245201176_0.8415551720134642","host":"s3://npm-registry-packages-npm-production"}},"0.38.0":{"_id":"@bimetal/toast-headless@0.38.0","bugs":{"url":"https://github.com/bimetal/bimetal/issues"},"dist":{"shasum":"887db90e304741984baa84359e7a7dd4e377b7a1","tarball":"https://registry.npmjs.org/@bimetal/toast-headless/-/toast-headless-0.38.0.tgz","fileCount":20,"integrity":"sha512-MEOxqd8NLMSHm1xlsyPJOd+Xd6jtfUcDjOV8n6l6N52s+w7HvEk3BxCNd9SupzRN0aPMsbty0Bbkjb5BVc2pPg==","signatures":[{"sig":"MEQCIBqSMopwcd+7DYxBb9crHA6xx+3S8lLFgKPHjl87ZjepAiAiPPTCoRDNvFBQ+G9jdD58i0L3DA/r4bCI6ycCjn3zNw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCjVrgAUxQx+WK1jo0dCSbSM+nQbdjDfccw4jystpHyaAIgBvWQnt9gdTebrd16tItodL93PQ4qlDotDG5aJdFt3Ps="}],"unpackedSize":92789},"main":"./dist/index.js","name":"@bimetal/toast-headless","type":"module","types":"./dist/index.d.ts","author":{"name":"Andreas Biederbeck"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"91d1c50b022e17a1df17d4a9cad9f2e1bec329dd","license":"Apache-2.0","scripts":{"dev":"tsc -b --watch","test":"vitest run","build":"tsc -b","typecheck":"tsc --noEmit -p tsconfig.test.json","test:watch":"vitest","prepublishOnly":"npm run build"},"version":"0.38.0","_npmUser":{"name":"biederbe","email":"mail@biederbeck.de"},"homepage":"https://github.com/bimetal/bimetal#readme","keywords":["toast","notification","snackbar","feedback","headless","controller","framework-agnostic","a11y"],"repository":{"url":"git+https://github.com/bimetal/bimetal.git","type":"git","directory":"packages/toast/toast-headless"},"_npmVersion":"11.17.0","description":"Canonical, framework-agnostic toast controller (createToastController) on @bimetal/headless-core. The family's first LIGHTWEIGHT / FEEDBACK component — controller-only (no store, no aggregate, no undo). Owns the presentation lifecycle: queue, per-toast li","directories":{},"maintainers":[{"name":"biederbe","email":"mail@biederbeck.de"}],"sideEffects":false,"_nodeVersion":"26.5.0","dependencies":{"@bimetal/headless-core":"^0.38.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.0.1","vitest":"^5.0.0"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/toast-headless_0.38.0_1791052446777_0.13923795418875917"}}},"time":{"created":"2026-07-26T15:12:17.791Z","modified":"2026-10-03T18:34:07.036Z","0.35.0":"2026-07-26T15:12:18.113Z","0.36.0":"2026-08-30T08:40:55.919Z","0.37.0":"2026-09-12T20:33:21.291Z","0.38.0":"2026-10-03T18:34:06.874Z"},"bugs":{"url":"https://github.com/bimetal/bimetal/issues"},"author":{"name":"Andreas Biederbeck"},"license":"Apache-2.0","homepage":"https://github.com/bimetal/bimetal#readme","keywords":["toast","notification","snackbar","feedback","headless","controller","framework-agnostic","a11y"],"repository":{"url":"git+https://github.com/bimetal/bimetal.git","type":"git","directory":"packages/toast/toast-headless"},"description":"Canonical, framework-agnostic toast controller (createToastController) on @bimetal/headless-core. The family's first LIGHTWEIGHT / FEEDBACK component — controller-only (no store, no aggregate, no undo). Owns the presentation lifecycle: queue, per-toast li","maintainers":[{"name":"biederbe","email":"mail@biederbeck.de"}],"readme":"# @bimetal/toast-headless\n\nThe canonical, framework-agnostic **toast** controller — the BIMETAL component family's\nfirst *lightweight / feedback* member.\n\nController-only: no store, no aggregate, no undo. The app pushes an **already-decided\nmessage**; the controller owns the whole presentation lifecycle so it behaves identically\nacross React, Vue, Svelte, Angular and vanilla:\n\n- a **queue** with a `max` cap (oldest dropped past it),\n- per-toast **lifetime** + **auto-dismiss** timers (`durationMs`, `0` = sticky),\n- **manual close**, **pause/resume** (pointer-over the stack),\n- semantic **variants** (`info | success | warning | error`) and a **position** hint.\n\nIt has **no domain dependency** — in particular, no calendar and no undo/redo knowledge.\nReacting to a domain event (e.g. a calendar undo) is the *application's* job: observe the\nevent, decide the message, and call `push(...)`.\n\n```ts\nimport { createToastController } from '@bimetal/toast-headless';\n\nconst toasts = createToastController({ config: { position: 'bottom-end', durationMs: 4000 } });\n\n// The app decides the message — the toast never inspects a domain.\nconst id = toasts.push({ message: 'Änderung rückgängig gemacht', variant: 'info' });\n\ntoasts.pause();   // pointer entered the stack\ntoasts.resume();  // pointer left\ntoasts.dismiss(id);\n```\n\nBind it with the thin per-framework packages (`@bimetal/toast-react-components`, …) or\nthe generic `useToastController` hook.\n","readmeFilename":"README.md"}