import type { GlobalProps, GlobalState, WidthProps } from '../../shared/model.js'; import type { DBTableRowDefaultProps } from '../table-row/model.js'; export declare const DBTableRowSizeList: readonly ["x-small", "small", "medium", "large"]; export type DBTableRowSizeType = (typeof DBTableRowSizeList)[number]; export declare const DBTableVariantList: readonly ["flat", "zebra", "spaced"]; export type DBTableVariantType = (typeof DBTableVariantList)[number]; export declare const DBTableDividerList: readonly ["none", "both", "horizontal", "vertical"]; export type DBTableDividerType = (typeof DBTableDividerList)[number]; export declare const DBTableMobileVariantList: readonly ["table", "list"]; export type DBTableMobileVariantType = (typeof DBTableMobileVariantList)[number]; export declare const DBTableStickyHeaderList: readonly ["none", "both", "horizontal", "vertical"]; export type DBTableStickyHeaderType = (typeof DBTableStickyHeaderList)[number]; export type DBTableData = { header?: DBTableRowDefaultProps[]; body?: DBTableRowDefaultProps[]; footer?: DBTableRowDefaultProps[]; }; export declare const DBTableColumnsSizeList: readonly ["auto", "1fr", "min-content", "max-content"]; export type DBTableColumnsSizeType = (typeof DBTableColumnsSizeList)[number]; export type DBTableDefaultProps = { /** * Slot for table caption */ caption?: any; /** * String alternative for table caption slot */ captionPlain?: string; /** * Table data if you don't use default slot/children */ data?: DBTableData | string; /** * Show the divider between the rows and cells */ divider?: DBTableDividerType; /** * Show caption above table default is hidden */ showCaption?: boolean | string; /** * Size of the table rows */ size?: DBTableRowSizeType; /** * Change the layout of the table * spaced: card style table * flat: classic table */ variant?: DBTableVariantType; /** * Change the layout of the table on mobile * list: list style * table: classic table */ mobileVariant?: DBTableMobileVariantType; /** * Change the header cells to be sticky when scrolling the table */ stickyHeader?: DBTableStickyHeaderType; /** * Set the width of the columns based in their index. * Alternative: Use `--db-table-column-size-$index` inside CSS to control it. * See: https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Properties/grid-template-columns */ columnSizes?: Record; }; export type DBTableProps = DBTableDefaultProps & GlobalProps & WidthProps; export type DBTableDefaultState = { _data?: DBTableData; _style?: any; convertData: () => DBTableData; }; export type DBTableState = DBTableDefaultState & GlobalState;