@verii/components-organizations-registrar 1.0.0-pre.1756096826 → 1.0.0-pre.1756224043
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/{ConsentProvider.DIG3atk-.js → ConsentProvider.6M2ucqXH.js} +3 -3
- package/dist/chunks/ConsentProvider.6M2ucqXH.js.map +1 -0
- package/dist/chunks/{ConsentProvider.DTG51XMy.js → ConsentProvider.Bbc0preP.js} +2 -2
- package/dist/chunks/ConsentProvider.Bbc0preP.js.map +1 -0
- package/dist/chunks/{CreateOrganization.utils.C5C_r3Zp.js → CreateOrganizationUtils.C5C_r3Zp.js} +1 -1
- package/dist/chunks/CreateOrganizationUtils.C5C_r3Zp.js.map +1 -0
- package/dist/chunks/{CreateOrganization.utils.8cSBFSYF.js → CreateOrganizationUtils.Xq78HHkP.js} +7 -7
- package/dist/chunks/CreateOrganizationUtils.Xq78HHkP.js.map +1 -0
- package/dist/chunks/{CustomAppBar.DuFQqld7.js → CustomAppBar.BOlNFosS.js} +5 -7
- package/dist/chunks/CustomAppBar.BOlNFosS.js.map +1 -0
- package/dist/chunks/{CustomAppBar.BfQvuTHz.js → CustomAppBar.DaXLAwPh.js} +4 -6
- package/dist/chunks/CustomAppBar.DaXLAwPh.js.map +1 -0
- package/dist/chunks/{LinkedInRegistrationInput.C-qzrR-S.js → LinkedInRegistrationInput.CmYmSJoq.js} +8 -5
- package/dist/chunks/LinkedInRegistrationInput.CmYmSJoq.js.map +1 -0
- package/dist/chunks/{LinkedInRegistrationInput.DKRMHYRh.js → LinkedInRegistrationInput.gnYgP1Hf.js} +11 -8
- package/dist/chunks/LinkedInRegistrationInput.gnYgP1Hf.js.map +1 -0
- package/dist/chunks/{Loading.UJl_3_cf.js → Loading.Bcm3xNJU.js} +2 -3
- package/dist/chunks/Loading.Bcm3xNJU.js.map +1 -0
- package/dist/chunks/{Loading.DYBk0Ktb.js → Loading.cGHE59CV.js} +2 -3
- package/dist/chunks/Loading.cGHE59CV.js.map +1 -0
- package/dist/chunks/{MainLayout.CWFkijrE.js → MainLayout.BzfaZs8j.js} +2 -2
- package/dist/chunks/{MainLayout.CWFkijrE.js.map → MainLayout.BzfaZs8j.js.map} +1 -1
- package/dist/chunks/{MainLayout.6Hq5XQ-L.js → MainLayout.V-ymVxxR.js} +3 -3
- package/dist/chunks/{MainLayout.6Hq5XQ-L.js.map → MainLayout.V-ymVxxR.js.map} +1 -1
- package/dist/chunks/{OrganizationAvatar.BEwRZ9tC.js → OrganizationAvatar.BXW4diDT.js} +2 -2
- package/dist/chunks/{OrganizationAvatar.BEwRZ9tC.js.map → OrganizationAvatar.BXW4diDT.js.map} +1 -1
- package/dist/chunks/{OrganizationAvatar.lWcXtbM6.js → OrganizationAvatar.Dgg5VSPI.js} +2 -2
- package/dist/chunks/{OrganizationAvatar.lWcXtbM6.js.map → OrganizationAvatar.Dgg5VSPI.js.map} +1 -1
- package/dist/chunks/{ServicesEdit.BUAbbXgV.js → ServicesEdit.BnnqC203.js} +3 -3
- package/dist/chunks/ServicesEdit.BnnqC203.js.map +1 -0
- package/dist/chunks/{ServicesEdit.CrtEcP_7.js → ServicesEdit.DDgjS5kU.js} +2 -2
- package/dist/chunks/ServicesEdit.DDgjS5kU.js.map +1 -0
- package/dist/chunks/{SetInvitationService.BUZqAilX.js → SetInvitationService.PxAGwk-I.js} +11 -11
- package/dist/chunks/SetInvitationService.PxAGwk-I.js.map +1 -0
- package/dist/chunks/{SetInvitationService.B0ezxTzf.js → SetInvitationService.ZT5lP003.js} +5 -5
- package/dist/chunks/SetInvitationService.ZT5lP003.js.map +1 -0
- package/dist/chunks/TermsAndConditionsPdf.Ba8-5Hcm.js.map +1 -1
- package/dist/chunks/TermsAndConditionsPdf.ewC7N9Vy.js.map +1 -1
- package/dist/chunks/{CreateOrganization.C2Kf44eJ.js → ValidateTextInput.D5kgjulG.js} +328 -14
- package/dist/chunks/ValidateTextInput.D5kgjulG.js.map +1 -0
- package/dist/chunks/{CreateOrganization.A11-a_8R.js → ValidateTextInput.DEBaVB1L.js} +356 -42
- package/dist/chunks/ValidateTextInput.DEBaVB1L.js.map +1 -0
- package/dist/chunks/{index.DZOVpocw.js → index.CYCWawJT.js} +6 -6
- package/dist/chunks/index.CYCWawJT.js.map +1 -0
- package/dist/chunks/{index.DmM8ShwP.js → index.Cmn4FlUL.js} +5 -5
- package/dist/chunks/index.Cmn4FlUL.js.map +1 -0
- package/dist/chunks/{index.DlFajFTS.js → index.DIizFYFZ.js} +3 -3
- package/dist/chunks/index.DIizFYFZ.js.map +1 -0
- package/dist/chunks/{index.ZAmuSdK1.js → index.DIur8MCO.js} +4 -4
- package/dist/chunks/index.DIur8MCO.js.map +1 -0
- package/dist/chunks/{index.Ch4ynES2.js → index.DMWKdmxs.js} +4 -5
- package/dist/chunks/index.DMWKdmxs.js.map +1 -0
- package/dist/chunks/{index.Dir1xwV4.js → index.DND10PiY.js} +5 -6
- package/dist/chunks/index.DND10PiY.js.map +1 -0
- package/dist/chunks/{index.Cpod3Il3.js → index.YjnxLFjk.js} +3 -3
- package/dist/chunks/index.YjnxLFjk.js.map +1 -0
- package/dist/chunks/index.iexmV4Mr.js.map +1 -1
- package/dist/chunks/remoteDataProvider.BCiFSYnk.js.map +1 -1
- package/dist/chunks/remoteDataProvider.gtTXA1-g.js.map +1 -1
- package/dist/chunks/useIsIssuingInspection.C76mY_wb.js.map +1 -1
- package/dist/chunks/useIsIssuingInspection.DavhBs5B.js.map +1 -1
- package/dist/components/AppBar.cjs +1 -1
- package/dist/components/AppBar.js +1 -1
- package/dist/components/common.cjs +3 -3
- package/dist/components/common.js +3 -3
- package/dist/components/invitations.cjs +1 -1
- package/dist/components/invitations.js +1 -1
- package/dist/components/organizations.cjs +12 -301
- package/dist/components/organizations.cjs.map +1 -1
- package/dist/components/organizations.js +10 -299
- package/dist/components/organizations.js.map +1 -1
- package/dist/components/services.cjs +1 -1
- package/dist/components/services.js +1 -1
- package/dist/components.cjs +2 -2
- package/dist/components.js +2 -2
- package/dist/index.cjs +3 -3
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +3 -3
- package/dist/index.js.map +1 -1
- package/dist/layouts.cjs +1 -1
- package/dist/layouts.js +1 -1
- package/dist/pages/individuals.cjs +4 -4
- package/dist/pages/individuals.cjs.map +1 -1
- package/dist/pages/individuals.js +5 -5
- package/dist/pages/individuals.js.map +1 -1
- package/dist/pages/invitations.cjs +11 -12
- package/dist/pages/invitations.cjs.map +1 -1
- package/dist/pages/invitations.js +9 -10
- package/dist/pages/invitations.js.map +1 -1
- package/dist/pages/organizations.cjs +74 -75
- package/dist/pages/organizations.cjs.map +1 -1
- package/dist/pages/organizations.js +10 -11
- package/dist/pages/organizations.js.map +1 -1
- package/dist/pages/services.cjs +6 -6
- package/dist/pages/services.cjs.map +1 -1
- package/dist/pages/services.js +5 -5
- package/dist/pages/services.js.map +1 -1
- package/dist/pages.cjs +1 -1
- package/dist/pages.cjs.map +1 -1
- package/dist/pages.js +1 -1
- package/dist/pages.js.map +1 -1
- package/package.json +12 -9
- package/setup-tests.js +31 -0
- package/dist/chunks/ConsentProvider.DIG3atk-.js.map +0 -1
- package/dist/chunks/ConsentProvider.DTG51XMy.js.map +0 -1
- package/dist/chunks/CreateOrganization.A11-a_8R.js.map +0 -1
- package/dist/chunks/CreateOrganization.C2Kf44eJ.js.map +0 -1
- package/dist/chunks/CreateOrganization.utils.8cSBFSYF.js.map +0 -1
- package/dist/chunks/CreateOrganization.utils.C5C_r3Zp.js.map +0 -1
- package/dist/chunks/CustomAppBar.BfQvuTHz.js.map +0 -1
- package/dist/chunks/CustomAppBar.DuFQqld7.js.map +0 -1
- package/dist/chunks/LinkedInRegistrationInput.C-qzrR-S.js.map +0 -1
- package/dist/chunks/LinkedInRegistrationInput.DKRMHYRh.js.map +0 -1
- package/dist/chunks/Loading.DYBk0Ktb.js.map +0 -1
- package/dist/chunks/Loading.UJl_3_cf.js.map +0 -1
- package/dist/chunks/OrganisationSubmitButton.D32qynh9.js +0 -40
- package/dist/chunks/OrganisationSubmitButton.D32qynh9.js.map +0 -1
- package/dist/chunks/OrganisationSubmitButton.D3w1nG1X.js +0 -41
- package/dist/chunks/OrganisationSubmitButton.D3w1nG1X.js.map +0 -1
- package/dist/chunks/ServicesEdit.BUAbbXgV.js.map +0 -1
- package/dist/chunks/ServicesEdit.CrtEcP_7.js.map +0 -1
- package/dist/chunks/SetInvitationService.B0ezxTzf.js.map +0 -1
- package/dist/chunks/SetInvitationService.BUZqAilX.js.map +0 -1
- package/dist/chunks/index.Ch4ynES2.js.map +0 -1
- package/dist/chunks/index.Cpod3Il3.js.map +0 -1
- package/dist/chunks/index.DZOVpocw.js.map +0 -1
- package/dist/chunks/index.Dir1xwV4.js.map +0 -1
- package/dist/chunks/index.DlFajFTS.js.map +0 -1
- package/dist/chunks/index.DmM8ShwP.js.map +0 -1
- package/dist/chunks/index.ZAmuSdK1.js.map +0 -1
- package/jest.config.cjs +0 -29
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.Cpod3Il3.js","sources":["../../src/components/common/CustomImageInput/utils.jsx","../../src/components/common/CustomImageInput/ProfileLogo.jsx","../../src/components/common/CustomImageInput/Preview.jsx","../../src/components/common/CustomImageInput/Placeholder.jsx","../../src/components/common/CustomImageInput/index.jsx"],"sourcesContent":["export const toBase64 = (file) =>\n new Promise((resolve, reject) => {\n // eslint-disable-next-line no-undef\n const reader = new FileReader();\n reader.readAsArrayBuffer(file);\n // eslint-disable-next-line better-mutation/no-mutation\n reader.onload = () => resolve(reader.result);\n // eslint-disable-next-line better-mutation/no-mutation\n reader.onerror = reject;\n });\n\nexport const ERRORS = {\n minSize: 'PNG/JPG Logo is smaller than 300X300. Please select another file.',\n maxSize: 'PNG/JPG/SVG Logo is bigger than 400X400. Please select another file.',\n shape: `Image Does Not Meet Requirements. Please upload a different image.\\n\n Image height and width must be equal. Minimum 300×300, Maximum 400×400. Up to 500 kb.`,\n svgSize: '.SVG logo must be between 300x300 & 400x400. Please select another file.',\n weight: 'Logo file size is more than 500KB. Please select another file',\n format: 'File format is not supported. Please select a png, jpg or svg file.',\n failed: `There was an error processing the selected image.\\n\n Please review the image requirements and try again.`,\n default: 'Please try again',\n};\n\nexport const IMAGE_STATUS_REFETCH_INTERVAL = 5000;\n","import { Avatar, Button, Stack } from '@mui/material';\nimport PropTypes from 'prop-types';\nimport OrganizationAvatar from '../OrganizationAvatar.jsx';\n\nconst ProfileLogo = ({ changeMode, imgSrc }) => {\n const alt = 'logo';\n return (\n <Stack sx={sx.container}>\n <Stack alignItems=\"center\" justifyContent=\"center\" sx={sx.profileLogoContainer}>\n <Avatar alt={alt} src={imgSrc} variant=\"square\" sx={sx.profileLogo}>\n <OrganizationAvatar size={200} name={alt} logo=\"\" />\n </Avatar>\n </Stack>\n <Stack alignItems=\"center\" sx={sx.buttonContainer}>\n <Button variant=\"outlined\" color=\"primary\" sx={sx.button} onClick={() => changeMode(true)}>\n CHANGE IMAGE\n </Button>\n </Stack>\n </Stack>\n );\n};\n\nconst sx = {\n profileLogoContainer: { flex: 1 },\n profileLogo: {\n width: 'fit-content',\n height: 'auto',\n maxHeight: '200px',\n background: 'transparent',\n py: 2,\n '& .MuiAvatar-fallback': {\n width: '12rem',\n heigth: '12rem',\n },\n },\n container: {\n height: '100%',\n position: 'relative',\n '& .RaFileInput-dropZone': { height: '100%', background: 'transparent', p: 0 },\n '& .RaFileInput-removeButton': {\n position: 'absolute',\n top: 0,\n width: '100%',\n height: '100%',\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'space-around',\n alignItems: 'center',\n overflow: 'hidden',\n p: 1,\n '& button': {\n position: 'relative',\n opacity: 1,\n top: 'auto',\n right: 'auto',\n '&:first-of-type': {\n display: 'none',\n },\n },\n },\n '& .MuiFormHelperText-root': {\n position: 'absolute',\n bottom: '-2.5em',\n },\n },\n button: { width: '200px', px: 3, py: 1, mx: '1em', my: '1em', fontWeight: 600 },\n buttonContainer: { flexBasis: '35%', width: '100%' },\n};\n\n// eslint-disable-next-line better-mutation/no-mutation\nProfileLogo.propTypes = {\n changeMode: PropTypes.func,\n imgSrc: PropTypes.string,\n};\n\nexport default ProfileLogo;\n","import { useRef } from 'react';\nimport { Button } from '@mui/material';\nimport PropTypes from 'prop-types';\n\nconst Preview = ({\n imageSrc,\n errorMessage,\n imageShow,\n showLoader,\n setImageHeight,\n setImageWidth,\n resetImage,\n}) => {\n const imgRef = useRef(null);\n\n return (\n imageSrc && (\n <>\n <img\n src={imageSrc}\n alt=\"logo\"\n ref={imgRef}\n style={{\n ...sx.avatarPreview,\n ...{\n display: errorMessage ? 'none' : 'block',\n opacity: imageShow && !showLoader ? 1 : 0,\n },\n }}\n onLoad={() => {\n setImageHeight(imgRef.current.naturalHeight);\n setImageWidth(imgRef.current.naturalWidth);\n }}\n />\n {!showLoader && (\n <Button variant=\"outlined\" color=\"primary\" sx={sx.button} onClick={resetImage}>\n CHANGE IMAGE\n </Button>\n )}\n </>\n )\n );\n};\n\nconst sx = {\n avatarPreview: {\n zIndex: '-1',\n minHeight: '168px',\n p: '1em',\n },\n button: { width: '200px', px: 3, py: 1, mx: '1em', my: '1em', fontWeight: 600 },\n};\n\n// eslint-disable-next-line better-mutation/no-mutation\nPreview.propTypes = {\n imageSrc: PropTypes.string,\n errorMessage: PropTypes.string,\n imageShow: PropTypes.bool,\n showLoader: PropTypes.bool,\n setImageHeight: PropTypes.func,\n setImageWidth: PropTypes.func,\n resetImage: PropTypes.func,\n};\n\nexport default Preview;\n","import { Stack, Typography, Button, Divider } from '@mui/material';\nimport PropTypes from 'prop-types';\nimport SvgIcon from '@mui/material/SvgIcon';\nimport Loading from '../../Loading.jsx';\n\nconst AddImageIcon = (props) => (\n <SvgIcon {...props} width=\"63\" height=\"63\" viewBox=\"0 0 63 63\" fill=\"none\">\n <path\n // eslint-disable-next-line max-len\n d=\"M61.2375 16.3459C60.9664 16.0725 60.6438 15.8556 60.2884 15.7075C59.933 15.5594 59.5517 15.4832 59.1667 15.4832C58.7817 15.4832 58.4004 15.5594 58.045 15.7075C57.6896 15.8556 57.367 16.0725 57.0959 16.3459L53.3334 20.1376V3.83341C53.3334 3.05987 53.0261 2.318 52.4791 1.77102C51.9321 1.22404 51.1903 0.916748 50.4167 0.916748C49.6432 0.916748 48.9013 1.22404 48.3543 1.77102C47.8073 2.318 47.5 3.05987 47.5 3.83341V20.1376L43.7375 16.3459C43.1883 15.7967 42.4434 15.4881 41.6667 15.4881C40.89 15.4881 40.1451 15.7967 39.5959 16.3459C39.0467 16.8951 38.7381 17.64 38.7381 18.4167C38.7381 19.1935 39.0467 19.9384 39.5959 20.4876L48.3459 29.2376C48.6233 29.5031 48.9504 29.7113 49.3084 29.8501C49.6575 30.0044 50.035 30.0841 50.4167 30.0841C50.7984 30.0841 51.1759 30.0044 51.525 29.8501C51.8831 29.7113 52.2102 29.5031 52.4875 29.2376L61.2375 20.4876C61.5109 20.2164 61.7279 19.8939 61.876 19.5384C62.0241 19.183 62.1003 18.8018 62.1003 18.4167C62.1003 18.0317 62.0241 17.6505 61.876 17.2951C61.7279 16.9396 61.5109 16.6171 61.2375 16.3459V16.3459ZM50.4167 35.9167C49.6432 35.9167 48.9013 36.224 48.3543 36.771C47.8073 37.318 47.5 38.0599 47.5 38.8334V39.9417L43.1834 35.6251C41.6592 34.1129 39.5992 33.2644 37.4521 33.2644C35.3051 33.2644 33.2451 34.1129 31.7209 35.6251L29.6792 37.6668L22.4459 30.4334C20.9004 28.9623 18.8484 28.1417 16.7146 28.1417C14.5809 28.1417 12.5289 28.9623 10.9834 30.4334L6.66671 34.7501V18.4167C6.66671 17.6432 6.974 16.9013 7.52098 16.3544C8.06796 15.8074 8.80983 15.5001 9.58337 15.5001H32.9167C33.6903 15.5001 34.4321 15.1928 34.9791 14.6458C35.5261 14.0988 35.8334 13.357 35.8334 12.5834C35.8334 11.8099 35.5261 11.068 34.9791 10.521C34.4321 9.97404 33.6903 9.66675 32.9167 9.66675H9.58337C7.26273 9.66675 5.03713 10.5886 3.39619 12.2296C1.75525 13.8705 0.833374 16.0961 0.833374 18.4167V53.4167C0.833374 55.7374 1.75525 57.963 3.39619 59.6039C5.03713 61.2449 7.26273 62.1667 9.58337 62.1667H44.5834C46.904 62.1667 49.1296 61.2449 50.7706 59.6039C52.4115 57.963 53.3334 55.7374 53.3334 53.4167V38.8334C53.3334 38.0599 53.0261 37.318 52.4791 36.771C51.9321 36.224 51.1903 35.9167 50.4167 35.9167ZM9.58337 56.3334C8.80983 56.3334 8.06796 56.0261 7.52098 55.4791C6.974 54.9322 6.66671 54.1903 6.66671 53.4167V43.0043L15.125 34.5459C15.5535 34.1376 16.1227 33.9098 16.7146 33.9098C17.3065 33.9098 17.8757 34.1376 18.3042 34.5459L27.55 43.7917L40.0917 56.3334H9.58337ZM47.5 53.4167C47.4958 53.9751 47.3117 54.5172 46.975 54.9626L33.8209 41.7501L35.8625 39.7084C36.0716 39.495 36.3212 39.3255 36.5967 39.2097C36.8721 39.094 37.1679 39.0343 37.4667 39.0343C37.7655 39.0343 38.0613 39.094 38.3367 39.2097C38.6122 39.3255 38.8618 39.495 39.0709 39.7084L47.5 48.1959V53.4167Z\"\n />\n </SvgIcon>\n);\n\nconst DragAndDrop = ({ show }) =>\n show && (\n <>\n <Stack>\n <AddImageIcon sx={sx.icon} />\n </Stack>\n <Typography variant=\"h5\">Drag & Drop logo (png, jpg, svg)</Typography>\n <Typography variant=\"caption\" sx={sx.caption}>\n Image height and width must be equal. Minimum 300×300, Maximum 400×400. Up to 500 kb.\n </Typography>\n </>\n );\n\nconst Processing = ({ show }) =>\n show && (\n <>\n <Loading size={75} color=\"info\" />\n <Typography variant=\"h5\" mt={4}>\n Processing...\n </Typography>\n </>\n );\n\nconst PlaceHolder = ({ isDropAccepted, isLoading, errorMessage, orientation, style }) => {\n return (\n <Stack alignItems=\"center\" justifyContent=\"end\" py={2} sx={[sx.placeHolderContainer, style]}>\n <Stack sx={sx.placeHolder} alignItems=\"center\" justifyContent=\"end\">\n <DragAndDrop show={!isDropAccepted} />\n <Processing show={isLoading} />\n </Stack>\n {!isDropAccepted && (\n <Stack sx={sx.dividerContainer}>\n <Divider\n flexItemsx\n sx={[\n sx.divider,\n {\n '&::before, &::after': {\n ...(orientation === 'horizontal'\n ? { borderTop: 'thin solid' }\n : { borderLeft: 'thin solid' }),\n },\n },\n ]}\n variant=\"fullWidth\"\n orientation={orientation}\n >\n or\n </Divider>\n </Stack>\n )}\n <Stack sx={{ flexBasis: isDropAccepted ? '15%' : '30%' }} alignItems=\"center\">\n {!isDropAccepted && (\n <Button variant=\"outlined\" color=\"primary\" sx={sx.button}>\n BROWSE IMAGE\n </Button>\n )}\n {errorMessage && (\n <Stack mt={-1}>\n <Typography variant=\"caption\" display=\"block\" sx={sx.errorMessage}>\n {errorMessage}\n </Typography>\n </Stack>\n )}\n </Stack>\n </Stack>\n );\n};\n\nconst sx = {\n errorMessage: {\n fontSize: '10px',\n color: 'primary.main',\n wordBreak: 'break-word',\n whiteSpace: 'pre-line',\n lineHeight: '0.75',\n },\n button: { width: '200px', px: 3, py: 1, mx: '1em', my: '1em', fontWeight: 600 },\n icon: {\n fontSize: '4rem',\n color: 'info.main',\n my: 2,\n },\n caption: {\n fontSize: '10px',\n lineHeight: '12px',\n py: 1,\n color: 'text.secondary',\n },\n placeHolderContainer: { height: '100%' },\n placeHolder: { flex: 1, width: '100%', px: '1em' },\n dividerContainer: {\n alignSelf: 'stretch',\n justifyContent: 'center',\n flexDirection: 'row',\n },\n divider: {\n alignItems: 'center',\n justifyContent: 'flex-start',\n flexBasis: '100%',\n height: '100%',\n '&::before, &::after': {\n borderColor: 'info.main',\n },\n },\n};\n\n// eslint-disable-next-line better-mutation/no-mutation\nDragAndDrop.propTypes = {\n show: PropTypes.bool,\n};\n\n// eslint-disable-next-line better-mutation/no-mutation\nProcessing.propTypes = {\n show: PropTypes.bool,\n};\n\n// eslint-disable-next-line better-mutation/no-mutation\nPlaceHolder.propTypes = {\n isDropAccepted: PropTypes.bool,\n isLoading: PropTypes.bool,\n errorMessage: PropTypes.string,\n orientation: PropTypes.string,\n // eslint-disable-next-line react/forbid-prop-types\n style: PropTypes.object,\n};\n\nexport default PlaceHolder;\n","/* eslint-disable complexity */\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 */\nimport { useCallback, useEffect, useState, useMemo } from 'react';\nimport PropTypes from 'prop-types';\nimport { ImageInput, useDataProvider, required, useStore } from 'react-admin';\n// eslint-disable-next-line import/no-extraneous-dependencies\nimport { useFormContext } from 'react-hook-form';\nimport { dataResources } from '../../../utils/remoteDataProvider';\nimport theme from '../../../theme/theme';\nimport { toBase64, ERRORS, IMAGE_STATUS_REFETCH_INTERVAL } from './utils.jsx';\nimport ProfileLogo from './ProfileLogo.jsx';\nimport Preview from './Preview.jsx';\nimport PlaceHolder from './Placeholder.jsx';\n\nconst CustomImageInput = ({\n label = '',\n editMode,\n addTo,\n style,\n labelText = 'Logo',\n isRequired = true,\n orientation = 'horizontal',\n onChange,\n imgSrc,\n}) => {\n const form = useFormContext();\n const dataProvider = useDataProvider();\n\n const [errorMessage, setErrorMessage] = useState('');\n const [isDropInFocus, setIsDropInFocus] = useState(false);\n const [isDropAccepted, setIsDropAccepted] = useState(false);\n const [isImageLoading, setIsImageLoading] = useState(false);\n const [imageSrc, setImageSrc] = useState(null);\n const [acceptedFile, setAcceptedFile] = useState(null);\n const [isEditMode, setIsEditMode] = useState(editMode);\n const [imageHeight, setImageHeight] = useState(null);\n const [imageWidth, setImageWidth] = useState(null);\n const [isSVG, setIsSVG] = useState(null);\n const [imageExtension, setImageExtension] = useState(null);\n const [imageShow, setImageShow] = useState(false);\n const [imageMetadata, setImageMetadata] = useState(null);\n const [timerIdUploadStatus, setTimerIdUploadStatus] = useStore('timerId', null);\n const showLoader = useMemo(() => {\n return (\n isDropAccepted &&\n (isImageLoading || !imageSrc || (imageMetadata && imageMetadata.state !== 'upload_done'))\n );\n }, [isDropAccepted, isImageLoading, imageSrc, imageMetadata]);\n\n const handleSetupImageUpload = useCallback(\n async (image, extension) => {\n const file = await toBase64(image);\n const { data } = await dataProvider.create(dataResources.SETUP_IMAGE_UPLOAD, {\n data: { extension: extension.startsWith('svg') ? 'svg' : extension },\n });\n if (addTo) {\n const formValue = form.getValues(addTo);\n form.setValue(addTo, { ...formValue, ...{ logo: data.imageMetadata.url } });\n } else {\n form.setValue('logo', data.imageMetadata.url);\n }\n await dataProvider.create(dataResources.IMAGE_UPLOAD, {\n data: { file },\n meta: { url: data.imageMetadata.uploadUrl, contentType: extension },\n });\n setImageMetadata(data.imageMetadata);\n },\n [addTo, dataProvider, form],\n );\n\n const handleDropAccepted = useCallback(\n async (acceptedFiles) => {\n setImageHeight(null);\n setImageWidth(null);\n setImageShow(false);\n setIsDropInFocus(false);\n setIsDropAccepted(true);\n setErrorMessage('');\n clearInterval(timerIdUploadStatus);\n const extension = acceptedFiles[0].type.split('/')[1];\n setIsSVG(extension.startsWith('svg'));\n setImageExtension(extension);\n setImageSrc(URL.createObjectURL(acceptedFiles[0]));\n setAcceptedFile(acceptedFiles[0]);\n\n if (onChange) {\n onChange();\n }\n },\n [onChange, timerIdUploadStatus],\n );\n\n const handleDropRejected = useCallback((fileRejections) => {\n setIsDropInFocus(false);\n switch (fileRejections[0].errors[0].code) {\n case 'file-too-large':\n setErrorMessage(ERRORS.weight);\n break;\n case 'file-invalid-type':\n setErrorMessage(ERRORS.format);\n break;\n default:\n setErrorMessage(ERRORS.default);\n }\n }, []);\n\n const resetImage = useCallback(() => {\n setIsEditMode(true);\n setImageSrc(null);\n setIsDropAccepted(false);\n setIsImageLoading(false);\n setImageMetadata(null);\n clearInterval(timerIdUploadStatus);\n setTimerIdUploadStatus(null);\n setAcceptedFile(null);\n }, [setTimerIdUploadStatus, timerIdUploadStatus]);\n\n const updateImageUploadStatus = useCallback(\n async (url, timer) => {\n const results = await dataProvider.getOne(dataResources.IMAGE_UPLOAD, {\n id: url,\n });\n const resetInterval = () => {\n setIsImageLoading(false);\n clearInterval(timer);\n setTimerIdUploadStatus(null);\n };\n\n setImageMetadata(results.data);\n if (results.data?.uploadSucceeded) {\n resetInterval();\n }\n if (results.data?.state === 'error') {\n setErrorMessage(ERRORS.failed);\n resetInterval();\n }\n },\n [dataProvider, setTimerIdUploadStatus],\n );\n\n // Size and shape validation\n useEffect(() => {\n if (imageHeight && imageWidth) {\n if (imageHeight < 300 || imageWidth < 300) {\n setErrorMessage(isSVG ? ERRORS.svgSize : ERRORS.minSize);\n } else if (imageHeight > 400 || imageWidth > 400) {\n setErrorMessage(ERRORS.maxSize);\n } else if (imageHeight !== imageWidth) {\n setErrorMessage(ERRORS.shape);\n } else {\n setImageShow(true);\n }\n }\n }, [imageHeight, imageWidth, isSVG]);\n\n // Upload valid image\n useEffect(() => {\n if (acceptedFile && !errorMessage && imageShow && imageExtension && !imageMetadata) {\n handleSetupImageUpload(acceptedFile, imageExtension);\n }\n }, [\n acceptedFile,\n errorMessage,\n handleSetupImageUpload,\n imageExtension,\n imageMetadata,\n imageShow,\n ]);\n\n useEffect(() => {\n if (isEditMode) {\n setTimerIdUploadStatus(null);\n }\n }, [isEditMode, setTimerIdUploadStatus]);\n\n useEffect(() => {\n if (errorMessage) {\n setIsDropAccepted(false);\n setImageSrc(null);\n setIsImageLoading(false);\n clearInterval(timerIdUploadStatus);\n }\n }, [errorMessage, timerIdUploadStatus]);\n\n useEffect(() => {\n if (\n imageMetadata?.state === 'pending_upload' &&\n imageMetadata?.url &&\n !timerIdUploadStatus &&\n !errorMessage\n ) {\n setIsImageLoading(true);\n // eslint-disable-next-line better-mutation/no-mutation\n const timer = setInterval(\n () => updateImageUploadStatus(imageMetadata.url, timer),\n IMAGE_STATUS_REFETCH_INTERVAL,\n );\n setTimerIdUploadStatus(timer);\n }\n }, [\n errorMessage,\n imageMetadata,\n setTimerIdUploadStatus,\n timerIdUploadStatus,\n updateImageUploadStatus,\n ]);\n\n return (\n <fieldset style={sx.fieldset}>\n <legend style={!labelText ? { padding: 0 } : {}}>{`${labelText}${\n isRequired ? ' *' : ''\n }`}</legend>\n {isEditMode ? (\n <ImageInput\n source={addTo ? `${addTo}.logo` : 'logo'}\n fullWidth\n label={label}\n accept={{ 'image/*': ['.png', '.jpg', '.jpeg', '.svg'] }}\n placeholder={\n <PlaceHolder\n isLoading={showLoader}\n isDropAccepted={isDropAccepted}\n errorMessage={errorMessage}\n orientation={orientation}\n style={style}\n />\n }\n sx={[\n sx.container,\n { borderColor: isDropInFocus ? 'primary.main' : 'info.main' },\n { '& .RaFileInput-removeButton': { zIndex: imageSrc ? '1' : '-1' } },\n ]}\n maxSize={500000}\n validate={[isRequired && required(`${labelText}* is required`)]}\n options={{\n onDrop: () => setIsImageLoading(true),\n onDropRejected: handleDropRejected,\n onDropAccepted: handleDropAccepted,\n onDragOver: () => setIsDropInFocus(true),\n onDragLeave: () => setIsDropInFocus(false),\n }}\n helperText={false}\n >\n <Preview\n imageSrc={imageSrc}\n errorMessage={errorMessage}\n imageShow={imageShow}\n showLoader={showLoader}\n setImageHeight={setImageHeight}\n setImageWidth={setImageWidth}\n resetImage={resetImage}\n />\n </ImageInput>\n ) : (\n <ProfileLogo changeMode={setIsEditMode} imgSrc={imgSrc} />\n )}\n </fieldset>\n );\n};\n\nexport default CustomImageInput;\n\n// eslint-disable-next-line better-mutation/no-mutation\nCustomImageInput.propTypes = {\n label: PropTypes.oneOfType([PropTypes.bool, PropTypes.string]),\n editMode: PropTypes.bool,\n addTo: PropTypes.string || PropTypes.undefined,\n style: PropTypes.object || PropTypes.undefined,\n labelText: PropTypes.string,\n isRequired: PropTypes.bool,\n orientation: PropTypes.oneOf(['vertical', 'horizontal']),\n onChange: PropTypes.func,\n imgSrc: PropTypes.string,\n};\n\nconst sx = {\n fieldset: {\n borderRadius: '6px',\n height: '100%',\n border: '1px solid',\n borderColor: theme.palette.info.main,\n color: theme.palette.text.secondary,\n marginTop: '-12px',\n fontSize: '0.75rem',\n width: '100%',\n },\n container: {\n height: '100%',\n position: 'relative',\n '& .RaFileInput-dropZone': { height: '100%', background: 'transparent', p: 0 },\n '& .RaFileInput-removeButton': {\n position: 'absolute',\n top: 0,\n width: '100%',\n height: '100%',\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'space-around',\n alignItems: 'center',\n overflow: 'hidden',\n p: 1,\n '& button': {\n position: 'relative',\n opacity: 1,\n top: 'auto',\n right: 'auto',\n '&:first-of-type': {\n display: 'none',\n },\n },\n },\n '& .MuiFormHelperText-root': {\n position: 'absolute',\n bottom: '-2.5em',\n },\n },\n};\n"],"names":["sx"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.DZOVpocw.js","sources":["../../src/pages/services/utils/isAddButtonDisabled.js","../../src/components/common/Autocomplete.jsx","../../src/pages/services/components/ServiceEndpointSelection/index.jsx","../../src/pages/services/components/ServiceTypeSelection/index.jsx"],"sourcesContent":["export const isAddButtonDisabled = (\n inProgress,\n isIssueOrInspection,\n selectedCAO,\n serviceEndpoint,\n) => {\n return (\n !(\n (isIssueOrInspection && serviceEndpoint && selectedCAO) ||\n (!isIssueOrInspection && serviceEndpoint)\n ) || inProgress\n );\n};\n","import { useEffect, useCallback, useMemo, forwardRef } from 'react';\nimport { AutocompleteInput, useInput } from 'react-admin';\nimport PropTypes from 'prop-types';\n\n// eslint-disable-next-line prefer-arrow-functions/prefer-arrow-functions\nconst Autocomplete = forwardRef(function Autocomplete(\n {\n label,\n value: defaultValue,\n onChange,\n disabled,\n items,\n stringValue: format,\n inputText,\n styles,\n source = '',\n parse = (value) => value,\n },\n ref,\n) {\n const {\n field,\n fieldState: { error },\n } = useInput({ source, defaultValue, onChange, parse });\n\n const sortedItems = useMemo(() => {\n return items\n ? [...items].sort((a, b) => {\n return (a.name || '').localeCompare(b.name || '');\n })\n : [];\n }, [items]);\n\n const defaultInputText = useCallback(\n (choice) => {\n const formatted = format(choice);\n if (typeof formatted === 'string') {\n return formatted;\n }\n return formatted && formatted.props && formatted.props.children\n ? formatted.props.children.toString()\n : '';\n },\n [format],\n );\n\n useEffect(() => {\n if (sortedItems?.length === 1) {\n field.onChange(sortedItems[0]);\n }\n }, [sortedItems, field]);\n\n return (\n <AutocompleteInput\n {...field}\n ref={ref}\n label={label}\n choices={sortedItems || []}\n optionText={format}\n inputText={inputText || defaultInputText}\n optionValue=\"id\"\n disabled={disabled || (items && items.length === 1)}\n sx={styles}\n error={!!error}\n helperText={error ? error.message : ''}\n fullWidth\n />\n );\n});\n\n// eslint-disable-next-line better-mutation/no-mutation\nAutocomplete.propTypes = {\n label: PropTypes.string.isRequired,\n // eslint-disable-next-line react/forbid-prop-types\n value: PropTypes.any,\n onChange: PropTypes.func,\n disabled: PropTypes.bool,\n // eslint-disable-next-line react/forbid-prop-types\n items: PropTypes.array,\n stringValue: PropTypes.func,\n inputText: PropTypes.func,\n // eslint-disable-next-line react/forbid-prop-types\n styles: PropTypes.object,\n source: PropTypes.string,\n // eslint-disable-next-line react/forbid-prop-types\n defaultValue: PropTypes.any,\n parse: PropTypes.func,\n};\n\nexport default Autocomplete;\n","import { useState, useMemo } from 'react';\nimport { Box, Button, Stack, Typography, Tooltip, Link } from '@mui/material';\nimport KeyboardArrowLeftIcon from '@mui/icons-material/KeyboardArrowLeft';\nimport { Form, FormDataConsumer, SaveButton, TextInput, required } from 'react-admin';\nimport InfoIcon from '@mui/icons-material/Info';\n\nimport PropTypes from 'prop-types';\nimport CustomDropDown from '@/components/common/CustomDropDown.jsx';\nimport Autocomplete from '@/components/common/Autocomplete.jsx';\nimport OrganizationAvatar from '@/components/common/OrganizationAvatar.jsx';\nimport { validateServiceEndpoint } from '@/components/organizations/CreateOrganization.utils';\nimport { chainNames } from '@/utils/chainNames';\nimport { useConfig } from '@/utils/ConfigContext';\n\nimport { getTitle, isAddButtonDisabled } from '../../utils';\n\nconst selectedStep = 2;\n\n// eslint-disable-next-line prefer-arrow-functions/prefer-arrow-functions\nexport const ServiceEndpointSelection = ({\n credentialAgentOperators,\n isIssueOrInspection,\n inProgress,\n onCreate,\n handleBack,\n}) => {\n const config = useConfig();\n const [selectedCAO, setSelectedCAO] = useState('');\n const [selectedServiceId, setSelectedServiceId] = useState('');\n const getOptionAsText = (item) => item.name;\n\n const CAO = useMemo(() => {\n if (selectedCAO) {\n return credentialAgentOperators.find((item) => item.id === selectedCAO);\n }\n return '';\n }, [credentialAgentOperators, selectedCAO]);\n\n return (\n <>\n <Typography variant=\"pm\" sx={styles.step}>\n Step 2/2\n </Typography>\n <Typography sx={styles.title} mb={2}>\n {getTitle(selectedStep)}\n </Typography>\n <Typography>Please complete the details below to continue</Typography>\n <Form onSubmit={onCreate} mode=\"onChange\" defaultValues={{ serviceEndpoint: '' }}>\n <Stack sx={styles.endpointForm}>\n {isIssueOrInspection ? (\n <Stack sx={{ mt: 2 }}>\n <Stack flexDirection=\"row\" alignItems=\"center\" sx={styles.selectCAOContainer}>\n <Autocomplete\n source=\"serviceCAO\"\n label=\"Select Credential Agent Operator\"\n value={selectedCAO}\n onChange={setSelectedCAO}\n items={credentialAgentOperators}\n /* eslint-disable-next-line react/no-unstable-nested-components */\n stringValue={(item) => (\n <Box sx={styles.menuItemLogo} component=\"div\">\n <span>{item.name}</span>\n <OrganizationAvatar size={32} name={item.name} logo={item.logo} />\n </Box>\n )}\n inputText={getOptionAsText}\n disabled={false}\n styles={styles.selectCAO}\n />\n <Box sx={{ ml: 2 }}>\n <Tooltip title=\"The Credential Agent Operator your organization will use to integrate with Velocity Network™\">\n <InfoIcon color=\"info\" fontSize=\"small\" cursor=\"pointer\" />\n </Tooltip>\n </Box>\n </Stack>\n <Stack flexDirection=\"row\" alignItems=\"center\" mt={1} mb={4}>\n <CustomDropDown\n label='Select \"Service ID\"'\n value={selectedServiceId}\n onChange={setSelectedServiceId}\n items={CAO.service || []}\n stringValue={(item) => `${item.id} (${item.serviceEndpoint})`}\n disabled={!selectedCAO}\n source=\"serviceEndpoint\"\n parse={(value) => `${selectedCAO}${value.id}`}\n />\n <Box sx={{ ml: 2 }}>\n <Tooltip\n title=\"The agent's service ID your organization needs to use. \n If there are multiple service IDs available, please contact your Credential Agent Operator to know which one to select.\"\n >\n <InfoIcon color=\"info\" fontSize=\"small\" cursor=\"pointer\" />\n </Tooltip>\n </Box>\n </Stack>\n </Stack>\n ) : (\n <TextInput\n source=\"serviceEndpoint\"\n label=\"Service endpoint URL\"\n validate={[\n required('Service endpoint URL field is required'),\n ...validateServiceEndpoint,\n ]}\n parse={(value) => value?.trim() ?? ''}\n disabled={inProgress}\n />\n )}\n {config.chainName !== chainNames.testnet && (\n <Typography variant=\"subtitle1\" sx={{ marginTop: '10px' }}>\n <span>By clicking Add, you agree to our </span>\n <Link\n target=\"_blank\"\n href=\"https://www.velocitynetwork.foundation/main2/participation-agreements\"\n >\n Participant Agreement\n </Link>\n </Typography>\n )}\n <Box sx={styles.buttonBlock}>\n <Button\n variant=\"outlined\"\n sx={[styles.button, styles.backButton]}\n onClick={handleBack}\n startIcon={<KeyboardArrowLeftIcon />}\n disabled={inProgress}\n >\n Back\n </Button>\n <FormDataConsumer>\n {({ formData }) => {\n const isDisabled = isAddButtonDisabled(\n inProgress,\n isIssueOrInspection,\n formData.serviceCAO,\n formData.serviceEndpoint,\n );\n\n return (\n <SaveButton\n variant=\"outlined\"\n alwaysEnable={false}\n disabled={isDisabled}\n icon={null}\n label=\"Add\"\n sx={[styles.button, styles.saveButton, isDisabled && styles.saveButtonDisabled]}\n />\n );\n }}\n </FormDataConsumer>\n </Box>\n </Stack>\n </Form>\n </>\n );\n};\n\nconst styles = {\n step: { color: (theme) => theme.palette.primary.main, pb: '20px', display: 'block' },\n title: {\n fontSize: '32px',\n fontWeight: '600',\n lineHeight: '38px',\n },\n endpointForm: {\n marginTop: '20px',\n },\n selectCAOContainer: {\n width: '100%',\n marginBottom: '20px',\n },\n selectCAO: {\n width: '100%',\n '& .MuiInputBase-root': {\n width: '100%',\n },\n '& .MuiSelect-select': {\n display: 'flex',\n justifyContent: 'space-between',\n alignItems: 'center',\n py: 0,\n },\n '& .MuiFormHelperText-root': {\n display: 'none',\n },\n },\n menuItemLogo: {\n display: 'flex',\n flex: '1',\n justifyContent: 'space-between',\n alignItems: 'center',\n },\n buttonBlock: {\n display: 'flex',\n marginTop: '40px',\n justifyContent: 'center',\n },\n button: { px: 4, py: 1, fontSize: '16px', width: '160px' },\n backButton: {\n marginRight: '20px',\n borderColor: 'secondary.light',\n color: 'text.primary',\n },\n saveButton: {\n display: 'flex',\n flexDirection: 'row-reverse',\n gap: '10px',\n '&:disabled': {\n color: 'primary.main',\n borderColor: 'primary.main',\n },\n },\n saveButtonDisabled: {\n '&:disabled': {\n color: 'text.disabled',\n borderColor: 'secondary.light',\n },\n },\n};\n// eslint-disable-next-line better-mutation/no-mutation\nServiceEndpointSelection.propTypes = {\n credentialAgentOperators: PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.string.isRequired,\n name: PropTypes.string.isRequired,\n logo: PropTypes.string,\n service: PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.string.isRequired,\n serviceEndpoint: PropTypes.string.isRequired,\n }),\n ),\n }),\n ).isRequired,\n isIssueOrInspection: PropTypes.bool.isRequired,\n inProgress: PropTypes.bool.isRequired,\n onCreate: PropTypes.func.isRequired,\n handleBack: PropTypes.func.isRequired,\n};\n\nexport default ServiceEndpointSelection;\n","import { Box, Button, Typography } from '@mui/material';\nimport KeyboardArrowRightIcon from '@mui/icons-material/KeyboardArrowRight';\nimport { Form } from 'react-admin';\nimport PropTypes from 'prop-types';\nimport Loading from '@/components/Loading.jsx';\nimport CustomDropDown from '@/components/common/CustomDropDown.jsx';\nimport serviceTypes from '@/utils/serviceTypes';\n\nimport { getTitle } from '../../utils';\n\nconst selectedStep = 1;\n\nexport const ServiceTypeSelection = ({\n handleNext,\n isLoading,\n selectedServiceType,\n setSelectedServiceType,\n onDoLater,\n}) => {\n return (\n <>\n <Typography variant=\"pm\" sx={styles.step}>\n Step 1/2\n </Typography>\n <Typography variant=\"h1\" mb={2}>\n {getTitle(selectedStep)}\n </Typography>\n <Typography mb={4}>Select the type of service you wish to add.</Typography>\n <Form record={{}}>\n <CustomDropDown\n source=\"selectedServiceType\"\n label=\"Select type of service\"\n value={selectedServiceType}\n onChange={setSelectedServiceType}\n items={serviceTypes}\n stringValue={(item) => item.title}\n parse={(value) => value.id}\n disabled={false}\n />\n <Box sx={[styles.buttonBlock, !onDoLater && styles.rightButton]}>\n {onDoLater && (\n <Button sx={[styles.button]} variant=\"outlined\" color=\"secondary\" onClick={onDoLater}>\n Do Later\n </Button>\n )}\n <Button\n disabled={!selectedServiceType || isLoading}\n variant=\"outlined\"\n sx={[styles.button]}\n endIcon={\n selectedServiceType && isLoading ? (\n <Loading color=\"error\" sx={styles.loader} size={26} />\n ) : (\n <KeyboardArrowRightIcon />\n )\n }\n onClick={handleNext}\n >\n Next\n </Button>\n </Box>\n </Form>\n </>\n );\n};\n\nconst styles = {\n buttonBlock: {\n display: 'flex',\n marginTop: '40px',\n justifyContent: 'center',\n alignItems: 'center',\n gap: '30px',\n },\n rightButton: {\n justifyContent: 'flex-end',\n },\n step: { color: (theme) => theme.palette.primary.main, pb: '20px', display: 'block' },\n button: { px: 4, py: 1, fontSize: '16px', width: '160px' },\n};\n// eslint-disable-next-line better-mutation/no-mutation\nServiceTypeSelection.propTypes = {\n handleNext: PropTypes.func.isRequired,\n isLoading: PropTypes.bool,\n selectedServiceType: PropTypes.oneOfType([PropTypes.object, PropTypes.string, PropTypes.number]),\n setSelectedServiceType: PropTypes.func.isRequired,\n onDoLater: PropTypes.func,\n};\n\n// eslint-disable-next-line better-mutation/no-mutation\nServiceTypeSelection.defaultProps = {\n isLoading: false,\n selectedServiceType: null,\n onDoLater: null,\n};\n\nexport default ServiceTypeSelection;\n"],"names":["forwardRef","Autocomplete","styles","useInput","useMemo","useCallback","useEffect","jsx","AutocompleteInput","selectedStep","useConfig","useState","jsxs","Fragment","Typography","getTitle","Form","Stack","Box","OrganizationAvatar","Tooltip","CustomDropDown","TextInput","required","validateServiceEndpoint","chainNames","Link","Button","FormDataConsumer","SaveButton","serviceTypes","Loading"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.Dir1xwV4.js","sources":["../../src/pages/services/components/SecretKeysPopup/WarningSecretKeysPopup/index.jsx","../../src/utils/downloadTxtAsFile.js","../../src/pages/services/hooks/useKeyDownload.js","../../src/pages/services/utils/formatSecrets.js","../../src/pages/services/utils/getTitle.js","../../src/pages/services/components/SecretKeysPopup/ServiceSecretKeys/index.jsx","../../src/pages/services/components/SecretKeysPopup/index.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 { Box, Typography, Button, useTheme } from '@mui/material';\nimport DownloadIcon from '@mui/icons-material/Download';\nimport InfoIcon from '@mui/icons-material/Info';\nimport PropTypes from 'prop-types';\n\nimport Popup from '@/components/common/Popup.jsx';\nimport Loading from '@/components/Loading.jsx';\n\nconst titleDefault =\n 'Wait! Before you close this window, please make sure you have saved a copy of your keys';\nconst subTitleDefault =\n // eslint-disable-next-line max-len\n 'Your organization’s unique keys are critical for managing your organization’s data on Velocity Network™. This information will not be available once you close this window.';\nconst buttonLabelDefault = 'Download keys';\n\nconst WarningSecretKeysPopup = ({\n isModalOpened,\n onClose,\n title = titleDefault,\n subTitle = subTitleDefault,\n buttonLabel = buttonLabelDefault,\n isLoading = false,\n onClick,\n}) => {\n const theme = useTheme();\n\n return (\n <Popup\n onClose={onClose}\n title=\"\"\n isOpen={isModalOpened}\n mainContainerStyles={styles.mainContainer}\n isBackBoxVisible\n backBoxColor={theme.palette.warning.main}\n disableCloseButton={isLoading}\n >\n <InfoIcon color=\"warning\" sx={styles.icon} />\n <Typography sx={styles.title}>{title}</Typography>\n <Typography textAlign=\"center\">{subTitle}</Typography>\n\n <Box sx={styles.buttonBlock}>\n <Button\n variant=\"outlined\"\n endIcon={\n isLoading ? <Loading color=\"error\" sx={styles.loader} size={26} /> : <DownloadIcon />\n }\n disabled={isLoading}\n sx={styles.button}\n onClick={onClick}\n >\n {buttonLabel}\n </Button>\n </Box>\n </Popup>\n );\n};\n\nconst styles = {\n mainContainer: {\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n pt: '19px',\n },\n title: {\n fontWeight: 600,\n fontSize: '32px',\n lineHeight: '39px',\n textAlign: 'center',\n mb: '32px',\n mt: '35px',\n },\n button: { px: 4, py: 1, fontSize: '16px' },\n buttonBlock: {\n marginTop: '52px',\n },\n icon: { width: '50px', height: '50px' },\n loader: { pl: '10px' },\n};\n\n// eslint-disable-next-line better-mutation/no-mutation\nWarningSecretKeysPopup.propTypes = {\n isModalOpened: PropTypes.bool,\n // eslint-disable-next-line react/forbid-prop-types\n onClose: PropTypes.func,\n title: PropTypes.string,\n subTitle: PropTypes.string,\n buttonLabel: PropTypes.string,\n isLoading: PropTypes.bool,\n onClick: PropTypes.func,\n};\n\nexport default WarningSecretKeysPopup;\n","/* eslint-disable better-mutation/no-mutation */\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 */\nconst download = (fileName, onLoading, onError, onClick, callback) => {\n // eslint-disable-next-line no-undef\n const request = new XMLHttpRequest();\n request.responseType = 'blob';\n request.open('GET', fileName);\n\n request.addEventListener('load', () => {\n callback();\n });\n request.onloadstart = () => {\n onClick(true);\n onLoading(true);\n };\n request.onloadend = () => {\n onLoading(false);\n };\n request.onerror = () => {\n onError(true);\n };\n request.onabort = () => {\n onError(true);\n };\n\n request.send();\n};\n/* eslint-disable better-mutation/no-mutation */\nconst downloadTxtAsFile = (text, name) => {\n // eslint-disable-next-line no-undef\n const a = document.createElement('a');\n const file = new Blob([text], { type: 'application/json' });\n\n a.href = URL.createObjectURL(file);\n a.download = name;\n a.click();\n a.remove();\n};\n\nexport default (fileName, text, onLoading, onError, onClick) => {\n download(fileName, onLoading, onError, onClick, () => {\n downloadTxtAsFile(text, fileName);\n });\n};\n","import { useState, useCallback } from 'react';\nimport downloadTxtAsFile from '@/utils/downloadTxtAsFile';\nimport { copyTextToClipboard, objectToString } from '@/utils/index.jsx';\n\nexport const useKeyDownload = () => {\n const [isDownloaded, setIsDownloaded] = useState(false);\n const [isLoadingKeys, setIsLoadingKeys] = useState(false);\n const [isLoadingKeysError, setIsLoadingKeysError] = useState(false);\n const [isCopied, setIsCopied] = useState(false);\n\n const onCopy = useCallback((secretKeys) => {\n copyTextToClipboard(objectToString(secretKeys), (error) => {\n setIsCopied(!error);\n });\n }, []);\n\n const onDownload = useCallback((secretKeys) => {\n setIsLoadingKeys(true);\n const keys = objectToString(secretKeys);\n downloadTxtAsFile(\n 'keys.json',\n keys,\n (isLoading) => setIsLoadingKeys(isLoading),\n (isError) => setIsLoadingKeysError(isError),\n (isClicked) => setIsDownloaded(isClicked),\n );\n }, []);\n\n return { isDownloaded, isLoadingKeys, isLoadingKeysError, isCopied, onDownload, onCopy };\n};\n\nexport default useKeyDownload;\n","export const formatSecrets = (secretKeys) => {\n return secretKeys\n ? [\n ...(secretKeys.keys\n ? secretKeys.keys.map((item) => ({\n ...item,\n id: item.didDocumentKey.id.replace('#', ''),\n }))\n : []),\n ...(secretKeys.authClients\n ? secretKeys.authClients.reduce(\n (acc, { clientId, clientSecret }) => [\n ...acc,\n { id: 'Client Id', key: clientId },\n { id: 'Client Secret', key: clientSecret },\n ],\n [],\n )\n : []),\n ]\n : [];\n};\n","export const getTitle = (step) => {\n switch (step) {\n case 2:\n return \"You're one step away from setting up your new service on Velocity Network™\";\n case 3:\n return 'Set a Secure Messages URL';\n case 4:\n return 'Congratulations!';\n default:\n return 'Select type of service to add';\n }\n};\n","import { useMemo } from 'react';\nimport { Box, Button, Typography } from '@mui/material';\nimport Grid from '@mui/material/Grid2';\nimport InfoIcon from '@mui/icons-material/Info';\nimport DownloadIcon from '@mui/icons-material/Download';\nimport { Form } from 'react-admin';\nimport PropTypes from 'prop-types';\n\nimport { getTitle, formatSecrets } from '@/pages/services/utils';\n\nconst selectedStep = 4;\n\nexport const ServiceSecretKeys = ({\n secretKeys,\n subtitle,\n description,\n onDownload,\n onCopy,\n isCopied,\n}) => {\n const formattedKeys = useMemo(() => formatSecrets(secretKeys), [secretKeys]);\n\n return (\n <>\n <Typography sx={styles.title} mb={2}>\n {getTitle(selectedStep)}\n </Typography>\n <Typography sx={styles.subtitle}>{subtitle}</Typography>\n <Typography>{description}</Typography>\n <Form>\n {formattedKeys.map((item) => (\n <Grid container spacing={2} columns={14} key={item.id} sx={styles.keysBlock}>\n <Key label={item.id} />\n <Value value={item.key} />\n </Grid>\n ))}\n <Box sx={styles.doNotDisclosureBlock}>\n <InfoIcon />\n <Typography marginLeft=\"20px\">\n Do not disclose these keys to unauthorized persons or transmit via unsecured channels.\n </Typography>\n </Box>\n\n <Box sx={styles.buttonsBlock}>\n <Button\n variant=\"outlined\"\n color=\"secondary\"\n sx={[styles.button, { marginRight: '30px' }]}\n onClick={() => onCopy(secretKeys)}\n >\n {isCopied ? 'Copied' : 'Copy'}\n </Button>\n <Button\n variant=\"outlined\"\n endIcon={<DownloadIcon />}\n sx={styles.button}\n onClick={() => onDownload(secretKeys)}\n >\n Download\n </Button>\n </Box>\n </Form>\n </>\n );\n};\n\nconst Key = ({ label }) => (\n <Grid size={{ xs: 4 }} sx={styles.keyLabel}>\n <Typography>{label}</Typography>\n </Grid>\n);\n\nconst Value = ({ value }) => (\n <Grid size={{ xs: 10 }}>\n <Typography sx={styles.keyValue}>{value}</Typography>\n </Grid>\n);\n\nconst styles = {\n title: {\n fontSize: '32px',\n fontWeight: '600',\n lineHeight: '38px',\n },\n subtitle: {\n fontWeight: '600',\n fontSize: '16px',\n marginBottom: '24px',\n },\n doNotDisclosureBlock: {\n color: 'secondary.light',\n fontSize: '14px',\n display: 'flex',\n flexDirection: 'row',\n marginTop: '30px',\n },\n keysBlock: {\n marginTop: '30px',\n },\n keyLabel: {\n display: 'flex',\n alignItems: 'center',\n wordBreak: 'break-all',\n },\n keyValue: {\n width: '100%',\n borderColor: 'divider.main',\n borderWidth: '1px',\n borderStyle: 'solid',\n borderRadius: '6px',\n padding: '16px',\n boxSizing: 'border-box',\n wordBreak: 'break-word',\n },\n buttonsBlock: {\n display: 'flex',\n flexDirection: 'row',\n justifyContent: 'center',\n marginTop: '40px',\n },\n button: { px: 4, py: 1, fontSize: '16px', width: '160px' },\n};\n\n// eslint-disable-next-line better-mutation/no-mutation\nServiceSecretKeys.propTypes = {\n // eslint-disable-next-line react/forbid-prop-types\n secretKeys: PropTypes.object,\n subtitle: PropTypes.string,\n description: PropTypes.string,\n onCopy: PropTypes.func,\n isCopied: PropTypes.bool,\n onDownload: PropTypes.func,\n};\n\n// eslint-disable-next-line better-mutation/no-mutation\nKey.propTypes = {\n label: PropTypes.string.isRequired,\n};\n// eslint-disable-next-line better-mutation/no-mutation\nValue.propTypes = {\n value: PropTypes.string.isRequired,\n};\n\nexport default ServiceSecretKeys;\n","import { useCallback, useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport Popup from '@/components/common/Popup.jsx';\nimport WarningSecretKeysPopup from './WarningSecretKeysPopup/index.jsx';\nimport { useKeyDownload } from '../../hooks/useKeyDownload';\nimport { ServiceSecretKeys } from './ServiceSecretKeys/index.jsx';\n\nexport const SecretKeysPopup = ({ isOpen, secretKeys, onClose, wording, warningWording }) => {\n const { onDownload, onCopy, isLoadingKeys, isLoadingKeysError, isDownloaded, isCopied } =\n useKeyDownload();\n\n const [isOpenWarningSecretPopup, setIsOpenWarningSecretPopup] = useState(false);\n\n const handleClose = useCallback(() => {\n if ((!isCopied && !isDownloaded) || isLoadingKeysError) {\n setIsOpenWarningSecretPopup(true);\n } else {\n onClose();\n }\n }, [isCopied, isDownloaded, isLoadingKeysError, onClose]);\n\n useEffect(() => {\n if (isOpenWarningSecretPopup && !isLoadingKeys && !isLoadingKeysError && isDownloaded) {\n onClose();\n }\n }, [isOpenWarningSecretPopup, isLoadingKeys, isLoadingKeysError, isDownloaded, onClose]);\n\n return (\n <Popup\n onClose={handleClose}\n title=\"\"\n isOpen={isOpen}\n mainContainerStyles={styles.mainContainer}\n disableCloseButton={isLoadingKeys}\n >\n <>\n <ServiceSecretKeys\n secretKeys={secretKeys}\n onDownload={onDownload}\n onCopy={onCopy}\n isCopied={isCopied}\n subtitle={wording.title}\n description={wording.subtitle}\n />\n <WarningSecretKeysPopup\n isModalOpened={isOpenWarningSecretPopup}\n onClose={onClose}\n title={warningWording.title}\n subtitle={warningWording.subtitle}\n onClick={() => onDownload(secretKeys)}\n isLoading={isLoadingKeys}\n />\n </>\n </Popup>\n );\n};\n\nconst styles = {\n mainContainer: { pt: 2 },\n};\n// eslint-disable-next-line better-mutation/no-mutation\nSecretKeysPopup.propTypes = {\n isOpen: PropTypes.bool.isRequired,\n // eslint-disable-next-line react/forbid-prop-types\n secretKeys: PropTypes.object.isRequired,\n onClose: PropTypes.func.isRequired,\n wording: PropTypes.shape({\n title: PropTypes.string.isRequired,\n subtitle: PropTypes.string.isRequired,\n }).isRequired,\n warningWording: PropTypes.shape({\n title: PropTypes.string.isRequired,\n subtitle: PropTypes.string.isRequired,\n }).isRequired,\n};\n\nexport default SecretKeysPopup;\n"],"names":["useTheme","jsxs","Popup","styles","jsx","Typography","Box","Button","Loading","useState","useCallback","copyTextToClipboard","objectToString","downloadTxtAsFile","useMemo","Fragment","Form","useEffect"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.DlFajFTS.js","sources":["../../src/components/common/CustomImageInput/utils.jsx","../../src/components/common/CustomImageInput/ProfileLogo.jsx","../../src/components/common/CustomImageInput/Preview.jsx","../../src/components/common/CustomImageInput/Placeholder.jsx","../../src/components/common/CustomImageInput/index.jsx"],"sourcesContent":["export const toBase64 = (file) =>\n new Promise((resolve, reject) => {\n // eslint-disable-next-line no-undef\n const reader = new FileReader();\n reader.readAsArrayBuffer(file);\n // eslint-disable-next-line better-mutation/no-mutation\n reader.onload = () => resolve(reader.result);\n // eslint-disable-next-line better-mutation/no-mutation\n reader.onerror = reject;\n });\n\nexport const ERRORS = {\n minSize: 'PNG/JPG Logo is smaller than 300X300. Please select another file.',\n maxSize: 'PNG/JPG/SVG Logo is bigger than 400X400. Please select another file.',\n shape: `Image Does Not Meet Requirements. Please upload a different image.\\n\n Image height and width must be equal. Minimum 300×300, Maximum 400×400. Up to 500 kb.`,\n svgSize: '.SVG logo must be between 300x300 & 400x400. Please select another file.',\n weight: 'Logo file size is more than 500KB. Please select another file',\n format: 'File format is not supported. Please select a png, jpg or svg file.',\n failed: `There was an error processing the selected image.\\n\n Please review the image requirements and try again.`,\n default: 'Please try again',\n};\n\nexport const IMAGE_STATUS_REFETCH_INTERVAL = 5000;\n","import { Avatar, Button, Stack } from '@mui/material';\nimport PropTypes from 'prop-types';\nimport OrganizationAvatar from '../OrganizationAvatar.jsx';\n\nconst ProfileLogo = ({ changeMode, imgSrc }) => {\n const alt = 'logo';\n return (\n <Stack sx={sx.container}>\n <Stack alignItems=\"center\" justifyContent=\"center\" sx={sx.profileLogoContainer}>\n <Avatar alt={alt} src={imgSrc} variant=\"square\" sx={sx.profileLogo}>\n <OrganizationAvatar size={200} name={alt} logo=\"\" />\n </Avatar>\n </Stack>\n <Stack alignItems=\"center\" sx={sx.buttonContainer}>\n <Button variant=\"outlined\" color=\"primary\" sx={sx.button} onClick={() => changeMode(true)}>\n CHANGE IMAGE\n </Button>\n </Stack>\n </Stack>\n );\n};\n\nconst sx = {\n profileLogoContainer: { flex: 1 },\n profileLogo: {\n width: 'fit-content',\n height: 'auto',\n maxHeight: '200px',\n background: 'transparent',\n py: 2,\n '& .MuiAvatar-fallback': {\n width: '12rem',\n heigth: '12rem',\n },\n },\n container: {\n height: '100%',\n position: 'relative',\n '& .RaFileInput-dropZone': { height: '100%', background: 'transparent', p: 0 },\n '& .RaFileInput-removeButton': {\n position: 'absolute',\n top: 0,\n width: '100%',\n height: '100%',\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'space-around',\n alignItems: 'center',\n overflow: 'hidden',\n p: 1,\n '& button': {\n position: 'relative',\n opacity: 1,\n top: 'auto',\n right: 'auto',\n '&:first-of-type': {\n display: 'none',\n },\n },\n },\n '& .MuiFormHelperText-root': {\n position: 'absolute',\n bottom: '-2.5em',\n },\n },\n button: { width: '200px', px: 3, py: 1, mx: '1em', my: '1em', fontWeight: 600 },\n buttonContainer: { flexBasis: '35%', width: '100%' },\n};\n\n// eslint-disable-next-line better-mutation/no-mutation\nProfileLogo.propTypes = {\n changeMode: PropTypes.func,\n imgSrc: PropTypes.string,\n};\n\nexport default ProfileLogo;\n","import { useRef } from 'react';\nimport { Button } from '@mui/material';\nimport PropTypes from 'prop-types';\n\nconst Preview = ({\n imageSrc,\n errorMessage,\n imageShow,\n showLoader,\n setImageHeight,\n setImageWidth,\n resetImage,\n}) => {\n const imgRef = useRef(null);\n\n return (\n imageSrc && (\n <>\n <img\n src={imageSrc}\n alt=\"logo\"\n ref={imgRef}\n style={{\n ...sx.avatarPreview,\n ...{\n display: errorMessage ? 'none' : 'block',\n opacity: imageShow && !showLoader ? 1 : 0,\n },\n }}\n onLoad={() => {\n setImageHeight(imgRef.current.naturalHeight);\n setImageWidth(imgRef.current.naturalWidth);\n }}\n />\n {!showLoader && (\n <Button variant=\"outlined\" color=\"primary\" sx={sx.button} onClick={resetImage}>\n CHANGE IMAGE\n </Button>\n )}\n </>\n )\n );\n};\n\nconst sx = {\n avatarPreview: {\n zIndex: '-1',\n minHeight: '168px',\n p: '1em',\n },\n button: { width: '200px', px: 3, py: 1, mx: '1em', my: '1em', fontWeight: 600 },\n};\n\n// eslint-disable-next-line better-mutation/no-mutation\nPreview.propTypes = {\n imageSrc: PropTypes.string,\n errorMessage: PropTypes.string,\n imageShow: PropTypes.bool,\n showLoader: PropTypes.bool,\n setImageHeight: PropTypes.func,\n setImageWidth: PropTypes.func,\n resetImage: PropTypes.func,\n};\n\nexport default Preview;\n","import { Stack, Typography, Button, Divider } from '@mui/material';\nimport PropTypes from 'prop-types';\nimport SvgIcon from '@mui/material/SvgIcon';\nimport Loading from '../../Loading.jsx';\n\nconst AddImageIcon = (props) => (\n <SvgIcon {...props} width=\"63\" height=\"63\" viewBox=\"0 0 63 63\" fill=\"none\">\n <path\n // eslint-disable-next-line max-len\n d=\"M61.2375 16.3459C60.9664 16.0725 60.6438 15.8556 60.2884 15.7075C59.933 15.5594 59.5517 15.4832 59.1667 15.4832C58.7817 15.4832 58.4004 15.5594 58.045 15.7075C57.6896 15.8556 57.367 16.0725 57.0959 16.3459L53.3334 20.1376V3.83341C53.3334 3.05987 53.0261 2.318 52.4791 1.77102C51.9321 1.22404 51.1903 0.916748 50.4167 0.916748C49.6432 0.916748 48.9013 1.22404 48.3543 1.77102C47.8073 2.318 47.5 3.05987 47.5 3.83341V20.1376L43.7375 16.3459C43.1883 15.7967 42.4434 15.4881 41.6667 15.4881C40.89 15.4881 40.1451 15.7967 39.5959 16.3459C39.0467 16.8951 38.7381 17.64 38.7381 18.4167C38.7381 19.1935 39.0467 19.9384 39.5959 20.4876L48.3459 29.2376C48.6233 29.5031 48.9504 29.7113 49.3084 29.8501C49.6575 30.0044 50.035 30.0841 50.4167 30.0841C50.7984 30.0841 51.1759 30.0044 51.525 29.8501C51.8831 29.7113 52.2102 29.5031 52.4875 29.2376L61.2375 20.4876C61.5109 20.2164 61.7279 19.8939 61.876 19.5384C62.0241 19.183 62.1003 18.8018 62.1003 18.4167C62.1003 18.0317 62.0241 17.6505 61.876 17.2951C61.7279 16.9396 61.5109 16.6171 61.2375 16.3459V16.3459ZM50.4167 35.9167C49.6432 35.9167 48.9013 36.224 48.3543 36.771C47.8073 37.318 47.5 38.0599 47.5 38.8334V39.9417L43.1834 35.6251C41.6592 34.1129 39.5992 33.2644 37.4521 33.2644C35.3051 33.2644 33.2451 34.1129 31.7209 35.6251L29.6792 37.6668L22.4459 30.4334C20.9004 28.9623 18.8484 28.1417 16.7146 28.1417C14.5809 28.1417 12.5289 28.9623 10.9834 30.4334L6.66671 34.7501V18.4167C6.66671 17.6432 6.974 16.9013 7.52098 16.3544C8.06796 15.8074 8.80983 15.5001 9.58337 15.5001H32.9167C33.6903 15.5001 34.4321 15.1928 34.9791 14.6458C35.5261 14.0988 35.8334 13.357 35.8334 12.5834C35.8334 11.8099 35.5261 11.068 34.9791 10.521C34.4321 9.97404 33.6903 9.66675 32.9167 9.66675H9.58337C7.26273 9.66675 5.03713 10.5886 3.39619 12.2296C1.75525 13.8705 0.833374 16.0961 0.833374 18.4167V53.4167C0.833374 55.7374 1.75525 57.963 3.39619 59.6039C5.03713 61.2449 7.26273 62.1667 9.58337 62.1667H44.5834C46.904 62.1667 49.1296 61.2449 50.7706 59.6039C52.4115 57.963 53.3334 55.7374 53.3334 53.4167V38.8334C53.3334 38.0599 53.0261 37.318 52.4791 36.771C51.9321 36.224 51.1903 35.9167 50.4167 35.9167ZM9.58337 56.3334C8.80983 56.3334 8.06796 56.0261 7.52098 55.4791C6.974 54.9322 6.66671 54.1903 6.66671 53.4167V43.0043L15.125 34.5459C15.5535 34.1376 16.1227 33.9098 16.7146 33.9098C17.3065 33.9098 17.8757 34.1376 18.3042 34.5459L27.55 43.7917L40.0917 56.3334H9.58337ZM47.5 53.4167C47.4958 53.9751 47.3117 54.5172 46.975 54.9626L33.8209 41.7501L35.8625 39.7084C36.0716 39.495 36.3212 39.3255 36.5967 39.2097C36.8721 39.094 37.1679 39.0343 37.4667 39.0343C37.7655 39.0343 38.0613 39.094 38.3367 39.2097C38.6122 39.3255 38.8618 39.495 39.0709 39.7084L47.5 48.1959V53.4167Z\"\n />\n </SvgIcon>\n);\n\nconst DragAndDrop = ({ show }) =>\n show && (\n <>\n <Stack>\n <AddImageIcon sx={sx.icon} />\n </Stack>\n <Typography variant=\"h5\">Drag & Drop logo (png, jpg, svg)</Typography>\n <Typography variant=\"caption\" sx={sx.caption}>\n Image height and width must be equal. Minimum 300×300, Maximum 400×400. Up to 500 kb.\n </Typography>\n </>\n );\n\nconst Processing = ({ show }) =>\n show && (\n <>\n <Loading size={75} color=\"info\" />\n <Typography variant=\"h5\" mt={4}>\n Processing...\n </Typography>\n </>\n );\n\nconst PlaceHolder = ({ isDropAccepted, isLoading, errorMessage, orientation, style }) => {\n return (\n <Stack alignItems=\"center\" justifyContent=\"end\" py={2} sx={[sx.placeHolderContainer, style]}>\n <Stack sx={sx.placeHolder} alignItems=\"center\" justifyContent=\"end\">\n <DragAndDrop show={!isDropAccepted} />\n <Processing show={isLoading} />\n </Stack>\n {!isDropAccepted && (\n <Stack sx={sx.dividerContainer}>\n <Divider\n flexItemsx\n sx={[\n sx.divider,\n {\n '&::before, &::after': {\n ...(orientation === 'horizontal'\n ? { borderTop: 'thin solid' }\n : { borderLeft: 'thin solid' }),\n },\n },\n ]}\n variant=\"fullWidth\"\n orientation={orientation}\n >\n or\n </Divider>\n </Stack>\n )}\n <Stack sx={{ flexBasis: isDropAccepted ? '15%' : '30%' }} alignItems=\"center\">\n {!isDropAccepted && (\n <Button variant=\"outlined\" color=\"primary\" sx={sx.button}>\n BROWSE IMAGE\n </Button>\n )}\n {errorMessage && (\n <Stack mt={-1}>\n <Typography variant=\"caption\" display=\"block\" sx={sx.errorMessage}>\n {errorMessage}\n </Typography>\n </Stack>\n )}\n </Stack>\n </Stack>\n );\n};\n\nconst sx = {\n errorMessage: {\n fontSize: '10px',\n color: 'primary.main',\n wordBreak: 'break-word',\n whiteSpace: 'pre-line',\n lineHeight: '0.75',\n },\n button: { width: '200px', px: 3, py: 1, mx: '1em', my: '1em', fontWeight: 600 },\n icon: {\n fontSize: '4rem',\n color: 'info.main',\n my: 2,\n },\n caption: {\n fontSize: '10px',\n lineHeight: '12px',\n py: 1,\n color: 'text.secondary',\n },\n placeHolderContainer: { height: '100%' },\n placeHolder: { flex: 1, width: '100%', px: '1em' },\n dividerContainer: {\n alignSelf: 'stretch',\n justifyContent: 'center',\n flexDirection: 'row',\n },\n divider: {\n alignItems: 'center',\n justifyContent: 'flex-start',\n flexBasis: '100%',\n height: '100%',\n '&::before, &::after': {\n borderColor: 'info.main',\n },\n },\n};\n\n// eslint-disable-next-line better-mutation/no-mutation\nDragAndDrop.propTypes = {\n show: PropTypes.bool,\n};\n\n// eslint-disable-next-line better-mutation/no-mutation\nProcessing.propTypes = {\n show: PropTypes.bool,\n};\n\n// eslint-disable-next-line better-mutation/no-mutation\nPlaceHolder.propTypes = {\n isDropAccepted: PropTypes.bool,\n isLoading: PropTypes.bool,\n errorMessage: PropTypes.string,\n orientation: PropTypes.string,\n // eslint-disable-next-line react/forbid-prop-types\n style: PropTypes.object,\n};\n\nexport default PlaceHolder;\n","/* eslint-disable complexity */\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 */\nimport { useCallback, useEffect, useState, useMemo } from 'react';\nimport PropTypes from 'prop-types';\nimport { ImageInput, useDataProvider, required, useStore } from 'react-admin';\n// eslint-disable-next-line import/no-extraneous-dependencies\nimport { useFormContext } from 'react-hook-form';\nimport { dataResources } from '../../../utils/remoteDataProvider';\nimport theme from '../../../theme/theme';\nimport { toBase64, ERRORS, IMAGE_STATUS_REFETCH_INTERVAL } from './utils.jsx';\nimport ProfileLogo from './ProfileLogo.jsx';\nimport Preview from './Preview.jsx';\nimport PlaceHolder from './Placeholder.jsx';\n\nconst CustomImageInput = ({\n label = '',\n editMode,\n addTo,\n style,\n labelText = 'Logo',\n isRequired = true,\n orientation = 'horizontal',\n onChange,\n imgSrc,\n}) => {\n const form = useFormContext();\n const dataProvider = useDataProvider();\n\n const [errorMessage, setErrorMessage] = useState('');\n const [isDropInFocus, setIsDropInFocus] = useState(false);\n const [isDropAccepted, setIsDropAccepted] = useState(false);\n const [isImageLoading, setIsImageLoading] = useState(false);\n const [imageSrc, setImageSrc] = useState(null);\n const [acceptedFile, setAcceptedFile] = useState(null);\n const [isEditMode, setIsEditMode] = useState(editMode);\n const [imageHeight, setImageHeight] = useState(null);\n const [imageWidth, setImageWidth] = useState(null);\n const [isSVG, setIsSVG] = useState(null);\n const [imageExtension, setImageExtension] = useState(null);\n const [imageShow, setImageShow] = useState(false);\n const [imageMetadata, setImageMetadata] = useState(null);\n const [timerIdUploadStatus, setTimerIdUploadStatus] = useStore('timerId', null);\n const showLoader = useMemo(() => {\n return (\n isDropAccepted &&\n (isImageLoading || !imageSrc || (imageMetadata && imageMetadata.state !== 'upload_done'))\n );\n }, [isDropAccepted, isImageLoading, imageSrc, imageMetadata]);\n\n const handleSetupImageUpload = useCallback(\n async (image, extension) => {\n const file = await toBase64(image);\n const { data } = await dataProvider.create(dataResources.SETUP_IMAGE_UPLOAD, {\n data: { extension: extension.startsWith('svg') ? 'svg' : extension },\n });\n if (addTo) {\n const formValue = form.getValues(addTo);\n form.setValue(addTo, { ...formValue, ...{ logo: data.imageMetadata.url } });\n } else {\n form.setValue('logo', data.imageMetadata.url);\n }\n await dataProvider.create(dataResources.IMAGE_UPLOAD, {\n data: { file },\n meta: { url: data.imageMetadata.uploadUrl, contentType: extension },\n });\n setImageMetadata(data.imageMetadata);\n },\n [addTo, dataProvider, form],\n );\n\n const handleDropAccepted = useCallback(\n async (acceptedFiles) => {\n setImageHeight(null);\n setImageWidth(null);\n setImageShow(false);\n setIsDropInFocus(false);\n setIsDropAccepted(true);\n setErrorMessage('');\n clearInterval(timerIdUploadStatus);\n const extension = acceptedFiles[0].type.split('/')[1];\n setIsSVG(extension.startsWith('svg'));\n setImageExtension(extension);\n setImageSrc(URL.createObjectURL(acceptedFiles[0]));\n setAcceptedFile(acceptedFiles[0]);\n\n if (onChange) {\n onChange();\n }\n },\n [onChange, timerIdUploadStatus],\n );\n\n const handleDropRejected = useCallback((fileRejections) => {\n setIsDropInFocus(false);\n switch (fileRejections[0].errors[0].code) {\n case 'file-too-large':\n setErrorMessage(ERRORS.weight);\n break;\n case 'file-invalid-type':\n setErrorMessage(ERRORS.format);\n break;\n default:\n setErrorMessage(ERRORS.default);\n }\n }, []);\n\n const resetImage = useCallback(() => {\n setIsEditMode(true);\n setImageSrc(null);\n setIsDropAccepted(false);\n setIsImageLoading(false);\n setImageMetadata(null);\n clearInterval(timerIdUploadStatus);\n setTimerIdUploadStatus(null);\n setAcceptedFile(null);\n }, [setTimerIdUploadStatus, timerIdUploadStatus]);\n\n const updateImageUploadStatus = useCallback(\n async (url, timer) => {\n const results = await dataProvider.getOne(dataResources.IMAGE_UPLOAD, {\n id: url,\n });\n const resetInterval = () => {\n setIsImageLoading(false);\n clearInterval(timer);\n setTimerIdUploadStatus(null);\n };\n\n setImageMetadata(results.data);\n if (results.data?.uploadSucceeded) {\n resetInterval();\n }\n if (results.data?.state === 'error') {\n setErrorMessage(ERRORS.failed);\n resetInterval();\n }\n },\n [dataProvider, setTimerIdUploadStatus],\n );\n\n // Size and shape validation\n useEffect(() => {\n if (imageHeight && imageWidth) {\n if (imageHeight < 300 || imageWidth < 300) {\n setErrorMessage(isSVG ? ERRORS.svgSize : ERRORS.minSize);\n } else if (imageHeight > 400 || imageWidth > 400) {\n setErrorMessage(ERRORS.maxSize);\n } else if (imageHeight !== imageWidth) {\n setErrorMessage(ERRORS.shape);\n } else {\n setImageShow(true);\n }\n }\n }, [imageHeight, imageWidth, isSVG]);\n\n // Upload valid image\n useEffect(() => {\n if (acceptedFile && !errorMessage && imageShow && imageExtension && !imageMetadata) {\n handleSetupImageUpload(acceptedFile, imageExtension);\n }\n }, [\n acceptedFile,\n errorMessage,\n handleSetupImageUpload,\n imageExtension,\n imageMetadata,\n imageShow,\n ]);\n\n useEffect(() => {\n if (isEditMode) {\n setTimerIdUploadStatus(null);\n }\n }, [isEditMode, setTimerIdUploadStatus]);\n\n useEffect(() => {\n if (errorMessage) {\n setIsDropAccepted(false);\n setImageSrc(null);\n setIsImageLoading(false);\n clearInterval(timerIdUploadStatus);\n }\n }, [errorMessage, timerIdUploadStatus]);\n\n useEffect(() => {\n if (\n imageMetadata?.state === 'pending_upload' &&\n imageMetadata?.url &&\n !timerIdUploadStatus &&\n !errorMessage\n ) {\n setIsImageLoading(true);\n // eslint-disable-next-line better-mutation/no-mutation\n const timer = setInterval(\n () => updateImageUploadStatus(imageMetadata.url, timer),\n IMAGE_STATUS_REFETCH_INTERVAL,\n );\n setTimerIdUploadStatus(timer);\n }\n }, [\n errorMessage,\n imageMetadata,\n setTimerIdUploadStatus,\n timerIdUploadStatus,\n updateImageUploadStatus,\n ]);\n\n return (\n <fieldset style={sx.fieldset}>\n <legend style={!labelText ? { padding: 0 } : {}}>{`${labelText}${\n isRequired ? ' *' : ''\n }`}</legend>\n {isEditMode ? (\n <ImageInput\n source={addTo ? `${addTo}.logo` : 'logo'}\n fullWidth\n label={label}\n accept={{ 'image/*': ['.png', '.jpg', '.jpeg', '.svg'] }}\n placeholder={\n <PlaceHolder\n isLoading={showLoader}\n isDropAccepted={isDropAccepted}\n errorMessage={errorMessage}\n orientation={orientation}\n style={style}\n />\n }\n sx={[\n sx.container,\n { borderColor: isDropInFocus ? 'primary.main' : 'info.main' },\n { '& .RaFileInput-removeButton': { zIndex: imageSrc ? '1' : '-1' } },\n ]}\n maxSize={500000}\n validate={[isRequired && required(`${labelText}* is required`)]}\n options={{\n onDrop: () => setIsImageLoading(true),\n onDropRejected: handleDropRejected,\n onDropAccepted: handleDropAccepted,\n onDragOver: () => setIsDropInFocus(true),\n onDragLeave: () => setIsDropInFocus(false),\n }}\n helperText={false}\n >\n <Preview\n imageSrc={imageSrc}\n errorMessage={errorMessage}\n imageShow={imageShow}\n showLoader={showLoader}\n setImageHeight={setImageHeight}\n setImageWidth={setImageWidth}\n resetImage={resetImage}\n />\n </ImageInput>\n ) : (\n <ProfileLogo changeMode={setIsEditMode} imgSrc={imgSrc} />\n )}\n </fieldset>\n );\n};\n\nexport default CustomImageInput;\n\n// eslint-disable-next-line better-mutation/no-mutation\nCustomImageInput.propTypes = {\n label: PropTypes.oneOfType([PropTypes.bool, PropTypes.string]),\n editMode: PropTypes.bool,\n addTo: PropTypes.string || PropTypes.undefined,\n style: PropTypes.object || PropTypes.undefined,\n labelText: PropTypes.string,\n isRequired: PropTypes.bool,\n orientation: PropTypes.oneOf(['vertical', 'horizontal']),\n onChange: PropTypes.func,\n imgSrc: PropTypes.string,\n};\n\nconst sx = {\n fieldset: {\n borderRadius: '6px',\n height: '100%',\n border: '1px solid',\n borderColor: theme.palette.info.main,\n color: theme.palette.text.secondary,\n marginTop: '-12px',\n fontSize: '0.75rem',\n width: '100%',\n },\n container: {\n height: '100%',\n position: 'relative',\n '& .RaFileInput-dropZone': { height: '100%', background: 'transparent', p: 0 },\n '& .RaFileInput-removeButton': {\n position: 'absolute',\n top: 0,\n width: '100%',\n height: '100%',\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'space-around',\n alignItems: 'center',\n overflow: 'hidden',\n p: 1,\n '& button': {\n position: 'relative',\n opacity: 1,\n top: 'auto',\n right: 'auto',\n '&:first-of-type': {\n display: 'none',\n },\n },\n },\n '& .MuiFormHelperText-root': {\n position: 'absolute',\n bottom: '-2.5em',\n },\n },\n};\n"],"names":["jsxs","Stack","sx","jsx","Avatar","OrganizationAvatar","Button","useRef","Fragment","Typography","Loading","Divider","useFormContext","useDataProvider","useState","useStore","useMemo","useCallback","dataResources","useEffect","ImageInput","required","theme"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.DmM8ShwP.js","sources":["../../src/pages/services/utils/isAddButtonDisabled.js","../../src/components/common/Autocomplete.jsx","../../src/pages/services/components/ServiceEndpointSelection/index.jsx","../../src/pages/services/components/ServiceTypeSelection/index.jsx"],"sourcesContent":["export const isAddButtonDisabled = (\n inProgress,\n isIssueOrInspection,\n selectedCAO,\n serviceEndpoint,\n) => {\n return (\n !(\n (isIssueOrInspection && serviceEndpoint && selectedCAO) ||\n (!isIssueOrInspection && serviceEndpoint)\n ) || inProgress\n );\n};\n","import { useEffect, useCallback, useMemo, forwardRef } from 'react';\nimport { AutocompleteInput, useInput } from 'react-admin';\nimport PropTypes from 'prop-types';\n\n// eslint-disable-next-line prefer-arrow-functions/prefer-arrow-functions\nconst Autocomplete = forwardRef(function Autocomplete(\n {\n label,\n value: defaultValue,\n onChange,\n disabled,\n items,\n stringValue: format,\n inputText,\n styles,\n source = '',\n parse = (value) => value,\n },\n ref,\n) {\n const {\n field,\n fieldState: { error },\n } = useInput({ source, defaultValue, onChange, parse });\n\n const sortedItems = useMemo(() => {\n return items\n ? [...items].sort((a, b) => {\n return (a.name || '').localeCompare(b.name || '');\n })\n : [];\n }, [items]);\n\n const defaultInputText = useCallback(\n (choice) => {\n const formatted = format(choice);\n if (typeof formatted === 'string') {\n return formatted;\n }\n return formatted && formatted.props && formatted.props.children\n ? formatted.props.children.toString()\n : '';\n },\n [format],\n );\n\n useEffect(() => {\n if (sortedItems?.length === 1) {\n field.onChange(sortedItems[0]);\n }\n }, [sortedItems, field]);\n\n return (\n <AutocompleteInput\n {...field}\n ref={ref}\n label={label}\n choices={sortedItems || []}\n optionText={format}\n inputText={inputText || defaultInputText}\n optionValue=\"id\"\n disabled={disabled || (items && items.length === 1)}\n sx={styles}\n error={!!error}\n helperText={error ? error.message : ''}\n fullWidth\n />\n );\n});\n\n// eslint-disable-next-line better-mutation/no-mutation\nAutocomplete.propTypes = {\n label: PropTypes.string.isRequired,\n // eslint-disable-next-line react/forbid-prop-types\n value: PropTypes.any,\n onChange: PropTypes.func,\n disabled: PropTypes.bool,\n // eslint-disable-next-line react/forbid-prop-types\n items: PropTypes.array,\n stringValue: PropTypes.func,\n inputText: PropTypes.func,\n // eslint-disable-next-line react/forbid-prop-types\n styles: PropTypes.object,\n source: PropTypes.string,\n // eslint-disable-next-line react/forbid-prop-types\n defaultValue: PropTypes.any,\n parse: PropTypes.func,\n};\n\nexport default Autocomplete;\n","import { useState, useMemo } from 'react';\nimport { Box, Button, Stack, Typography, Tooltip, Link } from '@mui/material';\nimport KeyboardArrowLeftIcon from '@mui/icons-material/KeyboardArrowLeft';\nimport { Form, FormDataConsumer, SaveButton, TextInput, required } from 'react-admin';\nimport InfoIcon from '@mui/icons-material/Info';\n\nimport PropTypes from 'prop-types';\nimport CustomDropDown from '@/components/common/CustomDropDown.jsx';\nimport Autocomplete from '@/components/common/Autocomplete.jsx';\nimport OrganizationAvatar from '@/components/common/OrganizationAvatar.jsx';\nimport { validateServiceEndpoint } from '@/components/organizations/CreateOrganization.utils';\nimport { chainNames } from '@/utils/chainNames';\nimport { useConfig } from '@/utils/ConfigContext';\n\nimport { getTitle, isAddButtonDisabled } from '../../utils';\n\nconst selectedStep = 2;\n\n// eslint-disable-next-line prefer-arrow-functions/prefer-arrow-functions\nexport const ServiceEndpointSelection = ({\n credentialAgentOperators,\n isIssueOrInspection,\n inProgress,\n onCreate,\n handleBack,\n}) => {\n const config = useConfig();\n const [selectedCAO, setSelectedCAO] = useState('');\n const [selectedServiceId, setSelectedServiceId] = useState('');\n const getOptionAsText = (item) => item.name;\n\n const CAO = useMemo(() => {\n if (selectedCAO) {\n return credentialAgentOperators.find((item) => item.id === selectedCAO);\n }\n return '';\n }, [credentialAgentOperators, selectedCAO]);\n\n return (\n <>\n <Typography variant=\"pm\" sx={styles.step}>\n Step 2/2\n </Typography>\n <Typography sx={styles.title} mb={2}>\n {getTitle(selectedStep)}\n </Typography>\n <Typography>Please complete the details below to continue</Typography>\n <Form onSubmit={onCreate} mode=\"onChange\" defaultValues={{ serviceEndpoint: '' }}>\n <Stack sx={styles.endpointForm}>\n {isIssueOrInspection ? (\n <Stack sx={{ mt: 2 }}>\n <Stack flexDirection=\"row\" alignItems=\"center\" sx={styles.selectCAOContainer}>\n <Autocomplete\n source=\"serviceCAO\"\n label=\"Select Credential Agent Operator\"\n value={selectedCAO}\n onChange={setSelectedCAO}\n items={credentialAgentOperators}\n /* eslint-disable-next-line react/no-unstable-nested-components */\n stringValue={(item) => (\n <Box sx={styles.menuItemLogo} component=\"div\">\n <span>{item.name}</span>\n <OrganizationAvatar size={32} name={item.name} logo={item.logo} />\n </Box>\n )}\n inputText={getOptionAsText}\n disabled={false}\n styles={styles.selectCAO}\n />\n <Box sx={{ ml: 2 }}>\n <Tooltip title=\"The Credential Agent Operator your organization will use to integrate with Velocity Network™\">\n <InfoIcon color=\"info\" fontSize=\"small\" cursor=\"pointer\" />\n </Tooltip>\n </Box>\n </Stack>\n <Stack flexDirection=\"row\" alignItems=\"center\" mt={1} mb={4}>\n <CustomDropDown\n label='Select \"Service ID\"'\n value={selectedServiceId}\n onChange={setSelectedServiceId}\n items={CAO.service || []}\n stringValue={(item) => `${item.id} (${item.serviceEndpoint})`}\n disabled={!selectedCAO}\n source=\"serviceEndpoint\"\n parse={(value) => `${selectedCAO}${value.id}`}\n />\n <Box sx={{ ml: 2 }}>\n <Tooltip\n title=\"The agent's service ID your organization needs to use. \n If there are multiple service IDs available, please contact your Credential Agent Operator to know which one to select.\"\n >\n <InfoIcon color=\"info\" fontSize=\"small\" cursor=\"pointer\" />\n </Tooltip>\n </Box>\n </Stack>\n </Stack>\n ) : (\n <TextInput\n source=\"serviceEndpoint\"\n label=\"Service endpoint URL\"\n validate={[\n required('Service endpoint URL field is required'),\n ...validateServiceEndpoint,\n ]}\n parse={(value) => value?.trim() ?? ''}\n disabled={inProgress}\n />\n )}\n {config.chainName !== chainNames.testnet && (\n <Typography variant=\"subtitle1\" sx={{ marginTop: '10px' }}>\n <span>By clicking Add, you agree to our </span>\n <Link\n target=\"_blank\"\n href=\"https://www.velocitynetwork.foundation/main2/participation-agreements\"\n >\n Participant Agreement\n </Link>\n </Typography>\n )}\n <Box sx={styles.buttonBlock}>\n <Button\n variant=\"outlined\"\n sx={[styles.button, styles.backButton]}\n onClick={handleBack}\n startIcon={<KeyboardArrowLeftIcon />}\n disabled={inProgress}\n >\n Back\n </Button>\n <FormDataConsumer>\n {({ formData }) => {\n const isDisabled = isAddButtonDisabled(\n inProgress,\n isIssueOrInspection,\n formData.serviceCAO,\n formData.serviceEndpoint,\n );\n\n return (\n <SaveButton\n variant=\"outlined\"\n alwaysEnable={false}\n disabled={isDisabled}\n icon={null}\n label=\"Add\"\n sx={[styles.button, styles.saveButton, isDisabled && styles.saveButtonDisabled]}\n />\n );\n }}\n </FormDataConsumer>\n </Box>\n </Stack>\n </Form>\n </>\n );\n};\n\nconst styles = {\n step: { color: (theme) => theme.palette.primary.main, pb: '20px', display: 'block' },\n title: {\n fontSize: '32px',\n fontWeight: '600',\n lineHeight: '38px',\n },\n endpointForm: {\n marginTop: '20px',\n },\n selectCAOContainer: {\n width: '100%',\n marginBottom: '20px',\n },\n selectCAO: {\n width: '100%',\n '& .MuiInputBase-root': {\n width: '100%',\n },\n '& .MuiSelect-select': {\n display: 'flex',\n justifyContent: 'space-between',\n alignItems: 'center',\n py: 0,\n },\n '& .MuiFormHelperText-root': {\n display: 'none',\n },\n },\n menuItemLogo: {\n display: 'flex',\n flex: '1',\n justifyContent: 'space-between',\n alignItems: 'center',\n },\n buttonBlock: {\n display: 'flex',\n marginTop: '40px',\n justifyContent: 'center',\n },\n button: { px: 4, py: 1, fontSize: '16px', width: '160px' },\n backButton: {\n marginRight: '20px',\n borderColor: 'secondary.light',\n color: 'text.primary',\n },\n saveButton: {\n display: 'flex',\n flexDirection: 'row-reverse',\n gap: '10px',\n '&:disabled': {\n color: 'primary.main',\n borderColor: 'primary.main',\n },\n },\n saveButtonDisabled: {\n '&:disabled': {\n color: 'text.disabled',\n borderColor: 'secondary.light',\n },\n },\n};\n// eslint-disable-next-line better-mutation/no-mutation\nServiceEndpointSelection.propTypes = {\n credentialAgentOperators: PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.string.isRequired,\n name: PropTypes.string.isRequired,\n logo: PropTypes.string,\n service: PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.string.isRequired,\n serviceEndpoint: PropTypes.string.isRequired,\n }),\n ),\n }),\n ).isRequired,\n isIssueOrInspection: PropTypes.bool.isRequired,\n inProgress: PropTypes.bool.isRequired,\n onCreate: PropTypes.func.isRequired,\n handleBack: PropTypes.func.isRequired,\n};\n\nexport default ServiceEndpointSelection;\n","import { Box, Button, Typography } from '@mui/material';\nimport KeyboardArrowRightIcon from '@mui/icons-material/KeyboardArrowRight';\nimport { Form } from 'react-admin';\nimport PropTypes from 'prop-types';\nimport Loading from '@/components/Loading.jsx';\nimport CustomDropDown from '@/components/common/CustomDropDown.jsx';\nimport serviceTypes from '@/utils/serviceTypes';\n\nimport { getTitle } from '../../utils';\n\nconst selectedStep = 1;\n\nexport const ServiceTypeSelection = ({\n handleNext,\n isLoading,\n selectedServiceType,\n setSelectedServiceType,\n onDoLater,\n}) => {\n return (\n <>\n <Typography variant=\"pm\" sx={styles.step}>\n Step 1/2\n </Typography>\n <Typography variant=\"h1\" mb={2}>\n {getTitle(selectedStep)}\n </Typography>\n <Typography mb={4}>Select the type of service you wish to add.</Typography>\n <Form record={{}}>\n <CustomDropDown\n source=\"selectedServiceType\"\n label=\"Select type of service\"\n value={selectedServiceType}\n onChange={setSelectedServiceType}\n items={serviceTypes}\n stringValue={(item) => item.title}\n parse={(value) => value.id}\n disabled={false}\n />\n <Box sx={[styles.buttonBlock, !onDoLater && styles.rightButton]}>\n {onDoLater && (\n <Button sx={[styles.button]} variant=\"outlined\" color=\"secondary\" onClick={onDoLater}>\n Do Later\n </Button>\n )}\n <Button\n disabled={!selectedServiceType || isLoading}\n variant=\"outlined\"\n sx={[styles.button]}\n endIcon={\n selectedServiceType && isLoading ? (\n <Loading color=\"error\" sx={styles.loader} size={26} />\n ) : (\n <KeyboardArrowRightIcon />\n )\n }\n onClick={handleNext}\n >\n Next\n </Button>\n </Box>\n </Form>\n </>\n );\n};\n\nconst styles = {\n buttonBlock: {\n display: 'flex',\n marginTop: '40px',\n justifyContent: 'center',\n alignItems: 'center',\n gap: '30px',\n },\n rightButton: {\n justifyContent: 'flex-end',\n },\n step: { color: (theme) => theme.palette.primary.main, pb: '20px', display: 'block' },\n button: { px: 4, py: 1, fontSize: '16px', width: '160px' },\n};\n// eslint-disable-next-line better-mutation/no-mutation\nServiceTypeSelection.propTypes = {\n handleNext: PropTypes.func.isRequired,\n isLoading: PropTypes.bool,\n selectedServiceType: PropTypes.oneOfType([PropTypes.object, PropTypes.string, PropTypes.number]),\n setSelectedServiceType: PropTypes.func.isRequired,\n onDoLater: PropTypes.func,\n};\n\n// eslint-disable-next-line better-mutation/no-mutation\nServiceTypeSelection.defaultProps = {\n isLoading: false,\n selectedServiceType: null,\n onDoLater: null,\n};\n\nexport default ServiceTypeSelection;\n"],"names":["Autocomplete","styles","selectedStep"],"mappings":";;;;;;;;;;;;;;;;AAAO,MAAM,sBAAsB,CACjC,YACA,qBACA,aACA,oBACG;AACH,SACE,EACG,uBAAuB,mBAAmB,eAC1C,CAAC,uBAAuB,oBACtB;AAET;ACPA,MAAM,eAAe,WAAW,SAASA,cACvC;AAAA,EACE;AAAA,EACA,OAAO;AAAA,EACP;AAAA,EACA;AAAA,EACA;AAAA,EACA,aAAa;AAAA,EACb;AAAA,EACA,QAAAC;AAAA,EACA,SAAS;AAAA,EACT,QAAQ,CAAC,UAAU;AACrB,GACA,KACA;AACA,QAAM;AAAA,IACJ;AAAA,IACA,YAAY,EAAE,MAAA;AAAA,EAAM,IAClB,SAAS,EAAE,QAAQ,cAAc,UAAU,OAAO;AAEtD,QAAM,cAAc,QAAQ,MAAM;AAChC,WAAO,QACH,CAAC,GAAG,KAAK,EAAE,KAAK,CAAC,GAAG,MAAM;AACxB,cAAQ,EAAE,QAAQ,IAAI,cAAc,EAAE,QAAQ,EAAE;AAAA,IAClD,CAAC,IACD,CAAA;AAAA,EACN,GAAG,CAAC,KAAK,CAAC;AAEV,QAAM,mBAAmB;AAAA,IACvB,CAAC,WAAW;AACV,YAAM,YAAY,OAAO,MAAM;AAC/B,UAAI,OAAO,cAAc,UAAU;AACjC,eAAO;AAAA,MACT;AACA,aAAO,aAAa,UAAU,SAAS,UAAU,MAAM,WACnD,UAAU,MAAM,SAAS,SAAA,IACzB;AAAA,IACN;AAAA,IACA,CAAC,MAAM;AAAA,EAAA;AAGT,YAAU,MAAM;AACd,QAAI,aAAa,WAAW,GAAG;AAC7B,YAAM,SAAS,YAAY,CAAC,CAAC;AAAA,IAC/B;AAAA,EACF,GAAG,CAAC,aAAa,KAAK,CAAC;AAEvB,SACE;AAAA,IAAC;AAAA,IAAA;AAAA,MACE,GAAG;AAAA,MACJ;AAAA,MACA;AAAA,MACA,SAAS,eAAe,CAAA;AAAA,MACxB,YAAY;AAAA,MACZ,WAAW,aAAa;AAAA,MACxB,aAAY;AAAA,MACZ,UAAU,YAAa,SAAS,MAAM,WAAW;AAAA,MACjD,IAAIA;AAAA,MACJ,OAAO,CAAC,CAAC;AAAA,MACT,YAAY,QAAQ,MAAM,UAAU;AAAA,MACpC,WAAS;AAAA,IAAA;AAAA,EAAA;AAGf,CAAC;AAGD,aAAa,YAAY;AAAA,EACvB,OAAO,UAAU,OAAO;AAAA;AAAA,EAExB,OAAO,UAAU;AAAA,EACjB,UAAU,UAAU;AAAA,EACpB,UAAU,UAAU;AAAA;AAAA,EAEpB,OAAO,UAAU;AAAA,EACjB,aAAa,UAAU;AAAA,EACvB,WAAW,UAAU;AAAA;AAAA,EAErB,QAAQ,UAAU;AAAA,EAClB,QAAQ,UAAU;AAAA;AAAA,EAElB,cAAc,UAAU;AAAA,EACxB,OAAO,UAAU;AACnB;ACvEA,MAAMC,iBAAe;AAGd,MAAM,2BAA2B,CAAC;AAAA,EACvC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAAM;AACJ,QAAM,SAAS,UAAA;AACf,QAAM,CAAC,aAAa,cAAc,IAAI,SAAS,EAAE;AACjD,QAAM,CAAC,mBAAmB,oBAAoB,IAAI,SAAS,EAAE;AAC7D,QAAM,kBAAkB,CAAC,SAAS,KAAK;AAEvC,QAAM,MAAM,QAAQ,MAAM;AACxB,QAAI,aAAa;AACf,aAAO,yBAAyB,KAAK,CAAC,SAAS,KAAK,OAAO,WAAW;AAAA,IACxE;AACA,WAAO;AAAA,EACT,GAAG,CAAC,0BAA0B,WAAW,CAAC;AAE1C,SACE,qBAAA,UAAA,EACE,UAAA;AAAA,IAAA,oBAAC,cAAW,SAAQ,MAAK,IAAID,SAAO,MAAM,UAAA,YAE1C;AAAA,IACA,oBAAC,cAAW,IAAIA,SAAO,OAAO,IAAI,GAC/B,UAAA,SAASC,cAAY,EAAA,CACxB;AAAA,IACA,oBAAC,cAAW,UAAA,gDAAA,CAA6C;AAAA,IACzD,oBAAC,MAAA,EAAK,UAAU,UAAU,MAAK,YAAW,eAAe,EAAE,iBAAiB,MAC1E,UAAA,qBAAC,OAAA,EAAM,IAAID,SAAO,cACf,UAAA;AAAA,MAAA,2CACE,OAAA,EAAM,IAAI,EAAE,IAAI,KACf,UAAA;AAAA,QAAA,qBAAC,SAAM,eAAc,OAAM,YAAW,UAAS,IAAIA,SAAO,oBACxD,UAAA;AAAA,UAAA;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,QAAO;AAAA,cACP,OAAM;AAAA,cACN,OAAO;AAAA,cACP,UAAU;AAAA,cACV,OAAO;AAAA,cAEP,aAAa,CAAC,SACZ,qBAAC,OAAI,IAAIA,SAAO,cAAc,WAAU,OACtC,UAAA;AAAA,gBAAA,oBAAC,QAAA,EAAM,eAAK,KAAA,CAAK;AAAA,gBACjB,oBAAC,sBAAmB,MAAM,IAAI,MAAM,KAAK,MAAM,MAAM,KAAK,KAAA,CAAM;AAAA,cAAA,GAClE;AAAA,cAEF,WAAW;AAAA,cACX,UAAU;AAAA,cACV,QAAQA,SAAO;AAAA,YAAA;AAAA,UAAA;AAAA,UAEjB,oBAAC,OAAI,IAAI,EAAE,IAAI,EAAA,GACb,8BAAC,SAAA,EAAQ,OAAM,gGACb,UAAA,oBAAC,UAAA,EAAS,OAAM,QAAO,UAAS,SAAQ,QAAO,UAAA,CAAU,GAC3D,EAAA,CACF;AAAA,QAAA,GACF;AAAA,QACA,qBAAC,SAAM,eAAc,OAAM,YAAW,UAAS,IAAI,GAAG,IAAI,GACxD,UAAA;AAAA,UAAA;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,OAAM;AAAA,cACN,OAAO;AAAA,cACP,UAAU;AAAA,cACV,OAAO,IAAI,WAAW,CAAA;AAAA,cACtB,aAAa,CAAC,SAAS,GAAG,KAAK,EAAE,KAAK,KAAK,eAAe;AAAA,cAC1D,UAAU,CAAC;AAAA,cACX,QAAO;AAAA,cACP,OAAO,CAAC,UAAU,GAAG,WAAW,GAAG,MAAM,EAAE;AAAA,YAAA;AAAA,UAAA;AAAA,8BAE5C,KAAA,EAAI,IAAI,EAAE,IAAI,KACb,UAAA;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,OAAM;AAAA,cAGN,8BAAC,UAAA,EAAS,OAAM,QAAO,UAAS,SAAQ,QAAO,UAAA,CAAU;AAAA,YAAA;AAAA,UAAA,EAC3D,CACF;AAAA,QAAA,EAAA,CACF;AAAA,MAAA,EAAA,CACF,IAEA;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,QAAO;AAAA,UACP,OAAM;AAAA,UACN,UAAU;AAAA,YACR,SAAS,wCAAwC;AAAA,YACjD,GAAG;AAAA,UAAA;AAAA,UAEL,OAAO,CAAC,UAAU,OAAO,UAAU;AAAA,UACnC,UAAU;AAAA,QAAA;AAAA,MAAA;AAAA,MAGb,OAAO,cAAc,WAAW,WAC/B,qBAAC,YAAA,EAAW,SAAQ,aAAY,IAAI,EAAE,WAAW,OAAA,GAC/C,UAAA;AAAA,QAAA,oBAAC,UAAK,UAAA,qCAAA,CAAkC;AAAA,QACxC;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,QAAO;AAAA,YACP,MAAK;AAAA,YACN,UAAA;AAAA,UAAA;AAAA,QAAA;AAAA,MAED,GACF;AAAA,MAEF,qBAAC,KAAA,EAAI,IAAIA,SAAO,aACd,UAAA;AAAA,QAAA;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,SAAQ;AAAA,YACR,IAAI,CAACA,SAAO,QAAQA,SAAO,UAAU;AAAA,YACrC,SAAS;AAAA,YACT,+BAAY,uBAAA,EAAsB;AAAA,YAClC,UAAU;AAAA,YACX,UAAA;AAAA,UAAA;AAAA,QAAA;AAAA,QAGD,oBAAC,kBAAA,EACE,UAAA,CAAC,EAAE,eAAe;AACjB,gBAAM,aAAa;AAAA,YACjB;AAAA,YACA;AAAA,YACA,SAAS;AAAA,YACT,SAAS;AAAA,UAAA;AAGX,iBACE;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,SAAQ;AAAA,cACR,cAAc;AAAA,cACd,UAAU;AAAA,cACV,MAAM;AAAA,cACN,OAAM;AAAA,cACN,IAAI,CAACA,SAAO,QAAQA,SAAO,YAAY,cAAcA,SAAO,kBAAkB;AAAA,YAAA;AAAA,UAAA;AAAA,QAGpF,EAAA,CACF;AAAA,MAAA,EAAA,CACF;AAAA,IAAA,EAAA,CACF,EAAA,CACF;AAAA,EAAA,GACF;AAEJ;AAEA,MAAMA,WAAS;AAAA,EACb,MAAM,EAAE,OAAO,CAAC,UAAU,MAAM,QAAQ,QAAQ,MAAM,IAAI,QAAQ,SAAS,QAAA;AAAA,EAC3E,OAAO;AAAA,IACL,UAAU;AAAA,IACV,YAAY;AAAA,IACZ,YAAY;AAAA,EAAA;AAAA,EAEd,cAAc;AAAA,IACZ,WAAW;AAAA,EAAA;AAAA,EAEb,oBAAoB;AAAA,IAClB,OAAO;AAAA,IACP,cAAc;AAAA,EAAA;AAAA,EAEhB,WAAW;AAAA,IACT,OAAO;AAAA,IACP,wBAAwB;AAAA,MACtB,OAAO;AAAA,IAAA;AAAA,IAET,uBAAuB;AAAA,MACrB,SAAS;AAAA,MACT,gBAAgB;AAAA,MAChB,YAAY;AAAA,MACZ,IAAI;AAAA,IAAA;AAAA,IAEN,6BAA6B;AAAA,MAC3B,SAAS;AAAA,IAAA;AAAA,EACX;AAAA,EAEF,cAAc;AAAA,IACZ,SAAS;AAAA,IACT,MAAM;AAAA,IACN,gBAAgB;AAAA,IAChB,YAAY;AAAA,EAAA;AAAA,EAEd,aAAa;AAAA,IACX,SAAS;AAAA,IACT,WAAW;AAAA,IACX,gBAAgB;AAAA,EAAA;AAAA,EAElB,QAAQ,EAAE,IAAI,GAAG,IAAI,GAAG,UAAU,QAAQ,OAAO,QAAA;AAAA,EACjD,YAAY;AAAA,IACV,aAAa;AAAA,IACb,aAAa;AAAA,IACb,OAAO;AAAA,EAAA;AAAA,EAET,YAAY;AAAA,IACV,SAAS;AAAA,IACT,eAAe;AAAA,IACf,KAAK;AAAA,IACL,cAAc;AAAA,MACZ,OAAO;AAAA,MACP,aAAa;AAAA,IAAA;AAAA,EACf;AAAA,EAEF,oBAAoB;AAAA,IAClB,cAAc;AAAA,MACZ,OAAO;AAAA,MACP,aAAa;AAAA,IAAA;AAAA,EACf;AAEJ;AAEA,yBAAyB,YAAY;AAAA,EACnC,0BAA0B,UAAU;AAAA,IAClC,UAAU,MAAM;AAAA,MACd,IAAI,UAAU,OAAO;AAAA,MACrB,MAAM,UAAU,OAAO;AAAA,MACvB,MAAM,UAAU;AAAA,MAChB,SAAS,UAAU;AAAA,QACjB,UAAU,MAAM;AAAA,UACd,IAAI,UAAU,OAAO;AAAA,UACrB,iBAAiB,UAAU,OAAO;AAAA,QAAA,CACnC;AAAA,MAAA;AAAA,IACH,CACD;AAAA,EAAA,EACD;AAAA,EACF,qBAAqB,UAAU,KAAK;AAAA,EACpC,YAAY,UAAU,KAAK;AAAA,EAC3B,UAAU,UAAU,KAAK;AAAA,EACzB,YAAY,UAAU,KAAK;AAC7B;ACpOA,MAAM,eAAe;AAEd,MAAM,uBAAuB,CAAC;AAAA,EACnC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAAM;AACJ,SACE,qBAAA,UAAA,EACE,UAAA;AAAA,IAAA,oBAAC,cAAW,SAAQ,MAAK,IAAI,OAAO,MAAM,UAAA,YAE1C;AAAA,IACA,oBAAC,cAAW,SAAQ,MAAK,IAAI,GAC1B,UAAA,SAAS,YAAY,GACxB;AAAA,IACA,oBAAC,YAAA,EAAW,IAAI,GAAG,UAAA,+CAA2C;AAAA,IAC9D,qBAAC,MAAA,EAAK,QAAQ,CAAA,GACZ,UAAA;AAAA,MAAA;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,QAAO;AAAA,UACP,OAAM;AAAA,UACN,OAAO;AAAA,UACP,UAAU;AAAA,UACV,OAAO;AAAA,UACP,aAAa,CAAC,SAAS,KAAK;AAAA,UAC5B,OAAO,CAAC,UAAU,MAAM;AAAA,UACxB,UAAU;AAAA,QAAA;AAAA,MAAA;AAAA,MAEZ,qBAAC,KAAA,EAAI,IAAI,CAAC,OAAO,aAAa,CAAC,aAAa,OAAO,WAAW,GAC3D,UAAA;AAAA,QAAA,aACC,oBAAC,QAAA,EAAO,IAAI,CAAC,OAAO,MAAM,GAAG,SAAQ,YAAW,OAAM,aAAY,SAAS,WAAW,UAAA,YAEtF;AAAA,QAEF;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,UAAU,CAAC,uBAAuB;AAAA,YAClC,SAAQ;AAAA,YACR,IAAI,CAAC,OAAO,MAAM;AAAA,YAClB,SACE,uBAAuB,YACrB,oBAAC,WAAQ,OAAM,SAAQ,IAAI,OAAO,QAAQ,MAAM,GAAA,CAAI,wBAEnD,wBAAA,EAAuB;AAAA,YAG5B,SAAS;AAAA,YACV,UAAA;AAAA,UAAA;AAAA,QAAA;AAAA,MAED,EAAA,CACF;AAAA,IAAA,EAAA,CACF;AAAA,EAAA,GACF;AAEJ;AAEA,MAAM,SAAS;AAAA,EACb,aAAa;AAAA,IACX,SAAS;AAAA,IACT,WAAW;AAAA,IACX,gBAAgB;AAAA,IAChB,YAAY;AAAA,IACZ,KAAK;AAAA,EAAA;AAAA,EAEP,aAAa;AAAA,IACX,gBAAgB;AAAA,EAAA;AAAA,EAElB,MAAM,EAAE,OAAO,CAAC,UAAU,MAAM,QAAQ,QAAQ,MAAM,IAAI,QAAQ,SAAS,QAAA;AAAA,EAC3E,QAAQ,EAAE,IAAI,GAAG,IAAI,GAAG,UAAU,QAAQ,OAAO,QAAA;AACnD;AAEA,qBAAqB,YAAY;AAAA,EAC/B,YAAY,UAAU,KAAK;AAAA,EAC3B,WAAW,UAAU;AAAA,EACrB,qBAAqB,UAAU,UAAU,CAAC,UAAU,QAAQ,UAAU,QAAQ,UAAU,MAAM,CAAC;AAAA,EAC/F,wBAAwB,UAAU,KAAK;AAAA,EACvC,WAAW,UAAU;AACvB;AAGA,qBAAqB,eAAe;AAAA,EAClC,WAAW;AAAA,EACX,qBAAqB;AAAA,EACrB,WAAW;AACb;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.ZAmuSdK1.js","sources":["../../src/utils/index.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\n/* eslint-disable */\nimport { Link } from '@mui/material';\nimport { useLocation } from 'react-router';\nimport { Authorities } from '../constants/messageCodes';\n\nfunction fallbackCopyTextToClipboard(text, cb) {\n const textArea = document.createElement('textarea');\n textArea.value = text;\n\n // Avoid scrolling to bottom\n textArea.style.top = '0';\n textArea.style.left = '0';\n textArea.style.position = 'fixed';\n\n document.body.appendChild(textArea);\n textArea.focus();\n textArea.select();\n\n try {\n const successful = document.execCommand('copy');\n if (!successful) {\n throw new Error('Copying text command was unsuccessful');\n }\n cb();\n } catch (err) {\n cb(err);\n }\n\n document.body.removeChild(textArea);\n}\n\nexport function copyTextToClipboard(text, cb) {\n if (!navigator.clipboard) {\n fallbackCopyTextToClipboard(text, cb);\n return;\n }\n navigator.clipboard.writeText(text).then(\n function () {\n cb();\n },\n function (err) {\n cb(err);\n },\n );\n}\n\nexport const validUrlRegexp =\n /(((([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:)*@)?(((\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5])\\.(\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5])\\.(\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5])\\.(\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5]))|((([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])*([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])))\\.)+(([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])*([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])))\\.?)(:\\d*)?)(\\/((([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:|@)+(\\/(([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:|@)*)*)?)?(\\?((([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:|@)|[\\uE000-\\uF8FF]|\\/|\\?)*)?(\\#((([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:|@)|\\/|\\?)*)?$/i;\n\nexport const urlRegexp =\n /^((https?|ftp):)?\\/\\/(((([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:)*@)?(((\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5])\\.(\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5])\\.(\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5])\\.(\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5]))|((([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])*([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])))\\.)+(([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])*([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])))\\.?)(:\\d*)?)(\\/((([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:|@)+(\\/(([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:|@)*)*)?)?(\\?((([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:|@)|[\\uE000-\\uF8FF]|\\/|\\?)*)?(\\#((([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:|@)|\\/|\\?)*)?$/i;\n\nexport const secureUrlRegexp =\n /^(https):\\/\\/(((([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:)*@)?(((\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5])\\.(\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5])\\.(\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5])\\.(\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5]))|((([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])*([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])))\\.)+(([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])*([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])))\\.?)(:\\d*)?)(\\/((([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:|@)+(\\/(([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:|@)*)*)?)?(\\?((([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:|@)|[\\uE000-\\uF8FF]|\\/|\\?)*)?(\\#((([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:|@)|\\/|\\?)*)?$/i;\n\nexport const webSiteRegexp =\n /^((https?:\\/\\/)|(www\\.))[-a-zA-Z0-9@:%._\\+~#=]{2,256}\\.[a-z]{2,20}\\b([-a-zA-Z0-9@:%_\\+.~#?&//=]{0,752})$/;\n\nexport const webSiteHttpsRegexp =\n /^https:\\/\\/[-a-zA-Z0-9@:%._\\+~#=]{2,256}\\.[a-z]{2,20}\\b([-a-zA-Z0-9@:%_\\+.~#?&//=]{0,752})$/;\n\nexport const webSiteCleanPathRegexp =\n /^https:\\/\\/[A-Za-z0-9-]+(?:\\.[A-Za-z0-9-]+)*\\.[A-Za-z]{2,20}$/;\n\nexport const formatWebSiteUrl = (value) => {\n if (value && !value.startsWith('http')) {\n return `https://${value}`;\n }\n return value;\n};\n\nexport const formatRegistrationNumbers = (registrationNumbers = []) => {\n return registrationNumbers\n .filter((item) => !!item.number)\n .map((item) => (item.uri ? { ...item, uri: formatWebSiteUrl(item.uri) } : item));\n};\n\nexport const useIsHideSidebar = () => {\n const location = useLocation();\n return location.pathname.startsWith('/organizations/create') || location.pathname === '/';\n};\n\nexport const DID_HINT =\n 'A decentralized identifiers (DID) is a type of identifier that enables verifiable, decentralized digital identity. A DID in The Velocity Network refers to an organization.';\n\nexport const objectToString = (data) => JSON.stringify(data, null, 2);\n\nexport const WEBSITE_HINT =\n 'The website will be the basis of the organization identifier. It must be unique, use https, and may not contain a path. For example https://www.example.com';\nexport const WEBSITE_HINT_SHORT = 'The website is be the basis of the organization identifier.';\nexport const SUPPORT_EMAIL_HINT =\n 'This email address will be published and will be visible to individuals using the career wallet to contact the organization.';\nexport const TECHNICAL_EMAIL_HINT =\n 'This email address will be used by the Velocity Network support team to contact the organization in the event of any technical issues concerning the organization’s registration or the services it operates on Velocity Network, such as issuing, relying party, credential agent operation, and career wallet.';\nexport const ADMINISTRATOR_DETAILS_HINT =\n 'The administrator is the person managing the organization’s registration in the Velocity Network Registrar. Typically, this would be the person filling in the details of the organization in the registrar.';\nexport const SIGNATORY_DETAILS_HINT =\n 'The signatory is the person authorized to sign the organization’s participation agreement in the Velocity Network. Once the administrator registers the organization in the Velocity Network Registrar, an email will be sent to the signatory authority, asking them to accept the registration and confirm the participation agreement.';\nexport const DUNS_HINT = (\n <>\n The organization’s number in the Dan & Bradstreet system.{' '}\n <Link href=\"https://www.dnb.com/duns.html\" target=\"_blank\" color=\"inherit\">\n Click here\n </Link>{' '}\n for more information.\n </>\n);\nexport const LEI_HINT = (\n <>\n The organization’s Legal Entity Identifier (LEI).{' '}\n <Link href=\"https://www.leinumber.com/\" target=\"_blank\" color=\"inherit\">\n Click here\n </Link>{' '}\n for more information.\n </>\n);\nexport const NATIONAL_AUTHORITY_HINT = (\n <>\n Any other country-specific registration identifier, other than D-U-N-S® or LEI. If applicable,\n please indicate the website of the local country’s registration authority as well as the\n organization’s number or identifier.\n </>\n);\n\nexport const ALSO_KNOWN_AS_HINT =\n 'Also Known As is a list of aliases that the organization can be identified by';\n\nconst linkToWebhookDocs =\n 'https://www.velocitynetwork.foundation/main/developers-guide-organizations#cao-secure-messages-url-management';\nexport const ERRORS = {\n secureWebHook: (\n <>\n Secure webhook response doesn’t meet requirements. Follow instructions{' '}\n <Link href={linkToWebhookDocs} color=\"inherit\" target=\"_blank\">\n here\n </Link>\n </>\n ),\n websiteExists:\n 'This organization’s website is already registered in our system. Please check and try again.',\n default: 'Your organization profile could not be saved due to a system error. Please try again',\n};\n\nexport const LINKEDIN_ORGANIZATION_ID = `\nTo retrieve your LinkedIn Company ID, visit your company page on LinkedIn as an admin, and copy the number from the URL.\\n\nFor example, if your company page URL is https://www.linkedin.com/company/1234567/admin/, the ID is 1234567\n`;\n\nexport const SIGNATORY_EMAIL_HINT = 'Please ensure that the email address provided is a personal corporate email (e.g., sam@acme.com). Generic or role-based email addresses (e.g., manager@acme.com) will not be accepted.';\n\nexport const parseJwt = (token) => {\n try {\n return JSON.parse(atob(token.split('.')[1]));\n } catch (e) {\n return null;\n }\n};\n"],"names":[],"mappings":"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"}
|
package/jest.config.cjs
DELETED
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
const packageJson = require('./package.json');
|
|
2
|
-
const jestConfig = require('../../jest.config.base');
|
|
3
|
-
|
|
4
|
-
// Helper function for resolving paths
|
|
5
|
-
// const resolvePath = (relativePath) => path.resolve(__dirname, relativePath);
|
|
6
|
-
|
|
7
|
-
module.exports = {
|
|
8
|
-
...jestConfig(packageJson.name),
|
|
9
|
-
roots: ['src'],
|
|
10
|
-
testEnvironment: 'jsdom',
|
|
11
|
-
transform: { '^.+\\.[jt]sx?$': '@swc/jest' },
|
|
12
|
-
transformIgnorePatterns: [
|
|
13
|
-
'/node_modules/(?!decode-uri-component|react-hotkeys-hook)',
|
|
14
|
-
'\\.(css|scss|sass)$',
|
|
15
|
-
],
|
|
16
|
-
|
|
17
|
-
// Recognized file extensions for modules
|
|
18
|
-
moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx', 'json', 'node'],
|
|
19
|
-
// moduleDirectories: ['node_modules', 'src'],
|
|
20
|
-
moduleNameMapper: {
|
|
21
|
-
'^@/(.*)$': '<rootDir>/src/$1', // Maps @/ to src/
|
|
22
|
-
'^@shared/(.*)$': '<rootDir>/src/shared/$1', // Maps @shared/ to src/shared/
|
|
23
|
-
'\\.(css|less|scss|sass)$': 'identity-obj-proxy',
|
|
24
|
-
'\\.(jpg|jpeg|png|gif|svg)$': '<rootDir>/__mocks__/fileMock.js',
|
|
25
|
-
},
|
|
26
|
-
setupFilesAfterEnv: ['./src/setupTests.cjs'],
|
|
27
|
-
|
|
28
|
-
// setupFilesAfterEnv: ['@testing-library/jest-dom/extend-expect'],
|
|
29
|
-
};
|