import { type MRT_ColumnDef, type MRT_RowData, type MRT_StatefulTableOptions, } from '../../types'; import { defaultDisplayColumnProps } from '../../utils/displayColumn.utils'; export const getMRT_RowNumbersColumnDef = ( tableOptions: MRT_StatefulTableOptions, ): MRT_ColumnDef => { const { localization, rowNumberDisplayMode } = tableOptions; const { pagination: { pageIndex, pageSize }, } = tableOptions.state; return { Cell: ({ row, staticRowIndex }) => ((rowNumberDisplayMode === 'static' ? (staticRowIndex || 0) + (pageSize || 0) * (pageIndex || 0) : row.index) ?? 0) + 1, Header: () => localization.rowNumber, grow: false, ...defaultDisplayColumnProps({ header: 'rowNumbers', id: 'mrt-row-numbers', size: 50, tableOptions, }), }; };