{"_id":"@asyncify-hq/react","_rev":"9-c73cbc73bcfa980bb60f9edb6f1573b2","name":"@asyncify-hq/react","dist-tags":{"latest":"0.8.1"},"versions":{"0.1.0":{"name":"@asyncify-hq/react","version":"0.1.0","keywords":["notifications","inbox","react","notification-center","asyncify","bell"],"author":{"name":"Shubam Patil"},"license":"MIT","_id":"@asyncify-hq/react@0.1.0","maintainers":[{"name":"shubam14dec","email":"shubamp981@gmail.com"}],"homepage":"https://asyncify.org","bugs":{"url":"https://github.com/shubam14dec/Scalable-Notification-System/issues"},"dist":{"shasum":"37ef095b314732381f8c65f2c2e5cb0eda4feb4e","tarball":"https://registry.npmjs.org/@asyncify-hq/react/-/react-0.1.0.tgz","fileCount":7,"integrity":"sha512-/DCoHBBIJ49wQSX3lERSKugTfXZtfu3nkXqf76CHhb0K0Pg+/ZpX+M+RymEjg3/B+aw8agmPHbue1coxE2pljw==","signatures":[{"sig":"MEUCIQDBswKd6Del+y5MeuVrsoTF3//vjxmZjoBHZbNlxIeUgwIgWbJ7IwGPVpJjuw5lv4rp1hBmura3xXmPrrc3O0obyu8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":24730},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"6a788f240d984e3226ac52d1950147db08320810","scripts":{"build":"tsup src/index.tsx --format esm,cjs --dts --clean","prepublishOnly":"npm run build"},"_npmUser":{"name":"shubam14dec","email":"shubamp981@gmail.com"},"repository":{"url":"git+https://github.com/shubam14dec/Scalable-Notification-System.git","type":"git","directory":"packages/react"},"_npmVersion":"11.6.2","description":"Drop-in notification inbox for Asyncify — bell, unread badge, live WebSocket updates","directories":{},"sideEffects":false,"_nodeVersion":"24.13.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.5","react":"^18.3.1","typescript":"^5.7.2","@types/react":"^18.3.0"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/react_0.1.0_1783360196212_0.5860099487062531","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@asyncify-hq/react","version":"0.2.0","keywords":["notifications","inbox","react","notification-center","asyncify","bell"],"author":{"name":"Shubam Patil"},"license":"MIT","_id":"@asyncify-hq/react@0.2.0","maintainers":[{"name":"shubam14dec","email":"shubamp981@gmail.com"}],"homepage":"https://asyncify.org","bugs":{"url":"https://github.com/shubam14dec/Scalable-Notification-System/issues"},"dist":{"shasum":"ee84ee629c1f25b77eed0f384c4e39271c2a138e","tarball":"https://registry.npmjs.org/@asyncify-hq/react/-/react-0.2.0.tgz","fileCount":7,"integrity":"sha512-rWWh8tAcotpi1ejkRyWA7U3R8kX5NncAs10BygMM6ph56WOx0RIArDtlYpckMxRxxKUgH2xgNDRFipWlx5JGxg==","signatures":[{"sig":"MEQCIAnjZWijpti7hgvlIO1EEX2dU8zeqKO5OUex7aqfU6/GAiBggo7bwIFd4w0+vUIlzUBCnGLctBr/S2n2QDi0bVf4fQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":50886},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"d3a0132777bb3b7d8d1485df18d5a8ff0b5021e8","scripts":{"build":"tsup src/index.tsx --format esm,cjs --dts --clean","prepublishOnly":"npm run build"},"_npmUser":{"name":"shubam14dec","email":"shubamp981@gmail.com"},"repository":{"url":"git+https://github.com/shubam14dec/Scalable-Notification-System.git","type":"git","directory":"packages/react"},"_npmVersion":"11.6.2","description":"Drop-in notification inbox for Asyncify — bell, unread badge, live WebSocket updates","directories":{},"sideEffects":false,"_nodeVersion":"24.13.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.5","react":"^18.3.1","typescript":"^5.7.2","@types/react":"^18.3.0"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/react_0.2.0_1783631514274_0.2968002022361149","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@asyncify-hq/react","version":"0.3.0","keywords":["notifications","inbox","react","notification-center","asyncify","bell"],"author":{"name":"Shubam Patil"},"license":"MIT","_id":"@asyncify-hq/react@0.3.0","maintainers":[{"name":"shubam14dec","email":"shubamp981@gmail.com"}],"homepage":"https://asyncify.org","bugs":{"url":"https://github.com/shubam14dec/Scalable-Notification-System/issues"},"dist":{"shasum":"a40a705c221ba4b64bd5bc188a8699128f650ed8","tarball":"https://registry.npmjs.org/@asyncify-hq/react/-/react-0.3.0.tgz","fileCount":7,"integrity":"sha512-F97bGfEYIYYLxPDvxpvv75arMQZ50zBkCzMAMn1/IsHmgzczaxJoVDRk8nW8yymtoTtvfoKvYyExZT5dOl6kQg==","signatures":[{"sig":"MEYCIQCwyi4HlCm1fKHpRj9CbY7Tiy5s4+DyvS7LMXSDH99NKwIhAOzuAjpvybKSWDafosKAepnj6Jq9zcevLpccOacSiyIA","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@asyncify-hq%2freact@0.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":70157},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"28e050e73305a1a3d915447c577f3993a8615824","scripts":{"build":"tsup src/index.tsx --format esm,cjs --dts --clean","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ecb3ba2e-2e10-45bd-a8b1-b92cf5a95acc"}},"repository":{"url":"git+https://github.com/shubam14dec/Scalable-Notification-System.git","type":"git","directory":"packages/react"},"_npmVersion":"11.16.0","description":"Drop-in notification inbox for Asyncify — bell, unread badge, live WebSocket updates","directories":{},"sideEffects":false,"_nodeVersion":"24.18.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.5","react":"^18.3.1","typescript":"^5.7.2","@types/react":"^18.3.0"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/react_0.3.0_1783808599867_0.36634547923648775","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@asyncify-hq/react","version":"0.4.0","keywords":["notifications","inbox","react","notification-center","asyncify","bell"],"author":{"name":"Shubam Patil"},"license":"MIT","_id":"@asyncify-hq/react@0.4.0","maintainers":[{"name":"shubam14dec","email":"shubamp981@gmail.com"}],"homepage":"https://asyncify.org","bugs":{"url":"https://github.com/shubam14dec/Scalable-Notification-System/issues"},"dist":{"shasum":"9cca5ddac2b492001c762d9860b132111d6df0de","tarball":"https://registry.npmjs.org/@asyncify-hq/react/-/react-0.4.0.tgz","fileCount":7,"integrity":"sha512-AICOHZci2OuARNsVNYhC+ncXA6aVwaq/J6F7SUbXxHG63ipdOpZb+sudmSG9W4V752vTbgBfiTpH/gkzj9MBNQ==","signatures":[{"sig":"MEYCIQDiur28uHl+uwMAiFYCJzX8Jq3LOL3E4yYbeIHqVJBY4gIhAIkz0oSW3CQVdrtJXZuOP0U1G/3aQEPzij0f5cVVJsj0","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@asyncify-hq%2freact@0.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":90177},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"a60a8ad5b6521c05dc7b6f1ad64b3c109b265904","scripts":{"build":"tsup src/index.tsx --format esm,cjs --dts --clean","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ecb3ba2e-2e10-45bd-a8b1-b92cf5a95acc"}},"repository":{"url":"git+https://github.com/shubam14dec/Scalable-Notification-System.git","type":"git","directory":"packages/react"},"_npmVersion":"11.16.0","description":"Drop-in notification inbox for Asyncify — bell, unread badge, live WebSocket updates","directories":{},"sideEffects":false,"_nodeVersion":"24.18.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.5","react":"^18.3.1","typescript":"^5.7.2","@types/react":"^18.3.0"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/react_0.4.0_1783869872705_0.6565658567017547","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@asyncify-hq/react","version":"0.5.0","keywords":["notifications","inbox","react","notification-center","asyncify","bell"],"author":{"name":"Shubam Patil"},"license":"MIT","_id":"@asyncify-hq/react@0.5.0","maintainers":[{"name":"shubam14dec","email":"shubamp981@gmail.com"}],"homepage":"https://asyncify.org","bugs":{"url":"https://github.com/shubam14dec/Scalable-Notification-System/issues"},"dist":{"shasum":"b9761521068b3af00c9670480c43f5d1d12459a3","tarball":"https://registry.npmjs.org/@asyncify-hq/react/-/react-0.5.0.tgz","fileCount":7,"integrity":"sha512-Adh+OoVlSNcWmVdO9b8QpU02msaoe2FaiTUFlbcgo1loi+usygoieHGw4wJr6cs9r3Kd8B6a1BSLMiuPnjxocA==","signatures":[{"sig":"MEYCIQCyfR8D/GPEewaS3f0Z8j1PCZQ0XOF5lHNL0zEcAkFc5AIhAKD8PzOWv6DJp+Wuv1MNbbuxKdSbiptcEAkOZe1eQPgk","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@asyncify-hq%2freact@0.5.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":116763},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"6b11813dd5063bad689fb7861b1951ef23ea9ec2","scripts":{"build":"tsup src/index.tsx --format esm,cjs --dts --clean","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ecb3ba2e-2e10-45bd-a8b1-b92cf5a95acc"}},"repository":{"url":"git+https://github.com/shubam14dec/Scalable-Notification-System.git","type":"git","directory":"packages/react"},"_npmVersion":"11.16.0","description":"Drop-in notification inbox for Asyncify — bell, unread badge, live WebSocket updates","directories":{},"sideEffects":false,"_nodeVersion":"24.18.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.5","react":"^18.3.1","typescript":"^5.7.2","@types/react":"^18.3.0"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/react_0.5.0_1783878158091_0.09017057707268816","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"@asyncify-hq/react","version":"0.6.0","keywords":["notifications","inbox","react","notification-center","asyncify","bell"],"author":{"name":"Shubam Patil"},"license":"MIT","_id":"@asyncify-hq/react@0.6.0","maintainers":[{"name":"shubam14dec","email":"shubamp981@gmail.com"}],"homepage":"https://asyncify.org","bugs":{"url":"https://github.com/shubam14dec/Scalable-Notification-System/issues"},"dist":{"shasum":"6fac7ce97a734466bc9da9e8e3aa730b695e6d50","tarball":"https://registry.npmjs.org/@asyncify-hq/react/-/react-0.6.0.tgz","fileCount":7,"integrity":"sha512-xR0OvLK0V1X8H6ue8s2df5adWBYARfYXSmnuF9p76nQ/Az5j6Yg6/7+mY6dBce59ZM8W3l9N5Z7cXOo2dvwYNA==","signatures":[{"sig":"MEQCIBbPbpF8zTMNPA0tyPMynsXTDim00YMWIpPHz8sc+t4lAiBSowpfKG2A2XsdLBPwH+AKyf5mOtjGDcIucykShuHZ6Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@asyncify-hq%2freact@0.6.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":167034},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"12e59714f010596ab0b81ef2b667c1c2e2a24627","scripts":{"build":"tsup src/index.tsx --format esm,cjs --dts --clean","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ecb3ba2e-2e10-45bd-a8b1-b92cf5a95acc"}},"repository":{"url":"git+https://github.com/shubam14dec/Scalable-Notification-System.git","type":"git","directory":"packages/react"},"_npmVersion":"11.16.0","description":"Drop-in notification inbox for Asyncify — bell, unread badge, live WebSocket updates","directories":{},"sideEffects":false,"_nodeVersion":"24.18.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.5","react":"^18.3.1","typescript":"^5.7.2","@types/react":"^18.3.0"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/react_0.6.0_1784039487893_0.4309539614484261","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"name":"@asyncify-hq/react","version":"0.7.0","keywords":["notifications","inbox","react","notification-center","asyncify","bell"],"author":{"name":"Shubam Patil"},"license":"MIT","_id":"@asyncify-hq/react@0.7.0","maintainers":[{"name":"shubam14dec","email":"shubamp981@gmail.com"}],"homepage":"https://asyncify.org","bugs":{"url":"https://github.com/shubam14dec/Scalable-Notification-System/issues"},"dist":{"shasum":"7468f5ca50374a935b3b4ebb58d470aca1e57013","tarball":"https://registry.npmjs.org/@asyncify-hq/react/-/react-0.7.0.tgz","fileCount":7,"integrity":"sha512-7au3qiJCzxXIUayMF+3xTcJmlDhdeCSjnTMavBkFFmJCeEti3mdqmfTpq1cHebr9dj9bsZ2rQQaeRqkSuEev0g==","signatures":[{"sig":"MEUCIHnozAcUooZDprEBb7JEm1aXNDAcScXGJagkX1/uujWyAiEAlYl/9bTQtwMtOoCId50oK/8Gqr0pMX1CyYFd3udkeYg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@asyncify-hq%2freact@0.7.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":185391},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"7df1114f23678f4db498c0d6fca74dbf494f597b","scripts":{"build":"tsup src/index.tsx --format esm,cjs --dts --clean","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ecb3ba2e-2e10-45bd-a8b1-b92cf5a95acc"}},"repository":{"url":"git+https://github.com/shubam14dec/Scalable-Notification-System.git","type":"git","directory":"packages/react"},"_npmVersion":"11.16.0","description":"Drop-in notification inbox for Asyncify — bell, unread badge, live WebSocket updates","directories":{},"sideEffects":false,"_nodeVersion":"24.18.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.5","react":"^18.3.1","typescript":"^5.7.2","@types/react":"^18.3.0"},"peerDependencies":{"react":">=18","firebase":">=10"},"peerDependenciesMeta":{"firebase":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/react_0.7.0_1784454120091_0.2237582560043636","host":"s3://npm-registry-packages-npm-production"}},"0.8.0":{"name":"@asyncify-hq/react","version":"0.8.0","keywords":["notifications","inbox","react","notification-center","asyncify","bell"],"author":{"name":"Shubam Patil"},"license":"MIT","_id":"@asyncify-hq/react@0.8.0","maintainers":[{"name":"shubam14dec","email":"shubamp981@gmail.com"}],"homepage":"https://asyncify.org","bugs":{"url":"https://github.com/shubam14dec/Scalable-Notification-System/issues"},"dist":{"shasum":"2ab2f7ecdee6e315406b8007512e3ba67fee5ca8","tarball":"https://registry.npmjs.org/@asyncify-hq/react/-/react-0.8.0.tgz","fileCount":7,"integrity":"sha512-65hjf+PQwbTk1BVyeFgOU+RFhgPuXD+x20N1jfFoArqEs4z6neIQbqCgJwqLNjXJkM0LDViAaoHfgDs+K+g9Uw==","signatures":[{"sig":"MEQCICNTpS9zit8+Snhyc1ZqfzLPwBId8rprTeoHeDfRvmdnAiB9vFDlzerpOJWi1Dh/J2dA7xlC3OmAjAWUGSDFeDAPmw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@asyncify-hq%2freact@0.8.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":188085},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"1d23eb26df9334fe2d5a9615285871d94593e1f7","scripts":{"build":"tsup src/index.tsx --format esm,cjs --dts --clean","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ecb3ba2e-2e10-45bd-a8b1-b92cf5a95acc"}},"repository":{"url":"git+https://github.com/shubam14dec/Scalable-Notification-System.git","type":"git","directory":"packages/react"},"_npmVersion":"11.16.0","description":"Drop-in notification inbox for Asyncify — bell, unread badge, live WebSocket updates","directories":{},"sideEffects":false,"_nodeVersion":"24.18.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.5","react":"^18.3.1","typescript":"^5.7.2","@types/react":"^18.3.0"},"peerDependencies":{"react":">=18","firebase":">=10"},"peerDependenciesMeta":{"firebase":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/react_0.8.0_1785178353461_0.5235841161830344","host":"s3://npm-registry-packages-npm-production"}},"0.8.1":{"name":"@asyncify-hq/react","version":"0.8.1","description":"Drop-in notification inbox for Asyncify — bell, unread badge, live WebSocket updates","keywords":["notifications","inbox","react","notification-center","asyncify","bell"],"homepage":"https://asyncify.org","repository":{"type":"git","url":"git+https://github.com/shubam14dec/Scalable-Notification-System.git","directory":"packages/react"},"license":"MIT","author":{"name":"Shubam Patil"},"type":"module","main":"./dist/index.cjs","module":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"sideEffects":false,"publishConfig":{"access":"public"},"scripts":{"build":"tsup src/index.tsx --format esm,cjs --dts --clean","prepublishOnly":"npm run build"},"peerDependencies":{"react":">=18","firebase":">=10"},"peerDependenciesMeta":{"firebase":{"optional":true}},"devDependencies":{"@types/react":"^18.3.0","react":"^18.3.1","tsup":"^8.3.5","typescript":"^5.7.2"},"gitHead":"9dcbf99199be9badbe2adf13da96eefe236a273a","_id":"@asyncify-hq/react@0.8.1","bugs":{"url":"https://github.com/shubam14dec/Scalable-Notification-System/issues"},"_nodeVersion":"24.20.0","_npmVersion":"11.19.0","dist":{"integrity":"sha512-yBvqxGDsQyvLMqdm9Zg0HGzb4eNYgiHAUcVN6OUotZXQya9wi1KBjvvWIRcl1+wAAN8TwTZ0nsluxxYSahSExA==","shasum":"ab03cb476945b5b90365b7a126552058b091635d","tarball":"https://registry.npmjs.org/@asyncify-hq/react/-/react-0.8.1.tgz","fileCount":7,"unpackedSize":189163,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@asyncify-hq%2freact@0.8.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDoy2kbq59LHwJfqqx0frk+zHTWx4vtMwwNkBUtyLJiLgIgSi63VU735o8pMJFoemMei8OGCFzoSws4+fBgCsA/11s="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ecb3ba2e-2e10-45bd-a8b1-b92cf5a95acc"}},"directories":{},"maintainers":[{"name":"shubam14dec","email":"shubamp981@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/react_0.8.1_1788932607069_0.3643548126156573"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-06T17:49:56.034Z","modified":"2026-09-09T05:43:28.067Z","0.1.0":"2026-07-06T17:49:56.356Z","0.2.0":"2026-07-09T21:11:54.410Z","0.3.0":"2026-07-11T22:23:20.004Z","0.4.0":"2026-07-12T15:24:32.833Z","0.5.0":"2026-07-12T17:42:38.229Z","0.6.0":"2026-07-14T14:31:28.034Z","0.7.0":"2026-07-19T09:42:00.252Z","0.8.0":"2026-07-27T18:52:33.600Z","0.8.1":"2026-09-09T05:43:27.198Z"},"bugs":{"url":"https://github.com/shubam14dec/Scalable-Notification-System/issues"},"author":{"name":"Shubam Patil"},"license":"MIT","homepage":"https://asyncify.org","keywords":["notifications","inbox","react","notification-center","asyncify","bell"],"repository":{"type":"git","url":"git+https://github.com/shubam14dec/Scalable-Notification-System.git","directory":"packages/react"},"description":"Drop-in notification inbox for Asyncify — bell, unread badge, live WebSocket updates","maintainers":[{"name":"shubam14dec","email":"shubamp981@gmail.com"}],"readme":"# @asyncify-hq/react\n\nDrop-in notification inbox for [Asyncify](https://asyncify.org): a bell with\nan unread badge, a dropdown inbox, live WebSocket updates and mark-all-read —\nthemable, self-contained, zero styling dependencies.\n\n## Install\n\n```bash\nnpm install @asyncify-hq/react\n```\n\n## Quickstart\n\nYour backend mints a short-lived, single-subscriber token with\n[`@asyncify-hq/node`](https://www.npmjs.com/package/@asyncify-hq/node)\n(API keys never reach the browser):\n\n```ts\n// backend\nconst { token } = await asyncify.subscriberToken(user.id);\n```\n\n```tsx\n// frontend\nimport { NotificationInbox } from '@asyncify-hq/react';\n\n<NotificationInbox\n  token={token}\n  subscriberId={user.id}\n  apiUrl=\"https://api.your-deployment.com\"\n  wsUrl=\"wss://ws.your-deployment.com\"\n  theme=\"dark\"          // or \"light\"\n  align=\"right\"         // \"left\" when the bell sits near a left edge\n/>;\n```\n\nNotifications arrive live over WebSocket while the tab is open; the durable\ninbox loads over REST on mount, so nothing is missed while offline.\n\n## Headless option\n\nBring your own UI with the hook:\n\n```tsx\nimport { useNotifications } from '@asyncify-hq/react';\n\nconst { items, unread, connected, markAllRead } = useNotifications({\n  token,\n  subscriberId: user.id,\n  apiUrl,\n  wsUrl,\n});\n```\n\n## Web push\n\n`usePushRegistration()` registers the current browser as a push device so your\nAsyncify **push** workflow steps reach it via Firebase Cloud Messaging (FCM).\nIt's headless — you own the toggle UI.\n\n`firebase` is an **optional peer dependency**: this package pulls in nothing at\nruntime, and only loads firebase (via dynamic `import`) when push is actually\nused. Install it in the host app:\n\n```bash\nnpm install firebase\n```\n\n```tsx\nimport { usePushRegistration } from '@asyncify-hq/react';\n\nfunction PushToggle({ token }: { token: string }) {\n  const { supported, permission, enabled, busy, error, enable, disable } =\n    usePushRegistration({\n      token,                       // the same subscriber token the inbox uses\n      apiUrl: 'https://api.your-deployment.com',\n      firebaseConfig: {            // from your Firebase web app settings\n        apiKey: '…',\n        projectId: '…',\n        messagingSenderId: '…',\n        appId: '…',\n      },\n      vapidKey: '…',               // Cloud Messaging → Web Push certificates\n    });\n\n  if (!supported) return <p>This browser can't receive push.</p>;\n\n  return (\n    <button\n      disabled={busy || permission === 'denied'}\n      onClick={() => (enabled ? disable() : enable())}\n    >\n      {enabled ? 'Disable push' : 'Enable push'}\n      {error ? ` — ${error}` : ''}\n    </button>\n  );\n}\n```\n\n`enable()` prompts for notification permission, mints an FCM token, and\nregisters it. On mount, a browser that already granted permission silently\nre-mints its token (FCM tokens rotate) and re-registers — no prompt. If\n`firebase` isn't installed, `error` reads\n`push requires the firebase package — npm install firebase`.\n\n`disable()` persists a `localStorage` opt-out under the key\n**`asyncify:push:opted-out`** (value `\"1\"`). Because the browser's notification\npermission stays `granted` after you disable push, this marker is what stops the\nmount effect from silently re-registering the device on the next page load;\n`enable()` clears it. If you offer your own \"reset notification settings\"\ncontrol, clear this key to restore the on-mount rotation-sync behaviour.\n\n### The service worker (required)\n\nFCM delivers background messages to a **service worker**, not your page — a\nreceiver that outlives the tab so notifications arrive even when your site\nisn't open. The browser will only load a service worker that controls the\nwhole origin, which means the file **must be served from your site's root**\n(e.g. `https://your-site.com/firebase-messaging-sw.js`) — a worker under a\nsubpath can't control the origin, and one from a CDN is a different origin\nentirely. Serve this file verbatim at that root (it's the default the hook\nregisters; override with `serviceWorkerPath` only if you truly must):\n\n```js\n// firebase-messaging-sw.js  — served at your site's ORIGIN ROOT\nimportScripts('https://www.gstatic.com/firebasejs/10.12.0/firebase-app-compat.js');\nimportScripts('https://www.gstatic.com/firebasejs/10.12.0/firebase-messaging-compat.js');\n\n// New versions of this file take over on the next page load, not \"eventually\".\nself.addEventListener('install', () => self.skipWaiting());\nself.addEventListener('activate', (event) => event.waitUntil(self.clients.claim()));\n\nfirebase.initializeApp({\n  apiKey: '…',\n  projectId: '…',\n  messagingSenderId: '…',\n  appId: '…',\n});\n\n// Firebase auto-displays every notification-carrying push (title/body/image),\n// but its built-in click handler only opens SAME-ORIGIN links (hard host check\n// in the SDK source). This listener — registered BEFORE firebase.messaging()\n// so it runs first — opens the click-through link for ANY origin, then stops\n// the event so the SDK's handler doesn't double-handle it.\nself.addEventListener('notificationclick', (event) => {\n  const msg = event.notification && event.notification.data && event.notification.data.FCM_MSG;\n  const link =\n    msg &&\n    ((msg.notification && msg.notification.click_action) ||\n      (msg.fcmOptions && msg.fcmOptions.link));\n  if (!link) return;\n  event.stopImmediatePropagation();\n  event.notification.close();\n  event.waitUntil(self.clients.openWindow(link));\n});\n\n// Do NOT add an onBackgroundMessage handler that calls showNotification: the\n// SDK still auto-displays alongside it, so users would get every push TWICE.\nfirebase.messaging();\n```\n\nMIT © Shubam Patil\n","readmeFilename":"README.md"}