ece-docs-components 1.0.65 → 1.0.67

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.
Files changed (46) hide show
  1. package/dist/cjs/ThemeProvider.js +33 -236
  2. package/dist/cjs/ThemeProvider.js.map +1 -1
  3. package/dist/cjs/components/Sidebar.js +1 -9
  4. package/dist/cjs/components/Sidebar.js.map +1 -1
  5. package/dist/cjs/components/SidebarV2.js +203 -0
  6. package/dist/cjs/components/SidebarV2.js.map +1 -0
  7. package/dist/cjs/index.js +2 -0
  8. package/dist/cjs/index.js.map +1 -1
  9. package/dist/cjs/themes/ECETheme.js +245 -0
  10. package/dist/cjs/themes/ECETheme.js.map +1 -0
  11. package/dist/cjs/themes/GPTheme.js +245 -0
  12. package/dist/cjs/themes/GPTheme.js.map +1 -0
  13. package/dist/cjs/themes/SchoolTheme.js +245 -0
  14. package/dist/cjs/themes/SchoolTheme.js.map +1 -0
  15. package/dist/cjs/types/variable.js.map +1 -1
  16. package/dist/esm/ThemeProvider.d.ts +3 -0
  17. package/dist/esm/ThemeProvider.js +35 -238
  18. package/dist/esm/ThemeProvider.js.map +1 -1
  19. package/dist/esm/_virtual/index8.js +2 -2
  20. package/dist/esm/_virtual/index9.js +2 -2
  21. package/dist/esm/components/Sidebar.js +2 -10
  22. package/dist/esm/components/Sidebar.js.map +1 -1
  23. package/dist/esm/components/SidebarV2.d.ts +23 -0
  24. package/dist/esm/components/SidebarV2.js +201 -0
  25. package/dist/esm/components/SidebarV2.js.map +1 -0
  26. package/dist/esm/components/index.d.ts +1 -0
  27. package/dist/esm/images/PrimaryLogo_Variation_Cream.svg +18 -0
  28. package/dist/esm/index.d.ts +30 -29
  29. package/dist/esm/index.js +1 -0
  30. package/dist/esm/index.js.map +1 -1
  31. package/dist/esm/node_modules/domhandler/lib/index.js +1 -1
  32. package/dist/esm/node_modules/domutils/lib/index.js +1 -1
  33. package/dist/esm/node_modules/html-dom-parser/lib/index.js +1 -1
  34. package/dist/esm/node_modules/style-to-object/cjs/index.js +1 -1
  35. package/dist/esm/theme-types.d.ts +6 -0
  36. package/dist/esm/themes/ECETheme.d.ts +2 -0
  37. package/dist/esm/themes/ECETheme.js +241 -0
  38. package/dist/esm/themes/ECETheme.js.map +1 -0
  39. package/dist/esm/themes/GPTheme.d.ts +2 -0
  40. package/dist/esm/themes/GPTheme.js +241 -0
  41. package/dist/esm/themes/GPTheme.js.map +1 -0
  42. package/dist/esm/themes/SchoolTheme.d.ts +2 -0
  43. package/dist/esm/themes/SchoolTheme.js +241 -0
  44. package/dist/esm/themes/SchoolTheme.js.map +1 -0
  45. package/dist/esm/types/variable.js.map +1 -1
  46. package/package.json +1 -1
@@ -0,0 +1,201 @@
1
+ import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
2
+ import { useState } from 'react';
3
+ import { styled, Box, IconButton, ListItemButton, Typography, List, ListItemText, Collapse } from '@mui/material';
4
+ import { useTheme } from '../ThemeProvider.js';
5
+ import { KeyboardDoubleArrowLeftRounded, KeyboardDoubleArrowRightRounded, ChevronRightRounded } from '@mui/icons-material';
6
+
7
+ const EXPANDED_WIDTH = "288px";
8
+ const COLLAPSED_WIDTH_SMALL = "80px";
9
+ const COLLAPSED_WIDTH_DEFAULT = "64px";
10
+ var Visibility;
11
+ (function (Visibility) {
12
+ Visibility["Admin"] = "Admin";
13
+ Visibility["Contributor"] = "Contributor";
14
+ Visibility["Community"] = "Community";
15
+ })(Visibility || (Visibility = {}));
16
+ const SidebarContainer = styled(Box, {
17
+ shouldForwardProp: (prop) => prop !== "isOpen",
18
+ })(({ theme, isOpen }) => ({
19
+ height: "100vh",
20
+ position: "sticky",
21
+ top: 0,
22
+ paddingLeft: 0,
23
+ overflow: "hidden",
24
+ backgroundColor: "#fff",
25
+ borderRight: `1px solid ${theme.palette.dark.main}1A`,
26
+ flexShrink: 0,
27
+ transition: "all 0.15s ease-out",
28
+ width: isOpen ? EXPANDED_WIDTH : COLLAPSED_WIDTH_DEFAULT,
29
+ zIndex: 50,
30
+ [theme.breakpoints.down("md")]: {
31
+ position: "fixed",
32
+ left: isOpen ? 0 : `-${EXPANDED_WIDTH}`,
33
+ width: EXPANDED_WIDTH,
34
+ },
35
+ [theme.breakpoints.up("sm")]: {
36
+ width: isOpen ? EXPANDED_WIDTH : COLLAPSED_WIDTH_SMALL,
37
+ },
38
+ }));
39
+ const ToggleButton = styled(IconButton)(({ theme }) => ({
40
+ width: 40,
41
+ height: 40,
42
+ borderRadius: theme.shape.borderRadius,
43
+ backgroundColor: "#4D3019",
44
+ color: "#fff",
45
+ "&:hover": {
46
+ backgroundColor: "#3d2614",
47
+ },
48
+ }));
49
+ const MenuItemButton = styled(ListItemButton, {
50
+ shouldForwardProp: (prop) => prop !== "isOpen" && prop !== "isActive",
51
+ })(({ theme, isActive, isOpen }) => ({
52
+ borderRadius: isOpen
53
+ ? `0 ${theme.shape.borderRadius}px ${theme.shape.borderRadius}px 0`
54
+ : theme.shape.borderRadius,
55
+ paddingLeft: 0,
56
+ paddingRight: isOpen ? theme.spacing(2) : 0,
57
+ marginRight: isOpen ? 8 : 0,
58
+ minHeight: 64,
59
+ justifyContent: isOpen ? "flex-start" : "center",
60
+ backgroundClip: "padding-box",
61
+ backgroundOrigin: "border-box",
62
+ "&:hover": {
63
+ backgroundColor: `${theme.palette.primary.main}0D`,
64
+ },
65
+ ...(isActive && {
66
+ backgroundColor: `${theme.palette.primary.main}1A`,
67
+ "&:hover": {
68
+ backgroundColor: `${theme.palette.primary.main}1A`,
69
+ },
70
+ }),
71
+ }));
72
+ const IconWrapper = styled(Box, {
73
+ shouldForwardProp: (prop) => prop !== "isOpen",
74
+ })(({ theme, isOpen }) => ({
75
+ width: isOpen ? 32 : 40,
76
+ height: isOpen ? 32 : 40,
77
+ display: "flex",
78
+ alignItems: "center",
79
+ justifyContent: "center",
80
+ backgroundColor: "transparent",
81
+ }));
82
+ const SidebarItem = ({ isOpen, isAdmin, item, onNavigate, expandedSet, setExpand: onExpand, depth = 0, currentPath, }) => {
83
+ // Check visibility based on visibility state and isAdmin prop
84
+ const isVisible = item.visibility === Visibility.Admin
85
+ ? !!isAdmin
86
+ : item.visibility === Visibility.Contributor || !item.visibility;
87
+ if (!isVisible) {
88
+ return null;
89
+ }
90
+ const theme = useTheme();
91
+ const nestedPadding = 3 + depth;
92
+ const isExpanded = () => expandedSet.has(item.id);
93
+ const toggleExpand = () => {
94
+ if (!isExpanded()) {
95
+ onExpand(new Set([...expandedSet, item.id]));
96
+ }
97
+ else {
98
+ expandedSet.delete(item.id);
99
+ onExpand(new Set(expandedSet));
100
+ }
101
+ };
102
+ const isActive = currentPath.includes(item.path) ||
103
+ currentPath.includes(item.label.toLowerCase());
104
+ return (jsxs(Box, { sx: { mb: depth > 0 ? 0 : 1 }, children: [jsxs(MenuItemButton, { disableRipple: true, isOpen: isOpen, onClick: () => {
105
+ if (item.path)
106
+ onNavigate(item.path);
107
+ else if (item.children)
108
+ toggleExpand();
109
+ }, isActive: isActive, title: !isOpen ? item.label : undefined, sx: {
110
+ ...(depth > 0 && {
111
+ pl: nestedPadding,
112
+ }),
113
+ }, children: [item.icon && (jsx(IconWrapper, { isOpen: isOpen, sx: { ml: isOpen ? 2 : 0 }, children: item.icon })), isOpen && (jsxs(Fragment, { children: [jsx(ListItemText, { primary: item.label, slotProps: {
114
+ primary: {
115
+ style: { textDecoration: isActive ? "underline" : "" },
116
+ width: 180 - nestedPadding - (item.children ? 32 : 0),
117
+ ...(depth > 0
118
+ ? {
119
+ fontSize: "0.875rem",
120
+ }
121
+ : {
122
+ fontSize: "1rem",
123
+ fontWeight: 700,
124
+ }),
125
+ },
126
+ }, sx: { flex: 1, ml: 1 } }), item.children && item.children.length > 0 && (jsx(IconButton, { onClick: (e) => {
127
+ e.stopPropagation();
128
+ if (item.children)
129
+ toggleExpand();
130
+ }, disableRipple: true, sx: {
131
+ ml: 0.5,
132
+ borderRadius: 1,
133
+ width: 32,
134
+ height: 32,
135
+ "&:hover": {
136
+ backgroundColor: `${theme.palette.primary.main}1F`,
137
+ },
138
+ }, children: jsx(ChevronRightRounded, { sx: {
139
+ fontSize: 16,
140
+ color: "#4D3019",
141
+ transition: "transform 0.1s",
142
+ transform: isExpanded() ? "rotate(90deg)" : "rotate(0deg)",
143
+ } }) }))] }))] }), isExpanded() && isOpen && (jsx(Collapse, { in: true, timeout: "auto", children: jsx(List, { sx: { p: 0, mt: 0.5 }, children: item.children &&
144
+ item.children.map((child) => (jsx(SidebarItem, { currentPath: currentPath, expandedSet: expandedSet, setExpand: onExpand, isOpen: isOpen, isAdmin: isAdmin, item: child, onNavigate: onNavigate, depth: depth + 1 }, child.id))) }) }))] }));
145
+ };
146
+ const SidebarV2 = ({ isOpen, onToggle, centreName = "Centre name goes here \n across two lines", onNavigate, items, isAdmin, currentPath, }) => {
147
+ const findExpandItems = (items) => {
148
+ for (const item of items) {
149
+ const isActive = currentPath.includes(item.path) ||
150
+ currentPath.includes(item.label.toLowerCase());
151
+ if (isActive) {
152
+ return item.children
153
+ ? [item.id, ...findExpandItems(item.children)]
154
+ : [item.id];
155
+ }
156
+ }
157
+ return [];
158
+ };
159
+ const theme = useTheme();
160
+ const [expandedSet, setExpanded] = useState(() => new Set(findExpandItems(items)));
161
+ return (jsxs(Fragment, { children: [isOpen && (jsx(Box, { sx: {
162
+ position: "fixed",
163
+ inset: 0,
164
+ bgcolor: "rgba(0, 0, 0, 0.5)",
165
+ zIndex: 40,
166
+ display: { xs: "block", md: "none" },
167
+ }, onClick: onToggle })), jsx(SidebarContainer, { isOpen: isOpen, children: jsxs(Box, { sx: { display: "flex", flexDirection: "column", height: "100%" }, children: [isOpen ? (jsxs(Box, { sx: {
168
+ px: 2,
169
+ py: 3,
170
+ borderBottom: `1px solid ${theme.palette.dark.main}1A`,
171
+ flexShrink: 0,
172
+ position: "relative",
173
+ display: "flex",
174
+ flexDirection: "row",
175
+ alignItems: "center",
176
+ width: EXPANDED_WIDTH,
177
+ }, children: [jsx(Typography, { variant: "h6", sx: {
178
+ width: "180px",
179
+ fontSize: "18px",
180
+ fontWeight: 700,
181
+ color: "#4D3019",
182
+ lineHeight: 1.3,
183
+ whiteSpace: "pre-line",
184
+ flex: 1,
185
+ pr: 2,
186
+ }, children: centreName ?? "Centre Name" }), jsx(ToggleButton, { onClick: () => onToggle(), sx: { ml: "auto" }, "aria-label": "Collapse sidebar", children: jsx(KeyboardDoubleArrowLeftRounded, { sx: { fontSize: 20 } }) })] })) : (jsx(Box, { sx: {
187
+ px: 1,
188
+ py: 3,
189
+ borderBottom: `1px solid ${theme.palette.dark.main}1A`,
190
+ display: "flex",
191
+ justifyContent: "center",
192
+ }, children: jsx(ToggleButton, { onClick: onToggle, "aria-label": "Expand sidebar", children: jsx(KeyboardDoubleArrowRightRounded, { sx: { fontSize: 20 } }) }) })), jsx(Box, { sx: {
193
+ flex: 1,
194
+ overflowY: "auto",
195
+ px: isOpen ? 0 : 1,
196
+ py: 3,
197
+ }, children: jsx(List, { sx: { p: 0 }, children: items.map((item) => (jsx(SidebarItem, { currentPath: currentPath, expandedSet: expandedSet, setExpand: setExpanded, isOpen: isOpen, isAdmin: isAdmin, item: item, onNavigate: onNavigate }, item.id))) }) })] }) })] }));
198
+ };
199
+
200
+ export { SidebarV2, Visibility };
201
+ //# sourceMappingURL=SidebarV2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SidebarV2.js","sources":["../../../../src/components/SidebarV2.tsx"],"sourcesContent":["import React, { useEffect, 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 ChevronRightRounded,\r\n KeyboardDoubleArrowLeftRounded,\r\n KeyboardDoubleArrowRightRounded,\r\n} from \"@mui/icons-material\";\r\n\r\nconst EXPANDED_WIDTH = \"288px\";\r\nconst COLLAPSED_WIDTH_SMALL = \"80px\";\r\nconst COLLAPSED_WIDTH_DEFAULT = \"64px\";\r\n\r\nexport enum Visibility {\r\n Admin = \"Admin\",\r\n Contributor = \"Contributor\",\r\n Community = \"Community\",\r\n}\r\n\r\nexport interface MenuItem {\r\n id: string | number;\r\n label: string;\r\n icon?: React.ReactNode;\r\n visibility?: Visibility;\r\n path?: string;\r\n children?: MenuItem[];\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.15s ease-out\",\r\n width: isOpen ? EXPANDED_WIDTH : COLLAPSED_WIDTH_DEFAULT,\r\n zIndex: 50,\r\n [theme.breakpoints.down(\"md\")]: {\r\n position: \"fixed\",\r\n left: isOpen ? 0 : `-${EXPANDED_WIDTH}`,\r\n width: EXPANDED_WIDTH,\r\n },\r\n [theme.breakpoints.up(\"sm\")]: {\r\n width: isOpen ? EXPANDED_WIDTH : COLLAPSED_WIDTH_SMALL,\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\nconst SidebarItem = ({\r\n isOpen,\r\n isAdmin,\r\n item,\r\n onNavigate,\r\n expandedSet,\r\n setExpand: onExpand,\r\n depth = 0,\r\n currentPath,\r\n}: {\r\n isOpen: boolean;\r\n isAdmin: boolean;\r\n item: MenuItem;\r\n onNavigate: (path: string) => void;\r\n expandedSet: Set<string | number>;\r\n setExpand: React.Dispatch<React.SetStateAction<Set<string | number>>>;\r\n depth?: number;\r\n currentPath: string;\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 if (!isVisible) {\r\n return null;\r\n }\r\n\r\n const theme = useTheme();\r\n const nestedPadding = 3 + depth;\r\n\r\n const isExpanded = () => expandedSet.has(item.id);\r\n\r\n const toggleExpand = () => {\r\n if (!isExpanded()) {\r\n onExpand(new Set([...expandedSet, item.id]));\r\n } else {\r\n expandedSet.delete(item.id);\r\n onExpand(new Set(expandedSet));\r\n }\r\n };\r\n\r\n const isActive =\r\n currentPath.includes(item.path as string) ||\r\n currentPath.includes(item.label.toLowerCase() as string);\r\n\r\n return (\r\n <Box sx={{ mb: depth > 0 ? 0 : 1 }}>\r\n <MenuItemButton\r\n disableRipple\r\n isOpen={isOpen}\r\n onClick={() => {\r\n if (item.path) onNavigate(item.path);\r\n else if (item.children) toggleExpand();\r\n }}\r\n isActive={isActive}\r\n title={!isOpen ? item.label : undefined}\r\n sx={{\r\n ...(depth > 0 && {\r\n pl: nestedPadding,\r\n }),\r\n }}\r\n >\r\n {item.icon && (\r\n <IconWrapper isOpen={isOpen} sx={{ ml: isOpen ? 2 : 0 }}>\r\n {item.icon}\r\n </IconWrapper>\r\n )}\r\n {isOpen && (\r\n <>\r\n <ListItemText\r\n primary={item.label}\r\n slotProps={{\r\n primary: {\r\n style: { textDecoration: isActive ? \"underline\" : \"\" },\r\n width: 180 - nestedPadding - (item.children ? 32 : 0),\r\n ...(depth > 0\r\n ? {\r\n fontSize: \"0.875rem\",\r\n }\r\n : {\r\n fontSize: \"1rem\",\r\n fontWeight: 700,\r\n }),\r\n },\r\n }}\r\n sx={{ flex: 1, ml: 1 }}\r\n />\r\n {item.children && item.children.length > 0 && (\r\n <IconButton\r\n onClick={(e) => {\r\n e.stopPropagation();\r\n if (item.children) toggleExpand();\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.1s\",\r\n transform: isExpanded() ? \"rotate(90deg)\" : \"rotate(0deg)\",\r\n }}\r\n />\r\n </IconButton>\r\n )}\r\n </>\r\n )}\r\n </MenuItemButton>\r\n {isExpanded() && isOpen && (\r\n <Collapse in={true} timeout=\"auto\">\r\n <List sx={{ p: 0, mt: 0.5 }}>\r\n {item.children &&\r\n item.children.map((child) => (\r\n <SidebarItem\r\n key={child.id}\r\n currentPath={currentPath}\r\n expandedSet={expandedSet}\r\n setExpand={onExpand}\r\n isOpen={isOpen}\r\n isAdmin={isAdmin}\r\n item={child}\r\n onNavigate={onNavigate}\r\n depth={depth + 1}\r\n />\r\n ))}\r\n </List>\r\n </Collapse>\r\n )}\r\n </Box>\r\n );\r\n};\r\n\r\nexport const SidebarV2 = ({\r\n isOpen,\r\n onToggle,\r\n centreName = \"Centre name goes here \\n across two lines\",\r\n onNavigate,\r\n items,\r\n isAdmin,\r\n currentPath,\r\n}: {\r\n isOpen: boolean;\r\n onToggle: () => void;\r\n items: MenuItem[];\r\n centreName?: string;\r\n onNavigate: (path: string) => void;\r\n isAdmin: boolean;\r\n currentPath: string;\r\n}) => {\r\n const findExpandItems = (items: MenuItem[]): (string | number)[] => {\r\n for (const item of items) {\r\n const isActive =\r\n currentPath.includes(item.path as string) ||\r\n currentPath.includes(item.label.toLowerCase() as string);\r\n if (isActive) {\r\n return item.children\r\n ? [item.id, ...findExpandItems(item.children)]\r\n : [item.id];\r\n }\r\n }\r\n return [];\r\n };\r\n\r\n const theme = useTheme();\r\n const [expandedSet, setExpanded] = useState<Set<string | number>>(\r\n () => new Set(findExpandItems(items)),\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 {/* Sidebar Header */}\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 width: EXPANDED_WIDTH,\r\n }}\r\n >\r\n <Typography\r\n variant=\"h6\"\r\n sx={{\r\n width: \"180px\",\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 ?? \"Centre Name\"}\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 <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 {/* Sidebar Items */}\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 {items.map((item) => (\r\n <SidebarItem\r\n currentPath={currentPath}\r\n key={item.id}\r\n expandedSet={expandedSet}\r\n setExpand={setExpanded}\r\n isOpen={isOpen}\r\n isAdmin={isAdmin}\r\n item={item}\r\n onNavigate={onNavigate}\r\n />\r\n ))}\r\n </List>\r\n </Box>\r\n </Box>\r\n </SidebarContainer>\r\n </>\r\n );\r\n};\r\n"],"names":["_jsxs","_jsx"],"mappings":"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"}
@@ -13,6 +13,7 @@ export { ReadBy } from './ReadBy';
13
13
  export { StatusBar } from './StatusBar';
14
14
  export { Tabs } from './Tabs';
15
15
  export { Sidebar } from './Sidebar';
16
+ export { SidebarV2, MenuItem } from './SidebarV2';
16
17
  export { Header } from './Header';
17
18
  export { TableOfContents } from './TableOfContents';
18
19
  export { Toggle } from './Toggle';
@@ -0,0 +1,18 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <svg id="Layer_1" xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 1437.57 260.04">
3
+ <!-- Generator: Adobe Illustrator 29.8.2, SVG Export Plug-In . SVG Version: 2.1.1 Build 3) -->
4
+ <defs>
5
+ <style>
6
+ .st0 {
7
+ fill: #fdfcee;
8
+ }
9
+ </style>
10
+ </defs>
11
+ <path class="st0" d="M1036.41,136.96c-7.24-34.31-25.49-49.47-61.14-39.45-6.82,1.92-12.67,6.36-19.29,8.71,2.35-13.73,2.88-27.97,1.2-41.87-.97-8.05-3.15-17.96-6.71-25.23-1.36-2.77-2.59-6.03-6.23-5.85-1.8.09-11.92,5.9-13.26,7.28-.76.78-1.39,1.57-1.47,2.71,3.69,6.36,8.45,12.36,11.73,18.95,4.45,8.95,7.43,19.51,7.49,29.55-3.94-4.83-7.24-10.11-11.42-14.78-8.7-9.71-20.65-18.81-33.17-22.86-4.94-1.59-10.65-3.57-15.54-.82-1.16,11.65,5.32,22.98,12.04,32.03,12.55,16.9,25.55,18.83,45.37,20.91.88.09,1.77-.53,1.51.88-1.01,1.22-2.32,2.41-3.99,2.53-21.46,1.51-39.47-9.99-60.65,4.53-20.52,14.06-18.41,40.44-14.8,62.18,3.78,22.74,23.19,52.31,37.65,70.21,9.35,11.59,15.43,16.13,31.09,11.94,6.04-1.62,12.51-7.07,17.64-7.66,10.56-1.22,20.32,4.83,31.84,3.53,22.9-2.58,30.07-17.4,38.45-36.26,12-27.03,17.94-51.28,11.65-81.15"/>
12
+ <path class="st0" d="M393.36,75.36c-1.3,1.44-5.31,2.69-7.14,2.92-28.52,3.69-59.68-3.76-88.8,2.83-26.03,5.89-47.56,50.24-23.4,75.19,22.42,23.16,67.6,19.59,94.5,16.12,20.92-2.7,23.85,10.92,26.83,33.88.99,7.63,2.93,25.68,2.26,32.72-1.45,15.27-17.49,18.93-27.18,19.71-71.55,5.81-166.17-3.58-172.65-120.14-2.13-38.29,14.94-89.18,42.31-106.99C273.9,9.63,340.71-1.8,378.34,1.99c4.39.44,10.86,1.82,13.78,6.45,3.55,5.63,4.21,19.8,4.53,27.22.34,8,1.11,34.85-3.29,39.7"/>
13
+ <path class="st0" d="M51.68,175.03c0,4.52,4,7.33,8.59,6.92,1.49-.14,57.05-1.97,83.8-3.17,9.92-.45,19.48-.17,28.97,2.63,2.54.75,4.47,2.82,4.99,5.42.89,4.44,1.5,10.92,1.53,13.14.09,5.23,4.4,51.91-6.09,55.82-.69.26-1.43.37-2.17.38-47.86.9-153.09,1.34-159.67-1.41-9.12-3.81-5.8-16.73-6.44-25.08C.75,171.77,1.4,108.99.51,50.58.3,36.65-3.6,7.01,14.09,6.13c19.22-.96,39.28-4.44,59.05-5.28,26.85-1.14,61.84-1.57,88.24,1.48,11.03,1.27,15.22,2.52,16.64,15.05.92,8.11.69,37.26-3.67,42.89-5.2,6.72-27.92,5.54-36.14,5.13-22.25-1.1-43.98-4.65-66.2-3.93-14.76.48-19.24-4.46-20.3,14.84-.35,6.35-1.65,17.59,5.29,18.55,22.27,3.09,46.15-1.83,68.43-2.51,7.54-.23,27.11-1.12,33.11,2.07,6.32,3.37,3.5,18.31,3.5,24.36,0,5.91,1.26,27.16-1.66,30.37-1.16,1.27-2.02,1.14-3.45,1.33-19.9,2.59-75.73,2.05-80.26,2.48-6.5.62-12.92-.64-19.24.63-3.32.66-5.72,3.56-5.72,6.95v14.49Z"/>
14
+ <path class="st0" d="M480.66,153.97c-2.45.67-4.13,2.91-4.13,5.45,0,0-.73,11.86,0,19.08.38,3.81,10.05,2.87,12.15,2.79,19.35-.68,38.84.73,58.2.11,12.73-.41,25.45-3.84,38.34-2.67,2.37.21,12.55-.69,15.65,3.26,3.65,4.65,3.34,34.02,3.43,41.3.13,10.55,3.21,32.46-6.37,32.78-29.21.97-55.79.38-83.68.09-19.97-.21-40.25-1.52-60.43-1.4-7.16.04-18.56.82-22-8.23-3.48-9.14-2.57-16.09-2.97-25.81-2.42-57.85-1.29-116.22-3.43-174.06-.38-10.28-1.83-34.02,7.85-38.95,6.07-3.09,93-8.6,137.98-5.52,10.11.69,29.79-2.57,31.87,12.34,1.15,8.22.63,31.74-2.16,39.07-2.06,5.42-9.74,6.49-14.63,6.97-25.01,2.45-71.83.71-78.93.85-8.72.18-28.18-2.41-29.1,4.58-.16,1.18-.42,3.58-.48,4.77-.36,8-2.43,21.55,4.84,23.98,5.14,1.72,30.17.56,37.5.3,17.37-.61,34.82-3.98,52.3-2.69,21.1,1.56,17.14,13.83,16.62,31.58-.23,8.02,1.01,25.32-7.33,26.53-19.31,2.82-75.71,2.07-80.25,2.5-7.05.67-13.99-.86-20.83,1.01"/>
15
+ <path class="st0" d="M689.11,70.68c-3.85,3.72-3.09,19.99-2.69,25.99,1.35,20.4,5.43,42.88,7.06,63.72.77,9.84-3.83,24.89,7.69,26.43,18,2.41,44.63-1.57,60.38-12.44,25.57-17.64,34.79-63.48,15.48-90.45-18.18-25.4-38.92-19.92-63.76-17.86-7.11.59-18.81-.58-24.16,4.6M635.71,9.76c.54-3.34,3.27-5.89,6.63-6.21,5.07-.48,10.18-.93,15.24-1.23,47.64-2.86,99.79-5.53,146.19,10.34,26.79,9.16,39.15,35.57,43.48,65.4,5.16,35.54.95,102.07-15.53,133.29-9.14,17.3-31.23,35.58-48.8,38.98-37.25,7.22-82.61,5.19-120.64,5.51-6.66.06-20.48,4.21-22.79-7.68-5.41-27.88-1.66-62.97-2.56-91.91-1.42-45.83-5.26-90.63-2.46-136.85.08-1.33.64-5.85,1.25-9.65"/>
16
+ <path class="st0" d="M1429.08,58.67c1.05,1.13,1.82,2.75,2.36,4.23,2.84,7.81,4.55,27.96,3.71,36.37-1.01,10.1-3.7,12.03-13.23,13.05-16.49,1.78-35.67-2.05-51.04,1.32-12.49,2.74-14.27,10.39-.69,14.1,18.79,5.12,40.31,2.65,55.69,18.54,16.3,16.83,13.19,49.68,4.97,70.17-19.42,48.39-72.33,42.99-113.45,40.93-8.97-.45-27.31,2.99-32.24-6.46-3.68-7.07-3.5-26.96-3.5-35.96,0-4.68-.29-9.59.9-14.75.56-2.45,2.57-4.37,5.14-4.88,8.17-1.63,24.93-.29,29.7-.55,4.48-.25,11.61-.89,15.92-1.6,3.33-.55,11.05-3.53,11.41-7.73.1-3.38-3.02-6.08-5.59-7.62-16.21-9.71-37.22-7.64-53.25-23-26.94-25.83-14.16-74.4,16.51-90.29,26.07-13.51,57.97-9.67,85.8-8.71,10.89.38,24.64-1.44,34.95-.1,2.17.28,4.42,1.32,5.94,2.95"/>
17
+ <path class="st0" d="M1220.09,54.94c6.06-.2,23.23-2.23,24.13,6.24,1.33,12.55,6.97,52.73-.58,61.27-6.94,7.84-48.1,3.79-59.9,4.63-9.88.7-32.61,4.3-41.15,8.85-11.38,6.07-20.84,24.02-8.18,34.69,10.76,9.06,17.96,6.18,29.54,7.49,18.51,2.1,33.67,1.88,52.35,1.38,8.94-.24,27.65-6.42,31.6,6.34,3.1,10.04,4,42.63,2.56,53.28-.82,6.03-4.76,12.44-10.07,13.88-28.23,7.62-57.6,5.47-89.06,3.22-25.84-1.84-59.54-12.93-74.87-38.76-21.3-35.88-25.84-72.95-4.65-110.95,17.96-32.22,45.29-38.29,75.88-42.57,23.18-3.23,49.33-8.23,72.39-9"/>
18
+ </svg>
@@ -1,29 +1,30 @@
1
- import './theme-types';
2
- export { ThemeProvider, useTheme } from './ThemeProvider';
3
- export { Button } from './components/Button';
4
- export { Input } from './components/Input';
5
- export { Card } from './components/Card';
6
- export { Select } from './components/Select';
7
- export { Radio, RadioGroup } from './components/Radio';
8
- export { Checkbox } from './components/Checkbox';
9
- export { Progress, StepIndicator } from './components/Progress';
10
- export { Alert } from './components/Alert';
11
- export { NoteBox } from './components/NoteBox';
12
- export { Modal } from './components/Modal';
13
- export { Concertina } from './components/Concertina';
14
- export { ReadBy } from './components/ReadBy';
15
- export { StatusBar } from './components/StatusBar';
16
- export { Tabs } from './components/Tabs';
17
- export { Sidebar } from './components/Sidebar';
18
- export { Header } from './components/Header';
19
- export { TableOfContents } from './components/TableOfContents';
20
- export { Toggle } from './components/Toggle';
21
- export { SimpleModal } from './components/SimpleModal';
22
- export { ActionButton } from './components/ActionButton';
23
- export { ExpandingBoxToggle } from './components/ExpandingBoxToggle';
24
- export { ExpandingBox } from './components/ExpandingBox';
25
- export { Breadcrumb } from './components/Breadcrumb';
26
- export { AcknowledgementBox } from './components/AcknowledgementBox';
27
- export { RichTextArea } from './components/RichTextArea';
28
- export { FileUploadButton } from './components/FileUploadButton';
29
- export { HeaderSearchResult } from './components/Header';
1
+ import "./theme-types";
2
+ export { ThemeProvider, useTheme } from "./ThemeProvider";
3
+ export { Button } from "./components/Button";
4
+ export { Input } from "./components/Input";
5
+ export { Card } from "./components/Card";
6
+ export { Select } from "./components/Select";
7
+ export { Radio, RadioGroup } from "./components/Radio";
8
+ export { Checkbox } from "./components/Checkbox";
9
+ export { Progress, StepIndicator } from "./components/Progress";
10
+ export { Alert } from "./components/Alert";
11
+ export { NoteBox } from "./components/NoteBox";
12
+ export { Modal } from "./components/Modal";
13
+ export { Concertina } from "./components/Concertina";
14
+ export { ReadBy } from "./components/ReadBy";
15
+ export { StatusBar } from "./components/StatusBar";
16
+ export { Tabs } from "./components/Tabs";
17
+ export { Sidebar } from "./components/Sidebar";
18
+ export { SidebarV2, MenuItem } from "./components/SidebarV2";
19
+ export { Header } from "./components/Header";
20
+ export { TableOfContents } from "./components/TableOfContents";
21
+ export { Toggle } from "./components/Toggle";
22
+ export { SimpleModal } from "./components/SimpleModal";
23
+ export { ActionButton } from "./components/ActionButton";
24
+ export { ExpandingBoxToggle } from "./components/ExpandingBoxToggle";
25
+ export { ExpandingBox } from "./components/ExpandingBox";
26
+ export { Breadcrumb } from "./components/Breadcrumb";
27
+ export { AcknowledgementBox } from "./components/AcknowledgementBox";
28
+ export { RichTextArea } from "./components/RichTextArea";
29
+ export { FileUploadButton } from "./components/FileUploadButton";
30
+ export { HeaderSearchResult } from "./components/Header";
package/dist/esm/index.js CHANGED
@@ -15,6 +15,7 @@ export { ReadBy } from './components/ReadBy.js';
15
15
  export { StatusBar } from './components/StatusBar.js';
16
16
  export { Tabs } from './components/Tabs.js';
17
17
  export { Sidebar } from './components/Sidebar.js';
18
+ export { SidebarV2 } from './components/SidebarV2.js';
18
19
  export { Header } from './components/Header.js';
19
20
  export { TableOfContents } from './components/TableOfContents.js';
20
21
  export { Toggle } from './components/Toggle.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,4 +1,4 @@
1
- import { __exports as lib } from '../../../_virtual/index3.js';
1
+ import { __exports as lib } from '../../../_virtual/index4.js';
2
2
  import { __require as requireLib$1 } from '../../domelementtype/lib/index.js';
3
3
  import { __require as requireNode } from './node.js';
4
4
 
@@ -1,4 +1,4 @@
1
- import { __exports as lib } from '../../../_virtual/index8.js';
1
+ import { __exports as lib } from '../../../_virtual/index9.js';
2
2
  import { __require as requireStringify } from './stringify.js';
3
3
  import { __require as requireTraversal } from './traversal.js';
4
4
  import { __require as requireManipulation } from './manipulation.js';
@@ -1,4 +1,4 @@
1
- import { __exports as lib } from '../../../_virtual/index4.js';
1
+ import { __exports as lib } from '../../../_virtual/index3.js';
2
2
  import { __require as requireHtmlToDom } from './server/html-to-dom.js';
3
3
  import { __require as requireTypes } from './types.js';
4
4
 
@@ -1,4 +1,4 @@
1
- import { __exports as cjs } from '../../../_virtual/index9.js';
1
+ import { __exports as cjs } from '../../../_virtual/index8.js';
2
2
  import { __require as requireCjs$1 } from '../../inline-style-parser/cjs/index.js';
3
3
 
4
4
  var hasRequiredCjs;
@@ -2,9 +2,15 @@ import '@mui/material/styles';
2
2
  declare module '@mui/material/styles' {
3
3
  interface Theme {
4
4
  appName: string;
5
+ contact: {
6
+ email: string;
7
+ };
5
8
  }
6
9
  interface ThemeOptions {
7
10
  appName?: string;
11
+ contact?: {
12
+ email: string;
13
+ };
8
14
  }
9
15
  interface Palette {
10
16
  accent: Palette['primary'];
@@ -0,0 +1,2 @@
1
+ declare const ECETheme: import("@mui/material").Theme;
2
+ export default ECETheme;
@@ -0,0 +1,241 @@
1
+ import { createTheme } from '@mui/material';
2
+
3
+ const ECETheme = createTheme({
4
+ palette: {
5
+ mode: 'light',
6
+ primary: {
7
+ main: '#AD46FF',
8
+ light: '#AD46FF',
9
+ dark: '#AD46FF',
10
+ contrastText: '#FFFFFF',
11
+ },
12
+ secondary: {
13
+ main: '#D79AFC',
14
+ light: '#D79AFC',
15
+ dark: '#D79AFC',
16
+ contrastText: '#FFFFFF',
17
+ },
18
+ error: {
19
+ main: '#F56B6B',
20
+ light: '#F56B6B',
21
+ dark: '#F56B6B',
22
+ contrastText: '#FFFFFF',
23
+ },
24
+ warning: {
25
+ main: '#F5D76E',
26
+ light: '#F5D76E',
27
+ dark: '#F5D76E',
28
+ contrastText: '#FFFBFF',
29
+ },
30
+ info: {
31
+ main: '#F5A623',
32
+ light: '#F5A623',
33
+ dark: '#F5A623',
34
+ contrastText: '#FFFFFF',
35
+ },
36
+ success: {
37
+ main: '#A3D977',
38
+ light: '#A3D977',
39
+ dark: '#A3D977',
40
+ contrastText: '#FFFFFF',
41
+ },
42
+ background: {
43
+ default: '#FDFCEE',
44
+ paper: '#FEFDF7',
45
+ },
46
+ text: {
47
+ primary: '#4D3019',
48
+ secondary: '#826E5C',
49
+ disabled: '#93908F',
50
+ },
51
+ divider: '#C6C7C0',
52
+ accent: {
53
+ main: '#FFEDD1',
54
+ },
55
+ dark: {
56
+ main: '#4D3019',
57
+ },
58
+ light: {
59
+ main: '#FEFDF7',
60
+ },
61
+ markedRead: {
62
+ main: '#A3D977',
63
+ },
64
+ custom: {
65
+ iconColor: '#ebc7ff',
66
+ primaryButtonTextColor: '#FFFFFF',
67
+ readByBackgroundColor: '#ebc7ff',
68
+ stepIndicatorTextColor: '#FFFFFF',
69
+ markAsReadBackgroundColor: '#ebc7ff8e',
70
+ tabBackgroundColor: '#F8F0FC',
71
+ },
72
+ },
73
+ typography: {
74
+ fontFamily: ['Inter', '-apple-system', 'BlinkMacSystemFont', 'Segoe UI', 'Roboto', 'sans-serif'].join(','),
75
+ h1: {
76
+ color: '#4D3019',
77
+ fontWeight: 700,
78
+ fontSize: '2.5rem',
79
+ lineHeight: 1.2,
80
+ },
81
+ h2: {
82
+ color: '#4D3019',
83
+ fontWeight: 700,
84
+ fontSize: '2rem',
85
+ lineHeight: 1.3,
86
+ },
87
+ h3: {
88
+ color: '#4D3019',
89
+ fontWeight: 600,
90
+ fontSize: '1.75rem',
91
+ lineHeight: 1.3,
92
+ },
93
+ h4: {
94
+ color: '#4D3019',
95
+ fontWeight: 600,
96
+ fontSize: '1.5rem',
97
+ lineHeight: 1.4,
98
+ },
99
+ h5: {
100
+ color: '#4D3019',
101
+ fontWeight: 600,
102
+ fontSize: '1.25rem',
103
+ lineHeight: 1.4,
104
+ },
105
+ h6: {
106
+ color: '#4D3019',
107
+ fontWeight: 600,
108
+ fontSize: '1rem',
109
+ lineHeight: 1.4,
110
+ },
111
+ body1: {
112
+ color: '#4D3019',
113
+ fontWeight: 400,
114
+ fontSize: '1rem',
115
+ lineHeight: 1.5,
116
+ },
117
+ body2: {
118
+ color: '#826E5C',
119
+ fontWeight: 400,
120
+ fontSize: '0.875rem',
121
+ lineHeight: 1.5,
122
+ },
123
+ subtitle1: {
124
+ color: '#4D3019',
125
+ fontWeight: 500,
126
+ fontSize: '1rem',
127
+ lineHeight: 1.5,
128
+ },
129
+ subtitle2: {
130
+ color: '#826E5C',
131
+ fontWeight: 500,
132
+ fontSize: '0.875rem',
133
+ lineHeight: 1.5,
134
+ },
135
+ button: {
136
+ color: '#4D3019',
137
+ fontWeight: 500,
138
+ fontSize: '0.875rem',
139
+ lineHeight: 1.75,
140
+ textTransform: 'none',
141
+ },
142
+ caption: {
143
+ color: '#826E5C',
144
+ fontWeight: 400,
145
+ fontSize: '0.75rem',
146
+ lineHeight: 1.66,
147
+ },
148
+ overline: {
149
+ color: '#826E5C',
150
+ fontWeight: 500,
151
+ fontSize: '0.75rem',
152
+ lineHeight: 2.66,
153
+ textTransform: 'uppercase',
154
+ letterSpacing: '0.08em',
155
+ },
156
+ },
157
+ shape: {
158
+ borderRadius: 4,
159
+ },
160
+ breakpoints: {
161
+ values: {
162
+ xs: 320,
163
+ sm: 640,
164
+ md: 768,
165
+ lg: 1024,
166
+ xl: 1280,
167
+ },
168
+ },
169
+ components: {
170
+ MuiLink: {
171
+ styleOverrides: {
172
+ root: {
173
+ color: '#4D3019',
174
+ '&:hover, &:active': {
175
+ color: '#D79AFC',
176
+ },
177
+ '&:visited': {
178
+ color: '#4D3019',
179
+ }
180
+ },
181
+ },
182
+ },
183
+ MuiTypography: {
184
+ defaultProps: {
185
+ variantMapping: {
186
+ h1: 'h1',
187
+ h2: 'h2',
188
+ h3: 'h3',
189
+ h4: 'h4',
190
+ h5: 'h5',
191
+ h6: 'h6',
192
+ subtitle1: 'p',
193
+ subtitle2: 'p',
194
+ body1: 'p',
195
+ body2: 'p',
196
+ },
197
+ },
198
+ },
199
+ MuiCssBaseline: {
200
+ styleOverrides: {
201
+ body: {
202
+ WebkitFontSmoothing: 'antialiased',
203
+ MozOsxFontSmoothing: 'grayscale',
204
+ backgroundColor: '#FDFCEE',
205
+ color: '#4D3019',
206
+ },
207
+ 'input[type="checkbox"], input[type="radio"]': {
208
+ accentColor: '#D79AFC',
209
+ },
210
+ 'h1, h2, h3, h4, h5, h6': {
211
+ fontWeight: 'inherit !important',
212
+ },
213
+ '.MuiTypography-h1': {
214
+ fontWeight: '700 !important',
215
+ },
216
+ '.MuiTypography-h2': {
217
+ fontWeight: '700 !important',
218
+ },
219
+ '.MuiTypography-h3': {
220
+ fontWeight: '600 !important',
221
+ },
222
+ '.MuiTypography-h4': {
223
+ fontWeight: '600 !important',
224
+ },
225
+ '.MuiTypography-h5': {
226
+ fontWeight: '600 !important',
227
+ },
228
+ '.MuiTypography-h6': {
229
+ fontWeight: '600 !important',
230
+ },
231
+ },
232
+ },
233
+ },
234
+ appName: 'ECEDocs',
235
+ contact: {
236
+ email: 'team@ecedocs.co.nz'
237
+ }
238
+ });
239
+
240
+ export { ECETheme as default };
241
+ //# sourceMappingURL=ECETheme.js.map