ece-docs-components 1.0.62 → 1.0.64

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.
@@ -6,12 +6,12 @@ var material = require('@mui/material');
6
6
  var ThemeProvider = require('../ThemeProvider.js');
7
7
  var iconsMaterial = require('@mui/icons-material');
8
8
 
9
- exports.VisibilityState = void 0;
10
- (function (VisibilityState) {
11
- VisibilityState["Admin"] = "Admin";
12
- VisibilityState["Contributor"] = "Contributor";
13
- VisibilityState["Community"] = "Community";
14
- })(exports.VisibilityState || (exports.VisibilityState = {}));
9
+ exports.Visibility = void 0;
10
+ (function (Visibility) {
11
+ Visibility["Admin"] = "Admin";
12
+ Visibility["Contributor"] = "Contributor";
13
+ Visibility["Community"] = "Community";
14
+ })(exports.Visibility || (exports.Visibility = {}));
15
15
  const SidebarContainer = material.styled(material.Box, {
16
16
  shouldForwardProp: (prop) => prop !== "isOpen",
17
17
  })(({ theme, isOpen }) => ({
@@ -108,9 +108,9 @@ const Sidebar = ({ isOpen = true, onToggle, centreName = "Centre name goes here
108
108
  const isExpanded = expandedPolicies.includes(item.id);
109
109
  const paddingLeft = 3 + depth * 2;
110
110
  // Check visibility based on visibility state and isAdmin prop
111
- const isVisible = item.visibility === exports.VisibilityState.Admin
111
+ const isVisible = item.visibility === exports.Visibility.Admin
112
112
  ? !!isAdmin
113
- : item.visibility === exports.VisibilityState.Contributor || !item.visibility;
113
+ : item.visibility === exports.Visibility.Contributor || !item.visibility;
114
114
  if (!isVisible) {
115
115
  return null;
116
116
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Sidebar.js","sources":["../../../../src/components/Sidebar.tsx"],"sourcesContent":["import React, { useState } from \"react\";\r\nimport {\r\n Box,\r\n IconButton,\r\n Typography,\r\n List,\r\n ListItemButton,\r\n ListItemText,\r\n Collapse,\r\n styled,\r\n} from \"@mui/material\";\r\nimport { useTheme } from \"../ThemeProvider\";\r\nimport {\r\n ArticleRounded,\r\n ChevronRightRounded,\r\n ExpandLessRounded,\r\n ExpandMoreRounded,\r\n HelpCenterRounded,\r\n HomeRounded,\r\n KeyboardDoubleArrowLeftRounded,\r\n KeyboardDoubleArrowRightRounded,\r\n Settings,\r\n SupportAgentRounded,\r\n TextSnippetRounded,\r\n} from \"@mui/icons-material\";\r\n\r\nexport enum VisibilityState {\r\n Admin = \"Admin\",\r\n Contributor = \"Contributor\",\r\n Community = \"Community\",\r\n}\r\n\r\n// PolicyItem and SidebarProps interfaces as before\r\ninterface PolicyItem {\r\n id: number;\r\n title: string;\r\n url: string;\r\n newpage?: boolean;\r\n visibility?: VisibilityState;\r\n items?: 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 isAdmin?: boolean;\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 = true,\r\n onToggle,\r\n centreName = \"Centre name goes here \\n across two lines\",\r\n policies = [],\r\n onNavigate,\r\n isAdmin\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)\r\n ? prev.filter((id) => id !== itemId)\r\n : [...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 = (\r\n items: PolicyItem[],\r\n depth: number = 0,\r\n ): React.ReactNode => {\r\n return items.map((item) => {\r\n const hasChildren = item.items && item.items.length > 0;\r\n const isExpanded = expandedPolicies.includes(item.id);\r\n const paddingLeft = 3 + depth * 2;\r\n\r\n // Check visibility based on visibility state and isAdmin prop\r\n const isVisible =\r\n item.visibility === VisibilityState.Admin\r\n ? !!isAdmin\r\n : item.visibility === VisibilityState.Contributor || !item.visibility;\r\n\r\n if (!isVisible) {\r\n return null;\r\n }\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\r\n ? `${theme.palette.primary.main}1A`\r\n : \"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.title}\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.id);\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.items!, 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)\r\n ? prev.filter((id) => id !== itemId)\r\n : [...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={{\r\n fontSize: \"1rem\",\r\n fontWeight: 700,\r\n }}\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\",\r\n fontWeight: 700,\r\n }}\r\n sx={{ flex: 1, ml: 1 }}\r\n />\r\n <Box\r\n sx={{\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n height: \"100%\",\r\n }}\r\n >\r\n {expandedItems.includes(\"policies\") ? (\r\n <ExpandLessRounded\r\n sx={{ fontSize: 20, color: \"#4D3019\" }}\r\n />\r\n ) : (\r\n <ExpandMoreRounded\r\n sx={{ fontSize: 20, color: \"#4D3019\" }}\r\n />\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 <Box key={\"/settings\"} sx={{ mb: 1 }}>\r\n <MenuItemButton\r\n disableRipple\r\n isOpen={isOpen}\r\n onClick={() => {\r\n if (!isOpen) onToggle();\r\n toggleItem(\"/settings\");\r\n handleNavigation(\"/settings\");\r\n }}\r\n isActive={window.location.pathname.includes(\"/settings\")}\r\n title={!isOpen ? \"Settings\" : undefined}\r\n >\r\n <IconWrapper isOpen={isOpen} sx={{ ml: isOpen ? 2 : 0 }}>\r\n <Settings />\r\n </IconWrapper>\r\n {isOpen && (\r\n <ListItemText\r\n primary={\"Settings\"}\r\n primaryTypographyProps={{\r\n fontSize: \"1rem\",\r\n fontWeight: 700,\r\n }}\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};\r\n"],"names":["VisibilityState","styled","Box","IconButton","ListItemButton","useTheme","useState","_jsx","HomeRounded","_jsxs","ListItemText","ChevronRightRounded","Collapse","List","Typography","KeyboardDoubleArrowLeftRounded","KeyboardDoubleArrowRightRounded","ArticleRounded","_Fragment","ExpandLessRounded","ExpandMoreRounded","Settings"],"mappings":";;;;;;;;AA0BYA;AAAZ,CAAA,UAAY,eAAe,EAAA;AACzB,IAAA,eAAA,CAAA,OAAA,CAAA,GAAA,OAAe;AACf,IAAA,eAAA,CAAA,aAAA,CAAA,GAAA,aAA2B;AAC3B,IAAA,eAAA,CAAA,WAAA,CAAA,GAAA,WAAuB;AACzB,CAAC,EAJWA,uBAAe,KAAfA,uBAAe,GAAA,EAAA,CAAA,CAAA;AA+B3B,MAAM,gBAAgB,GAAGC,eAAM,CAACC,YAAG,EAAE;IACnC,iBAAiB,EAAE,CAAC,IAAI,KAAK,IAAI,KAAK,QAAQ;CAC/C,CAAC,CAAsB,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM;AAC9C,IAAA,MAAM,EAAE,OAAO;AACf,IAAA,QAAQ,EAAE,QAAQ;AAClB,IAAA,GAAG,EAAE,CAAC;AACN,IAAA,WAAW,EAAE,CAAC;AACd,IAAA,QAAQ,EAAE,QAAQ;AAClB,IAAA,eAAe,EAAE,MAAM;IACvB,WAAW,EAAE,aAAa,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAA,EAAA,CAAI;AACrD,IAAA,UAAU,EAAE,CAAC;AACb,IAAA,UAAU,EAAE,sBAAsB;IAClC,KAAK,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM;AAChC,IAAA,MAAM,EAAE,EAAE;IACV,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;AAC9B,QAAA,QAAQ,EAAE,OAAO;QACjB,IAAI,EAAE,MAAM,GAAG,CAAC,GAAG,QAAQ;AAC3B,QAAA,KAAK,EAAE,OAAO;AACf,KAAA;IACD,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;QAC5B,KAAK,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM;AACjC,KAAA;AACF,CAAA,CAAC,CAAC;AAEH,MAAM,YAAY,GAAGD,eAAM,CAACE,mBAAU,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM;AACtD,IAAA,KAAK,EAAE,EAAE;AACT,IAAA,MAAM,EAAE,EAAE;AACV,IAAA,YAAY,EAAE,KAAK,CAAC,KAAK,CAAC,YAAY;AACtC,IAAA,eAAe,EAAE,SAAS;AAC1B,IAAA,KAAK,EAAE,MAAM;AACb,IAAA,SAAS,EAAE;AACT,QAAA,eAAe,EAAE,SAAS;AAC3B,KAAA;AACF,CAAA,CAAC,CAAC;AAEH,MAAM,cAAc,GAAGF,eAAM,CAACG,uBAAc,EAAE;AAC5C,IAAA,iBAAiB,EAAE,CAAC,IAAI,KAAK,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,UAAU;AACtE,CAAA,CAAC,CAA0C,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM;AAC5E,IAAA,YAAY,EAAE;AACZ,UAAE,CAAA,EAAA,EAAK,KAAK,CAAC,KAAK,CAAC,YAAY,CAAA,GAAA,EAAM,KAAK,CAAC,KAAK,CAAC,YAAY,CAAA,IAAA;AAC7D,UAAE,KAAK,CAAC,KAAK,CAAC,YAAY;AAC5B,IAAA,WAAW,EAAE,CAAC;AACd,IAAA,YAAY,EAAE,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;IAC3C,WAAW,EAAE,MAAM,GAAG,CAAC,GAAG,CAAC;AAC3B,IAAA,SAAS,EAAE,EAAE;IACb,cAAc,EAAE,MAAM,GAAG,YAAY,GAAG,QAAQ;AAChD,IAAA,cAAc,EAAE,aAAa;AAC7B,IAAA,gBAAgB,EAAE,YAAY;AAC9B,IAAA,SAAS,EAAE;QACT,eAAe,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAA,EAAA,CAAI;AACnD,KAAA;IACD,IAAI,QAAQ,IAAI;QACd,eAAe,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAA,EAAA,CAAI;AAClD,QAAA,SAAS,EAAE;YACT,eAAe,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAA,EAAA,CAAI;AACnD,SAAA;KACF,CAAC;AACH,CAAA,CAAC,CAAC;AAEH,MAAM,WAAW,GAAGH,eAAM,CAACC,YAAG,EAAE;IAC9B,iBAAiB,EAAE,CAAC,IAAI,KAAK,IAAI,KAAK,QAAQ;CAC/C,CAAC,CAAsB,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM;IAC9C,KAAK,EAAE,MAAM,GAAG,EAAE,GAAG,EAAE;IACvB,MAAM,EAAE,MAAM,GAAG,EAAE,GAAG,EAAE;AACxB,IAAA,OAAO,EAAE,MAAM;AACf,IAAA,UAAU,EAAE,QAAQ;AACpB,IAAA,cAAc,EAAE,QAAQ;AACxB,IAAA,eAAe,EAAE,aAAa;AAC/B,CAAA,CAAC,CAAC;AAEI,MAAM,OAAO,GAA2B,CAAC,EAC9C,MAAM,GAAG,IAAI,EACb,QAAQ,EACR,UAAU,GAAG,2CAA2C,EACxD,QAAQ,GAAG,EAAE,EACb,UAAU,EACV,OAAO,EACR,KAAI;AACH,IAAA,MAAM,KAAK,GAAGG,sBAAQ,EAAE;IACxB,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAGC,cAAQ,CAAW,EAAE,CAAC;IAChE,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAGA,cAAQ,CAAW,EAAE,CAAC;AAEtE,IAAA,MAAM,gBAAgB,GAAG,CAAC,IAAY,KAAI;QACxC,IAAI,UAAU,EAAE;YACd,UAAU,CAAC,IAAI,CAAC;QAClB;aAAO;AACL,YAAA,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,IAAI;QAC7B;AACF,IAAA,CAAC;AAED,IAAA,MAAM,gBAAgB,GAAG,CAAC,MAAc,KAAI;QAC1C,mBAAmB,CAAC,CAAC,IAAI,KACvB,IAAI,CAAC,QAAQ,CAAC,MAAM;AAClB,cAAE,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,MAAM;cACjC,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC,CACtB;AACH,IAAA,CAAC;AAED,IAAA,MAAM,SAAS,GAAe;AAC5B,QAAA;AACE,YAAA,EAAE,EAAE,YAAY;AAChB,YAAA,KAAK,EAAE,WAAW;AAClB,YAAA,IAAI,EAAEC,cAAA,CAACC,yBAAW,EAAA,EAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,EAAA,CAAI;AAC9D,SAAA;KACF;IAED,MAAM,iBAAiB,GAAG,CACxB,KAAmB,EACnB,KAAA,GAAgB,CAAC,KACE;AACnB,QAAA,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,KAAI;AACxB,YAAA,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC;YACvD,MAAM,UAAU,GAAG,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;AACrD,YAAA,MAAM,WAAW,GAAG,CAAC,GAAG,KAAK,GAAG,CAAC;;YAGjC,MAAM,SAAS,GACb,IAAI,CAAC,UAAU,KAAKR,uBAAe,CAAC;kBAChC,CAAC,CAAC;AACJ,kBAAE,IAAI,CAAC,UAAU,KAAKA,uBAAe,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,UAAU;YAEzE,IAAI,CAAC,SAAS,EAAE;AACd,gBAAA,OAAO,IAAI;YACb;YAEA,QACES,eAAA,CAACP,YAAG,EAAA,EAAA,QAAA,EAAA,CACFK,cAAA,CAACL,YAAG,EAAA,EAAC,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,EAAA,QAAA,EACjDO,eAAA,CAACL,uBAAc,EAAA,EACb,aAAa,EAAA,IAAA,EACb,EAAE,EAAE;AACF,gCAAA,IAAI,EAAE,CAAC;AACP,gCAAA,KAAK,EAAE,MAAM;AACb,gCAAA,EAAE,EAAE,WAAW;AACf,gCAAA,WAAW,EAAE,KAAK;AAClB,gCAAA,EAAE,EAAE,IAAI;AACR,gCAAA,EAAE,EAAE,CAAC;AACL,gCAAA,YAAY,EAAE,CAAA,EAAA,EAAK,KAAK,CAAC,KAAK,CAAC,YAAY,CAAA,GAAA,EAAM,KAAK,CAAC,KAAK,CAAC,YAAY,CAAA,IAAA,CAAM;;;;;AAK/E,gCAAA,eAAe,EAAE;sCACb,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAA,EAAA;AAC/B,sCAAE,aAAa;AAClB,6BAAA,EAAA,QAAA,EAAA,CAGDG,cAAA,CAACL,YAAG,EAAA,EACF,EAAE,EAAE;AACF,wCAAA,MAAM,EAAE,SAAS;AACjB,wCAAA,IAAI,EAAE,CAAC;AACR,qCAAA,EACD,OAAO,EAAE,MAAM,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAA,QAAA,EAEzCK,eAACG,qBAAY,EAAA,EACX,OAAO,EAAE,IAAI,CAAC,KAAK,EACnB,sBAAsB,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAA,CAChD,GACE,EAEL,WAAW,KACVH,cAAA,CAACJ,mBAAU,EAAA,EACT,OAAO,EAAE,CAAC,CAAC,KAAI;wCACb,CAAC,CAAC,eAAe,EAAE;AACnB,wCAAA,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC;AAC3B,oCAAA,CAAC,EACD,aAAa,EAAA,IAAA,EACb,EAAE,EAAE;AACF,wCAAA,EAAE,EAAE,GAAG;AACP,wCAAA,YAAY,EAAE,CAAC;AACf,wCAAA,KAAK,EAAE,EAAE;AACT,wCAAA,MAAM,EAAE,EAAE;AACV,wCAAA,SAAS,EAAE;4CACT,eAAe,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAA,EAAA,CAAI;AACnD,yCAAA;AACF,qCAAA,EAAA,QAAA,EAEDI,cAAA,CAACI,iCAAmB,EAAA,EAClB,EAAE,EAAE;AACF,4CAAA,QAAQ,EAAE,EAAE;AACZ,4CAAA,KAAK,EAAE,SAAS;AAChB,4CAAA,UAAU,EAAE,gBAAgB;4CAC5B,SAAS,EAAE,UAAU,GAAG,eAAe,GAAG,cAAc;yCACzD,EAAA,CACD,EAAA,CACS,CACd,CAAA,EAAA,CACc,EAAA,CACb,EACL,WAAW,IAAI,UAAU,KACxBJ,cAAA,CAACK,iBAAQ,IAAC,EAAE,EAAE,IAAI,EAAE,OAAO,EAAC,MAAM,EAAA,QAAA,EAChCL,cAAA,CAACM,aAAI,EAAA,EAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,EAAA,QAAA,EACxB,iBAAiB,CAAC,IAAI,CAAC,KAAM,EAAE,KAAK,GAAG,CAAC,CAAC,EAAA,CACrC,EAAA,CACE,CACZ,CAAA,EAAA,EAtEO,IAAI,CAAC,EAAE,CAuEX;AAEV,QAAA,CAAC,CAAC;AACJ,IAAA,CAAC;AAED,IAAA,MAAM,UAAU,GAAG,CAAC,MAAc,KAAI;QACpC,IAAI,CAAC,MAAM,EAAE;AACX,YAAA,QAAQ,EAAE;AACV,YAAA,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC;QAC5B;aAAO;YACL,gBAAgB,CAAC,CAAC,IAAI,KACpB,IAAI,CAAC,QAAQ,CAAC,MAAM;AAClB,kBAAE,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,MAAM;kBACjC,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC,CACtB;QACH;AACF,IAAA,CAAC;IAED,QACEJ,kDACG,MAAM,KACLF,cAAA,CAACL,YAAG,EAAA,EACF,EAAE,EAAE;AACF,oBAAA,QAAQ,EAAE,OAAO;AACjB,oBAAA,KAAK,EAAE,CAAC;AACR,oBAAA,OAAO,EAAE,oBAAoB;AAC7B,oBAAA,MAAM,EAAE,EAAE;oBACV,OAAO,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE;AACrC,iBAAA,EACD,OAAO,EAAE,QAAQ,EAAA,CACjB,CACH,EACDK,cAAA,CAAC,gBAAgB,EAAA,EAAC,MAAM,EAAE,MAAM,EAAA,QAAA,EAC9BE,gBAACP,YAAG,EAAA,EAAC,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,EAAA,QAAA,EAAA,CAClE,MAAM,KACLO,gBAACP,YAAG,EAAA,EACF,EAAE,EAAE;AACF,gCAAA,EAAE,EAAE,CAAC;AACL,gCAAA,EAAE,EAAE,CAAC;gCACL,YAAY,EAAE,aAAa,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAA,EAAA,CAAI;AACtD,gCAAA,UAAU,EAAE,CAAC;AACb,gCAAA,QAAQ,EAAE,UAAU;AACpB,gCAAA,OAAO,EAAE,MAAM;AACf,gCAAA,aAAa,EAAE,KAAK;AACpB,gCAAA,UAAU,EAAE,QAAQ;6BACrB,EAAA,QAAA,EAAA,CAEDK,cAAA,CAACO,mBAAU,EAAA,EACT,OAAO,EAAC,IAAI,EACZ,EAAE,EAAE;AACF,wCAAA,QAAQ,EAAE,MAAM;AAChB,wCAAA,UAAU,EAAE,GAAG;AACf,wCAAA,KAAK,EAAE,SAAS;AAChB,wCAAA,UAAU,EAAE,GAAG;AACf,wCAAA,UAAU,EAAE,UAAU;AACtB,wCAAA,IAAI,EAAE,CAAC;AACP,wCAAA,EAAE,EAAE,CAAC;AACN,qCAAA,EAAA,QAAA,EAEA,UAAU,EAAA,CACA,EAEbP,eAAC,YAAY,EAAA,EACX,OAAO,EAAE,QAAQ,EACjB,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,EAAA,YAAA,EACP,kBAAkB,EAAA,QAAA,EAE7BA,cAAA,CAACQ,4CAA8B,EAAA,EAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,GAAI,EAAA,CAC3C,CAAA,EAAA,CACX,CACP,EAEA,CAAC,MAAM,KACNR,eAACL,YAAG,EAAA,EACF,EAAE,EAAE;AACF,gCAAA,EAAE,EAAE,CAAC;AACL,gCAAA,EAAE,EAAE,CAAC;gCACL,YAAY,EAAE,aAAa,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAA,EAAA,CAAI;AACtD,gCAAA,OAAO,EAAE,MAAM;AACf,gCAAA,cAAc,EAAE,QAAQ;AACzB,6BAAA,EAAA,QAAA,EAEDK,cAAA,CAAC,YAAY,EAAA,EAAC,OAAO,EAAE,QAAQ,EAAA,YAAA,EAAa,gBAAgB,EAAA,QAAA,EAC1DA,cAAA,CAACS,6CAA+B,EAAA,EAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAA,CAAI,EAAA,CAC5C,EAAA,CACX,CACP,EAEDT,cAAA,CAACL,YAAG,EAAA,EACF,EAAE,EAAE;AACF,gCAAA,IAAI,EAAE,CAAC;AACP,gCAAA,SAAS,EAAE,MAAM;gCACjB,EAAE,EAAE,MAAM,GAAG,CAAC,GAAG,CAAC;AAClB,gCAAA,EAAE,EAAE,CAAC;AACN,6BAAA,EAAA,QAAA,EAEDO,eAAA,CAACI,aAAI,EAAA,EAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAA,QAAA,EAAA,CAEhBN,cAAA,CAACL,YAAG,EAAA,EAAuB,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAA,QAAA,EACtCO,eAAA,CAAC,cAAc,EAAA,EACb,aAAa,EAAA,IAAA,EACb,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAK;AACZ,gDAAA,IAAI,CAAC,MAAM;AAAE,oDAAA,QAAQ,EAAE;gDACvB,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gDAC3B,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACnC,4CAAA,CAAC,EACD,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAC5D,KAAK,EAAE,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,SAAS,aAE/CF,cAAA,CAAC,WAAW,IAAC,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,GAAG,CAAC,GAAG,CAAC,EAAE,EAAA,QAAA,EACpD,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,GACN,EACb,MAAM,KACLA,cAAA,CAACG,qBAAY,EAAA,EACX,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,EAC3B,sBAAsB,EAAE;AACtB,wDAAA,QAAQ,EAAE,MAAM;AAChB,wDAAA,UAAU,EAAE,GAAG;qDAChB,EACD,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAA,CACtB,CACH,CAAA,EAAA,CACc,EAAA,EAzBT,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CA0BnB,EAEL,QAAQ,CAAC,MAAM,GAAG,CAAC,KAClBD,eAAA,CAACP,YAAG,EAAA,EAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,aAChBO,eAAA,CAAC,cAAc,EAAA,EACb,aAAa,EAAA,IAAA,EACb,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAK;oDACZ,UAAU,CAAC,UAAU,CAAC;AACxB,gDAAA,CAAC,EACD,QAAQ,EAAE,aAAa,CAAC,QAAQ,CAAC,UAAU,CAAC,EAC5C,KAAK,EAAE,CAAC,MAAM,GAAG,UAAU,GAAG,SAAS,EAAA,QAAA,EAAA,CAEvCF,cAAA,CAAC,WAAW,EAAA,EAAC,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,GAAG,CAAC,GAAG,CAAC,EAAE,EAAA,QAAA,EACrDA,cAAA,CAACU,4BAAc,EAAA,EAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,EAAA,CAAI,EAAA,CAC9C,EACb,MAAM,KACLR,eAAA,CAAAS,mBAAA,EAAA,EAAA,QAAA,EAAA,CACEX,cAAA,CAACG,qBAAY,IACX,OAAO,EAAC,UAAU,EAClB,sBAAsB,EAAE;AACtB,oEAAA,QAAQ,EAAE,MAAM;AAChB,oEAAA,UAAU,EAAE,GAAG;AAChB,iEAAA,EACD,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAA,CACtB,EACFH,eAACL,YAAG,EAAA,EACF,EAAE,EAAE;AACF,oEAAA,OAAO,EAAE,MAAM;AACf,oEAAA,UAAU,EAAE,QAAQ;AACpB,oEAAA,MAAM,EAAE,MAAM;iEACf,EAAA,QAAA,EAEA,aAAa,CAAC,QAAQ,CAAC,UAAU,CAAC,IACjCK,cAAA,CAACY,+BAAiB,EAAA,EAChB,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,EAAA,CACtC,KAEFZ,cAAA,CAACa,+BAAiB,EAAA,EAChB,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,EAAA,CACtC,CACH,EAAA,CACG,CAAA,EAAA,CACL,CACJ,CAAA,EAAA,CACc,EAChB,aAAa,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,MAAM,KAC3Cb,cAAA,CAACK,iBAAQ,EAAA,EAAC,EAAE,EAAE,IAAI,EAAE,OAAO,EAAC,MAAM,EAAA,QAAA,EAChCL,cAAA,CAACM,aAAI,EAAA,EAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,EAAA,QAAA,EACxB,iBAAiB,CAAC,QAAQ,CAAC,GACvB,EAAA,CACE,CACZ,CAAA,EAAA,CACG,CACP,EAEDN,cAAA,CAACL,YAAG,EAAA,EAAmB,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAA,QAAA,EAClCO,eAAA,CAAC,cAAc,EAAA,EACb,aAAa,EAAA,IAAA,EACb,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAK;AACZ,gDAAA,IAAI,CAAC,MAAM;AAAE,oDAAA,QAAQ,EAAE;gDACvB,UAAU,CAAC,WAAW,CAAC;gDACvB,gBAAgB,CAAC,WAAW,CAAC;AAC/B,4CAAA,CAAC,EACD,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,EACxD,KAAK,EAAE,CAAC,MAAM,GAAG,UAAU,GAAG,SAAS,EAAA,QAAA,EAAA,CAEvCF,cAAA,CAAC,WAAW,EAAA,EAAC,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,GAAG,CAAC,GAAG,CAAC,EAAE,EAAA,QAAA,EACrDA,cAAA,CAACc,sBAAQ,EAAA,EAAA,CAAG,EAAA,CACA,EACb,MAAM,KACLd,cAAA,CAACG,qBAAY,EAAA,EACX,OAAO,EAAE,UAAU,EACnB,sBAAsB,EAAE;AACtB,wDAAA,QAAQ,EAAE,MAAM;AAChB,wDAAA,UAAU,EAAE,GAAG;qDAChB,EACD,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,GACtB,CACH,CAAA,EAAA,CACc,EAAA,EAzBT,WAAW,CA0Bf,CAAA,EAAA,CACD,GACH,CAAA,EAAA,CACF,EAAA,CACW,CAAA,EAAA,CAClB;AAEP;;;;"}
1
+ {"version":3,"file":"Sidebar.js","sources":["../../../../src/components/Sidebar.tsx"],"sourcesContent":["import React, { useState } from \"react\";\r\nimport {\r\n Box,\r\n IconButton,\r\n Typography,\r\n List,\r\n ListItemButton,\r\n ListItemText,\r\n Collapse,\r\n styled,\r\n} from \"@mui/material\";\r\nimport { useTheme } from \"../ThemeProvider\";\r\nimport {\r\n ArticleRounded,\r\n ChevronRightRounded,\r\n ExpandLessRounded,\r\n ExpandMoreRounded,\r\n HelpCenterRounded,\r\n HomeRounded,\r\n KeyboardDoubleArrowLeftRounded,\r\n KeyboardDoubleArrowRightRounded,\r\n Settings,\r\n SupportAgentRounded,\r\n TextSnippetRounded,\r\n} from \"@mui/icons-material\";\r\n\r\nexport enum Visibility {\r\n Admin = \"Admin\",\r\n Contributor = \"Contributor\",\r\n Community = \"Community\",\r\n}\r\n\r\n// PolicyItem and SidebarProps interfaces as before\r\ninterface PolicyItem {\r\n id: number;\r\n title: string;\r\n url: string;\r\n newpage?: boolean;\r\n visibility?: Visibility;\r\n items?: 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 isAdmin?: boolean;\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 = true,\r\n onToggle,\r\n centreName = \"Centre name goes here \\n across two lines\",\r\n policies = [],\r\n onNavigate,\r\n isAdmin\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)\r\n ? prev.filter((id) => id !== itemId)\r\n : [...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 = (\r\n items: PolicyItem[],\r\n depth: number = 0,\r\n ): React.ReactNode => {\r\n return items.map((item) => {\r\n const hasChildren = item.items && item.items.length > 0;\r\n const isExpanded = expandedPolicies.includes(item.id);\r\n const paddingLeft = 3 + depth * 2;\r\n\r\n // Check visibility based on visibility state and isAdmin prop\r\n const isVisible =\r\n item.visibility === Visibility.Admin\r\n ? !!isAdmin\r\n : item.visibility === Visibility.Contributor || !item.visibility;\r\n\r\n if (!isVisible) {\r\n return null;\r\n }\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\r\n ? `${theme.palette.primary.main}1A`\r\n : \"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.title}\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.id);\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.items!, 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)\r\n ? prev.filter((id) => id !== itemId)\r\n : [...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={{\r\n fontSize: \"1rem\",\r\n fontWeight: 700,\r\n }}\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\",\r\n fontWeight: 700,\r\n }}\r\n sx={{ flex: 1, ml: 1 }}\r\n />\r\n <Box\r\n sx={{\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n height: \"100%\",\r\n }}\r\n >\r\n {expandedItems.includes(\"policies\") ? (\r\n <ExpandLessRounded\r\n sx={{ fontSize: 20, color: \"#4D3019\" }}\r\n />\r\n ) : (\r\n <ExpandMoreRounded\r\n sx={{ fontSize: 20, color: \"#4D3019\" }}\r\n />\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 <Box key={\"/settings\"} sx={{ mb: 1 }}>\r\n <MenuItemButton\r\n disableRipple\r\n isOpen={isOpen}\r\n onClick={() => {\r\n if (!isOpen) onToggle();\r\n toggleItem(\"/settings\");\r\n handleNavigation(\"/settings\");\r\n }}\r\n isActive={window.location.pathname.includes(\"/settings\")}\r\n title={!isOpen ? \"Settings\" : undefined}\r\n >\r\n <IconWrapper isOpen={isOpen} sx={{ ml: isOpen ? 2 : 0 }}>\r\n <Settings />\r\n </IconWrapper>\r\n {isOpen && (\r\n <ListItemText\r\n primary={\"Settings\"}\r\n primaryTypographyProps={{\r\n fontSize: \"1rem\",\r\n fontWeight: 700,\r\n }}\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};\r\n"],"names":["Visibility","styled","Box","IconButton","ListItemButton","useTheme","useState","_jsx","HomeRounded","_jsxs","ListItemText","ChevronRightRounded","Collapse","List","Typography","KeyboardDoubleArrowLeftRounded","KeyboardDoubleArrowRightRounded","ArticleRounded","_Fragment","ExpandLessRounded","ExpandMoreRounded","Settings"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var index = require('../../../_virtual/index3.js');
3
+ var index = require('../../../_virtual/index4.js');
4
4
  var index$1 = require('../../domelementtype/lib/index.js');
5
5
  var node = require('./node.js');
6
6
 
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var index = require('../../../_virtual/index4.js');
3
+ var index = require('../../../_virtual/index3.js');
4
4
  var htmlToDom = require('./server/html-to-dom.js');
5
5
  var types = require('./types.js');
6
6
 
@@ -1,5 +1,5 @@
1
1
  import React from "react";
2
- export declare enum VisibilityState {
2
+ export declare enum Visibility {
3
3
  Admin = "Admin",
4
4
  Contributor = "Contributor",
5
5
  Community = "Community"
@@ -9,7 +9,7 @@ interface PolicyItem {
9
9
  title: string;
10
10
  url: string;
11
11
  newpage?: boolean;
12
- visibility?: VisibilityState;
12
+ visibility?: Visibility;
13
13
  items?: PolicyItem[];
14
14
  }
15
15
  interface SidebarProps {
@@ -4,12 +4,12 @@ import { styled, Box, IconButton, ListItemButton, Typography, List, ListItemText
4
4
  import { useTheme } from '../ThemeProvider.js';
5
5
  import { HomeRounded, KeyboardDoubleArrowLeftRounded, KeyboardDoubleArrowRightRounded, ArticleRounded, ExpandLessRounded, ExpandMoreRounded, Settings, ChevronRightRounded } from '@mui/icons-material';
6
6
 
7
- var VisibilityState;
8
- (function (VisibilityState) {
9
- VisibilityState["Admin"] = "Admin";
10
- VisibilityState["Contributor"] = "Contributor";
11
- VisibilityState["Community"] = "Community";
12
- })(VisibilityState || (VisibilityState = {}));
7
+ var Visibility;
8
+ (function (Visibility) {
9
+ Visibility["Admin"] = "Admin";
10
+ Visibility["Contributor"] = "Contributor";
11
+ Visibility["Community"] = "Community";
12
+ })(Visibility || (Visibility = {}));
13
13
  const SidebarContainer = styled(Box, {
14
14
  shouldForwardProp: (prop) => prop !== "isOpen",
15
15
  })(({ theme, isOpen }) => ({
@@ -106,9 +106,9 @@ const Sidebar = ({ isOpen = true, onToggle, centreName = "Centre name goes here
106
106
  const isExpanded = expandedPolicies.includes(item.id);
107
107
  const paddingLeft = 3 + depth * 2;
108
108
  // Check visibility based on visibility state and isAdmin prop
109
- const isVisible = item.visibility === VisibilityState.Admin
109
+ const isVisible = item.visibility === Visibility.Admin
110
110
  ? !!isAdmin
111
- : item.visibility === VisibilityState.Contributor || !item.visibility;
111
+ : item.visibility === Visibility.Contributor || !item.visibility;
112
112
  if (!isVisible) {
113
113
  return null;
114
114
  }
@@ -222,5 +222,5 @@ const Sidebar = ({ isOpen = true, onToggle, centreName = "Centre name goes here
222
222
  }, sx: { flex: 1, ml: 1 } }))] }) }, "/settings")] }) })] }) })] }));
223
223
  };
224
224
 
225
- export { Sidebar, VisibilityState };
225
+ export { Sidebar, Visibility };
226
226
  //# sourceMappingURL=Sidebar.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Sidebar.js","sources":["../../../../src/components/Sidebar.tsx"],"sourcesContent":["import React, { useState } from \"react\";\r\nimport {\r\n Box,\r\n IconButton,\r\n Typography,\r\n List,\r\n ListItemButton,\r\n ListItemText,\r\n Collapse,\r\n styled,\r\n} from \"@mui/material\";\r\nimport { useTheme } from \"../ThemeProvider\";\r\nimport {\r\n ArticleRounded,\r\n ChevronRightRounded,\r\n ExpandLessRounded,\r\n ExpandMoreRounded,\r\n HelpCenterRounded,\r\n HomeRounded,\r\n KeyboardDoubleArrowLeftRounded,\r\n KeyboardDoubleArrowRightRounded,\r\n Settings,\r\n SupportAgentRounded,\r\n TextSnippetRounded,\r\n} from \"@mui/icons-material\";\r\n\r\nexport enum VisibilityState {\r\n Admin = \"Admin\",\r\n Contributor = \"Contributor\",\r\n Community = \"Community\",\r\n}\r\n\r\n// PolicyItem and SidebarProps interfaces as before\r\ninterface PolicyItem {\r\n id: number;\r\n title: string;\r\n url: string;\r\n newpage?: boolean;\r\n visibility?: VisibilityState;\r\n items?: 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 isAdmin?: boolean;\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 = true,\r\n onToggle,\r\n centreName = \"Centre name goes here \\n across two lines\",\r\n policies = [],\r\n onNavigate,\r\n isAdmin\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)\r\n ? prev.filter((id) => id !== itemId)\r\n : [...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 = (\r\n items: PolicyItem[],\r\n depth: number = 0,\r\n ): React.ReactNode => {\r\n return items.map((item) => {\r\n const hasChildren = item.items && item.items.length > 0;\r\n const isExpanded = expandedPolicies.includes(item.id);\r\n const paddingLeft = 3 + depth * 2;\r\n\r\n // Check visibility based on visibility state and isAdmin prop\r\n const isVisible =\r\n item.visibility === VisibilityState.Admin\r\n ? !!isAdmin\r\n : item.visibility === VisibilityState.Contributor || !item.visibility;\r\n\r\n if (!isVisible) {\r\n return null;\r\n }\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\r\n ? `${theme.palette.primary.main}1A`\r\n : \"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.title}\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.id);\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.items!, 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)\r\n ? prev.filter((id) => id !== itemId)\r\n : [...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={{\r\n fontSize: \"1rem\",\r\n fontWeight: 700,\r\n }}\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\",\r\n fontWeight: 700,\r\n }}\r\n sx={{ flex: 1, ml: 1 }}\r\n />\r\n <Box\r\n sx={{\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n height: \"100%\",\r\n }}\r\n >\r\n {expandedItems.includes(\"policies\") ? (\r\n <ExpandLessRounded\r\n sx={{ fontSize: 20, color: \"#4D3019\" }}\r\n />\r\n ) : (\r\n <ExpandMoreRounded\r\n sx={{ fontSize: 20, color: \"#4D3019\" }}\r\n />\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 <Box key={\"/settings\"} sx={{ mb: 1 }}>\r\n <MenuItemButton\r\n disableRipple\r\n isOpen={isOpen}\r\n onClick={() => {\r\n if (!isOpen) onToggle();\r\n toggleItem(\"/settings\");\r\n handleNavigation(\"/settings\");\r\n }}\r\n isActive={window.location.pathname.includes(\"/settings\")}\r\n title={!isOpen ? \"Settings\" : undefined}\r\n >\r\n <IconWrapper isOpen={isOpen} sx={{ ml: isOpen ? 2 : 0 }}>\r\n <Settings />\r\n </IconWrapper>\r\n {isOpen && (\r\n <ListItemText\r\n primary={\"Settings\"}\r\n primaryTypographyProps={{\r\n fontSize: \"1rem\",\r\n fontWeight: 700,\r\n }}\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};\r\n"],"names":["_jsx","_jsxs","_Fragment"],"mappings":"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"}
1
+ {"version":3,"file":"Sidebar.js","sources":["../../../../src/components/Sidebar.tsx"],"sourcesContent":["import React, { useState } from \"react\";\r\nimport {\r\n Box,\r\n IconButton,\r\n Typography,\r\n List,\r\n ListItemButton,\r\n ListItemText,\r\n Collapse,\r\n styled,\r\n} from \"@mui/material\";\r\nimport { useTheme } from \"../ThemeProvider\";\r\nimport {\r\n ArticleRounded,\r\n ChevronRightRounded,\r\n ExpandLessRounded,\r\n ExpandMoreRounded,\r\n HelpCenterRounded,\r\n HomeRounded,\r\n KeyboardDoubleArrowLeftRounded,\r\n KeyboardDoubleArrowRightRounded,\r\n Settings,\r\n SupportAgentRounded,\r\n TextSnippetRounded,\r\n} from \"@mui/icons-material\";\r\n\r\nexport enum Visibility {\r\n Admin = \"Admin\",\r\n Contributor = \"Contributor\",\r\n Community = \"Community\",\r\n}\r\n\r\n// PolicyItem and SidebarProps interfaces as before\r\ninterface PolicyItem {\r\n id: number;\r\n title: string;\r\n url: string;\r\n newpage?: boolean;\r\n visibility?: Visibility;\r\n items?: 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 isAdmin?: boolean;\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 = true,\r\n onToggle,\r\n centreName = \"Centre name goes here \\n across two lines\",\r\n policies = [],\r\n onNavigate,\r\n isAdmin\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)\r\n ? prev.filter((id) => id !== itemId)\r\n : [...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 = (\r\n items: PolicyItem[],\r\n depth: number = 0,\r\n ): React.ReactNode => {\r\n return items.map((item) => {\r\n const hasChildren = item.items && item.items.length > 0;\r\n const isExpanded = expandedPolicies.includes(item.id);\r\n const paddingLeft = 3 + depth * 2;\r\n\r\n // Check visibility based on visibility state and isAdmin prop\r\n const isVisible =\r\n item.visibility === Visibility.Admin\r\n ? !!isAdmin\r\n : item.visibility === Visibility.Contributor || !item.visibility;\r\n\r\n if (!isVisible) {\r\n return null;\r\n }\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\r\n ? `${theme.palette.primary.main}1A`\r\n : \"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.title}\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.id);\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.items!, 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)\r\n ? prev.filter((id) => id !== itemId)\r\n : [...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={{\r\n fontSize: \"1rem\",\r\n fontWeight: 700,\r\n }}\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\",\r\n fontWeight: 700,\r\n }}\r\n sx={{ flex: 1, ml: 1 }}\r\n />\r\n <Box\r\n sx={{\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n height: \"100%\",\r\n }}\r\n >\r\n {expandedItems.includes(\"policies\") ? (\r\n <ExpandLessRounded\r\n sx={{ fontSize: 20, color: \"#4D3019\" }}\r\n />\r\n ) : (\r\n <ExpandMoreRounded\r\n sx={{ fontSize: 20, color: \"#4D3019\" }}\r\n />\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 <Box key={\"/settings\"} sx={{ mb: 1 }}>\r\n <MenuItemButton\r\n disableRipple\r\n isOpen={isOpen}\r\n onClick={() => {\r\n if (!isOpen) onToggle();\r\n toggleItem(\"/settings\");\r\n handleNavigation(\"/settings\");\r\n }}\r\n isActive={window.location.pathname.includes(\"/settings\")}\r\n title={!isOpen ? \"Settings\" : undefined}\r\n >\r\n <IconWrapper isOpen={isOpen} sx={{ ml: isOpen ? 2 : 0 }}>\r\n <Settings />\r\n </IconWrapper>\r\n {isOpen && (\r\n <ListItemText\r\n primary={\"Settings\"}\r\n primaryTypographyProps={{\r\n fontSize: \"1rem\",\r\n fontWeight: 700,\r\n }}\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};\r\n"],"names":["_jsx","_jsxs","_Fragment"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ece-docs-components",
3
- "version": "1.0.62",
3
+ "version": "1.0.64",
4
4
  "type": "module",
5
5
  "main": "./dist/cjs/index.js",
6
6
  "module": "./dist/esm/index.js",