UNPKG

semantic-ui-react

Version:
124 lines (90 loc) 3.84 kB
import * as React from 'react'; import { SemanticCOLORS, SemanticShorthandItem, SemanticVERTICALALIGNMENTS, SemanticWIDTHS } from '../..'; import { default as TableBody } from './TableBody'; import { default as TableCell } from './TableCell'; import { default as TableFooter } from './TableFooter'; import { default as TableHeader } from './TableHeader'; import { default as TableHeaderCell } from './TableHeaderCell'; import { default as TableRow, TableRowProps } from './TableRow'; export interface TableProps { [key: string]: any; /** An element type to render as (string or function). */ as?: any; /** Attach table to other content */ attached?: boolean | 'top' | 'bottom'; /** A table can reduce its complexity to increase readability. */ basic?: boolean | 'very'; /** A table may be divided each row into separate cells. */ celled?: boolean | 'internally'; /** Primary content. */ children?: React.ReactNode; /** Additional classes. */ className?: string; /** A table can be collapsing, taking up only as much space as its rows. */ collapsing?: boolean; /** A table can be given a color to distinguish it from other tables. */ color?: SemanticCOLORS; /** A table can specify its column count to divide its content evenly. */ columns?: SemanticWIDTHS; /** A table may sometimes need to be more compact to make more rows visible at a time. */ compact?: boolean | 'very'; /** A table may be formatted to emphasize a first column that defines a rows content. */ definition?: boolean; /** * A table can use fixed a special faster form of table rendering that does not resize table cells based on content. */ fixed?: boolean; /** Shorthand for a TableRow to be placed within Table.Footer. */ footerRow?: SemanticShorthandItem<TableRowProps>; /** Shorthand for a TableRow to be placed within Table.Header. */ headerRow?: SemanticShorthandItem<TableRowProps>; /** A table's colors can be inverted. */ inverted?: boolean; /** A table may sometimes need to be more padded for legibility. */ padded?: boolean | 'very'; /** * Mapped over `tableData` and should return shorthand for each Table.Row to be placed within Table.Body. * * @param {*} data - An element in the `tableData` array. * @param {number} index - The index of the current element in `tableData`. * @returns {*} Shorthand for a Table.Row. */ renderBodyRow?: (data: any, index: number) => any; /** A table can have its rows appear selectable. */ selectable?: boolean; /** A table can specify that its cell contents should remain on a single line and not wrap. */ singleLine?: boolean; /** A table can also be small or large. */ size?: 'small' | 'large'; /** A table may allow a user to sort contents by clicking on a table header. */ sortable?: boolean; /** A table can specify how it stacks table content responsively. */ stackable?: boolean; /** A table can stripe alternate rows of content with a darker color to increase contrast. */ striped?: boolean; /** A table can be formatted to display complex structured data. */ structured?: boolean; /** Data to be passed to the renderBodyRow function. */ tableData?: Array<any>; /** A table can adjust its text alignment. */ textAlign?: 'center' | 'left' | 'right'; /** A table can specify how it stacks table content responsively. */ unstackable?: boolean; /** A table can adjust its text alignment. */ verticalAlign?: SemanticVERTICALALIGNMENTS; } interface TableComponent extends React.StatelessComponent<TableProps> { Body: typeof TableBody; Cell: typeof TableCell; Footer: typeof TableFooter; Header: typeof TableHeader; HeaderCell: typeof TableHeaderCell; Row: typeof TableRow; } declare const Table: TableComponent; export default Table;