@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
|
@@ -30,24 +30,66 @@ const ERRORS = {
|
|
|
30
30
|
default: "Please try again"
|
|
31
31
|
};
|
|
32
32
|
const IMAGE_STATUS_REFETCH_INTERVAL = 5e3;
|
|
33
|
-
const ProfileLogo = ({ changeMode, imgSrc }) => {
|
|
33
|
+
const ProfileLogo = ({ changeMode, imgSrc, orientation = "horizontal" }) => {
|
|
34
34
|
const alt = "logo";
|
|
35
|
-
|
|
36
|
-
|
|
35
|
+
const avatarSize = orientation === "vertical" ? 120 : 200;
|
|
36
|
+
return /* @__PURE__ */ jsxs(Stack, { sx: [sx$3.container, orientation === "vertical" ? sx$3.verticalContainer : {}], children: [
|
|
37
|
+
/* @__PURE__ */ jsx(
|
|
38
|
+
Stack,
|
|
39
|
+
{
|
|
40
|
+
alignItems: "center",
|
|
41
|
+
justifyContent: "center",
|
|
42
|
+
sx: [
|
|
43
|
+
sx$3.profileLogoContainer,
|
|
44
|
+
orientation === "vertical" ? sx$3.profileLogoVerticalContainer : {}
|
|
45
|
+
],
|
|
46
|
+
children: /* @__PURE__ */ jsx(
|
|
47
|
+
Avatar,
|
|
48
|
+
{
|
|
49
|
+
alt,
|
|
50
|
+
src: imgSrc,
|
|
51
|
+
variant: "square",
|
|
52
|
+
sx: [sx$3.profileLogo, orientation === "vertical" ? sx$3.verticalProfileLogo : {}],
|
|
53
|
+
children: /* @__PURE__ */ jsx(OrganizationAvatar, { size: avatarSize, name: alt, logo: "" })
|
|
54
|
+
}
|
|
55
|
+
)
|
|
56
|
+
}
|
|
57
|
+
),
|
|
37
58
|
/* @__PURE__ */ jsx(Stack, { alignItems: "center", sx: sx$3.buttonContainer, children: /* @__PURE__ */ jsx(Button, { variant: "outlined", color: "primary", sx: sx$3.button, onClick: () => changeMode(true), children: "CHANGE IMAGE" }) })
|
|
38
59
|
] });
|
|
39
60
|
};
|
|
40
61
|
const sx$3 = {
|
|
41
|
-
profileLogoContainer: {
|
|
62
|
+
profileLogoContainer: {
|
|
63
|
+
flex: 1,
|
|
64
|
+
maxHeight: "200px"
|
|
65
|
+
},
|
|
66
|
+
profileLogoVerticalContainer: {
|
|
67
|
+
maxHeight: "120px !important"
|
|
68
|
+
},
|
|
42
69
|
profileLogo: {
|
|
43
70
|
width: "fit-content",
|
|
44
71
|
height: "auto",
|
|
45
|
-
maxHeight: "
|
|
72
|
+
maxHeight: "160px",
|
|
46
73
|
background: "transparent",
|
|
47
|
-
py: 2,
|
|
48
74
|
"& .MuiAvatar-fallback": {
|
|
49
75
|
width: "12rem",
|
|
50
|
-
|
|
76
|
+
height: "12rem"
|
|
77
|
+
}
|
|
78
|
+
},
|
|
79
|
+
verticalProfileLogo: {
|
|
80
|
+
maxHeight: "120px !important",
|
|
81
|
+
maxWidth: "100%",
|
|
82
|
+
py: 1,
|
|
83
|
+
"& img": {
|
|
84
|
+
maxHeight: "120px !important",
|
|
85
|
+
maxWidth: "100% !important",
|
|
86
|
+
height: "auto !important",
|
|
87
|
+
width: "auto !important",
|
|
88
|
+
objectFit: "contain"
|
|
89
|
+
},
|
|
90
|
+
"& .MuiAvatar-fallback": {
|
|
91
|
+
width: "7.5rem !important",
|
|
92
|
+
height: "7.5rem !important"
|
|
51
93
|
}
|
|
52
94
|
},
|
|
53
95
|
container: {
|
|
@@ -62,6 +104,7 @@ const sx$3 = {
|
|
|
62
104
|
display: "flex",
|
|
63
105
|
flexDirection: "column",
|
|
64
106
|
justifyContent: "space-around",
|
|
107
|
+
gap: "20px",
|
|
65
108
|
alignItems: "center",
|
|
66
109
|
overflow: "hidden",
|
|
67
110
|
p: 1,
|
|
@@ -80,12 +123,18 @@ const sx$3 = {
|
|
|
80
123
|
bottom: "-2.5em"
|
|
81
124
|
}
|
|
82
125
|
},
|
|
126
|
+
verticalContainer: {
|
|
127
|
+
maxHeight: "200px !important",
|
|
128
|
+
height: "200px !important",
|
|
129
|
+
overflow: "hidden"
|
|
130
|
+
},
|
|
83
131
|
button: { width: "200px", px: 3, py: 1, mx: "1em", my: "1em", fontWeight: 600 },
|
|
84
132
|
buttonContainer: { flexBasis: "35%", width: "100%" }
|
|
85
133
|
};
|
|
86
134
|
ProfileLogo.propTypes = {
|
|
87
135
|
changeMode: PropTypes.func,
|
|
88
|
-
imgSrc: PropTypes.string
|
|
136
|
+
imgSrc: PropTypes.string,
|
|
137
|
+
orientation: PropTypes.oneOf(["vertical", "horizontal"])
|
|
89
138
|
};
|
|
90
139
|
const Preview = ({
|
|
91
140
|
imageSrc,
|
|
@@ -400,55 +449,61 @@ const CustomImageInput = ({
|
|
|
400
449
|
timerIdUploadStatus,
|
|
401
450
|
updateImageUploadStatus
|
|
402
451
|
]);
|
|
403
|
-
return /* @__PURE__ */ jsxs(
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
accept: { "image/*": [".png", ".jpg", ".jpeg", ".svg"] },
|
|
412
|
-
placeholder: /* @__PURE__ */ jsx(
|
|
413
|
-
PlaceHolder,
|
|
414
|
-
{
|
|
415
|
-
isLoading: showLoader,
|
|
416
|
-
isDropAccepted,
|
|
417
|
-
errorMessage,
|
|
418
|
-
orientation,
|
|
419
|
-
style
|
|
420
|
-
}
|
|
421
|
-
),
|
|
422
|
-
sx: [
|
|
423
|
-
sx.container,
|
|
424
|
-
{ borderColor: isDropInFocus ? "primary.main" : "info.main" },
|
|
425
|
-
{ "& .RaFileInput-removeButton": { zIndex: imageSrc ? "1" : "-1" } }
|
|
426
|
-
],
|
|
427
|
-
maxSize: 5e5,
|
|
428
|
-
validate: [isRequired && required(`${labelText}* is required`)],
|
|
429
|
-
options: {
|
|
430
|
-
onDrop: () => setIsImageLoading(true),
|
|
431
|
-
onDropRejected: handleDropRejected,
|
|
432
|
-
onDropAccepted: handleDropAccepted,
|
|
433
|
-
onDragOver: () => setIsDropInFocus(true),
|
|
434
|
-
onDragLeave: () => setIsDropInFocus(false)
|
|
435
|
-
},
|
|
436
|
-
helperText: false,
|
|
437
|
-
children: /* @__PURE__ */ jsx(
|
|
438
|
-
Preview,
|
|
452
|
+
return /* @__PURE__ */ jsxs(
|
|
453
|
+
"fieldset",
|
|
454
|
+
{
|
|
455
|
+
style: orientation === "vertical" ? { ...sx.fieldset, ...sx.verticalFieldset } : sx.fieldset,
|
|
456
|
+
children: [
|
|
457
|
+
/* @__PURE__ */ jsx("legend", { style: !labelText ? { padding: 0 } : {}, children: `${labelText}${isRequired ? " *" : ""}` }),
|
|
458
|
+
isEditMode ? /* @__PURE__ */ jsx(
|
|
459
|
+
ImageInput,
|
|
439
460
|
{
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
461
|
+
source: addTo ? `${addTo}.logo` : "logo",
|
|
462
|
+
fullWidth: true,
|
|
463
|
+
label,
|
|
464
|
+
accept: { "image/*": [".png", ".jpg", ".jpeg", ".svg"] },
|
|
465
|
+
placeholder: /* @__PURE__ */ jsx(
|
|
466
|
+
PlaceHolder,
|
|
467
|
+
{
|
|
468
|
+
isLoading: showLoader,
|
|
469
|
+
isDropAccepted,
|
|
470
|
+
errorMessage,
|
|
471
|
+
orientation,
|
|
472
|
+
style
|
|
473
|
+
}
|
|
474
|
+
),
|
|
475
|
+
sx: [
|
|
476
|
+
sx.container,
|
|
477
|
+
{ borderColor: isDropInFocus ? "primary.main" : "info.main" },
|
|
478
|
+
{ "& .RaFileInput-removeButton": { zIndex: imageSrc ? "1" : "-1" } }
|
|
479
|
+
],
|
|
480
|
+
maxSize: 5e5,
|
|
481
|
+
validate: [isRequired && required(`${labelText}* is required`)],
|
|
482
|
+
options: {
|
|
483
|
+
onDrop: () => setIsImageLoading(true),
|
|
484
|
+
onDropRejected: handleDropRejected,
|
|
485
|
+
onDropAccepted: handleDropAccepted,
|
|
486
|
+
onDragOver: () => setIsDropInFocus(true),
|
|
487
|
+
onDragLeave: () => setIsDropInFocus(false)
|
|
488
|
+
},
|
|
489
|
+
helperText: false,
|
|
490
|
+
children: /* @__PURE__ */ jsx(
|
|
491
|
+
Preview,
|
|
492
|
+
{
|
|
493
|
+
imageSrc,
|
|
494
|
+
errorMessage,
|
|
495
|
+
imageShow,
|
|
496
|
+
showLoader,
|
|
497
|
+
setImageHeight,
|
|
498
|
+
setImageWidth,
|
|
499
|
+
resetImage
|
|
500
|
+
}
|
|
501
|
+
)
|
|
447
502
|
}
|
|
448
|
-
)
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
503
|
+
) : /* @__PURE__ */ jsx(ProfileLogo, { changeMode: setIsEditMode, imgSrc, orientation })
|
|
504
|
+
]
|
|
505
|
+
}
|
|
506
|
+
);
|
|
452
507
|
};
|
|
453
508
|
CustomImageInput.propTypes = {
|
|
454
509
|
label: PropTypes.oneOfType([PropTypes.bool, PropTypes.string]),
|
|
@@ -472,6 +527,10 @@ const sx = {
|
|
|
472
527
|
fontSize: "0.75rem",
|
|
473
528
|
width: "100%"
|
|
474
529
|
},
|
|
530
|
+
verticalFieldset: {
|
|
531
|
+
maxHeight: "280px",
|
|
532
|
+
overflow: "hidden"
|
|
533
|
+
},
|
|
475
534
|
container: {
|
|
476
535
|
height: "100%",
|
|
477
536
|
position: "relative",
|
|
@@ -506,4 +565,4 @@ const sx = {
|
|
|
506
565
|
export {
|
|
507
566
|
CustomImageInput as C
|
|
508
567
|
};
|
|
509
|
-
//# sourceMappingURL=index.
|
|
568
|
+
//# sourceMappingURL=index.CaxYybSL.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.CaxYybSL.js","sources":["../../src/components/common/CustomImageInput/utils.jsx","../../src/components/common/CustomImageInput/ProfileLogo.jsx","../../src/components/common/CustomImageInput/Preview.jsx","../../src/components/common/CustomImageInput/Placeholder.jsx","../../src/components/common/CustomImageInput/index.jsx"],"sourcesContent":["export const toBase64 = (file) =>\n new Promise((resolve, reject) => {\n // eslint-disable-next-line no-undef\n const reader = new FileReader();\n reader.readAsArrayBuffer(file);\n // eslint-disable-next-line better-mutation/no-mutation\n reader.onload = () => resolve(reader.result);\n // eslint-disable-next-line better-mutation/no-mutation\n reader.onerror = reject;\n });\n\nexport const ERRORS = {\n minSize: 'PNG/JPG Logo is smaller than 300X300. Please select another file.',\n maxSize: 'PNG/JPG/SVG Logo is bigger than 400X400. Please select another file.',\n shape: `Image Does Not Meet Requirements. Please upload a different image.\\n\n Image height and width must be equal. Minimum 300×300, Maximum 400×400. Up to 500 kb.`,\n svgSize: '.SVG logo must be between 300x300 & 400x400. Please select another file.',\n weight: 'Logo file size is more than 500KB. Please select another file',\n format: 'File format is not supported. Please select a png, jpg or svg file.',\n failed: `There was an error processing the selected image.\\n\n Please review the image requirements and try again.`,\n default: 'Please try again',\n};\n\nexport const IMAGE_STATUS_REFETCH_INTERVAL = 5000;\n","import { Avatar, Button, Stack } from '@mui/material';\nimport PropTypes from 'prop-types';\nimport OrganizationAvatar from '../OrganizationAvatar.jsx';\n\nconst ProfileLogo = ({ changeMode, imgSrc, orientation = 'horizontal' }) => {\n const alt = 'logo';\n const avatarSize = orientation === 'vertical' ? 120 : 200;\n return (\n <Stack sx={[sx.container, orientation === 'vertical' ? sx.verticalContainer : {}]}>\n <Stack\n alignItems=\"center\"\n justifyContent=\"center\"\n sx={[\n sx.profileLogoContainer,\n orientation === 'vertical' ? sx.profileLogoVerticalContainer : {},\n ]}\n >\n <Avatar\n alt={alt}\n src={imgSrc}\n variant=\"square\"\n sx={[sx.profileLogo, orientation === 'vertical' ? sx.verticalProfileLogo : {}]}\n >\n <OrganizationAvatar size={avatarSize} name={alt} logo=\"\" />\n </Avatar>\n </Stack>\n <Stack alignItems=\"center\" sx={sx.buttonContainer}>\n <Button variant=\"outlined\" color=\"primary\" sx={sx.button} onClick={() => changeMode(true)}>\n CHANGE IMAGE\n </Button>\n </Stack>\n </Stack>\n );\n};\n\nconst sx = {\n profileLogoContainer: {\n flex: 1,\n maxHeight: '200px',\n },\n profileLogoVerticalContainer: {\n maxHeight: '120px !important',\n },\n profileLogo: {\n width: 'fit-content',\n height: 'auto',\n maxHeight: '160px',\n background: 'transparent',\n '& .MuiAvatar-fallback': {\n width: '12rem',\n height: '12rem',\n },\n },\n verticalProfileLogo: {\n maxHeight: '120px !important',\n maxWidth: '100%',\n py: 1,\n '& img': {\n maxHeight: '120px !important',\n maxWidth: '100% !important',\n height: 'auto !important',\n width: 'auto !important',\n objectFit: 'contain',\n },\n '& .MuiAvatar-fallback': {\n width: '7.5rem !important',\n height: '7.5rem !important',\n },\n },\n container: {\n height: '100%',\n position: 'relative',\n '& .RaFileInput-dropZone': { height: '100%', background: 'transparent', p: 0 },\n '& .RaFileInput-removeButton': {\n position: 'absolute',\n top: 0,\n width: '100%',\n height: '100%',\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'space-around',\n gap: '20px',\n alignItems: 'center',\n overflow: 'hidden',\n p: 1,\n '& button': {\n position: 'relative',\n opacity: 1,\n top: 'auto',\n right: 'auto',\n '&:first-of-type': {\n display: 'none',\n },\n },\n },\n '& .MuiFormHelperText-root': {\n position: 'absolute',\n bottom: '-2.5em',\n },\n },\n verticalContainer: {\n maxHeight: '200px !important',\n height: '200px !important',\n overflow: 'hidden',\n },\n button: { width: '200px', px: 3, py: 1, mx: '1em', my: '1em', fontWeight: 600 },\n buttonContainer: { flexBasis: '35%', width: '100%' },\n};\n\n// eslint-disable-next-line better-mutation/no-mutation\nProfileLogo.propTypes = {\n changeMode: PropTypes.func,\n imgSrc: PropTypes.string,\n orientation: PropTypes.oneOf(['vertical', 'horizontal']),\n};\n\nexport default ProfileLogo;\n","import { useRef } from 'react';\nimport { Button } from '@mui/material';\nimport PropTypes from 'prop-types';\n\nconst Preview = ({\n imageSrc,\n errorMessage,\n imageShow,\n showLoader,\n setImageHeight,\n setImageWidth,\n resetImage,\n}) => {\n const imgRef = useRef(null);\n\n return (\n imageSrc && (\n <>\n <img\n src={imageSrc}\n alt=\"logo\"\n ref={imgRef}\n style={{\n ...sx.avatarPreview,\n ...{\n display: errorMessage ? 'none' : 'block',\n opacity: imageShow && !showLoader ? 1 : 0,\n },\n }}\n onLoad={() => {\n setImageHeight(imgRef.current.naturalHeight);\n setImageWidth(imgRef.current.naturalWidth);\n }}\n />\n {!showLoader && (\n <Button variant=\"outlined\" color=\"primary\" sx={sx.button} onClick={resetImage}>\n CHANGE IMAGE\n </Button>\n )}\n </>\n )\n );\n};\n\nconst sx = {\n avatarPreview: {\n zIndex: '-1',\n minHeight: '168px',\n p: '1em',\n },\n button: { width: '200px', px: 3, py: 1, mx: '1em', my: '1em', fontWeight: 600 },\n};\n\n// eslint-disable-next-line better-mutation/no-mutation\nPreview.propTypes = {\n imageSrc: PropTypes.string,\n errorMessage: PropTypes.string,\n imageShow: PropTypes.bool,\n showLoader: PropTypes.bool,\n setImageHeight: PropTypes.func,\n setImageWidth: PropTypes.func,\n resetImage: PropTypes.func,\n};\n\nexport default Preview;\n","import { Stack, Typography, Button, Divider } from '@mui/material';\nimport PropTypes from 'prop-types';\nimport SvgIcon from '@mui/material/SvgIcon';\nimport Loading from '../../Loading.jsx';\n\nconst AddImageIcon = (props) => (\n <SvgIcon {...props} width=\"63\" height=\"63\" viewBox=\"0 0 63 63\" fill=\"none\">\n <path\n // eslint-disable-next-line max-len\n d=\"M61.2375 16.3459C60.9664 16.0725 60.6438 15.8556 60.2884 15.7075C59.933 15.5594 59.5517 15.4832 59.1667 15.4832C58.7817 15.4832 58.4004 15.5594 58.045 15.7075C57.6896 15.8556 57.367 16.0725 57.0959 16.3459L53.3334 20.1376V3.83341C53.3334 3.05987 53.0261 2.318 52.4791 1.77102C51.9321 1.22404 51.1903 0.916748 50.4167 0.916748C49.6432 0.916748 48.9013 1.22404 48.3543 1.77102C47.8073 2.318 47.5 3.05987 47.5 3.83341V20.1376L43.7375 16.3459C43.1883 15.7967 42.4434 15.4881 41.6667 15.4881C40.89 15.4881 40.1451 15.7967 39.5959 16.3459C39.0467 16.8951 38.7381 17.64 38.7381 18.4167C38.7381 19.1935 39.0467 19.9384 39.5959 20.4876L48.3459 29.2376C48.6233 29.5031 48.9504 29.7113 49.3084 29.8501C49.6575 30.0044 50.035 30.0841 50.4167 30.0841C50.7984 30.0841 51.1759 30.0044 51.525 29.8501C51.8831 29.7113 52.2102 29.5031 52.4875 29.2376L61.2375 20.4876C61.5109 20.2164 61.7279 19.8939 61.876 19.5384C62.0241 19.183 62.1003 18.8018 62.1003 18.4167C62.1003 18.0317 62.0241 17.6505 61.876 17.2951C61.7279 16.9396 61.5109 16.6171 61.2375 16.3459V16.3459ZM50.4167 35.9167C49.6432 35.9167 48.9013 36.224 48.3543 36.771C47.8073 37.318 47.5 38.0599 47.5 38.8334V39.9417L43.1834 35.6251C41.6592 34.1129 39.5992 33.2644 37.4521 33.2644C35.3051 33.2644 33.2451 34.1129 31.7209 35.6251L29.6792 37.6668L22.4459 30.4334C20.9004 28.9623 18.8484 28.1417 16.7146 28.1417C14.5809 28.1417 12.5289 28.9623 10.9834 30.4334L6.66671 34.7501V18.4167C6.66671 17.6432 6.974 16.9013 7.52098 16.3544C8.06796 15.8074 8.80983 15.5001 9.58337 15.5001H32.9167C33.6903 15.5001 34.4321 15.1928 34.9791 14.6458C35.5261 14.0988 35.8334 13.357 35.8334 12.5834C35.8334 11.8099 35.5261 11.068 34.9791 10.521C34.4321 9.97404 33.6903 9.66675 32.9167 9.66675H9.58337C7.26273 9.66675 5.03713 10.5886 3.39619 12.2296C1.75525 13.8705 0.833374 16.0961 0.833374 18.4167V53.4167C0.833374 55.7374 1.75525 57.963 3.39619 59.6039C5.03713 61.2449 7.26273 62.1667 9.58337 62.1667H44.5834C46.904 62.1667 49.1296 61.2449 50.7706 59.6039C52.4115 57.963 53.3334 55.7374 53.3334 53.4167V38.8334C53.3334 38.0599 53.0261 37.318 52.4791 36.771C51.9321 36.224 51.1903 35.9167 50.4167 35.9167ZM9.58337 56.3334C8.80983 56.3334 8.06796 56.0261 7.52098 55.4791C6.974 54.9322 6.66671 54.1903 6.66671 53.4167V43.0043L15.125 34.5459C15.5535 34.1376 16.1227 33.9098 16.7146 33.9098C17.3065 33.9098 17.8757 34.1376 18.3042 34.5459L27.55 43.7917L40.0917 56.3334H9.58337ZM47.5 53.4167C47.4958 53.9751 47.3117 54.5172 46.975 54.9626L33.8209 41.7501L35.8625 39.7084C36.0716 39.495 36.3212 39.3255 36.5967 39.2097C36.8721 39.094 37.1679 39.0343 37.4667 39.0343C37.7655 39.0343 38.0613 39.094 38.3367 39.2097C38.6122 39.3255 38.8618 39.495 39.0709 39.7084L47.5 48.1959V53.4167Z\"\n />\n </SvgIcon>\n);\n\nconst DragAndDrop = ({ show }) =>\n show && (\n <>\n <Stack>\n <AddImageIcon sx={sx.icon} />\n </Stack>\n <Typography variant=\"h5\">Drag & Drop logo (png, jpg, svg)</Typography>\n <Typography variant=\"caption\" sx={sx.caption}>\n Image height and width must be equal. Minimum 300×300, Maximum 400×400. Up to 500 kb.\n </Typography>\n </>\n );\n\nconst Processing = ({ show }) =>\n show && (\n <>\n <Loading size={75} color=\"info\" />\n <Typography variant=\"h5\" mt={4}>\n Processing...\n </Typography>\n </>\n );\n\nconst PlaceHolder = ({ isDropAccepted, isLoading, errorMessage, orientation, style }) => {\n return (\n <Stack alignItems=\"center\" justifyContent=\"end\" py={2} sx={[sx.placeHolderContainer, style]}>\n <Stack sx={sx.placeHolder} alignItems=\"center\" justifyContent=\"end\">\n <DragAndDrop show={!isDropAccepted} />\n <Processing show={isLoading} />\n </Stack>\n {!isDropAccepted && (\n <Stack sx={sx.dividerContainer}>\n <Divider\n flexItemsx\n sx={[\n sx.divider,\n {\n '&::before, &::after': {\n ...(orientation === 'horizontal'\n ? { borderTop: 'thin solid' }\n : { borderLeft: 'thin solid' }),\n },\n },\n ]}\n variant=\"fullWidth\"\n orientation={orientation}\n >\n or\n </Divider>\n </Stack>\n )}\n <Stack sx={{ flexBasis: isDropAccepted ? '15%' : '30%' }} alignItems=\"center\">\n {!isDropAccepted && (\n <Button variant=\"outlined\" color=\"primary\" sx={sx.button}>\n BROWSE IMAGE\n </Button>\n )}\n {errorMessage && (\n <Stack mt={-1}>\n <Typography variant=\"caption\" display=\"block\" sx={sx.errorMessage}>\n {errorMessage}\n </Typography>\n </Stack>\n )}\n </Stack>\n </Stack>\n );\n};\n\nconst sx = {\n errorMessage: {\n fontSize: '10px',\n color: 'primary.main',\n wordBreak: 'break-word',\n whiteSpace: 'pre-line',\n lineHeight: '0.75',\n },\n button: { width: '200px', px: 3, py: 1, mx: '1em', my: '1em', fontWeight: 600 },\n icon: {\n fontSize: '4rem',\n color: 'info.main',\n my: 2,\n },\n caption: {\n fontSize: '10px',\n lineHeight: '12px',\n py: 1,\n color: 'text.secondary',\n },\n placeHolderContainer: { height: '100%' },\n placeHolder: { flex: 1, width: '100%', px: '1em' },\n dividerContainer: {\n alignSelf: 'stretch',\n justifyContent: 'center',\n flexDirection: 'row',\n },\n divider: {\n alignItems: 'center',\n justifyContent: 'flex-start',\n flexBasis: '100%',\n height: '100%',\n '&::before, &::after': {\n borderColor: 'info.main',\n },\n },\n};\n\n// eslint-disable-next-line better-mutation/no-mutation\nDragAndDrop.propTypes = {\n show: PropTypes.bool,\n};\n\n// eslint-disable-next-line better-mutation/no-mutation\nProcessing.propTypes = {\n show: PropTypes.bool,\n};\n\n// eslint-disable-next-line better-mutation/no-mutation\nPlaceHolder.propTypes = {\n isDropAccepted: PropTypes.bool,\n isLoading: PropTypes.bool,\n errorMessage: PropTypes.string,\n orientation: PropTypes.string,\n // eslint-disable-next-line react/forbid-prop-types\n style: PropTypes.object,\n};\n\nexport default PlaceHolder;\n","/* eslint-disable complexity */\n/**\n * Copyright 2023 Velocity Team\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { useCallback, useEffect, useState, useMemo } from 'react';\nimport PropTypes from 'prop-types';\nimport { ImageInput, useDataProvider, required, useStore } from 'react-admin';\nimport { useFormContext } from 'react-hook-form';\nimport { dataResources } from '../../../utils/remoteDataProvider.js';\nimport theme from '../../../theme/theme.js';\nimport { toBase64, ERRORS, IMAGE_STATUS_REFETCH_INTERVAL } from './utils.jsx';\nimport ProfileLogo from './ProfileLogo.jsx';\nimport Preview from './Preview.jsx';\nimport PlaceHolder from './Placeholder.jsx';\n\nconst CustomImageInput = ({\n label = '',\n editMode,\n addTo,\n style,\n labelText = 'Logo',\n isRequired = true,\n orientation = 'horizontal',\n onChange,\n imgSrc,\n}) => {\n const form = useFormContext();\n const dataProvider = useDataProvider();\n\n const [errorMessage, setErrorMessage] = useState('');\n const [isDropInFocus, setIsDropInFocus] = useState(false);\n const [isDropAccepted, setIsDropAccepted] = useState(false);\n const [isImageLoading, setIsImageLoading] = useState(false);\n const [imageSrc, setImageSrc] = useState(null);\n const [acceptedFile, setAcceptedFile] = useState(null);\n const [isEditMode, setIsEditMode] = useState(editMode);\n const [imageHeight, setImageHeight] = useState(null);\n const [imageWidth, setImageWidth] = useState(null);\n const [isSVG, setIsSVG] = useState(null);\n const [imageExtension, setImageExtension] = useState(null);\n const [imageShow, setImageShow] = useState(false);\n const [imageMetadata, setImageMetadata] = useState(null);\n const [timerIdUploadStatus, setTimerIdUploadStatus] = useStore('timerId', null);\n const showLoader = useMemo(() => {\n return (\n isDropAccepted &&\n (isImageLoading || !imageSrc || (imageMetadata && imageMetadata.state !== 'upload_done'))\n );\n }, [isDropAccepted, isImageLoading, imageSrc, imageMetadata]);\n\n const handleSetupImageUpload = useCallback(\n async (image, extension) => {\n const file = await toBase64(image);\n const { data } = await dataProvider.create(dataResources.SETUP_IMAGE_UPLOAD, {\n data: { extension: extension.startsWith('svg') ? 'svg' : extension },\n });\n if (addTo) {\n const formValue = form.getValues(addTo);\n form.setValue(addTo, { ...formValue, ...{ logo: data.imageMetadata.url } });\n } else {\n form.setValue('logo', data.imageMetadata.url);\n }\n await dataProvider.create(dataResources.IMAGE_UPLOAD, {\n data: { file },\n meta: { url: data.imageMetadata.uploadUrl, contentType: extension },\n });\n setImageMetadata(data.imageMetadata);\n },\n [addTo, dataProvider, form],\n );\n\n const handleDropAccepted = useCallback(\n async (acceptedFiles) => {\n setImageHeight(null);\n setImageWidth(null);\n setImageShow(false);\n setIsDropInFocus(false);\n setIsDropAccepted(true);\n setErrorMessage('');\n clearInterval(timerIdUploadStatus);\n const extension = acceptedFiles[0].type.split('/')[1];\n setIsSVG(extension.startsWith('svg'));\n setImageExtension(extension);\n setImageSrc(URL.createObjectURL(acceptedFiles[0]));\n setAcceptedFile(acceptedFiles[0]);\n\n if (onChange) {\n onChange();\n }\n },\n [onChange, timerIdUploadStatus],\n );\n\n const handleDropRejected = useCallback((fileRejections) => {\n setIsDropInFocus(false);\n switch (fileRejections[0].errors[0].code) {\n case 'file-too-large':\n setErrorMessage(ERRORS.weight);\n break;\n case 'file-invalid-type':\n setErrorMessage(ERRORS.format);\n break;\n default:\n setErrorMessage(ERRORS.default);\n }\n }, []);\n\n const resetImage = useCallback(() => {\n setIsEditMode(true);\n setImageSrc(null);\n setIsDropAccepted(false);\n setIsImageLoading(false);\n setImageMetadata(null);\n clearInterval(timerIdUploadStatus);\n setTimerIdUploadStatus(null);\n setAcceptedFile(null);\n }, [setTimerIdUploadStatus, timerIdUploadStatus]);\n\n const updateImageUploadStatus = useCallback(\n async (url, timer) => {\n const results = await dataProvider.getOne(dataResources.IMAGE_UPLOAD, {\n id: url,\n });\n const resetInterval = () => {\n setIsImageLoading(false);\n clearInterval(timer);\n setTimerIdUploadStatus(null);\n };\n\n setImageMetadata(results.data);\n if (results.data?.uploadSucceeded) {\n resetInterval();\n }\n if (results.data?.state === 'error') {\n setErrorMessage(ERRORS.failed);\n resetInterval();\n }\n },\n [dataProvider, setTimerIdUploadStatus],\n );\n\n // Size and shape validation\n useEffect(() => {\n if (imageHeight && imageWidth) {\n if (imageHeight < 300 || imageWidth < 300) {\n setErrorMessage(isSVG ? ERRORS.svgSize : ERRORS.minSize);\n } else if (imageHeight > 400 || imageWidth > 400) {\n setErrorMessage(ERRORS.maxSize);\n } else if (imageHeight !== imageWidth) {\n setErrorMessage(ERRORS.shape);\n } else {\n setImageShow(true);\n }\n }\n }, [imageHeight, imageWidth, isSVG]);\n\n // Upload valid image\n useEffect(() => {\n if (acceptedFile && !errorMessage && imageShow && imageExtension && !imageMetadata) {\n handleSetupImageUpload(acceptedFile, imageExtension);\n }\n }, [\n acceptedFile,\n errorMessage,\n handleSetupImageUpload,\n imageExtension,\n imageMetadata,\n imageShow,\n ]);\n\n useEffect(() => {\n if (isEditMode) {\n setTimerIdUploadStatus(null);\n }\n }, [isEditMode, setTimerIdUploadStatus]);\n\n useEffect(() => {\n if (errorMessage) {\n setIsDropAccepted(false);\n setImageSrc(null);\n setIsImageLoading(false);\n clearInterval(timerIdUploadStatus);\n }\n }, [errorMessage, timerIdUploadStatus]);\n\n useEffect(() => {\n if (\n imageMetadata?.state === 'pending_upload' &&\n imageMetadata?.url &&\n !timerIdUploadStatus &&\n !errorMessage\n ) {\n setIsImageLoading(true);\n // eslint-disable-next-line better-mutation/no-mutation\n const timer = setInterval(\n () => updateImageUploadStatus(imageMetadata.url, timer),\n IMAGE_STATUS_REFETCH_INTERVAL,\n );\n setTimerIdUploadStatus(timer);\n }\n }, [\n errorMessage,\n imageMetadata,\n setTimerIdUploadStatus,\n timerIdUploadStatus,\n updateImageUploadStatus,\n ]);\n\n return (\n <fieldset\n style={orientation === 'vertical' ? { ...sx.fieldset, ...sx.verticalFieldset } : sx.fieldset}\n >\n <legend style={!labelText ? { padding: 0 } : {}}>{`${labelText}${\n isRequired ? ' *' : ''\n }`}</legend>\n {isEditMode ? (\n <ImageInput\n source={addTo ? `${addTo}.logo` : 'logo'}\n fullWidth\n label={label}\n accept={{ 'image/*': ['.png', '.jpg', '.jpeg', '.svg'] }}\n placeholder={\n <PlaceHolder\n isLoading={showLoader}\n isDropAccepted={isDropAccepted}\n errorMessage={errorMessage}\n orientation={orientation}\n style={style}\n />\n }\n sx={[\n sx.container,\n { borderColor: isDropInFocus ? 'primary.main' : 'info.main' },\n { '& .RaFileInput-removeButton': { zIndex: imageSrc ? '1' : '-1' } },\n ]}\n maxSize={500000}\n validate={[isRequired && required(`${labelText}* is required`)]}\n options={{\n onDrop: () => setIsImageLoading(true),\n onDropRejected: handleDropRejected,\n onDropAccepted: handleDropAccepted,\n onDragOver: () => setIsDropInFocus(true),\n onDragLeave: () => setIsDropInFocus(false),\n }}\n helperText={false}\n >\n <Preview\n imageSrc={imageSrc}\n errorMessage={errorMessage}\n imageShow={imageShow}\n showLoader={showLoader}\n setImageHeight={setImageHeight}\n setImageWidth={setImageWidth}\n resetImage={resetImage}\n />\n </ImageInput>\n ) : (\n <ProfileLogo changeMode={setIsEditMode} imgSrc={imgSrc} orientation={orientation} />\n )}\n </fieldset>\n );\n};\n\nexport default CustomImageInput;\n\n// eslint-disable-next-line better-mutation/no-mutation\nCustomImageInput.propTypes = {\n label: PropTypes.oneOfType([PropTypes.bool, PropTypes.string]),\n editMode: PropTypes.bool,\n addTo: PropTypes.string || PropTypes.undefined,\n style: PropTypes.object || PropTypes.undefined,\n labelText: PropTypes.string,\n isRequired: PropTypes.bool,\n orientation: PropTypes.oneOf(['vertical', 'horizontal']),\n onChange: PropTypes.func,\n imgSrc: PropTypes.string,\n};\n\nconst sx = {\n fieldset: {\n borderRadius: '6px',\n height: '100%',\n border: '1px solid',\n borderColor: theme.palette.info.main,\n color: theme.palette.text.secondary,\n marginTop: '-12px',\n fontSize: '0.75rem',\n width: '100%',\n },\n verticalFieldset: {\n maxHeight: '280px',\n overflow: 'hidden',\n },\n container: {\n height: '100%',\n position: 'relative',\n '& .RaFileInput-dropZone': { height: '100%', background: 'transparent', p: 0 },\n '& .RaFileInput-removeButton': {\n position: 'absolute',\n top: 0,\n width: '100%',\n height: '100%',\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'space-around',\n alignItems: 'center',\n overflow: 'hidden',\n p: 1,\n '& button': {\n position: 'relative',\n opacity: 1,\n top: 'auto',\n right: 'auto',\n '&:first-of-type': {\n display: 'none',\n },\n },\n },\n '& .MuiFormHelperText-root': {\n position: 'absolute',\n bottom: '-2.5em',\n },\n },\n};\n"],"names":["sx"],"mappings":"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"}
|
|
@@ -31,24 +31,66 @@ const ERRORS = {
|
|
|
31
31
|
default: "Please try again"
|
|
32
32
|
};
|
|
33
33
|
const IMAGE_STATUS_REFETCH_INTERVAL = 5e3;
|
|
34
|
-
const ProfileLogo = ({ changeMode, imgSrc }) => {
|
|
34
|
+
const ProfileLogo = ({ changeMode, imgSrc, orientation = "horizontal" }) => {
|
|
35
35
|
const alt = "logo";
|
|
36
|
-
|
|
37
|
-
|
|
36
|
+
const avatarSize = orientation === "vertical" ? 120 : 200;
|
|
37
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(material.Stack, { sx: [sx$3.container, orientation === "vertical" ? sx$3.verticalContainer : {}], children: [
|
|
38
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
39
|
+
material.Stack,
|
|
40
|
+
{
|
|
41
|
+
alignItems: "center",
|
|
42
|
+
justifyContent: "center",
|
|
43
|
+
sx: [
|
|
44
|
+
sx$3.profileLogoContainer,
|
|
45
|
+
orientation === "vertical" ? sx$3.profileLogoVerticalContainer : {}
|
|
46
|
+
],
|
|
47
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
48
|
+
material.Avatar,
|
|
49
|
+
{
|
|
50
|
+
alt,
|
|
51
|
+
src: imgSrc,
|
|
52
|
+
variant: "square",
|
|
53
|
+
sx: [sx$3.profileLogo, orientation === "vertical" ? sx$3.verticalProfileLogo : {}],
|
|
54
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(OrganizationAvatar.OrganizationAvatar, { size: avatarSize, name: alt, logo: "" })
|
|
55
|
+
}
|
|
56
|
+
)
|
|
57
|
+
}
|
|
58
|
+
),
|
|
38
59
|
/* @__PURE__ */ jsxRuntime.jsx(material.Stack, { alignItems: "center", sx: sx$3.buttonContainer, children: /* @__PURE__ */ jsxRuntime.jsx(material.Button, { variant: "outlined", color: "primary", sx: sx$3.button, onClick: () => changeMode(true), children: "CHANGE IMAGE" }) })
|
|
39
60
|
] });
|
|
40
61
|
};
|
|
41
62
|
const sx$3 = {
|
|
42
|
-
profileLogoContainer: {
|
|
63
|
+
profileLogoContainer: {
|
|
64
|
+
flex: 1,
|
|
65
|
+
maxHeight: "200px"
|
|
66
|
+
},
|
|
67
|
+
profileLogoVerticalContainer: {
|
|
68
|
+
maxHeight: "120px !important"
|
|
69
|
+
},
|
|
43
70
|
profileLogo: {
|
|
44
71
|
width: "fit-content",
|
|
45
72
|
height: "auto",
|
|
46
|
-
maxHeight: "
|
|
73
|
+
maxHeight: "160px",
|
|
47
74
|
background: "transparent",
|
|
48
|
-
py: 2,
|
|
49
75
|
"& .MuiAvatar-fallback": {
|
|
50
76
|
width: "12rem",
|
|
51
|
-
|
|
77
|
+
height: "12rem"
|
|
78
|
+
}
|
|
79
|
+
},
|
|
80
|
+
verticalProfileLogo: {
|
|
81
|
+
maxHeight: "120px !important",
|
|
82
|
+
maxWidth: "100%",
|
|
83
|
+
py: 1,
|
|
84
|
+
"& img": {
|
|
85
|
+
maxHeight: "120px !important",
|
|
86
|
+
maxWidth: "100% !important",
|
|
87
|
+
height: "auto !important",
|
|
88
|
+
width: "auto !important",
|
|
89
|
+
objectFit: "contain"
|
|
90
|
+
},
|
|
91
|
+
"& .MuiAvatar-fallback": {
|
|
92
|
+
width: "7.5rem !important",
|
|
93
|
+
height: "7.5rem !important"
|
|
52
94
|
}
|
|
53
95
|
},
|
|
54
96
|
container: {
|
|
@@ -63,6 +105,7 @@ const sx$3 = {
|
|
|
63
105
|
display: "flex",
|
|
64
106
|
flexDirection: "column",
|
|
65
107
|
justifyContent: "space-around",
|
|
108
|
+
gap: "20px",
|
|
66
109
|
alignItems: "center",
|
|
67
110
|
overflow: "hidden",
|
|
68
111
|
p: 1,
|
|
@@ -81,12 +124,18 @@ const sx$3 = {
|
|
|
81
124
|
bottom: "-2.5em"
|
|
82
125
|
}
|
|
83
126
|
},
|
|
127
|
+
verticalContainer: {
|
|
128
|
+
maxHeight: "200px !important",
|
|
129
|
+
height: "200px !important",
|
|
130
|
+
overflow: "hidden"
|
|
131
|
+
},
|
|
84
132
|
button: { width: "200px", px: 3, py: 1, mx: "1em", my: "1em", fontWeight: 600 },
|
|
85
133
|
buttonContainer: { flexBasis: "35%", width: "100%" }
|
|
86
134
|
};
|
|
87
135
|
ProfileLogo.propTypes = {
|
|
88
136
|
changeMode: PropTypes.func,
|
|
89
|
-
imgSrc: PropTypes.string
|
|
137
|
+
imgSrc: PropTypes.string,
|
|
138
|
+
orientation: PropTypes.oneOf(["vertical", "horizontal"])
|
|
90
139
|
};
|
|
91
140
|
const Preview = ({
|
|
92
141
|
imageSrc,
|
|
@@ -401,55 +450,61 @@ const CustomImageInput = ({
|
|
|
401
450
|
timerIdUploadStatus,
|
|
402
451
|
updateImageUploadStatus
|
|
403
452
|
]);
|
|
404
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
accept: { "image/*": [".png", ".jpg", ".jpeg", ".svg"] },
|
|
413
|
-
placeholder: /* @__PURE__ */ jsxRuntime.jsx(
|
|
414
|
-
PlaceHolder,
|
|
415
|
-
{
|
|
416
|
-
isLoading: showLoader,
|
|
417
|
-
isDropAccepted,
|
|
418
|
-
errorMessage,
|
|
419
|
-
orientation,
|
|
420
|
-
style
|
|
421
|
-
}
|
|
422
|
-
),
|
|
423
|
-
sx: [
|
|
424
|
-
sx.container,
|
|
425
|
-
{ borderColor: isDropInFocus ? "primary.main" : "info.main" },
|
|
426
|
-
{ "& .RaFileInput-removeButton": { zIndex: imageSrc ? "1" : "-1" } }
|
|
427
|
-
],
|
|
428
|
-
maxSize: 5e5,
|
|
429
|
-
validate: [isRequired && reactAdmin.required(`${labelText}* is required`)],
|
|
430
|
-
options: {
|
|
431
|
-
onDrop: () => setIsImageLoading(true),
|
|
432
|
-
onDropRejected: handleDropRejected,
|
|
433
|
-
onDropAccepted: handleDropAccepted,
|
|
434
|
-
onDragOver: () => setIsDropInFocus(true),
|
|
435
|
-
onDragLeave: () => setIsDropInFocus(false)
|
|
436
|
-
},
|
|
437
|
-
helperText: false,
|
|
438
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
439
|
-
Preview,
|
|
453
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
454
|
+
"fieldset",
|
|
455
|
+
{
|
|
456
|
+
style: orientation === "vertical" ? { ...sx.fieldset, ...sx.verticalFieldset } : sx.fieldset,
|
|
457
|
+
children: [
|
|
458
|
+
/* @__PURE__ */ jsxRuntime.jsx("legend", { style: !labelText ? { padding: 0 } : {}, children: `${labelText}${isRequired ? " *" : ""}` }),
|
|
459
|
+
isEditMode ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
460
|
+
reactAdmin.ImageInput,
|
|
440
461
|
{
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
462
|
+
source: addTo ? `${addTo}.logo` : "logo",
|
|
463
|
+
fullWidth: true,
|
|
464
|
+
label,
|
|
465
|
+
accept: { "image/*": [".png", ".jpg", ".jpeg", ".svg"] },
|
|
466
|
+
placeholder: /* @__PURE__ */ jsxRuntime.jsx(
|
|
467
|
+
PlaceHolder,
|
|
468
|
+
{
|
|
469
|
+
isLoading: showLoader,
|
|
470
|
+
isDropAccepted,
|
|
471
|
+
errorMessage,
|
|
472
|
+
orientation,
|
|
473
|
+
style
|
|
474
|
+
}
|
|
475
|
+
),
|
|
476
|
+
sx: [
|
|
477
|
+
sx.container,
|
|
478
|
+
{ borderColor: isDropInFocus ? "primary.main" : "info.main" },
|
|
479
|
+
{ "& .RaFileInput-removeButton": { zIndex: imageSrc ? "1" : "-1" } }
|
|
480
|
+
],
|
|
481
|
+
maxSize: 5e5,
|
|
482
|
+
validate: [isRequired && reactAdmin.required(`${labelText}* is required`)],
|
|
483
|
+
options: {
|
|
484
|
+
onDrop: () => setIsImageLoading(true),
|
|
485
|
+
onDropRejected: handleDropRejected,
|
|
486
|
+
onDropAccepted: handleDropAccepted,
|
|
487
|
+
onDragOver: () => setIsDropInFocus(true),
|
|
488
|
+
onDragLeave: () => setIsDropInFocus(false)
|
|
489
|
+
},
|
|
490
|
+
helperText: false,
|
|
491
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
492
|
+
Preview,
|
|
493
|
+
{
|
|
494
|
+
imageSrc,
|
|
495
|
+
errorMessage,
|
|
496
|
+
imageShow,
|
|
497
|
+
showLoader,
|
|
498
|
+
setImageHeight,
|
|
499
|
+
setImageWidth,
|
|
500
|
+
resetImage
|
|
501
|
+
}
|
|
502
|
+
)
|
|
448
503
|
}
|
|
449
|
-
)
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
504
|
+
) : /* @__PURE__ */ jsxRuntime.jsx(ProfileLogo, { changeMode: setIsEditMode, imgSrc, orientation })
|
|
505
|
+
]
|
|
506
|
+
}
|
|
507
|
+
);
|
|
453
508
|
};
|
|
454
509
|
CustomImageInput.propTypes = {
|
|
455
510
|
label: PropTypes.oneOfType([PropTypes.bool, PropTypes.string]),
|
|
@@ -473,6 +528,10 @@ const sx = {
|
|
|
473
528
|
fontSize: "0.75rem",
|
|
474
529
|
width: "100%"
|
|
475
530
|
},
|
|
531
|
+
verticalFieldset: {
|
|
532
|
+
maxHeight: "280px",
|
|
533
|
+
overflow: "hidden"
|
|
534
|
+
},
|
|
476
535
|
container: {
|
|
477
536
|
height: "100%",
|
|
478
537
|
position: "relative",
|
|
@@ -505,4 +564,4 @@ const sx = {
|
|
|
505
564
|
}
|
|
506
565
|
};
|
|
507
566
|
exports.CustomImageInput = CustomImageInput;
|
|
508
|
-
//# sourceMappingURL=index.
|
|
567
|
+
//# sourceMappingURL=index.Cjk52g3G.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.Cjk52g3G.js","sources":["../../src/components/common/CustomImageInput/utils.jsx","../../src/components/common/CustomImageInput/ProfileLogo.jsx","../../src/components/common/CustomImageInput/Preview.jsx","../../src/components/common/CustomImageInput/Placeholder.jsx","../../src/components/common/CustomImageInput/index.jsx"],"sourcesContent":["export const toBase64 = (file) =>\n new Promise((resolve, reject) => {\n // eslint-disable-next-line no-undef\n const reader = new FileReader();\n reader.readAsArrayBuffer(file);\n // eslint-disable-next-line better-mutation/no-mutation\n reader.onload = () => resolve(reader.result);\n // eslint-disable-next-line better-mutation/no-mutation\n reader.onerror = reject;\n });\n\nexport const ERRORS = {\n minSize: 'PNG/JPG Logo is smaller than 300X300. Please select another file.',\n maxSize: 'PNG/JPG/SVG Logo is bigger than 400X400. Please select another file.',\n shape: `Image Does Not Meet Requirements. Please upload a different image.\\n\n Image height and width must be equal. Minimum 300×300, Maximum 400×400. Up to 500 kb.`,\n svgSize: '.SVG logo must be between 300x300 & 400x400. Please select another file.',\n weight: 'Logo file size is more than 500KB. Please select another file',\n format: 'File format is not supported. Please select a png, jpg or svg file.',\n failed: `There was an error processing the selected image.\\n\n Please review the image requirements and try again.`,\n default: 'Please try again',\n};\n\nexport const IMAGE_STATUS_REFETCH_INTERVAL = 5000;\n","import { Avatar, Button, Stack } from '@mui/material';\nimport PropTypes from 'prop-types';\nimport OrganizationAvatar from '../OrganizationAvatar.jsx';\n\nconst ProfileLogo = ({ changeMode, imgSrc, orientation = 'horizontal' }) => {\n const alt = 'logo';\n const avatarSize = orientation === 'vertical' ? 120 : 200;\n return (\n <Stack sx={[sx.container, orientation === 'vertical' ? sx.verticalContainer : {}]}>\n <Stack\n alignItems=\"center\"\n justifyContent=\"center\"\n sx={[\n sx.profileLogoContainer,\n orientation === 'vertical' ? sx.profileLogoVerticalContainer : {},\n ]}\n >\n <Avatar\n alt={alt}\n src={imgSrc}\n variant=\"square\"\n sx={[sx.profileLogo, orientation === 'vertical' ? sx.verticalProfileLogo : {}]}\n >\n <OrganizationAvatar size={avatarSize} name={alt} logo=\"\" />\n </Avatar>\n </Stack>\n <Stack alignItems=\"center\" sx={sx.buttonContainer}>\n <Button variant=\"outlined\" color=\"primary\" sx={sx.button} onClick={() => changeMode(true)}>\n CHANGE IMAGE\n </Button>\n </Stack>\n </Stack>\n );\n};\n\nconst sx = {\n profileLogoContainer: {\n flex: 1,\n maxHeight: '200px',\n },\n profileLogoVerticalContainer: {\n maxHeight: '120px !important',\n },\n profileLogo: {\n width: 'fit-content',\n height: 'auto',\n maxHeight: '160px',\n background: 'transparent',\n '& .MuiAvatar-fallback': {\n width: '12rem',\n height: '12rem',\n },\n },\n verticalProfileLogo: {\n maxHeight: '120px !important',\n maxWidth: '100%',\n py: 1,\n '& img': {\n maxHeight: '120px !important',\n maxWidth: '100% !important',\n height: 'auto !important',\n width: 'auto !important',\n objectFit: 'contain',\n },\n '& .MuiAvatar-fallback': {\n width: '7.5rem !important',\n height: '7.5rem !important',\n },\n },\n container: {\n height: '100%',\n position: 'relative',\n '& .RaFileInput-dropZone': { height: '100%', background: 'transparent', p: 0 },\n '& .RaFileInput-removeButton': {\n position: 'absolute',\n top: 0,\n width: '100%',\n height: '100%',\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'space-around',\n gap: '20px',\n alignItems: 'center',\n overflow: 'hidden',\n p: 1,\n '& button': {\n position: 'relative',\n opacity: 1,\n top: 'auto',\n right: 'auto',\n '&:first-of-type': {\n display: 'none',\n },\n },\n },\n '& .MuiFormHelperText-root': {\n position: 'absolute',\n bottom: '-2.5em',\n },\n },\n verticalContainer: {\n maxHeight: '200px !important',\n height: '200px !important',\n overflow: 'hidden',\n },\n button: { width: '200px', px: 3, py: 1, mx: '1em', my: '1em', fontWeight: 600 },\n buttonContainer: { flexBasis: '35%', width: '100%' },\n};\n\n// eslint-disable-next-line better-mutation/no-mutation\nProfileLogo.propTypes = {\n changeMode: PropTypes.func,\n imgSrc: PropTypes.string,\n orientation: PropTypes.oneOf(['vertical', 'horizontal']),\n};\n\nexport default ProfileLogo;\n","import { useRef } from 'react';\nimport { Button } from '@mui/material';\nimport PropTypes from 'prop-types';\n\nconst Preview = ({\n imageSrc,\n errorMessage,\n imageShow,\n showLoader,\n setImageHeight,\n setImageWidth,\n resetImage,\n}) => {\n const imgRef = useRef(null);\n\n return (\n imageSrc && (\n <>\n <img\n src={imageSrc}\n alt=\"logo\"\n ref={imgRef}\n style={{\n ...sx.avatarPreview,\n ...{\n display: errorMessage ? 'none' : 'block',\n opacity: imageShow && !showLoader ? 1 : 0,\n },\n }}\n onLoad={() => {\n setImageHeight(imgRef.current.naturalHeight);\n setImageWidth(imgRef.current.naturalWidth);\n }}\n />\n {!showLoader && (\n <Button variant=\"outlined\" color=\"primary\" sx={sx.button} onClick={resetImage}>\n CHANGE IMAGE\n </Button>\n )}\n </>\n )\n );\n};\n\nconst sx = {\n avatarPreview: {\n zIndex: '-1',\n minHeight: '168px',\n p: '1em',\n },\n button: { width: '200px', px: 3, py: 1, mx: '1em', my: '1em', fontWeight: 600 },\n};\n\n// eslint-disable-next-line better-mutation/no-mutation\nPreview.propTypes = {\n imageSrc: PropTypes.string,\n errorMessage: PropTypes.string,\n imageShow: PropTypes.bool,\n showLoader: PropTypes.bool,\n setImageHeight: PropTypes.func,\n setImageWidth: PropTypes.func,\n resetImage: PropTypes.func,\n};\n\nexport default Preview;\n","import { Stack, Typography, Button, Divider } from '@mui/material';\nimport PropTypes from 'prop-types';\nimport SvgIcon from '@mui/material/SvgIcon';\nimport Loading from '../../Loading.jsx';\n\nconst AddImageIcon = (props) => (\n <SvgIcon {...props} width=\"63\" height=\"63\" viewBox=\"0 0 63 63\" fill=\"none\">\n <path\n // eslint-disable-next-line max-len\n d=\"M61.2375 16.3459C60.9664 16.0725 60.6438 15.8556 60.2884 15.7075C59.933 15.5594 59.5517 15.4832 59.1667 15.4832C58.7817 15.4832 58.4004 15.5594 58.045 15.7075C57.6896 15.8556 57.367 16.0725 57.0959 16.3459L53.3334 20.1376V3.83341C53.3334 3.05987 53.0261 2.318 52.4791 1.77102C51.9321 1.22404 51.1903 0.916748 50.4167 0.916748C49.6432 0.916748 48.9013 1.22404 48.3543 1.77102C47.8073 2.318 47.5 3.05987 47.5 3.83341V20.1376L43.7375 16.3459C43.1883 15.7967 42.4434 15.4881 41.6667 15.4881C40.89 15.4881 40.1451 15.7967 39.5959 16.3459C39.0467 16.8951 38.7381 17.64 38.7381 18.4167C38.7381 19.1935 39.0467 19.9384 39.5959 20.4876L48.3459 29.2376C48.6233 29.5031 48.9504 29.7113 49.3084 29.8501C49.6575 30.0044 50.035 30.0841 50.4167 30.0841C50.7984 30.0841 51.1759 30.0044 51.525 29.8501C51.8831 29.7113 52.2102 29.5031 52.4875 29.2376L61.2375 20.4876C61.5109 20.2164 61.7279 19.8939 61.876 19.5384C62.0241 19.183 62.1003 18.8018 62.1003 18.4167C62.1003 18.0317 62.0241 17.6505 61.876 17.2951C61.7279 16.9396 61.5109 16.6171 61.2375 16.3459V16.3459ZM50.4167 35.9167C49.6432 35.9167 48.9013 36.224 48.3543 36.771C47.8073 37.318 47.5 38.0599 47.5 38.8334V39.9417L43.1834 35.6251C41.6592 34.1129 39.5992 33.2644 37.4521 33.2644C35.3051 33.2644 33.2451 34.1129 31.7209 35.6251L29.6792 37.6668L22.4459 30.4334C20.9004 28.9623 18.8484 28.1417 16.7146 28.1417C14.5809 28.1417 12.5289 28.9623 10.9834 30.4334L6.66671 34.7501V18.4167C6.66671 17.6432 6.974 16.9013 7.52098 16.3544C8.06796 15.8074 8.80983 15.5001 9.58337 15.5001H32.9167C33.6903 15.5001 34.4321 15.1928 34.9791 14.6458C35.5261 14.0988 35.8334 13.357 35.8334 12.5834C35.8334 11.8099 35.5261 11.068 34.9791 10.521C34.4321 9.97404 33.6903 9.66675 32.9167 9.66675H9.58337C7.26273 9.66675 5.03713 10.5886 3.39619 12.2296C1.75525 13.8705 0.833374 16.0961 0.833374 18.4167V53.4167C0.833374 55.7374 1.75525 57.963 3.39619 59.6039C5.03713 61.2449 7.26273 62.1667 9.58337 62.1667H44.5834C46.904 62.1667 49.1296 61.2449 50.7706 59.6039C52.4115 57.963 53.3334 55.7374 53.3334 53.4167V38.8334C53.3334 38.0599 53.0261 37.318 52.4791 36.771C51.9321 36.224 51.1903 35.9167 50.4167 35.9167ZM9.58337 56.3334C8.80983 56.3334 8.06796 56.0261 7.52098 55.4791C6.974 54.9322 6.66671 54.1903 6.66671 53.4167V43.0043L15.125 34.5459C15.5535 34.1376 16.1227 33.9098 16.7146 33.9098C17.3065 33.9098 17.8757 34.1376 18.3042 34.5459L27.55 43.7917L40.0917 56.3334H9.58337ZM47.5 53.4167C47.4958 53.9751 47.3117 54.5172 46.975 54.9626L33.8209 41.7501L35.8625 39.7084C36.0716 39.495 36.3212 39.3255 36.5967 39.2097C36.8721 39.094 37.1679 39.0343 37.4667 39.0343C37.7655 39.0343 38.0613 39.094 38.3367 39.2097C38.6122 39.3255 38.8618 39.495 39.0709 39.7084L47.5 48.1959V53.4167Z\"\n />\n </SvgIcon>\n);\n\nconst DragAndDrop = ({ show }) =>\n show && (\n <>\n <Stack>\n <AddImageIcon sx={sx.icon} />\n </Stack>\n <Typography variant=\"h5\">Drag & Drop logo (png, jpg, svg)</Typography>\n <Typography variant=\"caption\" sx={sx.caption}>\n Image height and width must be equal. Minimum 300×300, Maximum 400×400. Up to 500 kb.\n </Typography>\n </>\n );\n\nconst Processing = ({ show }) =>\n show && (\n <>\n <Loading size={75} color=\"info\" />\n <Typography variant=\"h5\" mt={4}>\n Processing...\n </Typography>\n </>\n );\n\nconst PlaceHolder = ({ isDropAccepted, isLoading, errorMessage, orientation, style }) => {\n return (\n <Stack alignItems=\"center\" justifyContent=\"end\" py={2} sx={[sx.placeHolderContainer, style]}>\n <Stack sx={sx.placeHolder} alignItems=\"center\" justifyContent=\"end\">\n <DragAndDrop show={!isDropAccepted} />\n <Processing show={isLoading} />\n </Stack>\n {!isDropAccepted && (\n <Stack sx={sx.dividerContainer}>\n <Divider\n flexItemsx\n sx={[\n sx.divider,\n {\n '&::before, &::after': {\n ...(orientation === 'horizontal'\n ? { borderTop: 'thin solid' }\n : { borderLeft: 'thin solid' }),\n },\n },\n ]}\n variant=\"fullWidth\"\n orientation={orientation}\n >\n or\n </Divider>\n </Stack>\n )}\n <Stack sx={{ flexBasis: isDropAccepted ? '15%' : '30%' }} alignItems=\"center\">\n {!isDropAccepted && (\n <Button variant=\"outlined\" color=\"primary\" sx={sx.button}>\n BROWSE IMAGE\n </Button>\n )}\n {errorMessage && (\n <Stack mt={-1}>\n <Typography variant=\"caption\" display=\"block\" sx={sx.errorMessage}>\n {errorMessage}\n </Typography>\n </Stack>\n )}\n </Stack>\n </Stack>\n );\n};\n\nconst sx = {\n errorMessage: {\n fontSize: '10px',\n color: 'primary.main',\n wordBreak: 'break-word',\n whiteSpace: 'pre-line',\n lineHeight: '0.75',\n },\n button: { width: '200px', px: 3, py: 1, mx: '1em', my: '1em', fontWeight: 600 },\n icon: {\n fontSize: '4rem',\n color: 'info.main',\n my: 2,\n },\n caption: {\n fontSize: '10px',\n lineHeight: '12px',\n py: 1,\n color: 'text.secondary',\n },\n placeHolderContainer: { height: '100%' },\n placeHolder: { flex: 1, width: '100%', px: '1em' },\n dividerContainer: {\n alignSelf: 'stretch',\n justifyContent: 'center',\n flexDirection: 'row',\n },\n divider: {\n alignItems: 'center',\n justifyContent: 'flex-start',\n flexBasis: '100%',\n height: '100%',\n '&::before, &::after': {\n borderColor: 'info.main',\n },\n },\n};\n\n// eslint-disable-next-line better-mutation/no-mutation\nDragAndDrop.propTypes = {\n show: PropTypes.bool,\n};\n\n// eslint-disable-next-line better-mutation/no-mutation\nProcessing.propTypes = {\n show: PropTypes.bool,\n};\n\n// eslint-disable-next-line better-mutation/no-mutation\nPlaceHolder.propTypes = {\n isDropAccepted: PropTypes.bool,\n isLoading: PropTypes.bool,\n errorMessage: PropTypes.string,\n orientation: PropTypes.string,\n // eslint-disable-next-line react/forbid-prop-types\n style: PropTypes.object,\n};\n\nexport default PlaceHolder;\n","/* eslint-disable complexity */\n/**\n * Copyright 2023 Velocity Team\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { useCallback, useEffect, useState, useMemo } from 'react';\nimport PropTypes from 'prop-types';\nimport { ImageInput, useDataProvider, required, useStore } from 'react-admin';\nimport { useFormContext } from 'react-hook-form';\nimport { dataResources } from '../../../utils/remoteDataProvider.js';\nimport theme from '../../../theme/theme.js';\nimport { toBase64, ERRORS, IMAGE_STATUS_REFETCH_INTERVAL } from './utils.jsx';\nimport ProfileLogo from './ProfileLogo.jsx';\nimport Preview from './Preview.jsx';\nimport PlaceHolder from './Placeholder.jsx';\n\nconst CustomImageInput = ({\n label = '',\n editMode,\n addTo,\n style,\n labelText = 'Logo',\n isRequired = true,\n orientation = 'horizontal',\n onChange,\n imgSrc,\n}) => {\n const form = useFormContext();\n const dataProvider = useDataProvider();\n\n const [errorMessage, setErrorMessage] = useState('');\n const [isDropInFocus, setIsDropInFocus] = useState(false);\n const [isDropAccepted, setIsDropAccepted] = useState(false);\n const [isImageLoading, setIsImageLoading] = useState(false);\n const [imageSrc, setImageSrc] = useState(null);\n const [acceptedFile, setAcceptedFile] = useState(null);\n const [isEditMode, setIsEditMode] = useState(editMode);\n const [imageHeight, setImageHeight] = useState(null);\n const [imageWidth, setImageWidth] = useState(null);\n const [isSVG, setIsSVG] = useState(null);\n const [imageExtension, setImageExtension] = useState(null);\n const [imageShow, setImageShow] = useState(false);\n const [imageMetadata, setImageMetadata] = useState(null);\n const [timerIdUploadStatus, setTimerIdUploadStatus] = useStore('timerId', null);\n const showLoader = useMemo(() => {\n return (\n isDropAccepted &&\n (isImageLoading || !imageSrc || (imageMetadata && imageMetadata.state !== 'upload_done'))\n );\n }, [isDropAccepted, isImageLoading, imageSrc, imageMetadata]);\n\n const handleSetupImageUpload = useCallback(\n async (image, extension) => {\n const file = await toBase64(image);\n const { data } = await dataProvider.create(dataResources.SETUP_IMAGE_UPLOAD, {\n data: { extension: extension.startsWith('svg') ? 'svg' : extension },\n });\n if (addTo) {\n const formValue = form.getValues(addTo);\n form.setValue(addTo, { ...formValue, ...{ logo: data.imageMetadata.url } });\n } else {\n form.setValue('logo', data.imageMetadata.url);\n }\n await dataProvider.create(dataResources.IMAGE_UPLOAD, {\n data: { file },\n meta: { url: data.imageMetadata.uploadUrl, contentType: extension },\n });\n setImageMetadata(data.imageMetadata);\n },\n [addTo, dataProvider, form],\n );\n\n const handleDropAccepted = useCallback(\n async (acceptedFiles) => {\n setImageHeight(null);\n setImageWidth(null);\n setImageShow(false);\n setIsDropInFocus(false);\n setIsDropAccepted(true);\n setErrorMessage('');\n clearInterval(timerIdUploadStatus);\n const extension = acceptedFiles[0].type.split('/')[1];\n setIsSVG(extension.startsWith('svg'));\n setImageExtension(extension);\n setImageSrc(URL.createObjectURL(acceptedFiles[0]));\n setAcceptedFile(acceptedFiles[0]);\n\n if (onChange) {\n onChange();\n }\n },\n [onChange, timerIdUploadStatus],\n );\n\n const handleDropRejected = useCallback((fileRejections) => {\n setIsDropInFocus(false);\n switch (fileRejections[0].errors[0].code) {\n case 'file-too-large':\n setErrorMessage(ERRORS.weight);\n break;\n case 'file-invalid-type':\n setErrorMessage(ERRORS.format);\n break;\n default:\n setErrorMessage(ERRORS.default);\n }\n }, []);\n\n const resetImage = useCallback(() => {\n setIsEditMode(true);\n setImageSrc(null);\n setIsDropAccepted(false);\n setIsImageLoading(false);\n setImageMetadata(null);\n clearInterval(timerIdUploadStatus);\n setTimerIdUploadStatus(null);\n setAcceptedFile(null);\n }, [setTimerIdUploadStatus, timerIdUploadStatus]);\n\n const updateImageUploadStatus = useCallback(\n async (url, timer) => {\n const results = await dataProvider.getOne(dataResources.IMAGE_UPLOAD, {\n id: url,\n });\n const resetInterval = () => {\n setIsImageLoading(false);\n clearInterval(timer);\n setTimerIdUploadStatus(null);\n };\n\n setImageMetadata(results.data);\n if (results.data?.uploadSucceeded) {\n resetInterval();\n }\n if (results.data?.state === 'error') {\n setErrorMessage(ERRORS.failed);\n resetInterval();\n }\n },\n [dataProvider, setTimerIdUploadStatus],\n );\n\n // Size and shape validation\n useEffect(() => {\n if (imageHeight && imageWidth) {\n if (imageHeight < 300 || imageWidth < 300) {\n setErrorMessage(isSVG ? ERRORS.svgSize : ERRORS.minSize);\n } else if (imageHeight > 400 || imageWidth > 400) {\n setErrorMessage(ERRORS.maxSize);\n } else if (imageHeight !== imageWidth) {\n setErrorMessage(ERRORS.shape);\n } else {\n setImageShow(true);\n }\n }\n }, [imageHeight, imageWidth, isSVG]);\n\n // Upload valid image\n useEffect(() => {\n if (acceptedFile && !errorMessage && imageShow && imageExtension && !imageMetadata) {\n handleSetupImageUpload(acceptedFile, imageExtension);\n }\n }, [\n acceptedFile,\n errorMessage,\n handleSetupImageUpload,\n imageExtension,\n imageMetadata,\n imageShow,\n ]);\n\n useEffect(() => {\n if (isEditMode) {\n setTimerIdUploadStatus(null);\n }\n }, [isEditMode, setTimerIdUploadStatus]);\n\n useEffect(() => {\n if (errorMessage) {\n setIsDropAccepted(false);\n setImageSrc(null);\n setIsImageLoading(false);\n clearInterval(timerIdUploadStatus);\n }\n }, [errorMessage, timerIdUploadStatus]);\n\n useEffect(() => {\n if (\n imageMetadata?.state === 'pending_upload' &&\n imageMetadata?.url &&\n !timerIdUploadStatus &&\n !errorMessage\n ) {\n setIsImageLoading(true);\n // eslint-disable-next-line better-mutation/no-mutation\n const timer = setInterval(\n () => updateImageUploadStatus(imageMetadata.url, timer),\n IMAGE_STATUS_REFETCH_INTERVAL,\n );\n setTimerIdUploadStatus(timer);\n }\n }, [\n errorMessage,\n imageMetadata,\n setTimerIdUploadStatus,\n timerIdUploadStatus,\n updateImageUploadStatus,\n ]);\n\n return (\n <fieldset\n style={orientation === 'vertical' ? { ...sx.fieldset, ...sx.verticalFieldset } : sx.fieldset}\n >\n <legend style={!labelText ? { padding: 0 } : {}}>{`${labelText}${\n isRequired ? ' *' : ''\n }`}</legend>\n {isEditMode ? (\n <ImageInput\n source={addTo ? `${addTo}.logo` : 'logo'}\n fullWidth\n label={label}\n accept={{ 'image/*': ['.png', '.jpg', '.jpeg', '.svg'] }}\n placeholder={\n <PlaceHolder\n isLoading={showLoader}\n isDropAccepted={isDropAccepted}\n errorMessage={errorMessage}\n orientation={orientation}\n style={style}\n />\n }\n sx={[\n sx.container,\n { borderColor: isDropInFocus ? 'primary.main' : 'info.main' },\n { '& .RaFileInput-removeButton': { zIndex: imageSrc ? '1' : '-1' } },\n ]}\n maxSize={500000}\n validate={[isRequired && required(`${labelText}* is required`)]}\n options={{\n onDrop: () => setIsImageLoading(true),\n onDropRejected: handleDropRejected,\n onDropAccepted: handleDropAccepted,\n onDragOver: () => setIsDropInFocus(true),\n onDragLeave: () => setIsDropInFocus(false),\n }}\n helperText={false}\n >\n <Preview\n imageSrc={imageSrc}\n errorMessage={errorMessage}\n imageShow={imageShow}\n showLoader={showLoader}\n setImageHeight={setImageHeight}\n setImageWidth={setImageWidth}\n resetImage={resetImage}\n />\n </ImageInput>\n ) : (\n <ProfileLogo changeMode={setIsEditMode} imgSrc={imgSrc} orientation={orientation} />\n )}\n </fieldset>\n );\n};\n\nexport default CustomImageInput;\n\n// eslint-disable-next-line better-mutation/no-mutation\nCustomImageInput.propTypes = {\n label: PropTypes.oneOfType([PropTypes.bool, PropTypes.string]),\n editMode: PropTypes.bool,\n addTo: PropTypes.string || PropTypes.undefined,\n style: PropTypes.object || PropTypes.undefined,\n labelText: PropTypes.string,\n isRequired: PropTypes.bool,\n orientation: PropTypes.oneOf(['vertical', 'horizontal']),\n onChange: PropTypes.func,\n imgSrc: PropTypes.string,\n};\n\nconst sx = {\n fieldset: {\n borderRadius: '6px',\n height: '100%',\n border: '1px solid',\n borderColor: theme.palette.info.main,\n color: theme.palette.text.secondary,\n marginTop: '-12px',\n fontSize: '0.75rem',\n width: '100%',\n },\n verticalFieldset: {\n maxHeight: '280px',\n overflow: 'hidden',\n },\n container: {\n height: '100%',\n position: 'relative',\n '& .RaFileInput-dropZone': { height: '100%', background: 'transparent', p: 0 },\n '& .RaFileInput-removeButton': {\n position: 'absolute',\n top: 0,\n width: '100%',\n height: '100%',\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'space-around',\n alignItems: 'center',\n overflow: 'hidden',\n p: 1,\n '& button': {\n position: 'relative',\n opacity: 1,\n top: 'auto',\n right: 'auto',\n '&:first-of-type': {\n display: 'none',\n },\n },\n },\n '& .MuiFormHelperText-root': {\n position: 'absolute',\n bottom: '-2.5em',\n },\n },\n};\n"],"names":["jsxs","Stack","sx","jsx","Avatar","OrganizationAvatar","Button","useRef","Fragment","Typography","Loading","Divider","useFormContext","useDataProvider","useState","useStore","useMemo","useCallback","dataResources","useEffect","ImageInput","required","theme"],"mappings":"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"}
|