ece-docs-components 1.0.7 → 1.0.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (99) hide show
  1. package/dist/cjs/ThemeProvider.js +121 -113
  2. package/dist/cjs/ThemeProvider.js.map +1 -1
  3. package/dist/cjs/components/ActionButton.js +0 -1
  4. package/dist/cjs/components/ActionButton.js.map +1 -1
  5. package/dist/cjs/components/Alert.js +0 -1
  6. package/dist/cjs/components/Alert.js.map +1 -1
  7. package/dist/cjs/components/Breadcrumb.js +1 -2
  8. package/dist/cjs/components/Breadcrumb.js.map +1 -1
  9. package/dist/cjs/components/Button.js +9 -6
  10. package/dist/cjs/components/Button.js.map +1 -1
  11. package/dist/cjs/components/Card.js +0 -1
  12. package/dist/cjs/components/Card.js.map +1 -1
  13. package/dist/cjs/components/Checkbox.js +0 -1
  14. package/dist/cjs/components/Checkbox.js.map +1 -1
  15. package/dist/cjs/components/Concertina.js +0 -1
  16. package/dist/cjs/components/Concertina.js.map +1 -1
  17. package/dist/cjs/components/DefinitionBox.js +1 -2
  18. package/dist/cjs/components/DefinitionBox.js.map +1 -1
  19. package/dist/cjs/components/Header.js +1 -2
  20. package/dist/cjs/components/Header.js.map +1 -1
  21. package/dist/cjs/components/Input.js +8 -11
  22. package/dist/cjs/components/Input.js.map +1 -1
  23. package/dist/cjs/components/Modal.js +0 -1
  24. package/dist/cjs/components/Modal.js.map +1 -1
  25. package/dist/cjs/components/NoteBox.js +0 -1
  26. package/dist/cjs/components/NoteBox.js.map +1 -1
  27. package/dist/cjs/components/Progress.js +1 -2
  28. package/dist/cjs/components/Progress.js.map +1 -1
  29. package/dist/cjs/components/Radio.js +2 -3
  30. package/dist/cjs/components/Radio.js.map +1 -1
  31. package/dist/cjs/components/ReadBy.js +1 -2
  32. package/dist/cjs/components/ReadBy.js.map +1 -1
  33. package/dist/cjs/components/Select.js +1 -2
  34. package/dist/cjs/components/Select.js.map +1 -1
  35. package/dist/cjs/components/Sidebar.js +1 -2
  36. package/dist/cjs/components/Sidebar.js.map +1 -1
  37. package/dist/cjs/components/SimpleModal.js +1 -2
  38. package/dist/cjs/components/SimpleModal.js.map +1 -1
  39. package/dist/cjs/components/StatusBar.js +0 -1
  40. package/dist/cjs/components/StatusBar.js.map +1 -1
  41. package/dist/cjs/components/TableOfContents.js +0 -1
  42. package/dist/cjs/components/TableOfContents.js.map +1 -1
  43. package/dist/cjs/components/Tabs.js +0 -1
  44. package/dist/cjs/components/Tabs.js.map +1 -1
  45. package/dist/cjs/components/Toggle.js +0 -1
  46. package/dist/cjs/components/Toggle.js.map +1 -1
  47. package/dist/cjs/index.js +0 -1
  48. package/dist/cjs/index.js.map +1 -1
  49. package/dist/esm/ThemeProvider.d.ts +1 -112
  50. package/dist/esm/ThemeProvider.js +122 -95
  51. package/dist/esm/ThemeProvider.js.map +1 -1
  52. package/dist/esm/components/ActionButton.js +0 -1
  53. package/dist/esm/components/ActionButton.js.map +1 -1
  54. package/dist/esm/components/Alert.js +0 -1
  55. package/dist/esm/components/Alert.js.map +1 -1
  56. package/dist/esm/components/Breadcrumb.js +1 -2
  57. package/dist/esm/components/Breadcrumb.js.map +1 -1
  58. package/dist/esm/components/Button.js +9 -6
  59. package/dist/esm/components/Button.js.map +1 -1
  60. package/dist/esm/components/Card.js +0 -1
  61. package/dist/esm/components/Card.js.map +1 -1
  62. package/dist/esm/components/Checkbox.js +0 -1
  63. package/dist/esm/components/Checkbox.js.map +1 -1
  64. package/dist/esm/components/Concertina.js +0 -1
  65. package/dist/esm/components/Concertina.js.map +1 -1
  66. package/dist/esm/components/DefinitionBox.js +1 -2
  67. package/dist/esm/components/DefinitionBox.js.map +1 -1
  68. package/dist/esm/components/Header.js +1 -2
  69. package/dist/esm/components/Header.js.map +1 -1
  70. package/dist/esm/components/Input.js +8 -11
  71. package/dist/esm/components/Input.js.map +1 -1
  72. package/dist/esm/components/Modal.js +0 -1
  73. package/dist/esm/components/Modal.js.map +1 -1
  74. package/dist/esm/components/NoteBox.js +0 -1
  75. package/dist/esm/components/NoteBox.js.map +1 -1
  76. package/dist/esm/components/Progress.js +3 -4
  77. package/dist/esm/components/Progress.js.map +1 -1
  78. package/dist/esm/components/Radio.js +2 -3
  79. package/dist/esm/components/Radio.js.map +1 -1
  80. package/dist/esm/components/ReadBy.js +1 -2
  81. package/dist/esm/components/ReadBy.js.map +1 -1
  82. package/dist/esm/components/Select.js +1 -2
  83. package/dist/esm/components/Select.js.map +1 -1
  84. package/dist/esm/components/Sidebar.js +1 -2
  85. package/dist/esm/components/Sidebar.js.map +1 -1
  86. package/dist/esm/components/SimpleModal.js +1 -2
  87. package/dist/esm/components/SimpleModal.js.map +1 -1
  88. package/dist/esm/components/StatusBar.js +0 -1
  89. package/dist/esm/components/StatusBar.js.map +1 -1
  90. package/dist/esm/components/TableOfContents.js +0 -1
  91. package/dist/esm/components/TableOfContents.js.map +1 -1
  92. package/dist/esm/components/Tabs.js +0 -1
  93. package/dist/esm/components/Tabs.js.map +1 -1
  94. package/dist/esm/components/Toggle.js +2 -3
  95. package/dist/esm/components/Toggle.js.map +1 -1
  96. package/dist/esm/index.d.ts +0 -1
  97. package/dist/esm/index.js +0 -1
  98. package/dist/esm/index.js.map +1 -1
  99. package/package.json +1 -1
@@ -1,21 +1,133 @@
1
- import { jsx, jsxs } from 'react/jsx-runtime';
1
+ import { jsxs, jsx } from 'react/jsx-runtime';
2
2
  import { createTheme, ThemeProvider as ThemeProvider$1 } from '@mui/material/styles';
3
- import { deepmerge } from '@mui/utils';
4
- import * as React from 'react';
5
3
  import { CssBaseline } from '@mui/material';
6
4
 
7
- const baseTheme = createTheme({
5
+ const theme = createTheme({
8
6
  palette: {
7
+ mode: 'light',
8
+ primary: {
9
+ main: '#AD46FF',
10
+ light: '#AD46FF',
11
+ dark: '#AD46FF',
12
+ contrastText: '#FFFFFF',
13
+ },
14
+ secondary: {
15
+ main: '#D79AFC',
16
+ light: '#D79AFC',
17
+ dark: '#D79AFC',
18
+ contrastText: '#FFFFFF',
19
+ },
20
+ error: {
21
+ main: '#F56B6B',
22
+ light: '#F56B6B',
23
+ dark: '#F56B6B',
24
+ contrastText: '#FFFFFF',
25
+ },
26
+ warning: {
27
+ main: '#F5D76E',
28
+ light: '#F5D76E',
29
+ dark: '#F5D76E',
30
+ contrastText: '#FFFBFF',
31
+ },
32
+ info: {
33
+ main: '#F5A623',
34
+ light: '#F5A623',
35
+ dark: '#F5A623',
36
+ contrastText: '#FFFFFF',
37
+ },
38
+ success: {
39
+ main: '#A3D977',
40
+ light: '#A3D977',
41
+ dark: '#A3D977',
42
+ contrastText: '#FFFFFF',
43
+ },
44
+ background: {
45
+ default: '#FDFCEE',
46
+ paper: '#FEFDF7',
47
+ },
9
48
  text: {
10
49
  primary: '#4D3019',
11
50
  secondary: '#826E5C',
12
- }
51
+ disabled: '#93908F',
52
+ },
53
+ divider: '#C6C7C0',
54
+ accent: {
55
+ main: '#FFEDD1',
56
+ },
57
+ dark: {
58
+ main: '#4D3019',
59
+ },
60
+ light: {
61
+ main: '#FEFDF7',
62
+ },
63
+ markedRead: {
64
+ main: '#A3D977',
65
+ },
66
+ custom: {
67
+ iconColor: '#ebc7ff',
68
+ primaryButtonTextColor: '#FFFFFF',
69
+ readByBackgroundColor: '#ebc7ff',
70
+ stepIndicatorTextColor: '#FFFFFF',
71
+ markAsReadBackgroundColor: '#ebc7ff',
72
+ tabBackgroundColor: '#F8F0FC',
73
+ },
13
74
  },
14
75
  typography: {
15
76
  fontFamily: ['Inter', '-apple-system', 'BlinkMacSystemFont', 'Segoe UI', 'Roboto', 'sans-serif'].join(','),
77
+ h1: {
78
+ color: '#4D3019',
79
+ },
80
+ h2: {
81
+ color: '#4D3019',
82
+ },
83
+ h3: {
84
+ color: '#4D3019',
85
+ },
86
+ h4: {
87
+ color: '#4D3019',
88
+ },
89
+ h5: {
90
+ color: '#4D3019',
91
+ },
92
+ h6: {
93
+ color: '#4D3019',
94
+ },
95
+ body1: {
96
+ color: '#4D3019',
97
+ },
98
+ body2: {
99
+ color: '#826E5C',
100
+ },
101
+ subtitle1: {
102
+ color: '#4D3019',
103
+ },
104
+ subtitle2: {
105
+ color: '#826E5C',
106
+ },
107
+ button: {
108
+ color: '#4D3019',
109
+ },
110
+ caption: {
111
+ color: '#826E5C',
112
+ },
113
+ overline: {
114
+ color: '#826E5C',
115
+ },
16
116
  allVariants: {
17
- color: '#4D3019'
18
- }
117
+ color: '#4D3019',
118
+ },
119
+ },
120
+ shape: {
121
+ borderRadius: 8,
122
+ },
123
+ breakpoints: {
124
+ values: {
125
+ xs: 320,
126
+ sm: 640,
127
+ md: 768,
128
+ lg: 1024,
129
+ xl: 1280,
130
+ },
19
131
  },
20
132
  components: {
21
133
  MuiTypography: {
@@ -39,98 +151,13 @@ const baseTheme = createTheme({
39
151
  },
40
152
  },
41
153
  },
42
- breakpoints: {
43
- values: {
44
- xs: 320,
45
- sm: 640,
46
- md: 768,
47
- lg: 1024,
48
- xl: 1280,
49
- },
50
- },
154
+ appName: 'ECE Docs',
51
155
  });
52
- const themeConfigs = {
53
- default: {
54
- palette: {
55
- primary: { main: '#AD46FF' },
56
- secondary: { main: '#D79AFC' },
57
- accent: { main: '#FFEDD1' },
58
- dark: { main: '#4D3019' },
59
- light: { main: '#FEFDF7' },
60
- markedRead: { main: '#A3D977' },
61
- text: {
62
- primary: '#4D3019',
63
- secondary: '#826E5C',
64
- },
65
- custom: {
66
- iconColor: '#ebc7ff',
67
- primaryButtonTextColor: '#FFFFFF',
68
- readByBackgroundColor: '#ebc7ff',
69
- stepIndicatorTextColor: '#FFFFFF',
70
- markAsReadBackgroundColor: '#ebc7ff',
71
- tabBackgroundColor: '#F8F0FC',
72
- },
73
- },
74
- appName: 'ECE Docs',
75
- },
76
- school: {
77
- palette: {
78
- primary: { main: '#386e41' },
79
- secondary: { main: '#8fc790' },
80
- accent: { main: '#d5ebde' },
81
- dark: { main: '#4D3019' },
82
- light: { main: '#FEFDF7' },
83
- markedRead: { main: '#A3D977' },
84
- text: {
85
- primary: '#4D3019',
86
- secondary: '#826E5C',
87
- },
88
- custom: {
89
- primaryButtonTextColor: '#FFFFFF',
90
- stepIndicatorTextColor: '#FFFFFF',
91
- },
92
- },
93
- appName: 'School Docs',
94
- },
95
- health: {
96
- palette: {
97
- primary: { main: '#4871cf' },
98
- secondary: { main: '#a4d6ff' },
99
- accent: { main: '#FF9ecb' },
100
- dark: { main: '#4D3019' },
101
- light: { main: '#FEFDF7' },
102
- markedRead: { main: '#A3D977' },
103
- text: {
104
- primary: '#4D3019',
105
- secondary: '#826E5C',
106
- },
107
- custom: {
108
- iconColor: '#a4d6ff',
109
- primaryButtonTextColor: '#FFFFFF',
110
- markAsReadBorderColor: '#FF9ecb',
111
- readByBackgroundColor: '#a4d6ff',
112
- stepIndicatorTextColor: '#FFFFFF',
113
- tabBackgroundColor: '#a4d6ff',
114
- },
115
- },
116
- appName: 'GP Docs',
117
- },
118
- };
119
- const createMuiTheme = (key) => {
120
- return createTheme(deepmerge(baseTheme, themeConfigs[key]));
121
- };
122
- const ThemeContext = React.createContext(undefined);
123
156
  const ThemeProvider = ({ children }) => {
124
- const [currentTheme, setCurrentTheme] = React.useState('default');
125
- const theme = React.useMemo(() => createMuiTheme(currentTheme), [currentTheme]);
126
- return (jsx(ThemeContext.Provider, { value: { currentTheme, setTheme: setCurrentTheme, theme }, children: jsxs(ThemeProvider$1, { theme: theme, children: [jsx(CssBaseline, {}), children] }) }));
157
+ return (jsxs(ThemeProvider$1, { theme: theme, children: [jsx(CssBaseline, {}), children] }));
127
158
  };
128
159
  const useTheme = () => {
129
- const context = React.useContext(ThemeContext);
130
- if (context === undefined) {
131
- throw new Error('useTheme must be used within a ThemeProvider');
132
- }
133
- return context;
160
+ return theme;
134
161
  };
135
162
 
136
163
  export { ThemeProvider, useTheme };
@@ -1 +1 @@
1
- {"version":3,"file":"ThemeProvider.js","sources":["../../../src/ThemeProvider.tsx"],"sourcesContent":["import { createTheme, ThemeProvider as MuiThemeProvider } from '@mui/material/styles';\r\nimport { deepmerge } from '@mui/utils';\r\nimport * as React from 'react';\r\nimport './theme-types';\r\nimport { CssBaseline } from '@mui/material';\r\n\r\nconst baseTheme = createTheme({\r\n palette: {\r\n text: {\r\n primary: '#4D3019',\r\n secondary: '#826E5C',\r\n }\r\n },\r\n typography: {\r\n fontFamily: ['Inter', '-apple-system', 'BlinkMacSystemFont', 'Segoe UI', 'Roboto', 'sans-serif'].join(','),\r\n allVariants: {\r\n color: '#4D3019'\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 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});\r\n\r\nconst themeConfigs = {\r\n default: {\r\n palette: {\r\n primary: { main: '#AD46FF' },\r\n secondary: { main: '#D79AFC' },\r\n accent: { main: '#FFEDD1' },\r\n dark: { main: '#4D3019' },\r\n light: { main: '#FEFDF7' },\r\n markedRead: { main: '#A3D977' },\r\n text: {\r\n primary: '#4D3019',\r\n secondary: '#826E5C',\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 appName: 'ECE Docs',\r\n },\r\n school: {\r\n palette: {\r\n primary: { main: '#386e41' },\r\n secondary: { main: '#8fc790' },\r\n accent: { main: '#d5ebde' },\r\n dark: { main: '#4D3019' },\r\n light: { main: '#FEFDF7' },\r\n markedRead: { main: '#A3D977' },\r\n text: {\r\n primary: '#4D3019',\r\n secondary: '#826E5C',\r\n },\r\n custom: {\r\n primaryButtonTextColor: '#FFFFFF',\r\n stepIndicatorTextColor: '#FFFFFF',\r\n },\r\n },\r\n appName: 'School Docs',\r\n },\r\n health: {\r\n palette: {\r\n primary: { main: '#4871cf' },\r\n secondary: { main: '#a4d6ff' },\r\n accent: { main: '#FF9ecb' },\r\n dark: { main: '#4D3019' },\r\n light: { main: '#FEFDF7' },\r\n markedRead: { main: '#A3D977' },\r\n text: {\r\n primary: '#4D3019',\r\n secondary: '#826E5C',\r\n },\r\n custom: {\r\n iconColor: '#a4d6ff',\r\n primaryButtonTextColor: '#FFFFFF',\r\n markAsReadBorderColor: '#FF9ecb',\r\n readByBackgroundColor: '#a4d6ff',\r\n stepIndicatorTextColor: '#FFFFFF',\r\n tabBackgroundColor: '#a4d6ff',\r\n },\r\n },\r\n appName: 'GP Docs',\r\n },\r\n};\r\n\r\nexport type ThemeKey = keyof typeof themeConfigs;\r\n\r\nconst createMuiTheme = (key: ThemeKey) => {\r\n return createTheme(deepmerge(baseTheme, themeConfigs[key]));\r\n};\r\n\r\ninterface ThemeContextType {\r\n currentTheme: ThemeKey;\r\n setTheme: (theme: ThemeKey) => void;\r\n theme: ReturnType<typeof createTheme>;\r\n}\r\n\r\nconst ThemeContext = React.createContext<ThemeContextType | undefined>(undefined);\r\n\r\nexport const ThemeProvider: React.FC<{ children: React.ReactNode }> = ({ children }) => {\r\n const [currentTheme, setCurrentTheme] = React.useState<ThemeKey>('default');\r\n const theme = React.useMemo(() => createMuiTheme(currentTheme), [currentTheme]);\r\n \r\n return (\r\n <ThemeContext.Provider value={{ currentTheme, setTheme: setCurrentTheme, theme }}>\r\n <MuiThemeProvider theme={theme}>\r\n <CssBaseline />\r\n {children}\r\n </MuiThemeProvider>\r\n </ThemeContext.Provider>\r\n );\r\n};\r\n\r\nexport const useTheme = () => {\r\n const context = React.useContext(ThemeContext);\r\n if (context === undefined) {\r\n throw new Error('useTheme must be used within a ThemeProvider');\r\n }\r\n return context;\r\n};\r\n"],"names":["_jsx","_jsxs","MuiThemeProvider"],"mappings":"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"}
1
+ {"version":3,"file":"ThemeProvider.js","sources":["../../../src/ThemeProvider.tsx"],"sourcesContent":["import { createTheme, ThemeProvider as MuiThemeProvider } from '@mui/material/styles';\r\nimport { CssBaseline } from '@mui/material';\r\nimport * as React from 'react';\r\nimport './theme-types';\r\n\r\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":["_jsxs","MuiThemeProvider","_jsx"],"mappings":"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"}
@@ -1,4 +1,3 @@
1
- "use client";
2
1
  import { jsx } from 'react/jsx-runtime';
3
2
  import { styled, IconButton } from '@mui/material';
4
3
 
@@ -1 +1 @@
1
- {"version":3,"file":"ActionButton.js","sources":["../../../../src/components/ActionButton.tsx"],"sourcesContent":["'use client';\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":[],"mappings":";;;;AAaA;AACE;AACA;;;;AAIA;;AAEA;AACE;AACD;AACD;AACE;AACA;AACD;AACD;AACE;AACD;AACF;AAEM;AAML;AASF;;"}
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":["_jsx"],"mappings":";;;AAaA,MAAM,gBAAgB,GAAG,MAAM,CAAC,UAAU,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,QACEA,GAAA,CAAC,gBAAgB,IACf,OAAO,EAAE,OAAO,EAAA,YAAA,EACJ,KAAK,EACjB,EAAE,EAAE,EAAE,EAAA,QAAA,EAENA,GAAA,CAAC,IAAI,EAAA,EAAA,CAAG,EAAA,CACS;AAEvB;;;;"}
@@ -1,4 +1,3 @@
1
- "use client";
2
1
  import { jsx } from 'react/jsx-runtime';
3
2
  import { styled, Alert as Alert$1 } from '@mui/material';
4
3
  import { InfoOutlineRounded, HighlightOffRounded, ErrorOutlineRounded, TaskAltRounded } from '@mui/icons-material';
@@ -1 +1 @@
1
- {"version":3,"file":"Alert.js","sources":["../../../../src/components/Alert.tsx"],"sourcesContent":["'use client';\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":[],"mappings":";;;;;AAeA;AACE;AACE;AACE;AACA;AACA;AACD;AACD;AACE;AACA;AACA;AACD;AACD;AACE;AACA;AACA;AACD;AACD;AACE;AACA;AACA;AACD;AACD;AACE;;AAEA;AACD;;AAGH;AACA;;AAGE;AACA;AACA;AACA;AACA;;;;;;AAMA;AACE;AACA;AACA;AACD;AACD;AACE;AACA;AACD;;AAEL;;AASE;;;;;;;AAQA;AACE;AACA;AACA;AACA;AACA;;AAGF;AAWF;;"}
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":["MuiAlert","_jsx"],"mappings":"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"}
@@ -1,4 +1,3 @@
1
- "use client";
2
1
  import { jsxs, jsx } from 'react/jsx-runtime';
3
2
  import { useState } from 'react';
4
3
  import { styled, IconButton, Menu, MenuItem, Box, Breadcrumbs, Typography } from '@mui/material';
@@ -68,7 +67,7 @@ const StyledMenuItem = styled(MenuItem)(({ theme, isActive }) => ({
68
67
  },
69
68
  }));
70
69
  const Breadcrumb = ({ items, currentItem, dropdownItems = [], onItemSelect, }) => {
71
- const { theme } = useTheme();
70
+ const theme = useTheme();
72
71
  const [anchorEl, setAnchorEl] = useState(null);
73
72
  const isDropdownOpen = Boolean(anchorEl);
74
73
  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":["_jsxs","_jsx","MuiBreadcrumbs"],"mappings":"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"}
@@ -21,13 +21,14 @@ const StyledButton = styled(Button$1, {
21
21
  fontSize: '1.125rem',
22
22
  },
23
23
  };
24
- // Base styles
24
+ // Base styles - ADD BORDER TO ALL VARIANTS
25
25
  const baseStyles = {
26
26
  fontWeight: 500,
27
27
  borderRadius: '8px',
28
28
  textTransform: 'none',
29
29
  transition: 'all 0.2s',
30
30
  boxShadow: 'none',
31
+ border: '2px solid transparent',
31
32
  '&:hover': {
32
33
  boxShadow: 'none',
33
34
  },
@@ -42,6 +43,7 @@ const StyledButton = styled(Button$1, {
42
43
  primary: {
43
44
  backgroundColor: currentTheme.primary.main,
44
45
  color: currentTheme.custom?.primaryButtonTextColor || '#FFFFFF',
46
+ borderColor: 'transparent', // Transparent border
45
47
  boxShadow: '0 1px 2px 0 rgba(0, 0, 0, 0.05)',
46
48
  '&:hover': {
47
49
  backgroundColor: currentTheme.primary.main,
@@ -51,6 +53,7 @@ const StyledButton = styled(Button$1, {
51
53
  secondary: {
52
54
  backgroundColor: currentTheme.secondary.main,
53
55
  color: currentTheme.dark.main,
56
+ borderColor: 'transparent', // Transparent border
54
57
  boxShadow: '0 1px 2px 0 rgba(0, 0, 0, 0.05)',
55
58
  '&:hover': {
56
59
  backgroundColor: currentTheme.secondary.main,
@@ -59,7 +62,7 @@ const StyledButton = styled(Button$1, {
59
62
  },
60
63
  outline: {
61
64
  backgroundColor: currentTheme.light.main,
62
- border: `2px solid rgba(77, 48, 25, 0.2)`,
65
+ borderColor: 'rgba(77, 48, 25, 0.2)', // Visible border
63
66
  color: currentTheme.dark.main,
64
67
  '&:hover': {
65
68
  backgroundColor: 'rgba(77, 48, 25, 0.05)',
@@ -68,9 +71,8 @@ const StyledButton = styled(Button$1, {
68
71
  },
69
72
  'marked-read': {
70
73
  backgroundColor: 'rgba(163, 217, 119, 0.1)',
71
- border: `2px solid ${currentTheme.markedRead.main}`,
74
+ borderColor: currentTheme.markedRead.main, // Visible border
72
75
  color: currentTheme.dark.main,
73
- isDisabled: true,
74
76
  '&:hover': {
75
77
  backgroundColor: 'rgba(163, 217, 119, 0.2)',
76
78
  cursor: 'not-allowed',
@@ -78,15 +80,16 @@ const StyledButton = styled(Button$1, {
78
80
  },
79
81
  'mark-read': {
80
82
  backgroundColor: currentTheme.custom?.markAsReadBackgroundColor || currentTheme.accent.main,
81
- border: `2px solid ${currentTheme.custom?.markAsReadBorderColor || currentTheme.secondary.main}`,
83
+ borderColor: currentTheme.custom?.markAsReadBorderColor || currentTheme.secondary.main, // Visible border
82
84
  color: currentTheme.dark.main,
83
85
  '&:hover': {
84
86
  opacity: 0.9,
85
87
  },
86
88
  },
87
89
  danger: {
88
- backgroundColor: '#D32F2F', // Material-UI red
90
+ backgroundColor: '#D32F2F',
89
91
  color: '#FFFFFF',
92
+ borderColor: 'transparent', // Transparent border
90
93
  boxShadow: '0 1px 2px 0 rgba(0, 0, 0, 0.05)',
91
94
  '&:hover': {
92
95
  backgroundColor: '#B71C1C',
@@ -1 +1 @@
1
- {"version":3,"file":"Button.js","sources":["../../../../src/components/Button.tsx"],"sourcesContent":["import React from 'react';\nimport { Button as MuiButton, ButtonProps as MuiButtonProps } from '@mui/material';\nimport { styled } from '@mui/material/styles';\n\ninterface CustomButtonProps extends Omit<MuiButtonProps, 'variant' | 'size'> {\n variant?: 'primary' | 'secondary' | 'outline' | 'marked-read' | 'mark-read' | 'danger'; // Add 'danger'\n size?: 'sm' | 'md' | 'lg';\n}\n\nconst StyledButton = styled(MuiButton, {\n shouldForwardProp: (prop) => prop !== 'customVariant' && prop !== 'customSize',\n})<{ customVariant: string; customSize: string }>(({ theme, customVariant, customSize }) => {\n const currentTheme = theme.palette;\n\n // Size styles\n const sizeStyles = {\n sm: {\n padding: '6px 12px',\n fontSize: '0.875rem',\n },\n md: {\n padding: '10px 16px',\n fontSize: '1rem',\n },\n lg: {\n padding: '12px 24px',\n fontSize: '1.125rem',\n },\n };\n\n // Base styles\n const baseStyles = {\n fontWeight: 500,\n borderRadius: '8px',\n textTransform: 'none' as const,\n transition: 'all 0.2s',\n boxShadow: 'none',\n '&:hover': {\n boxShadow: 'none',\n },\n '&.Mui-disabled': {\n opacity: 0.5,\n cursor: 'not-allowed',\n },\n ...sizeStyles[customSize as keyof typeof sizeStyles],\n };\n\n // Variant styles\n const variantStyles = {\n primary: {\n backgroundColor: currentTheme.primary.main,\n color: currentTheme.custom?.primaryButtonTextColor || '#FFFFFF',\n boxShadow: '0 1px 2px 0 rgba(0, 0, 0, 0.05)',\n '&:hover': {\n backgroundColor: currentTheme.primary.main,\n opacity: 0.9,\n },\n },\n secondary: {\n backgroundColor: currentTheme.secondary.main,\n color: currentTheme.dark.main,\n boxShadow: '0 1px 2px 0 rgba(0, 0, 0, 0.05)',\n '&:hover': {\n backgroundColor: currentTheme.secondary.main,\n opacity: 0.9,\n },\n },\n outline: {\n backgroundColor: currentTheme.light.main,\n border: `2px solid rgba(77, 48, 25, 0.2)`,\n color: currentTheme.dark.main,\n '&:hover': {\n backgroundColor: 'rgba(77, 48, 25, 0.05)',\n borderColor: 'rgba(77, 48, 25, 0.3)',\n },\n },\n 'marked-read': {\n backgroundColor: 'rgba(163, 217, 119, 0.1)',\n border: `2px solid ${currentTheme.markedRead.main}`,\n color: currentTheme.dark.main,\n isDisabled: true,\n '&:hover': {\n backgroundColor: 'rgba(163, 217, 119, 0.2)',\n cursor: 'not-allowed',\n },\n },\n 'mark-read': {\n backgroundColor: currentTheme.custom?.markAsReadBackgroundColor || currentTheme.accent.main,\n border: `2px solid ${currentTheme.custom?.markAsReadBorderColor || currentTheme.secondary.main}`,\n color: currentTheme.dark.main,\n '&:hover': {\n opacity: 0.9,\n },\n },\n danger: { // New danger variant\n backgroundColor: '#D32F2F', // Material-UI red\n color: '#FFFFFF',\n boxShadow: '0 1px 2px 0 rgba(0, 0, 0, 0.05)',\n '&:hover': {\n backgroundColor: '#B71C1C',\n opacity: 0.9,\n },\n },\n };\n\n return {\n ...baseStyles,\n ...variantStyles[customVariant as keyof typeof variantStyles],\n };\n});\n\nexport const Button: React.FC<CustomButtonProps> = ({\n variant = 'primary',\n size = 'md',\n children,\n fullWidth = false,\n ...props\n}) => {\n\n return (\n <StyledButton\n customVariant={variant}\n customSize={size}\n fullWidth={fullWidth}\n disableRipple\n {...props}\n >\n {children}\n </StyledButton>\n );\n};"],"names":["MuiButton","_jsx"],"mappings":"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"}
1
+ {"version":3,"file":"Button.js","sources":["../../../../src/components/Button.tsx"],"sourcesContent":["import React from 'react';\nimport { Button as MuiButton, ButtonProps as MuiButtonProps } from '@mui/material';\nimport { styled } from '@mui/material/styles';\n\ninterface CustomButtonProps extends Omit<MuiButtonProps, 'variant' | 'size'> {\n variant?: 'primary' | 'secondary' | 'outline' | 'marked-read' | 'mark-read' | 'danger';\n size?: 'sm' | 'md' | 'lg';\n}\n\nconst StyledButton = styled(MuiButton, {\n shouldForwardProp: (prop) => prop !== 'customVariant' && prop !== 'customSize',\n})<{ customVariant: string; customSize: string }>(({ theme, customVariant, customSize }) => {\n const currentTheme = theme.palette;\n\n // Size styles\n const sizeStyles = {\n sm: {\n padding: '6px 12px',\n fontSize: '0.875rem',\n },\n md: {\n padding: '10px 16px',\n fontSize: '1rem',\n },\n lg: {\n padding: '12px 24px',\n fontSize: '1.125rem',\n },\n };\n\n // Base styles - ADD BORDER TO ALL VARIANTS\n const baseStyles = {\n fontWeight: 500,\n borderRadius: '8px',\n textTransform: 'none' as const,\n transition: 'all 0.2s',\n boxShadow: 'none',\n border: '2px solid transparent',\n '&:hover': {\n boxShadow: 'none',\n },\n '&.Mui-disabled': {\n opacity: 0.5,\n cursor: 'not-allowed',\n },\n ...sizeStyles[customSize as keyof typeof sizeStyles],\n };\n\n // Variant styles\n const variantStyles = {\n primary: {\n backgroundColor: currentTheme.primary.main,\n color: currentTheme.custom?.primaryButtonTextColor || '#FFFFFF',\n borderColor: 'transparent', // Transparent border\n boxShadow: '0 1px 2px 0 rgba(0, 0, 0, 0.05)',\n '&:hover': {\n backgroundColor: currentTheme.primary.main,\n opacity: 0.9,\n },\n },\n secondary: {\n backgroundColor: currentTheme.secondary.main,\n color: currentTheme.dark.main,\n borderColor: 'transparent', // Transparent border\n boxShadow: '0 1px 2px 0 rgba(0, 0, 0, 0.05)',\n '&:hover': {\n backgroundColor: currentTheme.secondary.main,\n opacity: 0.9,\n },\n },\n outline: {\n backgroundColor: currentTheme.light.main,\n borderColor: 'rgba(77, 48, 25, 0.2)', // Visible border\n color: currentTheme.dark.main,\n '&:hover': {\n backgroundColor: 'rgba(77, 48, 25, 0.05)',\n borderColor: 'rgba(77, 48, 25, 0.3)',\n },\n },\n 'marked-read': {\n backgroundColor: 'rgba(163, 217, 119, 0.1)',\n borderColor: currentTheme.markedRead.main, // Visible border\n color: currentTheme.dark.main,\n '&:hover': {\n backgroundColor: 'rgba(163, 217, 119, 0.2)',\n cursor: 'not-allowed',\n },\n },\n 'mark-read': {\n backgroundColor: currentTheme.custom?.markAsReadBackgroundColor || currentTheme.accent.main,\n borderColor: currentTheme.custom?.markAsReadBorderColor || currentTheme.secondary.main, // Visible border\n color: currentTheme.dark.main,\n '&:hover': {\n opacity: 0.9,\n },\n },\n danger: {\n backgroundColor: '#D32F2F',\n color: '#FFFFFF',\n borderColor: 'transparent', // Transparent border\n boxShadow: '0 1px 2px 0 rgba(0, 0, 0, 0.05)',\n '&:hover': {\n backgroundColor: '#B71C1C',\n opacity: 0.9,\n },\n },\n };\n\n return {\n ...baseStyles,\n ...variantStyles[customVariant as keyof typeof variantStyles],\n };\n});\n\nexport const Button: React.FC<CustomButtonProps> = ({\n variant = 'primary',\n size = 'md',\n children,\n fullWidth = false,\n ...props\n}) => {\n return (\n <StyledButton\n customVariant={variant}\n customSize={size}\n fullWidth={fullWidth}\n disableRipple\n {...props}\n >\n {children}\n </StyledButton>\n );\n};\n"],"names":["MuiButton","_jsx"],"mappings":"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"}
@@ -1,4 +1,3 @@
1
- "use client";
2
1
  import { jsx } from 'react/jsx-runtime';
3
2
  import { styled, Box } from '@mui/material';
4
3
 
@@ -1 +1 @@
1
- {"version":3,"file":"Card.js","sources":["../../../../src/components/Card.tsx"],"sourcesContent":["'use client';\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":[],"mappings":";;;;AAaA;AACE;;AAEA;AACE;AACA;AACA;AACA;;AAGF;AACE;;AAEC;AACD;;AAEC;AACD;;;AAGC;;;;;;AAQD;AACA;;;;;AAKJ;;AAQC;;AAWD;;"}
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":["_jsx"],"mappings":";;;AAaA,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,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,QACEA,IAAC,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,4 +1,3 @@
1
- "use client";
2
1
  import { jsx, jsxs } from 'react/jsx-runtime';
3
2
  import { styled, Box, Checkbox as Checkbox$1, Typography, FormControlLabel } from '@mui/material';
4
3
 
@@ -1 +1 @@
1
- {"version":3,"file":"Checkbox.js","sources":["../../../../src/components/Checkbox.tsx"],"sourcesContent":["'use client';\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":[],"mappings":";;;;AAUA;AACE;AACA;AACD;AAED;;;;AAIE;;AAEC;AACD;;AAEE;AACD;AACD;AACA;AACD;AAED;;;;AAIE;AACD;AAED;;;;AAIC;;;AAWC;AAkBF;;"}
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":["MuiCheckbox","_jsx","_jsxs"],"mappings":";;;AAUA,MAAM,aAAa,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM;AAChD,IAAA,OAAO,EAAE,MAAM;AACf,IAAA,UAAU,EAAE,YAAY;AACzB,CAAA,CAAC,CAAC;AAEH,MAAM,cAAc,GAAG,MAAM,CAACA,UAAW,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,GAAG,MAAM,CAAC,UAAU,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,GAAG,MAAM,CAAC,UAAU,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,GAAA,CAAC,aAAa,EAAA,EAAC,SAAS,EAAE,SAAS,EAAA,QAAA,EACjCA,GAAA,CAAC,gBAAgB,EAAA,EACf,OAAO,EACLA,GAAA,CAAC,cAAc,EAAA,EACb,EAAE,EAAE,UAAU,EAAA,GACV,KAAK,EAAA,CACT,EAEJ,KAAK,EACHC,IAAA,CAAC,GAAG,EAAA,EAAC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,EAAA,QAAA,EAAA,CAC5DD,GAAA,CAAC,WAAW,EAAA,EAAA,QAAA,EAAE,KAAK,EAAA,CAAe,EACjC,WAAW,IAAIA,GAAA,CAAC,iBAAiB,EAAA,EAAA,QAAA,EAAE,WAAW,EAAA,CAAqB,CAAA,EAAA,CAChE,EAAA,CAER,EAAA,CACY;AAEpB;;;;"}
@@ -1,4 +1,3 @@
1
- "use client";
2
1
  import { jsx, jsxs } from 'react/jsx-runtime';
3
2
  import { useState } from 'react';
4
3
  import { styled, Box, Typography, IconButton, Collapse } from '@mui/material';