{"_id":"@sentinel-password/react-components","_rev":"31-30bd3170c35bf7a5f6462d0c8dd123cc","name":"@sentinel-password/react-components","dist-tags":{"latest":"2.0.0"},"versions":{"0.1.0":{"name":"@sentinel-password/react-components","version":"0.1.0","keywords":["password","validation","react","components","headless","accessible","wcag","aria","typescript","password-validator","password-input","password-strength","react-components"],"author":{"name":"Aleksei Kankov","email":"akankov@gmail.com"},"license":"MIT","_id":"@sentinel-password/react-components@0.1.0","maintainers":[{"name":"akankov","email":"akankov@gmail.com"}],"homepage":"https://github.com/akankov/sentinel-password#readme","bugs":{"url":"https://github.com/akankov/sentinel-password/issues"},"dist":{"shasum":"48ff87edc951df9ea818e7a2daa12d0007a9f45a","tarball":"https://registry.npmjs.org/@sentinel-password/react-components/-/react-components-0.1.0.tgz","fileCount":8,"integrity":"sha512-Hx+RA6asU++XfOW/KT4YWnxXsJJuZgNe9TSUQT8ffDFumppdyvcK3ThoMPXowa3e1aRQUEqj5bhtSO7nl0ELmQ==","signatures":[{"sig":"MEYCIQDHiC4q46PC/B48NInqgp0HbITAcZ8R/MLfB8BWxPFiVAIhAO8mSx0DWZpNQ9k3pyuqIbsGOXQTep4P78LpyhvPwXdj","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":51098},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"gitHead":"c5a09c3bb38055fcec15d10f1ccd08269e8bbdfe","scripts":{"lint":"eslint src","test":"vitest run","build":"tsup","clean":"rm -rf dist coverage","lint:fix":"eslint src --fix","storybook":"storybook dev -p 6007","typecheck":"tsc --noEmit","test:watch":"vitest","build-storybook":"storybook build"},"_npmUser":{"name":"akankov","email":"akankov@gmail.com"},"repository":{"url":"git+https://github.com/akankov/sentinel-password.git","type":"git","directory":"packages/react-components"},"_npmVersion":"10.9.4","description":"Accessible, headless React components for @sentinel-password - password validation UI made simple","directories":{},"sideEffects":false,"_nodeVersion":"22.21.1","dependencies":{"@sentinel-password/core":"workspace:*","@sentinel-password/react":"workspace:*"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^5.4.21","jsdom":"^25.0.1","react":"^18.3.1","vitest":"^4.0.14","react-dom":"^18.3.1","storybook":"^8.6.14","typescript":"^5.9.3","@types/react":"^18.3.18","@storybook/test":"^8.6.14","@storybook/react":"^8.6.14","@types/react-dom":"^18.3.5","@storybook/blocks":"^8.6.14","@vitest/coverage-v8":"^4.0.14","@storybook/addon-a11y":"^8.6.14","@storybook/react-vite":"^8.6.14","@testing-library/react":"^16.1.0","@testing-library/jest-dom":"^6.9.1","@storybook/addon-essentials":"^8.6.14","@testing-library/user-event":"^14.5.2","@storybook/addon-interactions":"^8.6.14"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-components_0.1.0_1764711799616_0.46604179130981027","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@sentinel-password/react-components","version":"0.1.1","keywords":["password","validation","react","components","headless","accessible","wcag","aria","typescript","password-validator","password-input","password-strength","react-components"],"author":{"name":"Aleksei Kankov","email":"akankov@gmail.com"},"license":"MIT","_id":"@sentinel-password/react-components@0.1.1","maintainers":[{"name":"akankov","email":"akankov@gmail.com"}],"homepage":"https://github.com/akankov/sentinel-password#readme","bugs":{"url":"https://github.com/akankov/sentinel-password/issues"},"dist":{"shasum":"d88623454ba389e9034a9fb2a3fb70da1f4a7c7a","tarball":"https://registry.npmjs.org/@sentinel-password/react-components/-/react-components-0.1.1.tgz","fileCount":9,"integrity":"sha512-NM0zv/5i1LPtv6DXPo5O8/bXP60bDyjtOPqYOATZK0Do6x8YTlVSme20FyMraCntpVgmGWo+t3jL9/8KTkba+g==","signatures":[{"sig":"MEUCIDbyd6V7klm+aV6Y7tjA9wFOb2secxXwM6wBZ0Vu8lNSAiEAoY6tNyI8su6diP3AodrV2O0z3oipZekD28/B+qBipzs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":52159},"main":"./dist/index.cjs","type":"module","_from":"file:sentinel-password-react-components-0.1.1.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"scripts":{"lint":"eslint src","test":"vitest run","build":"tsup","clean":"rm -rf dist coverage","lint:fix":"eslint src --fix","storybook":"storybook dev -p 6007","typecheck":"tsc --noEmit","test:watch":"vitest","build-storybook":"storybook build"},"_npmUser":{"name":"akankov","email":"akankov@gmail.com"},"_resolved":"/private/var/folders/lr/qs3ycr612338j48xcwsbc27c0000gn/T/917169c27fc478023edec56339c67f03/sentinel-password-react-components-0.1.1.tgz","_integrity":"sha512-NM0zv/5i1LPtv6DXPo5O8/bXP60bDyjtOPqYOATZK0Do6x8YTlVSme20FyMraCntpVgmGWo+t3jL9/8KTkba+g==","repository":{"url":"git+https://github.com/akankov/sentinel-password.git","type":"git","directory":"packages/react-components"},"_npmVersion":"10.9.4","description":"Accessible, headless React components for @sentinel-password - password validation UI made simple","directories":{},"sideEffects":false,"_nodeVersion":"22.21.1","dependencies":{"@sentinel-password/core":"0.1.3","@sentinel-password/react":"0.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^5.4.21","jsdom":"^25.0.1","react":"^18.3.1","vitest":"^4.0.14","react-dom":"^18.3.1","storybook":"^8.6.14","typescript":"^5.9.3","@types/react":"^18.3.18","@storybook/test":"^8.6.14","@storybook/react":"^8.6.14","@types/react-dom":"^18.3.5","@storybook/blocks":"^8.6.14","@vitest/coverage-v8":"^4.0.14","@storybook/addon-a11y":"^8.6.14","@storybook/react-vite":"^8.6.14","@testing-library/react":"^16.1.0","@testing-library/jest-dom":"^6.9.1","@storybook/addon-essentials":"^8.6.14","@testing-library/user-event":"^14.5.2","@storybook/addon-interactions":"^8.6.14"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-components_0.1.1_1764798621701_0.35429538581141395","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@sentinel-password/react-components","version":"0.2.0","keywords":["password","validation","react","components","headless","accessible","wcag","aria","typescript","password-validator","password-input","password-strength","react-components"],"author":{"name":"Aleksei Kankov","email":"akankov@gmail.com"},"license":"MIT","_id":"@sentinel-password/react-components@0.2.0","maintainers":[{"name":"akankov","email":"akankov@gmail.com"}],"homepage":"https://github.com/akankov/sentinel-password#readme","bugs":{"url":"https://github.com/akankov/sentinel-password/issues"},"dist":{"shasum":"b2fac85c2666e65416b32fc41147078e45edf867","tarball":"https://registry.npmjs.org/@sentinel-password/react-components/-/react-components-0.2.0.tgz","fileCount":9,"integrity":"sha512-4jnT9Q/6kfXEyUwmx5/qkAwHiJAYLO4/2aWZs4xGhsi8aPOA4aWPFUcoJtt/Wu3fQNgyN7edC6tlUruLsnfV7g==","signatures":[{"sig":"MEYCIQDrByx51/rsTZ9RLbCNi4R6V1Uy9gc1JBNj/z8nlp9oGQIhAN75W0VU/6V6crfHPEC3h8Ai9iOOq5JiJK49GXdlnstz","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":52221},"main":"./dist/index.cjs","type":"module","_from":"file:sentinel-password-react-components-0.2.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"scripts":{"lint":"eslint src","test":"vitest run","build":"tsup","clean":"rm -rf dist coverage","lint:fix":"eslint src --fix","storybook":"storybook dev -p 6007","typecheck":"tsc --noEmit","test:watch":"vitest","build-storybook":"storybook build"},"_npmUser":{"name":"akankov","email":"akankov@gmail.com"},"_resolved":"/tmp/980dfc4ffba2ae51934af9fdfd7c31b5/sentinel-password-react-components-0.2.0.tgz","_integrity":"sha512-4jnT9Q/6kfXEyUwmx5/qkAwHiJAYLO4/2aWZs4xGhsi8aPOA4aWPFUcoJtt/Wu3fQNgyN7edC6tlUruLsnfV7g==","repository":{"url":"git+https://github.com/akankov/sentinel-password.git","type":"git","directory":"packages/react-components"},"_npmVersion":"11.6.2","description":"Accessible, headless React components for @sentinel-password - password validation UI made simple","directories":{},"sideEffects":false,"_nodeVersion":"24.13.0","dependencies":{"@sentinel-password/core":"0.2.0","@sentinel-password/react":"0.3.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^7.3.1","jsdom":"^28.1.0","react":"^19.2.4","vitest":"^4.0.18","react-dom":"^19.2.4","storybook":"^8.6.17","typescript":"^5.9.3","@types/react":"^19.2.14","@storybook/test":"^8.6.17","@storybook/react":"^8.6.17","@types/react-dom":"^19.2.3","@storybook/blocks":"^8.6.17","@vitest/coverage-v8":"^4.0.18","@storybook/addon-a11y":"^8.6.17","@storybook/react-vite":"^8.6.17","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1","@storybook/addon-essentials":"^8.6.17","@testing-library/user-event":"^14.6.1","@storybook/addon-interactions":"^8.6.17"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-components_0.2.0_1771448132972_0.7174088315880687","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@sentinel-password/react-components","version":"0.4.0","keywords":["password","validation","react","components","headless","accessible","wcag","aria","typescript","password-validator","password-input","password-strength","react-components"],"author":{"name":"Aleksei Kankov","email":"akankov@gmail.com"},"license":"MIT","_id":"@sentinel-password/react-components@0.4.0","maintainers":[{"name":"akankov","email":"akankov@gmail.com"}],"homepage":"https://github.com/akankov/sentinel-password#readme","bugs":{"url":"https://github.com/akankov/sentinel-password/issues"},"dist":{"shasum":"8c53fc637fdef996c9777af1aa167b201626909d","tarball":"https://registry.npmjs.org/@sentinel-password/react-components/-/react-components-0.4.0.tgz","fileCount":9,"integrity":"sha512-+xEEHyQDpVppgKBmwAqa4zCX0dQyXvU/bSaBKwMzu7V3e3MA4UxeEpk92U8jWlf3B7RNAM/9t0Bv6JHNFE8AGQ==","signatures":[{"sig":"MEQCICD4I3NtId4eMrROV2wWP/OqCKAbbAaatc6VjO1LmlACAiBaywCm2GT7hJGOcBde6LUVQC5GMMorLQMoxDkn0h0dmg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":52219},"main":"./dist/index.cjs","type":"module","_from":"file:sentinel-password-react-components-0.4.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"scripts":{"lint":"eslint src","test":"vitest run","build":"tsup","clean":"rm -rf dist coverage","lint:fix":"eslint src --fix","storybook":"storybook dev -p 6007","typecheck":"tsc --noEmit","test:watch":"vitest","build-storybook":"storybook build"},"_npmUser":{"name":"akankov","email":"akankov@gmail.com"},"_resolved":"/tmp/7e0407d0950277346b80daa9e8e18c35/sentinel-password-react-components-0.4.0.tgz","_integrity":"sha512-+xEEHyQDpVppgKBmwAqa4zCX0dQyXvU/bSaBKwMzu7V3e3MA4UxeEpk92U8jWlf3B7RNAM/9t0Bv6JHNFE8AGQ==","repository":{"url":"git+https://github.com/akankov/sentinel-password.git","type":"git","directory":"packages/react-components"},"_npmVersion":"11.9.0","description":"Accessible, headless React components for @sentinel-password - password validation UI made simple","directories":{},"sideEffects":false,"_nodeVersion":"24.14.0","dependencies":{"@sentinel-password/core":"0.4.0","@sentinel-password/react":"0.5.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^6.4.1","jsdom":"^29.0.0","react":"^19.2.4","vitest":"^4.1.0","react-dom":"^19.2.4","storybook":"^8.6.18","typescript":"^5.9.3","@types/react":"^19.2.14","@storybook/test":"^8.6.18","@storybook/react":"^8.6.18","@types/react-dom":"^19.2.3","@storybook/blocks":"^8.6.18","@vitest/coverage-v8":"^4.1.0","@storybook/addon-a11y":"^8.6.18","@storybook/react-vite":"^8.6.18","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1","@storybook/addon-essentials":"^8.6.18","@testing-library/user-event":"^14.6.1","@storybook/addon-interactions":"^8.6.18"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-components_0.4.0_1773734991539_0.5903588730417368","host":"s3://npm-registry-packages-npm-production"}},"0.4.1":{"name":"@sentinel-password/react-components","version":"0.4.1","keywords":["password","validation","react","components","headless","accessible","wcag","aria","typescript","password-validator","password-input","password-strength","react-components"],"author":{"name":"Aleksei Kankov","email":"akankov@gmail.com"},"license":"MIT","_id":"@sentinel-password/react-components@0.4.1","maintainers":[{"name":"akankov","email":"akankov@gmail.com"}],"homepage":"https://github.com/akankov/sentinel-password#readme","bugs":{"url":"https://github.com/akankov/sentinel-password/issues"},"dist":{"shasum":"4c44ebb26b6913915e2e36320d20a53582e1eb1b","tarball":"https://registry.npmjs.org/@sentinel-password/react-components/-/react-components-0.4.1.tgz","fileCount":9,"integrity":"sha512-fMon5/wg/On8lnYJzygbKDa3xE7rwlo2uYKoTES3uS8MSt48+GChCtjKEe24HTvWc8/FxmEmlJLCQnzPsJQodw==","signatures":[{"sig":"MEQCIBBDlNvIX1sM7FsRRyAaIvWxyy9KRaLr3Gzd6xgpZr13AiAVP+Aa6dxZnF3Tvpg769HTUYXm1JXH8Vawt6cLGUaw9g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":52219},"main":"./dist/index.cjs","type":"module","_from":"file:sentinel-password-react-components-0.4.1.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"scripts":{"lint":"eslint src","test":"vitest run","build":"tsup","clean":"rm -rf dist coverage","lint:fix":"eslint src --fix","storybook":"storybook dev -p 6007","typecheck":"tsc --noEmit","test:watch":"vitest","build-storybook":"storybook build"},"_npmUser":{"name":"akankov","email":"akankov@gmail.com"},"_resolved":"/tmp/6145a5576a6afbab4216a59006240cb0/sentinel-password-react-components-0.4.1.tgz","_integrity":"sha512-fMon5/wg/On8lnYJzygbKDa3xE7rwlo2uYKoTES3uS8MSt48+GChCtjKEe24HTvWc8/FxmEmlJLCQnzPsJQodw==","repository":{"url":"git+https://github.com/akankov/sentinel-password.git","type":"git","directory":"packages/react-components"},"_npmVersion":"11.9.0","description":"Accessible, headless React components for @sentinel-password - password validation UI made simple","directories":{},"sideEffects":false,"_nodeVersion":"24.14.0","dependencies":{"@sentinel-password/core":"0.4.1","@sentinel-password/react":"0.5.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^6.4.1","jsdom":"^29.0.1","react":"^19.2.4","vitest":"^4.1.1","react-dom":"^19.2.4","storybook":"^8.6.18","typescript":"^5.9.3","@types/react":"^19.2.14","@storybook/test":"^8.6.18","@storybook/react":"^8.6.18","@types/react-dom":"^19.2.3","@storybook/blocks":"^8.6.18","@vitest/coverage-v8":"^4.1.1","@storybook/addon-a11y":"^8.6.18","@storybook/react-vite":"^8.6.18","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1","@storybook/addon-essentials":"^8.6.18","@testing-library/user-event":"^14.6.1","@storybook/addon-interactions":"^8.6.18"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-components_0.4.1_1774459532199_0.280312971531095","host":"s3://npm-registry-packages-npm-production"}},"0.4.2":{"name":"@sentinel-password/react-components","version":"0.4.2","keywords":["password","validation","react","components","headless","accessible","wcag","aria","typescript","password-validator","password-input","password-strength","react-components"],"author":{"name":"Aleksei Kankov","email":"akankov@gmail.com"},"license":"MIT","_id":"@sentinel-password/react-components@0.4.2","maintainers":[{"name":"akankov","email":"akankov@gmail.com"}],"homepage":"https://github.com/akankov/sentinel-password#readme","bugs":{"url":"https://github.com/akankov/sentinel-password/issues"},"dist":{"shasum":"db26e02c578a4f5afa05ffa20ff55e92bebb771f","tarball":"https://registry.npmjs.org/@sentinel-password/react-components/-/react-components-0.4.2.tgz","fileCount":9,"integrity":"sha512-eBSM4DEO75mJi2antyiq2zs9cjknbZI/t8LYHNh9TVOTAjv6hga0+2e/H/vhWeFmX9HUix+K8HCqJAfC+rtmaA==","signatures":[{"sig":"MEQCIA1Hxal8yQwSjpcAkEbIhoPM02hjwxgULAtxaERzsE2fAiBi+bEa9Wibz+/D4sG4liGDp/6Kyai4oqmYaFet1IjKZQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":52055},"main":"./dist/index.cjs","type":"module","_from":"file:sentinel-password-react-components-0.4.2.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"scripts":{"lint":"eslint src","test":"vitest run","build":"tsup","clean":"rm -rf dist coverage","lint:fix":"eslint src --fix","storybook":"storybook dev -p 6007","typecheck":"tsc --noEmit","test:watch":"vitest","build-storybook":"storybook build"},"_npmUser":{"name":"akankov","email":"akankov@gmail.com"},"_resolved":"/tmp/c0c1546a020c0310e027f264e1a276e9/sentinel-password-react-components-0.4.2.tgz","_integrity":"sha512-eBSM4DEO75mJi2antyiq2zs9cjknbZI/t8LYHNh9TVOTAjv6hga0+2e/H/vhWeFmX9HUix+K8HCqJAfC+rtmaA==","repository":{"url":"git+https://github.com/akankov/sentinel-password.git","type":"git","directory":"packages/react-components"},"_npmVersion":"11.9.0","description":"Accessible, headless React components for @sentinel-password - password validation UI made simple","directories":{},"sideEffects":false,"_nodeVersion":"24.14.0","dependencies":{"@sentinel-password/core":"0.4.1","@sentinel-password/react":"0.5.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^6.4.1","jsdom":"^29.0.1","react":"^19.2.4","vitest":"^4.1.1","react-dom":"^19.2.4","storybook":"^10.3.3","typescript":"^5.9.3","@types/react":"^19.2.14","@storybook/react":"^10.3.3","@types/react-dom":"^19.2.3","@vitest/coverage-v8":"^4.1.1","@storybook/addon-a11y":"^10.3.3","@storybook/react-vite":"^10.3.3","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1","@testing-library/user-event":"^14.6.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-components_0.4.2_1774511046885_0.5727446433792345","host":"s3://npm-registry-packages-npm-production"}},"0.4.3":{"name":"@sentinel-password/react-components","version":"0.4.3","keywords":["password","validation","react","components","headless","accessible","wcag","aria","typescript","password-validator","password-input","password-strength","react-components"],"author":{"name":"Aleksei Kankov","email":"akankov@gmail.com"},"license":"MIT","_id":"@sentinel-password/react-components@0.4.3","maintainers":[{"name":"akankov","email":"akankov@gmail.com"}],"homepage":"https://github.com/akankov/sentinel-password#readme","bugs":{"url":"https://github.com/akankov/sentinel-password/issues"},"dist":{"shasum":"c050ecbab0085abdaf69aab9582d998fc1ba33fe","tarball":"https://registry.npmjs.org/@sentinel-password/react-components/-/react-components-0.4.3.tgz","fileCount":9,"integrity":"sha512-70Hr5XTEbChWmC8LOYtGz5+kNR0kyna91PeDOrsw5CAeJ8bpuF2qv6N3dBNzpD5HwCNejtpcrr5l0H0gRbC31A==","signatures":[{"sig":"MEQCIBOcCO53A+n2BbQkDyIaLHjTQqt+CtMn9bxvE6ze8dLCAiBHYbiSe8POzagKpT+oonWs+kPd6QFcXpQ4pnX3P2EVlw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":52055},"main":"./dist/index.cjs","type":"module","_from":"file:sentinel-password-react-components-0.4.3.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"scripts":{"lint":"eslint src","test":"vitest run","build":"tsup","clean":"rm -rf dist coverage","lint:fix":"eslint src --fix","storybook":"storybook dev -p 6007","typecheck":"tsc --noEmit","test:watch":"vitest","build-storybook":"storybook build"},"_npmUser":{"name":"akankov","email":"akankov@gmail.com"},"_resolved":"/tmp/a0fb098b48499e8cb2bc312e90f6f576/sentinel-password-react-components-0.4.3.tgz","_integrity":"sha512-70Hr5XTEbChWmC8LOYtGz5+kNR0kyna91PeDOrsw5CAeJ8bpuF2qv6N3dBNzpD5HwCNejtpcrr5l0H0gRbC31A==","repository":{"url":"git+https://github.com/akankov/sentinel-password.git","type":"git","directory":"packages/react-components"},"_npmVersion":"11.9.0","description":"Accessible, headless React components for @sentinel-password - password validation UI made simple","directories":{},"sideEffects":false,"_nodeVersion":"24.14.0","dependencies":{"@sentinel-password/core":"0.4.1","@sentinel-password/react":"0.5.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^8.0.3","jsdom":"^29.0.1","react":"^19.2.4","vitest":"^4.1.1","react-dom":"^19.2.4","storybook":"^10.3.3","typescript":"^5.9.3","@types/react":"^19.2.14","@storybook/react":"^10.3.3","@types/react-dom":"^19.2.3","@vitest/coverage-v8":"^4.1.1","@storybook/addon-a11y":"^10.3.3","@storybook/react-vite":"^10.3.3","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1","@testing-library/user-event":"^14.6.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-components_0.4.3_1774511993572_0.46839802743050085","host":"s3://npm-registry-packages-npm-production"}},"0.4.4":{"name":"@sentinel-password/react-components","version":"0.4.4","keywords":["password","validation","react","components","headless","accessible","wcag","aria","typescript","password-validator","password-input","password-strength","react-components"],"author":{"name":"Aleksei Kankov","email":"akankov@gmail.com"},"license":"MIT","_id":"@sentinel-password/react-components@0.4.4","maintainers":[{"name":"akankov","email":"akankov@gmail.com"}],"homepage":"https://github.com/akankov/sentinel-password#readme","bugs":{"url":"https://github.com/akankov/sentinel-password/issues"},"dist":{"shasum":"664eb1b5060c09f31d5454f6c8396e50cb4b527f","tarball":"https://registry.npmjs.org/@sentinel-password/react-components/-/react-components-0.4.4.tgz","fileCount":9,"integrity":"sha512-yv5f5aNQAvJ4YDPRwXxwL77dv8p1aYmJ9OJbYRQvEGcs+an9GWEtoNXpJz+Vi/WDvKL9KkS8YgVulCvuz5NIIw==","signatures":[{"sig":"MEUCIQCl0laolyjgTL5N6B5rDyCGfNd0CS0dMXIWPZfNXLtGXAIgL3BePVVlJYUTkwsCVZ5JO0u6Gyb9EsfTdNjCDT+9mvE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":52055},"main":"./dist/index.cjs","type":"module","_from":"file:sentinel-password-react-components-0.4.4.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"scripts":{"lint":"eslint src","test":"vitest run","build":"tsup","clean":"rm -rf dist coverage","lint:fix":"eslint src --fix","storybook":"storybook dev -p 6007","typecheck":"tsc --noEmit","test:watch":"vitest","build-storybook":"storybook build"},"_npmUser":{"name":"akankov","email":"akankov@gmail.com"},"_resolved":"/tmp/6411a8cc4bf202dbebba8c4ea6dff46b/sentinel-password-react-components-0.4.4.tgz","_integrity":"sha512-yv5f5aNQAvJ4YDPRwXxwL77dv8p1aYmJ9OJbYRQvEGcs+an9GWEtoNXpJz+Vi/WDvKL9KkS8YgVulCvuz5NIIw==","repository":{"url":"git+https://github.com/akankov/sentinel-password.git","type":"git","directory":"packages/react-components"},"_npmVersion":"11.9.0","description":"Accessible, headless React components for @sentinel-password - password validation UI made simple","directories":{},"sideEffects":false,"_nodeVersion":"24.14.0","dependencies":{"@sentinel-password/core":"0.4.2","@sentinel-password/react":"0.5.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^8.0.3","jsdom":"^29.0.1","react":"^19.2.4","vitest":"^4.1.2","react-dom":"^19.2.4","storybook":"^10.3.3","typescript":"^5.9.3","@types/react":"^19.2.14","@storybook/react":"^10.3.3","@types/react-dom":"^19.2.3","@vitest/coverage-v8":"^4.1.2","@storybook/addon-a11y":"^10.3.3","@storybook/react-vite":"^10.3.3","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1","@testing-library/user-event":"^14.6.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-components_0.4.4_1774887336287_0.39419583457645135","host":"s3://npm-registry-packages-npm-production"}},"0.4.5":{"name":"@sentinel-password/react-components","version":"0.4.5","keywords":["password","validation","react","components","headless","accessible","wcag","aria","typescript","password-validator","password-input","password-strength","react-components"],"author":{"name":"Aleksei Kankov","email":"akankov@gmail.com"},"license":"MIT","_id":"@sentinel-password/react-components@0.4.5","maintainers":[{"name":"akankov","email":"akankov@gmail.com"}],"homepage":"https://akankov.github.io/sentinel-password/","bugs":{"url":"https://github.com/akankov/sentinel-password/issues"},"dist":{"shasum":"66b43e612e8390f2dc47dc0cccfbe31e823101f4","tarball":"https://registry.npmjs.org/@sentinel-password/react-components/-/react-components-0.4.5.tgz","fileCount":9,"integrity":"sha512-2b8y5tTLHNH3vD8nEbStXIremDod3JZQ8uWOmhXWU97Rh+n0udm72ODKneMBmOlbPLVOTyYs/KqAyQl7wYZXOw==","signatures":[{"sig":"MEUCIQDLoPenESEju5xoenlSnsYVnZNZ0Ocry75qEScojFTYaQIgVqHlg+yxR8I+12jYR8j2VscDhbExz2LpuD7JPpzGJZg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":52048},"main":"./dist/index.cjs","type":"module","_from":"file:sentinel-password-react-components-0.4.5.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"scripts":{"lint":"eslint src","test":"vitest run","build":"tsup","clean":"rm -rf dist coverage","lint:fix":"eslint src --fix","storybook":"storybook dev -p 6007","typecheck":"tsc --noEmit","test:watch":"vitest","build-storybook":"storybook build"},"_npmUser":{"name":"akankov","email":"akankov@gmail.com"},"_resolved":"/tmp/c50ba4400af21b00f1afb6a61ec91b10/sentinel-password-react-components-0.4.5.tgz","_integrity":"sha512-2b8y5tTLHNH3vD8nEbStXIremDod3JZQ8uWOmhXWU97Rh+n0udm72ODKneMBmOlbPLVOTyYs/KqAyQl7wYZXOw==","repository":{"url":"git+https://github.com/akankov/sentinel-password.git","type":"git","directory":"packages/react-components"},"_npmVersion":"11.9.0","description":"Accessible, headless React components for @sentinel-password - password validation UI made simple","directories":{},"sideEffects":false,"_nodeVersion":"24.14.0","dependencies":{"@sentinel-password/core":"0.4.3","@sentinel-password/react":"0.5.5"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^8.0.3","jsdom":"^29.0.1","react":"^19.2.4","vitest":"^4.1.2","react-dom":"^19.2.4","storybook":"^10.3.3","typescript":"^5.9.3","@types/react":"^19.2.14","@storybook/react":"^10.3.3","@types/react-dom":"^19.2.3","@vitest/coverage-v8":"^4.1.2","@storybook/addon-a11y":"^10.3.3","@storybook/react-vite":"^10.3.3","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1","@testing-library/user-event":"^14.6.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-components_0.4.5_1774893106751_0.5278546818908798","host":"s3://npm-registry-packages-npm-production"}},"0.4.6":{"name":"@sentinel-password/react-components","version":"0.4.6","keywords":["password","validation","react","components","headless","accessible","wcag","aria","typescript","password-validator","password-input","password-strength","react-components"],"author":{"name":"Aleksei Kankov","email":"akankov@gmail.com"},"license":"MIT","_id":"@sentinel-password/react-components@0.4.6","maintainers":[{"name":"akankov","email":"akankov@gmail.com"}],"homepage":"https://akankov.github.io/sentinel-password/","bugs":{"url":"https://github.com/akankov/sentinel-password/issues"},"dist":{"shasum":"66b0a25b224133e19f341bdca8275adc8908d2cf","tarball":"https://registry.npmjs.org/@sentinel-password/react-components/-/react-components-0.4.6.tgz","fileCount":9,"integrity":"sha512-i5iNE5rVytcNJm32I8CQ065ENSjWlR8NNE6O23kWO413tkiIvZDcczhZss40oWeeCgB+XxLAzxZ6Ie33gKnDag==","signatures":[{"sig":"MEUCICOlsrX+XntePHMBEAsbTBpc/j99bRhNNlIAmU8B2yIqAiEA1okSbpL10tPm5s/F580/DGc2CM8aTFvKeKaLRW/xXFY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":52048},"main":"./dist/index.cjs","type":"module","_from":"file:sentinel-password-react-components-0.4.6.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"scripts":{"lint":"eslint src","test":"vitest run","build":"tsup","clean":"rm -rf dist coverage","lint:fix":"eslint src --fix","storybook":"storybook dev -p 6007","typecheck":"tsc --noEmit","test:watch":"vitest","build-storybook":"storybook build"},"_npmUser":{"name":"akankov","email":"akankov@gmail.com"},"_resolved":"/tmp/227124529f433c23812a9b6b8387fc41/sentinel-password-react-components-0.4.6.tgz","_integrity":"sha512-i5iNE5rVytcNJm32I8CQ065ENSjWlR8NNE6O23kWO413tkiIvZDcczhZss40oWeeCgB+XxLAzxZ6Ie33gKnDag==","repository":{"url":"git+https://github.com/akankov/sentinel-password.git","type":"git","directory":"packages/react-components"},"_npmVersion":"11.9.0","description":"Accessible, headless React components for @sentinel-password - password validation UI made simple","directories":{},"sideEffects":false,"_nodeVersion":"24.14.0","dependencies":{"@sentinel-password/core":"0.4.4","@sentinel-password/react":"0.5.6"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^8.0.3","jsdom":"^29.0.1","react":"^19.2.4","vitest":"^4.1.2","react-dom":"^19.2.4","storybook":"^10.3.3","typescript":"^6.0.2","@types/react":"^19.2.14","@storybook/react":"^10.3.3","@types/react-dom":"^19.2.3","@vitest/coverage-v8":"^4.1.2","@storybook/addon-a11y":"^10.3.3","@storybook/react-vite":"^10.3.3","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1","@testing-library/user-event":"^14.6.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-components_0.4.6_1774940433589_0.0936168965197346","host":"s3://npm-registry-packages-npm-production"}},"0.4.7":{"name":"@sentinel-password/react-components","version":"0.4.7","keywords":["password","validation","react","components","headless","accessible","wcag","aria","typescript","password-validator","password-input","password-strength","react-components"],"author":{"name":"Aleksei Kankov","email":"akankov@gmail.com"},"license":"MIT","_id":"@sentinel-password/react-components@0.4.7","maintainers":[{"name":"akankov","email":"akankov@gmail.com"}],"homepage":"https://akankov.github.io/sentinel-password/","bugs":{"url":"https://github.com/akankov/sentinel-password/issues"},"dist":{"shasum":"f70344f507cf7577a171877e1e8a3ee45fbc9f2f","tarball":"https://registry.npmjs.org/@sentinel-password/react-components/-/react-components-0.4.7.tgz","fileCount":9,"integrity":"sha512-5b4OH9ORKAMep032IUkRSpVTyN6h73tvHyPqMKBeDNccVLaX4pSJY2Ag5kzxAUTcp54MXrP36XDuyDm2Qzw2qg==","signatures":[{"sig":"MEUCIG727BVzE0ik2VEjvKOCzwmwlmzVFuUBajzyHRUhIpj0AiEAodXQpvHGBIxv8ebfcVo/t+qNcylbZ3YsbZX3/XcpUCw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":53808},"main":"./dist/index.cjs","type":"module","_from":"file:sentinel-password-react-components-0.4.7.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"scripts":{"lint":"eslint src","test":"vitest run","build":"tsup","clean":"rm -rf dist coverage","lint:fix":"eslint src --fix","storybook":"storybook dev -p 6007","typecheck":"tsc --noEmit","test:watch":"vitest","build-storybook":"storybook build"},"_npmUser":{"name":"akankov","email":"akankov@gmail.com"},"_resolved":"/tmp/a4bc272e386ac027ed397b3293c36b05/sentinel-password-react-components-0.4.7.tgz","_integrity":"sha512-5b4OH9ORKAMep032IUkRSpVTyN6h73tvHyPqMKBeDNccVLaX4pSJY2Ag5kzxAUTcp54MXrP36XDuyDm2Qzw2qg==","repository":{"url":"git+https://github.com/akankov/sentinel-password.git","type":"git","directory":"packages/react-components"},"_npmVersion":"11.9.0","description":"Accessible, headless React components for @sentinel-password - password validation UI made simple","directories":{},"sideEffects":false,"_nodeVersion":"24.14.0","dependencies":{"@sentinel-password/core":"0.4.5","@sentinel-password/react":"0.5.7"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^8.0.3","jsdom":"^29.0.1","react":"^19.2.4","vitest":"^4.1.2","react-dom":"^19.2.4","storybook":"^10.3.3","typescript":"^6.0.2","@types/react":"^19.2.14","@storybook/react":"^10.3.3","@types/react-dom":"^19.2.3","@vitest/coverage-v8":"^4.1.2","@storybook/addon-a11y":"^10.3.3","@storybook/react-vite":"^10.3.3","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1","@testing-library/user-event":"^14.6.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-components_0.4.7_1774971249788_0.30189974684722376","host":"s3://npm-registry-packages-npm-production"}},"0.4.8":{"name":"@sentinel-password/react-components","version":"0.4.8","keywords":["password","validation","react","components","headless","accessible","wcag","aria","typescript","password-validator","password-input","password-strength","react-components"],"author":{"name":"Aleksei Kankov","email":"akankov@gmail.com"},"license":"MIT","_id":"@sentinel-password/react-components@0.4.8","maintainers":[{"name":"akankov","email":"akankov@gmail.com"}],"homepage":"https://akankov.github.io/sentinel-password/","bugs":{"url":"https://github.com/akankov/sentinel-password/issues"},"dist":{"shasum":"b6df2ceb928fc8cfca1e7cbd4c4c0af7a7c2e80d","tarball":"https://registry.npmjs.org/@sentinel-password/react-components/-/react-components-0.4.8.tgz","fileCount":9,"integrity":"sha512-o6IQEh/X9W2FfVqYCOmT9MQQCVG7ZH6kYpyb88lhPjdYt1KoAwlew1OKcxwF8JV7NGAqxBxvB1CHhUAKUILGlg==","signatures":[{"sig":"MEYCIQCXJJCnJWM2A01c5NIwq8+Wd4XvANuSLKg2QpQgdmJqyAIhAOijuTdD1TbNuFsP8v6WIBPaw1hvPkwATr1XJX9H5Cfv","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":53808},"main":"./dist/index.cjs","type":"module","_from":"file:sentinel-password-react-components-0.4.8.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"scripts":{"lint":"eslint src","test":"vitest run","build":"tsup","clean":"rm -rf dist coverage","lint:fix":"eslint src --fix","storybook":"storybook dev -p 6007","typecheck":"tsc --noEmit","test:watch":"vitest","build-storybook":"storybook build"},"_npmUser":{"name":"akankov","email":"akankov@gmail.com"},"_resolved":"/tmp/cbf322df3e1ecfdde72d7602fcf9c4ae/sentinel-password-react-components-0.4.8.tgz","_integrity":"sha512-o6IQEh/X9W2FfVqYCOmT9MQQCVG7ZH6kYpyb88lhPjdYt1KoAwlew1OKcxwF8JV7NGAqxBxvB1CHhUAKUILGlg==","repository":{"url":"git+https://github.com/akankov/sentinel-password.git","type":"git","directory":"packages/react-components"},"_npmVersion":"11.9.0","description":"Accessible, headless React components for @sentinel-password - password validation UI made simple","directories":{},"sideEffects":false,"_nodeVersion":"24.14.0","dependencies":{"@sentinel-password/core":"0.4.6","@sentinel-password/react":"0.5.8"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^8.0.3","jsdom":"^29.0.1","react":"^19.2.4","vitest":"^4.1.2","react-dom":"^19.2.4","storybook":"^10.3.3","typescript":"^6.0.2","@types/react":"^19.2.14","@storybook/react":"^10.3.3","@types/react-dom":"^19.2.3","@vitest/coverage-v8":"^4.1.2","@storybook/addon-a11y":"^10.3.3","@storybook/react-vite":"^10.3.3","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1","@testing-library/user-event":"^14.6.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-components_0.4.8_1774975008753_0.3079377511304444","host":"s3://npm-registry-packages-npm-production"}},"1.0.0":{"name":"@sentinel-password/react-components","version":"1.0.0","keywords":["password","validation","react","components","headless","accessible","wcag","aria","typescript","password-validator","password-input","password-strength","react-components"],"author":{"name":"Aleksei Kankov","email":"akankov@gmail.com"},"license":"MIT","_id":"@sentinel-password/react-components@1.0.0","maintainers":[{"name":"akankov","email":"akankov@gmail.com"}],"homepage":"https://akankov.github.io/sentinel-password/","bugs":{"url":"https://github.com/akankov/sentinel-password/issues"},"dist":{"shasum":"6bd7147c9d13b08af6855ae3e6edde91495ce4e1","tarball":"https://registry.npmjs.org/@sentinel-password/react-components/-/react-components-1.0.0.tgz","fileCount":9,"integrity":"sha512-au8LvmwdM2CUQxqkLgHUz+PG6NVer360U+GkjGtOrbVL1tOslwkFOoKQNYKDjbTqXzVA13QicWltdN/sfg+TXA==","signatures":[{"sig":"MEQCIDnNjeTj2+PVe95sEiL4S95uzcVThyc1+Lpm6FkYVZCNAiBWgroI60dDxS6l9nMnmnV7y1iEu6XoIelzagHrJHxx8Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":53808},"main":"./dist/index.cjs","type":"module","_from":"file:sentinel-password-react-components-1.0.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"scripts":{"lint":"eslint src","test":"vitest run","build":"tsup","clean":"rm -rf dist coverage","lint:fix":"eslint src --fix","storybook":"storybook dev -p 6007","typecheck":"tsc --noEmit","test:watch":"vitest","build-storybook":"storybook build"},"_npmUser":{"name":"akankov","email":"akankov@gmail.com"},"_resolved":"/tmp/0045511d552ab294e7b28072af7b77da/sentinel-password-react-components-1.0.0.tgz","_integrity":"sha512-au8LvmwdM2CUQxqkLgHUz+PG6NVer360U+GkjGtOrbVL1tOslwkFOoKQNYKDjbTqXzVA13QicWltdN/sfg+TXA==","repository":{"url":"git+https://github.com/akankov/sentinel-password.git","type":"git","directory":"packages/react-components"},"_npmVersion":"11.9.0","description":"Accessible, headless React components for @sentinel-password - password validation UI made simple","directories":{},"sideEffects":false,"_nodeVersion":"24.14.0","dependencies":{"@sentinel-password/core":"1.0.0","@sentinel-password/react":"1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^8.0.3","jsdom":"^29.0.1","react":"^19.2.4","vitest":"^4.1.2","react-dom":"^19.2.4","storybook":"^10.3.3","typescript":"^6.0.2","@types/react":"^19.2.14","@storybook/react":"^10.3.3","@types/react-dom":"^19.2.3","@vitest/coverage-v8":"^4.1.2","@storybook/addon-a11y":"^10.3.3","@storybook/react-vite":"^10.3.3","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1","@testing-library/user-event":"^14.6.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-components_1.0.0_1775030821067_0.5580884698856474","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@sentinel-password/react-components","version":"1.1.0","keywords":["password","validation","react","components","headless","accessible","wcag","aria","typescript","password-validator","password-input","password-strength","react-components"],"author":{"name":"Aleksei Kankov","email":"akankov@gmail.com"},"license":"MIT","_id":"@sentinel-password/react-components@1.1.0","maintainers":[{"name":"akankov","email":"akankov@gmail.com"}],"homepage":"https://akankov.github.io/sentinel-password/","bugs":{"url":"https://github.com/akankov/sentinel-password/issues"},"dist":{"shasum":"e8d37d76134e0de762d727a6855d8ddb3afa8b2e","tarball":"https://registry.npmjs.org/@sentinel-password/react-components/-/react-components-1.1.0.tgz","fileCount":9,"integrity":"sha512-VVB9GeIFFP7twXWCymdXinO23a9uj7TTeJH7Z4LOgLk+fYYdZE9TNMAtlMW4JjHbxkVsLJaJUZG4gBqUBkugPA==","signatures":[{"sig":"MEUCIQC+axafU+oJp6tHwUf2ZfKtdu2l52B8QIQ1ubmiDkJb7AIgbh3dyM2Al4fdzblNvLUOR9q83hA7ptiA93cQwFnRukc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@sentinel-password%2freact-components@1.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":53808},"main":"./dist/index.cjs","type":"module","_from":"file:sentinel-password-react-components-1.1.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"scripts":{"lint":"eslint src","test":"vitest run","build":"tsup","clean":"rm -rf dist coverage","lint:fix":"eslint src --fix","storybook":"storybook dev -p 6007","typecheck":"tsc --noEmit","test:watch":"vitest","build-storybook":"storybook build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:87739da0-38ab-4f29-ba9f-0c1cdce4b8db"}},"_resolved":"/tmp/865772ebeb6106cd60ba18a8d6f511ea/sentinel-password-react-components-1.1.0.tgz","_integrity":"sha512-VVB9GeIFFP7twXWCymdXinO23a9uj7TTeJH7Z4LOgLk+fYYdZE9TNMAtlMW4JjHbxkVsLJaJUZG4gBqUBkugPA==","repository":{"url":"git+https://github.com/akankov/sentinel-password.git","type":"git","directory":"packages/react-components"},"_npmVersion":"11.11.0","description":"Accessible, headless React components for @sentinel-password - password validation UI made simple","directories":{},"sideEffects":false,"_nodeVersion":"24.14.1","dependencies":{"@sentinel-password/core":"1.1.0","@sentinel-password/react":"1.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^8.0.7","jsdom":"^29.0.1","react":"^19.2.4","vitest":"^4.1.2","react-dom":"^19.2.4","storybook":"^10.3.4","typescript":"^6.0.2","@types/react":"^19.2.14","@storybook/react":"^10.3.4","@types/react-dom":"^19.2.3","@vitest/coverage-v8":"^4.1.2","@storybook/addon-a11y":"^10.3.4","@storybook/react-vite":"^10.3.4","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1","@testing-library/user-event":"^14.6.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-components_1.1.0_1776860408497_0.8414587250009413","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"@sentinel-password/react-components","version":"1.1.1","keywords":["password","validation","react","components","headless","accessible","wcag","aria","typescript","password-validator","password-input","password-strength","react-components"],"author":{"name":"Aleksei Kankov","email":"akankov@gmail.com"},"license":"MIT","_id":"@sentinel-password/react-components@1.1.1","maintainers":[{"name":"akankov","email":"akankov@gmail.com"}],"homepage":"https://akankov.github.io/sentinel-password/","bugs":{"url":"https://github.com/akankov/sentinel-password/issues"},"dist":{"shasum":"363425fecf61d7fdfaf955ddaeb35fa5ec203866","tarball":"https://registry.npmjs.org/@sentinel-password/react-components/-/react-components-1.1.1.tgz","fileCount":9,"integrity":"sha512-g4VTtB7o3kk9zHTIaxBSQa08OO1kic94N5uzg9R/2ZKgel75EVs+8fFrCV77rw/VqhXeea1HC39U8YcAN8L4JA==","signatures":[{"sig":"MEYCIQCYac/M8LYYA7aT034tSKe0APfp7duld2vaankZ6R8euAIhAM4Foa5bAaK7kEmLEJ5TPnV3iOJR7b7NpxfQuO52uj6I","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@sentinel-password%2freact-components@1.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":53808},"main":"./dist/index.cjs","type":"module","_from":"file:sentinel-password-react-components-1.1.1.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"scripts":{"lint":"eslint src","test":"vitest run","build":"tsup","clean":"rm -rf dist coverage","lint:fix":"eslint src --fix","storybook":"storybook dev -p 6007","typecheck":"tsc --noEmit","test:watch":"vitest","build-storybook":"storybook build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:87739da0-38ab-4f29-ba9f-0c1cdce4b8db"}},"_resolved":"/tmp/10e91b9eee7aaf0469016f50b345719b/sentinel-password-react-components-1.1.1.tgz","_integrity":"sha512-g4VTtB7o3kk9zHTIaxBSQa08OO1kic94N5uzg9R/2ZKgel75EVs+8fFrCV77rw/VqhXeea1HC39U8YcAN8L4JA==","repository":{"url":"git+https://github.com/akankov/sentinel-password.git","type":"git","directory":"packages/react-components"},"_npmVersion":"11.11.0","description":"Accessible, headless React components for @sentinel-password - password validation UI made simple","directories":{},"sideEffects":false,"_nodeVersion":"24.14.1","dependencies":{"@sentinel-password/core":"1.1.1","@sentinel-password/react":"1.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^8.0.9","jsdom":"^29.0.2","react":"^19.2.5","vitest":"^4.1.5","react-dom":"^19.2.5","storybook":"^10.3.5","typescript":"^6.0.3","@types/react":"^19.2.14","@storybook/react":"^10.3.5","@types/react-dom":"^19.2.3","@vitest/coverage-v8":"^4.1.5","@storybook/addon-a11y":"^10.3.5","@storybook/react-vite":"^10.3.5","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1","@testing-library/user-event":"^14.6.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-components_1.1.1_1776865979276_0.04933787221493757","host":"s3://npm-registry-packages-npm-production"}},"1.1.2":{"name":"@sentinel-password/react-components","version":"1.1.2","keywords":["password","validation","react","components","headless","accessible","wcag","aria","typescript","password-validator","password-input","password-strength","react-components"],"author":{"name":"Aleksei Kankov","email":"akankov@gmail.com"},"license":"MIT","_id":"@sentinel-password/react-components@1.1.2","maintainers":[{"name":"akankov","email":"akankov@gmail.com"}],"homepage":"https://akankov.github.io/sentinel-password/","bugs":{"url":"https://github.com/akankov/sentinel-password/issues"},"dist":{"shasum":"a3d4d5163ed6aed3e2de2112697e8b1f7dbfe0dd","tarball":"https://registry.npmjs.org/@sentinel-password/react-components/-/react-components-1.1.2.tgz","fileCount":9,"integrity":"sha512-S7uD+ickaS8+Ju1jU9hHK0t76y0ySpxVqvveqiOjBfGF6t/2g7aTchdL+SasRW+iwj0C0tvr7PYDi1Injx8nIg==","signatures":[{"sig":"MEUCIQCgGiYeL2M2D47/2V02Q7jmXVYS1Ty7SK9Qksq5epZs2QIgbLVSSI/6CiwZ+cmjGGFqDHcA4OL/D8TrbXZ8FPo3/ss=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@sentinel-password%2freact-components@1.1.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":53809},"main":"./dist/index.cjs","type":"module","_from":"file:sentinel-password-react-components-1.1.2.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"scripts":{"lint":"eslint src","test":"vitest run","build":"tsup","clean":"rm -rf dist coverage","lint:fix":"eslint src --fix","storybook":"storybook dev -p 6007","typecheck":"tsc --noEmit","test:watch":"vitest","build-storybook":"storybook build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:87739da0-38ab-4f29-ba9f-0c1cdce4b8db"}},"_resolved":"/tmp/bc4a7bb932b687fcd67ba6e8d2979783/sentinel-password-react-components-1.1.2.tgz","_integrity":"sha512-S7uD+ickaS8+Ju1jU9hHK0t76y0ySpxVqvveqiOjBfGF6t/2g7aTchdL+SasRW+iwj0C0tvr7PYDi1Injx8nIg==","repository":{"url":"git+https://github.com/akankov/sentinel-password.git","type":"git","directory":"packages/react-components"},"_npmVersion":"11.11.0","description":"Accessible, headless React components for @sentinel-password - password validation UI made simple","directories":{},"sideEffects":false,"_nodeVersion":"24.14.1","dependencies":{"@sentinel-password/core":"1.1.2","@sentinel-password/react":"1.1.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^8.0.10","jsdom":"^29.1.1","react":"^19.2.5","vitest":"^4.1.5","react-dom":"^19.2.5","storybook":"^10.3.6","typescript":"^6.0.3","@types/react":"^19.2.14","@storybook/react":"^10.3.6","@types/react-dom":"^19.2.3","@vitest/coverage-v8":"^4.1.5","@storybook/addon-a11y":"^10.3.6","@storybook/react-vite":"^10.3.6","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1","@testing-library/user-event":"^14.6.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-components_1.1.2_1777892574302_0.39771331027986845","host":"s3://npm-registry-packages-npm-production"}},"1.1.3":{"name":"@sentinel-password/react-components","version":"1.1.3","keywords":["password","validation","react","components","headless","accessible","wcag","aria","typescript","password-validator","password-input","password-strength","react-components"],"author":{"name":"Aleksei Kankov","email":"akankov@gmail.com"},"license":"MIT","_id":"@sentinel-password/react-components@1.1.3","maintainers":[{"name":"akankov","email":"akankov@gmail.com"}],"homepage":"https://akankov.github.io/sentinel-password/","bugs":{"url":"https://github.com/akankov/sentinel-password/issues"},"dist":{"shasum":"2541d4bcaf66cab226457a06e35b6744f6bd63b8","tarball":"https://registry.npmjs.org/@sentinel-password/react-components/-/react-components-1.1.3.tgz","fileCount":9,"integrity":"sha512-BjdRPXE4sgaEq74+8aAjaWhjVQAcXRIJ2eNtw0oY+qITeVdPNN6DGpVgrJm2Q/8/cpW8yJEj60GMIC/cvGPHwQ==","signatures":[{"sig":"MEUCIQCR/Gb3Yth2zPVjSijGh1i7vFRJabx9aV+9cATub79iBgIgJpzXzKmmoYBBSzLEBXXFE79DWjijTT9G8Jnox5uqK50=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@sentinel-password%2freact-components@1.1.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":53809},"main":"./dist/index.cjs","type":"module","_from":"file:sentinel-password-react-components-1.1.3.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"scripts":{"lint":"eslint src","test":"vitest run","build":"tsup","clean":"rm -rf dist coverage","lint:fix":"eslint src --fix","storybook":"storybook dev -p 6007","typecheck":"tsc --noEmit","test:watch":"vitest","build-storybook":"storybook build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:87739da0-38ab-4f29-ba9f-0c1cdce4b8db"}},"_resolved":"/tmp/8878acb055b4b24223cd352763de8cf0/sentinel-password-react-components-1.1.3.tgz","_integrity":"sha512-BjdRPXE4sgaEq74+8aAjaWhjVQAcXRIJ2eNtw0oY+qITeVdPNN6DGpVgrJm2Q/8/cpW8yJEj60GMIC/cvGPHwQ==","repository":{"url":"git+https://github.com/akankov/sentinel-password.git","type":"git","directory":"packages/react-components"},"_npmVersion":"11.11.0","description":"Accessible, headless React components for @sentinel-password - password validation UI made simple","directories":{},"sideEffects":false,"_nodeVersion":"24.14.1","dependencies":{"@sentinel-password/core":"1.1.3","@sentinel-password/react":"1.1.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^8.0.10","jsdom":"^29.1.1","react":"^19.2.5","vitest":"^4.1.5","react-dom":"^19.2.5","storybook":"^10.3.6","typescript":"^6.0.3","@types/react":"^19.2.14","@storybook/react":"^10.3.6","@types/react-dom":"^19.2.3","@vitest/coverage-v8":"^4.1.5","@storybook/addon-a11y":"^10.3.6","@storybook/react-vite":"^10.3.6","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1","@testing-library/user-event":"^14.6.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-components_1.1.3_1777994731768_0.5829765190852265","host":"s3://npm-registry-packages-npm-production"}},"1.1.4":{"name":"@sentinel-password/react-components","version":"1.1.4","keywords":["password","validation","react","components","headless","accessible","wcag","aria","typescript","password-validator","password-input","password-strength","react-components"],"author":{"name":"Aleksei Kankov","email":"akankov@gmail.com"},"license":"MIT","_id":"@sentinel-password/react-components@1.1.4","maintainers":[{"name":"akankov","email":"akankov@gmail.com"}],"homepage":"https://akankov.github.io/sentinel-password/","bugs":{"url":"https://github.com/akankov/sentinel-password/issues"},"dist":{"shasum":"eee6db4a8ca1133af19c8082e0332485cf89e9eb","tarball":"https://registry.npmjs.org/@sentinel-password/react-components/-/react-components-1.1.4.tgz","fileCount":9,"integrity":"sha512-g9N7miaumg0thxluXcA+5ILizD3PUHpS+0ViVHyuSLdlGi03ncf3lFTqXYvS3uq13B+Cr9+7Ttpf3mJvPj0gBA==","signatures":[{"sig":"MEUCIQC2UI7zjXPaYy51lVwbYshN+Cae4c0SsmzKwXQQBYhyygIgHMVWRm773tXQqW+axuGUhzqSRkhNPlcXUFzDJ/fICwA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@sentinel-password%2freact-components@1.1.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":60710},"main":"./dist/index.cjs","type":"module","_from":"file:sentinel-password-react-components-1.1.4.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"scripts":{"lint":"eslint src","test":"vitest run","build":"tsup","clean":"rm -rf dist coverage","lint:fix":"eslint src --fix","storybook":"storybook dev -p 6007","typecheck":"tsc --noEmit","test:watch":"vitest","build-storybook":"storybook build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:87739da0-38ab-4f29-ba9f-0c1cdce4b8db"}},"_resolved":"/tmp/a58eb03051593e78395acded1285ae7f/sentinel-password-react-components-1.1.4.tgz","_integrity":"sha512-g9N7miaumg0thxluXcA+5ILizD3PUHpS+0ViVHyuSLdlGi03ncf3lFTqXYvS3uq13B+Cr9+7Ttpf3mJvPj0gBA==","repository":{"url":"git+https://github.com/akankov/sentinel-password.git","type":"git","directory":"packages/react-components"},"_npmVersion":"11.11.0","description":"Accessible, headless React components for @sentinel-password - password validation UI made simple","directories":{},"sideEffects":false,"_nodeVersion":"24.14.1","dependencies":{"@sentinel-password/core":"1.1.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^8.0.12","jsdom":"^29.1.1","react":"^19.2.6","vitest":"^4.1.5","react-dom":"^19.2.6","storybook":"^10.3.6","typescript":"^6.0.3","@types/react":"^19.2.14","@storybook/react":"^10.3.6","@types/react-dom":"^19.2.3","@vitest/coverage-v8":"^4.1.5","@storybook/addon-a11y":"^10.3.6","@storybook/react-vite":"^10.3.6","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1","@testing-library/user-event":"^14.6.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-components_1.1.4_1778512610633_0.04838020331395665","host":"s3://npm-registry-packages-npm-production"}},"1.1.5":{"name":"@sentinel-password/react-components","version":"1.1.5","keywords":["password","validation","react","components","headless","accessible","wcag","aria","typescript","password-validator","password-input","password-strength","react-components"],"author":{"name":"Aleksei Kankov","email":"akankov@gmail.com"},"license":"MIT","_id":"@sentinel-password/react-components@1.1.5","maintainers":[{"name":"akankov","email":"akankov@gmail.com"}],"homepage":"https://akankov.github.io/sentinel-password/","bugs":{"url":"https://github.com/akankov/sentinel-password/issues"},"dist":{"shasum":"c76979f9e9b2103c7ac146c851d365092b216a90","tarball":"https://registry.npmjs.org/@sentinel-password/react-components/-/react-components-1.1.5.tgz","fileCount":9,"integrity":"sha512-U2KMZBjahJFwMRVg+avZ5Ash1rmuivjVaBdbNKKaGWp/EyxoE46c+gQP2gcg3JCetOYS3K55MGb0Hge7suSKMA==","signatures":[{"sig":"MEYCIQC49+rTdrzahB4VtMunF8G6zg6R5IYiIGMP130ly9Nd6gIhANQ0zlXqzZTcMsaYwSLNFIyxDGl9SQofl+CGm2iWVeSn","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@sentinel-password%2freact-components@1.1.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":60710},"main":"./dist/index.cjs","type":"module","_from":"file:sentinel-password-react-components-1.1.5.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"scripts":{"lint":"eslint src","test":"vitest run","build":"tsup","clean":"rm -rf dist coverage","lint:fix":"eslint src --fix","storybook":"storybook dev -p 6007","typecheck":"tsc --noEmit","test:watch":"vitest","build-storybook":"storybook build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:87739da0-38ab-4f29-ba9f-0c1cdce4b8db"}},"_resolved":"/tmp/60e409696bce791a14408e7c4de7627a/sentinel-password-react-components-1.1.5.tgz","_integrity":"sha512-U2KMZBjahJFwMRVg+avZ5Ash1rmuivjVaBdbNKKaGWp/EyxoE46c+gQP2gcg3JCetOYS3K55MGb0Hge7suSKMA==","repository":{"url":"git+https://github.com/akankov/sentinel-password.git","type":"git","directory":"packages/react-components"},"_npmVersion":"11.11.0","description":"Accessible, headless React components for @sentinel-password - password validation UI made simple","directories":{},"sideEffects":false,"_nodeVersion":"24.14.1","dependencies":{"@sentinel-password/core":"1.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^8.0.12","jsdom":"^29.1.1","react":"^19.2.6","vitest":"^4.1.5","react-dom":"^19.2.6","storybook":"^10.3.6","typescript":"^6.0.3","@types/react":"^19.2.14","@storybook/react":"^10.3.6","@types/react-dom":"^19.2.3","@vitest/coverage-v8":"^4.1.5","@storybook/addon-a11y":"^10.3.6","@storybook/react-vite":"^10.3.6","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1","@testing-library/user-event":"^14.6.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-components_1.1.5_1778520804395_0.6133557994083056","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"@sentinel-password/react-components","version":"1.2.0","keywords":["password","validation","react","components","headless","accessible","wcag","aria","typescript","password-validator","password-input","password-strength","react-components"],"author":{"name":"Aleksei Kankov","email":"akankov@gmail.com"},"license":"MIT","_id":"@sentinel-password/react-components@1.2.0","maintainers":[{"name":"akankov","email":"akankov@gmail.com"}],"homepage":"https://akankov.github.io/sentinel-password/","bugs":{"url":"https://github.com/akankov/sentinel-password/issues"},"dist":{"shasum":"0df94385b42e806dc593282eba64186317f656db","tarball":"https://registry.npmjs.org/@sentinel-password/react-components/-/react-components-1.2.0.tgz","fileCount":9,"integrity":"sha512-0Lb94uqVupqsd6NRdUHbTETjYXEghnuv30vwIHM/knxwISWioeDsZbnqZINEoKLZG/TfLw6eCe0VWQgrqa4Y5A==","signatures":[{"sig":"MEYCIQDqqZ8/xYCRUIQI0o5RaX5fqf8d8Px6nipS1u9MYUqUrAIhAKnNyfBm3yd8Slucf6YSPm50sPBr6dCm3KX0ZnN1quhl","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@sentinel-password%2freact-components@1.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":76310},"main":"./dist/index.cjs","type":"module","_from":"file:sentinel-password-react-components-1.2.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"scripts":{"lint":"eslint src","test":"vitest run","build":"tsup","clean":"rm -rf dist coverage","lint:fix":"eslint src --fix","storybook":"storybook dev -p 6007","typecheck":"tsc --noEmit","test:watch":"vitest","build-storybook":"storybook build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:87739da0-38ab-4f29-ba9f-0c1cdce4b8db"}},"_resolved":"/tmp/c852aa6af1bde96301f43d8dd157d64a/sentinel-password-react-components-1.2.0.tgz","_integrity":"sha512-0Lb94uqVupqsd6NRdUHbTETjYXEghnuv30vwIHM/knxwISWioeDsZbnqZINEoKLZG/TfLw6eCe0VWQgrqa4Y5A==","repository":{"url":"git+https://github.com/akankov/sentinel-password.git","type":"git","directory":"packages/react-components"},"_npmVersion":"11.11.0","description":"Accessible, headless React components for @sentinel-password - password validation UI made simple","directories":{},"sideEffects":false,"_nodeVersion":"24.14.1","dependencies":{"@sentinel-password/core":"1.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^8.0.12","jsdom":"^29.1.1","react":"^19.2.6","vitest":"^4.1.5","react-dom":"^19.2.6","storybook":"^10.3.6","typescript":"^6.0.3","@types/react":"^19.2.14","@storybook/react":"^10.3.6","@types/react-dom":"^19.2.3","@vitest/coverage-v8":"^4.1.5","@storybook/addon-a11y":"^10.3.6","@storybook/react-vite":"^10.3.6","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1","@testing-library/user-event":"^14.6.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-components_1.2.0_1778603445937_0.23508149644394738","host":"s3://npm-registry-packages-npm-production"}},"1.2.1":{"name":"@sentinel-password/react-components","version":"1.2.1","keywords":["password","validation","react","components","headless","accessible","wcag","aria","typescript","password-validator","password-input","password-strength","react-components"],"author":{"name":"Aleksei Kankov","email":"akankov@gmail.com"},"license":"MIT","_id":"@sentinel-password/react-components@1.2.1","maintainers":[{"name":"akankov","email":"akankov@gmail.com"}],"homepage":"https://akankov.github.io/sentinel-password/","bugs":{"url":"https://github.com/akankov/sentinel-password/issues"},"dist":{"shasum":"9ee4141e975f716237268f9faeafc12038b5254b","tarball":"https://registry.npmjs.org/@sentinel-password/react-components/-/react-components-1.2.1.tgz","fileCount":9,"integrity":"sha512-xJdrki1tY4Uv9Oww8uzDNv8mnXyXs66kfjkzJIGO762SYDspFLPxKbqpmFwNmb/dvDdKhKKlO2IIjCnWXB5mNA==","signatures":[{"sig":"MEYCIQDaA9XND3Tg6jR2L5uzi5SLc3RQ9XaoAuGF42Cm601uQwIhAJMQ4MkM6u+d4UYucrbmYSOHFEUNph/9xZlzbkmrXycB","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@sentinel-password%2freact-components@1.2.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":76310},"main":"./dist/index.cjs","type":"module","_from":"file:sentinel-password-react-components-1.2.1.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"scripts":{"lint":"eslint src","test":"vitest run","build":"tsup","clean":"rm -rf dist coverage","lint:fix":"eslint src --fix","storybook":"storybook dev -p 6007","typecheck":"tsc --noEmit","test:watch":"vitest","build-storybook":"storybook build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:87739da0-38ab-4f29-ba9f-0c1cdce4b8db"}},"_resolved":"/tmp/3293e1fc734f098b2736abf38d17b957/sentinel-password-react-components-1.2.1.tgz","_integrity":"sha512-xJdrki1tY4Uv9Oww8uzDNv8mnXyXs66kfjkzJIGO762SYDspFLPxKbqpmFwNmb/dvDdKhKKlO2IIjCnWXB5mNA==","repository":{"url":"git+https://github.com/akankov/sentinel-password.git","type":"git","directory":"packages/react-components"},"_npmVersion":"11.11.0","description":"Accessible, headless React components for @sentinel-password - password validation UI made simple","directories":{},"sideEffects":false,"_nodeVersion":"24.14.1","dependencies":{"@sentinel-password/core":"1.2.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^8.0.12","jsdom":"^29.1.1","react":"^19.2.6","vitest":"^4.1.5","react-dom":"^19.2.6","storybook":"^10.3.6","typescript":"^6.0.3","@types/react":"^19.2.14","@storybook/react":"^10.3.6","@types/react-dom":"^19.2.3","@vitest/coverage-v8":"^4.1.5","@storybook/addon-a11y":"^10.3.6","@storybook/react-vite":"^10.3.6","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1","@testing-library/user-event":"^14.6.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-components_1.2.1_1778776666684_0.8978488035574361","host":"s3://npm-registry-packages-npm-production"}},"1.2.2":{"name":"@sentinel-password/react-components","version":"1.2.2","keywords":["password","validation","react","components","headless","accessible","wcag","aria","typescript","password-validator","password-input","password-strength","react-components"],"author":{"name":"Aleksei Kankov","email":"akankov@gmail.com"},"license":"MIT","_id":"@sentinel-password/react-components@1.2.2","maintainers":[{"name":"akankov","email":"akankov@gmail.com"}],"homepage":"https://akankov.github.io/sentinel-password/","bugs":{"url":"https://github.com/akankov/sentinel-password/issues"},"dist":{"shasum":"dd958df29e5fca96923c98f9f96edd075868874c","tarball":"https://registry.npmjs.org/@sentinel-password/react-components/-/react-components-1.2.2.tgz","fileCount":9,"integrity":"sha512-5PLTK8UvqNKuLJpb9w8aohCJDIO9ElDxBoqr8WDGQaiB5bHjZX2F1CTYyUMIX+jsp3oTr+YUw4ZDcd7zcyt6LA==","signatures":[{"sig":"MEYCIQDWvxwoe5wgUd1FthFTRPEmE84gnmseaAaERNLTXPiBawIhAImT2OmhDb1tkdNVC+nVHLk3sT63smV7RGB6XGXAjbS2","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@sentinel-password%2freact-components@1.2.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":76310},"main":"./dist/index.cjs","type":"module","_from":"file:sentinel-password-react-components-1.2.2.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"scripts":{"lint":"eslint src","test":"vitest run","build":"tsup","clean":"rm -rf dist coverage","lint:fix":"eslint src --fix","storybook":"storybook dev -p 6007","typecheck":"tsc --noEmit","test:watch":"vitest","build-storybook":"storybook build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:87739da0-38ab-4f29-ba9f-0c1cdce4b8db"}},"_resolved":"/tmp/db287d4e4d0776ce5e9f81cd3d83578f/sentinel-password-react-components-1.2.2.tgz","_integrity":"sha512-5PLTK8UvqNKuLJpb9w8aohCJDIO9ElDxBoqr8WDGQaiB5bHjZX2F1CTYyUMIX+jsp3oTr+YUw4ZDcd7zcyt6LA==","repository":{"url":"git+https://github.com/akankov/sentinel-password.git","type":"git","directory":"packages/react-components"},"_npmVersion":"11.12.1","description":"Accessible, headless React components for @sentinel-password - password validation UI made simple","directories":{},"sideEffects":false,"_nodeVersion":"24.15.0","dependencies":{"@sentinel-password/core":"1.2.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^8.0.12","jsdom":"^29.1.1","react":"^19.2.6","vitest":"^4.1.5","react-dom":"^19.2.6","storybook":"^10.3.6","typescript":"^6.0.3","@types/react":"^19.2.14","@storybook/react":"^10.3.6","@types/react-dom":"^19.2.3","@vitest/coverage-v8":"^4.1.5","@storybook/addon-a11y":"^10.3.6","@storybook/react-vite":"^10.3.6","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1","@testing-library/user-event":"^14.6.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-components_1.2.2_1778779446340_0.7380810039190782","host":"s3://npm-registry-packages-npm-production"}},"1.2.3":{"name":"@sentinel-password/react-components","version":"1.2.3","keywords":["password","validation","react","components","headless","accessible","wcag","aria","typescript","password-validator","password-input","password-strength","react-components"],"author":{"name":"Aleksei Kankov","email":"akankov@gmail.com"},"license":"MIT","_id":"@sentinel-password/react-components@1.2.3","maintainers":[{"name":"akankov","email":"akankov@gmail.com"}],"homepage":"https://akankov.github.io/sentinel-password/","bugs":{"url":"https://github.com/akankov/sentinel-password/issues"},"dist":{"shasum":"6f6ad952771e7407c17c2fa55b49628a5bf5ddde","tarball":"https://registry.npmjs.org/@sentinel-password/react-components/-/react-components-1.2.3.tgz","fileCount":9,"integrity":"sha512-ptrYSIoZT3vaHYpQWoiZkp3xHi8IuQ4Klf5adqrQIxO1/BAmJqQcXDkoaNLI75UXowsdbcPOC2/ODY2MvfH8iQ==","signatures":[{"sig":"MEUCICmtEAik2JPYBbCjJ9XPCdBol9NDPAOzRCEzsd5p2c7LAiEAh9/Ct8K/vQNfuOyQXlYMe4VD3zImkmWR6yrUORUChnk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@sentinel-password%2freact-components@1.2.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":76310},"main":"./dist/index.cjs","type":"module","_from":"file:sentinel-password-react-components-1.2.3.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"scripts":{"lint":"eslint src","test":"vitest run","build":"tsup","clean":"rm -rf dist coverage","lint:fix":"eslint src --fix","storybook":"storybook dev -p 6007","typecheck":"tsc --noEmit","test:watch":"vitest","build-storybook":"storybook build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:87739da0-38ab-4f29-ba9f-0c1cdce4b8db"}},"_resolved":"/tmp/89539a96673e49eaf024f2d381b40925/sentinel-password-react-components-1.2.3.tgz","_integrity":"sha512-ptrYSIoZT3vaHYpQWoiZkp3xHi8IuQ4Klf5adqrQIxO1/BAmJqQcXDkoaNLI75UXowsdbcPOC2/ODY2MvfH8iQ==","repository":{"url":"git+https://github.com/akankov/sentinel-password.git","type":"git","directory":"packages/react-components"},"_npmVersion":"11.12.1","description":"Accessible, headless React components for @sentinel-password - password validation UI made simple","directories":{},"sideEffects":false,"_nodeVersion":"24.15.0","dependencies":{"@sentinel-password/core":"1.2.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^8.0.13","jsdom":"^29.1.1","react":"^19.2.6","vitest":"^4.1.6","react-dom":"^19.2.6","storybook":"^10.4.0","typescript":"^6.0.3","@types/react":"^19.2.14","@storybook/react":"^10.4.0","@types/react-dom":"^19.2.3","@vitest/coverage-v8":"^4.1.6","@storybook/addon-a11y":"^10.4.0","@storybook/react-vite":"^10.4.0","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1","@testing-library/user-event":"^14.6.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-components_1.2.3_1779118657946_0.7366037731578754","host":"s3://npm-registry-packages-npm-production"}},"1.2.4":{"name":"@sentinel-password/react-components","version":"1.2.4","keywords":["password","validation","react","components","headless","accessible","wcag","aria","typescript","password-validator","password-input","password-strength","react-components"],"author":{"name":"Aleksei Kankov","email":"akankov@gmail.com"},"license":"MIT","_id":"@sentinel-password/react-components@1.2.4","maintainers":[{"name":"akankov","email":"akankov@gmail.com"}],"homepage":"https://akankov.github.io/sentinel-password/","bugs":{"url":"https://github.com/akankov/sentinel-password/issues"},"dist":{"shasum":"4dd3c1d37c563da3fe8e8be533c52ebd61327347","tarball":"https://registry.npmjs.org/@sentinel-password/react-components/-/react-components-1.2.4.tgz","fileCount":9,"integrity":"sha512-AHgYFpxN8cAl7gfRNd31SAzE+GXnbuNGerYYXB34sujyX/egwvIYXKnklJ5Gkzv1BaFQ1SW+k6pxLL3JpmZFsQ==","signatures":[{"sig":"MEYCIQDKZPesPtzCR3Ls4bPG90tfQZcXtgfTay0Wl6nS/HfqSQIhAOjV1hvgpqavP7yz/FmZ13yicJgJNklcSoC4wX3isAtQ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@sentinel-password%2freact-components@1.2.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":76310},"main":"./dist/index.cjs","type":"module","_from":"file:sentinel-password-react-components-1.2.4.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"scripts":{"lint":"eslint src","test":"vitest run","build":"tsup","clean":"rm -rf dist coverage","lint:fix":"eslint src --fix","storybook":"storybook dev -p 6007","typecheck":"tsc --noEmit","test:watch":"vitest","build-storybook":"storybook build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:87739da0-38ab-4f29-ba9f-0c1cdce4b8db"}},"_resolved":"/tmp/3fea1a7d2c9e31a11303c01ed767cc6e/sentinel-password-react-components-1.2.4.tgz","_integrity":"sha512-AHgYFpxN8cAl7gfRNd31SAzE+GXnbuNGerYYXB34sujyX/egwvIYXKnklJ5Gkzv1BaFQ1SW+k6pxLL3JpmZFsQ==","repository":{"url":"git+https://github.com/akankov/sentinel-password.git","type":"git","directory":"packages/react-components"},"_npmVersion":"11.13.0","description":"Accessible, headless React components for @sentinel-password - password validation UI made simple","directories":{},"sideEffects":false,"_nodeVersion":"24.16.0","dependencies":{"@sentinel-password/core":"1.2.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^8.0.14","jsdom":"^29.1.1","react":"^19.2.6","vitest":"^4.1.7","react-dom":"^19.2.6","storybook":"^10.4.1","typescript":"^6.0.3","@types/react":"^19.2.15","@storybook/react":"^10.4.1","@types/react-dom":"^19.2.3","@vitest/coverage-v8":"^4.1.7","@storybook/addon-a11y":"^10.4.1","@storybook/react-vite":"^10.4.1","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1","@testing-library/user-event":"^14.6.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-components_1.2.4_1780248955286_0.7186450474957491","host":"s3://npm-registry-packages-npm-production"}},"1.2.5":{"name":"@sentinel-password/react-components","version":"1.2.5","keywords":["password","validation","react","components","headless","accessible","wcag","aria","typescript","password-validator","password-input","password-strength","react-components"],"author":{"name":"Aleksei Kankov","email":"akankov@gmail.com"},"license":"MIT","_id":"@sentinel-password/react-components@1.2.5","maintainers":[{"name":"akankov","email":"akankov@gmail.com"}],"homepage":"https://akankov.github.io/sentinel-password/","bugs":{"url":"https://github.com/akankov/sentinel-password/issues"},"dist":{"shasum":"297c1b08b343b34e77c2bd4a4d6e08cbdcd35ff9","tarball":"https://registry.npmjs.org/@sentinel-password/react-components/-/react-components-1.2.5.tgz","fileCount":9,"integrity":"sha512-xMt2lA6qkTPyZuBLOVd/2uD6ZElHVG3yJb4P+1GY1HbZ17xyd+pNUHpqSqX60H1Wdgs9MAlvTBziV34p10ROCw==","signatures":[{"sig":"MEYCIQCPJUfJ6xDwtE5NRdQBpxEM3wgt/Vad4+4AR8Y1uryFDQIhAKTWpGCH8DZM1nE92bMrdZHnIt5l8mRkrEZUtl/UQnq2","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@sentinel-password%2freact-components@1.2.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":76236},"main":"./dist/index.cjs","type":"module","_from":"file:sentinel-password-react-components-1.2.5.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"scripts":{"lint":"eslint src","test":"vitest run","build":"tsup","clean":"rm -rf dist coverage","lint:fix":"eslint src --fix","storybook":"storybook dev -p 6007","typecheck":"tsc --noEmit","test:watch":"vitest","build-storybook":"storybook build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:87739da0-38ab-4f29-ba9f-0c1cdce4b8db"}},"_resolved":"/tmp/1d6950c637c46c8b030b11aac4b38b4a/sentinel-password-react-components-1.2.5.tgz","_integrity":"sha512-xMt2lA6qkTPyZuBLOVd/2uD6ZElHVG3yJb4P+1GY1HbZ17xyd+pNUHpqSqX60H1Wdgs9MAlvTBziV34p10ROCw==","repository":{"url":"git+https://github.com/akankov/sentinel-password.git","type":"git","directory":"packages/react-components"},"_npmVersion":"11.13.0","description":"Accessible, headless React components for @sentinel-password - password validation UI made simple","directories":{},"sideEffects":false,"_nodeVersion":"24.16.0","dependencies":{"@sentinel-password/core":"1.2.5"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^8.0.16","jsdom":"^29.1.1","react":"^19.2.7","vitest":"^4.1.8","react-dom":"^19.2.7","storybook":"^10.4.2","typescript":"^6.0.3","@types/react":"^19.2.16","@storybook/react":"^10.4.2","@types/react-dom":"^19.2.3","@vitest/coverage-v8":"^4.1.8","@storybook/addon-a11y":"^10.4.2","@storybook/react-vite":"^10.4.2","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1","@testing-library/user-event":"^14.6.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-components_1.2.5_1780653378201_0.46714559300513625","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"@sentinel-password/react-components","version":"1.3.0","keywords":["password","validation","react","components","headless","accessible","wcag","aria","typescript","password-validator","password-input","password-strength","react-components"],"author":{"name":"Aleksei Kankov","email":"akankov@gmail.com"},"license":"MIT","_id":"@sentinel-password/react-components@1.3.0","maintainers":[{"name":"akankov","email":"akankov@gmail.com"}],"homepage":"https://akankov.github.io/sentinel-password/","bugs":{"url":"https://github.com/akankov/sentinel-password/issues"},"dist":{"shasum":"bb6ec5208f17372c78032a7f544d2957f3474670","tarball":"https://registry.npmjs.org/@sentinel-password/react-components/-/react-components-1.3.0.tgz","fileCount":9,"integrity":"sha512-s5St4KIdNf1UM+SkWitpd1uARDvcFNXPgOyO2WgwNmPVAbJ/oDfNM+lSu/UWoXFjkyjGWeixCTZMTshwiZqImQ==","signatures":[{"sig":"MEUCIQDjoVT4gC7Ms11Po4zIrQUXX5q0nMZeLF5hR9WVd5pPVgIgB4hZEt+t+VB9lCzczpdeEbAP5q1F55MkdXribSJJGMM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@sentinel-password%2freact-components@1.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":76941},"main":"./dist/index.cjs","type":"module","_from":"file:sentinel-password-react-components-1.3.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"scripts":{"lint":"eslint src","test":"vitest run","build":"tsup","clean":"rm -rf dist coverage","lint:fix":"eslint src --fix","storybook":"storybook dev -p 6007","typecheck":"tsc --noEmit","test:watch":"vitest","test:coverage":"vitest run --coverage","build-storybook":"storybook build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:87739da0-38ab-4f29-ba9f-0c1cdce4b8db"}},"_resolved":"/tmp/8248de95abfa38ce0c76515143032ace/sentinel-password-react-components-1.3.0.tgz","_integrity":"sha512-s5St4KIdNf1UM+SkWitpd1uARDvcFNXPgOyO2WgwNmPVAbJ/oDfNM+lSu/UWoXFjkyjGWeixCTZMTshwiZqImQ==","repository":{"url":"git+https://github.com/akankov/sentinel-password.git","type":"git","directory":"packages/react-components"},"_npmVersion":"11.13.0","description":"Accessible, headless React components for @sentinel-password - password validation UI made simple","directories":{},"sideEffects":false,"_nodeVersion":"24.16.0","dependencies":{"@sentinel-password/core":"1.3.0"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^8.0.16","jsdom":"^29.1.1","react":"^19.2.7","vitest":"^4.1.8","react-dom":"^19.2.7","storybook":"^10.4.2","typescript":"^6.0.3","vitest-axe":"^0.1.0","@types/react":"^19.2.16","@storybook/react":"^10.4.2","@types/react-dom":"^19.2.3","@vitest/coverage-v8":"^4.1.8","@storybook/addon-a11y":"^10.4.2","@storybook/react-vite":"^10.4.2","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1","@testing-library/user-event":"^14.6.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-components_1.3.0_1781019180549_0.7502315653605118","host":"s3://npm-registry-packages-npm-production"}},"1.3.1":{"name":"@sentinel-password/react-components","version":"1.3.1","keywords":["password","validation","react","components","headless","accessible","wcag","aria","typescript","password-validator","password-input","password-strength","react-components"],"author":{"name":"Aleksei Kankov","email":"akankov@gmail.com"},"license":"MIT","_id":"@sentinel-password/react-components@1.3.1","maintainers":[{"name":"akankov","email":"akankov@gmail.com"}],"homepage":"https://akankov.github.io/sentinel-password/","bugs":{"url":"https://github.com/akankov/sentinel-password/issues"},"dist":{"shasum":"8c8f80b401ca04a3fc21927369ebfa604e35fb30","tarball":"https://registry.npmjs.org/@sentinel-password/react-components/-/react-components-1.3.1.tgz","fileCount":9,"integrity":"sha512-TX93QOXPFI6g5bwztO/f9O/VMUR2Zwg81drabwyo28l28TcdnyEQPQ/Eg2x87m+Odx3l3OEFF53Y+N4DX+VOiQ==","signatures":[{"sig":"MEUCIDwDOGbSb3aa81Eg7OG6mVVwGDAtkTnExowCR5ip8sA/AiEAwu8SeBvGJwxIN4qDwlMqg+e+IezNfcwZ8peCXQw76+c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@sentinel-password%2freact-components@1.3.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":76941},"main":"./dist/index.cjs","type":"module","_from":"file:sentinel-password-react-components-1.3.1.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"scripts":{"lint":"eslint src","test":"vitest run","build":"tsup","clean":"rm -rf dist coverage","lint:fix":"eslint src --fix","storybook":"storybook dev -p 6007","typecheck":"tsc --noEmit","test:watch":"vitest","test:coverage":"vitest run --coverage","build-storybook":"storybook build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:87739da0-38ab-4f29-ba9f-0c1cdce4b8db"}},"_resolved":"/tmp/fa893b1939982390833ca28584849eb5/sentinel-password-react-components-1.3.1.tgz","_integrity":"sha512-TX93QOXPFI6g5bwztO/f9O/VMUR2Zwg81drabwyo28l28TcdnyEQPQ/Eg2x87m+Odx3l3OEFF53Y+N4DX+VOiQ==","repository":{"url":"git+https://github.com/akankov/sentinel-password.git","type":"git","directory":"packages/react-components"},"_npmVersion":"11.13.0","description":"Accessible, headless React components for @sentinel-password - password validation UI made simple","directories":{},"sideEffects":false,"_nodeVersion":"24.16.0","dependencies":{"@sentinel-password/core":"1.3.1"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^8.0.16","jsdom":"^29.1.1","react":"^19.2.7","vitest":"^4.1.8","react-dom":"^19.2.7","storybook":"^10.4.4","typescript":"^6.0.3","vitest-axe":"^0.1.0","@types/react":"^19.2.17","@storybook/react":"^10.4.4","@types/react-dom":"^19.2.3","@vitest/coverage-v8":"^4.1.8","@storybook/addon-a11y":"^10.4.4","@storybook/react-vite":"^10.4.4","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1","@testing-library/user-event":"^14.6.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-components_1.3.1_1781293298086_0.9159261934261567","host":"s3://npm-registry-packages-npm-production"}},"1.3.2":{"name":"@sentinel-password/react-components","version":"1.3.2","keywords":["password","validation","react","components","headless","accessible","wcag","aria","typescript","password-validator","password-input","password-strength","react-components"],"author":{"name":"Aleksei Kankov","email":"akankov@gmail.com"},"license":"MIT","_id":"@sentinel-password/react-components@1.3.2","maintainers":[{"name":"akankov","email":"akankov@gmail.com"}],"homepage":"https://akankov.github.io/sentinel-password/","bugs":{"url":"https://github.com/akankov/sentinel-password/issues"},"dist":{"shasum":"d0b95dc3d331fbade71cca41f61a5696755c4994","tarball":"https://registry.npmjs.org/@sentinel-password/react-components/-/react-components-1.3.2.tgz","fileCount":9,"integrity":"sha512-0RDMj1DxDsL7T1muGK+C7bm7018ejZHus3pVbhd1Eg8q/Uw0dDqslIeweoap8KSTZ972v6oK+YIaR0DoS92VmQ==","signatures":[{"sig":"MEUCIQDQN4x89FV4L1upLwbFsGAVWslrSI/+h27B7Th2bjy+UQIgLHIyEj4wiPTj0PkJs0klRCKppXN3x+AoUZP1cZsY6lw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@sentinel-password%2freact-components@1.3.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":76941},"main":"./dist/index.cjs","type":"module","_from":"file:sentinel-password-react-components-1.3.2.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"scripts":{"lint":"eslint src","test":"vitest run","build":"tsup","clean":"rm -rf dist coverage","lint:fix":"eslint src --fix","storybook":"storybook dev -p 6007","typecheck":"tsc --noEmit","test:watch":"vitest","test:coverage":"vitest run --coverage","build-storybook":"storybook build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:87739da0-38ab-4f29-ba9f-0c1cdce4b8db"}},"_resolved":"/tmp/8313f5e017d73decf6c2bc68e6c87075/sentinel-password-react-components-1.3.2.tgz","_integrity":"sha512-0RDMj1DxDsL7T1muGK+C7bm7018ejZHus3pVbhd1Eg8q/Uw0dDqslIeweoap8KSTZ972v6oK+YIaR0DoS92VmQ==","repository":{"url":"git+https://github.com/akankov/sentinel-password.git","type":"git","directory":"packages/react-components"},"_npmVersion":"11.13.0","description":"Accessible, headless React components for @sentinel-password - password validation UI made simple","directories":{},"sideEffects":false,"_nodeVersion":"24.16.0","dependencies":{"@sentinel-password/core":"1.3.2"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^8.0.16","jsdom":"^29.1.1","react":"^19.2.7","vitest":"^4.1.8","react-dom":"^19.2.7","storybook":"^10.4.4","typescript":"^6.0.3","vitest-axe":"^0.1.0","@types/react":"^19.2.17","@storybook/react":"^10.4.4","@types/react-dom":"^19.2.3","@vitest/coverage-v8":"^4.1.8","@storybook/addon-a11y":"^10.4.4","@storybook/react-vite":"^10.4.4","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1","@testing-library/user-event":"^14.6.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-components_1.3.2_1781439965836_0.36289059634590104","host":"s3://npm-registry-packages-npm-production"}},"1.3.3":{"name":"@sentinel-password/react-components","version":"1.3.3","keywords":["password","validation","react","components","headless","accessible","wcag","aria","typescript","password-validator","password-input","password-strength","react-components"],"author":{"name":"Aleksei Kankov","email":"akankov@gmail.com"},"license":"MIT","_id":"@sentinel-password/react-components@1.3.3","maintainers":[{"name":"akankov","email":"akankov@gmail.com"}],"homepage":"https://akankov.github.io/sentinel-password/","bugs":{"url":"https://github.com/akankov/sentinel-password/issues"},"dist":{"shasum":"18efd31c312284371bfd44c3c9d3f56968981e60","tarball":"https://registry.npmjs.org/@sentinel-password/react-components/-/react-components-1.3.3.tgz","fileCount":9,"integrity":"sha512-O8R0a7DR0/ANikEJ2QD+SYD+oRar8YEfZt+7OiP/LpIHzE38a0gq3860K2BwKk2YeaNz+wWTaOpDzaK4M6k1WA==","signatures":[{"sig":"MEYCIQDTlLq8nbNtECVIKEfM6oRzXOdLL3gqJvjAiUx5fpSjfQIhAIoNLgxOfmlYQOU1jr2ZdHi6HrskuImUAvSlEQbxAGhk","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@sentinel-password%2freact-components@1.3.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":76941},"main":"./dist/index.cjs","type":"module","_from":"file:sentinel-password-react-components-1.3.3.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"scripts":{"lint":"eslint src","test":"vitest run","build":"tsup","clean":"rm -rf dist coverage","lint:fix":"eslint src --fix","storybook":"storybook dev -p 6007","typecheck":"tsc --noEmit","test:watch":"vitest","test:coverage":"vitest run --coverage","build-storybook":"storybook build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:87739da0-38ab-4f29-ba9f-0c1cdce4b8db"}},"_resolved":"/tmp/840ec113e17099fdf35327bd0faa3eb0/sentinel-password-react-components-1.3.3.tgz","_integrity":"sha512-O8R0a7DR0/ANikEJ2QD+SYD+oRar8YEfZt+7OiP/LpIHzE38a0gq3860K2BwKk2YeaNz+wWTaOpDzaK4M6k1WA==","repository":{"url":"git+https://github.com/akankov/sentinel-password.git","type":"git","directory":"packages/react-components"},"_npmVersion":"11.13.0","description":"Accessible, headless React components for @sentinel-password - password validation UI made simple","directories":{},"sideEffects":false,"_nodeVersion":"24.16.0","dependencies":{"@sentinel-password/core":"1.3.3"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^8.0.16","jsdom":"^29.1.1","react":"^19.2.7","vitest":"^4.1.9","react-dom":"^19.2.7","storybook":"^10.4.6","typescript":"^6.0.3","vitest-axe":"^0.1.0","@types/react":"^19.2.17","@storybook/react":"^10.4.6","@types/react-dom":"^19.2.3","@vitest/coverage-v8":"^4.1.9","@storybook/addon-a11y":"^10.4.6","@storybook/react-vite":"^10.4.6","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1","@testing-library/user-event":"^14.6.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-components_1.3.3_1781852356607_0.4546103338168246","host":"s3://npm-registry-packages-npm-production"}},"1.4.0":{"name":"@sentinel-password/react-components","version":"1.4.0","keywords":["password","validation","react","components","headless","accessible","wcag","aria","typescript","password-validator","password-input","password-strength","react-components"],"author":{"name":"Aleksei Kankov","email":"akankov@gmail.com"},"license":"MIT","_id":"@sentinel-password/react-components@1.4.0","maintainers":[{"name":"akankov","email":"akankov@gmail.com"}],"homepage":"https://akankov.github.io/sentinel-password/","bugs":{"url":"https://github.com/akankov/sentinel-password/issues"},"dist":{"shasum":"3777d124378aee491459c0e6dec26bce3fb68cbb","tarball":"https://registry.npmjs.org/@sentinel-password/react-components/-/react-components-1.4.0.tgz","fileCount":9,"integrity":"sha512-2jsQ+eA5YIhKdISv+KcuCWP3jjf47tzYKWM1skNeaEE2RLe8ObsXFzkZCJgSJgkAuLaYASmeT2kW3HGqLxf+Mg==","signatures":[{"sig":"MEUCIQCEHbyOV1wBWfV6LHBsoImngFd38/a6fOWy3FlidD6Z9wIgG98P+Wf11r0A7ItIm1J76mGzkX/ECS8K/ZaDOccr+Ug=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@sentinel-password%2freact-components@1.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":84168},"main":"./dist/index.cjs","type":"module","_from":"file:sentinel-password-react-components-1.4.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"scripts":{"lint":"eslint src","test":"vitest run","build":"tsup","clean":"rm -rf dist coverage","lint:fix":"eslint src --fix","storybook":"storybook dev -p 6007","typecheck":"tsc --noEmit","test:watch":"vitest","test:coverage":"vitest run --coverage","build-storybook":"storybook build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:87739da0-38ab-4f29-ba9f-0c1cdce4b8db"}},"_resolved":"/tmp/60dd89f5167e75f641e1260ee9b334ce/sentinel-password-react-components-1.4.0.tgz","_integrity":"sha512-2jsQ+eA5YIhKdISv+KcuCWP3jjf47tzYKWM1skNeaEE2RLe8ObsXFzkZCJgSJgkAuLaYASmeT2kW3HGqLxf+Mg==","repository":{"url":"git+https://github.com/akankov/sentinel-password.git","type":"git","directory":"packages/react-components"},"_npmVersion":"11.16.0","description":"Accessible, headless React components for @sentinel-password - password validation UI made simple","directories":{},"sideEffects":false,"_nodeVersion":"24.18.0","dependencies":{"@sentinel-password/core":"1.4.0"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^8.1.3","jsdom":"^29.1.1","react":"^19.2.7","vitest":"^4.1.9","react-dom":"^19.2.7","storybook":"^10.4.6","typescript":"^6.0.3","vitest-axe":"^0.1.0","@types/react":"^19.2.17","@storybook/react":"^10.4.6","@types/react-dom":"^19.2.3","@vitest/coverage-v8":"^4.1.9","@storybook/addon-a11y":"^10.4.6","@storybook/react-vite":"^10.4.6","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1","@testing-library/user-event":"^14.6.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-components_1.4.0_1783343083757_0.8640491193376407","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"@sentinel-password/react-components","version":"2.0.0","type":"module","description":"Accessible, headless React components for @sentinel-password - password validation UI made simple","main":"./dist/index.cjs","module":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"publishConfig":{"access":"public","provenance":true},"sideEffects":false,"keywords":["password","validation","react","components","headless","accessible","wcag","aria","typescript","password-validator","password-input","password-strength","react-components"],"author":{"name":"Aleksei Kankov","email":"akankov@gmail.com"},"license":"MIT","engines":{"node":">=22"},"repository":{"type":"git","url":"git+https://github.com/akankov/sentinel-password.git","directory":"packages/react-components"},"homepage":"https://akankov.github.io/sentinel-password/","bugs":{"url":"https://github.com/akankov/sentinel-password/issues"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"dependencies":{"@sentinel-password/core":"2.0.0"},"devDependencies":{"@storybook/addon-a11y":"^10.5.3","@storybook/react":"^10.5.3","@storybook/react-vite":"^10.5.3","@testing-library/jest-dom":"^7.0.0","@testing-library/react":"^16.3.2","@testing-library/user-event":"^14.6.1","@types/react":"^19.2.17","@types/react-dom":"^19.2.3","@vitest/coverage-v8":"^4.1.10","jsdom":"^29.1.1","react":"^19.2.8","react-dom":"^19.2.8","storybook":"^10.5.3","tsup":"^8.5.1","typescript":"^6.0.3","vite":"^8.1.5","vitest":"^4.1.10","vitest-axe":"^0.1.0"},"scripts":{"build":"tsup","test":"vitest run","test:watch":"vitest","test:coverage":"vitest run --coverage","lint":"eslint src","lint:fix":"eslint src --fix","typecheck":"tsc --noEmit","clean":"rm -rf dist coverage","storybook":"storybook dev -p 6007","build-storybook":"storybook build"},"_id":"@sentinel-password/react-components@2.0.0","_integrity":"sha512-Dlc7dRtHr11rqKrtJLcsYaZ6e12IokXDztc0qE3Y5MwEmQPqw0Pnor+11jEQzUGWyDuXoR3bmokYe4zZWUtB5A==","_resolved":"/tmp/7b730fb8b1c73010ede29ed61e2352d8/sentinel-password-react-components-2.0.0.tgz","_from":"file:sentinel-password-react-components-2.0.0.tgz","_nodeVersion":"24.18.0","_npmVersion":"11.16.0","dist":{"integrity":"sha512-Dlc7dRtHr11rqKrtJLcsYaZ6e12IokXDztc0qE3Y5MwEmQPqw0Pnor+11jEQzUGWyDuXoR3bmokYe4zZWUtB5A==","shasum":"1afa6cc25f39bc08863384556b9d35f500e55f42","tarball":"https://registry.npmjs.org/@sentinel-password/react-components/-/react-components-2.0.0.tgz","fileCount":9,"unpackedSize":84170,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@sentinel-password%2freact-components@2.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDw+0XzC7YelPTtYAPobp5eUBuu8MpCRrvetgxH81rkbQIhAIMa0OxSBPyVN0yWHM+nakpHHfXIa9wzupAkN967Zho2"}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:87739da0-38ab-4f29-ba9f-0c1cdce4b8db"}},"directories":{},"maintainers":[{"name":"akankov","email":"akankov@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/react-components_2.0.0_1785259500479_0.36455018906933123"},"_hasShrinkwrap":false}},"time":{"created":"2025-12-02T21:43:19.494Z","modified":"2026-07-28T17:25:00.960Z","0.1.0":"2025-12-02T21:43:19.818Z","0.1.1":"2025-12-03T21:50:21.891Z","0.2.0":"2026-02-18T20:55:33.108Z","0.4.0":"2026-03-17T08:09:51.702Z","0.4.1":"2026-03-25T17:25:32.361Z","0.4.2":"2026-03-26T07:44:07.029Z","0.4.3":"2026-03-26T07:59:53.713Z","0.4.4":"2026-03-30T16:15:36.462Z","0.4.5":"2026-03-30T17:51:46.913Z","0.4.6":"2026-03-31T07:00:33.747Z","0.4.7":"2026-03-31T15:34:09.944Z","0.4.8":"2026-03-31T16:36:48.896Z","1.0.0":"2026-04-01T08:07:01.238Z","1.1.0":"2026-04-22T12:20:08.649Z","1.1.1":"2026-04-22T13:52:59.418Z","1.1.2":"2026-05-04T11:02:54.459Z","1.1.3":"2026-05-05T15:25:31.912Z","1.1.4":"2026-05-11T15:16:50.829Z","1.1.5":"2026-05-11T17:33:24.606Z","1.2.0":"2026-05-12T16:30:46.105Z","1.2.1":"2026-05-14T16:37:46.846Z","1.2.2":"2026-05-14T17:24:06.493Z","1.2.3":"2026-05-18T15:37:38.106Z","1.2.4":"2026-05-31T17:35:55.425Z","1.2.5":"2026-06-05T09:56:18.364Z","1.3.0":"2026-06-09T15:33:00.727Z","1.3.1":"2026-06-12T19:41:38.233Z","1.3.2":"2026-06-14T12:26:05.982Z","1.3.3":"2026-06-19T06:59:16.748Z","1.4.0":"2026-07-06T13:04:43.887Z","2.0.0":"2026-07-28T17:25:00.621Z"},"bugs":{"url":"https://github.com/akankov/sentinel-password/issues"},"author":{"name":"Aleksei Kankov","email":"akankov@gmail.com"},"license":"MIT","homepage":"https://akankov.github.io/sentinel-password/","keywords":["password","validation","react","components","headless","accessible","wcag","aria","typescript","password-validator","password-input","password-strength","react-components"],"repository":{"type":"git","url":"git+https://github.com/akankov/sentinel-password.git","directory":"packages/react-components"},"description":"Accessible, headless React components for @sentinel-password - password validation UI made simple","maintainers":[{"name":"akankov","email":"akankov@gmail.com"}],"readme":"# @sentinel-password/react-components\n\n[![npm version](https://img.shields.io/npm/v/@sentinel-password/react-components.svg)](https://www.npmjs.com/package/@sentinel-password/react-components)\n[![TypeScript](https://img.shields.io/badge/TypeScript-6.0+-blue.svg)](https://www.typescriptlang.org/)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n\nAccessible, headless React components for password validation, built on top of `@sentinel-password/core`.\n\n**[Documentation](https://akankov.github.io/sentinel-password/)** | **[Interactive Playground](https://akankov.github.io/sentinel-password/playground/)** | **[API Reference](https://akankov.github.io/sentinel-password/api/react-components.html)**\n\n## Features\n\n- **Headless & Unstyled** - Bring your own styles\n- **Designed for WCAG 2.1 AAA** - Semantic HTML, ARIA live region, full keyboard support, `useId()`-linked label. Page-level conformance depends on the consumer's CSS (contrast) and surrounding markup — see [Accessibility](#accessibility) below.\n- **Keyboard Navigation** - Complete keyboard support\n- **TypeScript** - Full type safety\n- **Lightweight** - Minimal bundle size\n- **Flexible** - Controlled and uncontrolled modes\n- **React 18 & 19** - Supports both React 18 and 19\n\n## Installation\n\n`@sentinel-password/core` is a regular `dependency` of this package (not a peer), so installing `@sentinel-password/react-components` automatically pulls in core. You only need to add core explicitly if you're importing from it directly elsewhere in your app.\n\n```bash\nnpm install @sentinel-password/react-components\n# or\npnpm add @sentinel-password/react-components\n# or\nyarn add @sentinel-password/react-components\n```\n\n**Peer dependencies:** React 18 or 19 and React DOM 18 or 19 — bring your own.\n\n## Quick Start\n\n```tsx\nimport { PasswordInput } from '@sentinel-password/react-components'\n\nfunction MyForm() {\n  return (\n    <form>\n      <PasswordInput\n        label=\"Password\"\n        onValidationChange={(result) => {\n          console.log('Valid:', result.valid)\n          console.log('Strength:', result.strength)\n        }}\n      />\n    </form>\n  )\n}\n```\n\n## API Reference\n\n### PasswordInput\n\nA headless password input component with built-in validation.\n\n```tsx\n<PasswordInput\n  label=\"Password\"\n  description=\"Enter a strong password\"\n  onValidationChange={(result) => console.log(result)}\n  onChange={(value) => console.log(value)}\n  showPassword={false}\n  onShowPasswordChange={(show) => console.log(show)}\n  validateOnMount={false}\n  debounceMs={300}\n/>\n```\n\n#### Props\n\n| Prop | Type | Default | Description |\n|------|------|---------|-------------|\n| `label` | `string` | **required** | Accessible label rendered as `<label>` |\n| `description` | `string` | — | Helper text linked via `aria-describedby` |\n| `value` | `string` | — | Controlled value. Any *defined* value flips the component to controlled mode — see the [Controlled vs Uncontrolled rules](https://akankov.github.io/sentinel-password/api/react-components#controlled-vs-uncontrolled). |\n| `defaultValue` | `string` | — | Uncontrolled initial value. Silently ignored if `value` is defined. |\n| `onChange` | `(value: string) => void` | — | Fired with the new string value (not the event) |\n| `onValidationChange` | `(result: ValidationResult) => void` | — | Fired whenever validation completes |\n| `onShowPasswordChange` | `(show: boolean) => void` | — | Fired when the show/hide toggle changes state |\n| `showPassword` | `boolean` | uncontrolled | Controlled show/hide state — omit for uncontrolled toggle |\n| `validateOnMount` | `boolean` | `false` | Validate the initial value once on mount — **only if `value`/`defaultValue` is non-empty**. Uses the debounced path; set `debounceMs: 0` for synchronous mount validation. |\n| `validateOnChange` | `boolean` | `true` | Validate on every change (debounced). Set to `false` to disable change-driven validation. |\n| `debounceMs` | `number` | `300` | Debounce delay in milliseconds. `0` validates synchronously. |\n| `showValidationMessages` | `boolean` | `true` | Render the validation messages inside the `<div role=\"status\">` live region. Set to `false` to keep the region empty and render your own messages. |\n| `showToggleButton` | `boolean` | `true` | Render the show/hide password button. Set to `false` to suppress (e.g., for a localized custom toggle). |\n| `validatorOptions` | `ValidatorOptions` | `undefined` | Forwarded to every internal `validatePassword(...)` call. Covers `minLength`, `requireUppercase`, `personalInfo`, plus the v1.2.0 i18n options `messages` and `formatMessage`. Nested rather than spread because the prop type already extends `React.InputHTMLAttributes<HTMLInputElement>` (which defines `minLength` / `maxLength` as HTML attrs). Memoize this object if it contains closures — see the [i18n guide](https://akankov.github.io/sentinel-password/guide/i18n). |\n| `toggleShowText` | `string` | `'Show'` | Visible button text when the password is hidden |\n| `toggleHideText` | `string` | `'Hide'` | Visible button text when the password is visible |\n| `toggleShowLabel` | `string` | `'Show password'` | `aria-label` when hidden |\n| `toggleHideLabel` | `string` | `'Hide password'` | `aria-label` when visible |\n| `containerClassName` | `string` | `''` | Class on the outer `<div>` wrapper |\n| `labelClassName` | `string` | `''` | Class on `<label>` |\n| `descriptionClassName` | `string` | `''` | Class on the description `<div>` |\n| `inputWrapperClassName` | `string` | `''` | Class on the `<input>` + toggle wrapper |\n| `toggleButtonClassName` | `string` | `''` | Class on the show/hide `<button>` |\n| `validationClassName` | `string` | `''` | Class on the validation messages `<div>` |\n| `className` (and other standard input attrs) | — | — | Forwarded to the underlying `<input>` (`className`, `name`, `placeholder`, `autoFocus`, etc.). See the \"reserved\" list below for the exceptions. |\n\nMost standard HTML input attributes are forwarded to the underlying `<input>` — for example `name`, `placeholder`, `className`, `style`, `autoFocus`, `required`, `minLength`, `maxLength`, `pattern`, `inputMode`, `onFocus`, `onBlur`, and `data-*`.\n\nA handful are **reserved** by the component for its a11y and controlled-state internals — passing them is harmless but has no effect at runtime:\n\n- `id` — generated via `useId()` so the `<label>` can be associated correctly\n- `aria-describedby` / `aria-invalid` — managed for validation feedback\n- `autoComplete` — **defaults** to `\"new-password\"` but is overridable: pass `autoComplete=\"current-password\"` for login forms or `\"off\"` to disable\n- `ref` — not forwarded (the component is not wrapped in `React.forwardRef`)\n- `type` — toggled internally between `\"password\"` and `\"text\"`; omitted from the props type\n- `onChange` — replaced with the `(value: string) => void` signature documented above\n\n`onKeyDown` is **wrapped** (the component handles `Escape` to clear the input, then calls your handler for all keys) rather than overridden.\n\nSee the [API reference](https://akankov.github.io/sentinel-password/api/react-components#reserved-props) for the full table and the controlled-vs-uncontrolled rules.\n\n## Accessibility\n\nThe component is designed to *meet* WCAG 2.1 AAA criteria when integrated correctly. It provides:\n\n- Semantic HTML (`<label htmlFor>` linked to the input via `useId()`)\n- ARIA attributes managed by the component: `aria-invalid` (`true`/omitted), `aria-describedby`, `aria-pressed` on the toggle button\n- An always-mounted live region (`role=\"status\" aria-atomic=\"true\"`, implicit `aria-live=\"polite\"`) — persistent so screen readers reliably announce feedback injected into it\n- Keyboard support: `Tab` between input and toggle, `Escape` to clear the input, `Space`/`Enter` on the toggle button\n- Focus management for the input and toggle\n\nThe consumer is responsible for:\n\n- **Color contrast** — the component is headless, so CSS is yours. WCAG AAA requires 7:1 for normal text and 4.5:1 for large text.\n- **Surrounding markup** — heading structure, landmarks, form semantics, and overall page conformance.\n- **Reduced-motion / forced-colors / focus-visible** — these depend on your stylesheet.\n- **Localization of toggle text** — covered by `toggleShowText` / `toggleHideText` / `toggleShowLabel` / `toggleHideLabel` props (see below).\n\n### Internationalization\n\n- **Validator messages** — pass `validatorOptions` to forward `messages` / `formatMessage` (or any other `ValidatorOptions` field) into the component's underlying `validatePassword` calls. See the [i18n guide](https://akankov.github.io/sentinel-password/guide/i18n) for full examples.\n- **Toggle button text** — `toggleShowText` / `toggleHideText` set the visible button label; `toggleShowLabel` / `toggleHideLabel` set the `aria-label`. Defaults are `'Show'` / `'Hide'` / `'Show password'` / `'Hide password'`.\n\n## Related Packages\n\n- [`@sentinel-password/core`](https://www.npmjs.com/package/@sentinel-password/core) - Core validation engine (zero dependencies)\n- [`@sentinel-password/react`](https://www.npmjs.com/package/@sentinel-password/react) - React hook for password validation\n\n## License\n\nMIT © Aleksei Kankov\n","readmeFilename":"README.md"}