{"version":3,"file":"SCIMScreen.mjs","sources":["../../../../../../../../web/src/adminPortal/scim/SCIMScreen.tsx"],"sourcesContent":["import Add from '@mui/icons-material/Add';\nimport React from 'react';\n\nimport { Alert } from '../components/Alert';\nimport { Button } from '../components/Button';\nimport { FlexBox } from '../components/FlexBox';\nimport { PageLoadingIndicator } from '../components/PageLoadingIndicator';\nimport { Typography } from '../components/Typography';\nimport { useRbac } from '../utils/useRbac';\nimport { useScimConnection } from '../utils/useScimConnection';\nimport { SCIMConnectionDetailsScreen } from './SCIMConnectionDetailsScreen';\nimport { useScimRouterController } from './SCIMRouter';\n\nconst NewSCIMConnection = () => {\n  const { navigate } = useScimRouterController();\n  const { data: canCreateScim } = useRbac('stytch.scim', 'create');\n\n  if (canCreateScim === undefined) {\n    return <PageLoadingIndicator />;\n  }\n\n  return (\n    <FlexBox gap={3} flexDirection=\"column\">\n      <Typography variant=\"h1\">SCIM</Typography>\n      <FlexBox flexDirection=\"column\" gap={2}>\n        <Typography variant=\"body2\">Set up a SCIM connection to sync from an IdP.</Typography>\n        {canCreateScim ? (\n          <Button\n            type=\"submit\"\n            variant=\"ghost\"\n            startIcon={<Add />}\n            onClick={() => navigate({ screen: 'newConnection' })}\n          >\n            Create\n          </Button>\n        ) : (\n          <Alert>\n            You do not have permission to create SCIM Connections. Please contact your admin if you think this is a\n            mistake.\n          </Alert>\n        )}\n      </FlexBox>\n    </FlexBox>\n  );\n};\n\nexport const SCIMScreen = () => {\n  const { data: connection, isLoading, error } = useScimConnection({ shouldFetch: true });\n\n  if (error) {\n    return <Alert>There was an error loading the SCIM connection.</Alert>;\n  }\n  if (isLoading) {\n    return <PageLoadingIndicator />;\n  }\n\n  return connection ? <SCIMConnectionDetailsScreen connection={connection} /> : <NewSCIMConnection />;\n};\n"],"names":["NewSCIMConnection","navigate","useScimRouterController","data","canCreateScim","useRbac","undefined","React","PageLoadingIndicator","FlexBox","gap","flexDirection","Typography","variant","Button","type","startIcon","Add","onClick","screen","Alert","SCIMScreen","connection","isLoading","error","useScimConnection","shouldFetch","SCIMConnectionDetailsScreen"],"mappings":";;;;;;;;;;;;AAaA,MAAMA,iBAAAA,GAAoB,IAAA;IACxB,MAAM,EAAEC,QAAQ,EAAE,GAAGC,uBAAAA,EAAAA;AACrB,IAAA,MAAM,EAAEC,IAAAA,EAAMC,aAAa,EAAE,GAAGC,QAAQ,aAAA,EAAe,QAAA,CAAA;AAEvD,IAAA,IAAID,kBAAkBE,SAAAA,EAAW;AAC/B,QAAA,qBAAOC,EAAA,CAAA,aAAA,CAACC,oBAAAA,EAAAA,IAAAA,CAAAA;AACV,IAAA;AAEA,IAAA,qBACED,EAAA,CAAA,aAAA,CAACE,OAAAA,EAAAA;QAAQC,GAAAA,EAAK,CAAA;QAAGC,aAAAA,EAAc;qBAC7BJ,EAAA,CAAA,aAAA,CAACK,UAAAA,EAAAA;QAAWC,OAAAA,EAAQ;AAAK,KAAA,EAAA,MAAA,CAAA,gBACzBN,EAAA,CAAA,aAAA,CAACE,OAAAA,EAAAA;QAAQE,aAAAA,EAAc,QAAA;QAASD,GAAAA,EAAK;qBACnCH,EAAA,CAAA,aAAA,CAACK,UAAAA,EAAAA;QAAWC,OAAAA,EAAQ;AAAQ,KAAA,EAAA,+CAAA,CAAA,EAC3BT,8BACCG,EAAA,CAAA,aAAA,CAACO,MAAAA,EAAAA;QACCC,IAAAA,EAAK,QAAA;QACLF,OAAAA,EAAQ,OAAA;AACRG,QAAAA,SAAAA,gBAAWT,EAAA,CAAA,aAAA,CAACU,GAAAA,EAAAA,IAAAA,CAAAA;AACZC,QAAAA,OAAAA,EAAS,IAAMjB,QAAAA,CAAS;gBAAEkB,MAAAA,EAAQ;AAAgB,aAAA;AACnD,KAAA,EAAA,QAAA,CAAA,iBAIDZ,iBAACa,KAAAA,EAAAA,IAAAA,EAAM,kHAAA,CAAA,CAAA,CAAA;AAQjB,CAAA;MAEaC,UAAAA,GAAa,IAAA;IACxB,MAAM,EAAElB,MAAMmB,UAAU,EAAEC,SAAS,EAAEC,KAAK,EAAE,GAAGC,iBAAAA,CAAkB;QAAEC,WAAAA,EAAa;AAAK,KAAA,CAAA;AAErF,IAAA,IAAIF,KAAAA,EAAO;AACT,QAAA,qBAAOjB,iBAACa,KAAAA,EAAAA,IAAAA,EAAM,iDAAA,CAAA;AAChB,IAAA;AACA,IAAA,IAAIG,SAAAA,EAAW;AACb,QAAA,qBAAOhB,EAAA,CAAA,aAAA,CAACC,oBAAAA,EAAAA,IAAAA,CAAAA;AACV,IAAA;AAEA,IAAA,OAAOc,2BAAaf,EAAA,CAAA,aAAA,CAACoB,2BAAAA,EAAAA;QAA4BL,UAAAA,EAAYA;uBAAiBf,EAAA,CAAA,aAAA,CAACP,iBAAAA,EAAAA,IAAAA,CAAAA;AACjF;;;;"}