UNPKG

@justjarethb/table-core

Version:

Fork of @tanstack/table-core with support for event listeners in different windows

41 lines (40 loc) 1.57 kB
import { TableFeature } from '../core/table'; import { OnChangeFn, Updater, Column, Cell, RowData } from '../types'; export type ColumnPinningPosition = false | 'left' | 'right'; export interface ColumnPinningState { left?: string[]; right?: string[]; } export interface ColumnPinningTableState { columnPinning: ColumnPinningState; } export interface ColumnPinningOptions { onColumnPinningChange?: OnChangeFn<ColumnPinningState>; enablePinning?: boolean; } export interface ColumnPinningDefaultOptions { onColumnPinningChange: OnChangeFn<ColumnPinningState>; } export interface ColumnPinningColumnDef { enablePinning?: boolean; } export interface ColumnPinningColumn { getCanPin: () => boolean; getPinnedIndex: () => number; getIsPinned: () => ColumnPinningPosition; pin: (position: ColumnPinningPosition) => void; } export interface ColumnPinningRow<TData extends RowData> { getLeftVisibleCells: () => Cell<TData, unknown>[]; getCenterVisibleCells: () => Cell<TData, unknown>[]; getRightVisibleCells: () => Cell<TData, unknown>[]; } export interface ColumnPinningInstance<TData extends RowData> { setColumnPinning: (updater: Updater<ColumnPinningState>) => void; resetColumnPinning: (defaultState?: boolean) => void; getIsSomeColumnsPinned: (position?: ColumnPinningPosition) => boolean; getLeftLeafColumns: () => Column<TData, unknown>[]; getRightLeafColumns: () => Column<TData, unknown>[]; getCenterLeafColumns: () => Column<TData, unknown>[]; } export declare const Pinning: TableFeature;