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;