ece-docs-components 1.0.38 → 1.0.40

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.
@@ -74,6 +74,8 @@ const StyledAlert = material.styled(material.Alert)(({ theme, customvariant }) =
74
74
  alignItems: 'flex-start',
75
75
  gap: theme.spacing(1.5),
76
76
  padding: theme.spacing(2),
77
+ marginBottom: theme.spacing(1.5),
78
+ overflowY: 'hidden',
77
79
  border: `1px solid ${style.borderColor}`,
78
80
  borderRadius: (typeof theme.shape.borderRadius === 'string'
79
81
  ? parseInt(theme.shape.borderRadius, 10)
@@ -1 +1 @@
1
- {"version":3,"file":"Alert.js","sources":["../../../../src/components/Alert.tsx"],"sourcesContent":["\r\n\r\nimport React from 'react';\r\nimport { Alert as MuiAlert, AlertProps as MuiAlertProps, styled, SxProps, Theme } from '@mui/material';\r\nimport { ErrorOutlineRounded, HighlightOffRounded, InfoOutlineRounded, LinkRounded, NoteOutlined, OpenInNewOutlined, TaskAltRounded } from '@mui/icons-material';\r\n\r\ninterface AlertProps {\r\n variant?: 'info' |\r\n 'success' |\r\n 'warning' |\r\n 'error' |\r\n 'note-internallink' |\r\n 'note-externallink' |\r\n 'note-important' |\r\n 'note' |\r\n 'note-assurance' |\r\n 'note-share' |\r\n 'note-task' |\r\n 'custom';\r\n children: React.ReactNode;\r\n className?: string;\r\n icon?: boolean | React.ReactNode; // Allow React node\r\n sx?: SxProps<Theme>; \r\n}\r\n\r\nconst StyledAlert = styled(MuiAlert)<{ customvariant?: string }>(({ theme, customvariant }) => {\r\n const variants = {\r\n info: {\r\n backgroundColor: '#eff6ff',\r\n borderColor: '#bfdbfe',\r\n color: '#1e3a8a',\r\n },\r\n success: {\r\n backgroundColor: '#f0fdf4',\r\n borderColor: '#bbf7d0',\r\n color: '#14532d',\r\n },\r\n warning: {\r\n backgroundColor: '#fefce8',\r\n borderColor: '#fef08a',\r\n color: '#713f12',\r\n },\r\n error: {\r\n backgroundColor: '#fef2f2',\r\n borderColor: '#fecaca',\r\n color: '#7f1d1d',\r\n },\r\n 'note-internallink': {\r\n backgroundColor: '#FDFCEE',\r\n borderColor: '#ECE8DF',\r\n color: '#4D3019',\r\n },\r\n 'note-externallink': {\r\n backgroundColor: '#FDFCEE',\r\n borderColor: '#ECE8DF',\r\n color: '#4D3019',\r\n },\r\n 'note': {\r\n backgroundColor: '#FDFCEE',\r\n borderColor: '#ECE8DF',\r\n color: '#4D3019',\r\n },\r\n 'note-important': {\r\n backgroundColor: '#FDEDED',\r\n borderColor: '#EDA6A6',\r\n color: '#5F2120',\r\n },\r\n 'note-task': {\r\n backgroundColor: '#FFF4E5',\r\n borderColor: '#F9C18F',\r\n color: '#4D3019',\r\n },\r\n 'note-assurance': {\r\n backgroundColor: '#FFF4E5',\r\n borderColor: '#F9C18F',\r\n color: '#4D3019',\r\n },\r\n 'note-share': {\r\n backgroundColor: '#F8F0FC',\r\n borderColor: '#C269FA',\r\n color: '#4D3019',\r\n },\r\n custom: {\r\n backgroundColor: theme.palette.light.main,\r\n borderColor: `${theme.palette.dark.main}33`,\r\n color: theme.palette.dark.main,\r\n },\r\n };\r\n\r\n const variantKey = customvariant as keyof typeof variants || 'info';\r\n const style = variants[variantKey];\r\n\r\n return {\r\n display: 'flex',\r\n alignItems: 'flex-start',\r\n gap: theme.spacing(1.5),\r\n padding: theme.spacing(2),\r\n border: `1px solid ${style.borderColor}`,\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: style.backgroundColor,\r\n color: style.color,\r\n '& .MuiAlert-icon': {\r\n marginRight: 0,\r\n padding: 0,\r\n marginTop: '2px',\r\n },\r\n '& .MuiAlert-message': {\r\n padding: 0,\r\n flex: 1,\r\n },\r\n };\r\n});\r\n\r\nexport const Alert: React.FC<AlertProps> = ({\r\n variant = 'info',\r\n children,\r\n className = '',\r\n icon = true,\r\n sx,\r\n}) => {\r\n const iconMap = {\r\n info: <InfoOutlineRounded sx={{fontSize: 20, color:'#1e3a8a'}} />,\r\n success: <TaskAltRounded sx={{fontSize: 20}} />,\r\n warning: <ErrorOutlineRounded sx={{fontSize: 20}} />,\r\n error: <HighlightOffRounded sx={{fontSize: 20}} />,\r\n 'note-internallink': <LinkRounded sx={{fontSize: 20, color:'#4D3019'}} />,\r\n 'note-externallink': <OpenInNewOutlined sx={{fontSize: 20, color:'#4D3019'}} />,\r\n 'note': <NoteOutlined sx={{fontSize: 20, color:'#4D3019'}} />,\r\n 'note-important': <InfoOutlineRounded sx={{fontSize: 20, color:'#D32F2F'}} />,\r\n 'note-assurance': <TaskAltRounded sx={{fontSize: 20, color:'#FF9800'}} />,\r\n 'note-task': <TaskAltRounded sx={{fontSize: 20, color:'#FF9800'}} />,\r\n 'note-share': <InfoOutlineRounded sx={{fontSize: 20, color:'#C571FA'}} />,\r\n custom: <InfoOutlineRounded sx={{fontSize: 20}} />,\r\n };\r\n\r\n const severityMap: Record<string, MuiAlertProps['severity'] | undefined> = {\r\n info: 'info',\r\n success: 'success',\r\n warning: 'warning',\r\n error: 'error',\r\n custom: 'info',\r\n 'note-internallink': undefined,\r\n 'note-externallink': undefined,\r\n 'note-important': undefined,\r\n 'note': undefined,\r\n 'note-task': undefined,\r\n 'note-assurance': undefined,\r\n 'note-share': undefined,\r\n };\r\n\r\n\r\n const getIcon = () => {\r\n if (icon === false) return false;\r\n if (icon === true) return iconMap[variant];\r\n return icon; // Custom icon passed\r\n };\r\n\r\n return (\r\n <StyledAlert\r\n customvariant={variant}\r\n severity={severityMap[variant]}\r\n icon={getIcon()}\r\n className={className}\r\n sx={sx}\r\n >\r\n {children}\r\n </StyledAlert>\r\n );\r\n};"],"names":["styled","MuiAlert","_jsx","InfoOutlineRounded","TaskAltRounded","ErrorOutlineRounded","HighlightOffRounded","LinkRounded","OpenInNewOutlined","NoteOutlined"],"mappings":"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"}
1
+ {"version":3,"file":"Alert.js","sources":["../../../../src/components/Alert.tsx"],"sourcesContent":["\r\n\r\nimport React from 'react';\r\nimport { Alert as MuiAlert, AlertProps as MuiAlertProps, styled, SxProps, Theme } from '@mui/material';\r\nimport { ErrorOutlineRounded, HighlightOffRounded, InfoOutlineRounded, LinkRounded, NoteOutlined, OpenInNewOutlined, TaskAltRounded } from '@mui/icons-material';\r\n\r\ninterface AlertProps {\r\n variant?: 'info' |\r\n 'success' |\r\n 'warning' |\r\n 'error' |\r\n 'note-internallink' |\r\n 'note-externallink' |\r\n 'note-important' |\r\n 'note' |\r\n 'note-assurance' |\r\n 'note-share' |\r\n 'note-task' |\r\n 'custom';\r\n children: React.ReactNode;\r\n className?: string;\r\n icon?: boolean | React.ReactNode; // Allow React node\r\n sx?: SxProps<Theme>; \r\n}\r\n\r\nconst StyledAlert = styled(MuiAlert)<{ customvariant?: string }>(({ theme, customvariant }) => {\r\n const variants = {\r\n info: {\r\n backgroundColor: '#eff6ff',\r\n borderColor: '#bfdbfe',\r\n color: '#1e3a8a',\r\n },\r\n success: {\r\n backgroundColor: '#f0fdf4',\r\n borderColor: '#bbf7d0',\r\n color: '#14532d',\r\n },\r\n warning: {\r\n backgroundColor: '#fefce8',\r\n borderColor: '#fef08a',\r\n color: '#713f12',\r\n },\r\n error: {\r\n backgroundColor: '#fef2f2',\r\n borderColor: '#fecaca',\r\n color: '#7f1d1d',\r\n },\r\n 'note-internallink': {\r\n backgroundColor: '#FDFCEE',\r\n borderColor: '#ECE8DF',\r\n color: '#4D3019',\r\n },\r\n 'note-externallink': {\r\n backgroundColor: '#FDFCEE',\r\n borderColor: '#ECE8DF',\r\n color: '#4D3019',\r\n },\r\n 'note': {\r\n backgroundColor: '#FDFCEE',\r\n borderColor: '#ECE8DF',\r\n color: '#4D3019',\r\n },\r\n 'note-important': {\r\n backgroundColor: '#FDEDED',\r\n borderColor: '#EDA6A6',\r\n color: '#5F2120',\r\n },\r\n 'note-task': {\r\n backgroundColor: '#FFF4E5',\r\n borderColor: '#F9C18F',\r\n color: '#4D3019',\r\n },\r\n 'note-assurance': {\r\n backgroundColor: '#FFF4E5',\r\n borderColor: '#F9C18F',\r\n color: '#4D3019',\r\n },\r\n 'note-share': {\r\n backgroundColor: '#F8F0FC',\r\n borderColor: '#C269FA',\r\n color: '#4D3019',\r\n },\r\n custom: {\r\n backgroundColor: theme.palette.light.main,\r\n borderColor: `${theme.palette.dark.main}33`,\r\n color: theme.palette.dark.main,\r\n },\r\n };\r\n\r\n const variantKey = customvariant as keyof typeof variants || 'info';\r\n const style = variants[variantKey];\r\n\r\n return {\r\n display: 'flex',\r\n alignItems: 'flex-start',\r\n gap: theme.spacing(1.5),\r\n padding: theme.spacing(2),\r\n marginBottom: theme.spacing(1.5),\r\n overflowY: 'hidden',\r\n border: `1px solid ${style.borderColor}`,\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: style.backgroundColor,\r\n color: style.color,\r\n '& .MuiAlert-icon': {\r\n marginRight: 0,\r\n padding: 0,\r\n marginTop: '2px',\r\n },\r\n '& .MuiAlert-message': {\r\n padding: 0,\r\n flex: 1,\r\n },\r\n };\r\n});\r\n\r\nexport const Alert: React.FC<AlertProps> = ({\r\n variant = 'info',\r\n children,\r\n className = '',\r\n icon = true,\r\n sx,\r\n}) => {\r\n const iconMap = {\r\n info: <InfoOutlineRounded sx={{fontSize: 20, color:'#1e3a8a'}} />,\r\n success: <TaskAltRounded sx={{fontSize: 20}} />,\r\n warning: <ErrorOutlineRounded sx={{fontSize: 20}} />,\r\n error: <HighlightOffRounded sx={{fontSize: 20}} />,\r\n 'note-internallink': <LinkRounded sx={{fontSize: 20, color:'#4D3019'}} />,\r\n 'note-externallink': <OpenInNewOutlined sx={{fontSize: 20, color:'#4D3019'}} />,\r\n 'note': <NoteOutlined sx={{fontSize: 20, color:'#4D3019'}} />,\r\n 'note-important': <InfoOutlineRounded sx={{fontSize: 20, color:'#D32F2F'}} />,\r\n 'note-assurance': <TaskAltRounded sx={{fontSize: 20, color:'#FF9800'}} />,\r\n 'note-task': <TaskAltRounded sx={{fontSize: 20, color:'#FF9800'}} />,\r\n 'note-share': <InfoOutlineRounded sx={{fontSize: 20, color:'#C571FA'}} />,\r\n custom: <InfoOutlineRounded sx={{fontSize: 20}} />,\r\n };\r\n\r\n const severityMap: Record<string, MuiAlertProps['severity'] | undefined> = {\r\n info: 'info',\r\n success: 'success',\r\n warning: 'warning',\r\n error: 'error',\r\n custom: 'info',\r\n 'note-internallink': undefined,\r\n 'note-externallink': undefined,\r\n 'note-important': undefined,\r\n 'note': undefined,\r\n 'note-task': undefined,\r\n 'note-assurance': undefined,\r\n 'note-share': undefined,\r\n };\r\n\r\n\r\n const getIcon = () => {\r\n if (icon === false) return false;\r\n if (icon === true) return iconMap[variant];\r\n return icon; // Custom icon passed\r\n };\r\n\r\n return (\r\n <StyledAlert\r\n customvariant={variant}\r\n severity={severityMap[variant]}\r\n icon={getIcon()}\r\n className={className}\r\n sx={sx}\r\n >\r\n {children}\r\n </StyledAlert>\r\n );\r\n};"],"names":["styled","MuiAlert","_jsx","InfoOutlineRounded","TaskAltRounded","ErrorOutlineRounded","HighlightOffRounded","LinkRounded","OpenInNewOutlined","NoteOutlined"],"mappings":"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"}
@@ -122,18 +122,22 @@ const Breadcrumb = ({ items, currentItem, dropdownItems = [], onItemSelect, onNa
122
122
  flexWrap: 'nowrap',
123
123
  gap: 1,
124
124
  overflowX: 'auto',
125
+ minWidth: 0,
125
126
  scrollbarWidth: 'none',
126
127
  '&::-webkit-scrollbar': { display: 'none' },
127
128
  }, children: [jsxRuntime.jsx(HomeButton, { "aria-label": "Home", onClick: handleHomeClick, children: jsxRuntime.jsx(iconsMaterial.HomeRounded, { sx: { fontSize: 20, color: '#4D3019' } }) }), jsxRuntime.jsx(material.Breadcrumbs, { separator: "/", sx: {
128
129
  display: 'flex',
129
130
  flexWrap: 'nowrap',
130
131
  overflowX: 'auto',
132
+ minWidth: 0,
133
+ flex: '1 1 auto',
131
134
  '& .MuiBreadcrumbs-separator': { color: `${theme.palette.dark.main}66` },
132
135
  }, children: items.map((item, index) => (jsxRuntime.jsx(material.Typography, { sx: {
133
136
  color: theme.palette.dark.main,
134
137
  fontWeight: 500,
135
138
  px: { xs: 0.5, sm: 1 },
136
139
  whiteSpace: 'nowrap',
140
+ minWidth: 0,
137
141
  cursor: item.href ? 'pointer' : 'default',
138
142
  }, onClick: () => item.href && handleNavigation(item.href), children: item.label }, index))) }), jsxRuntime.jsx(DropdownMenu, { dropdownItems: dropdownItems, currentItem: currentItem, anchorEl: anchorEl, isDropdownOpen: isDropdownOpen, handleDropdownToggle: handleDropdownToggle, handleClose: handleClose, handleItemClick: handleItemClick })] }));
139
143
  };
@@ -1 +1 @@
1
- {"version":3,"file":"Breadcrumb.js","sources":["../../../../src/components/Breadcrumb.tsx"],"sourcesContent":["import React, { useState } from 'react';\r\nimport {\r\n Box,\r\n Breadcrumbs as MuiBreadcrumbs,\r\n Typography,\r\n IconButton,\r\n Menu,\r\n MenuItem,\r\n styled,\r\n useMediaQuery,\r\n} from '@mui/material';\r\nimport { useTheme } from '../ThemeProvider';\r\nimport { HomeRounded, ExpandMoreRounded, MoreHorizRounded } from '@mui/icons-material';\r\n\r\ninterface BreadcrumbItem {\r\n label: string;\r\n href?: string;\r\n}\r\n\r\ninterface BreadcrumbProps {\r\n items: BreadcrumbItem[];\r\n currentItem: string;\r\n dropdownItems?: BreadcrumbItem[];\r\n onItemSelect?: (item: BreadcrumbItem) => void;\r\n onNavigate?: (path: string) => void;\r\n}\r\n\r\nconst HomeButton = styled(IconButton)(({ theme }) => ({\r\n width: 40,\r\n height: 40,\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: theme.palette.custom?.iconColor || theme.palette.accent.main,\r\n flexShrink: 0,\r\n '&:hover': {\r\n backgroundColor: theme.palette.custom?.iconColor || theme.palette.accent.main,\r\n opacity: 0.8,\r\n },\r\n}));\r\n\r\nconst DropdownButton = styled('button')(({ theme }) => ({\r\n display: 'flex',\r\n alignItems: 'center',\r\n gap: theme.spacing(1),\r\n padding: theme.spacing(0.75, 2),\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 border: `1px solid ${theme.palette.dark.main}33`,\r\n backgroundColor: '#fff',\r\n color: theme.palette.dark.main,\r\n fontWeight: 500,\r\n whiteSpace: 'nowrap',\r\n cursor: 'pointer',\r\n transition: 'border-color 0.2s',\r\n fontSize: '0.875rem',\r\n '&:hover': {\r\n borderColor: `${theme.palette.dark.main}4D`,\r\n },\r\n [theme.breakpoints.down('sm')]: {\r\n padding: theme.spacing(0.75, 1),\r\n gap: theme.spacing(0.5),\r\n },\r\n}));\r\n\r\nconst StyledMenu = styled(Menu)(({ theme }) => ({\r\n '& .MuiPaper-root': {\r\n marginTop: theme.spacing(1),\r\n width: 'auto',\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 border: `1px solid ${theme.palette.dark.main}33`,\r\n boxShadow:\r\n '0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05)',\r\n },\r\n}));\r\n\r\nconst StyledMenuItem = styled(MenuItem, {\r\n shouldForwardProp: (prop) => prop !== 'isActive',\r\n})<{ isActive?: boolean }>(({ theme, isActive }) => ({\r\n padding: theme.spacing(1.25, 2),\r\n fontSize: '0.875rem',\r\n color: isActive ? theme.palette.primary.main : '#4D3019',\r\n fontWeight: isActive ? 500 : 400,\r\n backgroundColor: isActive ? '#F5F1ED' : 'transparent',\r\n '&:hover': {\r\n backgroundColor: '#F5F1ED',\r\n },\r\n}));\r\n\r\nconst DropdownMenu = ({\r\n dropdownItems,\r\n currentItem,\r\n anchorEl,\r\n isDropdownOpen,\r\n handleDropdownToggle,\r\n handleClose,\r\n handleItemClick,\r\n}: {\r\n dropdownItems: BreadcrumbItem[];\r\n currentItem: string;\r\n anchorEl: HTMLElement | null;\r\n isDropdownOpen: boolean;\r\n handleDropdownToggle: (e: React.MouseEvent<HTMLButtonElement>) => void;\r\n handleClose: () => void;\r\n handleItemClick: (item: BreadcrumbItem) => void;\r\n}) => {\r\n return dropdownItems.length > 0 ? (\r\n <Box sx={{ position: 'relative', flexShrink: 0 }}>\r\n <DropdownButton type=\"button\" onClick={handleDropdownToggle}>\r\n <span>{currentItem}</span>\r\n <ExpandMoreRounded\r\n sx={{\r\n fontSize: 20,\r\n transition: 'transform 0.2s',\r\n transform: isDropdownOpen ? 'rotate(180deg)' : 'rotate(0deg)',\r\n }}\r\n />\r\n </DropdownButton>\r\n\r\n <StyledMenu anchorEl={anchorEl} open={isDropdownOpen} onClose={handleClose}>\r\n {dropdownItems.map((item, index) => (\r\n <StyledMenuItem\r\n key={index}\r\n onClick={() => handleItemClick(item)}\r\n isActive={item.label === currentItem}\r\n >\r\n {item.label}\r\n </StyledMenuItem>\r\n ))}\r\n </StyledMenu>\r\n </Box>\r\n ) : null;\r\n};\r\n\r\nexport const Breadcrumb: React.FC<BreadcrumbProps> = ({\r\n items,\r\n currentItem,\r\n dropdownItems = [],\r\n onItemSelect,\r\n onNavigate,\r\n}) => {\r\n const theme = useTheme();\r\n const [anchorEl, setAnchorEl] = useState<null | HTMLElement>(null);\r\n const isDropdownOpen = Boolean(anchorEl);\r\n const isMobile = useMediaQuery(theme.breakpoints.down('sm'));\r\n\r\n const [pathAnchorEl, setPathAnchorEl] = useState<null | HTMLElement>(null);\r\n const isPathMenuOpen = Boolean(pathAnchorEl);\r\n \r\n const handleNavigation = (path: string) => {\r\n if (onNavigate) {\r\n onNavigate(path);\r\n } else {\r\n window.location.href = path;\r\n }\r\n };\r\n\r\n const handleDropdownToggle = (event: React.MouseEvent<HTMLButtonElement>) => {\r\n setAnchorEl(event.currentTarget);\r\n };\r\n\r\n const handleClose = () => setAnchorEl(null);\r\n\r\n const handlePathMenuOpen = (event: React.MouseEvent<HTMLButtonElement>) => {\r\n setPathAnchorEl(event.currentTarget);\r\n };\r\n const handlePathMenuClose = () => setPathAnchorEl(null);\r\n\r\n const handleHomeClick = () => handleNavigation('/');\r\n const handleItemClick = (item: BreadcrumbItem) => {\r\n onItemSelect?.(item);\r\n handleClose();\r\n handlePathMenuClose();\r\n if (item.href) handleNavigation(item.href);\r\n };\r\n\r\n if (isMobile && items.length > 2) {\r\n const last = items[items.length - 1];\r\n const middleItems = items.slice(1, -1);\r\n\r\n return (\r\n <Box component=\"nav\" sx={{ display: 'flex', alignItems: 'center', gap: 0.5 }}>\r\n <HomeButton aria-label=\"Home\" onClick={handleHomeClick}>\r\n <HomeRounded sx={{ fontSize: 20, color: '#4D3019' }} />\r\n </HomeButton>\r\n\r\n <IconButton size=\"small\" onClick={handlePathMenuOpen}>\r\n <MoreHorizRounded sx={{ color: theme.palette.dark.main }} />\r\n </IconButton>\r\n\r\n <Typography\r\n sx={{\r\n fontWeight: 500,\r\n color: theme.palette.dark.main,\r\n whiteSpace: 'nowrap',\r\n overflow: 'hidden',\r\n textOverflow: 'ellipsis',\r\n maxWidth: '120px',\r\n }}\r\n >\r\n {last.label || currentItem}\r\n </Typography>\r\n\r\n <StyledMenu\r\n anchorEl={pathAnchorEl}\r\n open={isPathMenuOpen}\r\n onClose={handlePathMenuClose}\r\n >\r\n {middleItems.map((item, index) => (\r\n <StyledMenuItem\r\n key={index}\r\n onClick={() => handleItemClick(item)}\r\n isActive={item.label === currentItem}\r\n >\r\n {item.label}\r\n </StyledMenuItem>\r\n ))}\r\n </StyledMenu>\r\n\r\n <DropdownMenu\r\n dropdownItems={dropdownItems}\r\n currentItem={currentItem}\r\n anchorEl={anchorEl}\r\n isDropdownOpen={isDropdownOpen}\r\n handleDropdownToggle={handleDropdownToggle}\r\n handleClose={handleClose}\r\n handleItemClick={handleItemClick}\r\n />\r\n </Box>\r\n );\r\n }\r\n\r\n return (\r\n <Box\r\n component=\"nav\"\r\n sx={{\r\n display: 'flex',\r\n alignItems: 'center',\r\n flexWrap: 'nowrap',\r\n gap: 1,\r\n overflowX: 'auto',\r\n scrollbarWidth: 'none',\r\n '&::-webkit-scrollbar': { display: 'none' },\r\n }}\r\n >\r\n <HomeButton aria-label=\"Home\" onClick={handleHomeClick}>\r\n <HomeRounded sx={{ fontSize: 20, color: '#4D3019' }} />\r\n </HomeButton>\r\n\r\n <MuiBreadcrumbs\r\n separator=\"/\"\r\n sx={{\r\n display: 'flex',\r\n flexWrap: 'nowrap',\r\n overflowX: 'auto',\r\n '& .MuiBreadcrumbs-separator': { color: `${theme.palette.dark.main}66` },\r\n }}\r\n >\r\n {items.map((item, index) => (\r\n <Typography\r\n key={index}\r\n sx={{\r\n color: theme.palette.dark.main,\r\n fontWeight: 500,\r\n px: { xs: 0.5, sm: 1 },\r\n whiteSpace: 'nowrap',\r\n cursor: item.href ? 'pointer' : 'default',\r\n }}\r\n onClick={() => item.href && handleNavigation(item.href)}\r\n >\r\n {item.label}\r\n </Typography>\r\n ))}\r\n </MuiBreadcrumbs>\r\n\r\n <DropdownMenu\r\n dropdownItems={dropdownItems}\r\n currentItem={currentItem}\r\n anchorEl={anchorEl}\r\n isDropdownOpen={isDropdownOpen}\r\n handleDropdownToggle={handleDropdownToggle}\r\n handleClose={handleClose}\r\n handleItemClick={handleItemClick}\r\n />\r\n </Box>\r\n );\r\n};\r\n"],"names":["styled","IconButton","Menu","MenuItem","_jsxs","Box","_jsx","ExpandMoreRounded","useTheme","useState","useMediaQuery","HomeRounded","MoreHorizRounded","Typography","MuiBreadcrumbs"],"mappings":"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"}
1
+ {"version":3,"file":"Breadcrumb.js","sources":["../../../../src/components/Breadcrumb.tsx"],"sourcesContent":["import React, { useState } from 'react';\r\nimport {\r\n Box,\r\n Breadcrumbs as MuiBreadcrumbs,\r\n Typography,\r\n IconButton,\r\n Menu,\r\n MenuItem,\r\n styled,\r\n useMediaQuery,\r\n} from '@mui/material';\r\nimport { useTheme } from '../ThemeProvider';\r\nimport { HomeRounded, ExpandMoreRounded, MoreHorizRounded } from '@mui/icons-material';\r\n\r\ninterface BreadcrumbItem {\r\n label: string;\r\n href?: string;\r\n}\r\n\r\ninterface BreadcrumbProps {\r\n items: BreadcrumbItem[];\r\n currentItem: string;\r\n dropdownItems?: BreadcrumbItem[];\r\n onItemSelect?: (item: BreadcrumbItem) => void;\r\n onNavigate?: (path: string) => void;\r\n}\r\n\r\nconst HomeButton = styled(IconButton)(({ theme }) => ({\r\n width: 40,\r\n height: 40,\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: theme.palette.custom?.iconColor || theme.palette.accent.main,\r\n flexShrink: 0,\r\n '&:hover': {\r\n backgroundColor: theme.palette.custom?.iconColor || theme.palette.accent.main,\r\n opacity: 0.8,\r\n },\r\n}));\r\n\r\nconst DropdownButton = styled('button')(({ theme }) => ({\r\n display: 'flex',\r\n alignItems: 'center',\r\n gap: theme.spacing(1),\r\n padding: theme.spacing(0.75, 2),\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 border: `1px solid ${theme.palette.dark.main}33`,\r\n backgroundColor: '#fff',\r\n color: theme.palette.dark.main,\r\n fontWeight: 500,\r\n whiteSpace: 'nowrap',\r\n cursor: 'pointer',\r\n transition: 'border-color 0.2s',\r\n fontSize: '0.875rem',\r\n '&:hover': {\r\n borderColor: `${theme.palette.dark.main}4D`,\r\n },\r\n [theme.breakpoints.down('sm')]: {\r\n padding: theme.spacing(0.75, 1),\r\n gap: theme.spacing(0.5),\r\n },\r\n}));\r\n\r\nconst StyledMenu = styled(Menu)(({ theme }) => ({\r\n '& .MuiPaper-root': {\r\n marginTop: theme.spacing(1),\r\n width: 'auto',\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 border: `1px solid ${theme.palette.dark.main}33`,\r\n boxShadow:\r\n '0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05)',\r\n },\r\n}));\r\n\r\nconst StyledMenuItem = styled(MenuItem, {\r\n shouldForwardProp: (prop) => prop !== 'isActive',\r\n})<{ isActive?: boolean }>(({ theme, isActive }) => ({\r\n padding: theme.spacing(1.25, 2),\r\n fontSize: '0.875rem',\r\n color: isActive ? theme.palette.primary.main : '#4D3019',\r\n fontWeight: isActive ? 500 : 400,\r\n backgroundColor: isActive ? '#F5F1ED' : 'transparent',\r\n '&:hover': {\r\n backgroundColor: '#F5F1ED',\r\n },\r\n}));\r\n\r\nconst DropdownMenu = ({\r\n dropdownItems,\r\n currentItem,\r\n anchorEl,\r\n isDropdownOpen,\r\n handleDropdownToggle,\r\n handleClose,\r\n handleItemClick,\r\n}: {\r\n dropdownItems: BreadcrumbItem[];\r\n currentItem: string;\r\n anchorEl: HTMLElement | null;\r\n isDropdownOpen: boolean;\r\n handleDropdownToggle: (e: React.MouseEvent<HTMLButtonElement>) => void;\r\n handleClose: () => void;\r\n handleItemClick: (item: BreadcrumbItem) => void;\r\n}) => {\r\n return dropdownItems.length > 0 ? (\r\n <Box sx={{ position: 'relative', flexShrink: 0 }}>\r\n <DropdownButton type=\"button\" onClick={handleDropdownToggle}>\r\n <span>{currentItem}</span>\r\n <ExpandMoreRounded\r\n sx={{\r\n fontSize: 20,\r\n transition: 'transform 0.2s',\r\n transform: isDropdownOpen ? 'rotate(180deg)' : 'rotate(0deg)',\r\n }}\r\n />\r\n </DropdownButton>\r\n\r\n <StyledMenu anchorEl={anchorEl} open={isDropdownOpen} onClose={handleClose}>\r\n {dropdownItems.map((item, index) => (\r\n <StyledMenuItem\r\n key={index}\r\n onClick={() => handleItemClick(item)}\r\n isActive={item.label === currentItem}\r\n >\r\n {item.label}\r\n </StyledMenuItem>\r\n ))}\r\n </StyledMenu>\r\n </Box>\r\n ) : null;\r\n};\r\n\r\nexport const Breadcrumb: React.FC<BreadcrumbProps> = ({\r\n items,\r\n currentItem,\r\n dropdownItems = [],\r\n onItemSelect,\r\n onNavigate,\r\n}) => {\r\n const theme = useTheme();\r\n const [anchorEl, setAnchorEl] = useState<null | HTMLElement>(null);\r\n const isDropdownOpen = Boolean(anchorEl);\r\n const isMobile = useMediaQuery(theme.breakpoints.down('sm'));\r\n\r\n const [pathAnchorEl, setPathAnchorEl] = useState<null | HTMLElement>(null);\r\n const isPathMenuOpen = Boolean(pathAnchorEl);\r\n \r\n const handleNavigation = (path: string) => {\r\n if (onNavigate) {\r\n onNavigate(path);\r\n } else {\r\n window.location.href = path;\r\n }\r\n };\r\n\r\n const handleDropdownToggle = (event: React.MouseEvent<HTMLButtonElement>) => {\r\n setAnchorEl(event.currentTarget);\r\n };\r\n\r\n const handleClose = () => setAnchorEl(null);\r\n\r\n const handlePathMenuOpen = (event: React.MouseEvent<HTMLButtonElement>) => {\r\n setPathAnchorEl(event.currentTarget);\r\n };\r\n const handlePathMenuClose = () => setPathAnchorEl(null);\r\n\r\n const handleHomeClick = () => handleNavigation('/');\r\n const handleItemClick = (item: BreadcrumbItem) => {\r\n onItemSelect?.(item);\r\n handleClose();\r\n handlePathMenuClose();\r\n if (item.href) handleNavigation(item.href);\r\n };\r\n\r\n if (isMobile && items.length > 2) {\r\n const last = items[items.length - 1];\r\n const middleItems = items.slice(1, -1);\r\n\r\n return (\r\n <Box component=\"nav\" sx={{ display: 'flex', alignItems: 'center', gap: 0.5 }}>\r\n <HomeButton aria-label=\"Home\" onClick={handleHomeClick}>\r\n <HomeRounded sx={{ fontSize: 20, color: '#4D3019' }} />\r\n </HomeButton>\r\n\r\n <IconButton size=\"small\" onClick={handlePathMenuOpen}>\r\n <MoreHorizRounded sx={{ color: theme.palette.dark.main }} />\r\n </IconButton>\r\n\r\n <Typography\r\n sx={{\r\n fontWeight: 500,\r\n color: theme.palette.dark.main,\r\n whiteSpace: 'nowrap',\r\n overflow: 'hidden',\r\n textOverflow: 'ellipsis',\r\n maxWidth: '120px',\r\n }}\r\n >\r\n {last.label || currentItem}\r\n </Typography>\r\n\r\n <StyledMenu\r\n anchorEl={pathAnchorEl}\r\n open={isPathMenuOpen}\r\n onClose={handlePathMenuClose}\r\n >\r\n {middleItems.map((item, index) => (\r\n <StyledMenuItem\r\n key={index}\r\n onClick={() => handleItemClick(item)}\r\n isActive={item.label === currentItem}\r\n >\r\n {item.label}\r\n </StyledMenuItem>\r\n ))}\r\n </StyledMenu>\r\n\r\n <DropdownMenu\r\n dropdownItems={dropdownItems}\r\n currentItem={currentItem}\r\n anchorEl={anchorEl}\r\n isDropdownOpen={isDropdownOpen}\r\n handleDropdownToggle={handleDropdownToggle}\r\n handleClose={handleClose}\r\n handleItemClick={handleItemClick}\r\n />\r\n </Box>\r\n );\r\n }\r\n\r\n return (\r\n <Box\r\n component=\"nav\"\r\n sx={{\r\n display: 'flex',\r\n alignItems: 'center',\r\n flexWrap: 'nowrap',\r\n gap: 1,\r\n overflowX: 'auto',\r\n minWidth: 0,\r\n scrollbarWidth: 'none',\r\n '&::-webkit-scrollbar': { display: 'none' },\r\n }}\r\n >\r\n <HomeButton aria-label=\"Home\" onClick={handleHomeClick}>\r\n <HomeRounded sx={{ fontSize: 20, color: '#4D3019' }} />\r\n </HomeButton>\r\n\r\n <MuiBreadcrumbs\r\n separator=\"/\"\r\n sx={{\r\n display: 'flex',\r\n flexWrap: 'nowrap',\r\n overflowX: 'auto',\r\n minWidth: 0,\r\n flex: '1 1 auto',\r\n '& .MuiBreadcrumbs-separator': { color: `${theme.palette.dark.main}66` },\r\n }}\r\n >\r\n {items.map((item, index) => (\r\n <Typography\r\n key={index}\r\n sx={{\r\n color: theme.palette.dark.main,\r\n fontWeight: 500,\r\n px: { xs: 0.5, sm: 1 },\r\n whiteSpace: 'nowrap',\r\n minWidth: 0,\r\n cursor: item.href ? 'pointer' : 'default',\r\n }}\r\n onClick={() => item.href && handleNavigation(item.href)}\r\n >\r\n {item.label}\r\n </Typography>\r\n ))}\r\n </MuiBreadcrumbs>\r\n\r\n <DropdownMenu\r\n dropdownItems={dropdownItems}\r\n currentItem={currentItem}\r\n anchorEl={anchorEl}\r\n isDropdownOpen={isDropdownOpen}\r\n handleDropdownToggle={handleDropdownToggle}\r\n handleClose={handleClose}\r\n handleItemClick={handleItemClick}\r\n />\r\n </Box>\r\n );\r\n};\r\n"],"names":["styled","IconButton","Menu","MenuItem","_jsxs","Box","_jsx","ExpandMoreRounded","useTheme","useState","useMediaQuery","HomeRounded","MoreHorizRounded","Typography","MuiBreadcrumbs"],"mappings":"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"}
@@ -79,7 +79,7 @@ const Modal = ({ isOpen, onClose, status, requirementType, description, value, d
79
79
  const [isSubmitting, setIsSubmitting] = React.useState(false);
80
80
  const theme = material.useTheme();
81
81
  React.useEffect(() => {
82
- setUseDefaultValue(variableState !== VariableState.Pending && variableState !== VariableState.Draft);
82
+ setUseDefaultValue(value === defaultValue);
83
83
  setTextValue(value);
84
84
  setPrevTextValue(value);
85
85
  }, [isOpen, value, defaultValue]);
@@ -175,7 +175,9 @@ const Modal = ({ isOpen, onClose, status, requirementType, description, value, d
175
175
  backgroundColor: '#00000000',
176
176
  borderColor: '#acacacff',
177
177
  color: '#4D3019',
178
- }, children: note })), jsxRuntime.jsx(material.TextField, { multiline: true, rows: 6, fullWidth: true, value: textValue, onChange: (e) => setTextValue(e.target.value), disabled: useDefaultValue || canSubmitSave, sx: {
178
+ }, children: note })), jsxRuntime.jsx(material.TextField, { multiline: true, rows: 6, fullWidth: true, value: textValue, onChange: (e) => setTextValue(e.target.value), disabled: useDefaultValue ||
179
+ canSubmitSave ||
180
+ variableState === VariableState.Declined, sx: {
179
181
  mb: 2,
180
182
  '& .MuiOutlinedInput-root': {
181
183
  backgroundColor: useDefaultValue || canSubmitSave ? 'rgba(0, 0, 0, 0.05)' : '#fff',
@@ -201,7 +203,7 @@ const Modal = ({ isOpen, onClose, status, requirementType, description, value, d
201
203
  '&:hover': {
202
204
  backgroundColor: '#ac46ff80',
203
205
  },
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 &&
206
+ }, 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 &&
205
207
  (jsxRuntime.jsx(Button.Button, { onClick: onDeclineWording, variant: "outline", size: "md", sx: {
206
208
  backgroundColor: '#ff464652',
207
209
  '&:hover': {
@@ -1 +1 @@
1
- {"version":3,"file":"Modal.js","sources":["../../../../src/components/Modal.tsx"],"sourcesContent":["import React, { useEffect, useState } from 'react';\r\nimport {\r\n Dialog,\r\n DialogContent,\r\n IconButton,\r\n Box,\r\n Typography,\r\n TextField,\r\n Checkbox,\r\n FormControlLabel,\r\n Alert as MuiAlert,\r\n Chip,\r\n styled,\r\n CircularProgress,\r\n useTheme,\r\n} from '@mui/material';\r\nimport { Button } from './Button';\r\nimport { ArrowBackIosRounded, ArrowForwardIosRounded, ArticleRounded, CloseRounded, ErrorOutlineRounded, InfoOutlineRounded, StickyNote2Rounded } from '@mui/icons-material';\r\nimport { Alert } from './Alert';\r\nimport { toast } from 'react-toastify';\r\n\r\nenum VariableState {\r\n Accepted = \"Accepted\",\r\n Pending = \"Pending\",\r\n ActionRequired = \"Action Required\",\r\n Declined = \"Declined\",\r\n Draft = \"Draft\"\r\n}\r\n\r\nenum RequirementType {\r\n Default = \"Default\",\r\n Optional = \"Optional\"\r\n}\r\n\r\n\r\ninterface ModalProps {\r\n isOpen: boolean;\r\n onClose: () => void;\r\n status: string;\r\n requirementType: string,\r\n description: string;\r\n value: string;\r\n defaultValue: string;\r\n note?: string;\r\n onSave?: (fieldValue: string, defaultChecked: boolean) => void;\r\n onSubmit?: (fieldValue: string, defaultChecked: boolean) => void;\r\n successMessage?: string;\r\n errorMessage?: string;\r\n onDeclineWording?: () => void;\r\n onPrevious?: () => void;\r\n onNext?: () => void;\r\n currentPage?: number;\r\n totalPages?: number;\r\n isLoading: boolean;\r\n}\r\n\r\n\r\nconst StyledDialog = styled(Dialog)(({ theme }) => ({\r\n '& .MuiDialog-paper': {\r\n color: theme.palette.background.default,\r\n borderRadius: theme.shape.borderRadius,\r\n maxWidth: '896px',\r\n width: '100%',\r\n maxHeight: '90vh',\r\n },\r\n}));\r\n\r\n\r\nconst NavButton = styled(IconButton)(({ theme }) => ({\r\n width: '40px',\r\n height: '40px',\r\n borderRadius: 999,\r\n border: `2px solid ${theme.palette.dark.main}`,\r\n backgroundColor: '#fff',\r\n padding: theme.spacing(1, 2),\r\n '&:hover': {\r\n backgroundColor: theme.palette.grey[100], // Changed from dark.main to grey[100]\r\n color: theme.palette.dark.main, // Keep text dark instead of light\r\n borderColor: theme.palette.dark.main, // Keep border dark\r\n },\r\n}));\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 default:\r\n return undefined;\r\n }\r\n}\r\n\r\n\r\nfunction mapRequirementTypeToState(reqType: string): 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 const Modal: React.FC<ModalProps> = ({\r\n isOpen,\r\n onClose,\r\n status,\r\n requirementType,\r\n description,\r\n value,\r\n defaultValue,\r\n note,\r\n onSave,\r\n onSubmit,\r\n successMessage,\r\n errorMessage,\r\n onDeclineWording,\r\n onPrevious,\r\n onNext,\r\n currentPage = 1,\r\n totalPages = 1,\r\n isLoading\r\n}) => {\r\n const variableState = mapStatusToVariableState(status);\r\n const variableReqType = mapRequirementTypeToState(requirementType)\r\n\r\n const [textValue, setTextValue] = useState(value);\r\n const [prevTextValue, setPrevTextValue] = useState(value);\r\n\r\n const [useDefaultValue, setUseDefaultValue] = useState(true);\r\n const [isSaving, setIsSaving] = useState(false);\r\n const [isSubmitting, setIsSubmitting] = useState(false);\r\n\r\n const theme = useTheme()\r\n\r\n useEffect(() => {\r\n setUseDefaultValue(variableState !== VariableState.Pending && variableState !== VariableState.Draft);\r\n setTextValue(value);\r\n setPrevTextValue(value); \r\n }, [isOpen, value, defaultValue]); \r\n\r\n\r\n useEffect(() => {\r\n if (!isOpen) {\r\n setIsSaving(false);\r\n setIsSubmitting(false);\r\n }\r\n }, [isOpen]);\r\n\r\n useEffect(() => {\r\n if (successMessage && successMessage !== '') {\r\n toast.success(successMessage);\r\n }\r\n }, [successMessage]);\r\n \r\n useEffect(() => {\r\n if (errorMessage && errorMessage !== '') {\r\n toast.error(errorMessage);\r\n }\r\n }, [errorMessage]);\r\n \r\n useEffect(() => {\r\n if (!isLoading) {\r\n setIsSaving(false);\r\n setIsSubmitting(false);\r\n }\r\n }, [isLoading]);\r\n\r\n useEffect(() => {\r\n if (useDefaultValue){\r\n setPrevTextValue(textValue);\r\n setTextValue(defaultValue);\r\n } else {\r\n setTextValue(prevTextValue);\r\n }\r\n }, [useDefaultValue, defaultValue]);\r\n\r\n\r\n\r\n const handleUseDefaultValueChange = (event: React.ChangeEvent<HTMLInputElement>) => {\r\n setUseDefaultValue(event.target.checked);\r\n };\r\n\r\n\r\n const canSubmitSave = isLoading || variableState === VariableState.Pending\r\n\r\n const statusConfig = {\r\n [VariableState.Pending]: { color: '#EBC7FF', label: 'Pending' },\r\n [VariableState.Draft]: { color: '#4D3019', label: 'Draft' },\r\n [VariableState.Declined]: { color: '#4D3019', label: 'Declined' },\r\n [VariableState.ActionRequired]: { color: '#FFBCB3', label: 'Action Required' },\r\n [VariableState.Accepted]: { color: '#DBF59A', label: 'Accepted' },\r\n };\r\n\r\n const reqTypeConfig = {\r\n [RequirementType.Default]: { color: '#F5A623', label: 'Mandatory' },\r\n [RequirementType.Optional]: { color: '#F5D76E', label: 'Optional' },\r\n };\r\n\r\n const statusStyle = variableState ? statusConfig[variableState] : { color: '#ccc', label: 'Unknown' };;\r\n const requirementTypeStyle = variableReqType ? reqTypeConfig[variableReqType] : { color: '#ccc', label: 'Unknown' };;\r\n\r\n\r\n const handleSave = () => {\r\n setIsSaving(true);\r\n onSave?.(textValue, useDefaultValue);\r\n };\r\n\r\n\r\n const handleSubmit = () => {\r\n setIsSubmitting(true);\r\n onSubmit?.(textValue, useDefaultValue);\r\n };\r\n\r\n\r\n return (\r\n <StyledDialog open={isOpen} onClose={onClose} maxWidth=\"md\" fullWidth>\r\n <IconButton\r\n onClick={onClose}\r\n disabled={isLoading}\r\n sx={{\r\n position: 'absolute',\r\n top: 16,\r\n right: 16,\r\n zIndex: 1,\r\n }}\r\n >\r\n <CloseRounded sx={{ fontSize: 24 }} />\r\n </IconButton>\r\n\r\n\r\n <DialogContent sx={{ p: { xs: 3, sm: 4, md: 6 } }}>\r\n {/* Status Chip */}\r\n <Box sx={{ mb: 3}}>\r\n <Chip\r\n label={requirementTypeStyle.label.toUpperCase()}\r\n sx={{\r\n mr: 3,\r\n border: '3px solid',\r\n backgroundColor: requirementTypeStyle.color,\r\n borderColor: requirementTypeStyle.color,\r\n color: '#4D3019',\r\n fontWeight: 600,\r\n fontSize: '0.875rem',\r\n height: 'auto',\r\n py: 1,\r\n borderRadius: 0,\r\n px: 2,\r\n }}\r\n />\r\n <Chip\r\n label={statusStyle.label.toUpperCase()}\r\n sx={{\r\n mr: 3,\r\n border: '3px solid',\r\n backgroundColor: '#FDFCEE',\r\n borderColor: statusStyle.color,\r\n color: '#4D3019',\r\n fontWeight: 600,\r\n fontSize: '0.875rem',\r\n height: 'auto',\r\n py: 1,\r\n borderRadius: 0,\r\n px: 2,\r\n }}\r\n />\r\n </Box>\r\n\r\n\r\n {/* Description */}\r\n <Typography sx={{ mb: 3, lineHeight: 1.6, whiteSpace: 'pre-line' }}>\r\n {description}\r\n </Typography>\r\n\r\n\r\n {/* Error Alert with Custom Icon */}\r\n {variableState === VariableState.ActionRequired && note && (\r\n <Alert\r\n variant=\"error\"\r\n icon={<InfoOutlineRounded sx={{ fontSize: 20 }} />}\r\n sx={{\r\n mb: 2\r\n }}\r\n >\r\n {note}\r\n </Alert>\r\n )}\r\n\r\n {/* Info Alert with Custom Background and Icon */}\r\n {variableState !== VariableState.ActionRequired && note && (\r\n <Alert\r\n variant=\"info\"\r\n icon={<ArticleRounded sx={{ fontSize: 20, color: '#4D3019'}} />}\r\n sx={{\r\n mb: 2,\r\n backgroundColor: '#00000000',\r\n borderColor: '#acacacff',\r\n color: '#4D3019',\r\n }}\r\n >\r\n {note}\r\n </Alert>\r\n )}\r\n\r\n\r\n {/* Text Field */}\r\n <TextField\r\n multiline\r\n rows={6}\r\n fullWidth\r\n value={textValue}\r\n onChange={(e) => setTextValue(e.target.value)}\r\n disabled={useDefaultValue || canSubmitSave}\r\n sx={{\r\n mb: 2,\r\n '& .MuiOutlinedInput-root': {\r\n backgroundColor: useDefaultValue || canSubmitSave ? 'rgba(0, 0, 0, 0.05)' : '#fff',\r\n borderRadius: 2,\r\n },\r\n }}\r\n />\r\n\r\n\r\n {/* Checkbox */}\r\n <FormControlLabel\r\n control={\r\n <Checkbox\r\n checked={useDefaultValue}\r\n disabled={canSubmitSave || variableState === VariableState.Declined}\r\n onChange={handleUseDefaultValueChange}\r\n sx={{\r\n color: '#AC46FF',\r\n '&.Mui-checked': {\r\n color: '#AC46FF',\r\n },\r\n }}\r\n />\r\n }\r\n label=\"Use Default Wording\"\r\n sx={{ mb: 3 }}\r\n />\r\n\r\n <Box\r\n sx={{\r\n display: 'flex',\r\n flexDirection: { xs: 'column', sm: 'row' },\r\n alignItems: { xs: 'stretch', sm: 'center' },\r\n justifyContent: 'space-between',\r\n gap: 2,\r\n pt: 3,\r\n borderTop: '1px solid',\r\n borderColor: 'divider',\r\n }}\r\n >\r\n {variableState !== VariableState.Declined ? (\r\n <Box sx={{ display: 'flex', gap: 1.5, flexWrap: 'wrap' }}>\r\n {useDefaultValue === false? \r\n (\r\n <Button\r\n onClick={handleSave}\r\n variant=\"outline\"\r\n size=\"md\"\r\n disabled={canSubmitSave}\r\n >\r\n {isSaving ? <><CircularProgress size={20} /><Typography sx={{paddingLeft: 2}}>Saving...</Typography></> : \"Save\"}\r\n </Button>\r\n ) : (<></>)\r\n }\r\n <Button\r\n onClick={handleSubmit}\r\n variant=\"outline\"\r\n size=\"md\"\r\n disabled={canSubmitSave}\r\n sx={{\r\n backgroundColor: '#ac46ff52',\r\n '&:hover': {\r\n backgroundColor: '#ac46ff80',\r\n },\r\n }}\r\n >\r\n {isSubmitting ? <><CircularProgress size={20} /><Typography sx={{paddingLeft: 2}}>Submitting...</Typography></> : \"Submit for review\"}\r\n </Button>\r\n {variableReqType === RequirementType.Optional || useDefaultValue === false &&\r\n (\r\n <Button onClick={onDeclineWording} variant=\"outline\" size=\"md\" sx={{\r\n backgroundColor: '#ff464652',\r\n '&:hover': {\r\n backgroundColor: '#ff464680', // Darker purple on hover\r\n }\r\n }}\r\n disabled={canSubmitSave}\r\n >\r\n Decline wording\r\n </Button>\r\n )}\r\n </Box>\r\n ) : (<Box sx={{ display: 'flex', gap: 1.5, flexWrap: 'wrap' }}></Box>)}\r\n \r\n\r\n {/* Navigation */}\r\n <Box\r\n sx={{\r\n display: 'flex',\r\n alignItems: 'center',\r\n gap: 1.5,\r\n justifyContent: { xs: 'space-between', sm: 'flex-end' },\r\n }}\r\n >\r\n {currentPage !== 1 && <NavButton onClick={onPrevious} aria-label=\"Previous\" disabled={isLoading}>\r\n <ArrowBackIosRounded sx={{ fontSize: 20, color: theme.palette.text.primary }}/>\r\n </NavButton>}\r\n {currentPage !== totalPages && <NavButton onClick={onNext} aria-label=\"Next\" disabled={isLoading}>\r\n <ArrowForwardIosRounded sx={{ fontSize: 20, color: theme.palette.text.primary }}/>\r\n </NavButton>}\r\n <Typography fontWeight={500} fontSize=\"1.125rem\">\r\n {currentPage}/{totalPages}\r\n </Typography>\r\n </Box>\r\n </Box>\r\n </DialogContent>\r\n </StyledDialog>\r\n );\r\n};\r\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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"}
1
+ {"version":3,"file":"Modal.js","sources":["../../../../src/components/Modal.tsx"],"sourcesContent":["import React, { useEffect, useState } from 'react';\r\nimport {\r\n Dialog,\r\n DialogContent,\r\n IconButton,\r\n Box,\r\n Typography,\r\n TextField,\r\n Checkbox,\r\n FormControlLabel,\r\n Alert as MuiAlert,\r\n Chip,\r\n styled,\r\n CircularProgress,\r\n useTheme,\r\n} from '@mui/material';\r\nimport { Button } from './Button';\r\nimport { ArrowBackIosRounded, ArrowForwardIosRounded, ArticleRounded, CloseRounded, ErrorOutlineRounded, InfoOutlineRounded, StickyNote2Rounded } from '@mui/icons-material';\r\nimport { Alert } from './Alert';\r\nimport { toast } from 'react-toastify';\r\n\r\nenum VariableState {\r\n Accepted = \"Accepted\",\r\n Pending = \"Pending\",\r\n ActionRequired = \"Action Required\",\r\n Declined = \"Declined\",\r\n Draft = \"Draft\"\r\n}\r\n\r\nenum RequirementType {\r\n Default = \"Default\",\r\n Optional = \"Optional\"\r\n}\r\n\r\n\r\ninterface ModalProps {\r\n isOpen: boolean;\r\n onClose: () => void;\r\n status: string;\r\n requirementType: string,\r\n description: string;\r\n value: string;\r\n defaultValue: string;\r\n note?: string;\r\n onSave?: (fieldValue: string, defaultChecked: boolean) => void;\r\n onSubmit?: (fieldValue: string, defaultChecked: boolean) => void;\r\n successMessage?: string;\r\n errorMessage?: string;\r\n onDeclineWording?: () => void;\r\n onPrevious?: () => void;\r\n onNext?: () => void;\r\n currentPage?: number;\r\n totalPages?: number;\r\n isLoading: boolean;\r\n}\r\n\r\n\r\nconst StyledDialog = styled(Dialog)(({ theme }) => ({\r\n '& .MuiDialog-paper': {\r\n color: theme.palette.background.default,\r\n borderRadius: theme.shape.borderRadius,\r\n maxWidth: '896px',\r\n width: '100%',\r\n maxHeight: '90vh',\r\n },\r\n}));\r\n\r\n\r\nconst NavButton = styled(IconButton)(({ theme }) => ({\r\n width: '40px',\r\n height: '40px',\r\n borderRadius: 999,\r\n border: `2px solid ${theme.palette.dark.main}`,\r\n backgroundColor: '#fff',\r\n padding: theme.spacing(1, 2),\r\n '&:hover': {\r\n backgroundColor: theme.palette.grey[100], // Changed from dark.main to grey[100]\r\n color: theme.palette.dark.main, // Keep text dark instead of light\r\n borderColor: theme.palette.dark.main, // Keep border dark\r\n },\r\n}));\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 default:\r\n return undefined;\r\n }\r\n}\r\n\r\n\r\nfunction mapRequirementTypeToState(reqType: string): 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 const Modal: React.FC<ModalProps> = ({\r\n isOpen,\r\n onClose,\r\n status,\r\n requirementType,\r\n description,\r\n value,\r\n defaultValue,\r\n note,\r\n onSave,\r\n onSubmit,\r\n successMessage,\r\n errorMessage,\r\n onDeclineWording,\r\n onPrevious,\r\n onNext,\r\n currentPage = 1,\r\n totalPages = 1,\r\n isLoading\r\n}) => {\r\n const variableState = mapStatusToVariableState(status);\r\n const variableReqType = mapRequirementTypeToState(requirementType)\r\n\r\n const [textValue, setTextValue] = useState(value);\r\n const [prevTextValue, setPrevTextValue] = useState(value);\r\n\r\n const [useDefaultValue, setUseDefaultValue] = useState(true);\r\n const [isSaving, setIsSaving] = useState(false);\r\n const [isSubmitting, setIsSubmitting] = useState(false);\r\n\r\n const theme = useTheme()\r\n\r\n useEffect(() => {\r\n setUseDefaultValue(value === defaultValue);\r\n setTextValue(value);\r\n setPrevTextValue(value); \r\n }, [isOpen, value, defaultValue]); \r\n\r\n\r\n useEffect(() => {\r\n if (!isOpen) {\r\n setIsSaving(false);\r\n setIsSubmitting(false);\r\n }\r\n }, [isOpen]);\r\n\r\n useEffect(() => {\r\n if (successMessage && successMessage !== '') {\r\n toast.success(successMessage);\r\n }\r\n }, [successMessage]);\r\n \r\n useEffect(() => {\r\n if (errorMessage && errorMessage !== '') {\r\n toast.error(errorMessage);\r\n }\r\n }, [errorMessage]);\r\n \r\n useEffect(() => {\r\n if (!isLoading) {\r\n setIsSaving(false);\r\n setIsSubmitting(false);\r\n }\r\n }, [isLoading]);\r\n\r\n useEffect(() => {\r\n if (useDefaultValue){\r\n setPrevTextValue(textValue);\r\n setTextValue(defaultValue);\r\n } else {\r\n setTextValue(prevTextValue);\r\n }\r\n }, [useDefaultValue, defaultValue]);\r\n\r\n\r\n\r\n const handleUseDefaultValueChange = (event: React.ChangeEvent<HTMLInputElement>) => {\r\n setUseDefaultValue(event.target.checked);\r\n };\r\n\r\n\r\n const canSubmitSave = isLoading || variableState === VariableState.Pending\r\n\r\n const statusConfig = {\r\n [VariableState.Pending]: { color: '#EBC7FF', label: 'Pending' },\r\n [VariableState.Draft]: { color: '#4D3019', label: 'Draft' },\r\n [VariableState.Declined]: { color: '#4D3019', label: 'Declined' },\r\n [VariableState.ActionRequired]: { color: '#FFBCB3', label: 'Action Required' },\r\n [VariableState.Accepted]: { color: '#DBF59A', label: 'Accepted' },\r\n };\r\n\r\n const reqTypeConfig = {\r\n [RequirementType.Default]: { color: '#F5A623', label: 'Mandatory' },\r\n [RequirementType.Optional]: { color: '#F5D76E', label: 'Optional' },\r\n };\r\n\r\n const statusStyle = variableState ? statusConfig[variableState] : { color: '#ccc', label: 'Unknown' };;\r\n const requirementTypeStyle = variableReqType ? reqTypeConfig[variableReqType] : { color: '#ccc', label: 'Unknown' };;\r\n\r\n\r\n const handleSave = () => {\r\n setIsSaving(true);\r\n onSave?.(textValue, useDefaultValue);\r\n };\r\n\r\n\r\n const handleSubmit = () => {\r\n setIsSubmitting(true);\r\n onSubmit?.(textValue, useDefaultValue);\r\n };\r\n\r\n\r\n return (\r\n <StyledDialog open={isOpen} onClose={onClose} maxWidth=\"md\" fullWidth>\r\n <IconButton\r\n onClick={onClose}\r\n disabled={isLoading}\r\n sx={{\r\n position: 'absolute',\r\n top: 16,\r\n right: 16,\r\n zIndex: 1,\r\n }}\r\n >\r\n <CloseRounded sx={{ fontSize: 24 }} />\r\n </IconButton>\r\n\r\n\r\n <DialogContent sx={{ p: { xs: 3, sm: 4, md: 6 } }}>\r\n {/* Status Chip */}\r\n <Box sx={{ mb: 3}}>\r\n <Chip\r\n label={requirementTypeStyle.label.toUpperCase()}\r\n sx={{\r\n mr: 3,\r\n border: '3px solid',\r\n backgroundColor: requirementTypeStyle.color,\r\n borderColor: requirementTypeStyle.color,\r\n color: '#4D3019',\r\n fontWeight: 600,\r\n fontSize: '0.875rem',\r\n height: 'auto',\r\n py: 1,\r\n borderRadius: 0,\r\n px: 2,\r\n }}\r\n />\r\n <Chip\r\n label={statusStyle.label.toUpperCase()}\r\n sx={{\r\n mr: 3,\r\n border: '3px solid',\r\n backgroundColor: '#FDFCEE',\r\n borderColor: statusStyle.color,\r\n color: '#4D3019',\r\n fontWeight: 600,\r\n fontSize: '0.875rem',\r\n height: 'auto',\r\n py: 1,\r\n borderRadius: 0,\r\n px: 2,\r\n }}\r\n />\r\n </Box>\r\n\r\n\r\n {/* Description */}\r\n <Typography sx={{ mb: 3, lineHeight: 1.6, whiteSpace: 'pre-line' }}>\r\n {description}\r\n </Typography>\r\n\r\n\r\n {/* Error Alert with Custom Icon */}\r\n {variableState === VariableState.ActionRequired && note && (\r\n <Alert\r\n variant=\"error\"\r\n icon={<InfoOutlineRounded sx={{ fontSize: 20 }} />}\r\n sx={{\r\n mb: 2\r\n }}\r\n >\r\n {note}\r\n </Alert>\r\n )}\r\n\r\n {/* Info Alert with Custom Background and Icon */}\r\n {variableState !== VariableState.ActionRequired && note && (\r\n <Alert\r\n variant=\"info\"\r\n icon={<ArticleRounded sx={{ fontSize: 20, color: '#4D3019'}} />}\r\n sx={{\r\n mb: 2,\r\n backgroundColor: '#00000000',\r\n borderColor: '#acacacff',\r\n color: '#4D3019',\r\n }}\r\n >\r\n {note}\r\n </Alert>\r\n )}\r\n\r\n\r\n {/* Text Field */}\r\n <TextField\r\n multiline\r\n rows={6}\r\n fullWidth\r\n value={textValue}\r\n onChange={(e) => setTextValue(e.target.value)}\r\n disabled={\r\n useDefaultValue || \r\n canSubmitSave || \r\n variableState === VariableState.Declined\r\n }\r\n sx={{\r\n mb: 2,\r\n '& .MuiOutlinedInput-root': {\r\n backgroundColor: useDefaultValue || canSubmitSave ? 'rgba(0, 0, 0, 0.05)' : '#fff',\r\n borderRadius: 2,\r\n },\r\n }}\r\n />\r\n\r\n\r\n {/* Checkbox */}\r\n <FormControlLabel\r\n control={\r\n <Checkbox\r\n checked={useDefaultValue}\r\n disabled={canSubmitSave || variableState === VariableState.Declined}\r\n onChange={handleUseDefaultValueChange}\r\n sx={{\r\n color: '#AC46FF',\r\n '&.Mui-checked': {\r\n color: '#AC46FF',\r\n },\r\n }}\r\n />\r\n }\r\n label=\"Use Default Wording\"\r\n sx={{ mb: 3 }}\r\n />\r\n\r\n <Box\r\n sx={{\r\n display: 'flex',\r\n flexDirection: { xs: 'column', sm: 'row' },\r\n alignItems: { xs: 'stretch', sm: 'center' },\r\n justifyContent: 'space-between',\r\n gap: 2,\r\n pt: 3,\r\n borderTop: '1px solid',\r\n borderColor: 'divider',\r\n }}\r\n >\r\n {variableState !== VariableState.Declined ? (\r\n <Box sx={{ display: 'flex', gap: 1.5, flexWrap: 'wrap' }}>\r\n {useDefaultValue === false? \r\n (\r\n <Button\r\n onClick={handleSave}\r\n variant=\"outline\"\r\n size=\"md\"\r\n disabled={canSubmitSave}\r\n >\r\n {isSaving ? <><CircularProgress size={20} /><Typography sx={{paddingLeft: 2}}>Saving...</Typography></> : \"Save\"}\r\n </Button>\r\n ) : (<></>)\r\n }\r\n <Button\r\n onClick={handleSubmit}\r\n variant=\"outline\"\r\n size=\"md\"\r\n disabled={canSubmitSave}\r\n sx={{\r\n backgroundColor: '#ac46ff52',\r\n '&:hover': {\r\n backgroundColor: '#ac46ff80',\r\n },\r\n }}\r\n >\r\n {isSubmitting ? <><CircularProgress size={20} /><Typography sx={{paddingLeft: 2}}>Submitting...</Typography></> : \"Submit for review\"}\r\n </Button>\r\n {variableReqType === RequirementType.Optional &&\r\n (\r\n <Button onClick={onDeclineWording} variant=\"outline\" size=\"md\" sx={{\r\n backgroundColor: '#ff464652',\r\n '&:hover': {\r\n backgroundColor: '#ff464680', // Darker purple on hover\r\n }\r\n }}\r\n disabled={canSubmitSave}\r\n >\r\n Decline wording\r\n </Button>\r\n )}\r\n </Box>\r\n ) : (<Box sx={{ display: 'flex', gap: 1.5, flexWrap: 'wrap' }}></Box>)}\r\n \r\n\r\n {/* Navigation */}\r\n <Box\r\n sx={{\r\n display: 'flex',\r\n alignItems: 'center',\r\n gap: 1.5,\r\n justifyContent: { xs: 'space-between', sm: 'flex-end' },\r\n }}\r\n >\r\n {currentPage !== 1 && <NavButton onClick={onPrevious} aria-label=\"Previous\" disabled={isLoading}>\r\n <ArrowBackIosRounded sx={{ fontSize: 20, color: theme.palette.text.primary }}/>\r\n </NavButton>}\r\n {currentPage !== totalPages && <NavButton onClick={onNext} aria-label=\"Next\" disabled={isLoading}>\r\n <ArrowForwardIosRounded sx={{ fontSize: 20, color: theme.palette.text.primary }}/>\r\n </NavButton>}\r\n <Typography fontWeight={500} fontSize=\"1.125rem\">\r\n {currentPage}/{totalPages}\r\n </Typography>\r\n </Box>\r\n </Box>\r\n </DialogContent>\r\n </StyledDialog>\r\n );\r\n};\r\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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"}
@@ -72,6 +72,7 @@ const statusConfig = {
72
72
  };
73
73
  const NoteContainer = material.styled(material.Box)({
74
74
  position: 'relative',
75
+ display: 'inline',
75
76
  maxWidth: '100%',
76
77
  });
77
78
  // Uses highlight colors driven by status exclusively
@@ -81,7 +82,7 @@ const HighlightWrapper = material.styled(material.Box, {
81
82
  prop !== 'highlightSelectedColor'
82
83
  })(({ isHovered, highlightColor, highlightSelectedColor }) => ({
83
84
  position: 'relative',
84
- display: 'inline-block',
85
+ display: 'inline',
85
86
  maxWidth: '100%',
86
87
  '&:hover .edit-button': {
87
88
  opacity: 1,
@@ -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\n\r\n// Status Enum\r\nenum VariableState {\r\n Accepted = \"Accepted\",\r\n Pending = \"Pending\",\r\n ActionRequired = \"Action Required\",\r\n Declined = \"Declined\",\r\n Draft = \"Draft\"\r\n}\r\n\r\ninterface NoteBoxProps {\r\n status?: string; // Use only status now\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\nfunction mapStatusToVariableState(status?: string): VariableState | undefined {\r\n switch (status) {\r\n case \"Accepted\": return VariableState.Accepted;\r\n case \"Pending\": return VariableState.Pending;\r\n case \"Action Required\": return VariableState.ActionRequired;\r\n case \"Declined\": return VariableState.Declined;\r\n case \"Draft\": return VariableState.Draft;\r\n default: return undefined;\r\n }\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 labelColor: string;\r\n chipColor: string;\r\n chipTextColor: 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 labelColor: '#2D5016',\r\n chipColor: '#A3D977',\r\n chipTextColor: '#fff',\r\n },\r\n Pending: {\r\n highlight: '#F5E2FF',\r\n highlightSelected: '#EBC7FF',\r\n label: 'Pending',\r\n labelColor: 'var(--color-secondary)',\r\n chipColor: '#F5A623',\r\n chipTextColor: '#4D3019',\r\n alertVariant: 'info',\r\n },\r\n 'Action Required': {\r\n highlight: '#FBEEEE',\r\n highlightSelected: '#FFBCB3',\r\n label: 'ActionRequired',\r\n labelColor: '#CC0000',\r\n chipColor: '#F56B6B',\r\n chipTextColor: '#fff',\r\n alertVariant: 'error',\r\n },\r\n 'Declined': {\r\n highlight: '#FFF6D1',\r\n highlightSelected: '#FDE58E',\r\n label: 'Declined',\r\n labelColor: 'var(--color-secondary)',\r\n chipColor: '#A3D977',\r\n chipTextColor: '#4D3019',\r\n },\r\n Draft: {\r\n highlight: '#FFEACD',\r\n highlightSelected: '#FFC365',\r\n label: 'Draft',\r\n labelColor: 'rgba(0, 0, 0, 0.6)',\r\n chipColor: '#F5D76E',\r\n chipTextColor: '#fff',\r\n },\r\n};\r\n\r\nconst NoteContainer = styled(Box)({\r\n position: 'relative',\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-block',\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 position: 'absolute',\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 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 style = variableState\r\n ? statusConfig[variableState]\r\n : {\r\n highlight: '#EEE',\r\n highlightSelected: '#DDD',\r\n label: label || '',\r\n labelColor: 'rgba(0,0,0,0.6)',\r\n chipColor: '#ccc',\r\n chipTextColor: '#4D3019',\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 >\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","_jsxs","_jsx","Alert","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\n\r\n// Status Enum\r\nenum VariableState {\r\n Accepted = \"Accepted\",\r\n Pending = \"Pending\",\r\n ActionRequired = \"Action Required\",\r\n Declined = \"Declined\",\r\n Draft = \"Draft\"\r\n}\r\n\r\ninterface NoteBoxProps {\r\n status?: string; // Use only status now\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\nfunction mapStatusToVariableState(status?: string): VariableState | undefined {\r\n switch (status) {\r\n case \"Accepted\": return VariableState.Accepted;\r\n case \"Pending\": return VariableState.Pending;\r\n case \"Action Required\": return VariableState.ActionRequired;\r\n case \"Declined\": return VariableState.Declined;\r\n case \"Draft\": return VariableState.Draft;\r\n default: return undefined;\r\n }\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 labelColor: string;\r\n chipColor: string;\r\n chipTextColor: 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 labelColor: '#2D5016',\r\n chipColor: '#A3D977',\r\n chipTextColor: '#fff',\r\n },\r\n Pending: {\r\n highlight: '#F5E2FF',\r\n highlightSelected: '#EBC7FF',\r\n label: 'Pending',\r\n labelColor: 'var(--color-secondary)',\r\n chipColor: '#F5A623',\r\n chipTextColor: '#4D3019',\r\n alertVariant: 'info',\r\n },\r\n 'Action Required': {\r\n highlight: '#FBEEEE',\r\n highlightSelected: '#FFBCB3',\r\n label: 'ActionRequired',\r\n labelColor: '#CC0000',\r\n chipColor: '#F56B6B',\r\n chipTextColor: '#fff',\r\n alertVariant: 'error',\r\n },\r\n 'Declined': {\r\n highlight: '#FFF6D1',\r\n highlightSelected: '#FDE58E',\r\n label: 'Declined',\r\n labelColor: 'var(--color-secondary)',\r\n chipColor: '#A3D977',\r\n chipTextColor: '#4D3019',\r\n },\r\n Draft: {\r\n highlight: '#FFEACD',\r\n highlightSelected: '#FFC365',\r\n label: 'Draft',\r\n labelColor: 'rgba(0, 0, 0, 0.6)',\r\n chipColor: '#F5D76E',\r\n chipTextColor: '#fff',\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 position: 'absolute',\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 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 style = variableState\r\n ? statusConfig[variableState]\r\n : {\r\n highlight: '#EEE',\r\n highlightSelected: '#DDD',\r\n label: label || '',\r\n labelColor: 'rgba(0,0,0,0.6)',\r\n chipColor: '#ccc',\r\n chipTextColor: '#4D3019',\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 >\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","_jsxs","_jsx","Alert","CheckRounded","EditRounded"],"mappings":"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"}
@@ -4,6 +4,7 @@ var jsxRuntime = require('react/jsx-runtime');
4
4
  var React = require('react');
5
5
  var material = require('@mui/material');
6
6
  var ThemeProvider = require('../ThemeProvider.js');
7
+ var iconsMaterial = require('@mui/icons-material');
7
8
 
8
9
  const StyledLinearProgress = material.styled(material.LinearProgress)(({ theme }) => ({
9
10
  height: 10,
@@ -56,7 +57,7 @@ const StepLine = material.styled(material.Box, {
56
57
  height: 2,
57
58
  },
58
59
  }));
59
- const StepIndicator = ({ steps, currentStep, className = '' }) => {
60
+ const StepIndicator = ({ steps, currentStep, onStepClick, className = '' }) => {
60
61
  const theme = ThemeProvider.useTheme();
61
62
  const cols = steps.length * 2 - 1;
62
63
  return (jsxRuntime.jsx(material.Box, { className: className, sx: {
@@ -65,8 +66,6 @@ const StepIndicator = ({ steps, currentStep, className = '' }) => {
65
66
  gridAutoRows: 'auto',
66
67
  alignItems: 'center',
67
68
  rowGap: { xs: 0.5, sm: 1 },
68
- // Keep if you want horizontal scrolling in very tight layouts:
69
- // overflowX: 'auto',
70
69
  pb: 1,
71
70
  }, children: steps.map((step, index) => {
72
71
  const stepNumber = index + 1;
@@ -79,7 +78,13 @@ const StepIndicator = ({ steps, currentStep, className = '' }) => {
79
78
  gridRow: 1,
80
79
  display: 'flex',
81
80
  justifyContent: 'center',
82
- }, children: jsxRuntime.jsx(StepNumber, { isActive: isActive, isCompleted: isCompleted, children: stepNumber }) }), index < steps.length - 1 && (jsxRuntime.jsx(material.Box, { sx: {
81
+ }, children: jsxRuntime.jsx(StepNumber, { isActive: isActive, isCompleted: isCompleted, onClick: () => onStepClick?.(stepNumber), sx: {
82
+ cursor: 'pointer',
83
+ '&:hover': {
84
+ transform: 'scale(1.1)',
85
+ transition: 'transform 0.2s ease-in-out',
86
+ },
87
+ }, children: isCompleted ? (jsxRuntime.jsx(iconsMaterial.Check, { sx: { fontSize: 16 } })) : (stepNumber) }) }), index < steps.length - 1 && (jsxRuntime.jsx(material.Box, { sx: {
83
88
  gridColumn: `${lineCol} / span 1`,
84
89
  gridRow: 1,
85
90
  display: 'flex',
@@ -94,7 +99,6 @@ const StepIndicator = ({ steps, currentStep, className = '' }) => {
94
99
  whiteSpace: 'normal',
95
100
  overflowWrap: 'anywhere',
96
101
  wordBreak: 'break-word',
97
- // Constrain label width so wrap looks tidy; tweak as needed
98
102
  maxWidth: { xs: 80, sm: 112, md: 140 },
99
103
  justifySelf: 'center',
100
104
  color: isActive ? theme.palette.text.primary : `${theme.palette.dark.main}99`,
@@ -1 +1 @@
1
- {"version":3,"file":"Progress.js","sources":["../../../../src/components/Progress.tsx"],"sourcesContent":["\r\n\r\nimport React from 'react';\r\nimport { Box, Typography, LinearProgress, styled } from '@mui/material';\r\nimport { useTheme } from '../ThemeProvider';\r\n\r\ninterface ProgressProps {\r\n current: number;\r\n total: number;\r\n showLabel?: boolean;\r\n className?: string;\r\n}\r\n\r\nconst StyledLinearProgress = styled(LinearProgress)(({ theme }) => ({\r\n height: 10,\r\n borderRadius: 9999,\r\n backgroundColor: `${theme.palette.dark.main}1A`,\r\n '& .MuiLinearProgress-bar': {\r\n borderRadius: 9999,\r\n backgroundColor: theme.palette.primary.main,\r\n transition: 'transform 0.3s ease-out',\r\n },\r\n}));\r\n\r\nexport const Progress: React.FC<ProgressProps> = ({\r\n current,\r\n total,\r\n showLabel = true,\r\n className = ''\r\n}) => {\r\n const percentage = Math.min(Math.max((current / total) * 100, 0), 100);\r\n\r\n return (\r\n <Box className={className}>\r\n {showLabel && (\r\n <Box sx={{ display: 'flex', justifyContent: 'space-between', alignItems: 'center', mb: 1 }}>\r\n <Typography variant=\"body2\" fontWeight={500}>\r\n Step {current} of {total}\r\n </Typography>\r\n <Typography variant=\"body2\" fontWeight={500}>\r\n {Math.round(percentage)}%\r\n </Typography>\r\n </Box>\r\n )}\r\n <StyledLinearProgress variant=\"determinate\" value={percentage} />\r\n </Box>\r\n );\r\n};\r\ninterface StepIndicatorProps {\r\n steps: string[];\r\n currentStep: number;\r\n className?: string;\r\n}\r\n\r\nconst StepNumber = styled(Box, {\r\n shouldForwardProp: (prop) => prop !== 'isActive' && prop !== 'isCompleted'\r\n})<{ isActive: boolean; isCompleted: boolean }>(\r\n ({ theme, isActive, isCompleted }) => ({\r\n width: 40,\r\n height: 40,\r\n borderRadius: '50%',\r\n display: 'flex',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n fontWeight: 600,\r\n fontSize: '0.875rem',\r\n transition: 'all 0.2s',\r\n backgroundColor: isCompleted || isActive\r\n ? theme.palette.text.primary\r\n : `${theme.palette.dark.main}1A`,\r\n color: isCompleted || isActive\r\n ? (theme.palette.custom?.stepIndicatorTextColor || theme.palette.text.primary)\r\n : `${theme.palette.dark.main}99`,\r\n boxShadow: isActive ? `0 0 0 4px ${theme.palette.text.primary}33` : 'none',\r\n [theme.breakpoints.down('sm')]: {\r\n width: 32,\r\n height: 32,\r\n fontSize: '0.75rem',\r\n },\r\n })\r\n);\r\n\r\nconst StepLine = styled(Box, {\r\n shouldForwardProp: (prop) => prop !== 'isCompleted'\r\n})<{ isCompleted: boolean }>(({ theme, isCompleted }) => ({\r\n height: 4,\r\n borderRadius: 2,\r\n width: '100%',\r\n transition: 'background-color 0.2s',\r\n backgroundColor: isCompleted ? theme.palette.text.primary : `${theme.palette.dark.main}1A`,\r\n [theme.breakpoints.down('sm')]: {\r\n height: 2,\r\n },\r\n}));\r\n\r\nexport const StepIndicator: React.FC<StepIndicatorProps> = ({\r\n steps,\r\n currentStep,\r\n className = ''\r\n}) => {\r\n const theme = useTheme();\r\n const cols = steps.length * 2 - 1;\r\n\r\n return (\r\n <Box\r\n className={className}\r\n sx={{\r\n display: 'grid',\r\n gridTemplateColumns: `repeat(${cols}, minmax(0, 1fr))`,\r\n gridAutoRows: 'auto',\r\n alignItems: 'center',\r\n rowGap: { xs: 0.5, sm: 1 },\r\n // Keep if you want horizontal scrolling in very tight layouts:\r\n // overflowX: 'auto',\r\n pb: 1,\r\n }}\r\n >\r\n {steps.map((step, index) => {\r\n const stepNumber = index + 1;\r\n const isActive = stepNumber === currentStep;\r\n const isCompleted = stepNumber < currentStep;\r\n const circleCol = 2 * index + 1;\r\n const lineCol = 2 * index + 2;\r\n\r\n return (\r\n <React.Fragment key={index}>\r\n {/* Circle */}\r\n <Box\r\n sx={{\r\n gridColumn: `${circleCol} / span 1`,\r\n gridRow: 1,\r\n display: 'flex',\r\n justifyContent: 'center',\r\n }}\r\n >\r\n <StepNumber isActive={isActive} isCompleted={isCompleted}>\r\n {stepNumber}\r\n </StepNumber>\r\n </Box>\r\n\r\n {/* Connector (not after last step) */}\r\n {index < steps.length - 1 && (\r\n <Box\r\n sx={{\r\n gridColumn: `${lineCol} / span 1`,\r\n gridRow: 1,\r\n display: 'flex',\r\n alignItems: 'center',\r\n }}\r\n >\r\n <StepLine isCompleted={isCompleted} />\r\n </Box>\r\n )}\r\n\r\n {/* Label row (wraps independently) */}\r\n <Typography\r\n sx={{\r\n gridColumn: `${circleCol} / span 1`,\r\n gridRow: 2,\r\n mt: { xs: 0.5, sm: 1 },\r\n fontSize: { xs: '10px', sm: '12px' },\r\n fontWeight: 500,\r\n textAlign: 'center',\r\n whiteSpace: 'normal',\r\n overflowWrap: 'anywhere',\r\n wordBreak: 'break-word',\r\n // Constrain label width so wrap looks tidy; tweak as needed\r\n maxWidth: { xs: 80, sm: 112, md: 140 },\r\n justifySelf: 'center',\r\n color: isActive ? theme.palette.text.primary : `${theme.palette.dark.main}99`,\r\n }}\r\n >\r\n {step}\r\n </Typography>\r\n </React.Fragment>\r\n );\r\n })}\r\n </Box>\r\n );\r\n};\r\n"],"names":["styled","LinearProgress","_jsxs","Box","Typography","_jsx","useTheme"],"mappings":"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"}
1
+ {"version":3,"file":"Progress.js","sources":["../../../../src/components/Progress.tsx"],"sourcesContent":["\r\n\r\nimport React from 'react';\r\nimport { Box, Typography, LinearProgress, styled } from '@mui/material';\r\nimport { useTheme } from '../ThemeProvider';\r\nimport { Check } from '@mui/icons-material';\r\n\r\ninterface ProgressProps {\r\n current: number;\r\n total: number;\r\n showLabel?: boolean;\r\n className?: string;\r\n}\r\n\r\nconst StyledLinearProgress = styled(LinearProgress)(({ theme }) => ({\r\n height: 10,\r\n borderRadius: 9999,\r\n backgroundColor: `${theme.palette.dark.main}1A`,\r\n '& .MuiLinearProgress-bar': {\r\n borderRadius: 9999,\r\n backgroundColor: theme.palette.primary.main,\r\n transition: 'transform 0.3s ease-out',\r\n },\r\n}));\r\n\r\nexport const Progress: React.FC<ProgressProps> = ({\r\n current,\r\n total,\r\n showLabel = true,\r\n className = ''\r\n}) => {\r\n const percentage = Math.min(Math.max((current / total) * 100, 0), 100);\r\n\r\n return (\r\n <Box className={className}>\r\n {showLabel && (\r\n <Box sx={{ display: 'flex', justifyContent: 'space-between', alignItems: 'center', mb: 1 }}>\r\n <Typography variant=\"body2\" fontWeight={500}>\r\n Step {current} of {total}\r\n </Typography>\r\n <Typography variant=\"body2\" fontWeight={500}>\r\n {Math.round(percentage)}%\r\n </Typography>\r\n </Box>\r\n )}\r\n <StyledLinearProgress variant=\"determinate\" value={percentage} />\r\n </Box>\r\n );\r\n};\r\ninterface StepIndicatorProps {\r\n steps: string[];\r\n currentStep: number;\r\n onStepClick?: (stepNumber: number) => void;\r\n className?: string;\r\n}\r\n\r\nconst StepNumber = styled(Box, {\r\n shouldForwardProp: (prop) => prop !== 'isActive' && prop !== 'isCompleted'\r\n})<{ isActive: boolean; isCompleted: boolean }>(\r\n ({ theme, isActive, isCompleted }) => ({\r\n width: 40,\r\n height: 40,\r\n borderRadius: '50%',\r\n display: 'flex',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n fontWeight: 600,\r\n fontSize: '0.875rem',\r\n transition: 'all 0.2s',\r\n backgroundColor: isCompleted || isActive\r\n ? theme.palette.text.primary\r\n : `${theme.palette.dark.main}1A`,\r\n color: isCompleted || isActive\r\n ? (theme.palette.custom?.stepIndicatorTextColor || theme.palette.text.primary)\r\n : `${theme.palette.dark.main}99`,\r\n boxShadow: isActive ? `0 0 0 4px ${theme.palette.text.primary}33` : 'none',\r\n [theme.breakpoints.down('sm')]: {\r\n width: 32,\r\n height: 32,\r\n fontSize: '0.75rem',\r\n },\r\n })\r\n);\r\n\r\nconst StepLine = styled(Box, {\r\n shouldForwardProp: (prop) => prop !== 'isCompleted'\r\n})<{ isCompleted: boolean }>(({ theme, isCompleted }) => ({\r\n height: 4,\r\n borderRadius: 2,\r\n width: '100%',\r\n transition: 'background-color 0.2s',\r\n backgroundColor: isCompleted ? theme.palette.text.primary : `${theme.palette.dark.main}1A`,\r\n [theme.breakpoints.down('sm')]: {\r\n height: 2,\r\n },\r\n}));\r\n\r\nexport const StepIndicator: React.FC<StepIndicatorProps> = ({\r\n steps,\r\n currentStep,\r\n onStepClick,\r\n className = ''\r\n}) => {\r\n const theme = useTheme();\r\n const cols = steps.length * 2 - 1;\r\n\r\n return (\r\n <Box\r\n className={className}\r\n sx={{\r\n display: 'grid',\r\n gridTemplateColumns: `repeat(${cols}, minmax(0, 1fr))`,\r\n gridAutoRows: 'auto',\r\n alignItems: 'center',\r\n rowGap: { xs: 0.5, sm: 1 },\r\n pb: 1,\r\n }}\r\n >\r\n {steps.map((step, index) => {\r\n const stepNumber = index + 1;\r\n const isActive = stepNumber === currentStep;\r\n const isCompleted = stepNumber < currentStep;\r\n const circleCol = 2 * index + 1;\r\n const lineCol = 2 * index + 2;\r\n\r\n return (\r\n <React.Fragment key={index}>\r\n {/* Circle */}\r\n <Box\r\n sx={{\r\n gridColumn: `${circleCol} / span 1`,\r\n gridRow: 1,\r\n display: 'flex',\r\n justifyContent: 'center',\r\n }}\r\n >\r\n <StepNumber \r\n isActive={isActive} \r\n isCompleted={isCompleted}\r\n onClick={() => onStepClick?.(stepNumber)}\r\n sx={{\r\n cursor: 'pointer',\r\n '&:hover': {\r\n transform: 'scale(1.1)',\r\n transition: 'transform 0.2s ease-in-out',\r\n },\r\n }}\r\n >\r\n {isCompleted ? (\r\n <Check sx={{ fontSize: 16 }} />\r\n ) : (\r\n stepNumber\r\n )}\r\n </StepNumber>\r\n </Box>\r\n\r\n {/* Connector (not after last step) */}\r\n {index < steps.length - 1 && (\r\n <Box\r\n sx={{\r\n gridColumn: `${lineCol} / span 1`,\r\n gridRow: 1,\r\n display: 'flex',\r\n alignItems: 'center',\r\n }}\r\n >\r\n <StepLine isCompleted={isCompleted} />\r\n </Box>\r\n )}\r\n\r\n {/* Label row (wraps independently) */}\r\n <Typography\r\n sx={{\r\n gridColumn: `${circleCol} / span 1`,\r\n gridRow: 2,\r\n mt: { xs: 0.5, sm: 1 },\r\n fontSize: { xs: '10px', sm: '12px' },\r\n fontWeight: 500,\r\n textAlign: 'center',\r\n whiteSpace: 'normal',\r\n overflowWrap: 'anywhere',\r\n wordBreak: 'break-word',\r\n maxWidth: { xs: 80, sm: 112, md: 140 },\r\n justifySelf: 'center',\r\n color: isActive ? theme.palette.text.primary : `${theme.palette.dark.main}99`,\r\n }}\r\n >\r\n {step}\r\n </Typography>\r\n </React.Fragment>\r\n );\r\n })}\r\n </Box>\r\n );\r\n};"],"names":["styled","LinearProgress","_jsxs","Box","Typography","_jsx","useTheme","Check"],"mappings":"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"}
@@ -72,7 +72,7 @@ const IconWrapper = material.styled(material.Box, {
72
72
  justifyContent: 'center',
73
73
  backgroundColor: 'transparent'
74
74
  }));
75
- const Sidebar = ({ isOpen, onToggle, centreName = "Centre name goes here \n across two lines", policies = [], onNavigate }) => {
75
+ const Sidebar = ({ isOpen = true, onToggle, centreName = "Centre name goes here \n across two lines", policies = [], onNavigate }) => {
76
76
  const theme = ThemeProvider.useTheme();
77
77
  const [expandedItems, setExpandedItems] = React.useState([]);
78
78
  const [expandedPolicies, setExpandedPolicies] = React.useState([]);