ece-docs-components 1.0.34 → 1.0.36

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.
@@ -1 +1 @@
1
- {"version":3,"file":"Sidebar.js","sources":["../../../../src/components/Sidebar.tsx"],"sourcesContent":["import React, { useState } from 'react';\r\nimport { Box, IconButton, Typography, List, ListItemButton, ListItemText, Collapse, styled } from '@mui/material';\r\nimport { useTheme } from '../ThemeProvider';\r\nimport { ArticleRounded, ChevronRightRounded, ExpandLessRounded, ExpandMoreRounded, HelpCenterRounded, HomeRounded, KeyboardDoubleArrowLeftRounded, KeyboardDoubleArrowRightRounded, SupportAgentRounded, TextSnippetRounded } from '@mui/icons-material';\r\n\r\n// PolicyItem and SidebarProps interfaces as before\r\ninterface PolicyItem {\r\n id: number;\r\n o: number;\r\n text: string;\r\n url: string;\r\n node: string;\r\n leaf?: boolean;\r\n children?: PolicyItem[];\r\n}\r\n\r\ninterface SidebarProps {\r\n isOpen: boolean;\r\n onToggle: () => void;\r\n centreName?: string;\r\n policies?: PolicyItem[];\r\n}\r\n\r\ninterface MenuItem {\r\n id: string;\r\n label: string;\r\n icon: React.ReactNode;\r\n}\r\n\r\nconst SidebarContainer = styled(Box, {\r\n shouldForwardProp: (prop) => prop !== 'isOpen',\r\n})<{ isOpen: boolean }>(({ theme, isOpen }) => ({\r\n height: '100vh',\r\n position: 'sticky',\r\n top: 0,\r\n paddingLeft: 0,\r\n overflow: 'hidden',\r\n backgroundColor: '#fff',\r\n borderRight: `1px solid ${theme.palette.dark.main}1A`,\r\n flexShrink: 0,\r\n transition: 'all 0.3s ease-in-out',\r\n width: isOpen ? '288px' : '64px',\r\n zIndex: 50,\r\n [theme.breakpoints.down('md')]: {\r\n position: 'fixed',\r\n left: isOpen ? 0 : '-288px',\r\n width: '288px',\r\n },\r\n [theme.breakpoints.up('sm')]: {\r\n width: isOpen ? '288px' : '80px',\r\n },\r\n}));\r\n\r\nconst ToggleButton = styled(IconButton)(({ theme }) => ({\r\n width: 40,\r\n height: 40,\r\n borderRadius: theme.shape.borderRadius,\r\n backgroundColor: '#4D3019',\r\n color: '#fff',\r\n '&:hover': {\r\n backgroundColor: '#3d2614',\r\n },\r\n}));\r\n\r\nconst MenuItemButton = styled(ListItemButton, {\r\n shouldForwardProp: (prop) => prop !== 'isOpen' && prop !== 'isActive'\r\n})<{ isActive?: boolean; isOpen: boolean }>(({ theme, isActive, isOpen }) => ({\r\n borderRadius: isOpen \r\n ? `0 ${theme.shape.borderRadius}px ${theme.shape.borderRadius}px 0`\r\n : theme.shape.borderRadius,\r\n paddingLeft: 0,\r\n paddingRight: isOpen ? theme.spacing(2) : 0,\r\n marginRight: isOpen ? 8 : 0,\r\n minHeight: 64,\r\n justifyContent: isOpen ? 'flex-start' : 'center',\r\n backgroundClip: 'padding-box',\r\n backgroundOrigin: 'border-box',\r\n '&:hover': {\r\n backgroundColor: `${theme.palette.primary.main}0D`,\r\n },\r\n ...(isActive && {\r\n backgroundColor: `${theme.palette.primary.main}1A`,\r\n '&:hover': {\r\n backgroundColor: `${theme.palette.primary.main}1A`,\r\n }\r\n }),\r\n}));\r\n\r\nconst IconWrapper = styled(Box, {\r\n shouldForwardProp: (prop) => prop !== 'isOpen'\r\n})<{ isOpen: boolean }>(({ theme, isOpen }) => ({\r\n width: isOpen ? 32 : 40,\r\n height: isOpen ? 32 : 40,\r\n display: 'flex',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n backgroundColor: 'transparent'\r\n}));\r\n\r\nexport const Sidebar: React.FC<SidebarProps> = ({\r\n isOpen,\r\n onToggle,\r\n centreName = \"Centre name goes here \\n across two lines\",\r\n policies = []\r\n}) => {\r\n const theme = useTheme();\r\n const [expandedItems, setExpandedItems] = useState<string[]>([]);\r\n const [expandedPolicies, setExpandedPolicies] = useState<number[]>([]);\r\n\r\n const togglePolicyItem = (itemId: number) => {\r\n setExpandedPolicies((prev) =>\r\n prev.includes(itemId) ? prev.filter((id) => id !== itemId) : [...prev, itemId]\r\n );\r\n };\r\n\r\n const menuItems: MenuItem[] = [\r\n {\r\n id: '/dashboard',\r\n label: 'Dashboard',\r\n icon: <HomeRounded sx={{ fontSize: 28, color: \"#4D3019\" }} />,\r\n },\r\n {\r\n id: '/support',\r\n label: 'Support',\r\n icon: <HelpCenterRounded sx={{ fontSize: 28, color: \"#4D3019\" }} />,\r\n },\r\n ];\r\n\r\n const renderPolicyItems = (items: PolicyItem[], depth: number = 0): React.ReactNode => {\r\n return items.map((item) => {\r\n const hasChildren = item.children && item.children.length > 0;\r\n const isExpanded = expandedPolicies.includes(item.o);\r\n const paddingLeft = 8 + (depth * 2);\r\n\r\n return (\r\n <Box key={item.id}>\r\n <Box sx={{ display: 'flex', alignItems: 'stretch' }}>\r\n <ListItemButton\r\n disableRipple\r\n sx={{\r\n flex: 1,\r\n width: '100%',\r\n pl: paddingLeft,\r\n marginRight:'8px',\r\n py: 1.25,\r\n borderRadius: `0 ${theme.shape.borderRadius}px ${theme.shape.borderRadius}px 0`,\r\n // Highlight if expanded\r\n '&:hover': {\r\n backgroundColor: isExpanded ? `${theme.palette.primary.main}1F` : `${theme.palette.primary.main}0D`,\r\n },\r\n backgroundColor: isExpanded ? `${theme.palette.primary.main}1A` : 'transparent',\r\n }}\r\n >\r\n {/* Make the text a button/anchor */}\r\n <Box\r\n sx={{\r\n cursor: 'pointer',\r\n flex: 1\r\n }}\r\n onClick={() => window.location.href = item.url}\r\n >\r\n <ListItemText\r\n primary={item.text}\r\n primaryTypographyProps={{ fontSize: '0.875rem' }}\r\n />\r\n </Box>\r\n {/* The chevron expands/collapses the section */}\r\n {hasChildren && (\r\n <IconButton\r\n onClick={(e) => {\r\n e.stopPropagation();\r\n togglePolicyItem(item.o);\r\n }}\r\n disableRipple\r\n >\r\n <ChevronRightRounded\r\n sx={{\r\n fontSize: 16,\r\n color: '#4D3019',\r\n transition: 'transform 0.2s',\r\n transform: isExpanded ? 'rotate(90deg)' : 'rotate(0deg)',\r\n }}\r\n />\r\n </IconButton>\r\n )}\r\n </ListItemButton>\r\n </Box>\r\n {hasChildren && isExpanded && (\r\n <Collapse in={true} timeout=\"auto\">\r\n <List sx={{ p: 0, mt: 0.5 }}>\r\n {renderPolicyItems(item.children!, depth + 1)}\r\n </List>\r\n </Collapse>\r\n )}\r\n </Box>\r\n );\r\n });\r\n };\r\n\r\n const toggleItem = (itemId: string) => {\r\n if (!isOpen) {\r\n onToggle();\r\n setExpandedItems([itemId]);\r\n } else {\r\n setExpandedItems((prev) =>\r\n prev.includes(itemId) ? prev.filter((id) => id !== itemId) : [...prev, itemId]\r\n );\r\n }\r\n };\r\n\r\n return (\r\n <>\r\n {isOpen && (\r\n <Box\r\n sx={{\r\n position: 'fixed',\r\n inset: 0,\r\n bgcolor: 'rgba(0, 0, 0, 0.5)',\r\n zIndex: 40,\r\n display: { xs: 'block', md: 'none' },\r\n }}\r\n onClick={onToggle}\r\n />\r\n )}\r\n <SidebarContainer isOpen={isOpen}>\r\n <Box sx={{ display: 'flex', flexDirection: 'column', height: '100%' }}>\r\n {isOpen && (\r\n <Box\r\n sx={{\r\n px: 2,\r\n py: 3,\r\n borderBottom: `1px solid ${theme.palette.dark.main}1A`,\r\n flexShrink: 0,\r\n position: 'relative',\r\n display: 'flex',\r\n flexDirection: 'row', \r\n alignItems: 'center', \r\n }}\r\n >\r\n <Typography\r\n variant=\"h6\"\r\n sx={{\r\n fontSize: '18px',\r\n fontWeight: 700,\r\n color: '#4D3019',\r\n lineHeight: 1.3,\r\n whiteSpace: 'pre-line',\r\n flex: 1,\r\n pr: 2,\r\n }}\r\n >\r\n {centreName}\r\n </Typography>\r\n\r\n <ToggleButton\r\n onClick={onToggle}\r\n sx={{ ml: 'auto' }}\r\n aria-label=\"Collapse sidebar\"\r\n >\r\n <KeyboardDoubleArrowLeftRounded sx={{ fontSize: 20 }} />\r\n </ToggleButton>\r\n </Box>\r\n )}\r\n\r\n {!isOpen && (\r\n <Box\r\n sx={{\r\n px: 1,\r\n py: 3,\r\n borderBottom: `1px solid ${theme.palette.dark.main}1A`,\r\n display: 'flex',\r\n justifyContent: 'center',\r\n }}\r\n >\r\n <ToggleButton onClick={onToggle} aria-label=\"Expand sidebar\">\r\n <KeyboardDoubleArrowRightRounded sx={{ fontSize: 20 }} />\r\n </ToggleButton>\r\n </Box>\r\n )}\r\n\r\n <Box\r\n sx={{\r\n flex: 1,\r\n overflowY: 'auto',\r\n px: isOpen ? 0 : 1,\r\n py: 3,\r\n }}\r\n >\r\n <List sx={{ p: 0 }}>\r\n {/* Dashboard menu item */}\r\n <Box key={menuItems[0].id} sx={{ mb: 1 }}>\r\n <MenuItemButton\r\n disableRipple\r\n isOpen={isOpen}\r\n onClick={() => {\r\n if (!isOpen) onToggle();\r\n toggleItem(menuItems[0].id);\r\n window.location.href = menuItems[0].id;\r\n }}\r\n isActive={window.location.href.includes(menuItems[0].id)}\r\n title={!isOpen ? menuItems[0].label : undefined}\r\n >\r\n <IconWrapper isOpen={isOpen} sx={{ ml: isOpen ? 2 : 0 }}>\r\n {menuItems[0].icon}\r\n </IconWrapper>\r\n {isOpen && (\r\n <ListItemText\r\n primary={menuItems[0].label}\r\n primaryTypographyProps={{ fontSize: '1rem', fontWeight: 700 }}\r\n sx={{ flex: 1, ml: 1 }}\r\n />\r\n )}\r\n </MenuItemButton>\r\n </Box>\r\n\r\n {policies.length > 0 && (\r\n <Box sx={{ mb: 1 }}>\r\n <MenuItemButton\r\n disableRipple\r\n isOpen={isOpen}\r\n onClick={() => {\r\n toggleItem('policies');\r\n }}\r\n isActive={expandedItems.includes('policies')}\r\n title={!isOpen ? 'Policies' : undefined}\r\n >\r\n <IconWrapper isOpen={isOpen} sx={{ ml: isOpen ? 2 : 0 }}>\r\n <ArticleRounded sx={{ fontSize: 28, color: \"#4D3019\" }} />\r\n </IconWrapper>\r\n {isOpen && (\r\n <>\r\n <ListItemText\r\n primary=\"Policies\"\r\n primaryTypographyProps={{\r\n fontSize: '1rem', fontWeight: 700\r\n }}\r\n sx={{ flex: 1, ml: 1 }}\r\n />\r\n <Box sx={{ display: 'flex', alignItems: 'center', height: '100%' }}>\r\n {expandedItems.includes('policies') ? (\r\n <ExpandLessRounded sx={{ fontSize: 20, color: \"#4D3019\" }} />\r\n ) : (\r\n <ExpandMoreRounded sx={{ fontSize: 20, color: \"#4D3019\" }} />\r\n )}\r\n </Box>\r\n </>\r\n )}\r\n </MenuItemButton>\r\n {expandedItems.includes('policies') && isOpen && (\r\n <Collapse in={true} timeout=\"auto\">\r\n <List sx={{ p: 0, mt: 0.5 }}>\r\n {renderPolicyItems(policies)}\r\n </List>\r\n </Collapse>\r\n )}\r\n </Box>\r\n )}\r\n\r\n {/* Support menu item */}\r\n <Box key={menuItems[1].id} sx={{ mb: 1 }}>\r\n <MenuItemButton\r\n disableRipple\r\n isOpen={isOpen}\r\n onClick={() => {\r\n if (!isOpen) onToggle();\r\n toggleItem(menuItems[1].id);\r\n window.location.href = menuItems[1].id;\r\n }}\r\n isActive={window.location.href.includes(menuItems[1].id)}\r\n title={!isOpen ? menuItems[1].label : undefined}\r\n >\r\n <IconWrapper isOpen={isOpen} sx={{ ml: isOpen ? 2 : 0 }}>\r\n {menuItems[1].icon}\r\n </IconWrapper>\r\n {isOpen && (\r\n <ListItemText\r\n primary={menuItems[1].label}\r\n primaryTypographyProps={{ fontSize: '1rem', fontWeight: 700 }}\r\n sx={{ flex: 1, ml: 1 }}\r\n />\r\n )}\r\n </MenuItemButton>\r\n </Box>\r\n </List>\r\n </Box>\r\n </Box>\r\n </SidebarContainer>\r\n </>\r\n );\r\n};"],"names":["styled","Box","IconButton","ListItemButton","useTheme","useState","_jsx","HomeRounded","HelpCenterRounded","_jsxs","ListItemText","ChevronRightRounded","Collapse","List","Typography","KeyboardDoubleArrowLeftRounded","KeyboardDoubleArrowRightRounded","ArticleRounded","_Fragment","ExpandLessRounded","ExpandMoreRounded"],"mappings":"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"}
1
+ {"version":3,"file":"Sidebar.js","sources":["../../../../src/components/Sidebar.tsx"],"sourcesContent":["import React, { useState } from 'react';\r\nimport { Box, IconButton, Typography, List, ListItemButton, ListItemText, Collapse, styled } from '@mui/material';\r\nimport { useTheme } from '../ThemeProvider';\r\nimport { ArticleRounded, ChevronRightRounded, ExpandLessRounded, ExpandMoreRounded, HelpCenterRounded, HomeRounded, KeyboardDoubleArrowLeftRounded, KeyboardDoubleArrowRightRounded, SupportAgentRounded, TextSnippetRounded } from '@mui/icons-material';\r\n\r\n// PolicyItem and SidebarProps interfaces as before\r\ninterface PolicyItem {\r\n id: number;\r\n o: number;\r\n text: string;\r\n url: string;\r\n node: string;\r\n leaf?: boolean;\r\n children?: PolicyItem[];\r\n}\r\n\r\ninterface SidebarProps {\r\n isOpen: boolean;\r\n onToggle: () => void;\r\n centreName?: string;\r\n policies?: PolicyItem[];\r\n onNavigate?: (path: string) => void;\r\n}\r\n\r\ninterface MenuItem {\r\n id: string;\r\n label: string;\r\n icon: React.ReactNode;\r\n}\r\n\r\nconst SidebarContainer = styled(Box, {\r\n shouldForwardProp: (prop) => prop !== 'isOpen',\r\n})<{ isOpen: boolean }>(({ theme, isOpen }) => ({\r\n height: '100vh',\r\n position: 'sticky',\r\n top: 0,\r\n paddingLeft: 0,\r\n overflow: 'hidden',\r\n backgroundColor: '#fff',\r\n borderRight: `1px solid ${theme.palette.dark.main}1A`,\r\n flexShrink: 0,\r\n transition: 'all 0.3s ease-in-out',\r\n width: isOpen ? '288px' : '64px',\r\n zIndex: 50,\r\n [theme.breakpoints.down('md')]: {\r\n position: 'fixed',\r\n left: isOpen ? 0 : '-288px',\r\n width: '288px',\r\n },\r\n [theme.breakpoints.up('sm')]: {\r\n width: isOpen ? '288px' : '80px',\r\n },\r\n}));\r\n\r\nconst ToggleButton = styled(IconButton)(({ theme }) => ({\r\n width: 40,\r\n height: 40,\r\n borderRadius: theme.shape.borderRadius,\r\n backgroundColor: '#4D3019',\r\n color: '#fff',\r\n '&:hover': {\r\n backgroundColor: '#3d2614',\r\n },\r\n}));\r\n\r\nconst MenuItemButton = styled(ListItemButton, {\r\n shouldForwardProp: (prop) => prop !== 'isOpen' && prop !== 'isActive'\r\n})<{ isActive?: boolean; isOpen: boolean }>(({ theme, isActive, isOpen }) => ({\r\n borderRadius: isOpen \r\n ? `0 ${theme.shape.borderRadius}px ${theme.shape.borderRadius}px 0`\r\n : theme.shape.borderRadius,\r\n paddingLeft: 0,\r\n paddingRight: isOpen ? theme.spacing(2) : 0,\r\n marginRight: isOpen ? 8 : 0,\r\n minHeight: 64,\r\n justifyContent: isOpen ? 'flex-start' : 'center',\r\n backgroundClip: 'padding-box',\r\n backgroundOrigin: 'border-box',\r\n '&:hover': {\r\n backgroundColor: `${theme.palette.primary.main}0D`,\r\n },\r\n ...(isActive && {\r\n backgroundColor: `${theme.palette.primary.main}1A`,\r\n '&:hover': {\r\n backgroundColor: `${theme.palette.primary.main}1A`,\r\n }\r\n }),\r\n}));\r\n\r\nconst IconWrapper = styled(Box, {\r\n shouldForwardProp: (prop) => prop !== 'isOpen'\r\n})<{ isOpen: boolean }>(({ theme, isOpen }) => ({\r\n width: isOpen ? 32 : 40,\r\n height: isOpen ? 32 : 40,\r\n display: 'flex',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n backgroundColor: 'transparent'\r\n}));\r\n\r\nexport const Sidebar: React.FC<SidebarProps> = ({\r\n isOpen,\r\n onToggle,\r\n centreName = \"Centre name goes here \\n across two lines\",\r\n policies = [],\r\n onNavigate\r\n}) => {\r\n const theme = useTheme();\r\n const [expandedItems, setExpandedItems] = useState<string[]>([]);\r\n const [expandedPolicies, setExpandedPolicies] = useState<number[]>([]);\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 togglePolicyItem = (itemId: number) => {\r\n setExpandedPolicies((prev) =>\r\n prev.includes(itemId) ? prev.filter((id) => id !== itemId) : [...prev, itemId]\r\n );\r\n };\r\n\r\n const menuItems: MenuItem[] = [\r\n {\r\n id: '/dashboard',\r\n label: 'Dashboard',\r\n icon: <HomeRounded sx={{ fontSize: 28, color: \"#4D3019\" }} />,\r\n },\r\n ];\r\n\r\n const renderPolicyItems = (items: PolicyItem[], depth: number = 0): React.ReactNode => {\r\n return items.map((item) => {\r\n const hasChildren = item.children && item.children.length > 0;\r\n const isExpanded = expandedPolicies.includes(item.o);\r\n const paddingLeft = 8 + (depth * 2);\r\n\r\n return (\r\n <Box key={item.id}>\r\n <Box sx={{ display: 'flex', alignItems: 'stretch' }}>\r\n <ListItemButton\r\n disableRipple\r\n sx={{\r\n flex: 1,\r\n width: '100%',\r\n pl: paddingLeft,\r\n marginRight:'8px',\r\n py: 1.25,\r\n pr: 1,\r\n borderRadius: `0 ${theme.shape.borderRadius}px ${theme.shape.borderRadius}px 0`,\r\n // Highlight if expanded\r\n // '&:hover': {\r\n // backgroundColor: isExpanded ? `${theme.palette.primary.main}1F` : `${theme.palette.primary.main}0D`,\r\n // },\r\n backgroundColor: isExpanded ? `${theme.palette.primary.main}1A` : 'transparent',\r\n }}\r\n >\r\n {/* Make the text a button/anchor */}\r\n <Box\r\n sx={{\r\n cursor: 'pointer',\r\n flex: 1\r\n }}\r\n onClick={() => handleNavigation(item.url)}\r\n >\r\n <ListItemText\r\n primary={item.text}\r\n primaryTypographyProps={{ fontSize: '0.875rem' }}\r\n />\r\n </Box>\r\n {/* The chevron expands/collapses the section */}\r\n {hasChildren && (\r\n <IconButton\r\n onClick={(e) => {\r\n e.stopPropagation();\r\n togglePolicyItem(item.o);\r\n }}\r\n disableRipple\r\n sx={{\r\n ml: 0.5,\r\n borderRadius: 1,\r\n width: 32,\r\n height: 32,\r\n '&:hover': {\r\n backgroundColor: `${theme.palette.primary.main}1F`,\r\n },\r\n }}\r\n >\r\n <ChevronRightRounded\r\n sx={{\r\n fontSize: 16,\r\n color: '#4D3019',\r\n transition: 'transform 0.2s',\r\n transform: isExpanded ? 'rotate(90deg)' : 'rotate(0deg)',\r\n }}\r\n />\r\n </IconButton>\r\n )}\r\n </ListItemButton>\r\n </Box>\r\n {hasChildren && isExpanded && (\r\n <Collapse in={true} timeout=\"auto\">\r\n <List sx={{ p: 0, mt: 0.5 }}>\r\n {renderPolicyItems(item.children!, depth + 1)}\r\n </List>\r\n </Collapse>\r\n )}\r\n </Box>\r\n );\r\n });\r\n };\r\n\r\n const toggleItem = (itemId: string) => {\r\n if (!isOpen) {\r\n onToggle();\r\n setExpandedItems([itemId]);\r\n } else {\r\n setExpandedItems((prev) =>\r\n prev.includes(itemId) ? prev.filter((id) => id !== itemId) : [...prev, itemId]\r\n );\r\n }\r\n };\r\n\r\n return (\r\n <>\r\n {isOpen && (\r\n <Box\r\n sx={{\r\n position: 'fixed',\r\n inset: 0,\r\n bgcolor: 'rgba(0, 0, 0, 0.5)',\r\n zIndex: 40,\r\n display: { xs: 'block', md: 'none' },\r\n }}\r\n onClick={onToggle}\r\n />\r\n )}\r\n <SidebarContainer isOpen={isOpen}>\r\n <Box sx={{ display: 'flex', flexDirection: 'column', height: '100%' }}>\r\n {isOpen && (\r\n <Box\r\n sx={{\r\n px: 2,\r\n py: 3,\r\n borderBottom: `1px solid ${theme.palette.dark.main}1A`,\r\n flexShrink: 0,\r\n position: 'relative',\r\n display: 'flex',\r\n flexDirection: 'row', \r\n alignItems: 'center', \r\n }}\r\n >\r\n <Typography\r\n variant=\"h6\"\r\n sx={{\r\n fontSize: '18px',\r\n fontWeight: 700,\r\n color: '#4D3019',\r\n lineHeight: 1.3,\r\n whiteSpace: 'pre-line',\r\n flex: 1,\r\n pr: 2,\r\n }}\r\n >\r\n {centreName}\r\n </Typography>\r\n\r\n <ToggleButton\r\n onClick={onToggle}\r\n sx={{ ml: 'auto' }}\r\n aria-label=\"Collapse sidebar\"\r\n >\r\n <KeyboardDoubleArrowLeftRounded sx={{ fontSize: 20 }} />\r\n </ToggleButton>\r\n </Box>\r\n )}\r\n\r\n {!isOpen && (\r\n <Box\r\n sx={{\r\n px: 1,\r\n py: 3,\r\n borderBottom: `1px solid ${theme.palette.dark.main}1A`,\r\n display: 'flex',\r\n justifyContent: 'center',\r\n }}\r\n >\r\n <ToggleButton onClick={onToggle} aria-label=\"Expand sidebar\">\r\n <KeyboardDoubleArrowRightRounded sx={{ fontSize: 20 }} />\r\n </ToggleButton>\r\n </Box>\r\n )}\r\n\r\n <Box\r\n sx={{\r\n flex: 1,\r\n overflowY: 'auto',\r\n px: isOpen ? 0 : 1,\r\n py: 3,\r\n }}\r\n >\r\n <List sx={{ p: 0 }}>\r\n {/* Dashboard menu item */}\r\n <Box key={menuItems[0].id} sx={{ mb: 1 }}>\r\n <MenuItemButton\r\n disableRipple\r\n isOpen={isOpen}\r\n onClick={() => {\r\n if (!isOpen) onToggle();\r\n toggleItem(menuItems[0].id);\r\n handleNavigation(menuItems[0].id);\r\n }}\r\n isActive={window.location.pathname.includes(menuItems[0].id)}\r\n title={!isOpen ? menuItems[0].label : undefined}\r\n >\r\n <IconWrapper isOpen={isOpen} sx={{ ml: isOpen ? 2 : 0 }}>\r\n {menuItems[0].icon}\r\n </IconWrapper>\r\n {isOpen && (\r\n <ListItemText\r\n primary={menuItems[0].label}\r\n primaryTypographyProps={{ fontSize: '1rem', fontWeight: 700 }}\r\n sx={{ flex: 1, ml: 1 }}\r\n />\r\n )}\r\n </MenuItemButton>\r\n </Box>\r\n\r\n {policies.length > 0 && (\r\n <Box sx={{ mb: 1 }}>\r\n <MenuItemButton\r\n disableRipple\r\n isOpen={isOpen}\r\n onClick={() => {\r\n toggleItem('policies');\r\n }}\r\n isActive={expandedItems.includes('policies')}\r\n title={!isOpen ? 'Policies' : undefined}\r\n >\r\n <IconWrapper isOpen={isOpen} sx={{ ml: isOpen ? 2 : 0 }}>\r\n <ArticleRounded sx={{ fontSize: 28, color: \"#4D3019\" }} />\r\n </IconWrapper>\r\n {isOpen && (\r\n <>\r\n <ListItemText\r\n primary=\"Policies\"\r\n primaryTypographyProps={{\r\n fontSize: '1rem', fontWeight: 700\r\n }}\r\n sx={{ flex: 1, ml: 1 }}\r\n />\r\n <Box sx={{ display: 'flex', alignItems: 'center', height: '100%' }}>\r\n {expandedItems.includes('policies') ? (\r\n <ExpandLessRounded sx={{ fontSize: 20, color: \"#4D3019\" }} />\r\n ) : (\r\n <ExpandMoreRounded sx={{ fontSize: 20, color: \"#4D3019\" }} />\r\n )}\r\n </Box>\r\n </>\r\n )}\r\n </MenuItemButton>\r\n {expandedItems.includes('policies') && isOpen && (\r\n <Collapse in={true} timeout=\"auto\">\r\n <List sx={{ p: 0, mt: 0.5 }}>\r\n {renderPolicyItems(policies)}\r\n </List>\r\n </Collapse>\r\n )}\r\n </Box>\r\n )}\r\n </List>\r\n </Box>\r\n </Box>\r\n </SidebarContainer>\r\n </>\r\n );\r\n};"],"names":["styled","Box","IconButton","ListItemButton","useTheme","useState","_jsx","HomeRounded","_jsxs","ListItemText","ChevronRightRounded","Collapse","List","Typography","KeyboardDoubleArrowLeftRounded","KeyboardDoubleArrowRightRounded","ArticleRounded","_Fragment","ExpandLessRounded","ExpandMoreRounded"],"mappings":"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"}
@@ -173,10 +173,13 @@ const theme = createTheme({
173
173
  MuiLink: {
174
174
  styleOverrides: {
175
175
  root: {
176
- color: '#000',
177
- '&:hover, &:active, &:visited': {
176
+ color: '#4D3019',
177
+ '&:hover, &:active': {
178
178
  color: '#D79AFC',
179
179
  },
180
+ '&:visited': {
181
+ color: '#4D3019',
182
+ }
180
183
  },
181
184
  },
182
185
  },
@@ -1 +1 @@
1
- {"version":3,"file":"ThemeProvider.js","sources":["../../../src/ThemeProvider.tsx"],"sourcesContent":["import { createTheme, ThemeProvider as MuiThemeProvider } from '@mui/material/styles';\r\nimport { CssBaseline } from '@mui/material';\r\nimport * as React from 'react';\r\nimport './theme-types';\r\nimport { ToastContainer } from 'react-toastify';\r\n\r\nconst theme = createTheme({\r\n palette: {\r\n mode: 'light',\r\n primary: {\r\n main: '#AD46FF',\r\n light: '#AD46FF',\r\n dark: '#AD46FF',\r\n contrastText: '#FFFFFF',\r\n },\r\n secondary: {\r\n main: '#D79AFC',\r\n light: '#D79AFC',\r\n dark: '#D79AFC',\r\n contrastText: '#FFFFFF',\r\n },\r\n error: {\r\n main: '#F56B6B',\r\n light: '#F56B6B',\r\n dark: '#F56B6B',\r\n contrastText: '#FFFFFF',\r\n },\r\n warning: {\r\n main: '#F5D76E',\r\n light: '#F5D76E',\r\n dark: '#F5D76E',\r\n contrastText: '#FFFBFF',\r\n },\r\n info: {\r\n main: '#F5A623',\r\n light: '#F5A623',\r\n dark: '#F5A623',\r\n contrastText: '#FFFFFF',\r\n },\r\n success: {\r\n main: '#A3D977',\r\n light: '#A3D977',\r\n dark: '#A3D977',\r\n contrastText: '#FFFFFF',\r\n },\r\n background: {\r\n default: '#FDFCEE',\r\n paper: '#FEFDF7',\r\n },\r\n text: {\r\n primary: '#4D3019',\r\n secondary: '#826E5C',\r\n disabled: '#93908F',\r\n },\r\n divider: '#C6C7C0',\r\n accent: {\r\n main: '#FFEDD1',\r\n },\r\n dark: {\r\n main: '#4D3019',\r\n },\r\n light: {\r\n main: '#FEFDF7',\r\n },\r\n markedRead: {\r\n main: '#A3D977',\r\n },\r\n custom: {\r\n iconColor: '#ebc7ff',\r\n primaryButtonTextColor: '#FFFFFF',\r\n readByBackgroundColor: '#ebc7ff',\r\n stepIndicatorTextColor: '#FFFFFF',\r\n markAsReadBackgroundColor: '#ebc7ff8e',\r\n tabBackgroundColor: '#F8F0FC',\r\n },\r\n },\r\n typography: {\r\n fontFamily: ['Inter', '-apple-system', 'BlinkMacSystemFont', 'Segoe UI', 'Roboto', 'sans-serif'].join(','),\r\n h1: {\r\n color: '#4D3019',\r\n fontWeight: 700,\r\n fontSize: '2.5rem',\r\n lineHeight: 1.2,\r\n },\r\n h2: {\r\n color: '#4D3019',\r\n fontWeight: 700,\r\n fontSize: '2rem',\r\n lineHeight: 1.3,\r\n },\r\n h3: {\r\n color: '#4D3019',\r\n fontWeight: 600,\r\n fontSize: '1.75rem',\r\n lineHeight: 1.3,\r\n },\r\n h4: {\r\n color: '#4D3019',\r\n fontWeight: 600,\r\n fontSize: '1.5rem',\r\n lineHeight: 1.4,\r\n },\r\n h5: {\r\n color: '#4D3019',\r\n fontWeight: 600,\r\n fontSize: '1.25rem',\r\n lineHeight: 1.4,\r\n },\r\n h6: {\r\n color: '#4D3019',\r\n fontWeight: 600,\r\n fontSize: '1rem',\r\n lineHeight: 1.4,\r\n },\r\n body1: {\r\n color: '#4D3019',\r\n fontWeight: 400,\r\n fontSize: '1rem',\r\n lineHeight: 1.5,\r\n },\r\n body2: {\r\n color: '#826E5C',\r\n fontWeight: 400,\r\n fontSize: '0.875rem',\r\n lineHeight: 1.5,\r\n },\r\n subtitle1: {\r\n color: '#4D3019',\r\n fontWeight: 500,\r\n fontSize: '1rem',\r\n lineHeight: 1.5,\r\n },\r\n subtitle2: {\r\n color: '#826E5C',\r\n fontWeight: 500,\r\n fontSize: '0.875rem',\r\n lineHeight: 1.5,\r\n },\r\n button: {\r\n color: '#4D3019',\r\n fontWeight: 500,\r\n fontSize: '0.875rem',\r\n lineHeight: 1.75,\r\n textTransform: 'none',\r\n },\r\n caption: {\r\n color: '#826E5C',\r\n fontWeight: 400,\r\n fontSize: '0.75rem',\r\n lineHeight: 1.66,\r\n },\r\n overline: {\r\n color: '#826E5C',\r\n fontWeight: 500,\r\n fontSize: '0.75rem',\r\n lineHeight: 2.66,\r\n textTransform: 'uppercase',\r\n letterSpacing: '0.08em',\r\n },\r\n },\r\n shape: {\r\n borderRadius: 4,\r\n },\r\n breakpoints: {\r\n values: {\r\n xs: 320,\r\n sm: 640,\r\n md: 768,\r\n lg: 1024,\r\n xl: 1280,\r\n },\r\n },\r\n components: {\r\n MuiLink: {\r\n styleOverrides: {\r\n root: {\r\n color: '#000',\r\n '&:hover, &:active, &:visited': {\r\n color: '#D79AFC',\r\n },\r\n },\r\n },\r\n },\r\n MuiTypography: {\r\n defaultProps: {\r\n variantMapping: {\r\n h1: 'h1',\r\n h2: 'h2',\r\n h3: 'h3',\r\n h4: 'h4',\r\n h5: 'h5',\r\n h6: 'h6',\r\n subtitle1: 'p',\r\n subtitle2: 'p',\r\n body1: 'p',\r\n body2: 'p',\r\n },\r\n },\r\n },\r\n MuiCssBaseline: {\r\n styleOverrides: {\r\n body: {\r\n WebkitFontSmoothing: 'antialiased',\r\n MozOsxFontSmoothing: 'grayscale',\r\n backgroundColor: '#FDFCEE',\r\n color: '#4D3019',\r\n },\r\n 'input[type=\"checkbox\"], input[type=\"radio\"]': {\r\n accentColor: '#D79AFC',\r\n },\r\n 'h1, h2, h3, h4, h5, h6': {\r\n fontWeight: 'inherit !important',\r\n },\r\n '.MuiTypography-h1': {\r\n fontWeight: '700 !important',\r\n },\r\n '.MuiTypography-h2': {\r\n fontWeight: '700 !important',\r\n },\r\n '.MuiTypography-h3': {\r\n fontWeight: '600 !important',\r\n },\r\n '.MuiTypography-h4': {\r\n fontWeight: '600 !important',\r\n },\r\n '.MuiTypography-h5': {\r\n fontWeight: '600 !important',\r\n },\r\n '.MuiTypography-h6': {\r\n fontWeight: '600 !important',\r\n },\r\n },\r\n },\r\n },\r\n appName: 'ECE Docs',\r\n});\r\n\r\n\r\nexport const ThemeProvider: React.FC<{ children: React.ReactNode }> = ({ children }) => {\r\n return (\r\n <MuiThemeProvider theme={theme}>\r\n <CssBaseline />\r\n {children}\r\n <ToastContainer />\r\n </MuiThemeProvider>\r\n );\r\n};\r\n\r\n\r\nexport const useTheme = () => {\r\n return theme;\r\n};\r\n"],"names":["_jsxs","MuiThemeProvider","_jsx"],"mappings":";;;;;AAMA,MAAM,KAAK,GAAG,WAAW,CAAC;AACxB,IAAA,OAAO,EAAE;AACP,QAAA,IAAI,EAAE,OAAO;AACb,QAAA,OAAO,EAAE;AACP,YAAA,IAAI,EAAE,SAAS;AACf,YAAA,KAAK,EAAE,SAAS;AAChB,YAAA,IAAI,EAAE,SAAS;AACf,YAAA,YAAY,EAAE,SAAS;AACxB,SAAA;AACD,QAAA,SAAS,EAAE;AACT,YAAA,IAAI,EAAE,SAAS;AACf,YAAA,KAAK,EAAE,SAAS;AAChB,YAAA,IAAI,EAAE,SAAS;AACf,YAAA,YAAY,EAAE,SAAS;AACxB,SAAA;AACD,QAAA,KAAK,EAAE;AACL,YAAA,IAAI,EAAE,SAAS;AACf,YAAA,KAAK,EAAE,SAAS;AAChB,YAAA,IAAI,EAAE,SAAS;AACf,YAAA,YAAY,EAAE,SAAS;AACxB,SAAA;AACD,QAAA,OAAO,EAAE;AACP,YAAA,IAAI,EAAE,SAAS;AACf,YAAA,KAAK,EAAE,SAAS;AAChB,YAAA,IAAI,EAAE,SAAS;AACf,YAAA,YAAY,EAAE,SAAS;AACxB,SAAA;AACD,QAAA,IAAI,EAAE;AACJ,YAAA,IAAI,EAAE,SAAS;AACf,YAAA,KAAK,EAAE,SAAS;AAChB,YAAA,IAAI,EAAE,SAAS;AACf,YAAA,YAAY,EAAE,SAAS;AACxB,SAAA;AACD,QAAA,OAAO,EAAE;AACP,YAAA,IAAI,EAAE,SAAS;AACf,YAAA,KAAK,EAAE,SAAS;AAChB,YAAA,IAAI,EAAE,SAAS;AACf,YAAA,YAAY,EAAE,SAAS;AACxB,SAAA;AACD,QAAA,UAAU,EAAE;AACV,YAAA,OAAO,EAAE,SAAS;AAClB,YAAA,KAAK,EAAE,SAAS;AACjB,SAAA;AACD,QAAA,IAAI,EAAE;AACJ,YAAA,OAAO,EAAE,SAAS;AAClB,YAAA,SAAS,EAAE,SAAS;AACpB,YAAA,QAAQ,EAAE,SAAS;AACpB,SAAA;AACD,QAAA,OAAO,EAAE,SAAS;AAClB,QAAA,MAAM,EAAE;AACN,YAAA,IAAI,EAAE,SAAS;AAChB,SAAA;AACD,QAAA,IAAI,EAAE;AACJ,YAAA,IAAI,EAAE,SAAS;AAChB,SAAA;AACD,QAAA,KAAK,EAAE;AACL,YAAA,IAAI,EAAE,SAAS;AAChB,SAAA;AACD,QAAA,UAAU,EAAE;AACV,YAAA,IAAI,EAAE,SAAS;AAChB,SAAA;AACD,QAAA,MAAM,EAAE;AACN,YAAA,SAAS,EAAE,SAAS;AACpB,YAAA,sBAAsB,EAAE,SAAS;AACjC,YAAA,qBAAqB,EAAE,SAAS;AAChC,YAAA,sBAAsB,EAAE,SAAS;AACjC,YAAA,yBAAyB,EAAE,WAAW;AACtC,YAAA,kBAAkB,EAAE,SAAS;AAC9B,SAAA;AACF,KAAA;AACD,IAAA,UAAU,EAAE;AACV,QAAA,UAAU,EAAE,CAAC,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,UAAU,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;AAC1G,QAAA,EAAE,EAAE;AACF,YAAA,KAAK,EAAE,SAAS;AAChB,YAAA,UAAU,EAAE,GAAG;AACf,YAAA,QAAQ,EAAE,QAAQ;AAClB,YAAA,UAAU,EAAE,GAAG;AAChB,SAAA;AACD,QAAA,EAAE,EAAE;AACF,YAAA,KAAK,EAAE,SAAS;AAChB,YAAA,UAAU,EAAE,GAAG;AACf,YAAA,QAAQ,EAAE,MAAM;AAChB,YAAA,UAAU,EAAE,GAAG;AAChB,SAAA;AACD,QAAA,EAAE,EAAE;AACF,YAAA,KAAK,EAAE,SAAS;AAChB,YAAA,UAAU,EAAE,GAAG;AACf,YAAA,QAAQ,EAAE,SAAS;AACnB,YAAA,UAAU,EAAE,GAAG;AAChB,SAAA;AACD,QAAA,EAAE,EAAE;AACF,YAAA,KAAK,EAAE,SAAS;AAChB,YAAA,UAAU,EAAE,GAAG;AACf,YAAA,QAAQ,EAAE,QAAQ;AAClB,YAAA,UAAU,EAAE,GAAG;AAChB,SAAA;AACD,QAAA,EAAE,EAAE;AACF,YAAA,KAAK,EAAE,SAAS;AAChB,YAAA,UAAU,EAAE,GAAG;AACf,YAAA,QAAQ,EAAE,SAAS;AACnB,YAAA,UAAU,EAAE,GAAG;AAChB,SAAA;AACD,QAAA,EAAE,EAAE;AACF,YAAA,KAAK,EAAE,SAAS;AAChB,YAAA,UAAU,EAAE,GAAG;AACf,YAAA,QAAQ,EAAE,MAAM;AAChB,YAAA,UAAU,EAAE,GAAG;AAChB,SAAA;AACD,QAAA,KAAK,EAAE;AACL,YAAA,KAAK,EAAE,SAAS;AAChB,YAAA,UAAU,EAAE,GAAG;AACf,YAAA,QAAQ,EAAE,MAAM;AAChB,YAAA,UAAU,EAAE,GAAG;AAChB,SAAA;AACD,QAAA,KAAK,EAAE;AACL,YAAA,KAAK,EAAE,SAAS;AAChB,YAAA,UAAU,EAAE,GAAG;AACf,YAAA,QAAQ,EAAE,UAAU;AACpB,YAAA,UAAU,EAAE,GAAG;AAChB,SAAA;AACD,QAAA,SAAS,EAAE;AACT,YAAA,KAAK,EAAE,SAAS;AAChB,YAAA,UAAU,EAAE,GAAG;AACf,YAAA,QAAQ,EAAE,MAAM;AAChB,YAAA,UAAU,EAAE,GAAG;AAChB,SAAA;AACD,QAAA,SAAS,EAAE;AACT,YAAA,KAAK,EAAE,SAAS;AAChB,YAAA,UAAU,EAAE,GAAG;AACf,YAAA,QAAQ,EAAE,UAAU;AACpB,YAAA,UAAU,EAAE,GAAG;AAChB,SAAA;AACD,QAAA,MAAM,EAAE;AACN,YAAA,KAAK,EAAE,SAAS;AAChB,YAAA,UAAU,EAAE,GAAG;AACf,YAAA,QAAQ,EAAE,UAAU;AACpB,YAAA,UAAU,EAAE,IAAI;AAChB,YAAA,aAAa,EAAE,MAAM;AACtB,SAAA;AACD,QAAA,OAAO,EAAE;AACP,YAAA,KAAK,EAAE,SAAS;AAChB,YAAA,UAAU,EAAE,GAAG;AACf,YAAA,QAAQ,EAAE,SAAS;AACnB,YAAA,UAAU,EAAE,IAAI;AACjB,SAAA;AACD,QAAA,QAAQ,EAAE;AACR,YAAA,KAAK,EAAE,SAAS;AAChB,YAAA,UAAU,EAAE,GAAG;AACf,YAAA,QAAQ,EAAE,SAAS;AACnB,YAAA,UAAU,EAAE,IAAI;AAChB,YAAA,aAAa,EAAE,WAAW;AAC1B,YAAA,aAAa,EAAE,QAAQ;AACxB,SAAA;AACF,KAAA;AACD,IAAA,KAAK,EAAE;AACL,QAAA,YAAY,EAAE,CAAC;AAChB,KAAA;AACD,IAAA,WAAW,EAAE;AACX,QAAA,MAAM,EAAE;AACN,YAAA,EAAE,EAAE,GAAG;AACP,YAAA,EAAE,EAAE,GAAG;AACP,YAAA,EAAE,EAAE,GAAG;AACP,YAAA,EAAE,EAAE,IAAI;AACR,YAAA,EAAE,EAAE,IAAI;AACT,SAAA;AACF,KAAA;AACD,IAAA,UAAU,EAAE;AACV,QAAA,OAAO,EAAE;AACP,YAAA,cAAc,EAAE;AACd,gBAAA,IAAI,EAAE;AACJ,oBAAA,KAAK,EAAE,MAAM;AACb,oBAAA,8BAA8B,EAAE;AAC9B,wBAAA,KAAK,EAAE,SAAS;AACjB,qBAAA;AACF,iBAAA;AACF,aAAA;AACF,SAAA;AACC,QAAA,aAAa,EAAE;AACf,YAAA,YAAY,EAAE;AACZ,gBAAA,cAAc,EAAE;AACd,oBAAA,EAAE,EAAE,IAAI;AACR,oBAAA,EAAE,EAAE,IAAI;AACR,oBAAA,EAAE,EAAE,IAAI;AACR,oBAAA,EAAE,EAAE,IAAI;AACR,oBAAA,EAAE,EAAE,IAAI;AACR,oBAAA,EAAE,EAAE,IAAI;AACR,oBAAA,SAAS,EAAE,GAAG;AACd,oBAAA,SAAS,EAAE,GAAG;AACd,oBAAA,KAAK,EAAE,GAAG;AACV,oBAAA,KAAK,EAAE,GAAG;AACX,iBAAA;AACF,aAAA;AACF,SAAA;AACD,QAAA,cAAc,EAAE;AACd,YAAA,cAAc,EAAE;AACd,gBAAA,IAAI,EAAE;AACJ,oBAAA,mBAAmB,EAAE,aAAa;AAClC,oBAAA,mBAAmB,EAAE,WAAW;AAChC,oBAAA,eAAe,EAAE,SAAS;AAC1B,oBAAA,KAAK,EAAE,SAAS;AACjB,iBAAA;AACD,gBAAA,6CAA6C,EAAE;AAC7C,oBAAA,WAAW,EAAE,SAAS;AACvB,iBAAA;AACD,gBAAA,wBAAwB,EAAE;AACxB,oBAAA,UAAU,EAAE,oBAAoB;AACjC,iBAAA;AACD,gBAAA,mBAAmB,EAAE;AACnB,oBAAA,UAAU,EAAE,gBAAgB;AAC7B,iBAAA;AACD,gBAAA,mBAAmB,EAAE;AACnB,oBAAA,UAAU,EAAE,gBAAgB;AAC7B,iBAAA;AACD,gBAAA,mBAAmB,EAAE;AACnB,oBAAA,UAAU,EAAE,gBAAgB;AAC7B,iBAAA;AACD,gBAAA,mBAAmB,EAAE;AACnB,oBAAA,UAAU,EAAE,gBAAgB;AAC7B,iBAAA;AACD,gBAAA,mBAAmB,EAAE;AACnB,oBAAA,UAAU,EAAE,gBAAgB;AAC7B,iBAAA;AACD,gBAAA,mBAAmB,EAAE;AACnB,oBAAA,UAAU,EAAE,gBAAgB;AAC7B,iBAAA;AACF,aAAA;AACF,SAAA;AACF,KAAA;AACD,IAAA,OAAO,EAAE,UAAU;AACpB,CAAA,CAAC;MAGW,aAAa,GAA4C,CAAC,EAAE,QAAQ,EAAE,KAAI;AACrF,IAAA,QACEA,IAAA,CAACC,eAAgB,IAAC,KAAK,EAAE,KAAK,EAAA,QAAA,EAAA,CAC5BC,GAAA,CAAC,WAAW,EAAA,EAAA,CAAG,EACd,QAAQ,EACTA,GAAA,CAAC,cAAc,EAAA,EAAA,CAAG,CAAA,EAAA,CACD;AAEvB;AAGO,MAAM,QAAQ,GAAG,MAAK;AAC3B,IAAA,OAAO,KAAK;AACd;;;;"}
1
+ {"version":3,"file":"ThemeProvider.js","sources":["../../../src/ThemeProvider.tsx"],"sourcesContent":["import { createTheme, ThemeProvider as MuiThemeProvider } from '@mui/material/styles';\r\nimport { CssBaseline } from '@mui/material';\r\nimport * as React from 'react';\r\nimport './theme-types';\r\nimport { ToastContainer } from 'react-toastify';\r\n\r\nconst theme = createTheme({\r\n palette: {\r\n mode: 'light',\r\n primary: {\r\n main: '#AD46FF',\r\n light: '#AD46FF',\r\n dark: '#AD46FF',\r\n contrastText: '#FFFFFF',\r\n },\r\n secondary: {\r\n main: '#D79AFC',\r\n light: '#D79AFC',\r\n dark: '#D79AFC',\r\n contrastText: '#FFFFFF',\r\n },\r\n error: {\r\n main: '#F56B6B',\r\n light: '#F56B6B',\r\n dark: '#F56B6B',\r\n contrastText: '#FFFFFF',\r\n },\r\n warning: {\r\n main: '#F5D76E',\r\n light: '#F5D76E',\r\n dark: '#F5D76E',\r\n contrastText: '#FFFBFF',\r\n },\r\n info: {\r\n main: '#F5A623',\r\n light: '#F5A623',\r\n dark: '#F5A623',\r\n contrastText: '#FFFFFF',\r\n },\r\n success: {\r\n main: '#A3D977',\r\n light: '#A3D977',\r\n dark: '#A3D977',\r\n contrastText: '#FFFFFF',\r\n },\r\n background: {\r\n default: '#FDFCEE',\r\n paper: '#FEFDF7',\r\n },\r\n text: {\r\n primary: '#4D3019',\r\n secondary: '#826E5C',\r\n disabled: '#93908F',\r\n },\r\n divider: '#C6C7C0',\r\n accent: {\r\n main: '#FFEDD1',\r\n },\r\n dark: {\r\n main: '#4D3019',\r\n },\r\n light: {\r\n main: '#FEFDF7',\r\n },\r\n markedRead: {\r\n main: '#A3D977',\r\n },\r\n custom: {\r\n iconColor: '#ebc7ff',\r\n primaryButtonTextColor: '#FFFFFF',\r\n readByBackgroundColor: '#ebc7ff',\r\n stepIndicatorTextColor: '#FFFFFF',\r\n markAsReadBackgroundColor: '#ebc7ff8e',\r\n tabBackgroundColor: '#F8F0FC',\r\n },\r\n },\r\n typography: {\r\n fontFamily: ['Inter', '-apple-system', 'BlinkMacSystemFont', 'Segoe UI', 'Roboto', 'sans-serif'].join(','),\r\n h1: {\r\n color: '#4D3019',\r\n fontWeight: 700,\r\n fontSize: '2.5rem',\r\n lineHeight: 1.2,\r\n },\r\n h2: {\r\n color: '#4D3019',\r\n fontWeight: 700,\r\n fontSize: '2rem',\r\n lineHeight: 1.3,\r\n },\r\n h3: {\r\n color: '#4D3019',\r\n fontWeight: 600,\r\n fontSize: '1.75rem',\r\n lineHeight: 1.3,\r\n },\r\n h4: {\r\n color: '#4D3019',\r\n fontWeight: 600,\r\n fontSize: '1.5rem',\r\n lineHeight: 1.4,\r\n },\r\n h5: {\r\n color: '#4D3019',\r\n fontWeight: 600,\r\n fontSize: '1.25rem',\r\n lineHeight: 1.4,\r\n },\r\n h6: {\r\n color: '#4D3019',\r\n fontWeight: 600,\r\n fontSize: '1rem',\r\n lineHeight: 1.4,\r\n },\r\n body1: {\r\n color: '#4D3019',\r\n fontWeight: 400,\r\n fontSize: '1rem',\r\n lineHeight: 1.5,\r\n },\r\n body2: {\r\n color: '#826E5C',\r\n fontWeight: 400,\r\n fontSize: '0.875rem',\r\n lineHeight: 1.5,\r\n },\r\n subtitle1: {\r\n color: '#4D3019',\r\n fontWeight: 500,\r\n fontSize: '1rem',\r\n lineHeight: 1.5,\r\n },\r\n subtitle2: {\r\n color: '#826E5C',\r\n fontWeight: 500,\r\n fontSize: '0.875rem',\r\n lineHeight: 1.5,\r\n },\r\n button: {\r\n color: '#4D3019',\r\n fontWeight: 500,\r\n fontSize: '0.875rem',\r\n lineHeight: 1.75,\r\n textTransform: 'none',\r\n },\r\n caption: {\r\n color: '#826E5C',\r\n fontWeight: 400,\r\n fontSize: '0.75rem',\r\n lineHeight: 1.66,\r\n },\r\n overline: {\r\n color: '#826E5C',\r\n fontWeight: 500,\r\n fontSize: '0.75rem',\r\n lineHeight: 2.66,\r\n textTransform: 'uppercase',\r\n letterSpacing: '0.08em',\r\n },\r\n },\r\n shape: {\r\n borderRadius: 4,\r\n },\r\n breakpoints: {\r\n values: {\r\n xs: 320,\r\n sm: 640,\r\n md: 768,\r\n lg: 1024,\r\n xl: 1280,\r\n },\r\n },\r\n components: {\r\n MuiLink: {\r\n styleOverrides: {\r\n root: {\r\n color: '#4D3019',\r\n '&:hover, &:active': {\r\n color: '#D79AFC',\r\n },\r\n '&:visited': {\r\n color: '#4D3019',\r\n }\r\n },\r\n },\r\n },\r\n MuiTypography: {\r\n defaultProps: {\r\n variantMapping: {\r\n h1: 'h1',\r\n h2: 'h2',\r\n h3: 'h3',\r\n h4: 'h4',\r\n h5: 'h5',\r\n h6: 'h6',\r\n subtitle1: 'p',\r\n subtitle2: 'p',\r\n body1: 'p',\r\n body2: 'p',\r\n },\r\n },\r\n },\r\n MuiCssBaseline: {\r\n styleOverrides: {\r\n body: {\r\n WebkitFontSmoothing: 'antialiased',\r\n MozOsxFontSmoothing: 'grayscale',\r\n backgroundColor: '#FDFCEE',\r\n color: '#4D3019',\r\n },\r\n 'input[type=\"checkbox\"], input[type=\"radio\"]': {\r\n accentColor: '#D79AFC',\r\n },\r\n 'h1, h2, h3, h4, h5, h6': {\r\n fontWeight: 'inherit !important',\r\n },\r\n '.MuiTypography-h1': {\r\n fontWeight: '700 !important',\r\n },\r\n '.MuiTypography-h2': {\r\n fontWeight: '700 !important',\r\n },\r\n '.MuiTypography-h3': {\r\n fontWeight: '600 !important',\r\n },\r\n '.MuiTypography-h4': {\r\n fontWeight: '600 !important',\r\n },\r\n '.MuiTypography-h5': {\r\n fontWeight: '600 !important',\r\n },\r\n '.MuiTypography-h6': {\r\n fontWeight: '600 !important',\r\n },\r\n },\r\n },\r\n },\r\n appName: 'ECE Docs',\r\n});\r\n\r\n\r\nexport const ThemeProvider: React.FC<{ children: React.ReactNode }> = ({ children }) => {\r\n return (\r\n <MuiThemeProvider theme={theme}>\r\n <CssBaseline />\r\n {children}\r\n <ToastContainer />\r\n </MuiThemeProvider>\r\n );\r\n};\r\n\r\n\r\nexport const useTheme = () => {\r\n return theme;\r\n};\r\n"],"names":["_jsxs","MuiThemeProvider","_jsx"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { jsx, jsxs } from 'react/jsx-runtime';
2
- import { styled, Box, Typography } from '@mui/material';
2
+ import { styled, Box } from '@mui/material';
3
3
  import { InfoOutlineRounded } from '@mui/icons-material';
4
4
 
5
5
  const StyledAcknowledgementBox = styled(Box)(({ theme }) => ({
@@ -12,7 +12,7 @@ const StyledAcknowledgementBox = styled(Box)(({ theme }) => ({
12
12
  backgroundColor: theme.palette.background.default,
13
13
  }));
14
14
  const AcknowledgementBox = ({ children, sx, }) => {
15
- return (jsx(StyledAcknowledgementBox, { sx: sx, children: jsxs(Box, { display: 'flex', flexDirection: 'row', children: [jsx(Box, { display: 'flex', flexDirection: 'column', children: jsx(InfoOutlineRounded, { sx: { mr: 1, color: 'black' } }) }), jsxs(Box, { flex: '1', children: [jsx(Typography, { variant: 'h6', children: "Hei mihi | Acknowledgement" }), children] })] }) }));
15
+ return (jsx(StyledAcknowledgementBox, { sx: sx, children: jsxs(Box, { display: 'flex', flexDirection: 'row', children: [jsx(Box, { display: 'flex', flexDirection: 'column', children: jsx(InfoOutlineRounded, { sx: { mr: 1, color: 'black' } }) }), jsx(Box, { flex: '1', children: children })] }) }));
16
16
  };
17
17
 
18
18
  export { AcknowledgementBox };
@@ -1 +1 @@
1
- {"version":3,"file":"AcknowledgementBox.js","sources":["../../../../src/components/AcknowledgementBox.tsx"],"sourcesContent":["\r\n\r\nimport React from 'react';\r\nimport { Box, styled, SxProps, Theme, Typography } from '@mui/material';\r\nimport { InfoOutlineRounded } from '@mui/icons-material';\r\ninterface AcknowledgementProps {\r\n children: React.ReactNode | React.ReactNode[];\r\n sx?: SxProps<Theme>;\r\n}\r\n\r\nconst StyledAcknowledgementBox = styled(Box)(({ theme }) => ({\r\n marginTop: theme.spacing(2), // mt-4\r\n padding: theme.spacing(2), // p-4\r\n borderRadius: (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}1A`,\r\n backgroundColor: theme.palette.background.default,\r\n}));\r\n\r\n\r\nexport const AcknowledgementBox: React.FC<AcknowledgementProps> = ({\r\n children,\r\n sx,\r\n}) => {\r\n return (\r\n <StyledAcknowledgementBox\r\n sx={sx}\r\n >\r\n <Box display='flex' flexDirection='row'>\r\n <Box display='flex' flexDirection='column'>\r\n <InfoOutlineRounded sx={{ mr: 1, color: 'black' }} />\r\n </Box>\r\n <Box flex='1'>\r\n <Typography variant='h6'>Hei mihi | Acknowledgement</Typography>\r\n {children}\r\n </Box>\r\n </Box>\r\n </StyledAcknowledgementBox>\r\n );\r\n};"],"names":["_jsx","_jsxs"],"mappings":";;;;AAUA,MAAM,wBAAwB,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM;IAC3D,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;IAC3B,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;IACzB,YAAY,EAAE,CAAC,OAAO,KAAK,CAAC,KAAK,CAAC,YAAY,KAAK;UAC/C,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,YAAY,EAAE,EAAE;UACrC,KAAK,CAAC,KAAK,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC;IACtC,MAAM,EAAE,aAAa,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAA,EAAA,CAAI;AAChD,IAAA,eAAe,EAAE,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO;AAClD,CAAA,CAAC,CAAC;AAGI,MAAM,kBAAkB,GAAmC,CAAC,EACjE,QAAQ,EACR,EAAE,GACH,KAAI;AACH,IAAA,QACEA,GAAA,CAAC,wBAAwB,EAAA,EACvB,EAAE,EAAE,EAAE,EAAA,QAAA,EAENC,IAAA,CAAC,GAAG,EAAA,EAAC,OAAO,EAAC,MAAM,EAAC,aAAa,EAAC,KAAK,EAAA,QAAA,EAAA,CACrCD,GAAA,CAAC,GAAG,IAAC,OAAO,EAAC,MAAM,EAAC,aAAa,EAAC,QAAQ,EAAA,QAAA,EACxCA,IAAC,kBAAkB,EAAA,EAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,EAAA,CAAI,EAAA,CACjD,EACNC,IAAA,CAAC,GAAG,EAAA,EAAC,IAAI,EAAC,GAAG,EAAA,QAAA,EAAA,CACXD,GAAA,CAAC,UAAU,EAAA,EAAC,OAAO,EAAC,IAAI,EAAA,QAAA,EAAA,4BAAA,EAAA,CAAwC,EAC/D,QAAQ,CAAA,EAAA,CACL,CAAA,EAAA,CACF,EAAA,CACmB;AAE/B;;;;"}
1
+ {"version":3,"file":"AcknowledgementBox.js","sources":["../../../../src/components/AcknowledgementBox.tsx"],"sourcesContent":["\r\n\r\nimport React from 'react';\r\nimport { Box, styled, SxProps, Theme, Typography } from '@mui/material';\r\nimport { InfoOutlineRounded } from '@mui/icons-material';\r\ninterface AcknowledgementProps {\r\n children: React.ReactNode | React.ReactNode[];\r\n sx?: SxProps<Theme>;\r\n}\r\n\r\nconst StyledAcknowledgementBox = styled(Box)(({ theme }) => ({\r\n marginTop: theme.spacing(2), // mt-4\r\n padding: theme.spacing(2), // p-4\r\n borderRadius: (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}1A`,\r\n backgroundColor: theme.palette.background.default,\r\n}));\r\n\r\n\r\nexport const AcknowledgementBox: React.FC<AcknowledgementProps> = ({\r\n children,\r\n sx,\r\n}) => {\r\n return (\r\n <StyledAcknowledgementBox\r\n sx={sx}\r\n >\r\n <Box display='flex' flexDirection='row'>\r\n <Box display='flex' flexDirection='column'>\r\n <InfoOutlineRounded sx={{ mr: 1, color: 'black' }} />\r\n </Box>\r\n <Box flex='1'>\r\n {children}\r\n </Box>\r\n </Box>\r\n </StyledAcknowledgementBox>\r\n );\r\n};"],"names":["_jsx","_jsxs"],"mappings":";;;;AAUA,MAAM,wBAAwB,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM;IAC3D,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;IAC3B,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;IACzB,YAAY,EAAE,CAAC,OAAO,KAAK,CAAC,KAAK,CAAC,YAAY,KAAK;UAC/C,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,YAAY,EAAE,EAAE;UACrC,KAAK,CAAC,KAAK,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC;IACtC,MAAM,EAAE,aAAa,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAA,EAAA,CAAI;AAChD,IAAA,eAAe,EAAE,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO;AAClD,CAAA,CAAC,CAAC;AAGI,MAAM,kBAAkB,GAAmC,CAAC,EACjE,QAAQ,EACR,EAAE,GACH,KAAI;IACH,QACEA,GAAA,CAAC,wBAAwB,EAAA,EACvB,EAAE,EAAE,EAAE,EAAA,QAAA,EAENC,IAAA,CAAC,GAAG,EAAA,EAAC,OAAO,EAAC,MAAM,EAAC,aAAa,EAAC,KAAK,EAAA,QAAA,EAAA,CACrCD,GAAA,CAAC,GAAG,EAAA,EAAC,OAAO,EAAC,MAAM,EAAC,aAAa,EAAC,QAAQ,EAAA,QAAA,EACxCA,GAAA,CAAC,kBAAkB,EAAA,EAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,EAAA,CAAI,EAAA,CACjD,EACNA,GAAA,CAAC,GAAG,EAAA,EAAC,IAAI,EAAC,GAAG,EAAA,QAAA,EACV,QAAQ,EAAA,CACL,CAAA,EAAA,CACF,EAAA,CACmB;AAE/B;;;;"}
@@ -8,7 +8,7 @@ interface BreadcrumbProps {
8
8
  currentItem: string;
9
9
  dropdownItems?: BreadcrumbItem[];
10
10
  onItemSelect?: (item: BreadcrumbItem) => void;
11
- navigate: (path: string) => void;
11
+ onNavigate?: (path: string) => void;
12
12
  }
13
13
  export declare const Breadcrumb: React.FC<BreadcrumbProps>;
14
14
  export {};
@@ -44,7 +44,7 @@ const DropdownButton = styled('button')(({ theme }) => ({
44
44
  const StyledMenu = styled(Menu)(({ theme }) => ({
45
45
  '& .MuiPaper-root': {
46
46
  marginTop: theme.spacing(1),
47
- width: '220px',
47
+ width: 'auto',
48
48
  borderRadius: (typeof theme.shape.borderRadius === 'string'
49
49
  ? parseInt(theme.shape.borderRadius, 10)
50
50
  : theme.shape.borderRadius || 4) * 2,
@@ -71,33 +71,48 @@ const DropdownMenu = ({ dropdownItems, currentItem, anchorEl, isDropdownOpen, ha
71
71
  transform: isDropdownOpen ? 'rotate(180deg)' : 'rotate(0deg)',
72
72
  } })] }), jsx(StyledMenu, { anchorEl: anchorEl, open: isDropdownOpen, onClose: handleClose, children: dropdownItems.map((item, index) => (jsx(StyledMenuItem, { onClick: () => handleItemClick(item), isActive: item.label === currentItem, children: item.label }, index))) })] })) : null;
73
73
  };
74
- const Breadcrumb = ({ items, currentItem, dropdownItems = [], onItemSelect, navigate, }) => {
74
+ const Breadcrumb = ({ items, currentItem, dropdownItems = [], onItemSelect, onNavigate, }) => {
75
75
  const theme = useTheme();
76
76
  const [anchorEl, setAnchorEl] = useState(null);
77
77
  const isDropdownOpen = Boolean(anchorEl);
78
78
  const isMobile = useMediaQuery(theme.breakpoints.down('sm'));
79
+ const [pathAnchorEl, setPathAnchorEl] = useState(null);
80
+ const isPathMenuOpen = Boolean(pathAnchorEl);
81
+ const handleNavigation = (path) => {
82
+ if (onNavigate) {
83
+ onNavigate(path);
84
+ }
85
+ else {
86
+ window.location.href = path;
87
+ }
88
+ };
79
89
  const handleDropdownToggle = (event) => {
80
90
  setAnchorEl(event.currentTarget);
81
91
  };
82
92
  const handleClose = () => setAnchorEl(null);
83
- const handleHomeClick = () => navigate('/');
93
+ const handlePathMenuOpen = (event) => {
94
+ setPathAnchorEl(event.currentTarget);
95
+ };
96
+ const handlePathMenuClose = () => setPathAnchorEl(null);
97
+ const handleHomeClick = () => handleNavigation('/');
84
98
  const handleItemClick = (item) => {
85
99
  onItemSelect?.(item);
86
100
  handleClose();
101
+ handlePathMenuClose();
87
102
  if (item.href)
88
- navigate(item.href);
103
+ handleNavigation(item.href);
89
104
  };
90
105
  if (isMobile && items.length > 2) {
91
106
  const last = items[items.length - 1];
92
107
  const middleItems = items.slice(1, -1);
93
- return (jsxs(Box, { component: "nav", sx: { display: 'flex', alignItems: 'center', gap: 0.5 }, children: [jsx(HomeButton, { "aria-label": "Home", onClick: handleHomeClick, children: jsx(HomeRounded, { sx: { fontSize: 20, color: '#4D3019' } }) }), jsx(IconButton, { size: "small", onClick: handleDropdownToggle, children: jsx(MoreHorizRounded, { sx: { color: theme.palette.dark.main } }) }), jsx(Typography, { sx: {
108
+ return (jsxs(Box, { component: "nav", sx: { display: 'flex', alignItems: 'center', gap: 0.5 }, children: [jsx(HomeButton, { "aria-label": "Home", onClick: handleHomeClick, children: jsx(HomeRounded, { sx: { fontSize: 20, color: '#4D3019' } }) }), jsx(IconButton, { size: "small", onClick: handlePathMenuOpen, children: jsx(MoreHorizRounded, { sx: { color: theme.palette.dark.main } }) }), jsx(Typography, { sx: {
94
109
  fontWeight: 500,
95
110
  color: theme.palette.dark.main,
96
111
  whiteSpace: 'nowrap',
97
112
  overflow: 'hidden',
98
113
  textOverflow: 'ellipsis',
99
114
  maxWidth: '120px',
100
- }, children: last.label || currentItem }), jsx(StyledMenu, { anchorEl: anchorEl, open: isDropdownOpen, onClose: handleClose, children: middleItems.map((item, index) => (jsx(StyledMenuItem, { onClick: () => handleItemClick(item), isActive: item.label === currentItem, children: item.label }, index))) }), jsx(DropdownMenu, { dropdownItems: dropdownItems, currentItem: currentItem, anchorEl: anchorEl, isDropdownOpen: isDropdownOpen, handleDropdownToggle: handleDropdownToggle, handleClose: handleClose, handleItemClick: handleItemClick })] }));
115
+ }, children: last.label || currentItem }), jsx(StyledMenu, { anchorEl: pathAnchorEl, open: isPathMenuOpen, onClose: handlePathMenuClose, children: middleItems.map((item, index) => (jsx(StyledMenuItem, { onClick: () => handleItemClick(item), isActive: item.label === currentItem, children: item.label }, index))) }), jsx(DropdownMenu, { dropdownItems: dropdownItems, currentItem: currentItem, anchorEl: anchorEl, isDropdownOpen: isDropdownOpen, handleDropdownToggle: handleDropdownToggle, handleClose: handleClose, handleItemClick: handleItemClick })] }));
101
116
  }
102
117
  return (jsxs(Box, { component: "nav", sx: {
103
118
  display: 'flex',
@@ -118,7 +133,7 @@ const Breadcrumb = ({ items, currentItem, dropdownItems = [], onItemSelect, navi
118
133
  px: { xs: 0.5, sm: 1 },
119
134
  whiteSpace: 'nowrap',
120
135
  cursor: item.href ? 'pointer' : 'default',
121
- }, onClick: () => item.href && navigate(item.href), children: item.label }, index))) }), jsx(DropdownMenu, { dropdownItems: dropdownItems, currentItem: currentItem, anchorEl: anchorEl, isDropdownOpen: isDropdownOpen, handleDropdownToggle: handleDropdownToggle, handleClose: handleClose, handleItemClick: handleItemClick })] }));
136
+ }, onClick: () => item.href && handleNavigation(item.href), children: item.label }, index))) }), jsx(DropdownMenu, { dropdownItems: dropdownItems, currentItem: currentItem, anchorEl: anchorEl, isDropdownOpen: isDropdownOpen, handleDropdownToggle: handleDropdownToggle, handleClose: handleClose, handleItemClick: handleItemClick })] }));
122
137
  };
123
138
 
124
139
  export { Breadcrumb };
@@ -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 navigate: (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: '220px',\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 navigate,\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 handleDropdownToggle = (event: React.MouseEvent<HTMLButtonElement>) => {\r\n setAnchorEl(event.currentTarget);\r\n };\r\n const handleClose = () => setAnchorEl(null);\r\n const handleHomeClick = () => navigate('/');\r\n const handleItemClick = (item: BreadcrumbItem) => {\r\n onItemSelect?.(item);\r\n handleClose();\r\n if (item.href) navigate(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={handleDropdownToggle}>\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 anchorEl={anchorEl} open={isDropdownOpen} onClose={handleClose}>\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 && navigate(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":["_jsxs","_jsx","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 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":["_jsxs","_jsx","MuiBreadcrumbs"],"mappings":"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"}
@@ -179,7 +179,7 @@ const Modal = ({ isOpen, onClose, status, requirementType, description, value, d
179
179
  backgroundColor: useDefaultValue || canSubmitSave ? 'rgba(0, 0, 0, 0.05)' : '#fff',
180
180
  borderRadius: 2,
181
181
  },
182
- } }), jsx(FormControlLabel, { control: jsx(Checkbox, { checked: useDefaultValue, disabled: canSubmitSave, onChange: handleUseDefaultValueChange, sx: {
182
+ } }), jsx(FormControlLabel, { control: jsx(Checkbox, { checked: useDefaultValue, disabled: canSubmitSave || variableState === VariableState.Declined, onChange: handleUseDefaultValueChange, sx: {
183
183
  color: '#AC46FF',
184
184
  '&.Mui-checked': {
185
185
  color: '#AC46FF',
@@ -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}\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":["_jsxs","_jsx","_Fragment"],"mappings":"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"}
1
+ {"version":3,"file":"Modal.js","sources":["../../../../src/components/Modal.tsx"],"sourcesContent":["import React, { useEffect, useState } from 'react';\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":["_jsxs","_jsx","_Fragment"],"mappings":"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"}
@@ -54,7 +54,7 @@ const ReadBy = ({ names }) => {
54
54
  break;
55
55
  }
56
56
  }
57
- setVisibleCount(currentCount - 1);
57
+ setVisibleCount(currentCount);
58
58
  }
59
59
  }, [names, isExpanded, containerRef.current, measureRef.current]);
60
60
  const displayText = isExpanded
@@ -77,7 +77,7 @@ const ReadBy = ({ names }) => {
77
77
  whiteSpace: 'nowrap',
78
78
  fontSize: '14px',
79
79
  fontWeight: 400
80
- } })] }), names.length > 1 && (jsx(ExpandButton, { onClick: () => setIsExpanded(!isExpanded), "aria-label": isExpanded ? 'Collapse' : 'Expand', size: "small", children: isExpanded ? (jsx(ExpandLessRounded, { sx: { fontSize: 16 } })) : (jsx(ExpandMoreRounded, { sx: { fontSize: 16 } })) }))] }));
80
+ } })] }), (names.length > 1 && (names.length !== visibleCount || isExpanded === true)) && (jsx(ExpandButton, { onClick: () => setIsExpanded(!isExpanded), "aria-label": isExpanded ? 'Collapse' : 'Expand', size: "small", children: isExpanded ? (jsx(ExpandLessRounded, { sx: { fontSize: 16 } })) : (jsx(ExpandMoreRounded, { sx: { fontSize: 16 } })) }))] }));
81
81
  };
82
82
 
83
83
  export { ReadBy };