ece-docs-components 1.0.104 → 1.0.106
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/_virtual/index8.js +2 -2
- package/dist/cjs/_virtual/index9.js +2 -2
- package/dist/cjs/components/FileUploadButton.js +30 -19
- package/dist/cjs/components/FileUploadButton.js.map +1 -1
- package/dist/cjs/components/Modal.js +66 -29
- package/dist/cjs/components/Modal.js.map +1 -1
- package/dist/cjs/components/NoteBox.js +83 -74
- package/dist/cjs/components/NoteBox.js.map +1 -1
- package/dist/cjs/helpers/variableProcessing.js +2 -0
- package/dist/cjs/helpers/variableProcessing.js.map +1 -1
- package/dist/cjs/node_modules/domhandler/lib/index.js +1 -1
- package/dist/cjs/node_modules/domutils/lib/index.js +1 -1
- package/dist/cjs/node_modules/html-dom-parser/lib/index.js +1 -1
- package/dist/cjs/node_modules/style-to-object/cjs/index.js +1 -1
- package/dist/cjs/types/variable.js +11 -5
- package/dist/cjs/types/variable.js.map +1 -1
- package/dist/esm/_virtual/index8.js +2 -2
- package/dist/esm/_virtual/index9.js +2 -2
- package/dist/esm/components/FileUploadButton.d.ts +7 -3
- package/dist/esm/components/FileUploadButton.js +31 -20
- package/dist/esm/components/FileUploadButton.js.map +1 -1
- package/dist/esm/components/Modal.d.ts +5 -11
- package/dist/esm/components/Modal.js +67 -30
- package/dist/esm/components/Modal.js.map +1 -1
- package/dist/esm/components/NoteBox.d.ts +1 -1
- package/dist/esm/components/NoteBox.js +83 -74
- package/dist/esm/components/NoteBox.js.map +1 -1
- package/dist/esm/helpers/variableProcessing.js +2 -0
- package/dist/esm/helpers/variableProcessing.js.map +1 -1
- package/dist/esm/node_modules/domutils/lib/index.js +1 -1
- package/dist/esm/node_modules/entities/lib/generated/decode-data-html.js +1 -1
- package/dist/esm/node_modules/entities/lib/generated/decode-data-xml.js +1 -1
- package/dist/esm/node_modules/htmlparser2/node_modules/entities/dist/commonjs/generated/decode-data-html.js +1 -1
- package/dist/esm/node_modules/htmlparser2/node_modules/entities/dist/commonjs/generated/decode-data-xml.js +1 -1
- package/dist/esm/node_modules/style-to-object/cjs/index.js +1 -1
- package/dist/esm/types/variable.d.ts +39 -4
- package/dist/esm/types/variable.js +12 -6
- package/dist/esm/types/variable.js.map +1 -1
- package/package.json +3 -2
|
@@ -11,91 +11,97 @@ var variableProcessing = require('../helpers/variableProcessing.js');
|
|
|
11
11
|
// Status based color configs (from Modal)
|
|
12
12
|
const statusConfig = {
|
|
13
13
|
Accepted: {
|
|
14
|
-
highlight:
|
|
15
|
-
highlightSelected:
|
|
16
|
-
label:
|
|
14
|
+
highlight: "#EDF9CD",
|
|
15
|
+
highlightSelected: "#DBF59A",
|
|
16
|
+
label: "Accepted",
|
|
17
17
|
},
|
|
18
18
|
Pending: {
|
|
19
|
-
highlight:
|
|
20
|
-
highlightSelected:
|
|
21
|
-
label:
|
|
22
|
-
alertVariant:
|
|
19
|
+
highlight: "#F5E2FF",
|
|
20
|
+
highlightSelected: "#EBC7FF",
|
|
21
|
+
label: "Pending",
|
|
22
|
+
alertVariant: "info",
|
|
23
23
|
},
|
|
24
|
-
|
|
25
|
-
highlight:
|
|
26
|
-
highlightSelected:
|
|
27
|
-
label:
|
|
28
|
-
alertVariant:
|
|
24
|
+
"Action Required": {
|
|
25
|
+
highlight: "#FBEEEE",
|
|
26
|
+
highlightSelected: "#FFBCB3",
|
|
27
|
+
label: "ActionRequired",
|
|
28
|
+
alertVariant: "error",
|
|
29
29
|
},
|
|
30
|
-
|
|
31
|
-
highlight:
|
|
32
|
-
highlightSelected:
|
|
33
|
-
label:
|
|
30
|
+
Declined: {
|
|
31
|
+
highlight: "#FFF6D1",
|
|
32
|
+
highlightSelected: "#FDE58E",
|
|
33
|
+
label: "Declined",
|
|
34
34
|
},
|
|
35
|
-
|
|
36
|
-
highlight:
|
|
37
|
-
highlightSelected:
|
|
38
|
-
label:
|
|
35
|
+
"Not Started": {
|
|
36
|
+
highlight: "#f8c97cff",
|
|
37
|
+
highlightSelected: "#F5A623",
|
|
38
|
+
label: "Not Started",
|
|
39
|
+
},
|
|
40
|
+
Rejected: {
|
|
41
|
+
highlight: "#FBEEEE",
|
|
42
|
+
highlightSelected: "#FFBCB3",
|
|
43
|
+
label: "ActionRequired",
|
|
44
|
+
alertVariant: "error",
|
|
39
45
|
},
|
|
40
46
|
Draft: {
|
|
41
|
-
highlight:
|
|
42
|
-
highlightSelected:
|
|
43
|
-
label:
|
|
47
|
+
highlight: "#FFEACD",
|
|
48
|
+
highlightSelected: "#FFC365",
|
|
49
|
+
label: "Draft",
|
|
44
50
|
},
|
|
45
51
|
};
|
|
46
52
|
const NoteContainer = material.styled(material.Box)({
|
|
47
|
-
position:
|
|
48
|
-
display:
|
|
49
|
-
maxWidth:
|
|
53
|
+
position: "relative",
|
|
54
|
+
display: "inline",
|
|
55
|
+
maxWidth: "100%",
|
|
50
56
|
});
|
|
51
57
|
// Uses highlight colors driven by status exclusively
|
|
52
58
|
const HighlightWrapper = material.styled(material.Box, {
|
|
53
|
-
shouldForwardProp: (prop) => prop !==
|
|
54
|
-
prop !==
|
|
55
|
-
prop !==
|
|
59
|
+
shouldForwardProp: (prop) => prop !== "isHovered" &&
|
|
60
|
+
prop !== "highlightColor" &&
|
|
61
|
+
prop !== "highlightSelectedColor",
|
|
56
62
|
})(({ isHovered, highlightColor, highlightSelectedColor }) => ({
|
|
57
|
-
position:
|
|
58
|
-
display:
|
|
59
|
-
maxWidth:
|
|
60
|
-
|
|
63
|
+
position: "relative",
|
|
64
|
+
display: "inline",
|
|
65
|
+
maxWidth: "100%",
|
|
66
|
+
"&:hover .edit-button": {
|
|
61
67
|
opacity: 1,
|
|
62
68
|
},
|
|
63
|
-
|
|
69
|
+
"& .highlight-span": {
|
|
64
70
|
background: isHovered ? highlightSelectedColor : highlightColor,
|
|
65
|
-
padding:
|
|
66
|
-
borderBottom:
|
|
67
|
-
boxDecorationBreak:
|
|
68
|
-
WebkitBoxDecorationBreak:
|
|
69
|
-
transition:
|
|
70
|
-
cursor:
|
|
71
|
-
fontSize:
|
|
72
|
-
wordWrap:
|
|
73
|
-
overflowWrap:
|
|
74
|
-
display:
|
|
75
|
-
color:
|
|
71
|
+
padding: "2px 4px",
|
|
72
|
+
borderBottom: "2px solid rgba(77, 48, 25, 0.3)",
|
|
73
|
+
boxDecorationBreak: "clone",
|
|
74
|
+
WebkitBoxDecorationBreak: "clone",
|
|
75
|
+
transition: "background 0.2s ease",
|
|
76
|
+
cursor: "pointer",
|
|
77
|
+
fontSize: "1rem",
|
|
78
|
+
wordWrap: "break-word",
|
|
79
|
+
overflowWrap: "break-word",
|
|
80
|
+
display: "inline",
|
|
81
|
+
color: "#4D3019",
|
|
76
82
|
},
|
|
77
83
|
}));
|
|
78
84
|
const EditButton = material.styled(material.IconButton)(({ theme }) => ({
|
|
79
85
|
top: 0,
|
|
80
86
|
right: 0,
|
|
81
|
-
transform:
|
|
82
|
-
position:
|
|
87
|
+
transform: "translate(-50%, -50%)",
|
|
88
|
+
position: "relative",
|
|
83
89
|
width: 20,
|
|
84
90
|
height: 20,
|
|
85
91
|
marginRight: -20,
|
|
86
|
-
borderRadius: (typeof theme.shape.borderRadius ===
|
|
92
|
+
borderRadius: (typeof theme.shape.borderRadius === "string"
|
|
87
93
|
? parseInt(theme.shape.borderRadius, 10)
|
|
88
94
|
: theme.shape.borderRadius || 4) * 2,
|
|
89
|
-
backgroundColor:
|
|
95
|
+
backgroundColor: "#4D3019",
|
|
90
96
|
opacity: 0,
|
|
91
|
-
transition:
|
|
92
|
-
boxShadow:
|
|
93
|
-
|
|
94
|
-
backgroundColor:
|
|
95
|
-
transform:
|
|
97
|
+
transition: "all 0.2s ease",
|
|
98
|
+
boxShadow: "0 1px 3px rgba(0,0,0,0.12)",
|
|
99
|
+
"&:hover": {
|
|
100
|
+
backgroundColor: "#4D3019",
|
|
101
|
+
transform: "translate(-50%, -50%) scale(1.1)",
|
|
96
102
|
},
|
|
97
103
|
}));
|
|
98
|
-
const NoteBox = ({ status, requirementType, label, note, children, className =
|
|
104
|
+
const NoteBox = ({ status, requirementType, label, note, children, className = "", onEditClick, }) => {
|
|
99
105
|
const [isHovered, setIsHovered] = React.useState(false);
|
|
100
106
|
// Map current status
|
|
101
107
|
const variableState = variableProcessing.mapStatusToVariableState(status);
|
|
@@ -103,39 +109,42 @@ const NoteBox = ({ status, requirementType, label, note, children, className = '
|
|
|
103
109
|
const style = variableState
|
|
104
110
|
? statusConfig[variableState]
|
|
105
111
|
: {
|
|
106
|
-
highlight:
|
|
107
|
-
highlightSelected:
|
|
112
|
+
highlight: "#EEE",
|
|
113
|
+
highlightSelected: "#DDD"};
|
|
108
114
|
const reqTypeConfig = {
|
|
109
115
|
Default: {
|
|
110
|
-
color:
|
|
111
|
-
highlight:
|
|
112
|
-
highlightSelected:
|
|
113
|
-
label:
|
|
116
|
+
color: "#F5A623",
|
|
117
|
+
highlight: "#f3bf6bff",
|
|
118
|
+
highlightSelected: "#F5A623",
|
|
119
|
+
label: "Mandatory",
|
|
114
120
|
},
|
|
115
121
|
Optional: {
|
|
116
|
-
color:
|
|
117
|
-
highlight:
|
|
118
|
-
highlightSelected:
|
|
119
|
-
label:
|
|
122
|
+
color: "#F5D76E",
|
|
123
|
+
highlight: "#f3e2a5ff",
|
|
124
|
+
highlightSelected: "#F5D76E",
|
|
125
|
+
label: "Optional",
|
|
120
126
|
},
|
|
121
127
|
};
|
|
122
|
-
const requirementTypeStyle = requirementTypeState
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
128
|
+
const requirementTypeStyle = requirementTypeState
|
|
129
|
+
? reqTypeConfig[requirementTypeState]
|
|
130
|
+
: {
|
|
131
|
+
highlight: "#EEE",
|
|
132
|
+
highlightSelected: "#DDD"};
|
|
133
|
+
return (jsxRuntime.jsxs(NoteContainer, { className: className, children: [variableState && style.alertVariant && note && (jsxRuntime.jsx(Alert.Alert, { variant: style.alertVariant, sx: { mb: 1 }, children: note })), jsxRuntime.jsxs(HighlightWrapper, { isHovered: isHovered, highlightColor: variableState === variable.VariableState.NotStarted
|
|
134
|
+
? requirementTypeStyle.highlight
|
|
135
|
+
: style.highlight, highlightSelectedColor: variableState === variable.VariableState.NotStarted
|
|
136
|
+
? requirementTypeStyle.highlightSelected
|
|
137
|
+
: style.highlightSelected, onMouseEnter: () => setIsHovered(true), onMouseLeave: () => setIsHovered(false), onClick: (e) => {
|
|
127
138
|
e.stopPropagation();
|
|
128
139
|
if (onEditClick) {
|
|
129
140
|
onEditClick();
|
|
130
141
|
}
|
|
131
|
-
}, children: [jsxRuntime.jsx("span", { className: "highlight-span", style: { display:
|
|
142
|
+
}, children: [jsxRuntime.jsx("span", { className: "highlight-span", style: { display: "inline" }, children: children }), jsxRuntime.jsx(EditButton, { className: "edit-button", onClick: (e) => {
|
|
132
143
|
e.stopPropagation();
|
|
133
144
|
if (onEditClick) {
|
|
134
145
|
onEditClick();
|
|
135
146
|
}
|
|
136
|
-
}, size: "small", children: variableState === variable.VariableState.Accepted
|
|
137
|
-
? jsxRuntime.jsx(iconsMaterial.CheckRounded, { sx: { fontSize: 14, color: "#FFFFFF", strokeWidth: 2 } })
|
|
138
|
-
: jsxRuntime.jsx(iconsMaterial.EditRounded, { sx: { fontSize: 14, color: "#FFFFFF", strokeWidth: 2 } }) })] })] }));
|
|
147
|
+
}, size: "small", children: variableState === variable.VariableState.Accepted ? (jsxRuntime.jsx(iconsMaterial.CheckRounded, { sx: { fontSize: 14, color: "#FFFFFF", strokeWidth: 2 } })) : (jsxRuntime.jsx(iconsMaterial.EditRounded, { sx: { fontSize: 14, color: "#FFFFFF", strokeWidth: 2 } })) })] })] }));
|
|
139
148
|
};
|
|
140
149
|
|
|
141
150
|
exports.NoteBox = NoteBox;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NoteBox.js","sources":["../../../../src/components/NoteBox.tsx"],"sourcesContent":["import React, { useState } from 'react';\r\nimport { Box, Typography, IconButton, styled, Chip } from '@mui/material';\r\nimport { CheckRounded, EditRounded } from '@mui/icons-material';\r\nimport { Alert } from './Alert';\r\nimport { RequirementType, VariableState } from '../types/variable';\r\nimport { mapRequirementTypeToState, mapStatusToVariableState } from '../helpers/variableProcessing';\r\n\r\ninterface NoteBoxProps {\r\n status?: string; // Use only status now\r\n requirementType?: string;\r\n label?: string;\r\n note?: string;\r\n children: React.ReactNode;\r\n className?: string;\r\n onEditClick?: () => void;\r\n}\r\n\r\n// Status based color configs (from Modal)\r\nconst statusConfig: {\r\n [key in VariableState]: {\r\n highlight: string;\r\n highlightSelected: string;\r\n label: string;\r\n alertVariant?: \"error\" | \"info\";\r\n }\r\n} = {\r\n Accepted: {\r\n highlight: '#EDF9CD',\r\n highlightSelected: '#DBF59A',\r\n label: 'Accepted',\r\n },\r\n Pending: {\r\n highlight: '#F5E2FF',\r\n highlightSelected: '#EBC7FF',\r\n label: 'Pending',\r\n alertVariant: 'info',\r\n },\r\n 'Action Required': {\r\n highlight: '#FBEEEE',\r\n highlightSelected: '#FFBCB3',\r\n label: 'ActionRequired',\r\n alertVariant: 'error',\r\n },\r\n 'Declined': {\r\n highlight: '#FFF6D1',\r\n highlightSelected: '#FDE58E',\r\n label: 'Declined',\r\n },\r\n 'Not Started': {\r\n highlight: '#f8c97cff',\r\n highlightSelected: '#F5A623',\r\n label: 'Not Started',\r\n },\r\n Draft: {\r\n highlight: '#FFEACD',\r\n highlightSelected: '#FFC365',\r\n label: 'Draft',\r\n },\r\n};\r\n\r\nconst NoteContainer = styled(Box)({\r\n position: 'relative',\r\n display: 'inline',\r\n maxWidth: '100%',\r\n});\r\n\r\n// Uses highlight colors driven by status exclusively\r\nconst HighlightWrapper = styled(Box, {\r\n shouldForwardProp: (prop) =>\r\n prop !== 'isHovered' &&\r\n prop !== 'highlightColor' &&\r\n prop !== 'highlightSelectedColor'\r\n})<{\r\n isHovered: boolean;\r\n highlightColor: string;\r\n highlightSelectedColor: string;\r\n}>(({ isHovered, highlightColor, highlightSelectedColor }) => ({\r\n position: 'relative',\r\n display: 'inline',\r\n maxWidth: '100%',\r\n '&:hover .edit-button': {\r\n opacity: 1,\r\n },\r\n '& .highlight-span': {\r\n background: isHovered ? highlightSelectedColor : highlightColor,\r\n padding: '2px 4px',\r\n borderBottom: '2px solid rgba(77, 48, 25, 0.3)',\r\n boxDecorationBreak: 'clone',\r\n WebkitBoxDecorationBreak: 'clone',\r\n transition: 'background 0.2s ease',\r\n cursor: 'pointer',\r\n fontSize: '1rem',\r\n wordWrap: 'break-word',\r\n overflowWrap: 'break-word',\r\n display: 'inline',\r\n color: '#4D3019',\r\n },\r\n}));\r\n\r\nconst EditButton = styled(IconButton)(({ theme }) => ({\r\n top: 0,\r\n right: 0,\r\n transform: 'translate(-50%, -50%)',\r\n position: 'relative',\r\n width: 20,\r\n height: 20,\r\n marginRight: -20,\r\n borderRadius: (typeof theme.shape.borderRadius === 'string'\r\n ? parseInt(theme.shape.borderRadius, 10)\r\n : theme.shape.borderRadius || 4) * 2,\r\n backgroundColor: '#4D3019',\r\n opacity: 0,\r\n transition: 'all 0.2s ease',\r\n boxShadow: '0 1px 3px rgba(0,0,0,0.12)',\r\n '&:hover': {\r\n backgroundColor: '#4D3019',\r\n transform: 'translate(-50%, -50%) scale(1.1)',\r\n },\r\n}));\r\n\r\nexport const NoteBox: React.FC<NoteBoxProps> = ({\r\n status,\r\n requirementType,\r\n label,\r\n note,\r\n children,\r\n className = '',\r\n onEditClick,\r\n}) => {\r\n const [isHovered, setIsHovered] = useState(false);\r\n\r\n // Map current status\r\n const variableState = mapStatusToVariableState(status!!);\r\n const requirementTypeState = mapRequirementTypeToState(requirementType!!)\r\n\r\n const style = variableState\r\n ? statusConfig[variableState]\r\n : {\r\n highlight: '#EEE',\r\n highlightSelected: '#DDD',\r\n label: label || '',\r\n };\r\n\r\n\r\n const reqTypeConfig = {\r\n Default: {\r\n color: '#F5A623',\r\n highlight: '#f3bf6bff',\r\n highlightSelected: '#F5A623',\r\n label: 'Mandatory',\r\n },\r\n Optional: {\r\n color: '#F5D76E',\r\n highlight: '#f3e2a5ff',\r\n highlightSelected: '#F5D76E',\r\n label: 'Optional',\r\n },\r\n };\r\n\r\n\r\n const requirementTypeStyle = requirementTypeState ? reqTypeConfig[requirementTypeState] :\r\n {\r\n highlight: '#EEE',\r\n highlightSelected: '#DDD',\r\n label: label || '',\r\n };;\r\n\r\n \r\n return (\r\n <NoteContainer className={className}>\r\n {/* Alert for note when status matches and note available */}\r\n {variableState && style.alertVariant && note && (\r\n <Alert variant={style.alertVariant} sx={{ mb: 1 }}>\r\n {note}\r\n </Alert>\r\n )}\r\n\r\n {/* Highlighted content box */}\r\n <HighlightWrapper\r\n isHovered={isHovered}\r\n highlightColor={variableState === VariableState.NotStarted? requirementTypeStyle.highlight : style.highlight}\r\n highlightSelectedColor={variableState === VariableState.NotStarted? requirementTypeStyle.highlightSelected : style.highlightSelected}\r\n onMouseEnter={() => setIsHovered(true)}\r\n onMouseLeave={() => setIsHovered(false)}\r\n onClick={(e) => {\r\n e.stopPropagation();\r\n if (onEditClick) {\r\n onEditClick();\r\n }\r\n }}\r\n >\r\n <span className=\"highlight-span\" style={{display:'inline'}}>{children}</span>\r\n <EditButton\r\n className=\"edit-button\"\r\n onClick={(e) => {\r\n e.stopPropagation();\r\n if (onEditClick) {\r\n onEditClick();\r\n }\r\n }}\r\n size=\"small\"\r\n >\r\n {variableState === VariableState.Accepted\r\n ? <CheckRounded sx={{ fontSize: 14, color: \"#FFFFFF\", strokeWidth: 2 }} />\r\n : <EditRounded sx={{ fontSize: 14, color: \"#FFFFFF\", strokeWidth: 2 }} /> }\r\n </EditButton>\r\n </HighlightWrapper>\r\n </NoteContainer>\r\n );\r\n};\r\n"],"names":["styled","Box","IconButton","useState","mapStatusToVariableState","mapRequirementTypeToState","_jsxs","_jsx","Alert","VariableState","CheckRounded","EditRounded"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"NoteBox.js","sources":["../../../../src/components/NoteBox.tsx"],"sourcesContent":["import React, { useState } from \"react\";\r\nimport { Box, Typography, IconButton, styled, Chip } from \"@mui/material\";\r\nimport { CheckRounded, EditRounded } from \"@mui/icons-material\";\r\nimport { Alert } from \"./Alert\";\r\nimport { RequirementType, VariableState } from \"../types/variable\";\r\nimport {\r\n mapRequirementTypeToState,\r\n mapStatusToVariableState,\r\n} from \"../helpers/variableProcessing\";\r\n\r\ninterface NoteBoxProps {\r\n status?: string; // Use only status now\r\n requirementType?: string;\r\n label?: string;\r\n note?: string;\r\n children: React.ReactNode;\r\n className?: string;\r\n onEditClick?: () => void;\r\n}\r\n\r\n// Status based color configs (from Modal)\r\nconst statusConfig: {\r\n [key in VariableState]: {\r\n highlight: string;\r\n highlightSelected: string;\r\n label: string;\r\n alertVariant?: \"error\" | \"info\";\r\n };\r\n} = {\r\n Accepted: {\r\n highlight: \"#EDF9CD\",\r\n highlightSelected: \"#DBF59A\",\r\n label: \"Accepted\",\r\n },\r\n Pending: {\r\n highlight: \"#F5E2FF\",\r\n highlightSelected: \"#EBC7FF\",\r\n label: \"Pending\",\r\n alertVariant: \"info\",\r\n },\r\n \"Action Required\": {\r\n highlight: \"#FBEEEE\",\r\n highlightSelected: \"#FFBCB3\",\r\n label: \"ActionRequired\",\r\n alertVariant: \"error\",\r\n },\r\n Declined: {\r\n highlight: \"#FFF6D1\",\r\n highlightSelected: \"#FDE58E\",\r\n label: \"Declined\",\r\n },\r\n \"Not Started\": {\r\n highlight: \"#f8c97cff\",\r\n highlightSelected: \"#F5A623\",\r\n label: \"Not Started\",\r\n },\r\n Rejected: {\r\n highlight: \"#FBEEEE\",\r\n highlightSelected: \"#FFBCB3\",\r\n label: \"ActionRequired\",\r\n alertVariant: \"error\",\r\n },\r\n Draft: {\r\n highlight: \"#FFEACD\",\r\n highlightSelected: \"#FFC365\",\r\n label: \"Draft\",\r\n },\r\n};\r\n\r\nconst NoteContainer = styled(Box)({\r\n position: \"relative\",\r\n display: \"inline\",\r\n maxWidth: \"100%\",\r\n});\r\n\r\n// Uses highlight colors driven by status exclusively\r\nconst HighlightWrapper = styled(Box, {\r\n shouldForwardProp: (prop) =>\r\n prop !== \"isHovered\" &&\r\n prop !== \"highlightColor\" &&\r\n prop !== \"highlightSelectedColor\",\r\n})<{\r\n isHovered: boolean;\r\n highlightColor: string;\r\n highlightSelectedColor: string;\r\n}>(({ isHovered, highlightColor, highlightSelectedColor }) => ({\r\n position: \"relative\",\r\n display: \"inline\",\r\n maxWidth: \"100%\",\r\n \"&:hover .edit-button\": {\r\n opacity: 1,\r\n },\r\n \"& .highlight-span\": {\r\n background: isHovered ? highlightSelectedColor : highlightColor,\r\n padding: \"2px 4px\",\r\n borderBottom: \"2px solid rgba(77, 48, 25, 0.3)\",\r\n boxDecorationBreak: \"clone\",\r\n WebkitBoxDecorationBreak: \"clone\",\r\n transition: \"background 0.2s ease\",\r\n cursor: \"pointer\",\r\n fontSize: \"1rem\",\r\n wordWrap: \"break-word\",\r\n overflowWrap: \"break-word\",\r\n display: \"inline\",\r\n color: \"#4D3019\",\r\n },\r\n}));\r\n\r\nconst EditButton = styled(IconButton)(({ theme }) => ({\r\n top: 0,\r\n right: 0,\r\n transform: \"translate(-50%, -50%)\",\r\n position: \"relative\",\r\n width: 20,\r\n height: 20,\r\n marginRight: -20,\r\n borderRadius:\r\n (typeof theme.shape.borderRadius === \"string\"\r\n ? parseInt(theme.shape.borderRadius, 10)\r\n : theme.shape.borderRadius || 4) * 2,\r\n backgroundColor: \"#4D3019\",\r\n opacity: 0,\r\n transition: \"all 0.2s ease\",\r\n boxShadow: \"0 1px 3px rgba(0,0,0,0.12)\",\r\n \"&:hover\": {\r\n backgroundColor: \"#4D3019\",\r\n transform: \"translate(-50%, -50%) scale(1.1)\",\r\n },\r\n}));\r\n\r\nexport const NoteBox: React.FC<NoteBoxProps> = ({\r\n status,\r\n requirementType,\r\n label,\r\n note,\r\n children,\r\n className = \"\",\r\n onEditClick,\r\n}) => {\r\n const [isHovered, setIsHovered] = useState(false);\r\n\r\n // Map current status\r\n const variableState = mapStatusToVariableState(status!!);\r\n const requirementTypeState = mapRequirementTypeToState(requirementType!!);\r\n\r\n const style = variableState\r\n ? statusConfig[variableState]\r\n : {\r\n highlight: \"#EEE\",\r\n highlightSelected: \"#DDD\",\r\n label: label || \"\",\r\n };\r\n\r\n const reqTypeConfig = {\r\n Default: {\r\n color: \"#F5A623\",\r\n highlight: \"#f3bf6bff\",\r\n highlightSelected: \"#F5A623\",\r\n label: \"Mandatory\",\r\n },\r\n Optional: {\r\n color: \"#F5D76E\",\r\n highlight: \"#f3e2a5ff\",\r\n highlightSelected: \"#F5D76E\",\r\n label: \"Optional\",\r\n },\r\n };\r\n\r\n const requirementTypeStyle = requirementTypeState\r\n ? reqTypeConfig[requirementTypeState]\r\n : {\r\n highlight: \"#EEE\",\r\n highlightSelected: \"#DDD\",\r\n label: label || \"\",\r\n };\r\n\r\n return (\r\n <NoteContainer className={className}>\r\n {/* Alert for note when status matches and note available */}\r\n {variableState && style.alertVariant && note && (\r\n <Alert variant={style.alertVariant} sx={{ mb: 1 }}>\r\n {note}\r\n </Alert>\r\n )}\r\n\r\n {/* Highlighted content box */}\r\n <HighlightWrapper\r\n isHovered={isHovered}\r\n highlightColor={\r\n variableState === VariableState.NotStarted\r\n ? requirementTypeStyle.highlight\r\n : style.highlight\r\n }\r\n highlightSelectedColor={\r\n variableState === VariableState.NotStarted\r\n ? requirementTypeStyle.highlightSelected\r\n : style.highlightSelected\r\n }\r\n onMouseEnter={() => setIsHovered(true)}\r\n onMouseLeave={() => setIsHovered(false)}\r\n onClick={(e) => {\r\n e.stopPropagation();\r\n if (onEditClick) {\r\n onEditClick();\r\n }\r\n }}\r\n >\r\n <span className=\"highlight-span\" style={{ display: \"inline\" }}>\r\n {children}\r\n </span>\r\n <EditButton\r\n className=\"edit-button\"\r\n onClick={(e) => {\r\n e.stopPropagation();\r\n if (onEditClick) {\r\n onEditClick();\r\n }\r\n }}\r\n size=\"small\"\r\n >\r\n {variableState === VariableState.Accepted ? (\r\n <CheckRounded\r\n sx={{ fontSize: 14, color: \"#FFFFFF\", strokeWidth: 2 }}\r\n />\r\n ) : (\r\n <EditRounded\r\n sx={{ fontSize: 14, color: \"#FFFFFF\", strokeWidth: 2 }}\r\n />\r\n )}\r\n </EditButton>\r\n </HighlightWrapper>\r\n </NoteContainer>\r\n );\r\n};\r\n"],"names":["styled","Box","IconButton","useState","mapStatusToVariableState","mapRequirementTypeToState","_jsxs","_jsx","Alert","VariableState","CheckRounded","EditRounded"],"mappings":"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"}
|
|
@@ -10,6 +10,8 @@ function mapStatusToVariableState(status) {
|
|
|
10
10
|
return variable.VariableState.Pending;
|
|
11
11
|
case "Action Required":
|
|
12
12
|
return variable.VariableState.ActionRequired;
|
|
13
|
+
case "Rejected":
|
|
14
|
+
return variable.VariableState.Rejected;
|
|
13
15
|
case "Declined":
|
|
14
16
|
return variable.VariableState.Declined;
|
|
15
17
|
case "Draft":
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"variableProcessing.js","sources":["../../../../src/helpers/variableProcessing.ts"],"sourcesContent":["import { VariableState, RequirementType } from \"../types/variable\";\r\n\r\nfunction mapStatusToVariableState(status: string): VariableState | undefined {\r\n switch (status) {\r\n case \"Accepted\":\r\n return VariableState.Accepted;\r\n case \"Pending\":\r\n return VariableState.Pending;\r\n case \"Action Required\":\r\n return VariableState.ActionRequired;\r\n case \"Declined\":\r\n return VariableState.Declined;\r\n case \"Draft\":\r\n return VariableState.Draft;\r\n case \"Not Started\":\r\n return VariableState.NotStarted;\r\n default:\r\n return undefined;\r\n }\r\n}\r\n\r\
|
|
1
|
+
{"version":3,"file":"variableProcessing.js","sources":["../../../../src/helpers/variableProcessing.ts"],"sourcesContent":["import { VariableState, RequirementType } from \"../types/variable\";\r\n\r\nfunction mapStatusToVariableState(status: string): VariableState | undefined {\r\n switch (status) {\r\n case \"Accepted\":\r\n return VariableState.Accepted;\r\n case \"Pending\":\r\n return VariableState.Pending;\r\n case \"Action Required\":\r\n return VariableState.ActionRequired;\r\n case \"Rejected\":\r\n return VariableState.Rejected;\r\n case \"Declined\":\r\n return VariableState.Declined;\r\n case \"Draft\":\r\n return VariableState.Draft;\r\n case \"Not Started\":\r\n return VariableState.NotStarted;\r\n default:\r\n return undefined;\r\n }\r\n}\r\n\r\nfunction mapRequirementTypeToState(\r\n reqType: string,\r\n): RequirementType | undefined {\r\n switch (reqType) {\r\n case \"Default\":\r\n return RequirementType.Default;\r\n case \"Optional\":\r\n return RequirementType.Optional;\r\n default:\r\n return undefined;\r\n }\r\n}\r\n\r\nexport { mapStatusToVariableState, mapRequirementTypeToState };\r\n"],"names":["VariableState","RequirementType"],"mappings":";;;;AAEA,SAAS,wBAAwB,CAAC,MAAc,EAAA;IAC9C,QAAQ,MAAM;AACZ,QAAA,KAAK,UAAU;YACb,OAAOA,sBAAa,CAAC,QAAQ;AAC/B,QAAA,KAAK,SAAS;YACZ,OAAOA,sBAAa,CAAC,OAAO;AAC9B,QAAA,KAAK,iBAAiB;YACpB,OAAOA,sBAAa,CAAC,cAAc;AACrC,QAAA,KAAK,UAAU;YACb,OAAOA,sBAAa,CAAC,QAAQ;AAC/B,QAAA,KAAK,UAAU;YACb,OAAOA,sBAAa,CAAC,QAAQ;AAC/B,QAAA,KAAK,OAAO;YACV,OAAOA,sBAAa,CAAC,KAAK;AAC5B,QAAA,KAAK,aAAa;YAChB,OAAOA,sBAAa,CAAC,UAAU;AACjC,QAAA;AACE,YAAA,OAAO,SAAS;;AAEtB;AAEA,SAAS,yBAAyB,CAChC,OAAe,EAAA;IAEf,QAAQ,OAAO;AACb,QAAA,KAAK,SAAS;YACZ,OAAOC,wBAAe,CAAC,OAAO;AAChC,QAAA,KAAK,UAAU;YACb,OAAOA,wBAAe,CAAC,QAAQ;AACjC,QAAA;AACE,YAAA,OAAO,SAAS;;AAEtB;;;;;"}
|
|
@@ -1,17 +1,23 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
+
exports.VariableScope = void 0;
|
|
4
|
+
(function (VariableScope) {
|
|
5
|
+
VariableScope["Network"] = "Network";
|
|
6
|
+
VariableScope["Organisation"] = "Organisation";
|
|
7
|
+
})(exports.VariableScope || (exports.VariableScope = {}));
|
|
8
|
+
exports.RequirementType = void 0;
|
|
9
|
+
(function (RequirementType) {
|
|
10
|
+
RequirementType["Default"] = "Default";
|
|
11
|
+
RequirementType["Optional"] = "Optional";
|
|
12
|
+
})(exports.RequirementType || (exports.RequirementType = {}));
|
|
3
13
|
exports.VariableState = void 0;
|
|
4
14
|
(function (VariableState) {
|
|
5
15
|
VariableState["Accepted"] = "Accepted";
|
|
6
16
|
VariableState["Pending"] = "Pending";
|
|
7
17
|
VariableState["ActionRequired"] = "Action Required";
|
|
18
|
+
VariableState["Rejected"] = "Rejected";
|
|
8
19
|
VariableState["Declined"] = "Declined";
|
|
9
20
|
VariableState["Draft"] = "Draft";
|
|
10
21
|
VariableState["NotStarted"] = "Not Started";
|
|
11
22
|
})(exports.VariableState || (exports.VariableState = {}));
|
|
12
|
-
exports.RequirementType = void 0;
|
|
13
|
-
(function (RequirementType) {
|
|
14
|
-
RequirementType["Default"] = "Default";
|
|
15
|
-
RequirementType["Optional"] = "Optional";
|
|
16
|
-
})(exports.RequirementType || (exports.RequirementType = {}));
|
|
17
23
|
//# sourceMappingURL=variable.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"variable.js","sources":["../../../../src/types/variable.ts"],"sourcesContent":["
|
|
1
|
+
{"version":3,"file":"variable.js","sources":["../../../../src/types/variable.ts"],"sourcesContent":["import { ObjectId } from \"mongodb\";\r\n\r\nexport type Variable = {\r\n _id: ObjectId;\r\n name: string;\r\n value: string;\r\n defaultValue?: string;\r\n pluralValue: string;\r\n validFrom: Date;\r\n feedback?: string;\r\n history?: VariableHistoryEntry[];\r\n customerHelpText: string;\r\n writerHelpText: string;\r\n state: VariableState;\r\n hidden: boolean;\r\n canBeBlank: boolean;\r\n vertical: string;\r\n requirementType: RequirementType;\r\n useDefault?: boolean;\r\n depth?: number;\r\n scope?: VariableScope;\r\n isChildEditable?: boolean;\r\n};\r\n\r\nexport enum VariableScope {\r\n Network = \"Network\",\r\n Organisation = \"Organisation\",\r\n}\r\n\r\nexport enum RequirementType {\r\n Default = \"Default\",\r\n Optional = \"Optional\",\r\n}\r\n\r\nexport enum VariableState {\r\n Accepted = \"Accepted\",\r\n Pending = \"Pending\",\r\n ActionRequired = \"Action Required\",\r\n Rejected = \"Rejected\",\r\n Declined = \"Declined\",\r\n Draft = \"Draft\",\r\n NotStarted = \"Not Started\",\r\n}\r\n\r\nexport type VariableHistoryEntry = {\r\n value?: string;\r\n useDefault?: boolean;\r\n state: VariableState;\r\n validFrom: Date;\r\n validTo: Date;\r\n};\r\n\r\nexport default Variable;\r\n"],"names":["VariableScope","RequirementType","VariableState"],"mappings":";;AAwBYA;AAAZ,CAAA,UAAY,aAAa,EAAA;AACvB,IAAA,aAAA,CAAA,SAAA,CAAA,GAAA,SAAmB;AACnB,IAAA,aAAA,CAAA,cAAA,CAAA,GAAA,cAA6B;AAC/B,CAAC,EAHWA,qBAAa,KAAbA,qBAAa,GAAA,EAAA,CAAA,CAAA;AAKbC;AAAZ,CAAA,UAAY,eAAe,EAAA;AACzB,IAAA,eAAA,CAAA,SAAA,CAAA,GAAA,SAAmB;AACnB,IAAA,eAAA,CAAA,UAAA,CAAA,GAAA,UAAqB;AACvB,CAAC,EAHWA,uBAAe,KAAfA,uBAAe,GAAA,EAAA,CAAA,CAAA;AAKfC;AAAZ,CAAA,UAAY,aAAa,EAAA;AACvB,IAAA,aAAA,CAAA,UAAA,CAAA,GAAA,UAAqB;AACrB,IAAA,aAAA,CAAA,SAAA,CAAA,GAAA,SAAmB;AACnB,IAAA,aAAA,CAAA,gBAAA,CAAA,GAAA,iBAAkC;AAClC,IAAA,aAAA,CAAA,UAAA,CAAA,GAAA,UAAqB;AACrB,IAAA,aAAA,CAAA,UAAA,CAAA,GAAA,UAAqB;AACrB,IAAA,aAAA,CAAA,OAAA,CAAA,GAAA,OAAe;AACf,IAAA,aAAA,CAAA,YAAA,CAAA,GAAA,aAA0B;AAC5B,CAAC,EARWA,qBAAa,KAAbA,qBAAa,GAAA,EAAA,CAAA,CAAA;;"}
|
|
@@ -1,12 +1,16 @@
|
|
|
1
|
-
import React from
|
|
1
|
+
import React from "react";
|
|
2
2
|
interface FileUploadButtonProps {
|
|
3
3
|
id?: string;
|
|
4
4
|
label?: string;
|
|
5
5
|
accept?: string;
|
|
6
6
|
multiple?: boolean;
|
|
7
7
|
onFileSelect?: (files: FileList | null) => void;
|
|
8
|
-
variant?:
|
|
9
|
-
size?:
|
|
8
|
+
variant?: "primary" | "secondary" | "outline" | "marked-read" | "mark-read" | "danger";
|
|
9
|
+
size?: "sm" | "md" | "lg";
|
|
10
|
+
onError?: (files: File[]) => void;
|
|
11
|
+
maxSizeBytes?: number;
|
|
12
|
+
sendToast?: boolean;
|
|
13
|
+
children?: React.ReactNode;
|
|
10
14
|
}
|
|
11
15
|
export declare const FileUploadButton: React.FC<FileUploadButtonProps>;
|
|
12
16
|
export {};
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
1
|
+
import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
|
|
2
2
|
import { useId } from 'react';
|
|
3
3
|
import { Button } from './Button.js';
|
|
4
4
|
import { styled } from '@mui/material/styles';
|
|
5
5
|
import { FileUploadRounded } from '@mui/icons-material';
|
|
6
6
|
import { toast } from 'react-toastify';
|
|
7
7
|
|
|
8
|
-
const HiddenInput = styled(
|
|
9
|
-
display:
|
|
8
|
+
const HiddenInput = styled("input")({
|
|
9
|
+
display: "none",
|
|
10
10
|
});
|
|
11
|
-
const FileUploadButton = ({ id, label =
|
|
11
|
+
const FileUploadButton = ({ id, label = "Upload File", accept, multiple = false, onFileSelect, variant = "primary", size = "md", onError, maxSizeBytes = 25 * 1024 * 1024, sendToast = true, children, }) => {
|
|
12
12
|
const handleFileChange = (event) => {
|
|
13
13
|
const files = event.target.files;
|
|
14
14
|
if (!files || files.length === 0) {
|
|
@@ -18,32 +18,43 @@ const FileUploadButton = ({ id, label = 'Upload File', accept, multiple = false,
|
|
|
18
18
|
// If multiple, filter; if single, validate the first
|
|
19
19
|
if (multiple) {
|
|
20
20
|
const valid = [];
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
21
|
+
const rejected = [];
|
|
22
|
+
for (const file of Array.from(files)) {
|
|
23
|
+
if (file.size > maxSizeBytes) {
|
|
24
|
+
rejected.push(file);
|
|
25
|
+
}
|
|
26
|
+
else {
|
|
27
|
+
valid.push(file);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
if (rejected.length > 0) {
|
|
31
|
+
onError?.(rejected);
|
|
32
|
+
}
|
|
33
|
+
if (valid.length === 0) {
|
|
34
|
+
onFileSelect?.(null);
|
|
35
|
+
event.target.value = "";
|
|
36
|
+
return;
|
|
25
37
|
}
|
|
26
38
|
const dt = new DataTransfer();
|
|
27
39
|
valid.forEach((f) => dt.items.add(f));
|
|
28
40
|
onFileSelect?.(dt.files);
|
|
41
|
+
return;
|
|
29
42
|
}
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
if (
|
|
33
|
-
|
|
34
|
-
// Example: toast.error('File exceeds 5MB');
|
|
35
|
-
toast.error('File exceeds 25MB');
|
|
36
|
-
onFileSelect?.(null);
|
|
37
|
-
// Clear the input so user can reselect
|
|
38
|
-
event.target.value = '';
|
|
39
|
-
return;
|
|
43
|
+
const file = files[0];
|
|
44
|
+
if (file.size > maxSizeBytes) {
|
|
45
|
+
if (sendToast) {
|
|
46
|
+
toast.error("File exceeds 25MB");
|
|
40
47
|
}
|
|
41
|
-
|
|
48
|
+
onError?.([file]);
|
|
49
|
+
onFileSelect?.(null);
|
|
50
|
+
event.target.value = "";
|
|
51
|
+
return;
|
|
42
52
|
}
|
|
53
|
+
onFileSelect?.(files);
|
|
43
54
|
};
|
|
44
55
|
const autoId = useId();
|
|
45
56
|
const inputId = id || `file-upload-${autoId}`;
|
|
46
|
-
return (jsxs("label", { htmlFor: inputId, children: [jsx(HiddenInput, { id: inputId, type: "file", accept: accept, multiple: multiple, onChange: handleFileChange }),
|
|
57
|
+
return (jsxs("label", { htmlFor: inputId, children: [jsx(HiddenInput, { id: inputId, type: "file", accept: accept, multiple: multiple, onChange: handleFileChange }), jsx(Button, { component: "span", variant: variant, size: size, children: children ?? (jsxs(Fragment, { children: [jsx(FileUploadRounded, {}), label] })) })] }));
|
|
47
58
|
};
|
|
48
59
|
|
|
49
60
|
export { FileUploadButton };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileUploadButton.js","sources":["../../../../src/components/FileUploadButton.tsx"],"sourcesContent":["import React, { useId } from
|
|
1
|
+
{"version":3,"file":"FileUploadButton.js","sources":["../../../../src/components/FileUploadButton.tsx"],"sourcesContent":["import React, { useId } from \"react\";\r\nimport { Button } from \"./Button\"; // Import your existing styled button component\r\nimport { styled } from \"@mui/material/styles\";\r\nimport { FileUploadRounded } from \"@mui/icons-material\";\r\nimport { toast } from \"react-toastify\";\r\n\r\ninterface FileUploadButtonProps {\r\n id?: string;\r\n label?: string;\r\n accept?: string;\r\n multiple?: boolean;\r\n onFileSelect?: (files: FileList | null) => void;\r\n variant?:\r\n | \"primary\"\r\n | \"secondary\"\r\n | \"outline\"\r\n | \"marked-read\"\r\n | \"mark-read\"\r\n | \"danger\";\r\n size?: \"sm\" | \"md\" | \"lg\";\r\n onError?: (files: File[]) => void;\r\n maxSizeBytes?: number;\r\n sendToast?: boolean;\r\n children?: React.ReactNode;\r\n}\r\n\r\nconst HiddenInput = styled(\"input\")({\r\n display: \"none\",\r\n});\r\n\r\nexport const FileUploadButton: React.FC<FileUploadButtonProps> = ({\r\n id,\r\n label = \"Upload File\",\r\n accept,\r\n multiple = false,\r\n onFileSelect,\r\n variant = \"primary\",\r\n size = \"md\",\r\n onError,\r\n maxSizeBytes = 25 * 1024 * 1024,\r\n sendToast = true,\r\n children,\r\n}) => {\r\n const handleFileChange = (event: React.ChangeEvent<HTMLInputElement>) => {\r\n const files = event.target.files;\r\n\r\n if (!files || files.length === 0) {\r\n onFileSelect?.(files);\r\n return;\r\n }\r\n\r\n // If multiple, filter; if single, validate the first\r\n if (multiple) {\r\n const valid: File[] = [];\r\n const rejected: File[] = [];\r\n for (const file of Array.from(files)) {\r\n if (file.size > maxSizeBytes) {\r\n rejected.push(file);\r\n } else {\r\n valid.push(file);\r\n }\r\n }\r\n\r\n if (rejected.length > 0) {\r\n onError?.(rejected);\r\n }\r\n\r\n if (valid.length === 0) {\r\n onFileSelect?.(null);\r\n event.target.value = \"\";\r\n return;\r\n }\r\n\r\n const dt = new DataTransfer();\r\n valid.forEach((f) => dt.items.add(f));\r\n onFileSelect?.(dt.files);\r\n return;\r\n }\r\n\r\n const file = files[0];\r\n if (file.size > maxSizeBytes) {\r\n if (sendToast) {\r\n toast.error(\"File exceeds 25MB\");\r\n }\r\n onError?.([file]);\r\n onFileSelect?.(null);\r\n event.target.value = \"\";\r\n return;\r\n }\r\n onFileSelect?.(files);\r\n };\r\n const autoId = useId();\r\n const inputId = id || `file-upload-${autoId}`;\r\n return (\r\n <label htmlFor={inputId}>\r\n <HiddenInput\r\n id={inputId}\r\n type=\"file\"\r\n accept={accept}\r\n multiple={multiple}\r\n onChange={handleFileChange}\r\n />\r\n {/* Render child, if not defined render old style fix*/}\r\n <Button component=\"span\" variant={variant} size={size}>\r\n {children ?? (\r\n <>\r\n <FileUploadRounded />\r\n {label}\r\n </>\r\n )}\r\n </Button>\r\n </label>\r\n );\r\n};\r\n"],"names":["_jsxs","_jsx","_Fragment"],"mappings":"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"}
|
|
@@ -1,16 +1,10 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
+
import { Variable } from "../types/variable";
|
|
2
3
|
interface ModalProps {
|
|
3
4
|
isOpen: boolean;
|
|
4
5
|
onClose: () => void;
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
requirementType: string;
|
|
8
|
-
description: string;
|
|
9
|
-
value: string;
|
|
10
|
-
defaultValue: string;
|
|
11
|
-
note?: string;
|
|
12
|
-
onSave?: (fieldValue: string, defaultChecked: boolean) => void;
|
|
13
|
-
onSubmit?: (fieldValue: string, defaultChecked: boolean) => void;
|
|
6
|
+
onSave?: (fieldValue: string, defaultChecked: boolean, isChildEditable: boolean) => void;
|
|
7
|
+
onSubmit?: (fieldValue: string, defaultChecked: boolean, isChildEditable: boolean) => void;
|
|
14
8
|
successMessage?: string;
|
|
15
9
|
errorMessage?: string;
|
|
16
10
|
onDeclineWording?: () => void;
|
|
@@ -19,8 +13,8 @@ interface ModalProps {
|
|
|
19
13
|
currentPage?: number;
|
|
20
14
|
totalPages?: number;
|
|
21
15
|
isLoading: boolean;
|
|
22
|
-
|
|
23
|
-
|
|
16
|
+
variable: Variable;
|
|
17
|
+
isLeafOrganisation: boolean;
|
|
24
18
|
}
|
|
25
19
|
export declare const Modal: React.FC<ModalProps>;
|
|
26
20
|
export {};
|