{"version":3,"file":"index.mjs","sources":["../../../../admin/src/components/Policies/index.jsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Flex, Grid, Typography } from '@strapi/design-system';\nimport get from 'lodash/get';\nimport isEmpty from 'lodash/isEmpty';\nimport without from 'lodash/without';\nimport { useIntl } from 'react-intl';\n\nimport { useUsersPermissions } from '../../contexts/UsersPermissionsContext';\nimport BoundRoute from '../BoundRoute';\n\nconst Policies = () => {\n  const { formatMessage } = useIntl();\n  const { selectedAction, routes } = useUsersPermissions();\n\n  const path = without(selectedAction.split('.'), 'controllers');\n  const controllerRoutes = get(routes, path[0]);\n  const pathResolved = path.slice(1).join('.');\n\n  const displayedRoutes = isEmpty(controllerRoutes)\n    ? []\n    : controllerRoutes.filter((o) => o.handler.endsWith(pathResolved));\n\n  return (\n    <Grid.Item\n      col={5}\n      xs={12}\n      background=\"neutral150\"\n      paddingTop={6}\n      paddingBottom={6}\n      paddingLeft={7}\n      paddingRight={7}\n      style={{ minHeight: '100%' }}\n      direction=\"column\"\n      alignItems=\"stretch\"\n    >\n      {selectedAction ? (\n        <Flex direction=\"column\" alignItems=\"stretch\" gap={2}>\n          {displayedRoutes.map((route, key) => (\n            // eslint-disable-next-line react/no-array-index-key\n            <BoundRoute key={key} route={route} />\n          ))}\n        </Flex>\n      ) : (\n        <Flex direction=\"column\" alignItems=\"stretch\" gap={2}>\n          <Typography variant=\"delta\" tag=\"h3\">\n            {formatMessage({\n              id: 'users-permissions.Policies.header.title',\n              defaultMessage: 'Advanced settings',\n            })}\n          </Typography>\n          <Typography tag=\"p\" textColor=\"neutral600\">\n            {formatMessage({\n              id: 'users-permissions.Policies.header.hint',\n              defaultMessage:\n                \"Select the application's actions or the plugin's actions and click on the cog icon to display the bound route\",\n            })}\n          </Typography>\n        </Flex>\n      )}\n    </Grid.Item>\n  );\n};\n\nexport default Policies;\n"],"names":["Policies","formatMessage","useIntl","selectedAction","routes","useUsersPermissions","path","without","split","controllerRoutes","get","pathResolved","slice","join","displayedRoutes","isEmpty","filter","o","handler","endsWith","_jsx","Grid","Item","col","xs","background","paddingTop","paddingBottom","paddingLeft","paddingRight","style","minHeight","direction","alignItems","Flex","gap","map","route","key","BoundRoute","_jsxs","Typography","variant","tag","id","defaultMessage","textColor"],"mappings":";;;;;;;;;;AAWA,MAAMA,QAAAA,GAAW,IAAA;IACf,MAAM,EAAEC,aAAa,EAAE,GAAGC,OAAAA,EAAAA;AAC1B,IAAA,MAAM,EAAEC,cAAc,EAAEC,MAAM,EAAE,GAAGC,mBAAAA,EAAAA;AAEnC,IAAA,MAAMC,IAAAA,GAAOC,OAAAA,CAAQJ,cAAAA,CAAeK,KAAK,CAAC,GAAA,CAAA,EAAM,aAAA,CAAA;AAChD,IAAA,MAAMC,gBAAAA,GAAmBC,GAAAA,CAAIN,MAAAA,EAAQE,IAAI,CAAC,CAAA,CAAE,CAAA;AAC5C,IAAA,MAAMK,eAAeL,IAAAA,CAAKM,KAAK,CAAC,CAAA,CAAA,CAAGC,IAAI,CAAC,GAAA,CAAA;AAExC,IAAA,MAAMC,eAAAA,GAAkBC,OAAAA,CAAQN,gBAAAA,CAAAA,GAC5B,EAAE,GACFA,gBAAAA,CAAiBO,MAAM,CAAC,CAACC,CAAAA,GAAMA,CAAAA,CAAEC,OAAO,CAACC,QAAQ,CAACR,YAAAA,CAAAA,CAAAA;IAEtD,qBACES,GAAA,CAACC,KAAKC,IAAI,EAAA;QACRC,GAAAA,EAAK,CAAA;QACLC,EAAAA,EAAI,EAAA;QACJC,UAAAA,EAAW,YAAA;QACXC,UAAAA,EAAY,CAAA;QACZC,aAAAA,EAAe,CAAA;QACfC,WAAAA,EAAa,CAAA;QACbC,YAAAA,EAAc,CAAA;QACdC,KAAAA,EAAO;YAAEC,SAAAA,EAAW;AAAO,SAAA;QAC3BC,SAAAA,EAAU,QAAA;QACVC,UAAAA,EAAW,SAAA;AAEV9B,QAAAA,QAAAA,EAAAA,cAAAA,iBACCiB,GAAA,CAACc,IAAAA,EAAAA;YAAKF,SAAAA,EAAU,QAAA;YAASC,UAAAA,EAAW,SAAA;YAAUE,GAAAA,EAAK,CAAA;AAChDrB,YAAAA,QAAAA,EAAAA,eAAAA,CAAgBsB,GAAG,CAAC,CAACC,KAAAA,EAAOC;8BAE3BlB,GAAA,CAACmB,UAAAA,EAAAA;oBAAqBF,KAAAA,EAAOA;AAAZC,iBAAAA,EAAAA,GAAAA,CAAAA;2BAIrBE,IAAA,CAACN,IAAAA,EAAAA;YAAKF,SAAAA,EAAU,QAAA;YAASC,UAAAA,EAAW,SAAA;YAAUE,GAAAA,EAAK,CAAA;;8BACjDf,GAAA,CAACqB,UAAAA,EAAAA;oBAAWC,OAAAA,EAAQ,OAAA;oBAAQC,GAAAA,EAAI,IAAA;8BAC7B1C,aAAAA,CAAc;wBACb2C,EAAAA,EAAI,yCAAA;wBACJC,cAAAA,EAAgB;AAClB,qBAAA;;8BAEFzB,GAAA,CAACqB,UAAAA,EAAAA;oBAAWE,GAAAA,EAAI,GAAA;oBAAIG,SAAAA,EAAU,YAAA;8BAC3B7C,aAAAA,CAAc;wBACb2C,EAAAA,EAAI,wCAAA;wBACJC,cAAAA,EACE;AACJ,qBAAA;;;;;AAMZ;;;;"}