import { TableState, TableStateProps } from '@react-stately/table'; import { GridNode } from '@react-types/grid'; import { AriaTableProps } from '@react-aria/table'; import { HTMLProps } from 'react'; import { BaseProps, BasePropsWithoutChildren, Styles } from '../../../tasty'; import { JengaCheckboxProps } from '../../forms/Checkbox/Checkbox'; export declare type JengaTableElementBaseProps = { item: GridNode; state: TableState; } & BaseProps; export declare type JengaTableCellProps = HTMLProps & JengaTableElementBaseProps; export declare type JengaTableCheckboxCellProps = JengaTableElementBaseProps; export declare type JengaTableColumnHeaderProps = HTMLProps & JengaTableElementBaseProps & BaseProps; export declare type JengaTableExtendedProps = { wrapperStyles?: Styles; wrapperProps?: BasePropsWithoutChildren; tableBodyStyles?: Styles; tableBodyProps?: HTMLProps & BasePropsWithoutChildren; footerStyles?: Styles; headerStyles?: HTMLProps & Styles; headerRowProps?: HTMLProps & BaseProps; headerRowStyles?: Styles; footerProps?: BasePropsWithoutChildren; headerProps?: BasePropsWithoutChildren; checkboxProps?: JengaCheckboxProps; checkboxStyles?: Styles; selectionMode?: 'multiple' | 'single' | 'none'; selectionBehavior?: 'replace' | 'toggle'; cellPadding?: 'dense' | 'regular' | 'spaceous' | string | string[] | Array<'dense' | 'regular' | 'spaceous'>; stickyHeader?: boolean; zebraStripes?: boolean; setKeyboardNavigationDisabled?: boolean; alternateBody?: JSX.Element; showAlternateBody?: boolean; showFooter?: boolean; customHeaderRowPostion?: 'top' | 'bottom'; customFooter?: JSX.Element; customHeaderRow?: JSX.Element; onEmpty?: JSX.Element; cellStyles?: Styles; cellProps?: HTMLProps & BasePropsWithoutChildren; rowProps?: HTMLProps & BasePropsWithoutChildren; rowStyles?: Styles; }; export declare type JengaTableProps = AriaTableProps & TableStateProps & BasePropsWithoutChildren & JengaTableExtendedProps; export declare type JengaTableBaseProps = TableStateProps & BaseProps & { cellPadding?: string | string[]; zebraStripes?: boolean; checkboxProps?: JengaCheckboxProps; checkboxStyles?: Styles; cellStyles?: Styles; cellProps?: BasePropsWithoutChildren; rowProps?: BasePropsWithoutChildren; rowStyles?: Styles; }; export declare type JengaTableHeadProps = BaseProps & { state: TableState; stickyHeader?: boolean; headerRowProps?: HTMLProps & BasePropsWithoutChildren; customHeaderPosition: 'top' | 'bottom'; }; export declare type JengaTableBodyProps = BaseProps & { state: TableState; } & { alternateBody?: JSX.Element; showAlternateBody?: boolean; onEmpty?: JSX.Element; };