ece-docs-components 1.0.14 → 1.0.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/ThemeProvider.js +1 -1
- package/dist/cjs/ThemeProvider.js.map +1 -1
- package/dist/cjs/components/AcknowledgementBox.js +6 -3
- package/dist/cjs/components/AcknowledgementBox.js.map +1 -1
- package/dist/cjs/components/Button.js +3 -1
- package/dist/cjs/components/Button.js.map +1 -1
- package/dist/cjs/components/ExpandingBox.js +3 -1
- package/dist/cjs/components/ExpandingBox.js.map +1 -1
- package/dist/cjs/components/Modal.js +3 -1
- package/dist/cjs/components/Modal.js.map +1 -1
- package/dist/cjs/components/NoteBox.js +3 -1
- package/dist/cjs/components/NoteBox.js.map +1 -1
- package/dist/cjs/components/Sidebar.js +29 -30
- package/dist/cjs/components/Sidebar.js.map +1 -1
- package/dist/esm/ThemeProvider.js +1 -1
- package/dist/esm/ThemeProvider.js.map +1 -1
- package/dist/esm/components/AcknowledgementBox.d.ts +1 -3
- package/dist/esm/components/AcknowledgementBox.js +6 -3
- package/dist/esm/components/AcknowledgementBox.js.map +1 -1
- package/dist/esm/components/Button.js +3 -1
- package/dist/esm/components/Button.js.map +1 -1
- package/dist/esm/components/ExpandingBox.js +3 -1
- package/dist/esm/components/ExpandingBox.js.map +1 -1
- package/dist/esm/components/Modal.js +3 -1
- package/dist/esm/components/Modal.js.map +1 -1
- package/dist/esm/components/NoteBox.js +3 -1
- package/dist/esm/components/NoteBox.js.map +1 -1
- package/dist/esm/components/Sidebar.js +30 -31
- package/dist/esm/components/Sidebar.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ThemeProvider.js","sources":["../../../src/ThemeProvider.tsx"],"sourcesContent":["import { createTheme, ThemeProvider as MuiThemeProvider } from '@mui/material/styles';\r\nimport { CssBaseline } from '@mui/material';\r\nimport * as React from 'react';\r\nimport './theme-types';\r\n\r\n\r\nconst theme = createTheme({\r\n palette: {\r\n mode: 'light',\r\n primary: {\r\n main: '#AD46FF',\r\n light: '#AD46FF',\r\n dark: '#AD46FF',\r\n contrastText: '#FFFFFF',\r\n },\r\n secondary: {\r\n main: '#D79AFC',\r\n light: '#D79AFC',\r\n dark: '#D79AFC',\r\n contrastText: '#FFFFFF',\r\n },\r\n error: {\r\n main: '#F56B6B',\r\n light: '#F56B6B',\r\n dark: '#F56B6B',\r\n contrastText: '#FFFFFF',\r\n },\r\n warning: {\r\n main: '#F5D76E',\r\n light: '#F5D76E',\r\n dark: '#F5D76E',\r\n contrastText: '#FFFBFF',\r\n },\r\n info: {\r\n main: '#F5A623',\r\n light: '#F5A623',\r\n dark: '#F5A623',\r\n contrastText: '#FFFFFF',\r\n },\r\n success: {\r\n main: '#A3D977',\r\n light: '#A3D977',\r\n dark: '#A3D977',\r\n contrastText: '#FFFFFF',\r\n },\r\n background: {\r\n default: '#FDFCEE',\r\n paper: '#FEFDF7',\r\n },\r\n text: {\r\n primary: '#4D3019',\r\n secondary: '#826E5C',\r\n disabled: '#93908F',\r\n },\r\n divider: '#C6C7C0',\r\n accent: {\r\n main: '#FFEDD1',\r\n },\r\n dark: {\r\n main: '#4D3019',\r\n },\r\n light: {\r\n main: '#FEFDF7',\r\n },\r\n markedRead: {\r\n main: '#A3D977',\r\n },\r\n custom: {\r\n iconColor: '#ebc7ff',\r\n primaryButtonTextColor: '#FFFFFF',\r\n readByBackgroundColor: '#ebc7ff',\r\n stepIndicatorTextColor: '#FFFFFF',\r\n markAsReadBackgroundColor: '#ebc7ff',\r\n tabBackgroundColor: '#F8F0FC',\r\n },\r\n },\r\n typography: {\r\n fontFamily: ['Inter', '-apple-system', 'BlinkMacSystemFont', 'Segoe UI', 'Roboto', 'sans-serif'].join(','),\r\n h1: {\r\n color: '#4D3019',\r\n fontWeight: 700,\r\n fontSize: '2.5rem',\r\n lineHeight: 1.2,\r\n },\r\n h2: {\r\n color: '#4D3019',\r\n fontWeight: 700,\r\n fontSize: '2rem',\r\n lineHeight: 1.3,\r\n },\r\n h3: {\r\n color: '#4D3019',\r\n fontWeight: 600,\r\n fontSize: '1.75rem',\r\n lineHeight: 1.3,\r\n },\r\n h4: {\r\n color: '#4D3019',\r\n fontWeight: 600,\r\n fontSize: '1.5rem',\r\n lineHeight: 1.4,\r\n },\r\n h5: {\r\n color: '#4D3019',\r\n fontWeight: 600,\r\n fontSize: '1.25rem',\r\n lineHeight: 1.4,\r\n },\r\n h6: {\r\n color: '#4D3019',\r\n fontWeight: 600,\r\n fontSize: '1rem',\r\n lineHeight: 1.4,\r\n },\r\n body1: {\r\n color: '#4D3019',\r\n fontWeight: 400,\r\n fontSize: '1rem',\r\n lineHeight: 1.5,\r\n },\r\n body2: {\r\n color: '#826E5C',\r\n fontWeight: 400,\r\n fontSize: '0.875rem',\r\n lineHeight: 1.5,\r\n },\r\n subtitle1: {\r\n color: '#4D3019',\r\n fontWeight: 500,\r\n fontSize: '1rem',\r\n lineHeight: 1.5,\r\n },\r\n subtitle2: {\r\n color: '#826E5C',\r\n fontWeight: 500,\r\n fontSize: '0.875rem',\r\n lineHeight: 1.5,\r\n },\r\n button: {\r\n color: '#4D3019',\r\n fontWeight: 500,\r\n fontSize: '0.875rem',\r\n lineHeight: 1.75,\r\n textTransform: 'none',\r\n },\r\n caption: {\r\n color: '#826E5C',\r\n fontWeight: 400,\r\n fontSize: '0.75rem',\r\n lineHeight: 1.66,\r\n },\r\n overline: {\r\n color: '#826E5C',\r\n fontWeight: 500,\r\n fontSize: '0.75rem',\r\n lineHeight: 2.66,\r\n textTransform: 'uppercase',\r\n letterSpacing: '0.08em',\r\n },\r\n },\r\n shape: {\r\n borderRadius: 8,\r\n },\r\n breakpoints: {\r\n values: {\r\n xs: 320,\r\n sm: 640,\r\n md: 768,\r\n lg: 1024,\r\n xl: 1280,\r\n },\r\n },\r\n components: {\r\n MuiTypography: {\r\n defaultProps: {\r\n variantMapping: {\r\n h1: 'h1',\r\n h2: 'h2',\r\n h3: 'h3',\r\n h4: 'h4',\r\n h5: 'h5',\r\n h6: 'h6',\r\n subtitle1: 'p',\r\n subtitle2: 'p',\r\n body1: 'p',\r\n body2: 'p',\r\n },\r\n },\r\n },\r\n MuiCssBaseline: {\r\n styleOverrides: {\r\n body: {\r\n WebkitFontSmoothing: 'antialiased',\r\n MozOsxFontSmoothing: 'grayscale',\r\n backgroundColor: '#FDFCEE',\r\n color: '#4D3019',\r\n },\r\n 'input[type=\"checkbox\"], input[type=\"radio\"]': {\r\n accentColor: '#D79AFC',\r\n },\r\n 'h1, h2, h3, h4, h5, h6': {\r\n fontWeight: 'inherit !important',\r\n },\r\n '.MuiTypography-h1': {\r\n fontWeight: '700 !important',\r\n },\r\n '.MuiTypography-h2': {\r\n fontWeight: '700 !important',\r\n },\r\n '.MuiTypography-h3': {\r\n fontWeight: '600 !important',\r\n },\r\n '.MuiTypography-h4': {\r\n fontWeight: '600 !important',\r\n },\r\n '.MuiTypography-h5': {\r\n fontWeight: '600 !important',\r\n },\r\n '.MuiTypography-h6': {\r\n fontWeight: '600 !important',\r\n },\r\n },\r\n },\r\n },\r\n appName: 'ECE Docs',\r\n});\r\n\r\n\r\nexport const ThemeProvider: React.FC<{ children: React.ReactNode }> = ({ children }) => {\r\n return (\r\n <MuiThemeProvider theme={theme}>\r\n <CssBaseline />\r\n {children}\r\n </MuiThemeProvider>\r\n );\r\n};\r\n\r\n\r\nexport const useTheme = () => {\r\n return theme;\r\n};\r\n"],"names":["createTheme","_jsxs","MuiThemeProvider","_jsx","CssBaseline"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ThemeProvider.js","sources":["../../../src/ThemeProvider.tsx"],"sourcesContent":["import { createTheme, ThemeProvider as MuiThemeProvider } from '@mui/material/styles';\r\nimport { CssBaseline } from '@mui/material';\r\nimport * as React from 'react';\r\nimport './theme-types';\r\n\r\n\r\nconst theme = createTheme({\r\n palette: {\r\n mode: 'light',\r\n primary: {\r\n main: '#AD46FF',\r\n light: '#AD46FF',\r\n dark: '#AD46FF',\r\n contrastText: '#FFFFFF',\r\n },\r\n secondary: {\r\n main: '#D79AFC',\r\n light: '#D79AFC',\r\n dark: '#D79AFC',\r\n contrastText: '#FFFFFF',\r\n },\r\n error: {\r\n main: '#F56B6B',\r\n light: '#F56B6B',\r\n dark: '#F56B6B',\r\n contrastText: '#FFFFFF',\r\n },\r\n warning: {\r\n main: '#F5D76E',\r\n light: '#F5D76E',\r\n dark: '#F5D76E',\r\n contrastText: '#FFFBFF',\r\n },\r\n info: {\r\n main: '#F5A623',\r\n light: '#F5A623',\r\n dark: '#F5A623',\r\n contrastText: '#FFFFFF',\r\n },\r\n success: {\r\n main: '#A3D977',\r\n light: '#A3D977',\r\n dark: '#A3D977',\r\n contrastText: '#FFFFFF',\r\n },\r\n background: {\r\n default: '#FDFCEE',\r\n paper: '#FEFDF7',\r\n },\r\n text: {\r\n primary: '#4D3019',\r\n secondary: '#826E5C',\r\n disabled: '#93908F',\r\n },\r\n divider: '#C6C7C0',\r\n accent: {\r\n main: '#FFEDD1',\r\n },\r\n dark: {\r\n main: '#4D3019',\r\n },\r\n light: {\r\n main: '#FEFDF7',\r\n },\r\n markedRead: {\r\n main: '#A3D977',\r\n },\r\n custom: {\r\n iconColor: '#ebc7ff',\r\n primaryButtonTextColor: '#FFFFFF',\r\n readByBackgroundColor: '#ebc7ff',\r\n stepIndicatorTextColor: '#FFFFFF',\r\n markAsReadBackgroundColor: '#ebc7ff',\r\n tabBackgroundColor: '#F8F0FC',\r\n },\r\n },\r\n typography: {\r\n fontFamily: ['Inter', '-apple-system', 'BlinkMacSystemFont', 'Segoe UI', 'Roboto', 'sans-serif'].join(','),\r\n h1: {\r\n color: '#4D3019',\r\n fontWeight: 700,\r\n fontSize: '2.5rem',\r\n lineHeight: 1.2,\r\n },\r\n h2: {\r\n color: '#4D3019',\r\n fontWeight: 700,\r\n fontSize: '2rem',\r\n lineHeight: 1.3,\r\n },\r\n h3: {\r\n color: '#4D3019',\r\n fontWeight: 600,\r\n fontSize: '1.75rem',\r\n lineHeight: 1.3,\r\n },\r\n h4: {\r\n color: '#4D3019',\r\n fontWeight: 600,\r\n fontSize: '1.5rem',\r\n lineHeight: 1.4,\r\n },\r\n h5: {\r\n color: '#4D3019',\r\n fontWeight: 600,\r\n fontSize: '1.25rem',\r\n lineHeight: 1.4,\r\n },\r\n h6: {\r\n color: '#4D3019',\r\n fontWeight: 600,\r\n fontSize: '1rem',\r\n lineHeight: 1.4,\r\n },\r\n body1: {\r\n color: '#4D3019',\r\n fontWeight: 400,\r\n fontSize: '1rem',\r\n lineHeight: 1.5,\r\n },\r\n body2: {\r\n color: '#826E5C',\r\n fontWeight: 400,\r\n fontSize: '0.875rem',\r\n lineHeight: 1.5,\r\n },\r\n subtitle1: {\r\n color: '#4D3019',\r\n fontWeight: 500,\r\n fontSize: '1rem',\r\n lineHeight: 1.5,\r\n },\r\n subtitle2: {\r\n color: '#826E5C',\r\n fontWeight: 500,\r\n fontSize: '0.875rem',\r\n lineHeight: 1.5,\r\n },\r\n button: {\r\n color: '#4D3019',\r\n fontWeight: 500,\r\n fontSize: '0.875rem',\r\n lineHeight: 1.75,\r\n textTransform: 'none',\r\n },\r\n caption: {\r\n color: '#826E5C',\r\n fontWeight: 400,\r\n fontSize: '0.75rem',\r\n lineHeight: 1.66,\r\n },\r\n overline: {\r\n color: '#826E5C',\r\n fontWeight: 500,\r\n fontSize: '0.75rem',\r\n lineHeight: 2.66,\r\n textTransform: 'uppercase',\r\n letterSpacing: '0.08em',\r\n },\r\n },\r\n shape: {\r\n borderRadius: 4,\r\n },\r\n breakpoints: {\r\n values: {\r\n xs: 320,\r\n sm: 640,\r\n md: 768,\r\n lg: 1024,\r\n xl: 1280,\r\n },\r\n },\r\n components: {\r\n MuiTypography: {\r\n defaultProps: {\r\n variantMapping: {\r\n h1: 'h1',\r\n h2: 'h2',\r\n h3: 'h3',\r\n h4: 'h4',\r\n h5: 'h5',\r\n h6: 'h6',\r\n subtitle1: 'p',\r\n subtitle2: 'p',\r\n body1: 'p',\r\n body2: 'p',\r\n },\r\n },\r\n },\r\n MuiCssBaseline: {\r\n styleOverrides: {\r\n body: {\r\n WebkitFontSmoothing: 'antialiased',\r\n MozOsxFontSmoothing: 'grayscale',\r\n backgroundColor: '#FDFCEE',\r\n color: '#4D3019',\r\n },\r\n 'input[type=\"checkbox\"], input[type=\"radio\"]': {\r\n accentColor: '#D79AFC',\r\n },\r\n 'h1, h2, h3, h4, h5, h6': {\r\n fontWeight: 'inherit !important',\r\n },\r\n '.MuiTypography-h1': {\r\n fontWeight: '700 !important',\r\n },\r\n '.MuiTypography-h2': {\r\n fontWeight: '700 !important',\r\n },\r\n '.MuiTypography-h3': {\r\n fontWeight: '600 !important',\r\n },\r\n '.MuiTypography-h4': {\r\n fontWeight: '600 !important',\r\n },\r\n '.MuiTypography-h5': {\r\n fontWeight: '600 !important',\r\n },\r\n '.MuiTypography-h6': {\r\n fontWeight: '600 !important',\r\n },\r\n },\r\n },\r\n },\r\n appName: 'ECE Docs',\r\n});\r\n\r\n\r\nexport const ThemeProvider: React.FC<{ children: React.ReactNode }> = ({ children }) => {\r\n return (\r\n <MuiThemeProvider theme={theme}>\r\n <CssBaseline />\r\n {children}\r\n </MuiThemeProvider>\r\n );\r\n};\r\n\r\n\r\nexport const useTheme = () => {\r\n return theme;\r\n};\r\n"],"names":["createTheme","_jsxs","MuiThemeProvider","_jsx","CssBaseline"],"mappings":"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"}
|
|
@@ -2,16 +2,19 @@
|
|
|
2
2
|
|
|
3
3
|
var jsxRuntime = require('react/jsx-runtime');
|
|
4
4
|
var material = require('@mui/material');
|
|
5
|
+
var iconsMaterial = require('@mui/icons-material');
|
|
5
6
|
|
|
6
7
|
const StyledAcknowledgementBox = material.styled(material.Box)(({ theme }) => ({
|
|
7
8
|
marginTop: theme.spacing(2), // mt-4
|
|
8
9
|
padding: theme.spacing(2), // p-4
|
|
9
|
-
borderRadius:
|
|
10
|
+
borderRadius: (typeof theme.shape.borderRadius === 'string'
|
|
11
|
+
? parseInt(theme.shape.borderRadius, 10)
|
|
12
|
+
: theme.shape.borderRadius || 4) * 2,
|
|
10
13
|
border: `1px solid ${theme.palette.dark.main}1A`,
|
|
11
14
|
backgroundColor: theme.palette.background.default,
|
|
12
15
|
}));
|
|
13
|
-
const AcknowledgementBox = ({
|
|
14
|
-
return (jsxRuntime.jsx(StyledAcknowledgementBox, { sx: sx, children: jsxRuntime.jsxs(material.Box, { display: 'flex', flexDirection: 'row', children: [jsxRuntime.jsx(material.Box, { display: 'flex', flexDirection: 'column', children:
|
|
16
|
+
const AcknowledgementBox = ({ children, sx, }) => {
|
|
17
|
+
return (jsxRuntime.jsx(StyledAcknowledgementBox, { sx: sx, children: jsxRuntime.jsxs(material.Box, { display: 'flex', flexDirection: 'row', children: [jsxRuntime.jsx(material.Box, { display: 'flex', flexDirection: 'column', children: jsxRuntime.jsx(iconsMaterial.InfoOutlineRounded, { sx: { mr: 1, color: 'black' } }) }), jsxRuntime.jsxs(material.Box, { flex: '1', children: [jsxRuntime.jsx(material.Typography, { variant: 'h6', children: "Hei mihi | Acknowledgement" }), children] })] }) }));
|
|
15
18
|
};
|
|
16
19
|
|
|
17
20
|
exports.AcknowledgementBox = AcknowledgementBox;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AcknowledgementBox.js","sources":["../../../../src/components/AcknowledgementBox.tsx"],"sourcesContent":["\n\nimport React from 'react';\nimport { Box, styled, SxProps, Theme, Typography } from '@mui/material';\ninterface AcknowledgementProps {\n
|
|
1
|
+
{"version":3,"file":"AcknowledgementBox.js","sources":["../../../../src/components/AcknowledgementBox.tsx"],"sourcesContent":["\n\nimport React from 'react';\nimport { Box, styled, SxProps, Theme, Typography } from '@mui/material';\nimport { InfoOutlineRounded } from '@mui/icons-material';\ninterface AcknowledgementProps {\n children: React.ReactElement | React.ReactElement[];\n sx?: SxProps<Theme>;\n}\n\nconst StyledAcknowledgementBox = styled(Box)(({ theme }) => ({\n marginTop: theme.spacing(2), // mt-4\n padding: theme.spacing(2), // p-4\n borderRadius: (typeof theme.shape.borderRadius === 'string'\n ? parseInt(theme.shape.borderRadius, 10)\n : theme.shape.borderRadius || 4) * 2,\n border: `1px solid ${theme.palette.dark.main}1A`,\n backgroundColor: theme.palette.background.default,\n}));\n\n\nexport const AcknowledgementBox: React.FC<AcknowledgementProps> = ({\n children,\n sx,\n}) => {\n return (\n <StyledAcknowledgementBox\n sx={sx}\n >\n <Box display='flex' flexDirection='row'>\n <Box display='flex' flexDirection='column'>\n <InfoOutlineRounded sx={{ mr: 1, color: 'black' }} />\n </Box>\n <Box flex='1'>\n <Typography variant='h6'>Hei mihi | Acknowledgement</Typography>\n {children}\n </Box>\n </Box>\n </StyledAcknowledgementBox>\n );\n};"],"names":["styled","Box","_jsx","_jsxs","InfoOutlineRounded","Typography"],"mappings":";;;;;;AAUA,MAAM,wBAAwB,GAAGA,eAAM,CAACC,YAAG,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM;IAC3D,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;IAC3B,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;IACzB,YAAY,EAAE,CAAC,OAAO,KAAK,CAAC,KAAK,CAAC,YAAY,KAAK;UAC/C,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,YAAY,EAAE,EAAE;UACrC,KAAK,CAAC,KAAK,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC;IACtC,MAAM,EAAE,aAAa,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAA,EAAA,CAAI;AAChD,IAAA,eAAe,EAAE,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO;AAClD,CAAA,CAAC,CAAC;AAGI,MAAM,kBAAkB,GAAmC,CAAC,EACjE,QAAQ,EACR,EAAE,GACH,KAAI;AACH,IAAA,QACEC,cAAA,CAAC,wBAAwB,EAAA,EACvB,EAAE,EAAE,EAAE,EAAA,QAAA,EAENC,eAAA,CAACF,YAAG,EAAA,EAAC,OAAO,EAAC,MAAM,EAAC,aAAa,EAAC,KAAK,EAAA,QAAA,EAAA,CACrCC,cAAA,CAACD,YAAG,IAAC,OAAO,EAAC,MAAM,EAAC,aAAa,EAAC,QAAQ,EAAA,QAAA,EACxCC,eAACE,gCAAkB,EAAA,EAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,EAAA,CAAI,EAAA,CACjD,EACND,eAAA,CAACF,YAAG,EAAA,EAAC,IAAI,EAAC,GAAG,EAAA,QAAA,EAAA,CACXC,cAAA,CAACG,mBAAU,EAAA,EAAC,OAAO,EAAC,IAAI,EAAA,QAAA,EAAA,4BAAA,EAAA,CAAwC,EAC/D,QAAQ,CAAA,EAAA,CACL,CAAA,EAAA,CACF,EAAA,CACmB;AAE/B;;;;"}
|
|
@@ -26,7 +26,9 @@ const StyledButton = styles.styled(material.Button, {
|
|
|
26
26
|
// Base styles - ADD BORDER TO ALL VARIANTS
|
|
27
27
|
const baseStyles = {
|
|
28
28
|
fontWeight: 500,
|
|
29
|
-
borderRadius: '
|
|
29
|
+
borderRadius: (typeof theme.shape.borderRadius === 'string'
|
|
30
|
+
? parseInt(theme.shape.borderRadius, 10)
|
|
31
|
+
: theme.shape.borderRadius || 4) * 2,
|
|
30
32
|
textTransform: 'none',
|
|
31
33
|
transition: 'all 0.2s',
|
|
32
34
|
boxShadow: 'none',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Button.js","sources":["../../../../src/components/Button.tsx"],"sourcesContent":["import React from 'react';\nimport { Button as MuiButton, ButtonProps as MuiButtonProps } from '@mui/material';\nimport { styled } from '@mui/material/styles';\n\ninterface CustomButtonProps extends Omit<MuiButtonProps, 'variant' | 'size'> {\n variant?: 'primary' | 'secondary' | 'outline' | 'marked-read' | 'mark-read' | 'danger';\n size?: 'sm' | 'md' | 'lg';\n}\n\nconst StyledButton = styled(MuiButton, {\n shouldForwardProp: (prop) => prop !== 'customVariant' && prop !== 'customSize',\n})<{ customVariant: string; customSize: string }>(({ theme, customVariant, customSize }) => {\n const currentTheme = theme.palette;\n\n // Size styles\n const sizeStyles = {\n sm: {\n padding: '6px 12px',\n fontSize: '0.875rem',\n },\n md: {\n padding: '10px 16px',\n fontSize: '1rem',\n },\n lg: {\n padding: '12px 24px',\n fontSize: '1.125rem',\n },\n };\n\n // Base styles - ADD BORDER TO ALL VARIANTS\n const baseStyles = {\n fontWeight: 500,\n borderRadius: '
|
|
1
|
+
{"version":3,"file":"Button.js","sources":["../../../../src/components/Button.tsx"],"sourcesContent":["import React from 'react';\nimport { Button as MuiButton, ButtonProps as MuiButtonProps } from '@mui/material';\nimport { styled } from '@mui/material/styles';\n\ninterface CustomButtonProps extends Omit<MuiButtonProps, 'variant' | 'size'> {\n variant?: 'primary' | 'secondary' | 'outline' | 'marked-read' | 'mark-read' | 'danger';\n size?: 'sm' | 'md' | 'lg';\n}\n\nconst StyledButton = styled(MuiButton, {\n shouldForwardProp: (prop) => prop !== 'customVariant' && prop !== 'customSize',\n})<{ customVariant: string; customSize: string }>(({ theme, customVariant, customSize }) => {\n const currentTheme = theme.palette;\n\n // Size styles\n const sizeStyles = {\n sm: {\n padding: '6px 12px',\n fontSize: '0.875rem',\n },\n md: {\n padding: '10px 16px',\n fontSize: '1rem',\n },\n lg: {\n padding: '12px 24px',\n fontSize: '1.125rem',\n },\n };\n\n // Base styles - ADD BORDER TO ALL VARIANTS\n const baseStyles = {\n fontWeight: 500,\n borderRadius: (typeof theme.shape.borderRadius === 'string'\n ? parseInt(theme.shape.borderRadius, 10)\n : theme.shape.borderRadius || 4) * 2,\n textTransform: 'none' as const,\n transition: 'all 0.2s',\n boxShadow: 'none',\n border: '2px solid transparent',\n '&:hover': {\n boxShadow: 'none',\n },\n '&.Mui-disabled': {\n opacity: 0.5,\n cursor: 'not-allowed',\n },\n ...sizeStyles[customSize as keyof typeof sizeStyles],\n };\n\n // Variant styles\n const variantStyles = {\n primary: {\n backgroundColor: currentTheme.primary.main,\n color: currentTheme.custom?.primaryButtonTextColor || '#FFFFFF',\n borderColor: 'transparent', // Transparent border\n boxShadow: '0 1px 2px 0 rgba(0, 0, 0, 0.05)',\n '&:hover': {\n backgroundColor: currentTheme.primary.main,\n opacity: 0.9,\n },\n },\n secondary: {\n backgroundColor: currentTheme.secondary.main,\n color: currentTheme.dark.main,\n borderColor: 'transparent', // Transparent border\n boxShadow: '0 1px 2px 0 rgba(0, 0, 0, 0.05)',\n '&:hover': {\n backgroundColor: currentTheme.secondary.main,\n opacity: 0.9,\n },\n },\n outline: {\n backgroundColor: currentTheme.light.main,\n borderColor: 'rgba(77, 48, 25, 0.2)', // Visible border\n color: currentTheme.dark.main,\n '&:hover': {\n backgroundColor: 'rgba(77, 48, 25, 0.05)',\n borderColor: 'rgba(77, 48, 25, 0.3)',\n },\n },\n 'marked-read': {\n backgroundColor: 'rgba(163, 217, 119, 0.1)',\n borderColor: currentTheme.markedRead.main, // Visible border\n color: currentTheme.dark.main,\n '&:hover': {\n backgroundColor: 'rgba(163, 217, 119, 0.2)',\n cursor: 'not-allowed',\n },\n },\n 'mark-read': {\n backgroundColor: currentTheme.custom?.markAsReadBackgroundColor || currentTheme.accent.main,\n borderColor: currentTheme.custom?.markAsReadBorderColor || currentTheme.secondary.main, // Visible border\n color: currentTheme.dark.main,\n '&:hover': {\n opacity: 0.9,\n },\n },\n danger: {\n backgroundColor: '#D32F2F',\n color: '#FFFFFF',\n borderColor: 'transparent', // Transparent border\n boxShadow: '0 1px 2px 0 rgba(0, 0, 0, 0.05)',\n '&:hover': {\n backgroundColor: '#B71C1C',\n opacity: 0.9,\n },\n },\n };\n\n return {\n ...baseStyles,\n ...variantStyles[customVariant as keyof typeof variantStyles],\n };\n});\n\nexport const Button: React.FC<CustomButtonProps> = ({\n variant = 'primary',\n size = 'md',\n children,\n fullWidth = false,\n ...props\n}) => {\n return (\n <StyledButton\n customVariant={variant}\n customSize={size}\n fullWidth={fullWidth}\n disableRipple\n {...props}\n >\n {children}\n </StyledButton>\n );\n};\n"],"names":["styled","MuiButton","_jsx"],"mappings":"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"}
|
|
@@ -35,7 +35,9 @@ const StyledIconWrapper = material.styled(material.Box)(({ theme }) => ({
|
|
|
35
35
|
const StyledExpandingBox = material.styled(material.Box)(({ theme }) => ({
|
|
36
36
|
marginTop: theme.spacing(2), // mt-4
|
|
37
37
|
padding: theme.spacing(2), // p-4
|
|
38
|
-
borderRadius:
|
|
38
|
+
borderRadius: (typeof theme.shape.borderRadius === 'string'
|
|
39
|
+
? parseInt(theme.shape.borderRadius, 10)
|
|
40
|
+
: theme.shape.borderRadius || 4) * 2,
|
|
39
41
|
border: `1px solid ${theme.palette.dark.main}`,
|
|
40
42
|
backgroundColor: theme.palette.background.default,
|
|
41
43
|
}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExpandingBox.js","sources":["../../../../src/components/ExpandingBox.tsx"],"sourcesContent":["\n\nimport { useState } from 'react';\nimport { Box, styled, Typography } from '@mui/material';\nimport { useTheme } from '../ThemeProvider';\nimport { AddBoxRounded, IndeterminateCheckBoxRounded } from '@mui/icons-material';\n\ninterface ExpandingBoxProps {\n term: string;\n content: string;\n}\n\nconst StyledWrapper = styled(Box)(({ theme }) => ({\n // No specific wrapper styles needed, just a container\n}));\n\nconst StyledParagraph = styled('span')(({ theme }) => ({\n fontSize: '14px', // text-[14px]\n color: theme.palette.dark.main, // text-[#4D3019]\n display: 'inline-flex',\n alignItems: 'center',\n}));\n\nconst StyledTermWrapper = styled(Box)<{ open: boolean }>(({ theme, open }) => ({\n position: 'relative',\n display: 'inline-flex',\n alignItems: 'center',\n cursor: 'pointer',\n marginLeft: theme.spacing(0.5), // ml-1\n paddingBottom: '1px', // style={{ paddingBottom: '1px' }}\n borderBottom: `2px solid ${theme.palette.dark.main}`, // border-b-2\n backgroundColor: theme.palette.background.default,\n}));\n\nconst StyledIconWrapper = styled(Box)(({ theme }) => ({\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n marginLeft: theme.spacing(0.5), // ml-1\n transition: 'color 0.2s', // transition-colors\n}));\n\nconst StyledExpandingBox = styled(Box)(({ theme }) => ({\n marginTop: theme.spacing(2), // mt-4\n padding: theme.spacing(2), // p-4\n borderRadius: 4,\n border: `1px solid ${theme.palette.dark.main}`,\n backgroundColor: theme.palette.background.default,\n}));\n\nexport function ExpandingBox({ term, content }: ExpandingBoxProps) {\n const theme = useTheme();\n const [open, setOpen] = useState(false);\n\n return (\n <StyledWrapper>\n <StyledParagraph >\n <StyledTermWrapper onClick={() => setOpen(!open)} open={open}>\n {term}\n <StyledIconWrapper>\n {open ? (\n <IndeterminateCheckBoxRounded\n sx={{\n fontSize: 16,\n color: theme.palette.text.primary\n }}\n />\n ) : (\n <AddBoxRounded\n sx={{\n fontSize: 16,\n color: theme.palette.text.primary,\n }}\n />\n )}\n </StyledIconWrapper>\n </StyledTermWrapper>\n </StyledParagraph>\n {open && (\n <StyledExpandingBox>\n <Box\n sx={{\n fontSize: '14px',\n color: theme.palette.dark.main,\n lineHeight: 1.5,\n display: 'inline-block'\n }}\n dangerouslySetInnerHTML={{ __html: content }}\n />\n </StyledExpandingBox>\n )}\n </StyledWrapper>\n );\n}"],"names":["styled","Box","useTheme","useState","_jsxs","_jsx","IndeterminateCheckBoxRounded","AddBoxRounded"],"mappings":";;;;;;;;AAYA,MAAM,aAAa,GAAGA,eAAM,CAACC,YAAG,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM;AAChD;AACD,CAAA,CAAC,CAAC;AAEH,MAAM,eAAe,GAAGD,eAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM;IACrD,QAAQ,EAAE,MAAM;IAChB,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI;AAC9B,IAAA,OAAO,EAAE,aAAa;AACtB,IAAA,UAAU,EAAE,QAAQ;AACrB,CAAA,CAAC,CAAC;AAEH,MAAM,iBAAiB,GAAGA,eAAM,CAACC,YAAG,CAAC,CAAoB,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,MAAO;AAC9E,IAAA,QAAQ,EAAE,UAAU;AACpB,IAAA,OAAO,EAAE,aAAa;AACtB,IAAA,UAAU,EAAE,QAAQ;AACpB,IAAA,MAAM,EAAE,SAAS;IACjB,UAAU,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;IAC9B,aAAa,EAAE,KAAK;IACpB,YAAY,EAAE,CAAA,UAAA,EAAa,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAA,CAAE;AACpD,IAAA,eAAe,EAAE,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO;AAClD,CAAA,CAAC,CAAC;AAEH,MAAM,iBAAiB,GAAGD,eAAM,CAACC,YAAG,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM;AACpD,IAAA,OAAO,EAAE,aAAa;AACtB,IAAA,UAAU,EAAE,QAAQ;AACpB,IAAA,cAAc,EAAE,QAAQ;IACxB,UAAU,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;IAC9B,UAAU,EAAE,YAAY;AACzB,CAAA,CAAC,CAAC;AAEH,MAAM,kBAAkB,GAAGD,eAAM,CAACC,YAAG,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM;IACrD,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;IAC3B,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"ExpandingBox.js","sources":["../../../../src/components/ExpandingBox.tsx"],"sourcesContent":["\n\nimport { useState } from 'react';\nimport { Box, styled, Typography } from '@mui/material';\nimport { useTheme } from '../ThemeProvider';\nimport { AddBoxRounded, IndeterminateCheckBoxRounded } from '@mui/icons-material';\n\ninterface ExpandingBoxProps {\n term: string;\n content: string;\n}\n\nconst StyledWrapper = styled(Box)(({ theme }) => ({\n // No specific wrapper styles needed, just a container\n}));\n\nconst StyledParagraph = styled('span')(({ theme }) => ({\n fontSize: '14px', // text-[14px]\n color: theme.palette.dark.main, // text-[#4D3019]\n display: 'inline-flex',\n alignItems: 'center',\n}));\n\nconst StyledTermWrapper = styled(Box)<{ open: boolean }>(({ theme, open }) => ({\n position: 'relative',\n display: 'inline-flex',\n alignItems: 'center',\n cursor: 'pointer',\n marginLeft: theme.spacing(0.5), // ml-1\n paddingBottom: '1px', // style={{ paddingBottom: '1px' }}\n borderBottom: `2px solid ${theme.palette.dark.main}`, // border-b-2\n backgroundColor: theme.palette.background.default,\n}));\n\nconst StyledIconWrapper = styled(Box)(({ theme }) => ({\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n marginLeft: theme.spacing(0.5), // ml-1\n transition: 'color 0.2s', // transition-colors\n}));\n\nconst StyledExpandingBox = styled(Box)(({ theme }) => ({\n marginTop: theme.spacing(2), // mt-4\n padding: theme.spacing(2), // p-4\n borderRadius: (typeof theme.shape.borderRadius === 'string'\n ? parseInt(theme.shape.borderRadius, 10)\n : theme.shape.borderRadius || 4) * 2,\n border: `1px solid ${theme.palette.dark.main}`,\n backgroundColor: theme.palette.background.default,\n}));\n\nexport function ExpandingBox({ term, content }: ExpandingBoxProps) {\n const theme = useTheme();\n const [open, setOpen] = useState(false);\n\n return (\n <StyledWrapper>\n <StyledParagraph >\n <StyledTermWrapper onClick={() => setOpen(!open)} open={open}>\n {term}\n <StyledIconWrapper>\n {open ? (\n <IndeterminateCheckBoxRounded\n sx={{\n fontSize: 16,\n color: theme.palette.text.primary\n }}\n />\n ) : (\n <AddBoxRounded\n sx={{\n fontSize: 16,\n color: theme.palette.text.primary,\n }}\n />\n )}\n </StyledIconWrapper>\n </StyledTermWrapper>\n </StyledParagraph>\n {open && (\n <StyledExpandingBox>\n <Box\n sx={{\n fontSize: '14px',\n color: theme.palette.dark.main,\n lineHeight: 1.5,\n display: 'inline-block'\n }}\n dangerouslySetInnerHTML={{ __html: content }}\n />\n </StyledExpandingBox>\n )}\n </StyledWrapper>\n );\n}"],"names":["styled","Box","useTheme","useState","_jsxs","_jsx","IndeterminateCheckBoxRounded","AddBoxRounded"],"mappings":"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"}
|
|
@@ -18,7 +18,9 @@ const StyledDialog = material.styled(material.Dialog)(({ theme }) => ({
|
|
|
18
18
|
const NavButton = material.styled(material.IconButton)(({ theme }) => ({
|
|
19
19
|
width: 'auto',
|
|
20
20
|
height: '40px',
|
|
21
|
-
borderRadius:
|
|
21
|
+
borderRadius: (typeof theme.shape.borderRadius === 'string'
|
|
22
|
+
? parseInt(theme.shape.borderRadius, 10)
|
|
23
|
+
: theme.shape.borderRadius || 4) * 2,
|
|
22
24
|
border: `2px solid ${theme.palette.dark.main}`,
|
|
23
25
|
backgroundColor: theme.palette.light.main,
|
|
24
26
|
padding: theme.spacing(1, 2),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Modal.js","sources":["../../../../src/components/Modal.tsx"],"sourcesContent":["import React, { useState } from 'react';\nimport {\n Dialog,\n DialogContent,\n IconButton,\n Box,\n Typography,\n TextField,\n Checkbox,\n FormControlLabel,\n Alert as MuiAlert,\n Chip,\n styled,\n} from '@mui/material';\nimport { Button } from './Button';\nimport { CloseRounded, ErrorOutlineRounded, StickyNote2Rounded } from '@mui/icons-material';\n\n\ninterface ModalProps {\n isOpen: boolean;\n onClose: () => void;\n status: 'mandatory' | 'optional' | 'accepted' | 'action-required' | 'action-required-note' | 'accepted-note';\n description: string;\n defaultText: string;\n note?: string;\n acceptSuggestion?: boolean;\n onAcceptSuggestionChange?: (checked: boolean) => void;\n onSave?: () => void;\n onSubmit?: () => void;\n onDeclineWording?: () => void;\n onPrevious?: () => void;\n onNext?: () => void;\n currentPage?: number;\n totalPages?: number;\n}\n\n\nconst StyledDialog = styled(Dialog)(({ theme }) => ({\n '& .MuiDialog-paper': {\n color: theme.palette.background.default,\n borderRadius: theme.shape.borderRadius,\n maxWidth: '896px',\n width: '100%',\n maxHeight: '90vh',\n },\n}));\n\n\nconst NavButton = styled(IconButton)(({ theme }) => ({\n width: 'auto',\n height: '40px',\n borderRadius: 8,\n border: `2px solid ${theme.palette.dark.main}`,\n backgroundColor: theme.palette.light.main,\n padding: theme.spacing(1, 2),\n '&:hover': {\n backgroundColor: theme.palette.grey[100], // Changed from dark.main to grey[100]\n color: theme.palette.dark.main, // Keep text dark instead of light\n borderColor: theme.palette.dark.main, // Keep border dark\n },\n}));\n\n\n\nexport const Modal: React.FC<ModalProps> = ({\n isOpen,\n onClose,\n status,\n description,\n defaultText,\n note,\n acceptSuggestion: initialAcceptSuggestion = true,\n onAcceptSuggestionChange,\n onSave,\n onSubmit,\n onDeclineWording,\n onPrevious,\n onNext,\n currentPage = 1,\n totalPages = 1,\n}) => {\n const [textValue, setTextValue] = useState(defaultText);\n const [useDefaultValue, setUseDefaultValue] = useState(true);\n\n\n const handleUseDefaultValueChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n setUseDefaultValue(event.target.checked);\n };\n\n\n const statusConfig = {\n mandatory: {\n color: '#F5A623',\n label: 'Mandatory',\n },\n optional: {\n color: '#F5D76E',\n label: 'Optional',\n },\n accepted: {\n color: '#A3D977',\n label: 'Accepted',\n },\n 'action-required': {\n color: '#F56B6B',\n label: 'Action Required',\n },\n 'action-required-note': {\n color: '#F56B6B',\n label: 'Action Required',\n },\n 'accepted-note': {\n color: '#A3D977',\n label: 'Accepted',\n },\n };\n\n\n const statusStyle = statusConfig[status];\n\n\n return (\n <StyledDialog open={isOpen} onClose={onClose} maxWidth=\"md\" fullWidth>\n <IconButton\n onClick={onClose}\n sx={{\n position: 'absolute',\n top: 16,\n right: 16,\n zIndex: 1,\n }}\n >\n <CloseRounded sx={{ fontSize: 24 }} />\n </IconButton>\n\n\n <DialogContent sx={{ p: { xs: 3, sm: 4, md: 6 } }}>\n {/* Status Chip */}\n <Box sx={{ mb: 3 }}>\n <Chip\n label={statusStyle.label.toUpperCase()}\n sx={{\n backgroundColor: statusStyle.color,\n color: status === 'optional' || status === 'mandatory' ? '#4D3019' : '#fff',\n fontWeight: 600,\n fontSize: '0.875rem',\n height: 'auto',\n py: 1,\n borderRadius: 0,\n px: 2,\n }}\n />\n </Box>\n\n\n {/* Description */}\n <Typography sx={{ mb: 3, lineHeight: 1.6, whiteSpace: 'pre-line' }}>\n {description}\n </Typography>\n\n\n {/* Alerts */}\n {status === 'action-required-note' && note && (\n <MuiAlert\n icon={<ErrorOutlineRounded sx={{ fontSize: 20 }} />}\n severity=\"error\"\n sx={{\n mb: 2,\n backgroundColor: '#FDFCEE',\n borderLeft: '4px solid #F56B6B',\n '& .MuiAlert-icon': {\n color: '#F56B6B',\n },\n '& .MuiAlert-message': {\n color: '#4D3019',\n },\n }}\n >\n {note}\n </MuiAlert>\n )}\n\n\n {status === 'accepted-note' && note && (\n <MuiAlert\n icon={<StickyNote2Rounded sx={{ fontSize: 20 }} />}\n severity=\"warning\"\n sx={{\n mb: 2,\n backgroundColor: '#FDFCEE',\n borderLeft: '4px solid #F5D76E',\n '& .MuiAlert-icon': {\n color: '#F5A623',\n },\n '& .MuiAlert-message': {\n color: '#4D3019',\n },\n }}\n >\n {note}\n </MuiAlert>\n )}\n\n\n {/* Text Field */}\n <TextField\n multiline\n rows={6}\n fullWidth\n value={textValue}\n onChange={(e) => setTextValue(e.target.value)}\n disabled={useDefaultValue}\n sx={{\n mb: 2,\n '& .MuiOutlinedInput-root': {\n backgroundColor: useDefaultValue ? 'rgba(0, 0, 0, 0.05)' : '#fff',\n borderRadius: 2,\n },\n }}\n />\n\n\n {/* Checkbox */}\n <FormControlLabel\n control={\n <Checkbox\n checked={useDefaultValue}\n onChange={handleUseDefaultValueChange}\n sx={{\n color: '#AC46FF',\n '&.Mui-checked': {\n color: '#AC46FF',\n },\n }}\n />\n }\n label=\"Use Default Value\"\n sx={{ mb: 3 }}\n />\n\n\n {/* Footer with Buttons and Navigation */}\n <Box\n sx={{\n display: 'flex',\n flexDirection: { xs: 'column', sm: 'row' },\n alignItems: { xs: 'stretch', sm: 'center' },\n justifyContent: 'space-between',\n gap: 2,\n pt: 3,\n borderTop: '1px solid',\n borderColor: 'divider',\n }}\n >\n {/* Action Buttons */}\n <Box sx={{ display: 'flex', gap: 1.5, flexWrap: 'wrap' }}>\n <Button onClick={onSave} variant=\"outline\" size=\"md\">\n Save\n </Button>\n <Button onClick={onSubmit} variant=\"outline\" size=\"md\" sx={{\n backgroundColor: '#ac46ff52',\n '&:hover': {\n backgroundColor: '#ac46ff80', // Darker purple on hover\n }\n }}>\n Submit for review\n </Button>\n <Button onClick={onDeclineWording} variant=\"outline\" size=\"md\" sx={{\n backgroundColor: '#ff464652',\n '&:hover': {\n backgroundColor: '#ff464680', // Darker purple on hover\n }\n }}>\n Decline wording\n </Button>\n </Box>\n\n\n {/* Navigation */}\n <Box\n sx={{\n display: 'flex',\n alignItems: 'center',\n gap: 1.5,\n justifyContent: { xs: 'space-between', sm: 'flex-end' },\n }}\n >\n <Typography fontWeight={500} fontSize=\"1.125rem\">\n {currentPage}/{totalPages}\n </Typography>\n <NavButton onClick={onPrevious} aria-label=\"Previous\">\n <Typography sx={{ fontSize: 16, fontWeight: 500 }}>Previous</Typography>\n </NavButton>\n <NavButton onClick={onNext} aria-label=\"Next\">\n <Typography sx={{ fontSize: 16, fontWeight: 500 }}>Next</Typography>\n </NavButton>\n </Box>\n </Box>\n </DialogContent>\n </StyledDialog>\n );\n};\n"],"names":["styled","Dialog","IconButton","useState","_jsxs","_jsx","CloseRounded","DialogContent","Box","Chip","Typography","MuiAlert","ErrorOutlineRounded","StickyNote2Rounded","TextField","FormControlLabel","Checkbox","Button"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Modal.js","sources":["../../../../src/components/Modal.tsx"],"sourcesContent":["import React, { useState } from 'react';\nimport {\n Dialog,\n DialogContent,\n IconButton,\n Box,\n Typography,\n TextField,\n Checkbox,\n FormControlLabel,\n Alert as MuiAlert,\n Chip,\n styled,\n} from '@mui/material';\nimport { Button } from './Button';\nimport { CloseRounded, ErrorOutlineRounded, StickyNote2Rounded } from '@mui/icons-material';\n\n\ninterface ModalProps {\n isOpen: boolean;\n onClose: () => void;\n status: 'mandatory' | 'optional' | 'accepted' | 'action-required' | 'action-required-note' | 'accepted-note';\n description: string;\n defaultText: string;\n note?: string;\n acceptSuggestion?: boolean;\n onAcceptSuggestionChange?: (checked: boolean) => void;\n onSave?: () => void;\n onSubmit?: () => void;\n onDeclineWording?: () => void;\n onPrevious?: () => void;\n onNext?: () => void;\n currentPage?: number;\n totalPages?: number;\n}\n\n\nconst StyledDialog = styled(Dialog)(({ theme }) => ({\n '& .MuiDialog-paper': {\n color: theme.palette.background.default,\n borderRadius: theme.shape.borderRadius,\n maxWidth: '896px',\n width: '100%',\n maxHeight: '90vh',\n },\n}));\n\n\nconst NavButton = styled(IconButton)(({ theme }) => ({\n width: 'auto',\n height: '40px',\n borderRadius: (typeof theme.shape.borderRadius === 'string'\n ? parseInt(theme.shape.borderRadius, 10)\n : theme.shape.borderRadius || 4) * 2,\n border: `2px solid ${theme.palette.dark.main}`,\n backgroundColor: theme.palette.light.main,\n padding: theme.spacing(1, 2),\n '&:hover': {\n backgroundColor: theme.palette.grey[100], // Changed from dark.main to grey[100]\n color: theme.palette.dark.main, // Keep text dark instead of light\n borderColor: theme.palette.dark.main, // Keep border dark\n },\n}));\n\n\n\nexport const Modal: React.FC<ModalProps> = ({\n isOpen,\n onClose,\n status,\n description,\n defaultText,\n note,\n acceptSuggestion: initialAcceptSuggestion = true,\n onAcceptSuggestionChange,\n onSave,\n onSubmit,\n onDeclineWording,\n onPrevious,\n onNext,\n currentPage = 1,\n totalPages = 1,\n}) => {\n const [textValue, setTextValue] = useState(defaultText);\n const [useDefaultValue, setUseDefaultValue] = useState(true);\n\n\n const handleUseDefaultValueChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n setUseDefaultValue(event.target.checked);\n };\n\n\n const statusConfig = {\n mandatory: {\n color: '#F5A623',\n label: 'Mandatory',\n },\n optional: {\n color: '#F5D76E',\n label: 'Optional',\n },\n accepted: {\n color: '#A3D977',\n label: 'Accepted',\n },\n 'action-required': {\n color: '#F56B6B',\n label: 'Action Required',\n },\n 'action-required-note': {\n color: '#F56B6B',\n label: 'Action Required',\n },\n 'accepted-note': {\n color: '#A3D977',\n label: 'Accepted',\n },\n };\n\n\n const statusStyle = statusConfig[status];\n\n\n return (\n <StyledDialog open={isOpen} onClose={onClose} maxWidth=\"md\" fullWidth>\n <IconButton\n onClick={onClose}\n sx={{\n position: 'absolute',\n top: 16,\n right: 16,\n zIndex: 1,\n }}\n >\n <CloseRounded sx={{ fontSize: 24 }} />\n </IconButton>\n\n\n <DialogContent sx={{ p: { xs: 3, sm: 4, md: 6 } }}>\n {/* Status Chip */}\n <Box sx={{ mb: 3 }}>\n <Chip\n label={statusStyle.label.toUpperCase()}\n sx={{\n backgroundColor: statusStyle.color,\n color: status === 'optional' || status === 'mandatory' ? '#4D3019' : '#fff',\n fontWeight: 600,\n fontSize: '0.875rem',\n height: 'auto',\n py: 1,\n borderRadius: 0,\n px: 2,\n }}\n />\n </Box>\n\n\n {/* Description */}\n <Typography sx={{ mb: 3, lineHeight: 1.6, whiteSpace: 'pre-line' }}>\n {description}\n </Typography>\n\n\n {/* Alerts */}\n {status === 'action-required-note' && note && (\n <MuiAlert\n icon={<ErrorOutlineRounded sx={{ fontSize: 20 }} />}\n severity=\"error\"\n sx={{\n mb: 2,\n backgroundColor: '#FDFCEE',\n borderLeft: '4px solid #F56B6B',\n '& .MuiAlert-icon': {\n color: '#F56B6B',\n },\n '& .MuiAlert-message': {\n color: '#4D3019',\n },\n }}\n >\n {note}\n </MuiAlert>\n )}\n\n\n {status === 'accepted-note' && note && (\n <MuiAlert\n icon={<StickyNote2Rounded sx={{ fontSize: 20 }} />}\n severity=\"warning\"\n sx={{\n mb: 2,\n backgroundColor: '#FDFCEE',\n borderLeft: '4px solid #F5D76E',\n '& .MuiAlert-icon': {\n color: '#F5A623',\n },\n '& .MuiAlert-message': {\n color: '#4D3019',\n },\n }}\n >\n {note}\n </MuiAlert>\n )}\n\n\n {/* Text Field */}\n <TextField\n multiline\n rows={6}\n fullWidth\n value={textValue}\n onChange={(e) => setTextValue(e.target.value)}\n disabled={useDefaultValue}\n sx={{\n mb: 2,\n '& .MuiOutlinedInput-root': {\n backgroundColor: useDefaultValue ? 'rgba(0, 0, 0, 0.05)' : '#fff',\n borderRadius: 2,\n },\n }}\n />\n\n\n {/* Checkbox */}\n <FormControlLabel\n control={\n <Checkbox\n checked={useDefaultValue}\n onChange={handleUseDefaultValueChange}\n sx={{\n color: '#AC46FF',\n '&.Mui-checked': {\n color: '#AC46FF',\n },\n }}\n />\n }\n label=\"Use Default Value\"\n sx={{ mb: 3 }}\n />\n\n\n {/* Footer with Buttons and Navigation */}\n <Box\n sx={{\n display: 'flex',\n flexDirection: { xs: 'column', sm: 'row' },\n alignItems: { xs: 'stretch', sm: 'center' },\n justifyContent: 'space-between',\n gap: 2,\n pt: 3,\n borderTop: '1px solid',\n borderColor: 'divider',\n }}\n >\n {/* Action Buttons */}\n <Box sx={{ display: 'flex', gap: 1.5, flexWrap: 'wrap' }}>\n <Button onClick={onSave} variant=\"outline\" size=\"md\">\n Save\n </Button>\n <Button onClick={onSubmit} variant=\"outline\" size=\"md\" sx={{\n backgroundColor: '#ac46ff52',\n '&:hover': {\n backgroundColor: '#ac46ff80', // Darker purple on hover\n }\n }}>\n Submit for review\n </Button>\n <Button onClick={onDeclineWording} variant=\"outline\" size=\"md\" sx={{\n backgroundColor: '#ff464652',\n '&:hover': {\n backgroundColor: '#ff464680', // Darker purple on hover\n }\n }}>\n Decline wording\n </Button>\n </Box>\n\n\n {/* Navigation */}\n <Box\n sx={{\n display: 'flex',\n alignItems: 'center',\n gap: 1.5,\n justifyContent: { xs: 'space-between', sm: 'flex-end' },\n }}\n >\n <Typography fontWeight={500} fontSize=\"1.125rem\">\n {currentPage}/{totalPages}\n </Typography>\n <NavButton onClick={onPrevious} aria-label=\"Previous\">\n <Typography sx={{ fontSize: 16, fontWeight: 500 }}>Previous</Typography>\n </NavButton>\n <NavButton onClick={onNext} aria-label=\"Next\">\n <Typography sx={{ fontSize: 16, fontWeight: 500 }}>Next</Typography>\n </NavButton>\n </Box>\n </Box>\n </DialogContent>\n </StyledDialog>\n );\n};\n"],"names":["styled","Dialog","IconButton","useState","_jsxs","_jsx","CloseRounded","DialogContent","Box","Chip","Typography","MuiAlert","ErrorOutlineRounded","StickyNote2Rounded","TextField","FormControlLabel","Checkbox","Button"],"mappings":"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"}
|
|
@@ -43,7 +43,9 @@ const EditButton = material.styled(material.IconButton)(({ theme }) => ({
|
|
|
43
43
|
transform: 'translate(50%, -50%)',
|
|
44
44
|
width: 20,
|
|
45
45
|
height: 20,
|
|
46
|
-
borderRadius:
|
|
46
|
+
borderRadius: (typeof theme.shape.borderRadius === 'string'
|
|
47
|
+
? parseInt(theme.shape.borderRadius, 10)
|
|
48
|
+
: theme.shape.borderRadius || 4) * 2,
|
|
47
49
|
backgroundColor: '#4D3019',
|
|
48
50
|
opacity: 0,
|
|
49
51
|
transition: 'all 0.2s ease',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NoteBox.js","sources":["../../../../src/components/NoteBox.tsx"],"sourcesContent":["import React, { useState } from 'react';\nimport { Box, Typography, IconButton, styled } from '@mui/material';\nimport { EditRounded } from '@mui/icons-material';\n\n\ninterface NoteBoxProps {\n variant?: 'default' | 'mandatory' | 'optional' | 'pending' | 'accepted' | 'action-required' | 'custom';\n label?: string;\n children: React.ReactNode;\n className?: string;\n onEditClick?: () => void;\n}\n\n\nconst NoteContainer = styled(Box)({\n position: 'relative',\n maxWidth: '100%',\n});\n\nconst HighlightWrapper = styled(Box,{\n shouldForwardProp: (prop) => \n prop !== 'isHovered' && \n prop !== 'highlightColor' && \n prop !== 'highlightSelectedColor' && \n prop !== 'isCustom'\n})<{ \n isHovered: boolean; \n highlightColor: string; \n highlightSelectedColor: string;\n isCustom: boolean;\n}>(({ isHovered, highlightColor, highlightSelectedColor, isCustom }) => ({\n position: 'relative',\n display: 'inline-block', // Keep this as inline-block\n maxWidth: '100%',\n '&:hover .edit-button': {\n opacity: 1,\n },\n '& .highlight-span': {\n background: isCustom ? highlightColor : (isHovered ? highlightSelectedColor : highlightColor),\n padding: '2px 4px',\n borderBottom: '2px solid rgba(77, 48, 25, 0.3)',\n boxDecorationBreak: 'clone',\n WebkitBoxDecorationBreak: 'clone',\n transition: isCustom ? 'none' : 'background 0.2s ease',\n cursor: isCustom ? 'default' : 'pointer',\n fontSize: '13px',\n wordWrap: 'break-word',\n overflowWrap: 'break-word',\n display: 'inline',\n color: '#4D3019',\n },\n}));\n\nconst EditButton = styled(IconButton)(({ theme }) => ({\n position: 'absolute',\n top: 0,\n right: 0,\n transform: 'translate(50%, -50%)',\n width: 20,\n height: 20,\n borderRadius: 4,\n backgroundColor: '#4D3019',\n opacity: 0,\n transition: 'all 0.2s ease',\n boxShadow: '0 1px 3px rgba(0,0,0,0.12)',\n '&:hover': {\n backgroundColor: '#4D3019',\n transform: 'translate(50%, -50%) scale(1.1)',\n },\n}));\n\n\nexport const NoteBox: React.FC<NoteBoxProps> = ({\n variant = 'default',\n label,\n children,\n className = '',\n onEditClick,\n}) => {\n const [isHovered, setIsHovered] = useState(false);\n\n\n const variants = {\n default: {\n highlight: '#FFEACD',\n highlightSelected: '#FFC365',\n label: '',\n labelColor: '',\n },\n mandatory: {\n highlight: '#FFEACD',\n highlightSelected: '#FFC365',\n label: 'Not Answered (Mandatory)',\n labelColor: 'var(--color-secondary)',\n },\n optional: {\n highlight: '#FFF6D1',\n highlightSelected: '#FDE58E',\n label: 'Not Answered (Optional)',\n labelColor: 'var(--color-secondary)',\n },\n pending: {\n highlight: '#F5E2FF',\n highlightSelected: '#EBC7FF',\n label: 'Pending',\n labelColor: 'var(--color-secondary)',\n },\n accepted: {\n highlight: '#EDF9CD',\n highlightSelected: '#DBF59A',\n label: 'Accepted',\n labelColor: '#2D5016',\n },\n 'action-required': {\n highlight: '#FBEEEE',\n highlightSelected: '#FFBCB3',\n label: 'Action required before approval',\n labelColor: '#CC0000',\n },\n custom: {\n highlight: '#D9EDF8',\n highlightSelected: '#B3E0F2',\n label: 'Custom Text',\n labelColor: 'var(--color-secondary)',\n },\n };\n\n\n const style = variants[variant];\n const displayLabel = label || style.label;\n\n\n return (\n <NoteContainer className={className}>\n {displayLabel && (\n <Box sx={{ mb: 1 }}>\n <Typography\n component=\"span\"\n sx={{\n fontSize: '13px',\n fontWeight: 500,\n color: style.labelColor || 'rgba(0, 0, 0, 0.6)',\n }}\n >\n {displayLabel}\n </Typography>\n </Box>\n )}\n <HighlightWrapper\n isHovered={isHovered}\n highlightColor={style.highlight}\n highlightSelectedColor={style.highlightSelected}\n isCustom={variant === 'custom'}\n onMouseEnter={() => variant !== 'custom' && setIsHovered(true)}\n onMouseLeave={() => variant !== 'custom' && setIsHovered(false)}\n >\n <span className=\"highlight-span\">\n {children}\n </span>\n <EditButton\n className=\"edit-button\"\n onClick={(e) => {\n e.stopPropagation();\n if (onEditClick) {\n onEditClick();\n }\n }}\n title=\"Edit variable highlight\"\n size=\"small\"\n >\n <EditRounded sx={{fontSize:14, color:\"#FFFFFF\", strokeWidth:2}} />\n </EditButton>\n </HighlightWrapper>\n </NoteContainer>\n );\n};\n"],"names":["styled","Box","IconButton","useState","_jsxs","_jsx","Typography","EditRounded"],"mappings":";;;;;;;AAcA,MAAM,aAAa,GAAGA,eAAM,CAACC,YAAG,CAAC,CAAC;AAChC,IAAA,QAAQ,EAAE,UAAU;AACpB,IAAA,QAAQ,EAAE,MAAM;AACjB,CAAA,CAAC;AAEF,MAAM,gBAAgB,GAAGD,eAAM,CAACC,YAAG,EAAC;IAClC,iBAAiB,EAAE,CAAC,IAAI,KACtB,IAAI,KAAK,WAAW;AACpB,QAAA,IAAI,KAAK,gBAAgB;AACzB,QAAA,IAAI,KAAK,wBAAwB;AACjC,QAAA,IAAI,KAAK;AACZ,CAAA,CAAC,CAKC,CAAC,EAAE,SAAS,EAAE,cAAc,EAAE,sBAAsB,EAAE,QAAQ,EAAE,MAAM;AACvE,IAAA,QAAQ,EAAE,UAAU;IACpB,OAAO,EAAE,cAAc;AACvB,IAAA,QAAQ,EAAE,MAAM;AAChB,IAAA,sBAAsB,EAAE;AACtB,QAAA,OAAO,EAAE,CAAC;AACX,KAAA;AACD,IAAA,mBAAmB,EAAE;AACnB,QAAA,UAAU,EAAE,QAAQ,GAAG,cAAc,IAAI,SAAS,GAAG,sBAAsB,GAAG,cAAc,CAAC;AAC7F,QAAA,OAAO,EAAE,SAAS;AAClB,QAAA,YAAY,EAAE,iCAAiC;AAC/C,QAAA,kBAAkB,EAAE,OAAO;AAC3B,QAAA,wBAAwB,EAAE,OAAO;QACjC,UAAU,EAAE,QAAQ,GAAG,MAAM,GAAG,sBAAsB;QACtD,MAAM,EAAE,QAAQ,GAAG,SAAS,GAAG,SAAS;AACxC,QAAA,QAAQ,EAAE,MAAM;AAChB,QAAA,QAAQ,EAAE,YAAY;AACtB,QAAA,YAAY,EAAE,YAAY;AAC1B,QAAA,OAAO,EAAE,QAAQ;AACjB,QAAA,KAAK,EAAE,SAAS;AACjB,KAAA;AACF,CAAA,CAAC,CAAC;AAEH,MAAM,UAAU,GAAGD,eAAM,CAACE,mBAAU,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM;AACpD,IAAA,QAAQ,EAAE,UAAU;AACpB,IAAA,GAAG,EAAE,CAAC;AACN,IAAA,KAAK,EAAE,CAAC;AACR,IAAA,SAAS,EAAE,sBAAsB;AACjC,IAAA,KAAK,EAAE,EAAE;AACT,IAAA,MAAM,EAAE,EAAE;
|
|
1
|
+
{"version":3,"file":"NoteBox.js","sources":["../../../../src/components/NoteBox.tsx"],"sourcesContent":["import React, { useState } from 'react';\nimport { Box, Typography, IconButton, styled } from '@mui/material';\nimport { EditRounded } from '@mui/icons-material';\n\n\ninterface NoteBoxProps {\n variant?: 'default' | 'mandatory' | 'optional' | 'pending' | 'accepted' | 'action-required' | 'custom';\n label?: string;\n children: React.ReactNode;\n className?: string;\n onEditClick?: () => void;\n}\n\n\nconst NoteContainer = styled(Box)({\n position: 'relative',\n maxWidth: '100%',\n});\n\nconst HighlightWrapper = styled(Box,{\n shouldForwardProp: (prop) => \n prop !== 'isHovered' && \n prop !== 'highlightColor' && \n prop !== 'highlightSelectedColor' && \n prop !== 'isCustom'\n})<{ \n isHovered: boolean; \n highlightColor: string; \n highlightSelectedColor: string;\n isCustom: boolean;\n}>(({ isHovered, highlightColor, highlightSelectedColor, isCustom }) => ({\n position: 'relative',\n display: 'inline-block', // Keep this as inline-block\n maxWidth: '100%',\n '&:hover .edit-button': {\n opacity: 1,\n },\n '& .highlight-span': {\n background: isCustom ? highlightColor : (isHovered ? highlightSelectedColor : highlightColor),\n padding: '2px 4px',\n borderBottom: '2px solid rgba(77, 48, 25, 0.3)',\n boxDecorationBreak: 'clone',\n WebkitBoxDecorationBreak: 'clone',\n transition: isCustom ? 'none' : 'background 0.2s ease',\n cursor: isCustom ? 'default' : 'pointer',\n fontSize: '13px',\n wordWrap: 'break-word',\n overflowWrap: 'break-word',\n display: 'inline',\n color: '#4D3019',\n },\n}));\n\nconst EditButton = styled(IconButton)(({ theme }) => ({\n position: 'absolute',\n top: 0,\n right: 0,\n transform: 'translate(50%, -50%)',\n width: 20,\n height: 20,\n borderRadius: (typeof theme.shape.borderRadius === 'string'\n ? parseInt(theme.shape.borderRadius, 10)\n : theme.shape.borderRadius || 4) * 2,\n backgroundColor: '#4D3019',\n opacity: 0,\n transition: 'all 0.2s ease',\n boxShadow: '0 1px 3px rgba(0,0,0,0.12)',\n '&:hover': {\n backgroundColor: '#4D3019',\n transform: 'translate(50%, -50%) scale(1.1)',\n },\n}));\n\n\nexport const NoteBox: React.FC<NoteBoxProps> = ({\n variant = 'default',\n label,\n children,\n className = '',\n onEditClick,\n}) => {\n const [isHovered, setIsHovered] = useState(false);\n\n\n const variants = {\n default: {\n highlight: '#FFEACD',\n highlightSelected: '#FFC365',\n label: '',\n labelColor: '',\n },\n mandatory: {\n highlight: '#FFEACD',\n highlightSelected: '#FFC365',\n label: 'Not Answered (Mandatory)',\n labelColor: 'var(--color-secondary)',\n },\n optional: {\n highlight: '#FFF6D1',\n highlightSelected: '#FDE58E',\n label: 'Not Answered (Optional)',\n labelColor: 'var(--color-secondary)',\n },\n pending: {\n highlight: '#F5E2FF',\n highlightSelected: '#EBC7FF',\n label: 'Pending',\n labelColor: 'var(--color-secondary)',\n },\n accepted: {\n highlight: '#EDF9CD',\n highlightSelected: '#DBF59A',\n label: 'Accepted',\n labelColor: '#2D5016',\n },\n 'action-required': {\n highlight: '#FBEEEE',\n highlightSelected: '#FFBCB3',\n label: 'Action required before approval',\n labelColor: '#CC0000',\n },\n custom: {\n highlight: '#D9EDF8',\n highlightSelected: '#B3E0F2',\n label: 'Custom Text',\n labelColor: 'var(--color-secondary)',\n },\n };\n\n\n const style = variants[variant];\n const displayLabel = label || style.label;\n\n\n return (\n <NoteContainer className={className}>\n {displayLabel && (\n <Box sx={{ mb: 1 }}>\n <Typography\n component=\"span\"\n sx={{\n fontSize: '13px',\n fontWeight: 500,\n color: style.labelColor || 'rgba(0, 0, 0, 0.6)',\n }}\n >\n {displayLabel}\n </Typography>\n </Box>\n )}\n <HighlightWrapper\n isHovered={isHovered}\n highlightColor={style.highlight}\n highlightSelectedColor={style.highlightSelected}\n isCustom={variant === 'custom'}\n onMouseEnter={() => variant !== 'custom' && setIsHovered(true)}\n onMouseLeave={() => variant !== 'custom' && setIsHovered(false)}\n >\n <span className=\"highlight-span\">\n {children}\n </span>\n <EditButton\n className=\"edit-button\"\n onClick={(e) => {\n e.stopPropagation();\n if (onEditClick) {\n onEditClick();\n }\n }}\n title=\"Edit variable highlight\"\n size=\"small\"\n >\n <EditRounded sx={{fontSize:14, color:\"#FFFFFF\", strokeWidth:2}} />\n </EditButton>\n </HighlightWrapper>\n </NoteContainer>\n );\n};\n"],"names":["styled","Box","IconButton","useState","_jsxs","_jsx","Typography","EditRounded"],"mappings":"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"}
|
|
@@ -96,28 +96,23 @@ const Sidebar = ({ isOpen, onToggle, centreName = "Centre name goes here \n acro
|
|
|
96
96
|
const hasChildren = item.items && item.items.length > 0;
|
|
97
97
|
const isExpanded = expandedPolicies.includes(item.id);
|
|
98
98
|
const paddingLeft = 8 + (depth * 2);
|
|
99
|
-
return (jsxRuntime.jsxs(material.Box, { children: [jsxRuntime.jsx(material.Box, { sx: { display: 'flex', alignItems: 'stretch' }, children: jsxRuntime.jsxs(material.ListItemButton, { disableRipple: true,
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
}
|
|
103
|
-
if (hasChildren) {
|
|
104
|
-
togglePolicyItem(item.id);
|
|
105
|
-
}
|
|
106
|
-
}, sx: {
|
|
107
|
-
flex: hasChildren ? 1 : 'auto',
|
|
108
|
-
width: hasChildren ? 'auto' : '100%',
|
|
99
|
+
return (jsxRuntime.jsxs(material.Box, { children: [jsxRuntime.jsx(material.Box, { sx: { display: 'flex', alignItems: 'stretch' }, children: jsxRuntime.jsxs(material.ListItemButton, { disableRipple: true, sx: {
|
|
100
|
+
flex: 1,
|
|
101
|
+
width: '100%',
|
|
109
102
|
pl: paddingLeft,
|
|
110
103
|
marginRight: '8px',
|
|
111
104
|
py: 1.25,
|
|
112
105
|
borderRadius: `0 ${theme.shape.borderRadius}px ${theme.shape.borderRadius}px 0`,
|
|
106
|
+
// Highlight if expanded
|
|
113
107
|
'&:hover': {
|
|
114
108
|
backgroundColor: isExpanded ? `${theme.palette.primary.main}1F` : `${theme.palette.primary.main}0D`,
|
|
115
109
|
},
|
|
116
110
|
backgroundColor: isExpanded ? `${theme.palette.primary.main}1A` : 'transparent',
|
|
117
|
-
}, children: [jsxRuntime.jsx(material.
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
111
|
+
}, children: [jsxRuntime.jsx(material.Box, { sx: {
|
|
112
|
+
cursor: 'pointer',
|
|
113
|
+
flex: 1
|
|
114
|
+
}, onClick: () => window.location.href = item.url, children: jsxRuntime.jsx(material.ListItemText, { primary: item.title, primaryTypographyProps: { fontSize: '0.875rem' } }) }), hasChildren && (jsxRuntime.jsx(material.IconButton, { onClick: (e) => {
|
|
115
|
+
e.stopPropagation();
|
|
121
116
|
togglePolicyItem(item.id);
|
|
122
117
|
}, disableRipple: true, children: jsxRuntime.jsx(iconsMaterial.ChevronRightRounded, { sx: {
|
|
123
118
|
fontSize: 16,
|
|
@@ -148,39 +143,43 @@ const Sidebar = ({ isOpen, onToggle, centreName = "Centre name goes here \n acro
|
|
|
148
143
|
borderBottom: `1px solid ${theme.palette.dark.main}1A`,
|
|
149
144
|
flexShrink: 0,
|
|
150
145
|
position: 'relative',
|
|
146
|
+
display: 'flex',
|
|
147
|
+
flexDirection: 'row',
|
|
148
|
+
alignItems: 'center',
|
|
151
149
|
}, children: [jsxRuntime.jsx(material.Typography, { variant: "h6", sx: {
|
|
152
150
|
fontSize: '18px',
|
|
153
151
|
fontWeight: 700,
|
|
154
152
|
color: '#4D3019',
|
|
155
153
|
lineHeight: 1.3,
|
|
156
154
|
whiteSpace: 'pre-line',
|
|
157
|
-
|
|
158
|
-
|
|
155
|
+
flex: 1,
|
|
156
|
+
pr: 2,
|
|
157
|
+
}, children: centreName }), jsxRuntime.jsx(ToggleButton, { onClick: onToggle, sx: { ml: 'auto' }, "aria-label": "Collapse sidebar", children: jsxRuntime.jsx(iconsMaterial.KeyboardDoubleArrowLeftRounded, { sx: { fontSize: 20 } }) })] })), !isOpen && (jsxRuntime.jsx(material.Box, { sx: {
|
|
159
158
|
px: 1,
|
|
160
159
|
py: 3,
|
|
161
160
|
borderBottom: `1px solid ${theme.palette.dark.main}1A`,
|
|
162
161
|
display: 'flex',
|
|
163
162
|
justifyContent: 'center',
|
|
164
|
-
}, children: jsxRuntime.jsx(ToggleButton, { onClick: onToggle, "aria-label": "Expand sidebar", children: jsxRuntime.jsx(iconsMaterial.
|
|
163
|
+
}, children: jsxRuntime.jsx(ToggleButton, { onClick: onToggle, "aria-label": "Expand sidebar", children: jsxRuntime.jsx(iconsMaterial.KeyboardDoubleArrowRightRounded, { sx: { fontSize: 20 } }) }) })), jsxRuntime.jsx(material.Box, { sx: {
|
|
165
164
|
flex: 1,
|
|
166
165
|
overflowY: 'auto',
|
|
167
166
|
px: isOpen ? 0 : 1,
|
|
168
167
|
py: 3,
|
|
169
|
-
}, children: jsxRuntime.jsxs(material.List, { sx: { p: 0 }, children: [
|
|
170
|
-
if (!isOpen)
|
|
168
|
+
}, children: jsxRuntime.jsxs(material.List, { sx: { p: 0 }, children: [jsxRuntime.jsx(material.Box, { sx: { mb: 1 }, children: jsxRuntime.jsxs(MenuItemButton, { disableRipple: true, isOpen: isOpen, onClick: () => {
|
|
169
|
+
if (!isOpen)
|
|
171
170
|
onToggle();
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
}, isActive: window.location.href.includes(item.id), title: !isOpen ? item.label : undefined, children: [jsxRuntime.jsx(IconWrapper, { isOpen: isOpen, sx: { ml: isOpen ? 2 : 0 }, children: item.icon }), isOpen && (jsxRuntime.jsx(material.ListItemText, { primary: item.label, primaryTypographyProps: {
|
|
176
|
-
fontSize: '1rem',
|
|
177
|
-
fontWeight: 700,
|
|
178
|
-
}, sx: { flex: 1, ml: 1 } }))] }) }, item.id))), policies.length > 0 && (jsxRuntime.jsxs(material.Box, { sx: { mb: 1 }, children: [jsxRuntime.jsxs(MenuItemButton, { disableRipple: true, isOpen: isOpen, onClick: () => {
|
|
171
|
+
toggleItem(menuItems[0].id);
|
|
172
|
+
window.location.href = menuItems[0].id;
|
|
173
|
+
}, isActive: window.location.href.includes(menuItems[0].id), title: !isOpen ? menuItems[0].label : undefined, children: [jsxRuntime.jsx(IconWrapper, { isOpen: isOpen, sx: { ml: isOpen ? 2 : 0 }, children: menuItems[0].icon }), isOpen && (jsxRuntime.jsx(material.ListItemText, { primary: menuItems[0].label, primaryTypographyProps: { fontSize: '1rem', fontWeight: 700 }, sx: { flex: 1, ml: 1 } }))] }) }, menuItems[0].id), policies.length > 0 && (jsxRuntime.jsxs(material.Box, { sx: { mb: 1 }, children: [jsxRuntime.jsxs(MenuItemButton, { disableRipple: true, isOpen: isOpen, onClick: () => {
|
|
179
174
|
toggleItem('policies');
|
|
180
|
-
}, isActive: expandedItems.includes('policies'), title: !isOpen ? 'Policies' : undefined, children: [jsxRuntime.jsx(IconWrapper, { isOpen: isOpen, sx: { ml: isOpen ? 2 : 0 }, children: jsxRuntime.jsx(iconsMaterial.
|
|
181
|
-
fontSize: '1rem',
|
|
182
|
-
|
|
183
|
-
|
|
175
|
+
}, isActive: expandedItems.includes('policies'), title: !isOpen ? 'Policies' : undefined, children: [jsxRuntime.jsx(IconWrapper, { isOpen: isOpen, sx: { ml: isOpen ? 2 : 0 }, children: jsxRuntime.jsx(iconsMaterial.ArticleRounded, { sx: { fontSize: 28, color: "#4D3019" } }) }), isOpen && (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx(material.ListItemText, { primary: "Policies", primaryTypographyProps: {
|
|
176
|
+
fontSize: '1rem', fontWeight: 700
|
|
177
|
+
}, sx: { flex: 1, ml: 1 } }), jsxRuntime.jsx(material.Box, { sx: { display: 'flex', alignItems: 'center', height: '100%' }, children: expandedItems.includes('policies') ? (jsxRuntime.jsx(iconsMaterial.ExpandLessRounded, { sx: { fontSize: 20, color: "#4D3019" } })) : (jsxRuntime.jsx(iconsMaterial.ExpandMoreRounded, { sx: { fontSize: 20, color: "#4D3019" } })) })] }))] }), expandedItems.includes('policies') && isOpen && (jsxRuntime.jsx(material.Collapse, { in: true, timeout: "auto", children: jsxRuntime.jsx(material.List, { sx: { p: 0, mt: 0.5 }, children: renderPolicyItems(policies) }) }))] })), jsxRuntime.jsx(material.Box, { sx: { mb: 1 }, children: jsxRuntime.jsxs(MenuItemButton, { disableRipple: true, isOpen: isOpen, onClick: () => {
|
|
178
|
+
if (!isOpen)
|
|
179
|
+
onToggle();
|
|
180
|
+
toggleItem(menuItems[1].id);
|
|
181
|
+
window.location.href = menuItems[1].id;
|
|
182
|
+
}, isActive: window.location.href.includes(menuItems[1].id), title: !isOpen ? menuItems[1].label : undefined, children: [jsxRuntime.jsx(IconWrapper, { isOpen: isOpen, sx: { ml: isOpen ? 2 : 0 }, children: menuItems[1].icon }), isOpen && (jsxRuntime.jsx(material.ListItemText, { primary: menuItems[1].label, primaryTypographyProps: { fontSize: '1rem', fontWeight: 700 }, sx: { flex: 1, ml: 1 } }))] }) }, menuItems[1].id)] }) })] }) })] }));
|
|
184
183
|
};
|
|
185
184
|
|
|
186
185
|
exports.Sidebar = Sidebar;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Sidebar.js","sources":["../../../../src/components/Sidebar.tsx"],"sourcesContent":["import React, { useState } from 'react';\nimport { Box, IconButton, Typography, List, ListItemButton, ListItemText, Collapse, styled } from '@mui/material';\nimport { useTheme } from '../ThemeProvider';\nimport { ChevronLeftRounded, ChevronRightRounded, ExpandLessRounded, ExpandMoreRounded, HelpCenterRounded, HomeRounded, TextSnippetRounded } from '@mui/icons-material';\n\n// PolicyItem and SidebarProps interfaces as before\ninterface PolicyItem {\n title: string;\n id: number;\n newpage: boolean;\n url: string;\n items?: PolicyItem[];\n}\n\ninterface SidebarProps {\n isOpen: boolean;\n onToggle: () => void;\n centreName?: string;\n policies?: PolicyItem[];\n}\n\ninterface MenuItem {\n id: string;\n label: string;\n icon: React.ReactNode;\n}\n\nconst SidebarContainer = styled(Box, {\n shouldForwardProp: (prop) => prop !== 'isOpen',\n})<{ isOpen: boolean }>(({ theme, isOpen }) => ({\n height: '100vh',\n position: 'sticky',\n top: 0,\n paddingLeft: 0,\n overflow: 'hidden',\n backgroundColor: '#fff',\n borderRight: `1px solid ${theme.palette.dark.main}1A`,\n flexShrink: 0,\n transition: 'all 0.3s ease-in-out',\n width: isOpen ? '288px' : '64px',\n zIndex: 50,\n [theme.breakpoints.down('md')]: {\n position: 'fixed',\n left: isOpen ? 0 : '-288px',\n width: '288px',\n },\n [theme.breakpoints.up('sm')]: {\n width: isOpen ? '288px' : '80px',\n },\n}));\n\nconst ToggleButton = styled(IconButton)(({ theme }) => ({\n width: 40,\n height: 40,\n borderRadius: theme.shape.borderRadius,\n backgroundColor: '#4D3019',\n color: '#fff',\n '&:hover': {\n backgroundColor: '#3d2614',\n },\n}));\n\nconst MenuItemButton = styled(ListItemButton, {\n shouldForwardProp: (prop) => prop !== 'isOpen' && prop !== 'isActive'\n})<{ isActive?: boolean; isOpen: boolean }>(({ theme, isActive, isOpen }) => ({\n borderRadius: isOpen \n ? `0 ${theme.shape.borderRadius}px ${theme.shape.borderRadius}px 0`\n : theme.shape.borderRadius,\n paddingLeft: 0,\n paddingRight: isOpen ? theme.spacing(2) : 0,\n marginRight: isOpen ? 8 : 0,\n minHeight: 64,\n justifyContent: isOpen ? 'flex-start' : 'center',\n backgroundClip: 'padding-box',\n backgroundOrigin: 'border-box',\n '&:hover': {\n backgroundColor: `${theme.palette.primary.main}0D`,\n },\n ...(isActive && {\n backgroundColor: `${theme.palette.primary.main}1A`,\n '&:hover': {\n backgroundColor: `${theme.palette.primary.main}1A`,\n }\n }),\n}));\n\nconst IconWrapper = styled(Box, {\n shouldForwardProp: (prop) => prop !== 'isOpen'\n})<{ isOpen: boolean }>(({ theme, isOpen }) => ({\n width: isOpen ? 32 : 40,\n height: isOpen ? 32 : 40,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n backgroundColor: 'transparent'\n}));\n\nexport const Sidebar: React.FC<SidebarProps> = ({\n isOpen,\n onToggle,\n centreName = \"Centre name goes here \\n across two lines\",\n policies = []\n}) => {\n const theme = useTheme();\n const [expandedItems, setExpandedItems] = useState<string[]>([]);\n const [expandedPolicies, setExpandedPolicies] = useState<number[]>([]);\n\n const togglePolicyItem = (itemId: number) => {\n setExpandedPolicies((prev) =>\n prev.includes(itemId) ? prev.filter((id) => id !== itemId) : [...prev, itemId]\n );\n };\n\n const menuItems: MenuItem[] = [\n {\n id: '/dashboard',\n label: 'Dashboard',\n icon: <HomeRounded sx={{ fontSize: 28, color: \"#4D3019\" }} />,\n },\n {\n id: '/support',\n label: 'Support',\n icon: <HelpCenterRounded sx={{ fontSize: 28, color: \"#4D3019\" }} />,\n },\n ];\n\n const renderPolicyItems = (items: PolicyItem[], depth: number = 0): React.ReactNode => {\n return items.map((item) => {\n const hasChildren = item.items && item.items.length > 0;\n const isExpanded = expandedPolicies.includes(item.id);\n const paddingLeft = 8 + (depth * 2);\n\n return (\n <Box key={item.id}>\n <Box sx={{ display: 'flex', alignItems: 'stretch' }}>\n <ListItemButton\n disableRipple \n onClick={() => {\n if (!hasChildren) {\n window.location.href = item.url\n }\n if (hasChildren) {\n togglePolicyItem(item.id);\n }\n }}\n sx={{\n flex: hasChildren ? 1 : 'auto',\n width: hasChildren ? 'auto' : '100%',\n pl: paddingLeft,\n marginRight:'8px',\n py: 1.25,\n borderRadius: `0 ${theme.shape.borderRadius}px ${theme.shape.borderRadius}px 0`,\n '&:hover': {\n backgroundColor: isExpanded ? `${theme.palette.primary.main}1F` : `${theme.palette.primary.main}0D`,\n },\n backgroundColor: isExpanded ? `${theme.palette.primary.main}1A` : 'transparent',\n }}\n >\n <ListItemText\n primary={item.title}\n primaryTypographyProps={{\n fontSize: '0.875rem',\n }}\n />\n {hasChildren && (\n <IconButton\n onClick={(e) => {\n e.stopPropagation(); // Prevent parent click\n togglePolicyItem(item.id);\n }}\n disableRipple\n >\n <ChevronRightRounded\n sx={{\n fontSize: 16,\n color: '#4D3019',\n transition: 'transform 0.2s',\n transform: isExpanded ? 'rotate(90deg)' : 'rotate(0deg)',\n }}\n />\n </IconButton>\n )}\n </ListItemButton>\n </Box>\n\n {hasChildren && isExpanded && (\n <Collapse in={true} timeout=\"auto\">\n <List sx={{ p: 0, mt: 0.5 }}>\n {renderPolicyItems(item.items!, depth + 1)}\n </List>\n </Collapse>\n )}\n </Box>\n );\n });\n };\n\n const toggleItem = (itemId: string) => {\n if (!isOpen) {\n onToggle();\n setExpandedItems([itemId]);\n } else {\n setExpandedItems((prev) =>\n prev.includes(itemId) ? prev.filter((id) => id !== itemId) : [...prev, itemId]\n );\n }\n };\n\n return (\n <>\n {isOpen && (\n <Box\n sx={{\n position: 'fixed',\n inset: 0,\n bgcolor: 'rgba(0, 0, 0, 0.5)',\n zIndex: 40,\n display: { xs: 'block', md: 'none' },\n }}\n onClick={onToggle}\n />\n )}\n <SidebarContainer isOpen={isOpen}>\n <Box sx={{ display: 'flex', flexDirection: 'column', height: '100%' }}>\n {isOpen && (\n <Box\n sx={{\n px: 2,\n py: 3,\n borderBottom: `1px solid ${theme.palette.dark.main}1A`,\n flexShrink: 0,\n position: 'relative',\n }}\n >\n <Typography\n variant=\"h6\"\n sx={{\n fontSize: '18px',\n fontWeight: 700,\n color: '#4D3019',\n lineHeight: 1.3,\n whiteSpace: 'pre-line',\n pr: 7,\n }}\n >\n {centreName}\n </Typography>\n\n <ToggleButton\n onClick={onToggle}\n sx={{ position: 'absolute', top: 24, right: 16 }}\n aria-label=\"Collapse sidebar\"\n >\n <ChevronLeftRounded sx={{ fontSize: 20 }} />\n </ToggleButton>\n </Box>\n )}\n\n {!isOpen && (\n <Box\n sx={{\n px: 1,\n py: 3,\n borderBottom: `1px solid ${theme.palette.dark.main}1A`,\n display: 'flex',\n justifyContent: 'center',\n }}\n >\n <ToggleButton onClick={onToggle} aria-label=\"Expand sidebar\">\n <ChevronRightRounded sx={{ fontSize: 20 }} />\n </ToggleButton>\n </Box>\n )}\n\n <Box\n sx={{\n flex: 1,\n overflowY: 'auto',\n px: isOpen ? 0 : 1,\n py: 3,\n }}\n >\n <List sx={{ p: 0 }}>\n {menuItems.map((item) => (\n <Box key={item.id} sx={{ mb: 1 }}>\n <MenuItemButton\n disableRipple\n isOpen={isOpen}\n onClick={() => {\n if (!isOpen) {\n onToggle();\n }\n toggleItem(item.id)\n window.location.href=item.id\n }}\n isActive={window.location.href.includes(item.id)}\n title={!isOpen ? item.label : undefined}\n >\n <IconWrapper isOpen={isOpen} sx={{ ml: isOpen ? 2 : 0 }} >\n {item.icon}\n </IconWrapper>\n {isOpen && (\n <ListItemText\n primary={item.label}\n primaryTypographyProps={{\n fontSize: '1rem',\n fontWeight: 700,\n }}\n sx={{ flex: 1, ml: 1 }}\n />\n )}\n </MenuItemButton>\n </Box>\n ))}\n\n {/* Dynamic Policies Section */}\n {policies.length > 0 && (\n <Box sx={{ mb: 1 }}>\n <MenuItemButton\n disableRipple\n isOpen={isOpen}\n onClick={() => {\n toggleItem('policies');\n }}\n isActive={expandedItems.includes('policies')}\n title={!isOpen ? 'Policies' : undefined}\n >\n <IconWrapper isOpen={isOpen} sx={{ml: isOpen ? 2 : 0}}>\n <TextSnippetRounded sx={{ fontSize: 28, color: \"#4D3019\" }} />\n </IconWrapper>\n {isOpen && (\n <>\n <ListItemText\n primary=\"Policies\"\n primaryTypographyProps={{\n fontSize: '1rem',\n fontWeight: 700,\n }}\n sx={{ flex: 1, ml: 1 }}\n />\n <Box sx={{ display: 'flex', alignItems: 'center', height: '100%' }}>\n {expandedItems.includes('policies') ? (\n <ExpandLessRounded sx={{ fontSize: 20, color: \"#4D3019\" }} />\n ) : (\n <ExpandMoreRounded sx={{ fontSize: 20, color: \"#4D3019\" }} />\n )}\n </Box>\n </>\n )}\n </MenuItemButton>\n\n {expandedItems.includes('policies') && isOpen && (\n <Collapse in={true} timeout=\"auto\">\n <List sx={{ p: 0, mt: 0.5 }}>\n {renderPolicyItems(policies)}\n </List>\n </Collapse>\n )}\n </Box>\n )}\n </List>\n </Box>\n </Box>\n </SidebarContainer>\n </>\n );\n};"],"names":["styled","Box","IconButton","ListItemButton","useTheme","useState","_jsx","HomeRounded","HelpCenterRounded","_jsxs","ListItemText","ChevronRightRounded","Collapse","List","Typography","ChevronLeftRounded","TextSnippetRounded","_Fragment","ExpandLessRounded","ExpandMoreRounded"],"mappings":";;;;;;;;AA2BA,MAAM,gBAAgB,GAAGA,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;AAC5D,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;KACF,CAAC;AACH,CAAA,CAAC,CAAC;AAEH,MAAM,WAAW,GAAGH,eAAM,CAACC,YAAG,EAAE;IAC9B,iBAAiB,EAAE,CAAC,IAAI,KAAK,IAAI,KAAK;CACvC,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;AAClB,CAAA,CAAC,CAAC;AAEI,MAAM,OAAO,GAA2B,CAAC,EAC9C,MAAM,EACN,QAAQ,EACR,UAAU,GAAG,2CAA2C,EACxD,QAAQ,GAAG,EAAE,EACd,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,MAAc,KAAI;AAC1C,QAAA,mBAAmB,CAAC,CAAC,IAAI,KACvB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC,CAC/E;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;AACD,QAAA;AACE,YAAA,EAAE,EAAE,UAAU;AACd,YAAA,KAAK,EAAE,SAAS;AAChB,YAAA,IAAI,EAAED,cAAA,CAACE,+BAAiB,EAAA,EAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,EAAA,CAAI;AACpE,SAAA;KACF;IAED,MAAM,iBAAiB,GAAG,CAAC,KAAmB,EAAE,KAAA,GAAgB,CAAC,KAAqB;AACpF,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;YACrD,MAAM,WAAW,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC;YAEnC,QACEC,eAAA,CAACR,YAAG,EAAA,EAAA,QAAA,EAAA,CACFK,cAAA,CAACL,YAAG,EAAA,EAAC,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,EAAA,QAAA,EACjDQ,eAAA,CAACN,uBAAc,EAAA,EACb,aAAa,EAAA,IAAA,EACb,OAAO,EAAE,MAAK;gCACZ,IAAI,CAAC,WAAW,EAAE;oCAChB,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG;gCACjC;gCACA,IAAI,WAAW,EAAE;AACf,oCAAA,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC;gCAC3B;4BACF,CAAC,EACD,EAAE,EAAE;gCACF,IAAI,EAAE,WAAW,GAAG,CAAC,GAAG,MAAM;gCAC9B,KAAK,EAAE,WAAW,GAAG,MAAM,GAAG,MAAM;AACpC,gCAAA,EAAE,EAAE,WAAW;AACf,gCAAA,WAAW,EAAC,KAAK;AACjB,gCAAA,EAAE,EAAE,IAAI;AACR,gCAAA,YAAY,EAAE,CAAA,EAAA,EAAK,KAAK,CAAC,KAAK,CAAC,YAAY,CAAA,GAAA,EAAM,KAAK,CAAC,KAAK,CAAC,YAAY,CAAA,IAAA,CAAM;AAC/E,gCAAA,SAAS,EAAE;oCACT,eAAe,EAAE,UAAU,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAA,EAAA,CAAI,GAAG,CAAA,EAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAA,EAAA,CAAI;AACpG,iCAAA;AACD,gCAAA,eAAe,EAAE,UAAU,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,IAAI,GAAG,aAAa;6BAChF,EAAA,QAAA,EAAA,CAEDG,cAAA,CAACI,qBAAY,EAAA,EACX,OAAO,EAAE,IAAI,CAAC,KAAK,EACnB,sBAAsB,EAAE;AACtB,wCAAA,QAAQ,EAAE,UAAU;AACrB,qCAAA,EAAA,CACD,EACD,WAAW,KACVJ,cAAA,CAACJ,mBAAU,EAAA,EACT,OAAO,EAAE,CAAC,CAAC,KAAI;AACb,wCAAA,CAAC,CAAC,eAAe,EAAE,CAAC;AACpB,wCAAA,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC;AAC3B,oCAAA,CAAC,EACD,aAAa,EAAA,IAAA,EAAA,QAAA,EAEbI,eAACK,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,EAEL,WAAW,IAAI,UAAU,KACxBL,cAAA,CAACM,iBAAQ,IAAC,EAAE,EAAE,IAAI,EAAE,OAAO,EAAC,MAAM,EAAA,QAAA,EAChCN,cAAA,CAACO,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,EA1DO,IAAI,CAAC,EAAE,CA2DX;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;AACL,YAAA,gBAAgB,CAAC,CAAC,IAAI,KACpB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC,CAC/E;QACH;AACF,IAAA,CAAC;IAED,QACEJ,kDACG,MAAM,KACLH,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,EAC9BG,gBAACR,YAAG,EAAA,EAAC,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,EAAA,QAAA,EAAA,CAClE,MAAM,KACLQ,gBAACR,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;6BACrB,EAAA,QAAA,EAAA,CAEDK,cAAA,CAACQ,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,EAAE,EAAE,CAAC;qCACN,EAAA,QAAA,EAEA,UAAU,GACA,EAEbR,cAAA,CAAC,YAAY,EAAA,EACX,OAAO,EAAE,QAAQ,EACjB,EAAE,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,gBACrC,kBAAkB,EAAA,QAAA,EAE7BA,cAAA,CAACS,gCAAkB,EAAA,EAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAA,CAAI,GAC/B,CAAA,EAAA,CACX,CACP,EAEA,CAAC,MAAM,KACNT,cAAA,CAACL,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,CAACK,iCAAmB,EAAA,EAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAA,CAAI,EAAA,CAChC,EAAA,CACX,CACP,EAEDL,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;6BACN,EAAA,QAAA,EAEDQ,eAAA,CAACI,aAAI,EAAA,EAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,aACf,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,MAClBP,cAAA,CAACL,YAAG,EAAA,EAAe,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,YAC9BQ,eAAA,CAAC,cAAc,IACb,aAAa,EAAA,IAAA,EACb,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAK;gDACZ,IAAI,CAAC,MAAM,EAAE;AACX,oDAAA,QAAQ,EAAE;gDACZ;AACA,gDAAA,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;gDACnB,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAC,IAAI,CAAC,EAAE;AAC9B,4CAAA,CAAC,EACD,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,EAChD,KAAK,EAAE,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,GAAG,SAAS,EAAA,QAAA,EAAA,CAEvCH,cAAA,CAAC,WAAW,IAAC,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,GAAG,CAAC,GAAG,CAAC,EAAE,EAAA,QAAA,EACpD,IAAI,CAAC,IAAI,EAAA,CACE,EACb,MAAM,KACLA,cAAA,CAACI,qBAAY,EAAA,EACX,OAAO,EAAE,IAAI,CAAC,KAAK,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,EAAA,CACtB,CACH,CAAA,EAAA,CACc,EAAA,EA3BT,IAAI,CAAC,EAAE,CA4BX,CACP,CAAC,EAGD,QAAQ,CAAC,MAAM,GAAG,CAAC,KAClBD,eAAA,CAACR,YAAG,EAAA,EAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAA,QAAA,EAAA,CAChBQ,gBAAC,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,CAEvCH,cAAA,CAAC,WAAW,EAAA,EAAC,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,EAAC,EAAE,EAAE,MAAM,GAAG,CAAC,GAAG,CAAC,EAAC,EAAA,QAAA,EACnDA,cAAA,CAACU,gCAAkB,EAAA,EAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,EAAA,CAAI,EAAA,CAClD,EACb,MAAM,KACLP,eAAA,CAAAQ,mBAAA,EAAA,EAAA,QAAA,EAAA,CACEX,cAAA,CAACI,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,EACFJ,cAAA,CAACL,YAAG,EAAA,EAAC,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,EAAA,QAAA,EAC/D,aAAa,CAAC,QAAQ,CAAC,UAAU,CAAC,IACjCK,cAAA,CAACY,+BAAiB,EAAA,EAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,EAAA,CAAI,KAE7DZ,cAAA,CAACa,+BAAiB,IAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,EAAA,CAAI,CAC9D,EAAA,CACG,CAAA,EAAA,CACL,CACJ,IACc,EAEhB,aAAa,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,MAAM,KAC3Cb,cAAA,CAACM,iBAAQ,EAAA,EAAC,EAAE,EAAE,IAAI,EAAE,OAAO,EAAC,MAAM,EAAA,QAAA,EAChCN,cAAA,CAACO,aAAI,EAAA,EAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,EAAA,QAAA,EACxB,iBAAiB,CAAC,QAAQ,CAAC,EAAA,CACvB,GACE,CACZ,CAAA,EAAA,CACG,CACP,CAAA,EAAA,CACI,EAAA,CACH,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';\nimport { Box, IconButton, Typography, List, ListItemButton, ListItemText, Collapse, styled } from '@mui/material';\nimport { useTheme } from '../ThemeProvider';\nimport { ArticleRounded, ChevronLeftRounded, ChevronRightRounded, ExpandLessRounded, ExpandMoreRounded, HelpCenterRounded, HomeRounded, KeyboardDoubleArrowLeftRounded, KeyboardDoubleArrowRightRounded, SupportAgentRounded, TextSnippetRounded } from '@mui/icons-material';\n\n// PolicyItem and SidebarProps interfaces as before\ninterface PolicyItem {\n title: string;\n id: number;\n newpage: boolean;\n url: string;\n items?: PolicyItem[];\n}\n\ninterface SidebarProps {\n isOpen: boolean;\n onToggle: () => void;\n centreName?: string;\n policies?: PolicyItem[];\n}\n\ninterface MenuItem {\n id: string;\n label: string;\n icon: React.ReactNode;\n}\n\nconst SidebarContainer = styled(Box, {\n shouldForwardProp: (prop) => prop !== 'isOpen',\n})<{ isOpen: boolean }>(({ theme, isOpen }) => ({\n height: '100vh',\n position: 'sticky',\n top: 0,\n paddingLeft: 0,\n overflow: 'hidden',\n backgroundColor: '#fff',\n borderRight: `1px solid ${theme.palette.dark.main}1A`,\n flexShrink: 0,\n transition: 'all 0.3s ease-in-out',\n width: isOpen ? '288px' : '64px',\n zIndex: 50,\n [theme.breakpoints.down('md')]: {\n position: 'fixed',\n left: isOpen ? 0 : '-288px',\n width: '288px',\n },\n [theme.breakpoints.up('sm')]: {\n width: isOpen ? '288px' : '80px',\n },\n}));\n\nconst ToggleButton = styled(IconButton)(({ theme }) => ({\n width: 40,\n height: 40,\n borderRadius: theme.shape.borderRadius,\n backgroundColor: '#4D3019',\n color: '#fff',\n '&:hover': {\n backgroundColor: '#3d2614',\n },\n}));\n\nconst MenuItemButton = styled(ListItemButton, {\n shouldForwardProp: (prop) => prop !== 'isOpen' && prop !== 'isActive'\n})<{ isActive?: boolean; isOpen: boolean }>(({ theme, isActive, isOpen }) => ({\n borderRadius: isOpen \n ? `0 ${theme.shape.borderRadius}px ${theme.shape.borderRadius}px 0`\n : theme.shape.borderRadius,\n paddingLeft: 0,\n paddingRight: isOpen ? theme.spacing(2) : 0,\n marginRight: isOpen ? 8 : 0,\n minHeight: 64,\n justifyContent: isOpen ? 'flex-start' : 'center',\n backgroundClip: 'padding-box',\n backgroundOrigin: 'border-box',\n '&:hover': {\n backgroundColor: `${theme.palette.primary.main}0D`,\n },\n ...(isActive && {\n backgroundColor: `${theme.palette.primary.main}1A`,\n '&:hover': {\n backgroundColor: `${theme.palette.primary.main}1A`,\n }\n }),\n}));\n\nconst IconWrapper = styled(Box, {\n shouldForwardProp: (prop) => prop !== 'isOpen'\n})<{ isOpen: boolean }>(({ theme, isOpen }) => ({\n width: isOpen ? 32 : 40,\n height: isOpen ? 32 : 40,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n backgroundColor: 'transparent'\n}));\n\nexport const Sidebar: React.FC<SidebarProps> = ({\n isOpen,\n onToggle,\n centreName = \"Centre name goes here \\n across two lines\",\n policies = []\n}) => {\n const theme = useTheme();\n const [expandedItems, setExpandedItems] = useState<string[]>([]);\n const [expandedPolicies, setExpandedPolicies] = useState<number[]>([]);\n\n const togglePolicyItem = (itemId: number) => {\n setExpandedPolicies((prev) =>\n prev.includes(itemId) ? prev.filter((id) => id !== itemId) : [...prev, itemId]\n );\n };\n\n const menuItems: MenuItem[] = [\n {\n id: '/dashboard',\n label: 'Dashboard',\n icon: <HomeRounded sx={{ fontSize: 28, color: \"#4D3019\" }} />,\n },\n {\n id: '/support',\n label: 'Support',\n icon: <HelpCenterRounded sx={{ fontSize: 28, color: \"#4D3019\" }} />,\n },\n ];\n\n const renderPolicyItems = (items: PolicyItem[], depth: number = 0): React.ReactNode => {\n return items.map((item) => {\n const hasChildren = item.items && item.items.length > 0;\n const isExpanded = expandedPolicies.includes(item.id);\n const paddingLeft = 8 + (depth * 2);\n\n return (\n <Box key={item.id}>\n <Box sx={{ display: 'flex', alignItems: 'stretch' }}>\n <ListItemButton\n disableRipple\n sx={{\n flex: 1,\n width: '100%',\n pl: paddingLeft,\n marginRight:'8px',\n py: 1.25,\n borderRadius: `0 ${theme.shape.borderRadius}px ${theme.shape.borderRadius}px 0`,\n // Highlight if expanded\n '&:hover': {\n backgroundColor: isExpanded ? `${theme.palette.primary.main}1F` : `${theme.palette.primary.main}0D`,\n },\n backgroundColor: isExpanded ? `${theme.palette.primary.main}1A` : 'transparent',\n }}\n >\n {/* Make the text a button/anchor */}\n <Box\n sx={{\n cursor: 'pointer',\n flex: 1\n }}\n onClick={() => window.location.href = item.url}\n >\n <ListItemText\n primary={item.title}\n primaryTypographyProps={{ fontSize: '0.875rem' }}\n />\n </Box>\n {/* The chevron expands/collapses the section */}\n {hasChildren && (\n <IconButton\n onClick={(e) => {\n e.stopPropagation();\n togglePolicyItem(item.id);\n }}\n disableRipple\n >\n <ChevronRightRounded\n sx={{\n fontSize: 16,\n color: '#4D3019',\n transition: 'transform 0.2s',\n transform: isExpanded ? 'rotate(90deg)' : 'rotate(0deg)',\n }}\n />\n </IconButton>\n )}\n </ListItemButton>\n </Box>\n {hasChildren && isExpanded && (\n <Collapse in={true} timeout=\"auto\">\n <List sx={{ p: 0, mt: 0.5 }}>\n {renderPolicyItems(item.items!, depth + 1)}\n </List>\n </Collapse>\n )}\n </Box>\n );\n });\n };\n\n const toggleItem = (itemId: string) => {\n if (!isOpen) {\n onToggle();\n setExpandedItems([itemId]);\n } else {\n setExpandedItems((prev) =>\n prev.includes(itemId) ? prev.filter((id) => id !== itemId) : [...prev, itemId]\n );\n }\n };\n\n return (\n <>\n {isOpen && (\n <Box\n sx={{\n position: 'fixed',\n inset: 0,\n bgcolor: 'rgba(0, 0, 0, 0.5)',\n zIndex: 40,\n display: { xs: 'block', md: 'none' },\n }}\n onClick={onToggle}\n />\n )}\n <SidebarContainer isOpen={isOpen}>\n <Box sx={{ display: 'flex', flexDirection: 'column', height: '100%' }}>\n {isOpen && (\n <Box\n sx={{\n px: 2,\n py: 3,\n borderBottom: `1px solid ${theme.palette.dark.main}1A`,\n flexShrink: 0,\n position: 'relative',\n display: 'flex',\n flexDirection: 'row', \n alignItems: 'center', \n }}\n >\n <Typography\n variant=\"h6\"\n sx={{\n fontSize: '18px',\n fontWeight: 700,\n color: '#4D3019',\n lineHeight: 1.3,\n whiteSpace: 'pre-line',\n flex: 1,\n pr: 2,\n }}\n >\n {centreName}\n </Typography>\n\n <ToggleButton\n onClick={onToggle}\n sx={{ ml: 'auto' }}\n aria-label=\"Collapse sidebar\"\n >\n <KeyboardDoubleArrowLeftRounded sx={{ fontSize: 20 }} />\n </ToggleButton>\n </Box>\n )}\n\n {!isOpen && (\n <Box\n sx={{\n px: 1,\n py: 3,\n borderBottom: `1px solid ${theme.palette.dark.main}1A`,\n display: 'flex',\n justifyContent: 'center',\n }}\n >\n <ToggleButton onClick={onToggle} aria-label=\"Expand sidebar\">\n <KeyboardDoubleArrowRightRounded sx={{ fontSize: 20 }} />\n </ToggleButton>\n </Box>\n )}\n\n <Box\n sx={{\n flex: 1,\n overflowY: 'auto',\n px: isOpen ? 0 : 1,\n py: 3,\n }}\n >\n <List sx={{ p: 0 }}>\n {/* Dashboard menu item */}\n <Box key={menuItems[0].id} sx={{ mb: 1 }}>\n <MenuItemButton\n disableRipple\n isOpen={isOpen}\n onClick={() => {\n if (!isOpen) onToggle();\n toggleItem(menuItems[0].id);\n window.location.href = menuItems[0].id;\n }}\n isActive={window.location.href.includes(menuItems[0].id)}\n title={!isOpen ? menuItems[0].label : undefined}\n >\n <IconWrapper isOpen={isOpen} sx={{ ml: isOpen ? 2 : 0 }}>\n {menuItems[0].icon}\n </IconWrapper>\n {isOpen && (\n <ListItemText\n primary={menuItems[0].label}\n primaryTypographyProps={{ fontSize: '1rem', fontWeight: 700 }}\n sx={{ flex: 1, ml: 1 }}\n />\n )}\n </MenuItemButton>\n </Box>\n\n {policies.length > 0 && (\n <Box sx={{ mb: 1 }}>\n <MenuItemButton\n disableRipple\n isOpen={isOpen}\n onClick={() => {\n toggleItem('policies');\n }}\n isActive={expandedItems.includes('policies')}\n title={!isOpen ? 'Policies' : undefined}\n >\n <IconWrapper isOpen={isOpen} sx={{ ml: isOpen ? 2 : 0 }}>\n <ArticleRounded sx={{ fontSize: 28, color: \"#4D3019\" }} />\n </IconWrapper>\n {isOpen && (\n <>\n <ListItemText\n primary=\"Policies\"\n primaryTypographyProps={{\n fontSize: '1rem', fontWeight: 700\n }}\n sx={{ flex: 1, ml: 1 }}\n />\n <Box sx={{ display: 'flex', alignItems: 'center', height: '100%' }}>\n {expandedItems.includes('policies') ? (\n <ExpandLessRounded sx={{ fontSize: 20, color: \"#4D3019\" }} />\n ) : (\n <ExpandMoreRounded sx={{ fontSize: 20, color: \"#4D3019\" }} />\n )}\n </Box>\n </>\n )}\n </MenuItemButton>\n {expandedItems.includes('policies') && isOpen && (\n <Collapse in={true} timeout=\"auto\">\n <List sx={{ p: 0, mt: 0.5 }}>\n {renderPolicyItems(policies)}\n </List>\n </Collapse>\n )}\n </Box>\n )}\n\n {/* Support menu item */}\n <Box key={menuItems[1].id} sx={{ mb: 1 }}>\n <MenuItemButton\n disableRipple\n isOpen={isOpen}\n onClick={() => {\n if (!isOpen) onToggle();\n toggleItem(menuItems[1].id);\n window.location.href = menuItems[1].id;\n }}\n isActive={window.location.href.includes(menuItems[1].id)}\n title={!isOpen ? menuItems[1].label : undefined}\n >\n <IconWrapper isOpen={isOpen} sx={{ ml: isOpen ? 2 : 0 }}>\n {menuItems[1].icon}\n </IconWrapper>\n {isOpen && (\n <ListItemText\n primary={menuItems[1].label}\n primaryTypographyProps={{ fontSize: '1rem', fontWeight: 700 }}\n sx={{ flex: 1, ml: 1 }}\n />\n )}\n </MenuItemButton>\n </Box>\n </List>\n </Box>\n </Box>\n </SidebarContainer>\n </>\n );\n};"],"names":["styled","Box","IconButton","ListItemButton","useTheme","useState","_jsx","HomeRounded","HelpCenterRounded","_jsxs","ListItemText","ChevronRightRounded","Collapse","List","Typography","KeyboardDoubleArrowLeftRounded","KeyboardDoubleArrowRightRounded","ArticleRounded","_Fragment","ExpandLessRounded","ExpandMoreRounded"],"mappings":";;;;;;;;AA2BA,MAAM,gBAAgB,GAAGA,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;AAC5D,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;KACF,CAAC;AACH,CAAA,CAAC,CAAC;AAEH,MAAM,WAAW,GAAGH,eAAM,CAACC,YAAG,EAAE;IAC9B,iBAAiB,EAAE,CAAC,IAAI,KAAK,IAAI,KAAK;CACvC,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;AAClB,CAAA,CAAC,CAAC;AAEI,MAAM,OAAO,GAA2B,CAAC,EAC9C,MAAM,EACN,QAAQ,EACR,UAAU,GAAG,2CAA2C,EACxD,QAAQ,GAAG,EAAE,EACd,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,MAAc,KAAI;AAC1C,QAAA,mBAAmB,CAAC,CAAC,IAAI,KACvB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC,CAC/E;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;AACD,QAAA;AACE,YAAA,EAAE,EAAE,UAAU;AACd,YAAA,KAAK,EAAE,SAAS;AAChB,YAAA,IAAI,EAAED,cAAA,CAACE,+BAAiB,EAAA,EAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,EAAA,CAAI;AACpE,SAAA;KACF;IAED,MAAM,iBAAiB,GAAG,CAAC,KAAmB,EAAE,KAAA,GAAgB,CAAC,KAAqB;AACpF,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;YACrD,MAAM,WAAW,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC;YAEnC,QACEC,eAAA,CAACR,YAAG,EAAA,EAAA,QAAA,EAAA,CACFK,cAAA,CAACL,YAAG,EAAA,EAAC,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,EAAA,QAAA,EACjDQ,eAAA,CAACN,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,EAAC,KAAK;AACjB,gCAAA,EAAE,EAAE,IAAI;AACR,gCAAA,YAAY,EAAE,CAAA,EAAA,EAAK,KAAK,CAAC,KAAK,CAAC,YAAY,CAAA,GAAA,EAAM,KAAK,CAAC,KAAK,CAAC,YAAY,CAAA,IAAA,CAAM;;AAE/E,gCAAA,SAAS,EAAE;oCACT,eAAe,EAAE,UAAU,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAA,EAAA,CAAI,GAAG,CAAA,EAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAA,EAAA,CAAI;AACpG,iCAAA;AACD,gCAAA,eAAe,EAAE,UAAU,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,IAAI,GAAG,aAAa;AAChF,6BAAA,EAAA,QAAA,EAAA,CAGDG,cAAA,CAACL,YAAG,EAAA,EACF,EAAE,EAAE;AACF,wCAAA,MAAM,EAAE,SAAS;AACjB,wCAAA,IAAI,EAAE;qCACP,EACD,OAAO,EAAE,MAAM,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,EAAA,QAAA,EAE9CK,cAAA,CAACI,qBAAY,EAAA,EACX,OAAO,EAAE,IAAI,CAAC,KAAK,EACnB,sBAAsB,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,GAChD,EAAA,CACE,EAEL,WAAW,KACVJ,eAACJ,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,EAAA,QAAA,EAEbI,eAACK,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,KACxBL,cAAA,CAACM,iBAAQ,IAAC,EAAE,EAAE,IAAI,EAAE,OAAO,EAAC,MAAM,EAAA,QAAA,EAChCN,cAAA,CAACO,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,EA1DO,IAAI,CAAC,EAAE,CA2DX;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;AACL,YAAA,gBAAgB,CAAC,CAAC,IAAI,KACpB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC,CAC/E;QACH;AACF,IAAA,CAAC;IAED,QACEJ,kDACG,MAAM,KACLH,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,EAC9BG,gBAACR,YAAG,EAAA,EAAC,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,EAAA,QAAA,EAAA,CAClE,MAAM,KACLQ,gBAACR,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,CAACQ,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,EAEbR,eAAC,YAAY,EAAA,EACX,OAAO,EAAE,QAAQ,EACjB,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,EAAA,YAAA,EACP,kBAAkB,EAAA,QAAA,EAE7BA,cAAA,CAACS,4CAA8B,EAAA,EAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,GAAI,EAAA,CAC3C,CAAA,EAAA,CACX,CACP,EAEA,CAAC,MAAM,KACNT,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,CAACU,6CAA+B,EAAA,EAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAA,CAAI,EAAA,CAC5C,EAAA,CACX,CACP,EAEDV,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,EAEHQ,eAAA,CAACI,aAAI,EAAA,EAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAA,QAAA,EAAA,CAEhBP,cAAA,CAACL,YAAG,EAAA,EAAuB,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAA,QAAA,EACtCQ,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,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE;AACxC,4CAAA,CAAC,EACD,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EACxD,KAAK,EAAE,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,SAAS,EAAA,QAAA,EAAA,CAE/CH,cAAA,CAAC,WAAW,EAAA,EAAC,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,eAACI,qBAAY,EAAA,EACX,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,EAC3B,sBAAsB,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,EAC7D,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAA,CACtB,CACH,CAAA,EAAA,CACc,IAtBT,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAuBnB,EAEL,QAAQ,CAAC,MAAM,GAAG,CAAC,KAClBD,eAAA,CAACR,YAAG,EAAA,EAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAA,QAAA,EAAA,CAChBQ,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,CAEvCH,cAAA,CAAC,WAAW,EAAA,EAAC,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,GAAG,CAAC,GAAG,CAAC,EAAE,EAAA,QAAA,EACrDA,cAAA,CAACW,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,CACEZ,cAAA,CAACI,qBAAY,IACX,OAAO,EAAC,UAAU,EAClB,sBAAsB,EAAE;AACtB,oEAAA,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE;AAC/B,iEAAA,EACD,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAA,CACtB,EACFJ,cAAA,CAACL,YAAG,EAAA,EAAC,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,EAAA,QAAA,EAC/D,aAAa,CAAC,QAAQ,CAAC,UAAU,CAAC,IACjCK,cAAA,CAACa,+BAAiB,EAAA,EAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,EAAA,CAAI,KAE7Db,cAAA,CAACc,+BAAiB,EAAA,EAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,EAAA,CAAI,CAC9D,EAAA,CACG,CAAA,EAAA,CACL,CACJ,CAAA,EAAA,CACc,EAChB,aAAa,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,MAAM,KAC3Cd,cAAA,CAACM,iBAAQ,EAAA,EAAC,EAAE,EAAE,IAAI,EAAE,OAAO,EAAC,MAAM,EAAA,QAAA,EAChCN,cAAA,CAACO,aAAI,EAAA,EAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,EAAA,QAAA,EACxB,iBAAiB,CAAC,QAAQ,CAAC,EAAA,CACvB,EAAA,CACE,CACZ,IACG,CACP,EAGDP,cAAA,CAACL,YAAG,IAAuB,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAA,QAAA,EACtCQ,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,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE;4CACxC,CAAC,EACD,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EACxD,KAAK,EAAE,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,SAAS,EAAA,QAAA,EAAA,CAE/CH,cAAA,CAAC,WAAW,EAAA,EAAC,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,GAAG,CAAC,GAAG,CAAC,EAAE,EAAA,QAAA,EACpD,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,EAAA,CACN,EACb,MAAM,KACLA,cAAA,CAACI,qBAAY,EAAA,EACX,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,EAC3B,sBAAsB,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,EAC7D,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAA,CACtB,CACH,CAAA,EAAA,CACc,EAAA,EAtBT,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAuBnB,CAAA,EAAA,CACD,EAAA,CACD,CAAA,EAAA,CACF,EAAA,CACW,CAAA,EAAA,CAClB;AAEP;;;;"}
|