import React from 'react' import type { Meta } from '@storybook/react' import { Table } from './Table' import { IconSolidCubeTransparent } from '../icons' export default { title: 'Components/Table', component: Table, } as Meta type DefaultData = { name: string age: number language: string } const COLUMNS = [ { name: 'Name', width: 'auto', dataFormat: { icon: , }, renderData: (data: DefaultData) => data.name, }, { name: 'Age', width: '100px', renderData: (data: DefaultData) => data.age, }, { name: 'Favorite Language', width: '150px', renderData: (data: DefaultData) => ( {data.language} ), }, ] const DATA: DefaultData[] = [ { name: 'John', age: 20, language: 'JavaScript', }, { name: 'Jane', age: 21, language: 'Python', }, { name: 'Joe', age: 22, language: 'Go', }, ] export const Default = () => { const gridColumns = COLUMNS.map((column) => column.width) return ( {COLUMNS.map((column) => ( {column.name} ))} {DATA.map((row: DefaultData) => ( {COLUMNS.map((column) => ( {column.renderData(row)} ))} ))}
) } export const CustomContent = () => { const gridColumns = COLUMNS.map((column) => column.width) return ( {COLUMNS.map((column) => ( {column.name} ))} Loading...
) }