{"_id":"@apipass/permissions","_rev":"16-3d7ce50cad0125094cfe4c424ca6f72f","name":"@apipass/permissions","dist-tags":{"latest":"1.0.206"},"versions":{"1.0.192":{"name":"@apipass/permissions","version":"1.0.192","_id":"@apipass/permissions@1.0.192","maintainers":[{"name":"apipass","email":"api@apipass.com.br"}],"dist":{"shasum":"e7efa11c7bae31f50cabf1de730497d837805dd7","tarball":"https://registry.npmjs.org/@apipass/permissions/-/permissions-1.0.192.tgz","fileCount":22,"integrity":"sha512-bPy688fAZYKmQR565VZLkp84yNZUGVKOpfX5nM2LT4mXpMpuSOdwThJw1u5z85xnv/aCWEchSjtVh4H+SQK1Ow==","signatures":[{"sig":"MEYCIQD8x77R3XZIekoymkQqkkkV3AgeXWxCcRF7NxkQNINoHgIhALXoC+Q1TI9x174Gds4sxqMETxg2l49fIEjjwcB+XDEX","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":78627},"module":"fesm2022/apipass-permissions.mjs","exports":{".":{"esm":"./esm2022/apipass-permissions.mjs","types":"./index.d.ts","default":"./fesm2022/apipass-permissions.mjs","esm2022":"./esm2022/apipass-permissions.mjs"},"./package.json":{"default":"./package.json"}},"gitHead":"b884655d8c82517302d7b7ea585903e80ad70c7d","typings":"index.d.ts","_npmUser":{"name":"apipass","email":"api@apipass.com.br"},"_npmVersion":"10.8.2","description":"Authorization UI primitives for Angular apps, the counterpart of the React `PermissionGate` / `useResourceActions` used in `account-manager`.","directories":{},"sideEffects":false,"_nodeVersion":"18.20.8","dependencies":{"tslib":"2.5.2"},"_hasShrinkwrap":false,"peerDependencies":{"@angular/core":"16.0.2","@angular/common":"16.0.2","@angular/material":"16.0.1","@apipass/frontend-utils":"*"},"_npmOperationalInternal":{"tmp":"tmp/permissions_1.0.192_1780402271493_0.27005083260711094","host":"s3://npm-registry-packages-npm-production"}},"1.0.193":{"name":"@apipass/permissions","version":"1.0.193","_id":"@apipass/permissions@1.0.193","maintainers":[{"name":"apipass","email":"api@apipass.com.br"}],"dist":{"shasum":"3bca1c582199b789628c948ff6a2aae76a7124b8","tarball":"https://registry.npmjs.org/@apipass/permissions/-/permissions-1.0.193.tgz","fileCount":24,"integrity":"sha512-jmMJEJyE+h0YmUJeMLETRCfUd8GDv8Z2kWF/JWRXud9obJ7KB4LVNHW+JTwdXXw5PFIELGagl1RBnGLeVkkiZg==","signatures":[{"sig":"MEUCIQDeC6/8B7XGZltN9Qga5sdwirT3n/2ucJWjk5u6Pi2XcwIgH5KXduGUDMVr6oYNz4d6LP2RXDZBveUs15MRN86A220=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":89531},"module":"fesm2022/apipass-permissions.mjs","exports":{".":{"esm":"./esm2022/apipass-permissions.mjs","types":"./index.d.ts","default":"./fesm2022/apipass-permissions.mjs","esm2022":"./esm2022/apipass-permissions.mjs"},"./package.json":{"default":"./package.json"}},"gitHead":"9221ba36520627bc3c91598219c6d734d0a8be6c","typings":"index.d.ts","_npmUser":{"name":"apipass","email":"api@apipass.com.br"},"_npmVersion":"10.8.2","description":"Authorization UI primitives for Angular apps, the counterpart of the React `PermissionGate` / `useResourceActions` used in `account-manager`.","directories":{},"sideEffects":false,"_nodeVersion":"18.20.8","dependencies":{"tslib":"2.5.2"},"_hasShrinkwrap":false,"peerDependencies":{"@angular/core":"16.0.2","@angular/common":"16.0.2","@angular/material":"16.0.1","@apipass/frontend-utils":"*"},"_npmOperationalInternal":{"tmp":"tmp/permissions_1.0.193_1780428880916_0.8760500883853872","host":"s3://npm-registry-packages-npm-production"}},"1.0.194":{"name":"@apipass/permissions","version":"1.0.194","_id":"@apipass/permissions@1.0.194","maintainers":[{"name":"apipass","email":"api@apipass.com.br"}],"dist":{"shasum":"a2a3d3430360d952dc565b3e7652d260a864946f","tarball":"https://registry.npmjs.org/@apipass/permissions/-/permissions-1.0.194.tgz","fileCount":26,"integrity":"sha512-zEO66lXy4x7PrcbvcVG+XAUvaPYJQ+NuFNIF4Yo+bQhtJbSSNJS6RTUA2h9fSCmQz46RCAOBz45Pn2G9wCXM8g==","signatures":[{"sig":"MEQCIHot90PMEJkK1LHzzr6BZd936fG4P3Fd2u3d0LVcWpTOAiB587gSr+vzT6VD/nyanVar494ylHt+9vGZWxhGugj2Bg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":110430},"module":"fesm2022/apipass-permissions.mjs","exports":{".":{"esm":"./esm2022/apipass-permissions.mjs","types":"./index.d.ts","default":"./fesm2022/apipass-permissions.mjs","esm2022":"./esm2022/apipass-permissions.mjs"},"./package.json":{"default":"./package.json"}},"gitHead":"211f6a0732bf4f3410ca4a73aa06d758490da12c","typings":"index.d.ts","_npmUser":{"name":"apipass","email":"api@apipass.com.br"},"_npmVersion":"10.8.2","description":"Authorization UI primitives for Angular apps, the counterpart of the React `PermissionGate` / `useResourceActions` used in `account-manager`.","directories":{},"sideEffects":false,"_nodeVersion":"18.20.8","dependencies":{"tslib":"2.5.2"},"_hasShrinkwrap":false,"peerDependencies":{"@angular/core":"16.0.2","@angular/common":"16.0.2","@angular/material":"16.0.1","@apipass/frontend-utils":"*"},"_npmOperationalInternal":{"tmp":"tmp/permissions_1.0.194_1781776769283_0.5463552031956882","host":"s3://npm-registry-packages-npm-production"}},"1.0.195":{"name":"@apipass/permissions","version":"1.0.195","_id":"@apipass/permissions@1.0.195","maintainers":[{"name":"apipass","email":"api@apipass.com.br"}],"dist":{"shasum":"6cd34bd8fe28258aab1fddbb6a90b5de35410fc1","tarball":"https://registry.npmjs.org/@apipass/permissions/-/permissions-1.0.195.tgz","fileCount":29,"integrity":"sha512-tii8QnLXXksWNGPMQ+sIEtIwJlapc/MJ4B6+fWpCtw4pPtv3Xds7X0pf+sNTU/EeHnO4UlvVmv6kERofXoZQcQ==","signatures":[{"sig":"MEYCIQDfbz8wq/hPbDEgo1Hx6Rd5Leq3Nn0m3qTEwbq20oD9SgIhAKcR0xubl5EV6O1NSouRNSig9EYoJl3zQCfnXl2SDJeU","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":136095},"module":"fesm2022/apipass-permissions.mjs","exports":{".":{"esm":"./esm2022/apipass-permissions.mjs","types":"./index.d.ts","default":"./fesm2022/apipass-permissions.mjs","esm2022":"./esm2022/apipass-permissions.mjs"},"./package.json":{"default":"./package.json"}},"gitHead":"7a0d1beb312d73548d6767dd2d6f873fb1dda11b","typings":"index.d.ts","_npmUser":{"name":"apipass","email":"api@apipass.com.br"},"_npmVersion":"10.8.2","description":"Authorization UI primitives for Angular apps, the counterpart of the React `PermissionGate` / `useResourceActions` used in `account-manager`.","directories":{},"sideEffects":false,"_nodeVersion":"18.20.8","dependencies":{"tslib":"2.5.2"},"_hasShrinkwrap":false,"peerDependencies":{"@angular/core":"16.0.2","@angular/common":"16.0.2","@angular/material":"16.0.1","@apipass/frontend-utils":"*"},"_npmOperationalInternal":{"tmp":"tmp/permissions_1.0.195_1781895725608_0.28430239660473555","host":"s3://npm-registry-packages-npm-production"}},"1.0.196":{"name":"@apipass/permissions","version":"1.0.196","_id":"@apipass/permissions@1.0.196","maintainers":[{"name":"apipass","email":"api@apipass.com.br"}],"dist":{"shasum":"1a6b57fefa475d1ad83f90198343324eda265d85","tarball":"https://registry.npmjs.org/@apipass/permissions/-/permissions-1.0.196.tgz","fileCount":24,"integrity":"sha512-MqfXZC1QG5deHil6wViTeTyvgFWem0y9NQaFMFZ1opFDZiYL0IF5Y3Fe2U3mjxkzqNtL5Ve2JOA2UkzJMhPNFg==","signatures":[{"sig":"MEUCIGCWf4/tTE2WhsDaQWpr47WMOjjQLs4400KnrbGu8TZlAiEA85B0nF2YkF4inUPYWXebz/Wfg/tfgJiwuawj+87S7zU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":89531},"module":"fesm2022/apipass-permissions.mjs","exports":{".":{"esm":"./esm2022/apipass-permissions.mjs","types":"./index.d.ts","default":"./fesm2022/apipass-permissions.mjs","esm2022":"./esm2022/apipass-permissions.mjs"},"./package.json":{"default":"./package.json"}},"gitHead":"6118ee90c0da4cc3003a6500c3eb8bbbe0b93919","typings":"index.d.ts","_npmUser":{"name":"apipass","email":"api@apipass.com.br"},"_npmVersion":"10.8.2","description":"Authorization UI primitives for Angular apps, the counterpart of the React `PermissionGate` / `useResourceActions` used in `account-manager`.","directories":{},"sideEffects":false,"_nodeVersion":"18.20.8","dependencies":{"tslib":"2.5.2"},"_hasShrinkwrap":false,"peerDependencies":{"@angular/core":"16.0.2","@angular/common":"16.0.2","@angular/material":"16.0.1","@apipass/frontend-utils":"*"},"_npmOperationalInternal":{"tmp":"tmp/permissions_1.0.196_1782315771359_0.13273046071776107","host":"s3://npm-registry-packages-npm-production"}},"1.0.197":{"name":"@apipass/permissions","version":"1.0.197","_id":"@apipass/permissions@1.0.197","maintainers":[{"name":"apipass","email":"api@apipass.com.br"}],"dist":{"shasum":"bf749ab788a3d985d845a98999e22a8217fea232","tarball":"https://registry.npmjs.org/@apipass/permissions/-/permissions-1.0.197.tgz","fileCount":29,"integrity":"sha512-nwxWNzI2cFdeL6wsmiPxd11ME3/2sO+jrrGXkEGNBqLw45O6TRgPcTYU+s923n5pOI3u4lys8+XrNzWssgZvwA==","signatures":[{"sig":"MEYCIQDLD/zE/z35bHdgKrscMeH1TZV9Grp2NUV4/zpwbNmNawIhAP1yVXnG5SOPWA58mVE6zoMFz4zZrU4ZgszA4kiS2XCE","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":136095},"module":"fesm2022/apipass-permissions.mjs","exports":{".":{"esm":"./esm2022/apipass-permissions.mjs","types":"./index.d.ts","default":"./fesm2022/apipass-permissions.mjs","esm2022":"./esm2022/apipass-permissions.mjs"},"./package.json":{"default":"./package.json"}},"gitHead":"b12ae403b4310486cea401d696017e865658d85a","typings":"index.d.ts","_npmUser":{"name":"apipass","email":"api@apipass.com.br"},"_npmVersion":"10.8.2","description":"Authorization UI primitives for Angular apps, the counterpart of the React `PermissionGate` / `useResourceActions` used in `account-manager`.","directories":{},"sideEffects":false,"_nodeVersion":"18.20.8","dependencies":{"tslib":"2.5.2"},"_hasShrinkwrap":false,"peerDependencies":{"@angular/core":"16.0.2","@angular/common":"16.0.2","@angular/material":"16.0.1","@apipass/frontend-utils":"*"},"_npmOperationalInternal":{"tmp":"tmp/permissions_1.0.197_1782326803054_0.5173817562464158","host":"s3://npm-registry-packages-npm-production"}},"1.0.198":{"name":"@apipass/permissions","version":"1.0.198","_id":"@apipass/permissions@1.0.198","maintainers":[{"name":"apipass","email":"api@apipass.com.br"}],"dist":{"shasum":"59887f4f54d6cf525fb285f833d0a1bf56916135","tarball":"https://registry.npmjs.org/@apipass/permissions/-/permissions-1.0.198.tgz","fileCount":29,"integrity":"sha512-EaMKn4E0LLL+9zBN2GyfFw/Up+YSrdQwX+lUuQaIpwKMFPEqTjtc8SRuum81BH876ZFLQizGoWeBGcNKG1YCDg==","signatures":[{"sig":"MEUCIQDs21vEC9jqIJbq1NzpC0rA9C9Bv/xs8xDISDKkQxAUHwIgCY+eU7JV4GcFoRilA1MuuOX8DBp30TM/yyTuWGlFSUQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":144900},"module":"fesm2022/apipass-permissions.mjs","exports":{".":{"esm":"./esm2022/apipass-permissions.mjs","types":"./index.d.ts","default":"./fesm2022/apipass-permissions.mjs","esm2022":"./esm2022/apipass-permissions.mjs"},"./package.json":{"default":"./package.json"}},"gitHead":"eb90c01c812cd16d547e864ddac1ced888f8cf7c","typings":"index.d.ts","_npmUser":{"name":"apipass","email":"api@apipass.com.br"},"_npmVersion":"10.8.2","description":"Authorization UI primitives for Angular apps, the counterpart of the React `PermissionGate` / `useResourceActions` used in `account-manager`.","directories":{},"sideEffects":false,"_nodeVersion":"18.20.8","dependencies":{"tslib":"2.5.2"},"_hasShrinkwrap":false,"peerDependencies":{"@angular/core":"16.0.2","@angular/common":"16.0.2","@angular/material":"16.0.1","@apipass/frontend-utils":"*"},"_npmOperationalInternal":{"tmp":"tmp/permissions_1.0.198_1783378560002_0.5941108947666593","host":"s3://npm-registry-packages-npm-production"}},"1.0.199":{"name":"@apipass/permissions","version":"1.0.199","_id":"@apipass/permissions@1.0.199","maintainers":[{"name":"apipass","email":"api@apipass.com.br"}],"dist":{"shasum":"0005bcbf231c34ff229e746a20c0bfb941987faf","tarball":"https://registry.npmjs.org/@apipass/permissions/-/permissions-1.0.199.tgz","fileCount":29,"integrity":"sha512-QMWRsi+JjsI/B7tRJPznKeTr33FcG5cG/rpN9Rxd4P42sPOqo4hIxrHEQoCiOyS5oZTiUi5ymjlzPhCoUmFYBA==","signatures":[{"sig":"MEQCIBE4fohnb4VOt1SGHVk/PNK80g/+EcaQUeUyE/5UqU26AiB6Md3cD6/JRIhO1In0tIwHAD/vLdnvusQeNmTwJp/6sw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":148423},"module":"fesm2022/apipass-permissions.mjs","exports":{".":{"esm":"./esm2022/apipass-permissions.mjs","types":"./index.d.ts","default":"./fesm2022/apipass-permissions.mjs","esm2022":"./esm2022/apipass-permissions.mjs"},"./package.json":{"default":"./package.json"}},"gitHead":"b26247c69a7c3b9829f967f1d710d285e732e627","typings":"index.d.ts","_npmUser":{"name":"apipass","email":"api@apipass.com.br"},"_npmVersion":"10.8.2","description":"Authorization UI primitives for Angular apps, the counterpart of the React `PermissionGate` / `useResourceActions` used in `account-manager`.","directories":{},"sideEffects":false,"_nodeVersion":"18.20.8","dependencies":{"tslib":"2.5.2"},"_hasShrinkwrap":false,"peerDependencies":{"@angular/core":"16.0.2","@angular/common":"16.0.2","@angular/material":"16.0.1","@apipass/frontend-utils":"*"},"_npmOperationalInternal":{"tmp":"tmp/permissions_1.0.199_1783453987455_0.4247590660967495","host":"s3://npm-registry-packages-npm-production"}},"1.0.200":{"name":"@apipass/permissions","version":"1.0.200","_id":"@apipass/permissions@1.0.200","maintainers":[{"name":"apipass","email":"api@apipass.com.br"}],"dist":{"shasum":"255308bc353bdbf962e66ad520c50256472e6e11","tarball":"https://registry.npmjs.org/@apipass/permissions/-/permissions-1.0.200.tgz","fileCount":29,"integrity":"sha512-Ap+a20DZ2YNZbNtLxjtYDWsrz4C0+J4lE+17vyPTwnIb1m0GlNkt3FLNktcpz6kwDEAJRMduhR5F78IRkc3uIQ==","signatures":[{"sig":"MEUCIQC2JGyPzF+7kZxgi+12DoN42vV1U9M5qXbQBXk8D4fRngIgMTa1/PmYec7pbFw2ziTI9JgsfkpnV+/wyV27bFoiZ34=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":148423},"module":"fesm2022/apipass-permissions.mjs","exports":{".":{"esm":"./esm2022/apipass-permissions.mjs","types":"./index.d.ts","default":"./fesm2022/apipass-permissions.mjs","esm2022":"./esm2022/apipass-permissions.mjs"},"./package.json":{"default":"./package.json"}},"gitHead":"9c9a86bb8fb0f7d8d073a7b335a80fc5ceb0bbcd","typings":"index.d.ts","_npmUser":{"name":"apipass","email":"api@apipass.com.br"},"_npmVersion":"10.8.2","description":"Authorization UI primitives for Angular apps, the counterpart of the React `PermissionGate` / `useResourceActions` used in `account-manager`.","directories":{},"sideEffects":false,"_nodeVersion":"18.20.8","dependencies":{"tslib":"2.5.2"},"_hasShrinkwrap":false,"peerDependencies":{"@angular/core":"16.0.2","@angular/common":"16.0.2","@angular/material":"16.0.1","@apipass/frontend-utils":"*"},"_npmOperationalInternal":{"tmp":"tmp/permissions_1.0.200_1783968836086_0.17265537300808353","host":"s3://npm-registry-packages-npm-production"}},"1.0.201":{"name":"@apipass/permissions","version":"1.0.201","_id":"@apipass/permissions@1.0.201","maintainers":[{"name":"apipass","email":"api@apipass.com.br"}],"dist":{"shasum":"0579dd12906bdbe7715c573a012e46bfe1ee19a6","tarball":"https://registry.npmjs.org/@apipass/permissions/-/permissions-1.0.201.tgz","fileCount":31,"integrity":"sha512-YlRurhVgeH8/grXEs1itkkAh89bdAOCmQ7X7a8wlj4g4Gch8qlg1aVX/uapEcDscH/BDLeV3L4Jjldd+4YmJHA==","signatures":[{"sig":"MEUCIQCCR2FwvU9gSQwkbIKakhNkv6iE7V4fuxnJO207aYkynwIgf9XHa6bHPdhXWraS8l3Srdp5nz45vNyXl4heXWRr2IE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":154916},"module":"fesm2022/apipass-permissions.mjs","exports":{".":{"esm":"./esm2022/apipass-permissions.mjs","types":"./index.d.ts","default":"./fesm2022/apipass-permissions.mjs","esm2022":"./esm2022/apipass-permissions.mjs"},"./package.json":{"default":"./package.json"}},"gitHead":"28c72aa2e2b2b70bdabd4cc6273e0e7cb2a5d425","typings":"index.d.ts","_npmUser":{"name":"apipass","email":"api@apipass.com.br"},"_npmVersion":"10.8.2","description":"Authorization UI primitives for Angular apps, the counterpart of the React `PermissionGate` / `useResourceActions` used in `account-manager`.","directories":{},"sideEffects":false,"_nodeVersion":"18.20.8","dependencies":{"tslib":"2.5.2"},"_hasShrinkwrap":false,"peerDependencies":{"@angular/core":"16.0.2","@angular/common":"16.0.2","@angular/material":"16.0.1","@apipass/frontend-utils":"*"},"_npmOperationalInternal":{"tmp":"tmp/permissions_1.0.201_1784051442519_0.6829824941184743","host":"s3://npm-registry-packages-npm-production"}},"1.0.202-alpha.0":{"name":"@apipass/permissions","version":"1.0.202-alpha.0","_id":"@apipass/permissions@1.0.202-alpha.0","maintainers":[{"name":"apipass","email":"api@apipass.com.br"}],"dist":{"shasum":"72734c0910d17d223823d592797f30e2e5ed678b","tarball":"https://registry.npmjs.org/@apipass/permissions/-/permissions-1.0.202-alpha.0.tgz","fileCount":31,"integrity":"sha512-OsZPciOV4liA1sQri0YbhpIP0+4t7VI6KueYF/WwRqbAiNwv4joAJVqUtzkKLjGWxNlNKejMgOEmbGchTtdF/g==","signatures":[{"sig":"MEYCIQCMFzanhPSX3vSUmzhnmz3K/zoK+jBrosCon4yZsIX60AIhANe9nuq5+CrDjrJcAsoqutOQsmmJomGawSkDYQ4vtbAY","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":154924},"module":"fesm2022/apipass-permissions.mjs","exports":{".":{"esm":"./esm2022/apipass-permissions.mjs","types":"./index.d.ts","default":"./fesm2022/apipass-permissions.mjs","esm2022":"./esm2022/apipass-permissions.mjs"},"./package.json":{"default":"./package.json"}},"gitHead":"47858a139055267f3972a063fe084116a43db7af","typings":"index.d.ts","_npmUser":{"name":"apipass","email":"api@apipass.com.br"},"_npmVersion":"10.8.2","description":"Authorization UI primitives for Angular apps, the counterpart of the React `PermissionGate` / `useResourceActions` used in `account-manager`.","directories":{},"sideEffects":false,"_nodeVersion":"18.20.8","dependencies":{"tslib":"2.5.2"},"_hasShrinkwrap":false,"peerDependencies":{"@angular/core":"16.0.2","@angular/common":"16.0.2","@angular/material":"16.0.1","@apipass/frontend-utils":"*"},"_npmOperationalInternal":{"tmp":"tmp/permissions_1.0.202-alpha.0_1785786756756_0.010900597637532483","host":"s3://npm-registry-packages-npm-production"}},"1.0.202":{"name":"@apipass/permissions","version":"1.0.202","_id":"@apipass/permissions@1.0.202","maintainers":[{"name":"apipass","email":"api@apipass.com.br"}],"dist":{"shasum":"9d987334522a8e89e2897a44fc85350fc2ad11fe","tarball":"https://registry.npmjs.org/@apipass/permissions/-/permissions-1.0.202.tgz","fileCount":31,"integrity":"sha512-FWYrkPdqMnXDj2oozuS/dhtF32cs4MM77Bm7vcCYm8ff3QHhB8gRVLijULpL9sTcK1MpZh0bMKqXH0dlpiOLmg==","signatures":[{"sig":"MEQCIDV/IC9rfKSgNAMgeZ+rIwj/qTl64w3T7xT60PrLx3N7AiAnoWVD7umfORfHidvnIcUyzluyAadIfUdeiBcTKME07w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":154916},"module":"fesm2022/apipass-permissions.mjs","exports":{".":{"esm":"./esm2022/apipass-permissions.mjs","types":"./index.d.ts","default":"./fesm2022/apipass-permissions.mjs","esm2022":"./esm2022/apipass-permissions.mjs"},"./package.json":{"default":"./package.json"}},"gitHead":"f40729cdfea764d5d15797d42a6d5911a98e20af","typings":"index.d.ts","_npmUser":{"name":"apipass","email":"api@apipass.com.br"},"_npmVersion":"10.8.2","description":"Authorization UI primitives for Angular apps, the counterpart of the React `PermissionGate` / `useResourceActions` used in `account-manager`.","directories":{},"sideEffects":false,"_nodeVersion":"18.20.8","dependencies":{"tslib":"2.5.2"},"_hasShrinkwrap":false,"peerDependencies":{"@angular/core":"16.0.2","@angular/common":"16.0.2","@angular/material":"16.0.1","@apipass/frontend-utils":"*"},"_npmOperationalInternal":{"tmp":"tmp/permissions_1.0.202_1786465511377_0.4894968816785612","host":"s3://npm-registry-packages-npm-production"}},"1.0.203":{"name":"@apipass/permissions","version":"1.0.203","_id":"@apipass/permissions@1.0.203","maintainers":[{"name":"apipass","email":"api@apipass.com.br"}],"dist":{"shasum":"1646631503aac2a3ad5033ef1d1e3964a6b96f1b","tarball":"https://registry.npmjs.org/@apipass/permissions/-/permissions-1.0.203.tgz","fileCount":31,"integrity":"sha512-VLFHcaK4svobHsJwMReBZLH99VGIYTur8wQuC8KlCCLATEyTwfyGmCNpjf9yTNSuZXss3O27aT6BwOTKbaOcaw==","signatures":[{"sig":"MEUCIDJ/gWmAJtR8O59IODtJJNWapnYSkqj0dBzmXcmiKWyoAiEAnf+5YHz1oHoftow+c0RsJbWDovViA6H0HmsyHTx5Nx8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":154916},"module":"fesm2022/apipass-permissions.mjs","exports":{".":{"esm":"./esm2022/apipass-permissions.mjs","types":"./index.d.ts","default":"./fesm2022/apipass-permissions.mjs","esm2022":"./esm2022/apipass-permissions.mjs"},"./package.json":{"default":"./package.json"}},"gitHead":"8433dfbaf1058340ae927c4a8697715520ca64d4","typings":"index.d.ts","_npmUser":{"name":"apipass","email":"api@apipass.com.br"},"_npmVersion":"10.8.2","description":"Authorization UI primitives for Angular apps, the counterpart of the React `PermissionGate` / `useResourceActions` used in `account-manager`.","directories":{},"sideEffects":false,"_nodeVersion":"18.20.8","dependencies":{"tslib":"2.5.2"},"_hasShrinkwrap":false,"peerDependencies":{"@angular/core":"16.0.2","@angular/common":"16.0.2","@angular/material":"16.0.1","@apipass/frontend-utils":"*"},"_npmOperationalInternal":{"tmp":"tmp/permissions_1.0.203_1786470710931_0.8296792939366029","host":"s3://npm-registry-packages-npm-production"}},"1.0.204":{"name":"@apipass/permissions","version":"1.0.204","_id":"@apipass/permissions@1.0.204","maintainers":[{"name":"apipass","email":"api@apipass.com.br"}],"dist":{"shasum":"c6378290c5e9001fd4b4989ba40d0dc90ba1a179","tarball":"https://registry.npmjs.org/@apipass/permissions/-/permissions-1.0.204.tgz","fileCount":31,"integrity":"sha512-ZWibjBoLIclyysbd8VaaVt9CYufkEkrzXaDnTO+InYQXYf8RgDN9MKU2FznWLikPfI8UITLXNAla5J8fGnpHaQ==","signatures":[{"sig":"MEUCIQCRXGm3c/cORu4/1+z5p3laJovHoW9hOGQIixcr38PmmQIgYz92u695Owrs1t0w3cKcqEXJVozvIXlSAkf+QsR3byE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":154916},"module":"fesm2022/apipass-permissions.mjs","exports":{".":{"esm":"./esm2022/apipass-permissions.mjs","types":"./index.d.ts","default":"./fesm2022/apipass-permissions.mjs","esm2022":"./esm2022/apipass-permissions.mjs"},"./package.json":{"default":"./package.json"}},"gitHead":"8dbc8e678b60c744df5bd506e8f1f630e1d1ca4f","typings":"index.d.ts","_npmUser":{"name":"apipass","email":"api@apipass.com.br"},"_npmVersion":"10.8.2","description":"Authorization UI primitives for Angular apps, the counterpart of the React `PermissionGate` / `useResourceActions` used in `account-manager`.","directories":{},"sideEffects":false,"_nodeVersion":"18.20.8","dependencies":{"tslib":"2.5.2"},"_hasShrinkwrap":false,"peerDependencies":{"@angular/core":"16.0.2","@angular/common":"16.0.2","@angular/material":"16.0.1","@apipass/frontend-utils":"*"},"_npmOperationalInternal":{"tmp":"tmp/permissions_1.0.204_1786653276095_0.7332140488071954","host":"s3://npm-registry-packages-npm-production"}},"1.0.205":{"name":"@apipass/permissions","version":"1.0.205","_id":"@apipass/permissions@1.0.205","maintainers":[{"name":"apipass","email":"api@apipass.com.br"}],"dist":{"shasum":"003261ad131f9ab8fcdfeea888424205922980c6","tarball":"https://registry.npmjs.org/@apipass/permissions/-/permissions-1.0.205.tgz","fileCount":31,"integrity":"sha512-0P0c/zdJ3RzBSqYWrEwhfvTgET+v4bJy37tqprUwQBZ434EY5tYnHpdpwvSfTrfy3w8D1TSObwXOUx+QplqooQ==","signatures":[{"sig":"MEUCIGU8AVGf6V4ijXWNK7nmBr9Szs6z301pY+HViW6Q2nkrAiEAgV1+57CtXG90yDTPI9thsvCoAUu++V0VUrBOTqDkF3U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":154916},"module":"fesm2022/apipass-permissions.mjs","exports":{".":{"esm":"./esm2022/apipass-permissions.mjs","types":"./index.d.ts","default":"./fesm2022/apipass-permissions.mjs","esm2022":"./esm2022/apipass-permissions.mjs"},"./package.json":{"default":"./package.json"}},"gitHead":"04999e0be42ae251775bd4f2e39a09f38129fe59","typings":"index.d.ts","_npmUser":{"name":"apipass","email":"api@apipass.com.br"},"_npmVersion":"10.8.2","description":"Authorization UI primitives for Angular apps, the counterpart of the React `PermissionGate` / `useResourceActions` used in `account-manager`.","directories":{},"sideEffects":false,"_nodeVersion":"18.20.8","dependencies":{"tslib":"2.5.2"},"_hasShrinkwrap":false,"peerDependencies":{"@angular/core":"16.0.2","@angular/common":"16.0.2","@angular/material":"16.0.1","@apipass/frontend-utils":"*"},"_npmOperationalInternal":{"tmp":"tmp/permissions_1.0.205_1786992285910_0.8323308091255568","host":"s3://npm-registry-packages-npm-production"}},"1.0.206":{"name":"@apipass/permissions","version":"1.0.206","peerDependencies":{"@angular/common":"16.0.2","@angular/core":"16.0.2","@angular/material":"16.0.1","@apipass/frontend-utils":"*"},"dependencies":{"tslib":"2.5.2"},"module":"fesm2022/apipass-permissions.mjs","typings":"index.d.ts","exports":{"./package.json":{"default":"./package.json"},".":{"types":"./index.d.ts","esm2022":"./esm2022/apipass-permissions.mjs","esm":"./esm2022/apipass-permissions.mjs","default":"./fesm2022/apipass-permissions.mjs"}},"sideEffects":false,"_id":"@apipass/permissions@1.0.206","gitHead":"20d0eb3139b5cd4885f2db9eccb4d86c2a0b2c6b","description":"Authorization UI primitives for Angular apps, the counterpart of the React `PermissionGate` / `useResourceActions` used in `account-manager`.","_nodeVersion":"18.20.8","_npmVersion":"10.8.2","dist":{"integrity":"sha512-1lfGqfHI3PhTd8mspC+pvV8VWfU85YC+wjIPV0WWhbe31C2tzjVzLk+vXWmgKefXb4cX10PSN+mqPaDjg49YGg==","shasum":"416235dd7906c8cf64438899d169acabb8c7af66","tarball":"https://registry.npmjs.org/@apipass/permissions/-/permissions-1.0.206.tgz","fileCount":31,"unpackedSize":154916,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCF2RmLamVSC06hLDwjzkPxoGFX8KmmwZYKybaqDe7Q2wIgO+BudFwzMVoDHM92DT2noYqXD2OD9ilraCw/OpLoRAU="}]},"_npmUser":{"name":"apipass","email":"api@apipass.com.br"},"directories":{},"maintainers":[{"name":"apipass","email":"api@apipass.com.br"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/permissions_1.0.206_1786998033576_0.7790202746405872"},"_hasShrinkwrap":false}},"time":{"created":"2026-06-02T12:11:11.332Z","modified":"2026-08-17T20:20:33.914Z","1.0.192":"2026-06-02T12:11:11.785Z","1.0.193":"2026-06-02T19:34:41.060Z","1.0.194":"2026-06-18T09:59:29.424Z","1.0.195":"2026-06-19T19:02:05.760Z","1.0.196":"2026-06-24T15:42:51.600Z","1.0.197":"2026-06-24T18:46:43.197Z","1.0.198":"2026-07-06T22:56:00.156Z","1.0.199":"2026-07-07T19:53:07.590Z","1.0.200":"2026-07-13T18:53:56.230Z","1.0.201":"2026-07-14T17:50:42.678Z","1.0.202-alpha.0":"2026-08-03T19:52:36.917Z","1.0.202":"2026-08-11T16:25:11.569Z","1.0.203":"2026-08-11T17:51:51.120Z","1.0.204":"2026-08-13T20:34:36.246Z","1.0.205":"2026-08-17T18:44:46.046Z","1.0.206":"2026-08-17T20:20:33.755Z"},"description":"Authorization UI primitives for Angular apps, the counterpart of the React `PermissionGate` / `useResourceActions` used in `account-manager`.","maintainers":[{"name":"apipass","email":"api@apipass.com.br"}],"readme":"# @apipass/permissions\n\nAuthorization UI primitives for Angular apps, the counterpart of the React\n`PermissionGate` / `useResourceActions` used in `account-manager`.\n\nIt provides:\n\n- **`PermissionsService`** — a hybrid orchestrator that decides between **Cerbos**\n  and the **legacy role model** based on a per-app feature toggle.\n- **`<apipass-permission-gate>`** — a render-prop component that, when blocked,\n  shows the action **disabled with an explanatory tooltip** instead of hiding it.\n- **`[apipassPermissionGate]`** — a lightweight attribute directive for native\n  elements.\n\n## Design principles\n\nThese mirror the React `PermissionGate`:\n\n1. **Never hide, always explain.** A blocked action stays in the DOM, disabled,\n   with a tooltip telling the user why — it is not removed with `*ngIf`.\n2. **Presentational.** The gate does not decide permissions; it renders a\n   decision passed in via `isAllowed`. The decision comes from `PermissionsService`.\n3. **Fail-closed.** With Cerbos enabled, any PDP failure denies every action.\n\n## Setup\n\nEach app supplies one `PermissionsConfig` (how to read the Cerbos toggle, how to\nbuild the principal, how to resolve legacy decisions) and wires everything with a\nsingle `providePermissions` call:\n\n```ts\n// permissions-config.factory.ts — the only app-specific piece\nexport function permissionsConfigFactory(featureToggle: FeatureToggleService, iam: IamService): PermissionsConfig {\n  return {\n    cerbosEnabled: async () => (await featureToggle.getFeatures()).isCerbosEnabled(),\n    userInfo: async () => (await iam.getLoggedUserInfo()).cerbosUserInfo,\n    legacyResolver: async ({ kind, action }, ctx) => {\n      const { role } = await iam.getLoggedUserInfo()\n      // map { kind, action } → role.canX()\n      if (kind === 'flow' && action === 'read') return role.canAccessFlow((ctx as LegacyContext)?.projectId)\n      return false\n    }\n  }\n}\n```\n\n```ts\nimport { PermissionsModule, providePermissions } from '@apipass/permissions'\n\n@NgModule({\n  imports: [PermissionsModule, /* ... */],\n  providers: [\n    providePermissions({\n      cerbosUrl: 'https://cerbos.example.com',           // optional: registers CERBOS_SERVICE\n      configFactory: permissionsConfigFactory,\n      deps: [FEATURE_TOGGLE_SERVICE, IAM_SERVICE]\n    })\n  ]\n})\nexport class AppModule {}\n```\n\nFor a static config without DI, pass `config` instead of `configFactory`/`deps`\n(or use the lower-level `providePermissionsConfig`).\n\n`HttpClient` must be available (e.g. via `provideHttpClient()`), as required by\n`provideCerbos` when `cerbosUrl` is set.\n\n> Adoption note: the config callbacks are inherently app-specific. Apps whose\n> `UserInfo` does not expose `cerbosUserInfo` need a small adapter building\n> `{ accountId, domain, roles }` from their own user model.\n\n## Reading permissions\n\n```ts\nconstructor(private readonly permissions: PermissionsService) {}\n\nasync ngOnInit() {\n  const flow = await this.permissions.checkResource({\n    kind: 'flow',\n    actions: ['read', 'update', 'stop'],\n    legacyContext: { projectId: this.projectId }\n  })\n  this.canEdit = flow.can('update')\n  this.canStop = flow.can('stop')\n}\n```\n\nEvaluate several kinds in one round-trip:\n\n```ts\nconst result = await this.permissions.checkResources([\n  { kind: 'stage', actions: ['approve', 'manage-roles'] },\n  { kind: 'flow',  actions: ['read', 'stop'], legacyContext: { projectId } }\n])\nresult.can('stage', 'approve')   // boolean\nresult.for('flow').can('stop')   // boolean\n```\n\n## Gating UI\n\n### Component (recommended for Angular Material)\n\n```html\n<apipass-permission-gate [isAllowed]=\"canCreate\" [noAccessLabel]=\"'PERMISSIONS.NO_CREATE' | translate\">\n  <ng-template let-allowed>\n    <button mat-raised-button [disabled]=\"!allowed\" (click)=\"allowed && create()\">New</button>\n  </ng-template>\n</apipass-permission-gate>\n```\n\nThe template receives `allowed` as its implicit context — the equivalent of the\nReact render-prop `children(allowed)`.\n\n### Directive (native elements)\n\n```html\n<button [apipassPermissionGate]=\"canCreate\" noAccessLabel=\"No permission\" (click)=\"create()\">New</button>\n```\n\nFor Material controls prefer the component: Material reads its own `disabled`\n@Input, not the DOM attribute the directive sets.\n\n## Public API\n\n| Symbol | Kind | Description |\n|---|---|---|\n| `PermissionsService` | service | `checkResource` / `checkResources`, hybrid Cerbos + legacy |\n| `providePermissions` / `ProvidePermissionsOptions` | fn / interface | One-call setup (config + service + optional Cerbos) |\n| `PERMISSIONS_CONFIG` / `providePermissionsConfig` | token / fn | Lower-level per-app wiring |\n| `PermissionsConfig` / `LegacyCheck` | interface | Config contract |\n| `PermissionGateComponent` | component | `<apipass-permission-gate>` |\n| `PermissionGateDirective` | directive | `[apipassPermissionGate]` |\n| `PermissionCheck` | interface | `{ kind, actions, id?, legacyContext? }` |\n| `PermissionResult` / `PermissionResultMap` | interface | `can(...)` / `for(kind)` |\n","readmeFilename":"README.md"}