@campxdev/shared 0.5.21 → 0.5.23

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 (69) hide show
  1. package/.eslintignore +4 -0
  2. package/.eslintrc.js +34 -0
  3. package/.prettierrc +10 -0
  4. package/exports.ts +7 -6
  5. package/package.json +64 -50
  6. package/publish.sh +2 -0
  7. package/src/assets/images/index.ts +8 -8
  8. package/src/components/Breadcrumbs.tsx +3 -3
  9. package/src/components/ChangePassword.tsx +147 -147
  10. package/src/components/DropDownButton.tsx +167 -163
  11. package/src/components/ErrorBoundary/ErrorBoundary.tsx +22 -22
  12. package/src/components/ErrorBoundary/ErrorFallback.tsx +215 -215
  13. package/src/components/ErrorBoundary/GlobalNetworkLoadingIndicator.tsx +6 -6
  14. package/src/components/ErrorBoundary/index.tsx +1 -1
  15. package/src/components/FullScreenLoader.tsx +15 -15
  16. package/src/components/HookForm/AutoCompleteSearch.tsx +0 -30
  17. package/src/components/HookForm/RadioGroup.tsx +1 -1
  18. package/src/components/IconButtons/Icons.tsx +1 -2
  19. package/src/components/Input/AutoCompleteSearch.tsx +0 -30
  20. package/src/components/Input/SingleSelect.tsx +0 -15
  21. package/src/components/Layout/Header/AppHeader.tsx +89 -89
  22. package/src/components/Layout/Header/AppsMenu.tsx +79 -79
  23. package/src/components/Layout/Header/CogWheelMenu.tsx +27 -27
  24. package/src/components/Layout/Header/UserBox.tsx +25 -25
  25. package/src/components/Layout/Header/applications.ts +79 -79
  26. package/src/components/Layout/Header/assets/index.ts +10 -10
  27. package/src/components/Layout/Header/styles.tsx +72 -72
  28. package/src/components/LayoutWrapper.tsx +6 -6
  29. package/src/components/LinearProgress.tsx +14 -14
  30. package/src/components/ListItemButton.tsx +79 -79
  31. package/src/components/LoginForm.tsx +86 -86
  32. package/src/components/MenuButton.tsx +88 -88
  33. package/src/components/ModalButtons/DialogButton.tsx +66 -66
  34. package/src/components/PageContent.tsx +10 -10
  35. package/src/components/PageNotFound.tsx +12 -12
  36. package/src/components/PopupConfirm/ConfirmContextProvider.tsx +28 -28
  37. package/src/components/PopupConfirm/PopupConfirm.tsx +27 -27
  38. package/src/components/PopupConfirm/useConfirm.ts +41 -41
  39. package/src/components/SideMenuHeader.tsx +15 -15
  40. package/src/components/SideNav.tsx +119 -119
  41. package/src/components/Spinner.tsx +14 -14
  42. package/src/components/TableComponent/ReactTable.tsx +256 -256
  43. package/src/components/TableComponent/RenderTableBody.tsx +56 -56
  44. package/src/components/TableComponent/index.tsx +171 -171
  45. package/src/components/TableComponent/react-table-config.d.ts +2 -3
  46. package/src/components/index.ts +54 -54
  47. package/src/config/axios.ts +50 -50
  48. package/src/config/axiosXTenant.ts +57 -0
  49. package/src/constants/isDevelopment.ts +2 -2
  50. package/src/contexts/LoginFormProvider.tsx +28 -28
  51. package/src/contexts/Providers.tsx +40 -40
  52. package/src/contexts/QueryClientProvider.tsx +15 -15
  53. package/src/hooks/index.ts +2 -2
  54. package/src/hooks/useAppInit.ts +23 -23
  55. package/src/hooks/useAuth.ts +78 -77
  56. package/src/layouts/Components/DashBoardMenu.tsx +77 -77
  57. package/src/layouts/Components/icons/index.tsx +32 -32
  58. package/src/layouts/Components/styles.tsx +23 -23
  59. package/src/permissions/PageWithPermission.tsx +9 -9
  60. package/src/permissions/PermissionDeniedPage.tsx +13 -13
  61. package/src/permissions/PermissionsStore.ts +303 -303
  62. package/src/shared-state/index.ts +3 -3
  63. package/src/theme/MuiThemeProvider.tsx +9 -9
  64. package/src/theme/theme.d.ts +72 -72
  65. package/src/utils/index.ts +7 -7
  66. package/src/utils/logout.ts +19 -19
  67. package/src/utils/withLocalization.tsx +8 -8
  68. package/src/utils/withRouteWrapper.tsx +20 -20
  69. package/src/utils/withSuspense.tsx +3 -3
@@ -1,293 +1,293 @@
1
- import {ExpandMore} from '@mui/icons-material'
1
+ import { ExpandMore } from '@mui/icons-material'
2
2
  import {
3
- Box,
4
- Checkbox,
5
- IconButton,
6
- ListItemIcon,
7
- MenuItem,
8
- Table,
9
- TableCell,
10
- TableHead,
11
- TableRow,
12
- Typography,
3
+ Box,
4
+ Checkbox,
5
+ IconButton,
6
+ ListItemIcon,
7
+ MenuItem,
8
+ Table,
9
+ TableCell,
10
+ TableHead,
11
+ TableRow,
12
+ Typography,
13
13
  } from '@mui/material'
14
- import {useEffect, useMemo, useState} from 'react'
15
- import {usePagination, useRowSelect, useTable} from 'react-table'
14
+ import { useEffect, useMemo, useState } from 'react'
15
+ import { usePagination, useRowSelect, useTable } from 'react-table'
16
16
  import ErrorBoundary from '../ErrorBoundary'
17
17
  import BatchActionsHeader from './BatchActionsHeader'
18
- import {SortAscIcon, SortDescIcon, SortIcon} from './Icons'
19
- import {RenderTableBody} from './RenderTableBody'
18
+ import { SortAscIcon, SortDescIcon, SortIcon } from './Icons'
19
+ import { RenderTableBody } from './RenderTableBody'
20
20
  import {
21
- StyledLimitBox,
22
- StyledLimitMenu,
23
- StyledPagination,
24
- StyledTableFooter,
21
+ StyledLimitBox,
22
+ StyledLimitMenu,
23
+ StyledPagination,
24
+ StyledTableFooter,
25
25
  } from './styles'
26
- import {TableStats} from './TableFooter/TableFooter'
27
- import {ColumnProps, Sort, TableProps} from './types'
26
+ import { TableStats } from './TableFooter/TableFooter'
27
+ import { ColumnProps, Sort, TableProps } from './types'
28
28
 
29
29
  type ReactTableCell = {
30
- Header: any
31
- accessor: any
32
- Cell?: any
33
- sort?: boolean
30
+ Header: any
31
+ accessor: any
32
+ Cell?: any
33
+ sort?: boolean
34
34
  } & ColumnProps
35
35
 
36
36
  const selectColumn = {
37
- id: 'selection',
38
- Header: ({getToggleAllPageRowsSelectedProps}) => (
39
- <Checkbox size='small' {...getToggleAllPageRowsSelectedProps()} />
40
- ),
41
- Cell: ({row}) => (
42
- <Checkbox size='small' {...row.getToggleRowSelectedProps()} />
43
- ),
37
+ id: 'selection',
38
+ Header: ({ getToggleAllPageRowsSelectedProps }) => (
39
+ <Checkbox size="small" {...getToggleAllPageRowsSelectedProps()} />
40
+ ),
41
+ Cell: ({ row }) => (
42
+ <Checkbox size="small" {...row.getToggleRowSelectedProps()} />
43
+ ),
44
44
  }
45
45
 
46
46
  const getTableCol = (headerItem: ColumnProps) => {
47
- let col: ReactTableCell = {
48
- Header: headerItem?.title,
49
- accessor: headerItem?.dataIndex,
50
- ...headerItem,
51
- }
47
+ let col: ReactTableCell = {
48
+ Header: headerItem?.title,
49
+ accessor: headerItem?.dataIndex,
50
+ ...headerItem,
51
+ }
52
52
 
53
- if (headerItem?.render) {
54
- return {
55
- ...col,
56
- Cell: ({row}) =>
57
- headerItem?.render(
58
- row?.original[headerItem?.dataIndex],
59
- row?.original,
60
- row?.index
61
- ),
62
- }
63
- }
64
- return col
53
+ if (headerItem?.render) {
54
+ return {
55
+ ...col,
56
+ Cell: ({ row }) =>
57
+ headerItem?.render(
58
+ row?.original[headerItem?.dataIndex],
59
+ row?.original,
60
+ row?.index,
61
+ ),
62
+ }
63
+ }
64
+ return col
65
65
  }
66
66
 
67
67
  export default function TableComponent({
68
- columns,
69
- dataSource,
70
- loading,
71
- pagination,
72
- refetching,
73
- onSort,
74
- select = {
75
- enable: false,
76
- },
68
+ columns,
69
+ dataSource,
70
+ loading,
71
+ pagination,
72
+ refetching,
73
+ onSort,
74
+ select = {
75
+ enable: false,
76
+ },
77
77
  }: TableProps) {
78
- const [sort, setSort] = useState<Sort>({})
78
+ const [sort, setSort] = useState<Sort>({})
79
79
 
80
- const headers = useMemo(() => {
81
- if (!columns) return []
80
+ const headers = useMemo(() => {
81
+ if (!columns) return []
82
82
 
83
- return columns?.map((item) => getTableCol(item))
84
- }, [columns])
83
+ return columns?.map((item) => getTableCol(item))
84
+ }, [columns])
85
85
 
86
- const tableData = useMemo(() => {
87
- if (!dataSource) return []
88
- return [...dataSource]
89
- }, [dataSource])
86
+ const tableData = useMemo(() => {
87
+ if (!dataSource) return []
88
+ return [...dataSource]
89
+ }, [dataSource])
90
90
 
91
- const {
92
- getTableProps,
93
- getTableBodyProps,
94
- headerGroups,
95
- rows,
96
- prepareRow,
97
- pageCount,
98
- gotoPage,
99
- setPageSize,
100
- selectedFlatRows,
101
- toggleAllRowsSelected,
102
- state: {pageIndex, pageSize, selectedRowIds},
103
- } = useTable(
104
- {
105
- columns: headers || [],
106
- data: tableData || [],
107
- stateReducer: (newState, action) => {
108
- switch (action.type) {
109
- case 'toggleAllRowsSelected':
110
- return {
111
- ...newState,
112
- selectedRowIds: {},
113
- }
91
+ const {
92
+ getTableProps,
93
+ getTableBodyProps,
94
+ headerGroups,
95
+ rows,
96
+ prepareRow,
97
+ pageCount,
98
+ gotoPage,
99
+ setPageSize,
100
+ selectedFlatRows,
101
+ toggleAllRowsSelected,
102
+ state: { pageIndex, pageSize, selectedRowIds },
103
+ } = useTable(
104
+ {
105
+ columns: headers || [],
106
+ data: tableData || [],
107
+ stateReducer: (newState, action) => {
108
+ switch (action.type) {
109
+ case 'toggleAllRowsSelected':
110
+ return {
111
+ ...newState,
112
+ selectedRowIds: {},
113
+ }
114
114
 
115
- default:
116
- return newState
117
- }
118
- },
119
- initialState: {
120
- pageIndex: pagination?.page ?? 0,
121
- pageSize: pagination?.limit ?? 10,
122
- },
123
- manualPagination: true,
124
- autoResetSelectedRows: false,
125
- pageCount: pagination?.totalCount ?? dataSource?.length,
126
- getRowId: select?.enable
127
- ? (row) => {
128
- return row?.id
129
- }
130
- : undefined,
131
- },
132
- // useSortBy,
133
- usePagination,
134
- useRowSelect,
135
- (hooks) => {
136
- if (!select.enable) return
137
- hooks.visibleColumns.push((columns) => [selectColumn, ...columns])
138
- }
139
- )
115
+ default:
116
+ return newState
117
+ }
118
+ },
119
+ initialState: {
120
+ pageIndex: pagination?.page ?? 0,
121
+ pageSize: pagination?.limit ?? 10,
122
+ },
123
+ manualPagination: true,
124
+ autoResetSelectedRows: false,
125
+ pageCount: pagination?.totalCount ?? dataSource?.length,
126
+ getRowId: select?.enable
127
+ ? (row) => {
128
+ return row?.id
129
+ }
130
+ : undefined,
131
+ },
132
+ // useSortBy,
133
+ usePagination,
134
+ useRowSelect,
135
+ (hooks) => {
136
+ if (!select.enable) return
137
+ hooks.visibleColumns.push((columns) => [selectColumn, ...columns])
138
+ },
139
+ )
140
140
 
141
- const handleSortClick = (sortBykey) => {
142
- setSort((prev) => {
143
- if (prev[sortBykey]) {
144
- if (prev[sortBykey] === 'desc') return {...prev, [sortBykey]: 'asc'}
145
- if (prev[sortBykey] === 'asc') {
146
- delete prev[sortBykey]
147
- return {...prev}
148
- }
149
- } else {
150
- return {
151
- ...prev,
152
- [sortBykey]: 'desc',
153
- }
154
- }
155
- })
156
- }
157
- useEffect(() => {
158
- if (!onSort) return
141
+ const handleSortClick = (sortBykey) => {
142
+ setSort((prev) => {
143
+ if (prev[sortBykey]) {
144
+ if (prev[sortBykey] === 'desc') return { ...prev, [sortBykey]: 'asc' }
145
+ if (prev[sortBykey] === 'asc') {
146
+ delete prev[sortBykey]
147
+ return { ...prev }
148
+ }
149
+ } else {
150
+ return {
151
+ ...prev,
152
+ [sortBykey]: 'desc',
153
+ }
154
+ }
155
+ })
156
+ }
157
+ useEffect(() => {
158
+ if (!onSort) return
159
159
 
160
- onSort({
161
- sortBy: Object.keys(sort).join(','),
162
- sortOrder: Object.keys(sort)
163
- .map((item) => sort[item])
164
- .join(','),
165
- })
166
- }, [sort])
160
+ onSort({
161
+ sortBy: Object.keys(sort).join(','),
162
+ sortOrder: Object.keys(sort)
163
+ .map((item) => sort[item])
164
+ .join(','),
165
+ })
166
+ }, [sort])
167
167
 
168
- const handlePagination = (e, value) => {
169
- gotoPage(value - 1)
170
- }
168
+ const handlePagination = (e, value) => {
169
+ gotoPage(value - 1)
170
+ }
171
171
 
172
- useEffect(() => {
173
- if (!pagination) return
174
- pagination.onChange(pageIndex * pageSize)
175
- }, [pageIndex])
172
+ useEffect(() => {
173
+ if (!pagination) return
174
+ pagination.onChange(pageIndex * pageSize)
175
+ }, [pageIndex])
176
176
 
177
- useEffect(() => {
178
- if (!pagination) return
179
- pagination.onChangeLimit(pageSize)
180
- pagination.onChange(0)
181
- }, [pageSize])
177
+ useEffect(() => {
178
+ if (!pagination) return
179
+ pagination.onChangeLimit(pageSize)
180
+ pagination.onChange(0)
181
+ }, [pageSize])
182
182
 
183
- const clearSelection = () => {
184
- toggleAllRowsSelected(false)
185
- }
183
+ const clearSelection = () => {
184
+ toggleAllRowsSelected(false)
185
+ }
186
186
 
187
- return (
188
- <>
189
- <BatchActionsHeader
190
- actions={select?.actions || []}
191
- selectedRowIds={selectedRowIds}
192
- clearSelection={clearSelection}
193
- />
194
- <Table sx={{position: 'relative'}} {...getTableProps()}>
195
- <TableHead>
196
- {headerGroups.map((headerGroup, index) => (
197
- <TableRow key={index} {...headerGroup.getHeaderGroupProps()}>
198
- {headerGroup.headers.map((column: any, index) => (
199
- <TableCell key={index} {...column.getHeaderProps()}>
200
- {column.render('Header')}
201
- {column.sort && (
202
- <IconButton onClick={() => handleSortClick(column.id)}>
203
- <ListItemIcon>
204
- {sort[column.id] === 'asc' ? (
205
- <SortAscIcon />
206
- ) : sort[column.id] === 'desc' ? (
207
- <SortDescIcon />
208
- ) : (
209
- <SortIcon />
210
- )}
211
- </ListItemIcon>
212
- </IconButton>
213
- )}
214
- </TableCell>
215
- ))}
216
- </TableRow>
217
- ))}
218
- </TableHead>
219
- <RenderTableBody
220
- colLength={columns?.length}
221
- loading={loading || refetching}
222
- getTableBodyProps={getTableBodyProps}
223
- rows={rows}
224
- prepareRow={prepareRow}
225
- />
226
- </Table>
227
- {pagination && dataSource && !loading && (
228
- <StyledTableFooter>
229
- <TableStats
230
- limit={pageSize}
231
- page={pageIndex + 1}
232
- totalCount={pageCount}
233
- />
234
- <StyledPagination
235
- variant='outlined'
236
- shape='rounded'
237
- onChange={handlePagination}
238
- count={Math.ceil(pageCount / pageSize)}
239
- page={pageIndex + 1}
240
- />
241
- <Limit pageSize={pageSize} setPageSize={setPageSize} />
242
- </StyledTableFooter>
243
- )}
244
- </>
245
- )
187
+ return (
188
+ <>
189
+ <BatchActionsHeader
190
+ actions={select?.actions || []}
191
+ selectedRowIds={selectedRowIds}
192
+ clearSelection={clearSelection}
193
+ />
194
+ <Table sx={{ position: 'relative' }} {...getTableProps()}>
195
+ <TableHead>
196
+ {headerGroups.map((headerGroup, index) => (
197
+ <TableRow key={index} {...headerGroup.getHeaderGroupProps()}>
198
+ {headerGroup.headers.map((column: any, index) => (
199
+ <TableCell key={index} {...column.getHeaderProps()}>
200
+ {column.render('Header')}
201
+ {column.sort && (
202
+ <IconButton onClick={() => handleSortClick(column.id)}>
203
+ <ListItemIcon>
204
+ {sort[column.id] === 'asc' ? (
205
+ <SortAscIcon />
206
+ ) : sort[column.id] === 'desc' ? (
207
+ <SortDescIcon />
208
+ ) : (
209
+ <SortIcon />
210
+ )}
211
+ </ListItemIcon>
212
+ </IconButton>
213
+ )}
214
+ </TableCell>
215
+ ))}
216
+ </TableRow>
217
+ ))}
218
+ </TableHead>
219
+ <RenderTableBody
220
+ colLength={columns?.length}
221
+ loading={loading || refetching}
222
+ getTableBodyProps={getTableBodyProps}
223
+ rows={rows}
224
+ prepareRow={prepareRow}
225
+ />
226
+ </Table>
227
+ {pagination && dataSource && !loading && (
228
+ <StyledTableFooter>
229
+ <TableStats
230
+ limit={pageSize}
231
+ page={pageIndex + 1}
232
+ totalCount={pageCount}
233
+ />
234
+ <StyledPagination
235
+ variant="outlined"
236
+ shape="rounded"
237
+ onChange={handlePagination}
238
+ count={Math.ceil(pageCount / pageSize)}
239
+ page={pageIndex + 1}
240
+ />
241
+ <Limit pageSize={pageSize} setPageSize={setPageSize} />
242
+ </StyledTableFooter>
243
+ )}
244
+ </>
245
+ )
246
246
  }
247
247
 
248
- const Limit = ({pageSize, setPageSize}) => {
249
- const [anchorEl, setAnchorEl] = useState<null | HTMLElement>(null)
250
- const open = Boolean(anchorEl)
248
+ const Limit = ({ pageSize, setPageSize }) => {
249
+ const [anchorEl, setAnchorEl] = useState<null | HTMLElement>(null)
250
+ const open = Boolean(anchorEl)
251
251
 
252
- const handleClick = (event) => {
253
- setAnchorEl(event.currentTarget)
254
- }
252
+ const handleClick = (event) => {
253
+ setAnchorEl(event.currentTarget)
254
+ }
255
255
 
256
- const handleClose = () => {
257
- setAnchorEl(null)
258
- }
259
- const menuItems = [
260
- {label: '10', value: 10},
261
- {label: '20', value: 20},
262
- {label: '50', value: 50},
263
- {label: '100', value: 100},
264
- ]
256
+ const handleClose = () => {
257
+ setAnchorEl(null)
258
+ }
259
+ const menuItems = [
260
+ { label: '10', value: 10 },
261
+ { label: '20', value: 20 },
262
+ { label: '50', value: 50 },
263
+ { label: '100', value: 100 },
264
+ ]
265
265
 
266
- return (
267
- <StyledLimitBox open={open}>
268
- <Box onClick={handleClick}>
269
- <Typography>{`${pageSize} / Page`}</Typography>
270
- <ExpandMore />
271
- </Box>
272
- <StyledLimitMenu
273
- id='basic-menu'
274
- anchorEl={anchorEl}
275
- open={open}
276
- onClose={handleClose}
277
- >
278
- {menuItems?.map((item, index) => (
279
- <MenuItem
280
- onClick={() => {
281
- setPageSize(item?.value)
282
- handleClose()
283
- }}
284
- value={item?.value}
285
- key={index}
286
- >
287
- {item?.label}
288
- </MenuItem>
289
- ))}
290
- </StyledLimitMenu>
291
- </StyledLimitBox>
292
- )
266
+ return (
267
+ <StyledLimitBox open={open}>
268
+ <Box onClick={handleClick}>
269
+ <Typography>{`${pageSize} / Page`}</Typography>
270
+ <ExpandMore />
271
+ </Box>
272
+ <StyledLimitMenu
273
+ id="basic-menu"
274
+ anchorEl={anchorEl}
275
+ open={open}
276
+ onClose={handleClose}
277
+ >
278
+ {menuItems?.map((item, index) => (
279
+ <MenuItem
280
+ onClick={() => {
281
+ setPageSize(item?.value)
282
+ handleClose()
283
+ }}
284
+ value={item?.value}
285
+ key={index}
286
+ >
287
+ {item?.label}
288
+ </MenuItem>
289
+ ))}
290
+ </StyledLimitMenu>
291
+ </StyledLimitBox>
292
+ )
293
293
  }
@@ -1,64 +1,64 @@
1
- import {Box, TableBody, TableCell, Typography} from '@mui/material'
1
+ import { Box, TableBody, TableCell, Typography } from '@mui/material'
2
2
  import Spinner from '../Spinner'
3
3
  import noDataImage from './no-data-illu.svg'
4
- import {StyledTableRow} from './styles'
4
+ import { StyledTableRow } from './styles'
5
5
 
6
6
  export const RenderTableBody = ({
7
- getTableBodyProps,
8
- prepareRow,
9
- rows,
10
- loading,
11
- colLength,
7
+ getTableBodyProps,
8
+ prepareRow,
9
+ rows,
10
+ loading,
11
+ colLength,
12
12
  }) => {
13
- if (loading)
14
- return (
15
- <TableCell colSpan={colLength}>
16
- <Spinner />
17
- </TableCell>
18
- )
13
+ if (loading)
14
+ return (
15
+ <TableCell colSpan={colLength}>
16
+ <Spinner />
17
+ </TableCell>
18
+ )
19
19
 
20
- if (!loading && rows?.length < 1)
21
- return (
22
- <TableCell colSpan={colLength}>
23
- <Box
24
- sx={{
25
- display: 'flex',
26
- flexDirection: 'column',
27
- alignItems: 'center',
28
- justifyContent: 'center',
29
- }}
30
- >
31
- <img
32
- style={{width: '200px', height: 'auto', textAlign: 'center'}}
33
- src={noDataImage}
34
- />
35
- <Typography variant='h6' align='center'>
36
- No Records Found
37
- </Typography>
38
- </Box>
39
- </TableCell>
40
- )
20
+ if (!loading && rows?.length < 1)
21
+ return (
22
+ <TableCell colSpan={colLength}>
23
+ <Box
24
+ sx={{
25
+ display: 'flex',
26
+ flexDirection: 'column',
27
+ alignItems: 'center',
28
+ justifyContent: 'center',
29
+ }}
30
+ >
31
+ <img
32
+ style={{ width: '200px', height: 'auto', textAlign: 'center' }}
33
+ src={noDataImage}
34
+ />
35
+ <Typography variant="h6" align="center">
36
+ No Records Found
37
+ </Typography>
38
+ </Box>
39
+ </TableCell>
40
+ )
41
41
 
42
- return (
43
- <TableBody {...getTableBodyProps()}>
44
- {rows?.map((row, index) => {
45
- prepareRow(row)
46
- return (
47
- <StyledTableRow
48
- key={index}
49
- {...row.getRowProps()}
50
- isSelected={row?.isSelected}
51
- >
52
- {row.cells?.map((cell, index) => {
53
- return (
54
- <TableCell key={index} {...cell.getCellProps()}>
55
- {cell?.render('Cell')}
56
- </TableCell>
57
- )
58
- })}
59
- </StyledTableRow>
60
- )
61
- })}
62
- </TableBody>
63
- )
42
+ return (
43
+ <TableBody {...getTableBodyProps()}>
44
+ {rows?.map((row, index) => {
45
+ prepareRow(row)
46
+ return (
47
+ <StyledTableRow
48
+ key={index}
49
+ {...row.getRowProps()}
50
+ isSelected={row?.isSelected}
51
+ >
52
+ {row.cells?.map((cell, index) => {
53
+ return (
54
+ <TableCell key={index} {...cell.getCellProps()}>
55
+ {cell?.render('Cell')}
56
+ </TableCell>
57
+ )
58
+ })}
59
+ </StyledTableRow>
60
+ )
61
+ })}
62
+ </TableBody>
63
+ )
64
64
  }