Proyectos de Subversion LeadersLinked - SPA

Rev

Rev 3621 | Ir a la última revisión | | Ultima modificación | Ver Log |

Rev Autor Línea Nro. Línea
3619 stevensc 1
import React from 'react';
2
import { styled, Typography } from '@mui/material';
3
 
4
const StyledList = styled('ul')`
5
  display: flex;
6
  flex-direction: column;
7
  list-style: none;
8
  padding: 0;
9
  gap: 1rem;
10
`;
11
 
12
export function List({
13
  items = [],
14
  renderItem = () => {},
15
  emptyMessage = 'No hay elementos para mostrar',
16
  keyExtractor = (item) => item.id,
17
  renderHeader,
18
  renderFooter,
19
  styles = {}
20
}) {
21
  if (!items.length) {
22
    return <Typography>{emptyMessage}</Typography>;
23
  }
24
 
25
  return (
26
    <StyledList styles={styles}>
27
      {renderHeader && <li>{renderHeader()}</li>}
28
      {items.map((item, index) => {
29
        return <li key={keyExtractor(item)}>{renderItem(item, index)}</li>;
30
      })}
31
      {renderFooter && <li>{renderFooter()}</li>}
32
    </StyledList>
33
  );
34
}