Skip to content

Commit 253f2c6

Browse files
sudhanshutechdragon-slayer875
authored andcommitted
feat(theme): tables
Signed-off-by: Sudhanshu Dasgupta <[email protected]>
1 parent 44eb969 commit 253f2c6

File tree

1 file changed

+65
-8
lines changed

1 file changed

+65
-8
lines changed

src/custom/ResponsiveDataTable.tsx

Lines changed: 65 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,61 @@
1+
import { Theme, ThemeProvider, createTheme } from '@mui/material';
12
import MUIDataTable from 'mui-datatables';
23
import React, { useCallback } from 'react';
34

5+
const dataTableTheme = (theme: Theme) =>
6+
createTheme({
7+
components: {
8+
MuiTable: {
9+
styleOverrides: {
10+
root: {
11+
border: `2px solid ${theme.palette.border.normal}`,
12+
width: '-webkit-fill-available',
13+
'@media (max-width: 500px)': {
14+
wordWrap: 'break-word'
15+
}
16+
}
17+
}
18+
},
19+
MUIDataTableHeadCell: {
20+
styleOverrides: {
21+
data: {
22+
fontWeight: 'bold',
23+
textTransform: 'uppercase'
24+
},
25+
root: {
26+
fontWeight: 'bold',
27+
textTransform: 'uppercase',
28+
color: theme.palette.text.default
29+
}
30+
}
31+
},
32+
MUIDataTableSearch: {
33+
styleOverrides: {
34+
main: {
35+
'@media (max-width: 600px)': {
36+
justifyContent: 'center'
37+
}
38+
}
39+
}
40+
},
41+
MuiInput: {
42+
styleOverrides: {
43+
root: {
44+
'&:before': {
45+
borderBottom: `2px solid ${theme.palette.border.brand}`
46+
},
47+
'&.Mui-focused:after': {
48+
borderBottom: `2px solid ${theme.palette.border.brand}`
49+
},
50+
'&:hover:not(.Mui-disabled):before': {
51+
borderBottom: `2px solid ${theme.palette.border.brand}`
52+
}
53+
}
54+
}
55+
}
56+
}
57+
});
58+
459
export interface Column {
560
name: string;
661
label: string;
@@ -130,14 +185,16 @@ const ResponsiveDataTable = ({
130185
};
131186

132187
return (
133-
<MUIDataTable
134-
columns={tableCols ?? []}
135-
data={data || []}
136-
title={undefined}
137-
components={components}
138-
options={updatedOptions}
139-
{...props}
140-
/>
188+
<ThemeProvider theme={dataTableTheme}>
189+
<MUIDataTable
190+
columns={tableCols ?? []}
191+
data={data || []}
192+
title={undefined}
193+
components={components}
194+
options={updatedOptions}
195+
{...props}
196+
/>
197+
</ThemeProvider>
141198
);
142199
};
143200

0 commit comments

Comments
 (0)