ece-docs-components 1.0.7 → 1.0.8
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 +121 -113
- package/dist/cjs/ThemeProvider.js.map +1 -1
- package/dist/cjs/components/ActionButton.js +0 -1
- package/dist/cjs/components/ActionButton.js.map +1 -1
- package/dist/cjs/components/Alert.js +0 -1
- package/dist/cjs/components/Alert.js.map +1 -1
- package/dist/cjs/components/Breadcrumb.js +1 -2
- package/dist/cjs/components/Breadcrumb.js.map +1 -1
- package/dist/cjs/components/Card.js +0 -1
- package/dist/cjs/components/Card.js.map +1 -1
- package/dist/cjs/components/Checkbox.js +0 -1
- package/dist/cjs/components/Checkbox.js.map +1 -1
- package/dist/cjs/components/Concertina.js +0 -1
- package/dist/cjs/components/Concertina.js.map +1 -1
- package/dist/cjs/components/DefinitionBox.js +1 -2
- package/dist/cjs/components/DefinitionBox.js.map +1 -1
- package/dist/cjs/components/Header.js +1 -2
- package/dist/cjs/components/Header.js.map +1 -1
- package/dist/cjs/components/Input.js +0 -1
- package/dist/cjs/components/Input.js.map +1 -1
- package/dist/cjs/components/Modal.js +0 -1
- package/dist/cjs/components/Modal.js.map +1 -1
- package/dist/cjs/components/NoteBox.js +0 -1
- package/dist/cjs/components/NoteBox.js.map +1 -1
- package/dist/cjs/components/Progress.js +1 -2
- package/dist/cjs/components/Progress.js.map +1 -1
- package/dist/cjs/components/Radio.js +2 -3
- package/dist/cjs/components/Radio.js.map +1 -1
- package/dist/cjs/components/ReadBy.js +1 -2
- package/dist/cjs/components/ReadBy.js.map +1 -1
- package/dist/cjs/components/Select.js +1 -2
- package/dist/cjs/components/Select.js.map +1 -1
- package/dist/cjs/components/Sidebar.js +1 -2
- package/dist/cjs/components/Sidebar.js.map +1 -1
- package/dist/cjs/components/SimpleModal.js +1 -2
- package/dist/cjs/components/SimpleModal.js.map +1 -1
- package/dist/cjs/components/StatusBar.js +0 -1
- package/dist/cjs/components/StatusBar.js.map +1 -1
- package/dist/cjs/components/TableOfContents.js +0 -1
- package/dist/cjs/components/TableOfContents.js.map +1 -1
- package/dist/cjs/components/Tabs.js +0 -1
- package/dist/cjs/components/Tabs.js.map +1 -1
- package/dist/cjs/components/Toggle.js +0 -1
- package/dist/cjs/components/Toggle.js.map +1 -1
- package/dist/cjs/index.js +0 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/esm/ThemeProvider.d.ts +1 -112
- package/dist/esm/ThemeProvider.js +122 -95
- package/dist/esm/ThemeProvider.js.map +1 -1
- package/dist/esm/components/ActionButton.js +0 -1
- package/dist/esm/components/ActionButton.js.map +1 -1
- package/dist/esm/components/Alert.js +0 -1
- package/dist/esm/components/Alert.js.map +1 -1
- package/dist/esm/components/Breadcrumb.js +1 -2
- package/dist/esm/components/Breadcrumb.js.map +1 -1
- package/dist/esm/components/Card.js +0 -1
- package/dist/esm/components/Card.js.map +1 -1
- package/dist/esm/components/Checkbox.js +0 -1
- package/dist/esm/components/Checkbox.js.map +1 -1
- package/dist/esm/components/Concertina.js +0 -1
- package/dist/esm/components/Concertina.js.map +1 -1
- package/dist/esm/components/DefinitionBox.js +1 -2
- package/dist/esm/components/DefinitionBox.js.map +1 -1
- package/dist/esm/components/Header.js +1 -2
- package/dist/esm/components/Header.js.map +1 -1
- package/dist/esm/components/Input.js +0 -1
- package/dist/esm/components/Input.js.map +1 -1
- package/dist/esm/components/Modal.js +0 -1
- package/dist/esm/components/Modal.js.map +1 -1
- package/dist/esm/components/NoteBox.js +0 -1
- package/dist/esm/components/NoteBox.js.map +1 -1
- package/dist/esm/components/Progress.js +3 -4
- package/dist/esm/components/Progress.js.map +1 -1
- package/dist/esm/components/Radio.js +2 -3
- package/dist/esm/components/Radio.js.map +1 -1
- package/dist/esm/components/ReadBy.js +1 -2
- package/dist/esm/components/ReadBy.js.map +1 -1
- package/dist/esm/components/Select.js +1 -2
- package/dist/esm/components/Select.js.map +1 -1
- package/dist/esm/components/Sidebar.js +1 -2
- package/dist/esm/components/Sidebar.js.map +1 -1
- package/dist/esm/components/SimpleModal.js +1 -2
- package/dist/esm/components/SimpleModal.js.map +1 -1
- package/dist/esm/components/StatusBar.js +0 -1
- package/dist/esm/components/StatusBar.js.map +1 -1
- package/dist/esm/components/TableOfContents.js +0 -1
- package/dist/esm/components/TableOfContents.js.map +1 -1
- package/dist/esm/components/Tabs.js +0 -1
- package/dist/esm/components/Tabs.js.map +1 -1
- package/dist/esm/components/Toggle.js +2 -3
- package/dist/esm/components/Toggle.js.map +1 -1
- package/dist/esm/index.d.ts +0 -1
- package/dist/esm/index.js +0 -1
- package/dist/esm/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -2,41 +2,134 @@
|
|
|
2
2
|
|
|
3
3
|
var jsxRuntime = require('react/jsx-runtime');
|
|
4
4
|
var styles = require('@mui/material/styles');
|
|
5
|
-
var utils = require('@mui/utils');
|
|
6
|
-
var React = require('react');
|
|
7
5
|
var material = require('@mui/material');
|
|
8
6
|
|
|
9
|
-
|
|
10
|
-
var n = Object.create(null);
|
|
11
|
-
if (e) {
|
|
12
|
-
Object.keys(e).forEach(function (k) {
|
|
13
|
-
if (k !== 'default') {
|
|
14
|
-
var d = Object.getOwnPropertyDescriptor(e, k);
|
|
15
|
-
Object.defineProperty(n, k, d.get ? d : {
|
|
16
|
-
enumerable: true,
|
|
17
|
-
get: function () { return e[k]; }
|
|
18
|
-
});
|
|
19
|
-
}
|
|
20
|
-
});
|
|
21
|
-
}
|
|
22
|
-
n.default = e;
|
|
23
|
-
return Object.freeze(n);
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
var React__namespace = /*#__PURE__*/_interopNamespaceDefault(React);
|
|
27
|
-
|
|
28
|
-
const baseTheme = styles.createTheme({
|
|
7
|
+
const theme = styles.createTheme({
|
|
29
8
|
palette: {
|
|
9
|
+
mode: 'light',
|
|
10
|
+
primary: {
|
|
11
|
+
main: '#AD46FF',
|
|
12
|
+
light: '#AD46FF',
|
|
13
|
+
dark: '#AD46FF',
|
|
14
|
+
contrastText: '#FFFFFF',
|
|
15
|
+
},
|
|
16
|
+
secondary: {
|
|
17
|
+
main: '#D79AFC',
|
|
18
|
+
light: '#D79AFC',
|
|
19
|
+
dark: '#D79AFC',
|
|
20
|
+
contrastText: '#FFFFFF',
|
|
21
|
+
},
|
|
22
|
+
error: {
|
|
23
|
+
main: '#F56B6B',
|
|
24
|
+
light: '#F56B6B',
|
|
25
|
+
dark: '#F56B6B',
|
|
26
|
+
contrastText: '#FFFFFF',
|
|
27
|
+
},
|
|
28
|
+
warning: {
|
|
29
|
+
main: '#F5D76E',
|
|
30
|
+
light: '#F5D76E',
|
|
31
|
+
dark: '#F5D76E',
|
|
32
|
+
contrastText: '#FFFBFF',
|
|
33
|
+
},
|
|
34
|
+
info: {
|
|
35
|
+
main: '#F5A623',
|
|
36
|
+
light: '#F5A623',
|
|
37
|
+
dark: '#F5A623',
|
|
38
|
+
contrastText: '#FFFFFF',
|
|
39
|
+
},
|
|
40
|
+
success: {
|
|
41
|
+
main: '#A3D977',
|
|
42
|
+
light: '#A3D977',
|
|
43
|
+
dark: '#A3D977',
|
|
44
|
+
contrastText: '#FFFFFF',
|
|
45
|
+
},
|
|
46
|
+
background: {
|
|
47
|
+
default: '#FDFCEE',
|
|
48
|
+
paper: '#FEFDF7',
|
|
49
|
+
},
|
|
30
50
|
text: {
|
|
31
51
|
primary: '#4D3019',
|
|
32
52
|
secondary: '#826E5C',
|
|
33
|
-
|
|
53
|
+
disabled: '#93908F',
|
|
54
|
+
},
|
|
55
|
+
divider: '#C6C7C0',
|
|
56
|
+
accent: {
|
|
57
|
+
main: '#FFEDD1',
|
|
58
|
+
},
|
|
59
|
+
dark: {
|
|
60
|
+
main: '#4D3019',
|
|
61
|
+
},
|
|
62
|
+
light: {
|
|
63
|
+
main: '#FEFDF7',
|
|
64
|
+
},
|
|
65
|
+
markedRead: {
|
|
66
|
+
main: '#A3D977',
|
|
67
|
+
},
|
|
68
|
+
custom: {
|
|
69
|
+
iconColor: '#ebc7ff',
|
|
70
|
+
primaryButtonTextColor: '#FFFFFF',
|
|
71
|
+
readByBackgroundColor: '#ebc7ff',
|
|
72
|
+
stepIndicatorTextColor: '#FFFFFF',
|
|
73
|
+
markAsReadBackgroundColor: '#ebc7ff',
|
|
74
|
+
tabBackgroundColor: '#F8F0FC',
|
|
75
|
+
},
|
|
34
76
|
},
|
|
35
77
|
typography: {
|
|
36
78
|
fontFamily: ['Inter', '-apple-system', 'BlinkMacSystemFont', 'Segoe UI', 'Roboto', 'sans-serif'].join(','),
|
|
79
|
+
h1: {
|
|
80
|
+
color: '#4D3019',
|
|
81
|
+
},
|
|
82
|
+
h2: {
|
|
83
|
+
color: '#4D3019',
|
|
84
|
+
},
|
|
85
|
+
h3: {
|
|
86
|
+
color: '#4D3019',
|
|
87
|
+
},
|
|
88
|
+
h4: {
|
|
89
|
+
color: '#4D3019',
|
|
90
|
+
},
|
|
91
|
+
h5: {
|
|
92
|
+
color: '#4D3019',
|
|
93
|
+
},
|
|
94
|
+
h6: {
|
|
95
|
+
color: '#4D3019',
|
|
96
|
+
},
|
|
97
|
+
body1: {
|
|
98
|
+
color: '#4D3019',
|
|
99
|
+
},
|
|
100
|
+
body2: {
|
|
101
|
+
color: '#826E5C',
|
|
102
|
+
},
|
|
103
|
+
subtitle1: {
|
|
104
|
+
color: '#4D3019',
|
|
105
|
+
},
|
|
106
|
+
subtitle2: {
|
|
107
|
+
color: '#826E5C',
|
|
108
|
+
},
|
|
109
|
+
button: {
|
|
110
|
+
color: '#4D3019',
|
|
111
|
+
},
|
|
112
|
+
caption: {
|
|
113
|
+
color: '#826E5C',
|
|
114
|
+
},
|
|
115
|
+
overline: {
|
|
116
|
+
color: '#826E5C',
|
|
117
|
+
},
|
|
37
118
|
allVariants: {
|
|
38
|
-
color: '#4D3019'
|
|
39
|
-
}
|
|
119
|
+
color: '#4D3019',
|
|
120
|
+
},
|
|
121
|
+
},
|
|
122
|
+
shape: {
|
|
123
|
+
borderRadius: 8,
|
|
124
|
+
},
|
|
125
|
+
breakpoints: {
|
|
126
|
+
values: {
|
|
127
|
+
xs: 320,
|
|
128
|
+
sm: 640,
|
|
129
|
+
md: 768,
|
|
130
|
+
lg: 1024,
|
|
131
|
+
xl: 1280,
|
|
132
|
+
},
|
|
40
133
|
},
|
|
41
134
|
components: {
|
|
42
135
|
MuiTypography: {
|
|
@@ -60,98 +153,13 @@ const baseTheme = styles.createTheme({
|
|
|
60
153
|
},
|
|
61
154
|
},
|
|
62
155
|
},
|
|
63
|
-
|
|
64
|
-
values: {
|
|
65
|
-
xs: 320,
|
|
66
|
-
sm: 640,
|
|
67
|
-
md: 768,
|
|
68
|
-
lg: 1024,
|
|
69
|
-
xl: 1280,
|
|
70
|
-
},
|
|
71
|
-
},
|
|
156
|
+
appName: 'ECE Docs',
|
|
72
157
|
});
|
|
73
|
-
const themeConfigs = {
|
|
74
|
-
default: {
|
|
75
|
-
palette: {
|
|
76
|
-
primary: { main: '#AD46FF' },
|
|
77
|
-
secondary: { main: '#D79AFC' },
|
|
78
|
-
accent: { main: '#FFEDD1' },
|
|
79
|
-
dark: { main: '#4D3019' },
|
|
80
|
-
light: { main: '#FEFDF7' },
|
|
81
|
-
markedRead: { main: '#A3D977' },
|
|
82
|
-
text: {
|
|
83
|
-
primary: '#4D3019',
|
|
84
|
-
secondary: '#826E5C',
|
|
85
|
-
},
|
|
86
|
-
custom: {
|
|
87
|
-
iconColor: '#ebc7ff',
|
|
88
|
-
primaryButtonTextColor: '#FFFFFF',
|
|
89
|
-
readByBackgroundColor: '#ebc7ff',
|
|
90
|
-
stepIndicatorTextColor: '#FFFFFF',
|
|
91
|
-
markAsReadBackgroundColor: '#ebc7ff',
|
|
92
|
-
tabBackgroundColor: '#F8F0FC',
|
|
93
|
-
},
|
|
94
|
-
},
|
|
95
|
-
appName: 'ECE Docs',
|
|
96
|
-
},
|
|
97
|
-
school: {
|
|
98
|
-
palette: {
|
|
99
|
-
primary: { main: '#386e41' },
|
|
100
|
-
secondary: { main: '#8fc790' },
|
|
101
|
-
accent: { main: '#d5ebde' },
|
|
102
|
-
dark: { main: '#4D3019' },
|
|
103
|
-
light: { main: '#FEFDF7' },
|
|
104
|
-
markedRead: { main: '#A3D977' },
|
|
105
|
-
text: {
|
|
106
|
-
primary: '#4D3019',
|
|
107
|
-
secondary: '#826E5C',
|
|
108
|
-
},
|
|
109
|
-
custom: {
|
|
110
|
-
primaryButtonTextColor: '#FFFFFF',
|
|
111
|
-
stepIndicatorTextColor: '#FFFFFF',
|
|
112
|
-
},
|
|
113
|
-
},
|
|
114
|
-
appName: 'School Docs',
|
|
115
|
-
},
|
|
116
|
-
health: {
|
|
117
|
-
palette: {
|
|
118
|
-
primary: { main: '#4871cf' },
|
|
119
|
-
secondary: { main: '#a4d6ff' },
|
|
120
|
-
accent: { main: '#FF9ecb' },
|
|
121
|
-
dark: { main: '#4D3019' },
|
|
122
|
-
light: { main: '#FEFDF7' },
|
|
123
|
-
markedRead: { main: '#A3D977' },
|
|
124
|
-
text: {
|
|
125
|
-
primary: '#4D3019',
|
|
126
|
-
secondary: '#826E5C',
|
|
127
|
-
},
|
|
128
|
-
custom: {
|
|
129
|
-
iconColor: '#a4d6ff',
|
|
130
|
-
primaryButtonTextColor: '#FFFFFF',
|
|
131
|
-
markAsReadBorderColor: '#FF9ecb',
|
|
132
|
-
readByBackgroundColor: '#a4d6ff',
|
|
133
|
-
stepIndicatorTextColor: '#FFFFFF',
|
|
134
|
-
tabBackgroundColor: '#a4d6ff',
|
|
135
|
-
},
|
|
136
|
-
},
|
|
137
|
-
appName: 'GP Docs',
|
|
138
|
-
},
|
|
139
|
-
};
|
|
140
|
-
const createMuiTheme = (key) => {
|
|
141
|
-
return styles.createTheme(utils.deepmerge(baseTheme, themeConfigs[key]));
|
|
142
|
-
};
|
|
143
|
-
const ThemeContext = React__namespace.createContext(undefined);
|
|
144
158
|
const ThemeProvider = ({ children }) => {
|
|
145
|
-
|
|
146
|
-
const theme = React__namespace.useMemo(() => createMuiTheme(currentTheme), [currentTheme]);
|
|
147
|
-
return (jsxRuntime.jsx(ThemeContext.Provider, { value: { currentTheme, setTheme: setCurrentTheme, theme }, children: jsxRuntime.jsxs(styles.ThemeProvider, { theme: theme, children: [jsxRuntime.jsx(material.CssBaseline, {}), children] }) }));
|
|
159
|
+
return (jsxRuntime.jsxs(styles.ThemeProvider, { theme: theme, children: [jsxRuntime.jsx(material.CssBaseline, {}), children] }));
|
|
148
160
|
};
|
|
149
161
|
const useTheme = () => {
|
|
150
|
-
|
|
151
|
-
if (context === undefined) {
|
|
152
|
-
throw new Error('useTheme must be used within a ThemeProvider');
|
|
153
|
-
}
|
|
154
|
-
return context;
|
|
162
|
+
return theme;
|
|
155
163
|
};
|
|
156
164
|
|
|
157
165
|
exports.ThemeProvider = ThemeProvider;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ThemeProvider.js","sources":["../../../src/ThemeProvider.tsx"],"sourcesContent":["import { createTheme, ThemeProvider as MuiThemeProvider } from '@mui/material/styles';\r\nimport {
|
|
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\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 },\r\n h2: {\r\n color: '#4D3019',\r\n },\r\n h3: {\r\n color: '#4D3019',\r\n },\r\n h4: {\r\n color: '#4D3019',\r\n },\r\n h5: {\r\n color: '#4D3019',\r\n },\r\n h6: {\r\n color: '#4D3019',\r\n },\r\n body1: {\r\n color: '#4D3019',\r\n },\r\n body2: {\r\n color: '#826E5C',\r\n },\r\n subtitle1: {\r\n color: '#4D3019',\r\n },\r\n subtitle2: {\r\n color: '#826E5C',\r\n },\r\n button: {\r\n color: '#4D3019',\r\n },\r\n caption: {\r\n color: '#826E5C',\r\n },\r\n overline: {\r\n color: '#826E5C',\r\n },\r\n allVariants: {\r\n color: '#4D3019',\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 styleOverrides: {\r\n root: {\r\n color: '#4D3019',\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 },\r\n },\r\n },\r\n appName: 'ECE Docs',\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\nexport const useTheme = () => {\r\n return theme;\r\n};\r\n"],"names":["createTheme","_jsxs","MuiThemeProvider","_jsx","CssBaseline"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ActionButton.js","sources":["../../../../src/components/ActionButton.tsx"],"sourcesContent":["
|
|
1
|
+
{"version":3,"file":"ActionButton.js","sources":["../../../../src/components/ActionButton.tsx"],"sourcesContent":["\n\nimport React from 'react';\nimport { IconButton, styled, SxProps, Theme } from '@mui/material';\nimport { SvgIconComponent } from '@mui/icons-material';\n\ninterface ActionButtonProps {\n icon: SvgIconComponent;\n onClick?: () => void;\n label?: string;\n sx?: SxProps<Theme>;\n}\n\nconst StyledIconButton = styled(IconButton)(({ theme }) => ({\n width: 48,\n height: 48,\n borderRadius: (typeof theme.shape.borderRadius === 'string'\n ? parseInt(theme.shape.borderRadius, 10)\n : theme.shape.borderRadius || 4) * 2,\n backgroundColor: '#fff',\n border: `1px solid ${theme.palette.dark.main}1A`,\n '&:hover': {\n backgroundColor: '#f9fafb',\n },\n '& svg': {\n color: '#4D3019',\n transition: 'color 0.2s',\n },\n '&:hover svg': {\n color: theme.palette.primary.main,\n },\n}));\n\nexport const ActionButton: React.FC<ActionButtonProps> = ({\n icon: Icon,\n onClick,\n label,\n sx,\n}) => {\n return (\n <StyledIconButton\n onClick={onClick}\n aria-label={label}\n sx={sx}\n >\n <Icon />\n </StyledIconButton>\n );\n};"],"names":["styled","IconButton","_jsx"],"mappings":";;;;;AAaA,MAAM,gBAAgB,GAAGA,eAAM,CAACC,mBAAU,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM;AAC1D,IAAA,KAAK,EAAE,EAAE;AACT,IAAA,MAAM,EAAE,EAAE;IACV,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;AACtC,IAAA,eAAe,EAAE,MAAM;IACvB,MAAM,EAAE,aAAa,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAA,EAAA,CAAI;AAChD,IAAA,SAAS,EAAE;AACT,QAAA,eAAe,EAAE,SAAS;AAC3B,KAAA;AACD,IAAA,OAAO,EAAE;AACP,QAAA,KAAK,EAAE,SAAS;AAChB,QAAA,UAAU,EAAE,YAAY;AACzB,KAAA;AACD,IAAA,aAAa,EAAE;AACb,QAAA,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI;AAClC,KAAA;AACF,CAAA,CAAC,CAAC;AAEI,MAAM,YAAY,GAAgC,CAAC,EACxD,IAAI,EAAE,IAAI,EACV,OAAO,EACP,KAAK,EACL,EAAE,GACH,KAAI;AACH,IAAA,QACEC,cAAA,CAAC,gBAAgB,IACf,OAAO,EAAE,OAAO,EAAA,YAAA,EACJ,KAAK,EACjB,EAAE,EAAE,EAAE,EAAA,QAAA,EAENA,cAAA,CAAC,IAAI,EAAA,EAAA,CAAG,EAAA,CACS;AAEvB;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Alert.js","sources":["../../../../src/components/Alert.tsx"],"sourcesContent":["
|
|
1
|
+
{"version":3,"file":"Alert.js","sources":["../../../../src/components/Alert.tsx"],"sourcesContent":["\n\nimport React from 'react';\nimport { Alert as MuiAlert, AlertProps as MuiAlertProps, styled, SxProps, Theme } from '@mui/material';\nimport InfoOutlineIcon from '@mui/icons-material/InfoOutline';\nimport { ErrorOutlineRounded, HighlightOffRounded, InfoOutlineRounded, TaskAltRounded } from '@mui/icons-material';\n\ninterface AlertProps {\n variant?: 'info' | 'success' | 'warning' | 'error' | 'custom';\n children: React.ReactNode;\n className?: string;\n icon?: boolean;\n sx?: SxProps<Theme>; \n}\n\nconst StyledAlert = styled(MuiAlert)<{ customvariant?: string }>(({ theme, customvariant }) => {\n const variants = {\n info: {\n backgroundColor: '#eff6ff',\n borderColor: '#bfdbfe',\n color: '#1e3a8a',\n },\n success: {\n backgroundColor: '#f0fdf4',\n borderColor: '#bbf7d0',\n color: '#14532d',\n },\n warning: {\n backgroundColor: '#fefce8',\n borderColor: '#fef08a',\n color: '#713f12',\n },\n error: {\n backgroundColor: '#fef2f2',\n borderColor: '#fecaca',\n color: '#7f1d1d',\n },\n custom: {\n backgroundColor: theme.palette.light.main,\n borderColor: `${theme.palette.dark.main}33`,\n color: theme.palette.dark.main,\n },\n };\n\n const variantKey = customvariant as keyof typeof variants || 'info';\n const style = variants[variantKey];\n\n return {\n display: 'flex',\n alignItems: 'flex-start',\n gap: theme.spacing(1.5),\n padding: theme.spacing(2),\n border: `1px solid ${style.borderColor}`,\n borderRadius: (typeof theme.shape.borderRadius === 'string'\n ? parseInt(theme.shape.borderRadius, 10)\n : theme.shape.borderRadius || 4) * 2,\n backgroundColor: style.backgroundColor,\n color: style.color,\n '& .MuiAlert-icon': {\n marginRight: 0,\n padding: 0,\n marginTop: '2px',\n },\n '& .MuiAlert-message': {\n padding: 0,\n flex: 1,\n },\n };\n});\n\nexport const Alert: React.FC<AlertProps> = ({\n variant = 'info',\n children,\n className = '',\n icon = true,\n sx,\n}) => {\n const iconMap = {\n info: <InfoOutlineRounded sx={{fontSize: 20}} />,\n success: <TaskAltRounded sx={{fontSize: 20}} />,\n warning: <ErrorOutlineRounded sx={{fontSize: 20}} />,\n error: <HighlightOffRounded sx={{fontSize: 20}} />,\n custom: <InfoOutlineRounded sx={{fontSize: 20}} />,\n };\n\n const severityMap: Record<string, MuiAlertProps['severity']> = {\n info: 'info',\n success: 'success',\n warning: 'warning',\n error: 'error',\n custom: 'info',\n };\n\n return (\n <StyledAlert\n customvariant={variant}\n severity={severityMap[variant]}\n icon={icon ? iconMap[variant] : false}\n className={className}\n sx={sx}\n >\n {children}\n </StyledAlert>\n );\n};"],"names":["styled","MuiAlert","_jsx","InfoOutlineRounded","TaskAltRounded","ErrorOutlineRounded","HighlightOffRounded"],"mappings":"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"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
"use client";
|
|
2
1
|
'use strict';
|
|
3
2
|
|
|
4
3
|
var jsxRuntime = require('react/jsx-runtime');
|
|
@@ -70,7 +69,7 @@ const StyledMenuItem = material.styled(material.MenuItem)(({ theme, isActive })
|
|
|
70
69
|
},
|
|
71
70
|
}));
|
|
72
71
|
const Breadcrumb = ({ items, currentItem, dropdownItems = [], onItemSelect, }) => {
|
|
73
|
-
const
|
|
72
|
+
const theme = ThemeProvider.useTheme();
|
|
74
73
|
const [anchorEl, setAnchorEl] = React.useState(null);
|
|
75
74
|
const isDropdownOpen = Boolean(anchorEl);
|
|
76
75
|
const handleDropdownToggle = (event) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Breadcrumb.js","sources":["../../../../src/components/Breadcrumb.tsx"],"sourcesContent":["'use client';\n\nimport React, { useState } from 'react';\nimport { Box, Breadcrumbs as MuiBreadcrumbs, Typography, IconButton, Menu, MenuItem, styled } from '@mui/material';\nimport { useTheme } from '../ThemeProvider';\nimport { HomeRounded, ExpandMoreRounded } from '@mui/icons-material';\n\ninterface BreadcrumbItem {\n label: string;\n href?: string;\n}\n\ninterface BreadcrumbProps {\n items: BreadcrumbItem[];\n currentItem: string;\n dropdownItems?: string[];\n onItemSelect?: (item: string) => void;\n}\n\nconst HomeButton = styled(IconButton)(({ theme }) => ({\n width: 40,\n height: 40,\n borderRadius: (typeof theme.shape.borderRadius === 'string'\n ? parseInt(theme.shape.borderRadius, 10)\n : theme.shape.borderRadius || 4) * 2,\n backgroundColor: theme.palette.custom?.iconColor || theme.palette.accent.main,\n flexShrink: 0,\n display: 'none',\n [theme.breakpoints.up('md')]: {\n display: 'flex',\n },\n '&:hover': {\n backgroundColor: theme.palette.custom?.iconColor || theme.palette.accent.main,\n opacity: 0.8,\n },\n}));\n\nconst DropdownButton = styled('button')(({ theme }) => ({\n display: 'flex',\n alignItems: 'center',\n gap: theme.spacing(1),\n padding: theme.spacing(0.75, 2),\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}33`,\n backgroundColor: '#fff',\n color: theme.palette.dark.main,\n fontWeight: 500,\n whiteSpace: 'nowrap',\n cursor: 'pointer',\n transition: 'border-color 0.2s',\n fontSize: '0.875rem',\n '&:hover': {\n borderColor: `${theme.palette.dark.main}4D`,\n },\n [theme.breakpoints.down('sm')]: {\n padding: theme.spacing(0.75, 1),\n gap: theme.spacing(0.5),\n },\n}));\n\nconst StyledMenu = styled(Menu)(({ theme }) => ({\n '& .MuiPaper-root': {\n marginTop: theme.spacing(1),\n width: '256px',\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}33`,\n boxShadow: '0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05)',\n },\n}));\n\nconst StyledMenuItem = styled(MenuItem)<{ isActive?: boolean }>(({ theme, isActive }) => ({\n padding: theme.spacing(1.25, 2),\n fontSize: '0.875rem',\n color: isActive ? theme.palette.primary.main : '#4D3019',\n fontWeight: isActive ? 500 : 400,\n backgroundColor: isActive ? '#F5F1ED' : 'transparent',\n '&:hover': {\n backgroundColor: '#F5F1ED',\n },\n}));\n\nexport const Breadcrumb: React.FC<BreadcrumbProps> = ({\n items,\n currentItem,\n dropdownItems = [],\n onItemSelect,\n}) => {\n const { theme } = useTheme();\n const [anchorEl, setAnchorEl] = useState<null | HTMLElement>(null);\n const isDropdownOpen = Boolean(anchorEl);\n\n const handleDropdownToggle = (event: React.MouseEvent<HTMLButtonElement>) => {\n setAnchorEl(event.currentTarget);\n };\n\n const handleClose = () => {\n setAnchorEl(null);\n };\n\n const handleItemClick = (item: string) => {\n onItemSelect?.(item);\n handleClose();\n };\n\n return (\n <Box\n component=\"nav\"\n sx={{\n display: 'flex',\n alignItems: 'center',\n gap: { xs: 0.5, sm: 1 },\n fontSize: { xs: '0.75rem', sm: '0.875rem' },\n overflow: 'visible',\n }}\n >\n <HomeButton aria-label=\"Home\">\n <HomeRounded sx={{ fontSize: 20, color:\"#4D3019\"}} />\n </HomeButton>\n\n <MuiBreadcrumbs\n separator=\"/\"\n sx={{\n display: { xs: 'none', md: 'flex' },\n '& .MuiBreadcrumbs-separator': {\n color: `${theme.palette.dark.main}66`,\n },\n }}\n >\n {items.map((item, index) => (\n <Typography\n key={index}\n sx={{\n color: theme.palette.dark.main,\n fontWeight: 500,\n px: { xs: 0.5, sm: 1 },\n whiteSpace: 'nowrap',\n fontSize: 'inherit',\n }}\n >\n {item.label}\n </Typography>\n ))}\n </MuiBreadcrumbs>\n\n <Typography\n sx={{\n display: { xs: 'none', md: 'inline' },\n color: `${theme.palette.dark.main}66`,\n }}\n >\n /\n </Typography>\n\n <Box sx={{ position: 'relative', flexShrink: 0 }}>\n <DropdownButton\n type=\"button\"\n onClick={handleDropdownToggle}\n >\n <span>{currentItem}</span>\n <ExpandMoreRounded\n sx={{\n fontSize: 20,\n transition: 'transform 0.2s',\n transform: isDropdownOpen ? 'rotate(180deg)' : 'rotate(0deg)',\n }}\n />\n </DropdownButton>\n\n {dropdownItems.length > 0 && (\n <StyledMenu\n anchorEl={anchorEl}\n open={isDropdownOpen}\n onClose={handleClose}\n anchorOrigin={{\n vertical: 'bottom',\n horizontal: 'left',\n }}\n transformOrigin={{\n vertical: 'top',\n horizontal: 'left',\n }}\n >\n {dropdownItems.map((item, index) => (\n <StyledMenuItem\n key={index}\n onClick={() => handleItemClick(item)}\n isActive={item === currentItem}\n >\n {item}\n </StyledMenuItem>\n ))}\n </StyledMenu>\n )}\n </Box>\n </Box>\n );\n};"],"names":[],"mappings":";;;;;;;;;AAmBA;AACE;AACA;;;;AAIA;AACA;AACA;;AAEE;AACD;AACD;AACE;AACA;AACD;AACF;AAED;AACE;AACA;AACA;;;;;;AAMA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEC;;;AAGC;AACD;AACF;AAED;AACE;AACE;AACA;;;;;AAKA;AACD;AACF;AAED;;AAEE;AACA;;;AAGA;AACE;AACD;AACF;AAEM;AAML;;AAEA;AAEA;AACE;AACF;;;AAIA;AAEA;AACE;AACA;AACF;;AAMM;AACA;;;AAGA;AACD;;AAUG;;AAEC;AACF;AAMK;AACA;;AAEA;AACA;AACD;;;AAWJ;AAaK;AACA;;;AAYA;AACA;AACD;AAEC;AACA;AACD;AAgBb;;"}
|
|
1
|
+
{"version":3,"file":"Breadcrumb.js","sources":["../../../../src/components/Breadcrumb.tsx"],"sourcesContent":["\n\nimport React, { useState } from 'react';\nimport { Box, Breadcrumbs as MuiBreadcrumbs, Typography, IconButton, Menu, MenuItem, styled } from '@mui/material';\nimport { useTheme } from '../ThemeProvider';\nimport { HomeRounded, ExpandMoreRounded } from '@mui/icons-material';\n\ninterface BreadcrumbItem {\n label: string;\n href?: string;\n}\n\ninterface BreadcrumbProps {\n items: BreadcrumbItem[];\n currentItem: string;\n dropdownItems?: string[];\n onItemSelect?: (item: string) => void;\n}\n\nconst HomeButton = styled(IconButton)(({ theme }) => ({\n width: 40,\n height: 40,\n borderRadius: (typeof theme.shape.borderRadius === 'string'\n ? parseInt(theme.shape.borderRadius, 10)\n : theme.shape.borderRadius || 4) * 2,\n backgroundColor: theme.palette.custom?.iconColor || theme.palette.accent.main,\n flexShrink: 0,\n display: 'none',\n [theme.breakpoints.up('md')]: {\n display: 'flex',\n },\n '&:hover': {\n backgroundColor: theme.palette.custom?.iconColor || theme.palette.accent.main,\n opacity: 0.8,\n },\n}));\n\nconst DropdownButton = styled('button')(({ theme }) => ({\n display: 'flex',\n alignItems: 'center',\n gap: theme.spacing(1),\n padding: theme.spacing(0.75, 2),\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}33`,\n backgroundColor: '#fff',\n color: theme.palette.dark.main,\n fontWeight: 500,\n whiteSpace: 'nowrap',\n cursor: 'pointer',\n transition: 'border-color 0.2s',\n fontSize: '0.875rem',\n '&:hover': {\n borderColor: `${theme.palette.dark.main}4D`,\n },\n [theme.breakpoints.down('sm')]: {\n padding: theme.spacing(0.75, 1),\n gap: theme.spacing(0.5),\n },\n}));\n\nconst StyledMenu = styled(Menu)(({ theme }) => ({\n '& .MuiPaper-root': {\n marginTop: theme.spacing(1),\n width: '256px',\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}33`,\n boxShadow: '0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05)',\n },\n}));\n\nconst StyledMenuItem = styled(MenuItem)<{ isActive?: boolean }>(({ theme, isActive }) => ({\n padding: theme.spacing(1.25, 2),\n fontSize: '0.875rem',\n color: isActive ? theme.palette.primary.main : '#4D3019',\n fontWeight: isActive ? 500 : 400,\n backgroundColor: isActive ? '#F5F1ED' : 'transparent',\n '&:hover': {\n backgroundColor: '#F5F1ED',\n },\n}));\n\nexport const Breadcrumb: React.FC<BreadcrumbProps> = ({\n items,\n currentItem,\n dropdownItems = [],\n onItemSelect,\n}) => {\n const theme = useTheme();\n const [anchorEl, setAnchorEl] = useState<null | HTMLElement>(null);\n const isDropdownOpen = Boolean(anchorEl);\n\n const handleDropdownToggle = (event: React.MouseEvent<HTMLButtonElement>) => {\n setAnchorEl(event.currentTarget);\n };\n\n const handleClose = () => {\n setAnchorEl(null);\n };\n\n const handleItemClick = (item: string) => {\n onItemSelect?.(item);\n handleClose();\n };\n\n return (\n <Box\n component=\"nav\"\n sx={{\n display: 'flex',\n alignItems: 'center',\n gap: { xs: 0.5, sm: 1 },\n fontSize: { xs: '0.75rem', sm: '0.875rem' },\n overflow: 'visible',\n }}\n >\n <HomeButton aria-label=\"Home\">\n <HomeRounded sx={{ fontSize: 20, color:\"#4D3019\"}} />\n </HomeButton>\n\n <MuiBreadcrumbs\n separator=\"/\"\n sx={{\n display: { xs: 'none', md: 'flex' },\n '& .MuiBreadcrumbs-separator': {\n color: `${theme.palette.dark.main}66`,\n },\n }}\n >\n {items.map((item, index) => (\n <Typography\n key={index}\n sx={{\n color: theme.palette.dark.main,\n fontWeight: 500,\n px: { xs: 0.5, sm: 1 },\n whiteSpace: 'nowrap',\n fontSize: 'inherit',\n }}\n >\n {item.label}\n </Typography>\n ))}\n </MuiBreadcrumbs>\n\n <Typography\n sx={{\n display: { xs: 'none', md: 'inline' },\n color: `${theme.palette.dark.main}66`,\n }}\n >\n /\n </Typography>\n\n <Box sx={{ position: 'relative', flexShrink: 0 }}>\n <DropdownButton\n type=\"button\"\n onClick={handleDropdownToggle}\n >\n <span>{currentItem}</span>\n <ExpandMoreRounded\n sx={{\n fontSize: 20,\n transition: 'transform 0.2s',\n transform: isDropdownOpen ? 'rotate(180deg)' : 'rotate(0deg)',\n }}\n />\n </DropdownButton>\n\n {dropdownItems.length > 0 && (\n <StyledMenu\n anchorEl={anchorEl}\n open={isDropdownOpen}\n onClose={handleClose}\n anchorOrigin={{\n vertical: 'bottom',\n horizontal: 'left',\n }}\n transformOrigin={{\n vertical: 'top',\n horizontal: 'left',\n }}\n >\n {dropdownItems.map((item, index) => (\n <StyledMenuItem\n key={index}\n onClick={() => handleItemClick(item)}\n isActive={item === currentItem}\n >\n {item}\n </StyledMenuItem>\n ))}\n </StyledMenu>\n )}\n </Box>\n </Box>\n );\n};"],"names":["styled","IconButton","Menu","MenuItem","useTheme","useState","_jsxs","Box","_jsx","HomeRounded","MuiBreadcrumbs","Typography","ExpandMoreRounded"],"mappings":";;;;;;;;AAmBA,MAAM,UAAU,GAAGA,eAAM,CAACC,mBAAU,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM;AACpD,IAAA,KAAK,EAAE,EAAE;AACT,IAAA,MAAM,EAAE,EAAE;IACV,YAAY,EAAE,CAAC,OAAO,KAAK,CAAC,KAAK,CAAC,YAAY,KAAK;UACjD,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,YAAY,EAAE,EAAE;UACrC,KAAK,CAAC,KAAK,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC;AACpC,IAAA,eAAe,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,SAAS,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI;AAC7E,IAAA,UAAU,EAAE,CAAC;AACb,IAAA,OAAO,EAAE,MAAM;IACf,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;AAC5B,QAAA,OAAO,EAAE,MAAM;AAChB,KAAA;AACD,IAAA,SAAS,EAAE;AACT,QAAA,eAAe,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,SAAS,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI;AAC7E,QAAA,OAAO,EAAE,GAAG;AACb,KAAA;AACF,CAAA,CAAC,CAAC;AAEH,MAAM,cAAc,GAAGD,eAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM;AACtD,IAAA,OAAO,EAAE,MAAM;AACf,IAAA,UAAU,EAAE,QAAQ;AACpB,IAAA,GAAG,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;IACrB,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IAC/B,YAAY,EAAE,CAAC,OAAO,KAAK,CAAC,KAAK,CAAC,YAAY,KAAK;UACjD,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,YAAY,EAAE,EAAE;UACrC,KAAK,CAAC,KAAK,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC;IACpC,MAAM,EAAE,aAAa,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAA,EAAA,CAAI;AAChD,IAAA,eAAe,EAAE,MAAM;AACvB,IAAA,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI;AAC9B,IAAA,UAAU,EAAE,GAAG;AACf,IAAA,UAAU,EAAE,QAAQ;AACpB,IAAA,MAAM,EAAE,SAAS;AACjB,IAAA,UAAU,EAAE,mBAAmB;AAC/B,IAAA,QAAQ,EAAE,UAAU;AACpB,IAAA,SAAS,EAAE;QACT,WAAW,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAA,EAAA,CAAI;AAC5C,KAAA;IACD,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;QAC9B,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;AAC/B,QAAA,GAAG,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;AACxB,KAAA;AACF,CAAA,CAAC,CAAC;AAEH,MAAM,UAAU,GAAGA,eAAM,CAACE,aAAI,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM;AAC9C,IAAA,kBAAkB,EAAE;AAClB,QAAA,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;AAC3B,QAAA,KAAK,EAAE,OAAO;QACd,YAAY,EAAE,CAAC,OAAO,KAAK,CAAC,KAAK,CAAC,YAAY,KAAK;cACnD,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,YAAY,EAAE,EAAE;cACrC,KAAK,CAAC,KAAK,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC;QAClC,MAAM,EAAE,aAAa,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAA,EAAA,CAAI;AAChD,QAAA,SAAS,EAAE,yEAAyE;AACrF,KAAA;AACF,CAAA,CAAC,CAAC;AAEH,MAAM,cAAc,GAAGF,eAAM,CAACG,iBAAQ,CAAC,CAAyB,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM;IACxF,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;AAC/B,IAAA,QAAQ,EAAE,UAAU;AACpB,IAAA,KAAK,EAAE,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,GAAG,SAAS;IACxD,UAAU,EAAE,QAAQ,GAAG,GAAG,GAAG,GAAG;IAChC,eAAe,EAAE,QAAQ,GAAG,SAAS,GAAG,aAAa;AACrD,IAAA,SAAS,EAAE;AACT,QAAA,eAAe,EAAE,SAAS;AAC3B,KAAA;AACF,CAAA,CAAC,CAAC;AAEI,MAAM,UAAU,GAA8B,CAAC,EACpD,KAAK,EACL,WAAW,EACX,aAAa,GAAG,EAAE,EAClB,YAAY,GACb,KAAI;AACH,IAAA,MAAM,KAAK,GAAGC,sBAAQ,EAAE;IACxB,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAGC,cAAQ,CAAqB,IAAI,CAAC;AAClE,IAAA,MAAM,cAAc,GAAG,OAAO,CAAC,QAAQ,CAAC;AAExC,IAAA,MAAM,oBAAoB,GAAG,CAAC,KAA0C,KAAI;AAC1E,QAAA,WAAW,CAAC,KAAK,CAAC,aAAa,CAAC;AAClC,IAAA,CAAC;IAED,MAAM,WAAW,GAAG,MAAK;QACvB,WAAW,CAAC,IAAI,CAAC;AACnB,IAAA,CAAC;AAED,IAAA,MAAM,eAAe,GAAG,CAAC,IAAY,KAAI;AACvC,QAAA,YAAY,GAAG,IAAI,CAAC;AACpB,QAAA,WAAW,EAAE;AACf,IAAA,CAAC;IAED,QACEC,gBAACC,YAAG,EAAA,EACF,SAAS,EAAC,KAAK,EACf,EAAE,EAAE;AACF,YAAA,OAAO,EAAE,MAAM;AACf,YAAA,UAAU,EAAE,QAAQ;YACpB,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE;YACvB,QAAQ,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,UAAU,EAAE;AAC3C,YAAA,QAAQ,EAAE,SAAS;AACpB,SAAA,EAAA,QAAA,EAAA,CAEDC,cAAA,CAAC,UAAU,EAAA,EAAA,YAAA,EAAY,MAAM,EAAA,QAAA,EAC3BA,cAAA,CAACC,yBAAW,EAAA,EAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAC,SAAS,EAAC,EAAA,CAAI,EAAA,CAC1C,EAEbD,cAAA,CAACE,oBAAc,EAAA,EACb,SAAS,EAAC,GAAG,EACb,EAAE,EAAE;oBACF,OAAO,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE;AACnC,oBAAA,6BAA6B,EAAE;wBAC7B,KAAK,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAA,EAAA,CAAI;AACtC,qBAAA;AACF,iBAAA,EAAA,QAAA,EAEA,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,MACrBF,cAAA,CAACG,mBAAU,EAAA,EAET,EAAE,EAAE;AACF,wBAAA,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI;AAC9B,wBAAA,UAAU,EAAE,GAAG;wBACf,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE;AACtB,wBAAA,UAAU,EAAE,QAAQ;AACpB,wBAAA,QAAQ,EAAE,SAAS;AACpB,qBAAA,EAAA,QAAA,EAEA,IAAI,CAAC,KAAK,EAAA,EATN,KAAK,CAUC,CACd,CAAC,EAAA,CACa,EAEjBH,cAAA,CAACG,mBAAU,EAAA,EACT,EAAE,EAAE;oBACF,OAAO,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE;oBACrC,KAAK,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAA,EAAA,CAAI;AACtC,iBAAA,EAAA,QAAA,EAAA,GAAA,EAAA,CAGU,EAEbL,eAAA,CAACC,YAAG,EAAA,EAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC,EAAE,EAAA,QAAA,EAAA,CAC9CD,eAAA,CAAC,cAAc,EAAA,EACb,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,oBAAoB,EAAA,QAAA,EAAA,CAE7BE,cAAA,CAAA,MAAA,EAAA,EAAA,QAAA,EAAO,WAAW,GAAQ,EAC1BA,cAAA,CAACI,+BAAiB,EAAA,EAChB,EAAE,EAAE;AACF,oCAAA,QAAQ,EAAE,EAAE;AACZ,oCAAA,UAAU,EAAE,gBAAgB;oCAC5B,SAAS,EAAE,cAAc,GAAG,gBAAgB,GAAG,cAAc;iCAC9D,EAAA,CACD,CAAA,EAAA,CACa,EAEhB,aAAa,CAAC,MAAM,GAAG,CAAC,KACvBJ,cAAA,CAAC,UAAU,EAAA,EACT,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,cAAc,EACpB,OAAO,EAAE,WAAW,EACpB,YAAY,EAAE;AACZ,4BAAA,QAAQ,EAAE,QAAQ;AAClB,4BAAA,UAAU,EAAE,MAAM;AACnB,yBAAA,EACD,eAAe,EAAE;AACf,4BAAA,QAAQ,EAAE,KAAK;AACf,4BAAA,UAAU,EAAE,MAAM;AACnB,yBAAA,EAAA,QAAA,EAEA,aAAa,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,MAC7BA,eAAC,cAAc,EAAA,EAEb,OAAO,EAAE,MAAM,eAAe,CAAC,IAAI,CAAC,EACpC,QAAQ,EAAE,IAAI,KAAK,WAAW,EAAA,QAAA,EAE7B,IAAI,IAJA,KAAK,CAKK,CAClB,CAAC,EAAA,CACS,CACd,CAAA,EAAA,CACG,CAAA,EAAA,CACF;AAEV;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Card.js","sources":["../../../../src/components/Card.tsx"],"sourcesContent":["
|
|
1
|
+
{"version":3,"file":"Card.js","sources":["../../../../src/components/Card.tsx"],"sourcesContent":["\n\nimport React from 'react';\nimport { Box, styled, SxProps, Theme } from '@mui/material';\n\ninterface CardProps {\n children: React.ReactNode;\n className?: string;\n padding?: 'none' | 'sm' | 'md' | 'lg';\n variant?: 'default' | 'bordered' | 'elevated';\n sx?: SxProps<Theme>; // Add sx prop to support Material-UI styling\n}\n\nconst StyledCard = styled(Box, {\n shouldForwardProp: (prop) => prop !== 'customPadding' && prop !== 'customVariant',\n})<{ customPadding: string; customVariant: string }>(({ theme, customPadding, customVariant }) => {\n const paddingStyles = {\n none: { padding: 0 },\n sm: { padding: theme.spacing(2) }, // 16px\n md: { padding: theme.spacing(3) }, // 24px\n lg: { padding: theme.spacing(4) }, // 32px\n };\n\n const variantStyles = {\n default: {\n border: `1px solid ${theme.palette.dark.main}10`, // dark.main with 10% opacity\n },\n bordered: {\n border: `2px solid ${theme.palette.dark.main}20`, // dark.main with 20% opacity\n },\n elevated: {\n border: `1px solid ${theme.palette.dark.main}05`, // dark.main with 5% opacity\n boxShadow: theme.shadows[4], // MUI shadow level 4 for \"elevated\"\n },\n };\n\n const borderRadiusValue = typeof theme.shape.borderRadius === 'string'\n ? parseInt(theme.shape.borderRadius, 10)\n : theme.shape.borderRadius || 4;\n\n return {\n borderRadius: borderRadiusValue * 2, // Matches rounded-xl (approx 12px)\n overflow: 'visible',\n backgroundColor: theme.palette.light.main, // Matches #FEFDF7\n ...paddingStyles[customPadding as keyof typeof paddingStyles],\n ...variantStyles[customVariant as keyof typeof variantStyles],\n };\n});\n\nexport const Card: React.FC<CardProps> = ({\n children,\n className = '',\n padding = 'md',\n variant = 'default',\n sx, // Destructure sx prop\n}) => {\n return (\n <StyledCard\n className={className}\n customPadding={padding}\n customVariant={variant}\n sx={sx} // Pass sx prop to StyledCard\n >\n {children}\n </StyledCard>\n );\n};"],"names":["styled","Box","_jsx"],"mappings":";;;;;AAaA,MAAM,UAAU,GAAGA,eAAM,CAACC,YAAG,EAAE;AAC7B,IAAA,iBAAiB,EAAE,CAAC,IAAI,KAAK,IAAI,KAAK,eAAe,IAAI,IAAI,KAAK,eAAe;CAClF,CAAC,CAAmD,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,KAAI;AAC/F,IAAA,MAAM,aAAa,GAAG;AACpB,QAAA,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE;AACpB,QAAA,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;AACjC,QAAA,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;AACjC,QAAA,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;KAClC;AAED,IAAA,MAAM,aAAa,GAAG;AACpB,QAAA,OAAO,EAAE;YACP,MAAM,EAAE,CAAA,UAAA,EAAa,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAA,EAAA,CAAI;AACjD,SAAA;AACD,QAAA,QAAQ,EAAE;YACR,MAAM,EAAE,CAAA,UAAA,EAAa,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAA,EAAA,CAAI;AACjD,SAAA;AACD,QAAA,QAAQ,EAAE;YACR,MAAM,EAAE,CAAA,UAAA,EAAa,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAA,EAAA,CAAI;YAChD,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;AAC5B,SAAA;KACF;IAED,MAAM,iBAAiB,GAAG,OAAO,KAAK,CAAC,KAAK,CAAC,YAAY,KAAK;UAC1D,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,YAAY,EAAE,EAAE;UACrC,KAAK,CAAC,KAAK,CAAC,YAAY,IAAI,CAAC;IAEjC,OAAO;AACL,QAAA,YAAY,EAAE,iBAAiB,GAAG,CAAC;AACnC,QAAA,QAAQ,EAAE,SAAS;QACnB,eAAe,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI;QACzC,GAAG,aAAa,CAAC,aAA2C,CAAC;QAC7D,GAAG,aAAa,CAAC,aAA2C,CAAC;KAC9D;AACH,CAAC,CAAC;MAEW,IAAI,GAAwB,CAAC,EACxC,QAAQ,EACR,SAAS,GAAG,EAAE,EACd,OAAO,GAAG,IAAI,EACd,OAAO,GAAG,SAAS,EACnB,EAAE;AACH,EAAA,KAAI;IACH,QACEC,eAAC,UAAU,EAAA,EACT,SAAS,EAAE,SAAS,EACpB,aAAa,EAAE,OAAO,EACtB,aAAa,EAAE,OAAO,EACtB,EAAE,EAAE,EAAE,EAAA,QAAA,EAEL,QAAQ,EAAA,CACE;AAEjB;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Checkbox.js","sources":["../../../../src/components/Checkbox.tsx"],"sourcesContent":["
|
|
1
|
+
{"version":3,"file":"Checkbox.js","sources":["../../../../src/components/Checkbox.tsx"],"sourcesContent":["\n\nimport React from 'react';\nimport { Box, Checkbox as MuiCheckbox, CheckboxProps, FormControlLabel, styled, Typography } from '@mui/material';\n\ninterface CustomCheckboxProps extends CheckboxProps {\n label: string;\n description?: string;\n}\n\nconst StyledWrapper = styled(Box)(({ theme }) => ({\n display: 'flex',\n alignItems: 'flex-start',\n}));\n\nconst StyledCheckbox = styled(MuiCheckbox)(({ theme }) => ({\n width: 16, // Matches Tailwind's w-4 (16px)\n height: 16, // Matches Tailwind's h-4 (16px)\n color: theme.palette.dark.main + '33', // dark.main with 20% opacity (border-dark/20)\n '&.Mui-checked': {\n color: theme.palette.primary.main, // text-primary\n },\n '&:focus': {\n outline: `2px solid ${theme.palette.primary.main}`, // focus:ring-2 focus:ring-primary\n outlineOffset: 2,\n },\n borderRadius: theme.shape.borderRadius, // Matches rounded\n cursor: 'pointer',\n}));\n\nconst StyledLabel = styled(Typography)(({ theme }) => ({\n fontSize: '1rem', // text-base (16px)\n fontWeight: 500, // font-medium\n color: theme.palette.dark.main, // text-dark\n cursor: 'pointer',\n}));\n\nconst StyledDescription = styled(Typography)(({ theme }) => ({\n fontSize: '0.875rem', // text-sm (14px)\n color: theme.palette.dark.main + '99', // dark.main with 60% opacity (text-dark/60)\n marginTop: theme.spacing(0.5), // mt-0.5\n}));\n\nexport const Checkbox: React.FC<CustomCheckboxProps> = ({\n label,\n description,\n className = '',\n id,\n ...props\n}) => {\n const checkboxId = id || `checkbox-${Math.random().toString(36).substr(2, 9)}`;\n\n return (\n <StyledWrapper className={className}>\n <FormControlLabel\n control={\n <StyledCheckbox\n id={checkboxId}\n {...props}\n />\n }\n label={\n <Box sx={{ ml: 1.5, display: 'flex', flexDirection: 'column' }}>\n <StyledLabel>{label}</StyledLabel>\n {description && <StyledDescription>{description}</StyledDescription>}\n </Box>\n }\n />\n </StyledWrapper>\n );\n};"],"names":["styled","Box","MuiCheckbox","Typography","_jsx","FormControlLabel","_jsxs"],"mappings":";;;;;AAUA,MAAM,aAAa,GAAGA,eAAM,CAACC,YAAG,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM;AAChD,IAAA,OAAO,EAAE,MAAM;AACf,IAAA,UAAU,EAAE,YAAY;AACzB,CAAA,CAAC,CAAC;AAEH,MAAM,cAAc,GAAGD,eAAM,CAACE,iBAAW,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM;IACzD,KAAK,EAAE,EAAE;IACT,MAAM,EAAE,EAAE;IACV,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI;AACrC,IAAA,eAAe,EAAE;QACf,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI;AAClC,KAAA;AACD,IAAA,SAAS,EAAE;QACT,OAAO,EAAE,CAAA,UAAA,EAAa,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAA,CAAE;AAClD,QAAA,aAAa,EAAE,CAAC;AACjB,KAAA;AACD,IAAA,YAAY,EAAE,KAAK,CAAC,KAAK,CAAC,YAAY;AACtC,IAAA,MAAM,EAAE,SAAS;AAClB,CAAA,CAAC,CAAC;AAEH,MAAM,WAAW,GAAGF,eAAM,CAACG,mBAAU,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM;IACrD,QAAQ,EAAE,MAAM;IAChB,UAAU,EAAE,GAAG;IACf,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI;AAC9B,IAAA,MAAM,EAAE,SAAS;AAClB,CAAA,CAAC,CAAC;AAEH,MAAM,iBAAiB,GAAGH,eAAM,CAACG,mBAAU,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM;IAC3D,QAAQ,EAAE,UAAU;IACpB,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI;IACrC,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;AAC9B,CAAA,CAAC,CAAC;MAEU,QAAQ,GAAkC,CAAC,EACtD,KAAK,EACL,WAAW,EACX,SAAS,GAAG,EAAE,EACd,EAAE,EACF,GAAG,KAAK,EACT,KAAI;IACH,MAAM,UAAU,GAAG,EAAE,IAAI,YAAY,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA,CAAE;AAE9E,IAAA,QACEC,cAAA,CAAC,aAAa,EAAA,EAAC,SAAS,EAAE,SAAS,EAAA,QAAA,EACjCA,cAAA,CAACC,yBAAgB,EAAA,EACf,OAAO,EACLD,cAAA,CAAC,cAAc,EAAA,EACb,EAAE,EAAE,UAAU,EAAA,GACV,KAAK,EAAA,CACT,EAEJ,KAAK,EACHE,eAAA,CAACL,YAAG,EAAA,EAAC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,EAAA,QAAA,EAAA,CAC5DG,cAAA,CAAC,WAAW,EAAA,EAAA,QAAA,EAAE,KAAK,EAAA,CAAe,EACjC,WAAW,IAAIA,cAAA,CAAC,iBAAiB,EAAA,EAAA,QAAA,EAAE,WAAW,EAAA,CAAqB,CAAA,EAAA,CAChE,EAAA,CAER,EAAA,CACY;AAEpB;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Concertina.js","sources":["../../../../src/components/Concertina.tsx"],"sourcesContent":["'use client';\n\nimport React, { useState } from 'react';\nimport { Box, styled, Typography, IconButton, Collapse } from '@mui/material';\nimport { ExpandMoreRounded, LinkRounded } from '@mui/icons-material';\n\ninterface ConcertinaSection {\n id: string;\n title: string;\n content: string;\n}\n\ninterface ConcertinaProps {\n sections: ConcertinaSection[];\n}\n\nconst StyledConcertina = styled(Box)(({ theme }) => ({\n width: '100%',\n display: 'flex',\n flexDirection: 'column',\n gap: theme.spacing(1), // space-y-2\n}));\n\nconst StyledSection = styled(Box)(({ theme }) => ({\n border: `1px solid ${theme.palette.grey[200]}`, // border-gray-200\n borderRadius: (typeof theme.shape.borderRadius === 'string'\n ? parseInt(theme.shape.borderRadius, 10)\n : theme.shape.borderRadius || 4) * 2, // rounded-lg\n overflow: 'hidden',\n}));\n\nconst StyledHeader = styled(Box)(({ theme }) => ({\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n padding: theme.spacing(3), // p-3 sm:p-4 md:p-6\n cursor: 'pointer',\n transition: 'background-color 0.2s',\n gap: theme.spacing(2), // gap-2\n '&:hover': {\n backgroundColor: theme.palette.light.main, // hover:bg-[#FDFCEE]\n },\n [theme.breakpoints.up('sm')]: {\n padding: theme.spacing(4),\n },\n [theme.breakpoints.up('md')]: {\n padding: theme.spacing(6),\n },\n}));\n\nconst StyledTitleWrapper = styled(Box)(({ theme }) => ({\n display: 'flex',\n alignItems: 'center',\n gap: theme.spacing(3), // sm:gap-3\n flex: 1,\n minWidth: 0,\n [theme.breakpoints.down('sm')]: {\n gap: theme.spacing(2), // gap-2\n },\n}));\n\nconst StyledTitle = styled(Typography, {\n shouldForwardProp: (prop) => prop !== 'isHovered',\n})<{ isHovered: boolean }>(({ theme, isHovered }) => ({\n fontWeight: 700, // font-bold\n fontSize: '1.5rem', // text-2xl\n lineHeight: 1.2, // leading-tight\n color: theme.palette.dark.main, // text-[#4D3019]\n wordBreak: 'break-word', // break-words\n position: 'relative',\n '&:after': {\n content: '\"\"',\n position: 'absolute',\n bottom: 0,\n left: 0,\n width: '100%',\n height: 1,\n backgroundColor: theme.palette.accent.main, // bg-orange-500\n display: isHovered ? 'block' : 'none',\n },\n [theme.breakpoints.down('lg')]: {\n fontSize: '1.25rem', // lg:text-[28px]\n },\n [theme.breakpoints.down('md')]: {\n fontSize: '1.125rem', // md:text-xl\n },\n [theme.breakpoints.down('sm')]: {\n fontSize: '1rem', // sm:text-lg\n },\n}));\n\nconst StyledLinkButton = styled(IconButton)(({ theme }) => ({\n color: theme.palette.accent.main, // text-orange-500\n '&:hover': {\n color: theme.palette.accent.dark || theme.palette.accent.main, // hover:text-orange-600\n },\n padding: 0,\n}));\n\nconst StyledTooltip = styled(Box)(({ theme }) => ({\n position: 'absolute',\n top: -40, // -top-10\n left: '50%',\n transform: 'translateX(-50%)',\n backgroundColor: theme.palette.grey[900], // bg-gray-900\n color: theme.palette.common.white, // text-white\n fontSize: '0.75rem', // text-xs\n padding: theme.spacing(1, 2), // px-2 py-1\n borderRadius: theme.shape.borderRadius, // rounded\n whiteSpace: 'nowrap',\n zIndex: 10,\n [theme.breakpoints.up('sm')]: {\n fontSize: '0.875rem', // sm:text-sm\n padding: theme.spacing(1.5, 3), // sm:px-3 sm:py-1.5\n },\n}));\n\nconst StyledChevron = styled(ExpandMoreRounded)(({ theme }) => ({\n color: theme.palette.grey[500], // text-gray-500\n transition: 'transform 0.2s', // transition-transform duration-200\n width: 24, // sm:w-6\n height: 24, // sm:h-6\n [theme.breakpoints.down('sm')]: {\n width: 20,\n height: 20,\n },\n}));\n\nconst StyledContent = styled(Box)(({ theme }) => ({\n padding: theme.spacing(2, 3, 3), // px-3 pb-3 pt-2\n [theme.breakpoints.up('sm')]: {\n padding: theme.spacing(2, 4, 4), // sm:px-4 sm:pb-4\n },\n [theme.breakpoints.up('md')]: {\n padding: theme.spacing(2, 6, 6), // md:px-6 md:pb-6\n },\n}));\n\nconst StyledContentText = styled(Typography)(({ theme }) => ({\n color: theme.palette.dark.main, // text-[#4D3019]\n lineHeight: 1.5, // leading-relaxed\n wordBreak: 'break-word', // break-words\n fontSize: 13, // style={{ fontSize: '13px' }}\n}));\n\nexport function Concertina({ sections }: ConcertinaProps) {\n const [openSections, setOpenSections] = useState<Set<string>>(new Set());\n const [hoveredTitle, setHoveredTitle] = useState<string | null>(null);\n const [copiedId, setCopiedId] = useState<string | null>(null);\n\n const toggleSection = (id: string) => {\n const newOpenSections = new Set(openSections);\n if (newOpenSections.has(id)) {\n newOpenSections.delete(id);\n } else {\n newOpenSections.add(id);\n }\n setOpenSections(newOpenSections);\n };\n\n const copyJumpLink = (id: string, e: React.MouseEvent) => {\n e.stopPropagation();\n const url = `${window.location.origin}${window.location.pathname}#${id}`;\n navigator.clipboard.writeText(url);\n setCopiedId(id);\n setTimeout(() => setCopiedId(null), 2000);\n };\n\n return (\n <StyledConcertina>\n {sections.map((section) => (\n <StyledSection key={section.id} id={section.id}>\n <StyledHeader\n onClick={() => toggleSection(section.id)}\n onMouseEnter={() => setHoveredTitle(section.id)}\n onMouseLeave={() => setHoveredTitle(null)}\n >\n <StyledTitleWrapper>\n <StyledTitle isHovered={hoveredTitle === section.id} variant=\"h3\">\n {section.title}\n </StyledTitle>\n {hoveredTitle === section.id && (\n <Box sx={{ position: 'relative', flexShrink: 0 }}>\n <StyledLinkButton\n onClick={(e) => copyJumpLink(section.id, e)}\n aria-label=\"Copy link\"\n >\n <LinkRounded sx={{fontSize: 20}} />\n </StyledLinkButton>\n {copiedId === section.id && (\n <StyledTooltip>\n Link copied\n </StyledTooltip>\n )}\n </Box>\n )}\n </StyledTitleWrapper>\n <StyledChevron\n sx={{ fontSize:20, transform: openSections.has(section.id) ? 'rotate(180deg)' : 'none' }}\n />\n </StyledHeader>\n <Collapse in={openSections.has(section.id)}>\n <StyledContent>\n <StyledContentText>{section.content}</StyledContentText>\n </StyledContent>\n </Collapse>\n </StyledSection>\n ))}\n </StyledConcertina>\n );\n}"],"names":[],"mappings":";;;;;;;;AAgBA;AACE;AACA;AACA;;AAED;AAED;AACE;;;AAGA;AACA;AACD;AAED;AACE;AACA;AACA;;AAEA;AACA;;AAEA;;AAEC;;AAEC;AACD;;AAEC;AACD;AACF;AAED;AACE;AACA;;AAEA;AACA;;;AAGC;AACF;AAED;;;;;;;;AAQE;AACA;AACE;AACA;AACA;AACA;AACA;AACA;;;AAGD;;;AAGA;;;AAGA;;;AAGA;AACF;AAED;;AAEE;AACE;AACD;AACD;AACD;AAED;AACE;AACA;AACA;AACA;;;;;AAKA;AACA;AACA;;;;AAIC;AACF;AAED;;;;;;AAMI;AACA;AACD;AACF;AAED;AACE;;AAEE;AACD;;AAEC;AACD;AACF;AAED;;;;;AAKC;AAEK;AACJ;;;AAIA;AACE;AACA;AACE;;;AAEA;;;AAGJ;AAEA;;AAEE;AACA;;;AAGF;;AA4CF;;"}
|
|
1
|
+
{"version":3,"file":"Concertina.js","sources":["../../../../src/components/Concertina.tsx"],"sourcesContent":["\n\nimport React, { useState } from 'react';\nimport { Box, styled, Typography, IconButton, Collapse } from '@mui/material';\nimport { ExpandMoreRounded, LinkRounded } from '@mui/icons-material';\n\ninterface ConcertinaSection {\n id: string;\n title: string;\n content: string;\n}\n\ninterface ConcertinaProps {\n sections: ConcertinaSection[];\n}\n\nconst StyledConcertina = styled(Box)(({ theme }) => ({\n width: '100%',\n display: 'flex',\n flexDirection: 'column',\n gap: theme.spacing(1), // space-y-2\n}));\n\nconst StyledSection = styled(Box)(({ theme }) => ({\n border: `1px solid ${theme.palette.grey[200]}`, // border-gray-200\n borderRadius: (typeof theme.shape.borderRadius === 'string'\n ? parseInt(theme.shape.borderRadius, 10)\n : theme.shape.borderRadius || 4) * 2, // rounded-lg\n overflow: 'hidden',\n}));\n\nconst StyledHeader = styled(Box)(({ theme }) => ({\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n padding: theme.spacing(3), // p-3 sm:p-4 md:p-6\n cursor: 'pointer',\n transition: 'background-color 0.2s',\n gap: theme.spacing(2), // gap-2\n '&:hover': {\n backgroundColor: theme.palette.light.main, // hover:bg-[#FDFCEE]\n },\n [theme.breakpoints.up('sm')]: {\n padding: theme.spacing(4),\n },\n [theme.breakpoints.up('md')]: {\n padding: theme.spacing(6),\n },\n}));\n\nconst StyledTitleWrapper = styled(Box)(({ theme }) => ({\n display: 'flex',\n alignItems: 'center',\n gap: theme.spacing(3), // sm:gap-3\n flex: 1,\n minWidth: 0,\n [theme.breakpoints.down('sm')]: {\n gap: theme.spacing(2), // gap-2\n },\n}));\n\nconst StyledTitle = styled(Typography, {\n shouldForwardProp: (prop) => prop !== 'isHovered',\n})<{ isHovered: boolean }>(({ theme, isHovered }) => ({\n fontWeight: 700, // font-bold\n fontSize: '1.5rem', // text-2xl\n lineHeight: 1.2, // leading-tight\n color: theme.palette.dark.main, // text-[#4D3019]\n wordBreak: 'break-word', // break-words\n position: 'relative',\n '&:after': {\n content: '\"\"',\n position: 'absolute',\n bottom: 0,\n left: 0,\n width: '100%',\n height: 1,\n backgroundColor: theme.palette.accent.main, // bg-orange-500\n display: isHovered ? 'block' : 'none',\n },\n [theme.breakpoints.down('lg')]: {\n fontSize: '1.25rem', // lg:text-[28px]\n },\n [theme.breakpoints.down('md')]: {\n fontSize: '1.125rem', // md:text-xl\n },\n [theme.breakpoints.down('sm')]: {\n fontSize: '1rem', // sm:text-lg\n },\n}));\n\nconst StyledLinkButton = styled(IconButton)(({ theme }) => ({\n color: theme.palette.accent.main, // text-orange-500\n '&:hover': {\n color: theme.palette.accent.dark || theme.palette.accent.main, // hover:text-orange-600\n },\n padding: 0,\n}));\n\nconst StyledTooltip = styled(Box)(({ theme }) => ({\n position: 'absolute',\n top: -40, // -top-10\n left: '50%',\n transform: 'translateX(-50%)',\n backgroundColor: theme.palette.grey[900], // bg-gray-900\n color: theme.palette.common.white, // text-white\n fontSize: '0.75rem', // text-xs\n padding: theme.spacing(1, 2), // px-2 py-1\n borderRadius: theme.shape.borderRadius, // rounded\n whiteSpace: 'nowrap',\n zIndex: 10,\n [theme.breakpoints.up('sm')]: {\n fontSize: '0.875rem', // sm:text-sm\n padding: theme.spacing(1.5, 3), // sm:px-3 sm:py-1.5\n },\n}));\n\nconst StyledChevron = styled(ExpandMoreRounded)(({ theme }) => ({\n color: theme.palette.grey[500], // text-gray-500\n transition: 'transform 0.2s', // transition-transform duration-200\n width: 24, // sm:w-6\n height: 24, // sm:h-6\n [theme.breakpoints.down('sm')]: {\n width: 20,\n height: 20,\n },\n}));\n\nconst StyledContent = styled(Box)(({ theme }) => ({\n padding: theme.spacing(2, 3, 3), // px-3 pb-3 pt-2\n [theme.breakpoints.up('sm')]: {\n padding: theme.spacing(2, 4, 4), // sm:px-4 sm:pb-4\n },\n [theme.breakpoints.up('md')]: {\n padding: theme.spacing(2, 6, 6), // md:px-6 md:pb-6\n },\n}));\n\nconst StyledContentText = styled(Typography)(({ theme }) => ({\n color: theme.palette.dark.main, // text-[#4D3019]\n lineHeight: 1.5, // leading-relaxed\n wordBreak: 'break-word', // break-words\n fontSize: 13, // style={{ fontSize: '13px' }}\n}));\n\nexport function Concertina({ sections }: ConcertinaProps) {\n const [openSections, setOpenSections] = useState<Set<string>>(new Set());\n const [hoveredTitle, setHoveredTitle] = useState<string | null>(null);\n const [copiedId, setCopiedId] = useState<string | null>(null);\n\n const toggleSection = (id: string) => {\n const newOpenSections = new Set(openSections);\n if (newOpenSections.has(id)) {\n newOpenSections.delete(id);\n } else {\n newOpenSections.add(id);\n }\n setOpenSections(newOpenSections);\n };\n\n const copyJumpLink = (id: string, e: React.MouseEvent) => {\n e.stopPropagation();\n const url = `${window.location.origin}${window.location.pathname}#${id}`;\n navigator.clipboard.writeText(url);\n setCopiedId(id);\n setTimeout(() => setCopiedId(null), 2000);\n };\n\n return (\n <StyledConcertina>\n {sections.map((section) => (\n <StyledSection key={section.id} id={section.id}>\n <StyledHeader\n onClick={() => toggleSection(section.id)}\n onMouseEnter={() => setHoveredTitle(section.id)}\n onMouseLeave={() => setHoveredTitle(null)}\n >\n <StyledTitleWrapper>\n <StyledTitle isHovered={hoveredTitle === section.id} variant=\"h3\">\n {section.title}\n </StyledTitle>\n {hoveredTitle === section.id && (\n <Box sx={{ position: 'relative', flexShrink: 0 }}>\n <StyledLinkButton\n onClick={(e) => copyJumpLink(section.id, e)}\n aria-label=\"Copy link\"\n >\n <LinkRounded sx={{fontSize: 20}} />\n </StyledLinkButton>\n {copiedId === section.id && (\n <StyledTooltip>\n Link copied\n </StyledTooltip>\n )}\n </Box>\n )}\n </StyledTitleWrapper>\n <StyledChevron\n sx={{ fontSize:20, transform: openSections.has(section.id) ? 'rotate(180deg)' : 'none' }}\n />\n </StyledHeader>\n <Collapse in={openSections.has(section.id)}>\n <StyledContent>\n <StyledContentText>{section.content}</StyledContentText>\n </StyledContent>\n </Collapse>\n </StyledSection>\n ))}\n </StyledConcertina>\n );\n}"],"names":["styled","Box","Typography","IconButton","ExpandMoreRounded","useState","_jsx","_jsxs","LinkRounded","Collapse"],"mappings":"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"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
"use client";
|
|
2
1
|
'use strict';
|
|
3
2
|
|
|
4
3
|
var jsxRuntime = require('react/jsx-runtime');
|
|
@@ -56,7 +55,7 @@ const StyledDefinitionText = material.styled(material.Typography)(({ theme }) =>
|
|
|
56
55
|
lineHeight: 1.5, // leading-relaxed
|
|
57
56
|
}));
|
|
58
57
|
function DefinitionBox({ term, definition, children }) {
|
|
59
|
-
const
|
|
58
|
+
const theme = ThemeProvider.useTheme();
|
|
60
59
|
const [isOpen, setIsOpen] = React.useState(false);
|
|
61
60
|
return (jsxRuntime.jsxs(StyledWrapper, { children: [jsxRuntime.jsxs(StyledParagraph, { children: [children, jsxRuntime.jsxs(StyledTermWrapper, { onClick: () => setIsOpen(!isOpen), children: [jsxRuntime.jsx(StyledTerm, { isOpen: isOpen, onMouseEnter: (e) => (e.currentTarget.style.borderBottomColor = theme.palette.secondary.main), onMouseLeave: (e) => (e.currentTarget.style.borderBottomColor = isOpen ? theme.palette.secondary.main : theme.palette.dark.main), children: term }), jsxRuntime.jsx(StyledIconWrapper, { children: isOpen ? (jsxRuntime.jsx(iconsMaterial.CloseRounded, { sx: {
|
|
62
61
|
fontSize: 16,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DefinitionBox.js","sources":["../../../../src/components/DefinitionBox.tsx"],"sourcesContent":["
|
|
1
|
+
{"version":3,"file":"DefinitionBox.js","sources":["../../../../src/components/DefinitionBox.tsx"],"sourcesContent":["\n\nimport React, { useState } from 'react';\nimport { Box, styled, Typography } from '@mui/material';\nimport { useTheme } from '../ThemeProvider';\nimport { AddRounded, CloseRounded } from '@mui/icons-material';\n\ninterface DefinitionBoxProps {\n term: string;\n definition: string;\n children: React.ReactNode;\n}\n\nconst StyledWrapper = styled(Box)(({ theme }) => ({\n // No specific wrapper styles needed, just a container\n}));\n\nconst StyledParagraph = styled(Typography)(({ 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)(({ theme }) => ({\n position: 'relative',\n display: 'inline-flex',\n alignItems: 'center',\n cursor: 'pointer',\n marginLeft: theme.spacing(0.5), // ml-1\n}));\n\nconst StyledTerm = styled('span', {\n shouldForwardProp: (prop) => prop !== 'isOpen',\n})<{ isOpen: boolean }>(({ theme, isOpen }) => ({\n paddingBottom: '1px', // style={{ paddingBottom: '1px' }}\n borderBottom: `2px solid ${isOpen ? theme.palette.secondary.main : theme.palette.dark.main}`, // border-b-2\n transition: 'border-bottom-color 0.2s', // transition-colors\n '&:hover': {\n borderBottomColor: theme.palette.secondary.main, // hover effect\n },\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 StyledDefinitionBox = 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, // rounded-lg\n border: `1px solid ${theme.palette.dark.main}33`, // border-[#4D3019]/20\n borderRight: `4px solid ${theme.palette.dark.main}33`, // border-r-4\n backgroundColor: theme.palette.light.main, // style={{ backgroundColor: '#FDFCEE' }}\n}));\n\nconst StyledDefinitionText = styled(Typography)(({ theme }) => ({\n fontSize: '14px', // text-[14px]\n color: theme.palette.dark.main, // text-[#4D3019]\n lineHeight: 1.5, // leading-relaxed\n}));\n\nexport function DefinitionBox({ term, definition, children }: DefinitionBoxProps) {\n const theme = useTheme();\n const [isOpen, setIsOpen] = useState(false);\n\n return (\n <StyledWrapper>\n <StyledParagraph>\n {children}\n <StyledTermWrapper onClick={() => setIsOpen(!isOpen)}>\n <StyledTerm\n isOpen={isOpen}\n onMouseEnter={(e) => (e.currentTarget.style.borderBottomColor = theme.palette.secondary.main)}\n onMouseLeave={(e) => (e.currentTarget.style.borderBottomColor = isOpen ? theme.palette.secondary.main : theme.palette.dark.main)}\n >\n {term}\n </StyledTerm>\n <StyledIconWrapper>\n {isOpen ? (\n <CloseRounded\n sx={{\n fontSize: 16,\n color: isOpen ? theme.palette.secondary.main : theme.palette.dark.main,\n '&:hover': {\n color: theme.palette.secondary.main\n }\n }}\n />\n ) : (\n <AddRounded\n sx={{\n fontSize: 16,\n color: theme.palette.dark.main,\n '&:hover': {\n color: theme.palette.secondary.main\n }\n }}\n />\n )}\n </StyledIconWrapper>\n </StyledTermWrapper>\n </StyledParagraph>\n {isOpen && (\n <StyledDefinitionBox>\n <StyledDefinitionText>{definition}</StyledDefinitionText>\n </StyledDefinitionBox>\n )}\n </StyledWrapper>\n );\n}"],"names":["styled","Box","Typography","useTheme","useState","_jsxs","_jsx","CloseRounded","AddRounded"],"mappings":"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"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
"use client";
|
|
2
1
|
'use strict';
|
|
3
2
|
|
|
4
3
|
var jsxRuntime = require('react/jsx-runtime');
|
|
@@ -167,7 +166,7 @@ const StyledUserName = material.styled(material.Typography)(({ theme }) => ({
|
|
|
167
166
|
},
|
|
168
167
|
}));
|
|
169
168
|
const Header = ({ userName = 'John Doe', userInitials = 'JD', }) => {
|
|
170
|
-
const
|
|
169
|
+
const theme = ThemeProvider.useTheme();
|
|
171
170
|
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: {
|
|
172
171
|
endAdornment: (jsxRuntime.jsx(StyledSearchButton, { children: jsxRuntime.jsx(StyledSearchIcon, { children: jsxRuntime.jsx(iconsMaterial.SearchRounded, { sx: { fontSize: 20 } }) }) })),
|
|
173
172
|
} }) }), jsxRuntime.jsxs(StyledUserContainer, { children: [jsxRuntime.jsx(StyledAvatar, { children: jsxRuntime.jsx(StyledAvatarText, { children: userInitials }) }), jsxRuntime.jsx(StyledUserName, { children: userName })] })] }));
|