Proyectos de Subversion LeadersLinked - SPA

Rev

| Ultima modificación | Ver Log |

Rev Autor Línea Nro. Línea
3462 stevensc 1
import React from 'react';
3518 stevensc 2
import { Box, Typography } from '@mui/material';
3462 stevensc 3
 
3518 stevensc 4
export function Grid({
5
  items = [],
6
  renderItem = () => {},
7
  emptyMessage = '',
8
  keyExtractor = (item) => item,
9
  autoFit = true,
3519 stevensc 10
  minWidth = 200,
3528 stevensc 11
  maxWidth = 200,
3518 stevensc 12
  columns = 3,
13
  gap = 1
14
}) {
3462 stevensc 15
  if (!items.length) {
16
    return <Typography>{emptyMessage}</Typography>;
17
  }
18
 
3518 stevensc 19
  return (
20
    <Box
21
      sx={{
22
        display: 'grid',
23
        gridTemplateColumns: autoFit
3519 stevensc 24
          ? `repeat(auto-fit, minmax(${minWidth}px, ${maxWidth}px))`
3518 stevensc 25
          : `repeat(${columns}, 1fr)`,
26
        gap
27
      }}
28
    >
29
      {items.map((item, index) => (
30
        <Box key={keyExtractor(item, index)}>{renderItem(item, index)}</Box>
31
      ))}
32
    </Box>
33
  );
3462 stevensc 34
}