import * as React from 'react'; import { TypographyAlign, StandardProps } from './types'; import { ButtonBaseProps } from './button'; export interface TableProps { /** * @name Padding * @group Table * */ padding?: TablePadding; /** * @default * ```tsx * import * as React from 'react'; * import { TableHead, TableRow, TableBody, TableCell } from './'; * import { Text } from '@meetalva/essentials'; * * export default () => ( * <> * * * * * * * * * * * * * * * <> * ); * ``` **/ children?: React.ReactNode; } export interface TableCellProps { /** * @name Variant * @group Table Cell * @control ButtonGroup * */ variant?: TableCellVariant; /** * @name Sort Direction * @group Table Cell * @control ButtonGroup * */ sortDirection?: TableSortDirection; /** * @name Align * @description Set the text-align on the table cell content. * @group Style * */ align?: TypographyAlign; /** * @name Padding * @group Style * */ padding?: TablePadding; /** * @default * ```tsx * import * as React from 'react'; * import { Typography } from './'; * import { Text } from '@meetalva/essentials'; * * export default () => ( * * * * ); * ``` **/ children?: React.ReactNode; } export interface TablePaginagionProps { /** @name Count */ count: number; /** @name Label Rows Per Page */ labelRowsPerPage?: React.ReactNode; /** @name On Change Page */ onChangePage: (event: React.MouseEvent | null, page: number) => void; /** @name On Change Rows per Page */ onChangeRowsPerPage?: React.ChangeEventHandler; /** @name Page */ page: number; /** @name Rows per Page */ rowsPerPage: number; /** @name Rows per Page Options */ rowsPerPageOptions?: number[]; } export interface TableRowProps { /** * @name Hover * @group Table Row * @description If true, the table row will shade on hover. * */ hover?: boolean; /** * @name Selected * @group Table Row * @description If true, the table row will have the selected shading. * */ selected?: boolean; } export interface TableSortLabelProps extends StandardProps { /** @name Active */ active?: boolean; /** @name Direction */ direction?: TableSortLabelDirection; /** @name Hide Sort Icon */ hideSortIcon?: boolean; } export declare enum TablePadding { Default = "default", Checkbox = "checkbox", Dense = "dense", None = "none" } export declare enum TableCellVariant { Head = "head", Body = "body", Footer = "footer" } export declare enum TableSortDirection { Asc = "asc", Desc = "desc" } export declare enum TableSortLabelDirection { Asc = "asc", Desc = "desc" } /** * @name Table * @group Table * @icon Columns * @ignore */ export declare const Table: React.SFC; /** * @name Table Body * @group Table * @ignore */ export declare const TableBody: React.SFC; /** * @name Table Cell * @group Table * @ignore */ export declare const TableCell: React.SFC; /** * @name Table Footer * @group Table * @ignore */ export declare const TableFooter: React.SFC; /** * @name Table Head * @group Table * @ignore */ export declare const TableHead: React.SFC; /** * @name Table Pagination * @group Table * @ignore */ export declare const TablePagination: React.SFC; /** * @name Table Row * @group Table * @ignore */ export declare const TableRow: React.SFC; /** * @name Table Sort Label * @group Table * @ignore */ export declare const TableSortLabel: React.SFC;