Package-level declarations

Types

Link copied to clipboard
typealias AccessorFn<TData, TValue> = (originalRow: TData, index: Int) -> TValue

Reads a value from an original row.

Link copied to clipboard
typealias AggregationFn<TData> = (columnId: String, leafRows: List<Row<TData>>, childRows: List<Row<TData>>) -> Any?

Aggregation function for a grouped column. Receives the column id, the leaf rows of the group and the immediate child rows (or sub-aggregations when grouping deeper than one level), and returns the aggregated value.

Link copied to clipboard

Choice of aggregation function. Either "auto", the name of a built-in or registered fn (a String), or an AggregationFn value. Typed as Any? because Kotlin cannot model that mixed union.

Link copied to clipboard

Marker interface for a caller-registered set of aggregation functions.

Link copied to clipboard
typealias AnyRender = (comp: Any?, props: Any?) -> Any?

Generic render signature accepting a component and its props. Provided for adapter layers that wire table-core into a UI framework.

Link copied to clipboard

Name of a built-in aggregation function. Modelled as String because Kotlin cannot express a closed union of string literals — the names accepted at runtime are the keys of aggregationFns.

Link copied to clipboard

Name of a built-in filter function. Modelled as String because Kotlin cannot express a closed union of string literals.

Link copied to clipboard

Name of a built-in sort function. Modelled as String because Kotlin cannot express a closed union of string literals — the names accepted at runtime are the keys of sortingFns.

Link copied to clipboard
class Cell<TData, TValue>

A single cell in the table — the intersection of a Row and a Column. Combines the core cell members with the ColumnGrouping feature members (getIsAggregated/getIsGrouped/getIsPlaceholder).

Link copied to clipboard
class CellContext<TData, TValue>(val cell: Cell<TData, TValue>, val column: Column<TData, TValue>, val getValue: () -> TValue, val renderValue: () -> TValue?, val row: Row<TData>, val table: Table<TData>)

Context object passed to cell renderers. Carries the cell, its column, row and owning table, plus value accessors. getValue returns the raw cell value, while renderValue returns the value or the configured renderFallbackValue when null.

Link copied to clipboard

A column in the table. Integer-typed depth, getIndex, getPinnedIndex, getSortIndex, getGroupedIndex and getFilterIndex use Int; sizing values (getSize, getStart, getAfter) use Double because resize math can produce fractional pixel values.

Link copied to clipboard

Definition of a column. Carries the identifier (id/header), the accessor (accessorKey or accessorFn), nested columns for group columns, plus the feature-specific configuration (enableSorting, filterFn, size, ...). All fields are nullable; which fields you set determines what kind of column you build.

Link copied to clipboard

A fully resolved column definition: structurally the same as ColumnDef with every field optional, plus the explicit accessorKey?: String carry. Aliased to ColumnDef since ColumnDef already exposes all fields as nullable.

Link copied to clipboard
typealias ColumnDefTemplate = Any?

Cell/header template. At runtime either a String or a (props) -> Any? renderer; consuming code (e.g. flexRender in the adapter layer) discriminates by runtime type.

Link copied to clipboard

The ColumnFaceting feature. Installs the per-column facet accessors on each Column when registered with the table.

Link copied to clipboard
class ColumnFilter(val id: String, val value: Any?)

One entry in ColumnFiltersState. id identifies the column; value is the raw filter value submitted by the caller (later normalised by the column's FilterFn.resolveFilterValue).

Link copied to clipboard
typealias ColumnFilterAutoRemoveTestFn<TData> = (value: Any?, column: Column<TData, Any?>?) -> Boolean

Returns true when a filter value should be auto-removed (typically because it has become empty).

Link copied to clipboard

The ColumnFiltering feature. Adds columnFilters state, the column- level filter accessors (getFilterFn, getIsFiltered, ...) and the table-level setColumnFilters / resetColumnFilters / getFilteredRowModel.

Link copied to clipboard

Ordered list of active per-column filter entries.

Link copied to clipboard

The ColumnGrouping feature. Adds grouping state, the column-level grouping accessors (toggleGrouping, getIsGrouped, ...) and the table-level setGrouping / resetGrouping / getGroupedRowModel.

Link copied to clipboard
interface ColumnHelper<TData>

Typed helper for building column defs. The accessor member accepts either an AccessorFn or an accessor-key String and produces the corresponding accessor column def; display and group are the identity for symmetry with the JS API.

Link copied to clipboard
typealias ColumnIdentifiers = Any?

Identifier shape on a column def — either IdIdentifier or StringHeaderIdentifier. Typed as Any? because Kotlin cannot express the union directly.

Link copied to clipboard
interface ColumnMeta<TData, TValue>

Marker interface for caller-supplied per-column metadata.

Link copied to clipboard

The ColumnOrdering feature. Adds columnOrder state, the table-level setter/reset, the per-column getIndex/getIsFirstColumn/ getIsLastColumn accessors, and the ordering function used to build leaf column lists.

Link copied to clipboard

Ordered list of column ids that drive table column order. Columns not mentioned here retain their natural order.

Link copied to clipboard

The ColumnPinning feature. Adds columnPinning state, the column- level pin/getIsPinned/getPinnedIndex accessors, and the row/table partitioning into left, center and right pinned sections.

Link copied to clipboard

Pinned position for a column. Either "left", "right", or the literal false (unpinned). Typed as Any? because Kotlin cannot express that mixed union directly.

Link copied to clipboard
class ColumnPinningState(val left: List<String>? = null, val right: List<String>? = null)

Pinned-column ids partitioned by position. Both lists default to null (no columns pinned in that position).

Link copied to clipboard

Resize-direction hint: "ltr" or "rtl".

Link copied to clipboard

When the new column size is committed: "onChange" (live) or "onEnd" (on gesture end).

Link copied to clipboard

The ColumnSizing feature. Adds columnSizing / columnSizingInfo state, the column-level size/resize accessors, and the header-level resize handler.

Link copied to clipboard
class ColumnSizingInfoState(val startOffset: Double?, val startSize: Double?, val deltaOffset: Double?, val deltaPercentage: Double?, val isResizingColumn: Any?, val columnSizingStart: List<Pair<String, Double>>)

Transient state captured during a column resize gesture. All fields are null when no resize is in progress; isResizingColumn holds the column id (or false) when one is.

Link copied to clipboard

Per-column rendered size in pixels, keyed by column id. Missing entries fall back to the column def's size.

Link copied to clipboard
class ColumnSort(val desc: Boolean, val id: String)

One entry in SortingState. id identifies the column; desc is the direction (true for descending).

Link copied to clipboard

The ColumnVisibility feature. Adds columnVisibility state plus the column-, row- and table-level visibility members.

Link copied to clipboard

Caller-registered aggregation functions, keyed by name.

Link copied to clipboard

Caller-registered filter functions, keyed by name.

Link copied to clipboard

Caller-registered sort functions, keyed by name.

Link copied to clipboard
class DefaultColumnSizing(val size: Double = 150.0, val minSize: Double = 20.0, val maxSize: Double = 9.007199254740991E15)

Defaults applied to columns that do not set their own sizing fields.

Link copied to clipboard
typealias ExpandedState = Any?

Expansion state. Either the literal true (every row expanded) or a Map of row-id to flag (most rows collapsed by default). Modelled as Any? because Kotlin cannot express that union directly; the feature code discriminates by runtime type.

Link copied to clipboard

Per-row expansion flags. An entry's value indicates whether the row is expanded; missing rows are collapsed.

Link copied to clipboard
interface FilterFn<TData>

Callable filter function for a column. invoke returns true to keep the row, false to filter it out, and may push per-row metadata via addMeta. Implementations may override autoRemove and resolveFilterValue when needed.

Link copied to clipboard
typealias FilterFnOption<TData> = Any?

Choice of filter function. Either "auto", the name of a built-in or registered fn (a String), or a FilterFn value. Typed as Any? because Kotlin cannot model that mixed union.

Link copied to clipboard
object filterFns

The set of built-in filter functions. Supports both .includesString / .equals member access and filterFns[key] lookup. Returns null for an unknown key.

Link copied to clipboard

Marker interface for a caller-registered set of filter functions.

Link copied to clipboard
interface FilterMeta

Marker interface for caller-supplied filter-side metadata.

Link copied to clipboard
class GetPaginationRowModelOptions(val initialSync: Boolean)

Options accepted by getPaginationRowModel. Currently only initialSync is defined; it is reserved for future use and not read by the builder.

Link copied to clipboard

The GlobalFaceting feature. Wires the global facet accessors onto each Table when installed.

Link copied to clipboard

The GlobalFiltering feature. Adds global-filter state, options and the Table/Column accessors that drive it.

Link copied to clipboard
typealias GroupingColumnMode = Any?

Where the grouped column appears in the table: "reorder", "remove", or null. Typed as Any? for the same reason as AggregationFnOption.

Link copied to clipboard

Ordered list of grouped column ids — primary grouping first.

Link copied to clipboard

A column header cell. Combines the core header members with the ColumnSizing feature members (getResizeHandler/getSize/getStart).

Link copied to clipboard
class HeaderContext<TData, TValue>(val column: Column<TData, TValue>, val header: Header<TData, TValue>, val table: Table<TData>)

Context object passed to header renderers. Carries the column, header and owning table.

Link copied to clipboard
class HeaderGroup<TData>(var depth: Int, var id: String, val headers: MutableList<Header<TData, *>> = mutableListOf())

A row of Headers — one entry per level in the header tree. headers is mutated during construction by buildHeaderGroups.

Link copied to clipboard
Link copied to clipboard

Column-identifier shape: an explicit id with optional header template.

Link copied to clipboard
class InitialTableState(val columnVisibility: VisibilityState? = null, val columnOrder: ColumnOrderState? = null, val columnPinning: ColumnPinningState? = null, val rowPinning: RowPinningState? = null, val columnFilters: ColumnFiltersState? = null, val globalFilter: Any? = null, val sorting: SortingState? = null, val expanded: ExpandedState? = null, val grouping: GroupingState? = null, val columnSizing: ColumnSizingState? = null, val columnSizingInfo: ColumnSizingInfoState? = null, val pagination: PaginationState? = null, val rowSelection: RowSelectionState? = null)

All-optional counterpart of TableState. Pass to options.initialState to seed the table; absent slices default to their TableState defaults.

Link copied to clipboard
class MemoOptions<TResult>(val key: Any?, val debug: () -> Any?? = null, val onChange: (TResult) -> Unit? = null)

Options bag for memo / memoWithArg.

Link copied to clipboard
typealias OnChangeFn = (updaterOrValue: Updater) -> Unit

Setter signature: accepts either a new value or a function (old) -> new.

Link copied to clipboard
class PaginationState(val pageIndex: Int, val pageSize: Int)

Pagination state: zero-based pageIndex and the page size in rows.

Link copied to clipboard
class ResolvedColumnFilter<TData>(val filterFn: FilterFn<TData>, val id: String, val resolvedValue: Any?)

A column filter resolved against its column — carries the column id, the resolved filter fn, and the post-FilterFn.resolveFilterValue value. Used internally by the filtering pipeline.

Link copied to clipboard
class Row<TData>

A row in the table. Integer-typed depth / index use Int; values read through getValue / getUniqueValues / renderValue are typed Any? because Kotlin cannot carry the original <TValue> per-call type argument.

Link copied to clipboard
typealias RowData = Any?

Documentation alias for the row-data type parameter — unbounded in the Kotlin port, equivalent to Any?.

Link copied to clipboard

The RowExpanding feature. Adds expanded state, the row-level expansion accessors and the table-level setExpanded / toggleAllRowsExpanded / getExpandedRowModel.

Link copied to clipboard
class RowModel<TData>(val rows: List<Row<TData>>, val flatRows: List<Row<TData>>, val rowsById: Map<String, Row<TData>>)

A computed view of the table's rows.

Link copied to clipboard

The RowPagination feature. Adds pagination state, the page-navigation accessors (nextPage, previousPage, setPageIndex, setPageSize, ...) and the paginated row-model accessor.

Link copied to clipboard

The RowPinning feature. Adds rowPinning state, the row-level pin / getIsPinned / getCanPin / getPinnedIndex accessors, and the table-level partitioning into top, center and bottom rows.

Link copied to clipboard
typealias RowPinningPosition = Any?

Pinned position for a row. Either "top", "bottom", or the literal false (unpinned). Typed as Any? because Kotlin cannot express that mixed union directly.

Link copied to clipboard
class RowPinningState(val top: List<String>? = null, val bottom: List<String>? = null)

Pinned-row ids partitioned by position. Both lists default to null (no rows pinned in that position).

Link copied to clipboard

The RowSelection feature. Adds rowSelection state, the row-level accessors (getIsSelected, toggleSelected, ...) and the table-level setRowSelection / toggleAllRowsSelected / getIsAllRowsSelected / getSelectedRowModel.

Link copied to clipboard

Per-row selection flags. An absent entry means "unselected".

Link copied to clipboard
class RowSelectionToggleOpts(val selectChildren: Boolean? = null)

Options accepted by Row.toggleSelected. selectChildren controls whether the toggle cascades to sub-rows; null leaves the default in place.

Link copied to clipboard

The RowSorting feature. Adds sorting state, the column-level sort accessors (getSortingFn, getIsSorted, toggleSorting, ...) and the table-level setSorting / resetSorting / getSortedRowModel.

Link copied to clipboard
typealias SortDirection = String

Sort direction. One of "asc" or "desc" at runtime; modelled as String because Kotlin cannot express a closed union of string literals.

Link copied to clipboard
typealias SortingFn<TData> = (rowA: Row<TData>, rowB: Row<TData>, columnId: String) -> Int

Comparator signature for sorting. Returns a negative number when rowA should come before rowB, zero for equal, positive otherwise. Built-in sort fns return -1 / 0 / 1.

Link copied to clipboard
typealias SortingFnOption<TData> = Any?

Choice of sort function. Either "auto", the name of a built-in or registered fn (a String), or a SortingFn value. Typed as Any? because Kotlin cannot model that mixed union.

Link copied to clipboard

Marker interface for a caller-registered set of sort functions.

Link copied to clipboard

Ordered list of ColumnSort entries. Order is significant: entry 0 is the primary sort key.

Link copied to clipboard

Column-identifier shape: a string header with optional id.

Link copied to clipboard

Header template — a String or a (HeaderContext) -> Any? renderer.

Link copied to clipboard
class Table<TData>

The table instance — entry point to every accessor and setter. Build one with createTable(options); read state via getState() and the get*RowModel() family; mutate via the typed setters (setSorting, setColumnFilters, ...).

Link copied to clipboard
interface TableFeature

Extension point for table features. Each non-null member is invoked during the corresponding construction step:

Link copied to clipboard
interface TableMeta<TData>

Marker interface for caller-supplied table-wide metadata. Empty by design — implementors carry whatever payload their app needs.

Link copied to clipboard

Caller-facing alias for TableOptionsResolved. The two are structurally identical because every field on TableOptionsResolved is either nullable or carries a default, so a caller can construct one supplying only the options they care about.

Link copied to clipboard
class TableOptionsResolved<TData>(var _features: List<TableFeature>? = null, var autoResetAll: Boolean? = null, var columns: List<ColumnDef<TData, Any?>> = emptyList(), var data: List<TData> = emptyList(), var debugAll: Boolean? = null, var debugCells: Boolean? = null, var debugColumns: Boolean? = null, var debugHeaders: Boolean? = null, var debugRows: Boolean? = null, var debugTable: Boolean? = null, var defaultColumn: ColumnDef<TData, Any?>? = null, var getCoreRowModel: (table: Table<Any?>) -> () -> RowModel<Any?> = { throw IllegalStateException("getCoreRowModel option was not provided") }, var getRowId: (originalRow: TData, index: Int, parent: Row<TData>?) -> String? = null, var getSubRows: (originalRow: TData, index: Int) -> List<TData>?? = null, var initialState: InitialTableState? = null, var mergeOptions: (defaultOptions: TableOptionsResolved<TData>, options: TableOptionsResolved<TData>) -> TableOptionsResolved<TData>? = null, var meta: TableMeta<TData>? = null, var onStateChange: OnChangeFn? = null, var renderFallbackValue: Any? = null, var state: TableState = TableState(), var enableHiding: Boolean? = null, var onColumnVisibilityChange: OnChangeFn? = null, var onColumnOrderChange: OnChangeFn? = null, var enableColumnPinning: Boolean? = null, var enablePinning: Boolean? = null, var onColumnPinningChange: OnChangeFn? = null, var enableRowPinning: Any? = null, var keepPinnedRows: Boolean? = null, var onRowPinningChange: OnChangeFn? = null, var getFacetedMinMaxValues: (table: Table<TData>, columnId: String) -> () -> Pair<Double, Double>?? = null, var getFacetedRowModel: (table: Table<TData>, columnId: String) -> () -> RowModel<TData>? = null, var getFacetedUniqueValues: (table: Table<TData>, columnId: String) -> () -> Map<Any?, Int>? = null, var enableColumnFilters: Boolean? = null, var enableFilters: Boolean? = null, var filterFromLeafRows: Boolean? = null, var getFilteredRowModel: (table: Table<Any?>) -> () -> RowModel<Any?>? = null, var manualFiltering: Boolean? = null, var maxLeafRowFilterDepth: Int? = null, var onColumnFiltersChange: OnChangeFn? = null, var filterFns: Map<String, FilterFn<Any?>>? = null, var enableGlobalFilter: Boolean? = null, var getColumnCanGlobalFilter: (column: Column<TData, Any?>) -> Boolean? = null, var globalFilterFn: FilterFnOption<TData>? = null, var onGlobalFilterChange: OnChangeFn? = null, var enableMultiRemove: Boolean? = null, var enableMultiSort: Boolean? = null, var enableSorting: Boolean? = null, var enableSortingRemoval: Boolean? = null, var getSortedRowModel: (table: Table<Any?>) -> () -> RowModel<Any?>? = null, var isMultiSortEvent: (e: Any?) -> Boolean? = null, var manualSorting: Boolean? = null, var maxMultiSortColCount: Int? = null, var onSortingChange: OnChangeFn? = null, var sortDescFirst: Boolean? = null, var sortingFns: Map<String, SortingFn<Any?>>? = null, var enableGrouping: Boolean? = null, var getGroupedRowModel: (table: Table<Any?>) -> () -> RowModel<Any?>? = null, var groupedColumnMode: Any? = null, var manualGrouping: Boolean? = null, var onGroupingChange: OnChangeFn? = null, var aggregationFns: Map<String, AggregationFn<Any?>>? = null, var autoResetExpanded: Boolean? = null, var enableExpanding: Boolean? = null, var getExpandedRowModel: (table: Table<Any?>) -> () -> RowModel<Any?>? = null, var getIsRowExpanded: (row: Row<TData>) -> Boolean? = null, var getRowCanExpand: (row: Row<TData>) -> Boolean? = null, var manualExpanding: Boolean? = null, var onExpandedChange: OnChangeFn? = null, var paginateExpandedRows: Boolean? = null, var columnResizeMode: ColumnResizeMode? = null, var enableColumnResizing: Boolean? = null, var columnResizeDirection: ColumnResizeDirection? = null, var onColumnSizingChange: OnChangeFn? = null, var onColumnSizingInfoChange: OnChangeFn? = null, var autoResetPageIndex: Boolean? = null, var getPaginationRowModel: (table: Table<Any?>) -> () -> RowModel<Any?>? = null, var manualPagination: Boolean? = null, var onPaginationChange: OnChangeFn? = null, var pageCount: Int? = null, var rowCount: Int? = null, var enableMultiRowSelection: Any? = null, var enableRowSelection: Any? = null, var enableSubRowSelection: Any? = null, var onRowSelectionChange: OnChangeFn? = null)
Link copied to clipboard
data class TableState(var columnVisibility: VisibilityState = emptyMap(), var columnOrder: ColumnOrderState = emptyList(), var columnPinning: ColumnPinningState = ColumnPinningState(left = emptyList(), right = emptyList()), var rowPinning: RowPinningState = RowPinningState(top = emptyList(), bottom = emptyList()), var columnFilters: ColumnFiltersState = emptyList(), var globalFilter: Any? = null, var sorting: SortingState = emptyList(), var expanded: ExpandedState = emptyMap<String, Boolean>(), var grouping: GroupingState = emptyList(), var columnSizing: ColumnSizingState = emptyMap(), var columnSizingInfo: ColumnSizingInfoState = ColumnSizingInfoState( startOffset = null, startSize = null, deltaOffset = null, deltaPercentage = null, isResizingColumn = false, columnSizingStart = emptyList(), ), var pagination: PaginationState = PaginationState(pageIndex = 0, pageSize = 10), var rowSelection: RowSelectionState = emptyMap())

The unified table-state container. Carries one field per feature slice (columnVisibility, columnOrder, columnPinning, ...). Each field defaults to its slice's canonical empty value; an immutable InitialTableState supplied by the caller overlays them at table construction time.

Link copied to clipboard
typealias TransformFilterValueFn<TData> = (value: Any?, column: Column<TData, Any?>?) -> Any?

Normalises a raw filter value before the filter fn sees it.

Link copied to clipboard
typealias Updater = Any?

Either a new value or a function (old) -> new that produces one. Resolved by functionalUpdate at the call site. Typed as Any? because Kotlin cannot express the underlying union.

Link copied to clipboard

Per-column visibility flags. An absent entry means "visible".

Properties

Link copied to clipboard

The set of built-in aggregation functions, keyed by name. Iteration order is preserved.

Link copied to clipboard

Case-insensitive alphanumeric comparator. Splits each value on digit runs, then compares pairwise: digit runs numerically, text runs lexicographically.

Link copied to clipboard

Case-sensitive variant of alphanumeric.

Link copied to clipboard

Tests whether the cell value (a list) contains filterValue.

Link copied to clipboard

Tests whether the cell value (a list) contains every element of filterValue.

Link copied to clipboard

Tests whether the cell value (a list) contains any element of filterValue.

Link copied to clipboard

Basic comparator: equal ->0, greater-than ->1, otherwise -1. No stringification — the raw values go straight in.

Link copied to clipboard

Returns the number of leaf rows.

Link copied to clipboard

Date/time comparator. Tolerates nullish values and supports any operand type that surfaces as a numeric epoch value or implements Comparable (an ISO date string, a platform date type that implements Comparable, ...). Opaque non-Comparable date objects cannot be ordered by this comparator — configure a custom sortingFn in that case.

Link copied to clipboard

Strict equality between the cell value and filterValue using JavaScript === semantics (value-equal for primitives, reference-equal otherwise).

Link copied to clipboard

Case-insensitive whole-string equality.

Link copied to clipboard

Returns listOf(min, max) across child rows. Each entry is Double?, null when no numeric values were seen. NaN values are skipped.

Link copied to clipboard

Case-insensitive substring filter. Stringifies both the cell value and the filter value before comparing. A nullish cell value short-circuits to false.

Link copied to clipboard

Case-sensitive variant of includesString.

Link copied to clipboard

Range filter for numeric cell values. filterValue is a [min, max] pair; non-numeric / null bounds become -Infinity / +Infinity, and an inverted pair is swapped.

Link copied to clipboard

Returns the maximum numeric value across child rows, or null if no numeric values are present. NaN values are skipped.

Link copied to clipboard

Returns the arithmetic mean of numeric leaf-row values, or null if no numeric values are present. Non-numeric values coerce to NaN and are filtered out by the value >= value self-comparison.

Link copied to clipboard

Returns the median of numeric leaf-row values. Returns null for an empty input or when any value is non-numeric. For an even count, returns the average of the two middle elements.

Link copied to clipboard

Returns the minimum numeric value across child rows, or null if no numeric values are present. NaN values are skipped (matching the value >= value self-comparison guard).

Link copied to clipboard

Splits on digit runs, capturing the runs so they survive the split — used by the alphanumeric comparator below. The capturing group is significant: splitKeepingDelimiters relies on the same alternating-segment shape.

Link copied to clipboard

The set of built-in sort functions, keyed by name. Iteration order matches insertion order.

Link copied to clipboard

Sums numeric child-row aggregations. Non-numeric values contribute zero. Adds aggregations directly rather than walking leaf rows for speed.

Link copied to clipboard

Case-insensitive text comparator. More basic than alphanumeric (less numeric support) but much faster.

Link copied to clipboard

Case-sensitive variant of text.

Link copied to clipboard

Returns the distinct leaf-row values in first-insertion order.

Link copied to clipboard

Returns the count of distinct leaf-row values.

Link copied to clipboard

Loose equality between the cell value and filterValue using JavaScript == semantics (type coercion for cross-type primitive comparisons). ToPrimitive coercion of arbitrary objects is not reproduced — object operands fall back to reference equality.

Functions

Link copied to clipboard
fun _getVisibleLeafColumns(table: Table<Any?>, position: Any? = null): List<Column<Any?, Any?>>

Returns the visible leaf columns for position, where position is null / false (all visible columns), "center", "left" or "right". Modelled with Any? because the original union mixes the literal false with string literals.

Link copied to clipboard

Builds a TableState by first running applyDefaults on a fresh default-filled state, then overlaying every slice present on state.

Link copied to clipboard
fun <TData> buildHeaderGroups(allColumns: List<Column<TData, *>>, columnsToGroup: List<Column<TData, *>>, table: Table<TData>, headerFamily: String?): List<HeaderGroup<TData>>
Link copied to clipboard

Field-by-field shallow copy of options. Used by createTable to seed its defaults accumulator with the caller's required-field values before feature getDefaultOptions fragments are layered on.

Link copied to clipboard
fun <TData, TValue> createCell(table: Table<TData>, row: Row<TData>, column: Column<TData, TValue>, columnId: String): Cell<TData, TValue>

Constructs a Cell for the given row/column pair, then runs every registered feature's createCell hook so features can attach their own members (getIsGrouped, getIsAggregated, ...).

Link copied to clipboard
fun <TData, TValue> createColumn(table: Table<TData>, columnDef: ColumnDef<TData, TValue>, depth: Int, parent: Column<TData, TValue>?): Column<TData, TValue>

Constructs a Column from columnDef. Resolves the def against the table's default column def (per-field merge — only non-null fields on columnDef override the defaults), derives an id from id/accessorKey/string header, builds an accessor function for accessor-key/-fn columns, installs the memoised getFlatColumns and getLeafColumns, and runs every registered feature's createColumn hook.

Link copied to clipboard

Creates a ColumnHelper for rows of TData. Use the helper's accessor / display / group factories to build ColumnDefs for a table.

Link copied to clipboard
fun <TData> createRow(table: Table<TData>, id: String, original: TData, rowIndex: Int, depth: Int, subRows: List<Row<TData>>?, parentId: String?): Row<TData>

Constructs a Row for the row at rowIndex in the data array, then runs every registered feature's createRow hook so features can attach their own members.

Link copied to clipboard
Link copied to clipboard

Returns a new RowModel whose rows walk every expanded sub-row inline with its parent, in source order.

Link copied to clipboard
fun <TData> filterRows(rows: List<Row<TData>>, filterRowImpl: (row: Row<TData>) -> Any?, table: Table<TData>): RowModel<TData>

Filters rows through filterRowImpl, producing a new RowModel.

Link copied to clipboard
fun <TNode> flattenBy(arr: List<TNode>, getChildren: (item: TNode) -> List<TNode>?): List<TNode>

Walks arr depth-first and returns every node together with each node's descendants. getChildren returns null (or an empty list) for leaf nodes.

Link copied to clipboard
fun <T> functionalUpdate(updater: Any?, input: T): T

Resolves an Updater against an input value.

Link copied to clipboard
fun <TData> getCoreRowModel(): (table: Table<TData>) -> () -> RowModel<TData>

Builds the core row-model factory. The returned function is invoked once per Table and produces a memoised getter for the core RowModel.

Link copied to clipboard
fun <TData> getExpandedRowModel(): (table: Table<TData>) -> () -> RowModel<TData>

Builds the expanded row-model factory. The returned function is invoked once per Table and produces a memoised getter for the expanded RowModel. When no rows are expanded, or paginateExpandedRows is disabled, the pre-expanded model is returned unchanged.

Link copied to clipboard
fun <TData> getFacetedMinMaxValues(): (table: Table<TData>, columnId: String) -> () -> Pair<Double, Double>?

Builds the per-column faceted-min/max-values factory. The returned function is invoked once per (table, columnId) pair and produces a memoised getter for (min, max) as a Pair of Doubles, or null when no numeric values are present.

Link copied to clipboard
fun <TData> getFacetedRowModel(): (table: Table<TData>, columnId: String) -> () -> RowModel<TData>

Builds the per-column faceted-row-model factory. The returned function is invoked once per (table, columnId) pair and produces a memoised getter for that column's RowModel.

Link copied to clipboard
fun <TData> getFacetedUniqueValues(): (table: Table<TData>, columnId: String) -> () -> Map<Any?, Int>

Builds the per-column faceted-unique-values factory. The returned function is invoked once per (table, columnId) pair and produces a memoised getter for a value -> count map. Iteration order matches the order each value was first seen.

Link copied to clipboard
fun <TData> getFilteredRowModel(): (table: Table<TData>) -> () -> RowModel<TData>

Builds the table-level filtered row-model factory. The returned function is invoked once per Table and produces a memoised getter for the filtered RowModel.

Link copied to clipboard
fun <TData> getGroupedRowModel(): (table: Table<TData>) -> () -> RowModel<TData>

Builds the grouped row-model factory. The returned function is invoked once per Table and produces a memoised getter for the grouped RowModel.

Link copied to clipboard
fun <TResult> getMemoOptions(tableOptions: TableOptionsResolved<*>, debugLevel: String, key: String, onChange: (result: TResult) -> Unit? = null): MemoOptions<TResult>

Builds a MemoOptions from a debug level ("debugAll", "debugCells", "debugTable", "debugColumns", "debugRows", "debugHeaders") and a memo key. The debug callback reports whether the relevant debug flag is enabled; debugAll takes priority over the per-area flag.

Link copied to clipboard

Builds the pagination row-model factory. The returned function is invoked once per Table and produces a memoised getter for the paginated RowModel.

Link copied to clipboard
fun <TData> getSortedRowModel(): (table: Table<TData>) -> () -> RowModel<TData>

Builds the sorted row-model factory. The returned function is invoked once per Table and produces a memoised getter for the sorted RowModel.

Link copied to clipboard

Returns true when d is a function value (any arity).

Link copied to clipboard

Returns true when d is a non-null list whose every element is a Number.

Link copied to clipboard
fun <TData> isRowSelected(row: Row<TData>, selection: Map<String, Boolean>): Boolean
Link copied to clipboard
fun <TData> isSubRowSelected(row: Row<TData>, selection: Map<String, Boolean>, table: Table<TData>): Any?
Link copied to clipboard
fun makeStateUpdater(key: String, instance: Any?): (Updater) -> Unit

Returns a setter that updates one TableState field by key, applying functionalUpdate to merge new values. Used by feature getDefaultOptions implementations to wire onXxxChange callbacks to setState.

Link copied to clipboard
fun <TResult> memo(getDeps: () -> List<Any?>, fn: (deps: List<Any?>) -> TResult, opts: MemoOptions<TResult>): () -> TResult

No-argument memoWithArg. Most table-core memoised computations have no runtime input and use this form.

Link copied to clipboard
fun <TArg, TResult> memoWithArg(getDeps: (depArgs: TArg) -> List<Any?>, fn: (deps: List<Any?>) -> TResult, opts: MemoOptions<TResult>): (depArgs: TArg) -> TResult

Dependency-tracking memoiser with a thread-through argument.

Link copied to clipboard

Field-by-field merge of a and b, with b winning. Delegates to TableOptionsResolved.merge — see its KDoc for per-field semantics.

Link copied to clipboard
fun noop()

An intentionally empty function used where a callable no-op is required.

Link copied to clipboard
fun <TData> orderColumns(leafColumns: List<Column<TData, Any?>>, grouping: List<String>, groupedColumnMode: GroupingColumnMode = null): List<Column<TData, Any?>>
Link copied to clipboard
Link copied to clipboard
fun safelyAccessDocument(_document: Any?): Any?

Returns _document when it is truthy, otherwise null. Mirrors the JavaScript helper that would fall back to the global document binding; commonMain has no such global, so the fallback always yields null.

Link copied to clipboard

Returns the ownerDocument of the event's target, when reachable. The required browser-DOM accessors are not available in commonMain, so this always returns null — the same value the original guard chain returns whenever the target or its ownerDocument is missing.

Link copied to clipboard
fun <TData> selectRowsFn(table: Table<TData>, rowModel: RowModel<TData>): RowModel<TData>
Link copied to clipboard
fun <TData> shouldAutoRemoveFilter(filterFn: FilterFn<TData>? = null, value: Any? = null, column: Column<TData, Any?>? = null): Boolean

Returns true when a column filter should be auto-removed: when the filter fn's own autoRemove test says so, when the value is null, or when it is an empty string.

Link copied to clipboard

Materialises an InitialTableState into a TableState: every slice the caller supplied is copied across; missing slices fall back to the TableState defaults. A null receiver yields a fully-defaulted state.