ece-docs-components 1.0.0 → 1.0.2
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/ThemeProvider.d.ts +93 -6
- package/dist/ThemeProvider.d.ts.map +1 -1
- package/dist/components/Modal.d.ts +1 -0
- package/dist/components/Modal.d.ts.map +1 -1
- package/dist/index.d.ts +0 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.esm.js +46 -100
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +46 -146
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
package/dist/index.js
CHANGED
|
@@ -1,33 +1,4 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var styles = require('@mui/material/styles');
|
|
4
|
-
var jsxRuntime = require('react/jsx-runtime');
|
|
5
|
-
var utils = require('@mui/utils');
|
|
6
|
-
var React = require('react');
|
|
7
|
-
var material = require('@mui/material');
|
|
8
|
-
var iconsMaterial = require('@mui/icons-material');
|
|
9
|
-
|
|
10
|
-
function _interopNamespaceDefault(e) {
|
|
11
|
-
var n = Object.create(null);
|
|
12
|
-
if (e) {
|
|
13
|
-
Object.keys(e).forEach(function (k) {
|
|
14
|
-
if (k !== 'default') {
|
|
15
|
-
var d = Object.getOwnPropertyDescriptor(e, k);
|
|
16
|
-
Object.defineProperty(n, k, d.get ? d : {
|
|
17
|
-
enumerable: true,
|
|
18
|
-
get: function () { return e[k]; }
|
|
19
|
-
});
|
|
20
|
-
}
|
|
21
|
-
});
|
|
22
|
-
}
|
|
23
|
-
n.default = e;
|
|
24
|
-
return Object.freeze(n);
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
var React__namespace = /*#__PURE__*/_interopNamespaceDefault(React);
|
|
28
|
-
|
|
29
|
-
// Base MUI theme configuration (shared across all themes)
|
|
30
|
-
const baseTheme = styles.createTheme({
|
|
1
|
+
'use strict';var styles=require('@mui/material/styles'),jsxRuntime=require('react/jsx-runtime'),utils=require('@mui/utils'),React=require('react'),material=require('@mui/material'),iconsMaterial=require('@mui/icons-material');function _interopNamespaceDefault(e){var n=Object.create(null);if(e){Object.keys(e).forEach(function(k){if(k!=='default'){var d=Object.getOwnPropertyDescriptor(e,k);Object.defineProperty(n,k,d.get?d:{enumerable:true,get:function(){return e[k]}});}})}n.default=e;return Object.freeze(n)}var React__namespace=/*#__PURE__*/_interopNamespaceDefault(React);const baseTheme = styles.createTheme({
|
|
31
2
|
typography: {
|
|
32
3
|
fontFamily: ['Inter', '-apple-system', 'BlinkMacSystemFont', 'Segoe UI', 'Roboto', 'sans-serif'].join(','),
|
|
33
4
|
},
|
|
@@ -37,7 +8,7 @@ const baseTheme = styles.createTheme({
|
|
|
37
8
|
body: {
|
|
38
9
|
WebkitFontSmoothing: 'antialiased',
|
|
39
10
|
MozOsxFontSmoothing: 'grayscale',
|
|
40
|
-
backgroundColor: '#FDFCEE',
|
|
11
|
+
backgroundColor: '#FDFCEE',
|
|
41
12
|
},
|
|
42
13
|
'input[type="checkbox"], input[type="radio"]': {
|
|
43
14
|
accentColor: theme.palette.secondary.main,
|
|
@@ -55,9 +26,9 @@ const baseTheme = styles.createTheme({
|
|
|
55
26
|
},
|
|
56
27
|
},
|
|
57
28
|
});
|
|
58
|
-
//
|
|
59
|
-
const
|
|
60
|
-
default:
|
|
29
|
+
// Store only the configuration overrides, not full themes
|
|
30
|
+
const themeConfigs = {
|
|
31
|
+
default: {
|
|
61
32
|
palette: {
|
|
62
33
|
primary: { main: '#AD46FF' },
|
|
63
34
|
secondary: { main: '#D79AFC' },
|
|
@@ -74,9 +45,9 @@ const muiThemes = {
|
|
|
74
45
|
tabBackgroundColor: '#F8F0FC',
|
|
75
46
|
},
|
|
76
47
|
},
|
|
77
|
-
appName: 'ECE Docs',
|
|
78
|
-
}
|
|
79
|
-
school:
|
|
48
|
+
appName: 'ECE Docs',
|
|
49
|
+
},
|
|
50
|
+
school: {
|
|
80
51
|
palette: {
|
|
81
52
|
primary: { main: '#386e41' },
|
|
82
53
|
secondary: { main: '#8fc790' },
|
|
@@ -89,9 +60,9 @@ const muiThemes = {
|
|
|
89
60
|
stepIndicatorTextColor: '#FFFFFF',
|
|
90
61
|
},
|
|
91
62
|
},
|
|
92
|
-
appName: 'School Docs',
|
|
93
|
-
}
|
|
94
|
-
health:
|
|
63
|
+
appName: 'School Docs',
|
|
64
|
+
},
|
|
65
|
+
health: {
|
|
95
66
|
palette: {
|
|
96
67
|
primary: { main: '#4871cf' },
|
|
97
68
|
secondary: { main: '#a4d6ff' },
|
|
@@ -108,13 +79,19 @@ const muiThemes = {
|
|
|
108
79
|
tabBackgroundColor: '#a4d6ff',
|
|
109
80
|
},
|
|
110
81
|
},
|
|
111
|
-
appName: 'GP Docs',
|
|
112
|
-
}
|
|
82
|
+
appName: 'GP Docs',
|
|
83
|
+
},
|
|
84
|
+
};
|
|
85
|
+
// Create themes on-demand using useMemo
|
|
86
|
+
const createMuiTheme = (key) => {
|
|
87
|
+
return styles.createTheme(utils.deepmerge(baseTheme, themeConfigs[key]));
|
|
113
88
|
};
|
|
114
89
|
const ThemeContext = React__namespace.createContext(undefined);
|
|
115
90
|
const ThemeProvider = ({ children }) => {
|
|
116
91
|
const [currentTheme, setCurrentTheme] = React__namespace.useState('default');
|
|
117
|
-
|
|
92
|
+
// Create theme on-demand, memoized
|
|
93
|
+
const theme = React__namespace.useMemo(() => createMuiTheme(currentTheme), [currentTheme]);
|
|
94
|
+
return (jsxRuntime.jsx(ThemeContext.Provider, { value: { currentTheme, setTheme: setCurrentTheme, theme }, children: jsxRuntime.jsx(styles.ThemeProvider, { theme: theme, children: children }) }));
|
|
118
95
|
};
|
|
119
96
|
const useTheme = () => {
|
|
120
97
|
const context = React__namespace.useContext(ThemeContext);
|
|
@@ -122,9 +99,7 @@ const useTheme = () => {
|
|
|
122
99
|
throw new Error('useTheme must be used within a ThemeProvider');
|
|
123
100
|
}
|
|
124
101
|
return context;
|
|
125
|
-
};
|
|
126
|
-
|
|
127
|
-
const StyledButton = styles.styled(material.Button, {
|
|
102
|
+
};const StyledButton = styles.styled(material.Button, {
|
|
128
103
|
shouldForwardProp: (prop) => prop !== 'customVariant' && prop !== 'customSize',
|
|
129
104
|
})(({ theme, customVariant, customSize }) => {
|
|
130
105
|
const currentTheme = theme.palette;
|
|
@@ -223,9 +198,7 @@ const StyledButton = styles.styled(material.Button, {
|
|
|
223
198
|
});
|
|
224
199
|
const Button = ({ variant = 'primary', size = 'md', children, fullWidth = false, ...props }) => {
|
|
225
200
|
return (jsxRuntime.jsx(StyledButton, { customVariant: variant, customSize: size, fullWidth: fullWidth, disableRipple: true, ...props, children: children }));
|
|
226
|
-
};
|
|
227
|
-
|
|
228
|
-
const InputWrapper = material.styled('div')(({ theme }) => ({
|
|
201
|
+
};const InputWrapper = material.styled('div')(({ theme }) => ({
|
|
229
202
|
width: '100%',
|
|
230
203
|
}));
|
|
231
204
|
const StyledLabel$1 = material.styled(material.InputLabel)(({ theme }) => ({
|
|
@@ -292,9 +265,7 @@ const StyledTextField$1 = material.styled(material.TextField, {
|
|
|
292
265
|
const Input = ({ error, fullWidth = false, id, label, ...props }) => {
|
|
293
266
|
const inputId = id || `input-${Math.random().toString(36).substr(2, 9)}`;
|
|
294
267
|
return (jsxRuntime.jsxs(InputWrapper, { sx: { ...(!fullWidth && { width: 'auto' }) }, children: [label && (jsxRuntime.jsx(StyledLabel$1, { htmlFor: inputId, children: label })), jsxRuntime.jsx(StyledTextField$1, { id: inputId, error: !!error, helperText: error || props.helperText, errorMessage: error, fullWidth: fullWidth, variant: "outlined", ...props })] }));
|
|
295
|
-
};
|
|
296
|
-
|
|
297
|
-
const StyledCard = material.styled(material.Box, {
|
|
268
|
+
};const StyledCard = material.styled(material.Box, {
|
|
298
269
|
shouldForwardProp: (prop) => prop !== 'customPadding' && prop !== 'customVariant',
|
|
299
270
|
})(({ theme, customPadding, customVariant }) => {
|
|
300
271
|
const paddingStyles = {
|
|
@@ -329,9 +300,7 @@ const StyledCard = material.styled(material.Box, {
|
|
|
329
300
|
const Card = ({ children, className = '', padding = 'md', variant = 'default', sx, // Destructure sx prop
|
|
330
301
|
}) => {
|
|
331
302
|
return (jsxRuntime.jsx(StyledCard, { className: className, customPadding: padding, customVariant: variant, sx: sx, children: children }));
|
|
332
|
-
};
|
|
333
|
-
|
|
334
|
-
const StyledSelect = material.styled(material.Select)(({ theme, error }) => ({
|
|
303
|
+
};const StyledSelect = material.styled(material.Select)(({ theme, error }) => ({
|
|
335
304
|
backgroundColor: theme.palette.light.main,
|
|
336
305
|
borderRadius: (typeof theme.shape.borderRadius === 'string'
|
|
337
306
|
? parseInt(theme.shape.borderRadius, 10)
|
|
@@ -415,9 +384,7 @@ const Select = ({ label, error, helperText, fullWidth = false, options, classNam
|
|
|
415
384
|
fontSize: '0.875rem',
|
|
416
385
|
color: `${theme.palette.dark.main}99`,
|
|
417
386
|
}, children: helperText }))] }));
|
|
418
|
-
};
|
|
419
|
-
|
|
420
|
-
const CustomRadioIcon = material.styled('span')(({ theme, checked }) => ({
|
|
387
|
+
};const CustomRadioIcon = material.styled('span')(({ theme, checked }) => ({
|
|
421
388
|
width: 20,
|
|
422
389
|
height: 20,
|
|
423
390
|
borderRadius: '50%',
|
|
@@ -466,9 +433,7 @@ const RadioGroup = ({ label, error, children, className = '' }) => {
|
|
|
466
433
|
fontSize: '0.875rem',
|
|
467
434
|
color: theme.palette.accent.main,
|
|
468
435
|
}, children: error }))] }));
|
|
469
|
-
};
|
|
470
|
-
|
|
471
|
-
const StyledWrapper$1 = material.styled(material.Box)(({ theme }) => ({
|
|
436
|
+
};const StyledWrapper$1 = material.styled(material.Box)(({ theme }) => ({
|
|
472
437
|
display: 'flex',
|
|
473
438
|
alignItems: 'flex-start',
|
|
474
439
|
}));
|
|
@@ -500,9 +465,7 @@ const StyledDescription = material.styled(material.Typography)(({ theme }) => ({
|
|
|
500
465
|
const Checkbox = ({ label, description, className = '', id, ...props }) => {
|
|
501
466
|
const checkboxId = id || `checkbox-${Math.random().toString(36).substr(2, 9)}`;
|
|
502
467
|
return (jsxRuntime.jsx(StyledWrapper$1, { className: className, children: jsxRuntime.jsx(material.FormControlLabel, { control: jsxRuntime.jsx(StyledCheckbox, { id: checkboxId, ...props }), label: jsxRuntime.jsxs(material.Box, { sx: { ml: 1.5, display: 'flex', flexDirection: 'column' }, children: [jsxRuntime.jsx(StyledLabel, { children: label }), description && jsxRuntime.jsx(StyledDescription, { children: description })] }) }) }));
|
|
503
|
-
};
|
|
504
|
-
|
|
505
|
-
const StyledLinearProgress = material.styled(material.LinearProgress)(({ theme }) => ({
|
|
468
|
+
};const StyledLinearProgress = material.styled(material.LinearProgress)(({ theme }) => ({
|
|
506
469
|
height: 10,
|
|
507
470
|
borderRadius: 9999,
|
|
508
471
|
backgroundColor: `${theme.palette.dark.main}1A`,
|
|
@@ -572,9 +535,7 @@ const StepIndicator = ({ steps, currentStep, className = '' }) => {
|
|
|
572
535
|
color: isActive ? theme.palette.primary.main : `${theme.palette.dark.main}99`,
|
|
573
536
|
}, children: step })] }), index < steps.length - 1 && (jsxRuntime.jsx(StepLine, { isCompleted: isCompleted }))] }, index));
|
|
574
537
|
}) }));
|
|
575
|
-
};
|
|
576
|
-
|
|
577
|
-
const StyledAlert = material.styled(material.Alert)(({ theme, customvariant }) => {
|
|
538
|
+
};const StyledAlert = material.styled(material.Alert)(({ theme, customvariant }) => {
|
|
578
539
|
const variants = {
|
|
579
540
|
info: {
|
|
580
541
|
backgroundColor: '#eff6ff',
|
|
@@ -642,9 +603,7 @@ const Alert = ({ variant = 'info', children, className = '', icon = true, sx, })
|
|
|
642
603
|
custom: 'info',
|
|
643
604
|
};
|
|
644
605
|
return (jsxRuntime.jsx(StyledAlert, { customvariant: variant, severity: severityMap[variant], icon: icon ? iconMap[variant] : false, className: className, sx: sx, children: children }));
|
|
645
|
-
};
|
|
646
|
-
|
|
647
|
-
const NoteContainer = material.styled(material.Box)({
|
|
606
|
+
};const NoteContainer = material.styled(material.Box)({
|
|
648
607
|
position: 'relative',
|
|
649
608
|
maxWidth: '100%',
|
|
650
609
|
});
|
|
@@ -743,9 +702,7 @@ const NoteBox = ({ variant = 'default', label, children, className = '', onEditC
|
|
|
743
702
|
onEditClick();
|
|
744
703
|
}
|
|
745
704
|
}, title: "Edit variable highlight", size: "small", children: jsxRuntime.jsx(iconsMaterial.EditRounded, { sx: { fontSize: 14, color: "#FFFFFF", strokeWidth: 2 } }) })] })] }));
|
|
746
|
-
};
|
|
747
|
-
|
|
748
|
-
const StyledDialog$1 = material.styled(material.Dialog)(({ theme }) => ({
|
|
705
|
+
};const StyledDialog$1 = material.styled(material.Dialog)(({ theme }) => ({
|
|
749
706
|
'& .MuiDialog-paper': {
|
|
750
707
|
borderRadius: theme.shape.borderRadius,
|
|
751
708
|
maxWidth: '896px',
|
|
@@ -763,13 +720,9 @@ const NavButton = material.styled(material.IconButton)(({ theme }) => ({
|
|
|
763
720
|
color: theme.palette.light.main,
|
|
764
721
|
},
|
|
765
722
|
}));
|
|
766
|
-
const Modal = ({ isOpen, onClose, status, description, defaultText, note, acceptSuggestion: initialAcceptSuggestion = true, onAcceptSuggestionChange, onSave, onSubmit, onPrevious, onNext, currentPage = 1, totalPages = 1, }) => {
|
|
723
|
+
const Modal = ({ isOpen, onClose, status, description, defaultText, note, acceptSuggestion: initialAcceptSuggestion = true, onAcceptSuggestionChange, onSave, onSubmit, onDeclineWording, onPrevious, onNext, currentPage = 1, totalPages = 1, }) => {
|
|
767
724
|
const [textValue, setTextValue] = React.useState(defaultText);
|
|
768
725
|
const [acceptSuggestion, setAcceptSuggestion] = React.useState(initialAcceptSuggestion);
|
|
769
|
-
const handleAcceptSuggestionChange = (checked) => {
|
|
770
|
-
setAcceptSuggestion(checked);
|
|
771
|
-
onAcceptSuggestionChange?.(checked);
|
|
772
|
-
};
|
|
773
726
|
const statusConfig = {
|
|
774
727
|
mandatory: {
|
|
775
728
|
color: '#F5A623',
|
|
@@ -835,7 +788,7 @@ const Modal = ({ isOpen, onClose, status, description, defaultText, note, accept
|
|
|
835
788
|
'& .MuiOutlinedInput-root': {
|
|
836
789
|
backgroundColor: acceptSuggestion ? 'rgba(0, 0, 0, 0.05)' : '#fff',
|
|
837
790
|
},
|
|
838
|
-
} }), jsxRuntime.
|
|
791
|
+
} }), jsxRuntime.jsxs(material.Box, { sx: {
|
|
839
792
|
display: 'flex',
|
|
840
793
|
flexDirection: { xs: 'column', sm: 'row' },
|
|
841
794
|
alignItems: { xs: 'stretch', sm: 'center' },
|
|
@@ -844,15 +797,13 @@ const Modal = ({ isOpen, onClose, status, description, defaultText, note, accept
|
|
|
844
797
|
pt: 3,
|
|
845
798
|
borderTop: '1px solid',
|
|
846
799
|
borderColor: 'divider',
|
|
847
|
-
}, children: [jsxRuntime.jsxs(material.Box, { sx: { display: 'flex', gap: 1.5 }, children: [jsxRuntime.jsx(Button, { onClick: onSave, variant: "secondary", size: "md", children: "Save" }), jsxRuntime.jsx(Button, { onClick: onSubmit, variant: "primary", size: "md", children: "Submit for review" })] }), jsxRuntime.jsxs(material.Box, { sx: {
|
|
800
|
+
}, children: [jsxRuntime.jsxs(material.Box, { sx: { display: 'flex', gap: 1.5 }, children: [jsxRuntime.jsx(Button, { onClick: onSave, variant: "secondary", size: "md", children: "Save" }), jsxRuntime.jsx(Button, { onClick: onSubmit, variant: "primary", size: "md", children: "Submit for review" }), jsxRuntime.jsx(Button, { onClick: onDeclineWording, variant: "danger", size: "md", children: "Decline Wording" })] }), jsxRuntime.jsxs(material.Box, { sx: {
|
|
848
801
|
display: 'flex',
|
|
849
802
|
alignItems: 'center',
|
|
850
803
|
gap: 2,
|
|
851
804
|
justifyContent: { xs: 'space-between', sm: 'flex-end' },
|
|
852
805
|
}, children: [jsxRuntime.jsxs(material.Box, { sx: { display: 'flex', gap: 1.5 }, children: [jsxRuntime.jsx(NavButton, { onClick: onPrevious, "aria-label": "Previous", children: jsxRuntime.jsx(iconsMaterial.ChevronLeftRounded, { sx: { fontSize: 20 } }) }), jsxRuntime.jsx(NavButton, { onClick: onNext, "aria-label": "Next", children: jsxRuntime.jsx(iconsMaterial.ChevronRightRounded, { sx: { fontSize: 20 } }) })] }), jsxRuntime.jsxs(material.Typography, { fontWeight: 500, fontSize: "1.125rem", sx: { ml: 1 }, children: [currentPage, "/", totalPages] })] })] })] })] }));
|
|
853
|
-
};
|
|
854
|
-
|
|
855
|
-
const StyledConcertina = material.styled(material.Box)(({ theme }) => ({
|
|
806
|
+
};const StyledConcertina = material.styled(material.Box)(({ theme }) => ({
|
|
856
807
|
width: '100%',
|
|
857
808
|
display: 'flex',
|
|
858
809
|
flexDirection: 'column',
|
|
@@ -993,9 +944,7 @@ function Concertina({ sections }) {
|
|
|
993
944
|
setTimeout(() => setCopiedId(null), 2000);
|
|
994
945
|
};
|
|
995
946
|
return (jsxRuntime.jsx(StyledConcertina, { children: sections.map((section) => (jsxRuntime.jsxs(StyledSection, { id: section.id, children: [jsxRuntime.jsxs(StyledHeader$1, { onClick: () => toggleSection(section.id), onMouseEnter: () => setHoveredTitle(section.id), onMouseLeave: () => setHoveredTitle(null), children: [jsxRuntime.jsxs(StyledTitleWrapper, { children: [jsxRuntime.jsx(StyledTitle, { isHovered: hoveredTitle === section.id, variant: "h3", children: section.title }), hoveredTitle === section.id && (jsxRuntime.jsxs(material.Box, { sx: { position: 'relative', flexShrink: 0 }, children: [jsxRuntime.jsx(StyledLinkButton, { onClick: (e) => copyJumpLink(section.id, e), "aria-label": "Copy link", children: jsxRuntime.jsx(iconsMaterial.LinkRounded, { sx: { fontSize: 20 } }) }), copiedId === section.id && (jsxRuntime.jsx(StyledTooltip, { children: "Link copied" }))] }))] }), jsxRuntime.jsx(StyledChevron, { sx: { fontSize: 20, transform: openSections.has(section.id) ? 'rotate(180deg)' : 'none' } })] }), jsxRuntime.jsx(material.Collapse, { in: openSections.has(section.id), children: jsxRuntime.jsx(StyledContent, { children: jsxRuntime.jsx(StyledContentText, { children: section.content }) }) })] }, section.id))) }));
|
|
996
|
-
}
|
|
997
|
-
|
|
998
|
-
const ReadByContainer = material.styled(material.Box)(({ theme }) => ({
|
|
947
|
+
}const ReadByContainer = material.styled(material.Box)(({ theme }) => ({
|
|
999
948
|
display: 'flex',
|
|
1000
949
|
flexDirection: 'row',
|
|
1001
950
|
alignItems: 'flex-start',
|
|
@@ -1040,9 +989,7 @@ const ReadBy = ({ names }) => {
|
|
|
1040
989
|
color: theme.palette.dark.main,
|
|
1041
990
|
ml: 1,
|
|
1042
991
|
}, children: displayText })] }), names.length > 5 && (jsxRuntime.jsx(ExpandButton, { onClick: () => setIsExpanded(!isExpanded), "aria-label": isExpanded ? 'Collapse' : 'Expand', size: "small", children: isExpanded ? (jsxRuntime.jsx(iconsMaterial.ExpandLessRounded, { sx: { fontSize: 16 } })) : (jsxRuntime.jsx(iconsMaterial.ExpandMoreRounded, { sx: { fontSize: 16 } })) }))] }));
|
|
1043
|
-
};
|
|
1044
|
-
|
|
1045
|
-
const StatusBarContainer = material.styled(material.Box)(({ theme }) => ({
|
|
992
|
+
};const StatusBarContainer = material.styled(material.Box)(({ theme }) => ({
|
|
1046
993
|
width: '100%',
|
|
1047
994
|
backgroundColor: '#F5C98E',
|
|
1048
995
|
padding: theme.spacing(1.5, 3),
|
|
@@ -1094,9 +1041,7 @@ const StatusBar = ({ itemCount, variant = 'actionstarted', onTailorClick, onNext
|
|
|
1094
1041
|
wordBreak: 'break-word',
|
|
1095
1042
|
textAlign: { xs: 'center', sm: 'left' },
|
|
1096
1043
|
}, children: variant === 'actionstarted' ? (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx(material.Box, { component: "span", sx: { fontWeight: 700 }, children: "Incomplete." }), " ", message] })) : (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx(material.Box, { component: "span", sx: { fontWeight: 700 }, children: "Not started." }), " ", message] })) })] }), variant === 'actionstarted' ? (jsxRuntime.jsx(material.Box, { sx: { display: 'flex', gap: 1.5, flexShrink: 0 }, children: jsxRuntime.jsx(NextButton, { onClick: onNextClick, "aria-label": "Next", children: jsxRuntime.jsx(iconsMaterial.ChevronRightRounded, { sx: { fontSize: 20 } }) }) })) : (jsxRuntime.jsx(material.Box, { sx: { flexShrink: 0 }, children: jsxRuntime.jsx(Button, { variant: "outline", size: "sm", onClick: onTailorClick, children: "Tailor policies" }) }))] }));
|
|
1097
|
-
};
|
|
1098
|
-
|
|
1099
|
-
const TabsContainer = material.styled(material.Box)({
|
|
1044
|
+
};const TabsContainer = material.styled(material.Box)({
|
|
1100
1045
|
display: 'none',
|
|
1101
1046
|
'@media (min-width: 900px)': {
|
|
1102
1047
|
display: 'block',
|
|
@@ -1181,9 +1126,7 @@ const Tabs = ({ tabs, defaultTab }) => {
|
|
|
1181
1126
|
transform: mobileExpandedTab === tab.id ? 'rotate(180deg)' : 'rotate(0deg)',
|
|
1182
1127
|
transition: 'transform 0.2s',
|
|
1183
1128
|
} })] }), jsxRuntime.jsx(material.Collapse, { in: mobileExpandedTab === tab.id, children: jsxRuntime.jsx(MobileTabContent, { children: tab.content }) })] }, tab.id))) })] }));
|
|
1184
|
-
};
|
|
1185
|
-
|
|
1186
|
-
const SidebarContainer = material.styled(material.Box)(({ theme, isOpen }) => ({
|
|
1129
|
+
};const SidebarContainer = material.styled(material.Box)(({ theme, isOpen }) => ({
|
|
1187
1130
|
height: '100vh',
|
|
1188
1131
|
position: 'sticky',
|
|
1189
1132
|
top: 0,
|
|
@@ -1376,9 +1319,7 @@ const Sidebar = ({ isOpen, onToggle, centreName = "Centre name goes here \n acro
|
|
|
1376
1319
|
fontSize: '0.875rem',
|
|
1377
1320
|
} }) }, index));
|
|
1378
1321
|
}) }) }))] }, subItem.id))) }) }))] }, item.id))) }) })] }) })] }));
|
|
1379
|
-
};
|
|
1380
|
-
|
|
1381
|
-
const StyledHeader = material.styled(material.Box)(({ theme }) => ({
|
|
1322
|
+
};const StyledHeader = material.styled(material.Box)(({ theme }) => ({
|
|
1382
1323
|
padding: theme.spacing(1.5, 4), // px-4 py-3
|
|
1383
1324
|
display: 'flex',
|
|
1384
1325
|
alignItems: 'center',
|
|
@@ -1543,9 +1484,7 @@ const Header = ({ userName = 'John Doe', userInitials = 'JD', }) => {
|
|
|
1543
1484
|
return (jsxRuntime.jsxs(StyledHeader, { children: [jsxRuntime.jsxs(StyledLogoWrapper, { children: [jsxRuntime.jsx(StyledLogoIcon, { children: jsxRuntime.jsx(iconsMaterial.SchoolRounded, { sx: { fontSize: 32, color: 'currentColor' } }) }), jsxRuntime.jsx(StyledLogoText, { variant: "h1", children: theme.appName })] }), jsxRuntime.jsx(StyledSearchContainer, { children: jsxRuntime.jsx(StyledTextField, { placeholder: "Search for a policy", variant: "outlined", fullWidth: true, InputProps: {
|
|
1544
1485
|
endAdornment: (jsxRuntime.jsx(StyledSearchButton, { children: jsxRuntime.jsx(StyledSearchIcon, { children: jsxRuntime.jsx(iconsMaterial.SearchRounded, { sx: { fontSize: 20 } }) }) })),
|
|
1545
1486
|
} }) }), jsxRuntime.jsxs(StyledUserContainer, { children: [jsxRuntime.jsx(StyledAvatar, { children: jsxRuntime.jsx(StyledAvatarText, { children: userInitials }) }), jsxRuntime.jsx(StyledUserName, { children: userName })] })] }));
|
|
1546
|
-
};
|
|
1547
|
-
|
|
1548
|
-
const Container = material.styled(material.Box)(({ theme }) => ({
|
|
1487
|
+
};const Container = material.styled(material.Box)(({ theme }) => ({
|
|
1549
1488
|
width: '100%',
|
|
1550
1489
|
[theme.breakpoints.up('md')]: {
|
|
1551
1490
|
position: 'sticky',
|
|
@@ -1597,9 +1536,7 @@ const TableOfContents = ({ sections, activeSection = 'current-section', }) => {
|
|
|
1597
1536
|
const isActive = section.id === activeSection;
|
|
1598
1537
|
return (jsxRuntime.jsx(NavLink, { href: `#${section.id}`, isActive: isActive, children: section.title }, section.id));
|
|
1599
1538
|
}) })] }) }));
|
|
1600
|
-
};
|
|
1601
|
-
|
|
1602
|
-
const ToggleButton = material.styled(material.Box)(({ theme }) => ({
|
|
1539
|
+
};const ToggleButton = material.styled(material.Box)(({ theme }) => ({
|
|
1603
1540
|
display: 'inline-flex',
|
|
1604
1541
|
alignItems: 'center',
|
|
1605
1542
|
gap: theme.spacing(1.5),
|
|
@@ -1648,9 +1585,7 @@ const Toggle = ({ label = 'Admin view', checked = false, onChange, }) => {
|
|
|
1648
1585
|
fontWeight: 500,
|
|
1649
1586
|
fontSize: '0.875rem',
|
|
1650
1587
|
}, children: label })] }));
|
|
1651
|
-
};
|
|
1652
|
-
|
|
1653
|
-
const StyledDialog = material.styled(material.Dialog)(({ theme }) => ({
|
|
1588
|
+
};const StyledDialog = material.styled(material.Dialog)(({ theme }) => ({
|
|
1654
1589
|
'& .MuiDialog-paper': {
|
|
1655
1590
|
borderRadius: (typeof theme.shape.borderRadius === 'string'
|
|
1656
1591
|
? parseInt(theme.shape.borderRadius, 10)
|
|
@@ -1678,9 +1613,7 @@ const CloseButton = material.styled(material.IconButton)(({ theme }) => ({
|
|
|
1678
1613
|
const SimpleModal = ({ isOpen, onClose, title, children, }) => {
|
|
1679
1614
|
const { theme } = useTheme();
|
|
1680
1615
|
return (jsxRuntime.jsxs(StyledDialog, { open: isOpen, onClose: onClose, maxWidth: "sm", fullWidth: true, children: [jsxRuntime.jsxs(StyledDialogTitle, { children: [title, jsxRuntime.jsx(CloseButton, { onClick: onClose, "aria-label": "Close", children: jsxRuntime.jsx(iconsMaterial.CloseRounded, { sx: { fontSize: 20, color: theme.palette.dark.main } }) })] }), jsxRuntime.jsx(material.DialogContent, { sx: { p: 3 }, children: children })] }));
|
|
1681
|
-
};
|
|
1682
|
-
|
|
1683
|
-
const StyledIconButton = material.styled(material.IconButton)(({ theme }) => ({
|
|
1616
|
+
};const StyledIconButton = material.styled(material.IconButton)(({ theme }) => ({
|
|
1684
1617
|
width: 48,
|
|
1685
1618
|
height: 48,
|
|
1686
1619
|
borderRadius: (typeof theme.shape.borderRadius === 'string'
|
|
@@ -1701,9 +1634,7 @@ const StyledIconButton = material.styled(material.IconButton)(({ theme }) => ({
|
|
|
1701
1634
|
}));
|
|
1702
1635
|
const ActionButton = ({ icon: Icon, onClick, label, sx, }) => {
|
|
1703
1636
|
return (jsxRuntime.jsx(StyledIconButton, { onClick: onClick, "aria-label": label, sx: sx, children: jsxRuntime.jsx(Icon, {}) }));
|
|
1704
|
-
};
|
|
1705
|
-
|
|
1706
|
-
const StyledWrapper = material.styled(material.Box)(({ theme }) => ({
|
|
1637
|
+
};const StyledWrapper = material.styled(material.Box)(({ theme }) => ({
|
|
1707
1638
|
// No specific wrapper styles needed, just a container
|
|
1708
1639
|
}));
|
|
1709
1640
|
const StyledParagraph = material.styled(material.Typography)(({ theme }) => ({
|
|
@@ -1767,9 +1698,7 @@ function DefinitionBox({ term, definition, children }) {
|
|
|
1767
1698
|
color: theme.palette.secondary.main
|
|
1768
1699
|
}
|
|
1769
1700
|
} })) })] })] }), isOpen && (jsxRuntime.jsx(StyledDefinitionBox, { children: jsxRuntime.jsx(StyledDefinitionText, { children: definition }) }))] }));
|
|
1770
|
-
}
|
|
1771
|
-
|
|
1772
|
-
const HomeButton = material.styled(material.IconButton)(({ theme }) => ({
|
|
1701
|
+
}const HomeButton = material.styled(material.IconButton)(({ theme }) => ({
|
|
1773
1702
|
width: 40,
|
|
1774
1703
|
height: 40,
|
|
1775
1704
|
borderRadius: (typeof theme.shape.borderRadius === 'string'
|
|
@@ -1876,33 +1805,4 @@ const Breadcrumb = ({ items, currentItem, dropdownItems = [], onItemSelect, }) =
|
|
|
1876
1805
|
vertical: 'top',
|
|
1877
1806
|
horizontal: 'left',
|
|
1878
1807
|
}, children: dropdownItems.map((item, index) => (jsxRuntime.jsx(StyledMenuItem, { onClick: () => handleItemClick(item), isActive: item === currentItem, children: item }, index))) }))] })] }));
|
|
1879
|
-
};
|
|
1880
|
-
|
|
1881
|
-
exports.ActionButton = ActionButton;
|
|
1882
|
-
exports.Alert = Alert;
|
|
1883
|
-
exports.Breadcrumb = Breadcrumb;
|
|
1884
|
-
exports.Button = Button;
|
|
1885
|
-
exports.Card = Card;
|
|
1886
|
-
exports.Checkbox = Checkbox;
|
|
1887
|
-
exports.Concertina = Concertina;
|
|
1888
|
-
exports.DefinitionBox = DefinitionBox;
|
|
1889
|
-
exports.Header = Header;
|
|
1890
|
-
exports.Input = Input;
|
|
1891
|
-
exports.Modal = Modal;
|
|
1892
|
-
exports.NoteBox = NoteBox;
|
|
1893
|
-
exports.Progress = Progress;
|
|
1894
|
-
exports.Radio = Radio;
|
|
1895
|
-
exports.RadioGroup = RadioGroup;
|
|
1896
|
-
exports.ReadBy = ReadBy;
|
|
1897
|
-
exports.Select = Select;
|
|
1898
|
-
exports.Sidebar = Sidebar;
|
|
1899
|
-
exports.SimpleModal = SimpleModal;
|
|
1900
|
-
exports.StatusBar = StatusBar;
|
|
1901
|
-
exports.StepIndicator = StepIndicator;
|
|
1902
|
-
exports.TableOfContents = TableOfContents;
|
|
1903
|
-
exports.Tabs = Tabs;
|
|
1904
|
-
exports.ThemeProvider = ThemeProvider;
|
|
1905
|
-
exports.Toggle = Toggle;
|
|
1906
|
-
exports.muiThemes = muiThemes;
|
|
1907
|
-
exports.useTheme = useTheme;
|
|
1908
|
-
//# sourceMappingURL=index.js.map
|
|
1808
|
+
};exports.ActionButton=ActionButton;exports.Alert=Alert;exports.Breadcrumb=Breadcrumb;exports.Button=Button;exports.Card=Card;exports.Checkbox=Checkbox;exports.Concertina=Concertina;exports.DefinitionBox=DefinitionBox;exports.Header=Header;exports.Input=Input;exports.Modal=Modal;exports.NoteBox=NoteBox;exports.Progress=Progress;exports.Radio=Radio;exports.RadioGroup=RadioGroup;exports.ReadBy=ReadBy;exports.Select=Select;exports.Sidebar=Sidebar;exports.SimpleModal=SimpleModal;exports.StatusBar=StatusBar;exports.StepIndicator=StepIndicator;exports.TableOfContents=TableOfContents;exports.Tabs=Tabs;exports.ThemeProvider=ThemeProvider;exports.Toggle=Toggle;exports.useTheme=useTheme;//# sourceMappingURL=index.js.map
|