{"_id":"@8base/react-permissions-provider","_rev":"6-75d4cfe7d95b55afc0308c7a4aef9e6a","name":"@8base/react-permissions-provider","dist-tags":{"beta":"3.1.0-beta.0","latest":"3.0.0-beta.0"},"versions":{"3.0.0-beta.0":{"name":"@8base/react-permissions-provider","version":"3.0.0-beta.0","repository":{"type":"git","url":"git+https://github.com/8base/sdk.git"},"homepage":"https://github.com/8base/sdk/tree/master/packages/react/permissions-provider","main":"dist/cjs/index.js","types":"dist/mjs/index.d.ts","module":"dist/mjs/index.js","scripts":{"build":"../../../bin/build-package.sh","watch":"../../../bin/watch-package.sh","test":"NPM_ENV=test jest"},"peerDependencies":{"@apollo/client":"^3.3.7","graphql":"^15.5.0","react":"^17.0.1","react-dom":"^17.0.1"},"dependencies":{"@8base/react-auth":"^3.0.0-beta.0","ramda":"^0.27.1"},"devDependencies":{"@apollo/client":"^3.3.7","@types/graphql":"^14.5.0","@types/jest":"^26.0.20","@types/ramda":"^0.27.36","@types/react":"^17.0.0","@types/react-dom":"^17.0.0","@types/react-test-renderer":"^17.0.0","graphql":"^15.5.0","jest":"26.6.3","prettier":"^2.2.1","react":"^17.0.1","react-dom":"^17.0.1","react-test-renderer":"^17.0.1","ts-jest":"^26.4.4","typescript":"^4.1.3"},"jest":{"globals":{"ts-jest":{"tsconfig":"<rootDir>/tsconfig.json"}},"collectCoverageFrom":["<rootDir>/src/**","!<rootDir>/**/__tests__/**"],"moduleNameMapper":{"@8base/sdk-core":"<rootDir>/../../core/8base-sdk/src/index.ts","@8base/api-client":"<rootDir>/../../core/api-client/src/index.ts","@8base/api-token-auth-client":"<rootDir>/../../core/api-token-auth-client/src/index.ts","@8base/apollo-client":"<rootDir>/../../core/apollo-client/src/index.ts","@8base/apollo-links":"<rootDir>/../../core/apollo-links/src/index.ts","@8base/auth":"<rootDir>/../../core/auth/src/index.ts","@8base/utils":"<rootDir>/../../core/utils/src/index.ts","@8base/validate":"<rootDir>/../../core/validate/src/index.ts","@8base/web-auth0-auth-client":"<rootDir>/../../core/web-auth0-auth-client/src/index.ts","@8base/web-cognito-auth-client":"<rootDir>/../../core/web-cognito-auth-client/src/index.ts","@8base/web-native-auth-client":"<rootDir>/../../core/web-native-auth-client/src/index.ts","@8base/web-oauth-client":"<rootDir>/../../core/web-oauth-client/src/index.ts","@8base/sdk-react":"<rootDir>/../../react/8base-react-sdk/src/index.ts","@8base/react-app-provider":"<rootDir>/../../react/app-provider/src/index.ts","@8base/react-auth":"<rootDir>/../../react/auth/src/index.ts","@8base/react-crud":"<rootDir>/../../react/crud/src/index.ts","@8base/react-file-input":"<rootDir>/../../react/file-input/src/index.ts","@8base/react-forms":"<rootDir>/../../react/forms/src/index.ts","@8base/react-permissions-provider":"<rootDir>/../../react/permissions-provider/src/index.ts","@8base/react-table-schema-provider":"<rootDir>/../../react/table-schema-provider/src/index.ts","@8base/react-utils":"<rootDir>/../../react/utils/src/index.ts"},"moduleFileExtensions":["ts","tsx","js","jsx"],"transform":{"^.+\\.(ts|tsx)$":"ts-jest"},"testMatch":["**/__tests__/**/*.[jt]s?(x)","**/?(*.)+(spec|test).[jt]s?(x)"]},"license":"MIT","description":"The Table Schema Provider fetching list of 8base table schemas and provide it via React Context.","bugs":{"url":"https://github.com/8base/sdk/issues"},"_id":"@8base/react-permissions-provider@3.0.0-beta.0","_nodeVersion":"14.19.3","_npmVersion":"6.14.17","dist":{"integrity":"sha512-rFw7nDE6/jUJ0/n2WmWa0hEEdQNC+aSxJ6iZ52lil2XNpp2rXdF9yD28ZDpvsENAyUrmNBKoLetUkGszh4EqLA==","shasum":"509603b345981b7e5c0bb2cd1f7d162d423bd8ad","tarball":"https://registry.npmjs.org/@8base/react-permissions-provider/-/react-permissions-provider-3.0.0-beta.0.tgz","fileCount":92,"unpackedSize":70670,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCID2uPtMOnjSrb5R0oW9DODamgPJY9t8MYiJ9S0YHEYHTAiBujmg68C6JLf/7CgjUFsttXjV0c7eFEwgvR5emewkJyw=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiszO7ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpKNg//eJICZV/ravUlZ6eEaHEcnw5lOneWdFe6rCNZ7jxdxVCfuwD8\r\nExn69oAhLHNAH8VPi/dAs0pgmnkIHXQyLw2GM+wOti8KQqBXOBaeOPOkKITx\r\n6boCfrdR2EoLel5v18nR8GRIj1J7sPSMXKEUyU8BguxNE9Qy7PGqlPg6PoFH\r\nuoRBMmSrCE7Z0NhMIwknCP24/aqRJz+7PoJClPympPu34b4o05K/Bi5dHXFH\r\n4rukupcUy74MAtc95wjUcLTdPN2bYCwXzgeaNO2gCKUJJoIu+qESKj/cn4Bt\r\n5KqD7EfmvMTsLMxyFfNsguX+UpuiK6SmWHsLHNuFJtfGspqqeUICgdxvkvQp\r\n6+/C3UpHauW4IioDn4asU+uwD4LmeNXigpejJOxRvPfg56IHbf0V/afLJRKo\r\n1miMuDfr9sJPZZ6FgApQbauMTp7+kkkOmxPlnOwcjL6EgOV2XOTtXjCENSWP\r\nqIScch82Q6lA5QfMAPDnFgyIP9wPTSv655XXAFOkYh2Lr6H8fuiR2qNJ841S\r\nFT0vqK4THhcNAwFxJ97AHNIGucYgsEr+6osEGtLdPrNnqTATekxNM85vSASc\r\n786K5pYx2502m7NFuWae5pRTJAImpniyHDhuagbyjxodE7lpxI9Kymqbdb3F\r\nASo7BFZ6r/je8DwzgVPpWhvl7TkTfBJ4H38=\r\n=CIoG\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"8base-bot","email":"npmpublisher@8base.com"},"directories":{},"maintainers":[{"name":"8base-bot","email":"npmpublisher@8base.com"},{"name":"selnapenek","email":"slel64222@gmail.com"},{"name":"8basetimmyers","email":"timothy.myers@8base.com"},{"name":"s1owjke","email":"s1ow933@yahoo.com"},{"name":"eugene.antonevich","email":"eugene.antonevich@8base.com"},{"name":"ilazarev","email":"ilya.lazarev@8base.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-permissions-provider_3.0.0-beta.0_1655911355559_0.489902200820703"},"_hasShrinkwrap":false},"3.0.0-beta.1":{"name":"@8base/react-permissions-provider","version":"3.0.0-beta.1","repository":{"type":"git","url":"git+https://github.com/8base/sdk.git"},"homepage":"https://github.com/8base/sdk/tree/master/packages/react/permissions-provider","main":"dist/cjs/index.js","types":"dist/mjs/index.d.ts","module":"dist/mjs/index.js","scripts":{"build":"../../../bin/build-package.sh","watch":"../../../bin/watch-package.sh","test":"NPM_ENV=test jest"},"peerDependencies":{"@apollo/client":"^3.3.7","graphql":"^15.5.0","react":"^17.0.1","react-dom":"^17.0.1"},"dependencies":{"@8base/react-auth":"^3.0.0-beta.1","ramda":"^0.27.1"},"devDependencies":{"@apollo/client":"^3.3.7","@types/graphql":"^14.5.0","@types/jest":"^26.0.20","@types/ramda":"^0.27.36","@types/react":"^17.0.0","@types/react-dom":"^17.0.0","@types/react-test-renderer":"^17.0.0","graphql":"^15.5.0","jest":"26.6.3","prettier":"^2.2.1","react":"^17.0.1","react-dom":"^17.0.1","react-test-renderer":"^17.0.1","ts-jest":"^26.4.4","typescript":"^4.1.3"},"jest":{"globals":{"ts-jest":{"tsconfig":"<rootDir>/tsconfig.json"}},"collectCoverageFrom":["<rootDir>/src/**","!<rootDir>/**/__tests__/**"],"moduleNameMapper":{"@8base/sdk-core":"<rootDir>/../../core/8base-sdk/src/index.ts","@8base/api-client":"<rootDir>/../../core/api-client/src/index.ts","@8base/api-token-auth-client":"<rootDir>/../../core/api-token-auth-client/src/index.ts","@8base/apollo-client":"<rootDir>/../../core/apollo-client/src/index.ts","@8base/apollo-links":"<rootDir>/../../core/apollo-links/src/index.ts","@8base/auth":"<rootDir>/../../core/auth/src/index.ts","@8base/utils":"<rootDir>/../../core/utils/src/index.ts","@8base/validate":"<rootDir>/../../core/validate/src/index.ts","@8base/web-auth0-auth-client":"<rootDir>/../../core/web-auth0-auth-client/src/index.ts","@8base/web-cognito-auth-client":"<rootDir>/../../core/web-cognito-auth-client/src/index.ts","@8base/web-native-auth-client":"<rootDir>/../../core/web-native-auth-client/src/index.ts","@8base/web-oauth-client":"<rootDir>/../../core/web-oauth-client/src/index.ts","@8base/sdk-react":"<rootDir>/../../react/8base-react-sdk/src/index.ts","@8base/react-app-provider":"<rootDir>/../../react/app-provider/src/index.ts","@8base/react-auth":"<rootDir>/../../react/auth/src/index.ts","@8base/react-crud":"<rootDir>/../../react/crud/src/index.ts","@8base/react-file-input":"<rootDir>/../../react/file-input/src/index.ts","@8base/react-forms":"<rootDir>/../../react/forms/src/index.ts","@8base/react-permissions-provider":"<rootDir>/../../react/permissions-provider/src/index.ts","@8base/react-table-schema-provider":"<rootDir>/../../react/table-schema-provider/src/index.ts","@8base/react-utils":"<rootDir>/../../react/utils/src/index.ts"},"moduleFileExtensions":["ts","tsx","js","jsx"],"transform":{"^.+\\.(ts|tsx)$":"ts-jest"},"testMatch":["**/__tests__/**/*.[jt]s?(x)","**/?(*.)+(spec|test).[jt]s?(x)"]},"license":"MIT","readme":"# 8base Table Schema Provider\n\nThe Table Schema Provider fetching list of 8base table schemas and provide it via React Context.\n\n## API\n\n<!-- Generated by documentation.js. Update this documentation by updating the source code. -->\n\n#### Table of Contents\n\n-   [PermissionsProvider](#permissionsprovider)\n    -   [Properties](#properties)\n\n### PermissionsProvider\n\n**Extends React.Component**\n\nProvider for 8base user permissions\n\n#### Properties\n\n-   `children` **[Function](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Statements/function)** Children of the provider. Could be either react node or function with loading state.\n\n## Usage\n\n### Programatic usage\n\n```jsx\nimport React from 'react';\nimport { PermissionsProvider, PermissionContext, isAllowed } from '@8base/permission-provider';\n\nclass MyComponent extends React.Component {\n  static contextType = PermissionContext;\n\n  render() {\n    const allowed = isAllowed({\n      resource: 'schema',\n      type: 'custom',\n      permission: 'edit'\n    }, this.context);\n\n    return <Button disabled={!allowed}>Edit Schema!</Button>\n  }\n}\n\nconst Application = () => (\n  <PermissionsProvider>\n    {\n      ({ loading }) => loading ? 'Loading...' : (\n        <MyComponent />\n      )\n    }\n  </PermissionsProvider>\n);\n```\n\n### Conditional rendering by schema permission\n\n```jsx\nimport React from 'react';\nimport { PermissionsProvider, IfAllowed } from '@8base/permission-provider';\n\nconst MyComponent = () => (\n  <IfAllowed permissions={[['custom', 'schema', 'edit']]}>\n    <Button>Edit Schema!</Button>\n  </IfAllowed>\n);\n\nconst Application = () => (\n  <PermissionsProvider>\n    {\n      ({ loading }) => loading ? 'Loading...' : (\n        <MyComponent />\n      )\n    }\n  </PermissionsProvider>\n);\n```\n\n### Conditional rendering by data permission\n\n```jsx\nimport React from 'react';\nimport { IfAllowed } from '@8base/permission-provider';\n\nconst MyComponent = () => (\n  <IfAllowed permissions={[['data', 'Clients', 'create']]}>\n    <Button>Create Client!</Button>\n  </IfAllowed>\n);\n\nconst Application = () => (\n  <PermissionsProvider>\n    {\n      ({ loading }) => loading ? 'Loading...' : (\n        <MyComponent />\n      )\n    }\n  </PermissionsProvider>\n);\n```\n\n### Usage with render props\n\n```jsx\nimport React from 'react';\nimport { IfAllowed } from '@8base/permission-provider';\n\nconst MyComponent = () => (\n  <IfAllowed permissions={[['custom', 'schema', 'edit']]}>\n    {\n      (allowed) => <Button disabled={!allowed}>Edit Schema!</Button>\n    }\n  </IfAllowed>\n);\n\nconst Application = () => (\n  <PermissionsProvider>\n    {\n      ({ loading }) => loading ? 'Loading...' : (\n        <MyComponent />\n      )\n    }\n  </PermissionsProvider>\n);\n```\n","readmeFilename":"README.md","description":"The Table Schema Provider fetching list of 8base table schemas and provide it via React Context.","bugs":{"url":"https://github.com/8base/sdk/issues"},"_id":"@8base/react-permissions-provider@3.0.0-beta.1","_nodeVersion":"14.21.3","_npmVersion":"6.14.18","dist":{"integrity":"sha512-Yz5fZkh7oanP//pUQZytfCprAnDLfjEY8IwqkMqo2F1Hr+XP5M08Sbyi9DGcLjyxT4tnm4EVNlmF4nnUczoP0w==","shasum":"4a8dab133d3f19014ebb9b6f7c4adc3f3741ffe3","tarball":"https://registry.npmjs.org/@8base/react-permissions-provider/-/react-permissions-provider-3.0.0-beta.1.tgz","fileCount":92,"unpackedSize":70848,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC3CG0Ho4Awe8IhLJMHT1rbS0PmTGgSwmch5wbjxvl5wgIgW/LCqQfVWPt+Yb76u4rqFG0gJQO95LHv8JKVdcks2Nw="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkNukPACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpMAQ//X6gtXIN4Fij1ScYoHuQ2HhDpFmWgcchFG4Q/u/VegCo1QkR2\r\nooxjRi07cCXGu3/L3cXg6GRcU8ZMONXGlYor/r29PoMBrpCzsfNxobkyY24z\r\njXIEAcrUMC+zwBBN/Fq2RClk7c4v1JvBro0YTXLvIX49eS1NDTQSZGIbEQ+w\r\nkiS60x8QwyNpmmuCL8ad3c7OoCnoZaDzRAmaeNGTbASYUsedC/1O61BRe16R\r\nNNYSvrcHW1nrWVb1GBSz1cPgHM+BUEXtTkTGz4j9FuJhI1TY+YpA8zGsH2xL\r\naVt08yX8PvLqE4cJc0Z1XgS2NKc+cAzYcqGWuXdCOfvwCqpQOUdeAlJst6YE\r\nhDTdRsFwMfuAc6re2TNOJ1BV7xC2ps5M9Ye8dDmEi2kPMRJxXZgn4/PMmtzR\r\nXEMnJBeakHzzFHwo+v4SY5wgwhm31uWYLq90yHNZuCfSVQfkv03i17HUFuW3\r\nRM+GSKL+/b1WIRWbnH5/i0YgCwNxpkrfNmckVhbrvs8YD5rjQ+uCA5rhuCjj\r\nVcNp4PvKbJMAbBQirwzat1cpBC4pf+08mu1GZSYajZIJHg2KW+Y9gjd+lGLs\r\n9C5KYLxqXoot1IhsfkAFOWhcq7sYDALCvWdl6/AH6eS2N2IxHzOZY6SPOVor\r\nbiFR1G2YPeUSio+QLQW1ikI55rSOrln21js=\r\n=BXA7\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"8base-bot","email":"npmpublisher@8base.com"},"directories":{},"maintainers":[{"name":"8base-bot","email":"npmpublisher@8base.com"},{"name":"selnapenek","email":"slel64222@gmail.com"},{"name":"8basetimmyers","email":"timothy.myers@8base.com"},{"name":"s1owjke","email":"s1ow933@yahoo.com"},{"name":"eugene.antonevich","email":"eugene.antonevich@8base.com"},{"name":"ilazarev","email":"ilya.lazarev@8base.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-permissions-provider_3.0.0-beta.1_1681320207501_0.14046840305288533"},"_hasShrinkwrap":false},"3.0.0-beta.3":{"name":"@8base/react-permissions-provider","version":"3.0.0-beta.3","repository":{"type":"git","url":"git+https://github.com/8base/sdk.git"},"homepage":"https://github.com/8base/sdk/tree/master/packages/react/permissions-provider","main":"dist/cjs/index.js","types":"dist/mjs/index.d.ts","module":"dist/mjs/index.js","scripts":{"build":"../../../bin/build-package.sh","watch":"../../../bin/watch-package.sh","test":"NPM_ENV=test jest"},"peerDependencies":{"@apollo/client":"^3.3.7","graphql":"^15.5.0","react":"^17.0.1","react-dom":"^17.0.1"},"dependencies":{"@8base/react-auth":"^3.0.0-beta.3","ramda":"^0.27.1"},"devDependencies":{"@apollo/client":"^3.3.7","@types/graphql":"^14.5.0","@types/jest":"^26.0.20","@types/ramda":"^0.27.36","@types/react":"^17.0.0","@types/react-dom":"^17.0.0","@types/react-test-renderer":"^17.0.0","graphql":"^15.5.0","jest":"26.6.3","prettier":"^2.2.1","react":"^17.0.1","react-dom":"^17.0.1","react-test-renderer":"^17.0.1","ts-jest":"^26.4.4","typescript":"^4.1.3"},"jest":{"globals":{"ts-jest":{"tsconfig":"<rootDir>/tsconfig.json"}},"collectCoverageFrom":["<rootDir>/src/**","!<rootDir>/**/__tests__/**"],"moduleNameMapper":{"@8base/sdk-core":"<rootDir>/../../core/8base-sdk/src/index.ts","@8base/api-client":"<rootDir>/../../core/api-client/src/index.ts","@8base/api-token-auth-client":"<rootDir>/../../core/api-token-auth-client/src/index.ts","@8base/apollo-client":"<rootDir>/../../core/apollo-client/src/index.ts","@8base/apollo-links":"<rootDir>/../../core/apollo-links/src/index.ts","@8base/auth":"<rootDir>/../../core/auth/src/index.ts","@8base/utils":"<rootDir>/../../core/utils/src/index.ts","@8base/validate":"<rootDir>/../../core/validate/src/index.ts","@8base/web-auth0-auth-client":"<rootDir>/../../core/web-auth0-auth-client/src/index.ts","@8base/web-cognito-auth-client":"<rootDir>/../../core/web-cognito-auth-client/src/index.ts","@8base/web-native-auth-client":"<rootDir>/../../core/web-native-auth-client/src/index.ts","@8base/web-oauth-client":"<rootDir>/../../core/web-oauth-client/src/index.ts","@8base/sdk-react":"<rootDir>/../../react/8base-react-sdk/src/index.ts","@8base/react-app-provider":"<rootDir>/../../react/app-provider/src/index.ts","@8base/react-auth":"<rootDir>/../../react/auth/src/index.ts","@8base/react-crud":"<rootDir>/../../react/crud/src/index.ts","@8base/react-file-input":"<rootDir>/../../react/file-input/src/index.ts","@8base/react-forms":"<rootDir>/../../react/forms/src/index.ts","@8base/react-permissions-provider":"<rootDir>/../../react/permissions-provider/src/index.ts","@8base/react-table-schema-provider":"<rootDir>/../../react/table-schema-provider/src/index.ts","@8base/react-utils":"<rootDir>/../../react/utils/src/index.ts"},"moduleFileExtensions":["ts","tsx","js","jsx"],"transform":{"^.+\\.(ts|tsx)$":"ts-jest"},"testMatch":["**/__tests__/**/*.[jt]s?(x)","**/?(*.)+(spec|test).[jt]s?(x)"]},"license":"MIT","readme":"# 8base Table Schema Provider\n\nThe Table Schema Provider fetching list of 8base table schemas and provide it via React Context.\n\n## API\n\n<!-- Generated by documentation.js. Update this documentation by updating the source code. -->\n\n#### Table of Contents\n\n-   [PermissionsProvider](#permissionsprovider)\n    -   [Properties](#properties)\n\n### PermissionsProvider\n\n**Extends React.Component**\n\nProvider for 8base user permissions\n\n#### Properties\n\n-   `children` **[Function](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Statements/function)** Children of the provider. Could be either react node or function with loading state.\n\n## Usage\n\n### Programatic usage\n\n```jsx\nimport React from 'react';\nimport { PermissionsProvider, PermissionContext, isAllowed } from '@8base/permission-provider';\n\nclass MyComponent extends React.Component {\n  static contextType = PermissionContext;\n\n  render() {\n    const allowed = isAllowed({\n      resource: 'schema',\n      type: 'custom',\n      permission: 'edit'\n    }, this.context);\n\n    return <Button disabled={!allowed}>Edit Schema!</Button>\n  }\n}\n\nconst Application = () => (\n  <PermissionsProvider>\n    {\n      ({ loading }) => loading ? 'Loading...' : (\n        <MyComponent />\n      )\n    }\n  </PermissionsProvider>\n);\n```\n\n### Conditional rendering by schema permission\n\n```jsx\nimport React from 'react';\nimport { PermissionsProvider, IfAllowed } from '@8base/permission-provider';\n\nconst MyComponent = () => (\n  <IfAllowed permissions={[['custom', 'schema', 'edit']]}>\n    <Button>Edit Schema!</Button>\n  </IfAllowed>\n);\n\nconst Application = () => (\n  <PermissionsProvider>\n    {\n      ({ loading }) => loading ? 'Loading...' : (\n        <MyComponent />\n      )\n    }\n  </PermissionsProvider>\n);\n```\n\n### Conditional rendering by data permission\n\n```jsx\nimport React from 'react';\nimport { IfAllowed } from '@8base/permission-provider';\n\nconst MyComponent = () => (\n  <IfAllowed permissions={[['data', 'Clients', 'create']]}>\n    <Button>Create Client!</Button>\n  </IfAllowed>\n);\n\nconst Application = () => (\n  <PermissionsProvider>\n    {\n      ({ loading }) => loading ? 'Loading...' : (\n        <MyComponent />\n      )\n    }\n  </PermissionsProvider>\n);\n```\n\n### Usage with render props\n\n```jsx\nimport React from 'react';\nimport { IfAllowed } from '@8base/permission-provider';\n\nconst MyComponent = () => (\n  <IfAllowed permissions={[['custom', 'schema', 'edit']]}>\n    {\n      (allowed) => <Button disabled={!allowed}>Edit Schema!</Button>\n    }\n  </IfAllowed>\n);\n\nconst Application = () => (\n  <PermissionsProvider>\n    {\n      ({ loading }) => loading ? 'Loading...' : (\n        <MyComponent />\n      )\n    }\n  </PermissionsProvider>\n);\n```\n","readmeFilename":"README.md","description":"The Table Schema Provider fetching list of 8base table schemas and provide it via React Context.","bugs":{"url":"https://github.com/8base/sdk/issues"},"_id":"@8base/react-permissions-provider@3.0.0-beta.3","_nodeVersion":"14.21.3","_npmVersion":"6.14.18","dist":{"integrity":"sha512-ongVSLFZe7ZofvZAkYjY51UPl+Sp/n6DlCCqoCZ7c0QtkMWu++rrbzZS3hqTaX2B8z0JMihDkC9j9flf+3HNzw==","shasum":"a40bc42b1e3113cf0ff1171dd4b2d738387968ca","tarball":"https://registry.npmjs.org/@8base/react-permissions-provider/-/react-permissions-provider-3.0.0-beta.3.tgz","fileCount":92,"unpackedSize":71204,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICnlrJ2/hm/azMCkXVDVfbJwhkBNtYGzpQr57wyBNQ21AiByUklXvYTIQou9KUISWLXIOIoY69R4V1miIs1foweEAA=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkNvHXACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqvcRAAhFAd1ZbX7QYPDoFmGEv5HSb4+nGkiJeKt/UcKKtIZg4Y8R5O\r\nIFisnqIyClbh8DO0Z4F6LDEcQ0xQGz+ULu78pmtru35B9mnam+W/R4o9wuYj\r\nHMpwZ74HgolRmOQeyNsHp1dNLtkySBUEALVQYsbE3RURFFCEEj8QMw/2hrUL\r\nTYvuiufFzPPJeyoS/xRe9nfV899q+wyTfGCRaiKIGu3wY4sh0iVORZ50blvT\r\nViG8wf/9sztPLq9KC31psnlj6tiqZvbmDTxZMkVkqbDgWCUPcjXbMa3NWcm2\r\noCD9ETgjHYznIW3ecxwuH6y2qK/nBqZFmZkS1QI5CvS3FKEEbQnOM/su7wpj\r\nBiokAN/0dkXb1zT06MEMFyWKAXOxZ46W44HnKT8BKlIteUJkdBf/oZnkkLjJ\r\n3++VRsYNg699QycXGoJP8BhIbAXPEBJkRjuJ9Cd4PJLZgJpqWdpJIHMfvbSt\r\nvgwX/cOxGM5zLVPXm6bM35w+bU2RgWpabfWdj+m/gFNaz9spXj3Q9szBp79h\r\n1OSjJA+C06lw+vqxHUOuVdQ9OxZ+j+GrFhNJboHJXDrkRR5wvQ421vulugNG\r\nE48lxOuqY0QD5eXxcv7nc4a9vYy+pzsBO8R5h6PIAcT4sh+v0feITF4jwGM+\r\nUWKQ8Q3So6p5m71RdscJ4IatkDvv9AYUzes=\r\n=kyjd\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"8base-bot","email":"npmpublisher@8base.com"},"directories":{},"maintainers":[{"name":"8base-bot","email":"npmpublisher@8base.com"},{"name":"selnapenek","email":"slel64222@gmail.com"},{"name":"8basetimmyers","email":"timothy.myers@8base.com"},{"name":"s1owjke","email":"s1ow933@yahoo.com"},{"name":"eugene.antonevich","email":"eugene.antonevich@8base.com"},{"name":"ilazarev","email":"ilya.lazarev@8base.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-permissions-provider_3.0.0-beta.3_1681322454856_0.9750034084735866"},"_hasShrinkwrap":false},"3.1.0-beta.0":{"name":"@8base/react-permissions-provider","version":"3.1.0-beta.0","repository":{"type":"git","url":"git+https://github.com/8base/sdk.git"},"homepage":"https://github.com/8base/sdk/tree/master/packages/react/permissions-provider","main":"dist/cjs/index.js","types":"dist/mjs/index.d.ts","module":"dist/mjs/index.js","scripts":{"build":"../../../bin/build-package.sh","watch":"../../../bin/watch-package.sh","test":"NPM_ENV=test jest"},"peerDependencies":{"@apollo/client":"^3.3.7","graphql":"^15.5.0","react":">=17.0.1","react-dom":">=17.0.1"},"dependencies":{"@8base/react-auth":"^3.1.0-beta.0","ramda":"^0.27.1"},"devDependencies":{"@apollo/client":"^3.3.7","@types/graphql":"^14.5.0","@types/jest":"^26.0.20","@types/ramda":"^0.27.36","@types/react":"^17.0.0","@types/react-dom":"^17.0.0","@types/react-test-renderer":"^17.0.0","graphql":"^15.5.0","jest":"26.6.3","prettier":"^2.2.1","react":"^17.0.1","react-dom":"^17.0.1","react-test-renderer":"^17.0.1","ts-jest":"^26.4.4","typescript":"^4.1.3"},"jest":{"globals":{"ts-jest":{"tsconfig":"<rootDir>/tsconfig.json"}},"collectCoverageFrom":["<rootDir>/src/**","!<rootDir>/**/__tests__/**"],"moduleNameMapper":{"@8base/sdk-core":"<rootDir>/../../core/8base-sdk/src/index.ts","@8base/api-client":"<rootDir>/../../core/api-client/src/index.ts","@8base/api-token-auth-client":"<rootDir>/../../core/api-token-auth-client/src/index.ts","@8base/apollo-client":"<rootDir>/../../core/apollo-client/src/index.ts","@8base/apollo-links":"<rootDir>/../../core/apollo-links/src/index.ts","@8base/auth":"<rootDir>/../../core/auth/src/index.ts","@8base/utils":"<rootDir>/../../core/utils/src/index.ts","@8base/validate":"<rootDir>/../../core/validate/src/index.ts","@8base/web-auth0-auth-client":"<rootDir>/../../core/web-auth0-auth-client/src/index.ts","@8base/web-cognito-auth-client":"<rootDir>/../../core/web-cognito-auth-client/src/index.ts","@8base/web-native-auth-client":"<rootDir>/../../core/web-native-auth-client/src/index.ts","@8base/web-oauth-client":"<rootDir>/../../core/web-oauth-client/src/index.ts","@8base/sdk-react":"<rootDir>/../../react/8base-react-sdk/src/index.ts","@8base/react-app-provider":"<rootDir>/../../react/app-provider/src/index.ts","@8base/react-auth":"<rootDir>/../../react/auth/src/index.ts","@8base/react-crud":"<rootDir>/../../react/crud/src/index.ts","@8base/react-file-input":"<rootDir>/../../react/file-input/src/index.ts","@8base/react-forms":"<rootDir>/../../react/forms/src/index.ts","@8base/react-permissions-provider":"<rootDir>/../../react/permissions-provider/src/index.ts","@8base/react-table-schema-provider":"<rootDir>/../../react/table-schema-provider/src/index.ts","@8base/react-utils":"<rootDir>/../../react/utils/src/index.ts"},"moduleFileExtensions":["ts","tsx","js","jsx"],"transform":{"^.+\\.(ts|tsx)$":"ts-jest"},"testMatch":["**/__tests__/**/*.[jt]s?(x)","**/?(*.)+(spec|test).[jt]s?(x)"]},"license":"MIT","readme":"# 8base Table Schema Provider\n\nThe Table Schema Provider fetching list of 8base table schemas and provide it via React Context.\n\n## API\n\n<!-- Generated by documentation.js. Update this documentation by updating the source code. -->\n\n#### Table of Contents\n\n-   [PermissionsProvider](#permissionsprovider)\n    -   [Properties](#properties)\n\n### PermissionsProvider\n\n**Extends React.Component**\n\nProvider for 8base user permissions\n\n#### Properties\n\n-   `children` **[Function](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Statements/function)** Children of the provider. Could be either react node or function with loading state.\n\n## Usage\n\n### Programatic usage\n\n```jsx\nimport React from 'react';\nimport { PermissionsProvider, PermissionContext, isAllowed } from '@8base/permission-provider';\n\nclass MyComponent extends React.Component {\n  static contextType = PermissionContext;\n\n  render() {\n    const allowed = isAllowed({\n      resource: 'schema',\n      type: 'custom',\n      permission: 'edit'\n    }, this.context);\n\n    return <Button disabled={!allowed}>Edit Schema!</Button>\n  }\n}\n\nconst Application = () => (\n  <PermissionsProvider>\n    {\n      ({ loading }) => loading ? 'Loading...' : (\n        <MyComponent />\n      )\n    }\n  </PermissionsProvider>\n);\n```\n\n### Conditional rendering by schema permission\n\n```jsx\nimport React from 'react';\nimport { PermissionsProvider, IfAllowed } from '@8base/permission-provider';\n\nconst MyComponent = () => (\n  <IfAllowed permissions={[['custom', 'schema', 'edit']]}>\n    <Button>Edit Schema!</Button>\n  </IfAllowed>\n);\n\nconst Application = () => (\n  <PermissionsProvider>\n    {\n      ({ loading }) => loading ? 'Loading...' : (\n        <MyComponent />\n      )\n    }\n  </PermissionsProvider>\n);\n```\n\n### Conditional rendering by data permission\n\n```jsx\nimport React from 'react';\nimport { IfAllowed } from '@8base/permission-provider';\n\nconst MyComponent = () => (\n  <IfAllowed permissions={[['data', 'Clients', 'create']]}>\n    <Button>Create Client!</Button>\n  </IfAllowed>\n);\n\nconst Application = () => (\n  <PermissionsProvider>\n    {\n      ({ loading }) => loading ? 'Loading...' : (\n        <MyComponent />\n      )\n    }\n  </PermissionsProvider>\n);\n```\n\n### Usage with render props\n\n```jsx\nimport React from 'react';\nimport { IfAllowed } from '@8base/permission-provider';\n\nconst MyComponent = () => (\n  <IfAllowed permissions={[['custom', 'schema', 'edit']]}>\n    {\n      (allowed) => <Button disabled={!allowed}>Edit Schema!</Button>\n    }\n  </IfAllowed>\n);\n\nconst Application = () => (\n  <PermissionsProvider>\n    {\n      ({ loading }) => loading ? 'Loading...' : (\n        <MyComponent />\n      )\n    }\n  </PermissionsProvider>\n);\n```\n","readmeFilename":"README.md","description":"The Table Schema Provider fetching list of 8base table schemas and provide it via React Context.","bugs":{"url":"https://github.com/8base/sdk/issues"},"_id":"@8base/react-permissions-provider@3.1.0-beta.0","_nodeVersion":"14.21.3","_npmVersion":"6.14.18","dist":{"integrity":"sha512-/eve3WmAvZz+rNgnWAQLwiWzrad0UtgL1qyHacXPqM7i6pnk7Uy59fJIqtfTs6cx9s96dwYPMRVGaycieWSdxg==","shasum":"e76baa87a5f2abaf3b9800ab456b1ba9b21f15b4","tarball":"https://registry.npmjs.org/@8base/react-permissions-provider/-/react-permissions-provider-3.1.0-beta.0.tgz","fileCount":92,"unpackedSize":71206,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEZ5oRw0+HSXihMLV5heOw5+3Gf4cg+E/Mh6QPXB+v/HAiAy18Syvt1bJmVJ8sJBlV5u4C5WW0jfXKVO36sxeGGc+A=="}]},"_npmUser":{"name":"8base-bot","email":"npmpublisher@8base.com"},"directories":{},"maintainers":[{"name":"dav1nx1","email":"oscar.corcho@8base.com"},{"name":"jorge.osorio","email":"jorge.osorio@8base.com"},{"name":"8base-bot","email":"npmpublisher@8base.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-permissions-provider_3.1.0-beta.0_1700841715963_0.8807198949124244"},"_hasShrinkwrap":false}},"time":{"created":"2022-06-22T15:22:35.497Z","3.0.0-beta.0":"2022-06-22T15:22:35.765Z","modified":"2023-11-24T16:01:56.343Z","3.0.0-beta.1":"2023-04-12T17:23:27.726Z","3.0.0-beta.3":"2023-04-12T18:00:55.040Z","3.1.0-beta.0":"2023-11-24T16:01:56.142Z"},"maintainers":[{"name":"dav1nx1","email":"oscar.corcho@8base.com"},{"name":"jorge.osorio","email":"jorge.osorio@8base.com"},{"name":"8base-bot","email":"npmpublisher@8base.com"}],"description":"The Table Schema Provider fetching list of 8base table schemas and provide it via React Context.","homepage":"https://github.com/8base/sdk/tree/master/packages/react/permissions-provider","repository":{"type":"git","url":"git+https://github.com/8base/sdk.git"},"bugs":{"url":"https://github.com/8base/sdk/issues"},"license":"MIT","readme":"","readmeFilename":""}