import React from 'react'; import type { DimensionValue } from '@coinbase/cds-common/types/DimensionStyles'; import type { SharedAccessibilityProps } from '@coinbase/cds-common/types/SharedAccessibilityProps'; import type { SharedProps } from '@coinbase/cds-common/types/SharedProps'; import type { CellSpacing } from '../cells/Cell'; /** * The table variant will be provided via context and available * to any internal Table component (TableBody, TableCell, etc) * @default undefined */ export type TableVariant = 'default' | 'graph' | 'ruled'; export type TableLayout = 'auto' | 'fixed'; export type TableCellSpacing = { inner?: CellSpacing; outer?: CellSpacing; }; export type TableBaseProps = SharedProps & Pick & { /** * The variant prop allows clients to use a * CDS approved style for their Table. * @default undefined */ variant?: TableVariant; /** * Children are required, and should always include a TableBody. * TableHeader and TableFooter are both optional, and will magically * flow into the correct place in the table (top/bottom) */ children: React.ReactNode; /** * When set, a border will be applied around the entire table */ bordered?: boolean; /** * Use tableLayout='fixed' if you need full control over cell width * @default 'auto' */ tableLayout?: TableLayout; /** Provide custom cell spacing for all child TableCells */ cellSpacing?: TableCellSpacing; /** Use compact cell spacing. If set, cellSpacing will override these defaults */ compact?: boolean; /** Set a fixed height. */ height?: DimensionValue; /** Set a maximum height. */ maxHeight?: DimensionValue; }; export type TableProps = TableBaseProps & Omit, 'dangerouslySetInnerHTML'> & { /** * @danger This is an escape hatch. It is not intended to be used normally. */ className?: string; }; export declare const Table: React.MemoExoticComponent< React.ForwardRefExoticComponent< SharedProps & Pick & { /** * The variant prop allows clients to use a * CDS approved style for their Table. * @default undefined */ variant?: TableVariant; /** * Children are required, and should always include a TableBody. * TableHeader and TableFooter are both optional, and will magically * flow into the correct place in the table (top/bottom) */ children: React.ReactNode; /** * When set, a border will be applied around the entire table */ bordered?: boolean; /** * Use tableLayout='fixed' if you need full control over cell width * @default 'auto' */ tableLayout?: TableLayout; /** Provide custom cell spacing for all child TableCells */ cellSpacing?: TableCellSpacing; /** Use compact cell spacing. If set, cellSpacing will override these defaults */ compact?: boolean; /** Set a fixed height. */ height?: DimensionValue; /** Set a maximum height. */ maxHeight?: DimensionValue; } & Omit, 'dangerouslySetInnerHTML'> & { /** * @danger This is an escape hatch. It is not intended to be used normally. */ className?: string; } & React.RefAttributes > >; //# sourceMappingURL=Table.d.ts.map