import React from 'react'; import { ComponentStory, Meta } from '@storybook/react'; import { Cell, HeaderCell } from '../Cell'; import { HeaderRow, Row } from '../Row'; import Table from '../Table/Table'; import TableBody from '../TableBody/TableBody'; import { makeData } from '../utils/makeData.testutils'; import { AnyDict } from '../utils/types'; import TableHead from './TableHead'; export default { title: 'Composition/Data Display/Table/TableHead', component: TableHead, argTypes: { children: { control: 'none' }, ref: { control: 'none' }, className: { control: 'none' }, isSticky: { control: 'boolean' }, }, // This is needed as a workaround to make arg spreading performant // https://github.com/storybookjs/storybook/issues/11657 parameters: { chromatic: { disableSnapshot: true, }, docs: { source: { type: 'code' }, }, }, } as Meta; const Template: ComponentStory = args => { const data = makeData(false, 100); const columns = Object.keys(data[0]); return ( {columns.map((columnName: string) => ( {columnName} ))} {data.map((row: AnyDict) => ( {Object.keys(row).map((cellKey: string, index: number) => { return {row[cellKey]}; })} ))}
); }; export const StickyHeader = Template.bind({}); StickyHeader.args = { isSticky: true, };