{"_id":"@airnauts/comments-client","_rev":"9-e4d1a3b20f848a045516aca7619e2758","name":"@airnauts/comments-client","dist-tags":{"latest":"0.7.0"},"versions":{"0.1.0":{"name":"@airnauts/comments-client","version":"0.1.0","keywords":["comments","commenting","annotations","feedback","airnauts","widget","react"],"author":{"name":"Airnauts"},"license":"MIT","_id":"@airnauts/comments-client@0.1.0","maintainers":[{"name":"jkrzemie","email":"hello@airnauts.com"},{"name":"mateuszpaulski","email":"mateusz@airnauts.com"}],"homepage":"https://github.com/Airnauts/commenting-tool#readme","bugs":{"url":"https://github.com/Airnauts/commenting-tool/issues"},"dist":{"shasum":"3687d14a391cf3864b3190d1d8e4fe334141fe8c","tarball":"https://registry.npmjs.org/@airnauts/comments-client/-/comments-client-0.1.0.tgz","fileCount":103,"integrity":"sha512-KLHBSoymQnGzfr+NfTzivYjZyOlwkzk5kPqZha1Ofu3dXD/zOk95uI7kkyhRGEHMOI3dvhhlYvOVkWlxVDuxog==","signatures":[{"sig":"MEYCIQCswVhSJm7nx84roaQWU8QPU6lDf57aS2rVELpxJtN0dAIhAJZTF9Yan7h+YUULQemcH7OU5DidzfddMqow0wjyQDV9","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4233938},"type":"module","_from":"file:airnauts-comments-client-0.1.0.tgz","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./react":{"types":"./dist/react.d.ts","import":"./dist/react.js"}},"scripts":{"size":"size-limit","test":"pnpm build:css && vitest run","build":"pnpm build:css && rm -rf dist && tsup && tsc --build --force","build:css":"node scripts/build-css.mjs","typecheck":"tsc --build"},"_npmUser":{"name":"mateuszpaulski","email":"mateusz@airnauts.com"},"_resolved":"/private/var/folders/2n/cymmpn8j3p962bjb2kqxq7n80000gn/T/d1d4f561b37394183d1630b57796d1c9/airnauts-comments-client-0.1.0.tgz","_integrity":"sha512-KLHBSoymQnGzfr+NfTzivYjZyOlwkzk5kPqZha1Ofu3dXD/zOk95uI7kkyhRGEHMOI3dvhhlYvOVkWlxVDuxog==","repository":{"url":"git+https://github.com/Airnauts/commenting-tool.git","type":"git","directory":"packages/client"},"size-limit":[{"name":"@airnauts/comments-client (esm, brotli)","path":"dist/index.js","limit":"300 kB"}],"_npmVersion":"10.9.2","description":"Embeddable commenting widget and React wrapper for the Airnauts commenting tool.","directories":{},"_nodeVersion":"22.13.0","dependencies":{"clsx":"^2.1.1","tailwind-merge":"^2.6.0","@radix-ui/react-dialog":"^1.1.6","@airnauts/comments-core":"^0.1.0","@radix-ui/react-popover":"^1.1.6"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^26.0.0","react":"^19.0.0","react-dom":"^19.0.0","size-limit":"^11.1.6","tailwindcss":"^4.0.0","@types/react":"^19.0.0","@tailwindcss/cli":"^4.0.0","@types/react-dom":"^19.0.0","@vitejs/plugin-react":"^4.3.4","@testing-library/react":"^16.2.0","@airnauts/comments-server":"0.1.0","@testing-library/jest-dom":"^6.6.3","@size-limit/preset-small-lib":"^11.1.6","@airnauts/comments-adapter-memory":"0.1.0"},"peerDependencies":{"react":"^19.0.0","react-dom":"^19.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/comments-client_0.1.0_1780410888552_0.3740286205089878","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Renamed to @airnauts/airside-client — install that instead. No longer maintained."},"0.1.1":{"name":"@airnauts/comments-client","version":"0.1.1","keywords":["comments","commenting","annotations","feedback","airnauts","widget","react"],"author":{"name":"Airnauts"},"license":"MIT","_id":"@airnauts/comments-client@0.1.1","maintainers":[{"name":"jkrzemie","email":"hello@airnauts.com"},{"name":"mateuszpaulski","email":"mateusz@airnauts.com"}],"homepage":"https://github.com/Airnauts/commenting-tool#readme","bugs":{"url":"https://github.com/Airnauts/commenting-tool/issues"},"dist":{"shasum":"f5864bd53d59afd026f0fc28e6b16c64f799f394","tarball":"https://registry.npmjs.org/@airnauts/comments-client/-/comments-client-0.1.1.tgz","fileCount":103,"integrity":"sha512-VFfT/FWJ/PYcHnqRu7ENEJVVUArzPiS6tAquZVF6qXXldSuAVRYpVzrusiORNi6kKhyirtxp1UL6jo0jIGn9cA==","signatures":[{"sig":"MEUCIQDL47yHgtCE4P+i+jzLcA02bPnSR10Q5axZMyhZS15EwwIgBy78hZwIXeZZF3OLgk9NaNDp14dSkpSI7n6CT1TkCb8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4233884},"type":"module","_from":"file:airnauts-comments-client-0.1.1.tgz","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./react":{"types":"./dist/react.d.ts","import":"./dist/react.js"}},"scripts":{"size":"size-limit","test":"pnpm build:css && vitest run","build":"pnpm build:css && rm -rf dist && tsup && tsc --build --force","build:css":"node scripts/build-css.mjs","typecheck":"tsc --build"},"_npmUser":{"name":"mateuszpaulski","email":"mateusz@airnauts.com"},"_resolved":"/private/var/folders/2n/cymmpn8j3p962bjb2kqxq7n80000gn/T/b64af9752b20745a225208c3229ed8a2/airnauts-comments-client-0.1.1.tgz","_integrity":"sha512-VFfT/FWJ/PYcHnqRu7ENEJVVUArzPiS6tAquZVF6qXXldSuAVRYpVzrusiORNi6kKhyirtxp1UL6jo0jIGn9cA==","repository":{"url":"git+https://github.com/Airnauts/commenting-tool.git","type":"git","directory":"packages/client"},"size-limit":[{"name":"@airnauts/comments-client (esm, brotli)","path":"dist/index.js","limit":"300 kB"}],"_npmVersion":"10.9.2","description":"Embeddable commenting widget and React wrapper for the Airnauts commenting tool.","directories":{},"_nodeVersion":"22.13.0","dependencies":{"clsx":"^2.1.1","tailwind-merge":"^2.6.0","@radix-ui/react-dialog":"^1.1.6","@airnauts/comments-core":"^0.1.0","@radix-ui/react-popover":"^1.1.6"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^26.0.0","react":"^19.0.0","react-dom":"^19.0.0","size-limit":"^11.1.6","tailwindcss":"^4.0.0","@types/react":"^19.0.0","@tailwindcss/cli":"^4.0.0","@types/react-dom":"^19.0.0","@vitejs/plugin-react":"^4.3.4","@testing-library/react":"^16.2.0","@airnauts/comments-server":"0.1.0","@testing-library/jest-dom":"^6.6.3","@size-limit/preset-small-lib":"^11.1.6","@airnauts/comments-adapter-memory":"0.1.0"},"peerDependencies":{"react":"^19.0.0","react-dom":"^19.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/comments-client_0.1.1_1780476501111_0.1968011476778997","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Renamed to @airnauts/airside-client — install that instead. No longer maintained."},"0.2.0":{"name":"@airnauts/comments-client","version":"0.2.0","keywords":["comments","commenting","annotations","feedback","airnauts","widget","react"],"author":{"name":"Airnauts"},"license":"MIT","_id":"@airnauts/comments-client@0.2.0","maintainers":[{"name":"jkrzemie","email":"hello@airnauts.com"},{"name":"mateuszpaulski","email":"mateusz@airnauts.com"}],"homepage":"https://github.com/Airnauts/commenting-tool#readme","bugs":{"url":"https://github.com/Airnauts/commenting-tool/issues"},"dist":{"shasum":"8ef3143ef66cea24f5b880127ae59ae5c1b4afcf","tarball":"https://registry.npmjs.org/@airnauts/comments-client/-/comments-client-0.2.0.tgz","fileCount":111,"integrity":"sha512-INmGYh3j5W0WXIsRKwzJ+mv4mRZfnTKpq85MBO9vkGplPQfp9I05nWva5GxsOeJiQjVBgYY01a8eAKXb2V3RYg==","signatures":[{"sig":"MEUCIFu5M4mk9NhDZo+rqVE3k3k0nISJQseSutMmLwMT9nDbAiEAnoDBfQ1xjBBRhqELYNmYtjOAm+w9YQj9Nu0kK4XKD44=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4290841},"type":"module","_from":"file:airnauts-comments-client-0.2.0.tgz","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./react":{"types":"./dist/react.d.ts","import":"./dist/react.js"}},"scripts":{"size":"size-limit","test":"pnpm build:css && vitest run","build":"pnpm build:css && rm -rf dist && tsup && tsc --build --force","build:css":"node scripts/build-css.mjs","typecheck":"tsc --build"},"_npmUser":{"name":"mateuszpaulski","email":"mateusz@airnauts.com"},"_resolved":"/tmp/2e14cdc40d852526e6724706a7d92bcb/airnauts-comments-client-0.2.0.tgz","_integrity":"sha512-INmGYh3j5W0WXIsRKwzJ+mv4mRZfnTKpq85MBO9vkGplPQfp9I05nWva5GxsOeJiQjVBgYY01a8eAKXb2V3RYg==","repository":{"url":"git+https://github.com/Airnauts/commenting-tool.git","type":"git","directory":"packages/client"},"size-limit":[{"name":"@airnauts/comments-client (esm, brotli)","path":"dist/index.js","limit":"300 kB"}],"_npmVersion":"10.9.8","description":"Embeddable commenting widget and React wrapper for the Airnauts commenting tool.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"clsx":"^2.1.1","tailwind-merge":"^2.6.0","@radix-ui/react-dialog":"^1.1.6","@airnauts/comments-core":"^0.2.0","@radix-ui/react-popover":"^1.1.6"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^26.0.0","react":"^19.0.0","react-dom":"^19.0.0","size-limit":"^11.1.6","tailwindcss":"^4.0.0","@types/react":"^19.0.0","@tailwindcss/cli":"^4.0.0","@types/react-dom":"^19.0.0","@vitejs/plugin-react":"^4.3.4","@testing-library/react":"^16.2.0","@airnauts/comments-server":"0.2.0","@testing-library/jest-dom":"^6.6.3","@size-limit/preset-small-lib":"^11.1.6","@airnauts/comments-adapter-memory":"0.2.0"},"peerDependencies":{"react":"^19.0.0","react-dom":"^19.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/comments-client_0.2.0_1780913165291_0.8494050059646077","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Renamed to @airnauts/airside-client — install that instead. No longer maintained."},"0.4.0":{"name":"@airnauts/comments-client","version":"0.4.0","keywords":["comments","commenting","annotations","feedback","airnauts","widget","react"],"author":{"name":"Airnauts"},"license":"MIT","_id":"@airnauts/comments-client@0.4.0","maintainers":[{"name":"jkrzemie","email":"hello@airnauts.com"},{"name":"mateuszpaulski","email":"mateusz@airnauts.com"}],"homepage":"https://github.com/Airnauts/commenting-tool#readme","bugs":{"url":"https://github.com/Airnauts/commenting-tool/issues"},"dist":{"shasum":"09b0e9072853c08bb9ba25e34490583f95ce9cc5","tarball":"https://registry.npmjs.org/@airnauts/comments-client/-/comments-client-0.4.0.tgz","fileCount":111,"integrity":"sha512-ZuMgm9rYfSNzcn5c4WerSYJ/kjEo3W5AerDOyS7cK0kAQylzhdY4jQ9QtD5K1YLkAl+Bq/EVdFrAm7EPm4Mz4Q==","signatures":[{"sig":"MEUCIQCDFnAARQQZ4XyMDF9Zqrtdtl3SbmtQHwkZRtaOfxGvygIgBE0Avacz+iR0P1WIw/7g4Z5ZPcrV2EVxGVcQ/yy4ejk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4290841},"type":"module","_from":"file:airnauts-comments-client-0.4.0.tgz","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./react":{"types":"./dist/react.d.ts","import":"./dist/react.js"}},"scripts":{"size":"size-limit","test":"pnpm build:css && vitest run","build":"pnpm build:css && rm -rf dist && tsup && tsc --build --force","build:css":"node scripts/build-css.mjs","typecheck":"tsc --build"},"_npmUser":{"name":"mateuszpaulski","email":"mateusz@airnauts.com"},"_resolved":"/tmp/e8f5cae9630187b2a255275d6ecc3230/airnauts-comments-client-0.4.0.tgz","_integrity":"sha512-ZuMgm9rYfSNzcn5c4WerSYJ/kjEo3W5AerDOyS7cK0kAQylzhdY4jQ9QtD5K1YLkAl+Bq/EVdFrAm7EPm4Mz4Q==","repository":{"url":"git+https://github.com/Airnauts/commenting-tool.git","type":"git","directory":"packages/client"},"size-limit":[{"name":"@airnauts/comments-client (esm, brotli)","path":"dist/index.js","limit":"300 kB"}],"_npmVersion":"10.9.8","description":"Embeddable commenting widget and React wrapper for the Airnauts commenting tool.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"clsx":"^2.1.1","tailwind-merge":"^2.6.0","@radix-ui/react-dialog":"^1.1.6","@airnauts/comments-core":"^0.4.0","@radix-ui/react-popover":"^1.1.6"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^26.0.0","react":"^19.0.0","react-dom":"^19.0.0","size-limit":"^11.1.6","tailwindcss":"^4.0.0","@types/react":"^19.0.0","@tailwindcss/cli":"^4.0.0","@types/react-dom":"^19.0.0","@vitejs/plugin-react":"^4.3.4","@testing-library/react":"^16.2.0","@airnauts/comments-server":"0.4.0","@testing-library/jest-dom":"^6.6.3","@size-limit/preset-small-lib":"^11.1.6","@airnauts/comments-adapter-memory":"0.4.0"},"peerDependencies":{"react":"^19.0.0","react-dom":"^19.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/comments-client_0.4.0_1780915788141_0.21961104100780426","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Renamed to @airnauts/airside-client — install that instead. No longer maintained."},"0.5.0":{"name":"@airnauts/comments-client","version":"0.5.0","keywords":["comments","commenting","annotations","feedback","airnauts","widget","react"],"author":{"name":"Airnauts"},"license":"MIT","_id":"@airnauts/comments-client@0.5.0","maintainers":[{"name":"jkrzemie","email":"hello@airnauts.com"},{"name":"mateuszpaulski","email":"mateusz@airnauts.com"}],"homepage":"https://github.com/Airnauts/commenting-tool#readme","bugs":{"url":"https://github.com/Airnauts/commenting-tool/issues"},"dist":{"shasum":"e912efd2db655cf0881a07dc85e70373e0393d42","tarball":"https://registry.npmjs.org/@airnauts/comments-client/-/comments-client-0.5.0.tgz","fileCount":111,"integrity":"sha512-QGiEX5gE6I+BKAdVkyJRgX6pHZk6DT36E/eJIUvTYlljIrFqG/b9SzkLceMY8t/YK+dQSUEYFtiU7BrHkBcBbQ==","signatures":[{"sig":"MEYCIQDsW0KiqhWBGMv2HzXqf2BSHCd1W/me6Eufe4eGqTi+DAIhAKnQQolU3aBZdJV3H9Tq0ch1WlYMoleyvZ4+ma09kAxa","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4291066},"type":"module","_from":"file:airnauts-comments-client-0.5.0.tgz","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./react":{"types":"./dist/react.d.ts","import":"./dist/react.js"}},"scripts":{"size":"size-limit","test":"pnpm build:css && vitest run","build":"pnpm build:css && rm -rf dist && tsup && tsc --build --force","build:css":"node scripts/build-css.mjs","typecheck":"tsc --build"},"_npmUser":{"name":"mateuszpaulski","email":"mateusz@airnauts.com"},"_resolved":"/tmp/74aae188bf4a014715a464ad6e6ab7dd/airnauts-comments-client-0.5.0.tgz","_integrity":"sha512-QGiEX5gE6I+BKAdVkyJRgX6pHZk6DT36E/eJIUvTYlljIrFqG/b9SzkLceMY8t/YK+dQSUEYFtiU7BrHkBcBbQ==","repository":{"url":"git+https://github.com/Airnauts/commenting-tool.git","type":"git","directory":"packages/client"},"size-limit":[{"name":"@airnauts/comments-client (esm, brotli)","path":"dist/index.js","limit":"300 kB"}],"_npmVersion":"10.9.8","description":"Embeddable commenting widget and React wrapper for the Airnauts commenting tool.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"clsx":"^2.1.1","tailwind-merge":"^2.6.0","@radix-ui/react-dialog":"^1.1.6","@airnauts/comments-core":"^0.5.0","@radix-ui/react-popover":"^1.1.6"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^26.0.0","react":"^19.0.0","react-dom":"^19.0.0","size-limit":"^11.1.6","tailwindcss":"^4.0.0","@types/react":"^19.0.0","@tailwindcss/cli":"^4.0.0","@types/react-dom":"^19.0.0","@vitejs/plugin-react":"^4.3.4","@testing-library/react":"^16.2.0","@airnauts/comments-server":"0.5.0","@testing-library/jest-dom":"^6.6.3","@size-limit/preset-small-lib":"^11.1.6","@airnauts/comments-adapter-memory":"0.5.0"},"peerDependencies":{"react":"^19.0.0","react-dom":"^19.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/comments-client_0.5.0_1780919621224_0.38977787658355467","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Renamed to @airnauts/airside-client — install that instead. No longer maintained."},"0.5.1":{"name":"@airnauts/comments-client","version":"0.5.1","keywords":["comments","commenting","annotations","feedback","airnauts","widget","react"],"author":{"name":"Airnauts"},"license":"MIT","_id":"@airnauts/comments-client@0.5.1","maintainers":[{"name":"jkrzemie","email":"hello@airnauts.com"},{"name":"mateuszpaulski","email":"mateusz@airnauts.com"}],"homepage":"https://github.com/Airnauts/commenting-tool#readme","bugs":{"url":"https://github.com/Airnauts/commenting-tool/issues"},"dist":{"shasum":"748a988ba7e260e6d26720733037a40e0f0576e4","tarball":"https://registry.npmjs.org/@airnauts/comments-client/-/comments-client-0.5.1.tgz","fileCount":115,"integrity":"sha512-Etpd8Yecb76jGkeM/ikt6BX61Z84lBDGjMJAGpE29QZIEJWgUX0VNxFYWJzpL0YWpowqV8EcOdrcJt6DC85d3w==","signatures":[{"sig":"MEUCIH92v1Ty1GTPOxCjpiEQ5pBbB/aa1P2FrJYjBaU8Q1ReAiEAw2QPLSlyyYduEYIb13c4BsMmzd+Yw+akMzfi5AEd6N0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4323051},"type":"module","_from":"file:airnauts-comments-client-0.5.1.tgz","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./react":{"types":"./dist/react.d.ts","import":"./dist/react.js"}},"scripts":{"size":"size-limit","test":"pnpm build:css && vitest run","build":"pnpm build:css && rm -rf dist && tsup && tsc --build --force","build:css":"node scripts/build-css.mjs","typecheck":"tsc --build"},"_npmUser":{"name":"mateuszpaulski","email":"mateusz@airnauts.com"},"_resolved":"/tmp/b01f1d0f5b088bd8af01216b6b784d9e/airnauts-comments-client-0.5.1.tgz","_integrity":"sha512-Etpd8Yecb76jGkeM/ikt6BX61Z84lBDGjMJAGpE29QZIEJWgUX0VNxFYWJzpL0YWpowqV8EcOdrcJt6DC85d3w==","repository":{"url":"git+https://github.com/Airnauts/commenting-tool.git","type":"git","directory":"packages/client"},"size-limit":[{"name":"@airnauts/comments-client (esm, brotli)","path":"dist/index.js","limit":"300 kB"}],"_npmVersion":"10.9.8","description":"Embeddable commenting widget and React wrapper for the Airnauts commenting tool.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"clsx":"^2.1.1","tailwind-merge":"^2.6.0","@radix-ui/react-dialog":"^1.1.6","@airnauts/comments-core":"^0.5.1","@radix-ui/react-popover":"^1.1.6"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^26.0.0","react":"^19.0.0","react-dom":"^19.0.0","size-limit":"^11.1.6","tailwindcss":"^4.0.0","@types/react":"^19.0.0","@tailwindcss/cli":"^4.0.0","@types/react-dom":"^19.0.0","@vitejs/plugin-react":"^4.3.4","@testing-library/react":"^16.2.0","@airnauts/comments-server":"0.5.1","@testing-library/jest-dom":"^6.6.3","@size-limit/preset-small-lib":"^11.1.6","@airnauts/comments-adapter-memory":"0.5.1"},"peerDependencies":{"react":"^19.0.0","react-dom":"^19.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/comments-client_0.5.1_1780924736710_0.8896071923801581","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Renamed to @airnauts/airside-client — install that instead. No longer maintained."},"0.6.0":{"name":"@airnauts/comments-client","version":"0.6.0","keywords":["comments","commenting","annotations","feedback","airnauts","widget","react"],"author":{"name":"Airnauts"},"license":"MIT","_id":"@airnauts/comments-client@0.6.0","maintainers":[{"name":"jkrzemie","email":"hello@airnauts.com"},{"name":"mateuszpaulski","email":"mateusz@airnauts.com"}],"homepage":"https://github.com/Airnauts/commenting-tool#readme","bugs":{"url":"https://github.com/Airnauts/commenting-tool/issues"},"dist":{"shasum":"7419370642aa4224928b8eaee83401eb68ffcecf","tarball":"https://registry.npmjs.org/@airnauts/comments-client/-/comments-client-0.6.0.tgz","fileCount":135,"integrity":"sha512-z4mry594mXRqEEkQAKDjGPsp5KL9tw3WSpsFexsRzdXiLDWWjmw393IBwIYt83gwlSfMP88ZBCzsU/zCivC1YA==","signatures":[{"sig":"MEUCIC/15aRieAx53x/8N4A3Ivd34/Z1vdxCA+yIcqbOEj9wAiEAmF3YA2IkiRKJIhlCsnpUQGQ4vSxG/7Kjhtt3SDLlUk0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4793072},"type":"module","_from":"file:airnauts-comments-client-0.6.0.tgz","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./react":{"types":"./dist/react.d.ts","import":"./dist/react.js"}},"scripts":{"size":"size-limit","test":"pnpm build:css && vitest run","build":"pnpm build:css && rm -rf dist && tsup && tsc --build --force","build:css":"node scripts/build-css.mjs","typecheck":"tsc --build"},"_npmUser":{"name":"mateuszpaulski","email":"mateusz@airnauts.com"},"_resolved":"/tmp/964ea408acfebbfca90784f3ed48485b/airnauts-comments-client-0.6.0.tgz","_integrity":"sha512-z4mry594mXRqEEkQAKDjGPsp5KL9tw3WSpsFexsRzdXiLDWWjmw393IBwIYt83gwlSfMP88ZBCzsU/zCivC1YA==","repository":{"url":"git+https://github.com/Airnauts/commenting-tool.git","type":"git","directory":"packages/client"},"size-limit":[{"name":"@airnauts/comments-client (esm, brotli)","path":"dist/index.js","limit":"300 kB"}],"_npmVersion":"10.9.8","description":"Embeddable commenting widget and React wrapper for the Airnauts commenting tool.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"clsx":"^2.1.1","tailwind-merge":"^2.6.0","@radix-ui/react-dialog":"^1.1.6","@airnauts/comments-core":"^0.6.0","@radix-ui/react-popover":"^1.1.6","@radix-ui/react-dropdown-menu":"^2.1.17"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^26.0.0","react":"^19.0.0","react-dom":"^19.0.0","size-limit":"^11.1.6","tailwindcss":"^4.0.0","@types/react":"^19.0.0","@tailwindcss/cli":"^4.0.0","@types/react-dom":"^19.0.0","@vitejs/plugin-react":"^4.3.4","@testing-library/react":"^16.2.0","@airnauts/comments-server":"0.6.0","@testing-library/jest-dom":"^6.6.3","@size-limit/preset-small-lib":"^11.1.6","@airnauts/comments-adapter-memory":"0.6.0"},"peerDependencies":{"react":"^19.0.0","react-dom":"^19.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/comments-client_0.6.0_1781537515880_0.957299671601882","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Renamed to @airnauts/airside-client — install that instead. No longer maintained."},"0.7.0":{"name":"@airnauts/comments-client","version":"0.7.0","keywords":["comments","commenting","annotations","feedback","airnauts","widget","react"],"author":{"name":"Airnauts"},"license":"MIT","_id":"@airnauts/comments-client@0.7.0","maintainers":[{"name":"jkrzemie","email":"hello@airnauts.com"},{"name":"mateuszpaulski","email":"mateusz@airnauts.com"}],"homepage":"https://github.com/Airnauts/commenting-tool#readme","bugs":{"url":"https://github.com/Airnauts/commenting-tool/issues"},"dist":{"shasum":"5cae8ee4f14d072040db8da3687558528b368a71","tarball":"https://registry.npmjs.org/@airnauts/comments-client/-/comments-client-0.7.0.tgz","fileCount":135,"integrity":"sha512-1DsTPEXyeWbt2mnYcVaXDloM8l4PtDJbhVmbEYsr7p0m0ZYI0F689Cp3vlsbBI2fsbWp4v6yC7m/vUiah084ZQ==","signatures":[{"sig":"MEUCIQCXMNwb+cUU/QUJZBIEAHE4kVzHYhbZaqcB0mjZKcii8QIgdD3nprl7YXdIYfNJTUK7FNY2AIyOMTkvryycMntSqP8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4793072},"type":"module","_from":"file:airnauts-comments-client-0.7.0.tgz","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./react":{"types":"./dist/react.d.ts","import":"./dist/react.js"}},"scripts":{"size":"size-limit","test":"pnpm build:css && vitest run","build":"pnpm build:css && rm -rf dist && tsup && tsc --build --force","build:css":"node scripts/build-css.mjs","typecheck":"tsc --build"},"_npmUser":{"name":"mateuszpaulski","email":"mateusz@airnauts.com"},"_resolved":"/tmp/ee933817c4a137909e89a63b53982e76/airnauts-comments-client-0.7.0.tgz","_integrity":"sha512-1DsTPEXyeWbt2mnYcVaXDloM8l4PtDJbhVmbEYsr7p0m0ZYI0F689Cp3vlsbBI2fsbWp4v6yC7m/vUiah084ZQ==","repository":{"url":"git+https://github.com/Airnauts/commenting-tool.git","type":"git","directory":"packages/client"},"size-limit":[{"name":"@airnauts/comments-client (esm, brotli)","path":"dist/index.js","limit":"300 kB"}],"_npmVersion":"10.9.8","description":"Embeddable commenting widget and React wrapper for the Airnauts commenting tool.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"clsx":"^2.1.1","tailwind-merge":"^2.6.0","@radix-ui/react-dialog":"^1.1.6","@airnauts/comments-core":"^0.7.0","@radix-ui/react-popover":"^1.1.6","@radix-ui/react-dropdown-menu":"^2.1.17"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^26.0.0","react":"^19.0.0","react-dom":"^19.0.0","size-limit":"^11.1.6","tailwindcss":"^4.0.0","@types/react":"^19.0.0","@tailwindcss/cli":"^4.0.0","@types/react-dom":"^19.0.0","@vitejs/plugin-react":"^4.3.4","@testing-library/react":"^16.2.0","@airnauts/comments-server":"0.7.0","@testing-library/jest-dom":"^6.6.3","@size-limit/preset-small-lib":"^11.1.6","@airnauts/comments-adapter-memory":"0.7.0"},"peerDependencies":{"react":"^19.0.0","react-dom":"^19.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/comments-client_0.7.0_1781540305799_0.5090293313251306","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Renamed to @airnauts/airside-client — install that instead. No longer maintained."}},"time":{"created":"2026-06-02T14:34:48.342Z","modified":"2026-06-16T09:41:01.356Z","0.1.0":"2026-06-02T14:34:48.783Z","0.1.1":"2026-06-03T08:48:21.326Z","0.2.0":"2026-06-08T10:06:05.537Z","0.4.0":"2026-06-08T10:49:48.303Z","0.5.0":"2026-06-08T11:53:41.418Z","0.5.1":"2026-06-08T13:18:56.936Z","0.6.0":"2026-06-15T15:31:56.132Z","0.7.0":"2026-06-15T16:18:26.005Z"},"bugs":{"url":"https://github.com/Airnauts/commenting-tool/issues"},"author":{"name":"Airnauts"},"license":"MIT","homepage":"https://github.com/Airnauts/commenting-tool#readme","keywords":["comments","commenting","annotations","feedback","airnauts","widget","react"],"repository":{"url":"git+https://github.com/Airnauts/commenting-tool.git","type":"git","directory":"packages/client"},"description":"Embeddable commenting widget and React wrapper for the Airnauts commenting tool.","maintainers":[{"name":"jkrzemie","email":"hello@airnauts.com"},{"name":"mateuszpaulski","email":"mateusz@airnauts.com"}],"readme":"# @airnauts/comments-client\n\nEmbeddable commenting widget and React wrapper for the [Airnauts commenting tool](https://github.com/Airnauts/commenting-tool). Mounts a light-DOM, self-contained commenting overlay onto any web page — no iframe, no Shadow DOM.\n\n## Installation\n\n```bash\npnpm add @airnauts/comments-client\n# React host apps also need the optional peer:\npnpm add react react-dom\n```\n\n## Quick start\n\n### React (recommended for React apps)\n\n```tsx\n'use client'\nimport { CommentsLayer } from '@airnauts/comments-client/react'\n\nexport function CommentsMount() {\n  return <CommentsLayer commentsKey=\"your-secret-key\" endpoint=\"/api/comments\" />\n}\n```\n\nRender `<CommentsMount />` once in your root layout. The widget stays inert until the URL carries `?comments-key=your-secret-key`; after that, the key is persisted to `localStorage` so subsequent visits work without the param.\n\n### Vanilla JS\n\n```ts\nimport { comments } from '@airnauts/comments-client'\n\nconst handle = await comments.init({\n  key: 'your-secret-key',\n  endpoint: '/api/comments',\n})\n\n// Later, to tear down:\nhandle.destroy()\n```\n\n## API reference\n\n### `init(options)` / `comments.init(options)`\n\n```ts\nimport { init, comments } from '@airnauts/comments-client'\n\nconst handle: CommentsHandle = await comments.init(options)\n```\n\n`init` is a no-op (returns a handle whose `destroy` is also a no-op) when no valid key is found in either the URL or `localStorage`. It is async by contract; in the current build the app bundle is static (no dynamic import split at the gate).\n\n#### `InitOptions`\n\n| Option | Type | Description |\n|---|---|---|\n| `key` | `string` | Secret key sent as `x-comments-key` on every API request |\n| `endpoint` | `string` | Base URL of the comments API (e.g. `\"/api/comments\"`) |\n| `pageKey` | `(url: string) => string` | Override the default `origin + pathname` page identity |\n| `keyParam` | `string` | URL param the activation gate reads (default `\"comments-key\"`) |\n| `threadParam` | `string` | URL param used for thread deep-links (default `\"comments-thread\"`) |\n| `features.screenshots` | `boolean` | Enable screenshot capture (default off) |\n| `features.textAnchors` | `boolean` | Enable text-selection anchoring (default off) |\n| `provenance` | `Provenance` | Optional deploy metadata attached to new threads (`commitSha`, `branch`, `deploymentId`) |\n\n#### `CommentsHandle`\n\n```ts\ntype CommentsHandle = { destroy(): void }\n```\n\nCall `destroy()` to unmount the widget and clean up all listeners.\n\n### `consumeThreadParam(param)`\n\n```ts\nimport { consumeThreadParam, DEFAULT_THREAD_PARAM } from '@airnauts/comments-client'\n\nconsumeThreadParam(DEFAULT_THREAD_PARAM)\n```\n\nReads a `?comments-thread=<id>` deep-link param from the current URL, stores the thread ID in `sessionStorage` so the widget opens that thread's panel on load, then strips the param from the address bar. Call this before `init` if you need to handle deep-links in a vanilla (non-React) context; the React `<CommentsLayer>` handles it automatically.\n\n### Constants\n\n| Export | Value |\n|---|---|\n| `DEFAULT_KEY_PARAM` | `\"comments-key\"` |\n| `DEFAULT_THREAD_PARAM` | `\"comments-thread\"` |\n\n### Anchor utilities (advanced)\n\nLow-level DOM capture functions used by the widget's anchoring engine; available if you need to build custom anchoring logic.\n\n```ts\nimport { captureElement, extractSignals, buildSelectors } from '@airnauts/comments-client'\n```\n\n| Export | Description |\n|---|---|\n| `captureElement(el, point)` | Build a fingerprint `{ selectors, signals, offset }` from a DOM element and click point |\n| `extractSignals(el)` | Extract the signals bag (tag, role, textSnippet, classes, siblingIndex, ancestorTrail) |\n| `buildSelectors(el)` | Build the dual `[structuralPath, classPath]` selector tuple |\n| `resolveUnique(selector, root?)` | Resolve a structural selector to a single element, or null if ambiguous |\n\n## Subpath: `@airnauts/comments-client/react`\n\n```tsx\nimport { CommentsLayer } from '@airnauts/comments-client/react'\n```\n\nThin React wrapper that calls `comments.init()` in a `useEffect` and tears down on unmount.\n\n#### `CommentsLayerProps`\n\nAll `InitOptions` fields except `key`, which becomes `commentsKey` (React reserves the `key` prop name):\n\n```tsx\n<CommentsLayer\n  commentsKey=\"your-secret-key\"\n  endpoint=\"/api/comments\"\n  features={{ screenshots: true, textAnchors: true }}\n  pageKey={(url) => new URL(url).origin + new URL(url).pathname}\n/>\n```\n\nThe effect re-runs only when `commentsKey`, `endpoint`, or `keyParam` change — not on every render.\n\n## Peer dependencies & requirements\n\n| Peer | Required | Notes |\n|---|---|---|\n| `react` | Optional (^19.0.0) | Only needed for `@airnauts/comments-client/react` |\n| `react-dom` | Optional (^19.0.0) | Only needed for `@airnauts/comments-client/react` |\n\nThe main entry (`@airnauts/comments-client`) bundles its own React and does **not** require the host app to have React installed.\n\n- Node.js ≥ 18 for server-side rendering stubs (the widget itself only runs in the browser)\n\n## Related packages\n\n- **`@airnauts/comments-server`** — the HTTP API the widget talks to\n- **`@airnauts/comments-next`** — one-call Next.js App Router server integration\n- **`@airnauts/comments-core`** — shared types (consumed transitively)\n\nSee the [integration guide](https://github.com/Airnauts/commenting-tool/blob/main/docs/integration.md) for a full walkthrough, with `examples/nextjs-host` as the worked example.\n\n## License\n\nMIT © Airnauts\n","readmeFilename":"README.md"}