@verii/components-organizations-registrar 1.0.0 → 1.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/chunks/HolderWalletSelection.BYj3foq0.js +167 -0
- package/dist/chunks/HolderWalletSelection.BYj3foq0.js.map +1 -0
- package/dist/chunks/HolderWalletSelection.BvPFTrTh.js +166 -0
- package/dist/chunks/HolderWalletSelection.BvPFTrTh.js.map +1 -0
- package/dist/chunks/{ServicesEdit.BnnqC203.js → ServicesEdit.CrmS66vz.js} +75 -50
- package/dist/chunks/ServicesEdit.CrmS66vz.js.map +1 -0
- package/dist/chunks/{ServicesEdit.DDgjS5kU.js → ServicesEdit.DFxcohIF.js} +75 -50
- package/dist/chunks/ServicesEdit.DFxcohIF.js.map +1 -0
- package/dist/chunks/{SetInvitationService.PxAGwk-I.js → SetInvitationService.BeU7-IBo.js} +3 -3
- package/dist/chunks/{SetInvitationService.PxAGwk-I.js.map → SetInvitationService.BeU7-IBo.js.map} +1 -1
- package/dist/chunks/{SetInvitationService.ZT5lP003.js → SetInvitationService.DtVH6OkH.js} +3 -3
- package/dist/chunks/{SetInvitationService.ZT5lP003.js.map → SetInvitationService.DtVH6OkH.js.map} +1 -1
- package/dist/chunks/{ValidateTextInput.D5kgjulG.js → ValidateTextInput.1Fv1GPyZ.js} +2 -2
- package/dist/chunks/{ValidateTextInput.D5kgjulG.js.map → ValidateTextInput.1Fv1GPyZ.js.map} +1 -1
- package/dist/chunks/{ValidateTextInput.DEBaVB1L.js → ValidateTextInput.DPruGgff.js} +2 -2
- package/dist/chunks/{ValidateTextInput.DEBaVB1L.js.map → ValidateTextInput.DPruGgff.js.map} +1 -1
- package/dist/chunks/{index.Cmn4FlUL.js → index.BDTIIDNe.js} +251 -114
- package/dist/chunks/index.BDTIIDNe.js.map +1 -0
- package/dist/chunks/{index.YjnxLFjk.js → index.CaxYybSL.js} +115 -56
- package/dist/chunks/index.CaxYybSL.js.map +1 -0
- package/dist/chunks/{index.DIizFYFZ.js → index.Cjk52g3G.js} +115 -56
- package/dist/chunks/index.Cjk52g3G.js.map +1 -0
- package/dist/chunks/{index.DMWKdmxs.js → index.DFMQZMWE.js} +12 -2
- package/dist/chunks/index.DFMQZMWE.js.map +1 -0
- package/dist/chunks/{index.DND10PiY.js → index.DTlm8AhC.js} +11 -1
- package/dist/chunks/index.DTlm8AhC.js.map +1 -0
- package/dist/chunks/{index.CYCWawJT.js → index.DmF-wFBs.js} +249 -112
- package/dist/chunks/index.DmF-wFBs.js.map +1 -0
- package/dist/chunks/{serviceTypes.D7c4G5GY.js → serviceTypes.BWVBK33e.js} +52 -31
- package/dist/chunks/serviceTypes.BWVBK33e.js.map +1 -0
- package/dist/chunks/{serviceTypes.CxLXtDIT.js → serviceTypes.BbBTNXB9.js} +52 -31
- package/dist/chunks/serviceTypes.BbBTNXB9.js.map +1 -0
- package/dist/components/common.cjs +1 -1
- package/dist/components/common.js +1 -1
- package/dist/components/invitations.cjs +1 -1
- package/dist/components/invitations.js +1 -1
- package/dist/components/organizations.cjs +1 -1
- package/dist/components/organizations.js +1 -1
- package/dist/components/services.cjs +1 -1
- package/dist/components/services.js +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.js +1 -1
- package/dist/pages/invitations.cjs +5 -6
- package/dist/pages/invitations.cjs.map +1 -1
- package/dist/pages/invitations.js +4 -5
- package/dist/pages/invitations.js.map +1 -1
- package/dist/pages/organizations.cjs +11 -16
- package/dist/pages/organizations.cjs.map +1 -1
- package/dist/pages/organizations.js +10 -15
- package/dist/pages/organizations.js.map +1 -1
- package/dist/pages/services.cjs +27 -30
- package/dist/pages/services.cjs.map +1 -1
- package/dist/pages/services.js +26 -29
- package/dist/pages/services.js.map +1 -1
- package/package.json +3 -3
- package/dist/chunks/ServicesEdit.BnnqC203.js.map +0 -1
- package/dist/chunks/ServicesEdit.DDgjS5kU.js.map +0 -1
- package/dist/chunks/index.CYCWawJT.js.map +0 -1
- package/dist/chunks/index.Cmn4FlUL.js.map +0 -1
- package/dist/chunks/index.DIizFYFZ.js.map +0 -1
- package/dist/chunks/index.DMWKdmxs.js.map +0 -1
- package/dist/chunks/index.DND10PiY.js.map +0 -1
- package/dist/chunks/index.YjnxLFjk.js.map +0 -1
- package/dist/chunks/invitations.BI_Qo5Ca.js +0 -10
- package/dist/chunks/invitations.BI_Qo5Ca.js.map +0 -1
- package/dist/chunks/invitations.BbK6WSY8.js +0 -11
- package/dist/chunks/invitations.BbK6WSY8.js.map +0 -1
- package/dist/chunks/serviceTypes.CxLXtDIT.js.map +0 -1
- package/dist/chunks/serviceTypes.D7c4G5GY.js.map +0 -1
- package/dist/chunks/useIsIssuingInspection.C76mY_wb.js +0 -14
- package/dist/chunks/useIsIssuingInspection.C76mY_wb.js.map +0 -1
- package/dist/chunks/useIsIssuingInspection.DavhBs5B.js +0 -13
- package/dist/chunks/useIsIssuingInspection.DavhBs5B.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"organizations.cjs","sources":["../../src/pages/organizations/OrganizationAddService.jsx","../../src/pages/organizations/components/OrganizationBrand.jsx","../../src/pages/organizations/components/OrganizationSubmitButton.jsx","../../src/pages/organizations/components/OrganizationCreateTitle.jsx","../../src/pages/organizations/utils/index.js","../../src/pages/organizations/OrganizationCreate.jsx","../../src/pages/organizations/OrganizationEdit.jsx","../../src/pages/organizations/OrganizationShow.jsx"],"sourcesContent":["/**\n * Copyright 2023 Velocity Team\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport { useGetList } from 'react-admin';\nimport PropTypes from 'prop-types';\nimport { kebabCase } from 'lodash-es';\n\nimport Loading from '../../components/Loading.jsx';\nimport Popup from '../../components/common/Popup.jsx';\nimport { credentialTypesByServiceTypes } from '../../utils/serviceTypes.js';\nimport { dataResources } from '../../utils/remoteDataProvider.js';\n\nimport { ServiceEndpointSelection } from '../services/components/ServiceEndpointSelection/index.jsx';\nimport { ServiceTypeSelection } from '../services/components/ServiceTypeSelection/index.jsx';\nimport { SecretKeysPopup } from '../services/components/SecretKeysPopup/index.jsx';\nimport { useIsIssuingInspection } from '../services/hooks/useIsIssuingInspection.js';\n\nconst OrganizationAddService = ({\n isModalOpened,\n isSending,\n onCreate,\n isCreated,\n secretKeys,\n onClose,\n // did,\n selectedServiceType,\n setSelectedServiceType,\n selectedCAO,\n setSelectedCAO,\n InterceptOnCreate,\n}) => {\n const [selectedStep, setSelectedStep] = useState(1);\n const [isKeysPopupOpened, setIsKeysPopupOpened] = useState(false);\n const [isInterceptOnCreateOpen, setIsInterceptOnCreateOpen] = useState(false);\n\n const serviceId = useMemo(() => {\n if (selectedServiceType) {\n const type = selectedServiceType.id.match(/.+v1/);\n return `${kebabCase(type[0])}-1`;\n }\n return '';\n }, [selectedServiceType]);\n\n const openedStateRef = useRef(isModalOpened);\n\n const { isIssuingOrInspection, isCAO } = useIsIssuingInspection(selectedServiceType);\n\n const { data: credentialAgentOperators, isLoading: isLoadingCAO } = useGetList(\n dataResources.SEARCH_PROFILES,\n {\n filter: { serviceTypes: 'CredentialAgentOperator' },\n },\n );\n\n // clear previous state after close\n useEffect(() => {\n const reset = () => {\n setSelectedStep(1);\n };\n if (openedStateRef.current === false && isModalOpened && !isCreated) {\n reset();\n }\n\n // eslint-disable-next-line better-mutation/no-mutation\n openedStateRef.current = isModalOpened;\n return reset;\n }, [isModalOpened, isCreated]);\n\n useEffect(() => {\n if (InterceptOnCreate && isCreated) {\n setIsInterceptOnCreateOpen(true);\n }\n }, [InterceptOnCreate, isCreated]);\n\n const onCreateCallback = useCallback(\n ({ serviceEndpoint }) => {\n const type = selectedServiceType.id.match(/.+v1/);\n setSelectedCAO(serviceEndpoint.split('#')[0]);\n onCreate({\n serviceEndpoint,\n type: type[0],\n ...(selectedServiceType.id.includes('Issuing') && {\n credentialTypes: credentialTypesByServiceTypes[selectedServiceType.id],\n }),\n });\n },\n [onCreate, selectedServiceType.id, setSelectedCAO],\n );\n\n return (\n <>\n <Popup\n onClose={onClose}\n title=\"\"\n isOpen={isModalOpened}\n mainContainerStyles={styles.mainContainer}\n disableCloseButton={isSending}\n >\n {isSending && <Loading color=\"error\" sx={{ pl: '10px' }} size={26} />}\n\n {selectedStep === 1 && (\n <ServiceTypeSelection\n handleNext={() => setSelectedStep(2)}\n isLoading={isLoadingCAO}\n selectedServiceType={selectedServiceType}\n setSelectedServiceType={setSelectedServiceType}\n onDoLater={() => {\n onCreate(null);\n }}\n />\n )}\n {selectedStep === 2 && (\n <ServiceEndpointSelection\n credentialAgentOperators={credentialAgentOperators}\n isIssueOrInspection={isIssuingOrInspection}\n inProgress={isSending}\n onCreate={onCreateCallback}\n handleBack={() => setSelectedStep(1)}\n />\n )}\n </Popup>\n\n <InterceptOnCreate\n isInterceptOnCreateOpen={isInterceptOnCreateOpen}\n serviceId={serviceId}\n onNext={() => setIsKeysPopupOpened(true)}\n onClose={() => setIsKeysPopupOpened(true)}\n isIssueOrInspection={isIssuingOrInspection}\n selectedCAO={selectedCAO}\n isCAO={isCAO}\n />\n\n <SecretKeysPopup\n isOpen={isKeysPopupOpened}\n secretKeys={secretKeys}\n onClose={() => {\n setIsKeysPopupOpened(false);\n onClose();\n }}\n wording={{\n title: 'Your organization is now registered on Velocity Network™.',\n subtitle:\n 'Please save your organization’s unique keys in a secure location, as they will not be available once you close this window.',\n }}\n warningWording={{\n title: 'You must download a copy of your keys before exiting',\n subtitle:\n 'They will not be available again and are critical for managing your organization data.',\n }}\n />\n </>\n );\n};\n\nconst styles = {\n mainContainer: { pt: 2 },\n};\n\n// eslint-disable-next-line better-mutation/no-mutation\nOrganizationAddService.propTypes = {\n isModalOpened: PropTypes.bool,\n isSending: PropTypes.bool,\n onCreate: PropTypes.func,\n isCreated: PropTypes.bool,\n // eslint-disable-next-line react/forbid-prop-types\n secretKeys: PropTypes.object,\n onClose: PropTypes.func,\n did: PropTypes.string,\n selectedServiceType: PropTypes.shape({\n id: PropTypes.string,\n title: PropTypes.string,\n }),\n setSelectedServiceType: PropTypes.func,\n selectedCAO: PropTypes.string,\n setSelectedCAO: PropTypes.func,\n InterceptOnCreate: PropTypes.func,\n};\n\nexport default OrganizationAddService;\n","import React from 'react';\nimport { Box } from '@mui/material';\nimport { TextInput } from 'react-admin';\nimport { useFormContext } from 'react-hook-form';\nimport { maxLength, required } from 'ra-core';\nimport CustomImageInput from '../../../components/common/CustomImageInput/index.jsx';\n\n/* eslint-disable react/prop-types */\nexport const OrganizationBrand = ({ formData, scopedFormData }) => {\n let brandNameValidate = [maxLength(100)];\n if (scopedFormData && scopedFormData.logo) {\n brandNameValidate = [...brandNameValidate, required('Commercial name field is required')];\n }\n const form = useFormContext();\n const index = formData?.profile?.commercialEntities?.indexOf(scopedFormData) || 0;\n const innerSource = `profile.commercialEntities[${index}]`;\n return (\n <>\n <TextInput\n fullWidth\n label=\"Commercial Name\"\n placeholder=\"Commercial Name\"\n source=\"name\"\n validate={brandNameValidate}\n defaultValue=\"\"\n />\n <Box mt={2} sx={sx.brandLogoContainer}>\n <CustomImageInput\n label={false}\n labelText=\"Logo\"\n editMode\n addTo={innerSource}\n imgSrc={scopedFormData?.logo}\n style={sx.brandLogo}\n isRequired={!!scopedFormData?.name}\n onChange={() => {\n form.setFocus(`${innerSource}.name`);\n form.trigger(`${innerSource}.name`);\n }}\n />\n </Box>\n </>\n );\n};\n/* eslint-enable */\n\nconst sx = {\n brandLogo: { minHeight: '272px' },\n};\n","import { Button } from 'react-admin';\nimport { useFormContext } from 'react-hook-form';\n\nexport const OrganizationSubmitButton = () => {\n const form = useFormContext();\n\n return (\n <Button\n disabled={!form.formState.isValid}\n variant=\"outlined\"\n color=\"primary\"\n type=\"submit\"\n size=\"large\"\n sx={sx.submit}\n >\n Add Service\n </Button>\n );\n};\n\nconst sx = {\n submit: {\n minWidth: 196,\n },\n};\n\nexport default OrganizationSubmitButton;\n","import { Typography } from '@mui/material';\nimport { useConfig } from '@/utils/ConfigContext.js';\n\nexport const OrganizationCreateTitle = () => {\n const config = useConfig();\n\n return (\n <>\n <Typography variant=\"h1\" mb={2} textAlign=\"center\">\n Let’s get your organization registered on The Velocity Network™ {config.chainName}.\n </Typography>\n <Typography variant=\"pl\" mb={6.5} textAlign=\"center\">\n To start, fill in the form below to allow other Network participants to identify your\n organization.\n </Typography>\n </>\n );\n};\n\nexport default OrganizationCreateTitle;\n","import { required, maxLength, email } from 'react-admin';\nimport { authorityOptions } from '@/constants/messageCodes.js';\n\nexport const validateName = [required(), maxLength(100)];\nexport const validateEmail = [required(), email()];\n\nexport const getSellSizeIfLocalAuthority = (authority) => {\n if (authorityOptions[authority] === authorityOptions.NationalAuthority) {\n return 6;\n }\n return 12;\n};\n\nexport const requestOptions = {\n retryOnMount: false,\n refetchOnWindowFocus: false,\n refetchOnReconnect: false,\n refetchOnMount: false,\n};\n\nexport const organizationPlaceholder =\n 'Add a few words describing your organization (boilerplate text) so that other Network participants can learn about it.';\n","/**\n * Copyright 2023 Velocity Team\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { useState, useEffect } from 'react';\nimport { useLocation, useNavigate } from 'react-router';\nimport {\n AutocompleteInput,\n Button,\n Form,\n maxLength,\n required,\n TextInput,\n useCreateController,\n useRedirect,\n ArrayInput,\n SimpleFormIterator,\n FormDataConsumer,\n useGetOne,\n useNotify,\n useGetList,\n} from 'react-admin';\n\nimport { Box, Stack, Tooltip, Typography, Grid } from '@mui/material';\nimport InfoIcon from '@mui/icons-material/Info';\nimport { kebabCase } from 'lodash-es';\nimport PropTypes from 'prop-types';\n\nimport useSelectedOrganization from '@/state/selectedOrganizationState.js';\nimport Loading from '@/components/Loading.jsx';\nimport {\n validateWebsite,\n validateWebsiteStrict,\n} from '@/components/organizations/CreateOrganizationUtils.js';\nimport CustomImageInput from '@/components/common/CustomImageInput/index.jsx';\nimport PlusButtonBlock from '@/components/common/PlusButtonBlock.jsx';\nimport {\n formatWebSiteUrl,\n formatRegistrationNumbers,\n SUPPORT_EMAIL_HINT,\n TECHNICAL_EMAIL_HINT,\n ADMINISTRATOR_DETAILS_HINT,\n SIGNATORY_DETAILS_HINT,\n WEBSITE_HINT,\n SIGNATORY_EMAIL_HINT,\n parseJwt,\n ERRORS,\n} from '@/utils/index.jsx';\nimport useCountryCodes from '@/utils/countryCodes.js';\nimport { useAuth } from '@/utils/auth/AuthContext.js';\nimport { dataResources } from '@/utils/remoteDataProvider.js';\nimport { credentialTypesByServiceTypes } from '@/utils/serviceTypes.js';\n\nimport AuthorityRegistrationNumbersInput from './components/AuthorityRegistrationInput.jsx';\nimport { LinkedInRegistrationInput } from './components/LinkedInRegistrationInput.jsx';\nimport { OrganizationBrand } from './components/OrganizationBrand.jsx';\nimport { OrganizationSubmitButton } from './components/OrganizationSubmitButton.jsx';\nimport { OrganizationCreateTitle } from './components/OrganizationCreateTitle.jsx';\nimport ServiceCreateFormContainer from './OrganizationAddService.jsx';\nimport {\n requestOptions,\n organizationPlaceholder,\n validateName,\n validateEmail,\n} from './utils/index.js';\n\nexport const defaultBrandValue = [\n {\n name: '',\n },\n];\n\nexport const allBrandsFilled = (values) => values?.every((brand) => !!brand.name && brand.logo);\nexport const isAddBrandDisabled = (values) => {\n return values && !allBrandsFilled(values) && (values.length % 2 === 0 || values.length !== 1);\n};\n\nconst OrganizationCreate = ({\n CreateServiceComponent = ServiceCreateFormContainer,\n MockOrganization,\n}) => {\n const navigate = useNavigate();\n const location = useLocation();\n const notify = useNotify();\n const redirect = useRedirect();\n\n const { logout, user, getAccessToken } = useAuth();\n\n const { data: countryCodes, isLoading } = useCountryCodes();\n const [did, setDid] = useSelectedOrganization();\n\n const [organizationData, setOrganizationData] = useState(null);\n const [isServiceCreated, setServiceCreated] = useState(false);\n const [secretKeys, setSecretKeys] = useState(null);\n const [isCreateRequestLoading, setCreateRequestLoading] = useState(false);\n const [hasOrganisations, setHasOrganisations] = useState(false);\n const [serviceType, setServiceType] = useState('');\n const [selectedCAO, setSelectedCAO] = useState('');\n const [initialRecord, setInitialRecord] = useState({ profile: { name: '' } });\n\n const { refetch } = useGetList('organizations', undefined, {\n enabled: false,\n });\n const { data: userData, isLoading: isUserDataLoading } = useGetOne(\n dataResources.USERS,\n {\n id: user.sub,\n },\n {\n enabled: !!user.sub,\n ...requestOptions,\n },\n );\n\n useEffect(() => {\n (async () => {\n try {\n const token = await getAccessToken();\n const tokenDecoded = parseJwt(token);\n setHasOrganisations(\n Boolean(\n tokenDecoded['http://velocitynetwork.foundation/groupId'] ||\n tokenDecoded.scope.includes('admin'),\n ),\n );\n } catch (e) {\n console.error(e);\n }\n })();\n }, [getAccessToken, setHasOrganisations]);\n\n const { save } = useCreateController({\n resource: 'organizations',\n mutationOptions: {\n onSuccess: async (resp) => {\n refetch();\n setDid(resp.id);\n setSecretKeys({ keys: resp.keys, authClients: resp.authClients });\n setServiceCreated(true);\n setCreateRequestLoading(false);\n navigate(-1);\n getAccessToken({ cacheMode: 'off' });\n },\n onError: ({ body }) => {\n setCreateRequestLoading(false);\n if (body.errorCode === 'website_already_exists') {\n notify(ERRORS.websiteExists, { type: 'error' }, { autoHideDuration: 5000 });\n } else {\n notify(body.message || ERRORS.default, { type: 'error' }, { autoHideDuration: 5000 });\n }\n navigate(-1);\n setServiceCreated(false);\n },\n },\n });\n\n const goToCreateServiceStep = (data) => {\n setOrganizationData(data);\n navigate('service');\n };\n\n const onClose = () => {\n if (isServiceCreated === true) {\n redirect('list', 'services');\n } else {\n navigate(-1);\n setOrganizationData(null);\n setServiceCreated(false);\n }\n };\n\n const onCreate = async (serviceData) => {\n setCreateRequestLoading(true);\n const organization = {\n ...organizationData,\n profile: {\n ...(organizationData?.profile || {}),\n website: formatWebSiteUrl(organizationData?.profile?.website),\n linkedInProfile: formatWebSiteUrl(organizationData?.profile?.linkedInProfile),\n registrationNumbers: formatRegistrationNumbers(\n organizationData?.profile?.registrationNumbers,\n ),\n commercialEntities: organizationData?.profile?.commercialEntities\n ?.filter((brand) => brand.logo)\n ?.map((commercial) => ({\n ...commercial,\n type: 'Brand',\n })),\n },\n };\n await save({\n ...organization,\n serviceEndpoints: serviceData\n ? [\n {\n id: `${did}#${kebabCase(serviceData.type)}-1`,\n serviceEndpoint: serviceData.serviceEndpoint,\n type: serviceData.type,\n credentialTypes: credentialTypesByServiceTypes[serviceData.type],\n },\n ]\n : [],\n });\n };\n\n if (isLoading || isUserDataLoading) {\n return <Loading sx={{ pt: '60px' }} />;\n }\n return (\n <Box sx={sx.root}>\n <Stack sx={sx.content}>\n {MockOrganization && <MockOrganization setInitialRecord={setInitialRecord} />}\n\n <OrganizationCreateTitle />\n\n <Form record={initialRecord} onSubmit={goToCreateServiceStep} noValidate mode=\"onTouched\">\n <FormDataConsumer>\n {({ formData }) => (\n <>\n <Grid container spacing={4} rowSpacing={1}>\n <Grid size={{ xs: 6 }}>\n <Stack container flex={1} flexDirection=\"column\">\n <Grid size={{ xs: 12 }}>\n <Stack flexDirection=\"row\" gap={1.75}>\n <TextInput\n fullWidth\n label=\"Legal Name\"\n source=\"profile.name\"\n validate={validateName}\n />\n </Stack>\n </Grid>\n <Grid size={{ xs: 12 }}>\n <Stack flexDirection=\"row\" gap={1.75}>\n <TextInput\n fullWidth\n label=\"Website\"\n source=\"profile.website\"\n validate={[...validateWebsiteStrict, required()]}\n />\n <Box mt={2}>\n <Tooltip title={WEBSITE_HINT}>\n <InfoIcon color=\"info\" fontSize=\"small\" cursor=\"pointer\" />\n </Tooltip>\n </Box>\n </Stack>\n </Grid>\n <Grid size={{ xs: 12 }}>\n <TextInput\n fullWidth\n label=\"Address\"\n source=\"profile.physicalAddress.line1\"\n validate={[required(), maxLength(1024)]}\n />\n </Grid>\n <Grid size={{ xs: 12 }}>\n <AutocompleteInput\n label=\"Country\"\n source=\"profile.location.countryCode\"\n choices={countryCodes}\n validate={required()}\n />\n </Grid>\n </Stack>\n </Grid>\n <Grid size={{ xs: 6 }} pb={1}>\n <CustomImageInput label={false} editMode addTo=\"profile\" />\n </Grid>\n <Grid size={{ xs: 6 }}>\n <TextInput\n fullWidth\n label=\"LinkedIn Page\"\n source=\"profile.linkedInProfile\"\n validate={[...validateWebsite, required()]}\n />\n </Grid>\n <Grid size={{ xs: 6 }}>\n <LinkedInRegistrationInput\n formData={formData.profile}\n source=\"profile.registrationNumbers\"\n />\n </Grid>\n <Grid size={{ xs: 6 }}>\n <Stack flexDirection=\"row\" gap={1.75}>\n <TextInput\n fullWidth\n label=\"Support Email\"\n source=\"profile.contactEmail\"\n validate={validateEmail}\n />\n <Box mt={2}>\n <Tooltip title={SUPPORT_EMAIL_HINT}>\n <InfoIcon color=\"info\" fontSize=\"small\" cursor=\"pointer\" />\n </Tooltip>\n </Box>\n </Stack>\n </Grid>\n <Grid size={{ xs: 6 }}>\n <Stack flexDirection=\"row\" gap={1.75}>\n <TextInput\n fullWidth\n label=\"Technical Contact Email\"\n source=\"profile.technicalEmail\"\n validate={validateEmail}\n />\n <Box mt={2}>\n <Tooltip title={TECHNICAL_EMAIL_HINT}>\n <InfoIcon color=\"info\" fontSize=\"small\" cursor=\"pointer\" />\n </Tooltip>\n </Box>\n </Stack>\n </Grid>\n <AuthorityRegistrationNumbersInput\n source=\"profile.registrationNumbers\"\n orientation=\"horizontal\"\n />\n <Grid size={{ xs: 12 }}>\n <TextInput\n fullWidth\n multiline\n label=\"Short Description\"\n placeholder={organizationPlaceholder}\n source=\"profile.description\"\n validate={required()}\n />\n </Grid>\n <Grid size={{ xs: 12 }}>\n <Typography variant=\"h5\">Key individuals</Typography>\n </Grid>\n <Grid size={{ xs: 6 }}>\n <Stack flexDirection=\"row\" gap={1.75}>\n <Typography variant=\"body1\" my={2} sx={sx.sectionTitle}>\n Administrator’s Details\n </Typography>\n <Box mt={2}>\n <Tooltip title={ADMINISTRATOR_DETAILS_HINT}>\n <InfoIcon color=\"info\" fontSize=\"small\" cursor=\"pointer\" />\n </Tooltip>\n </Box>\n </Stack>\n </Grid>\n <Grid size={{ xs: 6 }}>\n <Stack flexDirection=\"row\" gap={1.75}>\n <Typography variant=\"body1\" my={2} sx={sx.sectionTitle}>\n Signatory Authority’s Details\n </Typography>\n <Box mt={2}>\n <Tooltip title={SIGNATORY_DETAILS_HINT}>\n <InfoIcon color=\"info\" fontSize=\"small\" cursor=\"pointer\" />\n </Tooltip>\n </Box>\n </Stack>\n </Grid>\n <Grid size={{ xs: 6 }}>\n <Stack flexDirection=\"row\" gap={1.75}>\n <TextInput\n fullWidth\n label=\"First name\"\n source=\"profile.adminGivenName\"\n validate={[maxLength(1024), required()]}\n defaultValue={userData ? userData.givenName : ''}\n />\n </Stack>\n <Stack flexDirection=\"row\" gap={1.75}>\n <TextInput\n fullWidth\n label=\"Last name\"\n source=\"profile.adminFamilyName\"\n validate={[maxLength(1024), required()]}\n defaultValue={userData ? userData.familyName : ''}\n />\n </Stack>\n </Grid>\n <Grid size={{ xs: 6 }}>\n <Stack flexDirection=\"row\" gap={1.75}>\n <TextInput\n fullWidth\n label=\"First name\"\n source=\"profile.signatoryGivenName\"\n validate={[maxLength(1024), required()]}\n />\n </Stack>\n <Stack flexDirection=\"row\" gap={1.75}>\n <TextInput\n fullWidth\n label=\"Last name\"\n source=\"profile.signatoryFamilyName\"\n validate={[maxLength(1024), required()]}\n />\n </Stack>\n </Grid>\n <Grid size={{ xs: 6 }}>\n <Stack flexDirection=\"row\" gap={1.75}>\n <TextInput\n fullWidth\n label=\"Job Title\"\n source=\"profile.adminTitle\"\n validate={[maxLength(1024), required()]}\n />\n </Stack>\n </Grid>\n <Grid size={{ xs: 6 }}>\n <Stack flexDirection=\"row\" gap={1.75}>\n <TextInput\n fullWidth\n label=\"Job Title\"\n source=\"profile.signatoryTitle\"\n validate={[maxLength(1024), required()]}\n />\n </Stack>\n </Grid>\n <Grid size={{ xs: 6 }}>\n <Stack flexDirection=\"row\" gap={1.75}>\n <TextInput\n fullWidth\n label=\"Email\"\n source=\"profile.adminEmail\"\n validate={validateEmail}\n defaultValue={userData ? userData.email : ''}\n />\n </Stack>\n </Grid>\n <Grid size={{ xs: 6 }}>\n <Stack flexDirection=\"row\" gap={1.75}>\n <TextInput\n fullWidth\n label=\"Email\"\n source=\"profile.signatoryEmail\"\n validate={validateEmail}\n />\n <Box mt={2}>\n <Tooltip title={SIGNATORY_EMAIL_HINT}>\n <InfoIcon color=\"info\" fontSize=\"small\" cursor=\"pointer\" />\n </Tooltip>\n </Box>\n </Stack>\n </Grid>\n <Grid size={{ xs: 12 }}>\n <Typography variant=\"h4\" mb={2} mt={4}>\n Commercial Names\n </Typography>\n </Grid>\n <Grid size={{ xs: 12 }}>\n <ArrayInput\n source=\"profile.commercialEntities\"\n defaultValue={defaultBrandValue}\n sx={{ '& .RaArrayInput-label': { display: 'none' } }}\n >\n <SimpleFormIterator\n addButton={\n <PlusButtonBlock\n style={sx.plusButtonBlock}\n disabled={!allBrandsFilled(formData.profile.commercialEntities)}\n position={formData.profile?.commercialEntities?.length}\n />\n }\n disableAdd={isAddBrandDisabled(formData.profile.commercialEntities)}\n fullWidth\n sx={sx.brandList}\n >\n <FormDataConsumer>\n {({ scopedFormData }) => {\n return (\n <OrganizationBrand\n formData={formData}\n scopedFormData={scopedFormData}\n />\n );\n }}\n </FormDataConsumer>\n </SimpleFormIterator>\n </ArrayInput>\n </Grid>\n </Grid>\n <Box display=\"flex\" justifyContent=\"center\" pt={4}>\n <Button\n variant=\"outlined\"\n color=\"secondary\"\n size=\"large\"\n sx={sx.cancelButton}\n onClick={() => (hasOrganisations ? navigate('/') : logout())}\n >\n Cancel\n </Button>\n <OrganizationSubmitButton />\n </Box>\n <CreateServiceComponent\n isModalOpened={/create\\/service/.test(location.pathname) || isServiceCreated}\n isSending={isCreateRequestLoading}\n onClose={onClose}\n onCreate={onCreate}\n isCreated={isServiceCreated}\n secretKeys={secretKeys}\n did={did}\n selectedServiceType={serviceType}\n setSelectedServiceType={setServiceType}\n selectedCAO={selectedCAO}\n setSelectedCAO={setSelectedCAO}\n />\n </>\n )}\n </FormDataConsumer>\n </Form>\n </Stack>\n </Box>\n );\n};\n\n// eslint-disable-next-line better-mutation/no-mutation\nOrganizationCreate.propTypes = {\n CreateServiceComponent: PropTypes.elementType,\n MockOrganization: PropTypes.elementType,\n};\n\nexport default OrganizationCreate;\n\nconst sx = {\n root: {\n pt: 7.5,\n pb: 2,\n pl: 1,\n boxSizing: 'border-box',\n display: 'flex',\n justifyContent: 'center',\n },\n content: {\n maxWidth: 886,\n alignItems: 'center',\n },\n cancelButton: {\n minWidth: 160,\n mr: 2,\n },\n mockButton: {\n color: 'primary.main',\n },\n formValidationCustomMessage: { color: 'primary.main' },\n brandList: {\n display: 'flex',\n flexWrap: 'wrap',\n px: '0.5rem',\n gap: '2rem',\n justifyContent: 'space-between',\n '& .RaSimpleFormIterator-action': { display: 'none' },\n '& .RaSimpleFormIterator-buttons': { width: '48%' },\n '& .RaSimpleFormIterator-add': { width: '100%' },\n '& .RaSimpleFormIterator-clear': { display: 'none' },\n '& .RaSimpleFormIterator-list': {\n display: 'flex',\n flexWrap: 'wrap',\n justifyContent: 'space-between',\n gap: '2rem',\n flexGrow: '2',\n width: '100%',\n '&:has(li:only-child)': { width: '48%' },\n },\n '& .RaSimpleFormIterator-line': {\n width: '48%',\n '&:only-child': { width: '100%' },\n },\n '& .RaSimpleFormIterator-form': {\n width: '100%',\n },\n },\n brandLogoContainer: { width: '100%' },\n brandLogo: { minHeight: '272px' },\n plusButtonBlock: { height: '23.9rem' },\n sectionTitle: {\n fontSize: '14px',\n textTransform: 'uppercase',\n },\n errorMessage: {\n fontSize: '0.75rem',\n color: 'primary.main',\n marginLeft: '1.25em',\n height: '1.75em',\n },\n fullWidth: {\n width: '100%',\n },\n};\n","/**\n * Copyright 2023 Velocity Team\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {\n AutocompleteInput,\n email,\n Form,\n Edit,\n required,\n useEditController,\n SaveButton,\n FormDataConsumer,\n ArrayInput,\n SimpleFormIterator,\n TextInput,\n} from 'react-admin';\nimport { useParams } from 'react-router';\nimport { Box, Grid, Stack, Tooltip, Typography } from '@mui/material';\nimport InfoIcon from '@mui/icons-material/Info';\nimport { useState } from 'react';\nimport {\n validateWebsite,\n validateWebsiteStrict,\n} from '../../components/organizations/CreateOrganizationUtils.js';\nimport Loading from '../../components/Loading.jsx';\nimport {\n ERRORS,\n formatWebSiteUrl,\n formatRegistrationNumbers,\n SUPPORT_EMAIL_HINT,\n TECHNICAL_EMAIL_HINT,\n WEBSITE_HINT_SHORT,\n} from '../../utils/index.jsx';\nimport useCountryCodes from '../../utils/countryCodes.js';\nimport CustomImageInput from '../../components/common/CustomImageInput/index.jsx';\nimport { defaultBrandValue, allBrandsFilled, isAddBrandDisabled } from './OrganizationCreate.jsx';\nimport PlusButtonBlock from '../../components/common/PlusButtonBlock.jsx';\nimport { OrganizationBrand } from './components/OrganizationBrand.jsx';\nimport AuthorityRegistrationNumbersInput from './components/AuthorityRegistrationInput.jsx';\nimport { LinkedInRegistrationInput } from './components/LinkedInRegistrationInput.jsx';\n\nconst validateEmail = [required(), email()];\n\nconst transform = (data) => ({\n ...data,\n profile: {\n ...data.profile,\n website: formatWebSiteUrl(data.profile.website),\n linkedInProfile: formatWebSiteUrl(data.profile.linkedInProfile),\n registrationNumbers: formatRegistrationNumbers(data.profile?.registrationNumbers),\n commercialEntities: data.profile.commercialEntities\n .filter((brand) => brand.logo)\n .map((brand) => ({\n ...brand,\n type: 'Brand',\n })),\n },\n});\n\nconst modifyRecord = (record) => ({\n ...record,\n profile: {\n ...record.profile,\n commercialEntities: record.profile?.commercialEntities?.length\n ? record.profile.commercialEntities\n : defaultBrandValue,\n },\n});\n\nconst OrganizationEdit = () => {\n const { id } = useParams();\n const { data: countryCodes, isLoading: isCodesLoading } = useCountryCodes();\n const [errorMessage, setErrorMessage] = useState('');\n const { record, isLoading } = useEditController({\n resource: 'organizations',\n id,\n });\n\n const onError = ({ body }) => {\n if (body.errorCode === 'webhook_not_protocol_compliant') {\n setErrorMessage(ERRORS.secureWebHook);\n } else {\n setErrorMessage(ERRORS.default);\n }\n };\n\n if (isLoading || isCodesLoading) return <Loading sx={{ pt: '60px' }} />;\n\n return (\n <Stack pt={5} pb={10} pr={8} pl={9}>\n <Typography variant=\"h3\" mb={4}>\n Edit profile\n </Typography>\n <Edit\n mutationMode=\"pessimistic\"\n mutationOptions={{ onError }}\n actions={false}\n sx={sx.formContainer}\n transform={(data) => transform(data)}\n >\n <Form record={modifyRecord(record)} mode=\"onTouched\">\n <FormDataConsumer>\n {/* eslint-disable-next-line complexity */}\n {({ formData }) => (\n <>\n <Grid container spacing={5} rowSpacing={1.25}>\n <Grid size={{ xs: 6 }}>\n <Stack container flex={1} flexDirection=\"column\">\n <Grid size={{ xs: 12 }}>\n <TextInput\n fullWidth\n source=\"profile.name\"\n label=\"Legal Name\"\n validate={required()}\n readOnly\n />\n </Grid>\n <Grid size={{ xs: 12 }}>\n <Stack flexDirection=\"row\" gap={1.75}>\n <TextInput\n fullWidth\n label=\"Website\"\n source=\"profile.website\"\n validate={[...validateWebsiteStrict, required()]}\n disabled\n />\n <Box mt={2}>\n <Tooltip title={WEBSITE_HINT_SHORT}>\n <InfoIcon color=\"info\" fontSize=\"small\" cursor=\"pointer\" />\n </Tooltip>\n </Box>\n </Stack>\n </Grid>\n <Grid size={{ xs: 12 }}>\n <TextInput\n fullWidth\n label=\"Address\"\n source=\"profile.physicalAddress.line1\"\n validate={required()}\n />\n </Grid>\n <Grid size={{ xs: 12 }}>\n <AutocompleteInput\n fullWidth\n label=\"Country\"\n source=\"profile.location.countryCode\"\n validate={required()}\n choices={countryCodes}\n />\n </Grid>\n </Stack>\n </Grid>\n <Grid size={{ xs: 6 }} p={1}>\n <CustomImageInput\n label={false}\n source=\"profile.url\"\n editMode={false}\n imgSrc={formData.profile?.logo}\n addTo=\"profile\"\n />\n </Grid>\n <Grid size={{ xs: 6 }}>\n <Stack flexDirection=\"row\" gap={1.75}>\n <TextInput\n fullWidth\n label=\"LinkedIn Page\"\n source=\"profile.linkedInProfile\"\n validate={[...validateWebsite, required()]}\n />\n </Stack>\n </Grid>\n <Grid size={{ xs: 6 }}>\n <LinkedInRegistrationInput\n formData={{ ...record, ...formData.profile }}\n source=\"profile.registrationNumbers\"\n />\n </Grid>\n <Grid size={{ xs: 6 }}>\n <Stack flexDirection=\"row\" gap={1.75}>\n <TextInput\n fullWidth\n label=\"Support Email\"\n source=\"profile.contactEmail\"\n validate={validateEmail}\n />\n <Box mt={2}>\n <Tooltip title={SUPPORT_EMAIL_HINT}>\n <InfoIcon color=\"info\" fontSize=\"small\" cursor=\"pointer\" />\n </Tooltip>\n </Box>\n </Stack>\n </Grid>\n <Grid size={{ xs: 6 }}>\n <Stack flexDirection=\"row\" gap={1.75}>\n <TextInput\n fullWidth\n label=\"Technical Contact Email\"\n source=\"profile.technicalEmail\"\n validate={validateEmail}\n />\n <Box mt={2}>\n <Tooltip title={TECHNICAL_EMAIL_HINT}>\n <InfoIcon color=\"info\" fontSize=\"small\" cursor=\"pointer\" />\n </Tooltip>\n </Box>\n </Stack>\n </Grid>\n <AuthorityRegistrationNumbersInput\n source=\"profile.registrationNumbers\"\n orientation=\"horizontal\"\n />\n <Grid size={{ xs: 12 }}>\n <TextInput fullWidth disabled label=\"DID\" source=\"id\" />\n </Grid>\n {formData.didDoc?.alsoKnownAs && (\n <Grid size={{ xs: 12 }}>\n <TextInput\n fullWidth\n multiline\n disabled\n sx={sx.textArea}\n label=\"Also Known As\"\n source=\"didDoc.alsoKnownAs\"\n format={(value) => (Array.isArray(value) ? value.join('\\n') : value)}\n />\n </Grid>\n )}\n <Grid size={{ xs: 12 }}>\n <TextInput\n fullWidth\n multiline\n label=\"Short Description\"\n source=\"profile.description\"\n validate={required()}\n sx={sx.description}\n />\n </Grid>\n <Grid size={{ xs: 12 }}>\n <Typography variant=\"h4\" mb={2} mt={4}>\n Commercial Names\n </Typography>\n </Grid>\n <Grid size={{ xs: 12 }}>\n <ArrayInput\n source=\"profile.commercialEntities\"\n defaultValue={defaultBrandValue}\n sx={{ '& .RaArrayInput-label': { display: 'none' } }}\n >\n <SimpleFormIterator\n addButton={\n <PlusButtonBlock\n style={sx.plusButtonBlock}\n disabled={\n !allBrandsFilled([\n ...(record.profile.commercialEntities || []),\n ...(formData.profile.commercialEntities || []),\n ])\n }\n position={formData.profile?.commercialEntities?.length}\n />\n }\n disableAdd={isAddBrandDisabled([\n ...(record.profile.commercialEntities || []),\n ...(formData.profile.commercialEntities || []),\n ])}\n fullWidth\n sx={sx.brandList}\n >\n <FormDataConsumer>\n {({ scopedFormData }) => {\n return (\n <OrganizationBrand\n formData={formData}\n scopedFormData={scopedFormData}\n />\n );\n }}\n </FormDataConsumer>\n </SimpleFormIterator>\n </ArrayInput>\n </Grid>\n </Grid>\n <SaveButton\n icon={null}\n variant=\"outlined\"\n color=\"primary\"\n type=\"submit\"\n sx={{ mt: 3 }}\n label=\"Update profile\"\n />\n <Grid size={{ xs: 12 }}>\n <Stack flexDirection=\"row\" mt={2}>\n <Typography variant=\"subtitle2\" sx={{ color: 'primary.main' }}>\n {errorMessage}\n </Typography>\n </Stack>\n </Grid>\n </>\n )}\n </FormDataConsumer>\n </Form>\n </Edit>\n </Stack>\n );\n};\n\nexport default OrganizationEdit;\n\nconst sx = {\n formContainer: {\n '& .RaEdit-card': { boxShadow: 'none', paddingTop: '0.5em' },\n '& .RaEdit-noActions': { marginTop: 0 },\n },\n brandList: {\n display: 'flex',\n flexWrap: 'wrap',\n gap: '2rem',\n px: '0.5em',\n justifyContent: 'space-between',\n '& .RaSimpleFormIterator-action': { display: 'none' },\n '& .RaSimpleFormIterator-buttons': { width: '48%' },\n '& .RaSimpleFormIterator-add': { width: '100%' },\n '& .RaSimpleFormIterator-clear': { display: 'none' },\n '& .RaSimpleFormIterator-list': {\n display: 'flex',\n flexWrap: 'wrap',\n justifyContent: 'space-between',\n gap: '2rem',\n flexGrow: '2',\n width: '100%',\n '&:has(li:only-child)': { width: '48%' },\n },\n '& .RaSimpleFormIterator-line': {\n width: '48%',\n '&:only-child': { width: '100%' },\n },\n '& .RaSimpleFormIterator-form': {\n width: '100%',\n },\n '& .MuiBox-root fieldset': {\n height: 'calc(24.5rem - 75px) !important',\n },\n },\n brandLogoContainer: { width: '100%' },\n brandLogo: { minHeight: '272px' },\n plusButtonBlock: { height: '25rem' },\n errorMessage: {\n fontSize: '0.75rem',\n color: 'primary.main',\n marginLeft: '1.25em',\n height: '1.75em',\n },\n fullWidth: {\n width: '100%',\n },\n textArea: { '& textarea': { padding: '0' } },\n description: { '& textarea': { paddingLeft: '0', paddingRight: '0' } },\n};\n","/**\n * Copyright 2023 Velocity Team\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport React, { useEffect } from 'react';\nimport { Box, Button, Divider, Paper, Stack, Typography, Grid } from '@mui/material';\nimport PropTypes from 'prop-types';\nimport EditIcon from '@mui/icons-material/Edit';\nimport { useParams, useNavigate } from 'react-router';\nimport { useGetOne, useRedirect } from 'react-admin';\nimport {\n copyTextToClipboard,\n WEBSITE_HINT_SHORT,\n DID_HINT,\n LINKEDIN_ORGANIZATION_ID,\n SUPPORT_EMAIL_HINT,\n TECHNICAL_EMAIL_HINT,\n DUNS_HINT,\n LEI_HINT,\n NATIONAL_AUTHORITY_HINT,\n ALSO_KNOWN_AS_HINT,\n} from '@/utils/index.jsx';\nimport Loading from '@/components/Loading.jsx';\nimport OrganizationAvatar from '@/components/common/OrganizationAvatar.jsx';\nimport useCountryCodes from '@/utils/countryCodes.js';\nimport useSelectedOrganization from '@/state/selectedOrganizationState.js';\nimport { AuthoritiesList, Authorities, authorityOptions } from '@/constants/messageCodes.js';\nimport DataItem from '@/components/common/DataItem.jsx';\nimport { useAuth } from '@/utils/auth/AuthContext.js';\n\n// eslint-disable-next-line complexity\nconst OrganizationShow = () => {\n const [savedDid, setDid] = useSelectedOrganization();\n const { id } = useParams();\n const { getCountryNameByCode } = useCountryCodes();\n const redirect = useRedirect();\n const { data: record, isLoading } = useGetOne(\n 'organizations',\n { id },\n {\n onError: () => {\n setDid('');\n redirect('/');\n },\n },\n );\n\n const navigate = useNavigate();\n\n useEffect(() => {\n if (id !== savedDid) {\n navigate(`/organizations/${savedDid}/show`, { replace: true });\n }\n }, [id, savedDid, navigate]);\n\n const { getAccessToken } = useAuth();\n const [token, setToken] = React.useState('');\n const [isCopied, setIsCopied] = React.useState(false);\n\n React.useEffect(() => {\n const getToken = async () => {\n try {\n const accessToken = await getAccessToken();\n setToken(accessToken);\n } catch (e) {\n // eslint-disable-next-line no-console\n console.log(e.message);\n }\n };\n getToken();\n }, [getAccessToken]);\n\n const handleCopyClick = () => {\n copyTextToClipboard(token, (err) => {\n setIsCopied(!err);\n });\n };\n\n if (!token || isLoading) {\n return (\n <Box pt={5} pb={10} pr={8} pl={9}>\n <Loading />\n </Box>\n );\n }\n\n return (\n <Box pt={5} pb={10} pr={8} pl={9}>\n <Stack mb={3.75} direction=\"row\" alignItems=\"center\" justifyContent=\"space-between\">\n <Typography variant=\"h3\">Organization profile</Typography>\n <Button\n variant=\"outlined\"\n onClick={() => redirect('edit', 'organizations', id)}\n startIcon={<EditIcon />}\n >\n Edit Profile\n </Button>\n </Stack>\n <Paper elevation={2} sx={{ p: 6 }}>\n <Grid container spacing={4}>\n <Grid size={{ xs: 4 }}>\n <Box display=\"flex\" alignItems=\"flex-start\" mb={5}>\n <OrganizationAvatar name={record.profile.name} logo={record.profile.logo} size={66} />\n </Box>\n <Typography component=\"div\" mb={1.5} variant=\"h4\" sx={[sx.value, sx.header]}>\n {record.profile.name}\n </Typography>\n <Typography component=\"div\" mb={1.5} variant=\"pm\">\n {getCountryNameByCode(record.profile.location.countryCode)}\n </Typography>\n </Grid>\n <Grid size={{ xs: 8 }}>\n <Grid sx={sx.dataRow} container spacing={4}>\n <Grid size={{ xs: 6 }}>\n <DataItem title=\"Legal Name\" value={record.profile.name} sxValue={sx.value} />\n </Grid>\n <Grid size={{ xs: 6 }}>\n <DataItem\n title=\"Website\"\n value={record.profile.website}\n sxValue={sx.value}\n hint={WEBSITE_HINT_SHORT}\n />\n </Grid>\n <Grid size={{ xs: 6 }}>\n <DataItem\n title=\"Address\"\n value={record.profile.physicalAddress?.line1}\n sxValue={sx.value}\n />\n </Grid>\n <Grid size={{ xs: 6 }}>\n <DataItem\n title=\"Country\"\n value={getCountryNameByCode(record.profile.location.countryCode)}\n sxValue={sx.value}\n />\n </Grid>\n <Grid size={{ xs: 6 }}>\n <DataItem\n title=\"LinkedIn Page\"\n value={record.profile.linkedInProfile}\n sxValue={sx.value}\n />\n </Grid>\n <Grid size={{ xs: 6 }}>\n <DataItemRegistrationNumbers\n hint={LINKEDIN_ORGANIZATION_ID}\n title=\"LinkedIn Company Page ID\"\n record={record}\n type=\"number\"\n fieldType=\"LinkedIn\"\n />\n </Grid>\n <Grid size={{ xs: 6 }}>\n <DataItem\n title=\"Support Email\"\n value={record.profile.contactEmail}\n sxValue={sx.value}\n hint={SUPPORT_EMAIL_HINT}\n />\n </Grid>\n <Grid size={{ xs: 6 }}>\n <DataItem\n title=\"Technical Contact Email\"\n value={record.profile.technicalEmail}\n sxValue={sx.value}\n hint={TECHNICAL_EMAIL_HINT}\n />\n </Grid>\n <Grid size={{ xs: 6 }}>\n <DataItemRegistrationNumbers\n hint={DUNS_HINT}\n title={authorityOptions[Authorities.DunnAndBradstreet]}\n type=\"number\"\n record={record}\n fieldType={Authorities.DunnAndBradstreet}\n />\n </Grid>\n <Grid size={{ xs: 6 }}>\n <DataItemRegistrationNumbers\n hint={LEI_HINT}\n title={authorityOptions[Authorities.GLEIF]}\n type=\"number\"\n record={record}\n fieldType={Authorities.GLEIF}\n />\n </Grid>\n <Grid size={{ xs: 6 }}>\n <DataItemRegistrationNumbers\n hint={NATIONAL_AUTHORITY_HINT}\n title={authorityOptions[Authorities.NationalAuthority]}\n type=\"number\"\n record={record}\n fieldType={Authorities.NationalAuthority}\n />\n </Grid>\n <Grid size={{ xs: 6 }}>\n <DataItemRegistrationNumbers\n hint=\"\"\n title=\"\"\n type=\"uri\"\n record={record}\n fieldType={Authorities.NationalAuthority}\n />\n </Grid>\n </Grid>\n <Grid size={{ xs: 12 }} sx={sx.dataRow}>\n <DataItem title=\"DID\" value={record.id} hint={DID_HINT} sxValue={sx.value} />\n </Grid>\n {record.didDoc?.alsoKnownAs && (\n <Grid size={{ xs: 12 }}>\n <DataItem\n title=\"Also known as\"\n value={record.didDoc.alsoKnownAs}\n hint={ALSO_KNOWN_AS_HINT}\n sxValue={sx.value}\n />\n </Grid>\n )}\n </Grid>\n </Grid>\n <Divider sx={{ my: 5 }} />\n <Box>\n <Typography component=\"div\" mb={1} variant=\"pm\">\n Short Description\n </Typography>\n <Typography component=\"p\" variant=\"pm\">\n {record.profile.description || '-'}\n </Typography>\n </Box>\n {!!record.profile?.commercialEntities?.length && (\n <>\n <Typography component=\"div\" mt={4} textTransform=\"uppercase\" variant=\"pm\">\n Commercial Names\n </Typography>\n <Divider sx={{ mt: 2, mb: 5 }} />\n <Grid container spacing={4}>\n {record.profile.commercialEntities.map((commercial) => (\n <Grid\n item\n size={{ xs: 4 }}\n key={commercial.logo}\n sx={sx.commercials}\n justifyContent=\"flex-start\"\n alignItems=\"center\"\n >\n <Box display=\"flex\">\n <OrganizationAvatar size={52} name={commercial.name} logo={commercial.logo} />\n </Box>\n <Typography>{commercial.name}</Typography>\n </Grid>\n ))}\n </Grid>\n </>\n )}\n <Divider sx={{ my: 5 }} />\n <Box mb={3}>\n <Typography component=\"div\" mb={1} textTransform=\"uppercase\" variant=\"pm\">\n Registrar Access Token\n </Typography>\n <Typography component=\"p\" variant=\"pm\" sx={sx.token}>\n {token}\n </Typography>\n </Box>\n <Button variant=\"outlined\" color=\"secondary\" size=\"small\" onClick={handleCopyClick}>\n {isCopied ? 'COPIED' : 'COPY'}\n </Button>\n </Paper>\n </Box>\n );\n};\n\nconst DataItemRegistrationNumbers = ({ fieldType, record, type, ...props }) => {\n const transformedValue =\n record?.profile?.registrationNumbers &&\n record?.profile?.registrationNumbers.find(({ authority }) => {\n return authority === fieldType;\n })?.[type];\n\n return <DataItem {...props} value={transformedValue} sxValue={sx.value} />;\n};\n\n// eslint-disable-next-line better-mutation/no-mutation\nDataItemRegistrationNumbers.propTypes = {\n // eslint-disable-next-line react/forbid-prop-types\n record: PropTypes.object.isRequired,\n title: PropTypes.string,\n hint: PropTypes.string,\n type: PropTypes.string,\n fieldType: PropTypes.oneOf(AuthoritiesList).isRequired,\n};\n\nconst sx = {\n avatar: {\n width: '66px',\n height: '66px',\n bgcolor: 'primary.main',\n border: '6px solid white',\n },\n avatarBorder: {\n mb: 5,\n display: 'flex',\n borderRadius: '50%',\n border: (theme) => `1px solid ${theme.palette.divider.main}`,\n },\n token: {\n color: 'text.secondary',\n wordBreak: 'break-all',\n },\n dataRow: {\n mb: 4,\n },\n value: {\n wordBreak: 'break-word',\n fontWeight: 600,\n },\n commercials: { display: 'flex', gap: '1em' },\n title: { height: '1em' },\n header: {\n fontSize: '1.25rem',\n marginBottom: '.75rem',\n },\n};\n\nexport default OrganizationShow;\n"],"names":["useState","useMemo","kebabCase","useRef","useIsIssuingInspection","useGetList","dataResources","useEffect","useCallback","credentialTypesByServiceTypes","jsxs","Fragment","Popup","jsx","Loading","ServiceTypeSelection","ServiceEndpointSelection","SecretKeysPopup","maxLength","required","useFormContext","index","TextInput","Box","sx","CustomImageInput","Button","useConfig","Typography","validateEmail","email","ServiceCreateFormContainer","useNavigate","useLocation","useNotify","useRedirect","useAuth","countryCodes","useCountryCodes","useSelectedOrganization","useGetOne","parseJwt","useCreateController","ERRORS","formatWebSiteUrl","formatRegistrationNumbers","Stack","Form","FormDataConsumer","Grid","validateWebsiteStrict","Tooltip","WEBSITE_HINT","AutocompleteInput","validateWebsite","LinkedInRegistrationInput","SUPPORT_EMAIL_HINT","TECHNICAL_EMAIL_HINT","AuthorityRegistrationNumbersInput","ADMINISTRATOR_DETAILS_HINT","SIGNATORY_DETAILS_HINT","SIGNATORY_EMAIL_HINT","ArrayInput","SimpleFormIterator","PlusButtonBlock","useParams","useEditController","Edit","WEBSITE_HINT_SHORT","SaveButton","copyTextToClipboard","Paper","OrganizationAvatar","DataItem","LINKEDIN_ORGANIZATION_ID","DUNS_HINT","authorityOptions","Authorities","LEI_HINT","NATIONAL_AUTHORITY_HINT","DID_HINT","ALSO_KNOWN_AS_HINT","Divider","AuthoritiesList"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+BA,MAAM,yBAAyB,CAAC;AAAA,EAC9B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAEA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAAM;AACJ,QAAM,CAAC,cAAc,eAAe,IAAIA,MAAAA,SAAS,CAAC;AAClD,QAAM,CAAC,mBAAmB,oBAAoB,IAAIA,MAAAA,SAAS,KAAK;AAChE,QAAM,CAAC,yBAAyB,0BAA0B,IAAIA,MAAAA,SAAS,KAAK;AAE5E,QAAM,YAAYC,MAAAA,QAAQ,MAAM;AAC9B,QAAI,qBAAqB;AACvB,YAAM,OAAO,oBAAoB,GAAG,MAAM,MAAM;AAChD,aAAO,GAAGC,SAAAA,UAAU,KAAK,CAAC,CAAC,CAAC;AAAA,IAC9B;AACA,WAAO;AAAA,EACT,GAAG,CAAC,mBAAmB,CAAC;AAExB,QAAM,iBAAiBC,MAAAA,OAAO,aAAa;AAE3C,QAAM,EAAE,uBAAuB,UAAUC,uBAAAA,uBAAuB,mBAAmB;AAEnF,QAAM,EAAE,MAAM,0BAA0B,WAAW,iBAAiBC,WAAAA;AAAAA,IAClEC,mBAAAA,cAAc;AAAA,IACd;AAAA,MACE,QAAQ,EAAE,cAAc,0BAAA;AAAA,IAA0B;AAAA,EACpD;AAIFC,QAAAA,UAAU,MAAM;AACd,UAAM,QAAQ,MAAM;AAClB,sBAAgB,CAAC;AAAA,IACnB;AACA,QAAI,eAAe,YAAY,SAAS,iBAAiB,CAAC,WAAW;AACnE,YAAA;AAAA,IACF;AAGA,mBAAe,UAAU;AACzB,WAAO;AAAA,EACT,GAAG,CAAC,eAAe,SAAS,CAAC;AAE7BA,QAAAA,UAAU,MAAM;AACd,QAAI,qBAAqB,WAAW;AAClC,iCAA2B,IAAI;AAAA,IACjC;AAAA,EACF,GAAG,CAAC,mBAAmB,SAAS,CAAC;AAEjC,QAAM,mBAAmBC,MAAAA;AAAAA,IACvB,CAAC,EAAE,gBAAA,MAAsB;AACvB,YAAM,OAAO,oBAAoB,GAAG,MAAM,MAAM;AAChD,qBAAe,gBAAgB,MAAM,GAAG,EAAE,CAAC,CAAC;AAC5C,eAAS;AAAA,QACP;AAAA,QACA,MAAM,KAAK,CAAC;AAAA,QACZ,GAAI,oBAAoB,GAAG,SAAS,SAAS,KAAK;AAAA,UAChD,iBAAiBC,aAAAA,8BAA8B,oBAAoB,EAAE;AAAA,QAAA;AAAA,MACvE,CACD;AAAA,IACH;AAAA,IACA,CAAC,UAAU,oBAAoB,IAAI,cAAc;AAAA,EAAA;AAGnD,SACEC,2BAAAA,KAAAC,qBAAA,EACE,UAAA;AAAA,IAAAD,2BAAAA;AAAAA,MAACE,MAAAA;AAAAA,MAAA;AAAA,QACC;AAAA,QACA,OAAM;AAAA,QACN,QAAQ;AAAA,QACR,qBAAqB,OAAO;AAAA,QAC5B,oBAAoB;AAAA,QAEnB,UAAA;AAAA,UAAA,aAAaC,2BAAAA,IAACC,iBAAA,EAAQ,OAAM,SAAQ,IAAI,EAAE,IAAI,OAAA,GAAU,MAAM,GAAA,CAAI;AAAA,UAElE,iBAAiB,KAChBD,2BAAAA;AAAAA,YAACE,MAAAA;AAAAA,YAAA;AAAA,cACC,YAAY,MAAM,gBAAgB,CAAC;AAAA,cACnC,WAAW;AAAA,cACX;AAAA,cACA;AAAA,cACA,WAAW,MAAM;AACf,yBAAS,IAAI;AAAA,cACf;AAAA,YAAA;AAAA,UAAA;AAAA,UAGH,iBAAiB,KAChBF,2BAAAA;AAAAA,YAACG,MAAAA;AAAAA,YAAA;AAAA,cACC;AAAA,cACA,qBAAqB;AAAA,cACrB,YAAY;AAAA,cACZ,UAAU;AAAA,cACV,YAAY,MAAM,gBAAgB,CAAC;AAAA,YAAA;AAAA,UAAA;AAAA,QACrC;AAAA,MAAA;AAAA,IAAA;AAAA,IAIJH,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC;AAAA,QACA;AAAA,QACA,QAAQ,MAAM,qBAAqB,IAAI;AAAA,QACvC,SAAS,MAAM,qBAAqB,IAAI;AAAA,QACxC,qBAAqB;AAAA,QACrB;AAAA,QACA;AAAA,MAAA;AAAA,IAAA;AAAA,IAGFA,2BAAAA;AAAAA,MAACI,QAAAA;AAAAA,MAAA;AAAA,QACC,QAAQ;AAAA,QACR;AAAA,QACA,SAAS,MAAM;AACb,+BAAqB,KAAK;AAC1B,kBAAA;AAAA,QACF;AAAA,QACA,SAAS;AAAA,UACP,OAAO;AAAA,UACP,UACE;AAAA,QAAA;AAAA,QAEJ,gBAAgB;AAAA,UACd,OAAO;AAAA,UACP,UACE;AAAA,QAAA;AAAA,MACJ;AAAA,IAAA;AAAA,EACF,GACF;AAEJ;AAEA,MAAM,SAAS;AAAA,EACb,eAAe,EAAE,IAAI,EAAA;AACvB;AAGA,uBAAuB,YAAY;AAAA,EACjC,eAAe,UAAU;AAAA,EACzB,WAAW,UAAU;AAAA,EACrB,UAAU,UAAU;AAAA,EACpB,WAAW,UAAU;AAAA;AAAA,EAErB,YAAY,UAAU;AAAA,EACtB,SAAS,UAAU;AAAA,EACnB,KAAK,UAAU;AAAA,EACf,qBAAqB,UAAU,MAAM;AAAA,IACnC,IAAI,UAAU;AAAA,IACd,OAAO,UAAU;AAAA,EAAA,CAClB;AAAA,EACD,wBAAwB,UAAU;AAAA,EAClC,aAAa,UAAU;AAAA,EACvB,gBAAgB,UAAU;AAAA,EAC1B,mBAAmB,UAAU;AAC/B;ACtLO,MAAM,oBAAoB,CAAC,EAAE,UAAU,qBAAqB;AACjE,MAAI,oBAAoB,CAACC,iBAAU,GAAG,CAAC;AACvC,MAAI,kBAAkB,eAAe,MAAM;AACzC,wBAAoB,CAAC,GAAG,mBAAmBC,OAAAA,SAAS,mCAAmC,CAAC;AAAA,EAC1F;AACA,QAAM,OAAOC,cAAAA,eAAA;AACb,QAAMC,SAAQ,UAAU,SAAS,oBAAoB,QAAQ,cAAc,KAAK;AAChF,QAAM,cAAc,8BAA8BA,MAAK;AACvD,SACEX,2BAAAA,KAAAC,qBAAA,EACE,UAAA;AAAA,IAAAE,2BAAAA;AAAAA,MAACS,WAAAA;AAAAA,MAAA;AAAA,QACC,WAAS;AAAA,QACT,OAAM;AAAA,QACN,aAAY;AAAA,QACZ,QAAO;AAAA,QACP,UAAU;AAAA,QACV,cAAa;AAAA,MAAA;AAAA,IAAA;AAAA,mCAEdC,SAAAA,KAAA,EAAI,IAAI,GAAG,IAAIC,KAAG,oBACjB,UAAAX,2BAAAA;AAAAA,MAACY,QAAAA;AAAAA,MAAA;AAAA,QACC,OAAO;AAAA,QACP,WAAU;AAAA,QACV,UAAQ;AAAA,QACR,OAAO;AAAA,QACP,QAAQ,gBAAgB;AAAA,QACxB,OAAOD,KAAG;AAAA,QACV,YAAY,CAAC,CAAC,gBAAgB;AAAA,QAC9B,UAAU,MAAM;AACd,eAAK,SAAS,GAAG,WAAW,OAAO;AACnC,eAAK,QAAQ,GAAG,WAAW,OAAO;AAAA,QACpC;AAAA,MAAA;AAAA,IAAA,EACF,CACF;AAAA,EAAA,GACF;AAEJ;AAGA,MAAMA,OAAK;AAAA,EACT,WAAW,EAAE,WAAW,QAAA;AAC1B;AC7CO,MAAM,2BAA2B,MAAM;AAC5C,QAAM,OAAOJ,cAAAA,eAAA;AAEb,SACEP,2BAAAA;AAAAA,IAACa,WAAAA;AAAAA,IAAA;AAAA,MACC,UAAU,CAAC,KAAK,UAAU;AAAA,MAC1B,SAAQ;AAAA,MACR,OAAM;AAAA,MACN,MAAK;AAAA,MACL,MAAK;AAAA,MACL,IAAIF,KAAG;AAAA,MACR,UAAA;AAAA,IAAA;AAAA,EAAA;AAIL;AAEA,MAAMA,OAAK;AAAA,EACT,QAAQ;AAAA,IACN,UAAU;AAAA,EAAA;AAEd;ACrBO,MAAM,0BAA0B,MAAM;AAC3C,QAAM,SAASG,cAAAA,UAAA;AAEf,SACEjB,2BAAAA,KAAAC,qBAAA,EACE,UAAA;AAAA,IAAAD,gCAACkB,SAAAA,cAAW,SAAQ,MAAK,IAAI,GAAG,WAAU,UAAS,UAAA;AAAA,MAAA;AAAA,MACgB,OAAO;AAAA,MAAU;AAAA,IAAA,GACpF;AAAA,IACAf,2BAAAA,IAACe,SAAAA,cAAW,SAAQ,MAAK,IAAI,KAAK,WAAU,UAAS,UAAA,sGAAA,CAGrD;AAAA,EAAA,GACF;AAEJ;ACdO,MAAM,eAAe,CAACT,WAAAA,SAAQ,GAAID,WAAAA,UAAU,GAAG,CAAC;AAChD,MAAMW,kBAAgB,CAACV,WAAAA,YAAYW,WAAAA,OAAO;AAS1C,MAAM,iBAAiB;AAAA,EAC5B,cAAc;AAAA,EACd,sBAAsB;AAAA,EACtB,oBAAoB;AAAA,EACpB,gBAAgB;AAClB;AAEO,MAAM,0BACX;ACyDK,MAAM,oBAAoB;AAAA,EAC/B;AAAA,IACE,MAAM;AAAA,EAAA;AAEV;AAEO,MAAM,kBAAkB,CAAC,WAAW,QAAQ,MAAM,CAAC,UAAU,CAAC,CAAC,MAAM,QAAQ,MAAM,IAAI;AACvF,MAAM,qBAAqB,CAAC,WAAW;AAC5C,SAAO,UAAU,CAAC,gBAAgB,MAAM,MAAM,OAAO,SAAS,MAAM,KAAK,OAAO,WAAW;AAC7F;AAEA,MAAM,qBAAqB,CAAC;AAAA,EAC1B,yBAAyBC;AAAAA,EACzB;AACF,MAAM;AACJ,QAAM,WAAWC,YAAAA,YAAA;AACjB,QAAM,WAAWC,YAAAA,YAAA;AACjB,QAAM,SAASC,WAAAA,UAAA;AACf,QAAM,WAAWC,WAAAA,YAAA;AAEjB,QAAM,EAAE,QAAQ,MAAM,eAAA,IAAmBC,YAAAA,QAAA;AAEzC,QAAM,EAAE,MAAMC,gBAAc,UAAA,IAAcC,aAAAA,gBAAA;AAC1C,QAAM,CAAC,KAAK,MAAM,IAAIC,kDAAA;AAEtB,QAAM,CAAC,kBAAkB,mBAAmB,IAAIvC,MAAAA,SAAS,IAAI;AAC7D,QAAM,CAAC,kBAAkB,iBAAiB,IAAIA,MAAAA,SAAS,KAAK;AAC5D,QAAM,CAAC,YAAY,aAAa,IAAIA,MAAAA,SAAS,IAAI;AACjD,QAAM,CAAC,wBAAwB,uBAAuB,IAAIA,MAAAA,SAAS,KAAK;AACxE,QAAM,CAAC,kBAAkB,mBAAmB,IAAIA,MAAAA,SAAS,KAAK;AAC9D,QAAM,CAAC,aAAa,cAAc,IAAIA,MAAAA,SAAS,EAAE;AACjD,QAAM,CAAC,aAAa,cAAc,IAAIA,MAAAA,SAAS,EAAE;AACjD,QAAM,CAAC,eAAe,gBAAgB,IAAIA,MAAAA,SAAS,EAAE,SAAS,EAAE,MAAM,GAAA,GAAM;AAE5E,QAAM,EAAE,QAAA,IAAYK,sBAAW,iBAAiB,QAAW;AAAA,IACzD,SAAS;AAAA,EAAA,CACV;AACD,QAAM,EAAE,MAAM,UAAU,WAAW,sBAAsBmC,WAAAA;AAAAA,IACvDlC,mBAAAA,cAAc;AAAA,IACd;AAAA,MACE,IAAI,KAAK;AAAA,IAAA;AAAA,IAEX;AAAA,MACE,SAAS,CAAC,CAAC,KAAK;AAAA,MAChB,GAAG;AAAA,IAAA;AAAA,EACL;AAGFC,QAAAA,UAAU,MAAM;AACd,KAAC,YAAY;AACX,UAAI;AACF,cAAM,QAAQ,MAAM,eAAA;AACpB,cAAM,eAAekC,QAAAA,SAAS,KAAK;AACnC;AAAA,UACE;AAAA,YACE,aAAa,2CAA2C,KACtD,aAAa,MAAM,SAAS,OAAO;AAAA,UAAA;AAAA,QACvC;AAAA,MAEJ,SAAS,GAAG;AACV,gBAAQ,MAAM,CAAC;AAAA,MACjB;AAAA,IACF,GAAA;AAAA,EACF,GAAG,CAAC,gBAAgB,mBAAmB,CAAC;AAExC,QAAM,EAAE,KAAA,IAASC,+BAAoB;AAAA,IACnC,UAAU;AAAA,IACV,iBAAiB;AAAA,MACf,WAAW,OAAO,SAAS;AACzB,gBAAA;AACA,eAAO,KAAK,EAAE;AACd,sBAAc,EAAE,MAAM,KAAK,MAAM,aAAa,KAAK,aAAa;AAChE,0BAAkB,IAAI;AACtB,gCAAwB,KAAK;AAC7B,iBAAS,EAAE;AACX,uBAAe,EAAE,WAAW,OAAO;AAAA,MACrC;AAAA,MACA,SAAS,CAAC,EAAE,WAAW;AACrB,gCAAwB,KAAK;AAC7B,YAAI,KAAK,cAAc,0BAA0B;AAC/C,iBAAOC,QAAAA,OAAO,eAAe,EAAE,MAAM,WAAW,EAAE,kBAAkB,KAAM;AAAA,QAC5E,OAAO;AACL,iBAAO,KAAK,WAAWA,QAAAA,OAAO,SAAS,EAAE,MAAM,QAAA,GAAW,EAAE,kBAAkB,IAAA,CAAM;AAAA,QACtF;AACA,iBAAS,EAAE;AACX,0BAAkB,KAAK;AAAA,MACzB;AAAA,IAAA;AAAA,EACF,CACD;AAED,QAAM,wBAAwB,CAAC,SAAS;AACtC,wBAAoB,IAAI;AACxB,aAAS,SAAS;AAAA,EACpB;AAEA,QAAM,UAAU,MAAM;AACpB,QAAI,qBAAqB,MAAM;AAC7B,eAAS,QAAQ,UAAU;AAAA,IAC7B,OAAO;AACL,eAAS,EAAE;AACX,0BAAoB,IAAI;AACxB,wBAAkB,KAAK;AAAA,IACzB;AAAA,EACF;AAEA,QAAM,WAAW,OAAO,gBAAgB;AACtC,4BAAwB,IAAI;AAC5B,UAAM,eAAe;AAAA,MACnB,GAAG;AAAA,MACH,SAAS;AAAA,QACP,GAAI,kBAAkB,WAAW,CAAA;AAAA,QACjC,SAASC,QAAAA,iBAAiB,kBAAkB,SAAS,OAAO;AAAA,QAC5D,iBAAiBA,QAAAA,iBAAiB,kBAAkB,SAAS,eAAe;AAAA,QAC5E,qBAAqBC,QAAAA;AAAAA,UACnB,kBAAkB,SAAS;AAAA,QAAA;AAAA,QAE7B,oBAAoB,kBAAkB,SAAS,oBAC3C,OAAO,CAAC,UAAU,MAAM,IAAI,GAC5B,IAAI,CAAC,gBAAgB;AAAA,UACrB,GAAG;AAAA,UACH,MAAM;AAAA,QAAA,EACN;AAAA,MAAA;AAAA,IACN;AAEF,UAAM,KAAK;AAAA,MACT,GAAG;AAAA,MACH,kBAAkB,cACd;AAAA,QACE;AAAA,UACE,IAAI,GAAG,GAAG,IAAI3C,SAAAA,UAAU,YAAY,IAAI,CAAC;AAAA,UACzC,iBAAiB,YAAY;AAAA,UAC7B,MAAM,YAAY;AAAA,UAClB,iBAAiBO,aAAAA,8BAA8B,YAAY,IAAI;AAAA,QAAA;AAAA,MACjE,IAEF,CAAA;AAAA,IAAC,CACN;AAAA,EACH;AAEA,MAAI,aAAa,mBAAmB;AAClC,0CAAQK,QAAAA,SAAA,EAAQ,IAAI,EAAE,IAAI,UAAU;AAAA,EACtC;AACA,SACED,2BAAAA,IAACU,SAAAA,OAAI,IAAIC,KAAG,MACV,UAAAd,2BAAAA,KAACoC,SAAAA,OAAA,EAAM,IAAItB,KAAG,SACX,UAAA;AAAA,IAAA,oBAAoBX,2BAAAA,IAAC,oBAAiB,iBAAA,CAAoC;AAAA,mCAE1E,yBAAA,EAAwB;AAAA,mCAExBkC,WAAAA,MAAA,EAAK,QAAQ,eAAe,UAAU,uBAAuB,YAAU,MAAC,MAAK,aAC5E,yCAACC,6BAAA,EACE,UAAA,CAAC,EAAE,SAAA,MACFtC,2BAAAA,KAAAC,qBAAA,EACE,UAAA;AAAA,MAAAD,gCAACuC,SAAAA,QAAK,WAAS,MAAC,SAAS,GAAG,YAAY,GACtC,UAAA;AAAA,QAAApC,2BAAAA,IAACoC,SAAAA,MAAA,EAAK,MAAM,EAAE,IAAI,EAAA,GAChB,UAAAvC,2BAAAA,KAACoC,SAAAA,OAAA,EAAM,WAAS,MAAC,MAAM,GAAG,eAAc,UACtC,UAAA;AAAA,UAAAjC,2BAAAA,IAACoC,SAAAA,MAAA,EAAK,MAAM,EAAE,IAAI,GAAA,GAChB,UAAApC,2BAAAA,IAACiC,SAAAA,OAAA,EAAM,eAAc,OAAM,KAAK,MAC9B,UAAAjC,2BAAAA;AAAAA,YAACS,WAAAA;AAAAA,YAAA;AAAA,cACC,WAAS;AAAA,cACT,OAAM;AAAA,cACN,QAAO;AAAA,cACP,UAAU;AAAA,YAAA;AAAA,UAAA,GAEd,EAAA,CACF;AAAA,UACAT,2BAAAA,IAACoC,SAAAA,MAAA,EAAK,MAAM,EAAE,IAAI,GAAA,GAChB,UAAAvC,2BAAAA,KAACoC,SAAAA,OAAA,EAAM,eAAc,OAAM,KAAK,MAC9B,UAAA;AAAA,YAAAjC,2BAAAA;AAAAA,cAACS,WAAAA;AAAAA,cAAA;AAAA,gBACC,WAAS;AAAA,gBACT,OAAM;AAAA,gBACN,QAAO;AAAA,gBACP,UAAU,CAAC,GAAG4B,wBAAAA,uBAAuB/B,qBAAU;AAAA,cAAA;AAAA,YAAA;AAAA,2CAEhDI,SAAAA,KAAA,EAAI,IAAI,GACP,UAAAV,2BAAAA,IAACsC,SAAAA,WAAQ,OAAOC,sBACd,UAAAvC,2BAAAA,IAAC,UAAA,EAAS,OAAM,QAAO,UAAS,SAAQ,QAAO,WAAU,GAC3D,EAAA,CACF;AAAA,UAAA,EAAA,CACF,EAAA,CACF;AAAA,yCACCoC,SAAAA,MAAA,EAAK,MAAM,EAAE,IAAI,MAChB,UAAApC,2BAAAA;AAAAA,YAACS,WAAAA;AAAAA,YAAA;AAAA,cACC,WAAS;AAAA,cACT,OAAM;AAAA,cACN,QAAO;AAAA,cACP,UAAU,CAACH,WAAAA,YAAYD,WAAAA,UAAU,IAAI,CAAC;AAAA,YAAA;AAAA,UAAA,GAE1C;AAAA,yCACC+B,SAAAA,MAAA,EAAK,MAAM,EAAE,IAAI,MAChB,UAAApC,2BAAAA;AAAAA,YAACwC,WAAAA;AAAAA,YAAA;AAAA,cACC,OAAM;AAAA,cACN,QAAO;AAAA,cACP,SAAShB;AAAAA,cACT,UAAUlB,WAAAA,SAAA;AAAA,YAAS;AAAA,UAAA,EACrB,CACF;AAAA,QAAA,EAAA,CACF,EAAA,CACF;AAAA,uCACC8B,SAAAA,MAAA,EAAK,MAAM,EAAE,IAAI,KAAK,IAAI,GACzB,UAAApC,2BAAAA,IAACY,4BAAiB,OAAO,OAAO,UAAQ,MAAC,OAAM,WAAU,GAC3D;AAAA,uCACCwB,SAAAA,MAAA,EAAK,MAAM,EAAE,IAAI,KAChB,UAAApC,2BAAAA;AAAAA,UAACS,WAAAA;AAAAA,UAAA;AAAA,YACC,WAAS;AAAA,YACT,OAAM;AAAA,YACN,QAAO;AAAA,YACP,UAAU,CAAC,GAAGgC,wBAAAA,iBAAiBnC,qBAAU;AAAA,UAAA;AAAA,QAAA,GAE7C;AAAA,uCACC8B,SAAAA,MAAA,EAAK,MAAM,EAAE,IAAI,KAChB,UAAApC,2BAAAA;AAAAA,UAAC0C,0BAAAA;AAAAA,UAAA;AAAA,YACC,UAAU,SAAS;AAAA,YACnB,QAAO;AAAA,UAAA;AAAA,QAAA,GAEX;AAAA,QACA1C,2BAAAA,IAACoC,SAAAA,MAAA,EAAK,MAAM,EAAE,IAAI,EAAA,GAChB,UAAAvC,2BAAAA,KAACoC,SAAAA,OAAA,EAAM,eAAc,OAAM,KAAK,MAC9B,UAAA;AAAA,UAAAjC,2BAAAA;AAAAA,YAACS,WAAAA;AAAAA,YAAA;AAAA,cACC,WAAS;AAAA,cACT,OAAM;AAAA,cACN,QAAO;AAAA,cACP,UAAUO;AAAAA,YAAA;AAAA,UAAA;AAAA,yCAEXN,SAAAA,KAAA,EAAI,IAAI,GACP,UAAAV,2BAAAA,IAACsC,SAAAA,WAAQ,OAAOK,4BACd,UAAA3C,2BAAAA,IAAC,UAAA,EAAS,OAAM,QAAO,UAAS,SAAQ,QAAO,WAAU,GAC3D,EAAA,CACF;AAAA,QAAA,EAAA,CACF,EAAA,CACF;AAAA,QACAA,2BAAAA,IAACoC,SAAAA,MAAA,EAAK,MAAM,EAAE,IAAI,EAAA,GAChB,UAAAvC,2BAAAA,KAACoC,SAAAA,OAAA,EAAM,eAAc,OAAM,KAAK,MAC9B,UAAA;AAAA,UAAAjC,2BAAAA;AAAAA,YAACS,WAAAA;AAAAA,YAAA;AAAA,cACC,WAAS;AAAA,cACT,OAAM;AAAA,cACN,QAAO;AAAA,cACP,UAAUO;AAAAA,YAAA;AAAA,UAAA;AAAA,yCAEXN,SAAAA,KAAA,EAAI,IAAI,GACP,UAAAV,2BAAAA,IAACsC,SAAAA,WAAQ,OAAOM,8BACd,UAAA5C,2BAAAA,IAAC,UAAA,EAAS,OAAM,QAAO,UAAS,SAAQ,QAAO,WAAU,GAC3D,EAAA,CACF;AAAA,QAAA,EAAA,CACF,EAAA,CACF;AAAA,QACAA,2BAAAA;AAAAA,UAAC6C,0BAAAA;AAAAA,UAAA;AAAA,YACC,QAAO;AAAA,YACP,aAAY;AAAA,UAAA;AAAA,QAAA;AAAA,uCAEbT,SAAAA,MAAA,EAAK,MAAM,EAAE,IAAI,MAChB,UAAApC,2BAAAA;AAAAA,UAACS,WAAAA;AAAAA,UAAA;AAAA,YACC,WAAS;AAAA,YACT,WAAS;AAAA,YACT,OAAM;AAAA,YACN,aAAa;AAAA,YACb,QAAO;AAAA,YACP,UAAUH,WAAAA,SAAA;AAAA,UAAS;AAAA,QAAA,GAEvB;AAAA,QACAN,2BAAAA,IAACoC,SAAAA,MAAA,EAAK,MAAM,EAAE,IAAI,GAAA,GAChB,UAAApC,2BAAAA,IAACe,SAAAA,YAAA,EAAW,SAAQ,MAAK,UAAA,kBAAA,CAAe,GAC1C;AAAA,QACAf,2BAAAA,IAACoC,SAAAA,MAAA,EAAK,MAAM,EAAE,IAAI,EAAA,GAChB,UAAAvC,2BAAAA,KAACoC,SAAAA,OAAA,EAAM,eAAc,OAAM,KAAK,MAC9B,UAAA;AAAA,UAAAjC,2BAAAA,IAACe,SAAAA,YAAA,EAAW,SAAQ,SAAQ,IAAI,GAAG,IAAIJ,KAAG,cAAc,UAAA,0BAAA,CAExD;AAAA,yCACCD,SAAAA,KAAA,EAAI,IAAI,GACP,UAAAV,2BAAAA,IAACsC,SAAAA,WAAQ,OAAOQ,oCACd,UAAA9C,2BAAAA,IAAC,UAAA,EAAS,OAAM,QAAO,UAAS,SAAQ,QAAO,WAAU,GAC3D,EAAA,CACF;AAAA,QAAA,EAAA,CACF,EAAA,CACF;AAAA,QACAA,2BAAAA,IAACoC,SAAAA,MAAA,EAAK,MAAM,EAAE,IAAI,EAAA,GAChB,UAAAvC,2BAAAA,KAACoC,SAAAA,OAAA,EAAM,eAAc,OAAM,KAAK,MAC9B,UAAA;AAAA,UAAAjC,2BAAAA,IAACe,SAAAA,YAAA,EAAW,SAAQ,SAAQ,IAAI,GAAG,IAAIJ,KAAG,cAAc,UAAA,gCAAA,CAExD;AAAA,yCACCD,SAAAA,KAAA,EAAI,IAAI,GACP,UAAAV,2BAAAA,IAACsC,SAAAA,WAAQ,OAAOS,gCACd,UAAA/C,2BAAAA,IAAC,UAAA,EAAS,OAAM,QAAO,UAAS,SAAQ,QAAO,WAAU,GAC3D,EAAA,CACF;AAAA,QAAA,EAAA,CACF,EAAA,CACF;AAAA,wCACCoC,SAAAA,MAAA,EAAK,MAAM,EAAE,IAAI,KAChB,UAAA;AAAA,UAAApC,2BAAAA,IAACiC,SAAAA,OAAA,EAAM,eAAc,OAAM,KAAK,MAC9B,UAAAjC,2BAAAA;AAAAA,YAACS,WAAAA;AAAAA,YAAA;AAAA,cACC,WAAS;AAAA,cACT,OAAM;AAAA,cACN,QAAO;AAAA,cACP,UAAU,CAACJ,WAAAA,UAAU,IAAI,GAAGC,WAAAA,UAAU;AAAA,cACtC,cAAc,WAAW,SAAS,YAAY;AAAA,YAAA;AAAA,UAAA,GAElD;AAAA,UACAN,2BAAAA,IAACiC,SAAAA,OAAA,EAAM,eAAc,OAAM,KAAK,MAC9B,UAAAjC,2BAAAA;AAAAA,YAACS,WAAAA;AAAAA,YAAA;AAAA,cACC,WAAS;AAAA,cACT,OAAM;AAAA,cACN,QAAO;AAAA,cACP,UAAU,CAACJ,WAAAA,UAAU,IAAI,GAAGC,WAAAA,UAAU;AAAA,cACtC,cAAc,WAAW,SAAS,aAAa;AAAA,YAAA;AAAA,UAAA,EACjD,CACF;AAAA,QAAA,GACF;AAAA,wCACC8B,SAAAA,MAAA,EAAK,MAAM,EAAE,IAAI,KAChB,UAAA;AAAA,UAAApC,2BAAAA,IAACiC,SAAAA,OAAA,EAAM,eAAc,OAAM,KAAK,MAC9B,UAAAjC,2BAAAA;AAAAA,YAACS,WAAAA;AAAAA,YAAA;AAAA,cACC,WAAS;AAAA,cACT,OAAM;AAAA,cACN,QAAO;AAAA,cACP,UAAU,CAACJ,WAAAA,UAAU,IAAI,GAAGC,WAAAA,UAAU;AAAA,YAAA;AAAA,UAAA,GAE1C;AAAA,UACAN,2BAAAA,IAACiC,SAAAA,OAAA,EAAM,eAAc,OAAM,KAAK,MAC9B,UAAAjC,2BAAAA;AAAAA,YAACS,WAAAA;AAAAA,YAAA;AAAA,cACC,WAAS;AAAA,cACT,OAAM;AAAA,cACN,QAAO;AAAA,cACP,UAAU,CAACJ,WAAAA,UAAU,IAAI,GAAGC,WAAAA,UAAU;AAAA,YAAA;AAAA,UAAA,EACxC,CACF;AAAA,QAAA,GACF;AAAA,QACAN,2BAAAA,IAACoC,SAAAA,MAAA,EAAK,MAAM,EAAE,IAAI,EAAA,GAChB,UAAApC,2BAAAA,IAACiC,SAAAA,OAAA,EAAM,eAAc,OAAM,KAAK,MAC9B,UAAAjC,2BAAAA;AAAAA,UAACS,WAAAA;AAAAA,UAAA;AAAA,YACC,WAAS;AAAA,YACT,OAAM;AAAA,YACN,QAAO;AAAA,YACP,UAAU,CAACJ,WAAAA,UAAU,IAAI,GAAGC,WAAAA,UAAU;AAAA,UAAA;AAAA,QAAA,GAE1C,EAAA,CACF;AAAA,QACAN,2BAAAA,IAACoC,SAAAA,MAAA,EAAK,MAAM,EAAE,IAAI,EAAA,GAChB,UAAApC,2BAAAA,IAACiC,SAAAA,OAAA,EAAM,eAAc,OAAM,KAAK,MAC9B,UAAAjC,2BAAAA;AAAAA,UAACS,WAAAA;AAAAA,UAAA;AAAA,YACC,WAAS;AAAA,YACT,OAAM;AAAA,YACN,QAAO;AAAA,YACP,UAAU,CAACJ,WAAAA,UAAU,IAAI,GAAGC,WAAAA,UAAU;AAAA,UAAA;AAAA,QAAA,GAE1C,EAAA,CACF;AAAA,QACAN,2BAAAA,IAACoC,SAAAA,MAAA,EAAK,MAAM,EAAE,IAAI,EAAA,GAChB,UAAApC,2BAAAA,IAACiC,SAAAA,OAAA,EAAM,eAAc,OAAM,KAAK,MAC9B,UAAAjC,2BAAAA;AAAAA,UAACS,WAAAA;AAAAA,UAAA;AAAA,YACC,WAAS;AAAA,YACT,OAAM;AAAA,YACN,QAAO;AAAA,YACP,UAAUO;AAAAA,YACV,cAAc,WAAW,SAAS,QAAQ;AAAA,UAAA;AAAA,QAAA,GAE9C,EAAA,CACF;AAAA,QACAhB,2BAAAA,IAACoC,SAAAA,MAAA,EAAK,MAAM,EAAE,IAAI,EAAA,GAChB,UAAAvC,2BAAAA,KAACoC,SAAAA,OAAA,EAAM,eAAc,OAAM,KAAK,MAC9B,UAAA;AAAA,UAAAjC,2BAAAA;AAAAA,YAACS,WAAAA;AAAAA,YAAA;AAAA,cACC,WAAS;AAAA,cACT,OAAM;AAAA,cACN,QAAO;AAAA,cACP,UAAUO;AAAAA,YAAA;AAAA,UAAA;AAAA,yCAEXN,SAAAA,KAAA,EAAI,IAAI,GACP,UAAAV,2BAAAA,IAACsC,SAAAA,WAAQ,OAAOU,8BACd,UAAAhD,2BAAAA,IAAC,UAAA,EAAS,OAAM,QAAO,UAAS,SAAQ,QAAO,WAAU,GAC3D,EAAA,CACF;AAAA,QAAA,EAAA,CACF,EAAA,CACF;AAAA,uCACCoC,SAAAA,MAAA,EAAK,MAAM,EAAE,IAAI,MAChB,UAAApC,2BAAAA,IAACe,SAAAA,YAAA,EAAW,SAAQ,MAAK,IAAI,GAAG,IAAI,GAAG,8BAEvC,GACF;AAAA,uCACCqB,SAAAA,MAAA,EAAK,MAAM,EAAE,IAAI,MAChB,UAAApC,2BAAAA;AAAAA,UAACiD,WAAAA;AAAAA,UAAA;AAAA,YACC,QAAO;AAAA,YACP,cAAc;AAAA,YACd,IAAI,EAAE,yBAAyB,EAAE,SAAS,SAAO;AAAA,YAEjD,UAAAjD,2BAAAA;AAAAA,cAACkD,WAAAA;AAAAA,cAAA;AAAA,gBACC,WACElD,2BAAAA;AAAAA,kBAACmD,gBAAAA;AAAAA,kBAAA;AAAA,oBACC,OAAOxC,KAAG;AAAA,oBACV,UAAU,CAAC,gBAAgB,SAAS,QAAQ,kBAAkB;AAAA,oBAC9D,UAAU,SAAS,SAAS,oBAAoB;AAAA,kBAAA;AAAA,gBAAA;AAAA,gBAGpD,YAAY,mBAAmB,SAAS,QAAQ,kBAAkB;AAAA,gBAClE,WAAS;AAAA,gBACT,IAAIA,KAAG;AAAA,gBAEP,UAAAX,2BAAAA,IAACmC,WAAAA,kBAAA,EACE,UAAA,CAAC,EAAE,qBAAqB;AACvB,yBACEnC,2BAAAA;AAAAA,oBAAC;AAAA,oBAAA;AAAA,sBACC;AAAA,sBACA;AAAA,oBAAA;AAAA,kBAAA;AAAA,gBAGN,EAAA,CACF;AAAA,cAAA;AAAA,YAAA;AAAA,UACF;AAAA,QAAA,EACF,CACF;AAAA,MAAA,GACF;AAAA,sCACCU,SAAAA,KAAA,EAAI,SAAQ,QAAO,gBAAe,UAAS,IAAI,GAC9C,UAAA;AAAA,QAAAV,2BAAAA;AAAAA,UAACa,WAAAA;AAAAA,UAAA;AAAA,YACC,SAAQ;AAAA,YACR,OAAM;AAAA,YACN,MAAK;AAAA,YACL,IAAIF,KAAG;AAAA,YACP,SAAS,MAAO,mBAAmB,SAAS,GAAG,IAAI,OAAA;AAAA,YACpD,UAAA;AAAA,UAAA;AAAA,QAAA;AAAA,uCAGA,0BAAA,CAAA,CAAyB;AAAA,MAAA,GAC5B;AAAA,MACAX,2BAAAA;AAAAA,QAAC;AAAA,QAAA;AAAA,UACC,eAAe,kBAAkB,KAAK,SAAS,QAAQ,KAAK;AAAA,UAC5D,WAAW;AAAA,UACX;AAAA,UACA;AAAA,UACA,WAAW;AAAA,UACX;AAAA,UACA;AAAA,UACA,qBAAqB;AAAA,UACrB,wBAAwB;AAAA,UACxB;AAAA,UACA;AAAA,QAAA;AAAA,MAAA;AAAA,IACF,EAAA,CACF,GAEJ,EAAA,CACF;AAAA,EAAA,EAAA,CACF,EAAA,CACF;AAEJ;AAGA,mBAAmB,YAAY;AAAA,EAC7B,wBAAwB,UAAU;AAAA,EAClC,kBAAkB,UAAU;AAC9B;AAIA,MAAMW,OAAK;AAAA,EACT,MAAM;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,WAAW;AAAA,IACX,SAAS;AAAA,IACT,gBAAgB;AAAA,EAAA;AAAA,EAElB,SAAS;AAAA,IACP,UAAU;AAAA,IACV,YAAY;AAAA,EAAA;AAAA,EAEd,cAAc;AAAA,IACZ,UAAU;AAAA,IACV,IAAI;AAAA,EAAA;AAAA,EAMN,WAAW;AAAA,IACT,SAAS;AAAA,IACT,UAAU;AAAA,IACV,IAAI;AAAA,IACJ,KAAK;AAAA,IACL,gBAAgB;AAAA,IAChB,kCAAkC,EAAE,SAAS,OAAA;AAAA,IAC7C,mCAAmC,EAAE,OAAO,MAAA;AAAA,IAC5C,+BAA+B,EAAE,OAAO,OAAA;AAAA,IACxC,iCAAiC,EAAE,SAAS,OAAA;AAAA,IAC5C,gCAAgC;AAAA,MAC9B,SAAS;AAAA,MACT,UAAU;AAAA,MACV,gBAAgB;AAAA,MAChB,KAAK;AAAA,MACL,UAAU;AAAA,MACV,OAAO;AAAA,MACP,wBAAwB,EAAE,OAAO,MAAA;AAAA,IAAM;AAAA,IAEzC,gCAAgC;AAAA,MAC9B,OAAO;AAAA,MACP,gBAAgB,EAAE,OAAO,OAAA;AAAA,IAAO;AAAA,IAElC,gCAAgC;AAAA,MAC9B,OAAO;AAAA,IAAA;AAAA,EACT;AAAA,EAIF,iBAAiB,EAAE,QAAQ,UAAA;AAAA,EAC3B,cAAc;AAAA,IACZ,UAAU;AAAA,IACV,eAAe;AAAA,EAAA;AAWnB;AC1hBA,MAAM,gBAAgB,CAACL,WAAAA,YAAYW,WAAAA,OAAO;AAE1C,MAAM,YAAY,CAAC,UAAU;AAAA,EAC3B,GAAG;AAAA,EACH,SAAS;AAAA,IACP,GAAG,KAAK;AAAA,IACR,SAASc,QAAAA,iBAAiB,KAAK,QAAQ,OAAO;AAAA,IAC9C,iBAAiBA,QAAAA,iBAAiB,KAAK,QAAQ,eAAe;AAAA,IAC9D,qBAAqBC,QAAAA,0BAA0B,KAAK,SAAS,mBAAmB;AAAA,IAChF,oBAAoB,KAAK,QAAQ,mBAC9B,OAAO,CAAC,UAAU,MAAM,IAAI,EAC5B,IAAI,CAAC,WAAW;AAAA,MACf,GAAG;AAAA,MACH,MAAM;AAAA,IAAA,EACN;AAAA,EAAA;AAER;AAEA,MAAM,eAAe,CAAC,YAAY;AAAA,EAChC,GAAG;AAAA,EACH,SAAS;AAAA,IACP,GAAG,OAAO;AAAA,IACV,oBAAoB,OAAO,SAAS,oBAAoB,SACpD,OAAO,QAAQ,qBACf;AAAA,EAAA;AAER;AAEA,MAAM,mBAAmB,MAAM;AAC7B,QAAM,EAAE,GAAA,IAAOoB,sBAAA;AACf,QAAM,EAAE,MAAM5B,gBAAc,WAAW,eAAA,IAAmBC,aAAAA,gBAAA;AAC1D,QAAM,CAAC,cAAc,eAAe,IAAItC,MAAAA,SAAS,EAAE;AACnD,QAAM,EAAE,QAAQ,UAAA,IAAckE,6BAAkB;AAAA,IAC9C,UAAU;AAAA,IACV;AAAA,EAAA,CACD;AAED,QAAM,UAAU,CAAC,EAAE,WAAW;AAC5B,QAAI,KAAK,cAAc,kCAAkC;AACvD,sBAAgBvB,QAAAA,OAAO,aAAa;AAAA,IACtC,OAAO;AACL,sBAAgBA,QAAAA,OAAO,OAAO;AAAA,IAChC;AAAA,EACF;AAEA,MAAI,aAAa,eAAgB,QAAO9B,+BAACC,QAAAA,WAAQ,IAAI,EAAE,IAAI,OAAA,GAAU;AAErE,SACEJ,gCAACoC,SAAAA,SAAM,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,IAAI,GAC/B,UAAA;AAAA,IAAAjC,+BAACe,SAAAA,YAAA,EAAW,SAAQ,MAAK,IAAI,GAAG,UAAA,gBAEhC;AAAA,IACAf,2BAAAA;AAAAA,MAACsD,WAAAA;AAAAA,MAAA;AAAA,QACC,cAAa;AAAA,QACb,iBAAiB,EAAE,QAAA;AAAA,QACnB,SAAS;AAAA,QACT,IAAI3C,KAAG;AAAA,QACP,WAAW,CAAC,SAAS,UAAU,IAAI;AAAA,QAEnC,UAAAX,2BAAAA,IAACkC,WAAAA,MAAA,EAAK,QAAQ,aAAa,MAAM,GAAG,MAAK,aACvC,UAAAlC,2BAAAA,IAACmC,WAAAA,kBAAA,EAEE,UAAA,CAAC,EAAE,SAAA,MACFtC,2BAAAA,KAAAC,qBAAA,EACE,UAAA;AAAA,UAAAD,gCAACuC,SAAAA,QAAK,WAAS,MAAC,SAAS,GAAG,YAAY,MACtC,UAAA;AAAA,YAAApC,2BAAAA,IAACoC,SAAAA,MAAA,EAAK,MAAM,EAAE,IAAI,EAAA,GAChB,UAAAvC,2BAAAA,KAACoC,SAAAA,OAAA,EAAM,WAAS,MAAC,MAAM,GAAG,eAAc,UACtC,UAAA;AAAA,cAAAjC,2BAAAA,IAACoC,SAAAA,MAAA,EAAK,MAAM,EAAE,IAAI,MAChB,UAAApC,2BAAAA;AAAAA,gBAACS,WAAAA;AAAAA,gBAAA;AAAA,kBACC,WAAS;AAAA,kBACT,QAAO;AAAA,kBACP,OAAM;AAAA,kBACN,UAAUH,WAAAA,SAAA;AAAA,kBACV,UAAQ;AAAA,gBAAA;AAAA,cAAA,GAEZ;AAAA,cACAN,2BAAAA,IAACoC,SAAAA,MAAA,EAAK,MAAM,EAAE,IAAI,GAAA,GAChB,UAAAvC,2BAAAA,KAACoC,SAAAA,OAAA,EAAM,eAAc,OAAM,KAAK,MAC9B,UAAA;AAAA,gBAAAjC,2BAAAA;AAAAA,kBAACS,WAAAA;AAAAA,kBAAA;AAAA,oBACC,WAAS;AAAA,oBACT,OAAM;AAAA,oBACN,QAAO;AAAA,oBACP,UAAU,CAAC,GAAG4B,+CAAuB/B,WAAAA,UAAU;AAAA,oBAC/C,UAAQ;AAAA,kBAAA;AAAA,gBAAA;AAAA,+CAETI,SAAAA,KAAA,EAAI,IAAI,GACP,UAAAV,2BAAAA,IAACsC,SAAAA,WAAQ,OAAOiB,4BACd,UAAAvD,2BAAAA,IAAC,UAAA,EAAS,OAAM,QAAO,UAAS,SAAQ,QAAO,WAAU,GAC3D,EAAA,CACF;AAAA,cAAA,EAAA,CACF,EAAA,CACF;AAAA,6CACCoC,SAAAA,MAAA,EAAK,MAAM,EAAE,IAAI,MAChB,UAAApC,2BAAAA;AAAAA,gBAACS,WAAAA;AAAAA,gBAAA;AAAA,kBACC,WAAS;AAAA,kBACT,OAAM;AAAA,kBACN,QAAO;AAAA,kBACP,UAAUH,WAAAA,SAAA;AAAA,gBAAS;AAAA,cAAA,GAEvB;AAAA,6CACC8B,SAAAA,MAAA,EAAK,MAAM,EAAE,IAAI,MAChB,UAAApC,2BAAAA;AAAAA,gBAACwC,WAAAA;AAAAA,gBAAA;AAAA,kBACC,WAAS;AAAA,kBACT,OAAM;AAAA,kBACN,QAAO;AAAA,kBACP,UAAUlC,WAAAA,SAAA;AAAA,kBACV,SAASkB;AAAAA,gBAAA;AAAA,cAAA,EACX,CACF;AAAA,YAAA,EAAA,CACF,EAAA,CACF;AAAA,YACAxB,+BAACoC,SAAAA,QAAK,MAAM,EAAE,IAAI,EAAA,GAAK,GAAG,GACxB,UAAApC,2BAAAA;AAAAA,cAACY,QAAAA;AAAAA,cAAA;AAAA,gBACC,OAAO;AAAA,gBACP,QAAO;AAAA,gBACP,UAAU;AAAA,gBACV,QAAQ,SAAS,SAAS;AAAA,gBAC1B,OAAM;AAAA,cAAA;AAAA,YAAA,GAEV;AAAA,YACAZ,2BAAAA,IAACoC,SAAAA,MAAA,EAAK,MAAM,EAAE,IAAI,EAAA,GAChB,UAAApC,2BAAAA,IAACiC,SAAAA,OAAA,EAAM,eAAc,OAAM,KAAK,MAC9B,UAAAjC,2BAAAA;AAAAA,cAACS,WAAAA;AAAAA,cAAA;AAAA,gBACC,WAAS;AAAA,gBACT,OAAM;AAAA,gBACN,QAAO;AAAA,gBACP,UAAU,CAAC,GAAGgC,wBAAAA,iBAAiBnC,qBAAU;AAAA,cAAA;AAAA,YAAA,GAE7C,EAAA,CACF;AAAA,2CACC8B,SAAAA,MAAA,EAAK,MAAM,EAAE,IAAI,KAChB,UAAApC,2BAAAA;AAAAA,cAAC0C,0BAAAA;AAAAA,cAAA;AAAA,gBACC,UAAU,EAAE,GAAG,QAAQ,GAAG,SAAS,QAAA;AAAA,gBACnC,QAAO;AAAA,cAAA;AAAA,YAAA,GAEX;AAAA,YACA1C,2BAAAA,IAACoC,SAAAA,MAAA,EAAK,MAAM,EAAE,IAAI,EAAA,GAChB,UAAAvC,2BAAAA,KAACoC,SAAAA,OAAA,EAAM,eAAc,OAAM,KAAK,MAC9B,UAAA;AAAA,cAAAjC,2BAAAA;AAAAA,gBAACS,WAAAA;AAAAA,gBAAA;AAAA,kBACC,WAAS;AAAA,kBACT,OAAM;AAAA,kBACN,QAAO;AAAA,kBACP,UAAU;AAAA,gBAAA;AAAA,cAAA;AAAA,6CAEXC,SAAAA,KAAA,EAAI,IAAI,GACP,UAAAV,2BAAAA,IAACsC,SAAAA,WAAQ,OAAOK,4BACd,UAAA3C,2BAAAA,IAAC,UAAA,EAAS,OAAM,QAAO,UAAS,SAAQ,QAAO,WAAU,GAC3D,EAAA,CACF;AAAA,YAAA,EAAA,CACF,EAAA,CACF;AAAA,YACAA,2BAAAA,IAACoC,SAAAA,MAAA,EAAK,MAAM,EAAE,IAAI,EAAA,GAChB,UAAAvC,2BAAAA,KAACoC,SAAAA,OAAA,EAAM,eAAc,OAAM,KAAK,MAC9B,UAAA;AAAA,cAAAjC,2BAAAA;AAAAA,gBAACS,WAAAA;AAAAA,gBAAA;AAAA,kBACC,WAAS;AAAA,kBACT,OAAM;AAAA,kBACN,QAAO;AAAA,kBACP,UAAU;AAAA,gBAAA;AAAA,cAAA;AAAA,6CAEXC,SAAAA,KAAA,EAAI,IAAI,GACP,UAAAV,2BAAAA,IAACsC,SAAAA,WAAQ,OAAOM,8BACd,UAAA5C,2BAAAA,IAAC,UAAA,EAAS,OAAM,QAAO,UAAS,SAAQ,QAAO,WAAU,GAC3D,EAAA,CACF;AAAA,YAAA,EAAA,CACF,EAAA,CACF;AAAA,YACAA,2BAAAA;AAAAA,cAAC6C,0BAAAA;AAAAA,cAAA;AAAA,gBACC,QAAO;AAAA,gBACP,aAAY;AAAA,cAAA;AAAA,YAAA;AAAA,2CAEbT,SAAAA,MAAA,EAAK,MAAM,EAAE,IAAI,MAChB,UAAApC,2BAAAA,IAACS,WAAAA,WAAA,EAAU,WAAS,MAAC,UAAQ,MAAC,OAAM,OAAM,QAAO,MAAK,GACxD;AAAA,YACC,SAAS,QAAQ,eAChBT,2BAAAA,IAACoC,SAAAA,QAAK,MAAM,EAAE,IAAI,GAAA,GAChB,UAAApC,2BAAAA;AAAAA,cAACS,WAAAA;AAAAA,cAAA;AAAA,gBACC,WAAS;AAAA,gBACT,WAAS;AAAA,gBACT,UAAQ;AAAA,gBACR,IAAIE,KAAG;AAAA,gBACP,OAAM;AAAA,gBACN,QAAO;AAAA,gBACP,QAAQ,CAAC,UAAW,MAAM,QAAQ,KAAK,IAAI,MAAM,KAAK,IAAI,IAAI;AAAA,cAAA;AAAA,YAAA,GAElE;AAAA,2CAEDyB,SAAAA,MAAA,EAAK,MAAM,EAAE,IAAI,MAChB,UAAApC,2BAAAA;AAAAA,cAACS,WAAAA;AAAAA,cAAA;AAAA,gBACC,WAAS;AAAA,gBACT,WAAS;AAAA,gBACT,OAAM;AAAA,gBACN,QAAO;AAAA,gBACP,UAAUH,WAAAA,SAAA;AAAA,gBACV,IAAIK,KAAG;AAAA,cAAA;AAAA,YAAA,GAEX;AAAA,2CACCyB,SAAAA,MAAA,EAAK,MAAM,EAAE,IAAI,MAChB,UAAApC,2BAAAA,IAACe,SAAAA,YAAA,EAAW,SAAQ,MAAK,IAAI,GAAG,IAAI,GAAG,8BAEvC,GACF;AAAA,2CACCqB,SAAAA,MAAA,EAAK,MAAM,EAAE,IAAI,MAChB,UAAApC,2BAAAA;AAAAA,cAACiD,WAAAA;AAAAA,cAAA;AAAA,gBACC,QAAO;AAAA,gBACP,cAAc;AAAA,gBACd,IAAI,EAAE,yBAAyB,EAAE,SAAS,SAAO;AAAA,gBAEjD,UAAAjD,2BAAAA;AAAAA,kBAACkD,WAAAA;AAAAA,kBAAA;AAAA,oBACC,WACElD,2BAAAA;AAAAA,sBAACmD,gBAAAA;AAAAA,sBAAA;AAAA,wBACC,OAAOxC,KAAG;AAAA,wBACV,UACE,CAAC,gBAAgB;AAAA,0BACf,GAAI,OAAO,QAAQ,sBAAsB,CAAA;AAAA,0BACzC,GAAI,SAAS,QAAQ,sBAAsB,CAAA;AAAA,wBAAC,CAC7C;AAAA,wBAEH,UAAU,SAAS,SAAS,oBAAoB;AAAA,sBAAA;AAAA,oBAAA;AAAA,oBAGpD,YAAY,mBAAmB;AAAA,sBAC7B,GAAI,OAAO,QAAQ,sBAAsB,CAAA;AAAA,sBACzC,GAAI,SAAS,QAAQ,sBAAsB,CAAA;AAAA,oBAAC,CAC7C;AAAA,oBACD,WAAS;AAAA,oBACT,IAAIA,KAAG;AAAA,oBAEP,UAAAX,2BAAAA,IAACmC,WAAAA,kBAAA,EACE,UAAA,CAAC,EAAE,qBAAqB;AACvB,6BACEnC,2BAAAA;AAAAA,wBAAC;AAAA,wBAAA;AAAA,0BACC;AAAA,0BACA;AAAA,wBAAA;AAAA,sBAAA;AAAA,oBAGN,EAAA,CACF;AAAA,kBAAA;AAAA,gBAAA;AAAA,cACF;AAAA,YAAA,EACF,CACF;AAAA,UAAA,GACF;AAAA,UACAA,2BAAAA;AAAAA,YAACwD,WAAAA;AAAAA,YAAA;AAAA,cACC,MAAM;AAAA,cACN,SAAQ;AAAA,cACR,OAAM;AAAA,cACN,MAAK;AAAA,cACL,IAAI,EAAE,IAAI,EAAA;AAAA,cACV,OAAM;AAAA,YAAA;AAAA,UAAA;AAAA,UAERxD,2BAAAA,IAACoC,SAAAA,MAAA,EAAK,MAAM,EAAE,IAAI,MAChB,UAAApC,2BAAAA,IAACiC,SAAAA,OAAA,EAAM,eAAc,OAAM,IAAI,GAC7B,UAAAjC,2BAAAA,IAACe,SAAAA,YAAA,EAAW,SAAQ,aAAY,IAAI,EAAE,OAAO,eAAA,GAC1C,UAAA,aAAA,CACH,EAAA,CACF,EAAA,CACF;AAAA,QAAA,EAAA,CACF,GAEJ,EAAA,CACF;AAAA,MAAA;AAAA,IAAA;AAAA,EACF,GACF;AAEJ;AAIA,MAAMJ,OAAK;AAAA,EACT,eAAe;AAAA,IACb,kBAAkB,EAAE,WAAW,QAAQ,YAAY,QAAA;AAAA,IACnD,uBAAuB,EAAE,WAAW,EAAA;AAAA,EAAE;AAAA,EAExC,WAAW;AAAA,IACT,SAAS;AAAA,IACT,UAAU;AAAA,IACV,KAAK;AAAA,IACL,IAAI;AAAA,IACJ,gBAAgB;AAAA,IAChB,kCAAkC,EAAE,SAAS,OAAA;AAAA,IAC7C,mCAAmC,EAAE,OAAO,MAAA;AAAA,IAC5C,+BAA+B,EAAE,OAAO,OAAA;AAAA,IACxC,iCAAiC,EAAE,SAAS,OAAA;AAAA,IAC5C,gCAAgC;AAAA,MAC9B,SAAS;AAAA,MACT,UAAU;AAAA,MACV,gBAAgB;AAAA,MAChB,KAAK;AAAA,MACL,UAAU;AAAA,MACV,OAAO;AAAA,MACP,wBAAwB,EAAE,OAAO,MAAA;AAAA,IAAM;AAAA,IAEzC,gCAAgC;AAAA,MAC9B,OAAO;AAAA,MACP,gBAAgB,EAAE,OAAO,OAAA;AAAA,IAAO;AAAA,IAElC,gCAAgC;AAAA,MAC9B,OAAO;AAAA,IAAA;AAAA,IAET,2BAA2B;AAAA,MACzB,QAAQ;AAAA,IAAA;AAAA,EACV;AAAA,EAIF,iBAAiB,EAAE,QAAQ,QAAA;AAAA,EAU3B,UAAU,EAAE,cAAc,EAAE,SAAS,MAAI;AAAA,EACzC,aAAa,EAAE,cAAc,EAAE,aAAa,KAAK,cAAc,MAAI;AACrE;ACvUA,MAAM,mBAAmB,MAAM;AAC7B,QAAM,CAAC,UAAU,MAAM,IAAIe,kDAAA;AAC3B,QAAM,EAAE,GAAA,IAAO0B,sBAAA;AACf,QAAM,EAAE,qBAAA,IAAyB3B,6BAAA;AACjC,QAAM,WAAWH,WAAAA,YAAA;AACjB,QAAM,EAAE,MAAM,QAAQ,UAAA,IAAcK,WAAAA;AAAAA,IAClC;AAAA,IACA,EAAE,GAAA;AAAA,IACF;AAAA,MACE,SAAS,MAAM;AACb,eAAO,EAAE;AACT,iBAAS,GAAG;AAAA,MACd;AAAA,IAAA;AAAA,EACF;AAGF,QAAM,WAAWR,YAAAA,YAAA;AAEjBzB,QAAAA,UAAU,MAAM;AACd,QAAI,OAAO,UAAU;AACnB,eAAS,kBAAkB,QAAQ,SAAS,EAAE,SAAS,MAAM;AAAA,IAC/D;AAAA,EACF,GAAG,CAAC,IAAI,UAAU,QAAQ,CAAC;AAE3B,QAAM,EAAE,eAAA,IAAmB6B,oBAAA;AAC3B,QAAM,CAAC,OAAO,QAAQ,IAAI,MAAM,SAAS,EAAE;AAC3C,QAAM,CAAC,UAAU,WAAW,IAAI,MAAM,SAAS,KAAK;AAEpD,QAAM,UAAU,MAAM;AACpB,UAAM,WAAW,YAAY;AAC3B,UAAI;AACF,cAAM,cAAc,MAAM,eAAA;AAC1B,iBAAS,WAAW;AAAA,MACtB,SAAS,GAAG;AAEV,gBAAQ,IAAI,EAAE,OAAO;AAAA,MACvB;AAAA,IACF;AACA,aAAA;AAAA,EACF,GAAG,CAAC,cAAc,CAAC;AAEnB,QAAM,kBAAkB,MAAM;AAC5BkC,gCAAoB,OAAO,CAAC,QAAQ;AAClC,kBAAY,CAAC,GAAG;AAAA,IAClB,CAAC;AAAA,EACH;AAEA,MAAI,CAAC,SAAS,WAAW;AACvB,WACEzD,2BAAAA,IAACU,SAAAA,KAAA,EAAI,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,IAAI,GAC7B,UAAAV,2BAAAA,IAACC,QAAAA,SAAA,CAAA,CAAQ,GACX;AAAA,EAEJ;AAEA,SACEJ,gCAACa,SAAAA,OAAI,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,IAAI,GAC7B,UAAA;AAAA,IAAAb,2BAAAA,KAACoC,SAAAA,OAAA,EAAM,IAAI,MAAM,WAAU,OAAM,YAAW,UAAS,gBAAe,iBAClE,UAAA;AAAA,MAAAjC,2BAAAA,IAACe,SAAAA,YAAA,EAAW,SAAQ,MAAK,UAAA,wBAAoB;AAAA,MAC7Cf,2BAAAA;AAAAA,QAACa,SAAAA;AAAAA,QAAA;AAAA,UACC,SAAQ;AAAA,UACR,SAAS,MAAM,SAAS,QAAQ,iBAAiB,EAAE;AAAA,UACnD,0CAAY,UAAA,EAAS;AAAA,UACtB,UAAA;AAAA,QAAA;AAAA,MAAA;AAAA,IAED,GACF;AAAA,IACAhB,gCAAC6D,SAAAA,SAAM,WAAW,GAAG,IAAI,EAAE,GAAG,KAC5B,UAAA;AAAA,MAAA7D,2BAAAA,KAACuC,SAAAA,MAAA,EAAK,WAAS,MAAC,SAAS,GACvB,UAAA;AAAA,QAAAvC,2BAAAA,KAACuC,SAAAA,MAAA,EAAK,MAAM,EAAE,IAAI,KAChB,UAAA;AAAA,UAAApC,2BAAAA,IAACU,SAAAA,OAAI,SAAQ,QAAO,YAAW,cAAa,IAAI,GAC9C,UAAAV,2BAAAA,IAAC2D,mBAAAA,oBAAA,EAAmB,MAAM,OAAO,QAAQ,MAAM,MAAM,OAAO,QAAQ,MAAM,MAAM,IAAI,EAAA,CACtF;AAAA,yCACC5C,SAAAA,YAAA,EAAW,WAAU,OAAM,IAAI,KAAK,SAAQ,MAAK,IAAI,CAAC,GAAG,OAAO,GAAG,MAAM,GACvE,UAAA,OAAO,QAAQ,MAClB;AAAA,UACAf,2BAAAA,IAACe,SAAAA,YAAA,EAAW,WAAU,OAAM,IAAI,KAAK,SAAQ,MAC1C,UAAA,qBAAqB,OAAO,QAAQ,SAAS,WAAW,EAAA,CAC3D;AAAA,QAAA,GACF;AAAA,wCACCqB,SAAAA,MAAA,EAAK,MAAM,EAAE,IAAI,KAChB,UAAA;AAAA,UAAAvC,2BAAAA,KAACuC,SAAAA,QAAK,IAAI,GAAG,SAAS,WAAS,MAAC,SAAS,GACvC,UAAA;AAAA,YAAApC,+BAACoC,SAAAA,QAAK,MAAM,EAAE,IAAI,KAChB,UAAApC,2BAAAA,IAAC4D,mBAAA,EAAS,OAAM,cAAa,OAAO,OAAO,QAAQ,MAAM,SAAS,GAAG,OAAO,GAC9E;AAAA,2CACCxB,SAAAA,MAAA,EAAK,MAAM,EAAE,IAAI,KAChB,UAAApC,2BAAAA;AAAAA,cAAC4D,SAAAA;AAAAA,cAAA;AAAA,gBACC,OAAM;AAAA,gBACN,OAAO,OAAO,QAAQ;AAAA,gBACtB,SAAS,GAAG;AAAA,gBACZ,MAAML,QAAAA;AAAAA,cAAA;AAAA,YAAA,GAEV;AAAA,2CACCnB,SAAAA,MAAA,EAAK,MAAM,EAAE,IAAI,KAChB,UAAApC,2BAAAA;AAAAA,cAAC4D,SAAAA;AAAAA,cAAA;AAAA,gBACC,OAAM;AAAA,gBACN,OAAO,OAAO,QAAQ,iBAAiB;AAAA,gBACvC,SAAS,GAAG;AAAA,cAAA;AAAA,YAAA,GAEhB;AAAA,2CACCxB,SAAAA,MAAA,EAAK,MAAM,EAAE,IAAI,KAChB,UAAApC,2BAAAA;AAAAA,cAAC4D,SAAAA;AAAAA,cAAA;AAAA,gBACC,OAAM;AAAA,gBACN,OAAO,qBAAqB,OAAO,QAAQ,SAAS,WAAW;AAAA,gBAC/D,SAAS,GAAG;AAAA,cAAA;AAAA,YAAA,GAEhB;AAAA,2CACCxB,SAAAA,MAAA,EAAK,MAAM,EAAE,IAAI,KAChB,UAAApC,2BAAAA;AAAAA,cAAC4D,SAAAA;AAAAA,cAAA;AAAA,gBACC,OAAM;AAAA,gBACN,OAAO,OAAO,QAAQ;AAAA,gBACtB,SAAS,GAAG;AAAA,cAAA;AAAA,YAAA,GAEhB;AAAA,2CACCxB,SAAAA,MAAA,EAAK,MAAM,EAAE,IAAI,KAChB,UAAApC,2BAAAA;AAAAA,cAAC;AAAA,cAAA;AAAA,gBACC,MAAM6D,QAAAA;AAAAA,gBACN,OAAM;AAAA,gBACN;AAAA,gBACA,MAAK;AAAA,gBACL,WAAU;AAAA,cAAA;AAAA,YAAA,GAEd;AAAA,2CACCzB,SAAAA,MAAA,EAAK,MAAM,EAAE,IAAI,KAChB,UAAApC,2BAAAA;AAAAA,cAAC4D,SAAAA;AAAAA,cAAA;AAAA,gBACC,OAAM;AAAA,gBACN,OAAO,OAAO,QAAQ;AAAA,gBACtB,SAAS,GAAG;AAAA,gBACZ,MAAMjB,QAAAA;AAAAA,cAAA;AAAA,YAAA,GAEV;AAAA,2CACCP,SAAAA,MAAA,EAAK,MAAM,EAAE,IAAI,KAChB,UAAApC,2BAAAA;AAAAA,cAAC4D,SAAAA;AAAAA,cAAA;AAAA,gBACC,OAAM;AAAA,gBACN,OAAO,OAAO,QAAQ;AAAA,gBACtB,SAAS,GAAG;AAAA,gBACZ,MAAMhB,QAAAA;AAAAA,cAAA;AAAA,YAAA,GAEV;AAAA,2CACCR,SAAAA,MAAA,EAAK,MAAM,EAAE,IAAI,KAChB,UAAApC,2BAAAA;AAAAA,cAAC;AAAA,cAAA;AAAA,gBACC,MAAM8D,QAAAA;AAAAA,gBACN,OAAOC,UAAAA,iBAAiBC,UAAAA,YAAY,iBAAiB;AAAA,gBACrD,MAAK;AAAA,gBACL;AAAA,gBACA,WAAWA,UAAAA,YAAY;AAAA,cAAA;AAAA,YAAA,GAE3B;AAAA,2CACC5B,SAAAA,MAAA,EAAK,MAAM,EAAE,IAAI,KAChB,UAAApC,2BAAAA;AAAAA,cAAC;AAAA,cAAA;AAAA,gBACC,MAAMiE,QAAAA;AAAAA,gBACN,OAAOF,UAAAA,iBAAiBC,UAAAA,YAAY,KAAK;AAAA,gBACzC,MAAK;AAAA,gBACL;AAAA,gBACA,WAAWA,UAAAA,YAAY;AAAA,cAAA;AAAA,YAAA,GAE3B;AAAA,2CACC5B,SAAAA,MAAA,EAAK,MAAM,EAAE,IAAI,KAChB,UAAApC,2BAAAA;AAAAA,cAAC;AAAA,cAAA;AAAA,gBACC,MAAMkE,QAAAA;AAAAA,gBACN,OAAOH,UAAAA,iBAAiBC,UAAAA,YAAY,iBAAiB;AAAA,gBACrD,MAAK;AAAA,gBACL;AAAA,gBACA,WAAWA,UAAAA,YAAY;AAAA,cAAA;AAAA,YAAA,GAE3B;AAAA,2CACC5B,SAAAA,MAAA,EAAK,MAAM,EAAE,IAAI,KAChB,UAAApC,2BAAAA;AAAAA,cAAC;AAAA,cAAA;AAAA,gBACC,MAAK;AAAA,gBACL,OAAM;AAAA,gBACN,MAAK;AAAA,gBACL;AAAA,gBACA,WAAWgE,UAAAA,YAAY;AAAA,cAAA;AAAA,YAAA,EACzB,CACF;AAAA,UAAA,GACF;AAAA,UACAhE,2BAAAA,IAACoC,SAAAA,QAAK,MAAM,EAAE,IAAI,MAAM,IAAI,GAAG,SAC7B,UAAApC,2BAAAA,IAAC4D,SAAAA,YAAS,OAAM,OAAM,OAAO,OAAO,IAAI,MAAMO,QAAAA,UAAU,SAAS,GAAG,MAAA,CAAO,EAAA,CAC7E;AAAA,UACC,OAAO,QAAQ,eACdnE,2BAAAA,IAACoC,SAAAA,QAAK,MAAM,EAAE,IAAI,GAAA,GAChB,UAAApC,2BAAAA;AAAAA,YAAC4D,SAAAA;AAAAA,YAAA;AAAA,cACC,OAAM;AAAA,cACN,OAAO,OAAO,OAAO;AAAA,cACrB,MAAMQ,QAAAA;AAAAA,cACN,SAAS,GAAG;AAAA,YAAA;AAAA,UAAA,EACd,CACF;AAAA,QAAA,EAAA,CAEJ;AAAA,MAAA,GACF;AAAA,qCACCC,SAAAA,SAAA,EAAQ,IAAI,EAAE,IAAI,KAAK;AAAA,sCACvB3D,SAAAA,KAAA,EACC,UAAA;AAAA,QAAAV,2BAAAA,IAACe,SAAAA,cAAW,WAAU,OAAM,IAAI,GAAG,SAAQ,MAAK,UAAA,oBAAA,CAEhD;AAAA,QACAf,2BAAAA,IAACe,SAAAA,cAAW,WAAU,KAAI,SAAQ,MAC/B,UAAA,OAAO,QAAQ,eAAe,IAAA,CACjC;AAAA,MAAA,GACF;AAAA,MACC,CAAC,CAAC,OAAO,SAAS,oBAAoB,UACrClB,gCAAAC,WAAAA,UAAA,EACE,UAAA;AAAA,QAAAE,2BAAAA,IAACe,SAAAA,YAAA,EAAW,WAAU,OAAM,IAAI,GAAG,eAAc,aAAY,SAAQ,MAAK,UAAA,mBAAA,CAE1E;AAAA,QACAf,+BAACqE,SAAAA,WAAQ,IAAI,EAAE,IAAI,GAAG,IAAI,KAAK;AAAA,QAC/BrE,2BAAAA,IAACoC,SAAAA,MAAA,EAAK,WAAS,MAAC,SAAS,GACtB,UAAA,OAAO,QAAQ,mBAAmB,IAAI,CAAC,eACtCvC,2BAAAA;AAAAA,UAACuC,SAAAA;AAAAA,UAAA;AAAA,YACC,MAAI;AAAA,YACJ,MAAM,EAAE,IAAI,EAAA;AAAA,YAEZ,IAAI,GAAG;AAAA,YACP,gBAAe;AAAA,YACf,YAAW;AAAA,YAEX,UAAA;AAAA,cAAApC,2BAAAA,IAACU,SAAAA,KAAA,EAAI,SAAQ,QACX,UAAAV,2BAAAA,IAAC2D,mBAAAA,oBAAA,EAAmB,MAAM,IAAI,MAAM,WAAW,MAAM,MAAM,WAAW,MAAM,GAC9E;AAAA,cACA3D,2BAAAA,IAACe,SAAAA,YAAA,EAAY,UAAA,WAAW,KAAA,CAAK;AAAA,YAAA;AAAA,UAAA;AAAA,UARxB,WAAW;AAAA,QAAA,CAUnB,EAAA,CACH;AAAA,MAAA,GACF;AAAA,qCAEDsD,SAAAA,SAAA,EAAQ,IAAI,EAAE,IAAI,KAAK;AAAA,MACxBxE,2BAAAA,KAACa,SAAAA,KAAA,EAAI,IAAI,GACP,UAAA;AAAA,QAAAV,2BAAAA,IAACe,SAAAA,YAAA,EAAW,WAAU,OAAM,IAAI,GAAG,eAAc,aAAY,SAAQ,MAAK,UAAA,yBAAA,CAE1E;AAAA,QACAf,2BAAAA,IAACe,SAAAA,cAAW,WAAU,KAAI,SAAQ,MAAK,IAAI,GAAG,OAC3C,UAAA,MAAA,CACH;AAAA,MAAA,GACF;AAAA,MACAf,2BAAAA,IAACa,SAAAA,QAAA,EAAO,SAAQ,YAAW,OAAM,aAAY,MAAK,SAAQ,SAAS,iBAChE,UAAA,WAAW,WAAW,OAAA,CACzB;AAAA,IAAA,EAAA,CACF;AAAA,EAAA,GACF;AAEJ;AAEA,MAAM,8BAA8B,CAAC,EAAE,WAAW,QAAQ,MAAM,GAAG,YAAY;AAC7E,QAAM,mBACJ,QAAQ,SAAS,uBACjB,QAAQ,SAAS,oBAAoB,KAAK,CAAC,EAAE,UAAA,MAAgB;AAC3D,WAAO,cAAc;AAAA,EACvB,CAAC,IAAI,IAAI;AAEX,SAAOb,2BAAAA,IAAC4D,qBAAU,GAAG,OAAO,OAAO,kBAAkB,SAAS,GAAG,OAAO;AAC1E;AAGA,4BAA4B,YAAY;AAAA;AAAA,EAEtC,QAAQ,UAAU,OAAO;AAAA,EACzB,OAAO,UAAU;AAAA,EACjB,MAAM,UAAU;AAAA,EAChB,MAAM,UAAU;AAAA,EAChB,WAAW,UAAU,MAAMU,UAAAA,eAAe,EAAE;AAC9C;AAEA,MAAM,KAAK;AAAA,EAaT,OAAO;AAAA,IACL,OAAO;AAAA,IACP,WAAW;AAAA,EAAA;AAAA,EAEb,SAAS;AAAA,IACP,IAAI;AAAA,EAAA;AAAA,EAEN,OAAO;AAAA,IACL,WAAW;AAAA,IACX,YAAY;AAAA,EAAA;AAAA,EAEd,aAAa,EAAE,SAAS,QAAQ,KAAK,MAAA;AAAA,EAErC,QAAQ;AAAA,IACN,UAAU;AAAA,IACV,cAAc;AAAA,EAAA;AAElB;;;;;"}
|
|
1
|
+
{"version":3,"file":"organizations.cjs","sources":["../../src/pages/organizations/OrganizationAddService.jsx","../../src/pages/organizations/components/OrganizationBrand.jsx","../../src/pages/organizations/components/OrganizationSubmitButton.jsx","../../src/pages/organizations/components/OrganizationCreateTitle.jsx","../../src/pages/organizations/utils/index.js","../../src/pages/organizations/OrganizationCreate.jsx","../../src/pages/organizations/OrganizationEdit.jsx","../../src/pages/organizations/OrganizationShow.jsx"],"sourcesContent":["/**\n * Copyright 2023 Velocity Team\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport { useGetList } from 'react-admin';\nimport PropTypes from 'prop-types';\nimport { kebabCase } from 'lodash-es';\n\nimport Loading from '../../components/Loading.jsx';\nimport Popup from '../../components/common/Popup.jsx';\nimport { dataResources } from '../../utils/remoteDataProvider.js';\n\nimport { ServiceEndpointSelection } from '../services/components/ServiceEndpointSelection/index.jsx';\nimport { ServiceTypeSelection } from '../services/components/ServiceTypeSelection/index.jsx';\nimport { SecretKeysPopup } from '../services/components/SecretKeysPopup/index.jsx';\nimport { useIsIssuingInspection } from '../services/hooks/useIsIssuingInspection.js';\nimport { buildPayload } from '../services/utils/buildPayload.js';\n\nconst OrganizationAddService = ({\n isModalOpened,\n isSending,\n onCreate,\n isCreated,\n secretKeys,\n onClose,\n // did,\n selectedServiceType,\n setSelectedServiceType,\n selectedCAO,\n setSelectedCAO,\n InterceptOnCreate,\n}) => {\n const [selectedStep, setSelectedStep] = useState(1);\n const [isKeysPopupOpened, setIsKeysPopupOpened] = useState(false);\n const [isInterceptOnCreateOpen, setIsInterceptOnCreateOpen] = useState(false);\n\n const serviceId = useMemo(() => {\n if (selectedServiceType) {\n const type = selectedServiceType.id.match(/.+v1/);\n return `${kebabCase(type[0])}-1`;\n }\n return '';\n }, [selectedServiceType]);\n\n const openedStateRef = useRef(isModalOpened);\n\n const { isIssuingOrInspection, isCAO } = useIsIssuingInspection(selectedServiceType);\n\n const { data: credentialAgentOperators, isLoading: isLoadingCAO } = useGetList(\n dataResources.SEARCH_PROFILES,\n {\n filter: { serviceTypes: 'CredentialAgentOperator' },\n },\n );\n\n // clear previous state after close\n useEffect(() => {\n const reset = () => {\n setSelectedStep(1);\n };\n if (openedStateRef.current === false && isModalOpened && !isCreated) {\n reset();\n }\n\n // eslint-disable-next-line better-mutation/no-mutation\n openedStateRef.current = isModalOpened;\n return reset;\n }, [isModalOpened, isCreated]);\n\n useEffect(() => {\n if (InterceptOnCreate && isCreated) {\n setIsInterceptOnCreateOpen(true);\n }\n }, [InterceptOnCreate, isCreated]);\n\n const onCreateCallback = useCallback(\n (service) => {\n const type = selectedServiceType.id.match(/.+v1/);\n setSelectedCAO(service.serviceEndpoint.split('#')[0]);\n const payload = buildPayload(service, type[0]);\n onCreate({\n ...payload,\n });\n },\n [onCreate, selectedServiceType.id, setSelectedCAO],\n );\n\n return (\n <>\n <Popup\n onClose={onClose}\n title=\"\"\n isOpen={isModalOpened}\n mainContainerStyles={styles.mainContainer}\n disableCloseButton={isSending}\n >\n {isSending && <Loading color=\"error\" sx={{ pl: '10px' }} size={26} />}\n\n {selectedStep === 1 && (\n <ServiceTypeSelection\n handleNext={() => setSelectedStep(2)}\n isLoading={isLoadingCAO}\n selectedServiceType={selectedServiceType}\n setSelectedServiceType={setSelectedServiceType}\n onDoLater={() => {\n onCreate(null);\n }}\n />\n )}\n {selectedStep === 2 && (\n <ServiceEndpointSelection\n credentialAgentOperators={credentialAgentOperators}\n isIssueOrInspection={isIssuingOrInspection}\n selectedServiceType={selectedServiceType}\n inProgress={isSending}\n onCreate={onCreateCallback}\n handleBack={() => setSelectedStep(1)}\n />\n )}\n </Popup>\n\n <InterceptOnCreate\n isInterceptOnCreateOpen={isInterceptOnCreateOpen}\n serviceId={serviceId}\n onNext={() => setIsKeysPopupOpened(true)}\n onClose={() => setIsKeysPopupOpened(true)}\n isIssueOrInspection={isIssuingOrInspection}\n selectedCAO={selectedCAO}\n isCAO={isCAO}\n />\n\n <SecretKeysPopup\n isOpen={isKeysPopupOpened}\n secretKeys={secretKeys}\n onClose={() => {\n setIsKeysPopupOpened(false);\n onClose();\n }}\n wording={{\n title: 'Your organization is now registered on Velocity Network™.',\n subtitle:\n 'Please save your organization’s unique keys in a secure location, as they will not be available once you close this window.',\n }}\n warningWording={{\n title: 'You must download a copy of your keys before exiting',\n subtitle:\n 'They will not be available again and are critical for managing your organization data.',\n }}\n />\n </>\n );\n};\n\nconst styles = {\n mainContainer: { pt: 2 },\n};\n\n// eslint-disable-next-line better-mutation/no-mutation\nOrganizationAddService.propTypes = {\n isModalOpened: PropTypes.bool,\n isSending: PropTypes.bool,\n onCreate: PropTypes.func,\n isCreated: PropTypes.bool,\n // eslint-disable-next-line react/forbid-prop-types\n secretKeys: PropTypes.object,\n onClose: PropTypes.func,\n did: PropTypes.string,\n selectedServiceType: PropTypes.shape({\n id: PropTypes.string,\n title: PropTypes.string,\n }),\n setSelectedServiceType: PropTypes.func,\n selectedCAO: PropTypes.string,\n setSelectedCAO: PropTypes.func,\n InterceptOnCreate: PropTypes.func,\n};\n\nexport default OrganizationAddService;\n","import React from 'react';\nimport { Box } from '@mui/material';\nimport { TextInput } from 'react-admin';\nimport { useFormContext } from 'react-hook-form';\nimport { maxLength, required } from 'ra-core';\nimport CustomImageInput from '../../../components/common/CustomImageInput/index.jsx';\n\n/* eslint-disable react/prop-types */\nexport const OrganizationBrand = ({ formData, scopedFormData }) => {\n let brandNameValidate = [maxLength(100)];\n if (scopedFormData && scopedFormData.logo) {\n brandNameValidate = [...brandNameValidate, required('Commercial name field is required')];\n }\n const form = useFormContext();\n const index = formData?.profile?.commercialEntities?.indexOf(scopedFormData) || 0;\n const innerSource = `profile.commercialEntities[${index}]`;\n return (\n <>\n <TextInput\n fullWidth\n label=\"Commercial Name\"\n placeholder=\"Commercial Name\"\n source=\"name\"\n validate={brandNameValidate}\n defaultValue=\"\"\n />\n <Box mt={2} sx={sx.brandLogoContainer}>\n <CustomImageInput\n label={false}\n labelText=\"Logo\"\n editMode\n addTo={innerSource}\n imgSrc={scopedFormData?.logo}\n style={sx.brandLogo}\n isRequired={!!scopedFormData?.name}\n onChange={() => {\n form.setFocus(`${innerSource}.name`);\n form.trigger(`${innerSource}.name`);\n }}\n />\n </Box>\n </>\n );\n};\n/* eslint-enable */\n\nconst sx = {\n brandLogo: { minHeight: '272px' },\n};\n","import { Button } from 'react-admin';\nimport { useFormContext } from 'react-hook-form';\n\nexport const OrganizationSubmitButton = () => {\n const form = useFormContext();\n\n return (\n <Button\n disabled={!form.formState.isValid}\n variant=\"outlined\"\n color=\"primary\"\n type=\"submit\"\n size=\"large\"\n sx={sx.submit}\n >\n Add Service\n </Button>\n );\n};\n\nconst sx = {\n submit: {\n minWidth: 196,\n },\n};\n\nexport default OrganizationSubmitButton;\n","import { Typography } from '@mui/material';\nimport { useConfig } from '@/utils/ConfigContext.js';\n\nexport const OrganizationCreateTitle = () => {\n const config = useConfig();\n\n return (\n <>\n <Typography variant=\"h1\" mb={2} textAlign=\"center\">\n Let’s get your organization registered on The Velocity Network™ {config.chainName}.\n </Typography>\n <Typography variant=\"pl\" mb={6.5} textAlign=\"center\">\n To start, fill in the form below to allow other Network participants to identify your\n organization.\n </Typography>\n </>\n );\n};\n\nexport default OrganizationCreateTitle;\n","import { required, maxLength, email } from 'react-admin';\nimport { authorityOptions } from '@/constants/messageCodes.js';\n\nexport const validateName = [required(), maxLength(100)];\nexport const validateEmail = [required(), email()];\n\nexport const getSellSizeIfLocalAuthority = (authority) => {\n if (authorityOptions[authority] === authorityOptions.NationalAuthority) {\n return 6;\n }\n return 12;\n};\n\nexport const requestOptions = {\n retryOnMount: false,\n refetchOnWindowFocus: false,\n refetchOnReconnect: false,\n refetchOnMount: false,\n};\n\nexport const organizationPlaceholder =\n 'Add a few words describing your organization (boilerplate text) so that other Network participants can learn about it.';\n","/**\n * Copyright 2023 Velocity Team\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { useState, useEffect } from 'react';\nimport { useLocation, useNavigate } from 'react-router';\nimport {\n AutocompleteInput,\n Button,\n Form,\n maxLength,\n required,\n TextInput,\n useCreateController,\n useRedirect,\n ArrayInput,\n SimpleFormIterator,\n FormDataConsumer,\n useGetOne,\n useNotify,\n useGetList,\n} from 'react-admin';\n\nimport { Box, Stack, Tooltip, Typography, Grid } from '@mui/material';\nimport InfoIcon from '@mui/icons-material/Info';\nimport { kebabCase } from 'lodash-es';\nimport PropTypes from 'prop-types';\n\nimport useSelectedOrganization from '@/state/selectedOrganizationState.js';\nimport Loading from '@/components/Loading.jsx';\nimport {\n validateWebsite,\n validateWebsiteStrict,\n} from '@/components/organizations/CreateOrganizationUtils.js';\nimport CustomImageInput from '@/components/common/CustomImageInput/index.jsx';\nimport PlusButtonBlock from '@/components/common/PlusButtonBlock.jsx';\nimport {\n formatWebSiteUrl,\n formatRegistrationNumbers,\n SUPPORT_EMAIL_HINT,\n TECHNICAL_EMAIL_HINT,\n ADMINISTRATOR_DETAILS_HINT,\n SIGNATORY_DETAILS_HINT,\n WEBSITE_HINT,\n SIGNATORY_EMAIL_HINT,\n parseJwt,\n ERRORS,\n} from '@/utils/index.jsx';\nimport useCountryCodes from '@/utils/countryCodes.js';\nimport { useAuth } from '@/utils/auth/AuthContext.js';\nimport { dataResources } from '@/utils/remoteDataProvider.js';\n\nimport AuthorityRegistrationNumbersInput from './components/AuthorityRegistrationInput.jsx';\nimport { LinkedInRegistrationInput } from './components/LinkedInRegistrationInput.jsx';\nimport { OrganizationBrand } from './components/OrganizationBrand.jsx';\nimport { OrganizationSubmitButton } from './components/OrganizationSubmitButton.jsx';\nimport { OrganizationCreateTitle } from './components/OrganizationCreateTitle.jsx';\nimport ServiceCreateFormContainer from './OrganizationAddService.jsx';\nimport {\n requestOptions,\n organizationPlaceholder,\n validateName,\n validateEmail,\n} from './utils/index.js';\n\nexport const defaultBrandValue = [\n {\n name: '',\n },\n];\n\nexport const allBrandsFilled = (values) => values?.every((brand) => !!brand.name && brand.logo);\nexport const isAddBrandDisabled = (values) => {\n return values && !allBrandsFilled(values) && (values.length % 2 === 0 || values.length !== 1);\n};\n\nconst OrganizationCreate = ({\n CreateServiceComponent = ServiceCreateFormContainer,\n MockOrganization,\n}) => {\n const navigate = useNavigate();\n const location = useLocation();\n const notify = useNotify();\n const redirect = useRedirect();\n\n const { logout, user, getAccessToken } = useAuth();\n\n const { data: countryCodes, isLoading } = useCountryCodes();\n const [did, setDid] = useSelectedOrganization();\n\n const [organizationData, setOrganizationData] = useState(null);\n const [isServiceCreated, setServiceCreated] = useState(false);\n const [secretKeys, setSecretKeys] = useState(null);\n const [isCreateRequestLoading, setCreateRequestLoading] = useState(false);\n const [hasOrganisations, setHasOrganisations] = useState(false);\n const [serviceType, setServiceType] = useState('');\n const [selectedCAO, setSelectedCAO] = useState('');\n const [initialRecord, setInitialRecord] = useState({ profile: { name: '' } });\n\n const { refetch } = useGetList('organizations', undefined, {\n enabled: false,\n });\n const { data: userData, isLoading: isUserDataLoading } = useGetOne(\n dataResources.USERS,\n {\n id: user.sub,\n },\n {\n enabled: !!user.sub,\n ...requestOptions,\n },\n );\n\n useEffect(() => {\n (async () => {\n try {\n const token = await getAccessToken();\n const tokenDecoded = parseJwt(token);\n setHasOrganisations(\n Boolean(\n tokenDecoded['http://velocitynetwork.foundation/groupId'] ||\n tokenDecoded.scope.includes('admin'),\n ),\n );\n } catch (e) {\n console.error(e);\n }\n })();\n }, [getAccessToken, setHasOrganisations]);\n\n const { save } = useCreateController({\n resource: 'organizations',\n mutationOptions: {\n onSuccess: async (resp) => {\n refetch();\n setDid(resp.id);\n setSecretKeys({ keys: resp.keys, authClients: resp.authClients });\n setServiceCreated(true);\n setCreateRequestLoading(false);\n navigate(-1);\n getAccessToken({ cacheMode: 'off' });\n },\n onError: ({ body }) => {\n setCreateRequestLoading(false);\n if (body.errorCode === 'website_already_exists') {\n notify(ERRORS.websiteExists, { type: 'error' }, { autoHideDuration: 5000 });\n } else {\n notify(body.message || ERRORS.default, { type: 'error' }, { autoHideDuration: 5000 });\n }\n navigate(-1);\n setServiceCreated(false);\n },\n },\n });\n\n const goToCreateServiceStep = (data) => {\n setOrganizationData(data);\n navigate('service');\n };\n\n const onClose = () => {\n if (isServiceCreated === true) {\n redirect('list', 'services');\n } else {\n navigate(-1);\n setOrganizationData(null);\n setServiceCreated(false);\n }\n };\n\n const onCreate = async (serviceData) => {\n setCreateRequestLoading(true);\n const organization = {\n ...organizationData,\n profile: {\n ...(organizationData?.profile || {}),\n website: formatWebSiteUrl(organizationData?.profile?.website),\n linkedInProfile: formatWebSiteUrl(organizationData?.profile?.linkedInProfile),\n registrationNumbers: formatRegistrationNumbers(\n organizationData?.profile?.registrationNumbers,\n ),\n commercialEntities: organizationData?.profile?.commercialEntities\n ?.filter((brand) => brand.logo)\n ?.map((commercial) => ({\n ...commercial,\n type: 'Brand',\n })),\n },\n };\n await save({\n ...organization,\n serviceEndpoints: serviceData\n ? [\n {\n id: `${did}#${kebabCase(serviceData.type)}-1`,\n ...serviceData,\n },\n ]\n : [],\n });\n };\n\n if (isLoading || isUserDataLoading) {\n return <Loading sx={{ pt: '60px' }} />;\n }\n return (\n <Box sx={sx.root}>\n <Stack sx={sx.content}>\n {MockOrganization && <MockOrganization setInitialRecord={setInitialRecord} />}\n\n <OrganizationCreateTitle />\n\n <Form record={initialRecord} onSubmit={goToCreateServiceStep} noValidate mode=\"onTouched\">\n <FormDataConsumer>\n {({ formData }) => (\n <>\n <Grid container spacing={4} rowSpacing={1}>\n <Grid size={{ xs: 6 }}>\n <Stack container flex={1} flexDirection=\"column\">\n <Grid size={{ xs: 12 }}>\n <Stack flexDirection=\"row\" gap={1.75}>\n <TextInput\n fullWidth\n label=\"Legal Name\"\n source=\"profile.name\"\n validate={validateName}\n />\n </Stack>\n </Grid>\n <Grid size={{ xs: 12 }}>\n <Stack flexDirection=\"row\" gap={1.75}>\n <TextInput\n fullWidth\n label=\"Website\"\n source=\"profile.website\"\n validate={[...validateWebsiteStrict, required()]}\n />\n <Box mt={2}>\n <Tooltip title={WEBSITE_HINT}>\n <InfoIcon color=\"info\" fontSize=\"small\" cursor=\"pointer\" />\n </Tooltip>\n </Box>\n </Stack>\n </Grid>\n <Grid size={{ xs: 12 }}>\n <TextInput\n fullWidth\n label=\"Address\"\n source=\"profile.physicalAddress.line1\"\n validate={[required(), maxLength(1024)]}\n />\n </Grid>\n <Grid size={{ xs: 12 }}>\n <AutocompleteInput\n label=\"Country\"\n source=\"profile.location.countryCode\"\n choices={countryCodes}\n validate={required()}\n />\n </Grid>\n </Stack>\n </Grid>\n <Grid size={{ xs: 6 }} pb={1}>\n <CustomImageInput label={false} editMode addTo=\"profile\" />\n </Grid>\n <Grid size={{ xs: 6 }}>\n <TextInput\n fullWidth\n label=\"LinkedIn Page\"\n source=\"profile.linkedInProfile\"\n validate={[...validateWebsite, required()]}\n />\n </Grid>\n <Grid size={{ xs: 6 }}>\n <LinkedInRegistrationInput\n formData={formData.profile}\n source=\"profile.registrationNumbers\"\n />\n </Grid>\n <Grid size={{ xs: 6 }}>\n <Stack flexDirection=\"row\" gap={1.75}>\n <TextInput\n fullWidth\n label=\"Support Email\"\n source=\"profile.contactEmail\"\n validate={validateEmail}\n />\n <Box mt={2}>\n <Tooltip title={SUPPORT_EMAIL_HINT}>\n <InfoIcon color=\"info\" fontSize=\"small\" cursor=\"pointer\" />\n </Tooltip>\n </Box>\n </Stack>\n </Grid>\n <Grid size={{ xs: 6 }}>\n <Stack flexDirection=\"row\" gap={1.75}>\n <TextInput\n fullWidth\n label=\"Technical Contact Email\"\n source=\"profile.technicalEmail\"\n validate={validateEmail}\n />\n <Box mt={2}>\n <Tooltip title={TECHNICAL_EMAIL_HINT}>\n <InfoIcon color=\"info\" fontSize=\"small\" cursor=\"pointer\" />\n </Tooltip>\n </Box>\n </Stack>\n </Grid>\n <AuthorityRegistrationNumbersInput\n source=\"profile.registrationNumbers\"\n orientation=\"horizontal\"\n />\n <Grid size={{ xs: 12 }}>\n <TextInput\n fullWidth\n multiline\n label=\"Short Description\"\n placeholder={organizationPlaceholder}\n source=\"profile.description\"\n validate={required()}\n />\n </Grid>\n <Grid size={{ xs: 12 }}>\n <Typography variant=\"h5\">Key individuals</Typography>\n </Grid>\n <Grid size={{ xs: 6 }}>\n <Stack flexDirection=\"row\" gap={1.75}>\n <Typography variant=\"body1\" my={2} sx={sx.sectionTitle}>\n Administrator’s Details\n </Typography>\n <Box mt={2}>\n <Tooltip title={ADMINISTRATOR_DETAILS_HINT}>\n <InfoIcon color=\"info\" fontSize=\"small\" cursor=\"pointer\" />\n </Tooltip>\n </Box>\n </Stack>\n </Grid>\n <Grid size={{ xs: 6 }}>\n <Stack flexDirection=\"row\" gap={1.75}>\n <Typography variant=\"body1\" my={2} sx={sx.sectionTitle}>\n Signatory Authority’s Details\n </Typography>\n <Box mt={2}>\n <Tooltip title={SIGNATORY_DETAILS_HINT}>\n <InfoIcon color=\"info\" fontSize=\"small\" cursor=\"pointer\" />\n </Tooltip>\n </Box>\n </Stack>\n </Grid>\n <Grid size={{ xs: 6 }}>\n <Stack flexDirection=\"row\" gap={1.75}>\n <TextInput\n fullWidth\n label=\"First name\"\n source=\"profile.adminGivenName\"\n validate={[maxLength(1024), required()]}\n defaultValue={userData ? userData.givenName : ''}\n />\n </Stack>\n <Stack flexDirection=\"row\" gap={1.75}>\n <TextInput\n fullWidth\n label=\"Last name\"\n source=\"profile.adminFamilyName\"\n validate={[maxLength(1024), required()]}\n defaultValue={userData ? userData.familyName : ''}\n />\n </Stack>\n </Grid>\n <Grid size={{ xs: 6 }}>\n <Stack flexDirection=\"row\" gap={1.75}>\n <TextInput\n fullWidth\n label=\"First name\"\n source=\"profile.signatoryGivenName\"\n validate={[maxLength(1024), required()]}\n />\n </Stack>\n <Stack flexDirection=\"row\" gap={1.75}>\n <TextInput\n fullWidth\n label=\"Last name\"\n source=\"profile.signatoryFamilyName\"\n validate={[maxLength(1024), required()]}\n />\n </Stack>\n </Grid>\n <Grid size={{ xs: 6 }}>\n <Stack flexDirection=\"row\" gap={1.75}>\n <TextInput\n fullWidth\n label=\"Job Title\"\n source=\"profile.adminTitle\"\n validate={[maxLength(1024), required()]}\n />\n </Stack>\n </Grid>\n <Grid size={{ xs: 6 }}>\n <Stack flexDirection=\"row\" gap={1.75}>\n <TextInput\n fullWidth\n label=\"Job Title\"\n source=\"profile.signatoryTitle\"\n validate={[maxLength(1024), required()]}\n />\n </Stack>\n </Grid>\n <Grid size={{ xs: 6 }}>\n <Stack flexDirection=\"row\" gap={1.75}>\n <TextInput\n fullWidth\n label=\"Email\"\n source=\"profile.adminEmail\"\n validate={validateEmail}\n defaultValue={userData ? userData.email : ''}\n />\n </Stack>\n </Grid>\n <Grid size={{ xs: 6 }}>\n <Stack flexDirection=\"row\" gap={1.75}>\n <TextInput\n fullWidth\n label=\"Email\"\n source=\"profile.signatoryEmail\"\n validate={validateEmail}\n />\n <Box mt={2}>\n <Tooltip title={SIGNATORY_EMAIL_HINT}>\n <InfoIcon color=\"info\" fontSize=\"small\" cursor=\"pointer\" />\n </Tooltip>\n </Box>\n </Stack>\n </Grid>\n <Grid size={{ xs: 12 }}>\n <Typography variant=\"h4\" mb={2} mt={4}>\n Commercial Names\n </Typography>\n </Grid>\n <Grid size={{ xs: 12 }}>\n <ArrayInput\n source=\"profile.commercialEntities\"\n defaultValue={defaultBrandValue}\n sx={{ '& .RaArrayInput-label': { display: 'none' } }}\n >\n <SimpleFormIterator\n addButton={\n <PlusButtonBlock\n style={sx.plusButtonBlock}\n disabled={!allBrandsFilled(formData.profile.commercialEntities)}\n position={formData.profile?.commercialEntities?.length}\n />\n }\n disableAdd={isAddBrandDisabled(formData.profile.commercialEntities)}\n fullWidth\n sx={sx.brandList}\n >\n <FormDataConsumer>\n {({ scopedFormData }) => {\n return (\n <OrganizationBrand\n formData={formData}\n scopedFormData={scopedFormData}\n />\n );\n }}\n </FormDataConsumer>\n </SimpleFormIterator>\n </ArrayInput>\n </Grid>\n </Grid>\n <Box display=\"flex\" justifyContent=\"center\" pt={4}>\n <Button\n variant=\"outlined\"\n color=\"secondary\"\n size=\"large\"\n sx={sx.cancelButton}\n onClick={() => (hasOrganisations ? navigate('/') : logout())}\n >\n Cancel\n </Button>\n <OrganizationSubmitButton />\n </Box>\n <CreateServiceComponent\n isModalOpened={/create\\/service/.test(location.pathname) || isServiceCreated}\n isSending={isCreateRequestLoading}\n onClose={onClose}\n onCreate={onCreate}\n isCreated={isServiceCreated}\n secretKeys={secretKeys}\n did={did}\n selectedServiceType={serviceType}\n setSelectedServiceType={setServiceType}\n selectedCAO={selectedCAO}\n setSelectedCAO={setSelectedCAO}\n />\n </>\n )}\n </FormDataConsumer>\n </Form>\n </Stack>\n </Box>\n );\n};\n\n// eslint-disable-next-line better-mutation/no-mutation\nOrganizationCreate.propTypes = {\n CreateServiceComponent: PropTypes.elementType,\n MockOrganization: PropTypes.elementType,\n};\n\nexport default OrganizationCreate;\n\nconst sx = {\n root: {\n pt: 7.5,\n pb: 2,\n pl: 1,\n boxSizing: 'border-box',\n display: 'flex',\n justifyContent: 'center',\n },\n content: {\n maxWidth: 886,\n alignItems: 'center',\n },\n cancelButton: {\n minWidth: 160,\n mr: 2,\n },\n mockButton: {\n color: 'primary.main',\n },\n formValidationCustomMessage: { color: 'primary.main' },\n brandList: {\n display: 'flex',\n flexWrap: 'wrap',\n px: '0.5rem',\n gap: '2rem',\n justifyContent: 'space-between',\n '& .RaSimpleFormIterator-action': { display: 'none' },\n '& .RaSimpleFormIterator-buttons': { width: '48%' },\n '& .RaSimpleFormIterator-add': { width: '100%' },\n '& .RaSimpleFormIterator-clear': { display: 'none' },\n '& .RaSimpleFormIterator-list': {\n display: 'flex',\n flexWrap: 'wrap',\n justifyContent: 'space-between',\n gap: '2rem',\n flexGrow: '2',\n width: '100%',\n '&:has(li:only-child)': { width: '48%' },\n },\n '& .RaSimpleFormIterator-line': {\n width: '48%',\n '&:only-child': { width: '100%' },\n },\n '& .RaSimpleFormIterator-form': {\n width: '100%',\n },\n },\n brandLogoContainer: { width: '100%' },\n brandLogo: { minHeight: '272px' },\n plusButtonBlock: { height: '23.9rem' },\n sectionTitle: {\n fontSize: '14px',\n textTransform: 'uppercase',\n },\n errorMessage: {\n fontSize: '0.75rem',\n color: 'primary.main',\n marginLeft: '1.25em',\n height: '1.75em',\n },\n fullWidth: {\n width: '100%',\n },\n};\n","/**\n * Copyright 2023 Velocity Team\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {\n AutocompleteInput,\n email,\n Form,\n Edit,\n required,\n useEditController,\n SaveButton,\n FormDataConsumer,\n ArrayInput,\n SimpleFormIterator,\n TextInput,\n} from 'react-admin';\nimport { useParams } from 'react-router';\nimport { Box, Grid, Stack, Tooltip, Typography } from '@mui/material';\nimport InfoIcon from '@mui/icons-material/Info';\nimport { useState } from 'react';\nimport {\n validateWebsite,\n validateWebsiteStrict,\n} from '../../components/organizations/CreateOrganizationUtils.js';\nimport Loading from '../../components/Loading.jsx';\nimport {\n ERRORS,\n formatWebSiteUrl,\n formatRegistrationNumbers,\n SUPPORT_EMAIL_HINT,\n TECHNICAL_EMAIL_HINT,\n WEBSITE_HINT_SHORT,\n} from '../../utils/index.jsx';\nimport useCountryCodes from '../../utils/countryCodes.js';\nimport CustomImageInput from '../../components/common/CustomImageInput/index.jsx';\nimport { defaultBrandValue, allBrandsFilled, isAddBrandDisabled } from './OrganizationCreate.jsx';\nimport PlusButtonBlock from '../../components/common/PlusButtonBlock.jsx';\nimport { OrganizationBrand } from './components/OrganizationBrand.jsx';\nimport AuthorityRegistrationNumbersInput from './components/AuthorityRegistrationInput.jsx';\nimport { LinkedInRegistrationInput } from './components/LinkedInRegistrationInput.jsx';\n\nconst validateEmail = [required(), email()];\n\nconst transform = (data) => ({\n ...data,\n profile: {\n ...data.profile,\n website: formatWebSiteUrl(data.profile.website),\n linkedInProfile: formatWebSiteUrl(data.profile.linkedInProfile),\n registrationNumbers: formatRegistrationNumbers(data.profile?.registrationNumbers),\n commercialEntities: data.profile.commercialEntities\n .filter((brand) => brand.logo)\n .map((brand) => ({\n ...brand,\n type: 'Brand',\n })),\n },\n});\n\nconst modifyRecord = (record) => ({\n ...record,\n profile: {\n ...record.profile,\n commercialEntities: record.profile?.commercialEntities?.length\n ? record.profile.commercialEntities\n : defaultBrandValue,\n },\n});\n\nconst OrganizationEdit = () => {\n const { id } = useParams();\n const { data: countryCodes, isLoading: isCodesLoading } = useCountryCodes();\n const [errorMessage, setErrorMessage] = useState('');\n const { record, isLoading } = useEditController({\n resource: 'organizations',\n id,\n });\n\n const onError = ({ body }) => {\n if (body.errorCode === 'webhook_not_protocol_compliant') {\n setErrorMessage(ERRORS.secureWebHook);\n } else {\n setErrorMessage(ERRORS.default);\n }\n };\n\n if (isLoading || isCodesLoading) return <Loading sx={{ pt: '60px' }} />;\n\n return (\n <Stack pt={5} pb={10} pr={8} pl={9}>\n <Typography variant=\"h3\" mb={4}>\n Edit profile\n </Typography>\n <Edit\n mutationMode=\"pessimistic\"\n mutationOptions={{ onError }}\n actions={false}\n sx={sx.formContainer}\n transform={(data) => transform(data)}\n >\n <Form record={modifyRecord(record)} mode=\"onTouched\">\n <FormDataConsumer>\n {/* eslint-disable-next-line complexity */}\n {({ formData }) => (\n <>\n <Grid container spacing={5} rowSpacing={1.25}>\n <Grid size={{ xs: 6 }}>\n <Stack container flex={1} flexDirection=\"column\">\n <Grid size={{ xs: 12 }}>\n <TextInput\n fullWidth\n source=\"profile.name\"\n label=\"Legal Name\"\n validate={required()}\n readOnly\n />\n </Grid>\n <Grid size={{ xs: 12 }}>\n <Stack flexDirection=\"row\" gap={1.75}>\n <TextInput\n fullWidth\n label=\"Website\"\n source=\"profile.website\"\n validate={[...validateWebsiteStrict, required()]}\n disabled\n />\n <Box mt={2}>\n <Tooltip title={WEBSITE_HINT_SHORT}>\n <InfoIcon color=\"info\" fontSize=\"small\" cursor=\"pointer\" />\n </Tooltip>\n </Box>\n </Stack>\n </Grid>\n <Grid size={{ xs: 12 }}>\n <TextInput\n fullWidth\n label=\"Address\"\n source=\"profile.physicalAddress.line1\"\n validate={required()}\n />\n </Grid>\n <Grid size={{ xs: 12 }}>\n <AutocompleteInput\n fullWidth\n label=\"Country\"\n source=\"profile.location.countryCode\"\n validate={required()}\n choices={countryCodes}\n />\n </Grid>\n </Stack>\n </Grid>\n <Grid size={{ xs: 6 }} p={1}>\n <CustomImageInput\n label={false}\n source=\"profile.url\"\n editMode={false}\n imgSrc={formData.profile?.logo}\n addTo=\"profile\"\n />\n </Grid>\n <Grid size={{ xs: 6 }}>\n <Stack flexDirection=\"row\" gap={1.75}>\n <TextInput\n fullWidth\n label=\"LinkedIn Page\"\n source=\"profile.linkedInProfile\"\n validate={[...validateWebsite, required()]}\n />\n </Stack>\n </Grid>\n <Grid size={{ xs: 6 }}>\n <LinkedInRegistrationInput\n formData={{ ...record, ...formData.profile }}\n source=\"profile.registrationNumbers\"\n />\n </Grid>\n <Grid size={{ xs: 6 }}>\n <Stack flexDirection=\"row\" gap={1.75}>\n <TextInput\n fullWidth\n label=\"Support Email\"\n source=\"profile.contactEmail\"\n validate={validateEmail}\n />\n <Box mt={2}>\n <Tooltip title={SUPPORT_EMAIL_HINT}>\n <InfoIcon color=\"info\" fontSize=\"small\" cursor=\"pointer\" />\n </Tooltip>\n </Box>\n </Stack>\n </Grid>\n <Grid size={{ xs: 6 }}>\n <Stack flexDirection=\"row\" gap={1.75}>\n <TextInput\n fullWidth\n label=\"Technical Contact Email\"\n source=\"profile.technicalEmail\"\n validate={validateEmail}\n />\n <Box mt={2}>\n <Tooltip title={TECHNICAL_EMAIL_HINT}>\n <InfoIcon color=\"info\" fontSize=\"small\" cursor=\"pointer\" />\n </Tooltip>\n </Box>\n </Stack>\n </Grid>\n <AuthorityRegistrationNumbersInput\n source=\"profile.registrationNumbers\"\n orientation=\"horizontal\"\n />\n <Grid size={{ xs: 12 }}>\n <TextInput fullWidth disabled label=\"DID\" source=\"id\" />\n </Grid>\n {formData.didDoc?.alsoKnownAs && (\n <Grid size={{ xs: 12 }}>\n <TextInput\n fullWidth\n multiline\n disabled\n sx={sx.textArea}\n label=\"Also Known As\"\n source=\"didDoc.alsoKnownAs\"\n format={(value) => (Array.isArray(value) ? value.join('\\n') : value)}\n />\n </Grid>\n )}\n <Grid size={{ xs: 12 }}>\n <TextInput\n fullWidth\n multiline\n label=\"Short Description\"\n source=\"profile.description\"\n validate={required()}\n sx={sx.description}\n />\n </Grid>\n <Grid size={{ xs: 12 }}>\n <Typography variant=\"h4\" mb={2} mt={4}>\n Commercial Names\n </Typography>\n </Grid>\n <Grid size={{ xs: 12 }}>\n <ArrayInput\n source=\"profile.commercialEntities\"\n defaultValue={defaultBrandValue}\n sx={{ '& .RaArrayInput-label': { display: 'none' } }}\n >\n <SimpleFormIterator\n addButton={\n <PlusButtonBlock\n style={sx.plusButtonBlock}\n disabled={\n !allBrandsFilled([\n ...(record.profile.commercialEntities || []),\n ...(formData.profile.commercialEntities || []),\n ])\n }\n position={formData.profile?.commercialEntities?.length}\n />\n }\n disableAdd={isAddBrandDisabled([\n ...(record.profile.commercialEntities || []),\n ...(formData.profile.commercialEntities || []),\n ])}\n fullWidth\n sx={sx.brandList}\n >\n <FormDataConsumer>\n {({ scopedFormData }) => {\n return (\n <OrganizationBrand\n formData={formData}\n scopedFormData={scopedFormData}\n />\n );\n }}\n </FormDataConsumer>\n </SimpleFormIterator>\n </ArrayInput>\n </Grid>\n </Grid>\n <SaveButton\n icon={null}\n variant=\"outlined\"\n color=\"primary\"\n type=\"submit\"\n sx={{ mt: 3 }}\n label=\"Update profile\"\n />\n <Grid size={{ xs: 12 }}>\n <Stack flexDirection=\"row\" mt={2}>\n <Typography variant=\"subtitle2\" sx={{ color: 'primary.main' }}>\n {errorMessage}\n </Typography>\n </Stack>\n </Grid>\n </>\n )}\n </FormDataConsumer>\n </Form>\n </Edit>\n </Stack>\n );\n};\n\nexport default OrganizationEdit;\n\nconst sx = {\n formContainer: {\n '& .RaEdit-card': { boxShadow: 'none', paddingTop: '0.5em' },\n '& .RaEdit-noActions': { marginTop: 0 },\n },\n brandList: {\n display: 'flex',\n flexWrap: 'wrap',\n gap: '2rem',\n px: '0.5em',\n justifyContent: 'space-between',\n '& .RaSimpleFormIterator-action': { display: 'none' },\n '& .RaSimpleFormIterator-buttons': { width: '48%' },\n '& .RaSimpleFormIterator-add': { width: '100%' },\n '& .RaSimpleFormIterator-clear': { display: 'none' },\n '& .RaSimpleFormIterator-list': {\n display: 'flex',\n flexWrap: 'wrap',\n justifyContent: 'space-between',\n gap: '2rem',\n flexGrow: '2',\n width: '100%',\n '&:has(li:only-child)': { width: '48%' },\n },\n '& .RaSimpleFormIterator-line': {\n width: '48%',\n '&:only-child': { width: '100%' },\n },\n '& .RaSimpleFormIterator-form': {\n width: '100%',\n },\n '& .MuiBox-root fieldset': {\n height: 'calc(24.5rem - 75px) !important',\n },\n },\n brandLogoContainer: { width: '100%' },\n brandLogo: { minHeight: '272px' },\n plusButtonBlock: { height: '25rem' },\n errorMessage: {\n fontSize: '0.75rem',\n color: 'primary.main',\n marginLeft: '1.25em',\n height: '1.75em',\n },\n fullWidth: {\n width: '100%',\n },\n textArea: { '& textarea': { padding: '0' } },\n description: { '& textarea': { paddingLeft: '0', paddingRight: '0' } },\n};\n","/**\n * Copyright 2023 Velocity Team\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport React, { useEffect } from 'react';\nimport { Box, Button, Divider, Paper, Stack, Typography, Grid } from '@mui/material';\nimport PropTypes from 'prop-types';\nimport EditIcon from '@mui/icons-material/Edit';\nimport { useParams, useNavigate } from 'react-router';\nimport { useGetOne, useRedirect } from 'react-admin';\nimport {\n copyTextToClipboard,\n WEBSITE_HINT_SHORT,\n DID_HINT,\n LINKEDIN_ORGANIZATION_ID,\n SUPPORT_EMAIL_HINT,\n TECHNICAL_EMAIL_HINT,\n DUNS_HINT,\n LEI_HINT,\n NATIONAL_AUTHORITY_HINT,\n ALSO_KNOWN_AS_HINT,\n} from '@/utils/index.jsx';\nimport Loading from '@/components/Loading.jsx';\nimport OrganizationAvatar from '@/components/common/OrganizationAvatar.jsx';\nimport useCountryCodes from '@/utils/countryCodes.js';\nimport useSelectedOrganization from '@/state/selectedOrganizationState.js';\nimport { AuthoritiesList, Authorities, authorityOptions } from '@/constants/messageCodes.js';\nimport DataItem from '@/components/common/DataItem.jsx';\nimport { useAuth } from '@/utils/auth/AuthContext.js';\n\n// eslint-disable-next-line complexity\nconst OrganizationShow = () => {\n const [savedDid, setDid] = useSelectedOrganization();\n const { id } = useParams();\n const { getCountryNameByCode } = useCountryCodes();\n const redirect = useRedirect();\n const { data: record, isLoading } = useGetOne(\n 'organizations',\n { id },\n {\n onError: () => {\n setDid('');\n redirect('/');\n },\n },\n );\n\n const navigate = useNavigate();\n\n useEffect(() => {\n if (id !== savedDid) {\n navigate(`/organizations/${savedDid}/show`, { replace: true });\n }\n }, [id, savedDid, navigate]);\n\n const { getAccessToken } = useAuth();\n const [token, setToken] = React.useState('');\n const [isCopied, setIsCopied] = React.useState(false);\n\n React.useEffect(() => {\n const getToken = async () => {\n try {\n const accessToken = await getAccessToken();\n setToken(accessToken);\n } catch (e) {\n // eslint-disable-next-line no-console\n console.log(e.message);\n }\n };\n getToken();\n }, [getAccessToken]);\n\n const handleCopyClick = () => {\n copyTextToClipboard(token, (err) => {\n setIsCopied(!err);\n });\n };\n\n if (!token || isLoading) {\n return (\n <Box pt={5} pb={10} pr={8} pl={9}>\n <Loading />\n </Box>\n );\n }\n\n return (\n <Box pt={5} pb={10} pr={8} pl={9}>\n <Stack mb={3.75} direction=\"row\" alignItems=\"center\" justifyContent=\"space-between\">\n <Typography variant=\"h3\">Organization profile</Typography>\n <Button\n variant=\"outlined\"\n onClick={() => redirect('edit', 'organizations', id)}\n startIcon={<EditIcon />}\n >\n Edit Profile\n </Button>\n </Stack>\n <Paper elevation={2} sx={{ p: 6 }}>\n <Grid container spacing={4}>\n <Grid size={{ xs: 4 }}>\n <Box display=\"flex\" alignItems=\"flex-start\" mb={5}>\n <OrganizationAvatar name={record.profile.name} logo={record.profile.logo} size={66} />\n </Box>\n <Typography component=\"div\" mb={1.5} variant=\"h4\" sx={[sx.value, sx.header]}>\n {record.profile.name}\n </Typography>\n <Typography component=\"div\" mb={1.5} variant=\"pm\">\n {getCountryNameByCode(record.profile.location.countryCode)}\n </Typography>\n </Grid>\n <Grid size={{ xs: 8 }}>\n <Grid sx={sx.dataRow} container spacing={4}>\n <Grid size={{ xs: 6 }}>\n <DataItem title=\"Legal Name\" value={record.profile.name} sxValue={sx.value} />\n </Grid>\n <Grid size={{ xs: 6 }}>\n <DataItem\n title=\"Website\"\n value={record.profile.website}\n sxValue={sx.value}\n hint={WEBSITE_HINT_SHORT}\n />\n </Grid>\n <Grid size={{ xs: 6 }}>\n <DataItem\n title=\"Address\"\n value={record.profile.physicalAddress?.line1}\n sxValue={sx.value}\n />\n </Grid>\n <Grid size={{ xs: 6 }}>\n <DataItem\n title=\"Country\"\n value={getCountryNameByCode(record.profile.location.countryCode)}\n sxValue={sx.value}\n />\n </Grid>\n <Grid size={{ xs: 6 }}>\n <DataItem\n title=\"LinkedIn Page\"\n value={record.profile.linkedInProfile}\n sxValue={sx.value}\n />\n </Grid>\n <Grid size={{ xs: 6 }}>\n <DataItemRegistrationNumbers\n hint={LINKEDIN_ORGANIZATION_ID}\n title=\"LinkedIn Company Page ID\"\n record={record}\n type=\"number\"\n fieldType=\"LinkedIn\"\n />\n </Grid>\n <Grid size={{ xs: 6 }}>\n <DataItem\n title=\"Support Email\"\n value={record.profile.contactEmail}\n sxValue={sx.value}\n hint={SUPPORT_EMAIL_HINT}\n />\n </Grid>\n <Grid size={{ xs: 6 }}>\n <DataItem\n title=\"Technical Contact Email\"\n value={record.profile.technicalEmail}\n sxValue={sx.value}\n hint={TECHNICAL_EMAIL_HINT}\n />\n </Grid>\n <Grid size={{ xs: 6 }}>\n <DataItemRegistrationNumbers\n hint={DUNS_HINT}\n title={authorityOptions[Authorities.DunnAndBradstreet]}\n type=\"number\"\n record={record}\n fieldType={Authorities.DunnAndBradstreet}\n />\n </Grid>\n <Grid size={{ xs: 6 }}>\n <DataItemRegistrationNumbers\n hint={LEI_HINT}\n title={authorityOptions[Authorities.GLEIF]}\n type=\"number\"\n record={record}\n fieldType={Authorities.GLEIF}\n />\n </Grid>\n <Grid size={{ xs: 6 }}>\n <DataItemRegistrationNumbers\n hint={NATIONAL_AUTHORITY_HINT}\n title={authorityOptions[Authorities.NationalAuthority]}\n type=\"number\"\n record={record}\n fieldType={Authorities.NationalAuthority}\n />\n </Grid>\n <Grid size={{ xs: 6 }}>\n <DataItemRegistrationNumbers\n hint=\"\"\n title=\"\"\n type=\"uri\"\n record={record}\n fieldType={Authorities.NationalAuthority}\n />\n </Grid>\n </Grid>\n <Grid size={{ xs: 12 }} sx={sx.dataRow}>\n <DataItem title=\"DID\" value={record.id} hint={DID_HINT} sxValue={sx.value} />\n </Grid>\n {record.didDoc?.alsoKnownAs && (\n <Grid size={{ xs: 12 }}>\n <DataItem\n title=\"Also known as\"\n value={record.didDoc.alsoKnownAs}\n hint={ALSO_KNOWN_AS_HINT}\n sxValue={sx.value}\n />\n </Grid>\n )}\n </Grid>\n </Grid>\n <Divider sx={{ my: 5 }} />\n <Box>\n <Typography component=\"div\" mb={1} variant=\"pm\">\n Short Description\n </Typography>\n <Typography component=\"p\" variant=\"pm\">\n {record.profile.description || '-'}\n </Typography>\n </Box>\n {!!record.profile?.commercialEntities?.length && (\n <>\n <Typography component=\"div\" mt={4} textTransform=\"uppercase\" variant=\"pm\">\n Commercial Names\n </Typography>\n <Divider sx={{ mt: 2, mb: 5 }} />\n <Grid container spacing={4}>\n {record.profile.commercialEntities.map((commercial) => (\n <Grid\n item\n size={{ xs: 4 }}\n key={commercial.logo}\n sx={sx.commercials}\n justifyContent=\"flex-start\"\n alignItems=\"center\"\n >\n <Box display=\"flex\">\n <OrganizationAvatar size={52} name={commercial.name} logo={commercial.logo} />\n </Box>\n <Typography>{commercial.name}</Typography>\n </Grid>\n ))}\n </Grid>\n </>\n )}\n <Divider sx={{ my: 5 }} />\n <Box mb={3}>\n <Typography component=\"div\" mb={1} textTransform=\"uppercase\" variant=\"pm\">\n Registrar Access Token\n </Typography>\n <Typography component=\"p\" variant=\"pm\" sx={sx.token}>\n {token}\n </Typography>\n </Box>\n <Button variant=\"outlined\" color=\"secondary\" size=\"small\" onClick={handleCopyClick}>\n {isCopied ? 'COPIED' : 'COPY'}\n </Button>\n </Paper>\n </Box>\n );\n};\n\nconst DataItemRegistrationNumbers = ({ fieldType, record, type, ...props }) => {\n const transformedValue =\n record?.profile?.registrationNumbers &&\n record?.profile?.registrationNumbers.find(({ authority }) => {\n return authority === fieldType;\n })?.[type];\n\n return <DataItem {...props} value={transformedValue} sxValue={sx.value} />;\n};\n\n// eslint-disable-next-line better-mutation/no-mutation\nDataItemRegistrationNumbers.propTypes = {\n // eslint-disable-next-line react/forbid-prop-types\n record: PropTypes.object.isRequired,\n title: PropTypes.string,\n hint: PropTypes.string,\n type: PropTypes.string,\n fieldType: PropTypes.oneOf(AuthoritiesList).isRequired,\n};\n\nconst sx = {\n avatar: {\n width: '66px',\n height: '66px',\n bgcolor: 'primary.main',\n border: '6px solid white',\n },\n avatarBorder: {\n mb: 5,\n display: 'flex',\n borderRadius: '50%',\n border: (theme) => `1px solid ${theme.palette.divider.main}`,\n },\n token: {\n color: 'text.secondary',\n wordBreak: 'break-all',\n },\n dataRow: {\n mb: 4,\n },\n value: {\n wordBreak: 'break-word',\n fontWeight: 600,\n },\n commercials: { display: 'flex', gap: '1em' },\n title: { height: '1em' },\n header: {\n fontSize: '1.25rem',\n marginBottom: '.75rem',\n },\n};\n\nexport default OrganizationShow;\n"],"names":["useState","useMemo","kebabCase","useRef","useIsIssuingInspection","useGetList","dataResources","useEffect","useCallback","buildPayload","jsxs","Fragment","Popup","jsx","Loading","ServiceTypeSelection","ServiceEndpointSelection","SecretKeysPopup","maxLength","required","useFormContext","index","TextInput","Box","sx","CustomImageInput","Button","useConfig","Typography","validateEmail","email","ServiceCreateFormContainer","useNavigate","useLocation","useNotify","useRedirect","useAuth","countryCodes","useCountryCodes","useSelectedOrganization","useGetOne","parseJwt","useCreateController","ERRORS","formatWebSiteUrl","formatRegistrationNumbers","Stack","Form","FormDataConsumer","Grid","validateWebsiteStrict","Tooltip","WEBSITE_HINT","AutocompleteInput","validateWebsite","LinkedInRegistrationInput","SUPPORT_EMAIL_HINT","TECHNICAL_EMAIL_HINT","AuthorityRegistrationNumbersInput","ADMINISTRATOR_DETAILS_HINT","SIGNATORY_DETAILS_HINT","SIGNATORY_EMAIL_HINT","ArrayInput","SimpleFormIterator","PlusButtonBlock","useParams","useEditController","Edit","WEBSITE_HINT_SHORT","SaveButton","copyTextToClipboard","Paper","OrganizationAvatar","DataItem","LINKEDIN_ORGANIZATION_ID","DUNS_HINT","authorityOptions","Authorities","LEI_HINT","NATIONAL_AUTHORITY_HINT","DID_HINT","ALSO_KNOWN_AS_HINT","Divider","AuthoritiesList"],"mappings":"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"}
|
|
@@ -5,17 +5,16 @@ import PropTypes from "prop-types";
|
|
|
5
5
|
import { kebabCase } from "lodash-es";
|
|
6
6
|
import { L as Loading } from "../chunks/Loading.Bcm3xNJU.js";
|
|
7
7
|
import { P as Popup } from "../chunks/Popup.C5odWCD_.js";
|
|
8
|
-
import { c as credentialTypesByServiceTypes } from "../chunks/serviceTypes.CxLXtDIT.js";
|
|
9
8
|
import { d as dataResources } from "../chunks/remoteDataProvider.gtTXA1-g.js";
|
|
10
|
-
import { S as ServiceTypeSelection, a as ServiceEndpointSelection } from "../chunks/index.
|
|
11
|
-
import { S as SecretKeysPopup } from "../chunks/index.
|
|
12
|
-
import { u as useIsIssuingInspection } from "../chunks/
|
|
9
|
+
import { b as buildPayload, S as ServiceTypeSelection, a as ServiceEndpointSelection } from "../chunks/index.BDTIIDNe.js";
|
|
10
|
+
import { S as SecretKeysPopup } from "../chunks/index.DFMQZMWE.js";
|
|
11
|
+
import { u as useIsIssuingInspection } from "../chunks/HolderWalletSelection.BYj3foq0.js";
|
|
13
12
|
import { useNavigate, useLocation, useParams } from "react-router";
|
|
14
13
|
import { Box, Typography, Stack, Grid, Tooltip, Button as Button$1, Paper, Divider } from "@mui/material";
|
|
15
14
|
import InfoIcon from "@mui/icons-material/Info";
|
|
16
15
|
import { u as useSelectedOrganization } from "../chunks/selectedOrganizationState.DBpKeOn0.js";
|
|
17
16
|
import { a as validateWebsiteStrict, v as validateWebsite } from "../chunks/CreateOrganizationUtils.Xq78HHkP.js";
|
|
18
|
-
import { C as CustomImageInput } from "../chunks/index.
|
|
17
|
+
import { C as CustomImageInput } from "../chunks/index.CaxYybSL.js";
|
|
19
18
|
import { P as PlusButtonBlock } from "../chunks/PlusButtonBlock.Bkq2PRii.js";
|
|
20
19
|
import { p as parseJwt, E as ERRORS, W as WEBSITE_HINT, e as SUPPORT_EMAIL_HINT, T as TECHNICAL_EMAIL_HINT, A as ADMINISTRATOR_DETAILS_HINT, S as SIGNATORY_DETAILS_HINT, d as SIGNATORY_EMAIL_HINT, f as formatRegistrationNumbers, g as formatWebSiteUrl, i as WEBSITE_HINT_SHORT, L as LINKEDIN_ORGANIZATION_ID, D as DUNS_HINT, c as LEI_HINT, N as NATIONAL_AUTHORITY_HINT, j as DID_HINT, k as ALSO_KNOWN_AS_HINT, h as copyTextToClipboard } from "../chunks/index.DIur8MCO.js";
|
|
21
20
|
import { u as useCountryCodes } from "../chunks/countryCodes.CQJpALrz.js";
|
|
@@ -76,15 +75,12 @@ const OrganizationAddService = ({
|
|
|
76
75
|
}
|
|
77
76
|
}, [InterceptOnCreate, isCreated]);
|
|
78
77
|
const onCreateCallback = useCallback(
|
|
79
|
-
(
|
|
78
|
+
(service) => {
|
|
80
79
|
const type = selectedServiceType.id.match(/.+v1/);
|
|
81
|
-
setSelectedCAO(serviceEndpoint.split("#")[0]);
|
|
80
|
+
setSelectedCAO(service.serviceEndpoint.split("#")[0]);
|
|
81
|
+
const payload = buildPayload(service, type[0]);
|
|
82
82
|
onCreate({
|
|
83
|
-
|
|
84
|
-
type: type[0],
|
|
85
|
-
...selectedServiceType.id.includes("Issuing") && {
|
|
86
|
-
credentialTypes: credentialTypesByServiceTypes[selectedServiceType.id]
|
|
87
|
-
}
|
|
83
|
+
...payload
|
|
88
84
|
});
|
|
89
85
|
},
|
|
90
86
|
[onCreate, selectedServiceType.id, setSelectedCAO]
|
|
@@ -117,6 +113,7 @@ const OrganizationAddService = ({
|
|
|
117
113
|
{
|
|
118
114
|
credentialAgentOperators,
|
|
119
115
|
isIssueOrInspection: isIssuingOrInspection,
|
|
116
|
+
selectedServiceType,
|
|
120
117
|
inProgress: isSending,
|
|
121
118
|
onCreate: onCreateCallback,
|
|
122
119
|
handleBack: () => setSelectedStep(1)
|
|
@@ -375,9 +372,7 @@ const OrganizationCreate = ({
|
|
|
375
372
|
serviceEndpoints: serviceData ? [
|
|
376
373
|
{
|
|
377
374
|
id: `${did}#${kebabCase(serviceData.type)}-1`,
|
|
378
|
-
|
|
379
|
-
type: serviceData.type,
|
|
380
|
-
credentialTypes: credentialTypesByServiceTypes[serviceData.type]
|
|
375
|
+
...serviceData
|
|
381
376
|
}
|
|
382
377
|
] : []
|
|
383
378
|
});
|