ece-docs-components 1.0.48 → 1.0.50
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/NoteBox.js +21 -2
- package/dist/cjs/components/NoteBox.js.map +1 -1
- package/dist/cjs/components/StatusBar.js +1 -1
- package/dist/cjs/components/StatusBar.js.map +1 -1
- package/dist/cjs/node_modules/domhandler/lib/index.js +1 -1
- package/dist/cjs/node_modules/html-dom-parser/lib/index.js +1 -1
- package/dist/esm/components/NoteBox.js +21 -2
- package/dist/esm/components/NoteBox.js.map +1 -1
- package/dist/esm/components/StatusBar.js +1 -1
- package/dist/esm/components/StatusBar.js.map +1 -1
- package/package.json +1 -1
|
@@ -97,13 +97,32 @@ const NoteBox = ({ status, requirementType, label, note, children, className = '
|
|
|
97
97
|
const [isHovered, setIsHovered] = React.useState(false);
|
|
98
98
|
// Map current status
|
|
99
99
|
const variableState = variableProcessing.mapStatusToVariableState(status);
|
|
100
|
-
|
|
100
|
+
console.log("HELLO", status, requirementType);
|
|
101
|
+
const requirementTypeState = variableProcessing.mapRequirementTypeToState(requirementType);
|
|
101
102
|
const style = variableState
|
|
102
103
|
? statusConfig[variableState]
|
|
103
104
|
: {
|
|
104
105
|
highlight: '#EEE',
|
|
105
106
|
highlightSelected: '#DDD'};
|
|
106
|
-
|
|
107
|
+
const reqTypeConfig = {
|
|
108
|
+
Default: {
|
|
109
|
+
color: '#F5A623',
|
|
110
|
+
highlight: '#f3bf6bff',
|
|
111
|
+
highlightSelected: '#F5A623',
|
|
112
|
+
label: 'Mandatory',
|
|
113
|
+
},
|
|
114
|
+
Optional: {
|
|
115
|
+
color: '#F5D76E',
|
|
116
|
+
highlight: '#f3e2a5ff',
|
|
117
|
+
highlightSelected: '#F5D76E',
|
|
118
|
+
label: 'Optional',
|
|
119
|
+
},
|
|
120
|
+
};
|
|
121
|
+
const requirementTypeStyle = requirementTypeState ? reqTypeConfig[requirementTypeState] :
|
|
122
|
+
{
|
|
123
|
+
highlight: '#EEE',
|
|
124
|
+
highlightSelected: '#DDD'};
|
|
125
|
+
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 ? requirementTypeStyle.highlight : style.highlight, highlightSelectedColor: variableState === variable.VariableState.NotStarted ? requirementTypeStyle.highlightSelected : style.highlightSelected, onMouseEnter: () => setIsHovered(true), onMouseLeave: () => setIsHovered(false), onClick: (e) => {
|
|
107
126
|
e.stopPropagation();
|
|
108
127
|
if (onEditClick) {
|
|
109
128
|
onEditClick();
|
|
@@ -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-block',\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 width: 20,\r\n height: 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={style.highlight}\r\n highlightSelectedColor={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\">{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 title=\"Edit variable highlight\"\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 { 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-block',\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 width: 20,\r\n height: 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 console.log(\"HELLO\", status, requirementType);\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\">{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 title=\"Edit variable highlight\"\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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"}
|
|
@@ -47,7 +47,7 @@ const NextButton = material.styled(material.IconButton)(({ theme }) => ({
|
|
|
47
47
|
}));
|
|
48
48
|
const StatusBar = ({ itemCount, variant = 'actionstarted', onTailorClick, onNextClick }) => {
|
|
49
49
|
let message = "";
|
|
50
|
-
if (itemCount
|
|
50
|
+
if (itemCount < 1) {
|
|
51
51
|
message = `There is ${itemCount} item that needs attention.`;
|
|
52
52
|
}
|
|
53
53
|
else {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StatusBar.js","sources":["../../../../src/components/StatusBar.tsx"],"sourcesContent":["\r\n\r\nimport React from 'react';\r\nimport { Box, Typography, IconButton, styled } from '@mui/material';\r\nimport { Button } from './Button';\r\nimport { ChevronRightRounded, PieChartRounded } from '@mui/icons-material';\r\n\r\ninterface StatusBarProps {\r\n itemCount: number;\r\n variant: 'actionstarted' | 'noaction';\r\n onTailorClick?: () => void;\r\n onNextClick?: () => void;\r\n}\r\n\r\nconst StatusBarContainer = styled(Box)(({ theme }) => ({\r\n width: '100%',\r\n backgroundColor: '#F5C98E',\r\n padding: theme.spacing(1.5, 3),\r\n display: 'flex',\r\n alignItems: 'center',\r\n justifyContent: 'space-between',\r\n gap: theme.spacing(3),\r\n flexDirection: 'row',\r\n [theme.breakpoints.down('sm')]: {\r\n flexDirection: 'column',\r\n padding: theme.spacing(1.25, 2),\r\n },\r\n}));\r\n\r\nconst ContentWrapper = styled(Box)(({ theme }) => ({\r\n display: 'flex',\r\n alignItems: 'center',\r\n gap: theme.spacing(1.5),\r\n flex: 1,\r\n minWidth: 0,\r\n justifyContent: 'flex-start',\r\n [theme.breakpoints.down('sm')]: {\r\n justifyContent: 'center',\r\n gap: theme.spacing(1),\r\n },\r\n}));\r\n\r\nconst NextButton = styled(IconButton)(({ theme }) => ({\r\n width: 40,\r\n height: 40,\r\n border: `2px solid rgba(77, 48, 25, 0.25)`,\r\n backgroundColor: '#fff',\r\n '&:hover': {\r\n backgroundColor: '#4D3019',\r\n color: '#fff',\r\n },\r\n [theme.breakpoints.down('sm')]: {\r\n width: 36,\r\n height: 36,\r\n },\r\n}));\r\n\r\nexport const StatusBar: React.FC<StatusBarProps> = ({\r\n itemCount,\r\n variant = 'actionstarted',\r\n onTailorClick,\r\n onNextClick\r\n}) => {\r\n let message = \"\"\r\n if (itemCount
|
|
1
|
+
{"version":3,"file":"StatusBar.js","sources":["../../../../src/components/StatusBar.tsx"],"sourcesContent":["\r\n\r\nimport React from 'react';\r\nimport { Box, Typography, IconButton, styled } from '@mui/material';\r\nimport { Button } from './Button';\r\nimport { ChevronRightRounded, PieChartRounded } from '@mui/icons-material';\r\n\r\ninterface StatusBarProps {\r\n itemCount: number;\r\n variant: 'actionstarted' | 'noaction';\r\n onTailorClick?: () => void;\r\n onNextClick?: () => void;\r\n}\r\n\r\nconst StatusBarContainer = styled(Box)(({ theme }) => ({\r\n width: '100%',\r\n backgroundColor: '#F5C98E',\r\n padding: theme.spacing(1.5, 3),\r\n display: 'flex',\r\n alignItems: 'center',\r\n justifyContent: 'space-between',\r\n gap: theme.spacing(3),\r\n flexDirection: 'row',\r\n [theme.breakpoints.down('sm')]: {\r\n flexDirection: 'column',\r\n padding: theme.spacing(1.25, 2),\r\n },\r\n}));\r\n\r\nconst ContentWrapper = styled(Box)(({ theme }) => ({\r\n display: 'flex',\r\n alignItems: 'center',\r\n gap: theme.spacing(1.5),\r\n flex: 1,\r\n minWidth: 0,\r\n justifyContent: 'flex-start',\r\n [theme.breakpoints.down('sm')]: {\r\n justifyContent: 'center',\r\n gap: theme.spacing(1),\r\n },\r\n}));\r\n\r\nconst NextButton = styled(IconButton)(({ theme }) => ({\r\n width: 40,\r\n height: 40,\r\n border: `2px solid rgba(77, 48, 25, 0.25)`,\r\n backgroundColor: '#fff',\r\n '&:hover': {\r\n backgroundColor: '#4D3019',\r\n color: '#fff',\r\n },\r\n [theme.breakpoints.down('sm')]: {\r\n width: 36,\r\n height: 36,\r\n },\r\n}));\r\n\r\nexport const StatusBar: React.FC<StatusBarProps> = ({\r\n itemCount,\r\n variant = 'actionstarted',\r\n onTailorClick,\r\n onNextClick\r\n}) => {\r\n let message = \"\"\r\n if (itemCount < 1){\r\n message = `There is ${itemCount} item that needs attention.`;\r\n } else {\r\n message = `There are ${itemCount} items that need attention.`;\r\n }\r\n return (\r\n <StatusBarContainer>\r\n <ContentWrapper>\r\n <PieChartRounded \r\n sx={{\r\n fontSize: 24,\r\n color:\"#4D3019\",\r\n flexShrink: 0 ,\r\n }}\r\n />\r\n <Typography\r\n component=\"p\"\r\n sx={{\r\n fontSize: { xs: '14px', sm: '15px', md: '16px' },\r\n color: '#4D3019',\r\n wordBreak: 'break-word',\r\n textAlign: { xs: 'center', sm: 'left' },\r\n }}\r\n >\r\n <Box\r\n component=\"span\"\r\n sx={{ fontWeight: 700 }}\r\n >\r\n {variant === 'actionstarted' ? 'Incomplete.' : 'Not started.'}\r\n </Box>\r\n {' '}\r\n {message}\r\n </Typography>\r\n\r\n </ContentWrapper>\r\n {variant === 'actionstarted' ? (\r\n <Box sx={{ display: 'flex', gap: 1.5, flexShrink: 0 }}>\r\n <NextButton\r\n onClick={onNextClick}\r\n aria-label=\"Next\"\r\n >\r\n <ChevronRightRounded sx={{fontSize:20}} />\r\n </NextButton>\r\n </Box>\r\n ) : (\r\n <Box sx={{ flexShrink: 0 }}>\r\n <Button\r\n variant=\"outline\"\r\n size=\"sm\"\r\n onClick={onTailorClick}\r\n >\r\n Tailor policies\r\n </Button>\r\n </Box>\r\n )}\r\n </StatusBarContainer>\r\n );\r\n};"],"names":["styled","Box","IconButton","_jsxs","_jsx","PieChartRounded","Typography","ChevronRightRounded","Button"],"mappings":"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"}
|
|
@@ -95,13 +95,32 @@ const NoteBox = ({ status, requirementType, label, note, children, className = '
|
|
|
95
95
|
const [isHovered, setIsHovered] = useState(false);
|
|
96
96
|
// Map current status
|
|
97
97
|
const variableState = mapStatusToVariableState(status);
|
|
98
|
-
|
|
98
|
+
console.log("HELLO", status, requirementType);
|
|
99
|
+
const requirementTypeState = mapRequirementTypeToState(requirementType);
|
|
99
100
|
const style = variableState
|
|
100
101
|
? statusConfig[variableState]
|
|
101
102
|
: {
|
|
102
103
|
highlight: '#EEE',
|
|
103
104
|
highlightSelected: '#DDD'};
|
|
104
|
-
|
|
105
|
+
const reqTypeConfig = {
|
|
106
|
+
Default: {
|
|
107
|
+
color: '#F5A623',
|
|
108
|
+
highlight: '#f3bf6bff',
|
|
109
|
+
highlightSelected: '#F5A623',
|
|
110
|
+
label: 'Mandatory',
|
|
111
|
+
},
|
|
112
|
+
Optional: {
|
|
113
|
+
color: '#F5D76E',
|
|
114
|
+
highlight: '#f3e2a5ff',
|
|
115
|
+
highlightSelected: '#F5D76E',
|
|
116
|
+
label: 'Optional',
|
|
117
|
+
},
|
|
118
|
+
};
|
|
119
|
+
const requirementTypeStyle = requirementTypeState ? reqTypeConfig[requirementTypeState] :
|
|
120
|
+
{
|
|
121
|
+
highlight: '#EEE',
|
|
122
|
+
highlightSelected: '#DDD'};
|
|
123
|
+
return (jsxs(NoteContainer, { className: className, children: [variableState && style.alertVariant && note && (jsx(Alert, { variant: style.alertVariant, sx: { mb: 1 }, children: note })), jsxs(HighlightWrapper, { isHovered: isHovered, highlightColor: variableState === VariableState.NotStarted ? requirementTypeStyle.highlight : style.highlight, highlightSelectedColor: variableState === VariableState.NotStarted ? requirementTypeStyle.highlightSelected : style.highlightSelected, onMouseEnter: () => setIsHovered(true), onMouseLeave: () => setIsHovered(false), onClick: (e) => {
|
|
105
124
|
e.stopPropagation();
|
|
106
125
|
if (onEditClick) {
|
|
107
126
|
onEditClick();
|
|
@@ -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-block',\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 width: 20,\r\n height: 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={style.highlight}\r\n highlightSelectedColor={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\">{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 title=\"Edit variable highlight\"\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":["_jsxs","_jsx"],"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 { 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-block',\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 width: 20,\r\n height: 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 console.log(\"HELLO\", status, requirementType);\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\">{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 title=\"Edit variable highlight\"\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":["_jsxs","_jsx"],"mappings":"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"}
|
|
@@ -45,7 +45,7 @@ const NextButton = styled(IconButton)(({ theme }) => ({
|
|
|
45
45
|
}));
|
|
46
46
|
const StatusBar = ({ itemCount, variant = 'actionstarted', onTailorClick, onNextClick }) => {
|
|
47
47
|
let message = "";
|
|
48
|
-
if (itemCount
|
|
48
|
+
if (itemCount < 1) {
|
|
49
49
|
message = `There is ${itemCount} item that needs attention.`;
|
|
50
50
|
}
|
|
51
51
|
else {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StatusBar.js","sources":["../../../../src/components/StatusBar.tsx"],"sourcesContent":["\r\n\r\nimport React from 'react';\r\nimport { Box, Typography, IconButton, styled } from '@mui/material';\r\nimport { Button } from './Button';\r\nimport { ChevronRightRounded, PieChartRounded } from '@mui/icons-material';\r\n\r\ninterface StatusBarProps {\r\n itemCount: number;\r\n variant: 'actionstarted' | 'noaction';\r\n onTailorClick?: () => void;\r\n onNextClick?: () => void;\r\n}\r\n\r\nconst StatusBarContainer = styled(Box)(({ theme }) => ({\r\n width: '100%',\r\n backgroundColor: '#F5C98E',\r\n padding: theme.spacing(1.5, 3),\r\n display: 'flex',\r\n alignItems: 'center',\r\n justifyContent: 'space-between',\r\n gap: theme.spacing(3),\r\n flexDirection: 'row',\r\n [theme.breakpoints.down('sm')]: {\r\n flexDirection: 'column',\r\n padding: theme.spacing(1.25, 2),\r\n },\r\n}));\r\n\r\nconst ContentWrapper = styled(Box)(({ theme }) => ({\r\n display: 'flex',\r\n alignItems: 'center',\r\n gap: theme.spacing(1.5),\r\n flex: 1,\r\n minWidth: 0,\r\n justifyContent: 'flex-start',\r\n [theme.breakpoints.down('sm')]: {\r\n justifyContent: 'center',\r\n gap: theme.spacing(1),\r\n },\r\n}));\r\n\r\nconst NextButton = styled(IconButton)(({ theme }) => ({\r\n width: 40,\r\n height: 40,\r\n border: `2px solid rgba(77, 48, 25, 0.25)`,\r\n backgroundColor: '#fff',\r\n '&:hover': {\r\n backgroundColor: '#4D3019',\r\n color: '#fff',\r\n },\r\n [theme.breakpoints.down('sm')]: {\r\n width: 36,\r\n height: 36,\r\n },\r\n}));\r\n\r\nexport const StatusBar: React.FC<StatusBarProps> = ({\r\n itemCount,\r\n variant = 'actionstarted',\r\n onTailorClick,\r\n onNextClick\r\n}) => {\r\n let message = \"\"\r\n if (itemCount
|
|
1
|
+
{"version":3,"file":"StatusBar.js","sources":["../../../../src/components/StatusBar.tsx"],"sourcesContent":["\r\n\r\nimport React from 'react';\r\nimport { Box, Typography, IconButton, styled } from '@mui/material';\r\nimport { Button } from './Button';\r\nimport { ChevronRightRounded, PieChartRounded } from '@mui/icons-material';\r\n\r\ninterface StatusBarProps {\r\n itemCount: number;\r\n variant: 'actionstarted' | 'noaction';\r\n onTailorClick?: () => void;\r\n onNextClick?: () => void;\r\n}\r\n\r\nconst StatusBarContainer = styled(Box)(({ theme }) => ({\r\n width: '100%',\r\n backgroundColor: '#F5C98E',\r\n padding: theme.spacing(1.5, 3),\r\n display: 'flex',\r\n alignItems: 'center',\r\n justifyContent: 'space-between',\r\n gap: theme.spacing(3),\r\n flexDirection: 'row',\r\n [theme.breakpoints.down('sm')]: {\r\n flexDirection: 'column',\r\n padding: theme.spacing(1.25, 2),\r\n },\r\n}));\r\n\r\nconst ContentWrapper = styled(Box)(({ theme }) => ({\r\n display: 'flex',\r\n alignItems: 'center',\r\n gap: theme.spacing(1.5),\r\n flex: 1,\r\n minWidth: 0,\r\n justifyContent: 'flex-start',\r\n [theme.breakpoints.down('sm')]: {\r\n justifyContent: 'center',\r\n gap: theme.spacing(1),\r\n },\r\n}));\r\n\r\nconst NextButton = styled(IconButton)(({ theme }) => ({\r\n width: 40,\r\n height: 40,\r\n border: `2px solid rgba(77, 48, 25, 0.25)`,\r\n backgroundColor: '#fff',\r\n '&:hover': {\r\n backgroundColor: '#4D3019',\r\n color: '#fff',\r\n },\r\n [theme.breakpoints.down('sm')]: {\r\n width: 36,\r\n height: 36,\r\n },\r\n}));\r\n\r\nexport const StatusBar: React.FC<StatusBarProps> = ({\r\n itemCount,\r\n variant = 'actionstarted',\r\n onTailorClick,\r\n onNextClick\r\n}) => {\r\n let message = \"\"\r\n if (itemCount < 1){\r\n message = `There is ${itemCount} item that needs attention.`;\r\n } else {\r\n message = `There are ${itemCount} items that need attention.`;\r\n }\r\n return (\r\n <StatusBarContainer>\r\n <ContentWrapper>\r\n <PieChartRounded \r\n sx={{\r\n fontSize: 24,\r\n color:\"#4D3019\",\r\n flexShrink: 0 ,\r\n }}\r\n />\r\n <Typography\r\n component=\"p\"\r\n sx={{\r\n fontSize: { xs: '14px', sm: '15px', md: '16px' },\r\n color: '#4D3019',\r\n wordBreak: 'break-word',\r\n textAlign: { xs: 'center', sm: 'left' },\r\n }}\r\n >\r\n <Box\r\n component=\"span\"\r\n sx={{ fontWeight: 700 }}\r\n >\r\n {variant === 'actionstarted' ? 'Incomplete.' : 'Not started.'}\r\n </Box>\r\n {' '}\r\n {message}\r\n </Typography>\r\n\r\n </ContentWrapper>\r\n {variant === 'actionstarted' ? (\r\n <Box sx={{ display: 'flex', gap: 1.5, flexShrink: 0 }}>\r\n <NextButton\r\n onClick={onNextClick}\r\n aria-label=\"Next\"\r\n >\r\n <ChevronRightRounded sx={{fontSize:20}} />\r\n </NextButton>\r\n </Box>\r\n ) : (\r\n <Box sx={{ flexShrink: 0 }}>\r\n <Button\r\n variant=\"outline\"\r\n size=\"sm\"\r\n onClick={onTailorClick}\r\n >\r\n Tailor policies\r\n </Button>\r\n </Box>\r\n )}\r\n </StatusBarContainer>\r\n );\r\n};"],"names":["_jsxs","_jsx"],"mappings":"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"}
|