ece-docs-components 1.0.26 → 1.0.27
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/cjs/components/ExpandingBox.js +5 -45
- package/dist/cjs/components/ExpandingBox.js.map +1 -1
- package/dist/cjs/components/ExpandingBoxToggle.js +47 -0
- package/dist/cjs/components/ExpandingBoxToggle.js.map +1 -0
- package/dist/cjs/components/Modal.js +3 -2
- package/dist/cjs/components/Modal.js.map +1 -1
- package/dist/cjs/index.js +2 -0
- package/dist/cjs/index.js.map +1 -1
- package/dist/esm/components/ExpandingBox.d.ts +3 -3
- package/dist/esm/components/ExpandingBox.js +6 -46
- package/dist/esm/components/ExpandingBox.js.map +1 -1
- package/dist/esm/components/ExpandingBoxToggle.d.ts +7 -0
- package/dist/esm/components/ExpandingBoxToggle.js +45 -0
- package/dist/esm/components/ExpandingBoxToggle.js.map +1 -0
- package/dist/esm/components/Modal.js +3 -2
- package/dist/esm/components/Modal.js.map +1 -1
- package/dist/esm/components/index.d.ts +1 -0
- package/dist/esm/index.d.ts +1 -0
- package/dist/esm/index.js +1 -0
- package/dist/esm/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,38 +1,8 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var jsxRuntime = require('react/jsx-runtime');
|
|
4
|
-
var React = require('react');
|
|
5
4
|
var material = require('@mui/material');
|
|
6
|
-
var ThemeProvider = require('../ThemeProvider.js');
|
|
7
|
-
var iconsMaterial = require('@mui/icons-material');
|
|
8
5
|
|
|
9
|
-
const StyledWrapper = material.styled(material.Box)(({ theme, open }) => ({
|
|
10
|
-
display: 'inline-block',
|
|
11
|
-
position: 'relative',
|
|
12
|
-
verticalAlign: 'top', // Prevents shifting
|
|
13
|
-
}));
|
|
14
|
-
const StyledParagraph = material.styled('span')(({ theme }) => ({
|
|
15
|
-
color: theme.palette.dark.main,
|
|
16
|
-
display: 'inline-flex',
|
|
17
|
-
alignItems: 'center',
|
|
18
|
-
}));
|
|
19
|
-
const StyledTermWrapper = material.styled(material.Box)(({ theme, open }) => ({
|
|
20
|
-
position: 'relative',
|
|
21
|
-
display: 'inline-flex',
|
|
22
|
-
alignItems: 'center',
|
|
23
|
-
cursor: 'pointer',
|
|
24
|
-
marginLeft: theme.spacing(0.5),
|
|
25
|
-
paddingBottom: '1px',
|
|
26
|
-
borderBottom: `2px solid ${theme.palette.dark.main}`,
|
|
27
|
-
backgroundColor: theme.palette.background.default,
|
|
28
|
-
}));
|
|
29
|
-
const StyledIconWrapper = material.styled(material.Box)(({ theme }) => ({
|
|
30
|
-
display: 'inline-flex',
|
|
31
|
-
alignItems: 'center',
|
|
32
|
-
justifyContent: 'center',
|
|
33
|
-
marginLeft: theme.spacing(0.5),
|
|
34
|
-
transition: 'color 0.2s',
|
|
35
|
-
}));
|
|
36
6
|
const StyledExpandingBox = material.styled(material.Box)(({ theme }) => ({
|
|
37
7
|
marginTop: theme.spacing(2),
|
|
38
8
|
padding: theme.spacing(2),
|
|
@@ -42,21 +12,11 @@ const StyledExpandingBox = material.styled(material.Box)(({ theme }) => ({
|
|
|
42
12
|
border: `1px solid ${theme.palette.dark.main}`,
|
|
43
13
|
backgroundColor: theme.palette.background.default,
|
|
44
14
|
}));
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
return
|
|
49
|
-
|
|
50
|
-
color: theme.palette.text.primary
|
|
51
|
-
} })) : (jsxRuntime.jsx(iconsMaterial.AddBoxRounded, { sx: {
|
|
52
|
-
fontSize: 16,
|
|
53
|
-
color: theme.palette.text.primary,
|
|
54
|
-
} })) })] }) }) }), open && (jsxRuntime.jsx(StyledExpandingBox, { children: jsxRuntime.jsx(material.Box, { sx: {
|
|
55
|
-
fontSize: '14px',
|
|
56
|
-
color: theme.palette.dark.main,
|
|
57
|
-
lineHeight: 1.5,
|
|
58
|
-
}, dangerouslySetInnerHTML: { __html: content } }) }))] }));
|
|
59
|
-
}
|
|
15
|
+
const ExpandingBox = ({ open, content, }) => {
|
|
16
|
+
if (!open)
|
|
17
|
+
return null;
|
|
18
|
+
return jsxRuntime.jsx(StyledExpandingBox, { children: content });
|
|
19
|
+
};
|
|
60
20
|
|
|
61
21
|
exports.ExpandingBox = ExpandingBox;
|
|
62
22
|
//# sourceMappingURL=ExpandingBox.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExpandingBox.js","sources":["../../../../src/components/ExpandingBox.tsx"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"file":"ExpandingBox.js","sources":["../../../../src/components/ExpandingBox.tsx"],"sourcesContent":["import { Box, styled } from '@mui/material';\ninterface ExpandingBoxProps {\n open: boolean;\n content: React.ReactNode | React.ReactNode[];\n}\n\nconst StyledExpandingBox = styled(Box)(({ theme }) => ({\n marginTop: theme.spacing(2),\n padding: theme.spacing(2),\n borderRadius: (typeof theme.shape.borderRadius === 'string'\n ? parseInt(theme.shape.borderRadius, 10)\n : theme.shape.borderRadius || 4) * 2,\n border: `1px solid ${theme.palette.dark.main}`,\n backgroundColor: theme.palette.background.default,\n}));\n\nexport const ExpandingBox: React.FC<ExpandingBoxProps> = ({\n open,\n content,\n}) => {\n\n if (!open) return null;\n return <StyledExpandingBox>{content}</StyledExpandingBox>;\n}\n"],"names":["styled","Box","_jsx"],"mappings":";;;;;AAMA,MAAM,kBAAkB,GAAGA,eAAM,CAACC,YAAG,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM;AACrD,IAAA,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;AAC3B,IAAA,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;IACzB,YAAY,EAAE,CAAC,OAAO,KAAK,CAAC,KAAK,CAAC,YAAY,KAAK;UAC/C,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,YAAY,EAAE,EAAE;UACrC,KAAK,CAAC,KAAK,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC;IACtC,MAAM,EAAE,aAAa,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAA,CAAE;AAC9C,IAAA,eAAe,EAAE,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO;AAClD,CAAA,CAAC,CAAC;AAEI,MAAM,YAAY,GAAgC,CAAC,EACxD,IAAI,EACJ,OAAO,GACR,KAAI;AAEH,IAAA,IAAI,CAAC,IAAI;AAAE,QAAA,OAAO,IAAI;AACtB,IAAA,OAAOC,cAAA,CAAC,kBAAkB,EAAA,EAAA,QAAA,EAAE,OAAO,GAAsB;AAC3D;;;;"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
4
|
+
var material = require('@mui/material');
|
|
5
|
+
var ThemeProvider = require('../ThemeProvider.js');
|
|
6
|
+
var iconsMaterial = require('@mui/icons-material');
|
|
7
|
+
|
|
8
|
+
const StyledWrapper = material.styled(material.Box)(({ theme, open }) => ({
|
|
9
|
+
display: 'inline-block',
|
|
10
|
+
position: 'relative',
|
|
11
|
+
verticalAlign: 'top', // Prevents shifting
|
|
12
|
+
}));
|
|
13
|
+
const StyledParagraph = material.styled('span')(({ theme }) => ({
|
|
14
|
+
color: theme.palette.dark.main,
|
|
15
|
+
display: 'inline-flex',
|
|
16
|
+
alignItems: 'center',
|
|
17
|
+
}));
|
|
18
|
+
const StyledTermWrapper = material.styled(material.Box)(({ theme, open }) => ({
|
|
19
|
+
position: 'relative',
|
|
20
|
+
display: 'inline-flex',
|
|
21
|
+
alignItems: 'center',
|
|
22
|
+
cursor: 'pointer',
|
|
23
|
+
marginLeft: theme.spacing(0.5),
|
|
24
|
+
paddingBottom: '1px',
|
|
25
|
+
borderBottom: `2px solid ${theme.palette.dark.main}`,
|
|
26
|
+
backgroundColor: theme.palette.background.default,
|
|
27
|
+
}));
|
|
28
|
+
const StyledIconWrapper = material.styled(material.Box)(({ theme }) => ({
|
|
29
|
+
display: 'inline-flex',
|
|
30
|
+
alignItems: 'center',
|
|
31
|
+
justifyContent: 'center',
|
|
32
|
+
marginLeft: theme.spacing(0.5),
|
|
33
|
+
transition: 'color 0.2s',
|
|
34
|
+
}));
|
|
35
|
+
const ExpandingBoxToggle = ({ term, open, setOpen, }) => {
|
|
36
|
+
const theme = ThemeProvider.useTheme();
|
|
37
|
+
return (jsxRuntime.jsx(StyledWrapper, { open: open, children: jsxRuntime.jsx(StyledParagraph, { children: jsxRuntime.jsxs(StyledTermWrapper, { onClick: () => setOpen(!open), open: open, children: [term, jsxRuntime.jsx(StyledIconWrapper, { children: open ? (jsxRuntime.jsx(iconsMaterial.IndeterminateCheckBoxRounded, { sx: {
|
|
38
|
+
fontSize: 16,
|
|
39
|
+
color: theme.palette.text.primary
|
|
40
|
+
} })) : (jsxRuntime.jsx(iconsMaterial.AddBoxRounded, { sx: {
|
|
41
|
+
fontSize: 16,
|
|
42
|
+
color: theme.palette.text.primary,
|
|
43
|
+
} })) })] }) }) }));
|
|
44
|
+
};
|
|
45
|
+
|
|
46
|
+
exports.ExpandingBoxToggle = ExpandingBoxToggle;
|
|
47
|
+
//# sourceMappingURL=ExpandingBoxToggle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ExpandingBoxToggle.js","sources":["../../../../src/components/ExpandingBoxToggle.tsx"],"sourcesContent":["import { Box, styled } from '@mui/material';\nimport { useTheme } from '../ThemeProvider';\nimport { AddBoxRounded, IndeterminateCheckBoxRounded } from '@mui/icons-material';\n\ninterface ExpandingBoxToggleProps {\n term: string;\n open: boolean;\n setOpen: (open: boolean) => void;\n}\n\nconst StyledWrapper = styled(Box)<{ open: boolean }>(({ theme, open }) => ({\n display: 'inline-block',\n position: 'relative',\n verticalAlign: 'top', // Prevents shifting\n}));\n\nconst StyledParagraph = styled('span')(({ theme }) => ({\n color: theme.palette.dark.main,\n display: 'inline-flex',\n alignItems: 'center',\n}));\n\nconst StyledTermWrapper = styled(Box)<{ open: boolean }>(({ theme, open }) => ({\n position: 'relative',\n display: 'inline-flex',\n alignItems: 'center',\n cursor: 'pointer',\n marginLeft: theme.spacing(0.5),\n paddingBottom: '1px',\n borderBottom: `2px solid ${theme.palette.dark.main}`,\n backgroundColor: theme.palette.background.default,\n}));\n\nconst StyledIconWrapper = styled(Box)(({ theme }) => ({\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n marginLeft: theme.spacing(0.5),\n transition: 'color 0.2s',\n}));\n\nexport const ExpandingBoxToggle: React.FC<ExpandingBoxToggleProps> = ({\n term,\n open,\n setOpen,\n}) => { const theme = useTheme();\n\n return (\n <StyledWrapper open={open}>\n <StyledParagraph>\n <StyledTermWrapper onClick={() => setOpen(!open)} open={open}>\n {term}\n <StyledIconWrapper>\n {open ? (\n <IndeterminateCheckBoxRounded\n sx={{\n fontSize: 16,\n color: theme.palette.text.primary\n }}\n />\n ) : (\n <AddBoxRounded\n sx={{\n fontSize: 16,\n color: theme.palette.text.primary,\n }}\n />\n )}\n </StyledIconWrapper>\n </StyledTermWrapper>\n </StyledParagraph>\n </StyledWrapper>\n );\n}\n"],"names":["styled","Box","useTheme","_jsx","_jsxs","IndeterminateCheckBoxRounded","AddBoxRounded"],"mappings":";;;;;;;AAUA,MAAM,aAAa,GAAGA,eAAM,CAACC,YAAG,CAAC,CAAoB,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM;AACzE,IAAA,OAAO,EAAE,cAAc;AACvB,IAAA,QAAQ,EAAE,UAAU;IACpB,aAAa,EAAE,KAAK;AACrB,CAAA,CAAC,CAAC;AAEH,MAAM,eAAe,GAAGD,eAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM;AACrD,IAAA,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI;AAC9B,IAAA,OAAO,EAAE,aAAa;AACtB,IAAA,UAAU,EAAE,QAAQ;AACrB,CAAA,CAAC,CAAC;AAEH,MAAM,iBAAiB,GAAGA,eAAM,CAACC,YAAG,CAAC,CAAoB,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM;AAC7E,IAAA,QAAQ,EAAE,UAAU;AACpB,IAAA,OAAO,EAAE,aAAa;AACtB,IAAA,UAAU,EAAE,QAAQ;AACpB,IAAA,MAAM,EAAE,SAAS;AACjB,IAAA,UAAU,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;AAC9B,IAAA,aAAa,EAAE,KAAK;IACpB,YAAY,EAAE,aAAa,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAA,CAAE;AACpD,IAAA,eAAe,EAAE,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO;AAClD,CAAA,CAAC,CAAC;AAEH,MAAM,iBAAiB,GAAGD,eAAM,CAACC,YAAG,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM;AACpD,IAAA,OAAO,EAAE,aAAa;AACtB,IAAA,UAAU,EAAE,QAAQ;AACpB,IAAA,cAAc,EAAE,QAAQ;AACxB,IAAA,UAAU,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;AAC9B,IAAA,UAAU,EAAE,YAAY;AACzB,CAAA,CAAC,CAAC;AAEI,MAAM,kBAAkB,GAAsC,CAAC,EACpE,IAAI,EACJ,IAAI,EACJ,OAAO,GACR,KAAI;AAAI,IAAA,MAAM,KAAK,GAAGC,sBAAQ,EAAE;AAE/B,IAAA,QACEC,cAAA,CAAC,aAAa,IAAC,IAAI,EAAE,IAAI,EAAA,QAAA,EACvBA,cAAA,CAAC,eAAe,EAAA,EAAA,QAAA,EACdC,eAAA,CAAC,iBAAiB,EAAA,EAAC,OAAO,EAAE,MAAM,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAA,QAAA,EAAA,CACzD,IAAI,EACLD,cAAA,CAAC,iBAAiB,cACf,IAAI,IACHA,eAACE,0CAA4B,EAAA,EAC3B,EAAE,EAAE;AACF,gCAAA,QAAQ,EAAE,EAAE;AACZ,gCAAA,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;6BAC3B,EAAA,CACD,KAEFF,cAAA,CAACG,2BAAa,EAAA,EACZ,EAAE,EAAE;AACF,gCAAA,QAAQ,EAAE,EAAE;AACZ,gCAAA,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO;AAClC,6BAAA,EAAA,CACD,CACH,EAAA,CACiB,CAAA,EAAA,CACF,EAAA,CACJ,EAAA,CACJ;AAEpB;;;;"}
|
|
@@ -195,12 +195,13 @@ const Modal = ({ isOpen, onClose, status, requirementType, description, value, d
|
|
|
195
195
|
pt: 3,
|
|
196
196
|
borderTop: '1px solid',
|
|
197
197
|
borderColor: 'divider',
|
|
198
|
-
}, children: [jsxRuntime.jsxs(material.Box, { sx: { display: 'flex', gap: 1.5, flexWrap: 'wrap' }, children: [
|
|
198
|
+
}, children: [jsxRuntime.jsxs(material.Box, { sx: { display: 'flex', gap: 1.5, flexWrap: 'wrap' }, children: [useDefaultValue === false ?
|
|
199
|
+
(jsxRuntime.jsx(Button.Button, { onClick: handleSave, variant: "outline", size: "md", disabled: canSubmitSave, children: isSaving ? jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx(material.CircularProgress, { size: 20 }), jsxRuntime.jsx(material.Typography, { sx: { paddingLeft: 2 }, children: "Saving..." })] }) : "Save" })) : (jsxRuntime.jsx(jsxRuntime.Fragment, {})), jsxRuntime.jsx(Button.Button, { onClick: handleSubmit, variant: "outline", size: "md", disabled: canSubmitSave, sx: {
|
|
199
200
|
backgroundColor: '#ac46ff52',
|
|
200
201
|
'&:hover': {
|
|
201
202
|
backgroundColor: '#ac46ff80',
|
|
202
203
|
},
|
|
203
|
-
}, children: isSubmitting ? jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx(material.CircularProgress, { size: 20 }), jsxRuntime.jsx(material.Typography, { sx: { paddingLeft: 2 }, children: "Submitting..." })] }) : "Submit for review" }), variableReqType === RequirementType.Optional ?
|
|
204
|
+
}, children: isSubmitting ? jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx(material.CircularProgress, { size: 20 }), jsxRuntime.jsx(material.Typography, { sx: { paddingLeft: 2 }, children: "Submitting..." })] }) : "Submit for review" }), variableReqType === RequirementType.Optional || useDefaultValue === false ?
|
|
204
205
|
(jsxRuntime.jsx(Button.Button, { onClick: onDeclineWording, variant: "outline", size: "md", sx: {
|
|
205
206
|
backgroundColor: '#ff464652',
|
|
206
207
|
'&:hover': {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Modal.js","sources":["../../../../src/components/Modal.tsx"],"sourcesContent":["import React, { useEffect, useState } from 'react';\nimport {\n Dialog,\n DialogContent,\n IconButton,\n Box,\n Typography,\n TextField,\n Checkbox,\n FormControlLabel,\n Alert as MuiAlert,\n Chip,\n styled,\n CircularProgress,\n useTheme,\n} from '@mui/material';\nimport { Button } from './Button';\nimport { ArrowBackIosRounded, ArrowForwardIosRounded, ArticleRounded, CloseRounded, ErrorOutlineRounded, InfoOutlineRounded, StickyNote2Rounded } from '@mui/icons-material';\nimport { Alert } from './Alert';\nimport { toast } from 'react-toastify';\n\nenum VariableState {\n Accepted = \"Accepted\",\n Pending = \"Pending\",\n Rejected = \"Rejected\",\n NotAccepted = \"Not Accepted\",\n Draft = \"Draft\"\n}\n\nenum RequirementType {\n Default = \"Default\",\n Optional = \"Optional\"\n}\n\n\ninterface ModalProps {\n isOpen: boolean;\n onClose: () => void;\n status: string;\n requirementType: string,\n description: string;\n value: string;\n defaultText: string;\n note?: string;\n onSave?: (fieldValue: string, defaultChecked: boolean) => void;\n onSubmit?: (fieldValue: string, defaultChecked: boolean) => void;\n successMessage?: string;\n errorMessage?: string;\n onDeclineWording?: () => void;\n onPrevious?: () => void;\n onNext?: () => void;\n currentPage?: number;\n totalPages?: number;\n isLoading: boolean;\n}\n\n\nconst StyledDialog = styled(Dialog)(({ theme }) => ({\n '& .MuiDialog-paper': {\n color: theme.palette.background.default,\n borderRadius: theme.shape.borderRadius,\n maxWidth: '896px',\n width: '100%',\n maxHeight: '90vh',\n },\n}));\n\n\nconst NavButton = styled(IconButton)(({ theme }) => ({\n width: '40px',\n height: '40px',\n borderRadius: 999,\n border: `2px solid ${theme.palette.dark.main}`,\n backgroundColor: '#fff',\n padding: theme.spacing(1, 2),\n '&:hover': {\n backgroundColor: theme.palette.grey[100], // Changed from dark.main to grey[100]\n color: theme.palette.dark.main, // Keep text dark instead of light\n borderColor: theme.palette.dark.main, // Keep border dark\n },\n}));\n\nfunction mapStatusToVariableState(status: string): VariableState | undefined {\n switch (status) {\n case \"Accepted\":\n return VariableState.Accepted;\n case \"Pending\":\n return VariableState.Pending;\n case \"Rejected\":\n return VariableState.Rejected;\n case \"Not Accepted\":\n return VariableState.NotAccepted;\n case \"Draft\":\n return VariableState.Draft;\n default:\n return undefined;\n }\n}\n\n\nfunction mapRequirementTypeToState(reqType: string): RequirementType | undefined {\n switch (reqType) {\n case \"Default\":\n return RequirementType.Default;\n case \"Optional\":\n return RequirementType.Optional;\n default:\n return undefined;\n }\n}\n\nexport const Modal: React.FC<ModalProps> = ({\n isOpen,\n onClose,\n status,\n requirementType,\n description,\n value,\n defaultText,\n note,\n onSave,\n onSubmit,\n successMessage,\n errorMessage,\n onDeclineWording,\n onPrevious,\n onNext,\n currentPage = 1,\n totalPages = 1,\n isLoading\n}) => {\n const variableState = mapStatusToVariableState(status);\n const variableReqType = mapRequirementTypeToState(requirementType)\n\n const [textValue, setTextValue] = useState(value);\n const [prevTextValue, setPrevTextValue] = useState(value);\n\n const [useDefaultValue, setUseDefaultValue] = useState(true);\n const [isSaving, setIsSaving] = useState(false);\n const [isSubmitting, setIsSubmitting] = useState(false);\n\n const theme = useTheme()\n\n useEffect(() => {\n if (variableState === (VariableState.Pending || VariableState.Draft)) {\n setUseDefaultValue(false);\n }\n }, [status]);\n\n useEffect(() => {\n if (!isOpen) {\n setIsSaving(false);\n setIsSubmitting(false);\n }\n }, [isOpen]);\n\n useEffect(() => {\n if (successMessage && successMessage !== '') {\n toast.success(successMessage);\n }\n }, [successMessage]);\n \n useEffect(() => {\n if (errorMessage && errorMessage !== '') {\n toast.error(errorMessage);\n }\n }, [errorMessage]);\n \n useEffect(() => {\n if (!isLoading) {\n setIsSaving(false);\n setIsSubmitting(false);\n }\n }, [isLoading]);\n\n useEffect(() => {\n if (useDefaultValue){\n setPrevTextValue(textValue);\n setTextValue(defaultText);\n } else {\n setTextValue(prevTextValue);\n }\n }, [useDefaultValue]);\n\n\n const handleUseDefaultValueChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n setUseDefaultValue(event.target.checked);\n };\n\n\n const canSubmitSave = isLoading || variableState === VariableState.Pending\n\n const statusConfig = {\n [VariableState.Pending]: { color: '#EBC7FF', label: 'Pending' },\n [VariableState.Draft]: { color: '#FFC365', label: 'Draft' },\n [VariableState.NotAccepted]: { color: '#DBF59A', label: 'Not Accepted' },\n [VariableState.Rejected]: { color: '#FFBCB3', label: 'Rejected' },\n [VariableState.Accepted]: { color: '#DBF59A', label: 'Accepted' },\n };\n\n const reqTypeConfig = {\n [RequirementType.Default]: { color: '#F5A623', label: 'Mandatory' },\n [RequirementType.Optional]: { color: '#F5D76E', label: 'Optional' },\n };\n\n const statusStyle = variableState ? statusConfig[variableState] : { color: '#ccc', label: 'Unknown' };;\n const requirementTypeStyle = variableReqType ? reqTypeConfig[variableReqType] : { color: '#ccc', label: 'Unknown' };;\n\n\n const handleSave = () => {\n setIsSaving(true);\n onSave?.(textValue, useDefaultValue);\n };\n\n\n const handleSubmit = () => {\n setIsSubmitting(true);\n onSubmit?.(textValue, useDefaultValue);\n };\n\n\n return (\n <StyledDialog open={isOpen} onClose={onClose} maxWidth=\"md\" fullWidth>\n <IconButton\n onClick={onClose}\n disabled={isLoading}\n sx={{\n position: 'absolute',\n top: 16,\n right: 16,\n zIndex: 1,\n }}\n >\n <CloseRounded sx={{ fontSize: 24 }} />\n </IconButton>\n\n\n <DialogContent sx={{ p: { xs: 3, sm: 4, md: 6 } }}>\n {/* Status Chip */}\n <Box sx={{ mb: 3}}>\n <Chip\n label={requirementTypeStyle.label.toUpperCase()}\n sx={{\n mr: 3,\n border: '3px solid',\n backgroundColor: requirementTypeStyle.color,\n borderColor: requirementTypeStyle.color,\n color: '#4D3019',\n fontWeight: 600,\n fontSize: '0.875rem',\n height: 'auto',\n py: 1,\n borderRadius: 0,\n px: 2,\n }}\n />\n <Chip\n label={statusStyle.label.toUpperCase()}\n sx={{\n mr: 3,\n border: '3px solid',\n backgroundColor: '#FDFCEE',\n borderColor: statusStyle.color,\n color: '#4D3019',\n fontWeight: 600,\n fontSize: '0.875rem',\n height: 'auto',\n py: 1,\n borderRadius: 0,\n px: 2,\n }}\n />\n </Box>\n\n\n {/* Description */}\n <Typography sx={{ mb: 3, lineHeight: 1.6, whiteSpace: 'pre-line' }}>\n {description}\n </Typography>\n\n\n {/* Error Alert with Custom Icon */}\n {variableState === VariableState.Rejected && note && (\n <Alert\n variant=\"error\"\n icon={<InfoOutlineRounded sx={{ fontSize: 20 }} />}\n sx={{\n mb: 2\n }}\n >\n {note}\n </Alert>\n )}\n\n {/* Info Alert with Custom Background and Icon */}\n {variableState !== VariableState.Rejected && note && (\n <Alert\n variant=\"info\"\n icon={<ArticleRounded sx={{ fontSize: 20, color: '#4D3019'}} />}\n sx={{\n mb: 2,\n backgroundColor: '#00000000',\n borderColor: '#acacacff',\n color: '#4D3019',\n }}\n >\n {note}\n </Alert>\n )}\n\n\n {/* Text Field */}\n <TextField\n multiline\n rows={6}\n fullWidth\n value={textValue}\n onChange={(e) => setTextValue(e.target.value)}\n disabled={useDefaultValue || canSubmitSave}\n sx={{\n mb: 2,\n '& .MuiOutlinedInput-root': {\n backgroundColor: useDefaultValue || canSubmitSave ? 'rgba(0, 0, 0, 0.05)' : '#fff',\n borderRadius: 2,\n },\n }}\n />\n\n\n {/* Checkbox */}\n <FormControlLabel\n control={\n <Checkbox\n checked={useDefaultValue}\n disabled={canSubmitSave}\n onChange={handleUseDefaultValueChange}\n sx={{\n color: '#AC46FF',\n '&.Mui-checked': {\n color: '#AC46FF',\n },\n }}\n />\n }\n label=\"Use Default Value\"\n sx={{ mb: 3 }}\n />\n\n\n {/* Footer with Buttons and Navigation */}\n <Box\n sx={{\n display: 'flex',\n flexDirection: { xs: 'column', sm: 'row' },\n alignItems: { xs: 'stretch', sm: 'center' },\n justifyContent: 'space-between',\n gap: 2,\n pt: 3,\n borderTop: '1px solid',\n borderColor: 'divider',\n }}\n >\n {/* Action Buttons */}\n <Box sx={{ display: 'flex', gap: 1.5, flexWrap: 'wrap' }}>\n <Button\n onClick={handleSave}\n variant=\"outline\"\n size=\"md\"\n disabled={canSubmitSave}\n >\n {isSaving ? <><CircularProgress size={20} /><Typography sx={{paddingLeft: 2}}>Saving...</Typography></> : \"Save\"}\n </Button>\n <Button\n onClick={handleSubmit}\n variant=\"outline\"\n size=\"md\"\n disabled={canSubmitSave}\n sx={{\n backgroundColor: '#ac46ff52',\n '&:hover': {\n backgroundColor: '#ac46ff80',\n },\n }}\n >\n {isSubmitting ? <><CircularProgress size={20} /><Typography sx={{paddingLeft: 2}}>Submitting...</Typography></> : \"Submit for review\"}\n </Button>\n {variableReqType === RequirementType.Optional? \n (\n <Button onClick={onDeclineWording} variant=\"outline\" size=\"md\" sx={{\n backgroundColor: '#ff464652',\n '&:hover': {\n backgroundColor: '#ff464680', // Darker purple on hover\n }\n }}\n disabled={canSubmitSave}\n >\n Decline wording\n </Button>\n ) : \n (\n <>\n </>\n )\n }\n </Box>\n \n\n {/* Navigation */}\n <Box\n sx={{\n display: 'flex',\n alignItems: 'center',\n gap: 1.5,\n justifyContent: { xs: 'space-between', sm: 'flex-end' },\n }}\n >\n {currentPage !== 1 && <NavButton onClick={onPrevious} aria-label=\"Previous\" disabled={isLoading}>\n <ArrowBackIosRounded sx={{ fontSize: 20, color: theme.palette.text.primary }}/>\n </NavButton>}\n {currentPage !== totalPages && <NavButton onClick={onNext} aria-label=\"Next\" disabled={isLoading}>\n <ArrowForwardIosRounded sx={{ fontSize: 20, color: theme.palette.text.primary }}/>\n </NavButton>}\n <Typography fontWeight={500} fontSize=\"1.125rem\">\n {currentPage}/{totalPages}\n </Typography>\n </Box>\n </Box>\n </DialogContent>\n </StyledDialog>\n );\n};\n"],"names":["styled","Dialog","IconButton","useState","useTheme","useEffect","toast","_jsxs","_jsx","CloseRounded","DialogContent","Box","Chip","Typography","Alert","InfoOutlineRounded","ArticleRounded","TextField","FormControlLabel","Checkbox","Button","_Fragment","CircularProgress","ArrowBackIosRounded","ArrowForwardIosRounded"],"mappings":";;;;;;;;;;AAqBA,IAAK,aAMJ;AAND,CAAA,UAAK,aAAa,EAAA;AAChB,IAAA,aAAA,CAAA,UAAA,CAAA,GAAA,UAAqB;AACrB,IAAA,aAAA,CAAA,SAAA,CAAA,GAAA,SAAmB;AACnB,IAAA,aAAA,CAAA,UAAA,CAAA,GAAA,UAAqB;AACrB,IAAA,aAAA,CAAA,aAAA,CAAA,GAAA,cAA4B;AAC5B,IAAA,aAAA,CAAA,OAAA,CAAA,GAAA,OAAe;AACjB,CAAC,EANI,aAAa,KAAb,aAAa,GAAA,EAAA,CAAA,CAAA;AAQlB,IAAK,eAGJ;AAHD,CAAA,UAAK,eAAe,EAAA;AAClB,IAAA,eAAA,CAAA,SAAA,CAAA,GAAA,SAAmB;AACnB,IAAA,eAAA,CAAA,UAAA,CAAA,GAAA,UAAqB;AACvB,CAAC,EAHI,eAAe,KAAf,eAAe,GAAA,EAAA,CAAA,CAAA;AA4BpB,MAAM,YAAY,GAAGA,eAAM,CAACC,eAAM,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM;AAClD,IAAA,oBAAoB,EAAE;AACpB,QAAA,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO;AACvC,QAAA,YAAY,EAAE,KAAK,CAAC,KAAK,CAAC,YAAY;AACtC,QAAA,QAAQ,EAAE,OAAO;AACjB,QAAA,KAAK,EAAE,MAAM;AACb,QAAA,SAAS,EAAE,MAAM;AAClB,KAAA;AACF,CAAA,CAAC,CAAC;AAGH,MAAM,SAAS,GAAGD,eAAM,CAACE,mBAAU,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM;AACnD,IAAA,KAAK,EAAE,MAAM;AACb,IAAA,MAAM,EAAE,MAAM;AACd,IAAA,YAAY,EAAE,GAAG;IACjB,MAAM,EAAE,aAAa,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAA,CAAE;AAC9C,IAAA,eAAe,EAAE,MAAM;IACvB,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;AAC5B,IAAA,SAAS,EAAE;QACT,eAAe,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC;QACxC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI;QAC9B,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI;AACrC,KAAA;AACF,CAAA,CAAC,CAAC;AAEH,SAAS,wBAAwB,CAAC,MAAc,EAAA;IAC9C,QAAQ,MAAM;AACZ,QAAA,KAAK,UAAU;YACb,OAAO,aAAa,CAAC,QAAQ;AAC/B,QAAA,KAAK,SAAS;YACZ,OAAO,aAAa,CAAC,OAAO;AAC9B,QAAA,KAAK,UAAU;YACb,OAAO,aAAa,CAAC,QAAQ;AAC/B,QAAA,KAAK,cAAc;YACjB,OAAO,aAAa,CAAC,WAAW;AAClC,QAAA,KAAK,OAAO;YACV,OAAO,aAAa,CAAC,KAAK;AAC5B,QAAA;AACE,YAAA,OAAO,SAAS;;AAEtB;AAGA,SAAS,yBAAyB,CAAC,OAAe,EAAA;IAChD,QAAQ,OAAO;AACb,QAAA,KAAK,SAAS;YACZ,OAAO,eAAe,CAAC,OAAO;AAChC,QAAA,KAAK,UAAU;YACb,OAAO,eAAe,CAAC,QAAQ;AACjC,QAAA;AACE,YAAA,OAAO,SAAS;;AAEtB;MAEa,KAAK,GAAyB,CAAC,EAC1C,MAAM,EACN,OAAO,EACP,MAAM,EACN,eAAe,EACf,WAAW,EACX,KAAK,EACL,WAAW,EACX,IAAI,EACJ,MAAM,EACN,QAAQ,EACR,cAAc,EACd,YAAY,EACZ,gBAAgB,EAChB,UAAU,EACV,MAAM,EACN,WAAW,GAAG,CAAC,EACf,UAAU,GAAG,CAAC,EACd,SAAS,EACV,KAAI;AACH,IAAA,MAAM,aAAa,GAAG,wBAAwB,CAAC,MAAM,CAAC;AACtD,IAAA,MAAM,eAAe,GAAG,yBAAyB,CAAC,eAAe,CAAC;IAElE,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAGC,cAAQ,CAAC,KAAK,CAAC;IACjD,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAGA,cAAQ,CAAC,KAAK,CAAC;IAEzD,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAGA,cAAQ,CAAC,IAAI,CAAC;IAC5D,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAGA,cAAQ,CAAC,KAAK,CAAC;IAC/C,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAGA,cAAQ,CAAC,KAAK,CAAC;AAEvD,IAAA,MAAM,KAAK,GAAGC,iBAAQ,EAAE;IAExBC,eAAS,CAAC,MAAK;AACb,QAAA,IAAI,aAAa,MAAM,aAAa,CAAC,OAAO,IAAI,aAAa,CAAC,KAAK,CAAC,EAAE;YACpE,kBAAkB,CAAC,KAAK,CAAC;QAC3B;AACF,IAAA,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;IAEZA,eAAS,CAAC,MAAK;QACb,IAAI,CAAC,MAAM,EAAE;YACX,WAAW,CAAC,KAAK,CAAC;YAClB,eAAe,CAAC,KAAK,CAAC;QACxB;AACF,IAAA,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;IAEZA,eAAS,CAAC,MAAK;AACb,QAAA,IAAI,cAAc,IAAI,cAAc,KAAK,EAAE,EAAE;AAC3C,YAAAC,mBAAK,CAAC,OAAO,CAAC,cAAc,CAAC;QAC/B;AACF,IAAA,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC;IAEpBD,eAAS,CAAC,MAAK;AACb,QAAA,IAAI,YAAY,IAAI,YAAY,KAAK,EAAE,EAAE;AACvC,YAAAC,mBAAK,CAAC,KAAK,CAAC,YAAY,CAAC;QAC3B;AACF,IAAA,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC;IAElBD,eAAS,CAAC,MAAK;QACb,IAAI,CAAC,SAAS,EAAE;YACd,WAAW,CAAC,KAAK,CAAC;YAClB,eAAe,CAAC,KAAK,CAAC;QACxB;AACF,IAAA,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC;IAEfA,eAAS,CAAC,MAAK;QACb,IAAI,eAAe,EAAC;YAClB,gBAAgB,CAAC,SAAS,CAAC;YAC3B,YAAY,CAAC,WAAW,CAAC;QAC3B;aAAO;YACL,YAAY,CAAC,aAAa,CAAC;QAC7B;AACF,IAAA,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC;AAGrB,IAAA,MAAM,2BAA2B,GAAG,CAAC,KAA0C,KAAI;AACjF,QAAA,kBAAkB,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC;AAC1C,IAAA,CAAC;IAGD,MAAM,aAAa,GAAG,SAAS,IAAI,aAAa,KAAK,aAAa,CAAC,OAAO;AAE1E,IAAA,MAAM,YAAY,GAAG;AACnB,QAAA,CAAC,aAAa,CAAC,OAAO,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE;AAC/D,QAAA,CAAC,aAAa,CAAC,KAAK,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE;AAC3D,QAAA,CAAC,aAAa,CAAC,WAAW,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,cAAc,EAAE;AACxE,QAAA,CAAC,aAAa,CAAC,QAAQ,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE;AACjE,QAAA,CAAC,aAAa,CAAC,QAAQ,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE;KAClE;AAED,IAAA,MAAM,aAAa,GAAG;AACpB,QAAA,CAAC,eAAe,CAAC,OAAO,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,EAAE;AACnE,QAAA,CAAC,eAAe,CAAC,QAAQ,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE;KACpE;IAED,MAAM,WAAW,GAAG,aAAa,GAAG,YAAY,CAAC,aAAa,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE;IACrG,MAAM,oBAAoB,GAAG,eAAe,GAAG,aAAa,CAAC,eAAe,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE;IAGnH,MAAM,UAAU,GAAG,MAAK;QACtB,WAAW,CAAC,IAAI,CAAC;AACjB,QAAA,MAAM,GAAG,SAAS,EAAE,eAAe,CAAC;AACtC,IAAA,CAAC;IAGD,MAAM,YAAY,GAAG,MAAK;QACxB,eAAe,CAAC,IAAI,CAAC;AACrB,QAAA,QAAQ,GAAG,SAAS,EAAE,eAAe,CAAC;AACxC,IAAA,CAAC;AAGD,IAAA,QACEE,eAAA,CAAC,YAAY,EAAA,EAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAC,IAAI,EAAC,SAAS,EAAA,IAAA,EAAA,QAAA,EAAA,CACnEC,cAAA,CAACN,mBAAU,EAAA,EACT,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,SAAS,EACnB,EAAE,EAAE;AACF,oBAAA,QAAQ,EAAE,UAAU;AACpB,oBAAA,GAAG,EAAE,EAAE;AACP,oBAAA,KAAK,EAAE,EAAE;AACT,oBAAA,MAAM,EAAE,CAAC;AACV,iBAAA,EAAA,QAAA,EAEDM,cAAA,CAACC,0BAAY,EAAA,EAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAA,CAAI,EAAA,CAC3B,EAGbF,eAAA,CAACG,sBAAa,EAAA,EAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAA,QAAA,EAAA,CAE/CH,eAAA,CAACI,YAAG,EAAA,EAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAC,EAAA,QAAA,EAAA,CACfH,cAAA,CAACI,aAAI,EAAA,EACH,KAAK,EAAE,oBAAoB,CAAC,KAAK,CAAC,WAAW,EAAE,EAC/C,EAAE,EAAE;AACF,oCAAA,EAAE,EAAE,CAAC;AACL,oCAAA,MAAM,EAAE,WAAW;oCACnB,eAAe,EAAE,oBAAoB,CAAC,KAAK;oCAC3C,WAAW,EAAE,oBAAoB,CAAC,KAAK;AACvC,oCAAA,KAAK,EAAE,SAAS;AAChB,oCAAA,UAAU,EAAE,GAAG;AACf,oCAAA,QAAQ,EAAE,UAAU;AACpB,oCAAA,MAAM,EAAE,MAAM;AACd,oCAAA,EAAE,EAAE,CAAC;AACL,oCAAA,YAAY,EAAE,CAAC;AACf,oCAAA,EAAE,EAAE,CAAC;AACN,iCAAA,EAAA,CACD,EACFJ,cAAA,CAACI,aAAI,EAAA,EACH,KAAK,EAAE,WAAW,CAAC,KAAK,CAAC,WAAW,EAAE,EACtC,EAAE,EAAE;AACF,oCAAA,EAAE,EAAE,CAAC;AACL,oCAAA,MAAM,EAAE,WAAW;AACnB,oCAAA,eAAe,EAAE,SAAS;oCAC1B,WAAW,EAAE,WAAW,CAAC,KAAK;AAC9B,oCAAA,KAAK,EAAE,SAAS;AAChB,oCAAA,UAAU,EAAE,GAAG;AACf,oCAAA,QAAQ,EAAE,UAAU;AACpB,oCAAA,MAAM,EAAE,MAAM;AACd,oCAAA,EAAE,EAAE,CAAC;AACL,oCAAA,YAAY,EAAE,CAAC;AACf,oCAAA,EAAE,EAAE,CAAC;iCACN,EAAA,CACD,CAAA,EAAA,CACE,EAINJ,cAAA,CAACK,mBAAU,EAAA,EAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,EAAE,UAAU,EAAE,EAAA,QAAA,EAC/D,WAAW,EAAA,CACD,EAIZ,aAAa,KAAK,aAAa,CAAC,QAAQ,IAAI,IAAI,KAC/CL,cAAA,CAACM,WAAK,EAAA,EACJ,OAAO,EAAC,OAAO,EACf,IAAI,EAAEN,eAACO,gCAAkB,EAAA,EAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAA,CAAI,EAClD,EAAE,EAAE;AACF,4BAAA,EAAE,EAAE;AACL,yBAAA,EAAA,QAAA,EAEA,IAAI,EAAA,CACC,CACT,EAGA,aAAa,KAAK,aAAa,CAAC,QAAQ,IAAI,IAAI,KAC/CP,eAACM,WAAK,EAAA,EACJ,OAAO,EAAC,MAAM,EACd,IAAI,EAAEN,cAAA,CAACQ,4BAAc,IAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAC,EAAA,CAAI,EAC/D,EAAE,EAAE;AACF,4BAAA,EAAE,EAAE,CAAC;AACL,4BAAA,eAAe,EAAE,WAAW;AAC5B,4BAAA,WAAW,EAAE,WAAW;AACxB,4BAAA,KAAK,EAAE,SAAS;AACjB,yBAAA,EAAA,QAAA,EAEA,IAAI,EAAA,CACC,CACT,EAIDR,cAAA,CAACS,kBAAS,IACR,SAAS,EAAA,IAAA,EACT,IAAI,EAAE,CAAC,EACP,SAAS,EAAA,IAAA,EACT,KAAK,EAAE,SAAS,EAChB,QAAQ,EAAE,CAAC,CAAC,KAAK,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAC7C,QAAQ,EAAE,eAAe,IAAI,aAAa,EAC1C,EAAE,EAAE;AACF,4BAAA,EAAE,EAAE,CAAC;AACL,4BAAA,0BAA0B,EAAE;gCAC1B,eAAe,EAAE,eAAe,IAAI,aAAa,GAAG,qBAAqB,GAAG,MAAM;AAClF,gCAAA,YAAY,EAAE,CAAC;AAChB,6BAAA;yBACF,EAAA,CACD,EAIFT,eAACU,yBAAgB,EAAA,EACf,OAAO,EACLV,cAAA,CAACW,iBAAQ,EAAA,EACP,OAAO,EAAE,eAAe,EACxB,QAAQ,EAAE,aAAa,EACvB,QAAQ,EAAE,2BAA2B,EACrC,EAAE,EAAE;AACF,gCAAA,KAAK,EAAE,SAAS;AAChB,gCAAA,eAAe,EAAE;AACf,oCAAA,KAAK,EAAE,SAAS;AACjB,iCAAA;AACF,6BAAA,EAAA,CACD,EAEJ,KAAK,EAAC,mBAAmB,EACzB,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAA,CACb,EAIFZ,gBAACI,YAAG,EAAA,EACF,EAAE,EAAE;AACF,4BAAA,OAAO,EAAE,MAAM;4BACf,aAAa,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE;4BAC1C,UAAU,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,QAAQ,EAAE;AAC3C,4BAAA,cAAc,EAAE,eAAe;AAC/B,4BAAA,GAAG,EAAE,CAAC;AACN,4BAAA,EAAE,EAAE,CAAC;AACL,4BAAA,SAAS,EAAE,WAAW;AACtB,4BAAA,WAAW,EAAE,SAAS;AACvB,yBAAA,EAAA,QAAA,EAAA,CAGDJ,gBAACI,YAAG,EAAA,EAAC,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,aACtDH,cAAA,CAACY,aAAM,EAAA,EACL,OAAO,EAAE,UAAU,EACnB,OAAO,EAAC,SAAS,EACjB,IAAI,EAAC,IAAI,EACT,QAAQ,EAAE,aAAa,EAAA,QAAA,EAEtB,QAAQ,GAAGb,eAAA,CAAAc,mBAAA,EAAA,EAAA,QAAA,EAAA,CAAEb,cAAA,CAACc,yBAAgB,EAAA,EAAC,IAAI,EAAE,EAAE,GAAI,EAAAd,cAAA,CAACK,mBAAU,EAAA,EAAC,EAAE,EAAE,EAAC,WAAW,EAAE,CAAC,EAAC,0BAAwB,CAAA,EAAA,CAAG,GAAG,MAAM,GACzG,EACTL,cAAA,CAACY,aAAM,EAAA,EACL,OAAO,EAAE,YAAY,EACrB,OAAO,EAAC,SAAS,EACjB,IAAI,EAAC,IAAI,EACT,QAAQ,EAAE,aAAa,EACvB,EAAE,EAAE;AACF,4CAAA,eAAe,EAAE,WAAW;AAC5B,4CAAA,SAAS,EAAE;AACT,gDAAA,eAAe,EAAE,WAAW;AAC7B,6CAAA;AACF,yCAAA,EAAA,QAAA,EAEA,YAAY,GAAGb,eAAA,CAAAc,mBAAA,EAAA,EAAA,QAAA,EAAA,CAAEb,eAACc,yBAAgB,EAAA,EAAC,IAAI,EAAE,EAAE,EAAA,CAAI,EAAAd,cAAA,CAACK,mBAAU,IAAC,EAAE,EAAE,EAAC,WAAW,EAAE,CAAC,EAAC,EAAA,QAAA,EAAA,eAAA,EAAA,CAA4B,CAAA,EAAA,CAAG,GAAG,mBAAmB,EAAA,CAC9H,EACR,eAAe,KAAK,eAAe,CAAC,QAAQ;AAC3C,yCACEL,eAACY,aAAM,EAAA,EAAC,OAAO,EAAE,gBAAgB,EAAE,OAAO,EAAC,SAAS,EAAC,IAAI,EAAC,IAAI,EAAC,EAAE,EAAE;AAC/D,gDAAA,eAAe,EAAE,WAAW;AAC5B,gDAAA,SAAS,EAAE;oDACT,eAAe,EAAE,WAAW;AAC7B;AACF,6CAAA,EACD,QAAQ,EAAE,aAAa,EAAA,QAAA,EAAA,iBAAA,EAAA,CAGhB;yCAGTZ,cAAA,CAAAa,mBAAA,EAAA,EAAA,CACG,CACJ,CAAA,EAAA,CAEC,EAINd,gBAACI,YAAG,EAAA,EACF,EAAE,EAAE;AACF,oCAAA,OAAO,EAAE,MAAM;AACf,oCAAA,UAAU,EAAE,QAAQ;AACpB,oCAAA,GAAG,EAAE,GAAG;oCACR,cAAc,EAAE,EAAE,EAAE,EAAE,eAAe,EAAE,EAAE,EAAE,UAAU,EAAE;iCACxD,EAAA,QAAA,EAAA,CAEA,WAAW,KAAK,CAAC,IAAIH,eAAC,SAAS,EAAA,EAAC,OAAO,EAAE,UAAU,EAAA,YAAA,EAAa,UAAU,EAAC,QAAQ,EAAE,SAAS,EAAA,QAAA,EAC7FA,eAACe,iCAAmB,EAAA,EAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAA,CACrE,EACX,WAAW,KAAK,UAAU,IAAIf,cAAA,CAAC,SAAS,EAAA,EAAC,OAAO,EAAE,MAAM,gBAAa,MAAM,EAAC,QAAQ,EAAE,SAAS,YAC9FA,cAAA,CAACgB,oCAAsB,EAAA,EAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,EAAA,CAAG,EAAA,CACxE,EACZjB,eAAA,CAACM,mBAAU,IAAC,UAAU,EAAE,GAAG,EAAE,QAAQ,EAAC,UAAU,EAAA,QAAA,EAAA,CAC7C,WAAW,OAAG,UAAU,CAAA,EAAA,CACd,IACT,CAAA,EAAA,CACF,CAAA,EAAA,CACQ,CAAA,EAAA,CACH;AAEnB;;;;"}
|
|
1
|
+
{"version":3,"file":"Modal.js","sources":["../../../../src/components/Modal.tsx"],"sourcesContent":["import React, { useEffect, useState } from 'react';\nimport {\n Dialog,\n DialogContent,\n IconButton,\n Box,\n Typography,\n TextField,\n Checkbox,\n FormControlLabel,\n Alert as MuiAlert,\n Chip,\n styled,\n CircularProgress,\n useTheme,\n} from '@mui/material';\nimport { Button } from './Button';\nimport { ArrowBackIosRounded, ArrowForwardIosRounded, ArticleRounded, CloseRounded, ErrorOutlineRounded, InfoOutlineRounded, StickyNote2Rounded } from '@mui/icons-material';\nimport { Alert } from './Alert';\nimport { toast } from 'react-toastify';\n\nenum VariableState {\n Accepted = \"Accepted\",\n Pending = \"Pending\",\n Rejected = \"Rejected\",\n NotAccepted = \"Not Accepted\",\n Draft = \"Draft\"\n}\n\nenum RequirementType {\n Default = \"Default\",\n Optional = \"Optional\"\n}\n\n\ninterface ModalProps {\n isOpen: boolean;\n onClose: () => void;\n status: string;\n requirementType: string,\n description: string;\n value: string;\n defaultText: string;\n note?: string;\n onSave?: (fieldValue: string, defaultChecked: boolean) => void;\n onSubmit?: (fieldValue: string, defaultChecked: boolean) => void;\n successMessage?: string;\n errorMessage?: string;\n onDeclineWording?: () => void;\n onPrevious?: () => void;\n onNext?: () => void;\n currentPage?: number;\n totalPages?: number;\n isLoading: boolean;\n}\n\n\nconst StyledDialog = styled(Dialog)(({ theme }) => ({\n '& .MuiDialog-paper': {\n color: theme.palette.background.default,\n borderRadius: theme.shape.borderRadius,\n maxWidth: '896px',\n width: '100%',\n maxHeight: '90vh',\n },\n}));\n\n\nconst NavButton = styled(IconButton)(({ theme }) => ({\n width: '40px',\n height: '40px',\n borderRadius: 999,\n border: `2px solid ${theme.palette.dark.main}`,\n backgroundColor: '#fff',\n padding: theme.spacing(1, 2),\n '&:hover': {\n backgroundColor: theme.palette.grey[100], // Changed from dark.main to grey[100]\n color: theme.palette.dark.main, // Keep text dark instead of light\n borderColor: theme.palette.dark.main, // Keep border dark\n },\n}));\n\nfunction mapStatusToVariableState(status: string): VariableState | undefined {\n switch (status) {\n case \"Accepted\":\n return VariableState.Accepted;\n case \"Pending\":\n return VariableState.Pending;\n case \"Rejected\":\n return VariableState.Rejected;\n case \"Not Accepted\":\n return VariableState.NotAccepted;\n case \"Draft\":\n return VariableState.Draft;\n default:\n return undefined;\n }\n}\n\n\nfunction mapRequirementTypeToState(reqType: string): RequirementType | undefined {\n switch (reqType) {\n case \"Default\":\n return RequirementType.Default;\n case \"Optional\":\n return RequirementType.Optional;\n default:\n return undefined;\n }\n}\n\nexport const Modal: React.FC<ModalProps> = ({\n isOpen,\n onClose,\n status,\n requirementType,\n description,\n value,\n defaultText,\n note,\n onSave,\n onSubmit,\n successMessage,\n errorMessage,\n onDeclineWording,\n onPrevious,\n onNext,\n currentPage = 1,\n totalPages = 1,\n isLoading\n}) => {\n const variableState = mapStatusToVariableState(status);\n const variableReqType = mapRequirementTypeToState(requirementType)\n\n const [textValue, setTextValue] = useState(value);\n const [prevTextValue, setPrevTextValue] = useState(value);\n\n const [useDefaultValue, setUseDefaultValue] = useState(true);\n const [isSaving, setIsSaving] = useState(false);\n const [isSubmitting, setIsSubmitting] = useState(false);\n\n const theme = useTheme()\n\n useEffect(() => {\n if (variableState === (VariableState.Pending || VariableState.Draft)) {\n setUseDefaultValue(false);\n }\n }, [status]);\n\n useEffect(() => {\n if (!isOpen) {\n setIsSaving(false);\n setIsSubmitting(false);\n }\n }, [isOpen]);\n\n useEffect(() => {\n if (successMessage && successMessage !== '') {\n toast.success(successMessage);\n }\n }, [successMessage]);\n \n useEffect(() => {\n if (errorMessage && errorMessage !== '') {\n toast.error(errorMessage);\n }\n }, [errorMessage]);\n \n useEffect(() => {\n if (!isLoading) {\n setIsSaving(false);\n setIsSubmitting(false);\n }\n }, [isLoading]);\n\n useEffect(() => {\n if (useDefaultValue){\n setPrevTextValue(textValue);\n setTextValue(defaultText);\n } else {\n setTextValue(prevTextValue);\n }\n }, [useDefaultValue]);\n\n\n const handleUseDefaultValueChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n setUseDefaultValue(event.target.checked);\n };\n\n\n const canSubmitSave = isLoading || variableState === VariableState.Pending\n\n const statusConfig = {\n [VariableState.Pending]: { color: '#EBC7FF', label: 'Pending' },\n [VariableState.Draft]: { color: '#FFC365', label: 'Draft' },\n [VariableState.NotAccepted]: { color: '#DBF59A', label: 'Not Accepted' },\n [VariableState.Rejected]: { color: '#FFBCB3', label: 'Rejected' },\n [VariableState.Accepted]: { color: '#DBF59A', label: 'Accepted' },\n };\n\n const reqTypeConfig = {\n [RequirementType.Default]: { color: '#F5A623', label: 'Mandatory' },\n [RequirementType.Optional]: { color: '#F5D76E', label: 'Optional' },\n };\n\n const statusStyle = variableState ? statusConfig[variableState] : { color: '#ccc', label: 'Unknown' };;\n const requirementTypeStyle = variableReqType ? reqTypeConfig[variableReqType] : { color: '#ccc', label: 'Unknown' };;\n\n\n const handleSave = () => {\n setIsSaving(true);\n onSave?.(textValue, useDefaultValue);\n };\n\n\n const handleSubmit = () => {\n setIsSubmitting(true);\n onSubmit?.(textValue, useDefaultValue);\n };\n\n\n return (\n <StyledDialog open={isOpen} onClose={onClose} maxWidth=\"md\" fullWidth>\n <IconButton\n onClick={onClose}\n disabled={isLoading}\n sx={{\n position: 'absolute',\n top: 16,\n right: 16,\n zIndex: 1,\n }}\n >\n <CloseRounded sx={{ fontSize: 24 }} />\n </IconButton>\n\n\n <DialogContent sx={{ p: { xs: 3, sm: 4, md: 6 } }}>\n {/* Status Chip */}\n <Box sx={{ mb: 3}}>\n <Chip\n label={requirementTypeStyle.label.toUpperCase()}\n sx={{\n mr: 3,\n border: '3px solid',\n backgroundColor: requirementTypeStyle.color,\n borderColor: requirementTypeStyle.color,\n color: '#4D3019',\n fontWeight: 600,\n fontSize: '0.875rem',\n height: 'auto',\n py: 1,\n borderRadius: 0,\n px: 2,\n }}\n />\n <Chip\n label={statusStyle.label.toUpperCase()}\n sx={{\n mr: 3,\n border: '3px solid',\n backgroundColor: '#FDFCEE',\n borderColor: statusStyle.color,\n color: '#4D3019',\n fontWeight: 600,\n fontSize: '0.875rem',\n height: 'auto',\n py: 1,\n borderRadius: 0,\n px: 2,\n }}\n />\n </Box>\n\n\n {/* Description */}\n <Typography sx={{ mb: 3, lineHeight: 1.6, whiteSpace: 'pre-line' }}>\n {description}\n </Typography>\n\n\n {/* Error Alert with Custom Icon */}\n {variableState === VariableState.Rejected && note && (\n <Alert\n variant=\"error\"\n icon={<InfoOutlineRounded sx={{ fontSize: 20 }} />}\n sx={{\n mb: 2\n }}\n >\n {note}\n </Alert>\n )}\n\n {/* Info Alert with Custom Background and Icon */}\n {variableState !== VariableState.Rejected && note && (\n <Alert\n variant=\"info\"\n icon={<ArticleRounded sx={{ fontSize: 20, color: '#4D3019'}} />}\n sx={{\n mb: 2,\n backgroundColor: '#00000000',\n borderColor: '#acacacff',\n color: '#4D3019',\n }}\n >\n {note}\n </Alert>\n )}\n\n\n {/* Text Field */}\n <TextField\n multiline\n rows={6}\n fullWidth\n value={textValue}\n onChange={(e) => setTextValue(e.target.value)}\n disabled={useDefaultValue || canSubmitSave}\n sx={{\n mb: 2,\n '& .MuiOutlinedInput-root': {\n backgroundColor: useDefaultValue || canSubmitSave ? 'rgba(0, 0, 0, 0.05)' : '#fff',\n borderRadius: 2,\n },\n }}\n />\n\n\n {/* Checkbox */}\n <FormControlLabel\n control={\n <Checkbox\n checked={useDefaultValue}\n disabled={canSubmitSave}\n onChange={handleUseDefaultValueChange}\n sx={{\n color: '#AC46FF',\n '&.Mui-checked': {\n color: '#AC46FF',\n },\n }}\n />\n }\n label=\"Use Default Value\"\n sx={{ mb: 3 }}\n />\n\n\n {/* Footer with Buttons and Navigation */}\n <Box\n sx={{\n display: 'flex',\n flexDirection: { xs: 'column', sm: 'row' },\n alignItems: { xs: 'stretch', sm: 'center' },\n justifyContent: 'space-between',\n gap: 2,\n pt: 3,\n borderTop: '1px solid',\n borderColor: 'divider',\n }}\n >\n {/* Action Buttons */}\n <Box sx={{ display: 'flex', gap: 1.5, flexWrap: 'wrap' }}>\n {useDefaultValue === false? \n (\n <Button\n onClick={handleSave}\n variant=\"outline\"\n size=\"md\"\n disabled={canSubmitSave}\n >\n {isSaving ? <><CircularProgress size={20} /><Typography sx={{paddingLeft: 2}}>Saving...</Typography></> : \"Save\"}\n </Button>\n ) : (<></>)\n }\n <Button\n onClick={handleSubmit}\n variant=\"outline\"\n size=\"md\"\n disabled={canSubmitSave}\n sx={{\n backgroundColor: '#ac46ff52',\n '&:hover': {\n backgroundColor: '#ac46ff80',\n },\n }}\n >\n {isSubmitting ? <><CircularProgress size={20} /><Typography sx={{paddingLeft: 2}}>Submitting...</Typography></> : \"Submit for review\"}\n </Button>\n {variableReqType === RequirementType.Optional || useDefaultValue === false? \n (\n <Button onClick={onDeclineWording} variant=\"outline\" size=\"md\" sx={{\n backgroundColor: '#ff464652',\n '&:hover': {\n backgroundColor: '#ff464680', // Darker purple on hover\n }\n }}\n disabled={canSubmitSave}\n >\n Decline wording\n </Button>\n ) : \n (\n <>\n </>\n )\n }\n </Box>\n \n\n {/* Navigation */}\n <Box\n sx={{\n display: 'flex',\n alignItems: 'center',\n gap: 1.5,\n justifyContent: { xs: 'space-between', sm: 'flex-end' },\n }}\n >\n {currentPage !== 1 && <NavButton onClick={onPrevious} aria-label=\"Previous\" disabled={isLoading}>\n <ArrowBackIosRounded sx={{ fontSize: 20, color: theme.palette.text.primary }}/>\n </NavButton>}\n {currentPage !== totalPages && <NavButton onClick={onNext} aria-label=\"Next\" disabled={isLoading}>\n <ArrowForwardIosRounded sx={{ fontSize: 20, color: theme.palette.text.primary }}/>\n </NavButton>}\n <Typography fontWeight={500} fontSize=\"1.125rem\">\n {currentPage}/{totalPages}\n </Typography>\n </Box>\n </Box>\n </DialogContent>\n </StyledDialog>\n );\n};\n"],"names":["styled","Dialog","IconButton","useState","useTheme","useEffect","toast","_jsxs","_jsx","CloseRounded","DialogContent","Box","Chip","Typography","Alert","InfoOutlineRounded","ArticleRounded","TextField","FormControlLabel","Checkbox","Button","_Fragment","CircularProgress","ArrowBackIosRounded","ArrowForwardIosRounded"],"mappings":"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"}
|
package/dist/cjs/index.js
CHANGED
|
@@ -22,6 +22,7 @@ var TableOfContents = require('./components/TableOfContents.js');
|
|
|
22
22
|
var Toggle = require('./components/Toggle.js');
|
|
23
23
|
var SimpleModal = require('./components/SimpleModal.js');
|
|
24
24
|
var ActionButton = require('./components/ActionButton.js');
|
|
25
|
+
var ExpandingBoxToggle = require('./components/ExpandingBoxToggle.js');
|
|
25
26
|
var ExpandingBox = require('./components/ExpandingBox.js');
|
|
26
27
|
var Breadcrumb = require('./components/Breadcrumb.js');
|
|
27
28
|
var AcknowledgementBox = require('./components/AcknowledgementBox.js');
|
|
@@ -54,6 +55,7 @@ exports.TableOfContents = TableOfContents.TableOfContents;
|
|
|
54
55
|
exports.Toggle = Toggle.Toggle;
|
|
55
56
|
exports.SimpleModal = SimpleModal.SimpleModal;
|
|
56
57
|
exports.ActionButton = ActionButton.ActionButton;
|
|
58
|
+
exports.ExpandingBoxToggle = ExpandingBoxToggle.ExpandingBoxToggle;
|
|
57
59
|
exports.ExpandingBox = ExpandingBox.ExpandingBox;
|
|
58
60
|
exports.Breadcrumb = Breadcrumb.Breadcrumb;
|
|
59
61
|
exports.AcknowledgementBox = AcknowledgementBox.AcknowledgementBox;
|
package/dist/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
interface ExpandingBoxProps {
|
|
2
|
-
|
|
3
|
-
content:
|
|
2
|
+
open: boolean;
|
|
3
|
+
content: React.ReactNode | React.ReactNode[];
|
|
4
4
|
}
|
|
5
|
-
export declare
|
|
5
|
+
export declare const ExpandingBox: React.FC<ExpandingBoxProps>;
|
|
6
6
|
export {};
|
|
@@ -1,36 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { useState } from 'react';
|
|
1
|
+
import { jsx } from 'react/jsx-runtime';
|
|
3
2
|
import { styled, Box } from '@mui/material';
|
|
4
|
-
import { useTheme } from '../ThemeProvider.js';
|
|
5
|
-
import { IndeterminateCheckBoxRounded, AddBoxRounded } from '@mui/icons-material';
|
|
6
3
|
|
|
7
|
-
const StyledWrapper = styled(Box)(({ theme, open }) => ({
|
|
8
|
-
display: 'inline-block',
|
|
9
|
-
position: 'relative',
|
|
10
|
-
verticalAlign: 'top', // Prevents shifting
|
|
11
|
-
}));
|
|
12
|
-
const StyledParagraph = styled('span')(({ theme }) => ({
|
|
13
|
-
color: theme.palette.dark.main,
|
|
14
|
-
display: 'inline-flex',
|
|
15
|
-
alignItems: 'center',
|
|
16
|
-
}));
|
|
17
|
-
const StyledTermWrapper = styled(Box)(({ theme, open }) => ({
|
|
18
|
-
position: 'relative',
|
|
19
|
-
display: 'inline-flex',
|
|
20
|
-
alignItems: 'center',
|
|
21
|
-
cursor: 'pointer',
|
|
22
|
-
marginLeft: theme.spacing(0.5),
|
|
23
|
-
paddingBottom: '1px',
|
|
24
|
-
borderBottom: `2px solid ${theme.palette.dark.main}`,
|
|
25
|
-
backgroundColor: theme.palette.background.default,
|
|
26
|
-
}));
|
|
27
|
-
const StyledIconWrapper = styled(Box)(({ theme }) => ({
|
|
28
|
-
display: 'inline-flex',
|
|
29
|
-
alignItems: 'center',
|
|
30
|
-
justifyContent: 'center',
|
|
31
|
-
marginLeft: theme.spacing(0.5),
|
|
32
|
-
transition: 'color 0.2s',
|
|
33
|
-
}));
|
|
34
4
|
const StyledExpandingBox = styled(Box)(({ theme }) => ({
|
|
35
5
|
marginTop: theme.spacing(2),
|
|
36
6
|
padding: theme.spacing(2),
|
|
@@ -40,21 +10,11 @@ const StyledExpandingBox = styled(Box)(({ theme }) => ({
|
|
|
40
10
|
border: `1px solid ${theme.palette.dark.main}`,
|
|
41
11
|
backgroundColor: theme.palette.background.default,
|
|
42
12
|
}));
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
return
|
|
47
|
-
|
|
48
|
-
color: theme.palette.text.primary
|
|
49
|
-
} })) : (jsx(AddBoxRounded, { sx: {
|
|
50
|
-
fontSize: 16,
|
|
51
|
-
color: theme.palette.text.primary,
|
|
52
|
-
} })) })] }) }) }), open && (jsx(StyledExpandingBox, { children: jsx(Box, { sx: {
|
|
53
|
-
fontSize: '14px',
|
|
54
|
-
color: theme.palette.dark.main,
|
|
55
|
-
lineHeight: 1.5,
|
|
56
|
-
}, dangerouslySetInnerHTML: { __html: content } }) }))] }));
|
|
57
|
-
}
|
|
13
|
+
const ExpandingBox = ({ open, content, }) => {
|
|
14
|
+
if (!open)
|
|
15
|
+
return null;
|
|
16
|
+
return jsx(StyledExpandingBox, { children: content });
|
|
17
|
+
};
|
|
58
18
|
|
|
59
19
|
export { ExpandingBox };
|
|
60
20
|
//# sourceMappingURL=ExpandingBox.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExpandingBox.js","sources":["../../../../src/components/ExpandingBox.tsx"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"file":"ExpandingBox.js","sources":["../../../../src/components/ExpandingBox.tsx"],"sourcesContent":["import { Box, styled } from '@mui/material';\ninterface ExpandingBoxProps {\n open: boolean;\n content: React.ReactNode | React.ReactNode[];\n}\n\nconst StyledExpandingBox = styled(Box)(({ theme }) => ({\n marginTop: theme.spacing(2),\n padding: theme.spacing(2),\n borderRadius: (typeof theme.shape.borderRadius === 'string'\n ? parseInt(theme.shape.borderRadius, 10)\n : theme.shape.borderRadius || 4) * 2,\n border: `1px solid ${theme.palette.dark.main}`,\n backgroundColor: theme.palette.background.default,\n}));\n\nexport const ExpandingBox: React.FC<ExpandingBoxProps> = ({\n open,\n content,\n}) => {\n\n if (!open) return null;\n return <StyledExpandingBox>{content}</StyledExpandingBox>;\n}\n"],"names":["_jsx"],"mappings":";;;AAMA,MAAM,kBAAkB,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM;AACrD,IAAA,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;AAC3B,IAAA,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;IACzB,YAAY,EAAE,CAAC,OAAO,KAAK,CAAC,KAAK,CAAC,YAAY,KAAK;UAC/C,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,YAAY,EAAE,EAAE;UACrC,KAAK,CAAC,KAAK,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC;IACtC,MAAM,EAAE,aAAa,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAA,CAAE;AAC9C,IAAA,eAAe,EAAE,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO;AAClD,CAAA,CAAC,CAAC;AAEI,MAAM,YAAY,GAAgC,CAAC,EACxD,IAAI,EACJ,OAAO,GACR,KAAI;AAEH,IAAA,IAAI,CAAC,IAAI;AAAE,QAAA,OAAO,IAAI;AACtB,IAAA,OAAOA,GAAA,CAAC,kBAAkB,EAAA,EAAA,QAAA,EAAE,OAAO,GAAsB;AAC3D;;;;"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
2
|
+
import { styled, Box } from '@mui/material';
|
|
3
|
+
import { useTheme } from '../ThemeProvider.js';
|
|
4
|
+
import { IndeterminateCheckBoxRounded, AddBoxRounded } from '@mui/icons-material';
|
|
5
|
+
|
|
6
|
+
const StyledWrapper = styled(Box)(({ theme, open }) => ({
|
|
7
|
+
display: 'inline-block',
|
|
8
|
+
position: 'relative',
|
|
9
|
+
verticalAlign: 'top', // Prevents shifting
|
|
10
|
+
}));
|
|
11
|
+
const StyledParagraph = styled('span')(({ theme }) => ({
|
|
12
|
+
color: theme.palette.dark.main,
|
|
13
|
+
display: 'inline-flex',
|
|
14
|
+
alignItems: 'center',
|
|
15
|
+
}));
|
|
16
|
+
const StyledTermWrapper = styled(Box)(({ theme, open }) => ({
|
|
17
|
+
position: 'relative',
|
|
18
|
+
display: 'inline-flex',
|
|
19
|
+
alignItems: 'center',
|
|
20
|
+
cursor: 'pointer',
|
|
21
|
+
marginLeft: theme.spacing(0.5),
|
|
22
|
+
paddingBottom: '1px',
|
|
23
|
+
borderBottom: `2px solid ${theme.palette.dark.main}`,
|
|
24
|
+
backgroundColor: theme.palette.background.default,
|
|
25
|
+
}));
|
|
26
|
+
const StyledIconWrapper = styled(Box)(({ theme }) => ({
|
|
27
|
+
display: 'inline-flex',
|
|
28
|
+
alignItems: 'center',
|
|
29
|
+
justifyContent: 'center',
|
|
30
|
+
marginLeft: theme.spacing(0.5),
|
|
31
|
+
transition: 'color 0.2s',
|
|
32
|
+
}));
|
|
33
|
+
const ExpandingBoxToggle = ({ term, open, setOpen, }) => {
|
|
34
|
+
const theme = useTheme();
|
|
35
|
+
return (jsx(StyledWrapper, { open: open, children: jsx(StyledParagraph, { children: jsxs(StyledTermWrapper, { onClick: () => setOpen(!open), open: open, children: [term, jsx(StyledIconWrapper, { children: open ? (jsx(IndeterminateCheckBoxRounded, { sx: {
|
|
36
|
+
fontSize: 16,
|
|
37
|
+
color: theme.palette.text.primary
|
|
38
|
+
} })) : (jsx(AddBoxRounded, { sx: {
|
|
39
|
+
fontSize: 16,
|
|
40
|
+
color: theme.palette.text.primary,
|
|
41
|
+
} })) })] }) }) }));
|
|
42
|
+
};
|
|
43
|
+
|
|
44
|
+
export { ExpandingBoxToggle };
|
|
45
|
+
//# sourceMappingURL=ExpandingBoxToggle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ExpandingBoxToggle.js","sources":["../../../../src/components/ExpandingBoxToggle.tsx"],"sourcesContent":["import { Box, styled } from '@mui/material';\nimport { useTheme } from '../ThemeProvider';\nimport { AddBoxRounded, IndeterminateCheckBoxRounded } from '@mui/icons-material';\n\ninterface ExpandingBoxToggleProps {\n term: string;\n open: boolean;\n setOpen: (open: boolean) => void;\n}\n\nconst StyledWrapper = styled(Box)<{ open: boolean }>(({ theme, open }) => ({\n display: 'inline-block',\n position: 'relative',\n verticalAlign: 'top', // Prevents shifting\n}));\n\nconst StyledParagraph = styled('span')(({ theme }) => ({\n color: theme.palette.dark.main,\n display: 'inline-flex',\n alignItems: 'center',\n}));\n\nconst StyledTermWrapper = styled(Box)<{ open: boolean }>(({ theme, open }) => ({\n position: 'relative',\n display: 'inline-flex',\n alignItems: 'center',\n cursor: 'pointer',\n marginLeft: theme.spacing(0.5),\n paddingBottom: '1px',\n borderBottom: `2px solid ${theme.palette.dark.main}`,\n backgroundColor: theme.palette.background.default,\n}));\n\nconst StyledIconWrapper = styled(Box)(({ theme }) => ({\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n marginLeft: theme.spacing(0.5),\n transition: 'color 0.2s',\n}));\n\nexport const ExpandingBoxToggle: React.FC<ExpandingBoxToggleProps> = ({\n term,\n open,\n setOpen,\n}) => { const theme = useTheme();\n\n return (\n <StyledWrapper open={open}>\n <StyledParagraph>\n <StyledTermWrapper onClick={() => setOpen(!open)} open={open}>\n {term}\n <StyledIconWrapper>\n {open ? (\n <IndeterminateCheckBoxRounded\n sx={{\n fontSize: 16,\n color: theme.palette.text.primary\n }}\n />\n ) : (\n <AddBoxRounded\n sx={{\n fontSize: 16,\n color: theme.palette.text.primary,\n }}\n />\n )}\n </StyledIconWrapper>\n </StyledTermWrapper>\n </StyledParagraph>\n </StyledWrapper>\n );\n}\n"],"names":["_jsx","_jsxs"],"mappings":";;;;;AAUA,MAAM,aAAa,GAAG,MAAM,CAAC,GAAG,CAAC,CAAoB,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM;AACzE,IAAA,OAAO,EAAE,cAAc;AACvB,IAAA,QAAQ,EAAE,UAAU;IACpB,aAAa,EAAE,KAAK;AACrB,CAAA,CAAC,CAAC;AAEH,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM;AACrD,IAAA,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI;AAC9B,IAAA,OAAO,EAAE,aAAa;AACtB,IAAA,UAAU,EAAE,QAAQ;AACrB,CAAA,CAAC,CAAC;AAEH,MAAM,iBAAiB,GAAG,MAAM,CAAC,GAAG,CAAC,CAAoB,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM;AAC7E,IAAA,QAAQ,EAAE,UAAU;AACpB,IAAA,OAAO,EAAE,aAAa;AACtB,IAAA,UAAU,EAAE,QAAQ;AACpB,IAAA,MAAM,EAAE,SAAS;AACjB,IAAA,UAAU,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;AAC9B,IAAA,aAAa,EAAE,KAAK;IACpB,YAAY,EAAE,aAAa,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAA,CAAE;AACpD,IAAA,eAAe,EAAE,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO;AAClD,CAAA,CAAC,CAAC;AAEH,MAAM,iBAAiB,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM;AACpD,IAAA,OAAO,EAAE,aAAa;AACtB,IAAA,UAAU,EAAE,QAAQ;AACpB,IAAA,cAAc,EAAE,QAAQ;AACxB,IAAA,UAAU,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;AAC9B,IAAA,UAAU,EAAE,YAAY;AACzB,CAAA,CAAC,CAAC;AAEI,MAAM,kBAAkB,GAAsC,CAAC,EACpE,IAAI,EACJ,IAAI,EACJ,OAAO,GACR,KAAI;AAAI,IAAA,MAAM,KAAK,GAAG,QAAQ,EAAE;AAE/B,IAAA,QACEA,GAAA,CAAC,aAAa,IAAC,IAAI,EAAE,IAAI,EAAA,QAAA,EACvBA,GAAA,CAAC,eAAe,EAAA,EAAA,QAAA,EACdC,IAAA,CAAC,iBAAiB,EAAA,EAAC,OAAO,EAAE,MAAM,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAA,QAAA,EAAA,CACzD,IAAI,EACLD,GAAA,CAAC,iBAAiB,cACf,IAAI,IACHA,IAAC,4BAA4B,EAAA,EAC3B,EAAE,EAAE;AACF,gCAAA,QAAQ,EAAE,EAAE;AACZ,gCAAA,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;6BAC3B,EAAA,CACD,KAEFA,GAAA,CAAC,aAAa,EAAA,EACZ,EAAE,EAAE;AACF,gCAAA,QAAQ,EAAE,EAAE;AACZ,gCAAA,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO;AAClC,6BAAA,EAAA,CACD,CACH,EAAA,CACiB,CAAA,EAAA,CACF,EAAA,CACJ,EAAA,CACJ;AAEpB;;;;"}
|
|
@@ -193,12 +193,13 @@ const Modal = ({ isOpen, onClose, status, requirementType, description, value, d
|
|
|
193
193
|
pt: 3,
|
|
194
194
|
borderTop: '1px solid',
|
|
195
195
|
borderColor: 'divider',
|
|
196
|
-
}, children: [jsxs(Box, { sx: { display: 'flex', gap: 1.5, flexWrap: 'wrap' }, children: [
|
|
196
|
+
}, children: [jsxs(Box, { sx: { display: 'flex', gap: 1.5, flexWrap: 'wrap' }, children: [useDefaultValue === false ?
|
|
197
|
+
(jsx(Button, { onClick: handleSave, variant: "outline", size: "md", disabled: canSubmitSave, children: isSaving ? jsxs(Fragment, { children: [jsx(CircularProgress, { size: 20 }), jsx(Typography, { sx: { paddingLeft: 2 }, children: "Saving..." })] }) : "Save" })) : (jsx(Fragment, {})), jsx(Button, { onClick: handleSubmit, variant: "outline", size: "md", disabled: canSubmitSave, sx: {
|
|
197
198
|
backgroundColor: '#ac46ff52',
|
|
198
199
|
'&:hover': {
|
|
199
200
|
backgroundColor: '#ac46ff80',
|
|
200
201
|
},
|
|
201
|
-
}, children: isSubmitting ? jsxs(Fragment, { children: [jsx(CircularProgress, { size: 20 }), jsx(Typography, { sx: { paddingLeft: 2 }, children: "Submitting..." })] }) : "Submit for review" }), variableReqType === RequirementType.Optional ?
|
|
202
|
+
}, children: isSubmitting ? jsxs(Fragment, { children: [jsx(CircularProgress, { size: 20 }), jsx(Typography, { sx: { paddingLeft: 2 }, children: "Submitting..." })] }) : "Submit for review" }), variableReqType === RequirementType.Optional || useDefaultValue === false ?
|
|
202
203
|
(jsx(Button, { onClick: onDeclineWording, variant: "outline", size: "md", sx: {
|
|
203
204
|
backgroundColor: '#ff464652',
|
|
204
205
|
'&:hover': {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Modal.js","sources":["../../../../src/components/Modal.tsx"],"sourcesContent":["import React, { useEffect, useState } from 'react';\nimport {\n Dialog,\n DialogContent,\n IconButton,\n Box,\n Typography,\n TextField,\n Checkbox,\n FormControlLabel,\n Alert as MuiAlert,\n Chip,\n styled,\n CircularProgress,\n useTheme,\n} from '@mui/material';\nimport { Button } from './Button';\nimport { ArrowBackIosRounded, ArrowForwardIosRounded, ArticleRounded, CloseRounded, ErrorOutlineRounded, InfoOutlineRounded, StickyNote2Rounded } from '@mui/icons-material';\nimport { Alert } from './Alert';\nimport { toast } from 'react-toastify';\n\nenum VariableState {\n Accepted = \"Accepted\",\n Pending = \"Pending\",\n Rejected = \"Rejected\",\n NotAccepted = \"Not Accepted\",\n Draft = \"Draft\"\n}\n\nenum RequirementType {\n Default = \"Default\",\n Optional = \"Optional\"\n}\n\n\ninterface ModalProps {\n isOpen: boolean;\n onClose: () => void;\n status: string;\n requirementType: string,\n description: string;\n value: string;\n defaultText: string;\n note?: string;\n onSave?: (fieldValue: string, defaultChecked: boolean) => void;\n onSubmit?: (fieldValue: string, defaultChecked: boolean) => void;\n successMessage?: string;\n errorMessage?: string;\n onDeclineWording?: () => void;\n onPrevious?: () => void;\n onNext?: () => void;\n currentPage?: number;\n totalPages?: number;\n isLoading: boolean;\n}\n\n\nconst StyledDialog = styled(Dialog)(({ theme }) => ({\n '& .MuiDialog-paper': {\n color: theme.palette.background.default,\n borderRadius: theme.shape.borderRadius,\n maxWidth: '896px',\n width: '100%',\n maxHeight: '90vh',\n },\n}));\n\n\nconst NavButton = styled(IconButton)(({ theme }) => ({\n width: '40px',\n height: '40px',\n borderRadius: 999,\n border: `2px solid ${theme.palette.dark.main}`,\n backgroundColor: '#fff',\n padding: theme.spacing(1, 2),\n '&:hover': {\n backgroundColor: theme.palette.grey[100], // Changed from dark.main to grey[100]\n color: theme.palette.dark.main, // Keep text dark instead of light\n borderColor: theme.palette.dark.main, // Keep border dark\n },\n}));\n\nfunction mapStatusToVariableState(status: string): VariableState | undefined {\n switch (status) {\n case \"Accepted\":\n return VariableState.Accepted;\n case \"Pending\":\n return VariableState.Pending;\n case \"Rejected\":\n return VariableState.Rejected;\n case \"Not Accepted\":\n return VariableState.NotAccepted;\n case \"Draft\":\n return VariableState.Draft;\n default:\n return undefined;\n }\n}\n\n\nfunction mapRequirementTypeToState(reqType: string): RequirementType | undefined {\n switch (reqType) {\n case \"Default\":\n return RequirementType.Default;\n case \"Optional\":\n return RequirementType.Optional;\n default:\n return undefined;\n }\n}\n\nexport const Modal: React.FC<ModalProps> = ({\n isOpen,\n onClose,\n status,\n requirementType,\n description,\n value,\n defaultText,\n note,\n onSave,\n onSubmit,\n successMessage,\n errorMessage,\n onDeclineWording,\n onPrevious,\n onNext,\n currentPage = 1,\n totalPages = 1,\n isLoading\n}) => {\n const variableState = mapStatusToVariableState(status);\n const variableReqType = mapRequirementTypeToState(requirementType)\n\n const [textValue, setTextValue] = useState(value);\n const [prevTextValue, setPrevTextValue] = useState(value);\n\n const [useDefaultValue, setUseDefaultValue] = useState(true);\n const [isSaving, setIsSaving] = useState(false);\n const [isSubmitting, setIsSubmitting] = useState(false);\n\n const theme = useTheme()\n\n useEffect(() => {\n if (variableState === (VariableState.Pending || VariableState.Draft)) {\n setUseDefaultValue(false);\n }\n }, [status]);\n\n useEffect(() => {\n if (!isOpen) {\n setIsSaving(false);\n setIsSubmitting(false);\n }\n }, [isOpen]);\n\n useEffect(() => {\n if (successMessage && successMessage !== '') {\n toast.success(successMessage);\n }\n }, [successMessage]);\n \n useEffect(() => {\n if (errorMessage && errorMessage !== '') {\n toast.error(errorMessage);\n }\n }, [errorMessage]);\n \n useEffect(() => {\n if (!isLoading) {\n setIsSaving(false);\n setIsSubmitting(false);\n }\n }, [isLoading]);\n\n useEffect(() => {\n if (useDefaultValue){\n setPrevTextValue(textValue);\n setTextValue(defaultText);\n } else {\n setTextValue(prevTextValue);\n }\n }, [useDefaultValue]);\n\n\n const handleUseDefaultValueChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n setUseDefaultValue(event.target.checked);\n };\n\n\n const canSubmitSave = isLoading || variableState === VariableState.Pending\n\n const statusConfig = {\n [VariableState.Pending]: { color: '#EBC7FF', label: 'Pending' },\n [VariableState.Draft]: { color: '#FFC365', label: 'Draft' },\n [VariableState.NotAccepted]: { color: '#DBF59A', label: 'Not Accepted' },\n [VariableState.Rejected]: { color: '#FFBCB3', label: 'Rejected' },\n [VariableState.Accepted]: { color: '#DBF59A', label: 'Accepted' },\n };\n\n const reqTypeConfig = {\n [RequirementType.Default]: { color: '#F5A623', label: 'Mandatory' },\n [RequirementType.Optional]: { color: '#F5D76E', label: 'Optional' },\n };\n\n const statusStyle = variableState ? statusConfig[variableState] : { color: '#ccc', label: 'Unknown' };;\n const requirementTypeStyle = variableReqType ? reqTypeConfig[variableReqType] : { color: '#ccc', label: 'Unknown' };;\n\n\n const handleSave = () => {\n setIsSaving(true);\n onSave?.(textValue, useDefaultValue);\n };\n\n\n const handleSubmit = () => {\n setIsSubmitting(true);\n onSubmit?.(textValue, useDefaultValue);\n };\n\n\n return (\n <StyledDialog open={isOpen} onClose={onClose} maxWidth=\"md\" fullWidth>\n <IconButton\n onClick={onClose}\n disabled={isLoading}\n sx={{\n position: 'absolute',\n top: 16,\n right: 16,\n zIndex: 1,\n }}\n >\n <CloseRounded sx={{ fontSize: 24 }} />\n </IconButton>\n\n\n <DialogContent sx={{ p: { xs: 3, sm: 4, md: 6 } }}>\n {/* Status Chip */}\n <Box sx={{ mb: 3}}>\n <Chip\n label={requirementTypeStyle.label.toUpperCase()}\n sx={{\n mr: 3,\n border: '3px solid',\n backgroundColor: requirementTypeStyle.color,\n borderColor: requirementTypeStyle.color,\n color: '#4D3019',\n fontWeight: 600,\n fontSize: '0.875rem',\n height: 'auto',\n py: 1,\n borderRadius: 0,\n px: 2,\n }}\n />\n <Chip\n label={statusStyle.label.toUpperCase()}\n sx={{\n mr: 3,\n border: '3px solid',\n backgroundColor: '#FDFCEE',\n borderColor: statusStyle.color,\n color: '#4D3019',\n fontWeight: 600,\n fontSize: '0.875rem',\n height: 'auto',\n py: 1,\n borderRadius: 0,\n px: 2,\n }}\n />\n </Box>\n\n\n {/* Description */}\n <Typography sx={{ mb: 3, lineHeight: 1.6, whiteSpace: 'pre-line' }}>\n {description}\n </Typography>\n\n\n {/* Error Alert with Custom Icon */}\n {variableState === VariableState.Rejected && note && (\n <Alert\n variant=\"error\"\n icon={<InfoOutlineRounded sx={{ fontSize: 20 }} />}\n sx={{\n mb: 2\n }}\n >\n {note}\n </Alert>\n )}\n\n {/* Info Alert with Custom Background and Icon */}\n {variableState !== VariableState.Rejected && note && (\n <Alert\n variant=\"info\"\n icon={<ArticleRounded sx={{ fontSize: 20, color: '#4D3019'}} />}\n sx={{\n mb: 2,\n backgroundColor: '#00000000',\n borderColor: '#acacacff',\n color: '#4D3019',\n }}\n >\n {note}\n </Alert>\n )}\n\n\n {/* Text Field */}\n <TextField\n multiline\n rows={6}\n fullWidth\n value={textValue}\n onChange={(e) => setTextValue(e.target.value)}\n disabled={useDefaultValue || canSubmitSave}\n sx={{\n mb: 2,\n '& .MuiOutlinedInput-root': {\n backgroundColor: useDefaultValue || canSubmitSave ? 'rgba(0, 0, 0, 0.05)' : '#fff',\n borderRadius: 2,\n },\n }}\n />\n\n\n {/* Checkbox */}\n <FormControlLabel\n control={\n <Checkbox\n checked={useDefaultValue}\n disabled={canSubmitSave}\n onChange={handleUseDefaultValueChange}\n sx={{\n color: '#AC46FF',\n '&.Mui-checked': {\n color: '#AC46FF',\n },\n }}\n />\n }\n label=\"Use Default Value\"\n sx={{ mb: 3 }}\n />\n\n\n {/* Footer with Buttons and Navigation */}\n <Box\n sx={{\n display: 'flex',\n flexDirection: { xs: 'column', sm: 'row' },\n alignItems: { xs: 'stretch', sm: 'center' },\n justifyContent: 'space-between',\n gap: 2,\n pt: 3,\n borderTop: '1px solid',\n borderColor: 'divider',\n }}\n >\n {/* Action Buttons */}\n <Box sx={{ display: 'flex', gap: 1.5, flexWrap: 'wrap' }}>\n <Button\n onClick={handleSave}\n variant=\"outline\"\n size=\"md\"\n disabled={canSubmitSave}\n >\n {isSaving ? <><CircularProgress size={20} /><Typography sx={{paddingLeft: 2}}>Saving...</Typography></> : \"Save\"}\n </Button>\n <Button\n onClick={handleSubmit}\n variant=\"outline\"\n size=\"md\"\n disabled={canSubmitSave}\n sx={{\n backgroundColor: '#ac46ff52',\n '&:hover': {\n backgroundColor: '#ac46ff80',\n },\n }}\n >\n {isSubmitting ? <><CircularProgress size={20} /><Typography sx={{paddingLeft: 2}}>Submitting...</Typography></> : \"Submit for review\"}\n </Button>\n {variableReqType === RequirementType.Optional? \n (\n <Button onClick={onDeclineWording} variant=\"outline\" size=\"md\" sx={{\n backgroundColor: '#ff464652',\n '&:hover': {\n backgroundColor: '#ff464680', // Darker purple on hover\n }\n }}\n disabled={canSubmitSave}\n >\n Decline wording\n </Button>\n ) : \n (\n <>\n </>\n )\n }\n </Box>\n \n\n {/* Navigation */}\n <Box\n sx={{\n display: 'flex',\n alignItems: 'center',\n gap: 1.5,\n justifyContent: { xs: 'space-between', sm: 'flex-end' },\n }}\n >\n {currentPage !== 1 && <NavButton onClick={onPrevious} aria-label=\"Previous\" disabled={isLoading}>\n <ArrowBackIosRounded sx={{ fontSize: 20, color: theme.palette.text.primary }}/>\n </NavButton>}\n {currentPage !== totalPages && <NavButton onClick={onNext} aria-label=\"Next\" disabled={isLoading}>\n <ArrowForwardIosRounded sx={{ fontSize: 20, color: theme.palette.text.primary }}/>\n </NavButton>}\n <Typography fontWeight={500} fontSize=\"1.125rem\">\n {currentPage}/{totalPages}\n </Typography>\n </Box>\n </Box>\n </DialogContent>\n </StyledDialog>\n );\n};\n"],"names":["_jsxs","_jsx","_Fragment"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Modal.js","sources":["../../../../src/components/Modal.tsx"],"sourcesContent":["import React, { useEffect, useState } from 'react';\nimport {\n Dialog,\n DialogContent,\n IconButton,\n Box,\n Typography,\n TextField,\n Checkbox,\n FormControlLabel,\n Alert as MuiAlert,\n Chip,\n styled,\n CircularProgress,\n useTheme,\n} from '@mui/material';\nimport { Button } from './Button';\nimport { ArrowBackIosRounded, ArrowForwardIosRounded, ArticleRounded, CloseRounded, ErrorOutlineRounded, InfoOutlineRounded, StickyNote2Rounded } from '@mui/icons-material';\nimport { Alert } from './Alert';\nimport { toast } from 'react-toastify';\n\nenum VariableState {\n Accepted = \"Accepted\",\n Pending = \"Pending\",\n Rejected = \"Rejected\",\n NotAccepted = \"Not Accepted\",\n Draft = \"Draft\"\n}\n\nenum RequirementType {\n Default = \"Default\",\n Optional = \"Optional\"\n}\n\n\ninterface ModalProps {\n isOpen: boolean;\n onClose: () => void;\n status: string;\n requirementType: string,\n description: string;\n value: string;\n defaultText: string;\n note?: string;\n onSave?: (fieldValue: string, defaultChecked: boolean) => void;\n onSubmit?: (fieldValue: string, defaultChecked: boolean) => void;\n successMessage?: string;\n errorMessage?: string;\n onDeclineWording?: () => void;\n onPrevious?: () => void;\n onNext?: () => void;\n currentPage?: number;\n totalPages?: number;\n isLoading: boolean;\n}\n\n\nconst StyledDialog = styled(Dialog)(({ theme }) => ({\n '& .MuiDialog-paper': {\n color: theme.palette.background.default,\n borderRadius: theme.shape.borderRadius,\n maxWidth: '896px',\n width: '100%',\n maxHeight: '90vh',\n },\n}));\n\n\nconst NavButton = styled(IconButton)(({ theme }) => ({\n width: '40px',\n height: '40px',\n borderRadius: 999,\n border: `2px solid ${theme.palette.dark.main}`,\n backgroundColor: '#fff',\n padding: theme.spacing(1, 2),\n '&:hover': {\n backgroundColor: theme.palette.grey[100], // Changed from dark.main to grey[100]\n color: theme.palette.dark.main, // Keep text dark instead of light\n borderColor: theme.palette.dark.main, // Keep border dark\n },\n}));\n\nfunction mapStatusToVariableState(status: string): VariableState | undefined {\n switch (status) {\n case \"Accepted\":\n return VariableState.Accepted;\n case \"Pending\":\n return VariableState.Pending;\n case \"Rejected\":\n return VariableState.Rejected;\n case \"Not Accepted\":\n return VariableState.NotAccepted;\n case \"Draft\":\n return VariableState.Draft;\n default:\n return undefined;\n }\n}\n\n\nfunction mapRequirementTypeToState(reqType: string): RequirementType | undefined {\n switch (reqType) {\n case \"Default\":\n return RequirementType.Default;\n case \"Optional\":\n return RequirementType.Optional;\n default:\n return undefined;\n }\n}\n\nexport const Modal: React.FC<ModalProps> = ({\n isOpen,\n onClose,\n status,\n requirementType,\n description,\n value,\n defaultText,\n note,\n onSave,\n onSubmit,\n successMessage,\n errorMessage,\n onDeclineWording,\n onPrevious,\n onNext,\n currentPage = 1,\n totalPages = 1,\n isLoading\n}) => {\n const variableState = mapStatusToVariableState(status);\n const variableReqType = mapRequirementTypeToState(requirementType)\n\n const [textValue, setTextValue] = useState(value);\n const [prevTextValue, setPrevTextValue] = useState(value);\n\n const [useDefaultValue, setUseDefaultValue] = useState(true);\n const [isSaving, setIsSaving] = useState(false);\n const [isSubmitting, setIsSubmitting] = useState(false);\n\n const theme = useTheme()\n\n useEffect(() => {\n if (variableState === (VariableState.Pending || VariableState.Draft)) {\n setUseDefaultValue(false);\n }\n }, [status]);\n\n useEffect(() => {\n if (!isOpen) {\n setIsSaving(false);\n setIsSubmitting(false);\n }\n }, [isOpen]);\n\n useEffect(() => {\n if (successMessage && successMessage !== '') {\n toast.success(successMessage);\n }\n }, [successMessage]);\n \n useEffect(() => {\n if (errorMessage && errorMessage !== '') {\n toast.error(errorMessage);\n }\n }, [errorMessage]);\n \n useEffect(() => {\n if (!isLoading) {\n setIsSaving(false);\n setIsSubmitting(false);\n }\n }, [isLoading]);\n\n useEffect(() => {\n if (useDefaultValue){\n setPrevTextValue(textValue);\n setTextValue(defaultText);\n } else {\n setTextValue(prevTextValue);\n }\n }, [useDefaultValue]);\n\n\n const handleUseDefaultValueChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n setUseDefaultValue(event.target.checked);\n };\n\n\n const canSubmitSave = isLoading || variableState === VariableState.Pending\n\n const statusConfig = {\n [VariableState.Pending]: { color: '#EBC7FF', label: 'Pending' },\n [VariableState.Draft]: { color: '#FFC365', label: 'Draft' },\n [VariableState.NotAccepted]: { color: '#DBF59A', label: 'Not Accepted' },\n [VariableState.Rejected]: { color: '#FFBCB3', label: 'Rejected' },\n [VariableState.Accepted]: { color: '#DBF59A', label: 'Accepted' },\n };\n\n const reqTypeConfig = {\n [RequirementType.Default]: { color: '#F5A623', label: 'Mandatory' },\n [RequirementType.Optional]: { color: '#F5D76E', label: 'Optional' },\n };\n\n const statusStyle = variableState ? statusConfig[variableState] : { color: '#ccc', label: 'Unknown' };;\n const requirementTypeStyle = variableReqType ? reqTypeConfig[variableReqType] : { color: '#ccc', label: 'Unknown' };;\n\n\n const handleSave = () => {\n setIsSaving(true);\n onSave?.(textValue, useDefaultValue);\n };\n\n\n const handleSubmit = () => {\n setIsSubmitting(true);\n onSubmit?.(textValue, useDefaultValue);\n };\n\n\n return (\n <StyledDialog open={isOpen} onClose={onClose} maxWidth=\"md\" fullWidth>\n <IconButton\n onClick={onClose}\n disabled={isLoading}\n sx={{\n position: 'absolute',\n top: 16,\n right: 16,\n zIndex: 1,\n }}\n >\n <CloseRounded sx={{ fontSize: 24 }} />\n </IconButton>\n\n\n <DialogContent sx={{ p: { xs: 3, sm: 4, md: 6 } }}>\n {/* Status Chip */}\n <Box sx={{ mb: 3}}>\n <Chip\n label={requirementTypeStyle.label.toUpperCase()}\n sx={{\n mr: 3,\n border: '3px solid',\n backgroundColor: requirementTypeStyle.color,\n borderColor: requirementTypeStyle.color,\n color: '#4D3019',\n fontWeight: 600,\n fontSize: '0.875rem',\n height: 'auto',\n py: 1,\n borderRadius: 0,\n px: 2,\n }}\n />\n <Chip\n label={statusStyle.label.toUpperCase()}\n sx={{\n mr: 3,\n border: '3px solid',\n backgroundColor: '#FDFCEE',\n borderColor: statusStyle.color,\n color: '#4D3019',\n fontWeight: 600,\n fontSize: '0.875rem',\n height: 'auto',\n py: 1,\n borderRadius: 0,\n px: 2,\n }}\n />\n </Box>\n\n\n {/* Description */}\n <Typography sx={{ mb: 3, lineHeight: 1.6, whiteSpace: 'pre-line' }}>\n {description}\n </Typography>\n\n\n {/* Error Alert with Custom Icon */}\n {variableState === VariableState.Rejected && note && (\n <Alert\n variant=\"error\"\n icon={<InfoOutlineRounded sx={{ fontSize: 20 }} />}\n sx={{\n mb: 2\n }}\n >\n {note}\n </Alert>\n )}\n\n {/* Info Alert with Custom Background and Icon */}\n {variableState !== VariableState.Rejected && note && (\n <Alert\n variant=\"info\"\n icon={<ArticleRounded sx={{ fontSize: 20, color: '#4D3019'}} />}\n sx={{\n mb: 2,\n backgroundColor: '#00000000',\n borderColor: '#acacacff',\n color: '#4D3019',\n }}\n >\n {note}\n </Alert>\n )}\n\n\n {/* Text Field */}\n <TextField\n multiline\n rows={6}\n fullWidth\n value={textValue}\n onChange={(e) => setTextValue(e.target.value)}\n disabled={useDefaultValue || canSubmitSave}\n sx={{\n mb: 2,\n '& .MuiOutlinedInput-root': {\n backgroundColor: useDefaultValue || canSubmitSave ? 'rgba(0, 0, 0, 0.05)' : '#fff',\n borderRadius: 2,\n },\n }}\n />\n\n\n {/* Checkbox */}\n <FormControlLabel\n control={\n <Checkbox\n checked={useDefaultValue}\n disabled={canSubmitSave}\n onChange={handleUseDefaultValueChange}\n sx={{\n color: '#AC46FF',\n '&.Mui-checked': {\n color: '#AC46FF',\n },\n }}\n />\n }\n label=\"Use Default Value\"\n sx={{ mb: 3 }}\n />\n\n\n {/* Footer with Buttons and Navigation */}\n <Box\n sx={{\n display: 'flex',\n flexDirection: { xs: 'column', sm: 'row' },\n alignItems: { xs: 'stretch', sm: 'center' },\n justifyContent: 'space-between',\n gap: 2,\n pt: 3,\n borderTop: '1px solid',\n borderColor: 'divider',\n }}\n >\n {/* Action Buttons */}\n <Box sx={{ display: 'flex', gap: 1.5, flexWrap: 'wrap' }}>\n {useDefaultValue === false? \n (\n <Button\n onClick={handleSave}\n variant=\"outline\"\n size=\"md\"\n disabled={canSubmitSave}\n >\n {isSaving ? <><CircularProgress size={20} /><Typography sx={{paddingLeft: 2}}>Saving...</Typography></> : \"Save\"}\n </Button>\n ) : (<></>)\n }\n <Button\n onClick={handleSubmit}\n variant=\"outline\"\n size=\"md\"\n disabled={canSubmitSave}\n sx={{\n backgroundColor: '#ac46ff52',\n '&:hover': {\n backgroundColor: '#ac46ff80',\n },\n }}\n >\n {isSubmitting ? <><CircularProgress size={20} /><Typography sx={{paddingLeft: 2}}>Submitting...</Typography></> : \"Submit for review\"}\n </Button>\n {variableReqType === RequirementType.Optional || useDefaultValue === false? \n (\n <Button onClick={onDeclineWording} variant=\"outline\" size=\"md\" sx={{\n backgroundColor: '#ff464652',\n '&:hover': {\n backgroundColor: '#ff464680', // Darker purple on hover\n }\n }}\n disabled={canSubmitSave}\n >\n Decline wording\n </Button>\n ) : \n (\n <>\n </>\n )\n }\n </Box>\n \n\n {/* Navigation */}\n <Box\n sx={{\n display: 'flex',\n alignItems: 'center',\n gap: 1.5,\n justifyContent: { xs: 'space-between', sm: 'flex-end' },\n }}\n >\n {currentPage !== 1 && <NavButton onClick={onPrevious} aria-label=\"Previous\" disabled={isLoading}>\n <ArrowBackIosRounded sx={{ fontSize: 20, color: theme.palette.text.primary }}/>\n </NavButton>}\n {currentPage !== totalPages && <NavButton onClick={onNext} aria-label=\"Next\" disabled={isLoading}>\n <ArrowForwardIosRounded sx={{ fontSize: 20, color: theme.palette.text.primary }}/>\n </NavButton>}\n <Typography fontWeight={500} fontSize=\"1.125rem\">\n {currentPage}/{totalPages}\n </Typography>\n </Box>\n </Box>\n </DialogContent>\n </StyledDialog>\n );\n};\n"],"names":["_jsxs","_jsx","_Fragment"],"mappings":"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"}
|
|
@@ -19,6 +19,7 @@ export { Toggle } from './Toggle';
|
|
|
19
19
|
export { SimpleModal } from './SimpleModal';
|
|
20
20
|
export { ActionButton } from './ActionButton';
|
|
21
21
|
export { ExpandingBox } from './ExpandingBox';
|
|
22
|
+
export { ExpandingBoxToggle } from './ExpandingBoxToggle';
|
|
22
23
|
export { Breadcrumb } from './Breadcrumb';
|
|
23
24
|
export { AcknowledgementBox } from './AcknowledgementBox';
|
|
24
25
|
export { RichTextArea } from './RichTextArea';
|
package/dist/esm/index.d.ts
CHANGED
|
@@ -20,6 +20,7 @@ export { TableOfContents } from './components/TableOfContents';
|
|
|
20
20
|
export { Toggle } from './components/Toggle';
|
|
21
21
|
export { SimpleModal } from './components/SimpleModal';
|
|
22
22
|
export { ActionButton } from './components/ActionButton';
|
|
23
|
+
export { ExpandingBoxToggle } from './components/ExpandingBoxToggle';
|
|
23
24
|
export { ExpandingBox } from './components/ExpandingBox';
|
|
24
25
|
export { Breadcrumb } from './components/Breadcrumb';
|
|
25
26
|
export { AcknowledgementBox } from './components/AcknowledgementBox';
|
package/dist/esm/index.js
CHANGED
|
@@ -20,6 +20,7 @@ export { TableOfContents } from './components/TableOfContents.js';
|
|
|
20
20
|
export { Toggle } from './components/Toggle.js';
|
|
21
21
|
export { SimpleModal } from './components/SimpleModal.js';
|
|
22
22
|
export { ActionButton } from './components/ActionButton.js';
|
|
23
|
+
export { ExpandingBoxToggle } from './components/ExpandingBoxToggle.js';
|
|
23
24
|
export { ExpandingBox } from './components/ExpandingBox.js';
|
|
24
25
|
export { Breadcrumb } from './components/Breadcrumb.js';
|
|
25
26
|
export { AcknowledgementBox } from './components/AcknowledgementBox.js';
|
package/dist/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|