{"_id":"@abpjs/identity","_rev":"15-a3a0167bdf622119f81c6d5ff5030eeb","name":"@abpjs/identity","dist-tags":{"latest":"4.0.0"},"versions":{"0.7.6":{"name":"@abpjs/identity","version":"0.7.6","keywords":["abp","react","framework","identity"],"author":{"name":"tekthar.com"},"license":"LGPL-3.0","_id":"@abpjs/identity@0.7.6","maintainers":[{"name":"aitani","email":"aitani@tekthar.com"}],"homepage":"https://docs.abpjs.io/docs/packages/identity/overview","bugs":{"url":"https://github.com/abpjs/abp-react/issues"},"dist":{"shasum":"be126e39646c5eed49c75839363b2a04571341e2","tarball":"https://registry.npmjs.org/@abpjs/identity/-/identity-0.7.6.tgz","fileCount":7,"integrity":"sha512-asHa0NhAJYMeoCQAA2jdFJKpbbMzJZ41RsXsbNZXjQcJLiajiLKXJvwRxv+wbg9l/nfdkD52Lou6RWUl8mhD1A==","signatures":[{"sig":"MEUCIEQJG0tbuGFmOfndKfgMBmBypckwFAZ0Ma0W7PXBjMszAiEA8vRbAfCPEGvC61795TKwZh8DgoD6zH0F1/sGht51TRs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":134563},"main":"dist/index.js","_from":"file:abpjs-identity-0.7.6.tgz","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"scripts":{"dev":"tsup src/index.ts --format cjs,esm --watch","lint":"eslint src","test":"vitest","build":"tsup","format":"prettier --write \"src/**/*.{ts,tsx,json,md}\"","lint:fix":"eslint src --fix","type-check":"tsc --noEmit","format:check":"prettier --check \"src/**/*.{ts,tsx,json,md}\""},"_npmUser":{"name":"aitani","email":"aitani@tekthar.com"},"_resolved":"C:\\Users\\DELL\\AppData\\Local\\Temp\\0094b66061f474aab91501bcc856f38e\\abpjs-identity-0.7.6.tgz","_integrity":"sha512-asHa0NhAJYMeoCQAA2jdFJKpbbMzJZ41RsXsbNZXjQcJLiajiLKXJvwRxv+wbg9l/nfdkD52Lou6RWUl8mhD1A==","repository":{"url":"git+https://github.com/abpjs/abp-react.git","type":"git"},"_npmVersion":"10.9.2","description":"ABP Framework identity components for React - translated from @abp/ng.identity","directories":{},"_nodeVersion":"22.17.0","dependencies":{"@abpjs/core":"0.7.6","@emotion/react":"^11.11.0","@chakra-ui/react":"^3.2.0","@abpjs/theme-shared":"0.7.6","@abpjs/permission-management":"0.7.6"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","jsdom":"^24.0.0","react":"^18.2.0","eslint":"^8.0.0","vitest":"^1.0.0","postcss":"^8.4.32","prettier":"^3.7.4","react-dom":"^18.2.0","typescript":"^5.0.0","tailwindcss":"^3.4.0","@types/react":"^18.2.0","autoprefixer":"^10.4.16","@abp/ng.identity":"0.7.6","@types/react-dom":"^18.2.0","react-router-dom":"^6.20.0","eslint-plugin-react":"^7.0.0","@testing-library/react":"^14.0.0","eslint-config-prettier":"^9.1.2","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^6.0.0","eslint-plugin-react-hooks":"^4.0.0","@testing-library/user-event":"^14.6.1","@typescript-eslint/eslint-plugin":"^6.0.0"},"peerDependencies":{"react":">=17.0.0","react-dom":">=17.0.0","react-router-dom":">=6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/identity_0.7.6_1768798546465_0.11901541950578753","host":"s3://npm-registry-packages-npm-production"}},"0.8.0":{"name":"@abpjs/identity","version":"0.8.0","keywords":["abp","react","framework","identity"],"author":{"name":"tekthar.com"},"license":"LGPL-3.0","_id":"@abpjs/identity@0.8.0","maintainers":[{"name":"aitani","email":"aitani@tekthar.com"}],"homepage":"https://docs.abpjs.io/docs/packages/identity/overview","bugs":{"url":"https://github.com/abpjs/abp-react/issues"},"dist":{"shasum":"f7ccf7f51c5f61124a4ec00f81bdaaa60d26e5c4","tarball":"https://registry.npmjs.org/@abpjs/identity/-/identity-0.8.0.tgz","fileCount":7,"integrity":"sha512-PLyzRag7HpCoYQvaoVooHrFiknksr8S6Uuy/5JoyXjPY0PaDwUY+zUP/m3mwHIfMlPuSdfx+iCoxiKSrrPJDCw==","signatures":[{"sig":"MEUCIQC9MEt5EF+iIqEC2Uueo758rmqxs7645VoB9DOvfUbyDgIgRg18gB3pWvBDpxOhgxpNQxEJK3y/aOBWRcBV6mxBdZ8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":134563},"main":"dist/index.js","_from":"file:abpjs-identity-0.8.0.tgz","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"scripts":{"dev":"tsup src/index.ts --format cjs,esm --watch","lint":"eslint src","test":"vitest","build":"tsup","format":"prettier --write \"src/**/*.{ts,tsx,json,md}\"","lint:fix":"eslint src --fix","type-check":"tsc --noEmit","format:check":"prettier --check \"src/**/*.{ts,tsx,json,md}\""},"_npmUser":{"name":"aitani","email":"aitani@tekthar.com"},"_resolved":"C:\\Users\\DELL\\AppData\\Local\\Temp\\9066f9bb3c7738ce79d003092f05eda2\\abpjs-identity-0.8.0.tgz","_integrity":"sha512-PLyzRag7HpCoYQvaoVooHrFiknksr8S6Uuy/5JoyXjPY0PaDwUY+zUP/m3mwHIfMlPuSdfx+iCoxiKSrrPJDCw==","repository":{"url":"git+https://github.com/abpjs/abp-react.git","type":"git"},"_npmVersion":"10.9.2","description":"ABP Framework identity components for React - translated from @abp/ng.identity","directories":{},"_nodeVersion":"22.17.0","dependencies":{"@abpjs/core":"0.8.0","@emotion/react":"^11.11.0","@chakra-ui/react":"^3.2.0","@abpjs/theme-shared":"0.8.0","@abpjs/permission-management":"0.8.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","jsdom":"^24.0.0","react":"^18.2.0","eslint":"^8.0.0","vitest":"^1.0.0","postcss":"^8.4.32","prettier":"^3.7.4","react-dom":"^18.2.0","typescript":"^5.0.0","tailwindcss":"^3.4.0","@types/react":"^18.2.0","autoprefixer":"^10.4.16","@abp/ng.identity":"0.8.0","@types/react-dom":"^18.2.0","react-router-dom":"^6.20.0","eslint-plugin-react":"^7.0.0","@testing-library/react":"^14.0.0","eslint-config-prettier":"^9.1.2","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^6.0.0","eslint-plugin-react-hooks":"^4.0.0","@testing-library/user-event":"^14.6.1","@typescript-eslint/eslint-plugin":"^6.0.0"},"peerDependencies":{"react":">=17.0.0","react-dom":">=17.0.0","react-router-dom":">=6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/identity_0.8.0_1769250535882_0.5531295803790504","host":"s3://npm-registry-packages-npm-production"}},"0.9.0":{"name":"@abpjs/identity","version":"0.9.0","keywords":["abp","react","framework","identity"],"author":{"name":"tekthar.com"},"license":"LGPL-3.0","_id":"@abpjs/identity@0.9.0","maintainers":[{"name":"aitani","email":"aitani@tekthar.com"}],"homepage":"https://docs.abpjs.io/docs/packages/identity/overview","bugs":{"url":"https://github.com/abpjs/abp-react/issues"},"dist":{"shasum":"b558aa6cc751c1d617d6623425bed5ce24fd3ad8","tarball":"https://registry.npmjs.org/@abpjs/identity/-/identity-0.9.0.tgz","fileCount":7,"integrity":"sha512-xA8VgoRXy0KmZK6Tm/MUJumV6L1/dLIflfiDaU5hb6wrMNHG/c5psT4gb4nBKlkvd1yxDiNQ7GaH95bfulIBPA==","signatures":[{"sig":"MEQCIE9nMhMHDfSukDF6u+pJX4UQ+LY8z0jriGDSX5/AVqgcAiAeF7K4nEzNFFlOzCPSN6EiltWmr4VkiJ2PXG41tVubPA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":135711},"main":"dist/index.js","_from":"file:abpjs-identity-0.9.0.tgz","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"scripts":{"dev":"tsup src/index.ts --format cjs,esm --watch","lint":"eslint src","test":"vitest","build":"tsup","format":"prettier --write \"src/**/*.{ts,tsx,json,md}\"","lint:fix":"eslint src --fix","type-check":"tsc --noEmit","format:check":"prettier --check \"src/**/*.{ts,tsx,json,md}\""},"_npmUser":{"name":"aitani","email":"aitani@tekthar.com"},"_resolved":"C:\\Users\\DELL\\AppData\\Local\\Temp\\a686f6c8973115522d47dc06ca7fd9f8\\abpjs-identity-0.9.0.tgz","_integrity":"sha512-xA8VgoRXy0KmZK6Tm/MUJumV6L1/dLIflfiDaU5hb6wrMNHG/c5psT4gb4nBKlkvd1yxDiNQ7GaH95bfulIBPA==","repository":{"url":"git+https://github.com/abpjs/abp-react.git","type":"git"},"_npmVersion":"10.9.2","description":"ABP Framework identity components for React - translated from @abp/ng.identity","directories":{},"_nodeVersion":"22.17.0","dependencies":{"@abpjs/core":"0.9.0","@emotion/react":"^11.11.0","@chakra-ui/react":"^3.2.0","@abpjs/theme-shared":"0.9.0","@abpjs/permission-management":"0.9.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","jsdom":"^24.0.0","react":"^18.2.0","eslint":"^8.0.0","vitest":"^1.0.0","postcss":"^8.4.32","prettier":"^3.7.4","react-dom":"^18.2.0","typescript":"^5.0.0","tailwindcss":"^3.4.0","@types/react":"^18.2.0","autoprefixer":"^10.4.16","@abp/ng.identity":"0.9.0","@types/react-dom":"^18.2.0","react-router-dom":"^6.20.0","eslint-plugin-react":"^7.0.0","@testing-library/react":"^14.0.0","eslint-config-prettier":"^9.1.2","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^6.0.0","eslint-plugin-react-hooks":"^4.0.0","@testing-library/user-event":"^14.6.1","@typescript-eslint/eslint-plugin":"^6.0.0"},"peerDependencies":{"react":">=17.0.0","react-dom":">=17.0.0","react-router-dom":">=6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/identity_0.9.0_1769752236126_0.07048000849224234","host":"s3://npm-registry-packages-npm-production"}},"1.0.0":{"name":"@abpjs/identity","version":"1.0.0","keywords":["abp","react","framework","identity"],"author":{"name":"tekthar.com"},"license":"LGPL-3.0","_id":"@abpjs/identity@1.0.0","maintainers":[{"name":"aitani","email":"aitani@tekthar.com"}],"homepage":"https://docs.abpjs.io/docs/packages/identity/overview","bugs":{"url":"https://github.com/abpjs/abp-react/issues"},"dist":{"shasum":"512e85dea7c7b8bc606c69d8f44961ada02cbe68","tarball":"https://registry.npmjs.org/@abpjs/identity/-/identity-1.0.0.tgz","fileCount":7,"integrity":"sha512-Z9zRSwGK7CJzoXlir+ctLiso4WIdJk4/JmNwOahqeXAFtdWR36pqHIkkd38ArdWNHbudyVhctipo/nysyXE9uw==","signatures":[{"sig":"MEYCIQDSxc0kQ2JZLv3YFezA1DWaeT/e7yOio3DgcnzaKHScaAIhANwd1Bzq5cffxa4+fa1b69p+wl46z42GUps5ZzxQc0W2","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":138036},"main":"dist/index.js","_from":"file:abpjs-identity-1.0.0.tgz","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"scripts":{"dev":"tsup src/index.ts --format cjs,esm --watch","lint":"eslint src","test":"vitest run","build":"tsup","format":"prettier --write \"src/**/*.{ts,tsx,json,md}\"","lint:fix":"eslint src --fix","test:watch":"vitest","type-check":"tsc --noEmit","format:check":"prettier --check \"src/**/*.{ts,tsx,json,md}\""},"_npmUser":{"name":"aitani","email":"aitani@tekthar.com"},"_resolved":"C:\\Users\\DELL\\AppData\\Local\\Temp\\ecc4b2349da47680126835d55017841a\\abpjs-identity-1.0.0.tgz","_integrity":"sha512-Z9zRSwGK7CJzoXlir+ctLiso4WIdJk4/JmNwOahqeXAFtdWR36pqHIkkd38ArdWNHbudyVhctipo/nysyXE9uw==","repository":{"url":"git+https://github.com/abpjs/abp-react.git","type":"git"},"_npmVersion":"10.9.2","description":"ABP Framework identity components for React - translated from @abp/ng.identity","directories":{},"_nodeVersion":"22.17.0","dependencies":{"@abpjs/core":"1.0.0","@emotion/react":"^11.11.0","@chakra-ui/react":"^3.2.0","@abpjs/theme-shared":"1.0.0","@abpjs/permission-management":"1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","jsdom":"^24.0.0","react":"^18.2.0","eslint":"^8.0.0","vitest":"^1.0.0","postcss":"^8.4.32","prettier":"^3.7.4","react-dom":"^18.2.0","typescript":"^5.0.0","tailwindcss":"^3.4.0","@types/react":"^18.2.0","autoprefixer":"^10.4.16","@abp/ng.identity":"0.9.0","@types/react-dom":"^18.2.0","react-router-dom":"^6.20.0","@vitest/coverage-v8":"^1.0.0","eslint-plugin-react":"^7.0.0","@testing-library/react":"^14.0.0","eslint-config-prettier":"^9.1.2","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^6.0.0","eslint-plugin-react-hooks":"^4.0.0","@testing-library/user-event":"^14.6.1","@typescript-eslint/eslint-plugin":"^6.0.0"},"peerDependencies":{"react":">=17.0.0","react-dom":">=17.0.0","react-router-dom":">=6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/identity_1.0.0_1769804080389_0.561098132474543","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@abpjs/identity","version":"1.1.0","keywords":["abp","react","framework","identity"],"author":{"name":"tekthar.com"},"license":"LGPL-3.0","_id":"@abpjs/identity@1.1.0","maintainers":[{"name":"aitani","email":"aitani@tekthar.com"}],"homepage":"https://docs.abpjs.io/docs/packages/identity/overview","bugs":{"url":"https://github.com/abpjs/abp-react/issues"},"dist":{"shasum":"4af2800e39d721ecf28445a9288379f4046c41c1","tarball":"https://registry.npmjs.org/@abpjs/identity/-/identity-1.1.0.tgz","fileCount":7,"integrity":"sha512-+Hfj/Vo2vFWboUrigqC1tfFDL6+UH0Yw3i7Sg/KUFHYrRX2IsxrAH/V/Kwjv/j/G0KNfzYwRpqXk/St8kviWWA==","signatures":[{"sig":"MEYCIQC+lJ2kJwnoku9dkK8gPqjzxHHTfIOY24Um4Q66+/IwYQIhAMewsp+pwFjWnITdMpxpphHFp5XOPNWcqQfRIzwIc4Jg","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":140183},"main":"dist/index.js","_from":"file:abpjs-identity-1.1.0.tgz","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"scripts":{"dev":"tsup src/index.ts --format cjs,esm --watch","lint":"eslint src","test":"vitest run","build":"tsup","format":"prettier --write \"src/**/*.{ts,tsx,json,md}\"","lint:fix":"eslint src --fix","test:watch":"vitest","type-check":"tsc --noEmit","format:check":"prettier --check \"src/**/*.{ts,tsx,json,md}\""},"_npmUser":{"name":"aitani","email":"aitani@tekthar.com"},"_resolved":"C:\\Users\\DELL\\AppData\\Local\\Temp\\744ed2173a2500d518dfe6c44cc6cc46\\abpjs-identity-1.1.0.tgz","_integrity":"sha512-+Hfj/Vo2vFWboUrigqC1tfFDL6+UH0Yw3i7Sg/KUFHYrRX2IsxrAH/V/Kwjv/j/G0KNfzYwRpqXk/St8kviWWA==","repository":{"url":"git+https://github.com/abpjs/abp-react.git","type":"git","directory":"packages/identity"},"_npmVersion":"10.9.2","description":"ABP Framework identity components for React - translated from @abp/ng.identity","directories":{},"_nodeVersion":"22.17.0","dependencies":{"@abpjs/core":"1.1.0","@emotion/react":"^11.11.0","@chakra-ui/react":"^3.2.0","@abpjs/theme-shared":"1.1.0","@abpjs/permission-management":"1.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","jsdom":"^24.0.0","react":"^18.2.0","eslint":"^8.0.0","vitest":"^1.0.0","postcss":"^8.4.32","prettier":"^3.7.4","react-dom":"^18.2.0","typescript":"^5.0.0","tailwindcss":"^3.4.0","@types/react":"^18.2.0","autoprefixer":"^10.4.16","@abp/ng.identity":"0.9.0","@types/react-dom":"^18.2.0","react-router-dom":"^6.20.0","@vitest/coverage-v8":"^1.0.0","eslint-plugin-react":"^7.0.0","@testing-library/react":"^14.0.0","eslint-config-prettier":"^9.1.2","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^6.0.0","eslint-plugin-react-hooks":"^4.0.0","@testing-library/user-event":"^14.6.1","@typescript-eslint/eslint-plugin":"^6.0.0"},"peerDependencies":{"react":">=17.0.0","react-dom":">=17.0.0","react-router-dom":">=6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/identity_1.1.0_1769880636701_0.10829596865419999","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"@abpjs/identity","version":"2.0.0","keywords":["abp","react","framework","identity"],"author":{"name":"tekthar.com"},"license":"LGPL-3.0","_id":"@abpjs/identity@2.0.0","maintainers":[{"name":"aitani","email":"aitani@tekthar.com"}],"homepage":"https://docs.abpjs.io/docs/packages/identity/overview","bugs":{"url":"https://github.com/abpjs/abp-react/issues"},"dist":{"shasum":"07fa53af14ce085d8851d27e81c46afaa380386c","tarball":"https://registry.npmjs.org/@abpjs/identity/-/identity-2.0.0.tgz","fileCount":7,"integrity":"sha512-130VH0ubwh9sLxV3mCNMP4ij+66AwRQyzWUVdywW+yc7YwAHKdwll84LzU/+vKIosyO+eoXm4LzPawCdLyonsw==","signatures":[{"sig":"MEUCIG16AlmLCLiLcMTiAOv+dNC9pgyVntY2PWdvFhxtHrmeAiEAmmw6Au0DXWU7lkohlLNMSbBEKYnwbOAu9zsSLXlgYFY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":156724},"main":"dist/index.js","_from":"file:abpjs-identity-2.0.0.tgz","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"scripts":{"dev":"tsup src/index.ts --format cjs,esm --watch","lint":"eslint src","test":"vitest run","build":"tsup","format":"prettier --write \"src/**/*.{ts,tsx,json,md}\"","lint:fix":"eslint src --fix","test:watch":"vitest","type-check":"tsc --noEmit","format:check":"prettier --check \"src/**/*.{ts,tsx,json,md}\""},"_npmUser":{"name":"aitani","email":"aitani@tekthar.com"},"_resolved":"C:\\Users\\DELL\\AppData\\Local\\Temp\\3dfe56dbdc3b4bf14c706aef12e7df56\\abpjs-identity-2.0.0.tgz","_integrity":"sha512-130VH0ubwh9sLxV3mCNMP4ij+66AwRQyzWUVdywW+yc7YwAHKdwll84LzU/+vKIosyO+eoXm4LzPawCdLyonsw==","repository":{"url":"git+https://github.com/abpjs/abp-react.git","type":"git","directory":"packages/identity"},"_npmVersion":"10.9.2","description":"ABP Framework identity components for React - translated from @abp/ng.identity","directories":{},"_nodeVersion":"22.17.0","dependencies":{"@abpjs/core":"2.0.0","@emotion/react":"^11.11.0","@chakra-ui/react":"^3.2.0","@abpjs/theme-shared":"2.0.0","@abpjs/permission-management":"2.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","jsdom":"^24.0.0","react":"^18.2.0","eslint":"^8.0.0","vitest":"^1.0.0","postcss":"^8.4.32","prettier":"^3.7.4","react-dom":"^18.2.0","typescript":"^5.0.0","tailwindcss":"^3.4.0","@types/react":"^18.2.0","autoprefixer":"^10.4.16","@abp/ng.identity":"2.0.0","@types/react-dom":"^18.2.0","react-router-dom":"^6.20.0","@vitest/coverage-v8":"^1.0.0","eslint-plugin-react":"^7.0.0","@testing-library/react":"^14.0.0","eslint-config-prettier":"^9.1.2","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^6.0.0","eslint-plugin-react-hooks":"^4.0.0","@testing-library/user-event":"^14.6.1","@typescript-eslint/eslint-plugin":"^6.0.0"},"peerDependencies":{"react":">=17.0.0","react-dom":">=17.0.0","react-router-dom":">=6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/identity_2.0.0_1769923507669_0.4090759402643731","host":"s3://npm-registry-packages-npm-production"}},"2.1.0":{"name":"@abpjs/identity","version":"2.1.0","keywords":["abp","react","framework","identity"],"author":{"name":"tekthar.com"},"license":"LGPL-3.0","_id":"@abpjs/identity@2.1.0","maintainers":[{"name":"aitani","email":"aitani@tekthar.com"}],"homepage":"https://docs.abpjs.io/docs/packages/identity/overview","bugs":{"url":"https://github.com/abpjs/abp-react/issues"},"dist":{"shasum":"643c504b2193e69dd5b3c906719317d05adffbf1","tarball":"https://registry.npmjs.org/@abpjs/identity/-/identity-2.1.0.tgz","fileCount":7,"integrity":"sha512-Z3TOsfqBM6G+EG3qXmiY0Q0dFrSS+tUIXMzsFs2RrJefhHsEcFVrtkw6ZQqR4vAhIzAE97rFk0Wp8YfZJAaf2w==","signatures":[{"sig":"MEYCIQDArHI7KqnJgA15jHeFapC7kq6HDPF4mVD4qyDXKLTIKAIhAI3sSl0IMsAYJiBAAjt+XAFJX8xEUUkO6DWf8Zyf3RUY","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":156724},"main":"dist/index.js","_from":"file:abpjs-identity-2.1.0.tgz","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"scripts":{"dev":"tsup src/index.ts --format cjs,esm --watch","lint":"eslint src","test":"vitest run","build":"tsup","format":"prettier --write \"src/**/*.{ts,tsx,json,md}\"","lint:fix":"eslint src --fix","test:watch":"vitest","type-check":"tsc --noEmit","format:check":"prettier --check \"src/**/*.{ts,tsx,json,md}\""},"_npmUser":{"name":"aitani","email":"aitani@tekthar.com"},"_resolved":"C:\\Users\\DELL\\AppData\\Local\\Temp\\73b65269cc8f4fbf2b026c08e8ce59d8\\abpjs-identity-2.1.0.tgz","_integrity":"sha512-Z3TOsfqBM6G+EG3qXmiY0Q0dFrSS+tUIXMzsFs2RrJefhHsEcFVrtkw6ZQqR4vAhIzAE97rFk0Wp8YfZJAaf2w==","repository":{"url":"git+https://github.com/abpjs/abp-react.git","type":"git","directory":"packages/identity"},"_npmVersion":"10.9.2","description":"ABP Framework identity components for React - translated from @abp/ng.identity","directories":{},"_nodeVersion":"22.17.0","dependencies":{"@abpjs/core":"2.1.0","@emotion/react":"^11.11.0","@chakra-ui/react":"^3.2.0","@abpjs/theme-shared":"2.1.0","@abpjs/permission-management":"2.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","jsdom":"^24.0.0","react":"^18.2.0","eslint":"^8.0.0","vitest":"^1.0.0","postcss":"^8.4.32","prettier":"^3.7.4","react-dom":"^18.2.0","typescript":"^5.0.0","tailwindcss":"^3.4.0","@types/react":"^18.2.0","autoprefixer":"^10.4.16","@abp/ng.identity":"2.1.0","@types/react-dom":"^18.2.0","react-router-dom":"^6.20.0","@vitest/coverage-v8":"^1.0.0","eslint-plugin-react":"^7.0.0","@testing-library/react":"^14.0.0","eslint-config-prettier":"^9.1.2","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^6.0.0","eslint-plugin-react-hooks":"^4.0.0","@testing-library/user-event":"^14.6.1","@typescript-eslint/eslint-plugin":"^6.0.0"},"peerDependencies":{"react":">=17.0.0","react-dom":">=17.0.0","react-router-dom":">=6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/identity_2.1.0_1769928864935_0.185308431566249","host":"s3://npm-registry-packages-npm-production"}},"2.2.0":{"name":"@abpjs/identity","version":"2.2.0","keywords":["abp","react","framework","identity"],"author":{"name":"tekthar.com"},"license":"LGPL-3.0","_id":"@abpjs/identity@2.2.0","maintainers":[{"name":"aitani","email":"aitani@tekthar.com"}],"homepage":"https://docs.abpjs.io/docs/packages/identity/overview","bugs":{"url":"https://github.com/abpjs/abp-react/issues"},"dist":{"shasum":"8343e3ff67e5168044b17e43256f2bad188c35f5","tarball":"https://registry.npmjs.org/@abpjs/identity/-/identity-2.2.0.tgz","fileCount":7,"integrity":"sha512-syr55fl3wPfKsrxOoG1cKWXcMwE38RGNduz2KkA9WN3TyjZmQpjBqZyPIDcO8c4DQeDQgvUZO7Ul7+v307Z4Pg==","signatures":[{"sig":"MEUCIQCVDU0+yNeaMDegDVDbuucnQezwJTgpqeTepv9fovp2+gIgOy9fBQCHrsLpvdjo5X6jIl4ZAw14zm7ng6Jx74lu/PQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":156724},"main":"dist/index.js","_from":"file:abpjs-identity-2.2.0.tgz","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"scripts":{"dev":"tsup src/index.ts --format cjs,esm --watch","lint":"eslint src","test":"vitest run","build":"tsup","format":"prettier --write \"src/**/*.{ts,tsx,json,md}\"","lint:fix":"eslint src --fix","test:watch":"vitest","type-check":"tsc --noEmit","format:check":"prettier --check \"src/**/*.{ts,tsx,json,md}\""},"_npmUser":{"name":"aitani","email":"aitani@tekthar.com"},"_resolved":"C:\\Users\\DELL\\AppData\\Local\\Temp\\45b547fe1e94a45e265fc49bebb1992f\\abpjs-identity-2.2.0.tgz","_integrity":"sha512-syr55fl3wPfKsrxOoG1cKWXcMwE38RGNduz2KkA9WN3TyjZmQpjBqZyPIDcO8c4DQeDQgvUZO7Ul7+v307Z4Pg==","repository":{"url":"git+https://github.com/abpjs/abp-react.git","type":"git","directory":"packages/identity"},"_npmVersion":"10.9.2","description":"ABP Framework identity components for React - translated from @abp/ng.identity","directories":{},"_nodeVersion":"22.17.0","dependencies":{"@abpjs/core":"2.2.0","@emotion/react":"^11.11.0","@chakra-ui/react":"^3.2.0","@abpjs/theme-shared":"2.2.0","@abpjs/permission-management":"2.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","jsdom":"^24.0.0","react":"^18.2.0","eslint":"^8.0.0","vitest":"^1.0.0","postcss":"^8.4.32","prettier":"^3.7.4","react-dom":"^18.2.0","typescript":"^5.0.0","tailwindcss":"^3.4.0","@types/react":"^18.2.0","autoprefixer":"^10.4.16","@abp/ng.identity":"2.2.0","@types/react-dom":"^18.2.0","react-router-dom":"^6.20.0","@vitest/coverage-v8":"^1.0.0","eslint-plugin-react":"^7.0.0","@testing-library/react":"^14.0.0","eslint-config-prettier":"^9.1.2","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^6.0.0","eslint-plugin-react-hooks":"^4.0.0","@testing-library/user-event":"^14.6.1","@typescript-eslint/eslint-plugin":"^6.0.0"},"peerDependencies":{"react":">=17.0.0","react-dom":">=17.0.0","react-router-dom":">=6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/identity_2.2.0_1769979230544_0.27171276618915075","host":"s3://npm-registry-packages-npm-production"}},"2.4.0":{"name":"@abpjs/identity","version":"2.4.0","keywords":["abp","react","framework","identity"],"author":{"name":"tekthar.com"},"license":"LGPL-3.0","_id":"@abpjs/identity@2.4.0","maintainers":[{"name":"aitani","email":"aitani@tekthar.com"}],"homepage":"https://docs.abpjs.io/docs/packages/identity/overview","bugs":{"url":"https://github.com/abpjs/abp-react/issues"},"dist":{"shasum":"81979b8bb128f1472a890b45bb8f0a098d9a20e1","tarball":"https://registry.npmjs.org/@abpjs/identity/-/identity-2.4.0.tgz","fileCount":7,"integrity":"sha512-xv6s68XFkL1RLzFi/DbCeU5o3KrdHudSnAfkZ6QPv2MeeFs21Tf6wp7D/LYukyix61OhilRA8I+pgmTs6EVIDg==","signatures":[{"sig":"MEUCIF3gPjCCZgKmand3yefGR0SoF4jfPh09Gp2M3YoXUWN5AiEAizROCp9I+RcyCUcvt1fo3IfVypO7q7bHYDUtwhit3SA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":158124},"main":"dist/index.js","_from":"file:abpjs-identity-2.4.0.tgz","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"scripts":{"dev":"tsup src/index.ts --format cjs,esm --watch","lint":"eslint src","test":"vitest run","build":"tsup","format":"prettier --write \"src/**/*.{ts,tsx,json,md}\"","lint:fix":"eslint src --fix","test:watch":"vitest","type-check":"tsc --noEmit","format:check":"prettier --check \"src/**/*.{ts,tsx,json,md}\""},"_npmUser":{"name":"aitani","email":"aitani@tekthar.com"},"_resolved":"C:\\Users\\DELL\\AppData\\Local\\Temp\\baf29adb0d7c689e51a6003bad8c3ea6\\abpjs-identity-2.4.0.tgz","_integrity":"sha512-xv6s68XFkL1RLzFi/DbCeU5o3KrdHudSnAfkZ6QPv2MeeFs21Tf6wp7D/LYukyix61OhilRA8I+pgmTs6EVIDg==","repository":{"url":"git+https://github.com/abpjs/abp-react.git","type":"git","directory":"packages/identity"},"_npmVersion":"10.9.2","description":"ABP Framework identity components for React - translated from @abp/ng.identity","directories":{},"_nodeVersion":"22.17.0","dependencies":{"@abpjs/core":"2.4.0","@emotion/react":"^11.11.0","@chakra-ui/react":"^3.2.0","@abpjs/theme-shared":"2.4.0","@abpjs/permission-management":"2.4.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","jsdom":"^24.0.0","react":"^18.2.0","eslint":"^8.0.0","vitest":"^1.0.0","postcss":"^8.4.32","prettier":"^3.7.4","react-dom":"^18.2.0","typescript":"^5.0.0","tailwindcss":"^3.4.0","@types/react":"^18.2.0","autoprefixer":"^10.4.16","@abp/ng.identity":"2.4.0","@types/react-dom":"^18.2.0","react-router-dom":"^6.20.0","@vitest/coverage-v8":"^1.0.0","eslint-plugin-react":"^7.0.0","@testing-library/react":"^14.0.0","eslint-config-prettier":"^9.1.2","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^6.0.0","eslint-plugin-react-hooks":"^4.0.0","@testing-library/user-event":"^14.6.1","@typescript-eslint/eslint-plugin":"^6.0.0"},"peerDependencies":{"react":">=17.0.0","react-dom":">=17.0.0","react-router-dom":">=6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/identity_2.4.0_1769988541606_0.6530910936310701","host":"s3://npm-registry-packages-npm-production"}},"2.7.0":{"name":"@abpjs/identity","version":"2.7.0","keywords":["abp","react","framework","identity"],"author":{"name":"tekthar.com"},"license":"LGPL-3.0","_id":"@abpjs/identity@2.7.0","maintainers":[{"name":"aitani","email":"aitani@tekthar.com"}],"homepage":"https://docs.abpjs.io/docs/packages/identity/overview","bugs":{"url":"https://github.com/abpjs/abp-react/issues"},"dist":{"shasum":"5486675925adfef19e7b85ba1d74c412707b9db0","tarball":"https://registry.npmjs.org/@abpjs/identity/-/identity-2.7.0.tgz","fileCount":7,"integrity":"sha512-t+h7KO5csz+BrQAlNcGHCLOZ3F4IVivNAqnpbTB39+5hTgTs9ZauL/U45JiOmQd3qc4DlGCLUUd+Kfl5/fQXOA==","signatures":[{"sig":"MEYCIQDi8SJ6L7gV6pyR91ZBGwzs1N5cQghWvPMDtXQwiIuEyQIhALx6kz6uXWvnDnMJYaAVBB7SBkVlqSV174KJiuEOAScE","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":163520},"main":"dist/index.js","_from":"file:abpjs-identity-2.7.0.tgz","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"scripts":{"dev":"tsup src/index.ts --format cjs,esm --watch","lint":"eslint src","test":"vitest run","build":"tsup","format":"prettier --write \"src/**/*.{ts,tsx,json,md}\"","lint:fix":"eslint src --fix","test:watch":"vitest","type-check":"tsc --noEmit","format:check":"prettier --check \"src/**/*.{ts,tsx,json,md}\""},"_npmUser":{"name":"aitani","email":"aitani@tekthar.com"},"_resolved":"C:\\Users\\DELL\\AppData\\Local\\Temp\\b9d14667d494ee4324ac3f7bbc6b5937\\abpjs-identity-2.7.0.tgz","_integrity":"sha512-t+h7KO5csz+BrQAlNcGHCLOZ3F4IVivNAqnpbTB39+5hTgTs9ZauL/U45JiOmQd3qc4DlGCLUUd+Kfl5/fQXOA==","repository":{"url":"git+https://github.com/abpjs/abp-react.git","type":"git","directory":"packages/identity"},"_npmVersion":"10.9.2","description":"ABP Framework identity components for React - translated from @abp/ng.identity","directories":{},"_nodeVersion":"22.17.0","dependencies":{"@abpjs/core":"2.7.0","@emotion/react":"^11.11.0","@chakra-ui/react":"^3.2.0","@abpjs/theme-shared":"2.7.0","@abpjs/permission-management":"2.7.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","jsdom":"^24.0.0","react":"^18.2.0","eslint":"^8.0.0","vitest":"^1.0.0","postcss":"^8.4.32","prettier":"^3.7.4","react-dom":"^18.2.0","typescript":"^5.0.0","tailwindcss":"^3.4.0","@types/react":"^18.2.0","autoprefixer":"^10.4.16","@abp/ng.identity":"2.7.0","@types/react-dom":"^18.2.0","react-router-dom":"^6.20.0","@vitest/coverage-v8":"^1.0.0","eslint-plugin-react":"^7.0.0","@testing-library/react":"^14.0.0","eslint-config-prettier":"^9.1.2","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^6.0.0","eslint-plugin-react-hooks":"^4.0.0","@testing-library/user-event":"^14.6.1","@typescript-eslint/eslint-plugin":"^6.0.0"},"peerDependencies":{"react":">=17.0.0","react-dom":">=17.0.0","react-router-dom":">=6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/identity_2.7.0_1770357339880_0.8471423829194862","host":"s3://npm-registry-packages-npm-production"}},"2.9.0":{"name":"@abpjs/identity","version":"2.9.0","keywords":["abp","react","framework","identity"],"author":{"name":"tekthar.com"},"license":"LGPL-3.0","_id":"@abpjs/identity@2.9.0","maintainers":[{"name":"aitani","email":"aitani@tekthar.com"}],"homepage":"https://docs.abpjs.io/docs/packages/identity/overview","bugs":{"url":"https://github.com/abpjs/abp-react/issues"},"dist":{"shasum":"8abb799c00001e38e35dcae377e8806a2909157b","tarball":"https://registry.npmjs.org/@abpjs/identity/-/identity-2.9.0.tgz","fileCount":7,"integrity":"sha512-qG2261UPLEugcygXlEjDlF5PS+q5GSjEptVR59XShnn4XeNJUtPKgqEEXKza+5T9ksuNrZ9pyXWc+CCrrY3WmA==","signatures":[{"sig":"MEQCIFFv9LfdgY0AzQ9nyqvwee3R6C4qiQtROKaPPwlCwu+0AiBuEighYp7EyWaEh5NWpKunkiknIXdldcVnyK9eLZ2FVA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":163520},"main":"dist/index.js","_from":"file:abpjs-identity-2.9.0.tgz","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"scripts":{"dev":"tsup src/index.ts --format cjs,esm --watch","lint":"eslint src","test":"vitest run","build":"tsup","format":"prettier --write \"src/**/*.{ts,tsx,json,md}\"","lint:fix":"eslint src --fix","test:watch":"vitest","type-check":"tsc --noEmit","format:check":"prettier --check \"src/**/*.{ts,tsx,json,md}\""},"_npmUser":{"name":"aitani","email":"aitani@tekthar.com"},"_resolved":"C:\\Users\\DELL\\AppData\\Local\\Temp\\b8265123a786270bf9c1bee5e622b01b\\abpjs-identity-2.9.0.tgz","_integrity":"sha512-qG2261UPLEugcygXlEjDlF5PS+q5GSjEptVR59XShnn4XeNJUtPKgqEEXKza+5T9ksuNrZ9pyXWc+CCrrY3WmA==","repository":{"url":"git+https://github.com/abpjs/abp-react.git","type":"git","directory":"packages/identity"},"_npmVersion":"10.9.2","description":"ABP Framework identity components for React - translated from @abp/ng.identity","directories":{},"_nodeVersion":"22.17.0","dependencies":{"@abpjs/core":"2.9.0","@emotion/react":"^11.11.0","@chakra-ui/react":"^3.2.0","@abpjs/theme-shared":"2.9.0","@abpjs/permission-management":"2.9.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","jsdom":"^24.0.0","react":"^18.2.0","eslint":"^8.0.0","vitest":"^1.0.0","postcss":"^8.4.32","prettier":"^3.7.4","react-dom":"^18.2.0","typescript":"^5.0.0","tailwindcss":"^3.4.0","@types/react":"^18.2.0","autoprefixer":"^10.4.16","@abp/ng.identity":"2.9.0","@types/react-dom":"^18.2.0","react-router-dom":"^6.20.0","@vitest/coverage-v8":"^1.0.0","eslint-plugin-react":"^7.0.0","@testing-library/react":"^14.0.0","eslint-config-prettier":"^9.1.2","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^6.0.0","eslint-plugin-react-hooks":"^4.0.0","@testing-library/user-event":"^14.6.1","@typescript-eslint/eslint-plugin":"^6.0.0"},"peerDependencies":{"react":">=17.0.0","react-dom":">=17.0.0","react-router-dom":">=6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/identity_2.9.0_1770371543716_0.04223681341427388","host":"s3://npm-registry-packages-npm-production"}},"3.0.0":{"name":"@abpjs/identity","version":"3.0.0","keywords":["abp","react","framework","identity"],"author":{"name":"tekthar.com"},"license":"LGPL-3.0","_id":"@abpjs/identity@3.0.0","maintainers":[{"name":"aitani","email":"aitani@tekthar.com"}],"homepage":"https://docs.abpjs.io/docs/packages/identity/overview","bugs":{"url":"https://github.com/abpjs/abp-react/issues"},"dist":{"shasum":"2c27b2d74a15d3aec191e440ebbe1cf5254f645a","tarball":"https://registry.npmjs.org/@abpjs/identity/-/identity-3.0.0.tgz","fileCount":7,"integrity":"sha512-CviA0XaUOz5sma+0lyekKGsFiM3z+/EmvDAuOCwn/6k30KShqZ+19/4M/u2D11NXpPmM3WTrX9nrZ1if9kzMew==","signatures":[{"sig":"MEUCIGYMGxZRZybCL85oVDXqGwyWrj5zM4V6xdSPz0k//iyuAiEAl9UxI8gNmd78q57QP95mfo3z4Cye7I9gLcANDQiq9W0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":172913},"main":"dist/index.js","_from":"file:abpjs-identity-3.0.0.tgz","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"scripts":{"dev":"tsup src/index.ts --format cjs,esm --watch","lint":"eslint src","test":"vitest run","build":"tsup","format":"prettier --write \"src/**/*.{ts,tsx,json,md}\"","lint:fix":"eslint src --fix","test:watch":"vitest","type-check":"tsc --noEmit","format:check":"prettier --check \"src/**/*.{ts,tsx,json,md}\""},"_npmUser":{"name":"aitani","email":"aitani@tekthar.com"},"_resolved":"C:\\Users\\DELL\\AppData\\Local\\Temp\\88f702c6ced5af4a1f2c836e55503124\\abpjs-identity-3.0.0.tgz","_integrity":"sha512-CviA0XaUOz5sma+0lyekKGsFiM3z+/EmvDAuOCwn/6k30KShqZ+19/4M/u2D11NXpPmM3WTrX9nrZ1if9kzMew==","repository":{"url":"git+https://github.com/abpjs/abp-react.git","type":"git","directory":"packages/identity"},"_npmVersion":"10.9.2","description":"ABP Framework identity components for React - translated from @abp/ng.identity","directories":{},"_nodeVersion":"22.17.0","dependencies":{"@abpjs/core":"3.0.0","@emotion/react":"^11.11.0","@chakra-ui/react":"^3.2.0","@abpjs/theme-shared":"3.0.0","@abpjs/permission-management":"3.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","jsdom":"^24.0.0","react":"^18.2.0","eslint":"^8.0.0","vitest":"^1.0.0","postcss":"^8.4.32","prettier":"^3.7.4","react-dom":"^18.2.0","typescript":"^5.0.0","tailwindcss":"^3.4.0","@types/react":"^18.2.0","autoprefixer":"^10.4.16","@abp/ng.identity":"3.0.0","@types/react-dom":"^18.2.0","react-router-dom":"^6.20.0","@vitest/coverage-v8":"^1.0.0","eslint-plugin-react":"^7.0.0","@testing-library/react":"^14.0.0","eslint-config-prettier":"^9.1.2","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^6.0.0","eslint-plugin-react-hooks":"^4.0.0","@testing-library/user-event":"^14.6.1","@typescript-eslint/eslint-plugin":"^6.0.0"},"peerDependencies":{"react":">=17.0.0","react-dom":">=17.0.0","react-router-dom":">=6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/identity_3.0.0_1770414837818_0.9598609726834129","host":"s3://npm-registry-packages-npm-production"}},"3.1.0":{"name":"@abpjs/identity","version":"3.1.0","keywords":["abp","react","framework","identity"],"author":{"name":"tekthar.com"},"license":"LGPL-3.0","_id":"@abpjs/identity@3.1.0","maintainers":[{"name":"aitani","email":"aitani@tekthar.com"}],"homepage":"https://docs.abpjs.io/docs/packages/identity/overview","bugs":{"url":"https://github.com/abpjs/abp-react/issues"},"dist":{"shasum":"22cb18ea6917a82796dbe7ef2fe7e2bf9882ad49","tarball":"https://registry.npmjs.org/@abpjs/identity/-/identity-3.1.0.tgz","fileCount":7,"integrity":"sha512-Wi1ITiFxE4conx4pfgSPmqknmBISu5LIcj830AgHwKtcJ5k72b94pBSkVzXpr2HttnC5/zEATRhPnZ5CccdldA==","signatures":[{"sig":"MEUCIQDD/SPZGD65/mhhOr4SG+V07xgUQaN3MFj/HyUcBJkdiAIgWtNC9fpniE9wIUiEwwlI1wTKbxi7LQ2BO0wF9v7fL2Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":172913},"main":"dist/index.js","_from":"file:abpjs-identity-3.1.0.tgz","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"scripts":{"dev":"tsup src/index.ts --format cjs,esm --watch","lint":"eslint src","test":"vitest run","build":"tsup","format":"prettier --write \"src/**/*.{ts,tsx,json,md}\"","lint:fix":"eslint src --fix","test:watch":"vitest","type-check":"tsc --noEmit","format:check":"prettier --check \"src/**/*.{ts,tsx,json,md}\""},"_npmUser":{"name":"aitani","email":"aitani@tekthar.com"},"_resolved":"C:\\Users\\DELL\\AppData\\Local\\Temp\\a7ee15855a50699f3605a7d77cdc15f3\\abpjs-identity-3.1.0.tgz","_integrity":"sha512-Wi1ITiFxE4conx4pfgSPmqknmBISu5LIcj830AgHwKtcJ5k72b94pBSkVzXpr2HttnC5/zEATRhPnZ5CccdldA==","repository":{"url":"git+https://github.com/abpjs/abp-react.git","type":"git","directory":"packages/identity"},"_npmVersion":"10.9.2","description":"ABP Framework identity components for React - translated from @abp/ng.identity","directories":{},"_nodeVersion":"22.17.0","dependencies":{"@abpjs/core":"3.1.0","@emotion/react":"^11.11.0","@chakra-ui/react":"^3.2.0","@abpjs/theme-shared":"3.1.0","@abpjs/permission-management":"3.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","jsdom":"^24.0.0","react":"^18.2.0","eslint":"^8.0.0","vitest":"^1.0.0","postcss":"^8.4.32","prettier":"^3.7.4","react-dom":"^18.2.0","typescript":"^5.0.0","tailwindcss":"^3.4.0","@types/react":"^18.2.0","autoprefixer":"^10.4.16","@abp/ng.identity":"3.1.0","@types/react-dom":"^18.2.0","react-router-dom":"^6.20.0","@vitest/coverage-v8":"^1.0.0","eslint-plugin-react":"^7.0.0","@testing-library/react":"^14.0.0","eslint-config-prettier":"^9.1.2","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^6.0.0","eslint-plugin-react-hooks":"^4.0.0","@testing-library/user-event":"^14.6.1","@typescript-eslint/eslint-plugin":"^6.0.0"},"peerDependencies":{"react":">=17.0.0","react-dom":">=17.0.0","react-router-dom":">=6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/identity_3.1.0_1770430487903_0.9943380552550909","host":"s3://npm-registry-packages-npm-production"}},"3.2.0":{"name":"@abpjs/identity","version":"3.2.0","keywords":["abp","react","framework","identity"],"author":{"name":"tekthar.com"},"license":"LGPL-3.0","_id":"@abpjs/identity@3.2.0","maintainers":[{"name":"aitani","email":"aitani@tekthar.com"}],"homepage":"https://docs.abpjs.io/docs/packages/identity/overview","bugs":{"url":"https://github.com/abpjs/abp-react/issues"},"dist":{"shasum":"eb3a915b3138bc25d17891e83b0ae0136c3ca17f","tarball":"https://registry.npmjs.org/@abpjs/identity/-/identity-3.2.0.tgz","fileCount":7,"integrity":"sha512-17/ReG9gbn/Vsvli9MfjoxXnvdxPnXVoHwFrzdkfgr2OENq3iOD9Yhk/iF8XIUkBHfZ9jtYEfcWjCqutPTVX3g==","signatures":[{"sig":"MEYCIQDQVJuWApLlb/472aHx/0xy0pylATqdLZJIuxhSsHoWQAIhANPDt412tXxNSKEbBib+UUbbItOnbtuJ385dj8YSOyJR","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":211477},"main":"dist/index.js","_from":"file:abpjs-identity-3.2.0.tgz","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"scripts":{"dev":"tsup src/index.ts --format cjs,esm --watch","lint":"eslint src","test":"vitest run","build":"tsup","format":"prettier --write \"src/**/*.{ts,tsx,json,md}\"","lint:fix":"eslint src --fix","test:watch":"vitest","type-check":"tsc --noEmit","format:check":"prettier --check \"src/**/*.{ts,tsx,json,md}\""},"_npmUser":{"name":"aitani","email":"aitani@tekthar.com"},"_resolved":"C:\\Users\\DELL\\AppData\\Local\\Temp\\bd8b42a6a396ac529d2831d9890f1436\\abpjs-identity-3.2.0.tgz","_integrity":"sha512-17/ReG9gbn/Vsvli9MfjoxXnvdxPnXVoHwFrzdkfgr2OENq3iOD9Yhk/iF8XIUkBHfZ9jtYEfcWjCqutPTVX3g==","repository":{"url":"git+https://github.com/abpjs/abp-react.git","type":"git","directory":"packages/identity"},"_npmVersion":"10.9.2","description":"ABP Framework identity components for React - translated from @abp/ng.identity","directories":{},"_nodeVersion":"22.17.0","dependencies":{"@abpjs/core":"3.2.0","@emotion/react":"^11.11.0","@chakra-ui/react":"^3.2.0","@abpjs/theme-shared":"3.2.0","@abpjs/permission-management":"3.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","jsdom":"^24.0.0","react":"^18.2.0","eslint":"^8.0.0","vitest":"^1.0.0","postcss":"^8.4.32","prettier":"^3.7.4","react-dom":"^18.2.0","typescript":"^5.0.0","tailwindcss":"^3.4.0","@types/react":"^18.2.0","autoprefixer":"^10.4.16","@abp/ng.identity":"3.2.0","@types/react-dom":"^18.2.0","react-router-dom":"^6.20.0","@vitest/coverage-v8":"^1.0.0","eslint-plugin-react":"^7.0.0","@testing-library/react":"^14.0.0","eslint-config-prettier":"^9.1.2","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^6.0.0","eslint-plugin-react-hooks":"^4.0.0","@testing-library/user-event":"^14.6.1","@typescript-eslint/eslint-plugin":"^6.0.0"},"peerDependencies":{"react":">=17.0.0","react-dom":">=17.0.0","react-router-dom":">=6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/identity_3.2.0_1770464580040_0.08603943008859338","host":"s3://npm-registry-packages-npm-production"}},"4.0.0":{"name":"@abpjs/identity","version":"4.0.0","description":"ABP Framework identity components for React - translated from @abp/ng.identity","main":"dist/index.js","module":"dist/index.mjs","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"keywords":["abp","react","framework","identity"],"dependencies":{"@chakra-ui/react":"^3.2.0","@emotion/react":"^11.11.0","@abpjs/core":"4.0.0","@abpjs/theme-shared":"4.0.0","@abpjs/permission-management":"4.0.0"},"devDependencies":{"@abp/ng.identity":"4.0.0","@testing-library/jest-dom":"^6.9.1","@testing-library/react":"^14.0.0","@testing-library/user-event":"^14.6.1","@types/react":"^18.2.0","@types/react-dom":"^18.2.0","@typescript-eslint/eslint-plugin":"^6.0.0","@typescript-eslint/parser":"^6.0.0","autoprefixer":"^10.4.16","eslint":"^8.0.0","eslint-config-prettier":"^9.1.2","eslint-plugin-react":"^7.0.0","eslint-plugin-react-hooks":"^4.0.0","jsdom":"^24.0.0","postcss":"^8.4.32","prettier":"^3.7.4","react":"^18.2.0","react-dom":"^18.2.0","react-router-dom":"^6.20.0","tailwindcss":"^3.4.0","tsup":"^8.0.0","typescript":"^5.0.0","vitest":"^1.0.0","@vitest/coverage-v8":"^1.0.0"},"author":{"name":"tekthar.com"},"license":"LGPL-3.0","publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+https://github.com/abpjs/abp-react.git","directory":"packages/identity"},"homepage":"https://docs.abpjs.io/docs/packages/identity/overview","bugs":{"url":"https://github.com/abpjs/abp-react/issues"},"peerDependencies":{"react":">=17.0.0","react-dom":">=17.0.0","react-router-dom":">=6.0.0"},"scripts":{"build":"tsup","dev":"tsup src/index.ts --format cjs,esm --watch","lint":"eslint src","lint:fix":"eslint src --fix","format":"prettier --write \"src/**/*.{ts,tsx,json,md}\"","format:check":"prettier --check \"src/**/*.{ts,tsx,json,md}\"","type-check":"tsc --noEmit","test":"vitest run","test:watch":"vitest"},"_id":"@abpjs/identity@4.0.0","_integrity":"sha512-hvpCN11PAnMlVxxU5G9VgWbKpu6zIZUF8AXzOKqop5EiU/yikUGoTBfVrT6RqbsWSXQa1FdE1gRMleUcdNL6uQ==","_resolved":"C:\\Users\\DELL\\AppData\\Local\\Temp\\75a5982ab5883c4d1d7c736d05c98766\\abpjs-identity-4.0.0.tgz","_from":"file:abpjs-identity-4.0.0.tgz","_nodeVersion":"22.17.0","_npmVersion":"10.9.2","dist":{"integrity":"sha512-hvpCN11PAnMlVxxU5G9VgWbKpu6zIZUF8AXzOKqop5EiU/yikUGoTBfVrT6RqbsWSXQa1FdE1gRMleUcdNL6uQ==","shasum":"292f73862e807e2ebcf105d7f77786da2d90f6c2","tarball":"https://registry.npmjs.org/@abpjs/identity/-/identity-4.0.0.tgz","fileCount":7,"unpackedSize":195535,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDvt/BlyZFji6ESELo6Issc9LsKbyLznGFY+ad0oij7VAIhAKDeIBHZ6tca0eW2TrzXdnc+rWkrkthFKfpBWVxyl7ke"}]},"_npmUser":{"name":"aitani","email":"aitani@tekthar.com"},"directories":{},"maintainers":[{"name":"aitani","email":"aitani@tekthar.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/identity_4.0.0_1770568012938_0.04660964247806754"},"_hasShrinkwrap":false}},"time":{"created":"2026-01-19T04:55:46.245Z","modified":"2026-02-08T16:26:53.213Z","0.7.6":"2026-01-19T04:55:46.635Z","0.8.0":"2026-01-24T10:28:56.061Z","0.9.0":"2026-01-30T05:50:36.279Z","1.0.0":"2026-01-30T20:14:40.534Z","1.1.0":"2026-01-31T17:30:36.881Z","2.0.0":"2026-02-01T05:25:07.814Z","2.1.0":"2026-02-01T06:54:25.078Z","2.2.0":"2026-02-01T20:53:50.671Z","2.4.0":"2026-02-01T23:29:01.769Z","2.7.0":"2026-02-06T05:55:40.037Z","2.9.0":"2026-02-06T09:52:23.865Z","3.0.0":"2026-02-06T21:53:57.995Z","3.1.0":"2026-02-07T02:14:48.052Z","3.2.0":"2026-02-07T11:43:00.193Z","4.0.0":"2026-02-08T16:26:53.082Z"},"bugs":{"url":"https://github.com/abpjs/abp-react/issues"},"author":{"name":"tekthar.com"},"license":"LGPL-3.0","homepage":"https://docs.abpjs.io/docs/packages/identity/overview","keywords":["abp","react","framework","identity"],"repository":{"type":"git","url":"git+https://github.com/abpjs/abp-react.git","directory":"packages/identity"},"description":"ABP Framework identity components for React - translated from @abp/ng.identity","maintainers":[{"name":"aitani","email":"aitani@tekthar.com"}],"readme":"# @abpjs/identity\r\n\r\n> User and role management UI components for ABP Framework in React\r\n\r\n[![npm version](https://img.shields.io/npm/v/@abpjs/identity.svg)](https://www.npmjs.com/package/@abpjs/identity)\r\n[![License: LGPL-3.0](https://img.shields.io/badge/License-LGPL--3.0-blue.svg)](https://www.gnu.org/licenses/lgpl-3.0)\r\n\r\n## Overview\r\n\r\n`@abpjs/identity` provides a complete identity management interface for ABP-based React applications. It includes comprehensive user and role management with CRUD operations, role assignment, permission management integration, and pagination support.\r\n\r\nThis package is a React translation of the original `@abp/ng.identity` Angular package, bringing full identity management capabilities to React applications.\r\n\r\n## Features\r\n\r\n- **User Management** - Create, read, update, and delete users\r\n- **Role Management** - Create, read, update, and delete roles\r\n- **Role Assignment** - Assign roles to users with checkbox interface\r\n- **Permission Integration** - Seamlessly integrates with permission management\r\n- **Pagination** - Built-in pagination for user lists\r\n- **Search & Filter** - Filter users and roles by name\r\n- **Localization** - Full i18n support using ABP localization\r\n- **Chakra UI** - Beautiful, accessible components\r\n- **TypeScript** - Full type safety with comprehensive definitions\r\n\r\n## Installation\r\n\r\n```bash\r\n# Using npm\r\nnpm install @abpjs/identity\r\n\r\n# Using yarn\r\nyarn add @abpjs/identity\r\n\r\n# Using pnpm\r\npnpm add @abpjs/identity\r\n```\r\n\r\n### Required Dependencies\r\n\r\nThis package requires the following peer dependencies:\r\n\r\n```bash\r\nnpm install @abpjs/core @abpjs/theme-shared @abpjs/permission-management @chakra-ui/react @emotion/react @emotion/styled framer-motion\r\n```\r\n\r\n## Quick Start\r\n\r\n### Using Pre-built Components\r\n\r\nThe easiest way to add identity management to your app:\r\n\r\n```tsx\r\nimport { RolesComponent, UsersComponent } from '@abpjs/identity';\r\nimport { Tabs, TabList, TabPanels, Tab, TabPanel } from '@chakra-ui/react';\r\n\r\nfunction IdentityManagement() {\r\n  return (\r\n    <Tabs>\r\n      <TabList>\r\n        <Tab>Users</Tab>\r\n        <Tab>Roles</Tab>\r\n      </TabList>\r\n\r\n      <TabPanels>\r\n        <TabPanel>\r\n          <UsersComponent\r\n            onUserCreated={(user) => console.log('User created:', user)}\r\n            onUserDeleted={(id) => console.log('User deleted:', id)}\r\n          />\r\n        </TabPanel>\r\n        <TabPanel>\r\n          <RolesComponent\r\n            onRoleCreated={(role) => console.log('Role created:', role)}\r\n            onRoleDeleted={(id) => console.log('Role deleted:', id)}\r\n          />\r\n        </TabPanel>\r\n      </TabPanels>\r\n    </Tabs>\r\n  );\r\n}\r\n```\r\n\r\n### Using Hooks for Custom UI\r\n\r\nBuild your own identity UI using the provided hooks:\r\n\r\n```tsx\r\nimport { useUsers, useRoles, Identity } from '@abpjs/identity';\r\nimport { useEffect } from 'react';\r\n\r\nfunction CustomUsersPage() {\r\n  const {\r\n    users,\r\n    totalCount,\r\n    isLoading,\r\n    fetchUsers,\r\n    createUser,\r\n    deleteUser,\r\n  } = useUsers();\r\n\r\n  useEffect(() => {\r\n    fetchUsers();\r\n  }, [fetchUsers]);\r\n\r\n  const handleCreateUser = async (data: Identity.UserSaveRequest) => {\r\n    const result = await createUser(data);\r\n    if (result.success) {\r\n      console.log('User created successfully!');\r\n    }\r\n  };\r\n\r\n  return (\r\n    <div>\r\n      <h1>Users ({totalCount})</h1>\r\n      {users.map(user => (\r\n        <div key={user.id}>\r\n          <span>{user.userName}</span>\r\n          <span>{user.email}</span>\r\n          <button onClick={() => deleteUser(user.id)}>Delete</button>\r\n        </div>\r\n      ))}\r\n    </div>\r\n  );\r\n}\r\n```\r\n\r\n## Components\r\n\r\n### UsersComponent\r\n\r\nComplete user management component with table, search, pagination, and modals.\r\n\r\n```tsx\r\nimport { UsersComponent } from '@abpjs/identity';\r\n\r\n<UsersComponent\r\n  onUserCreated={(user) => console.log('Created:', user)}\r\n  onUserUpdated={(user) => console.log('Updated:', user)}\r\n  onUserDeleted={(id) => console.log('Deleted:', id)}\r\n/>\r\n```\r\n\r\n**Props:**\r\n\r\n| Prop | Type | Description |\r\n|------|------|-------------|\r\n| `onUserCreated` | `(user: UserItem) => void` | Callback when user is created |\r\n| `onUserUpdated` | `(user: UserItem) => void` | Callback when user is updated |\r\n| `onUserDeleted` | `(id: string) => void` | Callback when user is deleted |\r\n\r\n**Features:**\r\n- User table with actions menu\r\n- Search/filter by username\r\n- Pagination controls\r\n- Create/Edit modal with tabs for user info and role assignment\r\n- Permission management integration\r\n- Delete confirmation dialog\r\n\r\n### RolesComponent\r\n\r\nComplete role management component with table, search, and modals.\r\n\r\n```tsx\r\nimport { RolesComponent } from '@abpjs/identity';\r\n\r\n<RolesComponent\r\n  onRoleCreated={(role) => console.log('Created:', role)}\r\n  onRoleUpdated={(role) => console.log('Updated:', role)}\r\n  onRoleDeleted={(id) => console.log('Deleted:', id)}\r\n/>\r\n```\r\n\r\n**Props:**\r\n\r\n| Prop | Type | Description |\r\n|------|------|-------------|\r\n| `onRoleCreated` | `(role: RoleItem) => void` | Callback when role is created |\r\n| `onRoleUpdated` | `(role: RoleItem) => void` | Callback when role is updated |\r\n| `onRoleDeleted` | `(id: string) => void` | Callback when role is deleted |\r\n\r\n**Features:**\r\n- Role table with actions menu\r\n- Search/filter by role name\r\n- Create/Edit modal with isDefault and isPublic options\r\n- Permission management integration\r\n- Static role protection (cannot delete static roles)\r\n- Delete confirmation dialog\r\n\r\n## Hooks\r\n\r\n### useUsers\r\n\r\nHook for managing users with full CRUD and pagination support.\r\n\r\n```tsx\r\nimport { useUsers } from '@abpjs/identity';\r\n\r\nfunction MyUsersPage() {\r\n  const {\r\n    users,              // Array of users\r\n    totalCount,         // Total user count\r\n    selectedUser,       // Currently selected user\r\n    selectedUserRoles,  // Roles of selected user\r\n    isLoading,          // Loading state\r\n    error,              // Error message\r\n    pageQuery,          // Current pagination params\r\n    fetchUsers,         // Fetch users with optional params\r\n    getUserById,        // Get single user\r\n    getUserRoles,       // Get user's roles\r\n    createUser,         // Create new user\r\n    updateUser,         // Update existing user\r\n    deleteUser,         // Delete user\r\n    setSelectedUser,    // Set selected user\r\n    setPageQuery,       // Update pagination params\r\n    reset,              // Reset all state\r\n  } = useUsers();\r\n\r\n  // Fetch users on mount\r\n  useEffect(() => {\r\n    fetchUsers();\r\n  }, [fetchUsers]);\r\n\r\n  // Pagination example\r\n  const handlePageChange = (page: number) => {\r\n    const newQuery = {\r\n      ...pageQuery,\r\n      skipCount: page * pageQuery.maxResultCount,\r\n    };\r\n    setPageQuery(newQuery);\r\n    fetchUsers(newQuery);\r\n  };\r\n\r\n  // Create user example\r\n  const handleCreate = async () => {\r\n    const result = await createUser({\r\n      userName: 'newuser',\r\n      email: 'user@example.com',\r\n      password: 'SecurePassword123!',\r\n      name: 'John',\r\n      surname: 'Doe',\r\n      phoneNumber: '',\r\n      lockoutEnabled: true,\r\n      twoFactorEnabled: false,\r\n      roleNames: ['admin'],\r\n    });\r\n\r\n    if (result.success) {\r\n      console.log('User created!');\r\n    } else {\r\n      console.error(result.error);\r\n    }\r\n  };\r\n}\r\n```\r\n\r\n### useRoles\r\n\r\nHook for managing roles with full CRUD support.\r\n\r\n```tsx\r\nimport { useRoles } from '@abpjs/identity';\r\n\r\nfunction MyRolesPage() {\r\n  const {\r\n    roles,            // Array of roles\r\n    totalCount,       // Total role count\r\n    selectedRole,     // Currently selected role\r\n    isLoading,        // Loading state\r\n    error,            // Error message\r\n    fetchRoles,       // Fetch all roles\r\n    getRoleById,      // Get single role\r\n    createRole,       // Create new role\r\n    updateRole,       // Update existing role\r\n    deleteRole,       // Delete role\r\n    setSelectedRole,  // Set selected role\r\n    reset,            // Reset all state\r\n  } = useRoles();\r\n\r\n  // Fetch roles on mount\r\n  useEffect(() => {\r\n    fetchRoles();\r\n  }, [fetchRoles]);\r\n\r\n  // Create role example\r\n  const handleCreate = async () => {\r\n    const result = await createRole({\r\n      name: 'Manager',\r\n      isDefault: false,\r\n      isPublic: true,\r\n    });\r\n\r\n    if (result.success) {\r\n      console.log('Role created!');\r\n    }\r\n  };\r\n}\r\n```\r\n\r\n### useIdentity\r\n\r\nCombined hook for managing both users and roles.\r\n\r\n```tsx\r\nimport { useIdentity } from '@abpjs/identity';\r\n\r\nfunction IdentityDashboard() {\r\n  const { roles, users, fetchRoles, fetchUsers } = useIdentity();\r\n\r\n  useEffect(() => {\r\n    fetchRoles();\r\n    fetchUsers();\r\n  }, []);\r\n\r\n  return (\r\n    <div>\r\n      <h2>Users: {users.length}</h2>\r\n      <h2>Roles: {roles.length}</h2>\r\n    </div>\r\n  );\r\n}\r\n```\r\n\r\n## Services\r\n\r\n### IdentityService\r\n\r\nService class for direct API interaction.\r\n\r\n```tsx\r\nimport { IdentityService } from '@abpjs/identity';\r\nimport { useRestService } from '@abpjs/core';\r\n\r\nfunction MyComponent() {\r\n  const restService = useRestService();\r\n  const identityService = new IdentityService(restService);\r\n\r\n  // Role operations\r\n  const roles = await identityService.getRoles();\r\n  const role = await identityService.getRoleById(roleId);\r\n  await identityService.createRole({ name: 'Editor', isDefault: false, isPublic: true });\r\n  await identityService.updateRole(roleId, { name: 'Senior Editor', isDefault: false, isPublic: true });\r\n  await identityService.deleteRole(roleId);\r\n\r\n  // User operations\r\n  const users = await identityService.getUsers({ maxResultCount: 10, skipCount: 0 });\r\n  const user = await identityService.getUserById(userId);\r\n  const userRoles = await identityService.getUserRoles(userId);\r\n  await identityService.createUser({ userName: 'john', email: 'john@example.com', password: 'Pass123!', ... });\r\n  await identityService.updateUser(userId, { ... });\r\n  await identityService.deleteUser(userId);\r\n}\r\n```\r\n\r\n## Data Models\r\n\r\n### Identity Namespace\r\n\r\nAll identity types are exported under the `Identity` namespace:\r\n\r\n```typescript\r\nimport { Identity } from '@abpjs/identity';\r\n\r\n// State shape\r\ninterface Identity.State {\r\n  roles: RoleResponse;\r\n  users: UserResponse;\r\n  selectedRole: RoleItem;\r\n  selectedUser: UserItem;\r\n  selectedUserRoles: RoleItem[];\r\n}\r\n\r\n// Role types\r\ninterface Identity.RoleItem {\r\n  id: string;\r\n  name: string;\r\n  isDefault: boolean;\r\n  isPublic: boolean;\r\n  isStatic: boolean;\r\n  concurrencyStamp: string;\r\n}\r\n\r\ninterface Identity.RoleSaveRequest {\r\n  name: string;\r\n  isDefault: boolean;\r\n  isPublic: boolean;\r\n}\r\n\r\n// User types\r\ninterface Identity.UserItem {\r\n  id: string;\r\n  tenantId: string;\r\n  userName: string;\r\n  name: string;\r\n  surname: string;\r\n  email: string;\r\n  emailConfirmed: boolean;\r\n  phoneNumber: string;\r\n  phoneNumberConfirmed: boolean;\r\n  twoFactorEnabled: boolean;\r\n  lockoutEnabled: boolean;\r\n  isLockedOut: boolean;\r\n  concurrencyStamp: string;\r\n}\r\n\r\ninterface Identity.UserSaveRequest {\r\n  userName: string;\r\n  name: string;\r\n  surname: string;\r\n  email: string;\r\n  phoneNumber: string;\r\n  password: string;\r\n  lockoutEnabled: boolean;\r\n  twoFactorEnabled: boolean;\r\n  roleNames: string[];\r\n}\r\n```\r\n\r\n## Integration Example\r\n\r\nComplete identity management page:\r\n\r\n```tsx\r\nimport { useState } from 'react';\r\nimport { usePermission } from '@abpjs/core';\r\nimport { RolesComponent, UsersComponent } from '@abpjs/identity';\r\nimport {\r\n  Box,\r\n  Tabs,\r\n  TabList,\r\n  TabPanels,\r\n  Tab,\r\n  TabPanel,\r\n  Heading,\r\n  useToast,\r\n} from '@chakra-ui/react';\r\n\r\nfunction IdentityManagementPage() {\r\n  const toast = useToast();\r\n  const { hasPermission } = usePermission();\r\n\r\n  const canViewUsers = hasPermission('AbpIdentity.Users');\r\n  const canViewRoles = hasPermission('AbpIdentity.Roles');\r\n\r\n  const handleUserCreated = (user) => {\r\n    toast({ title: `User ${user.userName} created`, status: 'success' });\r\n  };\r\n\r\n  const handleUserDeleted = () => {\r\n    toast({ title: 'User deleted', status: 'success' });\r\n  };\r\n\r\n  const handleRoleCreated = (role) => {\r\n    toast({ title: `Role ${role.name} created`, status: 'success' });\r\n  };\r\n\r\n  const handleRoleDeleted = () => {\r\n    toast({ title: 'Role deleted', status: 'success' });\r\n  };\r\n\r\n  return (\r\n    <Box p={4}>\r\n      <Heading mb={4}>Identity Management</Heading>\r\n\r\n      <Tabs>\r\n        <TabList>\r\n          {canViewUsers && <Tab>Users</Tab>}\r\n          {canViewRoles && <Tab>Roles</Tab>}\r\n        </TabList>\r\n\r\n        <TabPanels>\r\n          {canViewUsers && (\r\n            <TabPanel>\r\n              <UsersComponent\r\n                onUserCreated={handleUserCreated}\r\n                onUserDeleted={handleUserDeleted}\r\n              />\r\n            </TabPanel>\r\n          )}\r\n          {canViewRoles && (\r\n            <TabPanel>\r\n              <RolesComponent\r\n                onRoleCreated={handleRoleCreated}\r\n                onRoleDeleted={handleRoleDeleted}\r\n              />\r\n            </TabPanel>\r\n          )}\r\n        </TabPanels>\r\n      </Tabs>\r\n    </Box>\r\n  );\r\n}\r\n\r\nexport default IdentityManagementPage;\r\n```\r\n\r\n## ABP Permissions\r\n\r\nThis package respects ABP's identity permissions:\r\n\r\n| Permission | Description |\r\n|------------|-------------|\r\n| `AbpIdentity.Users` | View users |\r\n| `AbpIdentity.Users.Create` | Create users |\r\n| `AbpIdentity.Users.Update` | Update users |\r\n| `AbpIdentity.Users.Delete` | Delete users |\r\n| `AbpIdentity.Users.ManagePermissions` | Manage user permissions |\r\n| `AbpIdentity.Roles` | View roles |\r\n| `AbpIdentity.Roles.Create` | Create roles |\r\n| `AbpIdentity.Roles.Update` | Update roles |\r\n| `AbpIdentity.Roles.Delete` | Delete roles |\r\n| `AbpIdentity.Roles.ManagePermissions` | Manage role permissions |\r\n\r\n## Related Packages\r\n\r\n- [@abpjs/core](https://www.npmjs.com/package/@abpjs/core) - Core infrastructure (required)\r\n- [@abpjs/theme-shared](https://www.npmjs.com/package/@abpjs/theme-shared) - Shared UI components (required)\r\n- [@abpjs/permission-management](https://www.npmjs.com/package/@abpjs/permission-management) - Permission management (required)\r\n- [@abpjs/account](https://www.npmjs.com/package/@abpjs/account) - Account management\r\n- [@abpjs/tenant-management](https://www.npmjs.com/package/@abpjs/tenant-management) - Tenant administration\r\n- [@abpjs/theme-basic](https://www.npmjs.com/package/@abpjs/theme-basic) - Layout components\r\n\r\n## Contributing\r\n\r\nThis package is part of the [ABP React](https://github.com/abpjs/abp-react) monorepo. Contributions are welcome!\r\n\r\n## License\r\n\r\nLGPL-3.0 - See [LICENSE](https://github.com/abpjs/abp-react/blob/main/LICENSE) for details.\r\n\r\n---\r\n\r\n**[View Full Documentation](https://docs.abpjs.io/docs/packages/identity/overview)** | **[Report Issues](https://github.com/abpjs/abp-react/issues)** | **[View Source](https://github.com/abpjs/abp-react/tree/main/packages/identity)**\r\n","readmeFilename":"README.md"}