import type { SpacingDensities } from '../types/misc'; import type { Layouts, TableRadiuses } from './_internal/components/Table/Table.types'; export * from './_internal/components/Table/Table.keys'; export * from './_internal/components/Table/Table.types'; export interface TableProps { /** * Controls the Table's padding; the default value is "comfortable". On small screens, "compact" density is applied regardless of this prop's value. */ density?: SpacingDensities; /** * Sets the text for the empty state; the default value is "No Results". */ emptyStateText?: string; /** * Styles the last column for "row actions" */ hasActions?: boolean; /** * If true, hides the default expansion toggle column */ hasCustomExpandToggle?: boolean; /** * Shows the empty state */ isEmpty?: boolean; /** * When true, indicates the table is being composed by DataTable (schema-driven mode). * TableRow/TableHeaderRow use this to suppress their built-in selection cells. */ isSchemaDriven?: boolean; /** * Shows the loading state */ isLoading?: boolean; /** * Adds a toggle column for row expansion. This is primarily needed for ensuring the corresponding empty TableHeaderRow is included. */ isExpandable?: boolean; /** * Adds a checkbox column for selecting rows; intended for use with the `useSelection` composable. */ isSelectable?: boolean; /** * Sets the table layout; the default value is "scroll". */ layout?: Layouts; /** * Controls the corners of the table with the "border-radius" CSS property. The default value is "rounded". */ radius?: TableRadiuses; /** * Allows the table head to be sticky when scrolling inside the table body */ stickyHeader?: { listLength: number; maxHeight: string; }; /** * Total width (px) of left-pinned columns. Used to offset scroll overlay elements. */ pinnedLeftWidth?: number; /** * Total width (px) of right-pinned columns. Used to offset scroll overlay elements. */ pinnedRightWidth?: number; /** * When set, applied as min-width on the