import { default as ITableProps } from './ITableProps'; /** * Table component that provides a flexible way to display data in a tabular format * @param props {@link ITableProps} - The props for the Table component. * @returns A table component. * * @example * ```tsx * // Basic table example * interface DataType { * name: string; * age: number; * address?: { * street: string; * city: string; * }; * } * * const App = () => { * // Define columns * const columns: ITableColumnProps[] = [ * { * title: 'Name', * dataIndex: 'name', * key: 'name', * }, * { * title: 'Age', * dataIndex: 'age', * key: 'age', * }, * { * title: 'Street', * dataIndex: 'address.street', * key: 'street', * }, * ]; * * // Sample data * const data: DataType[] = [ * { * name: 'John Brown', * age: 32, * address: { * street: 'No. 1 Lake Park', * city: 'New York', * }, * }, * { * name: 'Jim Green', * age: 42, * address: { * street: 'No. 3 Lake Park', * city: 'London', * }, * }, * { * name: 'Joe Black', * age: 32, * }, * ]; * * return ( * * ); * }; * * export default App; * ``` * * @example * ```tsx * // Advanced table with custom cell rendering and interactive elements * interface DataType { * name: string; * role: string; * email: string; * roleEditable?: boolean; * } * * const App = () => { * // Define columns with custom rendering functions * const columns: ITableColumnProps[] = [ * { * title: 'Name', * dataIndex: 'name', * key: 'name', * render: (text, record) => ( *
* * {record.email} *
* ), * }, * { * title: 'Role', * dataIndex: 'role', * key: 'role', * render: (role, record) => { * if (record.roleEditable) { * return ( *
console.log('Row clicked:', record)} * hasColumnSeparator={true} * size="sm" * /> * ); * }; * * export default App; * ``` * * @example * ```tsx * // Table with expandable rows * interface AppDataType { * name: string; * version: string; * description: string; * expandable?: boolean; * } * * const App = () => { * const columns: ITableColumnProps[] = [ * { * title: 'App Name', * dataIndex: 'name', * key: 'name', * }, * { * title: 'Version', * dataIndex: 'version', * key: 'version', * }, * ]; * * const dataSource: AppDataType[] = [ * { * name: 'JTL Shop', * version: '1.0.0', * description: 'Complete e-commerce solution with advanced features', * }, * { * name: 'JTL WMS', * version: '2.1.0', * description: 'Warehouse management system for efficient logistics', * }, * { * name: 'Not Expandable App', * version: '1.5.0', * description: 'This app cannot be expanded', * }, * ]; * * return ( *
( *
*

* {record.description} *

*
* ) * }} * /> * ); * }; * * export default App; * ``` */ declare const Table: { ({ columns, dataSource, isLoading, emptyContent, hasColumnSeparator, hasHeader, size, height, onRowClick, expandable, headerStyle, toolbar, title, description, ariaLabel, }: ITableProps): import("react/jsx-runtime").JSX.Element; displayName: string; }; export default Table;