{"_id":"@sentinel-nvr/web","_rev":"35-5ba74980adc2773c1a344992a18907dd","name":"@sentinel-nvr/web","dist-tags":{"latest":"0.16.4"},"versions":{"0.1.0":{"name":"@sentinel-nvr/web","version":"0.1.0","author":{"name":"Muggedadscher"},"license":"MIT","_id":"@sentinel-nvr/web@0.1.0","maintainers":[{"name":"muggedadscher","email":"schleerjannick26@gmail.com"}],"homepage":"https://github.com/Muggedadscher/sentinel-nvr-web#readme","bugs":{"url":"https://github.com/Muggedadscher/sentinel-nvr-web/issues"},"dist":{"shasum":"df325ab06a31af9c8b7ba3f81812a7d683afe894","tarball":"https://registry.npmjs.org/@sentinel-nvr/web/-/web-0.1.0.tgz","fileCount":10,"integrity":"sha512-dcTiZgeVF9JoQGpvRaBvY2Dge//IVKs1iMRRL/9TpRq75CQ8Ub3CmjJ4wUGgAU2dpNSpcTpLFeOfCN5eO/fXRg==","signatures":[{"sig":"MEUCIASpaqeUX02Dzoi/OpLqaFuPl3g3m92SgXnYhPTnrPgJAiEAmr5ZnPojWTSKsvxF5Dpg7coBh3cvhSbkXDydLXxE3Fo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":216852},"type":"module","engines":{"node":">=20"},"exports":{"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/index.js","default":"./dist/api/index.js"},"./player":{"types":"./dist/player/index.d.ts","import":"./dist/player/index.js","default":"./dist/player/index.js"}},"scripts":{"test":"vitest run","build":"tsup","release":"npm run build && changeset publish","typecheck":"tsc --noEmit"},"_npmUser":{"name":"muggedadscher","email":"schleerjannick26@gmail.com"},"repository":{"url":"git+https://github.com/Muggedadscher/sentinel-nvr-web.git","type":"git"},"_npmVersion":"10.9.8","description":"Shared browser code for the Sentinel NVR plugin for Scrypted: API model + client (/api), player (/player) and React UI (/ui, planned). Consumed by the plugin's own web UI and the HAPulse dashboard.","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.0","vitest":"^2.1.9","typescript":"^5.7.0","@changesets/cli":"^2.27.0"},"_npmOperationalInternal":{"tmp":"tmp/web_0.1.0_1789725512404_0.9144792578200027","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@sentinel-nvr/web","version":"0.1.1","author":{"name":"Muggedadscher"},"license":"MIT","_id":"@sentinel-nvr/web@0.1.1","maintainers":[{"name":"muggedadscher","email":"schleerjannick26@gmail.com"}],"homepage":"https://github.com/Muggedadscher/sentinel-nvr-web#readme","bugs":{"url":"https://github.com/Muggedadscher/sentinel-nvr-web/issues"},"dist":{"shasum":"29d8e03ebe2fa06ca0dbbdb2f8e3f544d7aeecbc","tarball":"https://registry.npmjs.org/@sentinel-nvr/web/-/web-0.1.1.tgz","fileCount":10,"integrity":"sha512-gO5OlJ/KCUmAZ3OTzj4qqotuMUj7iUWsAmRUXk/rEnAtIo7T3FKswDazqIMNuV9gWJJxgmOt6NDfwwe7toaFeg==","signatures":[{"sig":"MEUCIFSBZSpG7uOFZK5kdjs2BQlCXDWKH555bVa9m/70lXYcAiEA4Ej3Q4EDoSkycwvkh7m7DKeNiXCkn9vnu/IqjlviMoM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIEfj0jM8lIQcEQWzRJpbPrFHZTeS5qP4cRHAzEHTSMp3AiAkToHKY9D5tG+Iz/pym3zhuLmfKs4kt1SERPmimNhd5Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":218454},"type":"module","engines":{"node":">=20"},"exports":{"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/index.js","default":"./dist/api/index.js"},"./player":{"types":"./dist/player/index.d.ts","import":"./dist/player/index.js","default":"./dist/player/index.js"}},"scripts":{"test":"vitest run","build":"tsup","release":"npm run build && changeset publish","typecheck":"tsc --noEmit"},"_npmUser":{"name":"muggedadscher","email":"schleerjannick26@gmail.com"},"repository":{"url":"git+https://github.com/Muggedadscher/sentinel-nvr-web.git","type":"git"},"_npmVersion":"10.9.8","description":"Shared browser code for the Sentinel NVR plugin for Scrypted: API model + client (/api), player (/player) and React UI (/ui, planned). Consumed by the plugin's own web UI and the HAPulse dashboard.","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.0","vitest":"^2.1.9","typescript":"^5.7.0","@changesets/cli":"^2.27.0"},"_npmOperationalInternal":{"tmp":"tmp/web_0.1.1_1789728568309_0.9742486026080248","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@sentinel-nvr/web","version":"0.1.2","author":{"name":"Muggedadscher"},"license":"MIT","_id":"@sentinel-nvr/web@0.1.2","maintainers":[{"name":"muggedadscher","email":"schleerjannick26@gmail.com"}],"homepage":"https://github.com/Muggedadscher/sentinel-nvr-web#readme","bugs":{"url":"https://github.com/Muggedadscher/sentinel-nvr-web/issues"},"dist":{"shasum":"bf9a3555d6236b7a83f64c216a9c375b53d2c720","tarball":"https://registry.npmjs.org/@sentinel-nvr/web/-/web-0.1.2.tgz","fileCount":10,"integrity":"sha512-rFytdPw63EwEfKarxpZhyOCQE+yO8iEk2kpk5TFGh0AArwu8qYkBQb5HPQWwgTbDH11BAX2rbqw2S++qTrnxPQ==","signatures":[{"sig":"MEUCIQDtiCfvuPwQ8Yv+AU+7lNrIyveP/vb9UbWea2q0YIPK9wIgHxluDWWwUV4yUvnoDzVHInguaNJgfaYC5Ivr2sJSR5A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIFBDQmf0k5tWqjkvLU0t1Z0Lcvk80g6bBceTeD0TXLLEAiEAuZOEPrrXRH3Dbv/fuCUNzkmhBvJk787XMRyVtySYsxI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":221516},"type":"module","engines":{"node":">=20"},"exports":{"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/index.js","default":"./dist/api/index.js"},"./player":{"types":"./dist/player/index.d.ts","import":"./dist/player/index.js","default":"./dist/player/index.js"}},"scripts":{"test":"vitest run","build":"tsup","release":"npm run build && changeset publish","typecheck":"tsc --noEmit"},"_npmUser":{"name":"muggedadscher","email":"schleerjannick26@gmail.com"},"repository":{"url":"git+https://github.com/Muggedadscher/sentinel-nvr-web.git","type":"git"},"_npmVersion":"10.9.8","description":"Shared browser code for the Sentinel NVR plugin for Scrypted: API model + client (/api), player (/player) and React UI (/ui, planned). Consumed by the plugin's own web UI and the HAPulse dashboard.","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.0","vitest":"^2.1.9","typescript":"^5.7.0","@changesets/cli":"^2.27.0"},"_npmOperationalInternal":{"tmp":"tmp/web_0.1.2_1789729071399_0.9054869244664283","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@sentinel-nvr/web","version":"0.2.0","author":{"name":"Muggedadscher"},"license":"MIT","_id":"@sentinel-nvr/web@0.2.0","maintainers":[{"name":"muggedadscher","email":"schleerjannick26@gmail.com"}],"homepage":"https://github.com/Muggedadscher/sentinel-nvr-web#readme","bugs":{"url":"https://github.com/Muggedadscher/sentinel-nvr-web/issues"},"dist":{"shasum":"b4ff1d2b35e79b7612e26a1c039044d0fcfdfee5","tarball":"https://registry.npmjs.org/@sentinel-nvr/web/-/web-0.2.0.tgz","fileCount":25,"integrity":"sha512-bkqEFJZHevuCMP071c3bifzYl1QF5j8HXTJOHss8dIATXg2sQ75VoT6g5pSteMXcuj1yREIaHz1fvHHU5gLiwg==","signatures":[{"sig":"MEUCIHdzmyqyerrRNNy5C3uGxbIL0DzSvj/uovjsqP4+G9z7AiEA7vWGcB+oRFU7zguI6dwmOEIuATLoK/M3ChIzXt+2SXE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDWcbOv9bNnk2bKU1D1fbS7IefH7pEW7KvyyyXjXCmdqQIhAK3cs4WSla4mxv27TQewZIxrh+YQnivwMzOOGnkisjYi","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":427535},"type":"module","engines":{"node":">=20"},"exports":{"./ui":{"types":"./dist/ui/index.d.ts","import":"./dist/ui/index.js","default":"./dist/ui/index.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/index.js","default":"./dist/api/index.js"},"./player":{"types":"./dist/player/index.d.ts","import":"./dist/player/index.js","default":"./dist/player/index.js"},"./ui/ui.css":"./dist/ui/ui.css","./ui/locales/*":"./dist/ui/locales/*"},"scripts":{"test":"vitest run","build":"tsup && mkdir -p dist/ui && cp src/ui/ui.css dist/ui/ui.css && cp -r src/ui/locales dist/ui/locales","release":"npm run build && changeset publish","typecheck":"tsc --noEmit"},"_npmUser":{"name":"muggedadscher","email":"schleerjannick26@gmail.com"},"repository":{"url":"git+https://github.com/Muggedadscher/sentinel-nvr-web.git","type":"git"},"_npmVersion":"10.9.8","description":"Shared browser code for the Sentinel NVR plugin for Scrypted: API model + client (/api), player (/player) and React UI with i18n + themes (/ui). Consumed by the plugin's own web UI and the HAPulse dashboard.","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.0","react":"^19.0.0","vitest":"^2.1.9","react-dom":"^19.0.0","typescript":"^5.7.0","@types/react":"^19.0.0","lucide-react":"^0.469.0","@changesets/cli":"^2.27.0"},"peerDependencies":{"react":">=18","lucide-react":">=0.400.0"},"_npmOperationalInternal":{"tmp":"tmp/web_0.2.0_1789751071635_0.9360679717138238","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@sentinel-nvr/web","version":"0.2.1","author":{"name":"Muggedadscher"},"license":"MIT","_id":"@sentinel-nvr/web@0.2.1","maintainers":[{"name":"muggedadscher","email":"schleerjannick26@gmail.com"}],"homepage":"https://github.com/Muggedadscher/sentinel-nvr-web#readme","bugs":{"url":"https://github.com/Muggedadscher/sentinel-nvr-web/issues"},"dist":{"shasum":"25753fcb6f114e925609eb8962ee34ef31627292","tarball":"https://registry.npmjs.org/@sentinel-nvr/web/-/web-0.2.1.tgz","fileCount":25,"integrity":"sha512-lCs8jbD7p0du30Ya29ju9wvnPUwD0nSEpwl4Et6zShcqiQ9a+0wny4YOO56kpV8GbI2yhxU+445PrhrUJ2j2zQ==","signatures":[{"sig":"MEUCICCdorkuIEHNYfH+gsEhbdlkC/KA4YFsHoDnyEAavpkyAiEAkv7kkqZEWTu02PB+4MYB7has9jMrikksjIFgd+YwycA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCID2X1t8K5PHVaPNEqSYZavEJ/NBUgMVBd9NIX/PwvARMAiAj2B1IHL519M7Zk0fjXtu7idqLGol7kvFgdMnwB+CjAw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":427699},"type":"module","engines":{"node":">=20"},"exports":{"./ui":{"types":"./dist/ui/index.d.ts","import":"./dist/ui/index.js","default":"./dist/ui/index.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/index.js","default":"./dist/api/index.js"},"./player":{"types":"./dist/player/index.d.ts","import":"./dist/player/index.js","default":"./dist/player/index.js"},"./ui/ui.css":"./dist/ui/ui.css","./ui/locales/*":"./dist/ui/locales/*"},"scripts":{"test":"vitest run","build":"tsup && mkdir -p dist/ui && cp src/ui/ui.css dist/ui/ui.css && cp -r src/ui/locales dist/ui/locales","release":"npm run build && changeset publish","typecheck":"tsc --noEmit"},"_npmUser":{"name":"muggedadscher","email":"schleerjannick26@gmail.com"},"repository":{"url":"git+https://github.com/Muggedadscher/sentinel-nvr-web.git","type":"git"},"_npmVersion":"10.9.8","description":"Shared browser code for the Sentinel NVR plugin for Scrypted: API model + client (/api), player (/player) and React UI with i18n + themes (/ui). Consumed by the plugin's own web UI and the HAPulse dashboard.","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.0","react":"^19.0.0","vitest":"^2.1.9","react-dom":"^19.0.0","typescript":"^5.7.0","@types/react":"^19.0.0","lucide-react":"^0.469.0","@changesets/cli":"^2.27.0"},"peerDependencies":{"react":">=18","lucide-react":">=0.400.0"},"_npmOperationalInternal":{"tmp":"tmp/web_0.2.1_1789752055687_0.16641882817081322","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"@sentinel-nvr/web","version":"0.2.2","author":{"name":"Muggedadscher"},"license":"MIT","_id":"@sentinel-nvr/web@0.2.2","maintainers":[{"name":"muggedadscher","email":"schleerjannick26@gmail.com"}],"homepage":"https://github.com/Muggedadscher/sentinel-nvr-web#readme","bugs":{"url":"https://github.com/Muggedadscher/sentinel-nvr-web/issues"},"dist":{"shasum":"920f7cf6573b3bd11703b24a4b1a094486dcb355","tarball":"https://registry.npmjs.org/@sentinel-nvr/web/-/web-0.2.2.tgz","fileCount":25,"integrity":"sha512-QKeAVcT78UkiA3ir4lhBib8toiJ/cLH2uaEWRjLL4SP9Q+ZcCU0QAjsMA2uh1SG4Ru11jxfILCwziSf2VVSUSg==","signatures":[{"sig":"MEYCIQCg/iU1rTbg8daAFKTL+ScIbCR2R4Y4du9QKV3XtgYyTAIhAIvtTYKTe4V90Yy+7j8kgo3ZnupQ5qpFgG8sT3j7U8Zt","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQD47dFRAhLuHOTflgcV3Hv62V0I2GGyC9r7zg6GIKIZeAIgTBhG8THXUKQ9HrrVpQb1d5beeS+fEN975ynxmYOWJhM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":427978},"type":"module","engines":{"node":">=20"},"exports":{"./ui":{"types":"./dist/ui/index.d.ts","import":"./dist/ui/index.js","default":"./dist/ui/index.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/index.js","default":"./dist/api/index.js"},"./player":{"types":"./dist/player/index.d.ts","import":"./dist/player/index.js","default":"./dist/player/index.js"},"./ui/ui.css":"./dist/ui/ui.css","./ui/locales/*":"./dist/ui/locales/*"},"scripts":{"test":"vitest run","build":"tsup && mkdir -p dist/ui && cp src/ui/ui.css dist/ui/ui.css && cp -r src/ui/locales dist/ui/locales","release":"npm run build && changeset publish","typecheck":"tsc --noEmit"},"_npmUser":{"name":"muggedadscher","email":"schleerjannick26@gmail.com"},"repository":{"url":"git+https://github.com/Muggedadscher/sentinel-nvr-web.git","type":"git"},"_npmVersion":"10.9.8","description":"Shared browser code for the Sentinel NVR plugin for Scrypted: API model + client (/api), player (/player) and React UI with i18n + themes (/ui). Consumed by the plugin's own web UI and the HAPulse dashboard.","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.0","react":"^19.0.0","vitest":"^2.1.9","react-dom":"^19.0.0","typescript":"^5.7.0","@types/react":"^19.0.0","lucide-react":"^0.469.0","@changesets/cli":"^2.27.0"},"peerDependencies":{"react":">=18","lucide-react":">=0.400.0"},"_npmOperationalInternal":{"tmp":"tmp/web_0.2.2_1789752353763_0.08783743896510487","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@sentinel-nvr/web","version":"0.3.0","author":{"name":"Muggedadscher"},"license":"MIT","_id":"@sentinel-nvr/web@0.3.0","maintainers":[{"name":"muggedadscher","email":"schleerjannick26@gmail.com"}],"homepage":"https://github.com/Muggedadscher/sentinel-nvr-web#readme","bugs":{"url":"https://github.com/Muggedadscher/sentinel-nvr-web/issues"},"dist":{"shasum":"92a1ee25cf02a0df065f383eec9b8fd29f3b28db","tarball":"https://registry.npmjs.org/@sentinel-nvr/web/-/web-0.3.0.tgz","fileCount":26,"integrity":"sha512-2V4UWt28iLzUCXUTW7VcHIFWB7zjIJ7upWV/tTEy4wpm0rUWPJ0kMKxAMAI0E3XlrHi35Q0i29wXLdE8Da3wjw==","signatures":[{"sig":"MEYCIQCej0XatrmdFxJ0oWyT69ZhUU7sOu9l9g/Q0iCxHR6iewIhAMrbzkNZsQbTUg8m7yPHIiC2IjuDO9p/Kl3XmK+/fh66","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIAlJc3tSp42/PLEDaEsxqsSZarZq9b/eosP1IK9E1HENAiEAhZOgnzVE+9b08ivm3Rhy3NMuX9FpkfyJfkE/ESbeu8E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":488602},"type":"module","engines":{"node":">=20"},"exports":{"./ui":{"types":"./dist/ui/index.d.ts","import":"./dist/ui/index.js","default":"./dist/ui/index.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/index.js","default":"./dist/api/index.js"},"./player":{"types":"./dist/player/index.d.ts","import":"./dist/player/index.js","default":"./dist/player/index.js"},"./ui/ui.css":"./dist/ui/ui.css","./ui/locales/*":"./dist/ui/locales/*"},"scripts":{"test":"vitest run","build":"tsup && mkdir -p dist/ui && cp src/ui/ui.css dist/ui/ui.css && cp -r src/ui/locales dist/ui/locales","release":"npm run build && changeset publish","typecheck":"tsc --noEmit"},"_npmUser":{"name":"muggedadscher","email":"schleerjannick26@gmail.com"},"deprecated":"broken locales directory (locales/locales) - use 0.3.1+","repository":{"url":"git+https://github.com/Muggedadscher/sentinel-nvr-web.git","type":"git"},"_npmVersion":"10.9.8","description":"Shared browser code for the Sentinel NVR plugin for Scrypted: API model + client (/api), player (/player) and React UI with i18n + themes (/ui). Consumed by the plugin's own web UI and the HAPulse dashboard.","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsup":"^8.3.0","react":"^19.0.0","vitest":"^2.1.9","react-dom":"^19.0.0","typescript":"^5.7.0","@types/react":"^19.0.0","lucide-react":"^0.469.0","@changesets/cli":"^2.27.0"},"peerDependencies":{"react":">=18","lucide-react":">=0.400.0"},"_npmOperationalInternal":{"tmp":"tmp/web_0.3.0_1790109177099_0.6240328537005424","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"@sentinel-nvr/web","version":"0.3.1","author":{"name":"Muggedadscher"},"license":"MIT","_id":"@sentinel-nvr/web@0.3.1","maintainers":[{"name":"muggedadscher","email":"schleerjannick26@gmail.com"}],"homepage":"https://github.com/Muggedadscher/sentinel-nvr-web#readme","bugs":{"url":"https://github.com/Muggedadscher/sentinel-nvr-web/issues"},"dist":{"shasum":"129bfa4fb0d4688c3a4b826d82e185d5fa0dd714","tarball":"https://registry.npmjs.org/@sentinel-nvr/web/-/web-0.3.1.tgz","fileCount":26,"integrity":"sha512-fHIE7SnYAbLVUlDqjeb83rs0CyTG1Gj7T+7tw/vH3Rb7SkBDMXyKN0bg+FuovxDnyOrgvHTp/bBfrH17r3a3wQ==","signatures":[{"sig":"MEYCIQDov2HduncThmqcjfaZX3qgJqmrbpsG/J9InYH4NLXpsgIhALA7irJFUuLiZM0VXVrfq7MK2NLoL+fO+sDAf4GJm57C","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCmC+a15DctXbrnqqK3j7x4wjYqZuQxQeantDY5NFSZngIhAKwjEmfMLZeAtHxedaTxrj4kQlMwg0Ttgs/hf4B05uV6","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":488628},"type":"module","engines":{"node":">=20"},"exports":{"./ui":{"types":"./dist/ui/index.d.ts","import":"./dist/ui/index.js","default":"./dist/ui/index.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/index.js","default":"./dist/api/index.js"},"./player":{"types":"./dist/player/index.d.ts","import":"./dist/player/index.js","default":"./dist/player/index.js"},"./ui/ui.css":"./dist/ui/ui.css","./ui/locales/*":"./dist/ui/locales/*"},"scripts":{"test":"vitest run","build":"tsup && mkdir -p dist/ui && cp src/ui/ui.css dist/ui/ui.css && rm -rf dist/ui/locales && cp -r src/ui/locales dist/ui/locales","release":"npm run build && changeset publish","typecheck":"tsc --noEmit"},"_npmUser":{"name":"muggedadscher","email":"schleerjannick26@gmail.com"},"repository":{"url":"git+https://github.com/Muggedadscher/sentinel-nvr-web.git","type":"git"},"_npmVersion":"10.9.8","description":"Shared browser code for the Sentinel NVR plugin for Scrypted: API model + client (/api), player (/player) and React UI with i18n + themes (/ui). Consumed by the plugin's own web UI and the HAPulse dashboard.","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.0","react":"^19.0.0","vitest":"^2.1.9","react-dom":"^19.0.0","typescript":"^5.7.0","@types/react":"^19.0.0","lucide-react":"^0.469.0","@changesets/cli":"^2.27.0"},"peerDependencies":{"react":">=18","lucide-react":">=0.400.0"},"_npmOperationalInternal":{"tmp":"tmp/web_0.3.1_1790109222880_0.3275566729545276","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@sentinel-nvr/web","version":"0.4.0","author":{"name":"Muggedadscher"},"license":"MIT","_id":"@sentinel-nvr/web@0.4.0","maintainers":[{"name":"muggedadscher","email":"schleerjannick26@gmail.com"}],"homepage":"https://github.com/Muggedadscher/sentinel-nvr-web#readme","bugs":{"url":"https://github.com/Muggedadscher/sentinel-nvr-web/issues"},"dist":{"shasum":"25f4c421b1b12a29f03991bb91601d5085a773de","tarball":"https://registry.npmjs.org/@sentinel-nvr/web/-/web-0.4.0.tgz","fileCount":26,"integrity":"sha512-XYLTBdLkLfEXldLGCleAELn0ByadNRr2apD5gd3Vzd80jK3neHzozhet268r8FdCcG+vdlU80cLMLelCKqRz2g==","signatures":[{"sig":"MEUCIAIbGKgjk4u5AFw63c8rBrhwugnfmUq7sp8n67RboFatAiEAqEo/jft1dyRxVGNug6AoYJHpiA+xSbMP7XnkFArG2Cs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDDdWcHhE0UYcb5V0M061tTeLtfE3sN/xsqKoDf0JbNqgIgIepTCtETqpxPrZ1F7tHTpcaGyXz4IR59PFz31vNEBLo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":516900},"type":"module","engines":{"node":">=20"},"exports":{"./ui":{"types":"./dist/ui/index.d.ts","import":"./dist/ui/index.js","default":"./dist/ui/index.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/index.js","default":"./dist/api/index.js"},"./player":{"types":"./dist/player/index.d.ts","import":"./dist/player/index.js","default":"./dist/player/index.js"},"./ui/ui.css":"./dist/ui/ui.css","./ui/locales/*":"./dist/ui/locales/*"},"scripts":{"test":"vitest run","build":"tsup && mkdir -p dist/ui && cp src/ui/ui.css dist/ui/ui.css && rm -rf dist/ui/locales && cp -r src/ui/locales dist/ui/locales","release":"npm run build && changeset publish","typecheck":"tsc --noEmit"},"_npmUser":{"name":"muggedadscher","email":"schleerjannick26@gmail.com"},"repository":{"url":"git+https://github.com/Muggedadscher/sentinel-nvr-web.git","type":"git"},"_npmVersion":"10.9.8","description":"Shared browser code for the Sentinel NVR plugin for Scrypted: API model + client (/api), player (/player) and React UI with i18n + themes (/ui). Consumed by the plugin's own web UI and the HAPulse dashboard.","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.0","react":"^19.0.0","vitest":"^2.1.9","react-dom":"^19.0.0","typescript":"^5.7.0","@types/react":"^19.0.0","lucide-react":"^0.469.0","@changesets/cli":"^2.27.0"},"peerDependencies":{"react":">=18","lucide-react":">=0.400.0"},"_npmOperationalInternal":{"tmp":"tmp/web_0.4.0_1790109480212_0.45108465434365663","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@sentinel-nvr/web","version":"0.5.0","author":{"name":"Muggedadscher"},"license":"MIT","_id":"@sentinel-nvr/web@0.5.0","maintainers":[{"name":"muggedadscher","email":"schleerjannick26@gmail.com"}],"homepage":"https://github.com/Muggedadscher/sentinel-nvr-web#readme","bugs":{"url":"https://github.com/Muggedadscher/sentinel-nvr-web/issues"},"dist":{"shasum":"46654673a109cd6e48cd157eae0bf8e1a8b1eac7","tarball":"https://registry.npmjs.org/@sentinel-nvr/web/-/web-0.5.0.tgz","fileCount":26,"integrity":"sha512-qnBQzyU0ymKlNHjmpd9L2trizMa09JHwyMtj/DY3mmClC8eyVY7YDS+xkUnKNJoLfaIYB+fAIfTS/idteYCUhA==","signatures":[{"sig":"MEYCIQC4iiUSb/gzchtVVg36B1KHL56xAcqoHGs75U165S2SIAIhALYbyLJxCbkqS41V9V3P33J5YvpA51UePC4KbFWIN2ml","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQD1vGWTBoqxHtCZtivPxzdKANjvL2Eflk5pU/gTDw1PMQIhAIIwA8i5Yg161UzGXbWGLCHKHc3BKPjyeWMAw13wawgy","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":524533},"type":"module","engines":{"node":">=20"},"exports":{"./ui":{"types":"./dist/ui/index.d.ts","import":"./dist/ui/index.js","default":"./dist/ui/index.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/index.js","default":"./dist/api/index.js"},"./player":{"types":"./dist/player/index.d.ts","import":"./dist/player/index.js","default":"./dist/player/index.js"},"./ui/ui.css":"./dist/ui/ui.css","./ui/locales/*":"./dist/ui/locales/*"},"scripts":{"test":"vitest run","build":"tsup && mkdir -p dist/ui && cp src/ui/ui.css dist/ui/ui.css && rm -rf dist/ui/locales && cp -r src/ui/locales dist/ui/locales","release":"npm run build && changeset publish","typecheck":"tsc --noEmit"},"_npmUser":{"name":"muggedadscher","email":"schleerjannick26@gmail.com"},"repository":{"url":"git+https://github.com/Muggedadscher/sentinel-nvr-web.git","type":"git"},"_npmVersion":"10.9.8","description":"Shared browser code for the Sentinel NVR plugin for Scrypted: API model + client (/api), player (/player) and React UI with i18n + themes (/ui). Consumed by the plugin's own web UI and the HAPulse dashboard.","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.0","react":"^19.0.0","vitest":"^2.1.9","react-dom":"^19.0.0","typescript":"^5.7.0","@types/react":"^19.0.0","lucide-react":"^0.469.0","@changesets/cli":"^2.27.0"},"peerDependencies":{"react":">=18","lucide-react":">=0.400.0"},"_npmOperationalInternal":{"tmp":"tmp/web_0.5.0_1790110052270_0.3623891891346893","host":"s3://npm-registry-packages-npm-production"}},"0.5.1":{"name":"@sentinel-nvr/web","version":"0.5.1","author":{"name":"Muggedadscher"},"license":"MIT","_id":"@sentinel-nvr/web@0.5.1","maintainers":[{"name":"muggedadscher","email":"schleerjannick26@gmail.com"}],"homepage":"https://github.com/Muggedadscher/sentinel-nvr-web#readme","bugs":{"url":"https://github.com/Muggedadscher/sentinel-nvr-web/issues"},"dist":{"shasum":"886b317d5ca5e7a29c077dd551b6aaaf51aa6161","tarball":"https://registry.npmjs.org/@sentinel-nvr/web/-/web-0.5.1.tgz","fileCount":26,"integrity":"sha512-00P0ZHdOL2pCHVfuLLKhgnizOCTeyXOZ8qNvPeFYIHxr2GLDlUdbF2mwr68Yurd0A2iGBmG/sR+CCrjr4wjIoA==","signatures":[{"sig":"MEUCIFQFS8mk98jZFaDN3K4fHCWf1sV0edOcB0L4LhjFoZnrAiEAivUnDrkMwq/bW5pkpqOVpPGMANIRq8ELeA9oL4cgRMk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIGttO4UbspV927EcVdnKLBxgvtQFRzNfoK15CBZOX8hJAiEA3jxClNQuJp+QfaIzIhzqWV8sbsTuJpKHTAXttQVZb8I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":526406},"type":"module","engines":{"node":">=20"},"exports":{"./ui":{"types":"./dist/ui/index.d.ts","import":"./dist/ui/index.js","default":"./dist/ui/index.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/index.js","default":"./dist/api/index.js"},"./player":{"types":"./dist/player/index.d.ts","import":"./dist/player/index.js","default":"./dist/player/index.js"},"./ui/ui.css":"./dist/ui/ui.css","./ui/locales/*":"./dist/ui/locales/*"},"scripts":{"test":"vitest run","build":"tsup && mkdir -p dist/ui && cp src/ui/ui.css dist/ui/ui.css && rm -rf dist/ui/locales && cp -r src/ui/locales dist/ui/locales","release":"npm run build && changeset publish","typecheck":"tsc --noEmit"},"_npmUser":{"name":"muggedadscher","email":"schleerjannick26@gmail.com"},"repository":{"url":"git+https://github.com/Muggedadscher/sentinel-nvr-web.git","type":"git"},"_npmVersion":"10.9.8","description":"Shared browser code for the Sentinel NVR plugin for Scrypted: API model + client (/api), player (/player) and React UI with i18n + themes (/ui). Consumed by the plugin's own web UI and the HAPulse dashboard.","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.0","react":"^19.0.0","vitest":"^2.1.9","react-dom":"^19.0.0","typescript":"^5.7.0","@types/react":"^19.0.0","lucide-react":"^0.469.0","@changesets/cli":"^2.27.0"},"peerDependencies":{"react":">=18","lucide-react":">=0.400.0"},"_npmOperationalInternal":{"tmp":"tmp/web_0.5.1_1790111238814_0.9161624435686524","host":"s3://npm-registry-packages-npm-production"}},"0.5.2":{"name":"@sentinel-nvr/web","version":"0.5.2","author":{"name":"Muggedadscher"},"license":"MIT","_id":"@sentinel-nvr/web@0.5.2","maintainers":[{"name":"muggedadscher","email":"schleerjannick26@gmail.com"}],"homepage":"https://github.com/Muggedadscher/sentinel-nvr-web#readme","bugs":{"url":"https://github.com/Muggedadscher/sentinel-nvr-web/issues"},"dist":{"shasum":"96290651f571916f0c91105a659a6b51ee085c61","tarball":"https://registry.npmjs.org/@sentinel-nvr/web/-/web-0.5.2.tgz","fileCount":26,"integrity":"sha512-VdbD2VpoqPgCyDQ/07MbOhhm3lKFWzVu1SuJnGr3wcOC3WiVajAbwFiwsPpqzyINMISJwHQ+HwdOGFXv7WC9JQ==","signatures":[{"sig":"MEYCIQDUcfC2kI+Fbp8c5WMx1hzYS/zHuUkq2vp+qtyFgYjoegIhAIFG5vooPxCMgCSeh9HEv6J+EWf05W0bxLEKiHNb/VHK","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIBQQgA6mV87+VbtVoNqrkftYM6eBUvl5BT+8lBLuUupRAiA9rynzeY3xh1CXYF9WoiKpQEBUei/o3M8mWIya9MOp9w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":526371},"type":"module","engines":{"node":">=20"},"exports":{"./ui":{"types":"./dist/ui/index.d.ts","import":"./dist/ui/index.js","default":"./dist/ui/index.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/index.js","default":"./dist/api/index.js"},"./player":{"types":"./dist/player/index.d.ts","import":"./dist/player/index.js","default":"./dist/player/index.js"},"./ui/ui.css":"./dist/ui/ui.css","./ui/locales/*":"./dist/ui/locales/*"},"scripts":{"test":"vitest run","build":"tsup && mkdir -p dist/ui && cp src/ui/ui.css dist/ui/ui.css && rm -rf dist/ui/locales && cp -r src/ui/locales dist/ui/locales","release":"npm run build && changeset publish","typecheck":"tsc --noEmit"},"_npmUser":{"name":"muggedadscher","email":"schleerjannick26@gmail.com"},"repository":{"url":"git+https://github.com/Muggedadscher/sentinel-nvr-web.git","type":"git"},"_npmVersion":"10.9.8","description":"Shared browser code for the Sentinel NVR plugin for Scrypted: API model + client (/api), player (/player) and React UI with i18n + themes (/ui). Consumed by the plugin's own web UI and the HAPulse dashboard.","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.0","react":"^19.0.0","vitest":"^2.1.9","react-dom":"^19.0.0","typescript":"^5.7.0","@types/react":"^19.0.0","lucide-react":"^0.469.0","@changesets/cli":"^2.27.0"},"peerDependencies":{"react":">=18","lucide-react":">=0.400.0"},"_npmOperationalInternal":{"tmp":"tmp/web_0.5.2_1790112239153_0.1867432488900007","host":"s3://npm-registry-packages-npm-production"}},"0.5.3":{"name":"@sentinel-nvr/web","version":"0.5.3","author":{"name":"Muggedadscher"},"license":"MIT","_id":"@sentinel-nvr/web@0.5.3","maintainers":[{"name":"muggedadscher","email":"schleerjannick26@gmail.com"}],"homepage":"https://github.com/Muggedadscher/sentinel-nvr-web#readme","bugs":{"url":"https://github.com/Muggedadscher/sentinel-nvr-web/issues"},"dist":{"shasum":"6931621c5b2bb5fdf5b531d37839ab23510ef383","tarball":"https://registry.npmjs.org/@sentinel-nvr/web/-/web-0.5.3.tgz","fileCount":26,"integrity":"sha512-SGt117P4DucX2yRVwiiZNJ30Ed1qlvJ7bjQ+vjca8qTdqVR3HhtvbY8lUbRzUixC7z++XjuHyXBZtk+n6tpJYA==","signatures":[{"sig":"MEUCIHmhzX/MXoud8NlnoMBtvs44MlnIVUWht6XHDRwB71QAAiEAwRizfa8NRGUvXOQd/+2MtTt5SFOBJ1V/jP4qP6o6i9s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIA5IcB4UI0FczT14i7igKVHfsuF9Q9uf94qYKPrvhHTsAiEA89k9qYbl7VzhwGZEEPCLxTvduTEa+b09m9r/qI4yaaQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":526728},"type":"module","engines":{"node":">=20"},"exports":{"./ui":{"types":"./dist/ui/index.d.ts","import":"./dist/ui/index.js","default":"./dist/ui/index.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/index.js","default":"./dist/api/index.js"},"./player":{"types":"./dist/player/index.d.ts","import":"./dist/player/index.js","default":"./dist/player/index.js"},"./ui/ui.css":"./dist/ui/ui.css","./ui/locales/*":"./dist/ui/locales/*"},"scripts":{"test":"vitest run","build":"tsup && mkdir -p dist/ui && cp src/ui/ui.css dist/ui/ui.css && rm -rf dist/ui/locales && cp -r src/ui/locales dist/ui/locales","release":"npm run build && changeset publish","typecheck":"tsc --noEmit"},"_npmUser":{"name":"muggedadscher","email":"schleerjannick26@gmail.com"},"repository":{"url":"git+https://github.com/Muggedadscher/sentinel-nvr-web.git","type":"git"},"_npmVersion":"10.9.8","description":"Shared browser code for the Sentinel NVR plugin for Scrypted: API model + client (/api), player (/player) and React UI with i18n + themes (/ui). Consumed by the plugin's own web UI and the HAPulse dashboard.","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.0","react":"^19.0.0","vitest":"^2.1.9","react-dom":"^19.0.0","typescript":"^5.7.0","@types/react":"^19.0.0","lucide-react":"^0.469.0","@changesets/cli":"^2.27.0"},"peerDependencies":{"react":">=18","lucide-react":">=0.400.0"},"_npmOperationalInternal":{"tmp":"tmp/web_0.5.3_1790112746420_0.7217001785830246","host":"s3://npm-registry-packages-npm-production"}},"0.5.4":{"name":"@sentinel-nvr/web","version":"0.5.4","author":{"name":"Muggedadscher"},"license":"MIT","_id":"@sentinel-nvr/web@0.5.4","maintainers":[{"name":"muggedadscher","email":"schleerjannick26@gmail.com"}],"homepage":"https://github.com/Muggedadscher/sentinel-nvr-web#readme","bugs":{"url":"https://github.com/Muggedadscher/sentinel-nvr-web/issues"},"dist":{"shasum":"3b53cc0df62256ce2c48c1109651b5cc7425410a","tarball":"https://registry.npmjs.org/@sentinel-nvr/web/-/web-0.5.4.tgz","fileCount":26,"integrity":"sha512-9FNAxMc8JEJG6a1b9M5lKRaQ3y5NQ45qiTnqmm1SVk9nB20xwThHoTfqYXpWBVCThS6TJeW/fFmSfKchyhZkEQ==","signatures":[{"sig":"MEQCICq7OEdiN5+UN0+bK90LDGKqsgA3kfyk1+o0zFTSKd09AiA7GFusy9TRaUE2sX9Sw9is9PT+MviLeGWA3vtuB/RtEw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIHTkX1meQ+ZUpLboe/mDx4r+uru4w0l7lM3GgRfEVo2XAiBT5of7J534FvKG3vmDV5GvVFEOh+/C/R3kdc8UzfMOIQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":527156},"type":"module","engines":{"node":">=20"},"exports":{"./ui":{"types":"./dist/ui/index.d.ts","import":"./dist/ui/index.js","default":"./dist/ui/index.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/index.js","default":"./dist/api/index.js"},"./player":{"types":"./dist/player/index.d.ts","import":"./dist/player/index.js","default":"./dist/player/index.js"},"./ui/ui.css":"./dist/ui/ui.css","./ui/locales/*":"./dist/ui/locales/*"},"scripts":{"test":"vitest run","build":"tsup && mkdir -p dist/ui && cp src/ui/ui.css dist/ui/ui.css && rm -rf dist/ui/locales && cp -r src/ui/locales dist/ui/locales","release":"npm run build && changeset publish","typecheck":"tsc --noEmit"},"_npmUser":{"name":"muggedadscher","email":"schleerjannick26@gmail.com"},"repository":{"url":"git+https://github.com/Muggedadscher/sentinel-nvr-web.git","type":"git"},"_npmVersion":"10.9.8","description":"Shared browser code for the Sentinel NVR plugin for Scrypted: API model + client (/api), player (/player) and React UI with i18n + themes (/ui). Consumed by the plugin's own web UI and the HAPulse dashboard.","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.0","react":"^19.0.0","vitest":"^2.1.9","react-dom":"^19.0.0","typescript":"^5.7.0","@types/react":"^19.0.0","lucide-react":"^0.469.0","@changesets/cli":"^2.27.0"},"peerDependencies":{"react":">=18","lucide-react":">=0.400.0"},"_npmOperationalInternal":{"tmp":"tmp/web_0.5.4_1790145959703_0.28854834300661736","host":"s3://npm-registry-packages-npm-production"}},"0.5.5":{"name":"@sentinel-nvr/web","version":"0.5.5","author":{"name":"Muggedadscher"},"license":"MIT","_id":"@sentinel-nvr/web@0.5.5","maintainers":[{"name":"muggedadscher","email":"schleerjannick26@gmail.com"}],"homepage":"https://github.com/Muggedadscher/sentinel-nvr-web#readme","bugs":{"url":"https://github.com/Muggedadscher/sentinel-nvr-web/issues"},"dist":{"shasum":"9e3b247a7dc5424e47259795f03d298d823d86b4","tarball":"https://registry.npmjs.org/@sentinel-nvr/web/-/web-0.5.5.tgz","fileCount":26,"integrity":"sha512-aobA588ye+M8WeUahYgloa0BkeSdZ2OQjnaElCZIF1dv1WOlG9eGTx3Z9g0NwJjuBdOXK4nGwuvF+s0nWlugSw==","signatures":[{"sig":"MEUCIQDyUrBqJ77s3uc6unECM+bFX1S94aDwnrkOvOD0psXXxAIgE5sDg5IlPffN8NvI/aOzx8NTjMnjnSJlBR5hMtFLblI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCwNFE3cgJ06K7if9RzOgQHTRge1cWBk5lXI57WfoVvrwIgRO9yTWPAXWoQKlauF+UrDtwLBCFbf543m5uxCPESoRE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":527210},"type":"module","engines":{"node":">=20"},"exports":{"./ui":{"types":"./dist/ui/index.d.ts","import":"./dist/ui/index.js","default":"./dist/ui/index.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/index.js","default":"./dist/api/index.js"},"./player":{"types":"./dist/player/index.d.ts","import":"./dist/player/index.js","default":"./dist/player/index.js"},"./ui/ui.css":"./dist/ui/ui.css","./ui/locales/*":"./dist/ui/locales/*"},"scripts":{"test":"vitest run","build":"tsup && mkdir -p dist/ui && cp src/ui/ui.css dist/ui/ui.css && rm -rf dist/ui/locales && cp -r src/ui/locales dist/ui/locales","release":"npm run build && changeset publish","typecheck":"tsc --noEmit"},"_npmUser":{"name":"muggedadscher","email":"schleerjannick26@gmail.com"},"repository":{"url":"git+https://github.com/Muggedadscher/sentinel-nvr-web.git","type":"git"},"_npmVersion":"10.9.8","description":"Shared browser code for the Sentinel NVR plugin for Scrypted: API model + client (/api), player (/player) and React UI with i18n + themes (/ui). Consumed by the plugin's own web UI and the HAPulse dashboard.","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.0","react":"^19.0.0","vitest":"^2.1.9","react-dom":"^19.0.0","typescript":"^5.7.0","@types/react":"^19.0.0","lucide-react":"^0.469.0","@changesets/cli":"^2.27.0"},"peerDependencies":{"react":">=18","lucide-react":">=0.400.0"},"_npmOperationalInternal":{"tmp":"tmp/web_0.5.5_1790146342122_0.29507769383342164","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"@sentinel-nvr/web","version":"0.6.0","author":{"name":"Muggedadscher"},"license":"MIT","_id":"@sentinel-nvr/web@0.6.0","maintainers":[{"name":"muggedadscher","email":"schleerjannick26@gmail.com"}],"homepage":"https://github.com/Muggedadscher/sentinel-nvr-web#readme","bugs":{"url":"https://github.com/Muggedadscher/sentinel-nvr-web/issues"},"dist":{"shasum":"cbca00b74ab1ab7b6c5622c389057ad133bbd43f","tarball":"https://registry.npmjs.org/@sentinel-nvr/web/-/web-0.6.0.tgz","fileCount":26,"integrity":"sha512-L8+jE7X1cVnXzkTsweOelU9m8Yhnx8FubfoxaGL4Tsl5k/aGJzQJgdcNMffhaogvxtIhqDJanHb9WFiuimNInQ==","signatures":[{"sig":"MEUCIDCsFB11MbEwXKKif5G0Rs7fIowPVb2T9YEB8s0iFkYtAiEA+3rJYcpeyBxb+x3mUYjweL/xV0YjHGh+hnrT3Ms10bI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIBFb2orIyJ7QTml7jnqins6bzoRdxog04xE52PSOhpDPAiA44FEFmyrqes5FZe7ZgpYRTtOcjOJ6GwRNbiGXmvd6uA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":537298},"type":"module","engines":{"node":">=20"},"exports":{"./ui":{"types":"./dist/ui/index.d.ts","import":"./dist/ui/index.js","default":"./dist/ui/index.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/index.js","default":"./dist/api/index.js"},"./player":{"types":"./dist/player/index.d.ts","import":"./dist/player/index.js","default":"./dist/player/index.js"},"./ui/ui.css":"./dist/ui/ui.css","./ui/locales/*":"./dist/ui/locales/*"},"scripts":{"test":"vitest run","build":"tsup && mkdir -p dist/ui && cp src/ui/ui.css dist/ui/ui.css && rm -rf dist/ui/locales && cp -r src/ui/locales dist/ui/locales","release":"npm run build && changeset publish","typecheck":"tsc --noEmit"},"_npmUser":{"name":"muggedadscher","email":"schleerjannick26@gmail.com"},"repository":{"url":"git+https://github.com/Muggedadscher/sentinel-nvr-web.git","type":"git"},"_npmVersion":"10.9.8","description":"Shared browser code for the Sentinel NVR plugin for Scrypted: API model + client (/api), player (/player) and React UI with i18n + themes (/ui). Consumed by the plugin's own web UI and the HAPulse dashboard.","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.0","jsdom":"^30.1.1","react":"^19.0.0","vitest":"^2.1.9","react-dom":"^19.0.0","typescript":"^5.7.0","@types/react":"^19.0.0","lucide-react":"^0.469.0","@changesets/cli":"^2.27.0","@types/react-dom":"^19.3.0"},"peerDependencies":{"react":">=18","lucide-react":">=0.400.0"},"_npmOperationalInternal":{"tmp":"tmp/web_0.6.0_1790149769824_0.37295410671612617","host":"s3://npm-registry-packages-npm-production"}},"0.6.1":{"name":"@sentinel-nvr/web","version":"0.6.1","author":{"name":"Muggedadscher"},"license":"MIT","_id":"@sentinel-nvr/web@0.6.1","maintainers":[{"name":"muggedadscher","email":"schleerjannick26@gmail.com"}],"homepage":"https://github.com/Muggedadscher/sentinel-nvr-web#readme","bugs":{"url":"https://github.com/Muggedadscher/sentinel-nvr-web/issues"},"dist":{"shasum":"e7ed4cb5fbd7fabdec47aceb4fcc032604beb68e","tarball":"https://registry.npmjs.org/@sentinel-nvr/web/-/web-0.6.1.tgz","fileCount":26,"integrity":"sha512-+TMPRibFTm+XBLtpbIbnmI7MdfHTm7ugK/IByEKe3+MOLbyLiXn0fADLrftovVsR7Lrns097GO3FGNXb72tUQQ==","signatures":[{"sig":"MEUCIQDXTP4QuB6/ne2J/qyOyEpGeIuvTsVb07/vfpBBkAJaKwIgEfq8n+FEPNqQAmab5haM49huN+L+fixlMYPKVwljYAE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQC31nJcS15Jhtf1csZX7qTpCLoMho2AJLT+y6V02IThfQIhAJ+Lx3gByNUVedj4KC00NpMOg5H4Fq0EMLK1nYcmY+6b","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":544574},"type":"module","engines":{"node":">=20"},"exports":{"./ui":{"types":"./dist/ui/index.d.ts","import":"./dist/ui/index.js","default":"./dist/ui/index.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/index.js","default":"./dist/api/index.js"},"./player":{"types":"./dist/player/index.d.ts","import":"./dist/player/index.js","default":"./dist/player/index.js"},"./ui/ui.css":"./dist/ui/ui.css","./ui/locales/*":"./dist/ui/locales/*"},"scripts":{"test":"vitest run","build":"tsup && mkdir -p dist/ui && cp src/ui/ui.css dist/ui/ui.css && rm -rf dist/ui/locales && cp -r src/ui/locales dist/ui/locales","release":"npm run build && changeset publish","typecheck":"tsc --noEmit"},"_npmUser":{"name":"muggedadscher","email":"schleerjannick26@gmail.com"},"repository":{"url":"git+https://github.com/Muggedadscher/sentinel-nvr-web.git","type":"git"},"_npmVersion":"10.9.8","description":"Shared browser code for the Sentinel NVR plugin for Scrypted: API model + client (/api), player (/player) and React UI with i18n + themes (/ui). Consumed by the plugin's own web UI and the HAPulse dashboard.","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.0","jsdom":"^30.1.1","react":"^19.0.0","vitest":"^2.1.9","react-dom":"^19.0.0","typescript":"^5.7.0","@types/react":"^19.0.0","lucide-react":"^0.469.0","@changesets/cli":"^2.27.0","@types/react-dom":"^19.3.0"},"peerDependencies":{"react":">=18","lucide-react":">=0.400.0"},"_npmOperationalInternal":{"tmp":"tmp/web_0.6.1_1790155565411_0.7835930080382383","host":"s3://npm-registry-packages-npm-production"}},"0.6.2":{"name":"@sentinel-nvr/web","version":"0.6.2","author":{"name":"Muggedadscher"},"license":"MIT","_id":"@sentinel-nvr/web@0.6.2","maintainers":[{"name":"muggedadscher","email":"schleerjannick26@gmail.com"}],"homepage":"https://github.com/Muggedadscher/sentinel-nvr-web#readme","bugs":{"url":"https://github.com/Muggedadscher/sentinel-nvr-web/issues"},"dist":{"shasum":"5e27ebaf37e06c2cccfaafe61ab1f271e7a98727","tarball":"https://registry.npmjs.org/@sentinel-nvr/web/-/web-0.6.2.tgz","fileCount":26,"integrity":"sha512-q77bEtETBTUcn0IzG/pYZooDRndRVvDLm8E1oBAk+zbXTunHNeFgUq7UghVgBqaYvQIc1surrjHur9t27+stZQ==","signatures":[{"sig":"MEUCIQCYyVZ7MbDS2bcEh1BTfWUw1Y9yQLyj3iYhs7d4HHLqxwIge1kCt2Nz65lScTEMpkszmZxYmjR3kSN3Ixnlj7+q8c8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCICWb/cvLTZdgLu2A/drtcApfckwV041saT6JwnqOz99LAiEA2h1PPJ8UUCu0CQ5mESpb20BOOpeYNe86y9Mc64Mwk4c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":548602},"type":"module","engines":{"node":">=20"},"exports":{"./ui":{"types":"./dist/ui/index.d.ts","import":"./dist/ui/index.js","default":"./dist/ui/index.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/index.js","default":"./dist/api/index.js"},"./player":{"types":"./dist/player/index.d.ts","import":"./dist/player/index.js","default":"./dist/player/index.js"},"./ui/ui.css":"./dist/ui/ui.css","./ui/locales/*":"./dist/ui/locales/*"},"scripts":{"test":"vitest run","build":"tsup && mkdir -p dist/ui && cp src/ui/ui.css dist/ui/ui.css && rm -rf dist/ui/locales && cp -r src/ui/locales dist/ui/locales","release":"npm run build && changeset publish","typecheck":"tsc --noEmit"},"_npmUser":{"name":"muggedadscher","email":"schleerjannick26@gmail.com"},"repository":{"url":"git+https://github.com/Muggedadscher/sentinel-nvr-web.git","type":"git"},"_npmVersion":"10.9.8","description":"Shared browser code for the Sentinel NVR plugin for Scrypted: API model + client (/api), player (/player) and React UI with i18n + themes (/ui). Consumed by the plugin's own web UI and the HAPulse dashboard.","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.0","jsdom":"^30.1.1","react":"^19.0.0","vitest":"^2.1.9","react-dom":"^19.0.0","typescript":"^5.7.0","@types/react":"^19.0.0","lucide-react":"^0.469.0","@changesets/cli":"^2.27.0","@types/react-dom":"^19.3.0"},"peerDependencies":{"react":">=18","lucide-react":">=0.400.0"},"_npmOperationalInternal":{"tmp":"tmp/web_0.6.2_1790193049998_0.4730609508188781","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"name":"@sentinel-nvr/web","version":"0.7.0","author":{"name":"Muggedadscher"},"license":"MIT","_id":"@sentinel-nvr/web@0.7.0","maintainers":[{"name":"muggedadscher","email":"schleerjannick26@gmail.com"}],"homepage":"https://github.com/Muggedadscher/sentinel-nvr-web#readme","bugs":{"url":"https://github.com/Muggedadscher/sentinel-nvr-web/issues"},"dist":{"shasum":"83b071dfb9f99734769e669773b41efdafbe5edd","tarball":"https://registry.npmjs.org/@sentinel-nvr/web/-/web-0.7.0.tgz","fileCount":26,"integrity":"sha512-pq7wc4mbIqA1MED3Z8EVAokMWqQgGhhXCXr3iDJWsTHcQ2xlUDqMW9xU7gFzDRLQn/jKuPzE5hruOmyIXEJ/ig==","signatures":[{"sig":"MEQCICfiROZwYrENtAvRFOdyZmJ36weqcVmDxRH+JQVegdEbAiAMqseYE1liOnt36/dFHJYPSKTH6afayNEGRMTHzksI4w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQD2C1C1XDrJxr1SHA+aAXHgqugbfClmktoTx1GMFp/W1QIgT3sPwq5kZfB1wWPKEyDLN2IaLIAp1BqfBZsMwlrwtYQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":545655},"type":"module","engines":{"node":">=20"},"exports":{"./ui":{"types":"./dist/ui/index.d.ts","import":"./dist/ui/index.js","default":"./dist/ui/index.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/index.js","default":"./dist/api/index.js"},"./player":{"types":"./dist/player/index.d.ts","import":"./dist/player/index.js","default":"./dist/player/index.js"},"./ui/ui.css":"./dist/ui/ui.css","./ui/locales/*":"./dist/ui/locales/*"},"scripts":{"test":"vitest run","build":"tsup && mkdir -p dist/ui && cp src/ui/ui.css dist/ui/ui.css && rm -rf dist/ui/locales && cp -r src/ui/locales dist/ui/locales","release":"npm run build && changeset publish","typecheck":"tsc --noEmit"},"_npmUser":{"name":"muggedadscher","email":"schleerjannick26@gmail.com"},"repository":{"url":"git+https://github.com/Muggedadscher/sentinel-nvr-web.git","type":"git"},"_npmVersion":"10.9.8","description":"Shared browser code for the Sentinel NVR plugin for Scrypted: API model + client (/api), player (/player) and React UI with i18n + themes (/ui). Consumed by the plugin's own web UI and the HAPulse dashboard.","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.0","jsdom":"^30.1.1","react":"^19.0.0","vitest":"^2.1.9","react-dom":"^19.0.0","typescript":"^5.7.0","@types/react":"^19.0.0","lucide-react":"^0.469.0","@changesets/cli":"^2.27.0","@types/react-dom":"^19.3.0"},"peerDependencies":{"react":">=18","lucide-react":">=0.400.0"},"_npmOperationalInternal":{"tmp":"tmp/web_0.7.0_1790196148581_0.06400367205620006","host":"s3://npm-registry-packages-npm-production"}},"0.8.0":{"name":"@sentinel-nvr/web","version":"0.8.0","author":{"name":"Muggedadscher"},"license":"MIT","_id":"@sentinel-nvr/web@0.8.0","maintainers":[{"name":"muggedadscher","email":"schleerjannick26@gmail.com"}],"homepage":"https://github.com/Muggedadscher/sentinel-nvr-web#readme","bugs":{"url":"https://github.com/Muggedadscher/sentinel-nvr-web/issues"},"dist":{"shasum":"a033f663c681a861fb59d2bc23881613e8fb7561","tarball":"https://registry.npmjs.org/@sentinel-nvr/web/-/web-0.8.0.tgz","fileCount":26,"integrity":"sha512-1FsJEsMg8CY7ZHwnsAURZUEHnXq3j94E3h3+D9799gokPw83jdzlGbi4nO5K9Fh6cCh+d7AndM4THlNsArikaw==","signatures":[{"sig":"MEUCIDRQb1GoLyNS51CU4KDgWu4RcJuLMyeO5DG6Zpq3Jv/DAiEAxQwPfn+w87o6OXMV1Ew0SiPbLnp+U/FxZTsGjLKthHQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDLrcmFY1DUA+LoPLMxkqPqZZ21MsJLViCs53JU3/VhZQIhAPB0E05uOdbAZCrnKr+Xuk2LVs28feRE91Yw0yFM+CsB","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":556192},"type":"module","engines":{"node":">=20"},"exports":{"./ui":{"types":"./dist/ui/index.d.ts","import":"./dist/ui/index.js","default":"./dist/ui/index.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/index.js","default":"./dist/api/index.js"},"./player":{"types":"./dist/player/index.d.ts","import":"./dist/player/index.js","default":"./dist/player/index.js"},"./ui/ui.css":"./dist/ui/ui.css","./ui/locales/*":"./dist/ui/locales/*"},"scripts":{"test":"vitest run","build":"tsup && mkdir -p dist/ui && cp src/ui/ui.css dist/ui/ui.css && rm -rf dist/ui/locales && cp -r src/ui/locales dist/ui/locales","release":"npm run build && changeset publish","typecheck":"tsc --noEmit"},"_npmUser":{"name":"muggedadscher","email":"schleerjannick26@gmail.com"},"repository":{"url":"git+https://github.com/Muggedadscher/sentinel-nvr-web.git","type":"git"},"_npmVersion":"10.9.8","description":"Shared browser code for the Sentinel NVR plugin for Scrypted: API model + client (/api), player (/player) and React UI with i18n + themes (/ui). Consumed by the plugin's own web UI and the HAPulse dashboard.","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.0","jsdom":"^30.1.1","react":"^19.0.0","vitest":"^2.1.9","react-dom":"^19.0.0","typescript":"^5.7.0","@types/react":"^19.0.0","lucide-react":"^0.469.0","@changesets/cli":"^2.27.0","@types/react-dom":"^19.3.0"},"peerDependencies":{"react":">=18","lucide-react":">=0.400.0"},"_npmOperationalInternal":{"tmp":"tmp/web_0.8.0_1790280124550_0.7646455756700585","host":"s3://npm-registry-packages-npm-production"}},"0.9.0":{"name":"@sentinel-nvr/web","version":"0.9.0","author":{"name":"Muggedadscher"},"license":"MIT","_id":"@sentinel-nvr/web@0.9.0","maintainers":[{"name":"muggedadscher","email":"schleerjannick26@gmail.com"}],"homepage":"https://github.com/Muggedadscher/sentinel-nvr-web#readme","bugs":{"url":"https://github.com/Muggedadscher/sentinel-nvr-web/issues"},"dist":{"shasum":"4d01c33682eb2cc1da01a44e554463e97fb12c3c","tarball":"https://registry.npmjs.org/@sentinel-nvr/web/-/web-0.9.0.tgz","fileCount":26,"integrity":"sha512-4z65R6NvxuscAlsVotrojAbsbNRule/cBvtMam+5IPK6i7ixZps67HqSzbD6EZVFtddEq2TCpkyWTrDMx8xe0Q==","signatures":[{"sig":"MEQCID175nMB6u3iZ9ZtoJ/cV7++NOHVY6BERTmlymy20QVpAiBuJ/U+md70oOF3MROvB4gpI/6368NvN6oA6a+QxibsRA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQD0FtTBM+88H1PJpJPvyUkKEexsHJ/FQLMz2pbcKgBmJQIhAMamsx5ajCos8tkDLB3Up58fqrvZlhXqbOAKiKwk36C6","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":563413},"type":"module","engines":{"node":">=20"},"exports":{"./ui":{"types":"./dist/ui/index.d.ts","import":"./dist/ui/index.js","default":"./dist/ui/index.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/index.js","default":"./dist/api/index.js"},"./player":{"types":"./dist/player/index.d.ts","import":"./dist/player/index.js","default":"./dist/player/index.js"},"./ui/ui.css":"./dist/ui/ui.css","./ui/locales/*":"./dist/ui/locales/*"},"scripts":{"test":"vitest run","build":"tsup && mkdir -p dist/ui && cp src/ui/ui.css dist/ui/ui.css && rm -rf dist/ui/locales && cp -r src/ui/locales dist/ui/locales","release":"npm run build && changeset publish","typecheck":"tsc --noEmit"},"_npmUser":{"name":"muggedadscher","email":"schleerjannick26@gmail.com"},"repository":{"url":"git+https://github.com/Muggedadscher/sentinel-nvr-web.git","type":"git"},"_npmVersion":"10.9.8","description":"Shared browser code for the Sentinel NVR plugin for Scrypted: API model + client (/api), player (/player) and React UI with i18n + themes (/ui). Consumed by the plugin's own web UI and the HAPulse dashboard.","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.0","jsdom":"^30.1.1","react":"^19.0.0","vitest":"^2.1.9","react-dom":"^19.0.0","typescript":"^5.7.0","@types/react":"^19.0.0","lucide-react":"^0.469.0","@changesets/cli":"^2.27.0","@types/react-dom":"^19.3.0"},"peerDependencies":{"react":">=18","lucide-react":">=0.400.0"},"_npmOperationalInternal":{"tmp":"tmp/web_0.9.0_1790297755307_0.14368560358276583","host":"s3://npm-registry-packages-npm-production"}},"0.10.0":{"name":"@sentinel-nvr/web","version":"0.10.0","author":{"name":"Muggedadscher"},"license":"MIT","_id":"@sentinel-nvr/web@0.10.0","maintainers":[{"name":"muggedadscher","email":"schleerjannick26@gmail.com"}],"homepage":"https://github.com/Muggedadscher/sentinel-nvr-web#readme","bugs":{"url":"https://github.com/Muggedadscher/sentinel-nvr-web/issues"},"dist":{"shasum":"e72e5f3b6a283437280d8629c99544f6c4ee43f4","tarball":"https://registry.npmjs.org/@sentinel-nvr/web/-/web-0.10.0.tgz","fileCount":26,"integrity":"sha512-dDwuCyhqGIRbhIpHmnsbldPrp+OFpigyKhYzzLYIuaJEq0eANCBscyh3rGspAwbQK4TKGb9x4ogQ3WvTdCxXpA==","signatures":[{"sig":"MEQCIG8ItqkrwfZCcL3Yzu/lp/sLWZ3HDrhOnf5mzZWYT7jpAiA1VXvbS3N6IIjc6rtpcfr30LPbpfUmEK9+5syPjAx1ug==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIBQVoC+2KklHGtJ9bDmvk9FuUyPDQ4vJtF+/DIpKT6W6AiEA/sM4zJmB9yrm3eh5Hea0f1eD1HCCOLnLxs6LZYB+eWc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":576378},"type":"module","engines":{"node":">=20"},"exports":{"./ui":{"types":"./dist/ui/index.d.ts","import":"./dist/ui/index.js","default":"./dist/ui/index.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/index.js","default":"./dist/api/index.js"},"./player":{"types":"./dist/player/index.d.ts","import":"./dist/player/index.js","default":"./dist/player/index.js"},"./ui/ui.css":"./dist/ui/ui.css","./ui/locales/*":"./dist/ui/locales/*"},"scripts":{"test":"vitest run","build":"tsup && mkdir -p dist/ui && cp src/ui/ui.css dist/ui/ui.css && rm -rf dist/ui/locales && cp -r src/ui/locales dist/ui/locales","release":"npm run build && changeset publish","test:tz":"TZ=UTC vitest run && TZ=Europe/Berlin vitest run && TZ=America/New_York vitest run","typecheck":"tsc --noEmit"},"_npmUser":{"name":"muggedadscher","email":"schleerjannick26@gmail.com"},"repository":{"url":"git+https://github.com/Muggedadscher/sentinel-nvr-web.git","type":"git"},"_npmVersion":"10.9.8","description":"Shared browser code for the Sentinel NVR plugin for Scrypted: API model + client (/api), player (/player) and React UI with i18n + themes (/ui). Consumed by the plugin's own web UI and the HAPulse dashboard.","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.0","jsdom":"^30.1.1","react":"^19.0.0","vitest":"^2.1.9","react-dom":"^19.0.0","typescript":"^5.7.0","@types/react":"^19.0.0","lucide-react":"^0.469.0","@changesets/cli":"^2.27.0","@types/react-dom":"^19.3.0"},"peerDependencies":{"react":">=18","lucide-react":">=0.400.0"},"_npmOperationalInternal":{"tmp":"tmp/web_0.10.0_1790409345415_0.69712547567203","host":"s3://npm-registry-packages-npm-production"}},"0.11.0":{"name":"@sentinel-nvr/web","version":"0.11.0","author":{"name":"Muggedadscher"},"license":"MIT","_id":"@sentinel-nvr/web@0.11.0","maintainers":[{"name":"muggedadscher","email":"schleerjannick26@gmail.com"}],"homepage":"https://github.com/Muggedadscher/sentinel-nvr-web#readme","bugs":{"url":"https://github.com/Muggedadscher/sentinel-nvr-web/issues"},"dist":{"shasum":"23a6138bd13df9eb396bfe4d42cae48235106f91","tarball":"https://registry.npmjs.org/@sentinel-nvr/web/-/web-0.11.0.tgz","fileCount":27,"integrity":"sha512-WglVm3DoyClXVPNntD8NRzNxC40HxcHUTocZC7GpkwZOxOOJpKs4IWKWiZq0TGzEPnqKo+3ZfOLXO9128YHSbA==","signatures":[{"sig":"MEUCICQB3uJp2Kjj+FD9zqFFl6h6+NuHLFbjr6y0ZVKPGsvcAiEAk3KVFdW5QMJJPjsYWhYptDxb32snnPFsRbpFtkMW/1Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCoW5OCuwGfk22V6N74dS3sjkEBN+MQ8Fw3SAuAU1dUOAIhAIUiSP1A5u5GHKU3HeueiwmrG4UdtWlrWi5Eux2QcbY5","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":602401},"type":"module","engines":{"node":">=20"},"exports":{"./ui":{"types":"./dist/ui/index.d.ts","import":"./dist/ui/index.js","default":"./dist/ui/index.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/index.js","default":"./dist/api/index.js"},"./player":{"types":"./dist/player/index.d.ts","import":"./dist/player/index.js","default":"./dist/player/index.js"},"./ui/ui.css":"./dist/ui/ui.css","./ui/locales/*":"./dist/ui/locales/*"},"scripts":{"test":"vitest run","build":"tsup && mkdir -p dist/ui && cp src/ui/ui.css dist/ui/ui.css && rm -rf dist/ui/locales && cp -r src/ui/locales dist/ui/locales","release":"npm run build && changeset publish","test:tz":"TZ=UTC vitest run && TZ=Europe/Berlin vitest run && TZ=America/New_York vitest run","typecheck":"tsc --noEmit"},"_npmUser":{"name":"muggedadscher","email":"schleerjannick26@gmail.com"},"repository":{"url":"git+https://github.com/Muggedadscher/sentinel-nvr-web.git","type":"git"},"_npmVersion":"10.9.8","description":"Shared browser code for the Sentinel NVR plugin for Scrypted: API model + client (/api), player (/player) and React UI with i18n + themes (/ui). Consumed by the plugin's own web UI and the HAPulse dashboard.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"22.23.2","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.0","jsdom":"^30.1.1","react":"^19.0.0","vitest":"^2.1.9","react-dom":"^19.0.0","typescript":"^5.7.0","@types/react":"^19.0.0","lucide-react":"^0.469.0","@changesets/cli":"^2.27.0","@types/react-dom":"^19.3.0"},"peerDependencies":{"react":">=18","lucide-react":">=0.400.0"},"peerDependenciesMeta":{"react":{"optional":true},"lucide-react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/web_0.11.0_1790410883452_0.7310803527519885","host":"s3://npm-registry-packages-npm-production"}},"0.12.0":{"name":"@sentinel-nvr/web","version":"0.12.0","author":{"name":"Muggedadscher"},"license":"MIT","_id":"@sentinel-nvr/web@0.12.0","maintainers":[{"name":"muggedadscher","email":"schleerjannick26@gmail.com"}],"homepage":"https://github.com/Muggedadscher/sentinel-nvr-web#readme","bugs":{"url":"https://github.com/Muggedadscher/sentinel-nvr-web/issues"},"dist":{"shasum":"50006f174ac8363fe2780779876dbb7b7915fb03","tarball":"https://registry.npmjs.org/@sentinel-nvr/web/-/web-0.12.0.tgz","fileCount":27,"integrity":"sha512-IKqsa0wJgkJQKdtL3PXugU1S3QCt6Ao4lIClvQXfJdbAyRzA8udOwse84Q5aIZ9huStheHoyFXEBPZd6jk2qmw==","signatures":[{"sig":"MEYCIQClv2bjWdZ2XNS8AxBWpvhc3OxB4xsHxhArTi0mJky8tgIhAKyww98u9xc0AP46/9cmEaUolTykLms9eDIurxRNbZRF","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIEXLsYm5e5w+Je5K2GpAdEIJ5pj53VgXBxjgE6r1JoJlAiA+MmkKp/nJ5fxQBtlUWh/mnJzjAV1pBl7Xw3xvEGSTJA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":641926},"type":"module","engines":{"node":">=20"},"exports":{"./ui":{"types":"./dist/ui/index.d.ts","import":"./dist/ui/index.js","default":"./dist/ui/index.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/index.js","default":"./dist/api/index.js"},"./player":{"types":"./dist/player/index.d.ts","import":"./dist/player/index.js","default":"./dist/player/index.js"},"./ui/ui.css":"./dist/ui/ui.css","./ui/locales/*":"./dist/ui/locales/*"},"scripts":{"lint":"eslint .","test":"vitest run","build":"tsup && mkdir -p dist/ui && cp src/ui/ui.css dist/ui/ui.css && rm -rf dist/ui/locales && cp -r src/ui/locales dist/ui/locales","format":"prettier --write .","test:tz":"TZ=UTC vitest run && TZ=Europe/Berlin vitest run && TZ=America/New_York vitest run","typecheck":"tsc --noEmit","format:check":"prettier --check .","prepublishOnly":"node scripts/prepublish-check.mjs && npm run build"},"_npmUser":{"name":"muggedadscher","email":"schleerjannick26@gmail.com"},"repository":{"url":"git+https://github.com/Muggedadscher/sentinel-nvr-web.git","type":"git"},"_npmVersion":"10.9.9","description":"Shared browser code for the Sentinel NVR plugin for Scrypted: API model + client (/api), player (/player) and React UI with i18n + themes (/ui). Consumed by the plugin's own web UI and the HAPulse dashboard.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"22.23.3","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.0","vite":"^8.3.1","jsdom":"^30.1.1","react":"^19.0.0","eslint":"^10.11.0","vitest":"^5.0.2","globals":"^17.12.0","prettier":"^3.9.9","react-dom":"^19.0.0","@eslint/js":"^10.0.1","typescript":"^5.7.0","@types/node":"^22.20.4","@types/react":"^19.0.0","lucide-react":"^1.47.0","@types/react-dom":"^19.3.0","typescript-eslint":"^8.70.1","eslint-plugin-react-hooks":"^7.1.1"},"peerDependencies":{"react":">=18","lucide-react":">=0.400.0"},"peerDependenciesMeta":{"react":{"optional":true},"lucide-react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/web_0.12.0_1790459392881_0.9117101264172567","host":"s3://npm-registry-packages-npm-production"}},"0.12.1":{"name":"@sentinel-nvr/web","version":"0.12.1","author":{"name":"Muggedadscher"},"license":"MIT","_id":"@sentinel-nvr/web@0.12.1","maintainers":[{"name":"muggedadscher","email":"schleerjannick26@gmail.com"}],"homepage":"https://github.com/Muggedadscher/sentinel-nvr-web#readme","bugs":{"url":"https://github.com/Muggedadscher/sentinel-nvr-web/issues"},"dist":{"shasum":"398fe610417b5b450602294c1392a18c6bb5139e","tarball":"https://registry.npmjs.org/@sentinel-nvr/web/-/web-0.12.1.tgz","fileCount":27,"integrity":"sha512-nRhWtJQb3XooLJb2cV2O9sq87NDpN3earx0L9fMzF7uMg6dfTh1WyVW5EgmaxbvJf+SXBxzVbX9PzHCscjwYxw==","signatures":[{"sig":"MEUCIBPz85OkiKeY4mHLflPkTY41UjHiFF49dfkKCQQl80aIAiEA7O5y32Y821lVKdsauvix0XbhPeXG252CjChbAJyk0Y4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIFdz5BSU7sGMRENseEygn8XSWIlyUgxfRYBP1HILVuXIAiEAsJME4ZggNKrzAujjhqB17LLS9KxlmcYpMmLILOQms9U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":648409},"type":"module","engines":{"node":">=20"},"exports":{"./ui":{"types":"./dist/ui/index.d.ts","import":"./dist/ui/index.js","default":"./dist/ui/index.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/index.js","default":"./dist/api/index.js"},"./player":{"types":"./dist/player/index.d.ts","import":"./dist/player/index.js","default":"./dist/player/index.js"},"./ui/ui.css":"./dist/ui/ui.css","./ui/locales/*":"./dist/ui/locales/*"},"scripts":{"lint":"eslint .","test":"vitest run","build":"tsup && mkdir -p dist/ui && cp src/ui/ui.css dist/ui/ui.css && rm -rf dist/ui/locales && cp -r src/ui/locales dist/ui/locales","format":"prettier --write .","test:tz":"TZ=UTC vitest run && TZ=Europe/Berlin vitest run && TZ=America/New_York vitest run","typecheck":"tsc --noEmit","format:check":"prettier --check .","prepublishOnly":"node scripts/prepublish-check.mjs && npm run build"},"_npmUser":{"name":"muggedadscher","email":"schleerjannick26@gmail.com"},"repository":{"url":"git+https://github.com/Muggedadscher/sentinel-nvr-web.git","type":"git"},"_npmVersion":"10.9.9","description":"Shared browser code for the Sentinel NVR plugin for Scrypted: API model + client (/api), player (/player) and React UI with i18n + themes (/ui). Consumed by the plugin's own web UI and the HAPulse dashboard.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"22.23.3","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.0","vite":"^8.3.1","jsdom":"^30.1.1","react":"^19.0.0","eslint":"^10.11.0","vitest":"^5.0.2","globals":"^17.12.0","prettier":"^3.9.9","react-dom":"^19.0.0","@eslint/js":"^10.0.1","typescript":"^5.7.0","@types/node":"^22.20.4","@types/react":"^19.0.0","lucide-react":"^1.47.0","@types/react-dom":"^19.3.0","typescript-eslint":"^8.70.1","eslint-plugin-react-hooks":"^7.1.1"},"peerDependencies":{"react":">=18","lucide-react":">=0.400.0"},"peerDependenciesMeta":{"react":{"optional":true},"lucide-react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/web_0.12.1_1790513097977_0.9334120650036024","host":"s3://npm-registry-packages-npm-production"}},"0.13.0":{"name":"@sentinel-nvr/web","version":"0.13.0","author":{"name":"Muggedadscher"},"license":"MIT","_id":"@sentinel-nvr/web@0.13.0","maintainers":[{"name":"muggedadscher","email":"schleerjannick26@gmail.com"}],"homepage":"https://github.com/Muggedadscher/sentinel-nvr-web#readme","bugs":{"url":"https://github.com/Muggedadscher/sentinel-nvr-web/issues"},"dist":{"shasum":"92452d340e48f665e0cb7d045f3764bd11ec062d","tarball":"https://registry.npmjs.org/@sentinel-nvr/web/-/web-0.13.0.tgz","fileCount":27,"integrity":"sha512-oDJWB96s6aStwNoMqIGVZ2eJZ+8en9cpSf5Gg6O1ctTljWKskQjMYpn6LbMWA6ZPkYh0385JfPp5d5LBuWnngg==","signatures":[{"sig":"MEYCIQCUDWUO9HX2+NGf2h5ux346aAV7DG9A+q7a6RaWmLupIgIhAIAN1XiohJv6A27as/GddhgmFYhi18Gw8fbz0lAwdp++","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDZwOaZpKKXfIEEa28PkQGe+1fKQi15QIv3pM4yvScLBgIgPoUtSkk1gBk6wNZ06knHGlEtCnUmZFJbJhv2Npqaxtk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":653264},"type":"module","engines":{"node":">=20"},"exports":{"./ui":{"types":"./dist/ui/index.d.ts","import":"./dist/ui/index.js","default":"./dist/ui/index.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/index.js","default":"./dist/api/index.js"},"./player":{"types":"./dist/player/index.d.ts","import":"./dist/player/index.js","default":"./dist/player/index.js"},"./ui/ui.css":"./dist/ui/ui.css","./ui/locales/*":"./dist/ui/locales/*"},"scripts":{"lint":"eslint .","test":"vitest run","build":"tsup && mkdir -p dist/ui && cp src/ui/ui.css dist/ui/ui.css && rm -rf dist/ui/locales && cp -r src/ui/locales dist/ui/locales","format":"prettier --write .","test:tz":"TZ=UTC vitest run && TZ=Europe/Berlin vitest run && TZ=America/New_York vitest run","typecheck":"tsc --noEmit","format:check":"prettier --check .","prepublishOnly":"node scripts/prepublish-check.mjs && npm run build"},"_npmUser":{"name":"muggedadscher","email":"schleerjannick26@gmail.com"},"repository":{"url":"git+https://github.com/Muggedadscher/sentinel-nvr-web.git","type":"git"},"_npmVersion":"10.9.9","description":"Shared browser code for the Sentinel NVR plugin for Scrypted: API model + client (/api), player (/player) and React UI with i18n + themes (/ui). Consumed by the plugin's own web UI and the HAPulse dashboard.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"22.23.3","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.0","vite":"^8.3.1","jsdom":"^30.1.1","react":"^19.0.0","eslint":"^10.11.0","vitest":"^5.0.2","globals":"^17.12.0","prettier":"^3.9.9","react-dom":"^19.0.0","@eslint/js":"^10.0.1","typescript":"^5.7.0","@types/node":"^22.20.4","@types/react":"^19.0.0","lucide-react":"^1.47.0","@types/react-dom":"^19.3.0","typescript-eslint":"^8.70.1","eslint-plugin-react-hooks":"^7.1.1"},"peerDependencies":{"react":">=18","lucide-react":">=0.400.0"},"peerDependenciesMeta":{"react":{"optional":true},"lucide-react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/web_0.13.0_1790514956435_0.996028904420162","host":"s3://npm-registry-packages-npm-production"}},"0.13.1":{"name":"@sentinel-nvr/web","version":"0.13.1","author":{"name":"Muggedadscher"},"license":"MIT","_id":"@sentinel-nvr/web@0.13.1","maintainers":[{"name":"muggedadscher","email":"schleerjannick26@gmail.com"}],"homepage":"https://github.com/Muggedadscher/sentinel-nvr-web#readme","bugs":{"url":"https://github.com/Muggedadscher/sentinel-nvr-web/issues"},"dist":{"shasum":"8b95d45b62b9fba49b8297c5cd95ac3f831a4942","tarball":"https://registry.npmjs.org/@sentinel-nvr/web/-/web-0.13.1.tgz","fileCount":27,"integrity":"sha512-1K+sToVz5SskyAb1nPoDMo2a4Z4H/CA6jx6NePufXkrzj/dTlrRDSwMrGDWeCn37c7eN50/BCjJhBXWixM7viA==","signatures":[{"sig":"MEQCIG6JQDLu5Oa8UAL+cd50kjlFZ6adC2Wawr5+H+rX666dAiBTs8lssNgwfsn1qmKQ/FQzCxOK3STtfCHaViW1QgBU+g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCGcNeGGWcxWkUpMXqF3HfiLr/T5R7FARyNhdZZXIA3fQIgWwbkLlQI62R9d4RcxvXeYExi8BtmWsfgAFOqX0eGVyA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":655244},"type":"module","engines":{"node":">=20"},"exports":{"./ui":{"types":"./dist/ui/index.d.ts","import":"./dist/ui/index.js","default":"./dist/ui/index.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/index.js","default":"./dist/api/index.js"},"./player":{"types":"./dist/player/index.d.ts","import":"./dist/player/index.js","default":"./dist/player/index.js"},"./ui/ui.css":"./dist/ui/ui.css","./ui/locales/*":"./dist/ui/locales/*"},"scripts":{"lint":"eslint .","test":"vitest run","build":"tsup && mkdir -p dist/ui && cp src/ui/ui.css dist/ui/ui.css && rm -rf dist/ui/locales && cp -r src/ui/locales dist/ui/locales","format":"prettier --write .","test:tz":"TZ=UTC vitest run && TZ=Europe/Berlin vitest run && TZ=America/New_York vitest run","typecheck":"tsc --noEmit","format:check":"prettier --check .","prepublishOnly":"node scripts/prepublish-check.mjs && npm run build"},"_npmUser":{"name":"muggedadscher","email":"schleerjannick26@gmail.com"},"repository":{"url":"git+https://github.com/Muggedadscher/sentinel-nvr-web.git","type":"git"},"_npmVersion":"10.9.9","description":"Shared browser code for the Sentinel NVR plugin for Scrypted: API model + client (/api), player (/player) and React UI with i18n + themes (/ui). Consumed by the plugin's own web UI and the HAPulse dashboard.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"22.23.3","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.0","vite":"^8.3.1","jsdom":"^30.1.1","react":"^19.0.0","eslint":"^10.11.0","vitest":"^5.0.2","globals":"^17.12.0","prettier":"^3.9.9","react-dom":"^19.0.0","@eslint/js":"^10.0.1","typescript":"^5.7.0","@types/node":"^22.20.4","@types/react":"^19.0.0","lucide-react":"^1.47.0","@types/react-dom":"^19.3.0","typescript-eslint":"^8.70.1","eslint-plugin-react-hooks":"^7.1.1"},"peerDependencies":{"react":">=18","lucide-react":">=0.400.0"},"peerDependenciesMeta":{"react":{"optional":true},"lucide-react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/web_0.13.1_1790516411849_0.5746035773325366","host":"s3://npm-registry-packages-npm-production"}},"0.14.0":{"name":"@sentinel-nvr/web","version":"0.14.0","author":{"name":"Muggedadscher"},"license":"MIT","_id":"@sentinel-nvr/web@0.14.0","maintainers":[{"name":"muggedadscher","email":"schleerjannick26@gmail.com"}],"homepage":"https://github.com/Muggedadscher/sentinel-nvr-web#readme","bugs":{"url":"https://github.com/Muggedadscher/sentinel-nvr-web/issues"},"dist":{"shasum":"b5a905678ffb80b008e2b55cfda1888309dd1f13","tarball":"https://registry.npmjs.org/@sentinel-nvr/web/-/web-0.14.0.tgz","fileCount":27,"integrity":"sha512-j/FNJaSCiVdqpAnRj/AFbwXZLah5gb+0aOI28QiLjm7QPQ+OyDiGqJInGUKIVfbrZz3hB341VYfRbWUqiMxx8A==","signatures":[{"sig":"MEYCIQC7OSOjuBmljLBbs5FdRVSFPIh3mDQ8GFlubN9zFc5vWQIhAOgpxSh1DmP8OLqYuExgYnSgWvzmOBdj2afCuOVi5PRk","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDk1Llbqo967WvBOG8myNKAiW+tU27GYRGdKFle5jtY3QIhAJBNIBcwZIs5pFfqV/YWUIZm4Whi0nOdbHG3NH4Veu9T","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":669367},"type":"module","engines":{"node":">=20"},"exports":{"./ui":{"types":"./dist/ui/index.d.ts","import":"./dist/ui/index.js","default":"./dist/ui/index.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/index.js","default":"./dist/api/index.js"},"./player":{"types":"./dist/player/index.d.ts","import":"./dist/player/index.js","default":"./dist/player/index.js"},"./ui/ui.css":"./dist/ui/ui.css","./ui/locales/*":"./dist/ui/locales/*"},"scripts":{"lint":"eslint .","test":"vitest run","build":"tsup && mkdir -p dist/ui && cp src/ui/ui.css dist/ui/ui.css && rm -rf dist/ui/locales && cp -r src/ui/locales dist/ui/locales","format":"prettier --write .","test:tz":"TZ=UTC vitest run && TZ=Europe/Berlin vitest run && TZ=America/New_York vitest run","typecheck":"tsc --noEmit","format:check":"prettier --check .","prepublishOnly":"node scripts/prepublish-check.mjs && npm run build"},"_npmUser":{"name":"muggedadscher","email":"schleerjannick26@gmail.com"},"repository":{"url":"git+https://github.com/Muggedadscher/sentinel-nvr-web.git","type":"git"},"_npmVersion":"10.9.9","description":"Shared browser code for the Sentinel NVR plugin for Scrypted: API model + client (/api), player (/player) and React UI with i18n + themes (/ui). Consumed by the plugin's own web UI and the HAPulse dashboard.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"22.23.3","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.0","vite":"^8.3.1","jsdom":"^30.1.1","react":"^19.0.0","eslint":"^10.11.0","vitest":"^5.0.2","globals":"^17.12.0","prettier":"^3.9.9","react-dom":"^19.0.0","@eslint/js":"^10.0.1","typescript":"^5.7.0","@types/node":"^22.20.4","@types/react":"^19.0.0","lucide-react":"^1.47.0","@types/react-dom":"^19.3.0","typescript-eslint":"^8.70.1","eslint-plugin-react-hooks":"^7.1.1"},"peerDependencies":{"react":">=18","lucide-react":">=0.400.0"},"peerDependenciesMeta":{"react":{"optional":true},"lucide-react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/web_0.14.0_1790602570153_0.0840069042081939","host":"s3://npm-registry-packages-npm-production"}},"0.15.0":{"name":"@sentinel-nvr/web","version":"0.15.0","author":{"name":"Muggedadscher"},"license":"MIT","_id":"@sentinel-nvr/web@0.15.0","maintainers":[{"name":"muggedadscher","email":"schleerjannick26@gmail.com"}],"homepage":"https://github.com/Muggedadscher/sentinel-nvr-web#readme","bugs":{"url":"https://github.com/Muggedadscher/sentinel-nvr-web/issues"},"dist":{"shasum":"a6b1c95a8c2c73eafb4655af4c24840c27391d23","tarball":"https://registry.npmjs.org/@sentinel-nvr/web/-/web-0.15.0.tgz","fileCount":27,"integrity":"sha512-2GFEYCuOk3YioDHI2v8mIpVvEmcimzeD86w3oHsQ72O84/g2SIAM8DsGc8EeUP17R0NxLqlk6ihInRvLcohxwA==","signatures":[{"sig":"MEUCIDowTZGZfKZMMRhkS2cOgGVJ6zPef4lMXjGHfIBHaZpBAiEAjtZYrZbDqfZ0I3eUVLCn9haZOCydNB8yYpVsviaiePU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCohwJ51kEGE0Nl9mX5vn0SFdPMUzRTbcLJ5/gpoFoHcwIgSqUX8nlgzYn1lfVMnxJpvWz4+f8lOXz7ofiLym5M+ks=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":672101},"type":"module","engines":{"node":">=20"},"exports":{"./ui":{"types":"./dist/ui/index.d.ts","import":"./dist/ui/index.js","default":"./dist/ui/index.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/index.js","default":"./dist/api/index.js"},"./player":{"types":"./dist/player/index.d.ts","import":"./dist/player/index.js","default":"./dist/player/index.js"},"./ui/ui.css":"./dist/ui/ui.css","./ui/locales/*":"./dist/ui/locales/*"},"scripts":{"lint":"eslint .","test":"vitest run","build":"tsup && mkdir -p dist/ui && cp src/ui/ui.css dist/ui/ui.css && rm -rf dist/ui/locales && cp -r src/ui/locales dist/ui/locales","format":"prettier --write .","test:tz":"TZ=UTC vitest run && TZ=Europe/Berlin vitest run && TZ=America/New_York vitest run","typecheck":"tsc --noEmit","format:check":"prettier --check .","prepublishOnly":"node scripts/prepublish-check.mjs && npm run build"},"_npmUser":{"name":"muggedadscher","email":"schleerjannick26@gmail.com"},"repository":{"url":"git+https://github.com/Muggedadscher/sentinel-nvr-web.git","type":"git"},"_npmVersion":"10.9.9","description":"Shared browser code for the Sentinel NVR plugin for Scrypted: API model + client (/api), player (/player) and React UI with i18n + themes (/ui). Consumed by the plugin's own web UI and the HAPulse dashboard.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"22.23.3","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.0","vite":"^8.3.1","jsdom":"^30.1.1","react":"^19.0.0","eslint":"^10.11.0","vitest":"^5.0.2","globals":"^17.12.0","prettier":"^3.9.9","react-dom":"^19.0.0","@eslint/js":"^10.0.1","typescript":"^5.7.0","@types/node":"^22.20.4","@types/react":"^19.0.0","lucide-react":"^1.47.0","@types/react-dom":"^19.3.0","typescript-eslint":"^8.70.1","eslint-plugin-react-hooks":"^7.1.1"},"peerDependencies":{"react":">=18","lucide-react":">=0.400.0"},"peerDependenciesMeta":{"react":{"optional":true},"lucide-react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/web_0.15.0_1790659850260_0.19932744519199597","host":"s3://npm-registry-packages-npm-production"}},"0.16.0":{"name":"@sentinel-nvr/web","version":"0.16.0","author":{"name":"Muggedadscher"},"license":"MIT","_id":"@sentinel-nvr/web@0.16.0","maintainers":[{"name":"muggedadscher","email":"schleerjannick26@gmail.com"}],"homepage":"https://github.com/Muggedadscher/sentinel-nvr-web#readme","bugs":{"url":"https://github.com/Muggedadscher/sentinel-nvr-web/issues"},"dist":{"shasum":"c5ca14e5319470ca2c6fcf81ab31a6855cb0dfb2","tarball":"https://registry.npmjs.org/@sentinel-nvr/web/-/web-0.16.0.tgz","fileCount":27,"integrity":"sha512-rvw1111fcv0Y8tMTZqsbOylTQ+OwjxfkhguM4Vy2xByaVaBionIHdj3UqDUZ97qDo418HQe2IQLk5VR8pA+G7g==","signatures":[{"sig":"MEQCIA9xW+gN422iuSWdldsDUPEo+I/gIX5x/GsbmS2nXN41AiAP7gPMBUYCJVAj+9GBhGq/J+yHBdVNQgc7PVFEZ3O5jw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQC03zyXYc4jbxH6LL05qii2F5EUkQYwTkAEpmD7be40KgIhAN6vE4gRjlQp9ifeaSbi3r3ZY+A6yjhqXrrnsnaCjFFK","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":680318},"type":"module","engines":{"node":">=20"},"exports":{"./ui":{"types":"./dist/ui/index.d.ts","import":"./dist/ui/index.js","default":"./dist/ui/index.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/index.js","default":"./dist/api/index.js"},"./player":{"types":"./dist/player/index.d.ts","import":"./dist/player/index.js","default":"./dist/player/index.js"},"./ui/ui.css":"./dist/ui/ui.css","./ui/locales/*":"./dist/ui/locales/*"},"scripts":{"lint":"eslint .","test":"vitest run","build":"tsup && mkdir -p dist/ui && cp src/ui/ui.css dist/ui/ui.css && rm -rf dist/ui/locales && cp -r src/ui/locales dist/ui/locales","format":"prettier --write .","test:tz":"TZ=UTC vitest run && TZ=Europe/Berlin vitest run && TZ=America/New_York vitest run","typecheck":"tsc --noEmit","format:check":"prettier --check .","prepublishOnly":"node scripts/prepublish-check.mjs && npm run build"},"_npmUser":{"name":"muggedadscher","email":"schleerjannick26@gmail.com"},"repository":{"url":"git+https://github.com/Muggedadscher/sentinel-nvr-web.git","type":"git"},"_npmVersion":"10.9.9","description":"Shared browser code for the Sentinel NVR plugin for Scrypted: API model + client (/api), player (/player) and React UI with i18n + themes (/ui). Consumed by the plugin's own web UI and the HAPulse dashboard.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"22.23.3","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.0","vite":"^8.3.1","jsdom":"^30.1.1","react":"^19.0.0","eslint":"^10.11.0","vitest":"^5.0.2","globals":"^17.12.0","prettier":"^3.9.9","react-dom":"^19.0.0","@eslint/js":"^10.0.1","typescript":"^5.7.0","@types/node":"^22.20.4","@types/react":"^19.0.0","lucide-react":"^1.47.0","@types/react-dom":"^19.3.0","typescript-eslint":"^8.70.1","eslint-plugin-react-hooks":"^7.1.1"},"peerDependencies":{"react":">=18","lucide-react":">=0.400.0"},"peerDependenciesMeta":{"react":{"optional":true},"lucide-react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/web_0.16.0_1790689385209_0.8969632060166042","host":"s3://npm-registry-packages-npm-production"}},"0.16.1":{"name":"@sentinel-nvr/web","version":"0.16.1","author":{"name":"Muggedadscher"},"license":"MIT","_id":"@sentinel-nvr/web@0.16.1","maintainers":[{"name":"muggedadscher","email":"schleerjannick26@gmail.com"}],"homepage":"https://github.com/Muggedadscher/sentinel-nvr-web#readme","bugs":{"url":"https://github.com/Muggedadscher/sentinel-nvr-web/issues"},"dist":{"shasum":"83243f739db89609dc9c8f38a5b5b30166bbb509","tarball":"https://registry.npmjs.org/@sentinel-nvr/web/-/web-0.16.1.tgz","fileCount":27,"integrity":"sha512-SXRqtsPCpArcXtwHjYkpS4fqimSSPziQ3eWunQHAlZbmr2gbRexUbG49pZTY3Y/yQbmDWk9zKGFiczgwO3wnuQ==","signatures":[{"sig":"MEQCIC1uuOt/VamwuQCdAwsOPEhcoDoIeFp3tz5rSvV6a8OQAiBE/JHuiX3xZf6Umwt+tuPvJUTCy1gOFRmQuUepKiddQA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCsANcYNvapKqsGDKp/wPuHvx+l+W8k7vKTnlKlzZ20JAIhAMpnEfF9mfW2oQgNnlwehNZWtRLLJJRJiZNmA7xuavdw","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":696065},"type":"module","engines":{"node":">=20"},"exports":{"./ui":{"types":"./dist/ui/index.d.ts","import":"./dist/ui/index.js","default":"./dist/ui/index.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/index.js","default":"./dist/api/index.js"},"./player":{"types":"./dist/player/index.d.ts","import":"./dist/player/index.js","default":"./dist/player/index.js"},"./ui/ui.css":"./dist/ui/ui.css","./ui/locales/*":"./dist/ui/locales/*"},"scripts":{"lint":"eslint .","test":"vitest run","build":"tsup && mkdir -p dist/ui && cp src/ui/ui.css dist/ui/ui.css && rm -rf dist/ui/locales && cp -r src/ui/locales dist/ui/locales","format":"prettier --write .","test:tz":"TZ=UTC vitest run && TZ=Europe/Berlin vitest run && TZ=America/New_York vitest run","typecheck":"tsc --noEmit","format:check":"prettier --check .","prepublishOnly":"node scripts/prepublish-check.mjs && npm run build"},"_npmUser":{"name":"muggedadscher","email":"schleerjannick26@gmail.com"},"repository":{"url":"git+https://github.com/Muggedadscher/sentinel-nvr-web.git","type":"git"},"_npmVersion":"10.9.9","description":"Shared browser code for the Sentinel NVR plugin for Scrypted: API model + client (/api), player (/player) and React UI with i18n + themes (/ui). Consumed by the plugin's own web UI and the HAPulse dashboard.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"22.23.3","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.0","vite":"^8.3.1","jsdom":"^30.1.1","react":"^19.0.0","eslint":"^10.11.0","vitest":"^5.0.2","globals":"^17.12.0","prettier":"^3.9.9","react-dom":"^19.0.0","@eslint/js":"^10.0.1","typescript":"^5.7.0","@types/node":"^22.20.4","@types/react":"^19.0.0","lucide-react":"^1.47.0","@types/react-dom":"^19.3.0","typescript-eslint":"^8.70.1","eslint-plugin-react-hooks":"^7.1.1"},"peerDependencies":{"react":">=18","lucide-react":">=0.400.0"},"peerDependenciesMeta":{"react":{"optional":true},"lucide-react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/web_0.16.1_1790752718394_0.868686625822368","host":"s3://npm-registry-packages-npm-production"}},"0.16.2":{"name":"@sentinel-nvr/web","version":"0.16.2","author":{"name":"Muggedadscher"},"license":"MIT","_id":"@sentinel-nvr/web@0.16.2","maintainers":[{"name":"muggedadscher","email":"schleerjannick26@gmail.com"}],"homepage":"https://github.com/Muggedadscher/sentinel-nvr-web#readme","bugs":{"url":"https://github.com/Muggedadscher/sentinel-nvr-web/issues"},"dist":{"shasum":"72654183bacb34a1d113e242ce0d6c004e62fe4f","tarball":"https://registry.npmjs.org/@sentinel-nvr/web/-/web-0.16.2.tgz","fileCount":27,"integrity":"sha512-Eu5PQ3mS8oIS3AR0p+/IWUdCHHdJ7r+BdrstTJKZ8M0l02DjjhknV/KjJPe1RIYx/WVWbA2utQ5Kx23BCUiDbA==","signatures":[{"sig":"MEUCIDgbRtXg9AAg/v4wLgSXTdqa8I9QseU9YS4hbSP5w/vjAiEAyT/mi2544x+0fA1p2PYYVcL7x6rB/69prfZWQg536A0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDBdEYFHEobtQ9LZj9HGs0QNjc/mIic4av432hPjamI2wIgOdw28etjOE1ogFgho+E8rKs++3N5TluPd4ZRjt9nCdM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@sentinel-nvr%2fweb@0.16.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":698020},"type":"module","engines":{"node":">=20"},"exports":{"./ui":{"types":"./dist/ui/index.d.ts","import":"./dist/ui/index.js","default":"./dist/ui/index.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/index.js","default":"./dist/api/index.js"},"./player":{"types":"./dist/player/index.d.ts","import":"./dist/player/index.js","default":"./dist/player/index.js"},"./ui/ui.css":"./dist/ui/ui.css","./ui/locales/*":"./dist/ui/locales/*"},"gitHead":"28cf73582fecb0ee4b9e8f186503f046034b4f66","scripts":{"lint":"eslint .","test":"vitest run","build":"tsup && mkdir -p dist/ui && cp src/ui/ui.css dist/ui/ui.css && rm -rf dist/ui/locales && cp -r src/ui/locales dist/ui/locales","format":"prettier --write .","test:tz":"TZ=UTC vitest run && TZ=Europe/Berlin vitest run && TZ=America/New_York vitest run","typecheck":"tsc --noEmit","format:check":"prettier --check .","prepublishOnly":"node scripts/prepublish-check.mjs && npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"4e67269f-9206-42d8-8d17-9d813eb994bf"}},"repository":{"url":"git+https://github.com/Muggedadscher/sentinel-nvr-web.git","type":"git"},"_npmVersion":"11.21.0","description":"Shared browser code for the Sentinel NVR plugin for Scrypted: API model + client (/api), player (/player) and React UI with i18n + themes (/ui). Consumed by the plugin's own web UI and the HAPulse dashboard.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"22.23.3","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.0","vite":"^8.3.1","jsdom":"^30.1.1","react":"^19.0.0","eslint":"^10.11.0","vitest":"^5.0.2","globals":"^17.12.0","prettier":"^3.9.9","react-dom":"^19.0.0","@eslint/js":"^10.0.1","typescript":"^5.7.0","@types/node":"^22.20.4","@types/react":"^19.0.0","lucide-react":"^1.47.0","@types/react-dom":"^19.3.0","typescript-eslint":"^8.70.1","eslint-plugin-react-hooks":"^7.1.1"},"peerDependencies":{"react":">=18","lucide-react":">=0.400.0"},"peerDependenciesMeta":{"react":{"optional":true},"lucide-react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/web_0.16.2_1790835325640_0.9355919986755779","host":"s3://npm-registry-packages-npm-production"}},"0.16.3":{"name":"@sentinel-nvr/web","version":"0.16.3","author":{"name":"Muggedadscher"},"license":"MIT","_id":"@sentinel-nvr/web@0.16.3","maintainers":[{"name":"muggedadscher","email":"schleerjannick26@gmail.com"}],"homepage":"https://github.com/Muggedadscher/sentinel-nvr-web#readme","bugs":{"url":"https://github.com/Muggedadscher/sentinel-nvr-web/issues"},"dist":{"shasum":"13304b9a6ef64c89ed3a2d44f8323620f4a8420d","tarball":"https://registry.npmjs.org/@sentinel-nvr/web/-/web-0.16.3.tgz","fileCount":27,"integrity":"sha512-PxaDBIxE48l054iePMmMKoV1C5rLYrI6jYU3/Oo90YjwU96wVHgI0lG0kRh19uWBHkFsUbvoZ/vrInCLYVbeMg==","signatures":[{"sig":"MEUCID0eQ+moIDxZtQtSHLLIqJRD/tA2JWXfO9QiKIBesvv7AiEAk44S1TimDkuIOXsJ3NCHOHHRfha4zh9iEJOZUwXb5Xs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIAEzn8lboo5V9oftgtFw1Oma5/DLCV4ODefE+QF+MXuGAiAzCB95sKBZXjc91GMdRAApvvPr6oFmaUt47sFFsvHQvw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@sentinel-nvr%2fweb@0.16.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":698505},"type":"module","engines":{"node":">=20"},"exports":{"./ui":{"types":"./dist/ui/index.d.ts","import":"./dist/ui/index.js","default":"./dist/ui/index.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/index.js","default":"./dist/api/index.js"},"./player":{"types":"./dist/player/index.d.ts","import":"./dist/player/index.js","default":"./dist/player/index.js"},"./ui/ui.css":"./dist/ui/ui.css","./ui/locales/*":"./dist/ui/locales/*"},"gitHead":"c439dd81fda5023b65e6d0e4865c2fbf4fa9020e","scripts":{"lint":"eslint .","test":"vitest run","build":"tsup && mkdir -p dist/ui && cp src/ui/ui.css dist/ui/ui.css && rm -rf dist/ui/locales && cp -r src/ui/locales dist/ui/locales","format":"prettier --write .","test:tz":"TZ=UTC vitest run && TZ=Europe/Berlin vitest run && TZ=America/New_York vitest run","typecheck":"tsc --noEmit","format:check":"prettier --check .","prepublishOnly":"node scripts/prepublish-check.mjs && npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"4e67269f-9206-42d8-8d17-9d813eb994bf"}},"repository":{"url":"git+https://github.com/Muggedadscher/sentinel-nvr-web.git","type":"git"},"_npmVersion":"11.21.0","description":"Shared browser code for the Sentinel NVR plugin for Scrypted: API model + client (/api), player (/player) and React UI with i18n + themes (/ui). Consumed by the plugin's own web UI and the HAPulse dashboard.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"22.23.3","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.0","vite":"^8.3.1","jsdom":"^30.1.1","react":"^19.0.0","eslint":"^10.11.0","vitest":"^5.0.2","globals":"^17.12.0","prettier":"^3.9.9","react-dom":"^19.0.0","@eslint/js":"^10.0.1","typescript":"^5.7.0","@types/node":"^22.20.4","@types/react":"^19.0.0","lucide-react":"^1.47.0","@types/react-dom":"^19.3.0","typescript-eslint":"^8.70.1","eslint-plugin-react-hooks":"^7.1.1"},"peerDependencies":{"react":">=18","lucide-react":">=0.400.0"},"peerDependenciesMeta":{"react":{"optional":true},"lucide-react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/web_0.16.3_1790928730186_0.2842368452258093","host":"s3://npm-registry-packages-npm-production"}},"0.16.4":{"_id":"@sentinel-nvr/web@0.16.4","bugs":{"url":"https://github.com/Muggedadscher/sentinel-nvr-web/issues"},"dist":{"shasum":"4adbf11eaa2b6ebd491c575e356af8ec5eea4f91","tarball":"https://registry.npmjs.org/@sentinel-nvr/web/-/web-0.16.4.tgz","fileCount":27,"integrity":"sha512-a5qYT9F0NaKWtb5gS8fF8XQIrwNGm5aPdMkApQQDbQoml1ua/x9ScB9NQxv+aGqoOMaGgk4zKcWaY7raVSzQvQ==","signatures":[{"sig":"MEQCIDJ3ss+e7VPq13+9/xD9opwXtC4IXSb+BZib9Q8QWttoAiBEef9uQLDyXBJmHQlx1FtzQZV3pYEOQLE4+GuGia/cUQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIE5d7Lz+g4EZ20W+U29JdLhHu9/kNYyVF0S83Lv16sOXAiEA3lOO93kbiqfRbxYahAOctdGVsK+lJU1D9IcpAS0JPF0="}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@sentinel-nvr%2fweb@0.16.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":698865},"name":"@sentinel-nvr/web","type":"module","author":{"name":"Muggedadscher"},"engines":{"node":">=20"},"exports":{"./ui":{"types":"./dist/ui/index.d.ts","import":"./dist/ui/index.js","default":"./dist/ui/index.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/index.js","default":"./dist/api/index.js"},"./player":{"types":"./dist/player/index.d.ts","import":"./dist/player/index.js","default":"./dist/player/index.js"},"./ui/ui.css":"./dist/ui/ui.css","./ui/locales/*":"./dist/ui/locales/*"},"gitHead":"a45996baa2515095273a91feca4d4ae58fddb1cb","license":"MIT","scripts":{"lint":"eslint .","test":"vitest run","build":"tsup && mkdir -p dist/ui && cp src/ui/ui.css dist/ui/ui.css && rm -rf dist/ui/locales && cp -r src/ui/locales dist/ui/locales","format":"prettier --write .","test:tz":"TZ=UTC vitest run && TZ=Europe/Berlin vitest run && TZ=America/New_York vitest run","typecheck":"tsc --noEmit","format:check":"prettier --check .","prepublishOnly":"node scripts/prepublish-check.mjs && npm run build"},"version":"0.16.4","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"4e67269f-9206-42d8-8d17-9d813eb994bf"}},"homepage":"https://github.com/Muggedadscher/sentinel-nvr-web#readme","repository":{"url":"git+https://github.com/Muggedadscher/sentinel-nvr-web.git","type":"git"},"_npmVersion":"11.21.0","description":"Shared browser code for the Sentinel NVR plugin for Scrypted: API model + client (/api), player (/player) and React UI with i18n + themes (/ui). Consumed by the plugin's own web UI and the HAPulse dashboard.","directories":{},"maintainers":[{"name":"muggedadscher","email":"schleerjannick26@gmail.com"}],"sideEffects":["**/*.css"],"_nodeVersion":"22.23.3","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.0","vite":"^8.3.1","jsdom":"^30.1.1","react":"^19.0.0","eslint":"^10.11.0","vitest":"^5.0.2","globals":"^17.12.0","prettier":"^3.9.9","react-dom":"^19.0.0","@eslint/js":"^10.0.1","typescript":"^5.7.0","@types/node":"^22.20.4","@types/react":"^19.0.0","lucide-react":"^1.47.0","@types/react-dom":"^19.3.0","typescript-eslint":"^8.70.1","eslint-plugin-react-hooks":"^7.1.1"},"peerDependencies":{"react":">=18","lucide-react":">=0.400.0"},"peerDependenciesMeta":{"react":{"optional":true},"lucide-react":{"optional":true}},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/web_0.16.4_1791015818202_0.5729729490774356"}}},"time":{"created":"2026-09-18T09:58:32.229Z","modified":"2026-10-03T08:23:38.615Z","0.1.0":"2026-09-18T09:58:32.559Z","0.1.1":"2026-09-18T10:49:28.427Z","0.1.2":"2026-09-18T10:57:51.490Z","0.2.0":"2026-09-18T17:04:31.719Z","0.2.1":"2026-09-18T17:20:55.840Z","0.2.2":"2026-09-18T17:25:53.914Z","0.3.0":"2026-09-22T20:32:57.198Z","0.3.1":"2026-09-22T20:33:42.977Z","0.4.0":"2026-09-22T20:38:00.319Z","0.5.0":"2026-09-22T20:47:32.370Z","0.5.1":"2026-09-22T21:07:18.905Z","0.5.2":"2026-09-22T21:23:59.269Z","0.5.3":"2026-09-22T21:32:26.560Z","0.5.4":"2026-09-23T06:45:59.825Z","0.5.5":"2026-09-23T06:52:22.216Z","0.6.0":"2026-09-23T07:49:29.922Z","0.6.1":"2026-09-23T09:26:05.530Z","0.6.2":"2026-09-23T19:50:50.116Z","0.7.0":"2026-09-23T20:42:28.796Z","0.8.0":"2026-09-24T20:02:04.688Z","0.9.0":"2026-09-25T00:55:55.389Z","0.10.0":"2026-09-26T07:55:45.513Z","0.11.0":"2026-09-26T08:21:23.573Z","0.12.0":"2026-09-26T21:49:52.972Z","0.12.1":"2026-09-27T12:44:58.325Z","0.13.0":"2026-09-27T13:15:56.530Z","0.13.1":"2026-09-27T13:40:11.956Z","0.14.0":"2026-09-28T13:36:10.285Z","0.15.0":"2026-09-29T05:30:50.373Z","0.16.0":"2026-09-29T13:43:05.304Z","0.16.1":"2026-09-30T07:18:38.487Z","0.16.2":"2026-10-01T06:15:25.746Z","0.16.3":"2026-10-02T08:12:10.296Z","0.16.4":"2026-10-03T08:23:38.279Z"},"bugs":{"url":"https://github.com/Muggedadscher/sentinel-nvr-web/issues"},"author":{"name":"Muggedadscher"},"license":"MIT","homepage":"https://github.com/Muggedadscher/sentinel-nvr-web#readme","repository":{"url":"git+https://github.com/Muggedadscher/sentinel-nvr-web.git","type":"git"},"description":"Shared browser code for the Sentinel NVR plugin for Scrypted: API model + client (/api), player (/player) and React UI with i18n + themes (/ui). Consumed by the plugin's own web UI and the HAPulse dashboard.","maintainers":[{"name":"muggedadscher","email":"schleerjannick26@gmail.com"}],"readme":"# sentinel-nvr-web\n\nShared browser code for the Sentinel NVR plugin for Scrypted (a private repository, `Muggedadscher/sentinel-nvr`;\nits HTTP/WebSocket API is described in that repository's `docs/API.md`). Two consumers use these packages so their camera UI stays\nidentical and bugs are fixed once:\n\n- the plugin's own web UI (`sentinel-nvr/ui`)\n- the native Sentinel NVR integration in the [HAPulse](https://github.com/Muggedadscher/hapulse) dashboard\n\n## Package\n\nOne npm package, **`@sentinel-nvr/web`**, with subpath entry points (one version, one bump in both consumers):\n\n| Entry point | Status | Contents |\n|---|---|---|\n| `@sentinel-nvr/web/api` | **available** | DOM-free data model + types mirroring the plugin's `docs/API.md`, URL/setup parsing, event classification, storage forecast, timeline clip-run merge, locale formatters, and a `fetch`/WebSocket `SentinelClient`. No framework deps. |\n| `@sentinel-nvr/web/player` | **available** | `PlayerController`, WebRTC signaling, the no-reneg recorded-playback relay client, watchdog and the live/recorded fallback chain. |\n| `@sentinel-nvr/web/ui` | **available** | React components — the whole **camera page** (`CameraPage`: stage, control pill, info bar, tabs, class filters, vertical timeline, events list, date chip; `CameraTitle` header row), class badges, event strip, camera tiles, date picker, stat cards — the i18n dictionaries (`nvr.*`, 7 locales) and the theme system (4 identities × light/dark/auto + accent hue). Styles in `@sentinel-nvr/web/ui/ui.css` (HAPulse tokens). |\n\nThe earlier `@sentinel-nvr/api@0.1.0` is deprecated in favour of `@sentinel-nvr/web/api`.\n\n### Server compatibility (recorded playback)\n\nThe player talks to the plugin's relay endpoints (`docs/API.md` in `sentinel-nvr`). Newer packages degrade gracefully\non older servers, but only get their full behaviour with the matching plugin version (plugin tags `v<version>`;\n1.1.0 = 2026-09-26, 1.2.0 = 2026-09-28):\n\n| Package | Needs plugin | Relay feature |\n|---|---|---|\n| 0.7.x | ≥ 1.1.0 | scrub by target: `api/relay-target` (server-side servo stops at the timeline centre), `relay-pos` returns `{t, r}` |\n| 0.8.x | ≥ 1.1.0 | jumps with a still picture: `relay-seek&mark=1&avoid=W` answers `{w}`; the still is lifted on the first frame of that width (older servers: timer) |\n| 0.9.x | ≥ 1.1.0 | speed buttons in place: `api/relay-speed` (older servers: a seek to the displayed position); stills fade out two frames after the video runs |\n| 0.10.x | any | calendar days instead of ±24 h (DST days are 23/25 h: no duplicate clips/events on 25.10., \"next day\" works, time picker and axis on the wall clock), `SentinelSetup.prefix` / `sentinelPublicBase(origin, prefix)` / `exchangeSentinelToken(…, prefix)` for a reverse-proxy path prefix. No server change needed. |\n| 0.11.x | any (storage warning: ≥ 1.1.0) | robustness: the chosen speed survives a new relay session (pause/play, tab switch, recovery), control/seek/poll requests time out, answers of a finished session are ignored, a camera switch stops the old stream at once, forced TURN relay only for 10 min, live watchdog (frozen WebRTC → restart → fallback, WebRTC retried out of a fallback with back-off), MJPEG retry, telemetry rate limit, keyboard shortcuts leave modifiers/buttons alone, fallback transport shown, second deep link to the same camera works, storage-unavailable warning in the hero (`stats.storageOk`). `sideEffects` keeps the CSS, NOTICE.md shipped, react/lucide-react optional peers. |\n| 0.12.x | any | +15 s at the recording edge goes live; 0.12.1: `open` telemetry per camera opening. |\n| 0.13.x | any (smaller pictures: ≥ 1.2.0; older plugins ignore `w=` and send full-size snapshots) | opening a camera: the tile's loaded picture is the poster at once (tiles load with `crossOrigin=\"anonymous\"`, `rememberTileSnapshot` exported for host cards), live starts without waiting for the day loads (a failed load no longer blocks it), tiles ask for `api/snapshot&w=640/960`, the fresh poster for 1280. 0.13.1: an MJPEG fallback taken before the codec was known switches to MSE-live once the day loads bring it — client only. |\n| 0.14.x | any | Picture-in-Picture note + \"Open in Safari\" in iPhone/iPad Home-Screen apps (Apple blocks PiP there); `PlayerController.pip()` resolves its outcome. Client only. |\n| 0.15.x | any (priority order from the server: ≥ 1.3.0; older servers are sorted client-side) | event classes by priority (a cyclist is a person), class filters hide an event only when all its classes are off, chips count every contained class — client only. |\n| 0.16.x | any (spans: ≥ 1.3.0) | events as time spans: bar from first sighting to last movement on the timeline, running events pulse, duration/„running“ in the list (`endTs`/`open`); older servers show plain markers. |\n\nLab note: Scrypted's WebRTC sink re-encodes (1280 px, 15 fps) for clients that are not Windows/macOS/iOS and report a\nscreen below 1920 physical pixels, unless the source declares a width ≤ 1280. Plugin ≥ 1.2.0 declares it for recorded\nplayback, so the sink passes it through; for lab measurements still emulate `screenWidth/screenHeight` (headless\nChromium reports 800×600).\n\nThe server keeps its own types; `docs/API.md` in the plugin repository is the contract both sides follow.\n\n## Design contracts (for `ui`)\n\n- **Theming:** components read only `--*` CSS custom properties (HAPulse token\n  names). `applyTheme(identity, mode, accentHue)` sets them on `<html>`; hosts that\n  already define the tokens (HAPulse) skip it. Fonts and radii are static host tokens.\n- **i18n:** components take a `t(key, vars)` + `locale` via `SentinelUiProvider`. `ui`\n  ships the `nvr.*` dictionaries (`@sentinel-nvr/web/ui/locales/<code>.json`); hosts merge them.\n- **Camera page:** hosts render `<CameraPage …/>` with `header` (their page header, e.g.\n  `<CameraTitle/>` + actions) and `renderDatePicker` (their modal around `useDatePicker`).\n  Everything visible inside comes from the package, so both consumers look identical.\n  Optional `externalUrl` = this camera outside the app (Sentinel's public entry, no token): offered as \"Open in\n  Safari\" when an iPhone/iPad Home-Screen app refuses Picture-in-Picture.\n\n## Develop\n\n```bash\nnpm install\nnpm run typecheck\nnpm test\nnpm run build\n```\n\nReleases: bump `version` in `package.json`, add a `CHANGELOG.md` entry, merge, tag `v<version>` on `main` and push\nthe tag. The `release` workflow publishes from the tag via npm Trusted Publishing (no stored token; typecheck, lint,\nformat check, tests in three time zones, build, pack check, `npm publish --provenance`, registry tarball compared\nwith `dist`). A manual run with `dry` checks a tag without publishing. The maintainer's `snvrweb-publish.sh <version>`\nremains the fallback; it needs an npm token, so with \"disallow tokens\" set in the package's npm settings tokens have to\nbe allowed again for that publish. `prepublishOnly` refuses any publish without the matching tag.\n\n## License\n\nMIT — see [LICENSE](LICENSE) and [NOTICE.md](NOTICE.md).\n","readmeFilename":"README.md"}