@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.
Files changed (131) hide show
  1. package/dist/chunks/{ConsentProvider.DIG3atk-.js → ConsentProvider.6M2ucqXH.js} +3 -3
  2. package/dist/chunks/ConsentProvider.6M2ucqXH.js.map +1 -0
  3. package/dist/chunks/{ConsentProvider.DTG51XMy.js → ConsentProvider.Bbc0preP.js} +2 -2
  4. package/dist/chunks/ConsentProvider.Bbc0preP.js.map +1 -0
  5. package/dist/chunks/{CreateOrganization.utils.C5C_r3Zp.js → CreateOrganizationUtils.C5C_r3Zp.js} +1 -1
  6. package/dist/chunks/CreateOrganizationUtils.C5C_r3Zp.js.map +1 -0
  7. package/dist/chunks/{CreateOrganization.utils.8cSBFSYF.js → CreateOrganizationUtils.Xq78HHkP.js} +7 -7
  8. package/dist/chunks/CreateOrganizationUtils.Xq78HHkP.js.map +1 -0
  9. package/dist/chunks/{CustomAppBar.DuFQqld7.js → CustomAppBar.BOlNFosS.js} +5 -7
  10. package/dist/chunks/CustomAppBar.BOlNFosS.js.map +1 -0
  11. package/dist/chunks/{CustomAppBar.BfQvuTHz.js → CustomAppBar.DaXLAwPh.js} +4 -6
  12. package/dist/chunks/CustomAppBar.DaXLAwPh.js.map +1 -0
  13. package/dist/chunks/{LinkedInRegistrationInput.C-qzrR-S.js → LinkedInRegistrationInput.CmYmSJoq.js} +8 -5
  14. package/dist/chunks/LinkedInRegistrationInput.CmYmSJoq.js.map +1 -0
  15. package/dist/chunks/{LinkedInRegistrationInput.DKRMHYRh.js → LinkedInRegistrationInput.gnYgP1Hf.js} +11 -8
  16. package/dist/chunks/LinkedInRegistrationInput.gnYgP1Hf.js.map +1 -0
  17. package/dist/chunks/{Loading.UJl_3_cf.js → Loading.Bcm3xNJU.js} +2 -3
  18. package/dist/chunks/Loading.Bcm3xNJU.js.map +1 -0
  19. package/dist/chunks/{Loading.DYBk0Ktb.js → Loading.cGHE59CV.js} +2 -3
  20. package/dist/chunks/Loading.cGHE59CV.js.map +1 -0
  21. package/dist/chunks/{MainLayout.CWFkijrE.js → MainLayout.BzfaZs8j.js} +2 -2
  22. package/dist/chunks/{MainLayout.CWFkijrE.js.map → MainLayout.BzfaZs8j.js.map} +1 -1
  23. package/dist/chunks/{MainLayout.6Hq5XQ-L.js → MainLayout.V-ymVxxR.js} +3 -3
  24. package/dist/chunks/{MainLayout.6Hq5XQ-L.js.map → MainLayout.V-ymVxxR.js.map} +1 -1
  25. package/dist/chunks/{OrganizationAvatar.BEwRZ9tC.js → OrganizationAvatar.BXW4diDT.js} +2 -2
  26. package/dist/chunks/{OrganizationAvatar.BEwRZ9tC.js.map → OrganizationAvatar.BXW4diDT.js.map} +1 -1
  27. package/dist/chunks/{OrganizationAvatar.lWcXtbM6.js → OrganizationAvatar.Dgg5VSPI.js} +2 -2
  28. package/dist/chunks/{OrganizationAvatar.lWcXtbM6.js.map → OrganizationAvatar.Dgg5VSPI.js.map} +1 -1
  29. package/dist/chunks/{ServicesEdit.BUAbbXgV.js → ServicesEdit.BnnqC203.js} +3 -3
  30. package/dist/chunks/ServicesEdit.BnnqC203.js.map +1 -0
  31. package/dist/chunks/{ServicesEdit.CrtEcP_7.js → ServicesEdit.DDgjS5kU.js} +2 -2
  32. package/dist/chunks/ServicesEdit.DDgjS5kU.js.map +1 -0
  33. package/dist/chunks/{SetInvitationService.BUZqAilX.js → SetInvitationService.PxAGwk-I.js} +11 -11
  34. package/dist/chunks/SetInvitationService.PxAGwk-I.js.map +1 -0
  35. package/dist/chunks/{SetInvitationService.B0ezxTzf.js → SetInvitationService.ZT5lP003.js} +5 -5
  36. package/dist/chunks/SetInvitationService.ZT5lP003.js.map +1 -0
  37. package/dist/chunks/TermsAndConditionsPdf.Ba8-5Hcm.js.map +1 -1
  38. package/dist/chunks/TermsAndConditionsPdf.ewC7N9Vy.js.map +1 -1
  39. package/dist/chunks/{CreateOrganization.C2Kf44eJ.js → ValidateTextInput.D5kgjulG.js} +328 -14
  40. package/dist/chunks/ValidateTextInput.D5kgjulG.js.map +1 -0
  41. package/dist/chunks/{CreateOrganization.A11-a_8R.js → ValidateTextInput.DEBaVB1L.js} +356 -42
  42. package/dist/chunks/ValidateTextInput.DEBaVB1L.js.map +1 -0
  43. package/dist/chunks/{index.DZOVpocw.js → index.CYCWawJT.js} +6 -6
  44. package/dist/chunks/index.CYCWawJT.js.map +1 -0
  45. package/dist/chunks/{index.DmM8ShwP.js → index.Cmn4FlUL.js} +5 -5
  46. package/dist/chunks/index.Cmn4FlUL.js.map +1 -0
  47. package/dist/chunks/{index.DlFajFTS.js → index.DIizFYFZ.js} +3 -3
  48. package/dist/chunks/index.DIizFYFZ.js.map +1 -0
  49. package/dist/chunks/{index.ZAmuSdK1.js → index.DIur8MCO.js} +4 -4
  50. package/dist/chunks/index.DIur8MCO.js.map +1 -0
  51. package/dist/chunks/{index.Ch4ynES2.js → index.DMWKdmxs.js} +4 -5
  52. package/dist/chunks/index.DMWKdmxs.js.map +1 -0
  53. package/dist/chunks/{index.Dir1xwV4.js → index.DND10PiY.js} +5 -6
  54. package/dist/chunks/index.DND10PiY.js.map +1 -0
  55. package/dist/chunks/{index.Cpod3Il3.js → index.YjnxLFjk.js} +3 -3
  56. package/dist/chunks/index.YjnxLFjk.js.map +1 -0
  57. package/dist/chunks/index.iexmV4Mr.js.map +1 -1
  58. package/dist/chunks/remoteDataProvider.BCiFSYnk.js.map +1 -1
  59. package/dist/chunks/remoteDataProvider.gtTXA1-g.js.map +1 -1
  60. package/dist/chunks/useIsIssuingInspection.C76mY_wb.js.map +1 -1
  61. package/dist/chunks/useIsIssuingInspection.DavhBs5B.js.map +1 -1
  62. package/dist/components/AppBar.cjs +1 -1
  63. package/dist/components/AppBar.js +1 -1
  64. package/dist/components/common.cjs +3 -3
  65. package/dist/components/common.js +3 -3
  66. package/dist/components/invitations.cjs +1 -1
  67. package/dist/components/invitations.js +1 -1
  68. package/dist/components/organizations.cjs +12 -301
  69. package/dist/components/organizations.cjs.map +1 -1
  70. package/dist/components/organizations.js +10 -299
  71. package/dist/components/organizations.js.map +1 -1
  72. package/dist/components/services.cjs +1 -1
  73. package/dist/components/services.js +1 -1
  74. package/dist/components.cjs +2 -2
  75. package/dist/components.js +2 -2
  76. package/dist/index.cjs +3 -3
  77. package/dist/index.cjs.map +1 -1
  78. package/dist/index.js +3 -3
  79. package/dist/index.js.map +1 -1
  80. package/dist/layouts.cjs +1 -1
  81. package/dist/layouts.js +1 -1
  82. package/dist/pages/individuals.cjs +4 -4
  83. package/dist/pages/individuals.cjs.map +1 -1
  84. package/dist/pages/individuals.js +5 -5
  85. package/dist/pages/individuals.js.map +1 -1
  86. package/dist/pages/invitations.cjs +11 -12
  87. package/dist/pages/invitations.cjs.map +1 -1
  88. package/dist/pages/invitations.js +9 -10
  89. package/dist/pages/invitations.js.map +1 -1
  90. package/dist/pages/organizations.cjs +74 -75
  91. package/dist/pages/organizations.cjs.map +1 -1
  92. package/dist/pages/organizations.js +10 -11
  93. package/dist/pages/organizations.js.map +1 -1
  94. package/dist/pages/services.cjs +6 -6
  95. package/dist/pages/services.cjs.map +1 -1
  96. package/dist/pages/services.js +5 -5
  97. package/dist/pages/services.js.map +1 -1
  98. package/dist/pages.cjs +1 -1
  99. package/dist/pages.cjs.map +1 -1
  100. package/dist/pages.js +1 -1
  101. package/dist/pages.js.map +1 -1
  102. package/package.json +12 -9
  103. package/setup-tests.js +31 -0
  104. package/dist/chunks/ConsentProvider.DIG3atk-.js.map +0 -1
  105. package/dist/chunks/ConsentProvider.DTG51XMy.js.map +0 -1
  106. package/dist/chunks/CreateOrganization.A11-a_8R.js.map +0 -1
  107. package/dist/chunks/CreateOrganization.C2Kf44eJ.js.map +0 -1
  108. package/dist/chunks/CreateOrganization.utils.8cSBFSYF.js.map +0 -1
  109. package/dist/chunks/CreateOrganization.utils.C5C_r3Zp.js.map +0 -1
  110. package/dist/chunks/CustomAppBar.BfQvuTHz.js.map +0 -1
  111. package/dist/chunks/CustomAppBar.DuFQqld7.js.map +0 -1
  112. package/dist/chunks/LinkedInRegistrationInput.C-qzrR-S.js.map +0 -1
  113. package/dist/chunks/LinkedInRegistrationInput.DKRMHYRh.js.map +0 -1
  114. package/dist/chunks/Loading.DYBk0Ktb.js.map +0 -1
  115. package/dist/chunks/Loading.UJl_3_cf.js.map +0 -1
  116. package/dist/chunks/OrganisationSubmitButton.D32qynh9.js +0 -40
  117. package/dist/chunks/OrganisationSubmitButton.D32qynh9.js.map +0 -1
  118. package/dist/chunks/OrganisationSubmitButton.D3w1nG1X.js +0 -41
  119. package/dist/chunks/OrganisationSubmitButton.D3w1nG1X.js.map +0 -1
  120. package/dist/chunks/ServicesEdit.BUAbbXgV.js.map +0 -1
  121. package/dist/chunks/ServicesEdit.CrtEcP_7.js.map +0 -1
  122. package/dist/chunks/SetInvitationService.B0ezxTzf.js.map +0 -1
  123. package/dist/chunks/SetInvitationService.BUZqAilX.js.map +0 -1
  124. package/dist/chunks/index.Ch4ynES2.js.map +0 -1
  125. package/dist/chunks/index.Cpod3Il3.js.map +0 -1
  126. package/dist/chunks/index.DZOVpocw.js.map +0 -1
  127. package/dist/chunks/index.Dir1xwV4.js.map +0 -1
  128. package/dist/chunks/index.DlFajFTS.js.map +0 -1
  129. package/dist/chunks/index.DmM8ShwP.js.map +0 -1
  130. package/dist/chunks/index.ZAmuSdK1.js.map +0 -1
  131. package/jest.config.cjs +0 -29
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ValidateTextInput.DEBaVB1L.js","sources":["../../src/components/organizations/OrganizationSubmitButton.jsx","../../src/utils/hooks/useDebounceValue.js","../../src/components/organizations/AutoCompleteOrganizationName.jsx","../../src/components/organizations/CreateInvitationForOrganization.jsx","../../src/components/organizations/CreateOrganization.jsx","../../src/components/organizations/ValidateTextInput.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 { Button } from 'react-admin';\nimport { useEffect } from 'react';\nimport { useFormContext } from 'react-hook-form';\nimport PropTypes from 'prop-types';\n\nimport Loading from '../Loading.jsx';\n\nconst OrganizationSubmitButton = ({ title, isLoading, endIcon, styles, handleState, enabled }) => {\n const form = useFormContext();\n\n useEffect(() => {\n if (handleState) {\n handleState(form.formState.isValid);\n }\n }, [form.formState.isValid, handleState]);\n\n return (\n <Button\n disabled={!form.formState.isValid && !enabled}\n variant=\"outlined\"\n color=\"primary\"\n type=\"submit\"\n size=\"large\"\n label={isLoading ? '' : title}\n endIcon={endIcon}\n sx={styles}\n >\n {isLoading && <Loading color=\"error\" sx={{ pl: '10px' }} size={26} />}\n </Button>\n );\n};\n\n// eslint-disable-next-line better-mutation/no-mutation\nOrganizationSubmitButton.propTypes = {\n title: PropTypes.string.isRequired,\n isLoading: PropTypes.bool,\n endIcon: PropTypes.element,\n // eslint-disable-next-line react/forbid-prop-types\n styles: PropTypes.object,\n handleState: PropTypes.func,\n enabled: PropTypes.bool,\n};\n\nexport default OrganizationSubmitButton;\n","import { useEffect, useState } from 'react';\n\nconst useDebounce = (value, delay) => {\n const [debouncedValue, setDebouncedValue] = useState(value);\n\n useEffect(() => {\n const timer = setTimeout(() => setDebouncedValue(value), delay || 500);\n\n return () => {\n clearTimeout(timer);\n };\n }, [value, delay]);\n\n return debouncedValue;\n};\n\nexport default useDebounce;\n","import { useCallback, useState, useEffect } from 'react';\nimport { Box, Autocomplete, Typography, useTheme, TextField, Button } from '@mui/material';\nimport { useDataProvider } from 'react-admin';\nimport { useFormContext } from 'react-hook-form';\n// eslint-disable-next-line import/extensions\nimport parse from 'autosuggest-highlight/parse/index.js';\n// eslint-disable-next-line import/extensions\nimport match from 'autosuggest-highlight/match/index.js';\nimport { Add as AddIcon } from '@mui/icons-material';\nimport PropTypes from 'prop-types';\nimport { dataResources } from '@/utils/remoteDataProvider.js';\nimport useDebounce from '@/utils/hooks/useDebounceValue.js';\n\nconst DID_START = 'did:';\nconst ERRORS = {\n DID_NOT_FOUND: 'DID not found',\n REQUIRED: 'Required',\n};\n\nconst AutoCompleteOrganizationName = ({ defaultValue }) => {\n const form = useFormContext();\n const [value, setValue] = useState(defaultValue);\n const [text, setText] = useState(defaultValue?.name || '');\n const [options, setOptions] = useState([]);\n const [isOpen, setIsOpen] = useState(false);\n const [loading, setLoading] = useState(false);\n const [error, setError] = useState('');\n const dataProvider = useDataProvider();\n const debouncedText = useDebounce(text, 500);\n const theme = useTheme();\n const [stopSearch, setStopSearch] = useState(false);\n\n form.register('org.name', { required: true });\n\n useEffect(() => {\n form.setValue('org', value, { shouldValidate: true });\n }, [form, value]);\n\n useEffect(() => {\n const searchProfiles = async () => {\n if (stopSearch) {\n return;\n }\n\n setLoading(true);\n try {\n if (debouncedText.includes(DID_START)) {\n const result = await dataProvider.getOne(dataResources.VERIFIED_PROFILE, {\n id: debouncedText,\n });\n setError('');\n setText(result.data.credentialSubject.name);\n setValue(result.data.credentialSubject);\n setIsOpen(false);\n return;\n }\n\n if (!debouncedText) {\n setOptions([]);\n\n return;\n }\n\n const result = await dataProvider.getList(dataResources.SEARCH_PROFILES, {\n search: debouncedText,\n });\n\n setOptions(result.data.slice(0, 5));\n } catch {\n setOptions([]);\n\n if (debouncedText.includes(DID_START)) {\n setError(ERRORS.DID_NOT_FOUND);\n }\n } finally {\n setLoading(false);\n }\n };\n\n if (debouncedText) {\n searchProfiles();\n }\n }, [dataProvider, debouncedText, stopSearch]);\n\n useEffect(() => {\n if (!isOpen) {\n setOptions([]);\n }\n }, [isOpen]);\n\n const handleChangeText = useCallback((event) => {\n setText(event?.target?.value);\n setValue({ name: event?.target?.value });\n }, []);\n\n const handleBlur = useCallback(() => {\n if (!text) {\n setValue(null);\n setError(ERRORS.REQUIRED);\n }\n\n if (text && !options.length) {\n setValue({ name: text });\n }\n }, [options, text]);\n\n const handleFocus = useCallback(() => {\n setError('');\n }, []);\n\n const handleStopSearch = useCallback(() => {\n setStopSearch(true);\n setOptions([]);\n\n setTimeout(() => {\n setStopSearch(false);\n }, 10000);\n }, []);\n\n return (\n <Box marginBottom={5}>\n <Autocomplete\n fullWidth\n options={text?.length && !loading ? options : []}\n inputValue={text || ''}\n open={isOpen}\n onOpen={() => setIsOpen(true)}\n onClose={() => setIsOpen(false)}\n onInputChange={handleChangeText}\n getOptionLabel={(params) => params?.name?.toString()}\n getOptionKey={(params) => params.id}\n loading={loading}\n freeSolo\n disableClearable\n blurOnSelect\n value={value}\n filterOptions={(x) => x}\n onChange={(_event, newValue) => {\n if (typeof newValue === 'string') {\n setText(text);\n setValue({ name: text });\n setOptions([]);\n\n return;\n }\n\n setValue(newValue);\n setText(newValue.name);\n }}\n renderOption={(props, option, { inputValue }) => {\n const matches = match(option.name, inputValue, { insideWords: true });\n const parts = parse(option.name, matches);\n // eslint-disable-next-line react/prop-types\n const isLastItem = props['data-option-index'] === options.length - 1;\n\n return (\n <>\n <li {...props} style={isLastItem ? styles.lastItem : styles.item}>\n <div>\n <div>\n {parts.map((part, index) => (\n <Typography\n /* eslint-disable-next-line react/no-array-index-key */\n key={index}\n style={{ fontWeight: part.highlight ? 700 : 400 }}\n variant=\"pl\"\n >\n {part.text}\n </Typography>\n ))}\n </div>\n <Typography variant=\"ps\" color={theme.palette.secondary.light}>\n {option.id}\n </Typography>\n </div>\n </li>\n\n {isLastItem ? (\n <Button\n variant=\"outlined\"\n color=\"secondary\"\n onClick={handleStopSearch}\n sx={styles.inviteButton}\n >\n <AddIcon sx={styles.plus} />\n Invite New Organization\n </Button>\n ) : null}\n </>\n );\n }}\n renderInput={(params) => (\n <Box style={styles.inputBox}>\n <TextField\n label=\"Legal Name\"\n {...params}\n value={params.inputProps.value.name}\n onBlur={handleBlur}\n onFocus={handleFocus}\n error={error}\n />\n {value?.id ? (\n <Typography\n style={styles.did}\n variant=\"ps\"\n color={theme.palette.secondary.light}\n sx={styles.inviteButton}\n >\n {value.id}\n </Typography>\n ) : null}\n </Box>\n )}\n />\n {error ? (\n <Typography variant=\"ps\" color={theme.palette.error.light}>\n {error}\n </Typography>\n ) : null}\n </Box>\n );\n};\n\n// eslint-disable-next-line better-mutation/no-mutation\nAutoCompleteOrganizationName.propTypes = {\n // eslint-disable-next-line react/forbid-prop-types\n defaultValue: PropTypes.object,\n};\n\nconst styles = {\n inputBox: { position: 'relative' },\n item: {\n padding: '8px 12px',\n borderBottomWidth: '1px',\n borderBottomStyle: 'solid',\n borderBottomColor: '#D1D4D8',\n },\n lastItem: {\n padding: '8px 12px',\n },\n did: {\n position: 'absolute',\n left: '0px',\n bottom: '-12px',\n },\n inviteButton: {\n color: (theme) => theme.customColors.grey2,\n marginBottom: '16px',\n marginLeft: '12px',\n marginTop: '16px',\n fontSize: '12px',\n },\n plus: {\n width: '16px',\n height: '16px',\n marginRight: '6px',\n },\n};\n\nexport default AutoCompleteOrganizationName;\n","/**\n * Copyright 2023 Velocity Team\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Box, Button, Stack, Tooltip, Typography } from '@mui/material';\nimport { AutocompleteInput, Form, TextInput, FormDataConsumer, useDataProvider } from 'react-admin';\nimport { useRef, useCallback } from 'react';\nimport PropTypes from 'prop-types';\nimport KeyboardArrowRightIcon from '@mui/icons-material/KeyboardArrowRight';\nimport InfoIcon from '@mui/icons-material/Info';\n\nimport { WEBSITE_HINT, SUPPORT_EMAIL_HINT, TECHNICAL_EMAIL_HINT } from '../../utils/index.jsx';\nimport {\n validateEmail,\n validateWebsite,\n validateName,\n validateWebsiteStrict,\n} from './CreateOrganizationUtils.js';\nimport OrganizationSubmitButton from './OrganizationSubmitButton.jsx';\nimport CustomImageInput from '../common/CustomImageInput/index.jsx';\nimport AuthorityRegistrationNumbersInput from '../../pages/organizations/components/AuthorityRegistrationInput.jsx';\nimport { LinkedInRegistrationInput } from '../../pages/organizations/components/LinkedInRegistrationInput.jsx';\nimport { dataResources } from '../../utils/remoteDataProvider.js';\n\nconst CreateInvitationForOrganization = ({ onSubmit, countryCodes, onCancel, defaultValues }) => {\n const dataProvider = useDataProvider();\n\n const timeout = useRef(null);\n\n const debouncedValidation = async (value) => {\n clearTimeout(timeout.current);\n\n if (!value) {\n return undefined;\n }\n\n return new Promise((resolve) => {\n // eslint-disable-next-line better-mutation/no-mutation\n timeout.current = setTimeout(async () => {\n const inputNormalized = value.replace(/\\s\\s+/g, ' ').trim().toLowerCase();\n const { data: searchedProfiles } = await dataProvider.getList(\n dataResources.SEARCH_PROFILES,\n {\n search: inputNormalized,\n },\n );\n if (searchedProfiles?.some((org) => org.name.toLowerCase() === inputNormalized)) {\n resolve({ message: 'Organization already exists' });\n } else {\n resolve(undefined);\n }\n }, 500);\n });\n };\n\n const orgNamevalidation = [...validateName, debouncedValidation];\n\n const handleSubmit = useCallback(\n (data) => {\n onSubmit(data);\n },\n [onSubmit],\n );\n\n return (\n <Box>\n <Typography variant=\"h1\" mb={2}>\n Invite Organization\n </Typography>\n <Typography mb={3}>\n To invite an organization to join Velocity Network™, fill in that organization&apos;s\n information below.\n </Typography>\n\n <Form onSubmit={handleSubmit} noValidate mode=\"onChange\" defaultValues={defaultValues}>\n <FormDataConsumer>\n {({ formData }) => (\n <>\n <TextInput\n fullWidth\n label=\"Legal Name\"\n source=\"name\"\n validate={orgNamevalidation}\n pb={1}\n />\n {/* Uncomment when the flow is ready */}\n {/* <AutoCompleteOrganizationName defaultValue={defaultValues?.org} /> */}\n <Stack flexDirection=\"row\" gap={1.75} mb={3.5} mt={1}>\n <CustomImageInput\n label={false}\n labelText=\"\"\n editMode\n orientation=\"vertical\"\n style={{ flexDirection: 'row', minHeight: '200px' }}\n addTo=\"\"\n isRequired={false}\n />\n </Stack>\n <TextInput fullWidth multiline label=\"Short Description\" source=\"description\" />\n <Stack flexDirection=\"row\" gap={1.75}>\n <TextInput fullWidth label=\"Website\" source=\"website\" validate={validateWebsite} />\n <Box mt={2}>\n <Tooltip title={WEBSITE_HINT}>\n <InfoIcon color=\"info\" fontSize=\"small\" cursor=\"pointer\" />\n </Tooltip>\n </Box>\n </Stack>\n <TextInput fullWidth label=\"Address\" source=\"physicalAddress.line1\" />\n <AutocompleteInput\n label=\"Country\"\n source=\"location.countryCode\"\n choices={countryCodes}\n />\n <TextInput\n fullWidth\n label=\"LinkedIn Page\"\n source=\"linkedInProfile\"\n validate={validateWebsiteStrict}\n />\n <LinkedInRegistrationInput formData={formData} source=\"registrationNumbers\" />\n <Stack flexDirection=\"row\" gap={1.75}>\n <TextInput\n fullWidth\n label=\"Support Email\"\n source=\"contactEmail\"\n validate={validateEmail}\n />\n <Box mt={2}>\n <Tooltip title={SUPPORT_EMAIL_HINT}>\n <InfoIcon color=\"info\" fontSize=\"small\" cursor=\"pointer\" />\n </Tooltip>\n </Box>\n </Stack>\n <Stack flexDirection=\"row\" gap={1.75}>\n <TextInput\n fullWidth\n label=\"Technical Contact Email\"\n source=\"technicalEmail\"\n validate={validateEmail}\n />\n <Box mt={2}>\n <Tooltip title={TECHNICAL_EMAIL_HINT}>\n <InfoIcon color=\"info\" fontSize=\"small\" cursor=\"pointer\" />\n </Tooltip>\n </Box>\n </Stack>\n <AuthorityRegistrationNumbersInput orientation=\"vertical\" isRequired={false} />\n <Box display=\"flex\" justifyContent=\"center\" pt={4}>\n <Button\n variant=\"outlined\"\n color=\"secondary\"\n sx={[sxStyles.button, sxStyles.cancelButton]}\n onClick={onCancel}\n >\n Cancel\n </Button>\n <OrganizationSubmitButton\n styles={sxStyles.button}\n title=\"Next\"\n endIcon={<KeyboardArrowRightIcon />}\n />\n </Box>\n </>\n )}\n </FormDataConsumer>\n </Form>\n </Box>\n );\n};\n\n// eslint-disable-next-line better-mutation/no-mutation\nCreateInvitationForOrganization.propTypes = {\n onSubmit: PropTypes.func.isRequired,\n onCancel: PropTypes.func.isRequired,\n // eslint-disable-next-line react/forbid-prop-types\n countryCodes: PropTypes.array.isRequired,\n // eslint-disable-next-line react/forbid-prop-types\n defaultValues: PropTypes.object,\n};\n\nexport default CreateInvitationForOrganization;\n\nconst sxStyles = {\n section: {\n display: 'block',\n pt: 1,\n pb: '12px',\n fontWeight: 500,\n },\n button: { px: 4, py: 1, fontSize: '16px', width: '160px' },\n cancelButton: { marginRight: '20px' },\n fullWidth: { width: '100%' },\n errorMessage: {\n fontSize: '0.75rem',\n color: 'primary.main',\n marginLeft: '1.25em',\n height: '1.75em',\n },\n};\n","/**\n * Copyright 2023 Velocity Team\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Box, Stack, Tooltip, Typography, Button, Grid } from '@mui/material';\nimport {\n AutocompleteInput,\n Form,\n maxLength,\n required,\n TextInput,\n FormDataConsumer,\n} from 'react-admin';\nimport { useCallback } from 'react';\nimport InfoIcon from '@mui/icons-material/Info';\nimport PropTypes from 'prop-types';\nimport { useNavigate } from 'react-router';\nimport { FOOTER_HEIGHT } from '../../theme/theme.js';\nimport {\n validateEmail,\n validateName,\n validateWebsite,\n validateWebsiteStrict,\n} from './CreateOrganizationUtils.js';\nimport OrganizationSubmitButton from './OrganizationSubmitButton.jsx';\nimport CustomImageInput from '../common/CustomImageInput/index.jsx';\nimport {\n ADMINISTRATOR_DETAILS_HINT,\n SIGNATORY_DETAILS_HINT,\n SUPPORT_EMAIL_HINT,\n TECHNICAL_EMAIL_HINT,\n WEBSITE_HINT,\n SIGNATORY_EMAIL_HINT,\n} from '../../utils/index.jsx';\nimport AuthorityRegistrationNumbersInput from '../../pages/organizations/components/AuthorityRegistrationInput.jsx';\nimport { LinkedInRegistrationInput } from '../../pages/organizations/components/LinkedInRegistrationInput.jsx';\nimport { useAuth } from '../../utils/auth/AuthContext.js';\n\nconst CreateOrganization = ({\n children,\n title,\n subTitle,\n buttonTitle,\n onSubmit,\n defaultValues,\n countryCodes,\n isLoading,\n hasOrganisations,\n userData,\n}) => {\n const { logout } = useAuth();\n const navigate = useNavigate();\n\n const handleSubmit = useCallback(\n (data) => {\n onSubmit(data);\n },\n [onSubmit],\n );\n\n return (\n <Box sx={sxStyles.root}>\n <Stack sx={sxStyles.content}>\n <Typography variant=\"h1\" mb={2}>\n {title}\n </Typography>\n <Typography variant=\"pl\" mb={6.5} textAlign=\"center\">\n {subTitle}\n </Typography>\n <Form defaultValues={defaultValues} onSubmit={handleSubmit} noValidate mode=\"all\">\n <FormDataConsumer>\n {({ formData }) => (\n <>\n <Grid container spacing={4} rowSpacing={1}>\n <Grid size={{ xs: 6 }}>\n <Stack container flex={1} flexDirection=\"column\">\n <Grid size={{ xs: 12 }}>\n <TextInput\n fullWidth\n label=\"Legal Name\"\n source=\"name\"\n validate={validateName}\n />\n </Grid>\n <Grid size={{ xs: 12 }}>\n <Stack flexDirection=\"row\" gap={1.75}>\n <TextInput\n fullWidth\n label=\"Website\"\n source=\"website\"\n validate={[required(), ...validateWebsiteStrict]}\n />\n <Box mt={2}>\n <Tooltip title={WEBSITE_HINT}>\n <InfoIcon color=\"info\" fontSize=\"small\" cursor=\"pointer\" />\n </Tooltip>\n </Box>\n </Stack>\n </Grid>\n <Grid size={{ xs: 12 }}>\n <TextInput\n fullWidth\n label=\"Address\"\n source=\"physicalAddress.line1\"\n validate={[required(), maxLength(1024)]}\n />\n </Grid>\n <Grid size={{ xs: 12 }}>\n <AutocompleteInput\n label=\"Country\"\n source=\"location.countryCode\"\n choices={countryCodes}\n validate={required()}\n />\n </Grid>\n </Stack>\n </Grid>\n\n <Grid size={{ xs: 6 }} pb={1}>\n <CustomImageInput\n label={false}\n editMode={!defaultValues.logo}\n source=\"logo\"\n imgSrc={defaultValues?.logo}\n />\n </Grid>\n <Grid size={{ xs: 6 }}>\n <Stack flexDirection=\"row\" gap={1.75}>\n <TextInput\n fullWidth\n label=\"LinkedIn Page\"\n source=\"linkedInProfile\"\n validate={[...validateWebsite, required()]}\n />\n </Stack>\n </Grid>\n <Grid size={{ xs: 6 }}>\n <LinkedInRegistrationInput formData={{ ...formData, ...defaultValues }} />\n </Grid>\n\n <Grid size={{ xs: 6 }}>\n <Stack flexDirection=\"row\" gap={1.75}>\n <TextInput\n fullWidth\n label=\"Support Email\"\n source=\"contactEmail\"\n validate={[required(), ...validateEmail]}\n />\n <Box mt={2}>\n <Tooltip title={SUPPORT_EMAIL_HINT}>\n <InfoIcon color=\"info\" fontSize=\"small\" cursor=\"pointer\" />\n </Tooltip>\n </Box>\n </Stack>\n </Grid>\n <Grid size={{ xs: 6 }}>\n <Stack flexDirection=\"row\" gap={1.75}>\n <TextInput\n fullWidth\n label=\"Technical Contact Email\"\n source=\"technicalEmail\"\n validate={[required(), ...validateEmail]}\n />\n <Box mt={2}>\n <Tooltip title={TECHNICAL_EMAIL_HINT}>\n <InfoIcon color=\"info\" fontSize=\"small\" cursor=\"pointer\" />\n </Tooltip>\n </Box>\n </Stack>\n </Grid>\n <AuthorityRegistrationNumbersInput\n source=\"registrationNumbers\"\n orientation=\"horizontal\"\n />\n <Grid size={{ xs: 12 }}>\n <TextInput\n fullWidth\n multiline\n label=\"Short Description\"\n placeholder=\"Description (a boilerplate for other Network participants to read about the organization)\"\n source=\"description\"\n validate={required()}\n />\n </Grid>\n <Grid size={{ xs: 6 }}>\n <Stack flexDirection=\"row\" gap={1.75}>\n <Typography variant=\"h4\" my={2}>\n Administrator’s Details\n </Typography>\n <Box mt={2.25}>\n <Tooltip title={ADMINISTRATOR_DETAILS_HINT}>\n <InfoIcon color=\"info\" fontSize=\"small\" cursor=\"pointer\" />\n </Tooltip>\n </Box>\n </Stack>\n </Grid>\n <Grid size={{ xs: 6 }}>\n <Stack flexDirection=\"row\" gap={1.75}>\n <Typography variant=\"h4\" my={2}>\n Signatory Authority’s Details\n </Typography>\n <Box mt={2.25}>\n <Tooltip title={SIGNATORY_DETAILS_HINT}>\n <InfoIcon color=\"info\" fontSize=\"small\" cursor=\"pointer\" />\n </Tooltip>\n </Box>\n </Stack>\n </Grid>\n <Grid size={{ xs: 6 }}>\n <Stack flexDirection=\"row\" gap={1.75}>\n <TextInput\n fullWidth\n label=\"First name\"\n source=\"adminGivenName\"\n validate={[maxLength(1024), required()]}\n defaultValue={userData ? userData.givenName : ''}\n />\n </Stack>\n <Stack flexDirection=\"row\" gap={1.75}>\n <TextInput\n fullWidth\n label=\"Last name\"\n source=\"adminFamilyName\"\n validate={[maxLength(1024), required()]}\n defaultValue={userData ? userData.familyName : ''}\n />\n </Stack>\n </Grid>\n <Grid size={{ xs: 6 }}>\n <Stack flexDirection=\"row\" gap={1.75}>\n <TextInput\n fullWidth\n label=\"First name\"\n source=\"signatoryGivenName\"\n validate={[maxLength(1024), required()]}\n />\n </Stack>\n <Stack flexDirection=\"row\" gap={1.75}>\n <TextInput\n fullWidth\n label=\"Last name\"\n source=\"signatoryFamilyName\"\n validate={[maxLength(1024), required()]}\n />\n </Stack>\n </Grid>\n <Grid size={{ xs: 6 }}>\n <Stack flexDirection=\"row\" gap={1.75}>\n <TextInput\n fullWidth\n label=\"Job Title\"\n source=\"adminTitle\"\n validate={[maxLength(1024), required()]}\n />\n </Stack>\n </Grid>\n <Grid size={{ xs: 6 }}>\n <Stack flexDirection=\"row\" gap={1.75}>\n <TextInput\n fullWidth\n label=\"Job Title\"\n source=\"signatoryTitle\"\n validate={[maxLength(1024), required()]}\n />\n </Stack>\n </Grid>\n <Grid size={{ xs: 6 }}>\n <Stack flexDirection=\"row\" gap={1.75}>\n <TextInput\n fullWidth\n label=\"Email\"\n source=\"adminEmail\"\n validate={[...validateEmail, required()]}\n defaultValue={userData ? userData.email : ''}\n />\n </Stack>\n </Grid>\n <Grid size={{ xs: 6 }}>\n <Stack flexDirection=\"row\" gap={1.75}>\n <TextInput\n fullWidth\n label=\"Email\"\n source=\"signatoryEmail\"\n validate={[...validateEmail, required()]}\n />\n <Box mt={2}>\n <Tooltip title={SIGNATORY_EMAIL_HINT}>\n <InfoIcon color=\"info\" fontSize=\"small\" cursor=\"pointer\" />\n </Tooltip>\n </Box>\n </Stack>\n </Grid>\n </Grid>\n {children}\n <Box display=\"flex\" justifyContent=\"center\" pt={4}>\n <Button\n variant=\"outlined\"\n color=\"secondary\"\n size=\"large\"\n sx={sxStyles.cancelButton}\n onClick={() => (hasOrganisations ? navigate('/') : logout())}\n >\n Cancel\n </Button>\n <OrganizationSubmitButton\n title={buttonTitle}\n isLoading={isLoading}\n styles={sxStyles.saveButton}\n enabled\n />\n </Box>\n </>\n )}\n </FormDataConsumer>\n </Form>\n </Stack>\n </Box>\n );\n};\n\n// eslint-disable-next-line better-mutation/no-mutation\nCreateOrganization.propTypes = {\n title: PropTypes.string.isRequired,\n subTitle: PropTypes.string.isRequired,\n buttonTitle: PropTypes.string.isRequired,\n children: PropTypes.node,\n onSubmit: PropTypes.func.isRequired,\n // eslint-disable-next-line react/forbid-prop-types\n defaultValues: PropTypes.object,\n // eslint-disable-next-line react/forbid-prop-types\n countryCodes: PropTypes.array,\n isLoading: PropTypes.bool.isRequired,\n hasOrganisations: PropTypes.bool,\n // eslint-disable-next-line react/forbid-prop-types\n userData: PropTypes.object,\n};\n\nexport default CreateOrganization;\n\nconst sxStyles = {\n root: {\n pt: 7.5,\n pl: 1,\n pb: `calc(35px + ${FOOTER_HEIGHT})`,\n boxSizing: 'border-box',\n display: 'flex',\n justifyContent: 'center',\n },\n content: {\n maxWidth: 886,\n alignItems: 'center',\n },\n saveButton: {\n minWidth: 160,\n },\n cancelButton: {\n minWidth: 160,\n mr: 2,\n },\n errorMessage: {\n fontSize: '0.75rem',\n color: 'primary.main',\n marginLeft: '1.25em',\n height: '1.75em',\n },\n fullWidth: {\n width: '100%',\n },\n};\n","/**\n * Copyright 2023 Velocity Team\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { useDataProvider, TextInput, regex, maxLength } from 'react-admin';\nimport PropTypes from 'prop-types';\nimport { useRef, useState } from 'react';\nimport { Typography, Box } from '@mui/material';\nimport { secureUrlRegexp, ERRORS } from '../../utils/index.jsx';\n\nconst ValidateTextInput = ({ source, resource, ...props }) => {\n const { debounce: debounceTime = 250, ...rest } = props;\n const errorobj = { message: ' ' };\n const dataProvider = useDataProvider();\n const [isError, setIsError] = useState(false);\n\n const timeout = useRef(null);\n\n const validateSecureUrl = [\n regex(secureUrlRegexp, (res) => {\n setIsError(false);\n return res ? 'Secure webhook should be a HTTPS URL' : undefined;\n }),\n maxLength(1024),\n ];\n\n const debouncedValidation = async (value) => {\n clearTimeout(timeout.current);\n\n if (!value) {\n setIsError(false);\n return undefined;\n }\n\n return new Promise((resolve) => {\n // eslint-disable-next-line better-mutation/no-mutation\n timeout.current = setTimeout(async () => {\n const { data } = await dataProvider.create(resource, { data: { secureWebhookUrl: value } });\n if (data && data.status === 400) {\n setIsError(true);\n resolve(errorobj);\n } else {\n resolve(undefined);\n setIsError(false);\n }\n }, debounceTime);\n });\n };\n\n const validate = [...validateSecureUrl, debouncedValidation];\n\n return (\n <Box sx={sx.constainer}>\n <TextInput source={source} validate={validate} {...rest} />\n {isError && (\n <Typography variant=\"caption\" component=\"div\" sx={sx.errorMessage}>\n {ERRORS.secureWebHook}\n </Typography>\n )}\n </Box>\n );\n};\n\nexport default ValidateTextInput;\n\nconst sx = {\n constainer: {\n width: '100%',\n position: 'relative',\n },\n errorMessage: {\n color: 'primary.main',\n mt: 0,\n mb: 0.5,\n ml: 1.5,\n },\n};\n\n// eslint-disable-next-line better-mutation/no-mutation\nValidateTextInput.propTypes = {\n source: PropTypes.string,\n resource: PropTypes.string,\n errortext: PropTypes.string,\n // eslint-disable-next-line react/forbid-prop-types\n validate: PropTypes.array,\n debounce: PropTypes.number,\n};\n"],"names":["styles","useFormContext","useEffect","jsx","Button","Loading","useState","useDataProvider","theme","useTheme","result","dataResources","useCallback","jsxs","Box","Autocomplete","Fragment","index","Typography","AddIcon","TextField","useRef","validateName","Form","FormDataConsumer","TextInput","Stack","CustomImageInput","validateWebsite","Tooltip","WEBSITE_HINT","AutocompleteInput","validateWebsiteStrict","LinkedInRegistrationInput","validateEmail","SUPPORT_EMAIL_HINT","TECHNICAL_EMAIL_HINT","AuthorityRegistrationNumbersInput","sxStyles","useAuth","useNavigate","Grid","required","maxLength","ADMINISTRATOR_DETAILS_HINT","SIGNATORY_DETAILS_HINT","SIGNATORY_EMAIL_HINT","FOOTER_HEIGHT","regex","secureUrlRegexp","ERRORS"],"mappings":"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"}
@@ -7,13 +7,13 @@ const reactAdmin = require("react-admin");
7
7
  const InfoIcon = require("@mui/icons-material/Info");
8
8
  const PropTypes = require("prop-types");
9
9
  const CustomDropDown = require("./CustomDropDown.rP9eQtKr.js");
10
- const OrganizationAvatar = require("./OrganizationAvatar.BEwRZ9tC.js");
11
- const CreateOrganization_utils = require("./CreateOrganization.utils.C5C_r3Zp.js");
10
+ const OrganizationAvatar = require("./OrganizationAvatar.BXW4diDT.js");
11
+ const CreateOrganizationUtils = require("./CreateOrganizationUtils.C5C_r3Zp.js");
12
12
  const chainNames = require("./chainNames.DF5Kayu_.js");
13
13
  const ConfigContext = require("./ConfigContext.CqbiiiBD.js");
14
- const index = require("./index.Dir1xwV4.js");
14
+ const index = require("./index.DND10PiY.js");
15
15
  const KeyboardArrowRightIcon = require("@mui/icons-material/KeyboardArrowRight");
16
- const Loading = require("./Loading.DYBk0Ktb.js");
16
+ const Loading = require("./Loading.cGHE59CV.js");
17
17
  const serviceTypes = require("./serviceTypes.D7c4G5GY.js");
18
18
  const isAddButtonDisabled = (inProgress, isIssueOrInspection, selectedCAO, serviceEndpoint) => {
19
19
  return !(isIssueOrInspection && serviceEndpoint && selectedCAO || !isIssueOrInspection && serviceEndpoint) || inProgress;
@@ -162,7 +162,7 @@ const ServiceEndpointSelection = ({
162
162
  label: "Service endpoint URL",
163
163
  validate: [
164
164
  reactAdmin.required("Service endpoint URL field is required"),
165
- ...CreateOrganization_utils.validateServiceEndpoint
165
+ ...CreateOrganizationUtils.validateServiceEndpoint
166
166
  ],
167
167
  parse: (value) => value?.trim() ?? "",
168
168
  disabled: inProgress
@@ -366,4 +366,4 @@ ServiceTypeSelection.defaultProps = {
366
366
  };
367
367
  exports.ServiceEndpointSelection = ServiceEndpointSelection;
368
368
  exports.ServiceTypeSelection = ServiceTypeSelection;
369
- //# sourceMappingURL=index.DZOVpocw.js.map
369
+ //# sourceMappingURL=index.CYCWawJT.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.CYCWawJT.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/CreateOrganizationUtils.js';\nimport { chainNames } from '@/utils/chainNames.js';\nimport { useConfig } from '@/utils/ConfigContext.js';\n\nimport { getTitle, isAddButtonDisabled } from '../../utils/index.js';\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.js';\n\nimport { getTitle } from '../../utils/index.js';\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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"}
@@ -6,13 +6,13 @@ import { useInput, AutocompleteInput, Form, TextInput, required, FormDataConsume
6
6
  import InfoIcon from "@mui/icons-material/Info";
7
7
  import PropTypes from "prop-types";
8
8
  import { C as CustomDropDown } from "./CustomDropDown.DS_ln3ym.js";
9
- import { O as OrganizationAvatar } from "./OrganizationAvatar.lWcXtbM6.js";
10
- import { d as validateServiceEndpoint } from "./CreateOrganization.utils.8cSBFSYF.js";
9
+ import { O as OrganizationAvatar } from "./OrganizationAvatar.Dgg5VSPI.js";
10
+ import { c as validateServiceEndpoint } from "./CreateOrganizationUtils.Xq78HHkP.js";
11
11
  import { c as chainNames } from "./chainNames.DRzS8u_K.js";
12
12
  import { u as useConfig } from "./ConfigContext.Cd8KjWqG.js";
13
- import { g as getTitle } from "./index.Ch4ynES2.js";
13
+ import { g as getTitle } from "./index.DMWKdmxs.js";
14
14
  import KeyboardArrowRightIcon from "@mui/icons-material/KeyboardArrowRight";
15
- import { L as Loading } from "./Loading.UJl_3_cf.js";
15
+ import { L as Loading } from "./Loading.Bcm3xNJU.js";
16
16
  import { b as serviceTypes } from "./serviceTypes.CxLXtDIT.js";
17
17
  const isAddButtonDisabled = (inProgress, isIssueOrInspection, selectedCAO, serviceEndpoint) => {
18
18
  return !(isIssueOrInspection && serviceEndpoint && selectedCAO || !isIssueOrInspection && serviceEndpoint) || inProgress;
@@ -367,4 +367,4 @@ export {
367
367
  ServiceTypeSelection as S,
368
368
  ServiceEndpointSelection as a
369
369
  };
370
- //# sourceMappingURL=index.DmM8ShwP.js.map
370
+ //# sourceMappingURL=index.Cmn4FlUL.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.Cmn4FlUL.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/CreateOrganizationUtils.js';\nimport { chainNames } from '@/utils/chainNames.js';\nimport { useConfig } from '@/utils/ConfigContext.js';\n\nimport { getTitle, isAddButtonDisabled } from '../../utils/index.js';\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.js';\n\nimport { getTitle } from '../../utils/index.js';\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":"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"}
@@ -7,9 +7,9 @@ const reactHookForm = require("react-hook-form");
7
7
  const remoteDataProvider = require("./remoteDataProvider.BCiFSYnk.js");
8
8
  const theme = require("./theme.CDQ6GHCD.js");
9
9
  const material = require("@mui/material");
10
- const OrganizationAvatar = require("./OrganizationAvatar.BEwRZ9tC.js");
10
+ const OrganizationAvatar = require("./OrganizationAvatar.BXW4diDT.js");
11
11
  const SvgIcon = require("@mui/material/SvgIcon");
12
- const Loading = require("./Loading.DYBk0Ktb.js");
12
+ const Loading = require("./Loading.cGHE59CV.js");
13
13
  const toBase64 = (file) => new Promise((resolve, reject) => {
14
14
  const reader = new FileReader();
15
15
  reader.readAsArrayBuffer(file);
@@ -505,4 +505,4 @@ const sx = {
505
505
  }
506
506
  };
507
507
  exports.CustomImageInput = CustomImageInput;
508
- //# sourceMappingURL=index.DlFajFTS.js.map
508
+ //# sourceMappingURL=index.DIizFYFZ.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.DIizFYFZ.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';\nimport { useFormContext } from 'react-hook-form';\nimport { dataResources } from '../../../utils/remoteDataProvider.js';\nimport theme from '../../../theme/theme.js';\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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"}
@@ -107,14 +107,14 @@ export {
107
107
  ERRORS as E,
108
108
  LINKEDIN_ORGANIZATION_ID as L,
109
109
  NATIONAL_AUTHORITY_HINT as N,
110
- SUPPORT_EMAIL_HINT as S,
110
+ SIGNATORY_DETAILS_HINT as S,
111
111
  TECHNICAL_EMAIL_HINT as T,
112
112
  WEBSITE_HINT as W,
113
113
  webSiteHttpsRegexp as a,
114
114
  webSiteCleanPathRegexp as b,
115
- SIGNATORY_DETAILS_HINT as c,
115
+ LEI_HINT as c,
116
116
  SIGNATORY_EMAIL_HINT as d,
117
- LEI_HINT as e,
117
+ SUPPORT_EMAIL_HINT as e,
118
118
  formatRegistrationNumbers as f,
119
119
  formatWebSiteUrl as g,
120
120
  copyTextToClipboard as h,
@@ -128,4 +128,4 @@ export {
128
128
  validUrlRegexp as v,
129
129
  webSiteRegexp as w
130
130
  };
131
- //# sourceMappingURL=index.ZAmuSdK1.js.map
131
+ //# sourceMappingURL=index.DIur8MCO.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.DIur8MCO.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.js';\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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"}
@@ -2,12 +2,11 @@ import { jsxs, jsx, Fragment } from "react/jsx-runtime";
2
2
  import { useState, useCallback, useMemo, useEffect } from "react";
3
3
  import PropTypes from "prop-types";
4
4
  import { P as Popup } from "./Popup.C5odWCD_.js";
5
- import { useTheme, Typography, Box, Button } from "@mui/material";
5
+ import { useTheme, Typography, Box, Button, Grid } from "@mui/material";
6
6
  import DownloadIcon from "@mui/icons-material/Download";
7
7
  import InfoIcon from "@mui/icons-material/Info";
8
- import { L as Loading } from "./Loading.UJl_3_cf.js";
9
- import { h as copyTextToClipboard, o as objectToString } from "./index.ZAmuSdK1.js";
10
- import Grid from "@mui/material/Grid2";
8
+ import { L as Loading } from "./Loading.Bcm3xNJU.js";
9
+ import { h as copyTextToClipboard, o as objectToString } from "./index.DIur8MCO.js";
11
10
  import { Form } from "react-admin";
12
11
  const titleDefault = "Wait! Before you close this window, please make sure you have saved a copy of your keys";
13
12
  const subTitleDefault = (
@@ -353,4 +352,4 @@ export {
353
352
  downloadTxtAsFile$1 as d,
354
353
  getTitle as g
355
354
  };
356
- //# sourceMappingURL=index.Ch4ynES2.js.map
355
+ //# sourceMappingURL=index.DMWKdmxs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.DMWKdmxs.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.js';\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, Grid, Typography } from '@mui/material';\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/index.js';\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.js';\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":["styles","downloadTxtAsFile"],"mappings":"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"}