react-merge-table
Version:
React component for auto-merging rowspan/colspan in HTML tables
45 lines (38 loc) • 1.34 kB
TypeScript
import * as react_jsx_runtime from 'react/jsx-runtime';
import React$1 from 'react';
type Props$1 = {
children: React.ReactNode;
className?: string;
} & React.TableHTMLAttributes<HTMLTableElement>;
declare const AutoMergeTable: ({ children, className, style, ...rest }: Props$1) => react_jsx_runtime.JSX.Element;
type HeaderCell = string | number | {
key: string;
label: string | number;
};
type Props = {
headers: HeaderCell[];
defaultStyle?: boolean;
} & React$1.HTMLAttributes<HTMLTableSectionElement>;
declare const TableHeader: ({ headers, defaultStyle, style, ...rest }: Props) => react_jsx_runtime.JSX.Element;
type KeyedValue = {
key: string;
label: string | number;
};
type Cell = {
value: unknown;
content: KeyedValue;
contents: KeyedValue[];
hasMultiple: boolean;
rowspan: number;
colspan: number;
render: boolean;
rowIndex: number;
colIndex: number;
};
type TableBodyProps = {
rows: any[];
columnRenderers?: Record<number, (cell: Cell) => React$1.ReactNode>;
defaultStyle?: boolean;
} & React$1.HTMLAttributes<HTMLTableSectionElement>;
declare const TableBody: ({ rows, columnRenderers, defaultStyle, ...rest }: TableBodyProps) => react_jsx_runtime.JSX.Element;
export { type Cell, AutoMergeTable as MergeTable, TableBody, TableHeader };