norma-library 0.4.9 → 0.5.1

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 (246) hide show
  1. package/.babelrc.json +1 -1
  2. package/.husky/commit-msg +4 -0
  3. package/.prettierignore +11 -0
  4. package/.prettierrc.json +20 -0
  5. package/CHANGELOG.md +0 -0
  6. package/CONTRIBUTING.md +0 -0
  7. package/README.md +42 -0
  8. package/commitlint.config.js +1 -0
  9. package/dist/Button/index.d.ts +9 -0
  10. package/dist/Button/types.d.ts +18 -0
  11. package/dist/Card/Card.d.ts +3 -0
  12. package/dist/Card/CardHeader.d.ts +3 -0
  13. package/dist/Card/index.d.ts +4 -0
  14. package/dist/Card/styles.d.ts +546 -0
  15. package/dist/Card/types.d.ts +8 -0
  16. package/dist/esm/components/Accordion.d.ts +2 -2
  17. package/dist/esm/components/Accordion.js +8 -8
  18. package/dist/esm/components/Accordion.js.map +1 -1
  19. package/dist/esm/components/Avatar.d.ts +2 -2
  20. package/dist/esm/components/Avatar.js +7 -7
  21. package/dist/esm/components/Avatar.js.map +1 -1
  22. package/dist/esm/components/Badge.d.ts +2 -2
  23. package/dist/esm/components/Badge.js +5 -5
  24. package/dist/esm/components/Badge.js.map +1 -1
  25. package/dist/esm/components/Button.d.ts +2 -2
  26. package/dist/esm/components/Button.js +10 -10
  27. package/dist/esm/components/Button.js.map +1 -1
  28. package/dist/esm/components/Card.d.ts +3 -3
  29. package/dist/esm/components/Card.js +8 -8
  30. package/dist/esm/components/Card.js.map +1 -1
  31. package/dist/esm/components/ChatMessage.d.ts +2 -2
  32. package/dist/esm/components/ChatMessage.js +35 -35
  33. package/dist/esm/components/ChatMessage.js.map +1 -1
  34. package/dist/esm/components/CheckBox.d.ts +2 -2
  35. package/dist/esm/components/CheckBox.js +5 -5
  36. package/dist/esm/components/CheckBox.js.map +1 -1
  37. package/dist/esm/components/DataGrid/base/dropdown.d.ts +2 -2
  38. package/dist/esm/components/DataGrid/base/dropdown.js +32 -32
  39. package/dist/esm/components/DataGrid/base/dropdown.js.map +1 -1
  40. package/dist/esm/components/DataGrid/base/number-filter.d.ts +2 -2
  41. package/dist/esm/components/DataGrid/base/number-filter.js +21 -21
  42. package/dist/esm/components/DataGrid/base/sorting.d.ts +2 -2
  43. package/dist/esm/components/DataGrid/base/sorting.js +1 -1
  44. package/dist/esm/components/DataGrid/base/sorting.js.map +1 -1
  45. package/dist/esm/components/DataGrid/icons.d.ts +1 -1
  46. package/dist/esm/components/DataGrid/icons.js +1 -1
  47. package/dist/esm/components/DataGrid/icons.js.map +1 -1
  48. package/dist/esm/components/DataGrid/index.d.ts +2 -2
  49. package/dist/esm/components/DataGrid/index.js +35 -44
  50. package/dist/esm/components/DataGrid/index.js.map +1 -1
  51. package/dist/esm/components/DataGrid/shared.d.ts +1 -1
  52. package/dist/esm/components/DataGrid/shared.js +19 -32
  53. package/dist/esm/components/DataGrid/shared.js.map +1 -1
  54. package/dist/esm/components/DataGrid/styled.d.ts +2 -2
  55. package/dist/esm/components/DataGrid/styled.js +35 -35
  56. package/dist/esm/components/DataGrid/styled.js.map +1 -1
  57. package/dist/esm/components/DatePicker.d.ts +5 -5
  58. package/dist/esm/components/DatePicker.js +37 -37
  59. package/dist/esm/components/DatePicker.js.map +1 -1
  60. package/dist/esm/components/DropDown.d.ts +2 -2
  61. package/dist/esm/components/DropDown.js +6 -6
  62. package/dist/esm/components/DropDown.js.map +1 -1
  63. package/dist/esm/components/IconButton.d.ts +2 -2
  64. package/dist/esm/components/IconButton.js +7 -7
  65. package/dist/esm/components/IconButton.js.map +1 -1
  66. package/dist/esm/components/Icons.d.ts +2 -2
  67. package/dist/esm/components/Icons.js +10 -10
  68. package/dist/esm/components/Icons.js.map +1 -1
  69. package/dist/esm/components/Modal.d.ts +2 -2
  70. package/dist/esm/components/Modal.js +8 -8
  71. package/dist/esm/components/Modal.js.map +1 -1
  72. package/dist/esm/components/Paper.d.ts +2 -2
  73. package/dist/esm/components/Paper.js +5 -5
  74. package/dist/esm/components/Paper.js.map +1 -1
  75. package/dist/esm/components/ProgressBar.d.ts +2 -2
  76. package/dist/esm/components/ProgressBar.js +11 -11
  77. package/dist/esm/components/ProgressBar.js.map +1 -1
  78. package/dist/esm/components/RadioGroup.d.ts +2 -2
  79. package/dist/esm/components/RadioGroup.js +7 -7
  80. package/dist/esm/components/RadioGroup.js.map +1 -1
  81. package/dist/esm/components/RangerSlider.d.ts +2 -2
  82. package/dist/esm/components/RangerSlider.js +31 -31
  83. package/dist/esm/components/RangerSlider.js.map +1 -1
  84. package/dist/esm/components/Select.d.ts +2 -2
  85. package/dist/esm/components/Select.js +14 -14
  86. package/dist/esm/components/Select.js.map +1 -1
  87. package/dist/esm/components/Svgs.d.ts +1 -1
  88. package/dist/esm/components/Svgs.js +1 -1
  89. package/dist/esm/components/Svgs.js.map +1 -1
  90. package/dist/esm/components/Tabs.d.ts +2 -2
  91. package/dist/esm/components/Tabs.js +25 -26
  92. package/dist/esm/components/Tabs.js.map +1 -1
  93. package/dist/esm/components/Tag.d.ts +2 -2
  94. package/dist/esm/components/Tag.js +8 -8
  95. package/dist/esm/components/Tag.js.map +1 -1
  96. package/dist/esm/components/TextField.d.ts +2 -2
  97. package/dist/esm/components/TextField.js +8 -8
  98. package/dist/esm/components/TextField.js.map +1 -1
  99. package/dist/esm/components/TimeLine.d.ts +2 -2
  100. package/dist/esm/components/TimeLine.js +20 -20
  101. package/dist/esm/components/TimeLine.js.map +1 -1
  102. package/dist/esm/components/TimePicker.d.ts +8 -8
  103. package/dist/esm/components/TimePicker.js +43 -43
  104. package/dist/esm/components/TimePicker.js.map +1 -1
  105. package/dist/esm/components/index.d.ts +23 -23
  106. package/dist/esm/components/index.js +23 -23
  107. package/dist/esm/helpers/alignments.js +7 -7
  108. package/dist/esm/helpers/borders.js +11 -11
  109. package/dist/esm/helpers/colors.js +41 -41
  110. package/dist/esm/helpers/index.d.ts +5 -5
  111. package/dist/esm/helpers/index.js +5 -5
  112. package/dist/esm/helpers/sizes.d.ts +1 -1
  113. package/dist/esm/helpers/sizes.js +39 -39
  114. package/dist/esm/helpers/sizes.js.map +1 -1
  115. package/dist/esm/index.d.ts +17 -17
  116. package/dist/esm/index.js +17 -17
  117. package/dist/esm/interfaces/Accordion.d.ts +3 -3
  118. package/dist/esm/interfaces/Avatar.d.ts +6 -6
  119. package/dist/esm/interfaces/Badge.d.ts +7 -7
  120. package/dist/esm/interfaces/Button.d.ts +5 -5
  121. package/dist/esm/interfaces/Card.d.ts +3 -3
  122. package/dist/esm/interfaces/ChatMessage.d.ts +1 -1
  123. package/dist/esm/interfaces/CheckBox.d.ts +10 -10
  124. package/dist/esm/interfaces/DataGrid.d.ts +4 -4
  125. package/dist/esm/interfaces/DatePicker.d.ts +3 -3
  126. package/dist/esm/interfaces/DropDown.d.ts +4 -4
  127. package/dist/esm/interfaces/IconButton.d.ts +5 -5
  128. package/dist/esm/interfaces/Icons.d.ts +3 -3
  129. package/dist/esm/interfaces/Modal.d.ts +3 -3
  130. package/dist/esm/interfaces/Paper.d.ts +4 -4
  131. package/dist/esm/interfaces/ProgressBar.d.ts +5 -5
  132. package/dist/esm/interfaces/RadioGroup.d.ts +4 -4
  133. package/dist/esm/interfaces/RangerSlider.d.ts +8 -8
  134. package/dist/esm/interfaces/Select.d.ts +3 -3
  135. package/dist/esm/interfaces/Tabs.d.ts +3 -3
  136. package/dist/esm/interfaces/Tag.d.ts +5 -5
  137. package/dist/esm/interfaces/TextField.d.ts +12 -12
  138. package/dist/esm/interfaces/TimeLine.d.ts +3 -3
  139. package/dist/esm/interfaces/TimePicker.d.ts +3 -3
  140. package/dist/esm/interfaces/index.d.ts +23 -23
  141. package/dist/esm/interfaces/index.js +23 -23
  142. package/dist/esm/types/index.d.ts +41 -41
  143. package/dist/esm/types/index.js +2 -2
  144. package/dist/esm/types/index.js.map +1 -1
  145. package/dist/index.d.ts +2 -0
  146. package/dist/index.es.js +6992 -0
  147. package/dist/index.es.js.map +1 -0
  148. package/dist/index.umd.js +266 -0
  149. package/dist/index.umd.js.map +1 -0
  150. package/dist/vite.svg +1 -0
  151. package/docs/index.md +118 -0
  152. package/package.json +65 -8
  153. package/src/components/Accordion.tsx +47 -64
  154. package/src/components/Avatar.tsx +22 -29
  155. package/src/components/Badge.tsx +19 -22
  156. package/src/components/Button.tsx +12 -19
  157. package/src/components/Card.tsx +44 -47
  158. package/src/components/ChatMessage.tsx +87 -89
  159. package/src/components/CheckBox.tsx +8 -19
  160. package/src/components/DataGrid/allData.json +2918 -2918
  161. package/src/components/DataGrid/base/dropdown.tsx +212 -235
  162. package/src/components/DataGrid/base/number-filter.tsx +43 -43
  163. package/src/components/DataGrid/base/sorting.tsx +29 -35
  164. package/src/components/DataGrid/icons.tsx +53 -61
  165. package/src/components/DataGrid/index.tsx +254 -319
  166. package/src/components/DataGrid/shared.ts +154 -179
  167. package/src/components/DataGrid/styled.ts +96 -102
  168. package/src/components/DataGrid/styles/dropdown.module.css +86 -86
  169. package/src/components/DataGrid/styles/number-filter.module.css +16 -16
  170. package/src/components/DataGrid/styles/styles.module.css +107 -107
  171. package/src/components/DatePicker.tsx +73 -84
  172. package/src/components/DropDown.tsx +31 -38
  173. package/src/components/IconButton.tsx +12 -29
  174. package/src/components/Icons.tsx +82 -87
  175. package/src/components/Modal.tsx +114 -123
  176. package/src/components/Paper.tsx +19 -22
  177. package/src/components/ProgressBar.tsx +54 -63
  178. package/src/components/RadioGroup.tsx +47 -55
  179. package/src/components/RangerSlider.tsx +70 -81
  180. package/src/components/Select.tsx +82 -98
  181. package/src/components/Svgs.tsx +498 -522
  182. package/src/components/Tabs.tsx +111 -140
  183. package/src/components/Tag.tsx +37 -45
  184. package/src/components/TextField.tsx +11 -22
  185. package/src/components/TimeLine.tsx +93 -103
  186. package/src/components/TimePicker.tsx +84 -95
  187. package/src/components/index.ts +23 -23
  188. package/src/helpers/alignments.ts +7 -7
  189. package/src/helpers/borders.ts +11 -11
  190. package/src/helpers/colors.ts +42 -42
  191. package/src/helpers/index.ts +5 -5
  192. package/src/helpers/sizes.ts +39 -46
  193. package/src/index.ts +17 -17
  194. package/src/interfaces/Accordion.ts +12 -12
  195. package/src/interfaces/Avatar.tsx +15 -18
  196. package/src/interfaces/Badge.ts +19 -32
  197. package/src/interfaces/Button.ts +5 -10
  198. package/src/interfaces/Card.ts +11 -11
  199. package/src/interfaces/ChatMessage.ts +12 -12
  200. package/src/interfaces/CheckBox.ts +12 -18
  201. package/src/interfaces/DataGrid.ts +46 -51
  202. package/src/interfaces/DatePicker.ts +13 -13
  203. package/src/interfaces/DropDown.ts +14 -14
  204. package/src/interfaces/IconButton.ts +5 -10
  205. package/src/interfaces/Icons.ts +17 -17
  206. package/src/interfaces/Modal.ts +15 -15
  207. package/src/interfaces/Paper.ts +12 -12
  208. package/src/interfaces/ProgressBar.ts +18 -25
  209. package/src/interfaces/RadioGroup.ts +22 -28
  210. package/src/interfaces/RangerSlider.ts +21 -32
  211. package/src/interfaces/Select.ts +17 -17
  212. package/src/interfaces/Tabs.ts +19 -24
  213. package/src/interfaces/Tag.ts +17 -17
  214. package/src/interfaces/TextField.ts +14 -34
  215. package/src/interfaces/TimeLine.ts +11 -16
  216. package/src/interfaces/TimePicker.ts +13 -13
  217. package/src/interfaces/index.ts +23 -23
  218. package/src/sample-data.json +178 -178
  219. package/src/stories/Accordion.stories.tsx +65 -65
  220. package/src/stories/Avatar.stories.tsx +123 -139
  221. package/src/stories/Badge.stories.tsx +39 -47
  222. package/src/stories/Button.stories.tsx +18 -26
  223. package/src/stories/Card.stories.tsx +40 -55
  224. package/src/stories/ChatMessage.stories.tsx +84 -85
  225. package/src/stories/CheckBox.stories.tsx +17 -23
  226. package/src/stories/DataGrid.stories.tsx +28 -28
  227. package/src/stories/DatePicker.stories.tsx +50 -77
  228. package/src/stories/DropDown.stories.tsx +57 -57
  229. package/src/stories/IconButton.stories.tsx +78 -114
  230. package/src/stories/Modal.stories.tsx +190 -190
  231. package/src/stories/Paper.stories.tsx +53 -53
  232. package/src/stories/ProgressBar.stories.tsx +95 -139
  233. package/src/stories/RadioGroup.stories.tsx +21 -28
  234. package/src/stories/RangerSlider.stories.tsx +58 -68
  235. package/src/stories/Select.stories.tsx +100 -128
  236. package/src/stories/Tabs.stories.tsx +62 -62
  237. package/src/stories/Tag.stories.tsx +56 -74
  238. package/src/stories/TextField.stories.tsx +54 -189
  239. package/src/stories/TimeLine.stories.tsx +35 -43
  240. package/src/stories/TimePicker.stories.tsx +87 -113
  241. package/src/types/index.ts +90 -155
  242. package/tsconfig.json +1 -1
  243. package/buildcache/front-end +0 -1
  244. package/norma-library.tar +0 -0
  245. package/postcss.config.js +0 -6
  246. package/tailwind.config.js +0 -58
@@ -1,140 +1,111 @@
1
- import React, { useMemo } from "react";
2
- import {
3
- Box,
4
- Tabs as MuiTabs,
5
- Tab,
6
- ThemeProvider,
7
- Typography,
8
- useMediaQuery,
9
- } from "@mui/material";
10
- import { TabPanelProps, TabsBaseProps } from "../interfaces";
11
- import { palette, themes } from "../helpers";
12
- import { styled } from "@mui/material/styles";
13
- import { ColorVariant } from "@/types";
14
-
15
- const colorMap: Record<ColorVariant, string> = {
16
- inherit: palette.inherit,
17
- primary: palette.primary,
18
- secondary: palette.secondary,
19
- error: palette.error,
20
- warning: palette.warning,
21
- info: palette.info,
22
- success: palette.success,
23
- };
24
-
25
- const TabsStyled = styled(MuiTabs)<{
26
- color: ColorVariant;
27
- }>(({ color }) => ({
28
- borderBottom: "1px solid #e8e8e8",
29
- "& .Mui-selected": {
30
- color: colorMap[color],
31
- },
32
- "& .MuiTabs-indicator": {
33
- backgroundColor: colorMap[color],
34
- },
35
- "& .MuiButtonBase-root": {
36
- textTransform: "none",
37
- },
38
- }));
39
-
40
- interface StyledTabProps {
41
- label: string;
42
- color: ColorVariant;
43
- }
44
-
45
- const TabStyled = styled((props: StyledTabProps) => (
46
- <Tab disableRipple {...props} />
47
- ))(({ theme, color }) => ({
48
- textTransform: "none",
49
- fontWeight: theme.typography.fontWeightRegular,
50
- fontSize: theme.typography.pxToRem(15),
51
- marginRight: theme.spacing(1),
52
- font: "normal normal normal 15px/25px Source Sans Pro",
53
- color: "#666666",
54
- padding: "5px 15px",
55
- top: "5px",
56
- minWidth: "60px",
57
- "&.Mui-selected": {
58
- color: colorMap[color],
59
- },
60
- "&.Mui-focusVisible": {
61
- backgroundColor: "rgba(100, 95, 228, 0.32)",
62
- },
63
- }));
64
-
65
- function CustomTabPanel(props: TabPanelProps) {
66
- const { children, value, index, ...other } = props;
67
-
68
- return (
69
- <div
70
- role="tabpanel"
71
- hidden={value !== index}
72
- id={`simple-tabpanel-${index}`}
73
- aria-labelledby={`simple-tab-${index}`}
74
- {...other}
75
- >
76
- {value === index && (
77
- <Box sx={{ p: 3 }}>
78
- <Typography>{children}</Typography>
79
- </Box>
80
- )}
81
- </div>
82
- );
83
- }
84
-
85
- function a11yProps(index: number) {
86
- return {
87
- id: `simple-tab-${index}`,
88
- "aria-controls": `simple-tabpanel-${index}`,
89
- };
90
- }
91
-
92
- export const Tabs = ({
93
- data = [],
94
- color = "primary",
95
- ...props
96
- }: TabsBaseProps) => {
97
- const [value, setValue] = React.useState(0);
98
-
99
- const handleChange = (event: React.SyntheticEvent, newValue: number) => {
100
- setValue(newValue);
101
- console.log(event);
102
- };
103
-
104
- const prefersDarkMode = useMediaQuery("(prefers-color-scheme: dark)");
105
- const theme = useMemo(
106
- () => (prefersDarkMode ? themes.light : themes.dark),
107
- [prefersDarkMode]
108
- );
109
-
110
- return (
111
- <ThemeProvider theme={theme}>
112
- <Box sx={{ width: "100%" }}>
113
- <Box sx={{ borderBottom: 1, borderColor: "divider" }}>
114
- <TabsStyled
115
- value={value}
116
- color={color}
117
- onChange={handleChange}
118
- aria-label="basic tabs example"
119
- {...props}
120
- >
121
- {data &&
122
- data.map((item, key) => (
123
- <TabStyled
124
- label={item.label}
125
- color={color}
126
- {...a11yProps(key)}
127
- />
128
- ))}
129
- </TabsStyled>
130
- </Box>
131
- {data &&
132
- data.map((item, key) => (
133
- <CustomTabPanel value={value} index={key}>
134
- {item.children}
135
- </CustomTabPanel>
136
- ))}
137
- </Box>
138
- </ThemeProvider>
139
- );
140
- };
1
+ import React, { useMemo } from 'react';
2
+ import { Box, Tabs as MuiTabs, Tab, ThemeProvider, Typography, useMediaQuery } from '@mui/material';
3
+ import { TabPanelProps, TabsBaseProps } from '../interfaces';
4
+ import { palette, themes } from '../helpers';
5
+ import { styled } from '@mui/material/styles';
6
+ import { ColorVariant } from '@/types';
7
+
8
+ const colorMap: Record<ColorVariant, string> = {
9
+ inherit: palette.inherit,
10
+ primary: palette.primary,
11
+ secondary: palette.secondary,
12
+ error: palette.error,
13
+ warning: palette.warning,
14
+ info: palette.info,
15
+ success: palette.success,
16
+ };
17
+
18
+ const TabsStyled = styled(MuiTabs)<{
19
+ color: ColorVariant;
20
+ }>(({ color }) => ({
21
+ borderBottom: '1px solid #e8e8e8',
22
+ '& .Mui-selected': {
23
+ color: colorMap[color],
24
+ },
25
+ '& .MuiTabs-indicator': {
26
+ backgroundColor: colorMap[color],
27
+ },
28
+ '& .MuiButtonBase-root': {
29
+ textTransform: 'none',
30
+ },
31
+ }));
32
+
33
+ interface StyledTabProps {
34
+ label: string;
35
+ color: ColorVariant;
36
+ }
37
+
38
+ const TabStyled = styled((props: StyledTabProps) => <Tab disableRipple {...props} />)(({ theme, color }) => ({
39
+ textTransform: 'none',
40
+ fontWeight: theme.typography.fontWeightRegular,
41
+ fontSize: theme.typography.pxToRem(15),
42
+ marginRight: theme.spacing(1),
43
+ font: 'normal normal normal 15px/25px Source Sans Pro',
44
+ color: '#666666',
45
+ padding: '5px 15px',
46
+ top: '5px',
47
+ minWidth: '60px',
48
+ '&.Mui-selected': {
49
+ color: colorMap[color],
50
+ },
51
+ '&.Mui-focusVisible': {
52
+ backgroundColor: 'rgba(100, 95, 228, 0.32)',
53
+ },
54
+ }));
55
+
56
+ function CustomTabPanel(props: TabPanelProps) {
57
+ const { children, value, index, ...other } = props;
58
+
59
+ return (
60
+ <div
61
+ role="tabpanel"
62
+ hidden={value !== index}
63
+ id={`simple-tabpanel-${index}`}
64
+ aria-labelledby={`simple-tab-${index}`}
65
+ {...other}
66
+ >
67
+ {value === index && (
68
+ <Box sx={{ p: 3 }}>
69
+ <Typography>{children}</Typography>
70
+ </Box>
71
+ )}
72
+ </div>
73
+ );
74
+ }
75
+
76
+ function a11yProps(index: number) {
77
+ return {
78
+ id: `simple-tab-${index}`,
79
+ 'aria-controls': `simple-tabpanel-${index}`,
80
+ };
81
+ }
82
+
83
+ export const Tabs = ({ data = [], color = 'primary', ...props }: TabsBaseProps) => {
84
+ const [value, setValue] = React.useState(0);
85
+
86
+ const handleChange = (event: React.SyntheticEvent, newValue: number) => {
87
+ setValue(newValue);
88
+ console.log(event);
89
+ };
90
+
91
+ const prefersDarkMode = useMediaQuery('(prefers-color-scheme: dark)');
92
+ const theme = useMemo(() => (prefersDarkMode ? themes.light : themes.dark), [prefersDarkMode]);
93
+
94
+ return (
95
+ <ThemeProvider theme={theme}>
96
+ <Box sx={{ width: '100%' }}>
97
+ <Box sx={{ borderBottom: 1, borderColor: 'divider' }}>
98
+ <TabsStyled value={value} color={color} onChange={handleChange} aria-label="basic tabs example" {...props}>
99
+ {data && data.map((item, key) => <TabStyled label={item.label} color={color} {...a11yProps(key)} />)}
100
+ </TabsStyled>
101
+ </Box>
102
+ {data &&
103
+ data.map((item, key) => (
104
+ <CustomTabPanel value={value} index={key}>
105
+ {item.children}
106
+ </CustomTabPanel>
107
+ ))}
108
+ </Box>
109
+ </ThemeProvider>
110
+ );
111
+ };
@@ -1,45 +1,37 @@
1
- import React, { useMemo } from "react";
2
- import { Chip as MuiTag, ThemeProvider, useMediaQuery } from "@mui/material";
3
- import { TagBaseProps } from "../interfaces";
4
- import { palette, themes } from "../helpers";
5
- import { styled } from "@mui/material/styles";
6
- import { ColorVariant } from "@/types";
7
-
8
- const colorMap: Record<ColorVariant, string> = {
9
- inherit: palette.inherit,
10
- primary: palette.primary,
11
- secondary: palette.secondary,
12
- error: palette.error,
13
- warning: palette.warning,
14
- info: palette.info,
15
- success: palette.success,
16
- };
17
-
18
- const TagStyled = styled(MuiTag)({});
19
-
20
- export const Tag = ({
21
- label,
22
- color = "primary",
23
- outlined = false,
24
- ...props
25
- }: TagBaseProps) => {
26
- const prefersDarkMode = useMediaQuery("(prefers-color-scheme: dark)");
27
- const theme = useMemo(
28
- () => (prefersDarkMode ? themes.light : themes.dark),
29
- [prefersDarkMode]
30
- );
31
-
32
- return (
33
- <ThemeProvider theme={theme}>
34
- <TagStyled
35
- label={label}
36
- sx={{
37
- color: outlined !== true ? "#FFFF" : colorMap[color],
38
- backgroundColor: outlined !== true ? colorMap[color] : "inherit",
39
- border: `1px solid ${colorMap[color]}`,
40
- }}
41
- {...props}
42
- />
43
- </ThemeProvider>
44
- );
45
- };
1
+ import React, { useMemo } from 'react';
2
+ import { Chip as MuiTag, ThemeProvider, useMediaQuery } from '@mui/material';
3
+ import { TagBaseProps } from '../interfaces';
4
+ import { palette, themes } from '../helpers';
5
+ import { styled } from '@mui/material/styles';
6
+ import { ColorVariant } from '@/types';
7
+
8
+ const colorMap: Record<ColorVariant, string> = {
9
+ inherit: palette.inherit,
10
+ primary: palette.primary,
11
+ secondary: palette.secondary,
12
+ error: palette.error,
13
+ warning: palette.warning,
14
+ info: palette.info,
15
+ success: palette.success,
16
+ };
17
+
18
+ const TagStyled = styled(MuiTag)({});
19
+
20
+ export const Tag = ({ label, color = 'primary', outlined = false, ...props }: TagBaseProps) => {
21
+ const prefersDarkMode = useMediaQuery('(prefers-color-scheme: dark)');
22
+ const theme = useMemo(() => (prefersDarkMode ? themes.light : themes.dark), [prefersDarkMode]);
23
+
24
+ return (
25
+ <ThemeProvider theme={theme}>
26
+ <TagStyled
27
+ label={label}
28
+ sx={{
29
+ color: outlined !== true ? '#FFFF' : colorMap[color],
30
+ backgroundColor: outlined !== true ? colorMap[color] : 'inherit',
31
+ border: `1px solid ${colorMap[color]}`,
32
+ }}
33
+ {...props}
34
+ />
35
+ </ThemeProvider>
36
+ );
37
+ };
@@ -1,33 +1,22 @@
1
- import React, { useMemo } from "react";
1
+ import React, { useMemo } from 'react';
2
2
 
3
- import {
4
- FormControl,
5
- ThemeProvider,
6
- useMediaQuery,
7
- TextField as MuiTextField,
8
- } from "@mui/material";
3
+ import { FormControl, ThemeProvider, useMediaQuery, TextField as MuiTextField } from '@mui/material';
9
4
 
10
- import { TextFieldBaseProps } from "../interfaces";
11
- import { styled } from "@mui/material/styles";
12
- import { themes } from "../helpers";
5
+ import { TextFieldBaseProps } from '../interfaces';
6
+ import { styled } from '@mui/material/styles';
7
+ import { themes } from '../helpers';
13
8
 
14
9
  const TextFieldStyled = styled(MuiTextField)({
15
- textTransform: "none",
16
- color: "currentcolor",
10
+ textTransform: 'none',
11
+ color: 'currentcolor',
17
12
  });
18
13
 
19
- export const TextField: React.FC<TextFieldBaseProps> = ({
20
- label,
21
- ...props
22
- }) => {
23
- const prefersDarkMode = useMediaQuery("(prefers-color-scheme: dark)");
24
- const theme = useMemo(
25
- () => (prefersDarkMode ? themes.light : themes.dark),
26
- [prefersDarkMode]
27
- );
14
+ export const TextField: React.FC<TextFieldBaseProps> = ({ label, ...props }) => {
15
+ const prefersDarkMode = useMediaQuery('(prefers-color-scheme: dark)');
16
+ const theme = useMemo(() => (prefersDarkMode ? themes.light : themes.dark), [prefersDarkMode]);
28
17
  return (
29
18
  <ThemeProvider theme={theme}>
30
- <FormControl sx={{ width: "100%" }}>
19
+ <FormControl sx={{ width: '100%' }}>
31
20
  <TextFieldStyled {...props} label={label} />
32
21
  </FormControl>
33
22
  </ThemeProvider>
@@ -1,103 +1,93 @@
1
- import React, { useMemo } from "react";
2
- import { ThemeProvider, useMediaQuery, Typography } from "@mui/material";
3
-
4
- import {
5
- Timeline as MuiTimeLine,
6
- TimelineItem,
7
- timelineItemClasses,
8
- TimelineSeparator,
9
- TimelineConnector,
10
- TimelineContent,
11
- TimelineDot,
12
- } from "@mui/lab";
13
-
14
- import { TimeLineBaseProps } from "@/interfaces/TimeLine";
15
-
16
- import { styled } from "@mui/material/styles";
17
- import { palette, lightenRGB, themes } from "../helpers";
18
- import { ColorVariant, DataTimeLine } from "@/types";
19
-
20
- const colorMap: Record<ColorVariant, string> = {
21
- inherit: palette.inherit,
22
- primary: palette.primary,
23
- secondary: palette.secondary,
24
- error: palette.error,
25
- warning: palette.warning,
26
- info: palette.info,
27
- success: palette.success,
28
- };
29
-
30
- const sampleData: Array<DataTimeLine> = [
31
- {
32
- title: "imported register",
33
- data: "01/04/2023 at 07h00",
34
- by: "By IEM",
35
- },
36
- {
37
- title: "80% score applied on register",
38
- data: "01/04/2023 at 07h05",
39
- by: "By IEM",
40
- },
41
- {
42
- title: "Registers transfered to campaign ID 10",
43
- data: "",
44
- by: "",
45
- },
46
- ];
47
-
48
- const TimeLineStyled = styled(MuiTimeLine)({
49
- [`& .${timelineItemClasses.root}:before`]: {
50
- flex: 0,
51
- padding: 0,
52
- },
53
- });
54
-
55
- export const TimeLine: React.FC<TimeLineBaseProps> = ({
56
- data = sampleData,
57
- color = "primary",
58
- position = "left",
59
- ...props
60
- }) => {
61
- const prefersDarkMode = useMediaQuery("(prefers-color-scheme: dark)");
62
- const theme = useMemo(
63
- () => (prefersDarkMode ? themes.light : themes.light),
64
- [prefersDarkMode]
65
- );
66
-
67
- const renderList = data.map((item, key) => (
68
- <TimelineItem key={key}>
69
- <TimelineSeparator>
70
- <TimelineDot
71
- sx={{
72
- bgcolor: colorMap[color],
73
- p: "6px",
74
- border: `4px solid ${lightenRGB(colorMap[color], 50)}`,
75
- }}
76
- />
77
- {key !== data.length - 1 && (
78
- <TimelineConnector
79
- sx={{ bgcolor: colorMap[color], pt: "55px", pl: "3px" }}
80
- />
81
- )}
82
- </TimelineSeparator>
83
- <TimelineContent>
84
- {item.title}
85
- <Typography sx={{ m: "auto 0" }} variant="body2" color="text.secondary">
86
- {item.data}
87
- </Typography>
88
- <Typography
89
- sx={{ m: "auto 0", color: colorMap[color] }}
90
- variant="body2"
91
- >
92
- {item.by}
93
- </Typography>
94
- </TimelineContent>
95
- </TimelineItem>
96
- ));
97
-
98
- return (
99
- <ThemeProvider theme={theme}>
100
- <TimeLineStyled {...props}>{renderList}</TimeLineStyled>
101
- </ThemeProvider>
102
- );
103
- };
1
+ import React, { useMemo } from 'react';
2
+ import { ThemeProvider, useMediaQuery, Typography } from '@mui/material';
3
+
4
+ import {
5
+ Timeline as MuiTimeLine,
6
+ TimelineItem,
7
+ timelineItemClasses,
8
+ TimelineSeparator,
9
+ TimelineConnector,
10
+ TimelineContent,
11
+ TimelineDot,
12
+ } from '@mui/lab';
13
+
14
+ import { TimeLineBaseProps } from '@/interfaces/TimeLine';
15
+
16
+ import { styled } from '@mui/material/styles';
17
+ import { palette, lightenRGB, themes } from '../helpers';
18
+ import { ColorVariant, DataTimeLine } from '@/types';
19
+
20
+ const colorMap: Record<ColorVariant, string> = {
21
+ inherit: palette.inherit,
22
+ primary: palette.primary,
23
+ secondary: palette.secondary,
24
+ error: palette.error,
25
+ warning: palette.warning,
26
+ info: palette.info,
27
+ success: palette.success,
28
+ };
29
+
30
+ const sampleData: Array<DataTimeLine> = [
31
+ {
32
+ title: 'imported register',
33
+ data: '01/04/2023 at 07h00',
34
+ by: 'By IEM',
35
+ },
36
+ {
37
+ title: '80% score applied on register',
38
+ data: '01/04/2023 at 07h05',
39
+ by: 'By IEM',
40
+ },
41
+ {
42
+ title: 'Registers transfered to campaign ID 10',
43
+ data: '',
44
+ by: '',
45
+ },
46
+ ];
47
+
48
+ const TimeLineStyled = styled(MuiTimeLine)({
49
+ [`& .${timelineItemClasses.root}:before`]: {
50
+ flex: 0,
51
+ padding: 0,
52
+ },
53
+ });
54
+
55
+ export const TimeLine: React.FC<TimeLineBaseProps> = ({
56
+ data = sampleData,
57
+ color = 'primary',
58
+ position = 'left',
59
+ ...props
60
+ }) => {
61
+ const prefersDarkMode = useMediaQuery('(prefers-color-scheme: dark)');
62
+ const theme = useMemo(() => (prefersDarkMode ? themes.light : themes.light), [prefersDarkMode]);
63
+
64
+ const renderList = data.map((item, key) => (
65
+ <TimelineItem key={key}>
66
+ <TimelineSeparator>
67
+ <TimelineDot
68
+ sx={{
69
+ bgcolor: colorMap[color],
70
+ p: '6px',
71
+ border: `4px solid ${lightenRGB(colorMap[color], 50)}`,
72
+ }}
73
+ />
74
+ {key !== data.length - 1 && <TimelineConnector sx={{ bgcolor: colorMap[color], pt: '55px', pl: '3px' }} />}
75
+ </TimelineSeparator>
76
+ <TimelineContent>
77
+ {item.title}
78
+ <Typography sx={{ m: 'auto 0' }} variant="body2" color="text.secondary">
79
+ {item.data}
80
+ </Typography>
81
+ <Typography sx={{ m: 'auto 0', color: colorMap[color] }} variant="body2">
82
+ {item.by}
83
+ </Typography>
84
+ </TimelineContent>
85
+ </TimelineItem>
86
+ ));
87
+
88
+ return (
89
+ <ThemeProvider theme={theme}>
90
+ <TimeLineStyled {...props}>{renderList}</TimeLineStyled>
91
+ </ThemeProvider>
92
+ );
93
+ };