import Row from "./Row"; import type { RowData } from "./Row"; import RowState from "./RowState"; import ColumnDef, { Accessor } from "./ColumnDef"; type TableRow = { depth: number; displayPosition: number; groupingKey?: string; isLastGroupRow: boolean; position: number; row: TData; rowId: (string | number)[]; /** * Position-independent identity for the row, used as the basis for the * cell DOM `id`, the animation coordinator's snapshot key, and **expand / * collapse / row-loading state maps** ({@link expandStateKey}). * * Sort/filter reorder leaves this unchanged while positional `rowId` changes, * so nested rows stay expanded after sort when this is supplied (via `getRowId` * or WeakMap-backed fallback identities). */ stableRowKey?: string; rowPath?: (string | number)[]; rowIndexPath?: number[]; stateIndicator?: { parentRowId: string | number; parentRow: TData; state: RowState; }; isLoadingSkeleton?: boolean; nestedTable?: { parentRow: TData; expandableHeader: ColumnDef; childAccessor: Accessor; calculatedHeight: number; }; absoluteRowIndex: number; parentIndices?: number[]; }; export default TableRow;