@verii/components-organizations-registrar 1.0.0 → 1.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/chunks/HolderWalletSelection.BYj3foq0.js +167 -0
- package/dist/chunks/HolderWalletSelection.BYj3foq0.js.map +1 -0
- package/dist/chunks/HolderWalletSelection.BvPFTrTh.js +166 -0
- package/dist/chunks/HolderWalletSelection.BvPFTrTh.js.map +1 -0
- package/dist/chunks/{ServicesEdit.BnnqC203.js → ServicesEdit.CrmS66vz.js} +75 -50
- package/dist/chunks/ServicesEdit.CrmS66vz.js.map +1 -0
- package/dist/chunks/{ServicesEdit.DDgjS5kU.js → ServicesEdit.DFxcohIF.js} +75 -50
- package/dist/chunks/ServicesEdit.DFxcohIF.js.map +1 -0
- package/dist/chunks/{SetInvitationService.PxAGwk-I.js → SetInvitationService.BeU7-IBo.js} +3 -3
- package/dist/chunks/{SetInvitationService.PxAGwk-I.js.map → SetInvitationService.BeU7-IBo.js.map} +1 -1
- package/dist/chunks/{SetInvitationService.ZT5lP003.js → SetInvitationService.DtVH6OkH.js} +3 -3
- package/dist/chunks/{SetInvitationService.ZT5lP003.js.map → SetInvitationService.DtVH6OkH.js.map} +1 -1
- package/dist/chunks/{ValidateTextInput.D5kgjulG.js → ValidateTextInput.1Fv1GPyZ.js} +2 -2
- package/dist/chunks/{ValidateTextInput.D5kgjulG.js.map → ValidateTextInput.1Fv1GPyZ.js.map} +1 -1
- package/dist/chunks/{ValidateTextInput.DEBaVB1L.js → ValidateTextInput.DPruGgff.js} +2 -2
- package/dist/chunks/{ValidateTextInput.DEBaVB1L.js.map → ValidateTextInput.DPruGgff.js.map} +1 -1
- package/dist/chunks/{index.Cmn4FlUL.js → index.BDTIIDNe.js} +251 -114
- package/dist/chunks/index.BDTIIDNe.js.map +1 -0
- package/dist/chunks/{index.YjnxLFjk.js → index.CaxYybSL.js} +115 -56
- package/dist/chunks/index.CaxYybSL.js.map +1 -0
- package/dist/chunks/{index.DIizFYFZ.js → index.Cjk52g3G.js} +115 -56
- package/dist/chunks/index.Cjk52g3G.js.map +1 -0
- package/dist/chunks/{index.DMWKdmxs.js → index.DFMQZMWE.js} +12 -2
- package/dist/chunks/index.DFMQZMWE.js.map +1 -0
- package/dist/chunks/{index.DND10PiY.js → index.DTlm8AhC.js} +11 -1
- package/dist/chunks/index.DTlm8AhC.js.map +1 -0
- package/dist/chunks/{index.CYCWawJT.js → index.DmF-wFBs.js} +249 -112
- package/dist/chunks/index.DmF-wFBs.js.map +1 -0
- package/dist/chunks/{serviceTypes.D7c4G5GY.js → serviceTypes.BWVBK33e.js} +52 -31
- package/dist/chunks/serviceTypes.BWVBK33e.js.map +1 -0
- package/dist/chunks/{serviceTypes.CxLXtDIT.js → serviceTypes.BbBTNXB9.js} +52 -31
- package/dist/chunks/serviceTypes.BbBTNXB9.js.map +1 -0
- package/dist/components/common.cjs +1 -1
- package/dist/components/common.js +1 -1
- package/dist/components/invitations.cjs +1 -1
- package/dist/components/invitations.js +1 -1
- package/dist/components/organizations.cjs +1 -1
- package/dist/components/organizations.js +1 -1
- package/dist/components/services.cjs +1 -1
- package/dist/components/services.js +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.js +1 -1
- package/dist/pages/invitations.cjs +5 -6
- package/dist/pages/invitations.cjs.map +1 -1
- package/dist/pages/invitations.js +4 -5
- package/dist/pages/invitations.js.map +1 -1
- package/dist/pages/organizations.cjs +11 -16
- package/dist/pages/organizations.cjs.map +1 -1
- package/dist/pages/organizations.js +10 -15
- package/dist/pages/organizations.js.map +1 -1
- package/dist/pages/services.cjs +27 -30
- package/dist/pages/services.cjs.map +1 -1
- package/dist/pages/services.js +26 -29
- package/dist/pages/services.js.map +1 -1
- package/package.json +3 -3
- package/dist/chunks/ServicesEdit.BnnqC203.js.map +0 -1
- package/dist/chunks/ServicesEdit.DDgjS5kU.js.map +0 -1
- package/dist/chunks/index.CYCWawJT.js.map +0 -1
- package/dist/chunks/index.Cmn4FlUL.js.map +0 -1
- package/dist/chunks/index.DIizFYFZ.js.map +0 -1
- package/dist/chunks/index.DMWKdmxs.js.map +0 -1
- package/dist/chunks/index.DND10PiY.js.map +0 -1
- package/dist/chunks/index.YjnxLFjk.js.map +0 -1
- package/dist/chunks/invitations.BI_Qo5Ca.js +0 -10
- package/dist/chunks/invitations.BI_Qo5Ca.js.map +0 -1
- package/dist/chunks/invitations.BbK6WSY8.js +0 -11
- package/dist/chunks/invitations.BbK6WSY8.js.map +0 -1
- package/dist/chunks/serviceTypes.CxLXtDIT.js.map +0 -1
- package/dist/chunks/serviceTypes.D7c4G5GY.js.map +0 -1
- package/dist/chunks/useIsIssuingInspection.C76mY_wb.js +0 -14
- package/dist/chunks/useIsIssuingInspection.C76mY_wb.js.map +0 -1
- package/dist/chunks/useIsIssuingInspection.DavhBs5B.js +0 -13
- package/dist/chunks/useIsIssuingInspection.DavhBs5B.js.map +0 -1
|
@@ -3,8 +3,8 @@ import { Typography, Stack, Button } from "@mui/material";
|
|
|
3
3
|
import PropTypes from "prop-types";
|
|
4
4
|
import { P as Popup } from "./Popup.C5odWCD_.js";
|
|
5
5
|
import { useState, useCallback } from "react";
|
|
6
|
-
import {
|
|
7
|
-
import { u as useIsIssuingInspection } from "./
|
|
6
|
+
import { required, SaveButton, TextInput, Form } from "react-admin";
|
|
7
|
+
import { u as useIsIssuingInspection, W as WebWalletSelection, H as HolderWalletSelection } from "./HolderWalletSelection.BYj3foq0.js";
|
|
8
8
|
import { c as validateServiceEndpoint } from "./CreateOrganizationUtils.Xq78HHkP.js";
|
|
9
9
|
const ServicesDelete = ({ onClose, onConfirm, selectedService, isLoading }) => {
|
|
10
10
|
return /* @__PURE__ */ jsxs(
|
|
@@ -69,6 +69,73 @@ ServicesDelete.propTypes = {
|
|
|
69
69
|
selectedService: PropTypes.object,
|
|
70
70
|
isLoading: PropTypes.bool
|
|
71
71
|
};
|
|
72
|
+
const FormContent = ({ isModifyingServiceEnabled, selectedService }) => {
|
|
73
|
+
const { isIssuingOrInspection, isWebWallet, isHolderWallet } = useIsIssuingInspection({
|
|
74
|
+
id: selectedService?.type
|
|
75
|
+
});
|
|
76
|
+
const validateArray = [required("Service endpoint URL field is required")];
|
|
77
|
+
if (!isIssuingOrInspection) {
|
|
78
|
+
validateArray.push(...validateServiceEndpoint);
|
|
79
|
+
}
|
|
80
|
+
if (isWebWallet) {
|
|
81
|
+
return /* @__PURE__ */ jsxs(Stack, { children: [
|
|
82
|
+
/* @__PURE__ */ jsx(WebWalletSelection, { inProgress: false }),
|
|
83
|
+
/* @__PURE__ */ jsx(
|
|
84
|
+
SaveButton,
|
|
85
|
+
{
|
|
86
|
+
variant: "outlined",
|
|
87
|
+
icon: null,
|
|
88
|
+
label: "Save",
|
|
89
|
+
sx: sx.saveButton,
|
|
90
|
+
alwaysEnable: isModifyingServiceEnabled
|
|
91
|
+
}
|
|
92
|
+
)
|
|
93
|
+
] });
|
|
94
|
+
}
|
|
95
|
+
if (isHolderWallet) {
|
|
96
|
+
return /* @__PURE__ */ jsxs(Stack, { children: [
|
|
97
|
+
/* @__PURE__ */ jsx(HolderWalletSelection, { inProgress: false }),
|
|
98
|
+
/* @__PURE__ */ jsx(
|
|
99
|
+
SaveButton,
|
|
100
|
+
{
|
|
101
|
+
variant: "outlined",
|
|
102
|
+
icon: null,
|
|
103
|
+
label: "Save",
|
|
104
|
+
sx: sx.saveButton,
|
|
105
|
+
alwaysEnable: isModifyingServiceEnabled
|
|
106
|
+
}
|
|
107
|
+
)
|
|
108
|
+
] });
|
|
109
|
+
}
|
|
110
|
+
return /* @__PURE__ */ jsxs(Stack, { children: [
|
|
111
|
+
/* @__PURE__ */ jsx(
|
|
112
|
+
TextInput,
|
|
113
|
+
{
|
|
114
|
+
source: "serviceEndpoint",
|
|
115
|
+
label: "Service endpoint URL",
|
|
116
|
+
validate: validateArray,
|
|
117
|
+
parse: (value) => value.trim()
|
|
118
|
+
}
|
|
119
|
+
),
|
|
120
|
+
/* @__PURE__ */ jsx(
|
|
121
|
+
SaveButton,
|
|
122
|
+
{
|
|
123
|
+
variant: "outlined",
|
|
124
|
+
icon: null,
|
|
125
|
+
label: "Save",
|
|
126
|
+
sx: sx.saveButton,
|
|
127
|
+
alwaysEnable: isModifyingServiceEnabled
|
|
128
|
+
}
|
|
129
|
+
)
|
|
130
|
+
] });
|
|
131
|
+
};
|
|
132
|
+
const sx = {
|
|
133
|
+
saveButton: { width: "fit-content", alignSelf: "center", px: 4, py: 1, mt: 2 }
|
|
134
|
+
};
|
|
135
|
+
FormContent.propTypes = {
|
|
136
|
+
isModifyingServiceEnabled: PropTypes.bool.isRequired,
|
|
137
|
+
selectedService: PropTypes.shape({ id: PropTypes.string, type: PropTypes.string }).isRequired
|
|
138
|
+
};
|
|
72
139
|
const ServicesEdit = ({ onClose, onSave, selectedService, InterceptOnCreate }) => {
|
|
73
140
|
const { isIssuingOrInspection, isCAO } = useIsIssuingInspection({ id: selectedService?.type });
|
|
74
141
|
const [isInterceptOnCreateOpen, setIsInterceptOnCreateOpen] = useState(false);
|
|
@@ -97,21 +164,13 @@ const ServicesEdit = ({ onClose, onSave, selectedService, InterceptOnCreate }) =
|
|
|
97
164
|
title: "Edit your service details here:",
|
|
98
165
|
onClose,
|
|
99
166
|
isOpen: Boolean(selectedService),
|
|
100
|
-
children: /* @__PURE__ */ jsx(
|
|
101
|
-
|
|
167
|
+
children: /* @__PURE__ */ jsx(Form, { record: selectedService, onSubmit: handleOnSave, mode: "onChange", children: /* @__PURE__ */ jsx(
|
|
168
|
+
FormContent,
|
|
102
169
|
{
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
mode: "onChange",
|
|
106
|
-
children: /* @__PURE__ */ jsx(
|
|
107
|
-
FormContent,
|
|
108
|
-
{
|
|
109
|
-
isIssuingOrInspection,
|
|
110
|
-
isModifyingServiceEnabled
|
|
111
|
-
}
|
|
112
|
-
)
|
|
170
|
+
isModifyingServiceEnabled,
|
|
171
|
+
selectedService
|
|
113
172
|
}
|
|
114
|
-
)
|
|
173
|
+
) })
|
|
115
174
|
}
|
|
116
175
|
),
|
|
117
176
|
/* @__PURE__ */ jsx(
|
|
@@ -128,37 +187,6 @@ const ServicesEdit = ({ onClose, onSave, selectedService, InterceptOnCreate }) =
|
|
|
128
187
|
)
|
|
129
188
|
] });
|
|
130
189
|
};
|
|
131
|
-
const FormContent = ({ isIssuingOrInspection, isModifyingServiceEnabled }) => {
|
|
132
|
-
const validateArray = [required("Service endpoint URL field is required")];
|
|
133
|
-
if (!isIssuingOrInspection) {
|
|
134
|
-
validateArray.push(...validateServiceEndpoint);
|
|
135
|
-
}
|
|
136
|
-
return /* @__PURE__ */ jsxs(Stack, { children: [
|
|
137
|
-
/* @__PURE__ */ jsx(
|
|
138
|
-
TextInput,
|
|
139
|
-
{
|
|
140
|
-
source: "serviceEndpoint",
|
|
141
|
-
label: "Service endpoint URL",
|
|
142
|
-
validate: validateArray,
|
|
143
|
-
parse: (value) => value.trim()
|
|
144
|
-
}
|
|
145
|
-
),
|
|
146
|
-
/* @__PURE__ */ jsx(
|
|
147
|
-
SaveButton,
|
|
148
|
-
{
|
|
149
|
-
variant: "outlined",
|
|
150
|
-
icon: null,
|
|
151
|
-
label: "Save",
|
|
152
|
-
sx: sx.saveButton,
|
|
153
|
-
alwaysEnable: isModifyingServiceEnabled
|
|
154
|
-
}
|
|
155
|
-
)
|
|
156
|
-
] });
|
|
157
|
-
};
|
|
158
|
-
FormContent.propTypes = {
|
|
159
|
-
isIssuingOrInspection: PropTypes.bool.isRequired,
|
|
160
|
-
isModifyingServiceEnabled: PropTypes.bool.isRequired
|
|
161
|
-
};
|
|
162
190
|
ServicesEdit.propTypes = {
|
|
163
191
|
onClose: PropTypes.func,
|
|
164
192
|
onSave: PropTypes.func,
|
|
@@ -166,11 +194,8 @@ ServicesEdit.propTypes = {
|
|
|
166
194
|
selectedService: PropTypes.object,
|
|
167
195
|
InterceptOnCreate: PropTypes.elementType
|
|
168
196
|
};
|
|
169
|
-
const sx = {
|
|
170
|
-
saveButton: { width: "fit-content", alignSelf: "center", px: 4, py: 1, mt: 2 }
|
|
171
|
-
};
|
|
172
197
|
export {
|
|
173
198
|
ServicesDelete as S,
|
|
174
199
|
ServicesEdit as a
|
|
175
200
|
};
|
|
176
|
-
//# sourceMappingURL=ServicesEdit.
|
|
201
|
+
//# sourceMappingURL=ServicesEdit.DFxcohIF.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ServicesEdit.DFxcohIF.js","sources":["../../src/components/services/ServicesDelete.jsx","../../src/components/services/ServiceEditContent.jsx","../../src/components/services/ServicesEdit.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, Typography, Stack } from '@mui/material';\nimport PropTypes from 'prop-types';\n\nimport Popup from '../common/Popup.jsx';\n\nconst ServicesDelete = ({ onClose, onConfirm, selectedService, isLoading }) => {\n return (\n <Popup\n title=\"Delete service\"\n onClose={isLoading ? () => {} : onClose}\n isOpen={Boolean(selectedService)}\n >\n <Typography>Are you sure you want to delete {selectedService} service?</Typography>\n <Stack sx={styles.buttonBlock}>\n <Button\n onClick={onConfirm}\n disabled={isLoading}\n variant=\"outlined\"\n sx={styles.button}\n autoFocus\n >\n Delete\n </Button>\n <Button\n onClick={onClose}\n disabled={isLoading}\n variant=\"outlined\"\n sx={[styles.button, styles.cancelButton]}\n >\n Cancel\n </Button>\n </Stack>\n </Popup>\n );\n};\n\nconst styles = {\n buttonBlock: {\n display: 'flex',\n flexDirection: 'row-reverse',\n marginTop: '40px',\n justifyContent: 'center',\n },\n button: {\n px: 4,\n py: 1,\n fontSize: '16px',\n width: '160px',\n },\n cancelButton: { marginRight: '20px', color: 'text.primary', borderColor: 'secondary.light' },\n};\n\n// eslint-disable-next-line better-mutation/no-mutation\nServicesDelete.propTypes = {\n onClose: PropTypes.func,\n onConfirm: PropTypes.func,\n // eslint-disable-next-line react/forbid-prop-types\n selectedService: PropTypes.object,\n isLoading: PropTypes.bool,\n};\n\nexport default ServicesDelete;\n","import { TextInput, SaveButton, required } from 'react-admin';\n// eslint-disable-next-line import/no-extraneous-dependencies\nimport PropTypes from 'prop-types';\nimport { Stack } from '@mui/material';\nimport { useIsIssuingInspection } from '@/pages/services/hooks/useIsIssuingInspection.js';\nimport WebWalletSelection from '@/pages/services/components/ServiceEndpointSelection/components/WebWalletSelection.jsx';\nimport HolderWalletSelection from '@/pages/services/components/ServiceEndpointSelection/components/HolderWalletSelection.jsx';\nimport { validateServiceEndpoint } from '../organizations/CreateOrganizationUtils.js';\n\nexport const FormContent = ({ isModifyingServiceEnabled, selectedService }) => {\n const { isIssuingOrInspection, isWebWallet, isHolderWallet } = useIsIssuingInspection({\n id: selectedService?.type,\n });\n const validateArray = [required('Service endpoint URL field is required')];\n if (!isIssuingOrInspection) {\n validateArray.push(...validateServiceEndpoint);\n }\n\n if (isWebWallet) {\n return (\n <Stack>\n <WebWalletSelection inProgress={false} />\n <SaveButton\n variant=\"outlined\"\n icon={null}\n label=\"Save\"\n sx={sx.saveButton}\n alwaysEnable={isModifyingServiceEnabled}\n />\n </Stack>\n );\n }\n if (isHolderWallet) {\n return (\n <Stack>\n <HolderWalletSelection inProgress={false} />\n <SaveButton\n variant=\"outlined\"\n icon={null}\n label=\"Save\"\n sx={sx.saveButton}\n alwaysEnable={isModifyingServiceEnabled}\n />\n </Stack>\n );\n }\n return (\n <Stack>\n <TextInput\n source=\"serviceEndpoint\"\n label=\"Service endpoint URL\"\n validate={validateArray}\n parse={(value) => value.trim()}\n />\n <SaveButton\n variant=\"outlined\"\n icon={null}\n label=\"Save\"\n sx={sx.saveButton}\n alwaysEnable={isModifyingServiceEnabled}\n />\n </Stack>\n );\n};\n\nconst sx = {\n saveButton: { width: 'fit-content', alignSelf: 'center', px: 4, py: 1, mt: 2 },\n};\n\n// eslint-disable-next-line better-mutation/no-mutation\nFormContent.propTypes = {\n isModifyingServiceEnabled: PropTypes.bool.isRequired,\n selectedService: PropTypes.shape({ id: PropTypes.string, type: PropTypes.string }).isRequired,\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 { useState, useCallback } from 'react';\nimport { Form } from 'react-admin';\n// eslint-disable-next-line import/no-extraneous-dependencies\nimport PropTypes from 'prop-types';\nimport { useIsIssuingInspection } from '@/pages/services/hooks/useIsIssuingInspection.js';\nimport { FormContent } from '@/components/services/ServiceEditContent.jsx';\nimport Popup from '../common/Popup.jsx';\n\nconst ServicesEdit = ({ onClose, onSave, selectedService, InterceptOnCreate }) => {\n const { isIssuingOrInspection, isCAO } = useIsIssuingInspection({ id: selectedService?.type });\n const [isInterceptOnCreateOpen, setIsInterceptOnCreateOpen] = useState(false);\n const [selectedCAO, setSelectedCAO] = useState(\n isIssuingOrInspection ? selectedService?.serviceEndpoint.split('#')[0] : null,\n );\n const handleOnSave = useCallback(\n (data) => {\n onSave(data);\n if (InterceptOnCreate) {\n setSelectedCAO(() => data.serviceEndpoint.split('#')[0]);\n setIsInterceptOnCreateOpen(() => true);\n }\n },\n [onSave, InterceptOnCreate],\n );\n\n const handleOnClose = useCallback(() => {\n setIsInterceptOnCreateOpen(false);\n onClose();\n }, [onClose]);\n\n const isModifyingServiceEnabled = !!InterceptOnCreate;\n\n return (\n <>\n <Popup\n title=\"Edit your service details here:\"\n onClose={onClose}\n isOpen={Boolean(selectedService)}\n >\n <Form record={selectedService} onSubmit={handleOnSave} mode=\"onChange\">\n <FormContent\n isModifyingServiceEnabled={isModifyingServiceEnabled}\n selectedService={selectedService}\n />\n </Form>\n </Popup>\n <InterceptOnCreate\n isInterceptOnCreateOpen={isInterceptOnCreateOpen}\n serviceId={selectedService?.id}\n onNext={() => onClose()}\n onClose={handleOnClose}\n isIssueOrInspection={isIssuingOrInspection}\n selectedCAO={selectedCAO}\n isCAO={isCAO}\n />\n </>\n );\n};\n\n// eslint-disable-next-line better-mutation/no-mutation\nServicesEdit.propTypes = {\n onClose: PropTypes.func,\n onSave: PropTypes.func,\n // eslint-disable-next-line react/forbid-prop-types\n selectedService: PropTypes.object,\n InterceptOnCreate: PropTypes.elementType,\n};\n\nexport default ServicesEdit;\n"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
const jsxRuntime = require("react/jsx-runtime");
|
|
3
3
|
const PropTypes = require("prop-types");
|
|
4
4
|
const material = require("@mui/material");
|
|
5
|
-
const serviceTypes = require("./serviceTypes.
|
|
5
|
+
const serviceTypes = require("./serviceTypes.BWVBK33e.js");
|
|
6
6
|
const chainNames = require("./chainNames.DF5Kayu_.js");
|
|
7
7
|
const ConfigContext = require("./ConfigContext.CqbiiiBD.js");
|
|
8
8
|
const reactRouter = require("react-router");
|
|
@@ -11,7 +11,7 @@ const ListItem = require("./ListItem.Auy7hQ9Z.js");
|
|
|
11
11
|
const CheckCircleIcon = require("@mui/icons-material/CheckCircle");
|
|
12
12
|
const reactAdmin = require("react-admin");
|
|
13
13
|
const CreateOrganizationUtils = require("./CreateOrganizationUtils.C5C_r3Zp.js");
|
|
14
|
-
const ValidateTextInput = require("./ValidateTextInput.
|
|
14
|
+
const ValidateTextInput = require("./ValidateTextInput.DPruGgff.js");
|
|
15
15
|
const InfoIcon = require("@mui/icons-material/Info");
|
|
16
16
|
const KeyboardArrowLeftIcon = require("@mui/icons-material/KeyboardArrowLeft");
|
|
17
17
|
const index = require("./index.iexmV4Mr.js");
|
|
@@ -478,4 +478,4 @@ exports.InvitationsListContainer = InvitationsListContainer;
|
|
|
478
478
|
exports.SetInvitationEmail = SetInvitationEmail;
|
|
479
479
|
exports.SetInvitationService = SetInvitationService;
|
|
480
480
|
exports.SetKeyIndividuals = SetKeyIndividuals;
|
|
481
|
-
//# sourceMappingURL=SetInvitationService.
|
|
481
|
+
//# sourceMappingURL=SetInvitationService.BeU7-IBo.js.map
|
package/dist/chunks/{SetInvitationService.PxAGwk-I.js.map → SetInvitationService.BeU7-IBo.js.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SetInvitationService.PxAGwk-I.js","sources":["../../src/components/invitations/InvitationServiceInfo.jsx","../../src/components/invitations/InvitationsListContainer.jsx","../../src/components/invitations/SetInvitationEmail.jsx","../../src/components/invitations/SetKeyIndividuals.jsx","../../src/components/invitations/SetInvitationService.jsx"],"sourcesContent":["import PropTypes from 'prop-types';\nimport { Stack, Box, Typography, Link } from '@mui/material';\nimport { serviceTypesIssuingOrInspection, CREDENTIAL_TYPES_IDS } from '@/utils/serviceTypes.js';\nimport { chainNames } from '@/utils/chainNames.js';\nimport { useConfig } from '@/utils/ConfigContext.js';\n\nconst getServiceKey = (key) => {\n switch (key) {\n case 'id': {\n return 'Service ID';\n }\n case 'type': {\n return 'Service type';\n }\n case 'serviceEndpoint': {\n return 'Service endpoint';\n }\n\n default:\n return key;\n }\n};\n\nconst getServiceTitle = (value, credentialTypes) => {\n let serviceType;\n if (value === 'VlcContactIssuer_v1') {\n serviceType = credentialTypes.includes('EmailV1.0')\n ? CREDENTIAL_TYPES_IDS.VLC_CONTACT_ISSUER_EMAIL\n : CREDENTIAL_TYPES_IDS.VLC_CONTACT_ISSUER_PHONE;\n } else {\n serviceType = value;\n }\n return serviceTypesIssuingOrInspection.find((item) => item.id === serviceType).title;\n};\n\nconst InvitationServiceInfo = ({ inviteeService, agreementStyles }) => {\n const config = useConfig();\n return (\n <>\n {inviteeService &&\n inviteeService?.map((service) => {\n return (\n <Stack sx={sxStyles.serviceContainer} key={`service-${service.id}`}>\n {Object.entries(service).map(([serviceKey, value]) => {\n if (serviceKey === 'credentialTypes') {\n return undefined;\n }\n\n const serviceValue =\n serviceKey === 'type' ? getServiceTitle(value, service.credentialTypes) : value;\n\n return (\n <Box key={`service-${service.id}-${serviceKey}`} sx={sxStyles.field}>\n <Typography variant=\"pm\">{getServiceKey(serviceKey)}</Typography>\n <Typography variant=\"h5\" sx={sxStyles.valueText}>\n {serviceValue}\n </Typography>\n </Box>\n );\n })}\n </Stack>\n );\n })}\n {config.chainName !== chainNames.testnet && (\n <Typography variant=\"pm\" sx={[sxStyles.agreement, agreementStyles]}>\n <span>By clicking Save, 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 </>\n );\n};\n\n// eslint-disable-next-line better-mutation/no-mutation\nInvitationServiceInfo.propTypes = {\n // eslint-disable-next-line react/forbid-prop-types\n inviteeService: PropTypes.array,\n // eslint-disable-next-line react/forbid-prop-types\n agreementStyles: PropTypes.array,\n};\n\nconst sxStyles = {\n serviceContainer: {\n backgroundColor: (theme) => theme.customColors.grey1,\n borderRadius: '12px',\n p: '32px 40px',\n mt: '25px',\n },\n agreement: {\n color: (theme) => theme.customColors.grey2,\n textAlign: 'center',\n mt: 5,\n display: 'block',\n },\n valueText: {\n marginTop: 1,\n 'overflow-wrap': 'break-word',\n },\n field: {\n marginBottom: 4,\n '&:last-child': {\n marginBottom: 0,\n },\n },\n};\n\nexport default InvitationServiceInfo;\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 { Link } from 'react-router';\nimport PropTypes from 'prop-types';\nimport { Button, Stack, Grid, Paper, Typography, TablePagination } from '@mui/material';\nimport { useCallback, useEffect, useState } from 'react';\nimport ListItem from '../common/ListItem.jsx';\n\nconst getDateAndTimeFormated = (dateString) => {\n const twoDigits = (number) => `0${number}`.slice(-2);\n const date = new Date(dateString);\n return `${date.getFullYear()}-${twoDigits(date.getMonth() + 1)}-${date.getDate()} ${twoDigits(\n date.getHours(),\n )}:${twoDigits(date.getMinutes())}`;\n};\n\nconst ROWS_PER_PAGE = 10;\n\nconst InvitationsListContainer = ({\n invitations,\n withdrawAction,\n resendAction,\n onCreateInvite,\n changePage,\n currentPage,\n invitationToDelete,\n onUndoDelete,\n}) => {\n const [pagesCount, setPagesCount] = useState(-1);\n const getStatus = (invitation) => {\n if (invitation.acceptedAt) {\n return { title: 'ACCEPTED', color: 'primary.success' };\n }\n if (new Date() >= new Date(invitation.expiresAt)) {\n return { title: 'EXPIRED', color: 'primary.main' };\n }\n return { title: 'INVITED', color: 'primary.warning' };\n };\n\n const updatePagination = useCallback(\n (nextPage) => {\n if (invitations.length === ROWS_PER_PAGE || nextPage < currentPage) {\n setPagesCount(-1);\n changePage(nextPage);\n } else {\n setPagesCount(currentPage * ROWS_PER_PAGE + invitations.length);\n }\n },\n [changePage, currentPage, invitations.length],\n );\n\n useEffect(() => {\n if (invitations.length < ROWS_PER_PAGE) {\n setPagesCount(currentPage * ROWS_PER_PAGE + invitations.length);\n }\n }, [currentPage, invitations]);\n\n return (\n <>\n <Stack sx={sx.inviteButton}>\n <Button variant=\"outlined\" onClick={onCreateInvite}>\n Invite Client +\n </Button>\n </Stack>\n\n {!!invitations.length &&\n invitations.map((invitation) => (\n <ListItem\n key={invitation.id}\n id={invitation.id}\n markForDelete={invitationToDelete === invitation.id}\n onUndoDelete={onUndoDelete}\n undoText=\"INVITATION WAS DELETED\"\n title={invitation.inviteeProfile.name}\n status={getStatus(invitation)}\n date={getDateAndTimeFormated(invitation.acceptedAt || invitation.updatedAt)}\n showActions={!invitation.acceptedAt}\n actions={[resendAction, withdrawAction]}\n email={invitation.inviteeEmail}\n content={invitation.inviteeService.map((service) => [\n { name: 'service type', value: service.type },\n {\n name: 'service endpoint',\n value: service.serviceEndpoint,\n },\n ])}\n />\n ))}\n {/* TODO Fix paging after api retun total */}\n {(invitations.length > 0 || currentPage > 0) && (\n <TablePagination\n component=\"div\"\n count={pagesCount}\n page={currentPage}\n onPageChange={(e, nextPage) => updatePagination(nextPage)}\n rowsPerPage={ROWS_PER_PAGE}\n rowsPerPageOptions={[]}\n />\n )}\n\n {!invitations.length && currentPage === 0 && (\n <Grid container>\n <Grid item xs={12}>\n <Paper sx={sx.paper} elevation={1}>\n <Typography sx={sx.text}>\n {'Send your first invitation '}\n <Link to=\"/invitations/create/step-1\">\n <Typography sx={sx.link} component=\"a\">\n now\n </Typography>\n </Link>\n </Typography>\n </Paper>\n </Grid>\n </Grid>\n )}\n </>\n );\n};\n\nexport default InvitationsListContainer;\n\nconst sx = {\n inviteButton: {\n mb: 2,\n flexDirection: 'row',\n justifyContent: 'space-between',\n alignItems: 'flex-end',\n },\n paper: {\n height: 158,\n minWidth: 275,\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'center',\n alignItems: 'center',\n border: 'none',\n boxShadow: '0px 0px 4px #0000001a, 0px 6px 12px #0000001a',\n },\n text: {\n fontSize: 16,\n textAlign: 'center',\n fontWeight: 600,\n color: 'text.primary',\n },\n link: {\n color: 'primary.main',\n textDecoration: 'underline',\n fontWeight: 600,\n },\n};\n\n// eslint-disable-next-line better-mutation/no-mutation\nInvitationsListContainer.propTypes = {\n // eslint-disable-next-line react/forbid-prop-types\n invitations: PropTypes.array,\n // eslint-disable-next-line react/forbid-prop-types\n withdrawAction: PropTypes.object,\n // eslint-disable-next-line react/forbid-prop-types\n resendAction: PropTypes.object,\n onCreateInvite: PropTypes.func.isRequired,\n changePage: PropTypes.func.isRequired,\n currentPage: PropTypes.number.isRequired,\n invitationToDelete: PropTypes.string,\n onUndoDelete: PropTypes.func.isRequired,\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 { useState } from 'react';\nimport { Box, InputAdornment } from '@mui/material';\nimport CheckCircleIcon from '@mui/icons-material/CheckCircle';\nimport { Form, TextInput, required } from 'react-admin';\nimport PropTypes from 'prop-types';\n\nimport { validateEmail } from '../organizations/CreateOrganizationUtils.js';\nimport OrganizationSubmitButton from '../organizations/OrganizationSubmitButton.jsx';\n\nconst SetInvitationEmail = ({ children, onSubmit, defaultValue, loading }) => {\n const [isEmailValid, setIsEmailValid] = useState(false);\n\n return (\n <Form mode=\"onChange\" onSubmit={onSubmit}>\n <TextInput\n fullWidth\n label=\"Email\"\n type=\"email\"\n source=\"inviteeEmail\"\n defaultValue={defaultValue}\n validate={[required(), ...validateEmail]}\n InputProps={{\n endAdornment: isEmailValid ? (\n <InputAdornment position=\"end\">\n <CheckCircleIcon color=\"success\" />\n </InputAdornment>\n ) : null,\n }}\n />\n\n <Box sx={styles.buttonBlock}>\n {children}\n <OrganizationSubmitButton\n styles={styles.inviteButton}\n title=\"Invite client\"\n handleState={setIsEmailValid}\n isLoading={loading}\n />\n </Box>\n </Form>\n );\n};\n\nconst styles = {\n buttonBlock: {\n display: 'flex',\n flexDirection: 'row',\n justifyContent: 'center',\n marginTop: 2,\n flex: 1,\n },\n backButton: {\n px: 4,\n py: 1,\n fontSize: '16px',\n width: '160px',\n marginRight: '20px',\n borderColor: 'secondary.light',\n color: 'text.primary',\n },\n inviteButton: {\n width: '160px',\n },\n};\n\n// eslint-disable-next-line better-mutation/no-mutation\nSetInvitationEmail.propTypes = {\n children: PropTypes.node.isRequired,\n onSubmit: PropTypes.func.isRequired,\n defaultValue: PropTypes.string,\n loading: PropTypes.bool,\n};\n\nexport default SetInvitationEmail;\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, Typography, Tooltip, Button } from '@mui/material';\nimport { Form, FormDataConsumer, TextInput, maxLength, required } from 'react-admin';\nimport PropTypes from 'prop-types';\nimport InfoIcon from '@mui/icons-material/Info';\nimport KeyboardArrowLeftIcon from '@mui/icons-material/KeyboardArrowLeft';\nimport { validateEmail } from '../organizations/index.jsx';\nimport OrganizationSubmitButton from '../organizations/OrganizationSubmitButton.jsx';\nimport {\n ADMINISTRATOR_DETAILS_HINT,\n SIGNATORY_DETAILS_HINT,\n SIGNATORY_EMAIL_HINT,\n} from '../../utils/index.jsx';\n\nconst SetKeyIndividuals = ({ children, onSubmit, defaultValues, onBack, loading }) => {\n return (\n <Form mode=\"onChange\" onSubmit={onSubmit} defaultValues={defaultValues}>\n <Stack>\n <Stack direction=\"row\" spacing={1.5} my={2}>\n <Typography variant=\"h4\" sx={styles.subTitle}>\n Administrator’s Details\n </Typography>\n <Box mt={1}>\n <Tooltip title={ADMINISTRATOR_DETAILS_HINT}>\n <InfoIcon color=\"info\" fontSize=\"small\" cursor=\"pointer\" />\n </Tooltip>\n </Box>\n </Stack>\n <Typography variant=\"body2\" sx={styles.infoText}>\n The invitation will be sent to this email.\n </Typography>\n <TextInput\n fullWidth\n label=\"Email\"\n source=\"adminEmail\"\n validate={[...validateEmail, required()]}\n />\n <TextInput\n fullWidth\n label=\"First name\"\n source=\"adminGivenName\"\n validate={[maxLength(1024), required()]}\n />\n <TextInput\n fullWidth\n label=\"Last name\"\n source=\"adminFamilyName\"\n validate={[maxLength(1024), required()]}\n />\n <TextInput fullWidth label=\"Job Title\" source=\"adminTitle\" validate={[maxLength(1024)]} />\n <Stack direction=\"row\" spacing={1.5} my={2}>\n <Typography variant=\"h4\" sx={styles.subTitle}>\n Signatory Authority’s Details\n </Typography>\n <Box mt={1}>\n <Tooltip title={SIGNATORY_DETAILS_HINT}>\n <InfoIcon color=\"info\" fontSize=\"small\" cursor=\"pointer\" />\n </Tooltip>\n </Box>\n </Stack>\n <Stack flexDirection=\"row\" gap={1.75}>\n <TextInput fullWidth label=\"Email\" source=\"signatoryEmail\" validate={validateEmail} />\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 <TextInput\n fullWidth\n label=\"First name\"\n source=\"signatoryGivenName\"\n validate={[maxLength(1024)]}\n />\n <TextInput\n fullWidth\n label=\"Last name\"\n source=\"signatoryFamilyName\"\n validate={[maxLength(1024)]}\n />\n <TextInput\n fullWidth\n label=\"Job Title\"\n source=\"signatoryTitle\"\n validate={[maxLength(1024)]}\n />\n </Stack>\n\n <Box sx={styles.buttonBlock}>\n <FormDataConsumer>\n {({ formData }) => (\n <Button\n variant=\"outlined\"\n color=\"secondary\"\n sx={styles.button}\n onClick={() => onBack(formData)}\n startIcon={<KeyboardArrowLeftIcon />}\n >\n Back\n </Button>\n )}\n </FormDataConsumer>\n {children}\n\n <OrganizationSubmitButton\n title=\"Invite Client\"\n styles={styles.button}\n isLoading={loading}\n />\n </Box>\n </Form>\n );\n};\n\nconst styles = {\n infoText: {\n color: 'primary.main',\n fontWeight: '600',\n marginTop: 1,\n marginBottom: 1.5,\n },\n subTitle: {\n fontSize: '18px',\n fontWeight: '600',\n },\n buttonBlock: {\n display: 'flex',\n flexDirection: 'row',\n justifyContent: 'center',\n marginTop: 2,\n flex: 1,\n gap: '1em',\n },\n button: { px: 0, py: 1, fontSize: '16px', width: '160px' },\n};\n\n// eslint-disable-next-line better-mutation/no-mutation\nSetKeyIndividuals.propTypes = {\n children: PropTypes.node.isRequired,\n onSubmit: PropTypes.func.isRequired,\n onBack: PropTypes.func.isRequired,\n // eslint-disable-next-line react/forbid-prop-types\n defaultValues: PropTypes.object,\n loading: PropTypes.bool,\n};\n\nexport default SetKeyIndividuals;\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 { useCallback, useMemo } from 'react';\nimport { Form, AutocompleteInput, required } from 'react-admin';\nimport { Box, Stack } from '@mui/material';\nimport { kebabCase } from 'lodash-es';\nimport PropTypes from 'prop-types';\n\nimport {\n serviceTypesIssuingOrInspection,\n credentialTypesByServiceTypes,\n} from '@/utils/serviceTypes.js';\nimport OrganizationSubmitButton from '../organizations/OrganizationSubmitButton.jsx';\n\nconst SetInvitationService = ({ children, onSubmit, defaultValues, serviceEndpointsOptions }) => {\n const defaultFormData = useMemo(() => {\n if (!defaultValues && serviceEndpointsOptions.length === 1) {\n return { serviceEndpoint: serviceEndpointsOptions?.[0]?.id };\n }\n return defaultValues;\n }, [defaultValues, serviceEndpointsOptions]);\n\n const handleSubmit = useCallback(\n (data) => {\n const type = data.type.match(/.+v1/);\n const kebabType = kebabCase(type[0]);\n onSubmit({\n ...data,\n type: type[0],\n id: `${kebabType}-1`,\n credentialTypes: credentialTypesByServiceTypes[data.type],\n });\n },\n [onSubmit],\n );\n\n const autoCompleteInputProps =\n serviceEndpointsOptions.length === 1 ? { InputProps: { disabled: true } } : {};\n\n return (\n <Form onSubmit={handleSubmit} defaultValues={defaultFormData}>\n <Stack sx={styles.endpointForm}>\n <AutocompleteInput\n label=\"Select service\"\n source=\"type\"\n optionText=\"title\"\n choices={serviceTypesIssuingOrInspection}\n validate={[required()]}\n />\n <AutocompleteInput\n label=\"Service endpoint\"\n source=\"serviceEndpoint\"\n choices={serviceEndpointsOptions}\n TextFieldProps={autoCompleteInputProps}\n validate={[required()]}\n />\n <Box sx={styles.buttonBlock}>\n {children}\n <OrganizationSubmitButton title=\"Next\" styles={styles.button} />\n </Box>\n </Stack>\n </Form>\n );\n};\n\nconst styles = {\n button: { px: 4, py: 1, fontSize: '16px', width: '160px' },\n buttonBlock: {\n display: 'flex',\n flexDirection: 'row',\n justifyContent: 'center',\n marginTop: '40px',\n flex: 1,\n },\n endpointForm: {\n marginTop: '30px',\n },\n};\n\n// eslint-disable-next-line better-mutation/no-mutation\nSetInvitationService.propTypes = {\n children: PropTypes.node.isRequired,\n onSubmit: PropTypes.func.isRequired,\n // eslint-disable-next-line react/forbid-prop-types\n defaultValues: PropTypes.object,\n serviceEndpointsOptions: PropTypes.arrayOf(\n PropTypes.shape({\n name: PropTypes.string.isRequired,\n id: PropTypes.string.isRequired,\n }),\n ),\n};\n\nexport default SetInvitationService;\n"],"names":["CREDENTIAL_TYPES_IDS","serviceTypesIssuingOrInspection","useConfig","jsxs","Fragment","jsx","Stack","Box","Typography","chainNames","Link","useState","useCallback","useEffect","Button","ListItem","TablePagination","Grid","Paper","Form","TextInput","required","validateEmail","InputAdornment","styles","OrganizationSubmitButton","Tooltip","ADMINISTRATOR_DETAILS_HINT","maxLength","SIGNATORY_DETAILS_HINT","SIGNATORY_EMAIL_HINT","FormDataConsumer","useMemo","kebabCase","credentialTypesByServiceTypes","AutocompleteInput"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SetInvitationService.BeU7-IBo.js","sources":["../../src/components/invitations/InvitationServiceInfo.jsx","../../src/components/invitations/InvitationsListContainer.jsx","../../src/components/invitations/SetInvitationEmail.jsx","../../src/components/invitations/SetKeyIndividuals.jsx","../../src/components/invitations/SetInvitationService.jsx"],"sourcesContent":["import PropTypes from 'prop-types';\nimport { Stack, Box, Typography, Link } from '@mui/material';\nimport { serviceTypesIssuingOrInspection, CREDENTIAL_TYPES_IDS } from '@/utils/serviceTypes.js';\nimport { chainNames } from '@/utils/chainNames.js';\nimport { useConfig } from '@/utils/ConfigContext.js';\n\nconst getServiceKey = (key) => {\n switch (key) {\n case 'id': {\n return 'Service ID';\n }\n case 'type': {\n return 'Service type';\n }\n case 'serviceEndpoint': {\n return 'Service endpoint';\n }\n\n default:\n return key;\n }\n};\n\nconst getServiceTitle = (value, credentialTypes) => {\n let serviceType;\n if (value === 'VlcContactIssuer_v1') {\n serviceType = credentialTypes.includes('EmailV1.0')\n ? CREDENTIAL_TYPES_IDS.VLC_CONTACT_ISSUER_EMAIL\n : CREDENTIAL_TYPES_IDS.VLC_CONTACT_ISSUER_PHONE;\n } else {\n serviceType = value;\n }\n return serviceTypesIssuingOrInspection.find((item) => item.id === serviceType).title;\n};\n\nconst InvitationServiceInfo = ({ inviteeService, agreementStyles }) => {\n const config = useConfig();\n return (\n <>\n {inviteeService &&\n inviteeService?.map((service) => {\n return (\n <Stack sx={sxStyles.serviceContainer} key={`service-${service.id}`}>\n {Object.entries(service).map(([serviceKey, value]) => {\n if (serviceKey === 'credentialTypes') {\n return undefined;\n }\n\n const serviceValue =\n serviceKey === 'type' ? getServiceTitle(value, service.credentialTypes) : value;\n\n return (\n <Box key={`service-${service.id}-${serviceKey}`} sx={sxStyles.field}>\n <Typography variant=\"pm\">{getServiceKey(serviceKey)}</Typography>\n <Typography variant=\"h5\" sx={sxStyles.valueText}>\n {serviceValue}\n </Typography>\n </Box>\n );\n })}\n </Stack>\n );\n })}\n {config.chainName !== chainNames.testnet && (\n <Typography variant=\"pm\" sx={[sxStyles.agreement, agreementStyles]}>\n <span>By clicking Save, 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 </>\n );\n};\n\n// eslint-disable-next-line better-mutation/no-mutation\nInvitationServiceInfo.propTypes = {\n // eslint-disable-next-line react/forbid-prop-types\n inviteeService: PropTypes.array,\n // eslint-disable-next-line react/forbid-prop-types\n agreementStyles: PropTypes.array,\n};\n\nconst sxStyles = {\n serviceContainer: {\n backgroundColor: (theme) => theme.customColors.grey1,\n borderRadius: '12px',\n p: '32px 40px',\n mt: '25px',\n },\n agreement: {\n color: (theme) => theme.customColors.grey2,\n textAlign: 'center',\n mt: 5,\n display: 'block',\n },\n valueText: {\n marginTop: 1,\n 'overflow-wrap': 'break-word',\n },\n field: {\n marginBottom: 4,\n '&:last-child': {\n marginBottom: 0,\n },\n },\n};\n\nexport default InvitationServiceInfo;\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 { Link } from 'react-router';\nimport PropTypes from 'prop-types';\nimport { Button, Stack, Grid, Paper, Typography, TablePagination } from '@mui/material';\nimport { useCallback, useEffect, useState } from 'react';\nimport ListItem from '../common/ListItem.jsx';\n\nconst getDateAndTimeFormated = (dateString) => {\n const twoDigits = (number) => `0${number}`.slice(-2);\n const date = new Date(dateString);\n return `${date.getFullYear()}-${twoDigits(date.getMonth() + 1)}-${date.getDate()} ${twoDigits(\n date.getHours(),\n )}:${twoDigits(date.getMinutes())}`;\n};\n\nconst ROWS_PER_PAGE = 10;\n\nconst InvitationsListContainer = ({\n invitations,\n withdrawAction,\n resendAction,\n onCreateInvite,\n changePage,\n currentPage,\n invitationToDelete,\n onUndoDelete,\n}) => {\n const [pagesCount, setPagesCount] = useState(-1);\n const getStatus = (invitation) => {\n if (invitation.acceptedAt) {\n return { title: 'ACCEPTED', color: 'primary.success' };\n }\n if (new Date() >= new Date(invitation.expiresAt)) {\n return { title: 'EXPIRED', color: 'primary.main' };\n }\n return { title: 'INVITED', color: 'primary.warning' };\n };\n\n const updatePagination = useCallback(\n (nextPage) => {\n if (invitations.length === ROWS_PER_PAGE || nextPage < currentPage) {\n setPagesCount(-1);\n changePage(nextPage);\n } else {\n setPagesCount(currentPage * ROWS_PER_PAGE + invitations.length);\n }\n },\n [changePage, currentPage, invitations.length],\n );\n\n useEffect(() => {\n if (invitations.length < ROWS_PER_PAGE) {\n setPagesCount(currentPage * ROWS_PER_PAGE + invitations.length);\n }\n }, [currentPage, invitations]);\n\n return (\n <>\n <Stack sx={sx.inviteButton}>\n <Button variant=\"outlined\" onClick={onCreateInvite}>\n Invite Client +\n </Button>\n </Stack>\n\n {!!invitations.length &&\n invitations.map((invitation) => (\n <ListItem\n key={invitation.id}\n id={invitation.id}\n markForDelete={invitationToDelete === invitation.id}\n onUndoDelete={onUndoDelete}\n undoText=\"INVITATION WAS DELETED\"\n title={invitation.inviteeProfile.name}\n status={getStatus(invitation)}\n date={getDateAndTimeFormated(invitation.acceptedAt || invitation.updatedAt)}\n showActions={!invitation.acceptedAt}\n actions={[resendAction, withdrawAction]}\n email={invitation.inviteeEmail}\n content={invitation.inviteeService.map((service) => [\n { name: 'service type', value: service.type },\n {\n name: 'service endpoint',\n value: service.serviceEndpoint,\n },\n ])}\n />\n ))}\n {/* TODO Fix paging after api retun total */}\n {(invitations.length > 0 || currentPage > 0) && (\n <TablePagination\n component=\"div\"\n count={pagesCount}\n page={currentPage}\n onPageChange={(e, nextPage) => updatePagination(nextPage)}\n rowsPerPage={ROWS_PER_PAGE}\n rowsPerPageOptions={[]}\n />\n )}\n\n {!invitations.length && currentPage === 0 && (\n <Grid container>\n <Grid item xs={12}>\n <Paper sx={sx.paper} elevation={1}>\n <Typography sx={sx.text}>\n {'Send your first invitation '}\n <Link to=\"/invitations/create/step-1\">\n <Typography sx={sx.link} component=\"a\">\n now\n </Typography>\n </Link>\n </Typography>\n </Paper>\n </Grid>\n </Grid>\n )}\n </>\n );\n};\n\nexport default InvitationsListContainer;\n\nconst sx = {\n inviteButton: {\n mb: 2,\n flexDirection: 'row',\n justifyContent: 'space-between',\n alignItems: 'flex-end',\n },\n paper: {\n height: 158,\n minWidth: 275,\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'center',\n alignItems: 'center',\n border: 'none',\n boxShadow: '0px 0px 4px #0000001a, 0px 6px 12px #0000001a',\n },\n text: {\n fontSize: 16,\n textAlign: 'center',\n fontWeight: 600,\n color: 'text.primary',\n },\n link: {\n color: 'primary.main',\n textDecoration: 'underline',\n fontWeight: 600,\n },\n};\n\n// eslint-disable-next-line better-mutation/no-mutation\nInvitationsListContainer.propTypes = {\n // eslint-disable-next-line react/forbid-prop-types\n invitations: PropTypes.array,\n // eslint-disable-next-line react/forbid-prop-types\n withdrawAction: PropTypes.object,\n // eslint-disable-next-line react/forbid-prop-types\n resendAction: PropTypes.object,\n onCreateInvite: PropTypes.func.isRequired,\n changePage: PropTypes.func.isRequired,\n currentPage: PropTypes.number.isRequired,\n invitationToDelete: PropTypes.string,\n onUndoDelete: PropTypes.func.isRequired,\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 { useState } from 'react';\nimport { Box, InputAdornment } from '@mui/material';\nimport CheckCircleIcon from '@mui/icons-material/CheckCircle';\nimport { Form, TextInput, required } from 'react-admin';\nimport PropTypes from 'prop-types';\n\nimport { validateEmail } from '../organizations/CreateOrganizationUtils.js';\nimport OrganizationSubmitButton from '../organizations/OrganizationSubmitButton.jsx';\n\nconst SetInvitationEmail = ({ children, onSubmit, defaultValue, loading }) => {\n const [isEmailValid, setIsEmailValid] = useState(false);\n\n return (\n <Form mode=\"onChange\" onSubmit={onSubmit}>\n <TextInput\n fullWidth\n label=\"Email\"\n type=\"email\"\n source=\"inviteeEmail\"\n defaultValue={defaultValue}\n validate={[required(), ...validateEmail]}\n InputProps={{\n endAdornment: isEmailValid ? (\n <InputAdornment position=\"end\">\n <CheckCircleIcon color=\"success\" />\n </InputAdornment>\n ) : null,\n }}\n />\n\n <Box sx={styles.buttonBlock}>\n {children}\n <OrganizationSubmitButton\n styles={styles.inviteButton}\n title=\"Invite client\"\n handleState={setIsEmailValid}\n isLoading={loading}\n />\n </Box>\n </Form>\n );\n};\n\nconst styles = {\n buttonBlock: {\n display: 'flex',\n flexDirection: 'row',\n justifyContent: 'center',\n marginTop: 2,\n flex: 1,\n },\n backButton: {\n px: 4,\n py: 1,\n fontSize: '16px',\n width: '160px',\n marginRight: '20px',\n borderColor: 'secondary.light',\n color: 'text.primary',\n },\n inviteButton: {\n width: '160px',\n },\n};\n\n// eslint-disable-next-line better-mutation/no-mutation\nSetInvitationEmail.propTypes = {\n children: PropTypes.node.isRequired,\n onSubmit: PropTypes.func.isRequired,\n defaultValue: PropTypes.string,\n loading: PropTypes.bool,\n};\n\nexport default SetInvitationEmail;\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, Typography, Tooltip, Button } from '@mui/material';\nimport { Form, FormDataConsumer, TextInput, maxLength, required } from 'react-admin';\nimport PropTypes from 'prop-types';\nimport InfoIcon from '@mui/icons-material/Info';\nimport KeyboardArrowLeftIcon from '@mui/icons-material/KeyboardArrowLeft';\nimport { validateEmail } from '../organizations/index.jsx';\nimport OrganizationSubmitButton from '../organizations/OrganizationSubmitButton.jsx';\nimport {\n ADMINISTRATOR_DETAILS_HINT,\n SIGNATORY_DETAILS_HINT,\n SIGNATORY_EMAIL_HINT,\n} from '../../utils/index.jsx';\n\nconst SetKeyIndividuals = ({ children, onSubmit, defaultValues, onBack, loading }) => {\n return (\n <Form mode=\"onChange\" onSubmit={onSubmit} defaultValues={defaultValues}>\n <Stack>\n <Stack direction=\"row\" spacing={1.5} my={2}>\n <Typography variant=\"h4\" sx={styles.subTitle}>\n Administrator’s Details\n </Typography>\n <Box mt={1}>\n <Tooltip title={ADMINISTRATOR_DETAILS_HINT}>\n <InfoIcon color=\"info\" fontSize=\"small\" cursor=\"pointer\" />\n </Tooltip>\n </Box>\n </Stack>\n <Typography variant=\"body2\" sx={styles.infoText}>\n The invitation will be sent to this email.\n </Typography>\n <TextInput\n fullWidth\n label=\"Email\"\n source=\"adminEmail\"\n validate={[...validateEmail, required()]}\n />\n <TextInput\n fullWidth\n label=\"First name\"\n source=\"adminGivenName\"\n validate={[maxLength(1024), required()]}\n />\n <TextInput\n fullWidth\n label=\"Last name\"\n source=\"adminFamilyName\"\n validate={[maxLength(1024), required()]}\n />\n <TextInput fullWidth label=\"Job Title\" source=\"adminTitle\" validate={[maxLength(1024)]} />\n <Stack direction=\"row\" spacing={1.5} my={2}>\n <Typography variant=\"h4\" sx={styles.subTitle}>\n Signatory Authority’s Details\n </Typography>\n <Box mt={1}>\n <Tooltip title={SIGNATORY_DETAILS_HINT}>\n <InfoIcon color=\"info\" fontSize=\"small\" cursor=\"pointer\" />\n </Tooltip>\n </Box>\n </Stack>\n <Stack flexDirection=\"row\" gap={1.75}>\n <TextInput fullWidth label=\"Email\" source=\"signatoryEmail\" validate={validateEmail} />\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 <TextInput\n fullWidth\n label=\"First name\"\n source=\"signatoryGivenName\"\n validate={[maxLength(1024)]}\n />\n <TextInput\n fullWidth\n label=\"Last name\"\n source=\"signatoryFamilyName\"\n validate={[maxLength(1024)]}\n />\n <TextInput\n fullWidth\n label=\"Job Title\"\n source=\"signatoryTitle\"\n validate={[maxLength(1024)]}\n />\n </Stack>\n\n <Box sx={styles.buttonBlock}>\n <FormDataConsumer>\n {({ formData }) => (\n <Button\n variant=\"outlined\"\n color=\"secondary\"\n sx={styles.button}\n onClick={() => onBack(formData)}\n startIcon={<KeyboardArrowLeftIcon />}\n >\n Back\n </Button>\n )}\n </FormDataConsumer>\n {children}\n\n <OrganizationSubmitButton\n title=\"Invite Client\"\n styles={styles.button}\n isLoading={loading}\n />\n </Box>\n </Form>\n );\n};\n\nconst styles = {\n infoText: {\n color: 'primary.main',\n fontWeight: '600',\n marginTop: 1,\n marginBottom: 1.5,\n },\n subTitle: {\n fontSize: '18px',\n fontWeight: '600',\n },\n buttonBlock: {\n display: 'flex',\n flexDirection: 'row',\n justifyContent: 'center',\n marginTop: 2,\n flex: 1,\n gap: '1em',\n },\n button: { px: 0, py: 1, fontSize: '16px', width: '160px' },\n};\n\n// eslint-disable-next-line better-mutation/no-mutation\nSetKeyIndividuals.propTypes = {\n children: PropTypes.node.isRequired,\n onSubmit: PropTypes.func.isRequired,\n onBack: PropTypes.func.isRequired,\n // eslint-disable-next-line react/forbid-prop-types\n defaultValues: PropTypes.object,\n loading: PropTypes.bool,\n};\n\nexport default SetKeyIndividuals;\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 { useCallback, useMemo } from 'react';\nimport { Form, AutocompleteInput, required } from 'react-admin';\nimport { Box, Stack } from '@mui/material';\nimport { kebabCase } from 'lodash-es';\nimport PropTypes from 'prop-types';\n\nimport {\n serviceTypesIssuingOrInspection,\n credentialTypesByServiceTypes,\n} from '@/utils/serviceTypes.js';\nimport OrganizationSubmitButton from '../organizations/OrganizationSubmitButton.jsx';\n\nconst SetInvitationService = ({ children, onSubmit, defaultValues, serviceEndpointsOptions }) => {\n const defaultFormData = useMemo(() => {\n if (!defaultValues && serviceEndpointsOptions.length === 1) {\n return { serviceEndpoint: serviceEndpointsOptions?.[0]?.id };\n }\n return defaultValues;\n }, [defaultValues, serviceEndpointsOptions]);\n\n const handleSubmit = useCallback(\n (data) => {\n const type = data.type.match(/.+v1/);\n const kebabType = kebabCase(type[0]);\n onSubmit({\n ...data,\n type: type[0],\n id: `${kebabType}-1`,\n credentialTypes: credentialTypesByServiceTypes[data.type],\n });\n },\n [onSubmit],\n );\n\n const autoCompleteInputProps =\n serviceEndpointsOptions.length === 1 ? { InputProps: { disabled: true } } : {};\n\n return (\n <Form onSubmit={handleSubmit} defaultValues={defaultFormData}>\n <Stack sx={styles.endpointForm}>\n <AutocompleteInput\n label=\"Select service\"\n source=\"type\"\n optionText=\"title\"\n choices={serviceTypesIssuingOrInspection}\n validate={[required()]}\n />\n <AutocompleteInput\n label=\"Service endpoint\"\n source=\"serviceEndpoint\"\n choices={serviceEndpointsOptions}\n TextFieldProps={autoCompleteInputProps}\n validate={[required()]}\n />\n <Box sx={styles.buttonBlock}>\n {children}\n <OrganizationSubmitButton title=\"Next\" styles={styles.button} />\n </Box>\n </Stack>\n </Form>\n );\n};\n\nconst styles = {\n button: { px: 4, py: 1, fontSize: '16px', width: '160px' },\n buttonBlock: {\n display: 'flex',\n flexDirection: 'row',\n justifyContent: 'center',\n marginTop: '40px',\n flex: 1,\n },\n endpointForm: {\n marginTop: '30px',\n },\n};\n\n// eslint-disable-next-line better-mutation/no-mutation\nSetInvitationService.propTypes = {\n children: PropTypes.node.isRequired,\n onSubmit: PropTypes.func.isRequired,\n // eslint-disable-next-line react/forbid-prop-types\n defaultValues: PropTypes.object,\n serviceEndpointsOptions: PropTypes.arrayOf(\n PropTypes.shape({\n name: PropTypes.string.isRequired,\n id: PropTypes.string.isRequired,\n }),\n ),\n};\n\nexport default SetInvitationService;\n"],"names":["CREDENTIAL_TYPES_IDS","serviceTypesIssuingOrInspection","useConfig","jsxs","Fragment","jsx","Stack","Box","Typography","chainNames","Link","useState","useCallback","useEffect","Button","ListItem","TablePagination","Grid","Paper","Form","TextInput","required","validateEmail","InputAdornment","styles","OrganizationSubmitButton","Tooltip","ADMINISTRATOR_DETAILS_HINT","maxLength","SIGNATORY_DETAILS_HINT","SIGNATORY_EMAIL_HINT","FormDataConsumer","useMemo","kebabCase","credentialTypesByServiceTypes","AutocompleteInput"],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsxs, Fragment, jsx } from "react/jsx-runtime";
|
|
2
2
|
import PropTypes from "prop-types";
|
|
3
3
|
import { Stack, Box, Typography, Link, Button, TablePagination, Grid, Paper, InputAdornment, Tooltip } from "@mui/material";
|
|
4
|
-
import { C as CREDENTIAL_TYPES_IDS, s as serviceTypesIssuingOrInspection, c as credentialTypesByServiceTypes } from "./serviceTypes.
|
|
4
|
+
import { C as CREDENTIAL_TYPES_IDS, s as serviceTypesIssuingOrInspection, c as credentialTypesByServiceTypes } from "./serviceTypes.BbBTNXB9.js";
|
|
5
5
|
import { c as chainNames } from "./chainNames.DRzS8u_K.js";
|
|
6
6
|
import { u as useConfig } from "./ConfigContext.Cd8KjWqG.js";
|
|
7
7
|
import { Link as Link$1 } from "react-router";
|
|
@@ -10,7 +10,7 @@ import { L as ListItem } from "./ListItem.DgXqrom8.js";
|
|
|
10
10
|
import CheckCircleIcon from "@mui/icons-material/CheckCircle";
|
|
11
11
|
import { Form, TextInput, required, maxLength, FormDataConsumer, AutocompleteInput } from "react-admin";
|
|
12
12
|
import { d as validateEmail } from "./CreateOrganizationUtils.Xq78HHkP.js";
|
|
13
|
-
import { O as OrganizationSubmitButton } from "./ValidateTextInput.
|
|
13
|
+
import { O as OrganizationSubmitButton } from "./ValidateTextInput.1Fv1GPyZ.js";
|
|
14
14
|
import InfoIcon from "@mui/icons-material/Info";
|
|
15
15
|
import KeyboardArrowLeftIcon from "@mui/icons-material/KeyboardArrowLeft";
|
|
16
16
|
import { A as ADMINISTRATOR_DETAILS_HINT, S as SIGNATORY_DETAILS_HINT, d as SIGNATORY_EMAIL_HINT } from "./index.DIur8MCO.js";
|
|
@@ -479,4 +479,4 @@ export {
|
|
|
479
479
|
SetKeyIndividuals as b,
|
|
480
480
|
SetInvitationService as c
|
|
481
481
|
};
|
|
482
|
-
//# sourceMappingURL=SetInvitationService.
|
|
482
|
+
//# sourceMappingURL=SetInvitationService.DtVH6OkH.js.map
|
package/dist/chunks/{SetInvitationService.ZT5lP003.js.map → SetInvitationService.DtVH6OkH.js.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SetInvitationService.ZT5lP003.js","sources":["../../src/components/invitations/InvitationServiceInfo.jsx","../../src/components/invitations/InvitationsListContainer.jsx","../../src/components/invitations/SetInvitationEmail.jsx","../../src/components/invitations/SetKeyIndividuals.jsx","../../src/components/invitations/SetInvitationService.jsx"],"sourcesContent":["import PropTypes from 'prop-types';\nimport { Stack, Box, Typography, Link } from '@mui/material';\nimport { serviceTypesIssuingOrInspection, CREDENTIAL_TYPES_IDS } from '@/utils/serviceTypes.js';\nimport { chainNames } from '@/utils/chainNames.js';\nimport { useConfig } from '@/utils/ConfigContext.js';\n\nconst getServiceKey = (key) => {\n switch (key) {\n case 'id': {\n return 'Service ID';\n }\n case 'type': {\n return 'Service type';\n }\n case 'serviceEndpoint': {\n return 'Service endpoint';\n }\n\n default:\n return key;\n }\n};\n\nconst getServiceTitle = (value, credentialTypes) => {\n let serviceType;\n if (value === 'VlcContactIssuer_v1') {\n serviceType = credentialTypes.includes('EmailV1.0')\n ? CREDENTIAL_TYPES_IDS.VLC_CONTACT_ISSUER_EMAIL\n : CREDENTIAL_TYPES_IDS.VLC_CONTACT_ISSUER_PHONE;\n } else {\n serviceType = value;\n }\n return serviceTypesIssuingOrInspection.find((item) => item.id === serviceType).title;\n};\n\nconst InvitationServiceInfo = ({ inviteeService, agreementStyles }) => {\n const config = useConfig();\n return (\n <>\n {inviteeService &&\n inviteeService?.map((service) => {\n return (\n <Stack sx={sxStyles.serviceContainer} key={`service-${service.id}`}>\n {Object.entries(service).map(([serviceKey, value]) => {\n if (serviceKey === 'credentialTypes') {\n return undefined;\n }\n\n const serviceValue =\n serviceKey === 'type' ? getServiceTitle(value, service.credentialTypes) : value;\n\n return (\n <Box key={`service-${service.id}-${serviceKey}`} sx={sxStyles.field}>\n <Typography variant=\"pm\">{getServiceKey(serviceKey)}</Typography>\n <Typography variant=\"h5\" sx={sxStyles.valueText}>\n {serviceValue}\n </Typography>\n </Box>\n );\n })}\n </Stack>\n );\n })}\n {config.chainName !== chainNames.testnet && (\n <Typography variant=\"pm\" sx={[sxStyles.agreement, agreementStyles]}>\n <span>By clicking Save, 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 </>\n );\n};\n\n// eslint-disable-next-line better-mutation/no-mutation\nInvitationServiceInfo.propTypes = {\n // eslint-disable-next-line react/forbid-prop-types\n inviteeService: PropTypes.array,\n // eslint-disable-next-line react/forbid-prop-types\n agreementStyles: PropTypes.array,\n};\n\nconst sxStyles = {\n serviceContainer: {\n backgroundColor: (theme) => theme.customColors.grey1,\n borderRadius: '12px',\n p: '32px 40px',\n mt: '25px',\n },\n agreement: {\n color: (theme) => theme.customColors.grey2,\n textAlign: 'center',\n mt: 5,\n display: 'block',\n },\n valueText: {\n marginTop: 1,\n 'overflow-wrap': 'break-word',\n },\n field: {\n marginBottom: 4,\n '&:last-child': {\n marginBottom: 0,\n },\n },\n};\n\nexport default InvitationServiceInfo;\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 { Link } from 'react-router';\nimport PropTypes from 'prop-types';\nimport { Button, Stack, Grid, Paper, Typography, TablePagination } from '@mui/material';\nimport { useCallback, useEffect, useState } from 'react';\nimport ListItem from '../common/ListItem.jsx';\n\nconst getDateAndTimeFormated = (dateString) => {\n const twoDigits = (number) => `0${number}`.slice(-2);\n const date = new Date(dateString);\n return `${date.getFullYear()}-${twoDigits(date.getMonth() + 1)}-${date.getDate()} ${twoDigits(\n date.getHours(),\n )}:${twoDigits(date.getMinutes())}`;\n};\n\nconst ROWS_PER_PAGE = 10;\n\nconst InvitationsListContainer = ({\n invitations,\n withdrawAction,\n resendAction,\n onCreateInvite,\n changePage,\n currentPage,\n invitationToDelete,\n onUndoDelete,\n}) => {\n const [pagesCount, setPagesCount] = useState(-1);\n const getStatus = (invitation) => {\n if (invitation.acceptedAt) {\n return { title: 'ACCEPTED', color: 'primary.success' };\n }\n if (new Date() >= new Date(invitation.expiresAt)) {\n return { title: 'EXPIRED', color: 'primary.main' };\n }\n return { title: 'INVITED', color: 'primary.warning' };\n };\n\n const updatePagination = useCallback(\n (nextPage) => {\n if (invitations.length === ROWS_PER_PAGE || nextPage < currentPage) {\n setPagesCount(-1);\n changePage(nextPage);\n } else {\n setPagesCount(currentPage * ROWS_PER_PAGE + invitations.length);\n }\n },\n [changePage, currentPage, invitations.length],\n );\n\n useEffect(() => {\n if (invitations.length < ROWS_PER_PAGE) {\n setPagesCount(currentPage * ROWS_PER_PAGE + invitations.length);\n }\n }, [currentPage, invitations]);\n\n return (\n <>\n <Stack sx={sx.inviteButton}>\n <Button variant=\"outlined\" onClick={onCreateInvite}>\n Invite Client +\n </Button>\n </Stack>\n\n {!!invitations.length &&\n invitations.map((invitation) => (\n <ListItem\n key={invitation.id}\n id={invitation.id}\n markForDelete={invitationToDelete === invitation.id}\n onUndoDelete={onUndoDelete}\n undoText=\"INVITATION WAS DELETED\"\n title={invitation.inviteeProfile.name}\n status={getStatus(invitation)}\n date={getDateAndTimeFormated(invitation.acceptedAt || invitation.updatedAt)}\n showActions={!invitation.acceptedAt}\n actions={[resendAction, withdrawAction]}\n email={invitation.inviteeEmail}\n content={invitation.inviteeService.map((service) => [\n { name: 'service type', value: service.type },\n {\n name: 'service endpoint',\n value: service.serviceEndpoint,\n },\n ])}\n />\n ))}\n {/* TODO Fix paging after api retun total */}\n {(invitations.length > 0 || currentPage > 0) && (\n <TablePagination\n component=\"div\"\n count={pagesCount}\n page={currentPage}\n onPageChange={(e, nextPage) => updatePagination(nextPage)}\n rowsPerPage={ROWS_PER_PAGE}\n rowsPerPageOptions={[]}\n />\n )}\n\n {!invitations.length && currentPage === 0 && (\n <Grid container>\n <Grid item xs={12}>\n <Paper sx={sx.paper} elevation={1}>\n <Typography sx={sx.text}>\n {'Send your first invitation '}\n <Link to=\"/invitations/create/step-1\">\n <Typography sx={sx.link} component=\"a\">\n now\n </Typography>\n </Link>\n </Typography>\n </Paper>\n </Grid>\n </Grid>\n )}\n </>\n );\n};\n\nexport default InvitationsListContainer;\n\nconst sx = {\n inviteButton: {\n mb: 2,\n flexDirection: 'row',\n justifyContent: 'space-between',\n alignItems: 'flex-end',\n },\n paper: {\n height: 158,\n minWidth: 275,\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'center',\n alignItems: 'center',\n border: 'none',\n boxShadow: '0px 0px 4px #0000001a, 0px 6px 12px #0000001a',\n },\n text: {\n fontSize: 16,\n textAlign: 'center',\n fontWeight: 600,\n color: 'text.primary',\n },\n link: {\n color: 'primary.main',\n textDecoration: 'underline',\n fontWeight: 600,\n },\n};\n\n// eslint-disable-next-line better-mutation/no-mutation\nInvitationsListContainer.propTypes = {\n // eslint-disable-next-line react/forbid-prop-types\n invitations: PropTypes.array,\n // eslint-disable-next-line react/forbid-prop-types\n withdrawAction: PropTypes.object,\n // eslint-disable-next-line react/forbid-prop-types\n resendAction: PropTypes.object,\n onCreateInvite: PropTypes.func.isRequired,\n changePage: PropTypes.func.isRequired,\n currentPage: PropTypes.number.isRequired,\n invitationToDelete: PropTypes.string,\n onUndoDelete: PropTypes.func.isRequired,\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 { useState } from 'react';\nimport { Box, InputAdornment } from '@mui/material';\nimport CheckCircleIcon from '@mui/icons-material/CheckCircle';\nimport { Form, TextInput, required } from 'react-admin';\nimport PropTypes from 'prop-types';\n\nimport { validateEmail } from '../organizations/CreateOrganizationUtils.js';\nimport OrganizationSubmitButton from '../organizations/OrganizationSubmitButton.jsx';\n\nconst SetInvitationEmail = ({ children, onSubmit, defaultValue, loading }) => {\n const [isEmailValid, setIsEmailValid] = useState(false);\n\n return (\n <Form mode=\"onChange\" onSubmit={onSubmit}>\n <TextInput\n fullWidth\n label=\"Email\"\n type=\"email\"\n source=\"inviteeEmail\"\n defaultValue={defaultValue}\n validate={[required(), ...validateEmail]}\n InputProps={{\n endAdornment: isEmailValid ? (\n <InputAdornment position=\"end\">\n <CheckCircleIcon color=\"success\" />\n </InputAdornment>\n ) : null,\n }}\n />\n\n <Box sx={styles.buttonBlock}>\n {children}\n <OrganizationSubmitButton\n styles={styles.inviteButton}\n title=\"Invite client\"\n handleState={setIsEmailValid}\n isLoading={loading}\n />\n </Box>\n </Form>\n );\n};\n\nconst styles = {\n buttonBlock: {\n display: 'flex',\n flexDirection: 'row',\n justifyContent: 'center',\n marginTop: 2,\n flex: 1,\n },\n backButton: {\n px: 4,\n py: 1,\n fontSize: '16px',\n width: '160px',\n marginRight: '20px',\n borderColor: 'secondary.light',\n color: 'text.primary',\n },\n inviteButton: {\n width: '160px',\n },\n};\n\n// eslint-disable-next-line better-mutation/no-mutation\nSetInvitationEmail.propTypes = {\n children: PropTypes.node.isRequired,\n onSubmit: PropTypes.func.isRequired,\n defaultValue: PropTypes.string,\n loading: PropTypes.bool,\n};\n\nexport default SetInvitationEmail;\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, Typography, Tooltip, Button } from '@mui/material';\nimport { Form, FormDataConsumer, TextInput, maxLength, required } from 'react-admin';\nimport PropTypes from 'prop-types';\nimport InfoIcon from '@mui/icons-material/Info';\nimport KeyboardArrowLeftIcon from '@mui/icons-material/KeyboardArrowLeft';\nimport { validateEmail } from '../organizations/index.jsx';\nimport OrganizationSubmitButton from '../organizations/OrganizationSubmitButton.jsx';\nimport {\n ADMINISTRATOR_DETAILS_HINT,\n SIGNATORY_DETAILS_HINT,\n SIGNATORY_EMAIL_HINT,\n} from '../../utils/index.jsx';\n\nconst SetKeyIndividuals = ({ children, onSubmit, defaultValues, onBack, loading }) => {\n return (\n <Form mode=\"onChange\" onSubmit={onSubmit} defaultValues={defaultValues}>\n <Stack>\n <Stack direction=\"row\" spacing={1.5} my={2}>\n <Typography variant=\"h4\" sx={styles.subTitle}>\n Administrator’s Details\n </Typography>\n <Box mt={1}>\n <Tooltip title={ADMINISTRATOR_DETAILS_HINT}>\n <InfoIcon color=\"info\" fontSize=\"small\" cursor=\"pointer\" />\n </Tooltip>\n </Box>\n </Stack>\n <Typography variant=\"body2\" sx={styles.infoText}>\n The invitation will be sent to this email.\n </Typography>\n <TextInput\n fullWidth\n label=\"Email\"\n source=\"adminEmail\"\n validate={[...validateEmail, required()]}\n />\n <TextInput\n fullWidth\n label=\"First name\"\n source=\"adminGivenName\"\n validate={[maxLength(1024), required()]}\n />\n <TextInput\n fullWidth\n label=\"Last name\"\n source=\"adminFamilyName\"\n validate={[maxLength(1024), required()]}\n />\n <TextInput fullWidth label=\"Job Title\" source=\"adminTitle\" validate={[maxLength(1024)]} />\n <Stack direction=\"row\" spacing={1.5} my={2}>\n <Typography variant=\"h4\" sx={styles.subTitle}>\n Signatory Authority’s Details\n </Typography>\n <Box mt={1}>\n <Tooltip title={SIGNATORY_DETAILS_HINT}>\n <InfoIcon color=\"info\" fontSize=\"small\" cursor=\"pointer\" />\n </Tooltip>\n </Box>\n </Stack>\n <Stack flexDirection=\"row\" gap={1.75}>\n <TextInput fullWidth label=\"Email\" source=\"signatoryEmail\" validate={validateEmail} />\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 <TextInput\n fullWidth\n label=\"First name\"\n source=\"signatoryGivenName\"\n validate={[maxLength(1024)]}\n />\n <TextInput\n fullWidth\n label=\"Last name\"\n source=\"signatoryFamilyName\"\n validate={[maxLength(1024)]}\n />\n <TextInput\n fullWidth\n label=\"Job Title\"\n source=\"signatoryTitle\"\n validate={[maxLength(1024)]}\n />\n </Stack>\n\n <Box sx={styles.buttonBlock}>\n <FormDataConsumer>\n {({ formData }) => (\n <Button\n variant=\"outlined\"\n color=\"secondary\"\n sx={styles.button}\n onClick={() => onBack(formData)}\n startIcon={<KeyboardArrowLeftIcon />}\n >\n Back\n </Button>\n )}\n </FormDataConsumer>\n {children}\n\n <OrganizationSubmitButton\n title=\"Invite Client\"\n styles={styles.button}\n isLoading={loading}\n />\n </Box>\n </Form>\n );\n};\n\nconst styles = {\n infoText: {\n color: 'primary.main',\n fontWeight: '600',\n marginTop: 1,\n marginBottom: 1.5,\n },\n subTitle: {\n fontSize: '18px',\n fontWeight: '600',\n },\n buttonBlock: {\n display: 'flex',\n flexDirection: 'row',\n justifyContent: 'center',\n marginTop: 2,\n flex: 1,\n gap: '1em',\n },\n button: { px: 0, py: 1, fontSize: '16px', width: '160px' },\n};\n\n// eslint-disable-next-line better-mutation/no-mutation\nSetKeyIndividuals.propTypes = {\n children: PropTypes.node.isRequired,\n onSubmit: PropTypes.func.isRequired,\n onBack: PropTypes.func.isRequired,\n // eslint-disable-next-line react/forbid-prop-types\n defaultValues: PropTypes.object,\n loading: PropTypes.bool,\n};\n\nexport default SetKeyIndividuals;\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 { useCallback, useMemo } from 'react';\nimport { Form, AutocompleteInput, required } from 'react-admin';\nimport { Box, Stack } from '@mui/material';\nimport { kebabCase } from 'lodash-es';\nimport PropTypes from 'prop-types';\n\nimport {\n serviceTypesIssuingOrInspection,\n credentialTypesByServiceTypes,\n} from '@/utils/serviceTypes.js';\nimport OrganizationSubmitButton from '../organizations/OrganizationSubmitButton.jsx';\n\nconst SetInvitationService = ({ children, onSubmit, defaultValues, serviceEndpointsOptions }) => {\n const defaultFormData = useMemo(() => {\n if (!defaultValues && serviceEndpointsOptions.length === 1) {\n return { serviceEndpoint: serviceEndpointsOptions?.[0]?.id };\n }\n return defaultValues;\n }, [defaultValues, serviceEndpointsOptions]);\n\n const handleSubmit = useCallback(\n (data) => {\n const type = data.type.match(/.+v1/);\n const kebabType = kebabCase(type[0]);\n onSubmit({\n ...data,\n type: type[0],\n id: `${kebabType}-1`,\n credentialTypes: credentialTypesByServiceTypes[data.type],\n });\n },\n [onSubmit],\n );\n\n const autoCompleteInputProps =\n serviceEndpointsOptions.length === 1 ? { InputProps: { disabled: true } } : {};\n\n return (\n <Form onSubmit={handleSubmit} defaultValues={defaultFormData}>\n <Stack sx={styles.endpointForm}>\n <AutocompleteInput\n label=\"Select service\"\n source=\"type\"\n optionText=\"title\"\n choices={serviceTypesIssuingOrInspection}\n validate={[required()]}\n />\n <AutocompleteInput\n label=\"Service endpoint\"\n source=\"serviceEndpoint\"\n choices={serviceEndpointsOptions}\n TextFieldProps={autoCompleteInputProps}\n validate={[required()]}\n />\n <Box sx={styles.buttonBlock}>\n {children}\n <OrganizationSubmitButton title=\"Next\" styles={styles.button} />\n </Box>\n </Stack>\n </Form>\n );\n};\n\nconst styles = {\n button: { px: 4, py: 1, fontSize: '16px', width: '160px' },\n buttonBlock: {\n display: 'flex',\n flexDirection: 'row',\n justifyContent: 'center',\n marginTop: '40px',\n flex: 1,\n },\n endpointForm: {\n marginTop: '30px',\n },\n};\n\n// eslint-disable-next-line better-mutation/no-mutation\nSetInvitationService.propTypes = {\n children: PropTypes.node.isRequired,\n onSubmit: PropTypes.func.isRequired,\n // eslint-disable-next-line react/forbid-prop-types\n defaultValues: PropTypes.object,\n serviceEndpointsOptions: PropTypes.arrayOf(\n PropTypes.shape({\n name: PropTypes.string.isRequired,\n id: PropTypes.string.isRequired,\n }),\n ),\n};\n\nexport default SetInvitationService;\n"],"names":["Link","styles"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SetInvitationService.DtVH6OkH.js","sources":["../../src/components/invitations/InvitationServiceInfo.jsx","../../src/components/invitations/InvitationsListContainer.jsx","../../src/components/invitations/SetInvitationEmail.jsx","../../src/components/invitations/SetKeyIndividuals.jsx","../../src/components/invitations/SetInvitationService.jsx"],"sourcesContent":["import PropTypes from 'prop-types';\nimport { Stack, Box, Typography, Link } from '@mui/material';\nimport { serviceTypesIssuingOrInspection, CREDENTIAL_TYPES_IDS } from '@/utils/serviceTypes.js';\nimport { chainNames } from '@/utils/chainNames.js';\nimport { useConfig } from '@/utils/ConfigContext.js';\n\nconst getServiceKey = (key) => {\n switch (key) {\n case 'id': {\n return 'Service ID';\n }\n case 'type': {\n return 'Service type';\n }\n case 'serviceEndpoint': {\n return 'Service endpoint';\n }\n\n default:\n return key;\n }\n};\n\nconst getServiceTitle = (value, credentialTypes) => {\n let serviceType;\n if (value === 'VlcContactIssuer_v1') {\n serviceType = credentialTypes.includes('EmailV1.0')\n ? CREDENTIAL_TYPES_IDS.VLC_CONTACT_ISSUER_EMAIL\n : CREDENTIAL_TYPES_IDS.VLC_CONTACT_ISSUER_PHONE;\n } else {\n serviceType = value;\n }\n return serviceTypesIssuingOrInspection.find((item) => item.id === serviceType).title;\n};\n\nconst InvitationServiceInfo = ({ inviteeService, agreementStyles }) => {\n const config = useConfig();\n return (\n <>\n {inviteeService &&\n inviteeService?.map((service) => {\n return (\n <Stack sx={sxStyles.serviceContainer} key={`service-${service.id}`}>\n {Object.entries(service).map(([serviceKey, value]) => {\n if (serviceKey === 'credentialTypes') {\n return undefined;\n }\n\n const serviceValue =\n serviceKey === 'type' ? getServiceTitle(value, service.credentialTypes) : value;\n\n return (\n <Box key={`service-${service.id}-${serviceKey}`} sx={sxStyles.field}>\n <Typography variant=\"pm\">{getServiceKey(serviceKey)}</Typography>\n <Typography variant=\"h5\" sx={sxStyles.valueText}>\n {serviceValue}\n </Typography>\n </Box>\n );\n })}\n </Stack>\n );\n })}\n {config.chainName !== chainNames.testnet && (\n <Typography variant=\"pm\" sx={[sxStyles.agreement, agreementStyles]}>\n <span>By clicking Save, 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 </>\n );\n};\n\n// eslint-disable-next-line better-mutation/no-mutation\nInvitationServiceInfo.propTypes = {\n // eslint-disable-next-line react/forbid-prop-types\n inviteeService: PropTypes.array,\n // eslint-disable-next-line react/forbid-prop-types\n agreementStyles: PropTypes.array,\n};\n\nconst sxStyles = {\n serviceContainer: {\n backgroundColor: (theme) => theme.customColors.grey1,\n borderRadius: '12px',\n p: '32px 40px',\n mt: '25px',\n },\n agreement: {\n color: (theme) => theme.customColors.grey2,\n textAlign: 'center',\n mt: 5,\n display: 'block',\n },\n valueText: {\n marginTop: 1,\n 'overflow-wrap': 'break-word',\n },\n field: {\n marginBottom: 4,\n '&:last-child': {\n marginBottom: 0,\n },\n },\n};\n\nexport default InvitationServiceInfo;\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 { Link } from 'react-router';\nimport PropTypes from 'prop-types';\nimport { Button, Stack, Grid, Paper, Typography, TablePagination } from '@mui/material';\nimport { useCallback, useEffect, useState } from 'react';\nimport ListItem from '../common/ListItem.jsx';\n\nconst getDateAndTimeFormated = (dateString) => {\n const twoDigits = (number) => `0${number}`.slice(-2);\n const date = new Date(dateString);\n return `${date.getFullYear()}-${twoDigits(date.getMonth() + 1)}-${date.getDate()} ${twoDigits(\n date.getHours(),\n )}:${twoDigits(date.getMinutes())}`;\n};\n\nconst ROWS_PER_PAGE = 10;\n\nconst InvitationsListContainer = ({\n invitations,\n withdrawAction,\n resendAction,\n onCreateInvite,\n changePage,\n currentPage,\n invitationToDelete,\n onUndoDelete,\n}) => {\n const [pagesCount, setPagesCount] = useState(-1);\n const getStatus = (invitation) => {\n if (invitation.acceptedAt) {\n return { title: 'ACCEPTED', color: 'primary.success' };\n }\n if (new Date() >= new Date(invitation.expiresAt)) {\n return { title: 'EXPIRED', color: 'primary.main' };\n }\n return { title: 'INVITED', color: 'primary.warning' };\n };\n\n const updatePagination = useCallback(\n (nextPage) => {\n if (invitations.length === ROWS_PER_PAGE || nextPage < currentPage) {\n setPagesCount(-1);\n changePage(nextPage);\n } else {\n setPagesCount(currentPage * ROWS_PER_PAGE + invitations.length);\n }\n },\n [changePage, currentPage, invitations.length],\n );\n\n useEffect(() => {\n if (invitations.length < ROWS_PER_PAGE) {\n setPagesCount(currentPage * ROWS_PER_PAGE + invitations.length);\n }\n }, [currentPage, invitations]);\n\n return (\n <>\n <Stack sx={sx.inviteButton}>\n <Button variant=\"outlined\" onClick={onCreateInvite}>\n Invite Client +\n </Button>\n </Stack>\n\n {!!invitations.length &&\n invitations.map((invitation) => (\n <ListItem\n key={invitation.id}\n id={invitation.id}\n markForDelete={invitationToDelete === invitation.id}\n onUndoDelete={onUndoDelete}\n undoText=\"INVITATION WAS DELETED\"\n title={invitation.inviteeProfile.name}\n status={getStatus(invitation)}\n date={getDateAndTimeFormated(invitation.acceptedAt || invitation.updatedAt)}\n showActions={!invitation.acceptedAt}\n actions={[resendAction, withdrawAction]}\n email={invitation.inviteeEmail}\n content={invitation.inviteeService.map((service) => [\n { name: 'service type', value: service.type },\n {\n name: 'service endpoint',\n value: service.serviceEndpoint,\n },\n ])}\n />\n ))}\n {/* TODO Fix paging after api retun total */}\n {(invitations.length > 0 || currentPage > 0) && (\n <TablePagination\n component=\"div\"\n count={pagesCount}\n page={currentPage}\n onPageChange={(e, nextPage) => updatePagination(nextPage)}\n rowsPerPage={ROWS_PER_PAGE}\n rowsPerPageOptions={[]}\n />\n )}\n\n {!invitations.length && currentPage === 0 && (\n <Grid container>\n <Grid item xs={12}>\n <Paper sx={sx.paper} elevation={1}>\n <Typography sx={sx.text}>\n {'Send your first invitation '}\n <Link to=\"/invitations/create/step-1\">\n <Typography sx={sx.link} component=\"a\">\n now\n </Typography>\n </Link>\n </Typography>\n </Paper>\n </Grid>\n </Grid>\n )}\n </>\n );\n};\n\nexport default InvitationsListContainer;\n\nconst sx = {\n inviteButton: {\n mb: 2,\n flexDirection: 'row',\n justifyContent: 'space-between',\n alignItems: 'flex-end',\n },\n paper: {\n height: 158,\n minWidth: 275,\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'center',\n alignItems: 'center',\n border: 'none',\n boxShadow: '0px 0px 4px #0000001a, 0px 6px 12px #0000001a',\n },\n text: {\n fontSize: 16,\n textAlign: 'center',\n fontWeight: 600,\n color: 'text.primary',\n },\n link: {\n color: 'primary.main',\n textDecoration: 'underline',\n fontWeight: 600,\n },\n};\n\n// eslint-disable-next-line better-mutation/no-mutation\nInvitationsListContainer.propTypes = {\n // eslint-disable-next-line react/forbid-prop-types\n invitations: PropTypes.array,\n // eslint-disable-next-line react/forbid-prop-types\n withdrawAction: PropTypes.object,\n // eslint-disable-next-line react/forbid-prop-types\n resendAction: PropTypes.object,\n onCreateInvite: PropTypes.func.isRequired,\n changePage: PropTypes.func.isRequired,\n currentPage: PropTypes.number.isRequired,\n invitationToDelete: PropTypes.string,\n onUndoDelete: PropTypes.func.isRequired,\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 { useState } from 'react';\nimport { Box, InputAdornment } from '@mui/material';\nimport CheckCircleIcon from '@mui/icons-material/CheckCircle';\nimport { Form, TextInput, required } from 'react-admin';\nimport PropTypes from 'prop-types';\n\nimport { validateEmail } from '../organizations/CreateOrganizationUtils.js';\nimport OrganizationSubmitButton from '../organizations/OrganizationSubmitButton.jsx';\n\nconst SetInvitationEmail = ({ children, onSubmit, defaultValue, loading }) => {\n const [isEmailValid, setIsEmailValid] = useState(false);\n\n return (\n <Form mode=\"onChange\" onSubmit={onSubmit}>\n <TextInput\n fullWidth\n label=\"Email\"\n type=\"email\"\n source=\"inviteeEmail\"\n defaultValue={defaultValue}\n validate={[required(), ...validateEmail]}\n InputProps={{\n endAdornment: isEmailValid ? (\n <InputAdornment position=\"end\">\n <CheckCircleIcon color=\"success\" />\n </InputAdornment>\n ) : null,\n }}\n />\n\n <Box sx={styles.buttonBlock}>\n {children}\n <OrganizationSubmitButton\n styles={styles.inviteButton}\n title=\"Invite client\"\n handleState={setIsEmailValid}\n isLoading={loading}\n />\n </Box>\n </Form>\n );\n};\n\nconst styles = {\n buttonBlock: {\n display: 'flex',\n flexDirection: 'row',\n justifyContent: 'center',\n marginTop: 2,\n flex: 1,\n },\n backButton: {\n px: 4,\n py: 1,\n fontSize: '16px',\n width: '160px',\n marginRight: '20px',\n borderColor: 'secondary.light',\n color: 'text.primary',\n },\n inviteButton: {\n width: '160px',\n },\n};\n\n// eslint-disable-next-line better-mutation/no-mutation\nSetInvitationEmail.propTypes = {\n children: PropTypes.node.isRequired,\n onSubmit: PropTypes.func.isRequired,\n defaultValue: PropTypes.string,\n loading: PropTypes.bool,\n};\n\nexport default SetInvitationEmail;\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, Typography, Tooltip, Button } from '@mui/material';\nimport { Form, FormDataConsumer, TextInput, maxLength, required } from 'react-admin';\nimport PropTypes from 'prop-types';\nimport InfoIcon from '@mui/icons-material/Info';\nimport KeyboardArrowLeftIcon from '@mui/icons-material/KeyboardArrowLeft';\nimport { validateEmail } from '../organizations/index.jsx';\nimport OrganizationSubmitButton from '../organizations/OrganizationSubmitButton.jsx';\nimport {\n ADMINISTRATOR_DETAILS_HINT,\n SIGNATORY_DETAILS_HINT,\n SIGNATORY_EMAIL_HINT,\n} from '../../utils/index.jsx';\n\nconst SetKeyIndividuals = ({ children, onSubmit, defaultValues, onBack, loading }) => {\n return (\n <Form mode=\"onChange\" onSubmit={onSubmit} defaultValues={defaultValues}>\n <Stack>\n <Stack direction=\"row\" spacing={1.5} my={2}>\n <Typography variant=\"h4\" sx={styles.subTitle}>\n Administrator’s Details\n </Typography>\n <Box mt={1}>\n <Tooltip title={ADMINISTRATOR_DETAILS_HINT}>\n <InfoIcon color=\"info\" fontSize=\"small\" cursor=\"pointer\" />\n </Tooltip>\n </Box>\n </Stack>\n <Typography variant=\"body2\" sx={styles.infoText}>\n The invitation will be sent to this email.\n </Typography>\n <TextInput\n fullWidth\n label=\"Email\"\n source=\"adminEmail\"\n validate={[...validateEmail, required()]}\n />\n <TextInput\n fullWidth\n label=\"First name\"\n source=\"adminGivenName\"\n validate={[maxLength(1024), required()]}\n />\n <TextInput\n fullWidth\n label=\"Last name\"\n source=\"adminFamilyName\"\n validate={[maxLength(1024), required()]}\n />\n <TextInput fullWidth label=\"Job Title\" source=\"adminTitle\" validate={[maxLength(1024)]} />\n <Stack direction=\"row\" spacing={1.5} my={2}>\n <Typography variant=\"h4\" sx={styles.subTitle}>\n Signatory Authority’s Details\n </Typography>\n <Box mt={1}>\n <Tooltip title={SIGNATORY_DETAILS_HINT}>\n <InfoIcon color=\"info\" fontSize=\"small\" cursor=\"pointer\" />\n </Tooltip>\n </Box>\n </Stack>\n <Stack flexDirection=\"row\" gap={1.75}>\n <TextInput fullWidth label=\"Email\" source=\"signatoryEmail\" validate={validateEmail} />\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 <TextInput\n fullWidth\n label=\"First name\"\n source=\"signatoryGivenName\"\n validate={[maxLength(1024)]}\n />\n <TextInput\n fullWidth\n label=\"Last name\"\n source=\"signatoryFamilyName\"\n validate={[maxLength(1024)]}\n />\n <TextInput\n fullWidth\n label=\"Job Title\"\n source=\"signatoryTitle\"\n validate={[maxLength(1024)]}\n />\n </Stack>\n\n <Box sx={styles.buttonBlock}>\n <FormDataConsumer>\n {({ formData }) => (\n <Button\n variant=\"outlined\"\n color=\"secondary\"\n sx={styles.button}\n onClick={() => onBack(formData)}\n startIcon={<KeyboardArrowLeftIcon />}\n >\n Back\n </Button>\n )}\n </FormDataConsumer>\n {children}\n\n <OrganizationSubmitButton\n title=\"Invite Client\"\n styles={styles.button}\n isLoading={loading}\n />\n </Box>\n </Form>\n );\n};\n\nconst styles = {\n infoText: {\n color: 'primary.main',\n fontWeight: '600',\n marginTop: 1,\n marginBottom: 1.5,\n },\n subTitle: {\n fontSize: '18px',\n fontWeight: '600',\n },\n buttonBlock: {\n display: 'flex',\n flexDirection: 'row',\n justifyContent: 'center',\n marginTop: 2,\n flex: 1,\n gap: '1em',\n },\n button: { px: 0, py: 1, fontSize: '16px', width: '160px' },\n};\n\n// eslint-disable-next-line better-mutation/no-mutation\nSetKeyIndividuals.propTypes = {\n children: PropTypes.node.isRequired,\n onSubmit: PropTypes.func.isRequired,\n onBack: PropTypes.func.isRequired,\n // eslint-disable-next-line react/forbid-prop-types\n defaultValues: PropTypes.object,\n loading: PropTypes.bool,\n};\n\nexport default SetKeyIndividuals;\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 { useCallback, useMemo } from 'react';\nimport { Form, AutocompleteInput, required } from 'react-admin';\nimport { Box, Stack } from '@mui/material';\nimport { kebabCase } from 'lodash-es';\nimport PropTypes from 'prop-types';\n\nimport {\n serviceTypesIssuingOrInspection,\n credentialTypesByServiceTypes,\n} from '@/utils/serviceTypes.js';\nimport OrganizationSubmitButton from '../organizations/OrganizationSubmitButton.jsx';\n\nconst SetInvitationService = ({ children, onSubmit, defaultValues, serviceEndpointsOptions }) => {\n const defaultFormData = useMemo(() => {\n if (!defaultValues && serviceEndpointsOptions.length === 1) {\n return { serviceEndpoint: serviceEndpointsOptions?.[0]?.id };\n }\n return defaultValues;\n }, [defaultValues, serviceEndpointsOptions]);\n\n const handleSubmit = useCallback(\n (data) => {\n const type = data.type.match(/.+v1/);\n const kebabType = kebabCase(type[0]);\n onSubmit({\n ...data,\n type: type[0],\n id: `${kebabType}-1`,\n credentialTypes: credentialTypesByServiceTypes[data.type],\n });\n },\n [onSubmit],\n );\n\n const autoCompleteInputProps =\n serviceEndpointsOptions.length === 1 ? { InputProps: { disabled: true } } : {};\n\n return (\n <Form onSubmit={handleSubmit} defaultValues={defaultFormData}>\n <Stack sx={styles.endpointForm}>\n <AutocompleteInput\n label=\"Select service\"\n source=\"type\"\n optionText=\"title\"\n choices={serviceTypesIssuingOrInspection}\n validate={[required()]}\n />\n <AutocompleteInput\n label=\"Service endpoint\"\n source=\"serviceEndpoint\"\n choices={serviceEndpointsOptions}\n TextFieldProps={autoCompleteInputProps}\n validate={[required()]}\n />\n <Box sx={styles.buttonBlock}>\n {children}\n <OrganizationSubmitButton title=\"Next\" styles={styles.button} />\n </Box>\n </Stack>\n </Form>\n );\n};\n\nconst styles = {\n button: { px: 4, py: 1, fontSize: '16px', width: '160px' },\n buttonBlock: {\n display: 'flex',\n flexDirection: 'row',\n justifyContent: 'center',\n marginTop: '40px',\n flex: 1,\n },\n endpointForm: {\n marginTop: '30px',\n },\n};\n\n// eslint-disable-next-line better-mutation/no-mutation\nSetInvitationService.propTypes = {\n children: PropTypes.node.isRequired,\n onSubmit: PropTypes.func.isRequired,\n // eslint-disable-next-line react/forbid-prop-types\n defaultValues: PropTypes.object,\n serviceEndpointsOptions: PropTypes.arrayOf(\n PropTypes.shape({\n name: PropTypes.string.isRequired,\n id: PropTypes.string.isRequired,\n }),\n ),\n};\n\nexport default SetInvitationService;\n"],"names":["Link","styles"],"mappings":";;;;;;;;;;;;;;;;;AAMA,MAAM,gBAAgB,CAAC,QAAQ;AAC7B,UAAQ,KAAA;AAAA,IACN,KAAK,MAAM;AACT,aAAO;AAAA,IACT;AAAA,IACA,KAAK,QAAQ;AACX,aAAO;AAAA,IACT;AAAA,IACA,KAAK,mBAAmB;AACtB,aAAO;AAAA,IACT;AAAA,IAEA;AACE,aAAO;AAAA,EAAA;AAEb;AAEA,MAAM,kBAAkB,CAAC,OAAO,oBAAoB;AAClD,MAAI;AACJ,MAAI,UAAU,uBAAuB;AACnC,kBAAc,gBAAgB,SAAS,WAAW,IAC9C,qBAAqB,2BACrB,qBAAqB;AAAA,EAC3B,OAAO;AACL,kBAAc;AAAA,EAChB;AACA,SAAO,gCAAgC,KAAK,CAAC,SAAS,KAAK,OAAO,WAAW,EAAE;AACjF;AAEA,MAAM,wBAAwB,CAAC,EAAE,gBAAgB,sBAAsB;AACrE,QAAM,SAAS,UAAA;AACf,SACE,qBAAA,UAAA,EACG,UAAA;AAAA,IAAA,kBACC,gBAAgB,IAAI,CAAC,YAAY;AAC/B,aACE,oBAAC,OAAA,EAAM,IAAI,SAAS,kBACjB,UAAA,OAAO,QAAQ,OAAO,EAAE,IAAI,CAAC,CAAC,YAAY,KAAK,MAAM;AACpD,YAAI,eAAe,mBAAmB;AACpC,iBAAO;AAAA,QACT;AAEA,cAAM,eACJ,eAAe,SAAS,gBAAgB,OAAO,QAAQ,eAAe,IAAI;AAE5E,eACE,qBAAC,KAAA,EAAgD,IAAI,SAAS,OAC5D,UAAA;AAAA,UAAA,oBAAC,YAAA,EAAW,SAAQ,MAAM,UAAA,cAAc,UAAU,GAAE;AAAA,8BACnD,YAAA,EAAW,SAAQ,MAAK,IAAI,SAAS,WACnC,UAAA,aAAA,CACH;AAAA,QAAA,EAAA,GAJQ,WAAW,QAAQ,EAAE,IAAI,UAAU,EAK7C;AAAA,MAEJ,CAAC,EAAA,GAjBwC,WAAW,QAAQ,EAAE,EAkBhE;AAAA,IAEJ,CAAC;AAAA,IACF,OAAO,cAAc,WAAW,WAC/B,qBAAC,YAAA,EAAW,SAAQ,MAAK,IAAI,CAAC,SAAS,WAAW,eAAe,GAC/D,UAAA;AAAA,MAAA,oBAAC,UAAK,UAAA,sCAAA,CAAmC;AAAA,MACzC;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,QAAO;AAAA,UACP,MAAK;AAAA,UACN,UAAA;AAAA,QAAA;AAAA,MAAA;AAAA,IAED,EAAA,CACF;AAAA,EAAA,GAEJ;AAEJ;AAGA,sBAAsB,YAAY;AAAA;AAAA,EAEhC,gBAAgB,UAAU;AAAA;AAAA,EAE1B,iBAAiB,UAAU;AAC7B;AAEA,MAAM,WAAW;AAAA,EACf,kBAAkB;AAAA,IAChB,iBAAiB,CAAC,UAAU,MAAM,aAAa;AAAA,IAC/C,cAAc;AAAA,IACd,GAAG;AAAA,IACH,IAAI;AAAA,EAAA;AAAA,EAEN,WAAW;AAAA,IACT,OAAO,CAAC,UAAU,MAAM,aAAa;AAAA,IACrC,WAAW;AAAA,IACX,IAAI;AAAA,IACJ,SAAS;AAAA,EAAA;AAAA,EAEX,WAAW;AAAA,IACT,WAAW;AAAA,IACX,iBAAiB;AAAA,EAAA;AAAA,EAEnB,OAAO;AAAA,IACL,cAAc;AAAA,IACd,gBAAgB;AAAA,MACd,cAAc;AAAA,IAAA;AAAA,EAChB;AAEJ;ACvFA,MAAM,yBAAyB,CAAC,eAAe;AAC7C,QAAM,YAAY,CAAC,WAAW,IAAI,MAAM,GAAG,MAAM,EAAE;AACnD,QAAM,OAAO,IAAI,KAAK,UAAU;AAChC,SAAO,GAAG,KAAK,YAAA,CAAa,IAAI,UAAU,KAAK,SAAA,IAAa,CAAC,CAAC,IAAI,KAAK,QAAA,CAAS,IAAI;AAAA,IAClF,KAAK,SAAA;AAAA,EAAS,CACf,IAAI,UAAU,KAAK,WAAA,CAAY,CAAC;AACnC;AAEA,MAAM,gBAAgB;AAEtB,MAAM,2BAA2B,CAAC;AAAA,EAChC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAAM;AACJ,QAAM,CAAC,YAAY,aAAa,IAAI,SAAS,EAAE;AAC/C,QAAM,YAAY,CAAC,eAAe;AAChC,QAAI,WAAW,YAAY;AACzB,aAAO,EAAE,OAAO,YAAY,OAAO,kBAAA;AAAA,IACrC;AACA,4BAAQ,KAAA,KAAU,IAAI,KAAK,WAAW,SAAS,GAAG;AAChD,aAAO,EAAE,OAAO,WAAW,OAAO,eAAA;AAAA,IACpC;AACA,WAAO,EAAE,OAAO,WAAW,OAAO,kBAAA;AAAA,EACpC;AAEA,QAAM,mBAAmB;AAAA,IACvB,CAAC,aAAa;AACZ,UAAI,YAAY,WAAW,iBAAiB,WAAW,aAAa;AAClE,sBAAc,EAAE;AAChB,mBAAW,QAAQ;AAAA,MACrB,OAAO;AACL,sBAAc,cAAc,gBAAgB,YAAY,MAAM;AAAA,MAChE;AAAA,IACF;AAAA,IACA,CAAC,YAAY,aAAa,YAAY,MAAM;AAAA,EAAA;AAG9C,YAAU,MAAM;AACd,QAAI,YAAY,SAAS,eAAe;AACtC,oBAAc,cAAc,gBAAgB,YAAY,MAAM;AAAA,IAChE;AAAA,EACF,GAAG,CAAC,aAAa,WAAW,CAAC;AAE7B,SACE,qBAAA,UAAA,EACE,UAAA;AAAA,IAAA,oBAAC,OAAA,EAAM,IAAI,GAAG,cACZ,UAAA,oBAAC,QAAA,EAAO,SAAQ,YAAW,SAAS,gBAAgB,UAAA,kBAAA,CAEpD,GACF;AAAA,IAEC,CAAC,CAAC,YAAY,UACb,YAAY,IAAI,CAAC,eACf;AAAA,MAAC;AAAA,MAAA;AAAA,QAEC,IAAI,WAAW;AAAA,QACf,eAAe,uBAAuB,WAAW;AAAA,QACjD;AAAA,QACA,UAAS;AAAA,QACT,OAAO,WAAW,eAAe;AAAA,QACjC,QAAQ,UAAU,UAAU;AAAA,QAC5B,MAAM,uBAAuB,WAAW,cAAc,WAAW,SAAS;AAAA,QAC1E,aAAa,CAAC,WAAW;AAAA,QACzB,SAAS,CAAC,cAAc,cAAc;AAAA,QACtC,OAAO,WAAW;AAAA,QAClB,SAAS,WAAW,eAAe,IAAI,CAAC,YAAY;AAAA,UAClD,EAAE,MAAM,gBAAgB,OAAO,QAAQ,KAAA;AAAA,UACvC;AAAA,YACE,MAAM;AAAA,YACN,OAAO,QAAQ;AAAA,UAAA;AAAA,QACjB,CACD;AAAA,MAAA;AAAA,MAjBI,WAAW;AAAA,IAAA,CAmBnB;AAAA,KAED,YAAY,SAAS,KAAK,cAAc,MACxC;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,WAAU;AAAA,QACV,OAAO;AAAA,QACP,MAAM;AAAA,QACN,cAAc,CAAC,GAAG,aAAa,iBAAiB,QAAQ;AAAA,QACxD,aAAa;AAAA,QACb,oBAAoB,CAAA;AAAA,MAAC;AAAA,IAAA;AAAA,IAIxB,CAAC,YAAY,UAAU,gBAAgB,KACtC,oBAAC,MAAA,EAAK,WAAS,MACb,UAAA,oBAAC,MAAA,EAAK,MAAI,MAAC,IAAI,IACb,UAAA,oBAAC,OAAA,EAAM,IAAI,GAAG,OAAO,WAAW,GAC9B,UAAA,qBAAC,YAAA,EAAW,IAAI,GAAG,MAChB,UAAA;AAAA,MAAA;AAAA,MACD,oBAACA,QAAA,EAAK,IAAG,8BACP,UAAA,oBAAC,YAAA,EAAW,IAAI,GAAG,MAAM,WAAU,KAAI,UAAA,MAAA,CAEvC,EAAA,CACF;AAAA,IAAA,GACF,EAAA,CACF,GACF,EAAA,CACF;AAAA,EAAA,GAEJ;AAEJ;AAIA,MAAM,KAAK;AAAA,EACT,cAAc;AAAA,IACZ,IAAI;AAAA,IACJ,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,YAAY;AAAA,EAAA;AAAA,EAEd,OAAO;AAAA,IACL,QAAQ;AAAA,IACR,UAAU;AAAA,IACV,SAAS;AAAA,IACT,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,YAAY;AAAA,IACZ,QAAQ;AAAA,IACR,WAAW;AAAA,EAAA;AAAA,EAEb,MAAM;AAAA,IACJ,UAAU;AAAA,IACV,WAAW;AAAA,IACX,YAAY;AAAA,IACZ,OAAO;AAAA,EAAA;AAAA,EAET,MAAM;AAAA,IACJ,OAAO;AAAA,IACP,gBAAgB;AAAA,IAChB,YAAY;AAAA,EAAA;AAEhB;AAGA,yBAAyB,YAAY;AAAA;AAAA,EAEnC,aAAa,UAAU;AAAA;AAAA,EAEvB,gBAAgB,UAAU;AAAA;AAAA,EAE1B,cAAc,UAAU;AAAA,EACxB,gBAAgB,UAAU,KAAK;AAAA,EAC/B,YAAY,UAAU,KAAK;AAAA,EAC3B,aAAa,UAAU,OAAO;AAAA,EAC9B,oBAAoB,UAAU;AAAA,EAC9B,cAAc,UAAU,KAAK;AAC/B;AC1JA,MAAM,qBAAqB,CAAC,EAAE,UAAU,UAAU,cAAc,cAAc;AAC5E,QAAM,CAAC,cAAc,eAAe,IAAI,SAAS,KAAK;AAEtD,SACE,qBAAC,MAAA,EAAK,MAAK,YAAW,UACpB,UAAA;AAAA,IAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,WAAS;AAAA,QACT,OAAM;AAAA,QACN,MAAK;AAAA,QACL,QAAO;AAAA,QACP;AAAA,QACA,UAAU,CAAC,YAAY,GAAG,aAAa;AAAA,QACvC,YAAY;AAAA,UACV,cAAc,eACZ,oBAAC,gBAAA,EAAe,UAAS,OACvB,UAAA,oBAAC,iBAAA,EAAgB,OAAM,UAAA,CAAU,EAAA,CACnC,IACE;AAAA,QAAA;AAAA,MACN;AAAA,IAAA;AAAA,IAGF,qBAAC,KAAA,EAAI,IAAIC,SAAO,aACb,UAAA;AAAA,MAAA;AAAA,MACD;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,QAAQA,SAAO;AAAA,UACf,OAAM;AAAA,UACN,aAAa;AAAA,UACb,WAAW;AAAA,QAAA;AAAA,MAAA;AAAA,IACb,EAAA,CACF;AAAA,EAAA,GACF;AAEJ;AAEA,MAAMA,WAAS;AAAA,EACb,aAAa;AAAA,IACX,SAAS;AAAA,IACT,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,WAAW;AAAA,IACX,MAAM;AAAA,EAAA;AAAA,EAWR,cAAc;AAAA,IACZ,OAAO;AAAA,EAAA;AAEX;AAGA,mBAAmB,YAAY;AAAA,EAC7B,UAAU,UAAU,KAAK;AAAA,EACzB,UAAU,UAAU,KAAK;AAAA,EACzB,cAAc,UAAU;AAAA,EACxB,SAAS,UAAU;AACrB;AC1DA,MAAM,oBAAoB,CAAC,EAAE,UAAU,UAAU,eAAe,QAAQ,cAAc;AACpF,SACE,qBAAC,MAAA,EAAK,MAAK,YAAW,UAAoB,eACxC,UAAA;AAAA,IAAA,qBAAC,OAAA,EACC,UAAA;AAAA,MAAA,qBAAC,SAAM,WAAU,OAAM,SAAS,KAAK,IAAI,GACvC,UAAA;AAAA,QAAA,oBAAC,cAAW,SAAQ,MAAK,IAAIA,SAAO,UAAU,UAAA,2BAE9C;AAAA,4BACC,KAAA,EAAI,IAAI,GACP,UAAA,oBAAC,WAAQ,OAAO,4BACd,UAAA,oBAAC,UAAA,EAAS,OAAM,QAAO,UAAS,SAAQ,QAAO,WAAU,GAC3D,EAAA,CACF;AAAA,MAAA,GACF;AAAA,0BACC,YAAA,EAAW,SAAQ,SAAQ,IAAIA,SAAO,UAAU,UAAA,8CAEjD;AAAA,MACA;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,WAAS;AAAA,UACT,OAAM;AAAA,UACN,QAAO;AAAA,UACP,UAAU,CAAC,GAAG,eAAe,UAAU;AAAA,QAAA;AAAA,MAAA;AAAA,MAEzC;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,WAAS;AAAA,UACT,OAAM;AAAA,UACN,QAAO;AAAA,UACP,UAAU,CAAC,UAAU,IAAI,GAAG,UAAU;AAAA,QAAA;AAAA,MAAA;AAAA,MAExC;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,WAAS;AAAA,UACT,OAAM;AAAA,UACN,QAAO;AAAA,UACP,UAAU,CAAC,UAAU,IAAI,GAAG,UAAU;AAAA,QAAA;AAAA,MAAA;AAAA,MAExC,oBAAC,WAAA,EAAU,WAAS,MAAC,OAAM,aAAY,QAAO,cAAa,UAAU,CAAC,UAAU,IAAI,CAAC,EAAA,CAAG;AAAA,2BACvF,OAAA,EAAM,WAAU,OAAM,SAAS,KAAK,IAAI,GACvC,UAAA;AAAA,QAAA,oBAAC,cAAW,SAAQ,MAAK,IAAIA,SAAO,UAAU,UAAA,iCAE9C;AAAA,4BACC,KAAA,EAAI,IAAI,GACP,UAAA,oBAAC,WAAQ,OAAO,wBACd,UAAA,oBAAC,UAAA,EAAS,OAAM,QAAO,UAAS,SAAQ,QAAO,WAAU,GAC3D,EAAA,CACF;AAAA,MAAA,GACF;AAAA,MACA,qBAAC,OAAA,EAAM,eAAc,OAAM,KAAK,MAC9B,UAAA;AAAA,QAAA,oBAAC,WAAA,EAAU,WAAS,MAAC,OAAM,SAAQ,QAAO,kBAAiB,UAAU,cAAA,CAAe;AAAA,4BACnF,KAAA,EAAI,IAAI,GACP,UAAA,oBAAC,WAAQ,OAAO,sBACd,UAAA,oBAAC,UAAA,EAAS,OAAM,QAAO,UAAS,SAAQ,QAAO,WAAU,GAC3D,EAAA,CACF;AAAA,MAAA,GACF;AAAA,MACA;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,WAAS;AAAA,UACT,OAAM;AAAA,UACN,QAAO;AAAA,UACP,UAAU,CAAC,UAAU,IAAI,CAAC;AAAA,QAAA;AAAA,MAAA;AAAA,MAE5B;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,WAAS;AAAA,UACT,OAAM;AAAA,UACN,QAAO;AAAA,UACP,UAAU,CAAC,UAAU,IAAI,CAAC;AAAA,QAAA;AAAA,MAAA;AAAA,MAE5B;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,WAAS;AAAA,UACT,OAAM;AAAA,UACN,QAAO;AAAA,UACP,UAAU,CAAC,UAAU,IAAI,CAAC;AAAA,QAAA;AAAA,MAAA;AAAA,IAC5B,GACF;AAAA,IAEA,qBAAC,KAAA,EAAI,IAAIA,SAAO,aACd,UAAA;AAAA,MAAA,oBAAC,kBAAA,EACE,UAAA,CAAC,EAAE,SAAA,MACF;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,SAAQ;AAAA,UACR,OAAM;AAAA,UACN,IAAIA,SAAO;AAAA,UACX,SAAS,MAAM,OAAO,QAAQ;AAAA,UAC9B,+BAAY,uBAAA,EAAsB;AAAA,UACnC,UAAA;AAAA,QAAA;AAAA,MAAA,GAIL;AAAA,MACC;AAAA,MAED;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,OAAM;AAAA,UACN,QAAQA,SAAO;AAAA,UACf,WAAW;AAAA,QAAA;AAAA,MAAA;AAAA,IACb,EAAA,CACF;AAAA,EAAA,GACF;AAEJ;AAEA,MAAMA,WAAS;AAAA,EACb,UAAU;AAAA,IACR,OAAO;AAAA,IACP,YAAY;AAAA,IACZ,WAAW;AAAA,IACX,cAAc;AAAA,EAAA;AAAA,EAEhB,UAAU;AAAA,IACR,UAAU;AAAA,IACV,YAAY;AAAA,EAAA;AAAA,EAEd,aAAa;AAAA,IACX,SAAS;AAAA,IACT,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,WAAW;AAAA,IACX,MAAM;AAAA,IACN,KAAK;AAAA,EAAA;AAAA,EAEP,QAAQ,EAAE,IAAI,GAAG,IAAI,GAAG,UAAU,QAAQ,OAAO,QAAA;AACnD;AAGA,kBAAkB,YAAY;AAAA,EAC5B,UAAU,UAAU,KAAK;AAAA,EACzB,UAAU,UAAU,KAAK;AAAA,EACzB,QAAQ,UAAU,KAAK;AAAA;AAAA,EAEvB,eAAe,UAAU;AAAA,EACzB,SAAS,UAAU;AACrB;ACnIA,MAAM,uBAAuB,CAAC,EAAE,UAAU,UAAU,eAAe,8BAA8B;AAC/F,QAAM,kBAAkB,QAAQ,MAAM;AACpC,QAAI,CAAC,iBAAiB,wBAAwB,WAAW,GAAG;AAC1D,aAAO,EAAE,iBAAiB,0BAA0B,CAAC,GAAG,GAAA;AAAA,IAC1D;AACA,WAAO;AAAA,EACT,GAAG,CAAC,eAAe,uBAAuB,CAAC;AAE3C,QAAM,eAAe;AAAA,IACnB,CAAC,SAAS;AACR,YAAM,OAAO,KAAK,KAAK,MAAM,MAAM;AACnC,YAAM,YAAY,UAAU,KAAK,CAAC,CAAC;AACnC,eAAS;AAAA,QACP,GAAG;AAAA,QACH,MAAM,KAAK,CAAC;AAAA,QACZ,IAAI,GAAG,SAAS;AAAA,QAChB,iBAAiB,8BAA8B,KAAK,IAAI;AAAA,MAAA,CACzD;AAAA,IACH;AAAA,IACA,CAAC,QAAQ;AAAA,EAAA;AAGX,QAAM,yBACJ,wBAAwB,WAAW,IAAI,EAAE,YAAY,EAAE,UAAU,KAAA,EAAK,IAAM,CAAA;AAE9E,SACE,oBAAC,MAAA,EAAK,UAAU,cAAc,eAAe,iBAC3C,UAAA,qBAAC,OAAA,EAAM,IAAI,OAAO,cAChB,UAAA;AAAA,IAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,OAAM;AAAA,QACN,QAAO;AAAA,QACP,YAAW;AAAA,QACX,SAAS;AAAA,QACT,UAAU,CAAC,SAAA,CAAU;AAAA,MAAA;AAAA,IAAA;AAAA,IAEvB;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,OAAM;AAAA,QACN,QAAO;AAAA,QACP,SAAS;AAAA,QACT,gBAAgB;AAAA,QAChB,UAAU,CAAC,SAAA,CAAU;AAAA,MAAA;AAAA,IAAA;AAAA,IAEvB,qBAAC,KAAA,EAAI,IAAI,OAAO,aACb,UAAA;AAAA,MAAA;AAAA,0BACA,0BAAA,EAAyB,OAAM,QAAO,QAAQ,OAAO,OAAA,CAAQ;AAAA,IAAA,EAAA,CAChE;AAAA,EAAA,EAAA,CACF,EAAA,CACF;AAEJ;AAEA,MAAM,SAAS;AAAA,EACb,QAAQ,EAAE,IAAI,GAAG,IAAI,GAAG,UAAU,QAAQ,OAAO,QAAA;AAAA,EACjD,aAAa;AAAA,IACX,SAAS;AAAA,IACT,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,WAAW;AAAA,IACX,MAAM;AAAA,EAAA;AAAA,EAER,cAAc;AAAA,IACZ,WAAW;AAAA,EAAA;AAEf;AAGA,qBAAqB,YAAY;AAAA,EAC/B,UAAU,UAAU,KAAK;AAAA,EACzB,UAAU,UAAU,KAAK;AAAA;AAAA,EAEzB,eAAe,UAAU;AAAA,EACzB,yBAAyB,UAAU;AAAA,IACjC,UAAU,MAAM;AAAA,MACd,MAAM,UAAU,OAAO;AAAA,MACvB,IAAI,UAAU,OAAO;AAAA,IAAA,CACtB;AAAA,EAAA;AAEL;"}
|
|
@@ -12,7 +12,7 @@ import KeyboardArrowRightIcon from "@mui/icons-material/KeyboardArrowRight";
|
|
|
12
12
|
import InfoIcon from "@mui/icons-material/Info";
|
|
13
13
|
import { W as WEBSITE_HINT, e as SUPPORT_EMAIL_HINT, T as TECHNICAL_EMAIL_HINT, A as ADMINISTRATOR_DETAILS_HINT, S as SIGNATORY_DETAILS_HINT, d as SIGNATORY_EMAIL_HINT, s as secureUrlRegexp, E as ERRORS$1 } from "./index.DIur8MCO.js";
|
|
14
14
|
import { b as validateName, v as validateWebsite, a as validateWebsiteStrict, d as validateEmail } from "./CreateOrganizationUtils.Xq78HHkP.js";
|
|
15
|
-
import { C as CustomImageInput } from "./index.
|
|
15
|
+
import { C as CustomImageInput } from "./index.CaxYybSL.js";
|
|
16
16
|
import { L as LinkedInRegistrationInput, A as AuthorityRegistrationInput } from "./LinkedInRegistrationInput.CmYmSJoq.js";
|
|
17
17
|
import { useNavigate } from "react-router";
|
|
18
18
|
import { F as FOOTER_HEIGHT } from "./theme.CYcVcsx-.js";
|
|
@@ -755,4 +755,4 @@ export {
|
|
|
755
755
|
ValidateTextInput as V,
|
|
756
756
|
CreateOrganization as a
|
|
757
757
|
};
|
|
758
|
-
//# sourceMappingURL=ValidateTextInput.
|
|
758
|
+
//# sourceMappingURL=ValidateTextInput.1Fv1GPyZ.js.map
|