Showing preview only (4,117K chars total). Download the full file or copy to clipboard to get everything.
Repository: TanStack/table
Branch: alpha
Commit: 2a4533e9177b
Files: 2187
Total size: 3.5 MB
Directory structure:
gitextract_yn2n45g7/
├── .editorconfig
├── .gitattributes
├── .github/
│ ├── FUNDING.yml
│ ├── ISSUE_TEMPLATE/
│ │ ├── bug_report.yml
│ │ └── config.yml
│ ├── pull_request_template
│ └── workflows/
│ ├── autofix.yml
│ ├── pr.yml
│ └── release.yml
├── .gitignore
├── .npmrc
├── .nvmrc
├── .nx/
│ └── workflows/
│ └── dynamic-changesets.yaml
├── .prettierignore
├── .vscode/
│ └── extensions.json
├── CODE_OF_CONDUCT.md
├── CONTRIBUTING.md
├── LICENSE
├── README.md
├── docs/
│ ├── config.json
│ ├── enterprise/
│ │ └── ag-grid.md
│ ├── faq.md
│ ├── framework/
│ │ ├── angular/
│ │ │ ├── angular-table.md
│ │ │ ├── guide/
│ │ │ │ ├── migrating.md
│ │ │ │ ├── rendering.md
│ │ │ │ ├── table-composition.md
│ │ │ │ └── table-state.md
│ │ │ └── reference/
│ │ │ ├── classes/
│ │ │ │ ├── FlexRenderCell.md
│ │ │ │ ├── FlexRenderComponentInstance.md
│ │ │ │ ├── FlexRenderDirective.md
│ │ │ │ ├── TanStackTable.md
│ │ │ │ ├── TanStackTableCell.md
│ │ │ │ └── TanStackTableHeader.md
│ │ │ ├── functions/
│ │ │ │ ├── createTableHook.md
│ │ │ │ ├── flexRenderComponent.md
│ │ │ │ ├── injectFlexRenderContext.md
│ │ │ │ ├── injectTable.md
│ │ │ │ ├── injectTableCellContext.md
│ │ │ │ ├── injectTableContext.md
│ │ │ │ └── injectTableHeaderContext.md
│ │ │ ├── index.md
│ │ │ ├── interfaces/
│ │ │ │ ├── AngularReactivityFlags.md
│ │ │ │ ├── FlexRenderComponent.md
│ │ │ │ ├── TanStackTableCellContext.md
│ │ │ │ └── TanStackTableHeaderContext.md
│ │ │ ├── type-aliases/
│ │ │ │ ├── AngularTable.md
│ │ │ │ ├── AppAngularTable.md
│ │ │ │ ├── AppCellContext.md
│ │ │ │ ├── AppColumnHelper.md
│ │ │ │ ├── AppHeaderContext.md
│ │ │ │ ├── CreateTableContextOptions.md
│ │ │ │ ├── CreateTableHookResult.md
│ │ │ │ ├── FlexRenderComponentProps.md
│ │ │ │ ├── FlexRenderContent.md
│ │ │ │ └── FlexRenderInputContent.md
│ │ │ └── variables/
│ │ │ ├── FlexRender.md
│ │ │ ├── TanStackTableCellToken.md
│ │ │ ├── TanStackTableHeaderToken.md
│ │ │ └── TanStackTableToken.md
│ │ ├── lit/
│ │ │ ├── guide/
│ │ │ │ └── table-state.md
│ │ │ └── lit-table.md
│ │ ├── preact/
│ │ │ └── guide/
│ │ │ └── create-table-hook.md
│ │ ├── react/
│ │ │ ├── guide/
│ │ │ │ ├── create-table-hook.md
│ │ │ │ ├── migrating.md
│ │ │ │ ├── table-state.md
│ │ │ │ └── use-legacy-table.md
│ │ │ ├── react-table.md
│ │ │ └── reference/
│ │ │ ├── index/
│ │ │ │ ├── functions/
│ │ │ │ │ ├── FlexRender-1.md
│ │ │ │ │ ├── Subscribe.md
│ │ │ │ │ ├── createTableHook.md
│ │ │ │ │ ├── flexRender.md
│ │ │ │ │ └── useTable.md
│ │ │ │ ├── index.md
│ │ │ │ ├── interfaces/
│ │ │ │ │ ├── AppCellComponent.md
│ │ │ │ │ ├── AppCellPropsWithSelector.md
│ │ │ │ │ ├── AppCellPropsWithoutSelector.md
│ │ │ │ │ ├── AppHeaderComponent.md
│ │ │ │ │ ├── AppHeaderPropsWithSelector.md
│ │ │ │ │ ├── AppHeaderPropsWithoutSelector.md
│ │ │ │ │ ├── AppTableComponent.md
│ │ │ │ │ ├── AppTablePropsWithSelector.md
│ │ │ │ │ └── AppTablePropsWithoutSelector.md
│ │ │ │ └── type-aliases/
│ │ │ │ ├── AppCellContext.md
│ │ │ │ ├── AppColumnHelper.md
│ │ │ │ ├── AppHeaderContext.md
│ │ │ │ ├── AppReactTable.md
│ │ │ │ ├── CreateTableHookOptions.md
│ │ │ │ ├── FlexRenderProps.md
│ │ │ │ ├── ReactTable.md
│ │ │ │ ├── Renderable.md
│ │ │ │ └── SubscribeProps.md
│ │ │ ├── index.md
│ │ │ └── legacy/
│ │ │ ├── functions/
│ │ │ │ ├── getCoreRowModel.md
│ │ │ │ ├── getExpandedRowModel.md
│ │ │ │ ├── getFacetedMinMaxValues.md
│ │ │ │ ├── getFacetedRowModel.md
│ │ │ │ ├── getFacetedUniqueValues.md
│ │ │ │ ├── getFilteredRowModel.md
│ │ │ │ ├── getGroupedRowModel.md
│ │ │ │ ├── getPaginationRowModel.md
│ │ │ │ ├── getSortedRowModel.md
│ │ │ │ ├── legacyCreateColumnHelper.md
│ │ │ │ └── useLegacyTable.md
│ │ │ ├── index.md
│ │ │ ├── interfaces/
│ │ │ │ └── LegacyRowModelOptions.md
│ │ │ └── type-aliases/
│ │ │ ├── LegacyCell.md
│ │ │ ├── LegacyColumn.md
│ │ │ ├── LegacyColumnDef.md
│ │ │ ├── LegacyHeader.md
│ │ │ ├── LegacyHeaderGroup.md
│ │ │ ├── LegacyReactTable.md
│ │ │ ├── LegacyRow.md
│ │ │ ├── LegacyTable.md
│ │ │ └── LegacyTableOptions.md
│ │ ├── solid/
│ │ │ ├── guide/
│ │ │ │ └── table-state.md
│ │ │ └── solid-table.md
│ │ ├── svelte/
│ │ │ ├── guide/
│ │ │ │ └── table-state.md
│ │ │ └── svelte-table.md
│ │ ├── vanilla/
│ │ │ ├── guide/
│ │ │ │ └── table-state.md
│ │ │ └── table-core.md
│ │ └── vue/
│ │ ├── guide/
│ │ │ └── table-state.md
│ │ └── vue-table.md
│ ├── guide/
│ │ ├── cells.md
│ │ ├── column-defs.md
│ │ ├── column-faceting.md
│ │ ├── column-filtering.md
│ │ ├── column-ordering.md
│ │ ├── column-pinning.md
│ │ ├── column-sizing.md
│ │ ├── column-visibility.md
│ │ ├── columns.md
│ │ ├── custom-features.md
│ │ ├── data.md
│ │ ├── expanding.md
│ │ ├── features.md
│ │ ├── filters.md
│ │ ├── fuzzy-filtering.md
│ │ ├── global-faceting.md
│ │ ├── global-filtering.md
│ │ ├── grouping.md
│ │ ├── header-groups.md
│ │ ├── headers.md
│ │ ├── pagination.md
│ │ ├── pinning.md
│ │ ├── row-models.md
│ │ ├── row-pinning.md
│ │ ├── row-selection.md
│ │ ├── rows.md
│ │ ├── sorting.md
│ │ ├── tables.md
│ │ └── virtualization.md
│ ├── installation.md
│ ├── introduction.md
│ ├── overview.md
│ ├── reference/
│ │ ├── @tanstack/
│ │ │ └── namespaces/
│ │ │ ├── filterFn_arrIncludes/
│ │ │ │ ├── functions/
│ │ │ │ │ └── autoRemove.md
│ │ │ │ └── index.md
│ │ │ ├── filterFn_arrIncludesAll/
│ │ │ │ ├── functions/
│ │ │ │ │ └── autoRemove.md
│ │ │ │ └── index.md
│ │ │ ├── filterFn_arrIncludesSome/
│ │ │ │ ├── functions/
│ │ │ │ │ └── autoRemove.md
│ │ │ │ └── index.md
│ │ │ ├── filterFn_equals/
│ │ │ │ ├── functions/
│ │ │ │ │ └── autoRemove.md
│ │ │ │ └── index.md
│ │ │ ├── filterFn_equalsString/
│ │ │ │ ├── functions/
│ │ │ │ │ └── autoRemove.md
│ │ │ │ └── index.md
│ │ │ ├── filterFn_equalsStringSensitive/
│ │ │ │ ├── functions/
│ │ │ │ │ └── autoRemove.md
│ │ │ │ └── index.md
│ │ │ ├── filterFn_greaterThan/
│ │ │ │ ├── functions/
│ │ │ │ │ └── resolveFilterValue.md
│ │ │ │ └── index.md
│ │ │ ├── filterFn_greaterThanOrEqualTo/
│ │ │ │ ├── functions/
│ │ │ │ │ └── resolveFilterValue.md
│ │ │ │ └── index.md
│ │ │ ├── filterFn_inNumberRange/
│ │ │ │ ├── functions/
│ │ │ │ │ ├── autoRemove.md
│ │ │ │ │ └── resolveFilterValue.md
│ │ │ │ └── index.md
│ │ │ ├── filterFn_includesString/
│ │ │ │ ├── functions/
│ │ │ │ │ └── autoRemove.md
│ │ │ │ └── index.md
│ │ │ ├── filterFn_includesStringSensitive/
│ │ │ │ ├── functions/
│ │ │ │ │ └── autoRemove.md
│ │ │ │ └── index.md
│ │ │ ├── filterFn_lessThan/
│ │ │ │ ├── functions/
│ │ │ │ │ └── resolveFilterValue.md
│ │ │ │ └── index.md
│ │ │ ├── filterFn_lessThanOrEqualTo/
│ │ │ │ ├── functions/
│ │ │ │ │ └── resolveFilterValue.md
│ │ │ │ └── index.md
│ │ │ └── filterFn_weakEquals/
│ │ │ ├── functions/
│ │ │ │ └── autoRemove.md
│ │ │ └── index.md
│ │ ├── functions/
│ │ │ ├── assignPrototypeAPIs.md
│ │ │ ├── assignTableAPIs.md
│ │ │ ├── buildHeaderGroups.md
│ │ │ ├── callMemoOrStaticFn.md
│ │ │ ├── cell_getContext.md
│ │ │ ├── cell_getIsAggregated.md
│ │ │ ├── cell_getIsGrouped.md
│ │ │ ├── cell_getIsPlaceholder.md
│ │ │ ├── cell_getValue.md
│ │ │ ├── cell_renderValue.md
│ │ │ ├── column_clearSorting.md
│ │ │ ├── column_getAfter.md
│ │ │ ├── column_getAggregationFn.md
│ │ │ ├── column_getAutoAggregationFn.md
│ │ │ ├── column_getAutoFilterFn.md
│ │ │ ├── column_getAutoSortDir.md
│ │ │ ├── column_getAutoSortFn.md
│ │ │ ├── column_getCanFilter.md
│ │ │ ├── column_getCanGlobalFilter.md
│ │ │ ├── column_getCanGroup.md
│ │ │ ├── column_getCanHide.md
│ │ │ ├── column_getCanMultiSort.md
│ │ │ ├── column_getCanPin.md
│ │ │ ├── column_getCanResize.md
│ │ │ ├── column_getCanSort.md
│ │ │ ├── column_getFacetedMinMaxValues.md
│ │ │ ├── column_getFacetedRowModel.md
│ │ │ ├── column_getFacetedUniqueValues.md
│ │ │ ├── column_getFilterFn.md
│ │ │ ├── column_getFilterIndex.md
│ │ │ ├── column_getFilterValue.md
│ │ │ ├── column_getFirstSortDir.md
│ │ │ ├── column_getFlatColumns.md
│ │ │ ├── column_getGroupedIndex.md
│ │ │ ├── column_getIndex.md
│ │ │ ├── column_getIsFiltered.md
│ │ │ ├── column_getIsFirstColumn.md
│ │ │ ├── column_getIsGrouped.md
│ │ │ ├── column_getIsLastColumn.md
│ │ │ ├── column_getIsPinned.md
│ │ │ ├── column_getIsResizing.md
│ │ │ ├── column_getIsSorted.md
│ │ │ ├── column_getIsVisible.md
│ │ │ ├── column_getLeafColumns.md
│ │ │ ├── column_getNextSortingOrder.md
│ │ │ ├── column_getPinnedIndex.md
│ │ │ ├── column_getSize.md
│ │ │ ├── column_getSortFn.md
│ │ │ ├── column_getSortIndex.md
│ │ │ ├── column_getStart.md
│ │ │ ├── column_getToggleGroupingHandler.md
│ │ │ ├── column_getToggleSortingHandler.md
│ │ │ ├── column_getToggleVisibilityHandler.md
│ │ │ ├── column_pin.md
│ │ │ ├── column_resetSize.md
│ │ │ ├── column_setFilterValue.md
│ │ │ ├── column_toggleGrouping.md
│ │ │ ├── column_toggleSorting.md
│ │ │ ├── column_toggleVisibility.md
│ │ │ ├── constructCell.md
│ │ │ ├── constructColumn.md
│ │ │ ├── constructColumnFacetingFeature.md
│ │ │ ├── constructColumnFilteringFeature.md
│ │ │ ├── constructColumnGroupingFeature.md
│ │ │ ├── constructColumnOrderingFeature.md
│ │ │ ├── constructColumnPinningFeature.md
│ │ │ ├── constructColumnResizingFeature.md
│ │ │ ├── constructColumnSizingFeature.md
│ │ │ ├── constructColumnVisibilityFeature.md
│ │ │ ├── constructCoreCellsFeature.md
│ │ │ ├── constructCoreColumnsFeature.md
│ │ │ ├── constructCoreHeadersFeature.md
│ │ │ ├── constructCoreRowModelsFeature.md
│ │ │ ├── constructCoreRowsFeature.md
│ │ │ ├── constructCoreTablesFeature.md
│ │ │ ├── constructGlobalFilteringFeature.md
│ │ │ ├── constructHeader.md
│ │ │ ├── constructRow.md
│ │ │ ├── constructRowExpandingFeature.md
│ │ │ ├── constructRowPaginationFeature.md
│ │ │ ├── constructRowPinningFeature.md
│ │ │ ├── constructRowSelectionFeature.md
│ │ │ ├── constructRowSortingFeature.md
│ │ │ ├── constructTable.md
│ │ │ ├── constructTableHelper.md
│ │ │ ├── createColumnHelper.md
│ │ │ ├── createCoreRowModel.md
│ │ │ ├── createExpandedRowModel.md
│ │ │ ├── createFacetedMinMaxValues.md
│ │ │ ├── createFacetedRowModel.md
│ │ │ ├── createFacetedUniqueValues.md
│ │ │ ├── createFilteredRowModel.md
│ │ │ ├── createGroupedRowModel.md
│ │ │ ├── createPaginatedRowModel.md
│ │ │ ├── createSortedRowModel.md
│ │ │ ├── createTableStore.md
│ │ │ ├── expandRows.md
│ │ │ ├── flattenBy.md
│ │ │ ├── functionalUpdate.md
│ │ │ ├── getDefaultColumnFiltersState.md
│ │ │ ├── getDefaultColumnOrderState.md
│ │ │ ├── getDefaultColumnPinningState.md
│ │ │ ├── getDefaultColumnResizingState.md
│ │ │ ├── getDefaultColumnSizingColumnDef.md
│ │ │ ├── getDefaultColumnSizingState.md
│ │ │ ├── getDefaultColumnVisibilityState.md
│ │ │ ├── getDefaultExpandedState.md
│ │ │ ├── getDefaultGroupingState.md
│ │ │ ├── getDefaultPaginationState.md
│ │ │ ├── getDefaultRowPinningState.md
│ │ │ ├── getDefaultRowSelectionState.md
│ │ │ ├── getDefaultSortingState.md
│ │ │ ├── getFunctionNameInfo.md
│ │ │ ├── getInitialTableState.md
│ │ │ ├── getMemoFnMeta.md
│ │ │ ├── header_getContext.md
│ │ │ ├── header_getLeafHeaders.md
│ │ │ ├── header_getResizeHandler.md
│ │ │ ├── header_getSize.md
│ │ │ ├── header_getStart.md
│ │ │ ├── isFunction.md
│ │ │ ├── isNumberArray.md
│ │ │ ├── isRowSelected.md
│ │ │ ├── isSubRowSelected.md
│ │ │ ├── isTouchStartEvent.md
│ │ │ ├── makeStateUpdater.md
│ │ │ ├── memo.md
│ │ │ ├── noop.md
│ │ │ ├── orderColumns.md
│ │ │ ├── passiveEventSupported.md
│ │ │ ├── row_getAllCells.md
│ │ │ ├── row_getAllCellsByColumnId.md
│ │ │ ├── row_getAllVisibleCells.md
│ │ │ ├── row_getCanExpand.md
│ │ │ ├── row_getCanMultiSelect.md
│ │ │ ├── row_getCanPin.md
│ │ │ ├── row_getCanSelect.md
│ │ │ ├── row_getCanSelectSubRows.md
│ │ │ ├── row_getCenterVisibleCells.md
│ │ │ ├── row_getGroupingValue.md
│ │ │ ├── row_getIsAllParentsExpanded.md
│ │ │ ├── row_getIsAllSubRowsSelected.md
│ │ │ ├── row_getIsExpanded.md
│ │ │ ├── row_getIsGrouped.md
│ │ │ ├── row_getIsPinned.md
│ │ │ ├── row_getIsSelected.md
│ │ │ ├── row_getIsSomeSelected.md
│ │ │ ├── row_getLeafRows.md
│ │ │ ├── row_getLeftVisibleCells.md
│ │ │ ├── row_getParentRow.md
│ │ │ ├── row_getParentRows.md
│ │ │ ├── row_getPinnedIndex.md
│ │ │ ├── row_getRightVisibleCells.md
│ │ │ ├── row_getToggleExpandedHandler.md
│ │ │ ├── row_getToggleSelectedHandler.md
│ │ │ ├── row_getUniqueValues.md
│ │ │ ├── row_getValue.md
│ │ │ ├── row_getVisibleCells.md
│ │ │ ├── row_pin.md
│ │ │ ├── row_renderValue.md
│ │ │ ├── row_toggleExpanded.md
│ │ │ ├── row_toggleSelected.md
│ │ │ ├── selectRowsFn.md
│ │ │ ├── shouldAutoRemoveFilter.md
│ │ │ ├── tableFeatures.md
│ │ │ ├── tableMemo.md
│ │ │ ├── tableOptions.md
│ │ │ ├── table_autoResetExpanded.md
│ │ │ ├── table_autoResetPageIndex.md
│ │ │ ├── table_firstPage.md
│ │ │ ├── table_getAllColumns.md
│ │ │ ├── table_getAllFlatColumns.md
│ │ │ ├── table_getAllFlatColumnsById.md
│ │ │ ├── table_getAllLeafColumns.md
│ │ │ ├── table_getBottomRows.md
│ │ │ ├── table_getCanNextPage.md
│ │ │ ├── table_getCanPreviousPage.md
│ │ │ ├── table_getCanSomeRowsExpand.md
│ │ │ ├── table_getCenterFlatHeaders.md
│ │ │ ├── table_getCenterFooterGroups.md
│ │ │ ├── table_getCenterHeaderGroups.md
│ │ │ ├── table_getCenterLeafColumns.md
│ │ │ ├── table_getCenterLeafHeaders.md
│ │ │ ├── table_getCenterRows.md
│ │ │ ├── table_getCenterTotalSize.md
│ │ │ ├── table_getCenterVisibleLeafColumns.md
│ │ │ ├── table_getColumn.md
│ │ │ ├── table_getCoreRowModel.md
│ │ │ ├── table_getDefaultColumnDef.md
│ │ │ ├── table_getExpandedDepth.md
│ │ │ ├── table_getExpandedRowModel.md
│ │ │ ├── table_getFilteredRowModel.md
│ │ │ ├── table_getFilteredSelectedRowModel.md
│ │ │ ├── table_getFlatHeaders.md
│ │ │ ├── table_getFooterGroups.md
│ │ │ ├── table_getGlobalAutoFilterFn.md
│ │ │ ├── table_getGlobalFacetedMinMaxValues.md
│ │ │ ├── table_getGlobalFacetedRowModel.md
│ │ │ ├── table_getGlobalFacetedUniqueValues.md
│ │ │ ├── table_getGlobalFilterFn.md
│ │ │ ├── table_getGroupedRowModel.md
│ │ │ ├── table_getGroupedSelectedRowModel.md
│ │ │ ├── table_getHeaderGroups.md
│ │ │ ├── table_getIsAllColumnsVisible.md
│ │ │ ├── table_getIsAllPageRowsSelected.md
│ │ │ ├── table_getIsAllRowsExpanded.md
│ │ │ ├── table_getIsAllRowsSelected.md
│ │ │ ├── table_getIsSomeColumnsPinned.md
│ │ │ ├── table_getIsSomeColumnsVisible.md
│ │ │ ├── table_getIsSomePageRowsSelected.md
│ │ │ ├── table_getIsSomeRowsExpanded.md
│ │ │ ├── table_getIsSomeRowsPinned.md
│ │ │ ├── table_getIsSomeRowsSelected.md
│ │ │ ├── table_getLeafHeaders.md
│ │ │ ├── table_getLeftFlatHeaders.md
│ │ │ ├── table_getLeftFooterGroups.md
│ │ │ ├── table_getLeftHeaderGroups.md
│ │ │ ├── table_getLeftLeafColumns.md
│ │ │ ├── table_getLeftLeafHeaders.md
│ │ │ ├── table_getLeftTotalSize.md
│ │ │ ├── table_getLeftVisibleLeafColumns.md
│ │ │ ├── table_getOrderColumnsFn.md
│ │ │ ├── table_getPageCount.md
│ │ │ ├── table_getPageOptions.md
│ │ │ ├── table_getPaginatedRowModel.md
│ │ │ ├── table_getPinnedLeafColumns.md
│ │ │ ├── table_getPinnedVisibleLeafColumns.md
│ │ │ ├── table_getPreExpandedRowModel.md
│ │ │ ├── table_getPreFilteredRowModel.md
│ │ │ ├── table_getPreGroupedRowModel.md
│ │ │ ├── table_getPrePaginatedRowModel.md
│ │ │ ├── table_getPreSelectedRowModel.md
│ │ │ ├── table_getPreSortedRowModel.md
│ │ │ ├── table_getRightFlatHeaders.md
│ │ │ ├── table_getRightFooterGroups.md
│ │ │ ├── table_getRightHeaderGroups.md
│ │ │ ├── table_getRightLeafColumns.md
│ │ │ ├── table_getRightLeafHeaders.md
│ │ │ ├── table_getRightTotalSize.md
│ │ │ ├── table_getRightVisibleLeafColumns.md
│ │ │ ├── table_getRow.md
│ │ │ ├── table_getRowCount.md
│ │ │ ├── table_getRowId.md
│ │ │ ├── table_getRowModel.md
│ │ │ ├── table_getSelectedRowModel.md
│ │ │ ├── table_getSortedRowModel.md
│ │ │ ├── table_getToggleAllColumnsVisibilityHandler.md
│ │ │ ├── table_getToggleAllPageRowsSelectedHandler.md
│ │ │ ├── table_getToggleAllRowsExpandedHandler.md
│ │ │ ├── table_getToggleAllRowsSelectedHandler.md
│ │ │ ├── table_getTopRows.md
│ │ │ ├── table_getTotalSize.md
│ │ │ ├── table_getVisibleFlatColumns.md
│ │ │ ├── table_getVisibleLeafColumns.md
│ │ │ ├── table_lastPage.md
│ │ │ ├── table_mergeOptions.md
│ │ │ ├── table_nextPage.md
│ │ │ ├── table_previousPage.md
│ │ │ ├── table_reset.md
│ │ │ ├── table_resetColumnFilters.md
│ │ │ ├── table_resetColumnOrder.md
│ │ │ ├── table_resetColumnPinning.md
│ │ │ ├── table_resetColumnSizing.md
│ │ │ ├── table_resetColumnVisibility.md
│ │ │ ├── table_resetExpanded.md
│ │ │ ├── table_resetGlobalFilter.md
│ │ │ ├── table_resetGrouping.md
│ │ │ ├── table_resetHeaderSizeInfo.md
│ │ │ ├── table_resetPageIndex.md
│ │ │ ├── table_resetPageSize.md
│ │ │ ├── table_resetPagination.md
│ │ │ ├── table_resetRowPinning.md
│ │ │ ├── table_resetRowSelection.md
│ │ │ ├── table_resetSorting.md
│ │ │ ├── table_setColumnFilters.md
│ │ │ ├── table_setColumnOrder.md
│ │ │ ├── table_setColumnPinning.md
│ │ │ ├── table_setColumnResizing.md
│ │ │ ├── table_setColumnSizing.md
│ │ │ ├── table_setColumnVisibility.md
│ │ │ ├── table_setExpanded.md
│ │ │ ├── table_setGlobalFilter.md
│ │ │ ├── table_setGrouping.md
│ │ │ ├── table_setOptions.md
│ │ │ ├── table_setPageIndex.md
│ │ │ ├── table_setPageSize.md
│ │ │ ├── table_setPagination.md
│ │ │ ├── table_setRowPinning.md
│ │ │ ├── table_setRowSelection.md
│ │ │ ├── table_setSorting.md
│ │ │ ├── table_toggleAllColumnsVisible.md
│ │ │ ├── table_toggleAllPageRowsSelected.md
│ │ │ ├── table_toggleAllRowsExpanded.md
│ │ │ └── table_toggleAllRowsSelected.md
│ │ ├── index.md
│ │ ├── interfaces/
│ │ │ ├── API.md
│ │ │ ├── AggregationFns.md
│ │ │ ├── CachedRowModel_Core.md
│ │ │ ├── CachedRowModel_Expanded.md
│ │ │ ├── CachedRowModel_Faceted.md
│ │ │ ├── CachedRowModel_Filtered.md
│ │ │ ├── CachedRowModel_Grouped.md
│ │ │ ├── CachedRowModel_Paginated.md
│ │ │ ├── CachedRowModel_Plugins.md
│ │ │ ├── CachedRowModel_Sorted.md
│ │ │ ├── CachedRowModels_Plugins.md
│ │ │ ├── CellContext.md
│ │ │ ├── Cell_Cell.md
│ │ │ ├── Cell_ColumnGrouping.md
│ │ │ ├── Cell_Core.md
│ │ │ ├── Cell_CoreProperties.md
│ │ │ ├── Cell_Plugins.md
│ │ │ ├── ColumnDef_ColumnFiltering.md
│ │ │ ├── ColumnDef_ColumnGrouping.md
│ │ │ ├── ColumnDef_ColumnPinning.md
│ │ │ ├── ColumnDef_ColumnResizing.md
│ │ │ ├── ColumnDef_ColumnSizing.md
│ │ │ ├── ColumnDef_ColumnVisibility.md
│ │ │ ├── ColumnDef_GlobalFiltering.md
│ │ │ ├── ColumnDef_Plugins.md
│ │ │ ├── ColumnDef_RowSorting.md
│ │ │ ├── ColumnDefaultOptions.md
│ │ │ ├── ColumnFilter.md
│ │ │ ├── ColumnMeta.md
│ │ │ ├── ColumnOrderDefaultOptions.md
│ │ │ ├── ColumnPinningDefaultOptions.md
│ │ │ ├── ColumnPinningState.md
│ │ │ ├── ColumnSort.md
│ │ │ ├── Column_Column.md
│ │ │ ├── Column_ColumnFaceting.md
│ │ │ ├── Column_ColumnFiltering.md
│ │ │ ├── Column_ColumnGrouping.md
│ │ │ ├── Column_ColumnOrdering.md
│ │ │ ├── Column_ColumnPinning.md
│ │ │ ├── Column_ColumnResizing.md
│ │ │ ├── Column_ColumnSizing.md
│ │ │ ├── Column_ColumnVisibility.md
│ │ │ ├── Column_Core.md
│ │ │ ├── Column_CoreProperties.md
│ │ │ ├── Column_GlobalFiltering.md
│ │ │ ├── Column_Plugins.md
│ │ │ ├── Column_RowSorting.md
│ │ │ ├── CoreFeatures.md
│ │ │ ├── CreateRowModel_Core.md
│ │ │ ├── CreateRowModel_Expanded.md
│ │ │ ├── CreateRowModel_Faceted.md
│ │ │ ├── CreateRowModel_Filtered.md
│ │ │ ├── CreateRowModel_Grouped.md
│ │ │ ├── CreateRowModel_Paginated.md
│ │ │ ├── CreateRowModel_Plugins.md
│ │ │ ├── CreateRowModel_Sorted.md
│ │ │ ├── CreateRowModels_Plugins.md
│ │ │ ├── FilterFn.md
│ │ │ ├── FilterFns.md
│ │ │ ├── FilterMeta.md
│ │ │ ├── HeaderContext.md
│ │ │ ├── HeaderGroup_Core.md
│ │ │ ├── HeaderGroup_Header.md
│ │ │ ├── HeaderGroup_Plugins.md
│ │ │ ├── Header_ColumnResizing.md
│ │ │ ├── Header_ColumnSizing.md
│ │ │ ├── Header_Core.md
│ │ │ ├── Header_CoreProperties.md
│ │ │ ├── Header_Header.md
│ │ │ ├── Header_Plugins.md
│ │ │ ├── IdIdentifier.md
│ │ │ ├── PaginationDefaultOptions.md
│ │ │ ├── PaginationState.md
│ │ │ ├── Plugins.md
│ │ │ ├── PrototypeAPI.md
│ │ │ ├── ResolvedColumnFilter.md
│ │ │ ├── RowModel.md
│ │ │ ├── RowModelFns_ColumnFiltering.md
│ │ │ ├── RowModelFns_ColumnGrouping.md
│ │ │ ├── RowModelFns_Core.md
│ │ │ ├── RowModelFns_Plugins.md
│ │ │ ├── RowModelFns_RowSorting.md
│ │ │ ├── RowPinningDefaultOptions.md
│ │ │ ├── RowPinningState.md
│ │ │ ├── Row_ColumnFiltering.md
│ │ │ ├── Row_ColumnGrouping.md
│ │ │ ├── Row_ColumnPinning.md
│ │ │ ├── Row_ColumnVisibility.md
│ │ │ ├── Row_Core.md
│ │ │ ├── Row_CoreProperties.md
│ │ │ ├── Row_Plugins.md
│ │ │ ├── Row_Row.md
│ │ │ ├── Row_RowExpanding.md
│ │ │ ├── Row_RowPinning.md
│ │ │ ├── Row_RowSelection.md
│ │ │ ├── SortFn.md
│ │ │ ├── SortFns.md
│ │ │ ├── StockFeatures.md
│ │ │ ├── StringHeaderIdentifier.md
│ │ │ ├── TableFeature.md
│ │ │ ├── TableFeatures.md
│ │ │ ├── TableMeta.md
│ │ │ ├── TableOptions_Cell.md
│ │ │ ├── TableOptions_ColumnFiltering.md
│ │ │ ├── TableOptions_ColumnGrouping.md
│ │ │ ├── TableOptions_ColumnOrdering.md
│ │ │ ├── TableOptions_ColumnPinning.md
│ │ │ ├── TableOptions_ColumnResizing.md
│ │ │ ├── TableOptions_ColumnSizing.md
│ │ │ ├── TableOptions_ColumnVisibility.md
│ │ │ ├── TableOptions_Columns.md
│ │ │ ├── TableOptions_Core.md
│ │ │ ├── TableOptions_GlobalFiltering.md
│ │ │ ├── TableOptions_Plugins.md
│ │ │ ├── TableOptions_RowExpanding.md
│ │ │ ├── TableOptions_RowPagination.md
│ │ │ ├── TableOptions_RowPinning.md
│ │ │ ├── TableOptions_RowSelection.md
│ │ │ ├── TableOptions_RowSorting.md
│ │ │ ├── TableOptions_Rows.md
│ │ │ ├── TableOptions_Table.md
│ │ │ ├── TableState_ColumnFiltering.md
│ │ │ ├── TableState_ColumnGrouping.md
│ │ │ ├── TableState_ColumnOrdering.md
│ │ │ ├── TableState_ColumnPinning.md
│ │ │ ├── TableState_ColumnResizing.md
│ │ │ ├── TableState_ColumnSizing.md
│ │ │ ├── TableState_ColumnVisibility.md
│ │ │ ├── TableState_GlobalFiltering.md
│ │ │ ├── TableState_Plugins.md
│ │ │ ├── TableState_RowExpanding.md
│ │ │ ├── TableState_RowPagination.md
│ │ │ ├── TableState_RowPinning.md
│ │ │ ├── TableState_RowSelection.md
│ │ │ ├── TableState_RowSorting.md
│ │ │ ├── Table_ColumnFaceting.md
│ │ │ ├── Table_ColumnFiltering.md
│ │ │ ├── Table_ColumnGrouping.md
│ │ │ ├── Table_ColumnOrdering.md
│ │ │ ├── Table_ColumnPinning.md
│ │ │ ├── Table_ColumnResizing.md
│ │ │ ├── Table_ColumnSizing.md
│ │ │ ├── Table_ColumnVisibility.md
│ │ │ ├── Table_Columns.md
│ │ │ ├── Table_CoreProperties.md
│ │ │ ├── Table_GlobalFiltering.md
│ │ │ ├── Table_Headers.md
│ │ │ ├── Table_Plugins.md
│ │ │ ├── Table_RowExpanding.md
│ │ │ ├── Table_RowModels_Core.md
│ │ │ ├── Table_RowModels_Expanded.md
│ │ │ ├── Table_RowModels_Faceted.md
│ │ │ ├── Table_RowModels_Filtered.md
│ │ │ ├── Table_RowModels_Grouped.md
│ │ │ ├── Table_RowModels_Paginated.md
│ │ │ ├── Table_RowModels_Sorted.md
│ │ │ ├── Table_RowPagination.md
│ │ │ ├── Table_RowPinning.md
│ │ │ ├── Table_RowSelection.md
│ │ │ ├── Table_RowSorting.md
│ │ │ ├── Table_Rows.md
│ │ │ ├── Table_Table.md
│ │ │ └── columnResizingState.md
│ │ ├── type-aliases/
│ │ │ ├── APIObject.md
│ │ │ ├── AccessorColumnDef.md
│ │ │ ├── AccessorFn.md
│ │ │ ├── AccessorFnColumnDef.md
│ │ │ ├── AccessorFnColumnDefBase.md
│ │ │ ├── AccessorKeyColumnDef.md
│ │ │ ├── AccessorKeyColumnDefBase.md
│ │ │ ├── AggregationFn.md
│ │ │ ├── AggregationFnOption.md
│ │ │ ├── AssignCellPrototype.md
│ │ │ ├── AssignColumnPrototype.md
│ │ │ ├── AssignHeaderPrototype.md
│ │ │ ├── AssignRowPrototype.md
│ │ │ ├── BuiltInAggregationFn.md
│ │ │ ├── BuiltInFilterFn.md
│ │ │ ├── BuiltInSortFn.md
│ │ │ ├── CachedRowModel_All.md
│ │ │ ├── CachedRowModels.md
│ │ │ ├── Cell.md
│ │ │ ├── CellData.md
│ │ │ ├── Column.md
│ │ │ ├── ColumnDef.md
│ │ │ ├── ColumnDefBase.md
│ │ │ ├── ColumnDefBase_All.md
│ │ │ ├── ColumnDefResolved.md
│ │ │ ├── ColumnDefTemplate.md
│ │ │ ├── ColumnFilterAutoRemoveTestFn.md
│ │ │ ├── ColumnFiltersState.md
│ │ │ ├── ColumnHelper.md
│ │ │ ├── ColumnOrderState.md
│ │ │ ├── ColumnPinningPosition.md
│ │ │ ├── ColumnResizeDirection.md
│ │ │ ├── ColumnResizeMode.md
│ │ │ ├── ColumnResizingDefaultOptions.md
│ │ │ ├── ColumnSizingDefaultOptions.md
│ │ │ ├── ColumnSizingState.md
│ │ │ ├── ColumnVisibilityState.md
│ │ │ ├── Column_Internal.md
│ │ │ ├── ConstructTableAPIs.md
│ │ │ ├── CreateRowModels.md
│ │ │ ├── CreateRowModels_All.md
│ │ │ ├── CustomAggregationFns.md
│ │ │ ├── CustomFilterFns.md
│ │ │ ├── CustomSortFns.md
│ │ │ ├── DebugOptions.md
│ │ │ ├── DeepKeys.md
│ │ │ ├── DeepValue.md
│ │ │ ├── DisplayColumnDef.md
│ │ │ ├── ExpandedState.md
│ │ │ ├── ExpandedStateList.md
│ │ │ ├── ExtractFeatureTypes.md
│ │ │ ├── FilterFnOption.md
│ │ │ ├── GetDefaultColumnDef.md
│ │ │ ├── GetDefaultStateSelector.md
│ │ │ ├── GetDefaultTableOptions.md
│ │ │ ├── GetInitialState.md
│ │ │ ├── Getter.md
│ │ │ ├── GroupColumnDef.md
│ │ │ ├── GroupingColumnMode.md
│ │ │ ├── GroupingState.md
│ │ │ ├── Header.md
│ │ │ ├── HeaderGroup.md
│ │ │ ├── IdentifiedColumnDef.md
│ │ │ ├── InitRowInstanceData.md
│ │ │ ├── MemoFnMeta.md
│ │ │ ├── NoInfer.md
│ │ │ ├── OnChangeFn.md
│ │ │ ├── PartialKeys.md
│ │ │ ├── Prettify.md
│ │ │ ├── PrototypeAPIObject.md
│ │ │ ├── RequiredKeys.md
│ │ │ ├── Row.md
│ │ │ ├── RowData.md
│ │ │ ├── RowModelFns.md
│ │ │ ├── RowModelFns_All.md
│ │ │ ├── RowPinningPosition.md
│ │ │ ├── RowSelectionState.md
│ │ │ ├── SortDirection.md
│ │ │ ├── SortFnOption.md
│ │ │ ├── SortingState.md
│ │ │ ├── StringOrTemplateHeader.md
│ │ │ ├── Table.md
│ │ │ ├── TableHelperOptions.md
│ │ │ ├── TableHelper_Core.md
│ │ │ ├── TableOptions.md
│ │ │ ├── TableOptions_All.md
│ │ │ ├── TableState.md
│ │ │ ├── TableState_All.md
│ │ │ ├── Table_Core.md
│ │ │ ├── Table_Internal.md
│ │ │ ├── Table_RowModels.md
│ │ │ ├── TransformFilterValueFn.md
│ │ │ ├── UnionToIntersection.md
│ │ │ ├── Updater.md
│ │ │ └── VisibilityDefaultOptions.md
│ │ └── variables/
│ │ ├── $internalMemoFnMeta.md
│ │ ├── aggregationFn_count.md
│ │ ├── aggregationFn_extent.md
│ │ ├── aggregationFn_max.md
│ │ ├── aggregationFn_mean.md
│ │ ├── aggregationFn_median.md
│ │ ├── aggregationFn_min.md
│ │ ├── aggregationFn_sum.md
│ │ ├── aggregationFn_unique.md
│ │ ├── aggregationFn_uniqueCount.md
│ │ ├── aggregationFns.md
│ │ ├── columnFacetingFeature.md
│ │ ├── columnFilteringFeature.md
│ │ ├── columnGroupingFeature.md
│ │ ├── columnOrderingFeature.md
│ │ ├── columnPinningFeature.md
│ │ ├── columnResizingFeature.md
│ │ ├── columnSizingFeature.md
│ │ ├── columnVisibilityFeature.md
│ │ ├── coreCellsFeature.md
│ │ ├── coreColumnsFeature.md
│ │ ├── coreFeatures.md
│ │ ├── coreHeadersFeature.md
│ │ ├── coreRowModelsFeature.md
│ │ ├── coreRowsFeature.md
│ │ ├── coreTablesFeature.md
│ │ ├── filterFn_arrHas.md
│ │ ├── filterFn_arrIncludes.md
│ │ ├── filterFn_arrIncludesAll.md
│ │ ├── filterFn_arrIncludesSome.md
│ │ ├── filterFn_equals.md
│ │ ├── filterFn_equalsString.md
│ │ ├── filterFn_equalsStringSensitive.md
│ │ ├── filterFn_greaterThan.md
│ │ ├── filterFn_greaterThanOrEqualTo.md
│ │ ├── filterFn_inNumberRange.md
│ │ ├── filterFn_includesString.md
│ │ ├── filterFn_includesStringSensitive.md
│ │ ├── filterFn_lessThan.md
│ │ ├── filterFn_lessThanOrEqualTo.md
│ │ ├── filterFn_weakEquals.md
│ │ ├── filterFns.md
│ │ ├── globalFilteringFeature.md
│ │ ├── reSplitAlphaNumeric.md
│ │ ├── rowExpandingFeature.md
│ │ ├── rowPaginationFeature.md
│ │ ├── rowPinningFeature.md
│ │ ├── rowSelectionFeature.md
│ │ ├── rowSortingFeature.md
│ │ ├── sortFn_alphanumeric.md
│ │ ├── sortFn_alphanumericCaseSensitive.md
│ │ ├── sortFn_basic.md
│ │ ├── sortFn_datetime.md
│ │ ├── sortFn_text.md
│ │ ├── sortFn_textCaseSensitive.md
│ │ ├── sortFns.md
│ │ └── stockFeatures.md
│ └── vanilla.md
├── eslint.config.js
├── examples/
│ ├── angular/
│ │ ├── basic/
│ │ │ ├── .gitignore
│ │ │ ├── README.md
│ │ │ ├── angular.json
│ │ │ ├── package.json
│ │ │ ├── src/
│ │ │ │ ├── app/
│ │ │ │ │ ├── app.config.ts
│ │ │ │ │ ├── app.html
│ │ │ │ │ ├── app.routes.ts
│ │ │ │ │ └── app.ts
│ │ │ │ ├── index.html
│ │ │ │ ├── main.ts
│ │ │ │ └── styles.css
│ │ │ ├── tsconfig.app.json
│ │ │ └── tsconfig.json
│ │ ├── basic-app-table/
│ │ │ ├── .gitignore
│ │ │ ├── README.md
│ │ │ ├── angular.json
│ │ │ ├── package.json
│ │ │ ├── src/
│ │ │ │ ├── app/
│ │ │ │ │ ├── app.config.ts
│ │ │ │ │ ├── app.html
│ │ │ │ │ └── app.ts
│ │ │ │ ├── index.html
│ │ │ │ ├── main.ts
│ │ │ │ └── styles.css
│ │ │ ├── tsconfig.app.json
│ │ │ └── tsconfig.json
│ │ ├── column-ordering/
│ │ │ ├── .gitignore
│ │ │ ├── README.md
│ │ │ ├── angular.json
│ │ │ ├── package.json
│ │ │ ├── src/
│ │ │ │ ├── app/
│ │ │ │ │ ├── app.config.ts
│ │ │ │ │ ├── app.html
│ │ │ │ │ ├── app.ts
│ │ │ │ │ └── makeData.ts
│ │ │ │ ├── index.html
│ │ │ │ ├── main.ts
│ │ │ │ └── styles.css
│ │ │ ├── tsconfig.app.json
│ │ │ └── tsconfig.json
│ │ ├── column-pinning/
│ │ │ ├── .gitignore
│ │ │ ├── README.md
│ │ │ ├── angular.json
│ │ │ ├── package.json
│ │ │ ├── src/
│ │ │ │ ├── app/
│ │ │ │ │ ├── app.config.ts
│ │ │ │ │ ├── app.html
│ │ │ │ │ ├── app.ts
│ │ │ │ │ └── makeData.ts
│ │ │ │ ├── index.html
│ │ │ │ ├── main.ts
│ │ │ │ └── styles.css
│ │ │ ├── tsconfig.app.json
│ │ │ └── tsconfig.json
│ │ ├── column-pinning-sticky/
│ │ │ ├── .gitignore
│ │ │ ├── README.md
│ │ │ ├── angular.json
│ │ │ ├── package.json
│ │ │ ├── src/
│ │ │ │ ├── app/
│ │ │ │ │ ├── app.config.ts
│ │ │ │ │ ├── app.html
│ │ │ │ │ ├── app.ts
│ │ │ │ │ └── makeData.ts
│ │ │ │ ├── index.html
│ │ │ │ ├── main.ts
│ │ │ │ └── styles.css
│ │ │ ├── tsconfig.app.json
│ │ │ └── tsconfig.json
│ │ ├── column-resizing-performant/
│ │ │ ├── .gitignore
│ │ │ ├── README.md
│ │ │ ├── angular.json
│ │ │ ├── package.json
│ │ │ ├── src/
│ │ │ │ ├── app/
│ │ │ │ │ ├── app.config.ts
│ │ │ │ │ ├── app.html
│ │ │ │ │ ├── app.ts
│ │ │ │ │ ├── makeData.ts
│ │ │ │ │ └── resizable-cell/
│ │ │ │ │ └── resizable-cell.ts
│ │ │ │ ├── index.html
│ │ │ │ ├── main.ts
│ │ │ │ └── styles.css
│ │ │ ├── tsconfig.app.json
│ │ │ └── tsconfig.json
│ │ ├── column-visibility/
│ │ │ ├── .gitignore
│ │ │ ├── README.md
│ │ │ ├── angular.json
│ │ │ ├── package.json
│ │ │ ├── src/
│ │ │ │ ├── app/
│ │ │ │ │ ├── app.config.ts
│ │ │ │ │ ├── app.html
│ │ │ │ │ └── app.ts
│ │ │ │ ├── index.html
│ │ │ │ ├── main.ts
│ │ │ │ └── styles.css
│ │ │ ├── tsconfig.app.json
│ │ │ └── tsconfig.json
│ │ ├── composable-tables/
│ │ │ ├── .gitignore
│ │ │ ├── README.md
│ │ │ ├── angular.json
│ │ │ ├── package.json
│ │ │ ├── src/
│ │ │ │ ├── app/
│ │ │ │ │ ├── app.config.ts
│ │ │ │ │ ├── app.ts
│ │ │ │ │ ├── components/
│ │ │ │ │ │ ├── cell-components.ts
│ │ │ │ │ │ ├── header-components.ts
│ │ │ │ │ │ ├── products-table/
│ │ │ │ │ │ │ ├── products-table.html
│ │ │ │ │ │ │ └── products-table.ts
│ │ │ │ │ │ ├── table-components.ts
│ │ │ │ │ │ └── users-table/
│ │ │ │ │ │ ├── users-table.html
│ │ │ │ │ │ └── users-table.ts
│ │ │ │ │ ├── makeData.ts
│ │ │ │ │ └── table.ts
│ │ │ │ ├── index.html
│ │ │ │ ├── main.ts
│ │ │ │ └── styles.css
│ │ │ ├── tsconfig.app.json
│ │ │ ├── tsconfig.json
│ │ │ └── tsconfig.spec.json
│ │ ├── custom-plugin/
│ │ │ ├── .gitignore
│ │ │ ├── .vscode/
│ │ │ │ ├── extensions.json
│ │ │ │ ├── launch.json
│ │ │ │ ├── mcp.json
│ │ │ │ └── tasks.json
│ │ │ ├── README.md
│ │ │ ├── angular.json
│ │ │ ├── package.json
│ │ │ ├── src/
│ │ │ │ ├── app/
│ │ │ │ │ ├── app.config.ts
│ │ │ │ │ ├── app.css
│ │ │ │ │ ├── app.html
│ │ │ │ │ ├── app.ts
│ │ │ │ │ ├── density/
│ │ │ │ │ │ └── density-feature.ts
│ │ │ │ │ └── makeData.ts
│ │ │ │ ├── index.html
│ │ │ │ ├── main.ts
│ │ │ │ └── styles.css
│ │ │ ├── tsconfig.app.json
│ │ │ └── tsconfig.json
│ │ ├── editable/
│ │ │ ├── .gitignore
│ │ │ ├── README.md
│ │ │ ├── angular.json
│ │ │ ├── package.json
│ │ │ ├── src/
│ │ │ │ ├── app/
│ │ │ │ │ ├── app.config.ts
│ │ │ │ │ ├── app.html
│ │ │ │ │ ├── app.ts
│ │ │ │ │ ├── editable-cell/
│ │ │ │ │ │ └── editable-cell.ts
│ │ │ │ │ └── makeData.ts
│ │ │ │ ├── index.html
│ │ │ │ ├── main.ts
│ │ │ │ └── styles.css
│ │ │ ├── tsconfig.app.json
│ │ │ └── tsconfig.json
│ │ ├── expanding/
│ │ │ ├── .gitignore
│ │ │ ├── README.md
│ │ │ ├── angular.json
│ │ │ ├── package.json
│ │ │ ├── src/
│ │ │ │ ├── app/
│ │ │ │ │ ├── app.config.ts
│ │ │ │ │ ├── app.html
│ │ │ │ │ ├── app.ts
│ │ │ │ │ ├── expandable-cell/
│ │ │ │ │ │ └── expandable-cell.ts
│ │ │ │ │ └── makeData.ts
│ │ │ │ ├── index.html
│ │ │ │ ├── main.ts
│ │ │ │ └── styles.css
│ │ │ ├── tsconfig.app.json
│ │ │ └── tsconfig.json
│ │ ├── filters/
│ │ │ ├── .gitignore
│ │ │ ├── README.md
│ │ │ ├── angular.json
│ │ │ ├── package.json
│ │ │ ├── src/
│ │ │ │ ├── app/
│ │ │ │ │ ├── app.config.ts
│ │ │ │ │ ├── app.html
│ │ │ │ │ ├── app.ts
│ │ │ │ │ ├── debounced-input/
│ │ │ │ │ │ └── debounced-input.ts
│ │ │ │ │ ├── makeData.ts
│ │ │ │ │ └── table-filter/
│ │ │ │ │ └── table-filter.ts
│ │ │ │ ├── index.html
│ │ │ │ ├── main.ts
│ │ │ │ └── styles.css
│ │ │ ├── tsconfig.app.json
│ │ │ └── tsconfig.json
│ │ ├── grouping/
│ │ │ ├── .gitignore
│ │ │ ├── README.md
│ │ │ ├── angular.json
│ │ │ ├── package.json
│ │ │ ├── src/
│ │ │ │ ├── app/
│ │ │ │ │ ├── app.config.ts
│ │ │ │ │ ├── app.html
│ │ │ │ │ ├── app.ts
│ │ │ │ │ ├── columns.ts
│ │ │ │ │ └── makeData.ts
│ │ │ │ ├── index.html
│ │ │ │ ├── main.ts
│ │ │ │ └── styles.css
│ │ │ ├── tsconfig.app.json
│ │ │ └── tsconfig.json
│ │ ├── remote-data/
│ │ │ ├── .gitignore
│ │ │ ├── README.md
│ │ │ ├── angular.json
│ │ │ ├── package.json
│ │ │ ├── src/
│ │ │ │ ├── app/
│ │ │ │ │ ├── app.config.server.ts
│ │ │ │ │ ├── app.config.ts
│ │ │ │ │ ├── app.html
│ │ │ │ │ ├── app.routes.server.ts
│ │ │ │ │ └── app.ts
│ │ │ │ ├── index.html
│ │ │ │ ├── main.server.ts
│ │ │ │ ├── main.ts
│ │ │ │ ├── server.ts
│ │ │ │ └── styles.scss
│ │ │ ├── tsconfig.app.json
│ │ │ └── tsconfig.json
│ │ ├── row-dnd/
│ │ │ ├── .gitignore
│ │ │ ├── README.md
│ │ │ ├── angular.json
│ │ │ ├── package.json
│ │ │ ├── src/
│ │ │ │ ├── app/
│ │ │ │ │ ├── app.config.ts
│ │ │ │ │ ├── app.css
│ │ │ │ │ ├── app.html
│ │ │ │ │ ├── app.ts
│ │ │ │ │ ├── drag-handle-cell/
│ │ │ │ │ │ └── drag-handle-cell.ts
│ │ │ │ │ └── makeData.ts
│ │ │ │ ├── index.html
│ │ │ │ ├── main.ts
│ │ │ │ └── styles.css
│ │ │ ├── tsconfig.app.json
│ │ │ └── tsconfig.json
│ │ ├── row-selection/
│ │ │ ├── .gitignore
│ │ │ ├── README.md
│ │ │ ├── angular.json
│ │ │ ├── package.json
│ │ │ ├── src/
│ │ │ │ ├── app/
│ │ │ │ │ ├── app.config.ts
│ │ │ │ │ ├── app.html
│ │ │ │ │ ├── app.ts
│ │ │ │ │ ├── makeData.ts
│ │ │ │ │ ├── selection-column/
│ │ │ │ │ │ └── selection-column.ts
│ │ │ │ │ ├── table-filter/
│ │ │ │ │ │ └── table-filter.ts
│ │ │ │ │ └── table.ts
│ │ │ │ ├── index.html
│ │ │ │ ├── main.ts
│ │ │ │ └── styles.css
│ │ │ ├── tsconfig.app.json
│ │ │ └── tsconfig.json
│ │ ├── row-selection-signal/
│ │ │ ├── .devcontainer/
│ │ │ │ └── devcontainer.json
│ │ │ ├── .editorconfig
│ │ │ ├── .gitignore
│ │ │ ├── README.md
│ │ │ ├── angular.json
│ │ │ ├── package.json
│ │ │ ├── src/
│ │ │ │ ├── app/
│ │ │ │ │ ├── app.component.html
│ │ │ │ │ ├── app.component.ts
│ │ │ │ │ ├── app.config.ts
│ │ │ │ │ ├── filter.ts
│ │ │ │ │ ├── makeData.ts
│ │ │ │ │ └── selection-column.component.ts
│ │ │ │ ├── assets/
│ │ │ │ │ └── .gitkeep
│ │ │ │ ├── index.html
│ │ │ │ ├── main.ts
│ │ │ │ └── styles.scss
│ │ │ ├── tsconfig.app.json
│ │ │ ├── tsconfig.json
│ │ │ └── tsconfig.spec.json
│ │ ├── signal-input/
│ │ │ ├── .gitignore
│ │ │ ├── README.md
│ │ │ ├── angular.json
│ │ │ ├── package.json
│ │ │ ├── src/
│ │ │ │ ├── app/
│ │ │ │ │ ├── app.config.ts
│ │ │ │ │ ├── app.html
│ │ │ │ │ ├── app.ts
│ │ │ │ │ ├── makeData.ts
│ │ │ │ │ └── person-table/
│ │ │ │ │ ├── person-table.html
│ │ │ │ │ └── person-table.ts
│ │ │ │ ├── index.html
│ │ │ │ ├── main.ts
│ │ │ │ └── styles.css
│ │ │ ├── tsconfig.app.json
│ │ │ └── tsconfig.json
│ │ └── sub-components/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── angular.json
│ │ ├── package.json
│ │ ├── src/
│ │ │ ├── app/
│ │ │ │ ├── app.config.ts
│ │ │ │ ├── app.html
│ │ │ │ ├── app.ts
│ │ │ │ ├── expandable-cell.ts
│ │ │ │ ├── makeData.ts
│ │ │ │ └── sub-component/
│ │ │ │ └── sub-component.ts
│ │ │ ├── index.html
│ │ │ ├── main.ts
│ │ │ └── styles.css
│ │ ├── tsconfig.app.json
│ │ └── tsconfig.json
│ ├── lit/
│ │ ├── basic/
│ │ │ ├── .gitignore
│ │ │ ├── README.md
│ │ │ ├── index.html
│ │ │ ├── package.json
│ │ │ ├── src/
│ │ │ │ └── main.ts
│ │ │ ├── tsconfig.json
│ │ │ ├── twind.config.ts
│ │ │ └── vite.config.js
│ │ ├── column-sizing/
│ │ │ ├── .gitignore
│ │ │ ├── README.md
│ │ │ ├── index.html
│ │ │ ├── package.json
│ │ │ ├── src/
│ │ │ │ ├── main.ts
│ │ │ │ └── makeData.ts
│ │ │ └── tsconfig.json
│ │ ├── filters/
│ │ │ ├── .gitignore
│ │ │ ├── README.md
│ │ │ ├── index.html
│ │ │ ├── package.json
│ │ │ ├── src/
│ │ │ │ ├── main.ts
│ │ │ │ └── makeData.ts
│ │ │ ├── tsconfig.json
│ │ │ └── vite.config.js
│ │ ├── row-selection/
│ │ │ ├── .gitignore
│ │ │ ├── README.md
│ │ │ ├── index.html
│ │ │ ├── package.json
│ │ │ ├── src/
│ │ │ │ ├── main.ts
│ │ │ │ └── makeData.ts
│ │ │ ├── tsconfig.json
│ │ │ └── vite.config.js
│ │ ├── sorting/
│ │ │ ├── .gitignore
│ │ │ ├── README.md
│ │ │ ├── index.html
│ │ │ ├── package.json
│ │ │ ├── src/
│ │ │ │ ├── main.ts
│ │ │ │ └── makeData.ts
│ │ │ ├── tsconfig.json
│ │ │ └── vite.config.js
│ │ ├── sorting-dynamic-data/
│ │ │ ├── .gitignore
│ │ │ ├── README.md
│ │ │ ├── index.html
│ │ │ ├── package.json
│ │ │ ├── src/
│ │ │ │ ├── main.ts
│ │ │ │ └── makeData.ts
│ │ │ ├── tsconfig.json
│ │ │ └── vite.config.js
│ │ └── virtualized-rows/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── index.html
│ │ ├── package.json
│ │ ├── src/
│ │ │ ├── main.ts
│ │ │ └── makeData.ts
│ │ ├── tsconfig.json
│ │ ├── twind.config.ts
│ │ └── vite.config.js
│ ├── preact/
│ │ ├── basic/
│ │ │ ├── .gitignore
│ │ │ ├── README.md
│ │ │ ├── index.html
│ │ │ ├── package.json
│ │ │ ├── src/
│ │ │ │ ├── index.css
│ │ │ │ └── main.tsx
│ │ │ ├── tsconfig.json
│ │ │ └── vite.config.ts
│ │ └── sorting/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── index.html
│ │ ├── package.json
│ │ ├── src/
│ │ │ ├── index.css
│ │ │ ├── main.tsx
│ │ │ └── makeData.ts
│ │ ├── tsconfig.json
│ │ └── vite.config.ts
│ ├── react/
│ │ ├── basic-external-state/
│ │ │ ├── .gitignore
│ │ │ ├── README.md
│ │ │ ├── index.html
│ │ │ ├── package.json
│ │ │ ├── src/
│ │ │ │ ├── index.css
│ │ │ │ ├── main.tsx
│ │ │ │ └── makeData.ts
│ │ │ ├── tsconfig.json
│ │ │ └── vite.config.js
│ │ ├── basic-external-store/
│ │ │ ├── .gitignore
│ │ │ ├── README.md
│ │ │ ├── index.html
│ │ │ ├── package.json
│ │ │ ├── src/
│ │ │ │ ├── index.css
│ │ │ │ ├── main.tsx
│ │ │ │ └── makeData.ts
│ │ │ ├── tsconfig.json
│ │ │ └── vite.config.js
│ │ ├── basic-shadcn/
│ │ │ ├── .gitignore
│ │ │ ├── README.md
│ │ │ ├── components.json
│ │ │ ├── index.html
│ │ │ ├── package.json
│ │ │ ├── src/
│ │ │ │ ├── components/
│ │ │ │ │ └── ui/
│ │ │ │ │ ├── button.tsx
│ │ │ │ │ └── table.tsx
│ │ │ │ ├── index.css
│ │ │ │ ├── lib/
│ │ │ │ │ └── utils.ts
│ │ │ │ └── main.tsx
│ │ │ ├── tsconfig.json
│ │ │ └── vite.config.js
│ │ ├── basic-use-app-table/
│ │ │ ├── .gitignore
│ │ │ ├── README.md
│ │ │ ├── index.html
│ │ │ ├── package.json
│ │ │ ├── src/
│ │ │ │ ├── index.css
│ │ │ │ └── main.tsx
│ │ │ ├── tsconfig.json
│ │ │ └── vite.config.js
│ │ ├── basic-use-legacy-table/
│ │ │ ├── index.html
│ │ │ ├── package.json
│ │ │ ├── src/
│ │ │ │ ├── index.css
│ │ │ │ ├── main.tsx
│ │ │ │ └── makeData.ts
│ │ │ ├── tsconfig.json
│ │ │ └── vite.config.js
│ │ ├── basic-use-table/
│ │ │ ├── .gitignore
│ │ │ ├── README.md
│ │ │ ├── index.html
│ │ │ ├── package.json
│ │ │ ├── src/
│ │ │ │ ├── index.css
│ │ │ │ └── main.tsx
│ │ │ ├── tsconfig.json
│ │ │ └── vite.config.js
│ │ ├── column-dnd/
│ │ │ ├── .gitignore
│ │ │ ├── README.md
│ │ │ ├── index.html
│ │ │ ├── package.json
│ │ │ ├── src/
│ │ │ │ ├── index.css
│ │ │ │ ├── main.tsx
│ │ │ │ └── makeData.ts
│ │ │ ├── tsconfig.json
│ │ │ └── vite.config.js
│ │ ├── column-groups/
│ │ │ ├── .gitignore
│ │ │ ├── README.md
│ │ │ ├── index.html
│ │ │ ├── package.json
│ │ │ ├── src/
│ │ │ │ ├── index.css
│ │ │ │ └── main.tsx
│ │ │ ├── tsconfig.json
│ │ │ └── vite.config.js
│ │ ├── column-ordering/
│ │ │ ├── .gitignore
│ │ │ ├── README.md
│ │ │ ├── index.html
│ │ │ ├── package.json
│ │ │ ├── src/
│ │ │ │ ├── index.css
│ │ │ │ ├── main.tsx
│ │ │ │ └── makeData.ts
│ │ │ ├── tsconfig.json
│ │ │ └── vite.config.js
│ │ ├── column-pinning/
│ │ │ ├── .gitignore
│ │ │ ├── README.md
│ │ │ ├── index.html
│ │ │ ├── package.json
│ │ │ ├── src/
│ │ │ │ ├── index.css
│ │ │ │ ├── main.tsx
│ │ │ │ └── makeData.ts
│ │ │ ├── tsconfig.json
│ │ │ └── vite.config.js
│ │ ├── column-pinning-split/
│ │ │ ├── .gitignore
│ │ │ ├── README.md
│ │ │ ├── index.html
│ │ │ ├── package.json
│ │ │ ├── src/
│ │ │ │ ├── index.css
│ │ │ │ ├── main.tsx
│ │ │ │ └── makeData.ts
│ │ │ ├── tsconfig.json
│ │ │ └── vite.config.js
│ │ ├── column-pinning-sticky/
│ │ │ ├── .gitignore
│ │ │ ├── README.md
│ │ │ ├── index.html
│ │ │ ├── package.json
│ │ │ ├── src/
│ │ │ │ ├── index.css
│ │ │ │ ├── main.tsx
│ │ │ │ └── makeData.ts
│ │ │ ├── tsconfig.json
│ │ │ └── vite.config.js
│ │ ├── column-resizing/
│ │ │ ├── .gitignore
│ │ │ ├── README.md
│ │ │ ├── index.html
│ │ │ ├── package.json
│ │ │ ├── src/
│ │ │ │ ├── index.css
│ │ │ │ └── main.tsx
│ │ │ ├── tsconfig.json
│ │ │ └── vite.config.js
│ │ ├── column-resizing-performant/
│ │ │ ├── .gitignore
│ │ │ ├── README.md
│ │ │ ├── index.html
│ │ │ ├── package.json
│ │ │ ├── src/
│ │ │ │ ├── index.css
│ │ │ │ ├── main.tsx
│ │ │ │ └── makeData.ts
│ │ │ ├── tsconfig.json
│ │ │ └── vite.config.js
│ │ ├── column-sizing/
│ │ │ ├── .gitignore
│ │ │ ├── README.md
│ │ │ ├── index.html
│ │ │ ├── package.json
│ │ │ ├── src/
│ │ │ │ ├── index.css
│ │ │ │ └── main.tsx
│ │ │ ├── tsconfig.json
│ │ │ └── vite.config.js
│ │ ├── column-visibility/
│ │ │ ├── .gitignore
│ │ │ ├── README.md
│ │ │ ├── index.html
│ │ │ ├── package.json
│ │ │ ├── src/
│ │ │ │ ├── index.css
│ │ │ │ └── main.tsx
│ │ │ ├── tsconfig.json
│ │ │ └── vite.config.js
│ │ ├── composable-tables/
│ │ │ ├── README.md
│ │ │ ├── index.html
│ │ │ ├── package.json
│ │ │ ├── src/
│ │ │ │ ├── components/
│ │ │ │ │ ├── cell-components.tsx
│ │ │ │ │ ├── header-components.tsx
│ │ │ │ │ └── table-components.tsx
│ │ │ │ ├── hooks/
│ │ │ │ │ └── table.ts
│ │ │ │ ├── index.css
│ │ │ │ ├── main.tsx
│ │ │ │ └── makeData.ts
│ │ │ ├── tsconfig.json
│ │ │ └── vite.config.js
│ │ ├── custom-plugin/
│ │ │ ├── .gitignore
│ │ │ ├── README.md
│ │ │ ├── index.html
│ │ │ ├── package.json
│ │ │ ├── src/
│ │ │ │ ├── index.css
│ │ │ │ ├── main.tsx
│ │ │ │ └── makeData.ts
│ │ │ ├── tsconfig.json
│ │ │ └── vite.config.js
│ │ ├── expanding/
│ │ │ ├── .gitignore
│ │ │ ├── README.md
│ │ │ ├── index.html
│ │ │ ├── package.json
│ │ │ ├── src/
│ │ │ │ ├── index.css
│ │ │ │ ├── main.tsx
│ │ │ │ └── makeData.ts
│ │ │ ├── tsconfig.json
│ │ │ └── vite.config.js
│ │ ├── filters/
│ │ │ ├── .gitignore
│ │ │ ├── README.md
│ │ │ ├── index.html
│ │ │ ├── package.json
│ │ │ ├── src/
│ │ │ │ ├── index.css
│ │ │ │ ├── main.tsx
│ │ │ │ └── makeData.ts
│ │ │ ├── tsconfig.json
│ │ │ └── vite.config.js
│ │ ├── filters-faceted/
│ │ │ ├── .gitignore
│ │ │ ├── README.md
│ │ │ ├── index.html
│ │ │ ├── package.json
│ │ │ ├── src/
│ │ │ │ ├── index.css
│ │ │ │ ├── main.tsx
│ │ │ │ └── makeData.ts
│ │ │ ├── tsconfig.json
│ │ │ └── vite.config.js
│ │ ├── filters-fuzzy/
│ │ │ ├── .gitignore
│ │ │ ├── README.md
│ │ │ ├── index.html
│ │ │ ├── package.json
│ │ │ ├── src/
│ │ │ │ ├── index.css
│ │ │ │ ├── main.tsx
│ │ │ │ └── makeData.ts
│ │ │ ├── tsconfig.json
│ │ │ └── vite.config.js
│ │ ├── grouping/
│ │ │ ├── .gitignore
│ │ │ ├── README.md
│ │ │ ├── index.html
│ │ │ ├── package.json
│ │ │ ├── src/
│ │ │ │ ├── index.css
│ │ │ │ ├── main.tsx
│ │ │ │ └── makeData.ts
│ │ │ ├── tsconfig.json
│ │ │ └── vite.config.js
│ │ ├── kitchen-sink-shadcn/
│ │ │ ├── .gitignore
│ │ │ ├── README.md
│ │ │ ├── components.json
│ │ │ ├── index.html
│ │ │ ├── package.json
│ │ │ ├── src/
│ │ │ │ ├── components/
│ │ │ │ │ ├── data-table/
│ │ │ │ │ │ ├── data-table-filter-list.tsx
│ │ │ │ │ │ ├── data-table-pagination.tsx
│ │ │ │ │ │ ├── data-table-sort-list.tsx
│ │ │ │ │ │ └── data-table-view-options.tsx
│ │ │ │ │ └── ui/
│ │ │ │ │ ├── badge.tsx
│ │ │ │ │ ├── button.tsx
│ │ │ │ │ ├── calendar.tsx
│ │ │ │ │ ├── checkbox.tsx
│ │ │ │ │ ├── command.tsx
│ │ │ │ │ ├── dialog.tsx
│ │ │ │ │ ├── dropdown-menu.tsx
│ │ │ │ │ ├── faceted.tsx
│ │ │ │ │ ├── input.tsx
│ │ │ │ │ ├── popover.tsx
│ │ │ │ │ ├── progress.tsx
│ │ │ │ │ ├── select.tsx
│ │ │ │ │ ├── sortable.tsx
│ │ │ │ │ ├── table.tsx
│ │ │ │ │ └── tooltip.tsx
│ │ │ │ ├── lib/
│ │ │ │ │ ├── composition.ts
│ │ │ │ │ ├── data-table.ts
│ │ │ │ │ ├── make-data.ts
│ │ │ │ │ └── utils.ts
│ │ │ │ ├── main.tsx
│ │ │ │ ├── styles/
│ │ │ │ │ └── globals.css
│ │ │ │ └── types/
│ │ │ │ └── index.ts
│ │ │ ├── tailwind.config.ts
│ │ │ ├── tsconfig.json
│ │ │ └── vite.config.js
│ │ ├── pagination/
│ │ │ ├── .gitignore
│ │ │ ├── README.md
│ │ │ ├── index.html
│ │ │ ├── package.json
│ │ │ ├── src/
│ │ │ │ ├── index.css
│ │ │ │ ├── main.tsx
│ │ │ │ └── makeData.ts
│ │ │ ├── tsconfig.json
│ │ │ └── vite.config.js
│ │ ├── row-dnd/
│ │ │ ├── .gitignore
│ │ │ ├── README.md
│ │ │ ├── index.html
│ │ │ ├── package.json
│ │ │ ├── src/
│ │ │ │ ├── index.css
│ │ │ │ ├── main.tsx
│ │ │ │ └── makeData.ts
│ │ │ ├── tsconfig.json
│ │ │ └── vite.config.js
│ │ ├── row-pinning/
│ │ │ ├── .gitignore
│ │ │ ├── README.md
│ │ │ ├── index.html
│ │ │ ├── package.json
│ │ │ ├── src/
│ │ │ │ ├── index.css
│ │ │ │ ├── main.tsx
│ │ │ │ └── makeData.ts
│ │ │ ├── tsconfig.json
│ │ │ └── vite.config.js
│ │ ├── row-selection/
│ │ │ ├── .gitignore
│ │ │ ├── README.md
│ │ │ ├── index.html
│ │ │ ├── package.json
│ │ │ ├── src/
│ │ │ │ ├── index.css
│ │ │ │ ├── main.tsx
│ │ │ │ └── makeData.ts
│ │ │ ├── tsconfig.json
│ │ │ └── vite.config.js
│ │ ├── sorting/
│ │ │ ├── .gitignore
│ │ │ ├── README.md
│ │ │ ├── index.html
│ │ │ ├── package.json
│ │ │ ├── src/
│ │ │ │ ├── index.css
│ │ │ │ ├── main.tsx
│ │ │ │ └── makeData.ts
│ │ │ ├── tsconfig.json
│ │ │ └── vite.config.js
│ │ ├── sub-components/
│ │ │ ├── .gitignore
│ │ │ ├── README.md
│ │ │ ├── index.html
│ │ │ ├── package.json
│ │ │ ├── src/
│ │ │ │ ├── index.css
│ │ │ │ ├── main.tsx
│ │ │ │ └── makeData.ts
│ │ │ ├── tsconfig.json
│ │ │ └── vite.config.js
│ │ ├── virtualized-columns/
│ │ │ ├── .gitignore
│ │ │ ├── README.md
│ │ │ ├── index.html
│ │ │ ├── package.json
│ │ │ ├── src/
│ │ │ │ ├── index.css
│ │ │ │ ├── main.tsx
│ │ │ │ └── makeData.ts
│ │ │ ├── tsconfig.json
│ │ │ └── vite.config.js
│ │ ├── virtualized-columns-experimental/
│ │ │ ├── .gitignore
│ │ │ ├── README.md
│ │ │ ├── index.html
│ │ │ ├── package.json
│ │ │ ├── src/
│ │ │ │ ├── index.css
│ │ │ │ ├── main.tsx
│ │ │ │ └── makeData.ts
│ │ │ ├── tsconfig.json
│ │ │ └── vite.config.js
│ │ ├── virtualized-infinite-scrolling/
│ │ │ ├── .gitignore
│ │ │ ├── README.md
│ │ │ ├── index.html
│ │ │ ├── package.json
│ │ │ ├── src/
│ │ │ │ ├── index.css
│ │ │ │ ├── main.tsx
│ │ │ │ └── makeData.ts
│ │ │ ├── tsconfig.json
│ │ │ └── vite.config.js
│ │ ├── virtualized-rows/
│ │ │ ├── .gitignore
│ │ │ ├── README.md
│ │ │ ├── index.html
│ │ │ ├── package.json
│ │ │ ├── src/
│ │ │ │ ├── index.css
│ │ │ │ ├── main.tsx
│ │ │ │ └── makeData.ts
│ │ │ ├── tsconfig.json
│ │ │ └── vite.config.js
│ │ ├── virtualized-rows-experimental/
│ │ │ ├── .gitignore
│ │ │ ├── README.md
│ │ │ ├── index.html
│ │ │ ├── package.json
│ │ │ ├── src/
│ │ │ │ ├── index.css
│ │ │ │ ├── main.tsx
│ │ │ │ └── makeData.ts
│ │ │ ├── tsconfig.json
│ │ │ └── vite.config.js
│ │ ├── with-tanstack-form/
│ │ │ ├── .gitignore
│ │ │ ├── README.md
│ │ │ ├── index.html
│ │ │ ├── package.json
│ │ │ ├── src/
│ │ │ │ ├── form.tsx
│ │ │ │ ├── index.css
│ │ │ │ ├── main.tsx
│ │ │ │ └── makeData.ts
│ │ │ ├── tsconfig.json
│ │ │ └── vite.config.js
│ │ ├── with-tanstack-query/
│ │ │ ├── .gitignore
│ │ │ ├── README.md
│ │ │ ├── index.html
│ │ │ ├── package.json
│ │ │ ├── src/
│ │ │ │ ├── fetchData.ts
│ │ │ │ ├── index.css
│ │ │ │ └── main.tsx
│ │ │ ├── tsconfig.json
│ │ │ └── vite.config.js
│ │ └── with-tanstack-router/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── index.html
│ │ ├── package.json
│ │ ├── src/
│ │ │ ├── App.tsx
│ │ │ ├── api/
│ │ │ │ ├── data.json
│ │ │ │ ├── types.ts
│ │ │ │ └── user.ts
│ │ │ ├── components/
│ │ │ │ ├── debouncedInput.tsx
│ │ │ │ └── table.tsx
│ │ │ ├── hooks/
│ │ │ │ └── useFilters.ts
│ │ │ ├── index.css
│ │ │ ├── main.tsx
│ │ │ ├── routeTree.gen.ts
│ │ │ ├── routes/
│ │ │ │ ├── __root.tsx
│ │ │ │ ├── anotherRoute.tsx
│ │ │ │ └── index.tsx
│ │ │ └── utils/
│ │ │ ├── cleanEmptyParams.ts
│ │ │ ├── tableSortMapper.ts
│ │ │ └── userColumns.tsx
│ │ ├── tsconfig.json
│ │ └── vite.config.js
│ ├── solid/
│ │ ├── basic-app-table/
│ │ │ ├── .gitignore
│ │ │ ├── README.md
│ │ │ ├── index.html
│ │ │ ├── package.json
│ │ │ ├── src/
│ │ │ │ ├── App.tsx
│ │ │ │ ├── index.css
│ │ │ │ └── index.tsx
│ │ │ ├── tsconfig.json
│ │ │ └── vite.config.ts
│ │ ├── basic-external-state/
│ │ │ ├── .gitignore
│ │ │ ├── README.md
│ │ │ ├── index.html
│ │ │ ├── package.json
│ │ │ ├── src/
│ │ │ │ ├── App.tsx
│ │ │ │ ├── index.css
│ │ │ │ ├── index.tsx
│ │ │ │ └── makeData.ts
│ │ │ ├── tsconfig.json
│ │ │ └── vite.config.ts
│ │ ├── basic-external-store/
│ │ │ ├── .gitignore
│ │ │ ├── README.md
│ │ │ ├── index.html
│ │ │ ├── package.json
│ │ │ ├── src/
│ │ │ │ ├── App.tsx
│ │ │ │ ├── index.css
│ │ │ │ ├── index.tsx
│ │ │ │ └── makeData.ts
│ │ │ ├── tsconfig.json
│ │ │ └── vite.config.ts
│ │ ├── basic-use-table/
│ │ │ ├── .gitignore
│ │ │ ├── README.md
│ │ │ ├── index.html
│ │ │ ├── package.json
│ │ │ ├── src/
│ │ │ │ ├── App.tsx
│ │ │ │ ├── index.css
│ │ │ │ └── index.tsx
│ │ │ ├── tsconfig.json
│ │ │ └── vite.config.ts
│ │ ├── column-groups/
│ │ │ ├── .gitignore
│ │ │ ├── README.md
│ │ │ ├── index.html
│ │ │ ├── package.json
│ │ │ ├── src/
│ │ │ │ ├── App.tsx
│ │ │ │ ├── index.css
│ │ │ │ └── index.tsx
│ │ │ ├── tsconfig.json
│ │ │ └── vite.config.ts
│ │ ├── column-ordering/
│ │ │ ├── .gitignore
│ │ │ ├── README.md
│ │ │ ├── index.html
│ │ │ ├── package.json
│ │ │ ├── src/
│ │ │ │ ├── App.tsx
│ │ │ │ ├── index.css
│ │ │ │ ├── index.tsx
│ │ │ │ └── makeData.ts
│ │ │ ├── tsconfig.json
│ │ │ └── vite.config.ts
│ │ ├── column-visibility/
│ │ │ ├── .gitignore
│ │ │ ├── README.md
│ │ │ ├── index.html
│ │ │ ├── package.json
│ │ │ ├── src/
│ │ │ │ ├── App.tsx
│ │ │ │ ├── index.css
│ │ │ │ └── index.tsx
│ │ │ ├── tsconfig.json
│ │ │ └── vite.config.ts
│ │ ├── composable-tables/
│ │ │ ├── .gitignore
│ │ │ ├── README.md
│ │ │ ├── index.html
│ │ │ ├── package.json
│ │ │ ├── src/
│ │ │ │ ├── App.tsx
│ │ │ │ ├── components/
│ │ │ │ │ ├── cell-components.tsx
│ │ │ │ │ ├── header-components.tsx
│ │ │ │ │ └── table-components.tsx
│ │ │ │ ├── hooks/
│ │ │ │ │ └── table.ts
│ │ │ │ ├── index.css
│ │ │ │ ├── index.tsx
│ │ │ │ └── makeData.ts
│ │ │ ├── tsconfig.json
│ │ │ └── vite.config.ts
│ │ ├── filters/
│ │ │ ├── .gitignore
│ │ │ ├── README.md
│ │ │ ├── index.html
│ │ │ ├── package.json
│ │ │ ├── src/
│ │ │ │ ├── App.tsx
│ │ │ │ ├── ColumnFilter.tsx
│ │ │ │ ├── index.css
│ │ │ │ ├── index.tsx
│ │ │ │ └── makeData.ts
│ │ │ ├── tsconfig.json
│ │ │ └── vite.config.ts
│ │ ├── filters-faceted/
│ │ │ ├── .gitignore
│ │ │ ├── README.md
│ │ │ ├── index.html
│ │ │ ├── package.json
│ │ │ ├── src/
│ │ │ │ ├── App.tsx
│ │ │ │ ├── ColumnFilter.tsx
│ │ │ │ ├── index.css
│ │ │ │ ├── index.tsx
│ │ │ │ └── makeData.ts
│ │ │ ├── tsconfig.json
│ │ │ └── vite.config.ts
│ │ ├── row-selection/
│ │ │ ├── README.md
│ │ │ ├── index.html
│ │ │ ├── package.json
│ │ │ ├── src/
│ │ │ │ ├── App.tsx
│ │ │ │ ├── index.css
│ │ │ │ ├── index.tsx
│ │ │ │ └── makeData.ts
│ │ │ ├── tsconfig.json
│ │ │ └── vite.config.ts
│ │ ├── sorting/
│ │ │ ├── .gitignore
│ │ │ ├── README.md
│ │ │ ├── index.html
│ │ │ ├── package.json
│ │ │ ├── src/
│ │ │ │ ├── App.tsx
│ │ │ │ ├── index.css
│ │ │ │ ├── index.tsx
│ │ │ │ └── makeData.ts
│ │ │ ├── tsconfig.json
│ │ │ └── vite.config.ts
│ │ └── with-tanstack-query/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── index.html
│ │ ├── package.json
│ │ ├── src/
│ │ │ ├── App.tsx
│ │ │ ├── fetchData.ts
│ │ │ ├── index.css
│ │ │ └── index.tsx
│ │ ├── tsconfig.json
│ │ └── vite.config.ts
│ ├── svelte/
│ │ ├── basic/
│ │ │ ├── .gitignore
│ │ │ ├── README.md
│ │ │ ├── index.html
│ │ │ ├── package.json
│ │ │ ├── src/
│ │ │ │ ├── App.svelte
│ │ │ │ ├── index.css
│ │ │ │ ├── main.ts
│ │ │ │ └── vite-env.d.ts
│ │ │ ├── svelte.config.js
│ │ │ ├── tsconfig.json
│ │ │ └── vite.config.js
│ │ ├── basic-snippets/
│ │ │ ├── .gitignore
│ │ │ ├── README.md
│ │ │ ├── index.html
│ │ │ ├── package.json
│ │ │ ├── src/
│ │ │ │ ├── App.svelte
│ │ │ │ ├── index.css
│ │ │ │ ├── main.ts
│ │ │ │ └── snippets.svelte
│ │ │ ├── svelte.config.js
│ │ │ ├── tsconfig.json
│ │ │ └── vite.config.js
│ │ ├── basic-table-helper/
│ │ │ ├── .gitignore
│ │ │ ├── README.md
│ │ │ ├── index.html
│ │ │ ├── package.json
│ │ │ ├── src/
│ │ │ │ ├── App.svelte
│ │ │ │ ├── index.css
│ │ │ │ └── main.ts
│ │ │ ├── svelte.config.js
│ │ │ ├── tsconfig.json
│ │ │ └── vite.config.js
│ │ ├── column-groups/
│ │ │ ├── .gitignore
│ │ │ ├── README.md
│ │ │ ├── index.html
│ │ │ ├── package.json
│ │ │ ├── src/
│ │ │ │ ├── App.svelte
│ │ │ │ ├── index.css
│ │ │ │ └── main.ts
│ │ │ ├── svelte.config.js
│ │ │ ├── tsconfig.json
│ │ │ └── vite.config.js
│ │ ├── column-ordering/
│ │ │ ├── .gitignore
│ │ │ ├── README.md
│ │ │ ├── index.html
│ │ │ ├── package.json
│ │ │ ├── src/
│ │ │ │ ├── App.svelte
│ │ │ │ ├── index.css
│ │ │ │ ├── main.ts
│ │ │ │ └── makeData.ts
│ │ │ ├── svelte.config.js
│ │ │ ├── tsconfig.json
│ │ │ └── vite.config.js
│ │ ├── column-pinning/
│ │ │ ├── .gitignore
│ │ │ ├── README.md
│ │ │ ├── index.html
│ │ │ ├── package.json
│ │ │ ├── src/
│ │ │ │ ├── App.svelte
│ │ │ │ ├── index.css
│ │ │ │ ├── main.ts
│ │ │ │ └── makeData.ts
│ │ │ ├── svelte.config.js
│ │ │ ├── tsconfig.json
│ │ │ └── vite.config.js
│ │ ├── column-visibility/
│ │ │ ├── .gitignore
│ │ │ ├── README.md
│ │ │ ├── index.html
│ │ │ ├── package.json
│ │ │ ├── src/
│ │ │ │ ├── App.svelte
│ │ │ │ ├── index.css
│ │ │ │ └── main.ts
│ │ │ ├── svelte.config.js
│ │ │ ├── tsconfig.json
│ │ │ └── vite.config.js
│ │ ├── filtering/
│ │ │ ├── .gitignore
│ │ │ ├── README.md
│ │ │ ├── index.html
│ │ │ ├── package.json
│ │ │ ├── src/
│ │ │ │ ├── App.svelte
│ │ │ │ ├── index.css
│ │ │ │ ├── main.ts
│ │ │ │ └── makeData.ts
│ │ │ ├── svelte.config.js
│ │ │ ├── tsconfig.json
│ │ │ └── vite.config.js
│ │ ├── row-selection/
│ │ │ ├── index.html
│ │ │ ├── package.json
│ │ │ ├── src/
│ │ │ │ ├── App.svelte
│ │ │ │ ├── index.css
│ │ │ │ ├── main.ts
│ │ │ │ └── makeData.ts
│ │ │ ├── svelte.config.js
│ │ │ ├── tsconfig.json
│ │ │ └── vite.config.js
│ │ └── sorting/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── index.html
│ │ ├── package.json
│ │ ├── src/
│ │ │ ├── App.svelte
│ │ │ ├── Header.svelte
│ │ │ ├── index.css
│ │ │ ├── main.ts
│ │ │ ├── makeData.ts
│ │ │ ├── tableHelper.svelte.ts
│ │ │ └── vite-env.d.ts
│ │ ├── svelte.config.js
│ │ ├── tsconfig.json
│ │ └── vite.config.js
│ ├── vanilla/
│ │ ├── basic/
│ │ │ ├── .gitignore
│ │ │ ├── README.md
│ │ │ ├── index.html
│ │ │ ├── package.json
│ │ │ ├── src/
│ │ │ │ ├── createTable.ts
│ │ │ │ ├── index.css
│ │ │ │ └── main.ts
│ │ │ ├── tsconfig.json
│ │ │ └── vite.config.js
│ │ ├── pagination/
│ │ │ ├── .gitignore
│ │ │ ├── README.md
│ │ │ ├── index.html
│ │ │ ├── package.json
│ │ │ ├── src/
│ │ │ │ ├── createTable.ts
│ │ │ │ ├── index.css
│ │ │ │ ├── main.ts
│ │ │ │ └── makeData.ts
│ │ │ ├── tsconfig.json
│ │ │ └── vite.config.js
│ │ └── sorting/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── index.html
│ │ ├── package.json
│ │ ├── src/
│ │ │ ├── createTable.ts
│ │ │ ├── index.css
│ │ │ ├── main.ts
│ │ │ └── makeData.ts
│ │ ├── tsconfig.json
│ │ └── vite.config.js
│ └── vue/
│ ├── basic/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── env.d.ts
│ │ ├── index.html
│ │ ├── package.json
│ │ ├── src/
│ │ │ ├── App.vue
│ │ │ ├── env.d.ts
│ │ │ └── main.ts
│ │ ├── tsconfig.json
│ │ └── vite.config.ts
│ ├── column-ordering/
│ │ ├── .gitignore
│ │ ├── .vscode/
│ │ │ └── extensions.json
│ │ ├── README.md
│ │ ├── env.d.ts
│ │ ├── index.html
│ │ ├── package.json
│ │ ├── src/
│ │ │ ├── App.vue
│ │ │ ├── env.d.ts
│ │ │ ├── main.ts
│ │ │ └── makeData.ts
│ │ ├── tsconfig.json
│ │ └── vite.config.ts
│ ├── column-pinning/
│ │ ├── .gitignore
│ │ ├── .vscode/
│ │ │ └── extensions.json
│ │ ├── README.md
│ │ ├── env.d.ts
│ │ ├── index.html
│ │ ├── package.json
│ │ ├── src/
│ │ │ ├── App.vue
│ │ │ ├── env.d.ts
│ │ │ ├── main.ts
│ │ │ └── makeData.ts
│ │ ├── tsconfig.json
│ │ └── vite.config.ts
│ ├── filters/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── env.d.ts
│ │ ├── index.html
│ │ ├── package.json
│ │ ├── src/
│ │ │ ├── App.vue
│ │ │ ├── DebouncedInput.vue
│ │ │ ├── Filter.vue
│ │ │ ├── main.ts
│ │ │ └── tableHelper.ts
│ │ ├── tsconfig.json
│ │ └── vite.config.ts
│ ├── pagination/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── env.d.ts
│ │ ├── index.html
│ │ ├── package.json
│ │ ├── src/
│ │ │ ├── App.vue
│ │ │ ├── env.d.ts
│ │ │ ├── main.ts
│ │ │ └── makeData.ts
│ │ ├── tsconfig.json
│ │ └── vite.config.ts
│ ├── pagination-controlled/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── env.d.ts
│ │ ├── index.html
│ │ ├── package.json
│ │ ├── src/
│ │ │ ├── App.vue
│ │ │ ├── env.d.ts
│ │ │ ├── main.ts
│ │ │ └── useService.ts
│ │ ├── tsconfig.json
│ │ └── vite.config.ts
│ ├── row-selection/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── env.d.ts
│ │ ├── index.html
│ │ ├── package.json
│ │ ├── src/
│ │ │ ├── App.vue
│ │ │ ├── IndeterminateCheckbox.vue
│ │ │ ├── env.d.ts
│ │ │ ├── main.ts
│ │ │ └── makeData.ts
│ │ ├── tsconfig.json
│ │ └── vite.config.ts
│ ├── sorting/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── env.d.ts
│ │ ├── index.html
│ │ ├── package.json
│ │ ├── src/
│ │ │ ├── App.vue
│ │ │ ├── env.d.ts
│ │ │ ├── main.ts
│ │ │ └── makeData.ts
│ │ ├── tsconfig.json
│ │ └── vite.config.ts
│ ├── sub-components/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── env.d.ts
│ │ ├── index.html
│ │ ├── package.json
│ │ ├── src/
│ │ │ ├── App.vue
│ │ │ └── main.ts
│ │ ├── tsconfig.json
│ │ └── vite.config.ts
│ └── virtualized-rows/
│ ├── .gitignore
│ ├── README.md
│ ├── env.d.ts
│ ├── index.html
│ ├── package.json
│ ├── src/
│ │ ├── App.vue
│ │ ├── env.d.ts
│ │ ├── index.css
│ │ ├── main.ts
│ │ └── makeData.ts
│ ├── tsconfig.json
│ └── vite.config.ts
├── knip.json
├── media/
│ └── logo.sketch
├── nx.json
├── package.json
├── packages/
│ ├── angular-table/
│ │ ├── eslint.config.js
│ │ ├── ng-package.json
│ │ ├── package.json
│ │ ├── src/
│ │ │ ├── flex-render/
│ │ │ │ ├── context.ts
│ │ │ │ ├── flags.ts
│ │ │ │ ├── flexRenderComponent.ts
│ │ │ │ ├── flexRenderComponentFactory.ts
│ │ │ │ ├── renderer.ts
│ │ │ │ └── view.ts
│ │ │ ├── flexRender.ts
│ │ │ ├── helpers/
│ │ │ │ ├── cell.ts
│ │ │ │ ├── createTableHook.ts
│ │ │ │ ├── flexRenderCell.ts
│ │ │ │ ├── header.ts
│ │ │ │ └── table.ts
│ │ │ ├── index.ts
│ │ │ ├── injectTable.ts
│ │ │ └── lazySignalInitializer.ts
│ │ ├── tests/
│ │ │ ├── angularReactivityFeature.test.ts
│ │ │ ├── benchmarks/
│ │ │ │ ├── injectTable.benchmark.ts
│ │ │ │ └── setup.ts
│ │ │ ├── flex-render/
│ │ │ │ ├── flex-render-component.test-d.ts
│ │ │ │ ├── flex-render-table.test.ts
│ │ │ │ └── flex-render.unit.test.ts
│ │ │ ├── injectTable.test.ts
│ │ │ ├── lazy-init.test.ts
│ │ │ ├── test-setup.ts
│ │ │ └── test-utils.ts
│ │ ├── tsconfig.build.json
│ │ ├── tsconfig.json
│ │ ├── tsconfig.test.json
│ │ └── vite.config.ts
│ ├── lit-table/
│ │ ├── eslint.config.js
│ │ ├── package.json
│ │ ├── src/
│ │ │ ├── TableController.ts
│ │ │ ├── flexRender.ts
│ │ │ └── index.ts
│ │ ├── tsconfig.json
│ │ └── vite.config.ts
│ ├── match-sorter-utils/
│ │ ├── package.json
│ │ ├── src/
│ │ │ ├── index.ts
│ │ │ └── remove-accents.ts
│ │ ├── tests/
│ │ │ ├── match-sorter-utils.test.ts
│ │ │ └── test-setup.ts
│ │ ├── tsconfig.json
│ │ └── vite.config.ts
│ ├── preact-table/
│ │ ├── eslint.config.js
│ │ ├── package.json
│ │ ├── src/
│ │ │ ├── FlexRender.tsx
│ │ │ ├── Subscribe.ts
│ │ │ ├── createTableHook.tsx
│ │ │ ├── index.ts
│ │ │ └── useTable.ts
│ │ ├── tsconfig.json
│ │ └── vite.config.ts
│ ├── react-table/
│ │ ├── eslint.config.js
│ │ ├── package.json
│ │ ├── src/
│ │ │ ├── FlexRender.tsx
│ │ │ ├── Subscribe.ts
│ │ │ ├── createTableHook.tsx
│ │ │ ├── index.ts
│ │ │ ├── legacy.ts
│ │ │ ├── useLegacyTable.ts
│ │ │ └── useTable.ts
│ │ ├── tsconfig.json
│ │ └── vite.config.ts
│ ├── react-table-devtools/
│ │ ├── eslint.config.js
│ │ ├── package.json
│ │ ├── src/
│ │ │ ├── ReactTableDevtools.tsx
│ │ │ ├── index.ts
│ │ │ ├── plugin.tsx
│ │ │ └── production.ts
│ │ ├── tsconfig.json
│ │ └── vite.config.ts
│ ├── solid-table/
│ │ ├── eslint.config.js
│ │ ├── package.json
│ │ ├── src/
│ │ │ ├── FlexRender.tsx
│ │ │ ├── createTable.ts
│ │ │ ├── createTableHook.tsx
│ │ │ └── index.tsx
│ │ ├── tsconfig.build.json
│ │ ├── tsconfig.json
│ │ └── vite.config.ts
│ ├── solid-table-devtools/
│ │ ├── eslint.config.js
│ │ ├── package.json
│ │ ├── src/
│ │ │ ├── TableDevtools.tsx
│ │ │ ├── index.ts
│ │ │ ├── plugin.tsx
│ │ │ ├── production/
│ │ │ │ ├── TableDevtools.tsx
│ │ │ │ └── plugin.tsx
│ │ │ └── production.ts
│ │ ├── tsconfig.build.json
│ │ ├── tsconfig.json
│ │ └── vite.config.ts
│ ├── svelte-table/
│ │ ├── eslint.config.js
│ │ ├── package.json
│ │ ├── src/
│ │ │ ├── FlexRender.svelte
│ │ │ ├── Subscribe.svelte
│ │ │ ├── createTable.svelte.ts
│ │ │ ├── createTableHelper.ts
│ │ │ ├── createTableState.svelte.ts
│ │ │ ├── global.d.ts
│ │ │ ├── index.ts
│ │ │ └── render-component.ts
│ │ ├── svelte.config.js
│ │ ├── tsconfig.json
│ │ └── vite.config.ts
│ ├── table-core/
│ │ ├── eslint.config.js
│ │ ├── package.json
│ │ ├── src/
│ │ │ ├── core/
│ │ │ │ ├── cells/
│ │ │ │ │ ├── constructCell.ts
│ │ │ │ │ ├── coreCellsFeature.ts
│ │ │ │ │ ├── coreCellsFeature.types.ts
│ │ │ │ │ └── coreCellsFeature.utils.ts
│ │ │ │ ├── columns/
│ │ │ │ │ ├── constructColumn.ts
│ │ │ │ │ ├── coreColumnsFeature.ts
│ │ │ │ │ ├── coreColumnsFeature.types.ts
│ │ │ │ │ └── coreColumnsFeature.utils.ts
│ │ │ │ ├── coreFeatures.ts
│ │ │ │ ├── headers/
│ │ │ │ │ ├── buildHeaderGroups.ts
│ │ │ │ │ ├── constructHeader.ts
│ │ │ │ │ ├── coreHeadersFeature.ts
│ │ │ │ │ ├── coreHeadersFeature.types.ts
│ │ │ │ │ └── coreHeadersFeature.utils.ts
│ │ │ │ ├── row-models/
│ │ │ │ │ ├── coreRowModelsFeature.ts
│ │ │ │ │ ├── coreRowModelsFeature.types.ts
│ │ │ │ │ ├── coreRowModelsFeature.utils.ts
│ │ │ │ │ └── createCoreRowModel.ts
│ │ │ │ ├── rows/
│ │ │ │ │ ├── constructRow.ts
│ │ │ │ │ ├── coreRowsFeature.ts
│ │ │ │ │ ├── coreRowsFeature.types.ts
│ │ │ │ │ └── coreRowsFeature.utils.ts
│ │ │ │ └── table/
│ │ │ │ ├── constructTable.ts
│ │ │ │ ├── coreTablesFeature.ts
│ │ │ │ ├── coreTablesFeature.types.ts
│ │ │ │ └── coreTablesFeature.utils.ts
│ │ │ ├── features/
│ │ │ │ ├── column-faceting/
│ │ │ │ │ ├── columnFacetingFeature.ts
│ │ │ │ │ ├── columnFacetingFeature.types.ts
│ │ │ │ │ ├── columnFacetingFeature.utils.ts
│ │ │ │ │ ├── createFacetedMinMaxValues.ts
│ │ │ │ │ ├── createFacetedRowModel.ts
│ │ │ │ │ └── createFacetedUniqueValues.ts
│ │ │ │ ├── column-filtering/
│ │ │ │ │ ├── columnFilteringFeature.ts
│ │ │ │ │ ├── columnFilteringFeature.types.ts
│ │ │ │ │ ├── columnFilteringFeature.utils.ts
│ │ │ │ │ ├── createFilteredRowModel.ts
│ │ │ │ │ └── filterRowsUtils.ts
│ │ │ │ ├── column-grouping/
│ │ │ │ │ ├── columnGroupingFeature.ts
│ │ │ │ │ ├── columnGroupingFeature.types.ts
│ │ │ │ │ ├── columnGroupingFeature.utils.ts
│ │ │ │ │ └── createGroupedRowModel.ts
│ │ │ │ ├── column-ordering/
│ │ │ │ │ ├── columnOrderingFeature.ts
│ │ │ │ │ ├── columnOrderingFeature.types.ts
│ │ │ │ │ └── columnOrderingFeature.utils.ts
│ │ │ │ ├── column-pinning/
│ │ │ │ │ ├── columnPinningFeature.ts
│ │ │ │ │ ├── columnPinningFeature.types.ts
│ │ │ │ │ └── columnPinningFeature.utils.ts
│ │ │ │ ├── column-resizing/
│ │ │ │ │ ├── columnResizingFeature.ts
│ │ │ │ │ ├── columnResizingFeature.types.ts
│ │ │ │ │ └── columnResizingFeature.utils.ts
│ │ │ │ ├── column-sizing/
│ │ │ │ │ ├── columnSizingFeature.ts
│ │ │ │ │ ├── columnSizingFeature.types.ts
│ │ │ │ │ └── columnSizingFeature.utils.ts
│ │ │ │ ├── column-visibility/
│ │ │ │ │ ├── columnVisibilityFeature.ts
│ │ │ │ │ ├── columnVisibilityFeature.types.ts
│ │ │ │ │ └── columnVisibilityFeature.utils.ts
│ │ │ │ ├── global-filtering/
│ │ │ │ │ ├── globalFilteringFeature.ts
│ │ │ │ │ ├── globalFilteringFeature.types.ts
│ │ │ │ │ └── globalFilteringFeature.utils.ts
│ │ │ │ ├── row-expanding/
│ │ │ │ │ ├── createExpandedRowModel.ts
│ │ │ │ │ ├── rowExpandingFeature.ts
│ │ │ │ │ ├── rowExpandingFeature.types.ts
│ │ │ │ │ └── rowExpandingFeature.utils.ts
│ │ │ │ ├── row-pagination/
│ │ │ │ │ ├── createPaginatedRowModel.ts
│ │ │ │ │ ├── rowPaginationFeature.ts
│ │ │ │ │ ├── rowPaginationFeature.types.ts
│ │ │ │ │ └── rowPaginationFeature.utils.ts
│ │ │ │ ├── row-pinning/
│ │ │ │ │ ├── rowPinningFeature.ts
│ │ │ │ │ ├── rowPinningFeature.types.ts
│ │ │ │ │ └── rowPinningFeature.utils.ts
│ │ │ │ ├── row-selection/
│ │ │ │ │ ├── rowSelectionFeature.ts
│ │ │ │ │ ├── rowSelectionFeature.types.ts
│ │ │ │ │ └── rowSelectionFeature.utils.ts
│ │ │ │ ├── row-sorting/
│ │ │ │ │ ├── createSortedRowModel.ts
│ │ │ │ │ ├── rowSortingFeature.ts
│ │ │ │ │ ├── rowSortingFeature.types.ts
│ │ │ │ │ └── rowSortingFeature.utils.ts
│ │ │ │ ├── stockFeatures.ts
│ │ │ │ └── table-reactivity/
│ │ │ │ └── tableReactivityFeature.ts
│ │ │ ├── fns/
│ │ │ │ ├── aggregationFns.ts
│ │ │ │ ├── filterFns.ts
│ │ │ │ └── sortFns.ts
│ │ │ ├── helpers/
│ │ │ │ ├── columnHelper.ts
│ │ │ │ ├── tableFeatures.ts
│ │ │ │ ├── tableHelper.ts
│ │ │ │ └── tableOptions.ts
│ │ │ ├── index.ts
│ │ │ ├── types/
│ │ │ │ ├── Cell.ts
│ │ │ │ ├── Column.ts
│ │ │ │ ├── ColumnDef.ts
│ │ │ │ ├── Header.ts
│ │ │ │ ├── HeaderGroup.ts
│ │ │ │ ├── Row.ts
│ │ │ │ ├── RowModel.ts
│ │ │ │ ├── RowModelFns.ts
│ │ │ │ ├── Table.ts
│ │ │ │ ├── TableFeatures.ts
│ │ │ │ ├── TableOptions.ts
│ │ │ │ ├── TableState.ts
│ │ │ │ └── type-utils.ts
│ │ │ └── utils.ts
│ │ ├── tests/
│ │ │ ├── fixtures/
│ │ │ │ ├── data/
│ │ │ │ │ ├── generateTestColumnDefs.ts
│ │ │ │ │ ├── generateTestData.ts
│ │ │ │ │ └── types.ts
│ │ │ │ └── setup/
│ │ │ │ └── test-setup.ts
│ │ │ ├── helpers/
│ │ │ │ ├── generateTestRows.ts
│ │ │ │ ├── generateTestTable.ts
│ │ │ │ ├── rowPinningHelpers.ts
│ │ │ │ └── testUtils.ts
│ │ │ ├── implementation/
│ │ │ │ └── features/
│ │ │ │ ├── row-pinning/
│ │ │ │ │ └── rowPinningFeature.test.ts
│ │ │ │ └── row-selection/
│ │ │ │ └── rowSelectionFeature.test.ts
│ │ │ ├── performance/
│ │ │ │ └── features/
│ │ │ │ └── column-grouping/
│ │ │ │ └── columnGroupingFeature.test.ts
│ │ │ └── unit/
│ │ │ ├── core/
│ │ │ │ ├── cells/
│ │ │ │ │ └── constructCell.test.ts
│ │ │ │ ├── columns/
│ │ │ │ │ └── constructColumn.test.ts
│ │ │ │ ├── headers/
│ │ │ │ │ └── constructHeader.test.ts
│ │ │ │ ├── rows/
│ │ │ │ │ └── constructRow.test.ts
│ │ │ │ └── table/
│ │ │ │ └── constructTable.test.ts
│ │ │ ├── features/
│ │ │ │ ├── column-ordering/
│ │ │ │ │ └── columnOrderingFeature.utils.test.ts
│ │ │ │ ├── column-pinning/
│ │ │ │ │ └── columnPinningFeature.utils.test.ts
│ │ │ │ ├── column-resizing/
│ │ │ │ │ └── columnResizingFeature.utils.test.ts
│ │ │ │ ├── column-visibility/
│ │ │ │ │ └── columnVisibilityFeature.utils.test.ts
│ │ │ │ └── row-pinning/
│ │ │ │ └── rowPinningFeature.utils.test.ts
│ │ │ ├── fns/
│ │ │ │ └── filterFns.test.ts
│ │ │ └── utils.test.ts
│ │ ├── tsconfig.json
│ │ └── vite.config.ts
│ ├── table-devtools/
│ │ ├── eslint.config.js
│ │ ├── package.json
│ │ ├── src/
│ │ │ ├── TableContextProvider.tsx
│ │ │ ├── TableDevtools.tsx
│ │ │ ├── components/
│ │ │ │ ├── ColumnsPanel.tsx
│ │ │ │ ├── FeaturesPanel.tsx
│ │ │ │ ├── OptionsPanel.tsx
│ │ │ │ ├── ResizableSplit.tsx
│ │ │ │ ├── RowsPanel.tsx
│ │ │ │ ├── Shell.tsx
│ │ │ │ └── StatePanel.tsx
│ │ │ ├── core.tsx
│ │ │ ├── index.ts
│ │ │ ├── production.ts
│ │ │ ├── styles/
│ │ │ │ ├── tokens.ts
│ │ │ │ └── use-styles.ts
│ │ │ ├── tableTarget.ts
│ │ │ └── useTableStore.ts
│ │ ├── tsconfig.json
│ │ └── vite.config.ts
│ └── vue-table/
│ ├── eslint.config.js
│ ├── package.json
│ ├── src/
│ │ ├── FlexRender.ts
│ │ ├── createTableHelper.ts
│ │ ├── index.ts
│ │ ├── merge-proxy.ts
│ │ └── useTable.ts
│ ├── tsconfig.json
│ └── vite.config.ts
├── pnpm-workspace.yaml
├── prettier.config.js
├── scripts/
│ ├── config.js
│ ├── generateDocs.js
│ ├── publish.js
│ ├── types.d.ts
│ └── verify-links.ts
├── tsconfig.json
└── vitest.workspace.mjs
================================================
FILE CONTENTS
================================================
================================================
FILE: .editorconfig
================================================
root = true
[*]
charset = utf-8
indent_style = space
indent_size = 2
end_of_line = lf
insert_final_newline = true
trim_trailing_whitespace = true
================================================
FILE: .gitattributes
================================================
# Auto detect text files and perform LF normalization
* text=auto eol=lf
================================================
FILE: .github/FUNDING.yml
================================================
# These are supported funding model platforms
github: tannerlinsley
================================================
FILE: .github/ISSUE_TEMPLATE/bug_report.yml
================================================
name: '🐛 Bug report'
description: Report a reproducible bug or regression
body:
- type: markdown
attributes:
value: |
Thank you for reporting an issue :pray:.
This issue tracker is for reporting reproducible bugs or regression's found in [react-table](https://github.com/tanstack/table)
If you have a question about how to achieve or implement something and are struggling, please post a question
inside of react-table's [Discussions tab](https://github.com/tanstack/table/discussions) instead of filing an issue.
Before submitting a new bug/issue, please check the links below to see if there is a solution or question posted there already:
- TanStack Table's [Discussions tab](https://github.com/tanstack/table/discussions)
- TanStack Table's [Open Issues](https://github.com/tanstack/table/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc)
- TanStack Table's [Closed Issues](https://github.com/tanstack/table/issues?q=is%3Aissue+sort%3Aupdated-desc+is%3Aclosed)
The more information you fill in, the better the community can help you.
- type: input
id: tanstack-table-version
attributes:
label: TanStack Table version
description: |
- Please let us know the exact version of the TanStack Table framework adapter that you were using when the issue occurred. If you are using an older version, check to see if your bug has already been solved in the latest version. Please don't just put in "latest", as this is subject to change.
- The latest "table-core" version is <img alt="" src="https://badgen.net/npm/v/@tanstack/react-table" />
placeholder: |
e.g. v8.11.6
validations:
required: true
- type: input
id: framework-library-version
attributes:
label: Framework/Library version
description: Which framework and what version of that framework are you using?
placeholder: |
e.g. React v17.0.2
validations:
required: true
- type: textarea
id: description
attributes:
label: Describe the bug and the steps to reproduce it
description: Provide a clear and concise description of the challenge you are running into, and the steps we should take to try to reproduce your bug.
validations:
required: true
- type: input
id: link
attributes:
label: Your Minimal, Reproducible Example - (Sandbox Highly Recommended)
description: |
Please add a link to a minimal reproduction.
Note:
- Your bug may get fixed much faster if we can run your code and it doesn't have dependencies other than React.
- To create a shareable code example for web, you can use CodeSandbox (https://codesandbox.io/s/new) or Stackblitz (https://stackblitz.com/).
- Please make sure the example is complete and runnable without prior dependencies and free of unnecessary abstractions
- Feel free to fork any of the official CodeSandbox examples to reproduce your issue: https://github.com/tanstack/table/tree/main/examples/
- For React Native, you can use: https://snack.expo.dev/
- For TypeScript related issues only, a TypeScript Playground link might be sufficient: https://www.typescriptlang.org/play
- Please read these tips for providing a minimal example: https://stackoverflow.com/help/mcve.
placeholder: |
e.g. Code Sandbox, Stackblitz, TypeScript Playground, etc.
validations:
required: true
- type: textarea
id: screenshots_or_videos
attributes:
label: Screenshots or Videos (Optional)
description: |
If applicable, add screenshots or a video to help explain your problem.
For more information on the supported file image/file types and the file size limits, please refer
to the following link: https://docs.github.com/en/github/writing-on-github/working-with-advanced-formatting/attaching-files
placeholder: |
You can drag your video or image files inside of this editor ↓
- type: dropdown
attributes:
options:
- No, because I do not know how
- No, because I do not have time to dig into it
- Maybe, I'll investigate and start debugging
- Yes, I think I know how to fix it and will discuss it in the comments of this issue
- Yes, I am also opening a PR that solves the problem along side this issue
label: Do you intend to try to help solve this bug with your own PR?
description: |
If you think you know the cause of the problem, the fastest way to get it fixed is to suggest a fix, or fix it yourself! However, it is ok if you cannot solve this yourself and are just wanting help.
- type: checkboxes
id: agrees-to-terms
attributes:
label: Terms & Code of Conduct
description: By submitting this issue, you agree to follow our Code of Conduct and can verify that you have followed the requirements outlined above to the best of your ability.
options:
- label: I agree to follow this project's Code of Conduct
required: true
- label: I understand that if my bug cannot be reliable reproduced in a debuggable environment, it will probably not be fixed and this issue may even be closed.
required: true
================================================
FILE: .github/ISSUE_TEMPLATE/config.yml
================================================
blank_issues_enabled: false
contact_links:
- name: 🤔 Feature Requests & Questions
url: https://github.com/TanStack/table/discussions
about: Please ask and answer questions here.
- name: 💬 Community Chat
url: https://discord.gg/mQd7egN
about: A dedicated discord server hosted by TanStack
- name: 🦋 TanStack Bluesky
url: https://bsky.app/profile/tanstack.com
about: Stay up to date with new releases of our libraries
================================================
FILE: .github/pull_request_template
================================================
## 🎯 Changes
<!-- What changes are made in this PR? Describe the change and its motivation. -->
## ✅ Checklist
- [ ] I have followed the steps in the [Contributing guide](https://github.com/TanStack/table/blob/main/CONTRIBUTING.md).
- [ ] I have tested this code locally with `pnpm test:pr`.
================================================
FILE: .github/workflows/autofix.yml
================================================
name: autofix.ci # needed to securely identify the workflow
on:
pull_request:
push:
branches: [main, alpha, beta, rc]
concurrency:
group: ${{ github.workflow }}-${{ github.event.number || github.ref }}
cancel-in-progress: true
permissions:
contents: read
jobs:
autofix:
name: autofix
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v6.0.1
with:
fetch-depth: 0
- name: Setup Tools
uses: tanstack/config/.github/setup@main
- name: Fix formatting
run: pnpm format
- name: Apply fixes
uses: autofix-ci/action@dd55f44df8f7cdb7a6bf74c78677eb8acd40cd0a
with:
commit-message: 'ci: apply automated fixes'
================================================
FILE: .github/workflows/pr.yml
================================================
name: PR
on:
pull_request:
paths-ignore:
- 'docs/**'
- 'media/**'
- '**/*.md'
concurrency:
group: ${{ github.workflow }}-${{ github.event.number || github.ref }}
cancel-in-progress: true
env:
NX_CLOUD_ACCESS_TOKEN: ${{ secrets.NX_CLOUD_ACCESS_TOKEN }}
permissions:
contents: read
jobs:
test:
name: Test
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v6.0.1
with:
fetch-depth: 0
- name: Start Nx Agents
run: npx nx-cloud start-ci-run --distribute-on=".nx/workflows/dynamic-changesets.yaml"
- name: Setup Tools
uses: tanstack/config/.github/setup@main
- name: Get base and head commits for `nx affected`
uses: nrwl/nx-set-shas@v4.4.0
with:
main-branch-name: main
- name: Run Checks
run: pnpm run test:pr --parallel=3
- name: Stop Nx Agents
if: ${{ always() }}
run: npx nx-cloud stop-all-agents
preview:
name: Preview
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v6.0.1
with:
fetch-depth: 0
- name: Setup Tools
uses: tanstack/config/.github/setup@main
- name: Build Packages
run: pnpm run build:all
- name: Publish Previews
run: pnpx pkg-pr-new publish --pnpm --compact './packages/*' --template './examples/*/*'
================================================
FILE: .github/workflows/release.yml
================================================
name: Release
on:
workflow_dispatch:
inputs:
tag:
description: override release tag
required: false
push:
branches: [main, alpha, beta, rc]
concurrency:
group: ${{ github.workflow }}-${{ github.event.number || github.ref }}
cancel-in-progress: true
env:
NX_CLOUD_ACCESS_TOKEN: ${{ secrets.NX_CLOUD_ACCESS_TOKEN }}
permissions:
contents: write
id-token: write
jobs:
release:
name: Release
if: github.repository_owner == 'TanStack'
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v6.0.1
with:
fetch-depth: 0
- name: Start Nx Agents
run: npx nx-cloud start-ci-run --distribute-on=".nx/workflows/dynamic-changesets.yaml"
- name: Setup Tools
uses: tanstack/config/.github/setup@main
- name: Run Tests
run: pnpm run test:ci --parallel=3
- name: Stop Nx Agents
if: ${{ always() }}
run: npx nx-cloud stop-all-agents
- name: Publish
run: |
git config --global user.name 'Tanner Linsley'
git config --global user.email 'tannerlinsley@users.noreply.github.com'
pnpm run cipublish
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
TAG: ${{ inputs.tag }}
================================================
FILE: .gitignore
================================================
# See https://help.github.com/ignore-files/ for more about ignoring files.
# dependencies
node_modules
package-lock.json
yarn.lock
# builds
build
dist
lib
es
artifacts
.rpt2_cache
coverage
*.tgz
# misc
.DS_Store
.env
.env.local
.env.development.local
.env.test.local
.env.production.local
.next
.svelte-kit
npm-debug.log*
yarn-debug.log*
yarn-error.log*
.history
size-plugin.json
stats-hydration.json
stats-react.json
stats.html
.vscode/settings.json
.idea
*.log
.DS_Store
.cache
.idea
.pnpm-store
package-lock.json
yarn.lock
*.tsbuildinfo
*.tsbuildinfo
.svelte-kit
.nx/cache
.nx/workspace-data
vite.config.js.timestamp-*
vite.config.ts.timestamp-*
.angular
================================================
FILE: .npmrc
================================================
provenance=true
================================================
FILE: .nvmrc
================================================
24.8.0
================================================
FILE: .nx/workflows/dynamic-changesets.yaml
================================================
distribute-on:
small-changeset: 3 linux-medium-js
medium-changeset: 6 linux-medium-js
large-changeset: 10 linux-medium-js
================================================
FILE: .prettierignore
================================================
**/.nx/
**/.nx/cache
**/.svelte-kit
**/build
**/coverage
**/dist
**/docs
**/old-examples
**/examples/**/*.svelte
pnpm-lock.yaml
.angular
================================================
FILE: .vscode/extensions.json
================================================
{
"recommendations": ["dbaeumer.vscode-eslint", "esbenp.prettier-vscode"]
}
================================================
FILE: CODE_OF_CONDUCT.md
================================================
---
title: Code of Conduct
id: code-of-conduct
---
# Contributor Covenant Code of Conduct
## Our Pledge
In the interest of fostering an open and welcoming environment, we as
contributors and maintainers pledge to making participation in our project and
our community a harassment-free experience for everyone, regardless of age, body
size, disability, ethnicity, sex characteristics, gender identity and expression,
level of experience, education, socio-economic status, nationality, personal
appearance, race, religion, or sexual identity and orientation.
## Our Standards
Examples of behavior that contributes to creating a positive environment
include:
- Using welcoming and inclusive language
- Being respectful of differing viewpoints and experiences
- Gracefully accepting constructive criticism
- Focusing on what is best for the community
- Showing empathy towards other community members
Examples of unacceptable behavior by participants include:
- The use of sexualized language or imagery and unwelcome sexual attention or
advances
- Trolling, insulting/derogatory comments, and personal or political attacks
- Public or private harassment
- Publishing others' private information, such as a physical or electronic
address, without explicit permission
- Other conduct which could reasonably be considered inappropriate in a
professional setting
## Our Responsibilities
Project maintainers are responsible for clarifying the standards of acceptable
behavior and are expected to take appropriate and fair corrective action in
response to any instances of unacceptable behavior.
Project maintainers have the right and responsibility to remove, edit, or
reject comments, commits, code, wiki edits, issues, and other contributions
that are not aligned to this Code of Conduct, or to ban temporarily or
permanently any contributor for other behaviors that they deem inappropriate,
threatening, offensive, or harmful.
## Scope
This Code of Conduct applies both within project spaces and in public spaces
when an individual is representing the project or its community. Examples of
representing a project or community include using an official project e-mail
address, posting via an official social media account, or acting as an appointed
representative at an online or offline event. Representation of a project may be
further defined and clarified by project maintainers.
## Enforcement
Instances of abusive, harassing, or otherwise unacceptable behavior may be
reported by contacting the project team at TANNERLINSLEY@GMAIL.COM. All
complaints will be reviewed and investigated and will result in a response that
is deemed necessary and appropriate to the circumstances. The project team is
obligated to maintain confidentiality with regard to the reporter of an incident.
Further details of specific enforcement policies may be posted separately.
Project maintainers who do not follow or enforce the Code of Conduct in good
faith may face temporary or permanent repercussions as determined by other
members of the project's leadership.
## Attribution
This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html
[homepage]: https://www.contributor-covenant.org
For answers to common questions about this code of conduct, see
https://www.contributor-covenant.org/faq
================================================
FILE: CONTRIBUTING.md
================================================
---
title: Contributing
id: contributing
---
# Contributing
## Questions
If you have questions about implementation details, help or support, then please use our dedicated community forum at [Github Discussions](https://github.com/tanstack/table/discussions) **PLEASE NOTE:** If you choose to instead open an issue for your question, your issue will be immediately closed and redirected to the forum.
## Reporting Issues
If you have found what you think is a bug, please [file an issue](https://github.com/tanstack/table/issues/new). **PLEASE NOTE:** Issues that are identified as implementation questions or non-issues will be immediately closed and redirected to [Github Discussions](https://github.com/tanstack/table/discussions)
## Suggesting new features
If you are here to suggest a feature, first create an issue if it does not already exist. From there, we will discuss use-cases for the feature and then finally discuss how it could be implemented.
## Development
Before proceeding with development, ensure you match one of the following criteria:
- Fixing a small bug
- Fixing a larger issue that has been previously discussed and agreed-upon by maintainers
- Adding a new feature that has been previously discussed and agreed-upon by maintainers
## Development Workflow
- Fork this repository, we prefer the `feat-*` branch name style
- Ensure you have `pnpm` installed
- Install projects dependencies and linkages by running `pnpm install`
- Auto-build and auto-test files as you edit by running `pnpm dev`
- Implement your changes and tests
- To run examples, follow their individual directions. Usually this includes:
- cd into the example directory
- Do NOT install dependencies again or do any linking. Nx already handles this for you. Only run install from the project root.
- Starting the dev server with `pnpm dev` or `pnpm start` (from the example directory)
- To test in your own projects:
- Build/watch for changes with `pnpm build`/`pnpm dev`
- Document your changes in the appropriate documentation website markdown pages
- Commit your work and open a pull request
- Submit PR for review
## Adding a new example
- Clone an existing example into the appropriate `examples` directory
- Name it the example name in kebab-case
- Update the new example's package.json to match the new example name and any other details
- Check dependencies for unused packages
- Install any additional packages to the example that you may need
- Update the docs/config.json file to include the new example in the navigation sidebar
- Commit the example eg. `docs: Add example-name`
================================================
FILE: LICENSE
================================================
MIT License
Copyright (c) 2016 Tanner Linsley
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
================================================
FILE: README.md
================================================
<div align="center">
<img src="./media/header_table.png" alt="TanStack Table">
</div>
<br />
<div align="center">
<a href="https://npmjs.com/package/@tanstack/react-table" target="\_parent">
<img alt="npm downloads" src="https://img.shields.io/npm/dm/@tanstack/react-table.svg" />
</a>
<a href="https://github.com/tanstack/table" target="\_parent">
<img alt="github stars" src="https://img.shields.io/github/stars/tanstack/react-table.svg?style=social&label=Star" />
</a>
<a href="https://bundlephobia.com/result?p=@tanstack/react-table@latest" target="\_parent">
<img alt="bundle size" src="https://badgen.net/bundlephobia/minzip/@tanstack/react-table@latest" />
</a>
</div>
<div align="center">
<a href="#badge">
<img alt="semantic-release" src="https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg">
</a>
<a href="https://bestofjs.org/projects/tanstack-table"><img alt="Best of JS" src="https://img.shields.io/endpoint?url=https://bestofjs-serverless.now.sh/api/project-badge?fullName=TanStack%2Ftable%26since=daily" /></a>
<a href="https://twitter.com/tan_stack"><img src="https://img.shields.io/twitter/follow/tan_stack.svg?style=social" alt="Follow @TanStack"/></a>
</div>
### [Become a Sponsor!](https://github.com/sponsors/tannerlinsley/)
</div>
# TanStack Table
> [!NOTE]
> You may know TanStack Table by the adapter names:
>
> - [Angular Table](https://tanstack.com/table/alpha/docs/framework/angular/angular-table)
> - [Lit Table](https://tanstack.com/table/alpha/docs/framework/lit/lit-table)
> - [React Table](https://tanstack.com/table/alpha/docs/framework/react/react-table)
> - [Solid Table](https://tanstack.com/table/alpha/docs/framework/solid/solid-table)
> - [Svelte Table](https://tanstack.com/table/alpha/docs/framework/svelte/svelte-table)
> - [Vue Table](https://tanstack.com/table/alpha/docs/framework/vue/vue-table)
A headless table library for building powerful datagrids with full control over markup, styles, and behavior.
- Framework‑agnostic core with bindings for React, Vue & Solid
- 100% customizable — bring your own UI, components, and styles
- Sorting, filtering, grouping, aggregation & row selection
- Lightweight, virtualizable & server‑side friendly
### <a href="https://tanstack.com/table">Read the Docs →</a>
## Get Involved
- We welcome issues and pull requests!
- Participate in [GitHub discussions](https://github.com/TanStack/table/discussions)
- Chat with the community on [Discord](https://discord.com/invite/WrRKjPJ)
- See [CONTRIBUTING.md](./CONTRIBUTING.md) for setup instructions
## Partners
<table align="center">
<tr>
<td>
<a href="https://www.coderabbit.ai/?via=tanstack&dub_id=aCcEEdAOqqutX6OS">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="https://tanstack.com/assets/coderabbit-dark-CMcuvjEy.svg" height="40" />
<source media="(prefers-color-scheme: light)" srcset="https://tanstack.com/assets/coderabbit-light-DVMJ2jHi.svg" height="40" />
<img src="https://tanstack.com/assets/coderabbit-light-DVMJ2jHi.svg" height="40" alt="CodeRabbit" />
</picture>
</a>
</td>
<td padding="20">
<a href="https://www.cloudflare.com?utm_source=tanstack">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="https://tanstack.com/assets/cloudflare-white-DQDB7UaL.svg" height="60" />
<source media="(prefers-color-scheme: light)" srcset="https://tanstack.com/assets/cloudflare-black-CPufaW0B.svg" height="60" />
<img src="https://tanstack.com/assets/cloudflare-black-CPufaW0B.svg" height="60" alt="Cloudflare" />
</picture>
</a>
</td>
<td>
<a href="https://ag-grid.com/react-data-grid/?utm_source=reacttable&utm_campaign=githubreacttable" style="display: flex; align-items: center; border: none;">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="./media/ag-grid-dark.svg" height="40" />
<source media="(prefers-color-scheme: light)" srcset="./media/ag-grid-light.svg" height="40" />
<img src="https://raw.githubusercontent.com/tannerlinsley/files/master/partners/ag-grid.svg" height="60" alt="AG Grid" />
</picture>
</a>
</td>
</tr>
</table>
<div align="center">
<img src="./media/partner_logo.svg" alt="Table & you?" height="65">
<p>
We're looking for TanStack Table Partners to join our mission! Partner with us to push the boundaries of TanStack Table and build amazing things together.
</p>
<a href="mailto:partners@tanstack.com?subject=TanStack Table Partnership"><b>LET'S CHAT</b></a>
</div>
## Explore the TanStack Ecosystem
- <a href="https://github.com/tanstack/config"><b>TanStack Config</b></a> – Tooling for JS/TS packages
- <a href="https://github.com/tanstack/db"><b>TanStack DB</b></a> – Reactive sync client store
- <a href="https://github.com/tanstack/devtools"><b>TanStack DevTools</b></a> – Unified devtools panel
- <a href="https://github.com/tanstack/form"><b>TanStack Form</b></a> – Type‑safe form state
- <a href="https://github.com/tanstack/pacer"><b>TanStack Pacer</b></a> – Debouncing, throttling, batching <br/>
- <a href="https://github.com/tanstack/query"><b>TanStack Query</b></a> – Async state & caching
- <a href="https://github.com/tanstack/ranger"><b>TanStack Ranger</b></a> – Range & slider primitives
- <a href="https://github.com/tanstack/router"><b>TanStack Router</b></a> – Type‑safe routing, caching & URL state
- <a href="https://github.com/tanstack/router"><b>TanStack Start</b></a> – Full‑stack SSR & streaming
- <a href="https://github.com/tanstack/store"><b>TanStack Store</b></a> – Reactive data store
- <a href="https://github.com/tanstack/virtual"><b>TanStack Virtual</b></a> – Virtualized rendering
… and more at <a href="https://tanstack.com"><b>TanStack.com »</b></a>
<!-- USE THE FORCE LUKE -->
================================================
FILE: docs/config.json
================================================
{
"$schema": "https://raw.githubusercontent.com/TanStack/tanstack.com/main/tanstack-docs-config.schema.json",
"docSearch": {
"appId": "74SF5EKVW9",
"apiKey": "9fc015a3310be6669ed66c6c459f319f",
"indexName": "tanstack-table"
},
"sections": [
{
"label": "Getting Started",
"children": [
{
"label": "Introduction",
"to": "introduction"
},
{
"label": "Overview",
"to": "overview"
},
{
"label": "Installation",
"to": "installation"
},
{
"label": "FAQ",
"to": "faq"
}
],
"frameworks": [
{
"label": "angular",
"children": [
{
"label": "Angular Table Adapter",
"to": "framework/angular/angular-table"
},
{
"label": "Migrating to V9",
"to": "framework/angular/guide/migrating"
},
{
"label": "Rendering components",
"to": "framework/angular/guide/rendering"
},
{
"label": "Table composition",
"to": "framework/angular/guide/table-composition"
}
]
},
{
"label": "lit",
"children": [
{
"label": "Lit Table Adapter",
"to": "framework/lit/lit-table"
}
]
},
{
"label": "react",
"children": [
{
"label": "React Table Adapter",
"to": "framework/react/react-table"
},
{
"label": "createTableHook Guide",
"to": "framework/react/guide/create-table-hook"
},
{
"label": "Migrating to V9",
"to": "framework/react/guide/migrating"
},
{
"label": "useLegacyTable Guide",
"to": "framework/react/guide/use-legacy-table"
}
]
},
{
"label": "preact",
"children": [
{
"label": "createTableHook Guide",
"to": "framework/preact/guide/create-table-hook"
}
]
},
{
"label": "solid",
"children": [
{
"label": "Solid Table Adapter",
"to": "framework/solid/solid-table"
}
]
},
{
"label": "svelte",
"children": [
{
"label": "Svelte Table Adapter",
"to": "framework/svelte/svelte-table"
}
]
},
{
"label": "vue",
"children": [
{
"label": "Vue Table Adapter",
"to": "framework/vue/vue-table"
}
]
},
{
"label": "vanilla",
"children": [
{
"label": "Vanilla JS (No Framework)",
"to": "vanilla"
}
]
}
]
},
{
"label": "Core Guides",
"children": [
{
"label": "Data",
"to": "guide/data"
},
{
"label": "Column Defs",
"to": "guide/column-defs"
},
{
"label": "Table Instance",
"to": "guide/tables"
},
{
"label": "Row Models",
"to": "guide/row-models"
},
{
"label": "Rows",
"to": "guide/rows"
},
{
"label": "Cells",
"to": "guide/cells"
},
{
"label": "Header Groups",
"to": "guide/header-groups"
},
{
"label": "Headers",
"to": "guide/headers"
},
{
"label": "Columns",
"to": "guide/columns"
}
],
"frameworks": [
{
"label": "angular",
"children": [
{
"label": "Table State",
"to": "framework/angular/guide/table-state"
}
]
},
{
"label": "lit",
"children": [
{
"label": "Table State",
"to": "framework/lit/guide/table-state"
}
]
},
{
"label": "react",
"children": [
{
"label": "Table State",
"to": "framework/react/guide/table-state"
}
]
},
{
"label": "solid",
"children": [
{
"label": "Table State",
"to": "framework/solid/guide/table-state"
}
]
},
{
"label": "svelte",
"children": [
{
"label": "Table State",
"to": "framework/svelte/guide/table-state"
}
]
},
{
"label": "vue",
"children": [
{
"label": "Table State",
"to": "framework/vue/guide/table-state"
}
]
},
{
"label": "vanilla",
"children": [
{
"label": "Table State",
"to": "framework/vanilla/guide/table-state"
}
]
}
]
},
{
"label": "Feature Guides",
"children": [
{
"label": "Column Ordering",
"to": "guide/column-ordering"
},
{
"label": "Column Pinning",
"to": "guide/column-pinning"
},
{
"label": "Column Sizing",
"to": "guide/column-sizing"
},
{
"label": "Column Visibility",
"to": "guide/column-visibility"
},
{
"label": "Column Filtering",
"to": "guide/column-filtering"
},
{
"label": "Global Filtering",
"to": "guide/global-filtering"
},
{
"label": "Fuzzy Filtering",
"to": "guide/fuzzy-filtering"
},
{
"label": "Column Faceting",
"to": "guide/column-faceting"
},
{
"label": "Global Faceting",
"to": "guide/global-faceting"
},
{
"label": "Grouping",
"to": "guide/grouping"
},
{
"label": "Expanding",
"to": "guide/expanding"
},
{
"label": "Pagination",
"to": "guide/pagination"
},
{
"label": "Row Pinning",
"to": "guide/row-pinning"
},
{
"label": "Row Selection",
"to": "guide/row-selection"
},
{
"label": "Sorting",
"to": "guide/sorting"
},
{
"label": "Virtualization",
"to": "guide/virtualization"
},
{
"label": "Custom Features",
"to": "guide/custom-features"
}
]
},
{
"label": "API Reference",
"children": [
{
"label": "Core API Reference",
"to": "reference/index"
}
],
"frameworks": [
{
"label": "angular",
"children": [
{
"label": "Angular API Reference",
"to": "framework/angular/reference/index"
}
]
},
{
"label": "react",
"children": [
{
"label": "React API Reference",
"to": "framework/react/reference/index"
}
]
}
]
},
{
"collapsible": true,
"defaultCollapsed": true,
"label": "Table API Reference",
"children": [
{ "label": "Table", "to": "reference/type-aliases/Table" },
{ "label": "Table_Core", "to": "reference/type-aliases/Table_Core" },
{ "label": "Table_CoreProperties", "to": "reference/interfaces/Table_CoreProperties" },
{ "label": "Table_Table", "to": "reference/interfaces/Table_Table" },
{ "label": "Table_Columns", "to": "reference/interfaces/Table_Columns" },
{ "label": "Table_Rows", "to": "reference/interfaces/Table_Rows" },
{ "label": "Table_Headers", "to": "reference/interfaces/Table_Headers" },
{ "label": "Table_Plugins", "to": "reference/interfaces/Table_Plugins" },
{ "label": "TableOptions", "to": "reference/type-aliases/TableOptions" },
{ "label": "TableOptions_All", "to": "reference/type-aliases/TableOptions_All" },
{ "label": "TableOptions_Core", "to": "reference/interfaces/TableOptions_Core" },
{ "label": "TableOptions_Table", "to": "reference/interfaces/TableOptions_Table" },
{ "label": "TableOptions_Columns", "to": "reference/interfaces/TableOptions_Columns" },
{ "label": "TableOptions_Rows", "to": "reference/interfaces/TableOptions_Rows" },
{ "label": "TableOptions_Cell", "to": "reference/interfaces/TableOptions_Cell" },
{ "label": "TableOptions_Plugins", "to": "reference/interfaces/TableOptions_Plugins" },
{ "label": "TableState", "to": "reference/type-aliases/TableState" },
{ "label": "TableState_All", "to": "reference/type-aliases/TableState_All" },
{ "label": "TableState_Plugins", "to": "reference/interfaces/TableState_Plugins" },
{ "label": "TableMeta", "to": "reference/interfaces/TableMeta" },
{ "label": "TableFeature", "to": "reference/interfaces/TableFeature" },
{ "label": "TableFeatures", "to": "reference/interfaces/TableFeatures" },
{ "label": "StockFeatures", "to": "reference/interfaces/StockFeatures" },
{ "label": "CoreFeatures", "to": "reference/interfaces/CoreFeatures" },
{ "label": "constructTable", "to": "reference/functions/constructTable" },
{ "label": "constructTableHelper", "to": "reference/functions/constructTableHelper" },
{ "label": "createTableStore", "to": "reference/functions/createTableStore" },
{ "label": "tableOptions", "to": "reference/functions/tableOptions" },
{ "label": "tableFeatures", "to": "reference/functions/tableFeatures" },
{ "label": "getInitialTableState", "to": "reference/functions/getInitialTableState" },
{ "label": "table_setOptions", "to": "reference/functions/table_setOptions" },
{ "label": "table_mergeOptions", "to": "reference/functions/table_mergeOptions" },
{ "label": "table_reset", "to": "reference/functions/table_reset" },
{ "label": "table_getRowModel", "to": "reference/functions/table_getRowModel" },
{ "label": "table_getRow", "to": "reference/functions/table_getRow" },
{ "label": "table_getRowCount", "to": "reference/functions/table_getRowCount" },
{ "label": "table_getRowId", "to": "reference/functions/table_getRowId" },
{ "label": "TableHelperOptions", "to": "reference/type-aliases/TableHelperOptions" },
{ "label": "TableHelper_Core", "to": "reference/type-aliases/TableHelper_Core" },
{ "label": "OnChangeFn", "to": "reference/type-aliases/OnChangeFn" },
{ "label": "Updater", "to": "reference/type-aliases/Updater" },
{ "label": "DebugOptions", "to": "reference/type-aliases/DebugOptions" }
],
"frameworks": [
{
"label": "react",
"children": [
{ "label": "useTable", "to": "framework/react/reference/index/functions/useTable" },
{ "label": "createTableHook", "to": "framework/react/reference/index/functions/createTableHook" },
{ "label": "ReactTable", "to": "framework/react/reference/index/type-aliases/ReactTable" },
{ "label": "AppReactTable", "to": "framework/react/reference/index/type-aliases/AppReactTable" },
{ "label": "CreateTableHookOptions", "to": "framework/react/reference/index/type-aliases/CreateTableHookOptions" },
{ "label": "Subscribe", "to": "framework/react/reference/index/functions/Subscribe" },
{ "label": "SubscribeProps", "to": "framework/react/reference/index/type-aliases/SubscribeProps" },
{ "label": "FlexRender", "to": "framework/react/reference/index/functions/FlexRender-1" },
{ "label": "flexRender", "to": "framework/react/reference/index/functions/flexRender" },
{ "label": "FlexRenderProps", "to": "framework/react/reference/index/type-aliases/FlexRenderProps" },
{ "label": "Renderable", "to": "framework/react/reference/index/type-aliases/Renderable" },
{ "label": "AppTableComponent", "to": "framework/react/reference/index/interfaces/AppTableComponent" },
{ "label": "AppTablePropsWithSelector", "to": "framework/react/reference/index/interfaces/AppTablePropsWithSelector" },
{ "label": "AppTablePropsWithoutSelector", "to": "framework/react/reference/index/interfaces/AppTablePropsWithoutSelector" }
]
},
{
"label": "angular",
"children": [
{ "label": "injectTable", "to": "framework/angular/reference/functions/injectTable" },
{ "label": "createTableHook", "to": "framework/angular/reference/functions/createTableHook" },
{ "label": "AngularTable", "to": "framework/angular/reference/type-aliases/AngularTable" },
{ "label": "AppAngularTable", "to": "framework/angular/reference/type-aliases/AppAngularTable" },
{ "label": "CreateTableHookResult", "to": "framework/angular/reference/type-aliases/CreateTableHookResult" },
{ "label": "CreateTableContextOptions", "to": "framework/angular/reference/type-aliases/CreateTableContextOptions" },
{ "label": "flexRenderComponent", "to": "framework/angular/reference/functions/flexRenderComponent" },
{ "label": "FlexRenderComponent", "to": "framework/angular/reference/interfaces/FlexRenderComponent" },
{ "label": "FlexRenderContent", "to": "framework/angular/reference/type-aliases/FlexRenderContent" },
{ "label": "FlexRenderInputContent", "to": "framework/angular/reference/type-aliases/FlexRenderInputContent" },
{ "label": "FlexRenderComponentProps", "to": "framework/angular/reference/type-aliases/FlexRenderComponentProps" },
{ "label": "FlexRender", "to": "framework/angular/reference/variables/FlexRender" },
{ "label": "FlexRenderDirective", "to": "framework/angular/reference/classes/FlexRenderDirective" },
{ "label": "FlexRenderCell", "to": "framework/angular/reference/classes/FlexRenderCell" },
{ "label": "TanStackTable", "to": "framework/angular/reference/classes/TanStackTable" },
{ "label": "TanStackTableToken", "to": "framework/angular/reference/variables/TanStackTableToken" },
{ "label": "injectTableContext", "to": "framework/angular/reference/functions/injectTableContext" },
{ "label": "AngularReactivityFlags", "to": "framework/angular/reference/interfaces/AngularReactivityFlags" }
]
}
]
},
{
"collapsible": true,
"defaultCollapsed": true,
"label": "Column API Reference",
"children": [
{ "label": "Column", "to": "reference/type-aliases/Column" },
{ "label": "Column_Core", "to": "reference/interfaces/Column_Core" },
{ "label": "Column_CoreProperties", "to": "reference/interfaces/Column_CoreProperties" },
{ "label": "Column_Column", "to": "reference/interfaces/Column_Column" },
{ "label": "Column_Plugins", "to": "reference/interfaces/Column_Plugins" },
{ "label": "ColumnDef", "to": "reference/type-aliases/ColumnDef" },
{ "label": "ColumnDefBase", "to": "reference/type-aliases/ColumnDefBase" },
{ "label": "AccessorColumnDef", "to": "reference/type-aliases/AccessorColumnDef" },
{ "label": "DisplayColumnDef", "to": "reference/type-aliases/DisplayColumnDef" },
{ "label": "GroupColumnDef", "to": "reference/type-aliases/GroupColumnDef" },
{ "label": "ColumnDefTemplate", "to": "reference/type-aliases/ColumnDefTemplate" },
{ "label": "ColumnHelper", "to": "reference/type-aliases/ColumnHelper" },
{ "label": "ColumnDefaultOptions", "to": "reference/interfaces/ColumnDefaultOptions" },
{ "label": "ColumnMeta", "to": "reference/interfaces/ColumnMeta" },
{ "label": "createColumnHelper", "to": "reference/functions/createColumnHelper" },
{ "label": "constructColumn", "to": "reference/functions/constructColumn" },
{ "label": "column_getFlatColumns", "to": "reference/functions/column_getFlatColumns" },
{ "label": "column_getLeafColumns", "to": "reference/functions/column_getLeafColumns" },
{ "label": "column_getIndex", "to": "reference/functions/column_getIndex" },
{ "label": "column_getIsFirstColumn", "to": "reference/functions/column_getIsFirstColumn" },
{ "label": "column_getIsLastColumn", "to": "reference/functions/column_getIsLastColumn" },
{ "label": "column_getSize", "to": "reference/functions/column_getSize" },
{ "label": "column_getStart", "to": "reference/functions/column_getStart" },
{ "label": "column_getAfter", "to": "reference/functions/column_getAfter" },
{ "label": "AccessorFn", "to": "reference/type-aliases/AccessorFn" },
{ "label": "DeepKeys", "to": "reference/type-aliases/DeepKeys" },
{ "label": "DeepValue", "to": "reference/type-aliases/DeepValue" }
],
"frameworks": [
{
"label": "react",
"children": [
{ "label": "AppColumnHelper", "to": "framework/react/reference/index/type-aliases/AppColumnHelper" }
]
},
{
"label": "angular",
"children": [
{ "label": "AppColumnHelper", "to": "framework/angular/reference/type-aliases/AppColumnHelper" }
]
}
]
},
{
"collapsible": true,
"defaultCollapsed": true,
"label": "Row API Reference",
"children": [
{ "label": "Row", "to": "reference/type-aliases/Row" },
{ "label": "Row_Core", "to": "reference/interfaces/Row_Core" },
{ "label": "Row_CoreProperties", "to": "reference/interfaces/Row_CoreProperties" },
{ "label": "Row_Row", "to": "reference/interfaces/Row_Row" },
{ "label": "Row_Plugins", "to": "reference/interfaces/Row_Plugins" },
{ "label": "RowData", "to": "reference/type-aliases/RowData" },
{ "label": "RowModel", "to": "reference/interfaces/RowModel" },
{ "label": "constructRow", "to": "reference/functions/constructRow" },
{ "label": "row_getValue", "to": "reference/functions/row_getValue" },
{ "label": "row_getUniqueValues", "to": "reference/functions/row_getUniqueValues" },
{ "label": "row_renderValue", "to": "reference/functions/row_renderValue" },
{ "label": "row_getAllCells", "to": "reference/functions/row_getAllCells" },
{ "label": "row_getAllCellsByColumnId", "to": "reference/functions/row_getAllCellsByColumnId" },
{ "label": "row_getVisibleCells", "to": "reference/functions/row_getVisibleCells" },
{ "label": "row_getLeftVisibleCells", "to": "reference/functions/row_getLeftVisibleCells" },
{ "label": "row_getCenterVisibleCells", "to": "reference/functions/row_getCenterVisibleCells" },
{ "label": "row_getRightVisibleCells", "to": "reference/functions/row_getRightVisibleCells" },
{ "label": "row_getAllVisibleCells", "to": "reference/functions/row_getAllVisibleCells" },
{ "label": "row_getLeafRows", "to": "reference/functions/row_getLeafRows" },
{ "label": "row_getParentRow", "to": "reference/functions/row_getParentRow" },
{ "label": "row_getParentRows", "to": "reference/functions/row_getParentRows" },
{ "label": "RowModelFns", "to": "reference/type-aliases/RowModelFns" },
{ "label": "RowModelFns_Core", "to": "reference/interfaces/RowModelFns_Core" },
{ "label": "RowModelFns_Plugins", "to": "reference/interfaces/RowModelFns_Plugins" },
{ "label": "createCoreRowModel", "to": "reference/functions/createCoreRowModel" },
{ "label": "createFilteredRowModel", "to": "reference/functions/createFilteredRowModel" },
{ "label": "createSortedRowModel", "to": "reference/functions/createSortedRowModel" },
{ "label": "createGroupedRowModel", "to": "reference/functions/createGroupedRowModel" },
{ "label": "createExpandedRowModel", "to": "reference/functions/createExpandedRowModel" },
{ "label": "createPaginatedRowModel", "to": "reference/functions/createPaginatedRowModel" },
{ "label": "createFacetedRowModel", "to": "reference/functions/createFacetedRowModel" },
{ "label": "createFacetedMinMaxValues", "to": "reference/functions/createFacetedMinMaxValues" },
{ "label": "createFacetedUniqueValues", "to": "reference/functions/createFacetedUniqueValues" },
{ "label": "Table_RowModels_Core", "to": "reference/interfaces/Table_RowModels_Core" },
{ "label": "Table_RowModels_Filtered", "to": "reference/interfaces/Table_RowModels_Filtered" },
{ "label": "Table_RowModels_Sorted", "to": "reference/interfaces/Table_RowModels_Sorted" },
{ "label": "Table_RowModels_Grouped", "to": "reference/interfaces/Table_RowModels_Grouped" },
{ "label": "Table_RowModels_Expanded", "to": "reference/interfaces/Table_RowModels_Expanded" },
{ "label": "Table_RowModels_Paginated", "to": "reference/interfaces/Table_RowModels_Paginated" },
{ "label": "Table_RowModels_Faceted", "to": "reference/interfaces/Table_RowModels_Faceted" }
]
},
{
"collapsible": true,
"defaultCollapsed": true,
"label": "Cell API Reference",
"children": [
{ "label": "Cell", "to": "reference/type-aliases/Cell" },
{ "label": "Cell_Core", "to": "reference/interfaces/Cell_Core" },
{ "label": "Cell_CoreProperties", "to": "reference/interfaces/Cell_CoreProperties" },
{ "label": "Cell_Cell", "to": "reference/interfaces/Cell_Cell" },
{ "label": "Cell_ColumnGrouping", "to": "reference/interfaces/Cell_ColumnGrouping" },
{ "label": "Cell_Plugins", "to": "reference/interfaces/Cell_Plugins" },
{ "label": "CellContext", "to": "reference/interfaces/CellContext" },
{ "label": "CellData", "to": "reference/type-aliases/CellData" },
{ "label": "constructCell", "to": "reference/functions/constructCell" },
{ "label": "cell_getContext", "to": "reference/functions/cell_getContext" },
{ "label": "cell_getValue", "to": "reference/functions/cell_getValue" },
{ "label": "cell_renderValue", "to": "reference/functions/cell_renderValue" },
{ "label": "cell_getIsGrouped", "to": "reference/functions/cell_getIsGrouped" },
{ "label": "cell_getIsPlaceholder", "to": "reference/functions/cell_getIsPlaceholder" },
{ "label": "cell_getIsAggregated", "to": "reference/functions/cell_getIsAggregated" }
],
"frameworks": [
{
"label": "react",
"children": [
{ "label": "AppCellContext", "to": "framework/react/reference/index/type-aliases/AppCellContext" },
{ "label": "AppCellComponent", "to": "framework/react/reference/index/interfaces/AppCellComponent" },
{ "label": "AppCellPropsWithSelector", "to": "framework/react/reference/index/interfaces/AppCellPropsWithSelector" },
{ "label": "AppCellPropsWithoutSelector", "to": "framework/react/reference/index/interfaces/AppCellPropsWithoutSelector" }
]
},
{
"label": "angular",
"children": [
{ "label": "AppCellContext", "to": "framework/angular/reference/type-aliases/AppCellContext" },
{ "label": "TanStackTableCell", "to": "framework/angular/reference/classes/TanStackTableCell" },
{ "label": "TanStackTableCellToken", "to": "framework/angular/reference/variables/TanStackTableCellToken" },
{ "label": "TanStackTableCellContext", "to": "framework/angular/reference/interfaces/TanStackTableCellContext" },
{ "label": "injectTableCellContext", "to": "framework/angular/reference/functions/injectTableCellContext" }
]
}
]
},
{
"collapsible": true,
"defaultCollapsed": true,
"label": "Header API Reference",
"children": [
{ "label": "Header", "to": "reference/type-aliases/Header" },
{ "label": "Header_Core", "to": "reference/interfaces/Header_Core" },
{ "label": "Header_CoreProperties", "to": "reference/interfaces/Header_CoreProperties" },
{ "label": "Header_Header", "to": "reference/interfaces/Header_Header" },
{ "label": "Header_Plugins", "to": "reference/interfaces/Header_Plugins" },
{ "label": "HeaderGroup", "to": "reference/type-aliases/HeaderGroup" },
{ "label": "HeaderGroup_Core", "to": "reference/interfaces/HeaderGroup_Core" },
{ "label": "HeaderGroup_Header", "to": "reference/interfaces/HeaderGroup_Header" },
{ "label": "HeaderGroup_Plugins", "to": "reference/interfaces/HeaderGroup_Plugins" },
{ "label": "HeaderContext", "to": "reference/interfaces/HeaderContext" },
{ "label": "constructHeader", "to": "reference/functions/constructHeader" },
{ "label": "buildHeaderGroups", "to": "reference/functions/buildHeaderGroups" },
{ "label": "header_getContext", "to": "reference/functions/header_getContext" },
{ "label": "header_getLeafHeaders", "to": "reference/functions/header_getLeafHeaders" },
{ "label": "header_getSize", "to": "reference/functions/header_getSize" },
{ "label": "header_getStart", "to": "reference/functions/header_getStart" },
{ "label": "header_getResizeHandler", "to": "reference/functions/header_getResizeHandler" },
{ "label": "table_getHeaderGroups", "to": "reference/functions/table_getHeaderGroups" },
{ "label": "table_getLeftHeaderGroups", "to": "reference/functions/table_getLeftHeaderGroups" },
{ "label": "table_getCenterHeaderGroups", "to": "reference/functions/table_getCenterHeaderGroups" },
{ "label": "table_getRightHeaderGroups", "to": "reference/functions/table_getRightHeaderGroups" },
{ "label": "table_getFooterGroups", "to": "reference/functions/table_getFooterGroups" },
{ "label": "table_getLeftFooterGroups", "to": "reference/functions/table_getLeftFooterGroups" },
{ "label": "table_getCenterFooterGroups", "to": "reference/functions/table_getCenterFooterGroups" },
{ "label": "table_getRightFooterGroups", "to": "reference/functions/table_getRightFooterGroups" },
{ "label": "table_getFlatHeaders", "to": "reference/functions/table_getFlatHeaders" },
{ "label": "table_getLeftFlatHeaders", "to": "reference/functions/table_getLeftFlatHeaders" },
{ "label": "table_getCenterFlatHeaders", "to": "reference/functions/table_getCenterFlatHeaders" },
{ "label": "table_getRightFlatHeaders", "to": "reference/functions/table_getRightFlatHeaders" },
{ "label": "table_getLeafHeaders", "to": "reference/functions/table_getLeafHeaders" },
{ "label": "table_getLeftLeafHeaders", "to": "reference/functions/table_getLeftLeafHeaders" },
{ "label": "table_getCenterLeafHeaders", "to": "reference/functions/table_getCenterLeafHeaders" },
{ "label": "table_getRightLeafHeaders", "to": "reference/functions/table_getRightLeafHeaders" }
],
"frameworks": [
{
"label": "react",
"children": [
{ "label": "AppHeaderContext", "to": "framework/react/reference/index/type-aliases/AppHeaderContext" },
{ "label": "AppHeaderComponent", "to": "framework/react/reference/index/interfaces/AppHeaderComponent" },
{ "label": "AppHeaderPropsWithSelector", "to": "framework/react/reference/index/interfaces/AppHeaderPropsWithSelector" },
{ "label": "AppHeaderPropsWithoutSelector", "to": "framework/react/reference/index/interfaces/AppHeaderPropsWithoutSelector" }
]
},
{
"label": "angular",
"children": [
{ "label": "AppHeaderContext", "to": "framework/angular/reference/type-aliases/AppHeaderContext" },
{ "label": "TanStackTableHeader", "to": "framework/angular/reference/classes/TanStackTableHeader" },
{ "label": "TanStackTableHeaderToken", "to": "framework/angular/reference/variables/TanStackTableHeaderToken" },
{ "label": "TanStackTableHeaderContext", "to": "framework/angular/reference/interfaces/TanStackTableHeaderContext" },
{ "label": "injectTableHeaderContext", "to": "framework/angular/reference/functions/injectTableHeaderContext" },
{ "label": "injectFlexRenderContext", "to": "framework/angular/reference/functions/injectFlexRenderContext" }
]
}
]
},
{
"collapsible": true,
"defaultCollapsed": true,
"label": "Features API Reference",
"children": [
{ "label": "stockFeatures", "to": "reference/variables/stockFeatures" },
{ "label": "coreFeatures", "to": "reference/variables/coreFeatures" },
{ "label": "coreCellsFeature", "to": "reference/variables/coreCellsFeature" },
{ "label": "coreColumnsFeature", "to": "reference/variables/coreColumnsFeature" },
{ "label": "coreHeadersFeature", "to": "reference/variables/coreHeadersFeature" },
{ "label": "coreRowModelsFeature", "to": "reference/variables/coreRowModelsFeature" },
{ "label": "coreRowsFeature", "to": "reference/variables/coreRowsFeature" },
{ "label": "coreTablesFeature", "to": "reference/variables/coreTablesFeature" },
{ "label": "columnFilteringFeature", "to": "reference/variables/columnFilteringFeature" },
{ "label": "columnFacetingFeature", "to": "reference/variables/columnFacetingFeature" },
{ "label": "columnGroupingFeature", "to": "reference/variables/columnGroupingFeature" },
{ "label": "columnOrderingFeature", "to": "reference/variables/columnOrderingFeature" },
{ "label": "columnPinningFeature", "to": "reference/variables/columnPinningFeature" },
{ "label": "columnResizingFeature", "to": "reference/variables/columnResizingFeature" },
{ "label": "columnSizingFeature", "to": "reference/variables/columnSizingFeature" },
{ "label": "columnVisibilityFeature", "to": "reference/variables/columnVisibilityFeature" },
{ "label": "globalFilteringFeature", "to": "reference/variables/globalFilteringFeature" },
{ "label": "rowExpandingFeature", "to": "reference/variables/rowExpandingFeature" },
{ "label": "rowPaginationFeature", "to": "reference/variables/rowPaginationFeature" },
{ "label": "rowPinningFeature", "to": "reference/variables/rowPinningFeature" },
{ "label": "rowSelectionFeature", "to": "reference/variables/rowSelectionFeature" },
{ "label": "rowSortingFeature", "to": "reference/variables/rowSortingFeature" },
{ "label": "Column_ColumnFiltering", "to": "reference/interfaces/Column_ColumnFiltering" },
{ "label": "Column_ColumnFaceting", "to": "reference/interfaces/Column_ColumnFaceting" },
{ "label": "Column_ColumnGrouping", "to": "reference/interfaces/Column_ColumnGrouping" },
{ "label": "Column_ColumnOrdering", "to": "reference/interfaces/Column_ColumnOrdering" },
{ "label": "Column_ColumnPinning", "to": "reference/interfaces/Column_ColumnPinning" },
{ "label": "Column_ColumnResizing", "to": "reference/interfaces/Column_ColumnResizing" },
{ "label": "Column_ColumnSizing", "to": "reference/interfaces/Column_ColumnSizing" },
{ "label": "Column_ColumnVisibility", "to": "reference/interfaces/Column_ColumnVisibility" },
{ "label": "Column_GlobalFiltering", "to": "reference/interfaces/Column_GlobalFiltering" },
{ "label": "Column_RowSorting", "to": "reference/interfaces/Column_RowSorting" },
{ "label": "Table_ColumnFiltering", "to": "reference/interfaces/Table_ColumnFiltering" },
{ "label": "Table_ColumnFaceting", "to": "reference/interfaces/Table_ColumnFaceting" },
{ "label": "Table_ColumnGrouping", "to": "reference/interfaces/Table_ColumnGrouping" },
{ "label": "Table_ColumnOrdering", "to": "reference/interfaces/Table_ColumnOrdering" },
{ "label": "Table_ColumnPinning", "to": "reference/interfaces/Table_ColumnPinning" },
{ "label": "Table_ColumnResizing", "to": "reference/interfaces/Table_ColumnResizing" },
{ "label": "Table_ColumnSizing", "to": "reference/interfaces/Table_ColumnSizing" },
{ "label": "Table_ColumnVisibility", "to": "reference/interfaces/Table_ColumnVisibility" },
{ "label": "Table_GlobalFiltering", "to": "reference/interfaces/Table_GlobalFiltering" },
{ "label": "Table_RowExpanding", "to": "reference/interfaces/Table_RowExpanding" },
{ "label": "Table_RowPagination", "to": "reference/interfaces/Table_RowPagination" },
{ "label": "Table_RowPinning", "to": "reference/interfaces/Table_RowPinning" },
{ "label": "Table_RowSelection", "to": "reference/interfaces/Table_RowSelection" },
{ "label": "Table_RowSorting", "to": "reference/interfaces/Table_RowSorting" },
{ "label": "Row_ColumnFiltering", "to": "reference/interfaces/Row_ColumnFiltering" },
{ "label": "Row_ColumnGrouping", "to": "reference/interfaces/Row_ColumnGrouping" },
{ "label": "Row_ColumnPinning", "to": "reference/interfaces/Row_ColumnPinning" },
{ "label": "Row_ColumnVisibility", "to": "reference/interfaces/Row_ColumnVisibility" },
{ "label": "Row_RowExpanding", "to": "reference/interfaces/Row_RowExpanding" },
{ "label": "Row_RowPinning", "to": "reference/interfaces/Row_RowPinning" },
{ "label": "Row_RowSelection", "to": "reference/interfaces/Row_RowSelection" },
{ "label": "Header_ColumnResizing", "to": "reference/interfaces/Header_ColumnResizing" },
{ "label": "Header_ColumnSizing", "to": "reference/interfaces/Header_ColumnSizing" },
{ "label": "TableOptions_ColumnFiltering", "to": "reference/interfaces/TableOptions_ColumnFiltering" },
{ "label": "TableOptions_ColumnGrouping", "to": "reference/interfaces/TableOptions_ColumnGrouping" },
{ "label": "TableOptions_ColumnOrdering", "to": "reference/interfaces/TableOptions_ColumnOrdering" },
{ "label": "TableOptions_ColumnPinning", "to": "reference/interfaces/TableOptions_ColumnPinning" },
{ "label": "TableOptions_ColumnResizing", "to": "reference/interfaces/TableOptions_ColumnResizing" },
{ "label": "TableOptions_ColumnSizing", "to": "reference/interfaces/TableOptions_ColumnSizing" },
{ "label": "TableOptions_ColumnVisibility", "to": "reference/interfaces/TableOptions_ColumnVisibility" },
{ "label": "TableOptions_GlobalFiltering", "to": "reference/interfaces/TableOptions_GlobalFiltering" },
{ "label": "TableOptions_RowExpanding", "to": "reference/interfaces/TableOptions_RowExpanding" },
{ "label": "TableOptions_RowPagination", "to": "reference/interfaces/TableOptions_RowPagination" },
{ "label": "TableOptions_RowPinning", "to": "reference/interfaces/TableOptions_RowPinning" },
{ "label": "TableOptions_RowSelection", "to": "reference/interfaces/TableOptions_RowSelection" },
{ "label": "TableOptions_RowSorting", "to": "reference/interfaces/TableOptions_RowSorting" },
{ "label": "TableState_ColumnFiltering", "to": "reference/interfaces/TableState_ColumnFiltering" },
{ "label": "TableState_ColumnGrouping", "to": "reference/interfaces/TableState_ColumnGrouping" },
{ "label": "TableState_ColumnOrdering", "to": "reference/interfaces/TableState_ColumnOrdering" },
{ "label": "TableState_ColumnPinning", "to": "reference/interfaces/TableState_ColumnPinning" },
{ "label": "TableState_ColumnResizing", "to": "reference/interfaces/TableState_ColumnResizing" },
{ "label": "TableState_ColumnSizing", "to": "reference/interfaces/TableState_ColumnSizing" },
{ "label": "TableState_ColumnVisibility", "to": "reference/interfaces/TableState_ColumnVisibility" },
{ "label": "TableState_GlobalFiltering", "to": "reference/interfaces/TableState_GlobalFiltering" },
{ "label": "TableState_RowExpanding", "to": "reference/interfaces/TableState_RowExpanding" },
{ "label": "TableState_RowPagination", "to": "reference/interfaces/TableState_RowPagination" },
{ "label": "TableState_RowPinning", "to": "reference/interfaces/TableState_RowPinning" },
{ "label": "TableState_RowSelection", "to": "reference/interfaces/TableState_RowSelection" },
{ "label": "TableState_RowSorting", "to": "reference/interfaces/TableState_RowSorting" },
{ "label": "ColumnDef_ColumnFiltering", "to": "reference/interfaces/ColumnDef_ColumnFiltering" },
{ "label": "ColumnDef_ColumnGrouping", "to": "reference/interfaces/ColumnDef_ColumnGrouping" },
{ "label": "ColumnDef_ColumnPinning", "to": "reference/interfaces/ColumnDef_ColumnPinning" },
{ "label": "ColumnDef_ColumnResizing", "to": "reference/interfaces/ColumnDef_ColumnResizing" },
{ "label": "ColumnDef_ColumnSizing", "to": "reference/interfaces/ColumnDef_ColumnSizing" },
{ "label": "ColumnDef_ColumnVisibility", "to": "reference/interfaces/ColumnDef_ColumnVisibility" },
{ "label": "ColumnDef_GlobalFiltering", "to": "reference/interfaces/ColumnDef_GlobalFiltering" },
{ "label": "ColumnDef_RowSorting", "to": "reference/interfaces/ColumnDef_RowSorting" },
{ "label": "ColumnDef_Plugins", "to": "reference/interfaces/ColumnDef_Plugins" },
{ "label": "ColumnPinningState", "to": "reference/interfaces/ColumnPinningState" },
{ "label": "ColumnSort", "to": "reference/interfaces/ColumnSort" },
{ "label": "ColumnFilter", "to": "reference/interfaces/ColumnFilter" },
{ "label": "PaginationState", "to": "reference/interfaces/PaginationState" },
{ "label": "RowPinningState", "to": "reference/interfaces/RowPinningState" },
{ "label": "columnResizingState", "to": "reference/interfaces/columnResizingState" },
{ "label": "ColumnFiltersState", "to": "reference/type-aliases/ColumnFiltersState" },
{ "label": "ColumnOrderState", "to": "reference/type-aliases/ColumnOrderState" },
{ "label": "ColumnSizingState", "to": "reference/type-aliases/ColumnSizingState" },
{ "label": "ColumnVisibilityState", "to": "reference/type-aliases/ColumnVisibilityState" },
{ "label": "ExpandedState", "to": "reference/type-aliases/ExpandedState" },
{ "label": "GroupingState", "to": "reference/type-aliases/GroupingState" },
{ "label": "RowSelectionState", "to": "reference/type-aliases/RowSelectionState" },
{ "label": "SortingState", "to": "reference/type-aliases/SortingState" },
{ "label": "FilterFn", "to": "reference/interfaces/FilterFn" },
{ "label": "FilterFns", "to": "reference/interfaces/FilterFns" },
{ "label": "FilterMeta", "to": "reference/interfaces/FilterMeta" },
{ "label": "SortFn", "to": "reference/interfaces/SortFn" },
{ "label": "SortFns", "to": "reference/interfaces/SortFns" },
{ "label": "AggregationFns", "to": "reference/interfaces/AggregationFns" },
{ "label": "filterFns", "to": "reference/variables/filterFns" },
{ "label": "sortFns", "to": "reference/variables/sortFns" },
{ "label": "aggregationFns", "to": "reference/variables/aggregationFns" }
]
},
{
"collapsible": true,
"defaultCollapsed": true,
"label": "Legacy API Reference",
"children": [],
"frameworks": [
{
"label": "react",
"children": [
{ "label": "Legacy API Overview", "to": "framework/react/reference/legacy/index" },
{ "label": "useLegacyTable", "to": "framework/react/reference/legacy/functions/useLegacyTable" },
{ "label": "legacyCreateColumnHelper", "to": "framework/react/reference/legacy/functions/legacyCreateColumnHelper" },
{ "label": "getCoreRowModel", "to": "framework/react/reference/legacy/functions/getCoreRowModel" },
{ "label": "getFilteredRowModel", "to": "framework/react/reference/legacy/functions/getFilteredRowModel" },
{ "label": "getSortedRowModel", "to": "framework/react/reference/legacy/functions/getSortedRowModel" },
{ "label": "getGroupedRowModel", "to": "framework/react/reference/legacy/functions/getGroupedRowModel" },
{ "label": "getExpandedRowModel", "to": "framework/react/reference/legacy/functions/getExpandedRowModel" },
{ "label": "getPaginationRowModel", "to": "framework/react/reference/legacy/functions/getPaginationRowModel" },
{ "label": "getFacetedRowModel", "to": "framework/react/reference/legacy/functions/getFacetedRowModel" },
{ "label": "getFacetedMinMaxValues", "to": "framework/react/reference/legacy/functions/getFacetedMinMaxValues" },
{ "label": "getFacetedUniqueValues", "to": "framework/react/reference/legacy/functions/getFacetedUniqueValues" },
{ "label": "LegacyRowModelOptions", "to": "framework/react/reference/legacy/interfaces/LegacyRowModelOptions" },
{ "label": "LegacyTable", "to": "framework/react/reference/legacy/type-aliases/LegacyTable" },
{ "label": "LegacyTableOptions", "to": "framework/react/reference/legacy/type-aliases/LegacyTableOptions" },
{ "label": "LegacyReactTable", "to": "framework/react/reference/legacy/type-aliases/LegacyReactTable" },
{ "label": "LegacyColumnDef", "to": "framework/react/reference/legacy/type-aliases/LegacyColumnDef" },
{ "label": "LegacyColumn", "to": "framework/react/reference/legacy/type-aliases/LegacyColumn" },
{ "label": "LegacyRow", "to": "framework/react/reference/legacy/type-aliases/LegacyRow" },
{ "label": "LegacyCell", "to": "framework/react/reference/legacy/type-aliases/LegacyCell" },
{ "label": "LegacyHeader", "to": "framework/react/reference/legacy/type-aliases/LegacyHeader" },
{ "label": "LegacyHeaderGroup", "to": "framework/react/reference/legacy/type-aliases/LegacyHeaderGroup" }
]
}
]
},
{
"label": "Enterprise",
"children": [
{
"label": "AG Grid",
"to": "enterprise/ag-grid"
}
]
},
{
"label": "Basic Examples",
"children": [],
"frameworks": [
{
"label": "angular",
"children": [
{ "to": "framework/angular/examples/basic", "label": "Basic" },
{ "to": "framework/angular/examples/basic-app-table", "label": "Basic (App Table)" }
]
},
{
"label": "lit",
"children": [
{ "to": "framework/lit/examples/basic", "label": "Basic" }
]
},
{
"label": "react",
"children": [
{ "to": "framework/react/examples/basic-use-table", "label": "Basic (useTable)" },
{ "to": "framework/react/examples/basic-use-app-table", "label": "Basic (useAppTable)" },
{ "to": "framework/react/examples/basic-use-legacy-table", "label": "Basic (useLegacyTable)" },
{ "to": "framework/react/examples/basic-external-state", "label": "Basic (External State)" },
{ "to": "framework/react/examples/basic-external-store", "label": "Basic (External Store)" },
{ "to": "framework/react/examples/basic-shadcn", "label": "Shadcn Basic" },
{ "to": "framework/react/examples/column-groups", "label": "Header Groups" }
]
},
{
"label": "solid",
"children": [
{ "to": "framework/solid/examples/basic-use-table", "label": "Basic (createTable)" },
{ "to": "framework/solid/examples/basic-app-table", "label": "Basic (createAppTable)" },
{ "to": "framework/solid/examples/basic-external-state", "label": "Basic (External State)" },
{ "to": "framework/solid/examples/basic-external-store", "label": "Basic (External Store)" },
{ "to": "framework/solid/examples/column-groups", "label": "Header Groups" }
]
},
{
"label": "svelte",
"children": [
{ "to": "framework/svelte/examples/basic", "label": "Basic" },
{ "to": "framework/svelte/examples/basic-snippets", "label": "Basic Snippets" },
{ "to": "framework/svelte/examples/basic-table-helper", "label": "Basic with Helpers" },
{ "to": "framework/svelte/examples/column-groups", "label": "Header Groups" }
]
},
{
"label": "vue",
"children": [
{ "to": "framework/vue/examples/basic", "label": "Basic" }
]
},
{
"label": "preact",
"children": [
{ "to": "framework/preact/examples/basic", "label": "Basic" }
]
},
{
"label": "vanilla",
"children": [
{ "to": "framework/vanilla/examples/basic", "label": "Basic" }
]
}
]
},
{
"label": "Feature Examples",
"children": [],
"frameworks": [
{
"label": "angular",
"children": [
{ "to": "framework/angular/examples/filters", "label": "Column Filters" },
{ "to": "framework/angular/examples/column-ordering", "label": "Column Ordering" },
{ "to": "framework/angular/examples/column-pinning", "label": "Column Pinning" },
{ "to": "framework/angular/examples/column-pinning-sticky", "label": "Column Pinning (Sticky)" },
{ "to": "framework/angular/examples/column-resizing-performant", "label": "Column Resizing" },
{ "to": "framework/angular/examples/column-visibility", "label": "Column Visibility" },
{ "to": "framework/angular/examples/expanding", "label": "Row Expanding" },
{ "to": "framework/angular/examples/grouping", "label": "Column Grouping" },
{ "to": "framework/angular/examples/row-selection", "label": "Row Selection" },
{ "to": "framework/angular/examples/row-selection-signal", "label": "Row Selection (Signal)" }
]
},
{
"label": "lit",
"children": [
{ "to": "framework/lit/examples/column-sizing", "label": "Column Sizing" },
{ "to": "framework/lit/examples/filters", "label": "Filters" },
{ "to": "framework/lit/examples/row-selection", "label": "Row Selection" },
{ "to": "framework/lit/examples/sorting", "label": "Sorting" },
{ "to": "framework/lit/examples/sorting-dynamic-data", "label": "Sorting (Dynamic Data)" }
]
},
{
"label": "react",
"children": [
{ "to": "framework/react/examples/filters", "label": "Column Filters" },
{ "to": "framework/react/examples/filters-faceted", "label": "Column Filters (Faceted)" },
{ "to": "framework/react/examples/filters-fuzzy", "label": "Fuzzy Search Filters" },
{ "to": "framework/react/examples/column-ordering", "label": "Column Ordering" },
{ "to": "framework/react/examples/column-dnd", "label": "Column Ordering (DnD)" },
{ "to": "framework/react/examples/column-pinning", "label": "Column Pinning" },
{ "to": "framework/react/examples/column-pinning-split", "label": "Column Pinning (Split)" },
{ "to": "framework/react/examples/column-pinning-sticky", "label": "Sticky Column Pinning" },
{ "to": "framework/react/examples/column-sizing", "label": "Column Sizing" },
{ "to": "framework/react/examples/column-resizing", "label": "Column Resizing" },
{ "to": "framework/react/examples/column-resizing-performant", "label": "Performant Column Resizing" },
{ "to": "framework/react/examples/column-visibility", "label": "Column Visibility" },
{ "to": "framework/react/examples/expanding", "label": "Expanding" },
{ "to": "framework/react/examples/grouping", "label": "Grouping" },
{ "to": "framework/react/examples/pagination", "label": "Pagination" },
{ "to": "framework/react/examples/row-dnd", "label": "Row DnD" },
{ "to": "framework/react/examples/row-pinning", "label": "Row Pinning" },
{ "to": "framework/react/examples/row-selection", "label": "Row Selection" },
{ "to": "framework/react/examples/sorting", "label": "Sorting" }
]
},
{
"label": "solid",
"children": [
{ "to": "framework/solid/examples/column-ordering", "label": "Column Ordering" },
{ "to": "framework/solid/examples/column-visibility", "label": "Column Visibility" },
{ "to": "framework/solid/examples/filters", "label": "Filters" },
{ "to": "framework/solid/examples/filters-faceted", "label": "Filters (Faceted)" },
{ "to": "framework/solid/examples/row-selection", "label": "Row Selection" },
{ "to": "framework/solid/examples/sorting", "label": "Sorting" }
]
},
{
"label": "svelte",
"children": [
{ "to": "framework/svelte/examples/column-ordering", "label": "Column Ordering" },
{ "to": "framework/svelte/examples/column-pinning", "label": "Column Pinning" },
{ "to": "framework/svelte/examples/column-visibility", "label": "Column Visibility" },
{ "to": "framework/svelte/examples/filtering", "label": "Filtering" },
{ "to": "framework/svelte/examples/row-selection", "label": "Row Selection" },
{ "to": "framework/svelte/examples/sorting", "label": "Sorting" }
]
},
{
"label": "vue",
"children": [
{ "to": "framework/vue/examples/column-ordering", "label": "Column Ordering" },
{ "to": "framework/vue/examples/column-pinning", "label": "Column Pinning" },
{ "to": "framework/vue/examples/pagination", "label": "Pagination" },
{ "to": "framework/vue/examples/pagination-controlled", "label": "Pagination Controlled" },
{ "to": "framework/vue/examples/row-selection", "label": "Row Selection" },
{ "to": "framework/vue/examples/sorting", "label": "Sorting" },
{ "to": "framework/vue/examples/filters", "label": "Column Filters" }
]
},
{
"label": "preact",
"children": [
{ "to": "framework/preact/examples/sorting", "label": "Sorting" }
]
},
{
"label": "vanilla",
"children": [
{ "to": "framework/vanilla/examples/pagination", "label": "Pagination" },
{ "to": "framework/vanilla/examples/sorting", "label": "Sorting" }
]
}
]
},
{
"label": "Specialized Examples",
"children": [],
"frameworks": [
{
"label": "angular",
"children": [
{ "to": "framework/angular/examples/composable-tables", "label": "Composable Tables" },
{ "to": "framework/angular/examples/custom-plugin", "label": "Custom Plugin" },
{ "to": "framework/angular/examples/sub-components", "label": "Sub Components" },
{ "to": "framework/angular/examples/remote-data", "label": "Fetch API data (SPA / SSR)" },
{ "to": "framework/angular/examples/signal-input", "label": "Signal Input" },
{ "to": "framework/angular/examples/editable", "label": "Editable data" },
{ "to": "framework/angular/examples/row-dnd", "label": "Row Drag & Drop" }
]
},
{
"label": "lit",
"children": [
{ "to": "framework/lit/examples/virtualized-rows", "label": "With TanStack Virtual - Rows" }
]
},
{
"label": "react",
"children": [
{ "to": "framework/react/examples/composable-tables", "label": "Composable Tables" },
{ "to": "framework/react/examples/custom-plugin", "label": "Custom Plugin" },
{ "to": "framework/react/examples/sub-components", "label": "Sub Components" },
{ "to": "framework/react/examples/virtualized-columns", "label": "With TanStack Virtual - Columns" },
{ "to": "framework/react/examples/virtualized-columns-experimental", "label": "With TanStack Virtual - Columns (Exp)" },
{ "to": "framework/react/examples/virtualized-rows", "label": "With TanStack Virtual - Rows" },
{ "to": "framework/react/examples/virtualized-rows-experimental", "label": "With TanStack Virtual - Rows (Exp)" },
{ "to": "framework/react/examples/virtualized-infinite-scrolling", "label": "With TanStack Virtual - Infinite Scrolling" },
{ "to": "framework/react/examples/with-tanstack-form", "label": "With TanStack Form" },
{ "to": "framework/react/examples/with-tanstack-query", "label": "With TanStack Query" },
{ "to": "framework/react/examples/with-tanstack-router", "label": "With TanStack Router" }
]
},
{
"label": "solid",
"children": [
{ "to": "framework/solid/examples/bootstrap", "label": "Solid Bootstrap" },
{ "to": "framework/solid/examples/composable-tables", "label": "Composable Tables" },
{ "to": "framework/solid/examples/with-tanstack-query", "label": "With TanStack Query" }]
},
{
"label": "vue",
"children": [
{ "to": "framework/vue/examples/sub-components", "label": "Sub Components" },
{ "to": "framework/vue/examples/virtualized-rows", "label": "With TanStack Virtual (Rows)" }
]
}
]
},
{
"label": "Kitchen Sink",
"children": [],
"frameworks": [
{
"label": "react",
"children": [
{ "to": "framework/react/examples/kitchen-sink-shadcn", "label": "Kitchen Sink (Shadcn)" }
]
}
]
}
]
}
================================================
FILE: docs/enterprise/ag-grid.md
================================================
---
title: AG Grid - An alternative enterprise data-grid solution
---
<p>
<a href="https://ag-grid.com/react-data-grid/?utm_source=reacttable&utm_campaign=githubreacttable">
<img src="https://blog.ag-grid.com/content/images/2021/02/new-logo-1.png" style={{ width:400 }} />
</a>
</p>
While we clearly love TanStack Table, we acknowledge that it is not a "batteries" included product packed with customer support and enterprise polish. We realize that some of our users may need this though! To help out here, we want to introduce you to AG Grid, an enterprise-grade data grid solution that can supercharge your applications with its extensive feature set and robust performance. While TanStack Table is also a powerful option for implementing data grids, we believe in providing our users with a diverse range of choices that best fit their specific requirements. AG Grid is one such choice, and we're excited to highlight its capabilities for you.
## Why Choose [AG Grid](https://ag-grid.com/react-data-grid/?utm_source=reacttable&utm_campaign=githubreacttable)?
Here are some good reasons to consider AG Grid for your next project:
### Comprehensive Feature Set
AG Grid offers an extensive set of features, making it a versatile and powerful data grid solution. With AG Grid, you get access to a wide range of functionalities that cater to the needs of complex enterprise applications. From advanced sorting, filtering, and grouping capabilities to column pinning, multi-level headers, and tree data structure support, AG Grid provides you with the tools to create dynamic and interactive data grids that meet your application's unique demands.
### High Performance
When it comes to handling large datasets and achieving exceptional performance, AG Grid delivers outstanding results. It employs highly optimized rendering techniques, efficient data updates, and virtualization to ensure smooth scrolling and fast response times, even when dealing with thousands or millions of rows of data. AG Grid's performance optimizations make it an excellent choice for applications that require high-speed data manipulation and visualization.
### Customization and Extensibility
AG Grid is designed to be highly customizable and extensible, allowing you to tailor the grid to your specific needs. It provides a rich set of APIs and events that enable you to integrate custom functionality seamlessly. You can define custom cell renderers, editors, filters, and aggregators to enhance the grid's behavior and appearance. AG Grid also supports a variety of themes, allowing you to match the grid's visual style to your application's design.
### Support for Enterprise Needs
As an enterprise-focused solution, AG Grid caters to the requirements of complex business applications. It offers enterprise-specific features such as row grouping, column pinning, server-side row model, master/detail grids, and rich editing capabilities. AG Grid also integrates well with other enterprise frameworks and libraries, making it a reliable choice for large-scale projects.
### Active Development and Community Support
AG Grid benefits from active development and a thriving community of developers. The team behind AG Grid consistently introduces new features and enhancements, ensuring that the product evolves to meet the changing needs of the industry. The community support is robust, with forums, documentation, and examples readily available to assist you in utilizing the full potential of AG Grid.
## Conclusion
While TanStack Table remains a powerful and flexible option for implementing data grids, we understand that different projects have different requirements. AG Grid offers a compelling enterprise-grade solution that may be particularly suited to your needs. Its comprehensive feature set, high performance, customization options, and focus on enterprise requirements make AG Grid an excellent choice for projects that demand a robust and scalable data grid solution.
We encourage you to explore AG Grid further by visiting their website and trying out their demo. Remember that both TanStack Table and AG Grid have their unique strengths and considerations. We believe in providing options to our users, empowering you to make informed decisions and choose the best fit for your specific use case.
Visit the [AG Grid website](https://www.ag-grid.com).
================================================
FILE: docs/faq.md
================================================
---
title: FAQ
---
## How do I stop infinite rendering loops?
If you are using React, there is a very common pitfall that can cause infinite rendering. If you fail to give your `columns`, `data`, or `state` a stable reference, React will enter an infinite loop of re-rendering upon any change to the table state.
Why does this happen? Is this a bug in TanStack Table? **No**, it is not. *This is fundamentally how React works*, and properly managing your columns, data, and state will prevent this from happening.
TanStack Table is designed to trigger a re-render whenever either the `data` or `columns` that are passed into the table change, or whenever any of the table's state changes.
> Failing to give `columns` or `data` stable references can cause an infinite loop of re-renders.
### Pitfall 1: Creating new columns or data on every render
```js
export default function MyComponent() {
//😵 BAD: This will cause an infinite loop of re-renders because `columns` is redefined as a new array on every render!
const columns = [
// ...
];
//😵 BAD: This will cause an infinite loop of re-renders because `data` is redefined as a new array on every render!
const data = [
// ...
];
//❌ Columns and data are defined in the same scope as `useTable` without a stable reference, will cause infinite loop!
const table = useTable({
columns,
data,
});
return <table>...</table>;
}
```
### Solution 1: Stable references with useMemo or useState
In React, you can give a "stable" reference to variables by defining them outside/above the component, or by using `useMemo` or `useState`, or by using a 3rd party state management library (like Redux or React Query 😉)
```js
//✅ OK: Define columns outside of the component
const columns = [
// ...
];
//✅ OK: Define data outside of the component
const data = [
// ...
];
// Usually it's more practical to define columns and data inside the component, so use `useMemo` or `useState` to give them stable references
export default function MyComponent() {
//✅ GOOD: This will not cause an infinite loop of re-renders because `columns` is a stable reference
const columns = useMemo(() => [
// ...
], []);
//✅ GOOD: This will not cause an infinite loop of re-renders because `data` is a stable reference
const [data, setData] = useState(() => [
// ...
]);
// Columns and data are defined in a stable reference, will not cause infinite loop!
const table = useTable({
columns,
data,
});
return <table>...</table>;
}
```
### Pitfall 2: Mutating columns or data in place
Even if you give your initial `columns` and `data` stable references, you can still run into infinite loops if you mutate them in place. This is a common pitfall that you may not notice that you are doing at first. Something as simple as an inline `data.filter()` can cause an infinite loop if you are not careful.
```js
export default function MyComponent() {
//✅ GOOD
const columns = useMemo(() => [
// ...
], []);
//✅ GOOD (React Query provides stable references to data automatically)
const { data, isLoading } = useQuery({
//...
});
const table = useTable({
columns,
//❌ BAD: This will cause an infinite loop of re-renders because `data` is mutated in place (destroys stable reference)
data: data?.filter(d => d.isActive) ?? [],
});
return <table>...</table>;
}
```
### Solution 2: Memoize your data transformations
To prevent infinite loops, you should always memoize your data transformations. This can be done with `useMemo` or similar.
```js
export default function MyComponent() {
//✅ GOOD
const columns = useMemo(() => [
// ...
], []);
//✅ GOOD
const { data, isLoading } = useQuery({
//...
});
//✅ GOOD: This will not cause an infinite loop of re-renders because `filteredData` is memoized
const filteredData = useMemo(() => data?.filter(d => d.isActive) ?? [], [data]);
const table = useTable({
columns,
data: filteredData, // stable reference!
});
return <table>...</table>;
}
```
### React Forget
When React Forget is released, these problems might be a thing of the past. Or just use Solid.js... 🤓
## How do I stop my table state from automatically resetting when my data changes?
Most plugins use state that _should_ normally reset when the data sources changes, but sometimes you need to suppress that from happening if you are filtering your data externally, or immutably editing your data while looking at it, or simply doing anything external with your data that you don't want to trigger a piece of table state to reset automatically.
For those situations, each plugin provides a way to disable the state from automatically resetting internally when data or other dependencies for a piece of state change. By setting any of them to `false`, you can stop the automatic resets from being triggered.
Here is a React-based example of stopping basically every piece of state from changing as they normally do while we edit the `data` source for a table:
```js
const [data, setData] = React.useState([])
const skipPageResetRef = React.useRef()
const updateData = newData => {
// When data gets updated with this function, set a flag
// to disable all of the auto resetting
skipPageResetRef.current = true
setData(newData)
}
React.useEffect(() => {
// After the table has updated, always remove the flag
skipPageResetRef.current = false
})
useTable({
...
autoResetPageIndex: !skipPageResetRef.current,
autoResetExpanded: !skipPageResetRef.current,
})
```
Now, when we update our data, the above table states will not automatically reset!
================================================
FILE: docs/framework/angular/angular-table.md
================================================
---
title: Angular Table
---
The `@tanstack/angular-table` adapter is a wrapper around the core table logic. Most of it's job is related to managing
state using angular signals, providing types and the rendering implementation of cell/header/footer templates.
## Exports
`@tanstack/angular-table` re-exports all of `@tanstack/table-core`'s APIs and the following:
### `injectTable`
Creates and returns an Angular-reactive table instance.
`injectTable` accepts either:
- an options function `() => TableOptions`
- a computed signal returning `TableOptions`
The initializer is intentionally re-evaluated whenever any signal read inside it changes.
This is how the adapter keeps the table in sync with Angular's reactivity model.
Because of that behavior, keep expensive/static values (for example `columns`, feature setup, row models) as stable references outside the initializer, and only read reactive state (`data()`, pagination/filter/sorting signals, etc.) inside it.
Since `ColumnDef` is stricter about generics, prefer building columns with `createColumnHelper<TFeatures, TData>()` so feature and row types are inferred consistently.
The returned table is also signal-reactive: table state and table APIs are wired for Angular signals, so you can safely consume table methods inside `computed(...)` and `effect(...)`.
```ts
import { computed, effect, signal } from '@angular/core'
import {
createColumnHelper,
injectTable,
type ColumnDef,
rowPaginationFeature,
stockFeatures
} from '@tanstack/angular-table'
// Register all table core features
const _features = tableFeatures(stockFeatures);
// ...or register only your needed features
const _features = tableFeatures({
rowPaginationFeature,
// ...all other features
})
const columnHelper = createColumnHelper<typeof _features, Person>()
export class AppComponent {
readonly data = signal<Person[]>([])
// If you type columns manually, include both generics:
// readonly columns: ColumnDef<typeof _features, Person>[] = [...]
readonly columns = columnHelper.columns([
columnHelper.accessor('firstName', {
header: 'First name',
cell: info => info.getValue(),
}),
// ...
])
// This function is re-run when any signal read inside changes.
readonly table = injectTable(() => ({
_features: _features,
// Reactive state can be read directly
data: this.data(),
state: {
// ...
},
// Keep stable references outside the initializer
columns: this.columns,
}))
constructor() {
effect(() => {
console.log('Visible rows:', this.table.getRowModel().rows.length)
})
}
}
```
See [injectTable API Reference](reference/functions/injectTable)
### `createTableHook`
`createTableHook` is the Angular composition API for building reusable table infrastructure.
Use it when multiple tables should share the same defaults (features, row models, default options, and component registries) while keeping strong types across the app.
At runtime, `createTableHook` wraps `injectTable` and returns typed helpers such as:
- `injectAppTable` for creating tables with shared defaults
- `createAppColumnHelper` for strongly typed column definitions
- pre-typed context helpers (`injectTableContext`, `injectTableCellContext`, `injectTableHeaderContext`, `injectFlexRenderCellContext`, `injectFlexRenderHeaderContext`)
For full setup and patterns, see the [Table Composition Guide](./guide/table-composition.md).
### `FlexRender`
An Angular structural rendering primitive for cell/header/footer content.
It supports the same content kinds as Angular rendering:
- primitive values (`string`, `number`, plain objects)
- `TemplateRef`
- component types
- `flexRenderComponent(component, options?)` wrappers with typed `inputs`, `outputs`, `injector`, `bindings`, and `directives`
Column render functions (`header`, `cell`, `footer`) run in Angular injection context, so you can use `inject()` and signals directly in render logic.
For complete rendering details (`*flexRender`, shorthand directives, `flexRenderComponent`, `TemplateRef`, component inputs/outputs, and `injectFlexRenderContext`), see the [Rendering components Guide](./guide/rendering.md).
### Context helpers and directives
`@tanstack/angular-table` also exports Angular DI helpers and directives for table/cell/header context:
- `TanStackTable` + `injectTableContext()`
- `TanStackTableCell` + `injectTableCellContext()`
- `TanStackTableHeader` + `injectTableHeaderContext()`
These APIs provide signal-based context values and are available from nearest directives or from `*flexRender`-rendered components when matching props are present.
### Full API Reference
See [Angular API Reference](reference/index.md)
================================================
FILE: docs/framework/angular/guide/migrating.md
================================================
---
title: Migrating to TanStack Table v9 (Angular)
---
## What's New in TanStack Table v9
TanStack Table v9 is a major release that introduces significant architectural improvements while maintaining the core table logic you're familiar with. Here are the key changes:
### 1. Tree-shaking
- **Features are tree-shakeable**: Features are now treated as plugins—import only what you use. If your table only needs sorting, you won't ship filtering, pagination, or other feature code. Bundlers can eliminate unused code, so for smaller tables you can expect a meaningfully smaller bundle compared to v8. This also lets TanStack Table add features over time without bloating everyone's bundles.
- **Row models and their functions are refactored**: Row model factories (`createFilteredRowModel`, `createSortedRowModel`, etc.) now accept their processing functions (`filterFns`, `sortFns`, `aggregationFns`) as parameters. This enables tree-shaking of the functions themselves—if you use a custom filter, you don't pay for built-in filters you never use.
### 2. State Management
- **Uses TanStack Store**: The internal state system has been rebuilt on [TanStack Store](https://tanstack.com/store), providing a reactive, framework-agnostic foundation.
- **Opt-in subscriptions instead of memo hacks**: In Angular, you consume state via signals and `computed(...)`. You can keep reads scoped to the state you actually need and avoid unnecessary template work.
### 3. Composability
- **`tableOptions`**: New utilities let you compose and share table configurations. Define `_features`, `_rowModels`, and default options once, then reuse them across tables or pass them through `createTableHook`.
- **`createTableHook`** (optional, advanced): Create reusable, strongly typed Angular table factories with pre-bound features, row models, default options, and component registries.
### The Good News: Most Upgrades Are Opt-in
While v9 is a significant upgrade, **you don't have to adopt everything at once**:
- **Don't want to think about tree-shaking yet?** You can start with `stockFeatures` to include most commonly used features.
- **Your table markup is largely unchanged.** How you render `<table>`, `<thead>`, `<tr>`, `<td>`, etc. remains the same.
The main change is **how you define a table** with the Angular adapter — specifically the new `_features` and `_rowModels` options.
---
## Quick Legacy Migration
Angular does **not** ship a legacy API.
If you're migrating an Angular project from TanStack Table v8 to v9, you will migrate directly to the v9 Angular adapter APIs (`injectTable`, `_features`, and `_rowModels`).
---
The rest of this guide focuses on migrating to the full v9 API and taking advantage of its features.
## Core Breaking Changes
### Entrypoint Change
The Angular adapter entrypoint to create a table instance is `injectTable`:
```ts
// v8
import { createAngularTable } from '@tanstack/angular-table'
const v8Table = createAngularTable(() => ({
// options
}))
// v9
import { injectTable } from '@tanstack/angular-table'
const v9Table = injectTable(() => ({
// options
}))
```
> Note: `injectTable` evaluates your initializer whenever any Angular signal read inside of it changes.
> Keep expensive/static values (like `columns`, `_features`, and `_rowModels`) as stable references outside the initializer.
### New Required Options: `_features` and `_rowModels`
In v9, you must explicitly declare which features and row models your table uses:
```ts
// v8
import { createAngularTable, getCoreRowModel } from '@tanstack/angular-table'
const v8Table = createAngularTable(() => ({
columns,
data: data(),
getCoreRowModel: getCoreRowModel(),
}))
// v9
import {
injectTable,
tableFeatures,
} from '@tanstack/angular-table'
const _features = tableFeatures({}) // Empty = core feaFtures only
// Define stable references outside the initializer
const v9Table = injectTable(() => ({
_features,
_rowModels: {}, // Core row model is automatic
columns: this.columns,
data: this.data(),
}))
```
---
## The `_features` Option
Features control what table functionality is available. In v8, all features were bundled. In v9, you import only what you need.
### Importing Individual Features
```ts
import {
tableFeatures,
// Import only the features you need
columnFilteringFeature,
rowSortingFeature,
rowPaginationFeature,
columnVisibilityFeature,
rowSelectionFeature,
} from '@tanstack/angular-table'
// Create a features object (define this outside your injectTable initializer for stable reference)
const _features = tableFeatures({
columnFilteringFeature,
rowSortingFeature,
rowPaginationFeature,
columnVisibilityFeature,
rowSelectionFeature,
})
```
### Using `stockFeatures` for v8-like Behavior
If you want all features without thinking about it (like v8), import `stockFeatures`:
```ts
import { injectTable, stockFeatures } from '@tanstack/angular-table'
class TableCmp {
readonly table = injectTable(() => ({
_features: stockFeatures, // All features included
_rowModels: { /* ... */ },
columns: this.columns,
data: this.data(),
}))
}
```
### Available Features
| Feature | Import Name |
|---------|-------------|
| Column Filtering | `columnFilteringFeature` |
| Global Filtering | `globalFilteringFeature` |
| Row Sorting | `rowSortingFeature` |
| Row Pagination | `rowPaginationFeature` |
| Row Selection | `rowSelectionFeature` |
| Row Expanding | `rowExpandingFeature` |
| Row Pinning | `rowPinningFeature` |
| Column Pinning | `columnPinningFeature` |
| Column Visibility | `columnVisibilityFeature` |
| Column Ordering | `columnOrderingFeature` |
| Column Sizing | `columnSizingFeature` |
| Column Resizing | `columnResizingFeature` |
| Column Grouping | `columnGroupingFeature` |
| Column Faceting | `columnFacetingFeature` |
---
## The `_rowModels` Option
Row models are the functions that process your data (filtering, sorting, pagination, etc.). In v9, they're configured via `_rowModels` instead of `get*RowModel` options.
### Migration Mapping
| v8 Option | v9 `_rowModels` Key | v9 Factory Function |
|-----------|---------------------|---------------------|
| `getCoreRowModel()` | (automatic) | Not needed — always included |
| `getFilteredRowModel()` | `filteredRowModel` | `createFilteredRowModel(filterFns)` |
| `getSortedRowModel()` | `sortedRowModel` | `createSortedRowModel(sortFns)` |
| `getPaginationRowModel()` | `paginatedRowModel` | `createPaginatedRowModel()` |
| `getExpandedRowModel()` | `expandedRowModel` | `createExpandedRowModel()` |
| `getGroupedRowModel()` | `groupedRowModel` | `createGroupedRowModel(aggregationFns)` |
| `getFacetedRowModel()` | `facetedRowModel` | `createFacetedRowModel()` |
| `getFacetedMinMaxValues()` | `facetedMinMaxValues` | `createFacetedMinMaxValues()` |
| `getFacetedUniqueValues()` | `facetedUniqueValues` | `createFacetedUniqueValues()` |
### Key Change: Row Model Functions Now Accept Parameters
Several row model factories now accept their processing functions as parameters. This enables better tree-shaking and explicit configuration:
```ts
import {
injectTable,
createFilteredRowModel,
createSortedRowModel,
createGroupedRowModel,
createPaginatedRowModel,
filterFns, // Built-in filter functions
sortFns, // Built-in sort functions
aggregationFns, // Built-in aggregation functions
} from '@tanstack/angular-table'
class TableCmp {
readonly table = injectTable(() => ({
_features,
_rowModels: {
filteredRowModel: createFilteredRowModel(filterFns),
sortedRowModel: createSortedRowModel(sortFns),
groupedRowModel: createGroupedRowModel(aggregationFns),
paginatedRowModel: createPaginatedRowModel(),
},
columns: this.columns,
data: this.data(),
}))
}
```
### Full Migration Example
```ts
// v8
import {
injectTable,
getCoreRowModel,
getFilteredRowModel,
getSortedRowModel,
getPaginationRowModel,
filterFns,
sortingFns,
} from '@tanstack/angular-table'
const v8Table = createAngularTable(() => ({
columns,
data: data(),
getCoreRowModel: getCoreRowModel(), // used to be called "get*RowModel()"
getFilteredRowModel: getFilteredRowModel(),
getSortedRowModel: getSortedRowModel(),
getPaginationRowModel: getPaginationRowModel(),
filterFns, // used to be passed in as a root option
sortingFns,
}))
// v9
import {
injectTable,
tableFeatures,
columnFilteringFeature,
rowSortingFeature,
rowPaginationFeature,
createFilteredRowModel,
createSortedRowModel,
createPaginatedRowModel,
filterFns,
sortFns,
} from '@tanstack/angular-table'
const _features = tableFeatures({
columnFilteringFeature,
rowSortingFeature,
rowPaginationFeature,
})
const v9Table = injectTable(() => ({
_features,
_rowModels: {
filteredRowModel: createFilteredRowModel(filterFns),
sortedRowModel: createSortedRowModel(sortFns),
paginatedRowModel: createPaginatedRowModel(),
},
columns,
data: data(),
}))
```
---
## State Management Changes
### Accessing State
In v8, you accessed state via `table.getState()`. In v9, state is accessed via the store:
```ts
// v8
const state = table.getState()
const v8 = table.getState()
const { sorting, pagination } = v8
// v9 - via the store
const fullState = table.store.state
const v9 = table.store.state
const { sorting: v9Sorting, pagination: v9Pagination } = v9
```
### Optimizing Reads with Angular Signals
In Angular, you have a few good options for consuming table state.
#### Option 1: Prefer `table.store.subscribe(...)` for a sliced signal
TanStack Store lets you subscribe to (and derive) a slice of state. With the Angular adapter, you can use that to create a signal-like value that only updates when the selected slice changes.
This is the closest equivalent to the fine-grained subscription examples you might see in other frameworks.
```ts
import { computed, effect } from '@angular/core'
class TableCmp {
readonly table = injectTable(() => ({
_features,
_rowModels: { /* ... */ },
columns: this.columns,
data: this.data(),
}))
// Create a computed to a slice of state.
// The store will only emit when this selected value changes.
private readonly pagination = this.table.computed(
state => state.pagination,
)
constructor() {
effect(() => {
const { pageIndex, pageSize } = this.pagination()
console.log('Page', pageIndex, 'Size', pageSize)
})
}
}
```
#### Option 2: Use `computed(...)` and read from `table.store.state`
You can also use Angular `computed(...)` and directly read from `table.store.state`. This is simple and works well, but for object/array slices you should provide an equality function to avoid unnecessary downstream work when the slice is recreated with the same values.
```ts
import { computed, effect } from '@angular/core'
class TableCmp {
readonly table = injectTable(() => ({
_features,
_rowModels: { /* ... */ },
columns: this.columns,
data: this.data(),
}))
// Provide an equality function for object slices
readonly pagination = computed(
() => this.table.store.state.pagination,
{
equal: (a, b) => a.pageIndex === b.pageIndex && a.pageSize === b.pageSize,
},
)
constructor() {
effect(() => {
// This effect only re-runs when pagination changes
const { pageIndex, pageSize } = this.pagination()
console.log('Page', pageIndex, 'Size', pageSize)
})
}
}
```
### Controlled State
Controlled state patterns are pretty the same as v8:
```ts
import { signal } from '@angular/core'
import type { SortingState, PaginationState } from '@tanstack/angular-table'
class TableCmp {
readonly sorting = signal<SortingState>([])
readonly pagination = signal<PaginationState>({ pageIndex: 0, pageSize: 10 })
readonly table = injectTable(() => ({
_features,
_rowModels: { /* ... */ },
columns: this.columns,
data: this.data(),
state: {
sorting: this.sorting(),
pagination: this.pagination(),
},
onSortingChange: (updater) => {
updater instanceof Function
? this.sorting.update(updater)
: this.sorting.set(updater)
},
onPaginationChange: (updater) => {
updater instanceof Function
? this.pagination.update(updater)
: this.pagination.set(updater)
},
}))
}
```
---
## Column Helper Changes
The `createColumnHelper` function now requires a `TFeatures` type parameter in addition to `TData`:
```ts
// v8
import { createColumnHelper } from '@tanstack/angular-table'
const columnHelperV8 = createColumnHelper<Person>()
// v9
import { createColumnHelper, tableFeatures, rowSortingFeature } from '@tanstack/angular-table'
const _features = tableFeatures({ rowSortingFeature })
const columnHelperV9 = createColumnHelper<typeof _features, Person>()
```
### New `columns()` Helper Method
v9 adds a `columns()` helper for better type inference when wrapping column arrays.
```ts
const columnHelper = createColumnHelper<typeof _features, Person>()
// Wrap your columns array for better type inference
const columns = columnHelper.columns([
columnHelper.accessor('firstName', {
header: 'First Name',
cell: (info) => info.getValue(),
}),
columnHelper.accessor('lastName', {
id: 'lastName',
header: () => 'Last Name',
cell: (info) => info.getValue(),
}),
columnHelper.display({
id: 'actions',
header: 'Actions',
cell: () => 'Edit',
}),
])
```
### Using with `createTableHook`
When using `createTableHook`, you get a pre-bound `createAppColumnHelper` that only requires `TData`:
```ts
import { createTableHook, tableFeatures, rowSortingFeature } from '@tanstack/angular-table'
const { injectAppTable, createAppColumnHelper } = createTableHook({
_features: tableFeatures({ rowSortingFeature }),
_rowModels: { /* ... */ },
})
// TFeatures is already bound — only need TData!
const columnHelper = createAppColumnHelper<Person>()
```
---
## Rendering Changes
### `FlexRender`
The rendering primitives in the Angular adapter are `FlexRender` and the `*flexRender` directives.
In v9, you can continue to render header/cell/footer content using the Angular adapter rendering utilities, but there are a few important improvements and helper APIs to be aware of.
#### Structural directive rendering
Angular rendering is directive-based:
- `FlexRender` / `*flexRender` renders arbitrary render content (primitives, `TemplateRef`, component types, or `flexRenderComponent(...)` wrappers)
- The directive is responsible for mounting embedded views or components via `ViewContainerRef`
#### Shorthand directives
If you're rendering standard table content, prefer the shorthand helpers:
- `*flexRenderCell="cell; let value"`
- `*flexRenderHeader="header; let value"`
- `*flexRenderFooter="footer; let value"`
These automatically select the correct column definition (`columnDef.cell` / `header` / `footer`) and the right props (`cell.getContext()` / `header.getContext()`), so you don't need to manually provide `props:`.
#### DI-aware render functions + context injection
Column definition render functions (`header`, `cell`, `footer`) run inside an Angular injection context, so they can safely call `inject()` and use signals.
When a component is rendered through the FlexRender directives, you can also access the full render props object via DI using `injectFlexRenderContext()`.
#### Component rendering helper: `flexRenderComponent`
If you need to render an Angular component with explicit configuration (custom `inputs`, `outputs`, `injector`, and Angular v20+ creation-time `bindings`/`directives`), return a `flexRenderComponent(Component, options)` wrapper from your column definition.
For complete rendering details (including component rendering, `TemplateRef`, `flexRenderComponent`, and context helpers), see the [Rendering components Guide](./rendering.md).
---
## The `tableOptions()` Utility
The `tableOptions()` helper provides type-safe composition of table options. It's useful for creating reusable partial configurations that can be spread into your table setup.
### Basic Usage
```ts
import { injectTable, tableOptions, tableFeatures, rowSortingFeature } from '@tanstack/angular-table'
import { isDevMode } from '@angular/core';
// Create a reusable options object with features pre-configured
const baseOptions = tableOptions({
_features: tableFeatures({ rowSortingFeature }),
debugTable: isDevMode()
})
class TableCmp {
readonly table = injectTable(() => ({
...baseOptions,
columns: this.columns,
data: this.data(),
_rowModels: {},
}))
}
```
### Composing Partial Options
`tableOptions()` allows you to omit certain required fields (like `data`, `columns`, or `_features`) when creating partial configurations:
```ts
import {
tableOptions,
tableFeatures,
rowSortingFeature,
columnFilteringFeature,
createSortedRowModel,
createFilteredRowModel,
filterFns,
sortFns,
} from '@tanstack/angular-table'
// Partial options without data or columns
const featureOptions = tableOptions({
_features: tableFeatures({
rowSortingFeature,
columnFilteringFeature,
}),
_rowModels: {
sortedRowModel: createSortedRowModel(sortFns),
filteredRowModel: createFilteredRowModel(filterFns),
},
})
```
```ts
import { injectTable, tableOptions, createPaginatedRowModel } from '@tanstack/angular-table'
// Another partial without _features (inherits from spread)
const paginationDefaults = tableOptions({
_rowModels: {
paginatedRowModel: createPaginatedRowModel(),
},
initialState: {
pagination: { pageIndex: 0, pageSize: 25 },
},
})
class TableCmp {
readonly table = injectTable(() => ({
...featureOptions,
...paginationDefaults,
columns: this.columns,
data: this.data(),
}))
}
```
### Using with `createTableHook`
`tableOptions()` pairs well with `createTableHook` for building composable table factories:
```ts
import {
createTableHook,
tableOptions,
tableFeatures,
rowSortingFeature,
rowPaginationFeature,
createSortedRowModel,
createPaginatedRowModel,
sortFns,
} from '@tanstack/angular-table'
const sharedOptions = tableOptions({
_features: tableFeatures({ rowSortingFeature, rowPaginationFeature }),
_rowModels: {
sortedRowModel: createSortedRowModel(sortFns),
paginatedRowModel: createPaginatedRowModel(),
},
})
const { injectAppTable } = createTableHook(sharedOptions)
```
---
## `createTableHook`: Composable Table Patterns
**This is an advanced, optional feature.** You don't need to use `createTableHook`—`injectTable` is sufficient for most use cases.
For applications with multiple tables sharing the same configuration, `createTableHook` lets you define features, row models, and reusable components once.
For full setup and patterns, see the [Table composition Guide](./table-composition.md).
---
## Other Breaking Changes
### Column Pinning Option Split
The `enablePinning` option has been split into separate options:
```ts
// v8
enablePinning: true
// v9
enableColumnPinning: true
enableRowPinning: true
```
### Removed Internal APIs
All internal APIs prefixed with `_` have been removed. If you were using any of these, use their public equivalents.
### Column Sizing vs. Column Resizing Split
In v8, column sizing and resizing were combined in a single feature. In v9, they've been split into separate features for better tree-shaking.
| v8 | v9 |
|----|-----|
| `ColumnSizing` (combined feature) | `columnSizingFeature` + `columnResizingFeature` |
| `columnSizingInfo` state | `columnResizing` state |
| `setColumnSizingInfo()` | `setColumnResizing()` |
| `onColumnSizingInfoChange` option | `onColumnResizingChange` option |
If you only need column sizing (fixed widths) without interactive resizing, you can import just `columnSizingFeature`. If you need drag-to-resize functionality, import both.
### Sorting API Renames
Sorting-related APIs have been renamed for consistency:
| v8 | v9 |
|----|-----|
| `sortingFn` (column def option) | `sortFn` |
| `column.getSortingFn()` | `column.getSortFn()` |
| `column.getAutoSortingFn()` | `column.getAutoSortFn()` |
| `SortingFn` type | `SortFn` type |
| `SortingFns` interface | `SortFns` interface |
| `sortingFns` (built-in functions) | `sortFns` |
Update your column definitions.
### Row API Changes
Some row APIs have changed from private to public:
| v8 | v9 |
|----|-----|
| `row._getAllCellsByColumnId()` (private) | `row.getAllCellsByColumnId()` (public) |
---
## TypeScript Changes Summary
### Type Generics
Most types now require a `TFeatures` parameter:
```txt
// v8
type Column<TData>
type ColumnDef<TData>
type Table<TData>
type Row<TData>
type Cell<TData, TValue>
// v9
type Column<TFeatures, TData, TValue>
type ColumnDef<TFeatures, TData, TValue>
type Table<TFeatures, TData>
type Row<TFeatures, TData>
type Cell<TFeatures, TData, TValue>
```
### Using `typeof _features`
The easiest way to get the `TFeatures` type is with `typeof`:
```ts
const _features = tableFeatures({
rowSortingFeature,
columnFilteringFeature,
})
type MyFeatures = typeof _features
const columns: ColumnDef<typeof _features, Person>[] = [...]
```
### Using `StockFeatures`
If using `stockFeatures`, use the `StockFeatures` type:
```ts
import type { StockFeatures, ColumnDef } from '@tanstack/angular-table'
const columns: ColumnDef<StockFeatures, Person>[] = [...]
```
### `ColumnMeta` Generic Change
If you're using module augmentation to extend `ColumnMeta`, note that it now requires a `TFeatures` parameter.
### `RowData` Type Restriction
The `RowData` type is now more restrictive.
---
## Migration Checklist
- [ ] Update your table setup to v9 and define `_features` using `tableFeatures()` (or use `stockFeatures`)
- [ ] Migrate `get*RowModel()` options to `_rowModels`
- [ ] Update row model factories to include `Fns` parameters where needed
- [ ] Update TypeScript types to include `TFeatures` generic
- [ ] Update state access: `table.getState()` → `table.store.state`
- [ ] Update `createColumnHelper<TData>()` → `createColumnHelper<TFeatures, TData>()`
- [ ] Replace `enablePinning` with `enableColumnPinning`/`enableRowPinning` if used
- [ ] Rename `sortingFn` → `sortFn` in column definitions
- [ ] Split column sizing/resizing: use both `columnSizingFeature` and `columnResizingFeature` if needed
- [ ] Rename `columnSizingInfo` state → `columnResizing` (and related options)
- [ ] Update `ColumnMeta` module augmentation to include `TFeatures` generic (if used)
- [ ] (Optional) Use `tableOptions()` for composable configurations
- [ ] (Optional) Use `createTableHook` for reusable table patterns
---
## Examples
Check out these examples to see v9 patterns in action:
- [Basic](../examples/basic)
- [Basic (App Table)](../examples/basic-app-table)
- [Filters](../examples/filters)
- [Column Ordering](../examples/column-ordering)
- [Column Pinning](../examples/column-pinning)
- [Column Visibility](../examples/column-visibility)
- [Expanding](../examples/expanding)
- [Grouping](../examples/grouping)
- [Row Selection](../examples/row-selection)
- [Composable Tables](../examples/composable-tables)
================================================
FILE: docs/framework/angular/guide/rendering.md
================================================
---
title: Rendering components
---
The `@tanstack/angular-table` adapter provides structural directives and dependency injection primitives for rendering table content in Angular templates.
## FlexRender
[`FlexRender`](../reference/variables/FlexRender) is the rendering primitive.
It is exported as a tuple of two directives:
- [`FlexRenderDirective`](../reference/classes/FlexRenderDirective) — the base structural directive (`*flexRender`)
- [`FlexRenderCell`](../reference/classes/FlexRenderCell.md) — shorthand directives (`*flexRenderCell`, `*flexRenderHeader`, `*flexRenderFooter`)
Import `FlexRender` to get both:
```ts
import { Component } from '@angular/core'
import { FlexRender } from '@tanstack/angular-table'
@Component({
imports: [FlexRender],
templateUrl: './app.html',
})
export class AppComponent {}
```
### How it works
`FlexRender` is an Angular **structural directive**. Internally, it resolves the column definition's `header`, `cell`, or `footer` function and renders the result using [`ViewContainerRef`](https://angular.dev/api/core/ViewContainerRef):
- **Primitives** (`string`, `number`): rendered via `createEmbeddedView` into the host `ng-template`. The value is exposed as the template's implicit context (`let value`).
- **`TemplateRef`**: rendered via `createEmbeddedView`. The render context (`CellContext`, `HeaderContext`) is passed as `$implicit`.
- **`flexRenderComponent(...)`**: rendered via `createComponent` with explicit `inputs`, `outputs`, `bindings`, `directives`, and `injector`.
- **Component type** (`Type<T>`): rendered via [`createComponent`](https://angular.dev/api/core/ViewContainerRef#createComponent). All properties from the render context are set as component inputs through [`ComponentRef.setInput`](https://angular.dev/api/core/ComponentRef#setInput).
Column definition functions (`header`, `cell`, `footer`) are called inside [`runInInjectionContext`](https://angular.dev/api/core/runInInjectionContext), which means you can call `inject()`, use signals, and access DI tokens directly in your render logic.
## Cell rendering
Prefer the shorthand directives for standard rendering:
| Directive | Input | Column definition |
|---|---|---|
| `*flexRenderCell` | `Cell` | `columnDef.cell` |
| `*flexRenderHeader` | `Header` | `columnDef.header` |
| `*flexRenderFooter` | `Header` | `columnDef.footer` |
Each shorthand resolves the correct column definition function and render context automatically through a `computed` signal, so no manual `props` mapping is needed.
### Example
```html
<thead>
@for (headerGroup of table.getHeaderGroups(); track headerGroup.id) {
<tr>
@for (header of headerGroup.headers; track header.id) {
<th>
@if (!header.isPlaceholder) {
<ng-container *flexRenderHeader="header; let value">
{{ value }}
</ng-container>
}
</th>
}
</tr>
}
</thead>
<tbody>
@for (row of table.getRowModel().rows; track row.id) {
<tr>
@for (cell of row.getVisibleCells(); track cell.id) {
<td>
<ng-container *flexRenderCell="cell; let value">
{{ value }}
</ng-container>
</td>
}
</tr>
}
</tbody>
```
## Cell rendering with custom props
When you need full control over the `props` passed to the render function, use `*flexRender` directly.
`FlexRenderDirective` accepts two inputs:
- `flexRender` — the render definition (a column def function, a string, a `TemplateRef`, a component type, or a `flexRenderComponent(...)` wrapper)
- `flexRenderProps` — the props object passed to the render function and used as the implicit template context
Standard usage:
```html
<ng-container
*flexRender="
cell.column.columnDef.cell;
props: cell.getContext();
let rendered
"
>
{{ rendered }}
</ng-container>
```
You can pass a custom props object to override the default context shape:
```html
<ng-container
*flexRender="
cell.column.columnDef.cell;
props: {
value: cell.getValue(),
...cell.getContext(),
};
let rendered
"
>
{{ rendered }}
</ng-container>
```
Inside rendered components, the full props object is available via [`injectFlexRenderContext()`](#injectflexrendercontext).
## Component rendering
You can render Angular components from column definitions in two ways:
### Using `flexRenderComponent`
[`flexRenderComponent(component, options?)`](../reference/functions/flexRenderComponent) wraps a component type with explicit options for `inputs`, `outputs`, `injector`, `bindings`, and `directives`.
Use this when you need to:
- pass custom inputs not derived from the render context
- subscribe to component outputs
- provide a custom `Injector`
- use creation-time `bindings` (Angular v20+)
- apply host directives and binding values at runtime
```ts
import { flexRenderComponent, type ColumnDef } from '@tanstack/angular-table'
const columns: ColumnDef<Person>[] = [
{
id: 'custom-cell',
cell: ctx =>
flexRenderComponent(CustomCellComponent, {
inputs: {
content: ctx.row.original.firstName,
},
outputs: {
clicked: value => {
console.log(value)
},
},
}),
},
]
```
#### How inputs and outputs work
**Inputs** are applied through [`ComponentRef.setInput(key, value)`](https://angular.dev/api/core/ComponentRef#setInput). This works with both `input()` signals and `@Input()` decorators. Inputs are diffed on every change detection cycle using `KeyValueDiffers` — only changed values trigger `setInput`.
For object-like inputs, updates are reference-based: if the object reference is stable, Angular's default input equality semantics prevent unnecessary updates.
**Outputs** work through `OutputEmitterRef` subscriptions. The factory reads the component instance property by name, checks that it is an `OutputEmitterRef`, and subscribes to it. When the output emits, the corresponding callback from `outputs` is invoked. Subscriptions are cleaned up automatically when the component is destroyed.
#### `bindings` API (Angular v20+)
`flexRenderComponent` also accepts `bindings` and `directives`, forwarded directly to [`ViewContainerRef.createComponent`](https://angular.dev/api/core/ViewContainerRef#createComponent) at creation time.
This supports Angular programmatic rendering APIs for passing host directives and binding values at runtime.
Unlike `inputs`/`outputs` (which are applied imperatively after creation), `bindings` are applied **at creation time** — they participate in the component's initial change detection cycle.
```ts
import {
inputBinding,
outputBinding,
twoWayBinding,
signal,
} from '@angular/core'
import { flexRenderComponent } from '@tanstack/angular-table'
readonly name = signal('Ada')
cell: () =>
flexRenderComponent(EditableNameCellComponent, {
bindings: [
inputBinding('value', this.name),
outputBinding('valueChange', value => {
console.log('changed', value)
}),
twoWayBinding('value', this.name),
],
})
```
> Avoid mixing `bindings` with `inputs`/`outputs` on the same property. `bindings` are applied at creation, while `inputs`/`outputs` are applied post-creation — mixing them can lead to double initialization or conflicting values.
See the Angular docs for details:
- [Programmatic rendering — Binding inputs/outputs/directives](https://angular.dev/guide/components/programmatic-rendering#binding-inputs-outputs-and-setting-host-directives-at-creation)
- [`inputBinding`](https://angular.dev/api/core/inputBinding), [`outputBinding`](https://angular.dev/api/core/outputBinding), [`twoWayBinding`](https://angular.dev/api/core/twoWayBinding)
### Returning a component class
Return a component class from `header`, `cell`, or `footer`.
The render context properties (`table`, `column`, `header`, `cell`, `row`, `getValue`, etc.) are automatically set as component inputs via `ComponentRef.setInput(...)`.
Define input signals matching the context property names you need:
```ts
import { Component, input } from '@angular/core'
import type { ColumnDef, Table, CellContext } from '@tanstack/angular-table'
const columns: ColumnDef<Person>[] = [
{
id: 'select',
header: () => TableHeadSelectionComponent,
cell: () => TableRowSelectionComponent,
},
]
@Component({
template: `
<input
type="checkbox"
[checked]="table().getIsAllRowsSelected()"
[indeterminate]="table().getIsSomeRowsSelected()"
(change)="table().toggleAllRowsSelected()"
/>
`,
})
export class TableHeadSelectionComponent<T> {
readonly table = input.required<Table<T>>();
// column = input.required<Column<typeof _features, T, unknown>>()
// header = input.required<Header<typeof _features, T, unknown>>()
}
```
Only properties declared with `input()` / `input.required()` are set — other context properties are silently ignored. You can also access the full context via [`injectFlexRenderContext()`](#injectflexrendercontext).
## TemplateRef rendering
You can return a `TemplateRef` from column definitions. The render context is passed as the template's `$implicit` context.
Use `viewChild(...)` to capture template references:
```ts
import { Component, TemplateRef, viewChild } from '@angular/core'
import type {
CellContext,
ColumnDef,
HeaderContext,
} from '@tanstack/angular-table'
@Component({
template: `
<ng-template #customHeader let-context>
{{ context.column.id }}
</ng-template>
<ng-template #customCell let-context>
{{ context.getValue() }}
</ng-template>
`,
})
export class AppComponent {
readonly customHeader =
viewChild.required<TemplateRef<{ $implicit: HeaderContext<any, any, any> }>>(
'customHeader',
)
readonly customCell =
viewChild.required<TemplateRef<{ $implicit: CellContext<any, any, any> }>>(
'customCell',
)
readonly columns: ColumnDef<any>[] = [
{
id: 'templated',
header: () => this.customHeader(),
cell: () => this.customCell(),
},
]
}
```
`TemplateRef` rendering uses `createEmbeddedView` with an injector that includes the [DI context tokens](#dependency-injection). For reusable render blocks shared across multiple screens, prefer standalone components over `TemplateRef`.
## Dependency injection
`FlexRender` automatically provides DI tokens when rendering components and templates. These tokens are created in the `#getInjector` method of the renderer, which builds a child `Injector` with the render context properties.
### `injectFlexRenderContext`
[`injectFlexRenderContext<T>()`](../reference/functions/injectFlexRenderContext) returns the full props object passed to `*flexRender`. The return type depends on the column definition slot:
- In a `cell` definition: `CellContext<TFeatures, TData, TValue>`
- In a `header`/`footer` definition: `HeaderContext<TFeatures, TData, TValue>`
```ts
import { Component } from '@angular/core'
import {
injectFlexRenderContext,
type CellContext,
} from '@tanstack/angular-table'
@Component({
template: `
<span>{{ context.getValue() }}</span>
<button (click)="context.row.toggleSelected()">Toggle</button>
`,
})
export class InteractiveCellComponent {
readonly context = injectFlexRenderContext<CellContext<any, any, any>>()
}
```
Internally, the renderer wraps the context in a `Proxy` so that property access always reflects the latest values, even after re-renders.
### Context directives
Three optional directives let you expose table, header, and cell context to **any descendant** in the template — not just components rendered by `*flexRender`.
This eliminates prop drilling: instead of passing data through multiple `input()` layers, any nested component or directive can inject the context directly.
| Directive | Selector | Token | Inject helper |
|---|---|---|---|
| [`TanStackTable`](../reference/functions/injectTableContext) | `[tanStackTable]` | `TanStackTableToken` | `injectTableContext()` |
| [`TanStackTableHeader`](../reference/functions/injectTableHeaderContext) | `[tanStackTableHeader]` | `TanStackTableHeaderToken` | `injectTableHeaderContext()` |
| [`TanStackTableCell`](../reference/functions/injectTableCellContext) | `[tanStackTableCell]` | `TanStackTableCellToken` | `injectTableCellContext()` |
Import them alongside `FlexRender`:
```ts
import {
FlexRender,
TanStackTable,
TanStackTableHeader,
TanStackTableCell,
} from '@tanstack/angular-table'
@Component({
imports: [FlexRender, TanStackTable, TanStackTableHeader, TanStackTableCell],
templateUrl: './app.html',
})
export class AppComponent {}
```
Apply them in the template to establish injection scopes:
```html
<table [tanStackTable]="table">
<!-- components can access to table context -->
@for (headerGroup of table.getHeaderGroups(); track headerGroup.id) {
<tr>
@for (header of headerGroup.headers; track header.id) {
<th [tanStackTableHeader]="header">
<!-- components can access to table header context -->
</th>
}
</tr>
}
@for (row of table.getRowModel().rows; track row.id) {
<tr>
@for (cell of row.getVisibleCells(); track cell.id) {
<td [tanStackTableCell]="cell">
<!-- components can access to table cell context -->
</td>
}
</tr>
}
</table>
```
Any component nested inside a `[tanStackTableCell]` host can inject the cell context:
```ts
import { Component } from '@angular/core'
import { injectTableCellContext } from '@tanstack/angular-table'
@Component({
template: `
<button (click)="onAction()">
Action for {{ cell().id }}
</button>
`,
})
export class CellActionsComponent {
readonly cell = injectTableCellContext()
onAction() {
console.log('Cell:', this.cell())
}
}
```
```html
<!-- No need to pass cell as an input — it's injected -->
<td [tanStackTableCell]="cell">
<app-cell-actions />
</td>
```
Each directive uses Angular's `providers` array to register a factory that reads its own input signal.
This means the token is scoped to the directive's host element and its descendants. Multiple `[tanStackTableCell]` directives on different elements provide independent contexts.
### Automatic token injection in FlexRender
When `FlexRender` renders a component or template, it also provides DI tokens automatically based on the render context shape. In the renderer's `#getInjector` method, if the context object contains `table`, `cell`, or `header` properties, the corresponding `TanStackTableToken`, `TanStackTableCellToken`, or `TanStackTableHeaderToken` tokens are provided in the child injector.
This means that even **without** the context directives, components rendered via `*flexRender` can use `injectTableContext()`, `injectTableCellContext()`, and `injectTableHeaderContext()`. The context directives are only needed for components that live **outside** the `*flexRender` rendering tree (e.g. sibling components in the same `<td>`).
================================================
FILE: docs/framework/angular/guide/table-composition.md
================================================
---
title: Table Composition (createTableHook)
---
`createTableHook` is a convenience API for creating reusable, type-safe table configurations with pre-bound components. It is inspired by [TanStack Form's `createFormHook`](https://tanstack.com/form/latest/docs/framework/react/guides/form-composition) — a pattern where you define shared infrastructure once and consume it across your application with minimal boilerplate.
> **When to use it:** Use `createTableHook` when you have multiple tables that share the same configuration (features, row models, and reusable components). For a single table, `injectTable` is sufficient.
## Examples
- [Composable Tables](../examples/composable-tables) — Two tables (Users and Products) sharing the same `createTableHook` configuration, with table/cell/header components, sorting, filtering, and pagination.
- [Basic App Table](../examples/basic-app-table) — Minimal example using `createTableHook` with no pre-bound components.
### createTableHook
`createTableHook` centralizes your table configuration into a single factory call. It returns a set of typed functions — `injectAppTable`, `createAppColumnHelper`, and pre-typed injection helpers — that you use instead of the base APIs.
## Setup
Call `createTableHook` with your shared configuration and destructure the returned utilities:
```ts
// table.ts — shared table infrastructure
import {
createTableHook,
tableFeatures,
columnFilteringFeature,
createFilteredRowModel,
createPaginatedRowModel,
createSortedRowModel,
filterFns,
rowPaginationFeature,
rowSortingFeature,
sortFns,
} from '@tanstack/angular-table'
import { PaginationControls, RowCount, TableToolbar } from './components/table-components'
import { TextCell, NumberCell, StatusCell, ProgressCell } from './components/cell-components'
import { SortIndicator, ColumnFilter } from './components/header-components'
export const {
createAppColumnHelper,
injectAppTable,
injectTableContext,
injectTableCellContext,
injectTableHeaderContext,
} = createTableHook({
// Features and row models are shared across all tables
_features: tableFeatures({
columnFilteringFeature,
rowPaginationFeature,
rowSortingFeature,
}),
_rowModels: {
sortedRowModel: createSortedRowModel(sortFns),
filteredRowModel: createFilteredRowModel(filterFns),
paginatedRowModel: createPaginatedRowModel(),
},
// Default table options applied to every table
getRowId: (row) => row.id,
// Pre-bound component registries
tableComponents: {
PaginationControls,
RowCount,
TableToolbar,
},
cellComponents: {
TextCell,
NumberCell,
StatusCell,
ProgressCell,
},
headerComponents: {
SortIndicator,
ColumnFilter,
},
})
```
This single file becomes the source of truth for your application's table infrastructure.
## What `createTableHook` returns
| Export | Description |
|---|---|
| `injectAppTable` | A wrapper around `injectTable` that merges default options and attaches component registries. Returns an `AppAngularTable` with table/cell/header components available directly on the instance. |
| `createAppColumnHelper` | A typed column helper where `cell`, `header`, and `footer` definitions receive enhanced context types with the registered components. |
| `injectTableContext` | Pre-typed `injectTableContext()` bound to your feature set. |
| `injectTableCellContext` | Pre-typed `injectTableCellContext()` bound to your feature set. |
| `injectTableHeaderContext` | Pre-typed `injectTableHeaderContext()` bound to your feature set. |
| `injectFlexRenderCellContext` | Pre-typed `injectFlexRenderContext()` for cell context. |
| `injectFlexRenderHeaderContext` | Pre-typed `injectFlexRenderContext()` for header context. |
## Component registries
`createTableHook` accepts three component registries that map string keys to Angular components or render functions:
### `tableComponents`
Components that need access to the **table instance**. These are attached directly to the `AppAngularTable` object returned by `injectAppTable`, so you can reference them in templates as `table.PaginationControls`, `table.RowCount`, etc.
Use `injectTableContext()` inside these components to access the table:
```ts
@Component({
selector: 'app-pagination-controls',
template: `
<div class="pagination">
<button (click)="table().previousPage()" [disabled]="!table().getCanPreviousPage()">
Previous
</button>
<button (click)="table().nextPage()" [disabled]="!table().getCanNextPage()">
Next
</button>
</div>
`,
changeDetection: ChangeDetectionStrategy.OnPush,
})
export class PaginationControls {
readonly table = injectTableContext()
}
```
Render table components via Angular `NgComponentOutlet`:
```html
<ng-container *ngComponentOutlet="table.PaginationControls" />
<ng-container *ngComponentOutlet="table.RowCount" />
<ng-container
*ngComponentOutlet="table.TableToolbar; inputs: { title: 'Users', onRefresh }"
/>
```
### `cellComponents`
Components that render **cell content**. These are attached to the `Cell` prototype, so they are available in column definitions through the enhanced `AppCellContext`:
```ts
const columnHelper = createAppColumnHelper<Person>()
const columns = columnHelper.columns([
columnHelper.accessor('firstName', {
header: 'First Name',
cell: ({ cell }) => cell.TextCell,
}),
columnHelper.accessor('age', {
header: 'Age',
cell: ({ cell }) => cell.NumberCell,
}),
columnHelper.accessor('status', {
header: 'Status',
cell: ({ cell }) => cell.StatusCell,
}),
])
```
Use `injectTableCellContext()` or `injectFlexRenderContext()` inside cell components:
```ts
@Component({
selector: 'span',
template: `{{ cell().getValue() }}`,
})
export class TextCell {
readonly cell = injectTableCellContext<string>()
}
```
### `headerComponents`
Components or render functions that render **header/footer content**. These are attached to the `Header` prototype and available through the enhanced `AppHeaderContext`:
```ts
// Render functions work too — they run in injection context
export function SortIndicator(): string | null {
const header = injectTableHeaderContext()
const sorted = header().column.getIsSorted()
if (!sorted) return null
return sorted === 'asc' ? '🔼' : '🔽'
}
```
Access header components in the template via `table.appHeader(header)`:
```html
@for (_header of headerGroup.headers; track _header.id) {
@let header = table.appHeader(_header);
<th (click)="header.column.toggleSorting()">
<ng-container *flexRenderHeader="header; let value">{{ value }}</ng-container>
<ng-container *flexRender="header.SortIndicator; props: header.getContext(); let value">
<div [innerHTML]="value"></div>
</ng-container>
</th>
}
```
## Using `injectAppTable`
`injectAppTable` is a wrapper around `injectTable`. It merges the default options from `createTableHook` with the per-table options, and returns an `AppAngularTable` — the standard table instance augmented with:
- **Table components** directly on the table object (`table.PaginationControls`, `table.TableToolbar`, etc.)
- **`table.appCell(cell)`** — utility type functions for templates that wraps a `Cell` with the registered `cellComponents`
- **`table.appHeader(header)`** — utility type functions for templates that wraps a `Header` with the registered `headerComponents`
- **`table.appFooter(footer)`** — utility type functions for templates that wraps a `Header` (footer) with the registered `headerComponents`
You do not need to pass `_features` or `_rowModels` — they are inherited from the hook configuration:
```ts
@Component({
selector: 'users-table',
templateUrl: './users-table.html',
imports: [FlexRender, TanStackTable, TanStackTableHeader, TanStackTableCell, NgComponentOutlet],
changeDetection: ChangeDetectionStrategy.OnPush,
})
export class UsersTable {
readonly data = signal(makeData(100))
readonly columns = columnHelper.columns([
columnHelper.accessor('firstName', {
header: 'First Name',
cell: ({ cell }) => cell.TextCell,
}),
// ...
])
// No need to specify _features, _rowModels, ... — they come from createTableHook
table = injectAppTable(() => ({
columns: this.columns,
data: this.data(),
}))
}
```
## Using `createAppColumnHelper`
`createAppColumnHelper<TData>()` returns a column helper identical to `createColumnHelper` at runtime, but with enhanced types: the `cell`, `header`, and `footer` definition callbacks receive `AppCellContext` / `AppHeaderContext` instead of the base context types.
This means TypeScript knows about your registered components and provides autocompletion:
```ts
const columnHelper = createAppColumnHelper<Person>()
columnHelper.accessor('firstName', {
cell: ({ cell }) => {
// ✅ TypeScript knows about TextCell, NumberCell, StatusCell, etc.
return cell.TextCell
},
header: ({ header }) => {
// ✅ TypeScript knows about SortIndicator, ColumnFilter, etc.
return flexRenderComponent(header.SortIndicator)
},
})
```
You can also use `flexRenderComponent(...)` to wrap the component with custom inputs/outputs:
```ts
columnHelper.accessor('firstName', {
cell: ({ cell }) => flexRenderComponent(cell.TextCell),
footer: ({ header }) => flexRenderComponent(header.FooterColumnId),
})
```
## Multiple table configurations
You can call `createTableHook` multiple times to create different table configurations for different parts of your application. Each call returns an independent set of utilities with its own feature set and component registries:
```ts
// admin-table.ts — tables with editing capabilities
export const {
injectAppTable: injectAdminTable,
createAppColumnHelper: createAdminColumnHelper,
} = createTableHook({
_features: tableFeatures({ rowSortingFeature, columnFilteringFeature }),
_rowModels: { /* ... */ },
cellComponents: { EditableCell, DeleteButton },
})
// readonly-table.ts — simpler read-only tables
export const {
injectAppTable: injectReadonlyTable,
createAppColumnHelper: createReadonlyColumnHelper,
} = createTableHook({
_features: tableFeatures({ rowSortingFeature }),
_rowModels: { /* ... */ },
cellComponents: { TextCell, NumberCell },
})
```
## Examples
- [Composable Tables](../examples/composable-tables) — Full example with two tables sharing the same `createTableHook` configuration.
- [Basic App Table](../examples/basic-app-table) — Minimal example with no pre-bound components.
================================================
FILE: docs/framework/angular/guide/table-state.md
================================================
---
title: Table State (Angular) Guide
---
## Table State (Angular) Guide
TanStack Table has a simple underlying internal state management system to store and manage the state of the table. It also lets you selectively pull out any state that you need to manage in your own state management. This guide will walk you through the different ways in which you can interact with and manage the state of the table.
### Accessing Table State
You do not need to set up anything special in order for the table state to work. If you pass nothing into either `state`, `initialState`, or any of the `on[State]Change` table options, the table will manage its own state internally. You can access any part of this internal state by using the `table.store.state` table instance API.
```ts
table = injectTable(() => ({
columns: this.columns,
data: this.data(),
//...
}))
someHandler() {
console.log(this.table.store.state) //access the entire internal state
console.log(this.table.store.state.rowSelection) //access just the row selection state
}
```
### Custom Initial State
If all you need to do for certain states is customize their initial default values, you still do not need to manage any of the state yourself. You can simply set values in the `initialState` option of the table instance.
```jsx
table = injectTable(() => ({
columns: this.columns,
data: this.data(),
initialState: {
columnOrder: ['age', 'firstName', 'lastName'], //customize the initial column order
columnVisibility: {
id: false //hide the id column by default
},
expanded: true, //expand all rows by default
sorting: [
{
id: 'age',
desc: true //sort by age in descending order by default
}
]
},
//...
}))
```
> **Note**: Only specify each particular state in either `initialState` or `state`, but not both. If you pass in a particular state value to both `initialState` and `state`, the initialized state in `state` will take overwrite any corresponding value in `initialState`.
### Controlled State
If you need easy access to the table state in other areas of your application, TanStack Table makes it easy to control and manage any or all of the table state in your own state management system. You can do this by passing in your own state and state management functions to the `state` and `on[State]Change` table options.
#### Individual Controlled State
You can control just the state that you need easy access to. You do NOT have to control all of the table state if you do not need to. It is recommended to only control the state that you need on a case-by-case basis.
In order to control a particular state, you need to both pass in the corresponding `state` value and the `on[State]Change` function to the table instance.
Let's take filtering, sorting, and pagination as an example in a "manual" server-side data fetching scenario. You can store the filtering, sorting, and pagination state in your own state management, but leave out any other state like column order, column visibility, etc. if your API does not care about those values.
```ts
import {signal} from '@angular/core';
import {SortingState, ColumnFiltersState, PaginationState} from '@tanstack/angular-table'
import {toObservable} from "@angular/core/rxjs-interop";
import {combineLatest, switchMap} from 'rxjs';
class TableComponent {
readonly columnFilters = signal<ColumnFiltersState>([]) //no default filters
readonly sorting = signal<SortingState>([
{
id: 'age',
desc: true, //sort by age in descending order by default
}
])
readonly pagination = signal<PaginationState>({
pageIndex: 0,
pageSize: 15
})
//Use our controlled state values to fetch data
readonly data$ = combineLatest({
filters: toObservable(this.columnFilters),
sorting: toObservable(this.sorting),
pagination: toObservable(this.pagination)
}).pipe(
switchMap(({filters, sorting, pagination}) => fetchData(filters, sorting, pagination))
)
readonly data = toSignal(this.data$);
readonly table = injectTable(() => ({
columns: this.columns,
data: this.data(),
//...
state: {
columnFilters: this.columnFilters(), //pass controlled state back to the table (overrides internal state)
sorting: this.sorting(),
pagination: this.pagination(),
},
onColumnFiltersChange: updater => { //hoist columnFilters state into our own state management
updater instanceof Function
? this.columnFilters.update(updater)
: this.columnFilters.set(updater)
},
onSortingChange: updater => {
updater instanceof Function
? this.sorting.update(updater)
: this.sorting.set(updater)
},
onPaginationChange: updater => {
updater instanceof Function
? this.pagination.update(updater)
: this.pagination.set(updater)
},
}))
}
//...
```
#### Fully Controlled State
Alternatively, you can control the entire table state with the `onStateChange` table option. It will hoist out the entire table state into your own state management system. Be careful with this approach, as you might find that raising some frequently changing state values up a component tree, like `columnSizingInfo` state`, might cause bad performance issues.
A couple of more tricks may be needed to make this work. If you use the `onStateChange` table option, the initial values of the `state` must be populated with all of the relevant state values for all of the features that you want to use. You can either manually type out all of the initial state values, or use a constructor in a special way as shown below.
```ts
class TableComponent {
// create an empty table state, we'll override it later
readonly state = signal({} as TableState);
// create a table instance with default state values
readonly table = injectTable(() => ({
columns: this.columns,
data: this.data(),
// our fully controlled state overrides the internal state
state: this.state(),
onStateChange: updater => {
// any state changes will be pushed up to our own state management
this.state.set(
updater instanceof Function ? updater(this.state()) : updater
)
}
}))
constructor() {
// set the initial table state
this.state.set({
// populate the initial state with all of the default state values
// from the table instance
...this.table.initialState,
pagination: {
pageIndex: 0,
pageSize: 15, // optionally customize the initial pagination state.
},
})
}
}
```
### On State Change Callbacks
So far, we have seen the `on[State]Change` and `onStateChange` table options work to "hoist" the table state changes into our own state management. However, there are a few things about these using these options that you should be aware of.
#### 1. **State Change Callbacks MUST have their corresponding state value in the `state` option**.
Specifying an `on[State]Change` callback tells the table instance that this will be a controlled state. If you do not specify the corresponding `state` value, that state will be "frozen" with its initial value.
```ts
class TableComponent {
sorting = signal<SortingState>([])
table = injectTable(() => ({
columns: this.columns,
data: this.data(),
//...
state: {
sorting: this.sorting(), // required because we are using `onSortingChange`
},
onSortingChange: updater => { // makes the `state.sorting` controlled
updater instanceof Function
? this.sorting.update(updater)
: this.sorting.set(updater)
}
}))
}
```
#### 2. **Updaters can either be raw values or callback functions**.
The `on[State]Change` and `onStateChange` callbacks work exactly like the `setState` functions in React. The updater values can either be a new state value or a callback function that takes the previous state value and returns the new state value.
What implications does this have? It means that if you want to add in some extra logic in any of the `on[State]Change` callbacks, you can do so, but you need to check whether or not the new incoming updater value is a function or value.
This is why you will see the `updater instanceof Function ? this.state.update(updater) : this.state.set(updater)` pattern in the examples above. This pattern checks if the updater is a function, and if it is, it calls the function with the previous state value to get the new state value, or the signal will require `signal.update` to be called with the updater instead of `signal.set`.
### State Types
All complex states in TanStack Table have their own TypeScript types that you can import and use. This can be handy for ensuring that you are using the correct data structures and properties for the state values that you are controlling.
```ts
import {injectTable, type SortingState} from '@tanstack/angular-table'
class TableComponent {
readonly sorting = signal<SortingState>([
{
id: 'age', // you should get autocomplete for the `id` and `desc` properties
desc: true,
}
])
}
```
================================================
FILE: docs/framework/angular/reference/classes/FlexRenderCell.md
================================================
---
id: FlexRenderCell
title: FlexRenderCell
---
# Class: FlexRenderCell\<TFeatures, TData, TValue\>
Defined in: [helpers/flexRenderCell.ts:62](https://github.com/TanStack/table/blob/main/packages/angular-table/src/helpers/flexRenderCell.ts#L62)
Simplified directive wrapper of `*flexRender`.
Use this utility component to render headers, cells, or footers with custom markup.
Only one prop (`cell`, `header`, or `footer`) may be passed based on the used selector.
## Examples
```html
<td *flexRenderCell="cell; let cell">{{cell}}</td>
<th *flexRenderHeader="header; let header">{{header}}</th>
<th *flexRenderFooter="footer; let footer">{{footer}}</th>
```
This replaces calling `*flexRender` directly like this:
```html
<td *flexRender="cell.column.columnDef.cell; props: cell.getContext(); let cell">{{cell}}</td>
<td *flexRender="header.column.columnDef.header; props: header.getContext(); let header">{{header}}</td>
<td *flexRender="footer.column.columnDef.footer; props: footer.getContext(); let footer">{{footer}}</td>
```
Can be imported through FlexRenderCell or [FlexRender](../variables/FlexRender.md) import,
which the latter is preferred.
```ts
import {FlexRender} from '@tanstack/angular-table
@Component({
// ...
imports: [
FlexRender
]
})
```
## Type Parameters
### TFeatures
`TFeatures` *extends* `TableFeatures`
### TData
`TData` *extends* `RowData`
### TValue
`TValue` *extends* `CellData`
## Constructors
### Constructor
```ts
new FlexRenderCell<TFeatures, TData, TValue>(): FlexRenderCell<TFeatures, TData, TValue>;
```
Defined in: [helpers/flexRenderCell.ts:118](https://github.com/TanStack/table/blob/main/packages/angular-table/src/helpers/flexRenderCell.ts#L118)
#### Returns
`FlexRenderCell`\<`TFeatures`, `TData`, `TValue`\>
## Properties
### cell
```ts
readonly cell: InputSignal<Cell<TFeatures, TData, TValue> | undefined>;
```
Defined in: [helpers/flexRenderCell.ts:67](https://github.com/TanStack/table/blob/main/packages/angular-table/src/helpers/flexRenderCell.ts#L67)
***
### footer
```ts
readonly footer: InputSignal<Header<TFeatures, TData, TValue> | undefined>;
```
Defined in: [helpers/flexRenderCell.ts:75](https://github.com/TanStack/table/blob/main/packages/angular-table/src/helpers/flexRenderCell.ts#L75)
***
### header
```ts
readonly header: InputSignal<Header<TFeatures, TData, TValue> | undefined>;
```
Defined in: [helpers/flexRenderCell.ts:71](https://github.com/TanStack/table/blob/main/packages/angular-table/src/helpers/flexRenderCell.ts#L71)
================================================
FILE: docs/framework/angular/reference/classes/FlexRenderComponentInstance.md
================================================
---
id: FlexRenderComponentInstance
title: FlexRenderComponentInstance
---
# Class: FlexRenderComponentInstance\<TComponent\>
Defined in: [flex-render/flexRenderComponent.ts:259](https://github.com/TanStack/table/blob/main/packages/angular-table/src/flex-render/flexRenderComponent.ts#L259)
Wrapper class for a component that will be used as content for [FlexRenderDirective](FlexRenderDirective.md)
Prefer [flexRenderComponent](../functions/flexRenderComponent.md) helper for better type-safety
## Type Parameters
### TComponent
`TComponent` = `any`
## Implements
- [`FlexRenderComponent`](../interfaces/FlexRenderComponent.md)\<`TComponent`\>
## Constructors
### Constructor
```ts
new FlexRenderComponentInstance<TComponent>(
component,
inputs?,
injector?,
outputs?,
directives?,
bindings?): FlexRenderComponentInstance<TComponent>;
```
Defined in: [flex-render/flexRenderComponent.ts:266](https://github.com/TanStack/table/blob/main/packages/angular-table/src/flex-render/flexRenderComponent.ts#L266)
#### Parameters
##### component
`Type`\<`TComponent`\>
##### inputs?
`Inputs`\<`TComponent`\>
##### injector?
`Injector`
##### outputs?
`Outputs`\<`TComponent`\>
##### directives?
(`Type`\<`unknown`\> \| `DirectiveWithBindings`\<`unknown`\>)[]
##### bindings?
`Binding`[]
#### Returns
`FlexRenderComponentInstance`\<`TComponent`\>
## Properties
### allowedInputNames
```ts
readonly allowedInputNames: string[] = [];
```
Defined in: [flex-render/flexRenderComponent.ts:263](https://github.com/TanStack/table/blob/main/packages/angular-table/src/flex-render/flexRenderComponent.ts#L263)
List of allowed input names.
#### Implementation of
[`FlexRenderComponent`](../interfaces/FlexRenderComponent.md).[`allowedInputNames`](../interfaces/FlexRenderComponent.md#allowedinputnames)
***
### allowedOutputNames
```ts
readonly allowedOutputNames: string[] = [];
```
Defined in: [flex-render/flexRenderComponent.ts:264](https://github.com/TanStack/table/blob/main/packages/angular-table/src/flex-render/flexRenderComponent.ts#L264)
List of allowed output names.
#### Implementation of
[`FlexRenderComponent`](../interfaces/FlexRenderComponent.md).[`allowedOutputNames`](../interfaces/FlexRenderComponent.md#allowedoutputnames)
***
### bindings?
```ts
readonly optional bindings: Binding[];
```
Defined in: [flex-render/flexRenderComponent.ts:272](https://github.com/TanStack/table/blob/main/packages/angular-table/src/flex-render/flexRenderComponent.ts#L272)
Bindings to apply to the root component
#### See
FlexRenderOptions#bindings
#### Implementation of
[`FlexRenderComponent`](../interfaces/FlexRenderComponent.md).[`bindings`](../interfaces/FlexRenderComponent.md#bindings)
***
### component
```ts
readonly component: Type<TComponent>;
```
Defined in: [flex-render/flexRenderComponent.ts:267](https://github.com/TanStack/table/blob/main/packages/angular-table/src/flex-render/flexRenderComponent.ts#L267)
The component type
#### Implementation of
[`FlexRenderComponent`](../interfaces/FlexRenderComponent.md).[`component`](../interfaces/FlexRenderComponent.md#component)
***
### directives?
```ts
readonly optional directives: (Type<unknown> | DirectiveWithBindings<unknown>)[];
```
Defined in: [flex-render/flexRenderComponent.ts:271](https://github.com/TanStack/table/blob/main/packages/angular-table/src/flex-render/flexRenderComponent.ts#L271)
Directives that should be applied to the component.
#### See
#### Implementation of
[`FlexRenderComponent`](../interfaces/FlexRenderComponent.md).[`directives`](../interfaces/FlexRenderComponent.md#directives)
***
### injector?
```ts
readonly optional injector: Injector;
```
Defined in: [flex-render/flexRenderComponent.ts:269](https://github.com/TanStack/table/blob/main/packages/angular-table/src/flex-render/flexRenderComponent.ts#L269)
Optional Injector that will be used when rendering the component.
#### See
FlexRenderOptions#injector
#### Implementation of
[`FlexRenderComponent`](../interfaces/FlexRenderComponent.md).[`injector`](../interfaces/FlexRenderComponent.md#injector)
***
### inputs?
```ts
readonly optional inputs: Inputs<TComponent>;
```
Defined in: [flex-render/flexRenderComponent.ts:268](https://github.com/TanStack/table/blob/main/packages/angular-table/src/flex-render/flexRenderComponent.ts#L268)
Component instance inputs. Set via [componentRef.setInput API](https://angular.dev/api/core/ComponentRef#setInput))
#### See
FlexRenderOptions#inputs
#### Implementation of
[`FlexRenderComponent`](../interfaces/FlexRenderComponent.md).[`inputs`](../interfaces/FlexRenderComponent.md#inputs)
***
### mirror
```ts
readonly mirror: ComponentMirror<TComponent>;
```
Defined in: [flex-render/flexRenderComponent.ts:262](https://github.com/TanStack/table/blob/main/packages/angular-table/src/flex-render/flexRenderComponent.ts#L262)
Reflected metadata about the component.
#### Implementation of
[`FlexRenderComponent`](../interfaces/FlexRenderComponent.md).[`mirror`](../interfaces/FlexRenderComponent.md#mirror)
***
### outputs?
```ts
readonly optional outputs: Outputs<TComponent>;
```
Defined in: [flex-render/flexRenderComponent.ts:270](https://github.com/TanStack/table/blob/main/packages/angular-table/src/flex-render/flexRenderComponent.ts#L270)
Component instance outputs. Subscribed via OutputEmitterRef#subscribe
#### See
FlexRenderOptions#outputs
#### Implementation of
[`FlexRenderComponent`](../interfaces/FlexRenderComponent.md).[`outputs`](../interfaces/FlexRenderComponent.md#outputs)
================================================
FILE: docs/framework/angular/reference/classes/FlexRenderDirective.md
================================================
---
id: FlexRenderDirective
title: FlexRenderDirective
---
# Class: FlexRenderDirective\<TFeatures, TRowData, TValue, TProps\>
Defined in: [flexRender.ts:84](https://github.com/TanStack/table/blob/main/packages/angular-table/src/flexRender.ts#L84)
Use this utility directive to render headers, cells, or footers with custom markup.
Note: If you are rendering cell, header, or footer without custom context or other props,
you can use the [FlexRenderCell](FlexRenderCell.md) directive as shorthand instead .
## Example
```ts
import {FlexRender} from '@tanstack/angular-table';
@Component({
imports: [FlexRender],
template: `
<td
*flexRender="
cell.column.columnDef.cell;
props: cell.getContext();
let cell"
>
{{cell}}
</td>
<th
*flexRender="
header.column.columnDef.header;
props: header.getContext();
let header"
>
{{header}}
</td>
<td
*flexRender="
footer.column.columnDef.footer;
props: footer.getContext();
let footer"
>
{{footer}}
</td>
`,
})
class App {
}
```
Can be imported through FlexRenderDirective or [FlexRender](../variables/FlexRender.md) import,
which the latter is preferred.
## Type Parameters
### TFeatures
`TFeatures` *extends* `TableFeatures`
### TRowData
`TRowData` *extends* `RowData`
### TValue
`TValue` *extends* `CellData`
### TProps
`TProps` *extends*
\| `NonNullable`\<`unknown`\>
\| `CellContext`\<`TFeatures`, `TRowData`, `TValue`\>
\| `HeaderContext`\<`TFeatures`, `TRowData`, `TValue`\>
## Constructors
### Constructor
```ts
new FlexRenderDirective<TFeatures, TRowData, TValue, TProps>(): FlexRenderDirective<TFeatures, TRowData, TValue, TProps>;
```
Defined in: [flexRender.ts:109](https://github.com/TanStack/table/blob/main/packages/angular-table/src/flexRender.ts#L109)
#### Returns
`FlexRenderDirective`\<`TFeatures`, `TRowData`, `TValue`, `TProps`\>
## Properties
### content
```ts
readonly content: InputSignal<FlexRenderInputContent<TProps>>;
```
Defined in: [flexRender.ts:93](https://github.com/TanStack/table/blob/main/packages/angular-table/src/flexRender.ts#L93)
***
### injector
```ts
readonly injector: InputSignal<Injector>;
```
Defined in: [flexRender.ts:102](https://github.com/TanStack/table/blob/main/packages/angular-table/src/flexRender.ts#L102)
***
### props
```ts
readonly props: InputSignal<TProps>;
```
Defined in: [flexRender.ts:98](https://github.com/TanStack/table/blob/main/packages/angular-table/src/flexRender.ts#L98)
================================================
FILE: docs/framework/angular/reference/classes/TanStackTable.md
================================================
---
id: TanStackTable
title: TanStackTable
---
# Class: TanStackTable\<TFeatures, TData, TSelected\>
Defined in: [helpers/table.ts:59](https://github.com/TanStack/table/blob/main/packages/angular-table/src/helpers/table.ts#L59)
Provides a TanStack Table instance (`AngularTable`) in Angular DI.
The table can be injected by:
- any descendant of an element using `[tanStackTable]="..."`
- any component instantiated by `*flexRender` when the render props contains `table`
## Example
```html
<div [tanStackTable]="table">
<app-pagination />
</div>
```
```ts
@Component({
selector: 'app-pagination',
template: `
<button (click)="prev()" [disabled]="!table().getCanPreviousPage()">Prev</button>
<button (click)="next()" [disabled]="!table().getCanNextPage()">Next</button>
`,
})
export class PaginationComponent {
readonly table = injectTableContext()
prev() {
this.table().previousPage()
}
next() {
this.table().nextPage()
}
}
```
## Type Parameters
### TFeatures
`TFeatures` *extends* `TableFeatures`
### TData
`TData` *extends* `RowData`
### TSelected
`TSelected` *extends* `object` = `TableState`\<`TFeatures`\>
## Constructors
### Constructor
```ts
new TanStackTable<TFeatures, TData, TSelected>(): TanStackTable<TFeatures, TData, TSelected>;
```
#### Returns
`TanStackTable`\<`TFeatures`, `TData`, `TSelected`\>
## Properties
### table
```ts
readonly table: InputSignal<AngularTable<TFeatures, TData, TSelected>>;
```
Defined in: [helpers/table.ts:69](https://github.com/TanStack/table/blob/main/packages/angular-table/src/helpers/table.ts#L69)
The current TanStack Table instance.
Provided as a required signal input so DI consumers always read the latest value.
================================================
FILE: docs/framework/angular/reference/classes/TanStackTableCell.md
================================================
---
id: TanStackTableCell
title: TanStackTableCell
---
# Class: TanStackTableCell\<TFeatures, TData, TValue\>
Defined in: [helpers/cell.ts:76](https://github.com/TanStack/table/blob/main/packages/angular-table/src/helpers/cell.ts#L76)
Provides a TanStack Table `Cell` instance in Angular DI.
The cell can be injected by:
- any descendant of an element using `[tanStackTableCell]="..."`
- any component instantiated by `*flexRender` when the render props contains `cell`
## Examples
Inject from the nearest `[tanStackTableCell]`:
```html
<td [tanStackTableCell]="cell">
<app-cell-actions />
</td>
```
```ts
@Component({
selector: 'app-cell-actions',
template: `{{ cell().id }}`,
})
export class CellActionsComponent {
readonly cell = injectTableCellContext()
}
```
Inject inside a component rendered via `flexRender`:
```ts
@Component({
selector: 'app-price-cell',
template: `{{ cell().getValue() }}`,
})
export class PriceCellComponent {
readonly cell = injectTableCellContext()
}
```
## Type Parameters
### TFeatures
`TFeatures` *extends* `TableFeatures`
### TData
`TData` *extends* `RowData`
### TValue
`TValue` *extends* `CellData`
## Implements
- [`TanStackTableCellContext`](../interfaces/TanStackTableCellContext.md)\<`TFeatures`, `TData`, `TValue`\>
## Constructors
### Constructor
```ts
new TanStackTableCell<TFeatures, TData, TValue>(): TanStackTableCell<TFeatures, TData, TValue>;
```
#### Returns
`TanStackTableCell`\<`TFeatures`, `TData`, `TValue`\>
## Properties
### cell
```ts
readonly cell: InputSignal<Cell<TFeatures, TData, TValue>>;
```
Defined in: [helpers/cell.ts:86](https://github.com/TanStack/table/blob/main/packages/angular-table/src/helpers/cell.ts#L86)
The current TanStack Table cell.
Provided as a required signal input so DI consumers always read the latest value.
#### Implementation of
[`TanStackTableCellContext`](../interfaces/TanStackTableCellContext.md).[`cell`](../interfaces/TanStackTableCellContext.md#cell)
================================================
FILE: docs/framework/angular/reference/classes/TanStackTableHeader.md
================================================
---
id: TanStackTableHeader
title: TanStackTableHeader
---
# Class: TanStackTableHeader\<TFeatures, TData, TValue\>
Defined in: [helpers/header.ts:71](https://github.com/TanStack/table/blob/main/packages/angular-table/src/helpers/header.ts#L71)
Provides a TanStack Table `Header` instance in Angular DI.
The header can be injected by:
- any descendant of an element using `[tanStackTableHeader]="..."`
- any component instantiated by `*flexRender` when the render props contains `header`
## Example
```html
<th [tanStackTableHeader]="header">
<app-sort-indicator />
</th>
```
```ts
@Component({
selector: 'app-sort-indicator',
template: `
<button (click)="toggle()">
{{ header().column.id }}
</button>
`,
})
export class SortIndicatorComponent {
readonly header = injectTableHeaderContext()
toggle() {
this.header().column.toggleSorting()
}
}
```
## Type Parameters
### TFeatures
`TFeatures` *extends* `TableFeatures`
### TData
`TData` *extends* `RowData`
### TValue
`TValue` *extends* `CellData`
## Implements
- [`TanStackTableHeaderContext`](../interfaces/TanStackTableHeaderContext.md)\<`TFeatures`, `TData`, `TValue`\>
## Constructors
### Constructor
```ts
new TanStackTableHeader<TFeatures, TData, TValue>(): TanStackTableHeader<TFeatures, TData, TValue>;
```
#### Returns
`TanStackTableHeader`\<`TFeatures`, `TData`, `TValue`\>
## Properties
### header
```ts
readonly header: InputSignal<Header<TFeatures, TData, TValue>>;
```
Defined in: [helpers/header.ts:81](https://github.com/TanStack/table/blob/main/packages/angular-table/src/helpers/header.ts#L81)
The current TanStack Table header.
Provided as a required signal input so DI consumers always read the latest value.
#### Implementation of
[`TanStackTableHeaderContext`](../interfaces/TanStackTableHeaderContext.md).[`header`](../interfaces/TanStackTableHeaderContext.md#header)
================================================
FILE: docs/framework/angular/reference/functions/createTableHook.md
================================================
---
id: createTableHook
title: createTableHook
---
# Function: createTableHook()
```ts
function createTableHook<TFeatures, TTableComponents, TCellComponents, THeaderComponents>(__namedParameters): CreateTableHookResult<TFeatures, TTableComponents, TCellComponents, THeaderComponents>;
```
Defined in: [helpers/createTableHook.ts:352](https://github.com/TanStack/table/blob/main/packages/angular-table/src/helpers/createTableHook.ts#L352)
## Type Parameters
### TFeatures
`TFeatures` *extends* `TableFeatures`
### TTableComponents
`TTableComponents` *extends* `Record`\<`string`, `RenderableComponent`\>
### TCellComponents
`TCellComponents` *extends* `Record`\<`string`, `RenderableComponent`\>
### THeaderComponents
`THeaderComponents` *extends* `Record`\<`string`, `RenderableComponent`\>
## Parameters
### \_\_namedParameters
[`CreateTableContextOptions`](../type-aliases/CreateTableContextOptions.md)\<`TFeatures`, `TTableComponents`, `TCellComponents`, `THeaderComponents`\>
## Returns
[`CreateTableHookResult`](../type-aliases/CreateTableHookResult.md)\<`TFeatures`, `TTableComponents`, `TCellComponents`, `THeaderComponents`\>
================================================
FILE: docs/framework/angular/reference/functions/flexRenderComponent.md
================================================
---
id: flexRenderComponent
title: flexRenderComponent
---
# Function: flexRenderComponent()
```ts
function flexRenderComponent<TComponent>(component, options?): FlexRenderComponent<TComponent>;
```
Defined in: [flex-render/flexRenderComponent.ts:150](https://github.com/TanStack/table/blob/main/packages/angular-table/src/flex-render/flexRenderComponent.ts#L150)
Helper function to create a [FlexRenderComponent](../interfaces/FlexRenderComponent.md) instance, with better type-safety.
## Type Parameters
### TComponent
`TComponent` = `any`
## Parameters
### component
`Type`\<`TComponent`\>
### options?
`FlexRenderOptions`\<`Inputs`\<`TComponent`\>, `Outputs`\<`TComponent`\>\>
## Returns
[`FlexRenderComponent`](../interfaces/FlexRenderComponent.md)\<`TComponent`\>
## Example
```ts
import {flexRenderComponent} from '@tanstack/angular-table'
import {inputBinding, outputBinding} from '@angular/core';
const columns = [
{
cell: ({ row }) => {
return flexRenderComponent(MyComponent, {
inputs: { value: mySignalValue() },
outputs: { valueChange: (val) => {} }
// or using angular native createComponent#binding api
bindings: [
inputBinding('value', mySignalValue),
outputBinding('valueChange', value => {
console.log("my value changed to", value)
})
]
})
},
},
]
```
================================================
FILE: docs/framework/angular/reference/functions/injectFlexRenderContext.md
================================================
---
id: injectFlexRenderContext
title: injectFlexRenderContext
---
# Function: injectFlexRenderContext()
```ts
function injectFlexRenderContext<T>(): T;
```
Defined in: [flex-render/context.ts:12](https://github.com/TanStack/table/blob/main/packages/angular-table/src/flex-render/context.ts#L12)
Inject the flex render context props.
Can be used in components rendered via FlexRender directives.
## Type Parameters
### T
`T` *extends* `object`
## Returns
`T`
================================================
FILE: docs/framework/angular/reference/functions/injectTable.md
================================================
---
id: injectTable
title: injectTable
---
# Function: injectTable()
```ts
function injectTable<TFeatures, TData, TSelected>(options, selector): AngularTable<TFeatures, TData, TSelected>;
```
Defined in: [injectTable.ts:95](https://github.com/TanStack/table/blob/main/packages/angular-table/src/injectTable.ts#L95)
Creates and returns an Angular-reactive table instance.
The initializer is intentionally re-evaluated whenever any signal read inside it changes.
This is how the adapter keeps the table in sync with Angular's reactivity model.
Because of that behavior, keep expensive/static values (for example `columns`, feature setup, row models)
as stable references outside the initializer, and only read reactive state (`data()`, pagination/filter/sorting signals, etc.)
inside it.
The returned table is also signal-reactive: table state and table APIs are wired for Angular signals, so you can safely consume table methods inside `computed(...)` and `effect(...)`.
## Type Parameters
### TFeatures
`TFeatures` *extends* `TableFeatures`
### TData
`TData` *extends* `RowData`
### TSelected
`TSelected` = `TableState`\<`TFeatures`\>
## Parameters
### options
() => `TableOptions`\<`TFeatures`, `TData`\>
### selector
(`state`) => `TSelected`
## Returns
[`AngularTable`](../type-aliases/AngularTable.md)\<`TFeatures`, `TData`, `TSelected`\>
An Angular-reactive TanStack Table instance.
## Example
1. Register the table features you need
```ts
// Register only the features you need
import {tableFeatures, rowPaginationFeature} from '@tanstack/angular-table';
const _features = tableFeatures({
rowPaginationFeature,
// ...all other features you need
})
// Use all table core features
import {stockFeatures} from '@tanstack/angular-table';
const _features = tableFeatures(stockFeatures);
```
2. Prepare the table columns
```ts
import {ColumnDef} from '@tanstack/angular-table';
type MyData = {}
const columns: ColumnDef<typeof _features, MyData>[] = [
// ...column definitions
]
// or using createColumnHelper
import {createColumnHelper} from '@tanstack/angular-table';
const columnHelper = createColumnHelper<typeof _features, MyData>();
const columns = columnHelper.columns([
columnHelper.accessor(...),
// ...other columns
])
```
3. Create the table instance with `injectTable`
```ts
const table = injectTable(() => {
// ...table options,
_features,
columns: columns,
data: myDataSignal(),
})
```
================================================
FILE: docs/framework/angular/reference/functions/injectTableCellContext.md
================================================
---
id: injectTableCellContext
title: injectTableCellContext
---
# Function: injectTableCellContext()
```ts
function injectTableCellContext<TFeatures, TData, TValue>(): Signal<Cell<TFeatures, TData, TValue>>;
```
Defined in: [helpers/cell.ts:98](https://github.com/TanStack/table/blob/main/packages/angular-table/src/helpers/cell.ts#L98)
Injects the current TanStack Table cell signal.
Available when:
- there is a nearest `[tanStackTableCell]` directive in the DI tree, or
- the caller is rendered via `*flexRender` with render props containing `cell`
## Type Parameters
### TFeatures
`TFeatures` *extends* `TableFeatures`
### TData
`TData` *extends* `RowData`
### TValue
`TValue` *extends* `unknown`
## Returns
`Signal`\<`Cell`\<`TFeatures`, `TData`, `TValue`\>\>
================================================
FILE: docs/framework/angular/reference/functions/injectTableContext.md
================================================
---
id: injectTableContext
title: injectTableContext
---
# Function: injectTableContext()
```ts
function injectTableContext<TFeatures, TData, TSelected>(): Signal<AngularTable<TFeatures, TData, TSelected>>;
```
Defined in: [helpers/table.ts:81](https://github.com/TanStack/table/blob/main/packages/angular-table/src/helpers/table.ts#L81)
Injects the current TanStack Table instance signal.
Available when:
- there is a nearest `[tanStackTable]` directive in the DI tree, or
- the caller is rendered via `*flexRender` with render props containing `table`
## Type Parameters
### TFeatures
`TFeatures` *extends* `TableFeatures`
### TData
`TData` *extends* `RowData`
### TSelected
`TSelected` *extends* `object` = `TableState`\<`TFeatures`\>
## Returns
`Signal`\<[`AngularTable`](../type-aliases/AngularTable.md)\<`TFeatures`, `TData`, `TSelected`\>\>
================================================
FILE: docs/framework/angular/reference/functions/injectTableHeaderContext.md
================================================
---
id: injectTableHeaderContext
title: injectTableHeaderContext
---
# Function: injectTableHeaderContext()
```ts
function injectTableHeaderContext<TFeatures, TData, TValue>(): Signal<Header<TFeatures, TData, TValue>>;
```
Defined in: [helpers/header.ts:93](https://github.com/TanStack/table/blob/main/packages/angular-table/src/helpers/header.ts#L93)
Injects the current TanStack Table header signal.
Available when:
- there is a nearest `[tanStackTableHeader]` directive in the DI tree, or
- the caller is rendered via `*flexRender` with render props containing `header`
## Type Parameters
### TFeatures
`TFeatures` *extends* `TableFeatures`
### TData
`TData` *extends* `RowData`
### TValue
`TValue` *extends* `unknown`
## Returns
`Signal`\<`Header`\<`TFeatures`, `TData`, `TValue`\>\>
================================================
FILE: docs/framework/angular/reference/index.md
================================================
---
id: "@tanstack/angular-table"
title: "@tanstack/angular-table"
---
# @tanstack/angular-table
## Classes
- [FlexRenderCell](classes/FlexRenderCell.md)
- [FlexRenderComponentInstance](classes/FlexRenderComponentInstance.md)
- [FlexRenderDirective](classes/FlexRenderDirective.md)
- [TanStackTable](classes/TanStackTable.md)
- [TanStackTableCell](classes/TanStackTableCell.md)
- [TanStackTableHeader](classes/TanStackTableHeader.md)
## Interfaces
- [AngularReactivityFlags](interfaces/AngularReactivityFlags.md)
- [FlexRenderComponent](interfaces/FlexRenderComponent.md)
- [TanStackTableCellContext](interfaces/TanStackTableCellContext.md)
- [TanStackTableHeaderContext](interfaces/TanStackTableHeaderContext.md)
## Type Aliases
- [AngularTable](type-aliases/AngularTable.md)
- [AppAngularTable](type-aliases/AppAngularTable.md)
- [AppCellContext](type-aliases/AppCellContext.md)
- [AppColumnHelper](type-aliases/AppColumnHelper.md)
- [AppHeaderContext](type-aliases/AppHeaderContext.md)
- [CreateTableContextOptions](type-aliases/CreateTableContextOptions.md)
- [CreateTableHookResult](type-aliases/CreateTableHookResult.md)
- [FlexRenderComponentProps](type-aliases/FlexRenderComponentProps.md)
- [FlexRenderContent](type-aliases/FlexRenderContent.md)
- [FlexRenderInputContent](type-aliases/FlexRenderInputContent.md)
## Variables
- [FlexRender](variables/FlexRender.md)
- [TanStackTableCellToken](variables/TanStackTableCellToken.md)
- [TanStackTableHeaderToken](variables/TanStackTableHeaderToken.md)
- [TanStackTableToken](variables/TanStackTableToken.md)
## Functions
- [createTableHook](functions/createTableHook.md)
- [flexRenderComponent](functions/flexRenderComponent.md)
- [injectFlexRenderContext](functions/injectFlexRenderContext.md)
- [injectTable](functions/injectTable.md)
- [injectTableCellContext](functions/injectTableCellContext.md)
- [injectTableContext](functions/injectTableContext.md)
- [injectTableHeaderContext](functions/injectTableHeaderContext.md)
================================================
FILE: docs/framework/angular/reference/interfaces/AngularReactivityFlags.md
================================================
---
id: AngularReactivityFlags
title: AngularReactivityFlags
---
# Interface: AngularReactivityFlags
Defined in: [angularReactivityFeature.ts:55](https://github.com/TanStack/table/blob/main/packages/angular-table/src/angularReactivityFeature.ts#L55)
Fine-grained configuration for Angular reactivity.
Each key controls whether prototype methods/getters on the corresponding TanStack Table
objects are wrapped with signal-aware access.
- `true` enables wrapping using the default skip rules.
- `false` disables wrapping entirely for that object type.
- a function allows customizing the skip rules (see SkipPropertyFn).
## Example
```ts
const table = injectTable(() => {
// ...table options,
reactivity: {
// fine-grained control over which table objects have reactive properties,
// and which properties are wrapped
header: true,
column: true,
row: true,
cell: true,
}
})
```
## Properties
### cell
```ts
cell: boolean | SkipPropertyFn;
```
Defined in: [angularReactivityFeature.ts:63](https://github.com/TanStack/table/blob/main/packages/angular-table/src/angularReactivityFeature.ts#L63)
Controls reactive wrapping for `Cell` instances.
***
### column
```ts
column: boolean | SkipPropertyFn;
```
Defined in: [angularReactivityFeature.ts:59](https://github.com/TanStack/table/blob/main/packages/angular-table/src/angularReactivityFeature.ts#L59)
Controls reactive wrapping for `Column` instances.
***
### header
```ts
header: boolean | SkipPropertyFn;
```
Defined in: [angularReactivityFeature.ts:57](https://github.com/TanStack/table/blob/main/packages/angular-table/src/angularReactivityFeature.ts#L57)
Controls reactive wrapping for `Header` instances.
***
### row
```ts
row: boolean | SkipPropertyFn;
```
Defined in: [angularReactivityFeature.ts:61](https://github.com/TanStack/table/blob/main/packages/angular-table/src/angularReactivityFeature.ts#L61)
Controls reactive wrapping for `Row` instances.
================================================
FILE: docs/framework/angular/reference/interfaces/FlexRenderComponent.md
================================================
---
id: FlexRenderComponent
title: FlexRenderComponent
---
# Interface: FlexRenderComponent\<TComponent\>
Defined in: [flex-render/flexRenderComponent.ts:205](https://github.com/TanStack/table/blob/main/packages/angular-table/src/flex-render/flexRenderComponent.ts#L205)
Wrapper interface for a component that will be used as content for [FlexRenderDirective](../classes/FlexRenderDirective.md).
Can be created using [flexRenderComponent](../functions/flexRenderComponent.md) helper.
## Example
```ts
import {flexRenderComponent} from '@tanstack/angular-table'
// Usage in cell/header/footer definition
const columns = [
{
cell: ({ row }) => {
return flexRenderComponent(MyComponent, {
inputs: { value: mySignalValue() },
outputs: { valueChange: (val) => {} }
// or using angular createComponent#bindings api
bindings: [
inputBinding('value', mySignalValue),
outputBinding('valueChange', value => {
console.log("my value changed to", value)
})
]
})
},
},
]
import {input, output} from '@angular/core';
@Component({
selector: 'my-component',
})
class MyComponent {
readonly value = input(0);
readonly valueChange = output<number>();
}
```
## Type Parameters
### TComponent
`TComponent` = `any`
## Properties
### allowedInputNames
```ts
readonly allowedInputNames: string[];
```
Defined in: [flex-render/flexRenderComponent.ts:217](https://github.com/TanStack/table/blob/main/packages/angular-table/src/flex-render/flexRenderComponent.ts#L217)
List of allowed input names.
***
### allowedOutputNames
```ts
readonly allowedOutputNames: string[];
```
Defined in: [flex-render/flexRenderComponent.ts:221](https://github.com/TanStack/table/blob/main/packages/angular-table/src/flex-render/flexRenderComponent.ts#L221)
List of allowed output names.
***
### bindings?
```ts
optional bindings: Binding[];
```
Defined in: [flex-render/flexRenderComponent.ts:245](https://github.com/TanStack/table/blob/main/packages/angular-table/src/flex-render/flexRenderComponent.ts#L245)
Bindings to apply to the root component
#### See
FlexRenderOptions#bindings
***
### component
```ts
readonly component: Type<TComponent>;
```
Defined in: [flex-render/flexRenderComponent.ts:209](https://github.com/TanStack/table/blob/main/packages/angular-table/src/flex-render/flexRenderComponent.ts#L209)
The component type
***
### directives?
```ts
optional directives: (Type<unknown> | DirectiveWithBindings<unknown>)[];
```
Defined in: [flex-render/flexRenderComponent.ts:251](https://github.com/TanStack/table/blob/main/packages/angular-table/src/flex-render/flexRenderComponent.ts#L251)
Directives that should be applied to the component.
#### See
***
### injector?
```ts
readonly optional injector: Injector;
```
Defined in: [flex-render/flexRenderComponent.ts:239](https://github.com/TanStack/table/blob/main/packages/angular-table/src/flex-render/flexRenderComponent.ts#L239)
Optional Injector that will be used when rendering the component.
#### See
FlexRenderOptions#injector
***
### inputs?
```ts
readonly optional inputs: Inputs<TComponent>;
```
Defined in: [flex-render/flexRenderComponent.ts:233](https://github.com/TanStack/table/blob/main/packages/angular-table/src/flex-render/flexRenderComponent.ts#L233)
Component instance inputs. Set via [componentRef.setInput API](https://angular.dev/api/core/ComponentRef#setInput))
#### See
FlexRenderOptions#inputs
***
### mirror
```ts
readonly mirror: ComponentMirror<TComponent>;
```
Defined in: [flex-render/flexRenderComponent.ts:213](https://github.com/TanStack/table/blob/main/packages/angular-table/src/flex-render/flexRenderComponent.ts#L213)
Reflected metadata about the component.
***
### outputs?
```ts
readonly optional outputs: Outputs<TComponent>;
```
Defined in: [flex-render/flexRenderComponent.ts:227](https://github.com/TanStack/table/blob/main/packages/angular-table/src/flex-render/flexRenderComponent.ts#L227)
Component instance outputs. Subscribed via OutputEmitterRef#subscribe
#### See
FlexRenderOptions#outputs
================================================
FILE: docs/framework/angular/reference/interfaces/TanStackTableCellContext.md
================================================
---
id: TanStackTableCellContext
title: TanStackTableCellContext
---
# Interface: TanStackTableCellContext\<TFeatures, TData, TValue\>
Defined in: [helpers/cell.ts:11](https://github.com/TanStack/table/blob/main/packages/angular-table/src/helpers/cell.ts#L11)
DI context shape for a TanStack Table cell.
This exists to make the current `Cell` injectable by any nested component/directive
without having to pass it through inputs/props manually.
## Type Parameters
### TFeatures
`TFeatures` *extends* `TableFeatures`
### TData
`TData` *extends* `RowData`
### TValue
`TValue` *extends* `CellData`
## Properties
### cell
```ts
cell: Signal<Cell<TFeatures, TData, TValue>>;
```
Defined in: [helpers/cell.ts:17](https://github.com/TanStack/table/blob/main/packages/angular-table/src/helpers/cell.ts#L17)
Signal that returns the current cell instance.
================================================
FILE: docs/framework/angular/reference/interfaces/TanStackTableHeaderContext.md
================================================
---
id: TanStackTableHeaderContext
title: TanStackTableHeaderContext
---
# Interface: TanStackTableHeaderContext\<TFeatures, TData, TValue\>
Defined in: [helpers/header.ts:11](https://github.com/TanStack/table/blob/main/packages/angular-table/src/helpers/header.ts#L11)
DI context shape for a TanStack Table header.
This exists to make the current `Header` injectable by any nested component/directive
without passing it through inputs/props.
## Type Parameters
### TFeatures
`TFeatures` *extends* `TableFeatures`
### TData
`TData` *extends* `RowData`
### TValue
`TValue` *extends* `CellData`
## Properties
### header
```ts
header: Signal<Header<TFeatures, TData, TValue>>;
```
Defined in: [helpers/header.ts:17](https://github.com/TanStack/table/blob/main/packages/angular-table/src/helpers/header.ts#L17)
Signal that returns the current header instance.
================================================
FILE: docs/framework/angular/reference/type-aliases/AngularTable.md
================================================
---
id: AngularTable
title: AngularTable
---
# Type Alias: AngularTable\<TFeatures, TData, TSelected\>
```ts
type AngularTable<TFeatures, TData, TSelected> = Table<TFeatures, TData> & object;
```
Defined in: [injectTable.ts:21](https://github.com/TanStack/table/blob/main/packages/angular-table/src/injectTable.ts#L21)
## Type Declaration
### state
```ts
readonly state: Signal<Readonly<TSelected>>;
```
The selected state from the table store, based on the selector provided.
### Subscribe()
```ts
Subscribe: <TSubSelected>(props) => Signal<Readonly<TSubSelected>>;
```
Subscribe to changes in the table store with a custom selector.
#### Type Parameters
##### TSubSelected
`TSubSelected` = \{
\}
#### Parameters
##### props
###### equal?
`ValueEqualityFn`\<`TSubSelected`\>
###### selector
(`state`) => `TSubSelected`
#### Returns
`Signal`\<`Readonly`\<`TSubSelected`\>\>
## Type Parameters
### TFeatures
`TFeatures` *extends* `TableFeatures`
### TData
`TData` *extends* `RowData`
### TSelected
`TSelected` = `TableState`\<`TFeatures`\>
================================================
FILE: docs/framework/angular/reference/type-aliases/AppAngularTable.md
================================================
---
id: AppAngularTable
title: AppAngularTable
---
# Type Alias: AppAngularTable\<TFeatures, TData, TSelected, TTableComponents, TCellComponents, THeaderComponents\>
```ts
type AppAngularTable<TFeatures, TData, TSelected, TTableComponents, TCellComponents, THeaderComponents> = AngularTable<TFeatures, TData, TSelected> & NoInfer<TTableComponents> & object;
```
Defined in: [helpers/createTableHook.ts:243](https://github.com/TanStack/table/blob/main/packages/angular-table/src/helpers/createTableHook.ts#L243)
Extended table API returned by useAppTable with all App wrapper components
## Type Declaration
### appCell()
```ts
appCell: <TValue>(cell) => Cell<TFeatures, TData, TValue> & NoInfer<TCellComponents>;
```
#### Type Parameters
##### TValue
`TValue`
#### Parameters
##### cell
`Cell`\<`TFeatures`, `TData`, `TValue`\>
#### Returns
`Cell`\<`TFeatures`, `TData`, `TValue`\> & `NoInfer`\<`TCellComponents`\>
### appFooter()
```ts
appFooter: <TValue>(footer) => Header<TFeatures, TData, TValue> & NoInfer<THeaderComponents>;
```
#### Type Parameters
##### TValue
`TValue`
#### Parameters
##### footer
`Header`\<`TFeatures`, `TData`, `TValue`\>
#### Returns
`Header`\<`TFeatures`, `TData`, `TValue`\> & `NoInfer`\<`THeaderComponents`\>
### appHeader()
```ts
appHeader: <TValue>(header) => Header<TFeatures, TData, TValue> & NoInfer<THeaderComponents>;
```
#### Type Parameters
##### TValue
`TValue`
#### Parameters
##### header
`Header`\<`TFeatures`, `TData`, `TValue`\>
#### Returns
`Header`\<`TFeatures`, `TData`, `TValue`\> & `NoInfer`\<`THeaderComponents`\>
## Type Parameters
### TFeatures
`TFeatures` *extends* `TableFeatures`
### TData
`TData` *extends* `RowData`
### TSelected
`TSelected`
### TTableComponents
`TTableComponents` *extends* `Record`\<`string`, `RenderableComponent`\>
### TCellComponents
`TCellComponents` *extends* `Record`\<`string`, `RenderableComponent`\>
### THeaderComponents
`THeaderComponents` *extends* `Record`\<`string`, `RenderableComponent`\>
================================================
FILE: docs/framework/angular/reference/type-aliases/AppCellContext.md
================================================
---
id: AppCellContext
title: AppCellContext
---
# Type Alias: AppCellContext\<TFeatures, TData, TValue, TCellComponents\>
```ts
type AppCellContext<TFeatures, TData, TValue, TCellComponents> = object;
```
Defined in: [helpers/createTableHook.ts:47](https://github.com/TanStack/table/blob/main/packages/angular-table/src/helpers/createTableHook.ts#L47)
Enhanced CellContext with pre-bound cell components.
The `cell` property includes the registered cellComponents.
## Type Parameters
### TFeatures
`TFeatures` *extends* `TableFeatures`
### TData
`TData` *extends* `RowData`
### TValue
`TValue` *extends* `CellData`
### TCellComponents
`TCellComponents` *extends* `Record`\<`string`, `RenderableComponent`\>
## Properties
### cell
```ts
cell: Cell<TFeatures, TData, TValue> & TCellComponents & object;
```
Defined in: [helpers/createTableHook.ts:53](https://github.com/TanStack/table/blob/main/packages/angular-table/src/helpers/createTableHook.ts#L53)
#### Type Declaration
##### FlexRender()
```ts
FlexRender: () => unknown;
```
###### Returns
`unknown`
***
### column
```ts
column: Column<TFeatures, TData, TValue>;
```
Defined in: [helpers/createTableHook.ts:55](https://github.com/TanStack/table/blob/main/packages/angular-table/src/helpers/createTableHook.ts#L55)
***
### getValue
```ts
getValue: CellContext<TFeatures, TData, TValue>["getValue"];
```
Defined in: [helpers/createTableHook.ts:56](https://github.com/TanStack/table/blob/main/packages/angular-table/src/helpers/createTableHook.ts#L56)
***
### renderValue
```ts
renderValue: CellContext<TFeatures, TData, TValue>["renderValue"];
```
Defined in: [helpers/createTableHook.ts:57](https://github.com/TanStack/table/blob/main/packages/angular-table/src/helpers/createTableHook.ts#L57)
***
### row
```ts
row: Row<TFeatures, TData>;
```
Defined in: [helpers/createTableHook.ts:58](https://github.com/TanStack/table/blob/main/packages/angular-table/src/helpers/createTableHook.ts#L58)
***
### table
```ts
table: Table<TFeatures, TData>;
```
Defined in: [helpers/createTableHook.ts:59](https://github.com/TanStack/table/blob/main/packages/angular-table/src/helpers/createTableHook.ts#L59)
================================================
FILE: docs/framework/angular/reference/type-aliases/AppColumnHelper.md
================================================
---
id: AppColumnHelper
title: AppColumnHelper
---
# Type Alias: AppColumnHelper\<TFeatures, TData, TCellComponents, THeaderComponents\>
```ts
type AppColumnHelper<TFeatures, TData, TCellComponents, THeaderComponents> = object;
```
Defined in: [helpers/createTableHook.ts:168](https://github.com/TanStack/table/blob/main/packages/angular-table/src/helpers/createTableHook.ts#L168)
Enhanced column helper with pre-bound components in cell/header/footer contexts.
This enables TypeScript to know about the registered components when defining columns.
## Type Parameters
### TFeatures
`TFeatures` *extends* `TableFeatures`
### TData
`TData` *extends* `RowData`
### TCellComponents
`TCellComponents` *extends* `Record`\<`string`, `RenderableComponent`\>
### THeaderComponents
`THeaderComponents` *extends* `Record`\<`string`, `RenderableComponent`\>
## Properties
### accessor()
```ts
accessor: <TAccessor, TValue>(accessor, column) => TAccessor extends AccessorFn<TData> ? AccessorFnColumnDef<TFeatures, TData, TValue> : AccessorKeyColumnDef<TFeatures, TData, TValue>;
```
Defined in: [helpers/createTableHook.ts:178](https://github.com/TanStack/table/blob/main/packages/angular-table/src/helpers/createTableHook.ts#L178)
Creates a data column definition with an accessor key or function.
The cell, header, and footer contexts include pre-bound components.
#### Type Parameters
##### TAccessor
`TAccessor` *extends* `AccessorFn`\<`TData`\> \| `DeepKeys`\<`TData`\>
##### TValue
`TValue` *extends* `TAccessor` *extends* `AccessorFn`\<`TData`, infer TReturn\> ? `TReturn` : `TAccessor` *extends* `DeepKeys`\<`TData`\> ? `DeepValue`\<`TData`, `TAccessor`\> : `never`
#### Par
gitextract_yn2n45g7/ ├── .editorconfig ├── .gitattributes ├── .github/ │ ├── FUNDING.yml │ ├── ISSUE_TEMPLATE/ │ │ ├── bug_report.yml │ │ └── config.yml │ ├── pull_request_template │ └── workflows/ │ ├── autofix.yml │ ├── pr.yml │ └── release.yml ├── .gitignore ├── .npmrc ├── .nvmrc ├── .nx/ │ └── workflows/ │ └── dynamic-changesets.yaml ├── .prettierignore ├── .vscode/ │ └── extensions.json ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── LICENSE ├── README.md ├── docs/ │ ├── config.json │ ├── enterprise/ │ │ └── ag-grid.md │ ├── faq.md │ ├── framework/ │ │ ├── angular/ │ │ │ ├── angular-table.md │ │ │ ├── guide/ │ │ │ │ ├── migrating.md │ │ │ │ ├── rendering.md │ │ │ │ ├── table-composition.md │ │ │ │ └── table-state.md │ │ │ └── reference/ │ │ │ ├── classes/ │ │ │ │ ├── FlexRenderCell.md │ │ │ │ ├── FlexRenderComponentInstance.md │ │ │ │ ├── FlexRenderDirective.md │ │ │ │ ├── TanStackTable.md │ │ │ │ ├── TanStackTableCell.md │ │ │ │ └── TanStackTableHeader.md │ │ │ ├── functions/ │ │ │ │ ├── createTableHook.md │ │ │ │ ├── flexRenderComponent.md │ │ │ │ ├── injectFlexRenderContext.md │ │ │ │ ├── injectTable.md │ │ │ │ ├── injectTableCellContext.md │ │ │ │ ├── injectTableContext.md │ │ │ │ └── injectTableHeaderContext.md │ │ │ ├── index.md │ │ │ ├── interfaces/ │ │ │ │ ├── AngularReactivityFlags.md │ │ │ │ ├── FlexRenderComponent.md │ │ │ │ ├── TanStackTableCellContext.md │ │ │ │ └── TanStackTableHeaderContext.md │ │ │ ├── type-aliases/ │ │ │ │ ├── AngularTable.md │ │ │ │ ├── AppAngularTable.md │ │ │ │ ├── AppCellContext.md │ │ │ │ ├── AppColumnHelper.md │ │ │ │ ├── AppHeaderContext.md │ │ │ │ ├── CreateTableContextOptions.md │ │ │ │ ├── CreateTableHookResult.md │ │ │ │ ├── FlexRenderComponentProps.md │ │ │ │ ├── FlexRenderContent.md │ │ │ │ └── FlexRenderInputContent.md │ │ │ └── variables/ │ │ │ ├── FlexRender.md │ │ │ ├── TanStackTableCellToken.md │ │ │ ├── TanStackTableHeaderToken.md │ │ │ └── TanStackTableToken.md │ │ ├── lit/ │ │ │ ├── guide/ │ │ │ │ └── table-state.md │ │ │ └── lit-table.md │ │ ├── preact/ │ │ │ └── guide/ │ │ │ └── create-table-hook.md │ │ ├── react/ │ │ │ ├── guide/ │ │ │ │ ├── create-table-hook.md │ │ │ │ ├── migrating.md │ │ │ │ ├── table-state.md │ │ │ │ └── use-legacy-table.md │ │ │ ├── react-table.md │ │ │ └── reference/ │ │ │ ├── index/ │ │ │ │ ├── functions/ │ │ │ │ │ ├── FlexRender-1.md │ │ │ │ │ ├── Subscribe.md │ │ │ │ │ ├── createTableHook.md │ │ │ │ │ ├── flexRender.md │ │ │ │ │ └── useTable.md │ │ │ │ ├── index.md │ │ │ │ ├── interfaces/ │ │ │ │ │ ├── AppCellComponent.md │ │ │ │ │ ├── AppCellPropsWithSelector.md │ │ │ │ │ ├── AppCellPropsWithoutSelector.md │ │ │ │ │ ├── AppHeaderComponent.md │ │ │ │ │ ├── AppHeaderPropsWithSelector.md │ │ │ │ │ ├── AppHeaderPropsWithoutSelector.md │ │ │ │ │ ├── AppTableComponent.md │ │ │ │ │ ├── AppTablePropsWithSelector.md │ │ │ │ │ └── AppTablePropsWithoutSelector.md │ │ │ │ └── type-aliases/ │ │ │ │ ├── AppCellContext.md │ │ │ │ ├── AppColumnHelper.md │ │ │ │ ├── AppHeaderContext.md │ │ │ │ ├── AppReactTable.md │ │ │ │ ├── CreateTableHookOptions.md │ │ │ │ ├── FlexRenderProps.md │ │ │ │ ├── ReactTable.md │ │ │ │ ├── Renderable.md │ │ │ │ └── SubscribeProps.md │ │ │ ├── index.md │ │ │ └── legacy/ │ │ │ ├── functions/ │ │ │ │ ├── getCoreRowModel.md │ │ │ │ ├── getExpandedRowModel.md │ │ │ │ ├── getFacetedMinMaxValues.md │ │ │ │ ├── getFacetedRowModel.md │ │ │ │ ├── getFacetedUniqueValues.md │ │ │ │ ├── getFilteredRowModel.md │ │ │ │ ├── getGroupedRowModel.md │ │ │ │ ├── getPaginationRowModel.md │ │ │ │ ├── getSortedRowModel.md │ │ │ │ ├── legacyCreateColumnHelper.md │ │ │ │ └── useLegacyTable.md │ │ │ ├── index.md │ │ │ ├── interfaces/ │ │ │ │ └── LegacyRowModelOptions.md │ │ │ └── type-aliases/ │ │ │ ├── LegacyCell.md │ │ │ ├── LegacyColumn.md │ │ │ ├── LegacyColumnDef.md │ │ │ ├── LegacyHeader.md │ │ │ ├── LegacyHeaderGroup.md │ │ │ ├── LegacyReactTable.md │ │ │ ├── LegacyRow.md │ │ │ ├── LegacyTable.md │ │ │ └── LegacyTableOptions.md │ │ ├── solid/ │ │ │ ├── guide/ │ │ │ │ └── table-state.md │ │ │ └── solid-table.md │ │ ├── svelte/ │ │ │ ├── guide/ │ │ │ │ └── table-state.md │ │ │ └── svelte-table.md │ │ ├── vanilla/ │ │ │ ├── guide/ │ │ │ │ └── table-state.md │ │ │ └── table-core.md │ │ └── vue/ │ │ ├── guide/ │ │ │ └── table-state.md │ │ └── vue-table.md │ ├── guide/ │ │ ├── cells.md │ │ ├── column-defs.md │ │ ├── column-faceting.md │ │ ├── column-filtering.md │ │ ├── column-ordering.md │ │ ├── column-pinning.md │ │ ├── column-sizing.md │ │ ├── column-visibility.md │ │ ├── columns.md │ │ ├── custom-features.md │ │ ├── data.md │ │ ├── expanding.md │ │ ├── features.md │ │ ├── filters.md │ │ ├── fuzzy-filtering.md │ │ ├── global-faceting.md │ │ ├── global-filtering.md │ │ ├── grouping.md │ │ ├── header-groups.md │ │ ├── headers.md │ │ ├── pagination.md │ │ ├── pinning.md │ │ ├── row-models.md │ │ ├── row-pinning.md │ │ ├── row-selection.md │ │ ├── rows.md │ │ ├── sorting.md │ │ ├── tables.md │ │ └── virtualization.md │ ├── installation.md │ ├── introduction.md │ ├── overview.md │ ├── reference/ │ │ ├── @tanstack/ │ │ │ └── namespaces/ │ │ │ ├── filterFn_arrIncludes/ │ │ │ │ ├── functions/ │ │ │ │ │ └── autoRemove.md │ │ │ │ └── index.md │ │ │ ├── filterFn_arrIncludesAll/ │ │ │ │ ├── functions/ │ │ │ │ │ └── autoRemove.md │ │ │ │ └── index.md │ │ │ ├── filterFn_arrIncludesSome/ │ │ │ │ ├── functions/ │ │ │ │ │ └── autoRemove.md │ │ │ │ └── index.md │ │ │ ├── filterFn_equals/ │ │ │ │ ├── functions/ │ │ │ │ │ └── autoRemove.md │ │ │ │ └── index.md │ │ │ ├── filterFn_equalsString/ │ │ │ │ ├── functions/ │ │ │ │ │ └── autoRemove.md │ │ │ │ └── index.md │ │ │ ├── filterFn_equalsStringSensitive/ │ │ │ │ ├── functions/ │ │ │ │ │ └── autoRemove.md │ │ │ │ └── index.md │ │ │ ├── filterFn_greaterThan/ │ │ │ │ ├── functions/ │ │ │ │ │ └── resolveFilterValue.md │ │ │ │ └── index.md │ │ │ ├── filterFn_greaterThanOrEqualTo/ │ │ │ │ ├── functions/ │ │ │ │ │ └── resolveFilterValue.md │ │ │ │ └── index.md │ │ │ ├── filterFn_inNumberRange/ │ │ │ │ ├── functions/ │ │ │ │ │ ├── autoRemove.md │ │ │ │ │ └── resolveFilterValue.md │ │ │ │ └── index.md │ │ │ ├── filterFn_includesString/ │ │ │ │ ├── functions/ │ │ │ │ │ └── autoRemove.md │ │ │ │ └── index.md │ │ │ ├── filterFn_includesStringSensitive/ │ │ │ │ ├── functions/ │ │ │ │ │ └── autoRemove.md │ │ │ │ └── index.md │ │ │ ├── filterFn_lessThan/ │ │ │ │ ├── functions/ │ │ │ │ │ └── resolveFilterValue.md │ │ │ │ └── index.md │ │ │ ├── filterFn_lessThanOrEqualTo/ │ │ │ │ ├── functions/ │ │ │ │ │ └── resolveFilterValue.md │ │ │ │ └── index.md │ │ │ └── filterFn_weakEquals/ │ │ │ ├── functions/ │ │ │ │ └── autoRemove.md │ │ │ └── index.md │ │ ├── functions/ │ │ │ ├── assignPrototypeAPIs.md │ │ │ ├── assignTableAPIs.md │ │ │ ├── buildHeaderGroups.md │ │ │ ├── callMemoOrStaticFn.md │ │ │ ├── cell_getContext.md │ │ │ ├── cell_getIsAggregated.md │ │ │ ├── cell_getIsGrouped.md │ │ │ ├── cell_getIsPlaceholder.md │ │ │ ├── cell_getValue.md │ │ │ ├── cell_renderValue.md │ │ │ ├── column_clearSorting.md │ │ │ ├── column_getAfter.md │ │ │ ├── column_getAggregationFn.md │ │ │ ├── column_getAutoAggregationFn.md │ │ │ ├── column_getAutoFilterFn.md │ │ │ ├── column_getAutoSortDir.md │ │ │ ├── column_getAutoSortFn.md │ │ │ ├── column_getCanFilter.md │ │ │ ├── column_getCanGlobalFilter.md │ │ │ ├── column_getCanGroup.md │ │ │ ├── column_getCanHide.md │ │ │ ├── column_getCanMultiSort.md │ │ │ ├── column_getCanPin.md │ │ │ ├── column_getCanResize.md │ │ │ ├── column_getCanSort.md │ │ │ ├── column_getFacetedMinMaxValues.md │ │ │ ├── column_getFacetedRowModel.md │ │ │ ├── column_getFacetedUniqueValues.md │ │ │ ├── column_getFilterFn.md │ │ │ ├── column_getFilterIndex.md │ │ │ ├── column_getFilterValue.md │ │ │ ├── column_getFirstSortDir.md │ │ │ ├── column_getFlatColumns.md │ │ │ ├── column_getGroupedIndex.md │ │ │ ├── column_getIndex.md │ │ │ ├── column_getIsFiltered.md │ │ │ ├── column_getIsFirstColumn.md │ │ │ ├── column_getIsGrouped.md │ │ │ ├── column_getIsLastColumn.md │ │ │ ├── column_getIsPinned.md │ │ │ ├── column_getIsResizing.md │ │ │ ├── column_getIsSorted.md │ │ │ ├── column_getIsVisible.md │ │ │ ├── column_getLeafColumns.md │ │ │ ├── column_getNextSortingOrder.md │ │ │ ├── column_getPinnedIndex.md │ │ │ ├── column_getSize.md │ │ │ ├── column_getSortFn.md │ │ │ ├── column_getSortIndex.md │ │ │ ├── column_getStart.md │ │ │ ├── column_getToggleGroupingHandler.md │ │ │ ├── column_getToggleSortingHandler.md │ │ │ ├── column_getToggleVisibilityHandler.md │ │ │ ├── column_pin.md │ │ │ ├── column_resetSize.md │ │ │ ├── column_setFilterValue.md │ │ │ ├── column_toggleGrouping.md │ │ │ ├── column_toggleSorting.md │ │ │ ├── column_toggleVisibility.md │ │ │ ├── constructCell.md │ │ │ ├── constructColumn.md │ │ │ ├── constructColumnFacetingFeature.md │ │ │ ├── constructColumnFilteringFeature.md │ │ │ ├── constructColumnGroupingFeature.md │ │ │ ├── constructColumnOrderingFeature.md │ │ │ ├── constructColumnPinningFeature.md │ │ │ ├── constructColumnResizingFeature.md │ │ │ ├── constructColumnSizingFeature.md │ │ │ ├── constructColumnVisibilityFeature.md │ │ │ ├── constructCoreCellsFeature.md │ │ │ ├── constructCoreColumnsFeature.md │ │ │ ├── constructCoreHeadersFeature.md │ │ │ ├── constructCoreRowModelsFeature.md │ │ │ ├── constructCoreRowsFeature.md │ │ │ ├── constructCoreTablesFeature.md │ │ │ ├── constructGlobalFilteringFeature.md │ │ │ ├── constructHeader.md │ │ │ ├── constructRow.md │ │ │ ├── constructRowExpandingFeature.md │ │ │ ├── constructRowPaginationFeature.md │ │ │ ├── constructRowPinningFeature.md │ │ │ ├── constructRowSelectionFeature.md │ │ │ ├── constructRowSortingFeature.md │ │ │ ├── constructTable.md │ │ │ ├── constructTableHelper.md │ │ │ ├── createColumnHelper.md │ │ │ ├── createCoreRowModel.md │ │ │ ├── createExpandedRowModel.md │ │ │ ├── createFacetedMinMaxValues.md │ │ │ ├── createFacetedRowModel.md │ │ │ ├── createFacetedUniqueValues.md │ │ │ ├── createFilteredRowModel.md │ │ │ ├── createGroupedRowModel.md │ │ │ ├── createPaginatedRowModel.md │ │ │ ├── createSortedRowModel.md │ │ │ ├── createTableStore.md │ │ │ ├── expandRows.md │ │ │ ├── flattenBy.md │ │ │ ├── functionalUpdate.md │ │ │ ├── getDefaultColumnFiltersState.md │ │ │ ├── getDefaultColumnOrderState.md │ │ │ ├── getDefaultColumnPinningState.md │ │ │ ├── getDefaultColumnResizingState.md │ │ │ ├── getDefaultColumnSizingColumnDef.md │ │ │ ├── getDefaultColumnSizingState.md │ │ │ ├── getDefaultColumnVisibilityState.md │ │ │ ├── getDefaultExpandedState.md │ │ │ ├── getDefaultGroupingState.md │ │ │ ├── getDefaultPaginationState.md │ │ │ ├── getDefaultRowPinningState.md │ │ │ ├── getDefaultRowSelectionState.md │ │ │ ├── getDefaultSortingState.md │ │ │ ├── getFunctionNameInfo.md │ │ │ ├── getInitialTableState.md │ │ │ ├── getMemoFnMeta.md │ │ │ ├── header_getContext.md │ │ │ ├── header_getLeafHeaders.md │ │ │ ├── header_getResizeHandler.md │ │ │ ├── header_getSize.md │ │ │ ├── header_getStart.md │ │ │ ├── isFunction.md │ │ │ ├── isNumberArray.md │ │ │ ├── isRowSelected.md │ │ │ ├── isSubRowSelected.md │ │ │ ├── isTouchStartEvent.md │ │ │ ├── makeStateUpdater.md │ │ │ ├── memo.md │ │ │ ├── noop.md │ │ │ ├── orderColumns.md │ │ │ ├── passiveEventSupported.md │ │ │ ├── row_getAllCells.md │ │ │ ├── row_getAllCellsByColumnId.md │ │ │ ├── row_getAllVisibleCells.md │ │ │ ├── row_getCanExpand.md │ │ │ ├── row_getCanMultiSelect.md │ │ │ ├── row_getCanPin.md │ │ │ ├── row_getCanSelect.md │ │ │ ├── row_getCanSelectSubRows.md │ │ │ ├── row_getCenterVisibleCells.md │ │ │ ├── row_getGroupingValue.md │ │ │ ├── row_getIsAllParentsExpanded.md │ │ │ ├── row_getIsAllSubRowsSelected.md │ │ │ ├── row_getIsExpanded.md │ │ │ ├── row_getIsGrouped.md │ │ │ ├── row_getIsPinned.md │ │ │ ├── row_getIsSelected.md │ │ │ ├── row_getIsSomeSelected.md │ │ │ ├── row_getLeafRows.md │ │ │ ├── row_getLeftVisibleCells.md │ │ │ ├── row_getParentRow.md │ │ │ ├── row_getParentRows.md │ │ │ ├── row_getPinnedIndex.md │ │ │ ├── row_getRightVisibleCells.md │ │ │ ├── row_getToggleExpandedHandler.md │ │ │ ├── row_getToggleSelectedHandler.md │ │ │ ├── row_getUniqueValues.md │ │ │ ├── row_getValue.md │ │ │ ├── row_getVisibleCells.md │ │ │ ├── row_pin.md │ │ │ ├── row_renderValue.md │ │ │ ├── row_toggleExpanded.md │ │ │ ├── row_toggleSelected.md │ │ │ ├── selectRowsFn.md │ │ │ ├── shouldAutoRemoveFilter.md │ │ │ ├── tableFeatures.md │ │ │ ├── tableMemo.md │ │ │ ├── tableOptions.md │ │ │ ├── table_autoResetExpanded.md │ │ │ ├── table_autoResetPageIndex.md │ │ │ ├── table_firstPage.md │ │ │ ├── table_getAllColumns.md │ │ │ ├── table_getAllFlatColumns.md │ │ │ ├── table_getAllFlatColumnsById.md │ │ │ ├── table_getAllLeafColumns.md │ │ │ ├── table_getBottomRows.md │ │ │ ├── table_getCanNextPage.md │ │ │ ├── table_getCanPreviousPage.md │ │ │ ├── table_getCanSomeRowsExpand.md │ │ │ ├── table_getCenterFlatHeaders.md │ │ │ ├── table_getCenterFooterGroups.md │ │ │ ├── table_getCenterHeaderGroups.md │ │ │ ├── table_getCenterLeafColumns.md │ │ │ ├── table_getCenterLeafHeaders.md │ │ │ ├── table_getCenterRows.md │ │ │ ├── table_getCenterTotalSize.md │ │ │ ├── table_getCenterVisibleLeafColumns.md │ │ │ ├── table_getColumn.md │ │ │ ├── table_getCoreRowModel.md │ │ │ ├── table_getDefaultColumnDef.md │ │ │ ├── table_getExpandedDepth.md │ │ │ ├── table_getExpandedRowModel.md │ │ │ ├── table_getFilteredRowModel.md │ │ │ ├── table_getFilteredSelectedRowModel.md │ │ │ ├── table_getFlatHeaders.md │ │ │ ├── table_getFooterGroups.md │ │ │ ├── table_getGlobalAutoFilterFn.md │ │ │ ├── table_getGlobalFacetedMinMaxValues.md │ │ │ ├── table_getGlobalFacetedRowModel.md │ │ │ ├── table_getGlobalFacetedUniqueValues.md │ │ │ ├── table_getGlobalFilterFn.md │ │ │ ├── table_getGroupedRowModel.md │ │ │ ├── table_getGroupedSelectedRowModel.md │ │ │ ├── table_getHeaderGroups.md │ │ │ ├── table_getIsAllColumnsVisible.md │ │ │ ├── table_getIsAllPageRowsSelected.md │ │ │ ├── table_getIsAllRowsExpanded.md │ │ │ ├── table_getIsAllRowsSelected.md │ │ │ ├── table_getIsSomeColumnsPinned.md │ │ │ ├── table_getIsSomeColumnsVisible.md │ │ │ ├── table_getIsSomePageRowsSelected.md │ │ │ ├── table_getIsSomeRowsExpanded.md │ │ │ ├── table_getIsSomeRowsPinned.md │ │ │ ├── table_getIsSomeRowsSelected.md │ │ │ ├── table_getLeafHeaders.md │ │ │ ├── table_getLeftFlatHeaders.md │ │ │ ├── table_getLeftFooterGroups.md │ │ │ ├── table_getLeftHeaderGroups.md │ │ │ ├── table_getLeftLeafColumns.md │ │ │ ├── table_getLeftLeafHeaders.md │ │ │ ├── table_getLeftTotalSize.md │ │ │ ├── table_getLeftVisibleLeafColumns.md │ │ │ ├── table_getOrderColumnsFn.md │ │ │ ├── table_getPageCount.md │ │ │ ├── table_getPageOptions.md │ │ │ ├── table_getPaginatedRowModel.md │ │ │ ├── table_getPinnedLeafColumns.md │ │ │ ├── table_getPinnedVisibleLeafColumns.md │ │ │ ├── table_getPreExpandedRowModel.md │ │ │ ├── table_getPreFilteredRowModel.md │ │ │ ├── table_getPreGroupedRowModel.md │ │ │ ├── table_getPrePaginatedRowModel.md │ │ │ ├── table_getPreSelectedRowModel.md │ │ │ ├── table_getPreSortedRowModel.md │ │ │ ├── table_getRightFlatHeaders.md │ │ │ ├── table_getRightFooterGroups.md │ │ │ ├── table_getRightHeaderGroups.md │ │ │ ├── table_getRightLeafColumns.md │ │ │ ├── table_getRightLeafHeaders.md │ │ │ ├── table_getRightTotalSize.md │ │ │ ├── table_getRightVisibleLeafColumns.md │ │ │ ├── table_getRow.md │ │ │ ├── table_getRowCount.md │ │ │ ├── table_getRowId.md │ │ │ ├── table_getRowModel.md │ │ │ ├── table_getSelectedRowModel.md │ │ │ ├── table_getSortedRowModel.md │ │ │ ├── table_getToggleAllColumnsVisibilityHandler.md │ │ │ ├── table_getToggleAllPageRowsSelectedHandler.md │ │ │ ├── table_getToggleAllRowsExpandedHandler.md │ │ │ ├── table_getToggleAllRowsSelectedHandler.md │ │ │ ├── table_getTopRows.md │ │ │ ├── table_getTotalSize.md │ │ │ ├── table_getVisibleFlatColumns.md │ │ │ ├── table_getVisibleLeafColumns.md │ │ │ ├── table_lastPage.md │ │ │ ├── table_mergeOptions.md │ │ │ ├── table_nextPage.md │ │ │ ├── table_previousPage.md │ │ │ ├── table_reset.md │ │ │ ├── table_resetColumnFilters.md │ │ │ ├── table_resetColumnOrder.md │ │ │ ├── table_resetColumnPinning.md │ │ │ ├── table_resetColumnSizing.md │ │ │ ├── table_resetColumnVisibility.md │ │ │ ├── table_resetExpanded.md │ │ │ ├── table_resetGlobalFilter.md │ │ │ ├── table_resetGrouping.md │ │ │ ├── table_resetHeaderSizeInfo.md │ │ │ ├── table_resetPageIndex.md │ │ │ ├── table_resetPageSize.md │ │ │ ├── table_resetPagination.md │ │ │ ├── table_resetRowPinning.md │ │ │ ├── table_resetRowSelection.md │ │ │ ├── table_resetSorting.md │ │ │ ├── table_setColumnFilters.md │ │ │ ├── table_setColumnOrder.md │ │ │ ├── table_setColumnPinning.md │ │ │ ├── table_setColumnResizing.md │ │ │ ├── table_setColumnSizing.md │ │ │ ├── table_setColumnVisibility.md │ │ │ ├── table_setExpanded.md │ │ │ ├── table_setGlobalFilter.md │ │ │ ├── table_setGrouping.md │ │ │ ├── table_setOptions.md │ │ │ ├── table_setPageIndex.md │ │ │ ├── table_setPageSize.md │ │ │ ├── table_setPagination.md │ │ │ ├── table_setRowPinning.md │ │ │ ├── table_setRowSelection.md │ │ │ ├── table_setSorting.md │ │ │ ├── table_toggleAllColumnsVisible.md │ │ │ ├── table_toggleAllPageRowsSelected.md │ │ │ ├── table_toggleAllRowsExpanded.md │ │ │ └── table_toggleAllRowsSelected.md │ │ ├── index.md │ │ ├── interfaces/ │ │ │ ├── API.md │ │ │ ├── AggregationFns.md │ │ │ ├── CachedRowModel_Core.md │ │ │ ├── CachedRowModel_Expanded.md │ │ │ ├── CachedRowModel_Faceted.md │ │ │ ├── CachedRowModel_Filtered.md │ │ │ ├── CachedRowModel_Grouped.md │ │ │ ├── CachedRowModel_Paginated.md │ │ │ ├── CachedRowModel_Plugins.md │ │ │ ├── CachedRowModel_Sorted.md │ │ │ ├── CachedRowModels_Plugins.md │ │ │ ├── CellContext.md │ │ │ ├── Cell_Cell.md │ │ │ ├── Cell_ColumnGrouping.md │ │ │ ├── Cell_Core.md │ │ │ ├── Cell_CoreProperties.md │ │ │ ├── Cell_Plugins.md │ │ │ ├── ColumnDef_ColumnFiltering.md │ │ │ ├── ColumnDef_ColumnGrouping.md │ │ │ ├── ColumnDef_ColumnPinning.md │ │ │ ├── ColumnDef_ColumnResizing.md │ │ │ ├── ColumnDef_ColumnSizing.md │ │ │ ├── ColumnDef_ColumnVisibility.md │ │ │ ├── ColumnDef_GlobalFiltering.md │ │ │ ├── ColumnDef_Plugins.md │ │ │ ├── ColumnDef_RowSorting.md │ │ │ ├── ColumnDefaultOptions.md │ │ │ ├── ColumnFilter.md │ │ │ ├── ColumnMeta.md │ │ │ ├── ColumnOrderDefaultOptions.md │ │ │ ├── ColumnPinningDefaultOptions.md │ │ │ ├── ColumnPinningState.md │ │ │ ├── ColumnSort.md │ │ │ ├── Column_Column.md │ │ │ ├── Column_ColumnFaceting.md │ │ │ ├── Column_ColumnFiltering.md │ │ │ ├── Column_ColumnGrouping.md │ │ │ ├── Column_ColumnOrdering.md │ │ │ ├── Column_ColumnPinning.md │ │ │ ├── Column_ColumnResizing.md │ │ │ ├── Column_ColumnSizing.md │ │ │ ├── Column_ColumnVisibility.md │ │ │ ├── Column_Core.md │ │ │ ├── Column_CoreProperties.md │ │ │ ├── Column_GlobalFiltering.md │ │ │ ├── Column_Plugins.md │ │ │ ├── Column_RowSorting.md │ │ │ ├── CoreFeatures.md │ │ │ ├── CreateRowModel_Core.md │ │ │ ├── CreateRowModel_Expanded.md │ │ │ ├── CreateRowModel_Faceted.md │ │ │ ├── CreateRowModel_Filtered.md │ │ │ ├── CreateRowModel_Grouped.md │ │ │ ├── CreateRowModel_Paginated.md │ │ │ ├── CreateRowModel_Plugins.md │ │ │ ├── CreateRowModel_Sorted.md │ │ │ ├── CreateRowModels_Plugins.md │ │ │ ├── FilterFn.md │ │ │ ├── FilterFns.md │ │ │ ├── FilterMeta.md │ │ │ ├── HeaderContext.md │ │ │ ├── HeaderGroup_Core.md │ │ │ ├── HeaderGroup_Header.md │ │ │ ├── HeaderGroup_Plugins.md │ │ │ ├── Header_ColumnResizing.md │ │ │ ├── Header_ColumnSizing.md │ │ │ ├── Header_Core.md │ │ │ ├── Header_CoreProperties.md │ │ │ ├── Header_Header.md │ │ │ ├── Header_Plugins.md │ │ │ ├── IdIdentifier.md │ │ │ ├── PaginationDefaultOptions.md │ │ │ ├── PaginationState.md │ │ │ ├── Plugins.md │ │ │ ├── PrototypeAPI.md │ │ │ ├── ResolvedColumnFilter.md │ │ │ ├── RowModel.md │ │ │ ├── RowModelFns_ColumnFiltering.md │ │ │ ├── RowModelFns_ColumnGrouping.md │ │ │ ├── RowModelFns_Core.md │ │ │ ├── RowModelFns_Plugins.md │ │ │ ├── RowModelFns_RowSorting.md │ │ │ ├── RowPinningDefaultOptions.md │ │ │ ├── RowPinningState.md │ │ │ ├── Row_ColumnFiltering.md │ │ │ ├── Row_ColumnGrouping.md │ │ │ ├── Row_ColumnPinning.md │ │ │ ├── Row_ColumnVisibility.md │ │ │ ├── Row_Core.md │ │ │ ├── Row_CoreProperties.md │ │ │ ├── Row_Plugins.md │ │ │ ├── Row_Row.md │ │ │ ├── Row_RowExpanding.md │ │ │ ├── Row_RowPinning.md │ │ │ ├── Row_RowSelection.md │ │ │ ├── SortFn.md │ │ │ ├── SortFns.md │ │ │ ├── StockFeatures.md │ │ │ ├── StringHeaderIdentifier.md │ │ │ ├── TableFeature.md │ │ │ ├── TableFeatures.md │ │ │ ├── TableMeta.md │ │ │ ├── TableOptions_Cell.md │ │ │ ├── TableOptions_ColumnFiltering.md │ │ │ ├── TableOptions_ColumnGrouping.md │ │ │ ├── TableOptions_ColumnOrdering.md │ │ │ ├── TableOptions_ColumnPinning.md │ │ │ ├── TableOptions_ColumnResizing.md │ │ │ ├── TableOptions_ColumnSizing.md │ │ │ ├── TableOptions_ColumnVisibility.md │ │ │ ├── TableOptions_Columns.md │ │ │ ├── TableOptions_Core.md │ │ │ ├── TableOptions_GlobalFiltering.md │ │ │ ├── TableOptions_Plugins.md │ │ │ ├── TableOptions_RowExpanding.md │ │ │ ├── TableOptions_RowPagination.md │ │ │ ├── TableOptions_RowPinning.md │ │ │ ├── TableOptions_RowSelection.md │ │ │ ├── TableOptions_RowSorting.md │ │ │ ├── TableOptions_Rows.md │ │ │ ├── TableOptions_Table.md │ │ │ ├── TableState_ColumnFiltering.md │ │ │ ├── TableState_ColumnGrouping.md │ │ │ ├── TableState_ColumnOrdering.md │ │ │ ├── TableState_ColumnPinning.md │ │ │ ├── TableState_ColumnResizing.md │ │ │ ├── TableState_ColumnSizing.md │ │ │ ├── TableState_ColumnVisibility.md │ │ │ ├── TableState_GlobalFiltering.md │ │ │ ├── TableState_Plugins.md │ │ │ ├── TableState_RowExpanding.md │ │ │ ├── TableState_RowPagination.md │ │ │ ├── TableState_RowPinning.md │ │ │ ├── TableState_RowSelection.md │ │ │ ├── TableState_RowSorting.md │ │ │ ├── Table_ColumnFaceting.md │ │ │ ├── Table_ColumnFiltering.md │ │ │ ├── Table_ColumnGrouping.md │ │ │ ├── Table_ColumnOrdering.md │ │ │ ├── Table_ColumnPinning.md │ │ │ ├── Table_ColumnResizing.md │ │ │ ├── Table_ColumnSizing.md │ │ │ ├── Table_ColumnVisibility.md │ │ │ ├── Table_Columns.md │ │ │ ├── Table_CoreProperties.md │ │ │ ├── Table_GlobalFiltering.md │ │ │ ├── Table_Headers.md │ │ │ ├── Table_Plugins.md │ │ │ ├── Table_RowExpanding.md │ │ │ ├── Table_RowModels_Core.md │ │ │ ├── Table_RowModels_Expanded.md │ │ │ ├── Table_RowModels_Faceted.md │ │ │ ├── Table_RowModels_Filtered.md │ │ │ ├── Table_RowModels_Grouped.md │ │ │ ├── Table_RowModels_Paginated.md │ │ │ ├── Table_RowModels_Sorted.md │ │ │ ├── Table_RowPagination.md │ │ │ ├── Table_RowPinning.md │ │ │ ├── Table_RowSelection.md │ │ │ ├── Table_RowSorting.md │ │ │ ├── Table_Rows.md │ │ │ ├── Table_Table.md │ │ │ └── columnResizingState.md │ │ ├── type-aliases/ │ │ │ ├── APIObject.md │ │ │ ├── AccessorColumnDef.md │ │ │ ├── AccessorFn.md │ │ │ ├── AccessorFnColumnDef.md │ │ │ ├── AccessorFnColumnDefBase.md │ │ │ ├── AccessorKeyColumnDef.md │ │ │ ├── AccessorKeyColumnDefBase.md │ │ │ ├── AggregationFn.md │ │ │ ├── AggregationFnOption.md │ │ │ ├── AssignCellPrototype.md │ │ │ ├── AssignColumnPrototype.md │ │ │ ├── AssignHeaderPrototype.md │ │ │ ├── AssignRowPrototype.md │ │ │ ├── BuiltInAggregationFn.md │ │ │ ├── BuiltInFilterFn.md │ │ │ ├── BuiltInSortFn.md │ │ │ ├── CachedRowModel_All.md │ │ │ ├── CachedRowModels.md │ │ │ ├── Cell.md │ │ │ ├── CellData.md │ │ │ ├── Column.md │ │ │ ├── ColumnDef.md │ │ │ ├── ColumnDefBase.md │ │ │ ├── ColumnDefBase_All.md │ │ │ ├── ColumnDefResolved.md │ │ │ ├── ColumnDefTemplate.md │ │ │ ├── ColumnFilterAutoRemoveTestFn.md │ │ │ ├── ColumnFiltersState.md │ │ │ ├── ColumnHelper.md │ │ │ ├── ColumnOrderState.md │ │ │ ├── ColumnPinningPosition.md │ │ │ ├── ColumnResizeDirection.md │ │ │ ├── ColumnResizeMode.md │ │ │ ├── ColumnResizingDefaultOptions.md │ │ │ ├── ColumnSizingDefaultOptions.md │ │ │ ├── ColumnSizingState.md │ │ │ ├── ColumnVisibilityState.md │ │ │ ├── Column_Internal.md │ │ │ ├── ConstructTableAPIs.md │ │ │ ├── CreateRowModels.md │ │ │ ├── CreateRowModels_All.md │ │ │ ├── CustomAggregationFns.md │ │ │ ├── CustomFilterFns.md │ │ │ ├── CustomSortFns.md │ │ │ ├── DebugOptions.md │ │ │ ├── DeepKeys.md │ │ │ ├── DeepValue.md │ │ │ ├── DisplayColumnDef.md │ │ │ ├── ExpandedState.md │ │ │ ├── ExpandedStateList.md │ │ │ ├── ExtractFeatureTypes.md │ │ │ ├── FilterFnOption.md │ │ │ ├── GetDefaultColumnDef.md │ │ │ ├── GetDefaultStateSelector.md │ │ │ ├── GetDefaultTableOptions.md │ │ │ ├── GetInitialState.md │ │ │ ├── Getter.md │ │ │ ├── GroupColumnDef.md │ │ │ ├── GroupingColumnMode.md │ │ │ ├── GroupingState.md │ │ │ ├── Header.md │ │ │ ├── HeaderGroup.md │ │ │ ├── IdentifiedColumnDef.md │ │ │ ├── InitRowInstanceData.md │ │ │ ├── MemoFnMeta.md │ │ │ ├── NoInfer.md │ │ │ ├── OnChangeFn.md │ │ │ ├── PartialKeys.md │ │ │ ├── Prettify.md │ │ │ ├── PrototypeAPIObject.md │ │ │ ├── RequiredKeys.md │ │ │ ├── Row.md │ │ │ ├── RowData.md │ │ │ ├── RowModelFns.md │ │ │ ├── RowModelFns_All.md │ │ │ ├── RowPinningPosition.md │ │ │ ├── RowSelectionState.md │ │ │ ├── SortDirection.md │ │ │ ├── SortFnOption.md │ │ │ ├── SortingState.md │ │ │ ├── StringOrTemplateHeader.md │ │ │ ├── Table.md │ │ │ ├── TableHelperOptions.md │ │ │ ├── TableHelper_Core.md │ │ │ ├── TableOptions.md │ │ │ ├── TableOptions_All.md │ │ │ ├── TableState.md │ │ │ ├── TableState_All.md │ │ │ ├── Table_Core.md │ │ │ ├── Table_Internal.md │ │ │ ├── Table_RowModels.md │ │ │ ├── TransformFilterValueFn.md │ │ │ ├── UnionToIntersection.md │ │ │ ├── Updater.md │ │ │ └── VisibilityDefaultOptions.md │ │ └── variables/ │ │ ├── $internalMemoFnMeta.md │ │ ├── aggregationFn_count.md │ │ ├── aggregationFn_extent.md │ │ ├── aggregationFn_max.md │ │ ├── aggregationFn_mean.md │ │ ├── aggregationFn_median.md │ │ ├── aggregationFn_min.md │ │ ├── aggregationFn_sum.md │ │ ├── aggregationFn_unique.md │ │ ├── aggregationFn_uniqueCount.md │ │ ├── aggregationFns.md │ │ ├── columnFacetingFeature.md │ │ ├── columnFilteringFeature.md │ │ ├── columnGroupingFeature.md │ │ ├── columnOrderingFeature.md │ │ ├── columnPinningFeature.md │ │ ├── columnResizingFeature.md │ │ ├── columnSizingFeature.md │ │ ├── columnVisibilityFeature.md │ │ ├── coreCellsFeature.md │ │ ├── coreColumnsFeature.md │ │ ├── coreFeatures.md │ │ ├── coreHeadersFeature.md │ │ ├── coreRowModelsFeature.md │ │ ├── coreRowsFeature.md │ │ ├── coreTablesFeature.md │ │ ├── filterFn_arrHas.md │ │ ├── filterFn_arrIncludes.md │ │ ├── filterFn_arrIncludesAll.md │ │ ├── filterFn_arrIncludesSome.md │ │ ├── filterFn_equals.md │ │ ├── filterFn_equalsString.md │ │ ├── filterFn_equalsStringSensitive.md │ │ ├── filterFn_greaterThan.md │ │ ├── filterFn_greaterThanOrEqualTo.md │ │ ├── filterFn_inNumberRange.md │ │ ├── filterFn_includesString.md │ │ ├── filterFn_includesStringSensitive.md │ │ ├── filterFn_lessThan.md │ │ ├── filterFn_lessThanOrEqualTo.md │ │ ├── filterFn_weakEquals.md │ │ ├── filterFns.md │ │ ├── globalFilteringFeature.md │ │ ├── reSplitAlphaNumeric.md │ │ ├── rowExpandingFeature.md │ │ ├── rowPaginationFeature.md │ │ ├── rowPinningFeature.md │ │ ├── rowSelectionFeature.md │ │ ├── rowSortingFeature.md │ │ ├── sortFn_alphanumeric.md │ │ ├── sortFn_alphanumericCaseSensitive.md │ │ ├── sortFn_basic.md │ │ ├── sortFn_datetime.md │ │ ├── sortFn_text.md │ │ ├── sortFn_textCaseSensitive.md │ │ ├── sortFns.md │ │ └── stockFeatures.md │ └── vanilla.md ├── eslint.config.js ├── examples/ │ ├── angular/ │ │ ├── basic/ │ │ │ ├── .gitignore │ │ │ ├── README.md │ │ │ ├── angular.json │ │ │ ├── package.json │ │ │ ├── src/ │ │ │ │ ├── app/ │ │ │ │ │ ├── app.config.ts │ │ │ │ │ ├── app.html │ │ │ │ │ ├── app.routes.ts │ │ │ │ │ └── app.ts │ │ │ │ ├── index.html │ │ │ │ ├── main.ts │ │ │ │ └── styles.css │ │ │ ├── tsconfig.app.json │ │ │ └── tsconfig.json │ │ ├── basic-app-table/ │ │ │ ├── .gitignore │ │ │ ├── README.md │ │ │ ├── angular.json │ │ │ ├── package.json │ │ │ ├── src/ │ │ │ │ ├── app/ │ │ │ │ │ ├── app.config.ts │ │ │ │ │ ├── app.html │ │ │ │ │ └── app.ts │ │ │ │ ├── index.html │ │ │ │ ├── main.ts │ │ │ │ └── styles.css │ │ │ ├── tsconfig.app.json │ │ │ └── tsconfig.json │ │ ├── column-ordering/ │ │ │ ├── .gitignore │ │ │ ├── README.md │ │ │ ├── angular.json │ │ │ ├── package.json │ │ │ ├── src/ │ │ │ │ ├── app/ │ │ │ │ │ ├── app.config.ts │ │ │ │ │ ├── app.html │ │ │ │ │ ├── app.ts │ │ │ │ │ └── makeData.ts │ │ │ │ ├── index.html │ │ │ │ ├── main.ts │ │ │ │ └── styles.css │ │ │ ├── tsconfig.app.json │ │ │ └── tsconfig.json │ │ ├── column-pinning/ │ │ │ ├── .gitignore │ │ │ ├── README.md │ │ │ ├── angular.json │ │ │ ├── package.json │ │ │ ├── src/ │ │ │ │ ├── app/ │ │ │ │ │ ├── app.config.ts │ │ │ │ │ ├── app.html │ │ │ │ │ ├── app.ts │ │ │ │ │ └── makeData.ts │ │ │ │ ├── index.html │ │ │ │ ├── main.ts │ │ │ │ └── styles.css │ │ │ ├── tsconfig.app.json │ │ │ └── tsconfig.json │ │ ├── column-pinning-sticky/ │ │ │ ├── .gitignore │ │ │ ├── README.md │ │ │ ├── angular.json │ │ │ ├── package.json │ │ │ ├── src/ │ │ │ │ ├── app/ │ │ │ │ │ ├── app.config.ts │ │ │ │ │ ├── app.html │ │ │ │ │ ├── app.ts │ │ │ │ │ └── makeData.ts │ │ │ │ ├── index.html │ │ │ │ ├── main.ts │ │ │ │ └── styles.css │ │ │ ├── tsconfig.app.json │ │ │ └── tsconfig.json │ │ ├── column-resizing-performant/ │ │ │ ├── .gitignore │ │ │ ├── README.md │ │ │ ├── angular.json │ │ │ ├── package.json │ │ │ ├── src/ │ │ │ │ ├── app/ │ │ │ │ │ ├── app.config.ts │ │ │ │ │ ├── app.html │ │ │ │ │ ├── app.ts │ │ │ │ │ ├── makeData.ts │ │ │ │ │ └── resizable-cell/ │ │ │ │ │ └── resizable-cell.ts │ │ │ │ ├── index.html │ │ │ │ ├── main.ts │ │ │ │ └── styles.css │ │ │ ├── tsconfig.app.json │ │ │ └── tsconfig.json │ │ ├── column-visibility/ │ │ │ ├── .gitignore │ │ │ ├── README.md │ │ │ ├── angular.json │ │ │ ├── package.json │ │ │ ├── src/ │ │ │ │ ├── app/ │ │ │ │ │ ├── app.config.ts │ │ │ │ │ ├── app.html │ │ │ │ │ └── app.ts │ │ │ │ ├── index.html │ │ │ │ ├── main.ts │ │ │ │ └── styles.css │ │ │ ├── tsconfig.app.json │ │ │ └── tsconfig.json │ │ ├── composable-tables/ │ │ │ ├── .gitignore │ │ │ ├── README.md │ │ │ ├── angular.json │ │ │ ├── package.json │ │ │ ├── src/ │ │ │ │ ├── app/ │ │ │ │ │ ├── app.config.ts │ │ │ │ │ ├── app.ts │ │ │ │ │ ├── components/ │ │ │ │ │ │ ├── cell-components.ts │ │ │ │ │ │ ├── header-components.ts │ │ │ │ │ │ ├── products-table/ │ │ │ │ │ │ │ ├── products-table.html │ │ │ │ │ │ │ └── products-table.ts │ │ │ │ │ │ ├── table-components.ts │ │ │ │ │ │ └── users-table/ │ │ │ │ │ │ ├── users-table.html │ │ │ │ │ │ └── users-table.ts │ │ │ │ │ ├── makeData.ts │ │ │ │ │ └── table.ts │ │ │ │ ├── index.html │ │ │ │ ├── main.ts │ │ │ │ └── styles.css │ │ │ ├── tsconfig.app.json │ │ │ ├── tsconfig.json │ │ │ └── tsconfig.spec.json │ │ ├── custom-plugin/ │ │ │ ├── .gitignore │ │ │ ├── .vscode/ │ │ │ │ ├── extensions.json │ │ │ │ ├── launch.json │ │ │ │ ├── mcp.json │ │ │ │ └── tasks.json │ │ │ ├── README.md │ │ │ ├── angular.json │ │ │ ├── package.json │ │ │ ├── src/ │ │ │ │ ├── app/ │ │ │ │ │ ├── app.config.ts │ │ │ │ │ ├── app.css │ │ │ │ │ ├── app.html │ │ │ │ │ ├── app.ts │ │ │ │ │ ├── density/ │ │ │ │ │ │ └── density-feature.ts │ │ │ │ │ └── makeData.ts │ │ │ │ ├── index.html │ │ │ │ ├── main.ts │ │ │ │ └── styles.css │ │ │ ├── tsconfig.app.json │ │ │ └── tsconfig.json │ │ ├── editable/ │ │ │ ├── .gitignore │ │ │ ├── README.md │ │ │ ├── angular.json │ │ │ ├── package.json │ │ │ ├── src/ │ │ │ │ ├── app/ │ │ │ │ │ ├── app.config.ts │ │ │ │ │ ├── app.html │ │ │ │ │ ├── app.ts │ │ │ │ │ ├── editable-cell/ │ │ │ │ │ │ └── editable-cell.ts │ │ │ │ │ └── makeData.ts │ │ │ │ ├── index.html │ │ │ │ ├── main.ts │ │ │ │ └── styles.css │ │ │ ├── tsconfig.app.json │ │ │ └── tsconfig.json │ │ ├── expanding/ │ │ │ ├── .gitignore │ │ │ ├── README.md │ │ │ ├── angular.json │ │ │ ├── package.json │ │ │ ├── src/ │ │ │ │ ├── app/ │ │ │ │ │ ├── app.config.ts │ │ │ │ │ ├── app.html │ │ │ │ │ ├── app.ts │ │ │ │ │ ├── expandable-cell/ │ │ │ │ │ │ └── expandable-cell.ts │ │ │ │ │ └── makeData.ts │ │ │ │ ├── index.html │ │ │ │ ├── main.ts │ │ │ │ └── styles.css │ │ │ ├── tsconfig.app.json │ │ │ └── tsconfig.json │ │ ├── filters/ │ │ │ ├── .gitignore │ │ │ ├── README.md │ │ │ ├── angular.json │ │ │ ├── package.json │ │ │ ├── src/ │ │ │ │ ├── app/ │ │ │ │ │ ├── app.config.ts │ │ │ │ │ ├── app.html │ │ │ │ │ ├── app.ts │ │ │ │ │ ├── debounced-input/ │ │ │ │ │ │ └── debounced-input.ts │ │ │ │ │ ├── makeData.ts │ │ │ │ │ └── table-filter/ │ │ │ │ │ └── table-filter.ts │ │ │ │ ├── index.html │ │ │ │ ├── main.ts │ │ │ │ └── styles.css │ │ │ ├── tsconfig.app.json │ │ │ └── tsconfig.json │ │ ├── grouping/ │ │ │ ├── .gitignore │ │ │ ├── README.md │ │ │ ├── angular.json │ │ │ ├── package.json │ │ │ ├── src/ │ │ │ │ ├── app/ │ │ │ │ │ ├── app.config.ts │ │ │ │ │ ├── app.html │ │ │ │ │ ├── app.ts │ │ │ │ │ ├── columns.ts │ │ │ │ │ └── makeData.ts │ │ │ │ ├── index.html │ │ │ │ ├── main.ts │ │ │ │ └── styles.css │ │ │ ├── tsconfig.app.json │ │ │ └── tsconfig.json │ │ ├── remote-data/ │ │ │ ├── .gitignore │ │ │ ├── README.md │ │ │ ├── angular.json │ │ │ ├── package.json │ │ │ ├── src/ │ │ │ │ ├── app/ │ │ │ │ │ ├── app.config.server.ts │ │ │ │ │ ├── app.config.ts │ │ │ │ │ ├── app.html │ │ │ │ │ ├── app.routes.server.ts │ │ │ │ │ └── app.ts │ │ │ │ ├── index.html │ │ │ │ ├── main.server.ts │ │ │ │ ├── main.ts │ │ │ │ ├── server.ts │ │ │ │ └── styles.scss │ │ │ ├── tsconfig.app.json │ │ │ └── tsconfig.json │ │ ├── row-dnd/ │ │ │ ├── .gitignore │ │ │ ├── README.md │ │ │ ├── angular.json │ │ │ ├── package.json │ │ │ ├── src/ │ │ │ │ ├── app/ │ │ │ │ │ ├── app.config.ts │ │ │ │ │ ├── app.css │ │ │ │ │ ├── app.html │ │ │ │ │ ├── app.ts │ │ │ │ │ ├── drag-handle-cell/ │ │ │ │ │ │ └── drag-handle-cell.ts │ │ │ │ │ └── makeData.ts │ │ │ │ ├── index.html │ │ │ │ ├── main.ts │ │ │ │ └── styles.css │ │ │ ├── tsconfig.app.json │ │ │ └── tsconfig.json │ │ ├── row-selection/ │ │ │ ├── .gitignore │ │ │ ├── README.md │ │ │ ├── angular.json │ │ │ ├── package.json │ │ │ ├── src/ │ │ │ │ ├── app/ │ │ │ │ │ ├── app.config.ts │ │ │ │ │ ├── app.html │ │ │ │ │ ├── app.ts │ │ │ │ │ ├── makeData.ts │ │ │ │ │ ├── selection-column/ │ │ │ │ │ │ └── selection-column.ts │ │ │ │ │ ├── table-filter/ │ │ │ │ │ │ └── table-filter.ts │ │ │ │ │ └── table.ts │ │ │ │ ├── index.html │ │ │ │ ├── main.ts │ │ │ │ └── styles.css │ │ │ ├── tsconfig.app.json │ │ │ └── tsconfig.json │ │ ├── row-selection-signal/ │ │ │ ├── .devcontainer/ │ │ │ │ └── devcontainer.json │ │ │ ├── .editorconfig │ │ │ ├── .gitignore │ │ │ ├── README.md │ │ │ ├── angular.json │ │ │ ├── package.json │ │ │ ├── src/ │ │ │ │ ├── app/ │ │ │ │ │ ├── app.component.html │ │ │ │ │ ├── app.component.ts │ │ │ │ │ ├── app.config.ts │ │ │ │ │ ├── filter.ts │ │ │ │ │ ├── makeData.ts │ │ │ │ │ └── selection-column.component.ts │ │ │ │ ├── assets/ │ │ │ │ │ └── .gitkeep │ │ │ │ ├── index.html │ │ │ │ ├── main.ts │ │ │ │ └── styles.scss │ │ │ ├── tsconfig.app.json │ │ │ ├── tsconfig.json │ │ │ └── tsconfig.spec.json │ │ ├── signal-input/ │ │ │ ├── .gitignore │ │ │ ├── README.md │ │ │ ├── angular.json │ │ │ ├── package.json │ │ │ ├── src/ │ │ │ │ ├── app/ │ │ │ │ │ ├── app.config.ts │ │ │ │ │ ├── app.html │ │ │ │ │ ├── app.ts │ │ │ │ │ ├── makeData.ts │ │ │ │ │ └── person-table/ │ │ │ │ │ ├── person-table.html │ │ │ │ │ └── person-table.ts │ │ │ │ ├── index.html │ │ │ │ ├── main.ts │ │ │ │ └── styles.css │ │ │ ├── tsconfig.app.json │ │ │ └── tsconfig.json │ │ └── sub-components/ │ │ ├── .gitignore │ │ ├── README.md │ │ ├── angular.json │ │ ├── package.json │ │ ├── src/ │ │ │ ├── app/ │ │ │ │ ├── app.config.ts │ │ │ │ ├── app.html │ │ │ │ ├── app.ts │ │ │ │ ├── expandable-cell.ts │ │ │ │ ├── makeData.ts │ │ │ │ └── sub-component/ │ │ │ │ └── sub-component.ts │ │ │ ├── index.html │ │ │ ├── main.ts │ │ │ └── styles.css │ │ ├── tsconfig.app.json │ │ └── tsconfig.json │ ├── lit/ │ │ ├── basic/ │ │ │ ├── .gitignore │ │ │ ├── README.md │ │ │ ├── index.html │ │ │ ├── package.json │ │ │ ├── src/ │ │ │ │ └── main.ts │ │ │ ├── tsconfig.json │ │ │ ├── twind.config.ts │ │ │ └── vite.config.js │ │ ├── column-sizing/ │ │ │ ├── .gitignore │ │ │ ├── README.md │ │ │ ├── index.html │ │ │ ├── package.json │ │ │ ├── src/ │ │ │ │ ├── main.ts │ │ │ │ └── makeData.ts │ │ │ └── tsconfig.json │ │ ├── filters/ │ │ │ ├── .gitignore │ │ │ ├── README.md │ │ │ ├── index.html │ │ │ ├── package.json │ │ │ ├── src/ │ │ │ │ ├── main.ts │ │ │ │ └── makeData.ts │ │ │ ├── tsconfig.json │ │ │ └── vite.config.js │ │ ├── row-selection/ │ │ │ ├── .gitignore │ │ │ ├── README.md │ │ │ ├── index.html │ │ │ ├── package.json │ │ │ ├── src/ │ │ │ │ ├── main.ts │ │ │ │ └── makeData.ts │ │ │ ├── tsconfig.json │ │ │ └── vite.config.js │ │ ├── sorting/ │ │ │ ├── .gitignore │ │ │ ├── README.md │ │ │ ├── index.html │ │ │ ├── package.json │ │ │ ├── src/ │ │ │ │ ├── main.ts │ │ │ │ └── makeData.ts │ │ │ ├── tsconfig.json │ │ │ └── vite.config.js │ │ ├── sorting-dynamic-data/ │ │ │ ├── .gitignore │ │ │ ├── README.md │ │ │ ├── index.html │ │ │ ├── package.json │ │ │ ├── src/ │ │ │ │ ├── main.ts │ │ │ │ └── makeData.ts │ │ │ ├── tsconfig.json │ │ │ └── vite.config.js │ │ └── virtualized-rows/ │ │ ├── .gitignore │ │ ├── README.md │ │ ├── index.html │ │ ├── package.json │ │ ├── src/ │ │ │ ├── main.ts │ │ │ └── makeData.ts │ │ ├── tsconfig.json │ │ ├── twind.config.ts │ │ └── vite.config.js │ ├── preact/ │ │ ├── basic/ │ │ │ ├── .gitignore │ │ │ ├── README.md │ │ │ ├── index.html │ │ │ ├── package.json │ │ │ ├── src/ │ │ │ │ ├── index.css │ │ │ │ └── main.tsx │ │ │ ├── tsconfig.json │ │ │ └── vite.config.ts │ │ └── sorting/ │ │ ├── .gitignore │ │ ├── README.md │ │ ├── index.html │ │ ├── package.json │ │ ├── src/ │ │ │ ├── index.css │ │ │ ├── main.tsx │ │ │ └── makeData.ts │ │ ├── tsconfig.json │ │ └── vite.config.ts │ ├── react/ │ │ ├── basic-external-state/ │ │ │ ├── .gitignore │ │ │ ├── README.md │ │ │ ├── index.html │ │ │ ├── package.json │ │ │ ├── src/ │ │ │ │ ├── index.css │ │ │ │ ├── main.tsx │ │ │ │ └── makeData.ts │ │ │ ├── tsconfig.json │ │ │ └── vite.config.js │ │ ├── basic-external-store/ │ │ │ ├── .gitignore │ │ │ ├── README.md │ │ │ ├── index.html │ │ │ ├── package.json │ │ │ ├── src/ │ │ │ │ ├── index.css │ │ │ │ ├── main.tsx │ │ │ │ └── makeData.ts │ │ │ ├── tsconfig.json │ │ │ └── vite.config.js │ │ ├── basic-shadcn/ │ │ │ ├── .gitignore │ │ │ ├── README.md │ │ │ ├── components.json │ │ │ ├── index.html │ │ │ ├── package.json │ │ │ ├── src/ │ │ │ │ ├── components/ │ │ │ │ │ └── ui/ │ │ │ │ │ ├── button.tsx │ │ │ │ │ └── table.tsx │ │ │ │ ├── index.css │ │ │ │ ├── lib/ │ │ │ │ │ └── utils.ts │ │ │ │ └── main.tsx │ │ │ ├── tsconfig.json │ │ │ └── vite.config.js │ │ ├── basic-use-app-table/ │ │ │ ├── .gitignore │ │ │ ├── README.md │ │ │ ├── index.html │ │ │ ├── package.json │ │ │ ├── src/ │ │ │ │ ├── index.css │ │ │ │ └── main.tsx │ │ │ ├── tsconfig.json │ │ │ └── vite.config.js │ │ ├── basic-use-legacy-table/ │ │ │ ├── index.html │ │ │ ├── package.json │ │ │ ├── src/ │ │ │ │ ├── index.css │ │ │ │ ├── main.tsx │ │ │ │ └── makeData.ts │ │ │ ├── tsconfig.json │ │ │ └── vite.config.js │ │ ├── basic-use-table/ │ │ │ ├── .gitignore │ │ │ ├── README.md │ │ │ ├── index.html │ │ │ ├── package.json │ │ │ ├── src/ │ │ │ │ ├── index.css │ │ │ │ └── main.tsx │ │ │ ├── tsconfig.json │ │ │ └── vite.config.js │ │ ├── column-dnd/ │ │ │ ├── .gitignore │ │ │ ├── README.md │ │ │ ├── index.html │ │ │ ├── package.json │ │ │ ├── src/ │ │ │ │ ├── index.css │ │ │ │ ├── main.tsx │ │ │ │ └── makeData.ts │ │ │ ├── tsconfig.json │ │ │ └── vite.config.js │ │ ├── column-groups/ │ │ │ ├── .gitignore │ │ │ ├── README.md │ │ │ ├── index.html │ │ │ ├── package.json │ │ │ ├── src/ │ │ │ │ ├── index.css │ │ │ │ └── main.tsx │ │ │ ├── tsconfig.json │ │ │ └── vite.config.js │ │ ├── column-ordering/ │ │ │ ├── .gitignore │ │ │ ├── README.md │ │ │ ├── index.html │ │ │ ├── package.json │ │ │ ├── src/ │ │ │ │ ├── index.css │ │ │ │ ├── main.tsx │ │ │ │ └── makeData.ts │ │ │ ├── tsconfig.json │ │ │ └── vite.config.js │ │ ├── column-pinning/ │ │ │ ├── .gitignore │ │ │ ├── README.md │ │ │ ├── index.html │ │ │ ├── package.json │ │ │ ├── src/ │ │ │ │ ├── index.css │ │ │ │ ├── main.tsx │ │ │ │ └── makeData.ts │ │ │ ├── tsconfig.json │ │ │ └── vite.config.js │ │ ├── column-pinning-split/ │ │ │ ├── .gitignore │ │ │ ├── README.md │ │ │ ├── index.html │ │ │ ├── package.json │ │ │ ├── src/ │ │ │ │ ├── index.css │ │ │ │ ├── main.tsx │ │ │ │ └── makeData.ts │ │ │ ├── tsconfig.json │ │ │ └── vite.config.js │ │ ├── column-pinning-sticky/ │ │ │ ├── .gitignore │ │ │ ├── README.md │ │ │ ├── index.html │ │ │ ├── package.json │ │ │ ├── src/ │ │ │ │ ├── index.css │ │ │ │ ├── main.tsx │ │ │ │ └── makeData.ts │ │ │ ├── tsconfig.json │ │ │ └── vite.config.js │ │ ├── column-resizing/ │ │ │ ├── .gitignore │ │ │ ├── README.md │ │ │ ├── index.html │ │ │ ├── package.json │ │ │ ├── src/ │ │ │ │ ├── index.css │ │ │ │ └── main.tsx │ │ │ ├── tsconfig.json │ │ │ └── vite.config.js │ │ ├── column-resizing-performant/ │ │ │ ├── .gitignore │ │ │ ├── README.md │ │ │ ├── index.html │ │ │ ├── package.json │ │ │ ├── src/ │ │ │ │ ├── index.css │ │ │ │ ├── main.tsx │ │ │ │ └── makeData.ts │ │ │ ├── tsconfig.json │ │ │ └── vite.config.js │ │ ├── column-sizing/ │ │ │ ├── .gitignore │ │ │ ├── README.md │ │ │ ├── index.html │ │ │ ├── package.json │ │ │ ├── src/ │ │ │ │ ├── index.css │ │ │ │ └── main.tsx │ │ │ ├── tsconfig.json │ │ │ └── vite.config.js │ │ ├── column-visibility/ │ │ │ ├── .gitignore │ │ │ ├── README.md │ │ │ ├── index.html │ │ │ ├── package.json │ │ │ ├── src/ │ │ │ │ ├── index.css │ │ │ │ └── main.tsx │ │ │ ├── tsconfig.json │ │ │ └── vite.config.js │ │ ├── composable-tables/ │ │ │ ├── README.md │ │ │ ├── index.html │ │ │ ├── package.json │ │ │ ├── src/ │ │ │ │ ├── components/ │ │ │ │ │ ├── cell-components.tsx │ │ │ │ │ ├── header-components.tsx │ │ │ │ │ └── table-components.tsx │ │ │ │ ├── hooks/ │ │ │ │ │ └── table.ts │ │ │ │ ├── index.css │ │ │ │ ├── main.tsx │ │ │ │ └── makeData.ts │ │ │ ├── tsconfig.json │ │ │ └── vite.config.js │ │ ├── custom-plugin/ │ │ │ ├── .gitignore │ │ │ ├── README.md │ │ │ ├── index.html │ │ │ ├── package.json │ │ │ ├── src/ │ │ │ │ ├── index.css │ │ │ │ ├── main.tsx │ │ │ │ └── makeData.ts │ │ │ ├── tsconfig.json │ │ │ └── vite.config.js │ │ ├── expanding/ │ │ │ ├── .gitignore │ │ │ ├── README.md │ │ │ ├── index.html │ │ │ ├── package.json │ │ │ ├── src/ │ │ │ │ ├── index.css │ │ │ │ ├── main.tsx │ │ │ │ └── makeData.ts │ │ │ ├── tsconfig.json │ │ │ └── vite.config.js │ │ ├── filters/ │ │ │ ├── .gitignore │ │ │ ├── README.md │ │ │ ├── index.html │ │ │ ├── package.json │ │ │ ├── src/ │ │ │ │ ├── index.css │ │ │ │ ├── main.tsx │ │ │ │ └── makeData.ts │ │ │ ├── tsconfig.json │ │ │ └── vite.config.js │ │ ├── filters-faceted/ │ │ │ ├── .gitignore │ │ │ ├── README.md │ │ │ ├── index.html │ │ │ ├── package.json │ │ │ ├── src/ │ │ │ │ ├── index.css │ │ │ │ ├── main.tsx │ │ │ │ └── makeData.ts │ │ │ ├── tsconfig.json │ │ │ └── vite.config.js │ │ ├── filters-fuzzy/ │ │ │ ├── .gitignore │ │ │ ├── README.md │ │ │ ├── index.html │ │ │ ├── package.json │ │ │ ├── src/ │ │ │ │ ├── index.css │ │ │ │ ├── main.tsx │ │ │ │ └── makeData.ts │ │ │ ├── tsconfig.json │ │ │ └── vite.config.js │ │ ├── grouping/ │ │ │ ├── .gitignore │ │ │ ├── README.md │ │ │ ├── index.html │ │ │ ├── package.json │ │ │ ├── src/ │ │ │ │ ├── index.css │ │ │ │ ├── main.tsx │ │ │ │ └── makeData.ts │ │ │ ├── tsconfig.json │ │ │ └── vite.config.js │ │ ├── kitchen-sink-shadcn/ │ │ │ ├── .gitignore │ │ │ ├── README.md │ │ │ ├── components.json │ │ │ ├── index.html │ │ │ ├── package.json │ │ │ ├── src/ │ │ │ │ ├── components/ │ │ │ │ │ ├── data-table/ │ │ │ │ │ │ ├── data-table-filter-list.tsx │ │ │ │ │ │ ├── data-table-pagination.tsx │ │ │ │ │ │ ├── data-table-sort-list.tsx │ │ │ │ │ │ └── data-table-view-options.tsx │ │ │ │ │ └── ui/ │ │ │ │ │ ├── badge.tsx │ │ │ │ │ ├── button.tsx │ │ │ │ │ ├── calendar.tsx │ │ │ │ │ ├── checkbox.tsx │ │ │ │ │ ├── command.tsx │ │ │ │ │ ├── dialog.tsx │ │ │ │ │ ├── dropdown-menu.tsx │ │ │ │ │ ├── faceted.tsx │ │ │ │ │ ├── input.tsx │ │ │ │ │ ├── popover.tsx │ │ │ │ │ ├── progress.tsx │ │ │ │ │ ├── select.tsx │ │ │ │ │ ├── sortable.tsx │ │ │ │ │ ├── table.tsx │ │ │ │ │ └── tooltip.tsx │ │ │ │ ├── lib/ │ │ │ │ │ ├── composition.ts │ │ │ │ │ ├── data-table.ts │ │ │ │ │ ├── make-data.ts │ │ │ │ │ └── utils.ts │ │ │ │ ├── main.tsx │ │ │ │ ├── styles/ │ │ │ │ │ └── globals.css │ │ │ │ └── types/ │ │ │ │ └── index.ts │ │ │ ├── tailwind.config.ts │ │ │ ├── tsconfig.json │ │ │ └── vite.config.js │ │ ├── pagination/ │ │ │ ├── .gitignore │ │ │ ├── README.md │ │ │ ├── index.html │ │ │ ├── package.json │ │ │ ├── src/ │ │ │ │ ├── index.css │ │ │ │ ├── main.tsx │ │ │ │ └── makeData.ts │ │ │ ├── tsconfig.json │ │ │ └── vite.config.js │ │ ├── row-dnd/ │ │ │ ├── .gitignore │ │ │ ├── README.md │ │ │ ├── index.html │ │ │ ├── package.json │ │ │ ├── src/ │ │ │ │ ├── index.css │ │ │ │ ├── main.tsx │ │ │ │ └── makeData.ts │ │ │ ├── tsconfig.json │ │ │ └── vite.config.js │ │ ├── row-pinning/ │ │ │ ├── .gitignore │ │ │ ├── README.md │ │ │ ├── index.html │ │ │ ├── package.json │ │ │ ├── src/ │ │ │ │ ├── index.css │ │ │ │ ├── main.tsx │ │ │ │ └── makeData.ts │ │ │ ├── tsconfig.json │ │ │ └── vite.config.js │ │ ├── row-selection/ │ │ │ ├── .gitignore │ │ │ ├── README.md │ │ │ ├── index.html │ │ │ ├── package.json │ │ │ ├── src/ │ │ │ │ ├── index.css │ │ │ │ ├── main.tsx │ │ │ │ └── makeData.ts │ │ │ ├── tsconfig.json │ │ │ └── vite.config.js │ │ ├── sorting/ │ │ │ ├── .gitignore │ │ │ ├── README.md │ │ │ ├── index.html │ │ │ ├── package.json │ │ │ ├── src/ │ │ │ │ ├── index.css │ │ │ │ ├── main.tsx │ │ │ │ └── makeData.ts │ │ │ ├── tsconfig.json │ │ │ └── vite.config.js │ │ ├── sub-components/ │ │ │ ├── .gitignore │ │ │ ├── README.md │ │ │ ├── index.html │ │ │ ├── package.json │ │ │ ├── src/ │ │ │ │ ├── index.css │ │ │ │ ├── main.tsx │ │ │ │ └── makeData.ts │ │ │ ├── tsconfig.json │ │ │ └── vite.config.js │ │ ├── virtualized-columns/ │ │ │ ├── .gitignore │ │ │ ├── README.md │ │ │ ├── index.html │ │ │ ├── package.json │ │ │ ├── src/ │ │ │ │ ├── index.css │ │ │ │ ├── main.tsx │ │ │ │ └── makeData.ts │ │ │ ├── tsconfig.json │ │ │ └── vite.config.js │ │ ├── virtualized-columns-experimental/ │ │ │ ├── .gitignore │ │ │ ├── README.md │ │ │ ├── index.html │ │ │ ├── package.json │ │ │ ├── src/ │ │ │ │ ├── index.css │ │ │ │ ├── main.tsx │ │ │ │ └── makeData.ts │ │ │ ├── tsconfig.json │ │ │ └── vite.config.js │ │ ├── virtualized-infinite-scrolling/ │ │ │ ├── .gitignore │ │ │ ├── README.md │ │ │ ├── index.html │ │ │ ├── package.json │ │ │ ├── src/ │ │ │ │ ├── index.css │ │ │ │ ├── main.tsx │ │ │ │ └── makeData.ts │ │ │ ├── tsconfig.json │ │ │ └── vite.config.js │ │ ├── virtualized-rows/ │ │ │ ├── .gitignore │ │ │ ├── README.md │ │ │ ├── index.html │ │ │ ├── package.json │ │ │ ├── src/ │ │ │ │ ├── index.css │ │ │ │ ├── main.tsx │ │ │ │ └── makeData.ts │ │ │ ├── tsconfig.json │ │ │ └── vite.config.js │ │ ├── virtualized-rows-experimental/ │ │ │ ├── .gitignore │ │ │ ├── README.md │ │ │ ├── index.html │ │ │ ├── package.json │ │ │ ├── src/ │ │ │ │ ├── index.css │ │ │ │ ├── main.tsx │ │ │ │ └── makeData.ts │ │ │ ├── tsconfig.json │ │ │ └── vite.config.js │ │ ├── with-tanstack-form/ │ │ │ ├── .gitignore │ │ │ ├── README.md │ │ │ ├── index.html │ │ │ ├── package.json │ │ │ ├── src/ │ │ │ │ ├── form.tsx │ │ │ │ ├── index.css │ │ │ │ ├── main.tsx │ │ │ │ └── makeData.ts │ │ │ ├── tsconfig.json │ │ │ └── vite.config.js │ │ ├── with-tanstack-query/ │ │ │ ├── .gitignore │ │ │ ├── README.md │ │ │ ├── index.html │ │ │ ├── package.json │ │ │ ├── src/ │ │ │ │ ├── fetchData.ts │ │ │ │ ├── index.css │ │ │ │ └── main.tsx │ │ │ ├── tsconfig.json │ │ │ └── vite.config.js │ │ └── with-tanstack-router/ │ │ ├── .gitignore │ │ ├── README.md │ │ ├── index.html │ │ ├── package.json │ │ ├── src/ │ │ │ ├── App.tsx │ │ │ ├── api/ │ │ │ │ ├── data.json │ │ │ │ ├── types.ts │ │ │ │ └── user.ts │ │ │ ├── components/ │ │ │ │ ├── debouncedInput.tsx │ │ │ │ └── table.tsx │ │ │ ├── hooks/ │ │ │ │ └── useFilters.ts │ │ │ ├── index.css │ │ │ ├── main.tsx │ │ │ ├── routeTree.gen.ts │ │ │ ├── routes/ │ │ │ │ ├── __root.tsx │ │ │ │ ├── anotherRoute.tsx │ │ │ │ └── index.tsx │ │ │ └── utils/ │ │ │ ├── cleanEmptyParams.ts │ │ │ ├── tableSortMapper.ts │ │ │ └── userColumns.tsx │ │ ├── tsconfig.json │ │ └── vite.config.js │ ├── solid/ │ │ ├── basic-app-table/ │ │ │ ├── .gitignore │ │ │ ├── README.md │ │ │ ├── index.html │ │ │ ├── package.json │ │ │ ├── src/ │ │ │ │ ├── App.tsx │ │ │ │ ├── index.css │ │ │ │ └── index.tsx │ │ │ ├── tsconfig.json │ │ │ └── vite.config.ts │ │ ├── basic-external-state/ │ │ │ ├── .gitignore │ │ │ ├── README.md │ │ │ ├── index.html │ │ │ ├── package.json │ │ │ ├── src/ │ │ │ │ ├── App.tsx │ │ │ │ ├── index.css │ │ │ │ ├── index.tsx │ │ │ │ └── makeData.ts │ │ │ ├── tsconfig.json │ │ │ └── vite.config.ts │ │ ├── basic-external-store/ │ │ │ ├── .gitignore │ │ │ ├── README.md │ │ │ ├── index.html │ │ │ ├── package.json │ │ │ ├── src/ │ │ │ │ ├── App.tsx │ │ │ │ ├── index.css │ │ │ │ ├── index.tsx │ │ │ │ └── makeData.ts │ │ │ ├── tsconfig.json │ │ │ └── vite.config.ts │ │ ├── basic-use-table/ │ │ │ ├── .gitignore │ │ │ ├── README.md │ │ │ ├── index.html │ │ │ ├── package.json │ │ │ ├── src/ │ │ │ │ ├── App.tsx │ │ │ │ ├── index.css │ │ │ │ └── index.tsx │ │ │ ├── tsconfig.json │ │ │ └── vite.config.ts │ │ ├── column-groups/ │ │ │ ├── .gitignore │ │ │ ├── README.md │ │ │ ├── index.html │ │ │ ├── package.json │ │ │ ├── src/ │ │ │ │ ├── App.tsx │ │ │ │ ├── index.css │ │ │ │ └── index.tsx │ │ │ ├── tsconfig.json │ │ │ └── vite.config.ts │ │ ├── column-ordering/ │ │ │ ├── .gitignore │ │ │ ├── README.md │ │ │ ├── index.html │ │ │ ├── package.json │ │ │ ├── src/ │ │ │ │ ├── App.tsx │ │ │ │ ├── index.css │ │ │ │ ├── index.tsx │ │ │ │ └── makeData.ts │ │ │ ├── tsconfig.json │ │ │ └── vite.config.ts │ │ ├── column-visibility/ │ │ │ ├── .gitignore │ │ │ ├── README.md │ │ │ ├── index.html │ │ │ ├── package.json │ │ │ ├── src/ │ │ │ │ ├── App.tsx │ │ │ │ ├── index.css │ │ │ │ └── index.tsx │ │ │ ├── tsconfig.json │ │ │ └── vite.config.ts │ │ ├── composable-tables/ │ │ │ ├── .gitignore │ │ │ ├── README.md │ │ │ ├── index.html │ │ │ ├── package.json │ │ │ ├── src/ │ │ │ │ ├── App.tsx │ │ │ │ ├── components/ │ │ │ │ │ ├── cell-components.tsx │ │ │ │ │ ├── header-components.tsx │ │ │ │ │ └── table-components.tsx │ │ │ │ ├── hooks/ │ │ │ │ │ └── table.ts │ │ │ │ ├── index.css │ │ │ │ ├── index.tsx │ │ │ │ └── makeData.ts │ │ │ ├── tsconfig.json │ │ │ └── vite.config.ts │ │ ├── filters/ │ │ │ ├── .gitignore │ │ │ ├── README.md │ │ │ ├── index.html │ │ │ ├── package.json │ │ │ ├── src/ │ │ │ │ ├── App.tsx │ │ │ │ ├── ColumnFilter.tsx │ │ │ │ ├── index.css │ │ │ │ ├── index.tsx │ │ │ │ └── makeData.ts │ │ │ ├── tsconfig.json │ │ │ └── vite.config.ts │ │ ├── filters-faceted/ │ │ │ ├── .gitignore │ │ │ ├── README.md │ │ │ ├── index.html │ │ │ ├── package.json │ │ │ ├── src/ │ │ │ │ ├── App.tsx │ │ │ │ ├── ColumnFilter.tsx │ │ │ │ ├── index.css │ │ │ │ ├── index.tsx │ │ │ │ └── makeData.ts │ │ │ ├── tsconfig.json │ │ │ └── vite.config.ts │ │ ├── row-selection/ │ │ │ ├── README.md │ │ │ ├── index.html │ │ │ ├── package.json │ │ │ ├── src/ │ │ │ │ ├── App.tsx │ │ │ │ ├── index.css │ │ │ │ ├── index.tsx │ │ │ │ └── makeData.ts │ │ │ ├── tsconfig.json │ │ │ └── vite.config.ts │ │ ├── sorting/ │ │ │ ├── .gitignore │ │ │ ├── README.md │ │ │ ├── index.html │ │ │ ├── package.json │ │ │ ├── src/ │ │ │ │ ├── App.tsx │ │ │ │ ├── index.css │ │ │ │ ├── index.tsx │ │ │ │ └── makeData.ts │ │ │ ├── tsconfig.json │ │ │ └── vite.config.ts │ │ └── with-tanstack-query/ │ │ ├── .gitignore │ │ ├── README.md │ │ ├── index.html │ │ ├── package.json │ │ ├── src/ │ │ │ ├── App.tsx │ │ │ ├── fetchData.ts │ │ │ ├── index.css │ │ │ └── index.tsx │ │ ├── tsconfig.json │ │ └── vite.config.ts │ ├── svelte/ │ │ ├── basic/ │ │ │ ├── .gitignore │ │ │ ├── README.md │ │ │ ├── index.html │ │ │ ├── package.json │ │ │ ├── src/ │ │ │ │ ├── App.svelte │ │ │ │ ├── index.css │ │ │ │ ├── main.ts │ │ │ │ └── vite-env.d.ts │ │ │ ├── svelte.config.js │ │ │ ├── tsconfig.json │ │ │ └── vite.config.js │ │ ├── basic-snippets/ │ │ │ ├── .gitignore │ │ │ ├── README.md │ │ │ ├── index.html │ │ │ ├── package.json │ │ │ ├── src/ │ │ │ │ ├── App.svelte │ │ │ │ ├── index.css │ │ │ │ ├── main.ts │ │ │ │ └── snippets.svelte │ │ │ ├── svelte.config.js │ │ │ ├── tsconfig.json │ │ │ └── vite.config.js │ │ ├── basic-table-helper/ │ │ │ ├── .gitignore │ │ │ ├── README.md │ │ │ ├── index.html │ │ │ ├── package.json │ │ │ ├── src/ │ │ │ │ ├── App.svelte │ │ │ │ ├── index.css │ │ │ │ └── main.ts │ │ │ ├── svelte.config.js │ │ │ ├── tsconfig.json │ │ │ └── vite.config.js │ │ ├── column-groups/ │ │ │ ├── .gitignore │ │ │ ├── README.md │ │ │ ├── index.html │ │ │ ├── package.json │ │ │ ├── src/ │ │ │ │ ├── App.svelte │ │ │ │ ├── index.css │ │ │ │ └── main.ts │ │ │ ├── svelte.config.js │ │ │ ├── tsconfig.json │ │ │ └── vite.config.js │ │ ├── column-ordering/ │ │ │ ├── .gitignore │ │ │ ├── README.md │ │ │ ├── index.html │ │ │ ├── package.json │ │ │ ├── src/ │ │ │ │ ├── App.svelte │ │ │ │ ├── index.css │ │ │ │ ├── main.ts │ │ │ │ └── makeData.ts │ │ │ ├── svelte.config.js │ │ │ ├── tsconfig.json │ │ │ └── vite.config.js │ │ ├── column-pinning/ │ │ │ ├── .gitignore │ │ │ ├── README.md │ │ │ ├── index.html │ │ │ ├── package.json │ │ │ ├── src/ │ │ │ │ ├── App.svelte │ │ │ │ ├── index.css │ │ │ │ ├── main.ts │ │ │ │ └── makeData.ts │ │ │ ├── svelte.config.js │ │ │ ├── tsconfig.json │ │ │ └── vite.config.js │ │ ├── column-visibility/ │ │ │ ├── .gitignore │ │ │ ├── README.md │ │ │ ├── index.html │ │ │ ├── package.json │ │ │ ├── src/ │ │ │ │ ├── App.svelte │ │ │ │ ├── index.css │ │ │ │ └── main.ts │ │ │ ├── svelte.config.js │ │ │ ├── tsconfig.json │ │ │ └── vite.config.js │ │ ├── filtering/ │ │ │ ├── .gitignore │ │ │ ├── README.md │ │ │ ├── index.html │ │ │ ├── package.json │ │ │ ├── src/ │ │ │ │ ├── App.svelte │ │ │ │ ├── index.css │ │ │ │ ├── main.ts │ │ │ │ └── makeData.ts │ │ │ ├── svelte.config.js │ │ │ ├── tsconfig.json │ │ │ └── vite.config.js │ │ ├── row-selection/ │ │ │ ├── index.html │ │ │ ├── package.json │ │ │ ├── src/ │ │ │ │ ├── App.svelte │ │ │ │ ├── index.css │ │ │ │ ├── main.ts │ │ │ │ └── makeData.ts │ │ │ ├── svelte.config.js │ │ │ ├── tsconfig.json │ │ │ └── vite.config.js │ │ └── sorting/ │ │ ├── .gitignore │ │ ├── README.md │ │ ├── index.html │ │ ├── package.json │ │ ├── src/ │ │ │ ├── App.svelte │ │ │ ├── Header.svelte │ │ │ ├── index.css │ │ │ ├── main.ts │ │ │ ├── makeData.ts │ │ │ ├── tableHelper.svelte.ts │ │ │ └── vite-env.d.ts │ │ ├── svelte.config.js │ │ ├── tsconfig.json │ │ └── vite.config.js │ ├── vanilla/ │ │ ├── basic/ │ │ │ ├── .gitignore │ │ │ ├── README.md │ │ │ ├── index.html │ │ │ ├── package.json │ │ │ ├── src/ │ │ │ │ ├── createTable.ts │ │ │ │ ├── index.css │ │ │ │ └── main.ts │ │ │ ├── tsconfig.json │ │ │ └── vite.config.js │ │ ├── pagination/ │ │ │ ├── .gitignore │ │ │ ├── README.md │ │ │ ├── index.html │ │ │ ├── package.json │ │ │ ├── src/ │ │ │ │ ├── createTable.ts │ │ │ │ ├── index.css │ │ │ │ ├── main.ts │ │ │ │ └── makeData.ts │ │ │ ├── tsconfig.json │ │ │ └── vite.config.js │ │ └── sorting/ │ │ ├── .gitignore │ │ ├── README.md │ │ ├── index.html │ │ ├── package.json │ │ ├── src/ │ │ │ ├── createTable.ts │ │ │ ├── index.css │ │ │ ├── main.ts │ │ │ └── makeData.ts │ │ ├── tsconfig.json │ │ └── vite.config.js │ └── vue/ │ ├── basic/ │ │ ├── .gitignore │ │ ├── README.md │ │ ├── env.d.ts │ │ ├── index.html │ │ ├── package.json │ │ ├── src/ │ │ │ ├── App.vue │ │ │ ├── env.d.ts │ │ │ └── main.ts │ │ ├── tsconfig.json │ │ └── vite.config.ts │ ├── column-ordering/ │ │ ├── .gitignore │ │ ├── .vscode/ │ │ │ └── extensions.json │ │ ├── README.md │ │ ├── env.d.ts │ │ ├── index.html │ │ ├── package.json │ │ ├── src/ │ │ │ ├── App.vue │ │ │ ├── env.d.ts │ │ │ ├── main.ts │ │ │ └── makeData.ts │ │ ├── tsconfig.json │ │ └── vite.config.ts │ ├── column-pinning/ │ │ ├── .gitignore │ │ ├── .vscode/ │ │ │ └── extensions.json │ │ ├── README.md │ │ ├── env.d.ts │ │ ├── index.html │ │ ├── package.json │ │ ├── src/ │ │ │ ├── App.vue │ │ │ ├── env.d.ts │ │ │ ├── main.ts │ │ │ └── makeData.ts │ │ ├── tsconfig.json │ │ └── vite.config.ts │ ├── filters/ │ │ ├── .gitignore │ │ ├── README.md │ │ ├── env.d.ts │ │ ├── index.html │ │ ├── package.json │ │ ├── src/ │ │ │ ├── App.vue │ │ │ ├── DebouncedInput.vue │ │ │ ├── Filter.vue │ │ │ ├── main.ts │ │ │ └── tableHelper.ts │ │ ├── tsconfig.json │ │ └── vite.config.ts │ ├── pagination/ │ │ ├── .gitignore │ │ ├── README.md │ │ ├── env.d.ts │ │ ├── index.html │ │ ├── package.json │ │ ├── src/ │ │ │ ├── App.vue │ │ │ ├── env.d.ts │ │ │ ├── main.ts │ │ │ └── makeData.ts │ │ ├── tsconfig.json │ │ └── vite.config.ts │ ├── pagination-controlled/ │ │ ├── .gitignore │ │ ├── README.md │ │ ├── env.d.ts │ │ ├── index.html │ │ ├── package.json │ │ ├── src/ │ │ │ ├── App.vue │ │ │ ├── env.d.ts │ │ │ ├── main.ts │ │ │ └── useService.ts │ │ ├── tsconfig.json │ │ └── vite.config.ts │ ├── row-selection/ │ │ ├── .gitignore │ │ ├── README.md │ │ ├── env.d.ts │ │ ├── index.html │ │ ├── package.json │ │ ├── src/ │ │ │ ├── App.vue │ │ │ ├── IndeterminateCheckbox.vue │ │ │ ├── env.d.ts │ │ │ ├── main.ts │ │ │ └── makeData.ts │ │ ├── tsconfig.json │ │ └── vite.config.ts │ ├── sorting/ │ │ ├── .gitignore │ │ ├── README.md │ │ ├── env.d.ts │ │ ├── index.html │ │ ├── package.json │ │ ├── src/ │ │ │ ├── App.vue │ │ │ ├── env.d.ts │ │ │ ├── main.ts │ │ │ └── makeData.ts │ │ ├── tsconfig.json │ │ └── vite.config.ts │ ├── sub-components/ │ │ ├── .gitignore │ │ ├── README.md │ │ ├── env.d.ts │ │ ├── index.html │ │ ├── package.json │ │ ├── src/ │ │ │ ├── App.vue │ │ │ └── main.ts │ │ ├── tsconfig.json │ │ └── vite.config.ts │ └── virtualized-rows/ │ ├── .gitignore │ ├── README.md │ ├── env.d.ts │ ├── index.html │ ├── package.json │ ├── src/ │ │ ├── App.vue │ │ ├── env.d.ts │ │ ├── index.css │ │ ├── main.ts │ │ └── makeData.ts │ ├── tsconfig.json │ └── vite.config.ts ├── knip.json ├── media/ │ └── logo.sketch ├── nx.json ├── package.json ├── packages/ │ ├── angular-table/ │ │ ├── eslint.config.js │ │ ├── ng-package.json │ │ ├── package.json │ │ ├── src/ │ │ │ ├── flex-render/ │ │ │ │ ├── context.ts │ │ │ │ ├── flags.ts │ │ │ │ ├── flexRenderComponent.ts │ │ │ │ ├── flexRenderComponentFactory.ts │ │ │ │ ├── renderer.ts │ │ │ │ └── view.ts │ │ │ ├── flexRender.ts │ │ │ ├── helpers/ │ │ │ │ ├── cell.ts │ │ │ │ ├── createTableHook.ts │ │ │ │ ├── flexRenderCell.ts │ │ │ │ ├── header.ts │ │ │ │ └── table.ts │ │ │ ├── index.ts │ │ │ ├── injectTable.ts │ │ │ └── lazySignalInitializer.ts │ │ ├── tests/ │ │ │ ├── angularReactivityFeature.test.ts │ │ │ ├── benchmarks/ │ │ │ │ ├── injectTable.benchmark.ts │ │ │ │ └── setup.ts │ │ │ ├── flex-render/ │ │ │ │ ├── flex-render-component.test-d.ts │ │ │ │ ├── flex-render-table.test.ts │ │ │ │ └── flex-render.unit.test.ts │ │ │ ├── injectTable.test.ts │ │ │ ├── lazy-init.test.ts │ │ │ ├── test-setup.ts │ │ │ └── test-utils.ts │ │ ├── tsconfig.build.json │ │ ├── tsconfig.json │ │ ├── tsconfig.test.json │ │ └── vite.config.ts │ ├── lit-table/ │ │ ├── eslint.config.js │ │ ├── package.json │ │ ├── src/ │ │ │ ├── TableController.ts │ │ │ ├── flexRender.ts │ │ │ └── index.ts │ │ ├── tsconfig.json │ │ └── vite.config.ts │ ├── match-sorter-utils/ │ │ ├── package.json │ │ ├── src/ │ │ │ ├── index.ts │ │ │ └── remove-accents.ts │ │ ├── tests/ │ │ │ ├── match-sorter-utils.test.ts │ │ │ └── test-setup.ts │ │ ├── tsconfig.json │ │ └── vite.config.ts │ ├── preact-table/ │ │ ├── eslint.config.js │ │ ├── package.json │ │ ├── src/ │ │ │ ├── FlexRender.tsx │ │ │ ├── Subscribe.ts │ │ │ ├── createTableHook.tsx │ │ │ ├── index.ts │ │ │ └── useTable.ts │ │ ├── tsconfig.json │ │ └── vite.config.ts │ ├── react-table/ │ │ ├── eslint.config.js │ │ ├── package.json │ │ ├── src/ │ │ │ ├── FlexRender.tsx │ │ │ ├── Subscribe.ts │ │ │ ├── createTableHook.tsx │ │ │ ├── index.ts │ │ │ ├── legacy.ts │ │ │ ├── useLegacyTable.ts │ │ │ └── useTable.ts │ │ ├── tsconfig.json │ │ └── vite.config.ts │ ├── react-table-devtools/ │ │ ├── eslint.config.js │ │ ├── package.json │ │ ├── src/ │ │ │ ├── ReactTableDevtools.tsx │ │ │ ├── index.ts │ │ │ ├── plugin.tsx │ │ │ └── production.ts │ │ ├── tsconfig.json │ │ └── vite.config.ts │ ├── solid-table/ │ │ ├── eslint.config.js │ │ ├── package.json │ │ ├── src/ │ │ │ ├── FlexRender.tsx │ │ │ ├── createTable.ts │ │ │ ├── createTableHook.tsx │ │ │ └── index.tsx │ │ ├── tsconfig.build.json │ │ ├── tsconfig.json │ │ └── vite.config.ts │ ├── solid-table-devtools/ │ │ ├── eslint.config.js │ │ ├── package.json │ │ ├── src/ │ │ │ ├── TableDevtools.tsx │ │ │ ├── index.ts │ │ │ ├── plugin.tsx │ │ │ ├── production/ │ │ │ │ ├── TableDevtools.tsx │ │ │ │ └── plugin.tsx │ │ │ └── production.ts │ │ ├── tsconfig.build.json │ │ ├── tsconfig.json │ │ └── vite.config.ts │ ├── svelte-table/ │ │ ├── eslint.config.js │ │ ├── package.json │ │ ├── src/ │ │ │ ├── FlexRender.svelte │ │ │ ├── Subscribe.svelte │ │ │ ├── createTable.svelte.ts │ │ │ ├── createTableHelper.ts │ │ │ ├── createTableState.svelte.ts │ │ │ ├── global.d.ts │ │ │ ├── index.ts │ │ │ └── render-component.ts │ │ ├── svelte.config.js │ │ ├── tsconfig.json │ │ └── vite.config.ts │ ├── table-core/ │ │ ├── eslint.config.js │ │ ├── package.json │ │ ├── src/ │ │ │ ├── core/ │ │ │ │ ├── cells/ │ │ │ │ │ ├── constructCell.ts │ │ │ │ │ ├── coreCellsFeature.ts │ │ │ │ │ ├── coreCellsFeature.types.ts │ │ │ │ │ └── coreCellsFeature.utils.ts │ │ │ │ ├── columns/ │ │ │ │ │ ├── constructColumn.ts │ │ │ │ │ ├── coreColumnsFeature.ts │ │ │ │ │ ├── coreColumnsFeature.types.ts │ │ │ │ │ └── coreColumnsFeature.utils.ts │ │ │ │ ├── coreFeatures.ts │ │ │ │ ├── headers/ │ │ │ │ │ ├── buildHeaderGroups.ts │ │ │ │ │ ├── constructHeader.ts │ │ │ │ │ ├── coreHeadersFeature.ts │ │ │ │ │ ├── coreHeadersFeature.types.ts │ │ │ │ │ └── coreHeadersFeature.utils.ts │ │ │ │ ├── row-models/ │ │ │ │ │ ├── coreRowModelsFeature.ts │ │ │ │ │ ├── coreRowModelsFeature.types.ts │ │ │ │ │ ├── coreRowModelsFeature.utils.ts │ │ │ │ │ └── createCoreRowModel.ts │ │ │ │ ├── rows/ │ │ │ │ │ ├── constructRow.ts │ │ │ │ │ ├── coreRowsFeature.ts │ │ │ │ │ ├── coreRowsFeature.types.ts │ │ │ │ │ └── coreRowsFeature.utils.ts │ │ │ │ └── table/ │ │ │ │ ├── constructTable.ts │ │ │ │ ├── coreTablesFeature.ts │ │ │ │ ├── coreTablesFeature.types.ts │ │ │ │ └── coreTablesFeature.utils.ts │ │ │ ├── features/ │ │ │ │ ├── column-faceting/ │ │ │ │ │ ├── columnFacetingFeature.ts │ │ │ │ │ ├── columnFacetingFeature.types.ts │ │ │ │ │ ├── columnFacetingFeature.utils.ts │ │ │ │ │ ├── createFacetedMinMaxValues.ts │ │ │ │ │ ├── createFacetedRowModel.ts │ │ │ │ │ └── createFacetedUniqueValues.ts │ │ │ │ ├── column-filtering/ │ │ │ │ │ ├── columnFilteringFeature.ts │ │ │ │ │ ├── columnFilteringFeature.types.ts │ │ │ │ │ ├── columnFilteringFeature.utils.ts │ │ │ │ │ ├── createFilteredRowModel.ts │ │ │ │ │ └── filterRowsUtils.ts │ │ │ │ ├── column-grouping/ │ │ │ │ │ ├── columnGroupingFeature.ts │ │ │ │ │ ├── columnGroupingFeature.types.ts │ │ │ │ │ ├── columnGroupingFeature.utils.ts │ │ │ │ │ └── createGroupedRowModel.ts │ │ │ │ ├── column-ordering/ │ │ │ │ │ ├── columnOrderingFeature.ts │ │ │ │ │ ├── columnOrderingFeature.types.ts │ │ │ │ │ └── columnOrderingFeature.utils.ts │ │ │ │ ├── column-pinning/ │ │ │ │ │ ├── columnPinningFeature.ts │ │ │ │ │ ├── columnPinningFeature.types.ts │ │ │ │ │ └── columnPinningFeature.utils.ts │ │ │ │ ├── column-resizing/ │ │ │ │ │ ├── columnResizingFeature.ts │ │ │ │ │ ├── columnResizingFeature.types.ts │ │ │ │ │ └── columnResizingFeature.utils.ts │ │ │ │ ├── column-sizing/ │ │ │ │ │ ├── columnSizingFeature.ts │ │ │ │ │ ├── columnSizingFeature.types.ts │ │ │ │ │ └── columnSizingFeature.utils.ts │ │ │ │ ├── column-visibility/ │ │ │ │ │ ├── columnVisibilityFeature.ts │ │ │ │ │ ├── columnVisibilityFeature.types.ts │ │ │ │ │ └── columnVisibilityFeature.utils.ts │ │ │ │ ├── global-filtering/ │ │ │ │ │ ├── globalFilteringFeature.ts │ │ │ │ │ ├── globalFilteringFeature.types.ts │ │ │ │ │ └── globalFilteringFeature.utils.ts │ │ │ │ ├── row-expanding/ │ │ │ │ │ ├── createExpandedRowModel.ts │ │ │ │ │ ├── rowExpandingFeature.ts │ │ │ │ │ ├── rowExpandingFeature.types.ts │ │ │ │ │ └── rowExpandingFeature.utils.ts │ │ │ │ ├── row-pagination/ │ │ │ │ │ ├── createPaginatedRowModel.ts │ │ │ │ │ ├── rowPaginationFeature.ts │ │ │ │ │ ├── rowPaginationFeature.types.ts │ │ │ │ │ └── rowPaginationFeature.utils.ts │ │ │ │ ├── row-pinning/ │ │ │ │ │ ├── rowPinningFeature.ts │ │ │ │ │ ├── rowPinningFeature.types.ts │ │ │ │ │ └── rowPinningFeature.utils.ts │ │ │ │ ├── row-selection/ │ │ │ │ │ ├── rowSelectionFeature.ts │ │ │ │ │ ├── rowSelectionFeature.types.ts │ │ │ │ │ └── rowSelectionFeature.utils.ts │ │ │ │ ├── row-sorting/ │ │ │ │ │ ├── createSortedRowModel.ts │ │ │ │ │ ├── rowSortingFeature.ts │ │ │ │ │ ├── rowSortingFeature.types.ts │ │ │ │ │ └── rowSortingFeature.utils.ts │ │ │ │ ├── stockFeatures.ts │ │ │ │ └── table-reactivity/ │ │ │ │ └── tableReactivityFeature.ts │ │ │ ├── fns/ │ │ │ │ ├── aggregationFns.ts │ │ │ │ ├── filterFns.ts │ │ │ │ └── sortFns.ts │ │ │ ├── helpers/ │ │ │ │ ├── columnHelper.ts │ │ │ │ ├── tableFeatures.ts │ │ │ │ ├── tableHelper.ts │ │ │ │ └── tableOptions.ts │ │ │ ├── index.ts │ │ │ ├── types/ │ │ │ │ ├── Cell.ts │ │ │ │ ├── Column.ts │ │ │ │ ├── ColumnDef.ts │ │ │ │ ├── Header.ts │ │ │ │ ├── HeaderGroup.ts │ │ │ │ ├── Row.ts │ │ │ │ ├── RowModel.ts │ │ │ │ ├── RowModelFns.ts │ │ │ │ ├── Table.ts │ │ │ │ ├── TableFeatures.ts │ │ │ │ ├── TableOptions.ts │ │ │ │ ├── TableState.ts │ │ │ │ └── type-utils.ts │ │ │ └── utils.ts │ │ ├── tests/ │ │ │ ├── fixtures/ │ │ │ │ ├── data/ │ │ │ │ │ ├── generateTestColumnDefs.ts │ │ │ │ │ ├── generateTestData.ts │ │ │ │ │ └── types.ts │ │ │ │ └── setup/ │ │ │ │ └── test-setup.ts │ │ │ ├── helpers/ │ │ │ │ ├── generateTestRows.ts │ │ │ │ ├── generateTestTable.ts │ │ │ │ ├── rowPinningHelpers.ts │ │ │ │ └── testUtils.ts │ │ │ ├── implementation/ │ │ │ │ └── features/ │ │ │ │ ├── row-pinning/ │ │ │ │ │ └── rowPinningFeature.test.ts │ │ │ │ └── row-selection/ │ │ │ │ └── rowSelectionFeature.test.ts │ │ │ ├── performance/ │ │ │ │ └── features/ │ │ │ │ └── column-grouping/ │ │ │ │ └── columnGroupingFeature.test.ts │ │ │ └── unit/ │ │ │ ├── core/ │ │ │ │ ├── cells/ │ │ │ │ │ └── constructCell.test.ts │ │ │ │ ├── columns/ │ │ │ │ │ └── constructColumn.test.ts │ │ │ │ ├── headers/ │ │ │ │ │ └── constructHeader.test.ts │ │ │ │ ├── rows/ │ │ │ │ │ └── constructRow.test.ts │ │ │ │ └── table/ │ │ │ │ └── constructTable.test.ts │ │ │ ├── features/ │ │ │ │ ├── column-ordering/ │ │ │ │ │ └── columnOrderingFeature.utils.test.ts │ │ │ │ ├── column-pinning/ │ │ │ │ │ └── columnPinningFeature.utils.test.ts │ │ │ │ ├── column-resizing/ │ │ │ │ │ └── columnResizingFeature.utils.test.ts │ │ │ │ ├── column-visibility/ │ │ │ │ │ └── columnVisibilityFeature.utils.test.ts │ │ │ │ └── row-pinning/ │ │ │ │ └── rowPinningFeature.utils.test.ts │ │ │ ├── fns/ │ │ │ │ └── filterFns.test.ts │ │ │ └── utils.test.ts │ │ ├── tsconfig.json │ │ └── vite.config.ts │ ├── table-devtools/ │ │ ├── eslint.config.js │ │ ├── package.json │ │ ├── src/ │ │ │ ├── TableContextProvider.tsx │ │ │ ├── TableDevtools.tsx │ │ │ ├── components/ │ │ │ │ ├── ColumnsPanel.tsx │ │ │ │ ├── FeaturesPanel.tsx │ │ │ │ ├── OptionsPanel.tsx │ │ │ │ ├── ResizableSplit.tsx │ │ │ │ ├── RowsPanel.tsx │ │ │ │ ├── Shell.tsx │ │ │ │ └── StatePanel.tsx │ │ │ ├── core.tsx │ │ │ ├── index.ts │ │ │ ├── production.ts │ │ │ ├── styles/ │ │ │ │ ├── tokens.ts │ │ │ │ └── use-styles.ts │ │ │ ├── tableTarget.ts │ │ │ └── useTableStore.ts │ │ ├── tsconfig.json │ │ └── vite.config.ts │ └── vue-table/ │ ├── eslint.config.js │ ├── package.json │ ├── src/ │ │ ├── FlexRender.ts │ │ ├── createTableHelper.ts │ │ ├── index.ts │ │ ├── merge-proxy.ts │ │ └── useTable.ts │ ├── tsconfig.json │ └── vite.config.ts ├── pnpm-workspace.yaml ├── prettier.config.js ├── scripts/ │ ├── config.js │ ├── generateDocs.js │ ├── publish.js │ ├── types.d.ts │ └── verify-links.ts ├── tsconfig.json └── vitest.workspace.mjs
SYMBOL INDEX (1589 symbols across 387 files)
FILE: examples/angular/basic-app-table/src/app/app.ts
type Person (line 8) | type Person = {
class App (line 105) | class App {
method rerender (line 116) | rerender() {
FILE: examples/angular/basic/src/app/app.ts
type Person (line 8) | type Person = {
class App (line 92) | class App {
method rerender (line 104) | rerender() {
FILE: examples/angular/column-ordering/src/app/app.ts
class App (line 81) | class App {
method randomizeColumns (line 113) | randomizeColumns() {
method rerender (line 119) | rerender() {
FILE: examples/angular/column-ordering/src/app/makeData.ts
type Person (line 3) | type Person = {
function makeData (line 36) | function makeData(...lens: Array<number>) {
FILE: examples/angular/column-pinning-sticky/src/app/app.ts
class App (line 79) | class App {
method randomizeColumns (line 128) | randomizeColumns() {
method rerender (line 134) | rerender() {
FILE: examples/angular/column-pinning-sticky/src/app/makeData.ts
type Person (line 3) | type Person = {
function makeData (line 36) | function makeData(...lens: Array<number>) {
FILE: examples/angular/column-pinning/src/app/app.ts
class App (line 90) | class App {
method randomizeColumns (line 133) | randomizeColumns() {
method rerender (line 139) | rerender() {
FILE: examples/angular/column-pinning/src/app/makeData.ts
type Person (line 3) | type Person = {
function makeData (line 36) | function makeData(...lens: Array<number>) {
FILE: examples/angular/column-resizing-performant/src/app/app.ts
class App (line 78) | class App {
FILE: examples/angular/column-resizing-performant/src/app/makeData.ts
type Person (line 3) | type Person = {
function makeData (line 36) | function makeData(...lens: Array<number>) {
FILE: examples/angular/column-resizing-performant/src/app/resizable-cell/resizable-cell.ts
class TableResizableHeader (line 10) | class TableResizableHeader {
class TableResizableCell (line 27) | class TableResizableCell {
FILE: examples/angular/column-visibility/src/app/app.ts
type Person (line 16) | type Person = {
class App (line 114) | class App {
method rerender (line 140) | rerender() {
FILE: examples/angular/composable-tables/src/app/app.ts
class App (line 27) | class App {}
FILE: examples/angular/composable-tables/src/app/components/cell-components.ts
class TextCell (line 18) | class TextCell {
class NumberCell (line 30) | class NumberCell {
class StatusCell (line 44) | class StatusCell {
class ProgressCell (line 57) | class ProgressCell {
class RowActionsCell (line 73) | class RowActionsCell {
method view (line 76) | view() {
method edit (line 82) | edit() {
method delete (line 88) | delete() {
class PriceCell (line 100) | class PriceCell {
class CategoryCell (line 113) | class CategoryCell {
FILE: examples/angular/composable-tables/src/app/components/header-components.ts
function SortIndicator (line 18) | function SortIndicator(): string | null {
function ColumnFilter (line 27) | function ColumnFilter(): FlexRenderComponent | null {
class _ColumnFilter (line 46) | class _ColumnFilter {
class FooterColumnId (line 60) | class FooterColumnId {
class FooterSum (line 72) | class FooterSum {
FILE: examples/angular/composable-tables/src/app/components/products-table/products-table.ts
class ProductsTable (line 27) | class ProductsTable {
FILE: examples/angular/composable-tables/src/app/components/table-components.ts
class TableToolbar (line 24) | class TableToolbar {
method constructor (line 30) | constructor() {
class RowCount (line 42) | class RowCount {
class PaginationControls (line 96) | class PaginationControls {
method onPageChange (line 109) | onPageChange(event: Event) {
method onPageSizeChange (line 115) | onPageSizeChange(event: Event) {
FILE: examples/angular/composable-tables/src/app/components/users-table/users-table.ts
class UsersTable (line 28) | class UsersTable {
FILE: examples/angular/composable-tables/src/app/makeData.ts
type Person (line 3) | type Person = {
type Product (line 13) | type Product = {
function makeData (line 61) | function makeData(...lens: Array<number>) {
function makeProductData (line 75) | function makeProductData(count: number): Array<Product> {
FILE: examples/angular/custom-plugin/src/app/app.ts
class App (line 57) | class App {
FILE: examples/angular/custom-plugin/src/app/density/density-feature.ts
type DensityState (line 12) | type DensityState = 'sm' | 'md' | 'lg'
type TableState_Density (line 13) | interface TableState_Density {
type TableOptions_Density (line 18) | interface TableOptions_Density {
type Table_Density (line 24) | interface Table_Density {
type DensityPluginConstructors (line 29) | interface DensityPluginConstructors<TFeatures extends TableFeatures, TDa...
FILE: examples/angular/custom-plugin/src/app/makeData.ts
type Person (line 3) | type Person = {
function makeData (line 36) | function makeData(...lens: Array<number>) {
FILE: examples/angular/editable/src/app/app.ts
type TableMeta (line 23) | interface TableMeta<TFeatures extends TableFeatures, TData extends RowDa...
class App (line 90) | class App {
method refresh (line 131) | refresh() {
FILE: examples/angular/editable/src/app/editable-cell/editable-cell.ts
class EditableCell (line 15) | class EditableCell {
FILE: examples/angular/editable/src/app/makeData.ts
type Person (line 3) | type Person = {
function makeData (line 36) | function makeData(...lens: Array<number>) {
FILE: examples/angular/expanding/src/app/app.ts
class App (line 79) | class App {
method onPageInputChange (line 115) | onPageInputChange(event: Event): void {
method onPageSizeChange (line 121) | onPageSizeChange(event: any): void {
FILE: examples/angular/expanding/src/app/expandable-cell/expandable-cell.ts
class ExpandableHeaderCell (line 28) | class ExpandableHeaderCell<T extends RowData> {
method table (line 33) | get table() {
class ExpandableCell (line 73) | class ExpandableCell<T extends RowData> {
method row (line 76) | get row() {
FILE: examples/angular/expanding/src/app/makeData.ts
type Person (line 3) | type Person = {
function makeData (line 36) | function makeData(...lens: Array<number>) {
FILE: examples/angular/filters/src/app/app.ts
class App (line 95) | class App {
method onPageInputChange (line 116) | onPageInputChange(event: Event): void {
method onPageSizeChange (line 122) | onPageSizeChange(event: any): void {
method refreshData (line 126) | refreshData(): void {
FILE: examples/angular/filters/src/app/debounced-input/debounced-input.ts
class DebouncedInput (line 9) | class DebouncedInput {
FILE: examples/angular/filters/src/app/makeData.ts
type Person (line 3) | type Person = {
function makeData (line 36) | function makeData(...lens: Array<number>) {
FILE: examples/angular/filters/src/app/table-filter/table-filter.ts
type ColumnMeta (line 15) | interface ColumnMeta<
class TableFilter (line 97) | class TableFilter {
FILE: examples/angular/grouping/src/app/app.ts
class App (line 19) | class App {
method onPageInputChange (line 44) | onPageInputChange(event: any): void {
method onPageSizeChange (line 49) | onPageSizeChange(event: any) {
method refreshData (line 53) | refreshData() {
FILE: examples/angular/grouping/src/app/makeData.ts
type Person (line 3) | type Person = {
function makeData (line 36) | function makeData(...lens: Array<number>): Array<Person> {
FILE: examples/angular/remote-data/src/app/app.ts
type Todo (line 28) | type Todo = {
type TodoResponse (line 43) | type TodoResponse = { items: Array<Todo>; totalCount: number }
class App (line 51) | class App {
method onPageInputChange (line 172) | onPageInputChange(event: Event): void {
method onPageSizeChange (line 178) | onPageSizeChange(event: any): void {
FILE: examples/angular/row-dnd/src/app/app.ts
class App (line 72) | class App {
method drop (line 89) | drop(event: CdkDragDrop<Array<Person>>) {
FILE: examples/angular/row-dnd/src/app/drag-handle-cell/drag-handle-cell.ts
class DragHandleCell (line 10) | class DragHandleCell {}
FILE: examples/angular/row-dnd/src/app/makeData.ts
type Person (line 3) | type Person = {
function makeData (line 38) | function makeData(...lens: Array<number>) {
FILE: examples/angular/row-selection-signal/src/app/app.component.ts
class AppComponent (line 43) | class AppComponent {
method onPageInputChange (line 141) | onPageInputChange(event: Event): void {
method onPageSizeChange (line 147) | onPageSizeChange(event: any): void {
method logSelectedFlatRows (line 151) | logSelectedFlatRows(): void {
method refreshData (line 158) | refreshData(): void {
FILE: examples/angular/row-selection-signal/src/app/filter.ts
class FilterComponent (line 39) | class FilterComponent<T extends RowData> implements OnInit {
method ngOnInit (line 46) | ngOnInit() {
method getMinValue (line 52) | getMinValue() {
method getMaxValue (line 58) | getMaxValue() {
method updateMinFilterValue (line 63) | updateMinFilterValue(newValue: string): void {
method updateMaxFilterValue (line 69) | updateMaxFilterValue(newValue: string): void {
FILE: examples/angular/row-selection-signal/src/app/makeData.ts
type Person (line 3) | type Person = {
function makeData (line 36) | function makeData(...lens: Array<number>) {
FILE: examples/angular/row-selection-signal/src/app/selection-column.component.ts
class TableHeadSelectionComponent (line 19) | class TableHeadSelectionComponent<T extends RowData> {
class TableRowSelectionComponent (line 45) | class TableRowSelectionComponent<T extends RowData> {
FILE: examples/angular/row-selection/src/app/app.ts
class App (line 31) | class App {
method onPageInputChange (line 121) | onPageInputChange(event: Event): void {
method onPageSizeChange (line 127) | onPageSizeChange(event: any): void {
method logSelectedFlatRows (line 131) | logSelectedFlatRows(): void {
method refreshData (line 138) | refreshData(): void {
method toggleEnableRowSelection (line 142) | toggleEnableRowSelection() {
FILE: examples/angular/row-selection/src/app/makeData.ts
type Person (line 3) | type Person = {
function makeData (line 36) | function makeData(...lens: Array<number>) {
FILE: examples/angular/row-selection/src/app/selection-column/selection-column.ts
class TableHeaderSelection (line 23) | class TableHeaderSelection {
class TableRowSelection (line 42) | class TableRowSelection {
FILE: examples/angular/row-selection/src/app/table-filter/table-filter.ts
class TableFilter (line 42) | class TableFilter {
method getMinValue (line 52) | getMinValue() {
method getMaxValue (line 58) | getMaxValue() {
method updateMinFilterValue (line 63) | updateMinFilterValue(newValue: string): void {
method updateMaxFilterValue (line 69) | updateMaxFilterValue(newValue: string): void {
FILE: examples/angular/signal-input/src/app/app.ts
class App (line 12) | class App {
method refreshData (line 19) | refreshData() {
method previousPage (line 23) | previousPage(): void {
method nextPage (line 30) | nextPage(): void {
FILE: examples/angular/signal-input/src/app/makeData.ts
type Person (line 3) | type Person = {
function makeData (line 36) | function makeData(...lens: Array<number>) {
FILE: examples/angular/signal-input/src/app/person-table/person-table.ts
class PersonTable (line 24) | class PersonTable {
method onPageInputChange (line 63) | onPageInputChange(event: any): void {
method onPageSizeChange (line 68) | onPageSizeChange(event: any) {
FILE: examples/angular/sub-components/src/app/app.ts
class App (line 100) | class App {
FILE: examples/angular/sub-components/src/app/expandable-cell.ts
class ExpanderCell (line 19) | class ExpanderCell {
class ExpandableCell (line 41) | class ExpandableCell<T extends RowData> {
method row (line 44) | get row() {
FILE: examples/angular/sub-components/src/app/makeData.ts
type Person (line 3) | type Person = {
function makeData (line 36) | function makeData(...lens: Array<number>) {
FILE: examples/angular/sub-components/src/app/sub-component/sub-component.ts
class SubComponent (line 16) | class SubComponent {
FILE: examples/lit/basic/src/main.ts
type Person (line 16) | type Person = {
class LitTableExample (line 98) | @customElement('lit-table-example')
method render (line 103) | protected render(): unknown {
FILE: examples/lit/column-sizing/src/main.ts
class LitTableExample (line 58) | @customElement('lit-table-example')
method render (line 62) | protected render() {
FILE: examples/lit/column-sizing/src/makeData.ts
type Person (line 3) | type Person = {
function makeData (line 40) | function makeData(...lens: Array<number>) {
FILE: examples/lit/filters/src/main.ts
type ColumnMeta (line 82) | interface ColumnMeta<
class ColumnFilter (line 93) | @customElement('column-filter')
method onChange (line 98) | private onChange(evt: InputEvent) {
method render (line 102) | render() {
class LitTableExample (line 153) | @customElement('lit-table-example')
method render (line 157) | protected render() {
FILE: examples/lit/filters/src/makeData.ts
type Person (line 3) | type Person = {
function makeData (line 36) | function makeData(...lens: Array<number>) {
FILE: examples/lit/row-selection/src/main.ts
class LitTableExample (line 82) | @customElement('lit-table-example')
method render (line 86) | protected render() {
FILE: examples/lit/row-selection/src/makeData.ts
type Person (line 3) | type Person = {
function makeData (line 40) | function makeData(...lens: Array<number>) {
FILE: examples/lit/sorting-dynamic-data/src/main.ts
class LitTableExample (line 81) | @customElement('lit-table-example')
method constructor (line 91) | constructor() {
method willUpdate (line 96) | protected willUpdate(
method render (line 112) | protected render() {
FILE: examples/lit/sorting-dynamic-data/src/makeData.ts
type Person (line 3) | type Person = {
function makeData (line 40) | function makeData(...lens: number[]) {
FILE: examples/lit/sorting/src/main.ts
class LitTableExample (line 74) | @customElement('lit-table-example')
method render (line 78) | protected render() {
FILE: examples/lit/sorting/src/makeData.ts
type Person (line 3) | type Person = {
function makeData (line 40) | function makeData(...lens: Array<number>) {
FILE: examples/lit/virtualized-rows/src/main.ts
class LitTableExample (line 68) | @customElement('lit-table-example')
method connectedCallback (line 76) | connectedCallback() {
method render (line 86) | protected render() {
FILE: examples/lit/virtualized-rows/src/makeData.ts
type Person (line 3) | type Person = {
function makeData (line 39) | function makeData(...lens: Array<number>) {
FILE: examples/preact/basic/src/main.tsx
type Person (line 10) | type Person = {
function App (line 93) | function App() {
FILE: examples/preact/sorting/src/main.tsx
function App (line 27) | function App() {
FILE: examples/preact/sorting/src/makeData.ts
type Person (line 3) | type Person = {
function makeData (line 40) | function makeData(...lens: Array<number>) {
FILE: examples/react/basic-external-state/src/main.tsx
type Person (line 17) | type Person = {
function App (line 56) | function App() {
FILE: examples/react/basic-external-state/src/makeData.ts
type Person (line 3) | type Person = {
function makeData (line 36) | function makeData(...lens: Array<number>) {
FILE: examples/react/basic-external-store/src/main.tsx
type Person (line 18) | type Person = {
function App (line 57) | function App() {
FILE: examples/react/basic-external-store/src/makeData.ts
type Person (line 3) | type Person = {
function makeData (line 36) | function makeData(...lens: Array<number>) {
FILE: examples/react/basic-shadcn/src/components/ui/button.tsx
function Button (line 38) | function Button({
FILE: examples/react/basic-shadcn/src/components/ui/table.tsx
function Table (line 5) | function Table({ className, ...props }: React.ComponentProps<'table'>) {
function TableHeader (line 17) | function TableHeader({ className, ...props }: React.ComponentProps<'thea...
function TableBody (line 27) | function TableBody({ className, ...props }: React.ComponentProps<'tbody'...
function TableFooter (line 37) | function TableFooter({ className, ...props }: React.ComponentProps<'tfoo...
function TableRow (line 50) | function TableRow({ className, ...props }: React.ComponentProps<'tr'>) {
function TableHead (line 63) | function TableHead({ className, ...props }: React.ComponentProps<'th'>) {
function TableCell (line 76) | function TableCell({ className, ...props }: React.ComponentProps<'td'>) {
function TableCaption (line 89) | function TableCaption({
FILE: examples/react/basic-shadcn/src/lib/utils.ts
function cn (line 5) | function cn(...inputs: Array<ClassValue>) {
FILE: examples/react/basic-shadcn/src/main.tsx
type Person (line 18) | type Person = {
function App (line 101) | function App() {
FILE: examples/react/basic-use-app-table/src/main.tsx
type Person (line 9) | type Person = {
function App (line 99) | function App() {
FILE: examples/react/basic-use-legacy-table/src/main.tsx
type ColumnMeta (line 39) | interface ColumnMeta<
function App (line 50) | function App() {
function Filter (line 283) | function Filter({ column }: { column: LegacyColumn<Person> }) {
function DebouncedInput (line 342) | function DebouncedInput({
FILE: examples/react/basic-use-legacy-table/src/makeData.ts
type Person (line 3) | type Person = {
function makeData (line 36) | function makeData(...lens: Array<number>) {
FILE: examples/react/basic-use-table/src/main.tsx
type Person (line 10) | type Person = {
function App (line 93) | function App() {
FILE: examples/react/column-dnd/src/main.tsx
function App (line 96) | function App() {
FILE: examples/react/column-dnd/src/makeData.ts
type Person (line 3) | type Person = {
function makeData (line 36) | function makeData(...lens: Array<number>) {
FILE: examples/react/column-groups/src/main.tsx
type Person (line 10) | type Person = {
function App (line 97) | function App() {
FILE: examples/react/column-ordering/src/main.tsx
function App (line 68) | function App() {
FILE: examples/react/column-ordering/src/makeData.ts
type Person (line 3) | type Person = {
function makeData (line 36) | function makeData(...lens: Array<number>) {
FILE: examples/react/column-pinning-split/src/main.tsx
function App (line 74) | function App() {
FILE: examples/react/column-pinning-split/src/makeData.ts
type Person (line 3) | type Person = {
function makeData (line 36) | function makeData(...lens: Array<number>) {
FILE: examples/react/column-pinning-sticky/src/main.tsx
function App (line 101) | function App() {
FILE: examples/react/column-pinning-sticky/src/makeData.ts
type Person (line 3) | type Person = {
function makeData (line 36) | function makeData(...lens: Array<number>) {
FILE: examples/react/column-pinning/src/main.tsx
function App (line 77) | function App() {
FILE: examples/react/column-pinning/src/makeData.ts
type Person (line 3) | type Person = {
function makeData (line 36) | function makeData(...lens: Array<number>) {
FILE: examples/react/column-resizing-performant/src/main.tsx
type Person (line 16) | type Person = {
function App (line 68) | function App() {
function TableBody (line 189) | function TableBody({ table }: { table: Table<typeof _features, Person> }) {
FILE: examples/react/column-resizing-performant/src/makeData.ts
type Person (line 3) | type Person = {
function makeData (line 36) | function makeData(...lens: Array<number>) {
FILE: examples/react/column-resizing/src/main.tsx
type Person (line 18) | type Person = {
function App (line 102) | function App() {
FILE: examples/react/column-sizing/src/main.tsx
type Person (line 13) | type Person = {
function App (line 52) | function App() {
FILE: examples/react/column-visibility/src/main.tsx
type Person (line 13) | type Person = {
function App (line 97) | function App() {
FILE: examples/react/composable-tables/src/components/cell-components.tsx
function TextCell (line 12) | function TextCell() {
function NumberCell (line 20) | function NumberCell() {
function StatusCell (line 28) | function StatusCell() {
function ProgressCell (line 37) | function ProgressCell() {
function RowActionsCell (line 50) | function RowActionsCell() {
function PriceCell (line 87) | function PriceCell() {
function CategoryCell (line 103) | function CategoryCell() {
FILE: examples/react/composable-tables/src/components/header-components.tsx
function SortIndicator (line 12) | function SortIndicator() {
function ColumnFilter (line 26) | function ColumnFilter() {
function FooterColumnId (line 48) | function FooterColumnId() {
function FooterSum (line 56) | function FooterSum() {
FILE: examples/react/composable-tables/src/components/table-components.tsx
function PaginationControls (line 12) | function PaginationControls() {
function RowCount (line 84) | function RowCount() {
function TableToolbar (line 98) | function TableToolbar({
FILE: examples/react/composable-tables/src/main.tsx
function UsersTable (line 15) | function UsersTable() {
function ProductsTable (line 213) | function ProductsTable() {
function App (line 392) | function App() {
FILE: examples/react/composable-tables/src/makeData.ts
type Person (line 3) | type Person = {
type Product (line 13) | type Product = {
function makeData (line 61) | function makeData(...lens: Array<number>) {
function makeProductData (line 75) | function makeProductData(count: number): Array<Product> {
FILE: examples/react/custom-plugin/src/main.tsx
type DensityState (line 32) | type DensityState = 'sm' | 'md' | 'lg'
type TableState_Density (line 33) | interface TableState_Density {
type TableOptions_Density (line 38) | interface TableOptions_Density {
type Table_Density (line 44) | interface Table_Density {
type DensityPluginConstructors (line 49) | interface DensityPluginConstructors {
function App (line 116) | function App() {
function Filter (line 324) | function Filter({
FILE: examples/react/custom-plugin/src/makeData.ts
type Person (line 3) | type Person = {
function makeData (line 36) | function makeData(...lens: Array<number>) {
FILE: examples/react/expanding/src/main.tsx
function App (line 35) | function App() {
function Filter (line 261) | function Filter({
function IndeterminateCheckbox (line 312) | function IndeterminateCheckbox({
FILE: examples/react/expanding/src/makeData.ts
type Person (line 3) | type Person = {
function makeData (line 36) | function makeData(...lens: Array<number>) {
FILE: examples/react/filters-faceted/src/main.tsx
type ColumnMeta (line 41) | interface ColumnMeta<
function App (line 50) | function App() {
function Filter (line 249) | function Filter({ column }: { column: Column<typeof _features, Person> }) {
function DebouncedInput (line 337) | function DebouncedInput({
FILE: examples/react/filters-faceted/src/makeData.ts
type Person (line 3) | type Person = {
function makeData (line 36) | function makeData(...lens: Array<number>) {
FILE: examples/react/filters-fuzzy/src/main.tsx
type FilterFns (line 73) | interface FilterFns {
type FilterMeta (line 76) | interface FilterMeta {
function App (line 81) | function App() {
function Filter (line 290) | function Filter({ column }: { column: Column<typeof _features, Person> }) {
function DebouncedInput (line 305) | function DebouncedInput({
FILE: examples/react/filters-fuzzy/src/makeData.ts
type Person (line 3) | type Person = {
function makeData (line 38) | function makeData(...lens: Array<number>) {
FILE: examples/react/filters/src/main.tsx
type ColumnMeta (line 28) | interface ColumnMeta<
function App (line 45) | function App() {
function Filter (line 249) | function Filter({
function DebouncedInput (line 312) | function DebouncedInput({
FILE: examples/react/filters/src/makeData.ts
type Person (line 3) | type Person = {
function makeData (line 36) | function makeData(...lens: Array<number>) {
FILE: examples/react/grouping/src/main.tsx
function App (line 43) | function App() {
FILE: examples/react/grouping/src/makeData.ts
type Person (line 3) | type Person = {
function makeData (line 36) | function makeData(...lens: Array<number>) {
FILE: examples/react/kitchen-sink-shadcn/src/components/data-table/data-table-filter-list.tsx
function createManualFacetedValues (line 65) | function createManualFacetedValues<TData extends RowData>(
function getColumnOptions (line 84) | function getColumnOptions<
type DataTableFilterListProps (line 116) | interface DataTableFilterListProps<
function DataTableFilterList (line 125) | function DataTableFilterList<
FILE: examples/react/kitchen-sink-shadcn/src/components/data-table/data-table-pagination.tsx
type DataTablePaginationProps (line 20) | interface DataTablePaginationProps {
function DataTablePagination (line 25) | function DataTablePagination({
FILE: examples/react/kitchen-sink-shadcn/src/components/data-table/data-table-sort-list.tsx
type DataTableSortListProps (line 51) | interface DataTableSortListProps<
function DataTableSortList (line 60) | function DataTableSortList<
FILE: examples/react/kitchen-sink-shadcn/src/components/data-table/data-table-view-options.tsx
type DataTableViewOptionsProps (line 36) | interface DataTableViewOptionsProps<
function DataTableViewOptions (line 45) | function DataTableViewOptions<
FILE: examples/react/kitchen-sink-shadcn/src/components/ui/badge.tsx
type BadgeProps (line 27) | interface BadgeProps
function Badge (line 32) | function Badge({ className, variant, ...props }: BadgeProps) {
FILE: examples/react/kitchen-sink-shadcn/src/components/ui/button.tsx
type ButtonProps (line 38) | interface ButtonProps
FILE: examples/react/kitchen-sink-shadcn/src/components/ui/calendar.tsx
type CalendarProps (line 10) | type CalendarProps = React.ComponentProps<typeof DayPicker>
function Calendar (line 12) | function Calendar({
FILE: examples/react/kitchen-sink-shadcn/src/components/ui/faceted.tsx
constant FACETED_NAME (line 24) | const FACETED_NAME = 'Faceted'
constant TRIGGER_NAME (line 25) | const TRIGGER_NAME = 'FacetedTrigger'
constant BADGE_LIST_NAME (line 26) | const BADGE_LIST_NAME = 'FacetedBadgeList'
constant CONTENT_NAME (line 27) | const CONTENT_NAME = 'FacetedContent'
constant INPUT_NAME (line 28) | const INPUT_NAME = 'FacetedInput'
constant LIST_NAME (line 29) | const LIST_NAME = 'FacetedList'
constant EMPTY_NAME (line 30) | const EMPTY_NAME = 'FacetedEmpty'
constant GROUP_NAME (line 31) | const GROUP_NAME = 'FacetedGroup'
constant ITEM_NAME (line 32) | const ITEM_NAME = 'FacetedItem'
constant SEPARATOR_NAME (line 33) | const SEPARATOR_NAME = 'FacetedSeparator'
constant ERRORS (line 35) | const ERRORS = {
type FacetedValue (line 48) | type FacetedValue<Multiple extends boolean> = Multiple extends true
type FacetedContextValue (line 52) | interface FacetedContextValue<Multiple extends boolean = boolean> {
function useFacetedContext (line 63) | function useFacetedContext(name: keyof typeof ERRORS) {
type FacetedProps (line 71) | interface FacetedProps<
function Faceted (line 80) | function Faceted<Multiple extends boolean = false>(
type FacetedBadgeListProps (line 178) | interface FacetedBadgeListProps extends React.ComponentPropsWithoutRef<'...
type FacetedItemProps (line 295) | interface FacetedItemProps extends React.ComponentPropsWithoutRef<
FILE: examples/react/kitchen-sink-shadcn/src/components/ui/sortable.tsx
constant ROOT_NAME (line 64) | const ROOT_NAME = 'Sortable'
constant CONTENT_NAME (line 65) | const CONTENT_NAME = 'SortableContent'
constant ITEM_NAME (line 66) | const ITEM_NAME = 'SortableItem'
constant ITEM_HANDLE_NAME (line 67) | const ITEM_HANDLE_NAME = 'SortableItemHandle'
constant OVERLAY_NAME (line 68) | const OVERLAY_NAME = 'SortableOverlay'
constant SORTABLE_ERROR (line 70) | const SORTABLE_ERROR = {
type SortableRootContextValue (line 78) | interface SortableRootContextValue<T> {
function useSortableContext (line 93) | function useSortableContext(name: keyof typeof SORTABLE_ERROR) {
type GetItemValue (line 101) | interface GetItemValue<T> {
type SortableProps (line 109) | type SortableProps<T> = DndContextProps & {
function Sortable (line 120) | function Sortable<T>(props: SortableProps<T>) {
type SortableContentProps (line 290) | interface SortableContentProps extends React.ComponentPropsWithoutRef<'d...
type SortableItemContextValue (line 330) | interface SortableItemContextValue {
type SortableItemProps (line 343) | interface SortableItemProps extends React.ComponentPropsWithoutRef<'div'> {
type SortableItemHandleProps (line 442) | interface SortableItemHandleProps extends React.ComponentPropsWithoutRef...
type SortableOverlayProps (line 501) | interface SortableOverlayProps extends Omit<
function SortableOverlay (line 511) | function SortableOverlay(props: SortableOverlayProps) {
FILE: examples/react/kitchen-sink-shadcn/src/lib/composition.ts
function composeEventHandlers (line 7) | function composeEventHandlers<E>(
type PossibleRef (line 28) | type PossibleRef<T> = React.Ref<T> | undefined
function setRef (line 34) | function setRef<T>(ref: PossibleRef<T>, value: T) {
function composeRefs (line 48) | function composeRefs<T>(...refs: Array<PossibleRef<T>>): React.RefCallba...
function useComposedRefs (line 83) | function useComposedRefs<T>(
FILE: examples/react/kitchen-sink-shadcn/src/lib/data-table.ts
function isFalsy (line 24) | function isFalsy(val: unknown) {
function isValidDate (line 33) | function isValidDate(value: unknown): boolean {
function toDate (line 39) | function toDate(value: unknown): Date | null {
function isSameDay (line 48) | function isSameDay(date1: Date, date2: Date): boolean {
function getFilterOperators (line 407) | function getFilterOperators(type: string): Array<{
FILE: examples/react/kitchen-sink-shadcn/src/lib/make-data.ts
type Person (line 12) | interface Person {
function range (line 24) | function range(len: number) {
function newPerson (line 32) | function newPerson(): Person {
function makeData (line 45) | function makeData(...lens: Array<number>) {
FILE: examples/react/kitchen-sink-shadcn/src/lib/utils.ts
function cn (line 5) | function cn(...inputs: Array<ClassValue>) {
function formatDate (line 9) | function formatDate(
function toSentenceCase (line 21) | function toSentenceCase(str: string) {
FILE: examples/react/kitchen-sink-shadcn/src/main.tsx
type ColumnMeta (line 81) | interface ColumnMeta<
function App (line 104) | function App() {
FILE: examples/react/kitchen-sink-shadcn/src/types/index.ts
type TableFilterFeatures (line 7) | type TableFilterFeatures<TFeatures extends TableFeatures> = Pick<
type FilterOperator (line 12) | type FilterOperator =
type JoinOperator (line 32) | type JoinOperator = 'and' | 'or'
type ExtendedColumnFilter (line 34) | interface ExtendedColumnFilter extends ColumnFilter {
FILE: examples/react/pagination/src/main.tsx
function App (line 29) | function App() {
function MyTable (line 82) | function MyTable({
function Filter (line 239) | function Filter({
FILE: examples/react/pagination/src/makeData.ts
type Person (line 3) | type Person = {
function makeData (line 36) | function makeData(...lens: Array<number>) {
FILE: examples/react/row-dnd/src/main.tsx
function App (line 81) | function App() {
FILE: examples/react/row-dnd/src/makeData.ts
type Person (line 3) | type Person = {
function makeData (line 38) | function makeData(...lens: Array<number>) {
FILE: examples/react/row-pinning/src/main.tsx
function App (line 34) | function App() {
function PinnedRow (line 356) | function PinnedRow({
function Filter (line 391) | function Filter({
FILE: examples/react/row-pinning/src/makeData.ts
type Person (line 3) | type Person = {
function makeData (line 36) | function makeData(...lens: Array<number>) {
FILE: examples/react/row-selection/src/main.tsx
function App (line 32) | function App() {
function Filter (line 323) | function Filter({
function IndeterminateCheckbox (line 366) | function IndeterminateCheckbox({
FILE: examples/react/row-selection/src/makeData.ts
type Person (line 3) | type Person = {
function makeData (line 38) | function makeData(...lens: Array<number>) {
FILE: examples/react/sorting/src/main.tsx
function App (line 30) | function App() {
FILE: examples/react/sorting/src/makeData.ts
type Person (line 3) | type Person = {
function makeData (line 40) | function makeData(...lens: Array<number>) {
FILE: examples/react/sub-components/src/main.tsx
type TableProps (line 80) | type TableProps<TFeatures extends TableFeatures, TData extends RowData> = {
function Table (line 89) | function Table({
function App (line 175) | function App() {
FILE: examples/react/sub-components/src/makeData.ts
type Person (line 3) | type Person = {
function makeData (line 36) | function makeData(...lens: Array<number>) {
FILE: examples/react/virtualized-columns-experimental/src/main.tsx
function App (line 31) | function App() {
type TableContainerProps (line 77) | interface TableContainerProps {
function TableContainer (line 81) | function TableContainer({ table }: TableContainerProps) {
type TableHeadProps (line 145) | interface TableHeadProps {
function TableHead (line 150) | function TableHead({ table, columnVirtualizer }: TableHeadProps) {
type TableHeadRowProps (line 171) | interface TableHeadRowProps {
function TableHeadRow (line 176) | function TableHeadRow({ columnVirtualizer, headerGroup }: TableHeadRowPr...
type TableHeadCellProps (line 199) | interface TableHeadCellProps {
function TableHeadCell (line 204) | function TableHeadCell({
type TableBodyProps (line 246) | interface TableBodyProps {
function TableBody (line 252) | function TableBody({
type TableBodyRowProps (line 318) | interface TableBodyRowProps {
function TableBodyRow (line 326) | function TableBodyRow({
type TableBodyCellProps (line 376) | interface TableBodyCellProps {
function TableBodyCell (line 381) | function TableBodyCell({
FILE: examples/react/virtualized-columns-experimental/src/makeData.ts
type Person (line 3) | type Person = Record<string, string>
FILE: examples/react/virtualized-columns/src/main.tsx
function App (line 26) | function App() {
type TableContainerProps (line 64) | interface TableContainerProps {
function TableContainer (line 68) | function TableContainer({ table }: TableContainerProps) {
type TableHeadProps (line 129) | interface TableHeadProps {
function TableHead (line 136) | function TableHead({
type TableHeadRowProps (line 165) | interface TableHeadRowProps {
function TableHeadRow (line 173) | function TableHeadRow({
type TableHeadCellProps (line 199) | interface TableHeadCellProps {
function TableHeadCell (line 204) | function TableHeadCell({ header, table }: TableHeadCellProps) {
type TableBodyProps (line 231) | interface TableBodyProps {
function TableBody (line 239) | function TableBody({
type TableBodyRowProps (line 292) | interface TableBodyRowProps {
function TableBodyRow (line 302) | function TableBodyRow({
type TableBodyCellProps (line 341) | interface TableBodyCellProps {
function TableBodyCell (line 346) | function TableBodyCell({ cell, table }: TableBodyCellProps) {
FILE: examples/react/virtualized-columns/src/makeData.ts
type Person (line 19) | type Person = ReturnType<typeof makeData>[0]
FILE: examples/react/virtualized-infinite-scrolling/src/main.tsx
function App (line 32) | function App() {
FILE: examples/react/virtualized-infinite-scrolling/src/makeData.ts
type Person (line 4) | type Person = {
type PersonApiResponse (line 15) | type PersonApiResponse = {
function makeData (line 47) | function makeData(...lens: Array<number>) {
FILE: examples/react/virtualized-rows-experimental/src/main.tsx
function App (line 25) | function App() {
type TableBodyWrapperProps (line 188) | interface TableBodyWrapperProps {
function TableBodyWrapper (line 193) | function TableBodyWrapper({ table, tableContainerRef }: TableBodyWrapper...
type TableBodyProps (line 233) | interface TableBodyProps {
function TableBody (line 239) | function TableBody({ rowVirtualizer, table, rowRefsMap }: TableBodyProps) {
type TableBodyRowProps (line 267) | interface TableBodyRowProps {
function TableBodyRow (line 274) | function TableBodyRow({
FILE: examples/react/virtualized-rows-experimental/src/makeData.ts
type Person (line 3) | type Person = {
function makeData (line 39) | function makeData(...lens: number[]) {
FILE: examples/react/virtualized-rows/src/main.tsx
function App (line 26) | function App() {
type TableBodyProps (line 175) | interface TableBodyProps {
function TableBody (line 180) | function TableBody({ table, tableContainerRef }: TableBodyProps) {
type TableBodyRowProps (line 225) | interface TableBodyRowProps {
function TableBodyRow (line 232) | function TableBodyRow({
FILE: examples/react/virtualized-rows/src/makeData.ts
type Person (line 3) | type Person = {
function makeData (line 39) | function makeData(...lens: Array<number>) {
FILE: examples/react/with-tanstack-form/src/form.tsx
function TextField (line 12) | function TextField() {
function NumberField (line 32) | function NumberField() {
function SelectField (line 55) | function SelectField() {
function SubmitButton (line 81) | function SubmitButton({ label }: { label: string }) {
function FormStateIndicator (line 99) | function FormStateIndicator() {
FILE: examples/react/with-tanstack-form/src/main.tsx
type FormData (line 51) | type FormData = z.infer<typeof formSchema>
function App (line 53) | function App() {
function Filter (line 358) | function Filter({
FILE: examples/react/with-tanstack-form/src/makeData.ts
type Person (line 3) | type Person = {
function makeData (line 36) | function makeData(...lens: Array<number>) {
FILE: examples/react/with-tanstack-query/src/fetchData.ts
type Person (line 3) | type Person = {
function makeData (line 36) | function makeData(...lens: Array<number>) {
function fetchData (line 52) | async function fetchData(options: {
FILE: examples/react/with-tanstack-query/src/main.tsx
function App (line 58) | function App() {
FILE: examples/react/with-tanstack-router/src/App.tsx
type Register (line 8) | interface Register {
function App (line 15) | function App() {
FILE: examples/react/with-tanstack-router/src/api/types.ts
type PaginatedData (line 3) | type PaginatedData<T> = {
type PaginationParams (line 8) | type PaginationParams = PaginationState
type SortParams (line 9) | type SortParams = { sortBy: `${string}.${'asc' | 'desc'}` }
type Filters (line 10) | type Filters<T> = Partial<T & PaginationParams & SortParams>
FILE: examples/react/with-tanstack-router/src/api/user.ts
constant DEFAULT_PAGE (line 4) | const DEFAULT_PAGE = 0
constant DEFAULT_PAGE_SIZE (line 5) | const DEFAULT_PAGE_SIZE = 10
type User (line 7) | type User = {
type UserFilters (line 14) | type UserFilters = Filters<User>
function makeData (line 16) | function makeData(amount: number): Array<User> {
function fetchUsers (line 31) | async function fetchUsers(
FILE: examples/react/with-tanstack-router/src/components/debouncedInput.tsx
function DebouncedInput (line 4) | function DebouncedInput({
FILE: examples/react/with-tanstack-router/src/components/table.tsx
constant DEFAULT_PAGE_INDEX (line 27) | const DEFAULT_PAGE_INDEX = 0
constant DEFAULT_PAGE_SIZE (line 28) | const DEFAULT_PAGE_SIZE = 10
type Props (line 30) | type Props<TData extends Record<string, string | number>> = {
function Table (line 44) | function Table<T extends Record<string, string | number>>({
FILE: examples/react/with-tanstack-router/src/hooks/useFilters.ts
function useFilters (line 5) | function useFilters<T extends RouteIds<RegisteredRouter['routeTree']>>(
FILE: examples/react/with-tanstack-router/src/routeTree.gen.ts
type FileRoutesByFullPath (line 26) | interface FileRoutesByFullPath {
type FileRoutesByTo (line 30) | interface FileRoutesByTo {
type FileRoutesById (line 34) | interface FileRoutesById {
type FileRouteTypes (line 39) | interface FileRouteTypes {
type RootRouteChildren (line 47) | interface RootRouteChildren {
type FileRoutesByPath (line 53) | interface FileRoutesByPath {
FILE: examples/react/with-tanstack-router/src/routes/index.tsx
function UsersPage (line 19) | function UsersPage() {
FILE: examples/react/with-tanstack-router/src/utils/userColumns.tsx
type ColumnMeta (line 10) | interface ColumnMeta<
constant USER_COLUMNS (line 20) | const USER_COLUMNS: Array<ColumnDef<any, User>> = [
FILE: examples/solid/basic-app-table/src/App.tsx
type Person (line 7) | type Person = {
function App (line 97) | function App() {
FILE: examples/solid/basic-external-state/src/App.tsx
function App (line 47) | function App() {
FILE: examples/solid/basic-external-state/src/makeData.ts
type Person (line 3) | type Person = {
function makeData (line 36) | function makeData(...lens: Array<number>) {
FILE: examples/solid/basic-external-store/src/App.tsx
function App (line 48) | function App() {
FILE: examples/solid/basic-external-store/src/makeData.ts
type Person (line 3) | type Person = {
function makeData (line 36) | function makeData(...lens: Array<number>) {
FILE: examples/solid/basic-use-table/src/App.tsx
type Person (line 5) | type Person = {
function App (line 83) | function App() {
FILE: examples/solid/column-groups/src/App.tsx
type Person (line 5) | type Person = {
function App (line 95) | function App() {
FILE: examples/solid/column-ordering/src/App.tsx
function App (line 71) | function App() {
FILE: examples/solid/column-ordering/src/makeData.ts
type Person (line 3) | type Person = {
function makeData (line 36) | function makeData(...lens: Array<number>) {
FILE: examples/solid/column-visibility/src/App.tsx
type Person (line 10) | type Person = {
function App (line 100) | function App() {
FILE: examples/solid/composable-tables/src/App.tsx
function UsersTable (line 12) | function UsersTable() {
function ProductsTable (line 223) | function ProductsTable() {
function App (line 420) | function App() {
FILE: examples/solid/composable-tables/src/components/cell-components.tsx
function TextCell (line 12) | function TextCell() {
function NumberCell (line 20) | function NumberCell() {
function StatusCell (line 28) | function StatusCell() {
function ProgressCell (line 37) | function ProgressCell() {
function RowActionsCell (line 50) | function RowActionsCell() {
function PriceCell (line 87) | function PriceCell() {
function CategoryCell (line 103) | function CategoryCell() {
FILE: examples/solid/composable-tables/src/components/header-components.tsx
function SortIndicator (line 13) | function SortIndicator() {
function ColumnFilter (line 29) | function ColumnFilter() {
function FooterColumnId (line 53) | function FooterColumnId() {
function FooterSum (line 61) | function FooterSum() {
FILE: examples/solid/composable-tables/src/components/table-components.tsx
function PaginationControls (line 13) | function PaginationControls() {
function RowCount (line 81) | function RowCount() {
function TableToolbar (line 95) | function TableToolbar({
FILE: examples/solid/composable-tables/src/makeData.ts
type Person (line 3) | type Person = {
type Product (line 13) | type Product = {
function makeData (line 61) | function makeData(...lens: Array<number>) {
function makeProductData (line 75) | function makeProductData(count: number): Array<Product> {
FILE: examples/solid/filters-faceted/src/App.tsx
function App (line 79) | function App() {
FILE: examples/solid/filters-faceted/src/ColumnFilter.tsx
function ColumnFilter (line 7) | function ColumnFilter(props: {
FILE: examples/solid/filters-faceted/src/makeData.ts
type Person (line 3) | type Person = {
function makeData (line 36) | function makeData(...lens: Array<number>) {
FILE: examples/solid/filters/src/App.tsx
function App (line 82) | function App() {
FILE: examples/solid/filters/src/ColumnFilter.tsx
function ColumnFilter (line 7) | function ColumnFilter(props: {
FILE: examples/solid/filters/src/makeData.ts
type Person (line 3) | type Person = {
function makeData (line 36) | function makeData(...lens: Array<number>) {
FILE: examples/solid/row-selection/src/App.tsx
function App (line 33) | function App() {
function Filter (line 353) | function Filter(props: {
function IndeterminateCheckbox (line 393) | function IndeterminateCheckbox(props: {
FILE: examples/solid/row-selection/src/makeData.ts
type Person (line 3) | type Person = {
function makeData (line 38) | function makeData(...lens: Array<number>) {
FILE: examples/solid/sorting/src/App.tsx
function App (line 16) | function App() {
FILE: examples/solid/sorting/src/makeData.ts
type Person (line 3) | type Person = {
function makeData (line 36) | function makeData(...lens: Array<number>) {
FILE: examples/solid/with-tanstack-query/src/App.tsx
function App (line 50) | function App() {
FILE: examples/solid/with-tanstack-query/src/fetchData.ts
type Person (line 3) | type Person = {
function makeData (line 36) | function makeData(...lens: Array<number>) {
function fetchData (line 52) | async function fetchData(options: {
FILE: examples/svelte/column-ordering/src/makeData.ts
type Person (line 3) | type Person = {
function makeData (line 36) | function makeData(...lens: Array<number>) {
FILE: examples/svelte/column-pinning/src/makeData.ts
type Person (line 3) | type Person = {
function makeData (line 36) | function makeData(...lens: Array<number>) {
FILE: examples/svelte/filtering/src/main.ts
type FilterFns (line 8) | interface FilterFns {
type FilterMeta (line 11) | interface FilterMeta {
FILE: examples/svelte/filtering/src/makeData.ts
type Person (line 3) | type Person = {
function makeData (line 36) | function makeData(...lens: Array<number>) {
FILE: examples/svelte/row-selection/src/makeData.ts
type Person (line 3) | type Person = {
function makeData (line 38) | function makeData(...lens: Array<number>) {
FILE: examples/svelte/sorting/src/makeData.ts
type Person (line 3) | type Person = {
function makeData (line 36) | function makeData(...lens: Array<number>) {
FILE: examples/vanilla/basic/src/main.ts
type Person (line 5) | type Person = {
FILE: examples/vanilla/pagination/src/makeData.ts
type Person (line 3) | type Person = {
function makeData (line 36) | function makeData(...lens: Array<number>) {
FILE: examples/vanilla/sorting/src/makeData.ts
type Person (line 3) | type Person = {
function makeData (line 40) | function makeData(...lens: Array<number>) {
FILE: examples/vue/column-ordering/src/makeData.ts
type Person (line 3) | type Person = {
function makeData (line 36) | function makeData(...lens: Array<number>) {
FILE: examples/vue/column-pinning/src/makeData.ts
type Person (line 3) | type Person = {
function makeData (line 36) | function makeData(...lens: Array<number>) {
FILE: examples/vue/filters/src/tableHelper.ts
type Person (line 13) | type Person = {
FILE: examples/vue/pagination-controlled/src/useService.ts
constant DEFAULT_PAGE_COUNT (line 5) | const DEFAULT_PAGE_COUNT = -1
constant DEFAULT_RESULT_COUNT (line 6) | const DEFAULT_RESULT_COUNT = -1
function useService (line 10) | function useService(pagination: Ref<PaginationState>) {
FILE: examples/vue/pagination/src/makeData.ts
type Person (line 3) | type Person = {
function makeData (line 36) | function makeData(...lens: Array<number>) {
FILE: examples/vue/row-selection/src/makeData.ts
type Person (line 3) | type Person = {
function makeData (line 36) | function makeData(...lens: Array<number>) {
FILE: examples/vue/sorting/src/makeData.ts
type Person (line 3) | type Person = {
function makeData (line 38) | function makeData(...lens: Array<number>) {
FILE: examples/vue/virtualized-rows/src/makeData.ts
type Person (line 3) | type Person = {
function makeData (line 39) | function makeData(...lens: number[]) {
FILE: packages/angular-table/src/flex-render/context.ts
function injectFlexRenderContext (line 12) | function injectFlexRenderContext<T extends NonNullable<unknown>>(): T {
FILE: packages/angular-table/src/flex-render/flexRenderComponent.ts
type CreateComponentOptions (line 12) | type CreateComponentOptions = Parameters<typeof createComponent>[1]
type CreateComponentBindings (line 13) | type CreateComponentBindings = CreateComponentOptions['bindings']
type CreateComponentDirectives (line 14) | type CreateComponentDirectives = CreateComponentOptions['directives']
type FlexRenderOptions (line 16) | interface FlexRenderOptions<
type Inputs (line 109) | type Inputs<T> = {
type Outputs (line 115) | type Outputs<T> = {
function flexRenderComponent (line 150) | function flexRenderComponent<TComponent = any>(
type FlexRenderComponent (line 205) | interface FlexRenderComponent<TComponent = any> {
class FlexRenderComponentInstance (line 259) | class FlexRenderComponentInstance<
method constructor (line 266) | constructor(
FILE: packages/angular-table/src/flex-render/flexRenderComponentFactory.ts
class FlexRenderComponentFactory (line 15) | class FlexRenderComponentFactory {
method constructor (line 18) | constructor(viewContainerRef: ViewContainerRef) {
method createComponent (line 22) | createComponent<T>(
class FlexRenderComponentRef (line 49) | class FlexRenderComponentRef<T> {
method constructor (line 56) | constructor(
method component (line 77) | get component() {
method inputs (line 81) | get inputs() {
method outputs (line 85) | get outputs() {
method diff (line 92) | diff(item: FlexRenderComponent<T>) {
method eqType (line 102) | eqType(compare: FlexRenderComponent<T>): boolean {
method update (line 109) | update(content: FlexRenderComponent<T>) {
method markAsDirty (line 141) | markAsDirty(): void {
method setInputs (line 145) | setInputs(inputs: Record<string, unknown>) {
method setInput (line 151) | setInput(key: string, value: unknown) {
method setOutputs (line 157) | setOutputs(
method setOutput (line 169) | setOutput(
class FlexRenderComponentOutputManager (line 196) | class FlexRenderComponentOutputManager {
method constructor (line 205) | constructor(keyValueDiffers: KeyValueDiffers, initialOutputs: any) {
method hasListener (line 212) | hasListener(outputName: string) {
method setListener (line 216) | setListener(outputName: string, callback: (...args: Array<any>) => voi...
method getListener (line 220) | getListener(outputName: string) {
method unsubscribeAll (line 224) | unsubscribeAll(): void {
method unsubscribe (line 230) | unsubscribe(outputName: string) {
method diff (line 238) | diff(outputs: Record<string, OutputEmitterRef<unknown>['emit'] | undef...
FILE: packages/angular-table/src/flex-render/renderer.ts
type FlexRenderContent (line 40) | type FlexRenderContent<TProps extends NonNullable<unknown>> =
type FlexRenderInputContent (line 53) | type FlexRenderInputContent<TProps extends NonNullable<unknown>> =
type RendererViewOptions (line 66) | interface RendererViewOptions<TProps extends NonNullable<unknown>> {
class FlexViewRenderer (line 99) | class FlexViewRenderer<
method constructor (line 133) | constructor(options: RendererViewOptions<TProps>) {
method mount (line 144) | mount(): EffectRef {
method destroy (line 172) | destroy(): void {
method #update (line 183) | #update() {
method #render (line 203) | #render() {
method #shouldRecreateEntireView (line 247) | #shouldRecreateEntireView() {
method #doCheck (line 255) | #doCheck() {
method #renderViewByContent (line 269) | #renderViewByContent(
method #renderStringContent (line 285) | #renderStringContent(
method #renderTemplateRefContent (line 304) | #renderTemplateRefContent(
method #renderComponent (line 320) | #renderComponent(
method #renderCustomComponent (line 335) | #renderCustomComponent(
method #getInjector (line 349) | #getInjector(parentInjector?: Injector) {
FILE: packages/angular-table/src/flex-render/view.ts
type FlexRenderTypedContent (line 8) | type FlexRenderTypedContent =
function mapToFlexRenderTypedContent (line 18) | function mapToFlexRenderTypedContent(
method constructor (line 45) | protected constructor(
method previousContent (line 53) | get previousContent(): FlexRenderTypedContent {
method content (line 57) | get content() {
method content (line 61) | set content(content: FlexRenderTypedContent) {
class FlexRenderTemplateView (line 75) | class FlexRenderTemplateView extends FlexRenderView<
method constructor (line 78) | constructor(
method updateProps (line 88) | override updateProps(props: Record<string, any>) {
method dirtyCheck (line 92) | override dirtyCheck() {
method unmount (line 101) | override unmount() {
method onDestroy (line 105) | override onDestroy(callback: Function) {
class FlexRenderComponentView (line 110) | class FlexRenderComponentView extends FlexRenderView<
method constructor (line 113) | constructor(
method updateProps (line 123) | override updateProps(props: Record<string, any>) {
method dirtyCheck (line 137) | override dirtyCheck() {
method unmount (line 158) | override unmount() {
method onDestroy (line 162) | override onDestroy(callback: Function) {
FILE: packages/angular-table/src/flexRender.ts
class FlexRenderDirective (line 84) | class FlexRenderDirective<
method constructor (line 109) | constructor() {
FILE: packages/angular-table/src/helpers/cell.ts
type TanStackTableCellContext (line 11) | interface TanStackTableCellContext<
class TanStackTableCell (line 76) | class TanStackTableCell<
function injectTableCellContext (line 98) | function injectTableCellContext<
FILE: packages/angular-table/src/helpers/createTableHook.ts
type RenderableComponent (line 35) | type RenderableComponent =
type AppCellContext (line 47) | type AppCellContext<
type AppHeaderContext (line 66) | type AppHeaderContext<
type AppColumnDefTemplate (line 85) | type AppColumnDefTemplate<TProps extends object> =
type AppColumnDefBase (line 92) | type AppColumnDefBase<
type AppDisplayColumnDef (line 116) | type AppDisplayColumnDef<
type AppGroupColumnDef (line 139) | type AppGroupColumnDef<
type AppColumnHelper (line 168) | type AppColumnHelper<
type AppAngularTable (line 243) | type AppAngularTable<
type CreateTableContextOptions (line 273) | type CreateTableContextOptions<
type CreateTableHookResult (line 305) | type CreateTableHookResult<
function createTableHook (line 352) | function createTableHook<
FILE: packages/angular-table/src/helpers/flexRenderCell.ts
class FlexRenderCell (line 62) | class FlexRenderCell<
method constructor (line 118) | constructor() {
FILE: packages/angular-table/src/helpers/header.ts
type TanStackTableHeaderContext (line 11) | interface TanStackTableHeaderContext<
class TanStackTableHeader (line 71) | class TanStackTableHeader<
function injectTableHeaderContext (line 93) | function injectTableHeaderContext<
FILE: packages/angular-table/src/helpers/table.ts
class TanStackTable (line 59) | class TanStackTable<
function injectTableContext (line 81) | function injectTableContext<
FILE: packages/angular-table/src/injectTable.ts
type AngularTable (line 25) | type AngularTable<
function injectTable (line 104) | function injectTable<
FILE: packages/angular-table/src/lazySignalInitializer.ts
function lazyInit (line 7) | function lazyInit<T extends object>(initializer: () => T): T {
FILE: packages/angular-table/tests/angularReactivityFeature.test.ts
type Data (line 9) | type Data = { id: string; title: string }
function createTestTable (line 26) | function createTestTable(_data: WritableSignal<Array<Data>> = data) {
FILE: packages/angular-table/tests/benchmarks/setup.ts
function createData (line 4) | function createData(size: number) {
function createTestTable (line 22) | function createTestTable(
FILE: packages/angular-table/tests/flex-render/flex-render-component.test-d.ts
class Test (line 6) | class Test {
FILE: packages/angular-table/tests/flex-render/flex-render-table.test.ts
class FakeTemplateRefComponent (line 76) | @Component({
class EmptyCell (line 164) | @Component({
class ExpandCell (line 223) | @Component({
class TestComponent (line 238) | @Component({
class ExpandCell (line 330) | @Component({
class TestComponent (line 345) | @Component({
function expectPrimitiveValueIs (line 410) | function expectPrimitiveValueIs(
type TestData (line 421) | type TestData = { id: string; title: string }
function createTestTable (line 423) | function createTestTable(
class TestBadgeComponent (line 537) | @Component({
FILE: packages/angular-table/tests/flex-render/flex-render.unit.test.ts
type Data (line 15) | interface Data {
class FakeTemplateRefComponent (line 73) | @Component({
class FakeComponent (line 104) | @Component({
method constructor (line 142) | constructor() {}
class FakeComponent (line 135) | @Component({
method constructor (line 142) | constructor() {}
class TestRenderComponent (line 167) | @Component({
type FlexRenderAllowedContent (line 183) | type FlexRenderAllowedContent = ReturnType<
function expectPrimitiveValueIs (line 192) | function expectPrimitiveValueIs(
FILE: packages/angular-table/tests/injectTable.test.ts
class TableComponent (line 21) | @Component({
class RootComponent (line 37) | @Component({
type Data (line 52) | type Data = { id: string; title: string }
FILE: packages/angular-table/tests/lazy-init.test.ts
class Test (line 91) | @Component({
FILE: packages/angular-table/tests/test-utils.ts
type ToSignalInputUpdatableMap (line 4) | type ToSignalInputUpdatableMap<T> = {
function setFixtureSignalInputs (line 14) | function setFixtureSignalInputs<T extends NonNullable<unknown>>(
function setFixtureSignalInput (line 27) | function setFixtureSignalInput<
function flushQueue (line 41) | async function flushQueue() {
FILE: packages/lit-table/src/TableController.ts
class TableController (line 11) | class TableController<
method constructor (line 21) | constructor(host: ReactiveControllerHost) {
method table (line 25) | public table(
method _setupSubscription (line 103) | private _setupSubscription() {
method hostConnected (line 114) | hostConnected() {
method hostDisconnected (line 120) | hostDisconnected() {
FILE: packages/lit-table/src/flexRender.ts
function flexRender (line 3) | function flexRender<TProps>(
FILE: packages/match-sorter-utils/src/index.ts
type AccessorAttributes (line 26) | type AccessorAttributes = {
type RankingInfo (line 32) | interface RankingInfo {
type AccessorOptions (line 40) | interface AccessorOptions<TItem> {
type AccessorFn (line 47) | type AccessorFn<TItem> = (item: TItem) => string | Array<string>
type Accessor (line 49) | type Accessor<TItem> = AccessorFn<TItem> | AccessorOptions<TItem>
type RankItemOptions (line 51) | interface RankItemOptions<TItem = unknown> {
type Ranking (line 68) | type Ranking = (typeof rankings)[keyof typeof rankings]
function rankItem (line 77) | function rankItem<TItem>(
function getMatchRanking (line 147) | function getMatchRanking<TItem>(
function getAcronym (line 210) | function getAcronym(string: string): string {
function getClosenessRanking (line 232) | function getClosenessRanking(
function compareItems (line 282) | function compareItems<TItem>(a: RankingInfo, b: RankingInfo): number {
function prepareValueForComparison (line 292) | function prepareValueForComparison<TItem>(
function getItemValues (line 311) | function getItemValues<TItem>(
function getAllValuesToRank (line 341) | function getAllValuesToRank<TItem>(
function getAccessorAttributes (line 372) | function getAccessorAttributes<TItem>(
FILE: packages/match-sorter-utils/src/remove-accents.ts
function removeAccents (line 406) | function removeAccents(str: string) {
FILE: packages/match-sorter-utils/tests/match-sorter-utils.test.ts
type Person (line 4) | interface Person {
FILE: packages/preact-table/src/FlexRender.tsx
type Renderable (line 10) | type Renderable<TProps> = ComponentChild | ComponentType<TProps>
function isPreactComponent (line 12) | function isPreactComponent<TProps>(
function isClassComponent (line 22) | function isClassComponent(component: any) {
function isExoticComponent (line 32) | function isExoticComponent(component: any) {
function flexRender (line 46) | function flexRender<TProps extends object>(
type FlexRenderProps (line 64) | type FlexRenderProps<
function FlexRender (line 98) | function FlexRender<
FILE: packages/preact-table/src/Subscribe.ts
type SubscribeProps (line 11) | type SubscribeProps<
function Subscribe (line 57) | function Subscribe<
FILE: packages/preact-table/src/createTableHook.tsx
type AppCellContext (line 41) | type AppCellContext<
type AppHeaderContext (line 60) | type AppHeaderContext<
type AppColumnDefTemplate (line 79) | type AppColumnDefTemplate<TProps extends object> =
type AppColumnDefBase (line 86) | type AppColumnDefBase<
type AppDisplayColumnDef (line 110) | type AppDisplayColumnDef<
type AppGroupColumnDef (line 133) | type AppGroupColumnDef<
type AppColumnHelper (line 162) | type AppColumnHelper<
type CreateTableHookOptions (line 242) | type CreateTableHookOptions<
type AppTablePropsWithoutSelector (line 277) | interface AppTablePropsWithoutSelector {
type AppTablePropsWithSelector (line 285) | interface AppTablePropsWithSelector<
type AppCellPropsWithoutSelector (line 296) | interface AppCellPropsWithoutSelector<
type AppCellPropsWithSelector (line 313) | interface AppCellPropsWithSelector<
type AppHeaderPropsWithoutSelector (line 332) | interface AppHeaderPropsWithoutSelector<
type AppHeaderPropsWithSelector (line 349) | interface AppHeaderPropsWithSelector<
type AppCellComponent (line 368) | interface AppCellComponent<
type AppHeaderComponent (line 395) | interface AppHeaderComponent<
type AppTableComponent (line 422) | interface AppTableComponent<TFeatures extends TableFeatures> {
type AppPreactTable (line 432) | type AppPreactTable<
function createTableHook (line 592) | function createTableHook<
FILE: packages/preact-table/src/useTable.ts
type PreactTable (line 22) | type PreactTable<
function useTable (line 77) | function useTable<
FILE: packages/react-table-devtools/src/ReactTableDevtools.tsx
type TableDevtoolsReactInit (line 11) | interface TableDevtoolsReactInit<
function TableDevtoolsPanel (line 21) | function TableDevtoolsPanel(props: TableDevtoolsReactInit) {
FILE: packages/react-table-devtools/src/plugin.tsx
type TableDevtoolsPluginOptions (line 5) | interface TableDevtoolsPluginOptions<
function tableDevtoolsPlugin (line 12) | function tableDevtoolsPlugin<
function tableDevtoolsNoOpPlugin (line 24) | function tableDevtoolsNoOpPlugin<
FILE: packages/react-table/src/FlexRender.tsx
type Renderable (line 11) | type Renderable<TProps> = ReactNode | ComponentType<TProps>
function isReactComponent (line 13) | function isReactComponent<TProps>(
function isClassComponent (line 23) | function isClassComponent(component: any) {
function isExoticComponent (line 33) | function isExoticComponent(component: any) {
function flexRender (line 45) | function flexRender<TProps extends object>(
type FlexRenderProps (line 63) | type FlexRenderProps<
function FlexRender (line 97) | function FlexRender<
FILE: packages/react-table/src/Subscribe.ts
type SubscribeProps (line 13) | type SubscribeProps<
function Subscribe (line 59) | function Subscribe<
FILE: packages/react-table/src/createTableHook.tsx
type AppCellContext (line 42) | type AppCellContext<
type AppHeaderContext (line 61) | type AppHeaderContext<
type AppColumnDefTemplate (line 80) | type AppColumnDefTemplate<TProps extends object> =
type AppColumnDefBase (line 87) | type AppColumnDefBase<
type AppDisplayColumnDef (line 111) | type AppDisplayColumnDef<
type AppGroupColumnDef (line 134) | type AppGroupColumnDef<
type AppColumnHelper (line 163) | type AppColumnHelper<
type CreateTableHookOptions (line 243) | type CreateTableHookOptions<
type AppTablePropsWithoutSelector (line 278) | interface AppTablePropsWithoutSelector {
type AppTablePropsWithSelector (line 286) | interface AppTablePropsWithSelector<
type AppCellPropsWithoutSelector (line 297) | interface AppCellPropsWithoutSelector<
type AppCellPropsWithSelector (line 314) | interface AppCellPropsWithSelector<
type AppHeaderPropsWithoutSelector (line 333) | interface AppHeaderPropsWithoutSelector<
type AppHeaderPropsWithSelector (line 350) | interface AppHeaderPropsWithSelector<
type AppCellComponent (line 369) | interface AppCellComponent<
type AppHeaderComponent (line 396) | interface AppHeaderComponent<
type AppTableComponent (line 423) | interface AppTableComponent<TFeatures extends TableFeatures> {
type AppReactTable (line 431) | type AppReactTable<
function createTableHook (line 591) | function createTableHook<
FILE: packages/react-table/src/useLegacyTable.ts
function getFilteredRowModel (line 51) | function getFilteredRowModel<
function getSortedRowModel (line 63) | function getSortedRowModel<
function getPaginationRowModel (line 75) | function getPaginationRowModel<
function getExpandedRowModel (line 87) | function getExpandedRowModel<
function getGroupedRowModel (line 99) | function getGroupedRowModel<
function getFacetedRowModel (line 111) | function getFacetedRowModel<
function getFacetedMinMaxValues (line 123) | function getFacetedMinMaxValues<
function getFacetedUniqueValues (line 135) | function getFacetedUniqueValues<
function getCoreRowModel (line 147) | function getCoreRowModel<
type RowModelFactory (line 160) | type RowModelFactory<TData extends RowData> = (
type FacetedRowModelFactory (line 167) | type FacetedRowModelFactory<TData extends RowData> = (
type FacetedMinMaxValuesFactory (line 175) | type FacetedMinMaxValuesFactory<TData extends RowData> = (
type FacetedUniqueValuesFactory (line 183) | type FacetedUniqueValuesFactory<TData extends RowData> = (
type LegacyRowModelOptions (line 191) | interface LegacyRowModelOptions<TData extends RowData> {
type LegacyTableOptions (line 247) | type LegacyTableOptions<TData extends RowData> = Omit<
type LegacyReactTable (line 258) | type LegacyReactTable<TData extends RowData> = ReactTable<
type LegacyColumn (line 275) | type LegacyColumn<TData extends RowData, TValue = unknown> = Column<
type LegacyRow (line 282) | type LegacyRow<TData extends RowData> = Row<StockFeatures, TData>
type LegacyCell (line 285) | type LegacyCell<TData extends RowData, TValue = unknown> = Cell<
type LegacyHeader (line 292) | type LegacyHeader<TData extends RowData, TValue = unknown> = Header<
type LegacyHeaderGroup (line 299) | type LegacyHeaderGroup<TData extends RowData> = HeaderGroup<
type LegacyColumnDef (line 305) | type LegacyColumnDef<
type LegacyTable (line 311) | type LegacyTable<TData extends RowData> = Table<StockFeatures, TData>
function legacyCreateColumnHelper (line 323) | function legacyCreateColumnHelper<TData extends RowData>() {
function useLegacyTable (line 365) | function useLegacyTable<TData extends RowData>(
FILE: packages/react-table/src/useTable.ts
type ReactTable (line 24) | type ReactTable<
function useTable (line 79) | function useTable<
FILE: packages/solid-table-devtools/src/TableDevtools.tsx
type TableDevtoolsSolidInit (line 10) | interface TableDevtoolsSolidInit<
function TableDevtoolsPanel (line 20) | function TableDevtoolsPanel(props: TableDevtoolsSolidInit) {
FILE: packages/solid-table-devtools/src/plugin.tsx
type TableDevtoolsPluginOptions (line 5) | interface TableDevtoolsPluginOptions<
function tableDevtoolsPlugin (line 12) | function tableDevtoolsPlugin<
function tableDevtoolsNoOpPlugin (line 24) | function tableDevtoolsNoOpPlugin<
FILE: packages/solid-table-devtools/src/production/TableDevtools.tsx
type TableDevtoolsSolidInit (line 8) | interface TableDevtoolsSolidInit extends DevtoolsPanelProps {}
FILE: packages/solid-table/src/FlexRender.tsx
function flexRender (line 11) | function flexRender<TProps>(
type FlexRenderProps (line 31) | type FlexRenderProps<
function FlexRender (line 65) | function FlexRender<
FILE: packages/solid-table/src/createTable.ts
type SolidTable (line 17) | type SolidTable<
function createTable (line 51) | function createTable<
FILE: packages/solid-table/src/createTableHook.tsx
type ComponentType (line 31) | type ComponentType<T extends Record<string, any>> = Component<T>
type AppCellContext (line 41) | type AppCellContext<
type AppHeaderContext (line 60) | type AppHeaderContext<
type AppColumnDefTemplate (line 79) | type AppColumnDefTemplate<TProps extends object> =
type AppColumnDefBase (line 86) | type AppColumnDefBase<
type AppDisplayColumnDef (line 110) | type AppDisplayColumnDef<
type AppGroupColumnDef (line 133) | type AppGroupColumnDef<
type AppColumnHelper (line 162) | type AppColumnHelper<
type CreateTableHookOptions (line 242) | type CreateTableHookOptions<
type AppTablePropsWithoutSelector (line 277) | interface AppTablePropsWithoutSelector {
type AppTablePropsWithSelector (line 285) | interface AppTablePropsWithSelector<
type AppCellPropsWithoutSelector (line 296) | interface AppCellPropsWithoutSelector<
type AppCellPropsWithSelector (line 313) | interface AppCellPropsWithSelector<
type AppHeaderPropsWithoutSelector (line 332) | interface AppHeaderPropsWithoutSelector<
type AppHeaderPropsWithSelector (line 349) | interface AppHeaderPropsWithSelector<
type AppCellComponent (line 368) | interface AppCellComponent<
type AppHeaderComponent (line 395) | interface AppHeaderComponent<
type AppTableComponent (line 422) | interface AppTableComponent<TFeatures extends TableFeatures> {
type AppSolidTable (line 432) | type AppSolidTable<
function createTableHook (line 611) | function createTableHook<
FILE: packages/svelte-table/src/createTable.svelte.ts
type SvelteTable (line 13) | type SvelteTable<
function createTable (line 47) | function createTable<
function mergeObjects (line 136) | function mergeObjects(...sources: any): any {
FILE: packages/svelte-table/src/createTableHelper.ts
type TableHelper (line 12) | type TableHelper<
function createTableHelper (line 24) | function createTableHelper<
FILE: packages/svelte-table/src/createTableState.svelte.ts
function createTableState (line 3) | function createTableState<TState>(
FILE: packages/svelte-table/src/render-component.ts
class RenderComponentConfig (line 19) | class RenderComponentConfig<TComponent extends Component> {
method constructor (line 20) | constructor(
class RenderSnippetConfig (line 41) | class RenderSnippetConfig<TProps> {
method constructor (line 42) | constructor(
FILE: packages/table-core/src/core/cells/constructCell.ts
function getCellPrototype (line 13) | function getCellPrototype<
function constructCell (line 26) | function constructCell<
FILE: packages/table-core/src/core/cells/coreCellsFeature.ts
type CoreCellsFeatureConstructors (line 11) | interface CoreCellsFeatureConstructors<
function constructCoreCellsFeature (line 19) | function constructCoreCellsFeature<
FILE: packages/table-core/src/core/cells/coreCellsFeature.types.ts
type CellContext (line 8) | interface CellContext<
type Cell_CoreProperties (line 21) | interface Cell_CoreProperties<
type Cell_Cell (line 44) | interface Cell_Cell<
type TableOptions_Cell (line 63) | interface TableOptions_Cell {
FILE: packages/table-core/src/core/cells/coreCellsFeature.utils.ts
function cell_getValue (line 5) | function cell_getValue<
function cell_renderValue (line 13) | function cell_renderValue<
function cell_getContext (line 21) | function cell_getContext<
FILE: packages/table-core/src/core/columns/constructColumn.ts
function getColumnPrototype (line 17) | function getColumnPrototype<
function constructColumn (line 30) | function constructColumn<
FILE: packages/table-core/src/core/columns/coreColumnsFeature.ts
type CoreColumnsFeatureConstructors (line 20) | interface CoreColumnsFeatureConstructors<
function constructCoreColumnsFeature (line 29) | function constructCoreColumnsFeature<
FILE: packages/table-core/src/core/columns/coreColumnsFeature.types.ts
type Column_CoreProperties (line 7) | interface Column_CoreProperties<
type Column_Column (line 45) | interface Column_Column<
type TableOptions_Columns (line 60) | interface TableOptions_Columns<
type Table_Columns (line 75) | interface Table_Columns<
FILE: packages/table-core/src/core/columns/coreColumnsFeature.utils.ts
function column_getFlatColumns (line 14) | function column_getFlatColumns<
function column_getLeafColumns (line 24) | function column_getLeafColumns<
function table_getDefaultColumnDef (line 46) | function table_getDefaultColumnDef<
function table_getAllColumns (line 75) | function table_getAllColumns<
function table_getAllFlatColumns (line 106) | function table_getAllFlatColumns<
function table_getAllFlatColumnsById (line 115) | function table_getAllFlatColumnsById<
function table_getAllLeafColumns (line 130) | function table_getAllLeafColumns<
function table_getColumn (line 146) | function table_getColumn<
FILE: packages/table-core/src/core/coreFeatures.ts
type CoreFeatures (line 8) | interface CoreFeatures {
FILE: packages/table-core/src/core/headers/buildHeaderGroups.ts
function buildHeaderGroups (line 11) | function buildHeaderGroups<
FILE: packages/table-core/src/core/headers/constructHeader.ts
function getHeaderPrototype (line 12) | function getHeaderPrototype<
function constructHeader (line 25) | function constructHeader<
FILE: packages/table-core/src/core/headers/coreHeadersFeature.ts
type CoreHeadersFeatureConstructors (line 23) | interface CoreHeadersFeatureConstructors<
function constructCoreHeadersFeature (line 31) | function constructCoreHeadersFeature<
FILE: packages/table-core/src/core/headers/coreHeadersFeature.types.ts
type Table_Headers (line 8) | interface Table_Headers<
type HeaderContext (line 30) | interface HeaderContext<
type Header_CoreProperties (line 49) | interface Header_CoreProperties<
type Header_Header (line 100) | interface Header_Header<
type HeaderGroup_Header (line 115) | interface HeaderGroup_Header<
FILE: packages/table-core/src/core/headers/coreHeadersFeature.utils.ts
function header_getLeafHeaders (line 17) | function header_getLeafHeaders<
function header_getContext (line 36) | function header_getContext<
function table_getHeaderGroups (line 48) | function table_getHeaderGroups<
function table_getFooterGroups (line 82) | function table_getFooterGroups<
function table_getFlatHeaders (line 90) | function table_getFlatHeaders<
function table_getLeafHeaders (line 102) | function table_getLeafHeaders<
FILE: packages/table-core/src/core/row-models/coreRowModelsFeature.ts
type CoreRowModelsFeatureConstructors (line 20) | interface CoreRowModelsFeatureConstructors<
function constructCoreRowModelsFeature (line 27) | function constructCoreRowModelsFeature<
FILE: packages/table-core/src/core/row-models/coreRowModelsFeature.types.ts
type RowModel (line 12) | interface RowModel<
type CreateRowModel_Plugins (line 21) | interface CreateRowModel_Plugins {}
type CreateRowModel_Core (line 23) | interface CreateRowModel_Core<
type CachedRowModel_Plugins (line 35) | interface CachedRowModel_Plugins {}
type CachedRowModel_Core (line 37) | interface CachedRowModel_Core<
type Table_RowModels_Core (line 44) | interface Table_RowModels_Core<
type Table_RowModels (line 58) | type Table_RowModels<
FILE: packages/table-core/src/core/row-models/coreRowModelsFeature.utils.ts
function table_getCoreRowModel (line 7) | function table_getCoreRowModel<
function table_getPreFilteredRowModel (line 20) | function table_getPreFilteredRowModel<
function table_getFilteredRowModel (line 27) | function table_getFilteredRowModel<
function table_getPreGroupedRowModel (line 43) | function table_getPreGroupedRowModel<
function table_getGroupedRowModel (line 50) | function table_getGroupedRowModel<
function table_getPreSortedRowModel (line 66) | function table_getPreSortedRowModel<
function table_getSortedRowModel (line 73) | function table_getSortedRowModel<
function table_getPreExpandedRowModel (line 89) | function table_getPreExpandedRowModel<
function table_getExpandedRowModel (line 96) | function table_getExpandedRowModel<
function table_getPrePaginatedRowModel (line 112) | function table_getPrePaginatedRowModel<
function table_getPaginatedRowModel (line 119) | function table_getPaginatedRowModel<
function table_getRowModel (line 135) | function table_getRowModel<
FILE: packages/table-core/src/core/row-models/createCoreRowModel.ts
function createCoreRowModel (line 10) | function createCoreRowModel<
function _createCoreRowModel (line 27) | function _createCoreRowModel<
FILE: packages/table-core/src/core/rows/constructRow.ts
function getRowPrototype (line 11) | function getRowPrototype<
FILE: packages/table-core/src/core/rows/coreRowsFeature.ts
type CoreRowsFeatureConstructors (line 22) | interface CoreRowsFeatureConstructors<
function constructCoreRowsFeature (line 31) | function constructCoreRowsFeature<
FILE: packages/table-core/src/core/rows/coreRowsFeature.types.ts
type Row_CoreProperties (line 7) | interface Row_CoreProperties<
type Row_Row (line 47) | interface Row_Row<
type TableOptions_Rows (line 82) | interface TableOptions_Rows<
type Table_Rows (line 105) | interface Table_Rows<
FILE: packages/table-core/src/core/rows/coreRowsFeature.utils.ts
function row_getValue (line 9) | function row_getValue<
function row_getUniqueValues (line 28) | function row_getUniqueValues<
function row_renderValue (line 55) | function row_renderValue<
function row_getLeafRows (line 62) | function row_getLeafRows<
function row_getParentRow (line 69) | function row_getParentRow<
function row_getParentRows (line 76) | function row_getParentRows<
function row_getAllCells (line 92) | function row_getAllCells<
function row_getAllCellsByColumnId (line 101) | function row_getAllCellsByColumnId<
function table_getRowId (line 114) | function table_getRowId<
function table_getRow (line 129) | function table_getRow<
FILE: packages/table-core/src/core/table/constructTable.ts
function getInitialTableState (line 10) | function getInitialTableState<TFeatures extends TableFeatures>(
function createTableStore (line 22) | function createTableStore<TFeatures extends TableFeatures>(
function constructTable (line 29) | function constructTable<
FILE: packages/table-core/src/core/table/coreTablesFeature.ts
type CoreTablesFeatureConstructors (line 7) | interface CoreTablesFeatureConstructors<
function constructCoreTablesFeature (line 15) | function constructCoreTablesFeature<
FILE: packages/table-core/src/core/table/coreTablesFeature.types.ts
type TableMeta (line 10) | interface TableMeta<
type TableOptions_Table (line 15) | interface TableOptions_Table<
type Table_CoreProperties (line 61) | interface Table_CoreProperties<
type Table_Table (line 115) | interface Table_Table<
FILE: packages/table-core/src/core/table/coreTablesFeature.utils.ts
function table_reset (line 7) | function table_reset<
function table_mergeOptions (line 14) | function table_mergeOptions<
function table_setOptions (line 31) | function table_setOptions<
FILE: packages/table-core/src/features/column-faceting/columnFacetingFeature.ts
type ColumnFacetingFeatureConstructors (line 23) | interface ColumnFacetingFeatureConstructors<
function constructColumnFacetingFeature (line 32) | function constructColumnFacetingFeature<
FILE: packages/table-core/src/features/column-faceting/columnFacetingFeature.types.ts
type Column_ColumnFaceting (line 6) | interface Column_ColumnFaceting<
type Table_RowModels_Faceted (line 24) | interface Table_RowModels_Faceted<
type CreateRowModel_Faceted (line 45) | interface CreateRowModel_Faceted<
type CachedRowModel_Faceted (line 72) | interface CachedRowModel_Faceted<
type Table_ColumnFaceting (line 81) | interface Table_ColumnFaceting<
FILE: packages/table-core/src/features/column-faceting/columnFacetingFeature.utils.ts
function column_getFacetedMinMaxValues (line 7) | function column_getFacetedMinMaxValues<
function column_getFacetedRowModel (line 21) | function column_getFacetedRowModel<
function column_getFacetedUniqueValues (line 35) | function column_getFacetedUniqueValues<
function table_getGlobalFacetedMinMaxValues (line 49) | function table_getGlobalFacetedMinMaxValues<
function table_getGlobalFacetedRowModel (line 59) | function table_getGlobalFacetedRowModel<
function table_getGlobalFacetedUniqueValues (line 69) | function table_getGlobalFacetedUniqueValues<
FILE: packages/table-core/src/features/column-faceting/createFacetedMinMaxValues.ts
function createFacetedMinMaxValues (line 8) | function createFacetedMinMaxValues<
function _createFacetedMinMaxValues (line 38) | function _createFacetedMinMaxValues<
FILE: packages/table-core/src/features/column-faceting/createFacetedRowModel.ts
function createFacetedRowModel (line 13) | function createFacetedRowModel<
function _createFacetedRowModel (line 44) | function _createFacetedRowModel<
FILE: packages/table-core/src/features/column-faceting/createFacetedUniqueValues.ts
function createFacetedUniqueValues (line 8) | function createFacetedUniqueValues<
function _createFacetedUniqueValues (line 38) | function _createFacetedUniqueValues<
FILE: packages/table-core/src/features/column-filtering/columnFilteringFeature.ts
type ColumnFilteringFeatureConstructors (line 32) | interface ColumnFilteringFeatureConstructors<
function constructColumnFilteringFeature (line 47) | function constructColumnFilteringFeature<
FILE: packages/table-core/src/features/column-filtering/columnFilteringFeature.types.ts
type FilterMeta (line 14) | interface FilterMeta {}
type FilterFns (line 16) | interface FilterFns {}
type TableState_ColumnFiltering (line 18) | interface TableState_ColumnFiltering {
type ColumnFiltersState (line 22) | type ColumnFiltersState = Array<ColumnFilter>
type ColumnFilter (line 24) | interface ColumnFilter {
type ResolvedColumnFilter (line 29) | interface ResolvedColumnFilter<
type RowModelFns_ColumnFiltering (line 38) | interface RowModelFns_ColumnFiltering<
type FilterFn (line 45) | interface FilterFn<
type TransformFilterValueFn (line 59) | type TransformFilterValueFn<
type ColumnFilterAutoRemoveTestFn (line 65) | type ColumnFilterAutoRemoveTestFn<
type CustomFilterFns (line 71) | type CustomFilterFns<
type FilterFnOption (line 76) | type FilterFnOption<
type ColumnDef_ColumnFiltering (line 81) | interface ColumnDef_ColumnFiltering<
type Column_ColumnFiltering (line 95) | interface Column_ColumnFiltering<
type Row_ColumnFiltering (line 129) | interface Row_ColumnFiltering<
type TableOptions_ColumnFiltering (line 143) | interface TableOptions_ColumnFiltering<
type Table_ColumnFiltering (line 175) | interface Table_ColumnFiltering {
type Table_RowModels_Filtered (line 186) | interface Table_RowModels_Filtered<
type CreateRowModel_Filtered (line 200) | interface CreateRowModel_Filtered<
type CachedRowModel_Filtered (line 214) | interface CachedRowModel_Filtered<
FILE: packages/table-core/src/features/column-filtering/columnFilteringFeature.utils.ts
function getDefaultColumnFiltersState (line 11) | function getDefaultColumnFiltersState(): ColumnFiltersState {
function column_getAutoFilterFn (line 15) | function column_getAutoFilterFn<
function column_getFilterFn (line 51) | function column_getFilterFn<
function column_getCanFilter (line 77) | function column_getCanFilter<
function column_getIsFiltered (line 90) | function column_getIsFiltered<
function column_getFilterValue (line 98) | function column_getFilterValue<
function column_getFilterIndex (line 107) | function column_getFilterIndex<
function column_setFilterValue (line 119) | function column_setFilterValue<
function table_setColumnFilters (line 156) | function table_setColumnFilters<
function table_resetColumnFilters (line 184) | function table_resetColumnFilters<
function shouldAutoRemoveFilter (line 194) | function shouldAutoRemoveFilter<
FILE: packages/table-core/src/features/column-filtering/createFilteredRowModel.ts
function createFilteredRowModel (line 22) | function createFilteredRowModel<
function _createFilteredRowModel (line 46) | function _createFilteredRowModel<
FILE: packages/table-core/src/features/column-filtering/filterRowsUtils.ts
function filterRows (line 9) | function filterRows<
function filterRowModelFromLeafs (line 24) | function filterRowModelFromLeafs<
function filterRowModelFromRoot (line 98) | function filterRowModelFromRoot<
FILE: packages/table-core/src/features/column-grouping/columnGroupingFeature.ts
type ColumnGroupingFeatureConstructors (line 38) | interface ColumnGroupingFeatureConstructors<
function constructColumnGroupingFeature (line 54) | function constructColumnGroupingFeature<
FILE: packages/table-core/src/features/column-grouping/columnGroupingFeature.types.ts
type GroupingState (line 15) | type GroupingState = Array<string>
type TableState_ColumnGrouping (line 17) | interface TableState_ColumnGrouping {
type RowModelFns_ColumnGrouping (line 21) | interface RowModelFns_ColumnGrouping<
type AggregationFns (line 28) | interface AggregationFns {}
type AggregationFn (line 30) | type AggregationFn<
type CustomAggregationFns (line 39) | type CustomAggregationFns<
type AggregationFnOption (line 44) | type AggregationFnOption<
type ColumnDef_ColumnGrouping (line 53) | interface ColumnDef_ColumnGrouping<
type Column_ColumnGrouping (line 78) | interface Column_ColumnGrouping<
type Row_ColumnGrouping (line 112) | interface Row_ColumnGrouping {
type Cell_ColumnGrouping (line 132) | interface Cell_ColumnGrouping {
type ColumnDefaultOptions (line 147) | interface ColumnDefaultOptions {
type TableOptions_ColumnGrouping (line 152) | interface TableOptions_ColumnGrouping {
type GroupingColumnMode (line 171) | type GroupingColumnMode = false | 'reorder' | 'remove'
type Table_ColumnGrouping (line 173) | interface Table_ColumnGrouping<
type Table_RowModels_Grouped (line 187) | interface Table_RowModels_Grouped<
type CreateRowModel_Grouped (line 201) | interface CreateRowModel_Grouped<
type CachedRowModel_Grouped (line 213) | interface CachedRowModel_Grouped<
FILE: packages/table-core/src/features/column-grouping/columnGroupingFeature.utils.ts
function getDefaultGroupingState (line 15) | function getDefaultGroupingState(): GroupingState {
function column_toggleGrouping (line 19) | function column_toggleGrouping<
function column_getCanGroup (line 34) | function column_getCanGroup<
function column_getIsGrouped (line 46) | function column_getIsGrouped<
function column_getGroupedIndex (line 54) | function column_getGroupedIndex<
function column_getToggleGroupingHandler (line 62) | function column_getToggleGroupingHandler<
function column_getAutoAggregationFn (line 75) | function column_getAutoAggregationFn<
function column_getAggregationFn (line 97) | function column_getAggregationFn<
function table_setGrouping (line 113) | function table_setGrouping<
function table_resetGrouping (line 120) | function table_resetGrouping<
function row_getIsGrouped (line 130) | function row_getIsGrouped<
function row_getGroupingValue (line 137) | function row_getGroupingValue<
function cell_getIsGrouped (line 163) | function cell_getIsGrouped<
function cell_getIsPlaceholder (line 174) | function cell_getIsPlaceholder<
function cell_getIsAggregated (line 182) | function cell_getIsAggregated<
FILE: packages/table-core/src/features/column-grouping/createGroupedRowModel.ts
function createGroupedRowModel (line 22) | function createGroupedRowModel<
function _createGroupedRowModel (line 49) | function _createGroupedRowModel<
function groupBy (line 199) | function groupBy<TFeatures extends TableFeatures, TData extends RowData ...
FILE: packages/table-core/src/features/column-ordering/columnOrderingFeature.ts
type ColumnOrderingFeatureConstructors (line 24) | interface ColumnOrderingFeatureConstructors<
function constructColumnOrderingFeature (line 34) | function constructColumnOrderingFeature<
FILE: packages/table-core/src/features/column-ordering/columnOrderingFeature.types.ts
type ColumnOrderState (line 5) | type ColumnOrderState = Array<string>
type TableState_ColumnOrdering (line 7) | interface TableState_ColumnOrdering {
type TableOptions_ColumnOrdering (line 11) | interface TableOptions_ColumnOrdering {
type Column_ColumnOrdering (line 18) | interface Column_ColumnOrdering {
type ColumnOrderDefaultOptions (line 33) | interface ColumnOrderDefaultOptions {
type Table_ColumnOrdering (line 37) | interface Table_ColumnOrdering<
FILE: packages/table-core/src/features/column-ordering/columnOrderingFeature.utils.ts
function getDefaultColumnOrderState (line 10) | function getDefaultColumnOrderState(): ColumnOrderState {
function column_getIndex (line 14) | function column_getIndex<
function column_getIsFirstColumn (line 26) | function column_getIsFirstColumn<
function column_getIsLastColumn (line 38) | function column_getIsLastColumn<
function table_setColumnOrder (line 50) | function table_setColumnOrder<
function table_resetColumnOrder (line 57) | function table_resetColumnOrder<
function table_getOrderColumnsFn (line 67) | function table_getOrderColumnsFn<
function orderColumns (line 106) | function orderColumns<
FILE: packages/table-core/src/features/column-pinning/columnPinningFeature.ts
type ColumnPinningFeatureConstructors (line 50) | interface ColumnPinningFeatureConstructors<
function constructColumnPinningFeature (line 62) | function constructColumnPinningFeature<
FILE: packages/table-core/src/features/column-pinning/columnPinningFeature.types.ts
type ColumnPinningPosition (line 8) | type ColumnPinningPosition = false | 'left' | 'right'
type ColumnPinningState (line 10) | interface ColumnPinningState {
type TableState_ColumnPinning (line 15) | interface TableState_ColumnPinning {
type TableOptions_ColumnPinning (line 19) | interface TableOptions_ColumnPinning {
type ColumnPinningDefaultOptions (line 30) | interface ColumnPinningDefaultOptions {
type ColumnDef_ColumnPinning (line 34) | interface ColumnDef_ColumnPinning {
type Column_ColumnPinning (line 41) | interface Column_ColumnPinning {
type Row_ColumnPinning (line 60) | interface Row_ColumnPinning<
type Table_ColumnPinning (line 78) | interface Table_ColumnPinning<
FILE: packages/table-core/src/features/column-pinning/columnPinningFeature.utils.ts
function getDefaultColumnPinningState (line 22) | function getDefaultColumnPinningState(): ColumnPinningState {
function column_pin (line 31) | function column_pin<
function column_getCanPin (line 69) | function column_getCanPin<
function column_getIsPinned (line 85) | function column_getIsPinned<
function column_getPinnedIndex (line 103) | function column_getPinnedIndex<
function row_getCenterVisibleCells (line 118) | function row_getCenterVisibleCells<
function row_getLeftVisibleCells (line 133) | function row_getLeftVisibleCells<
function row_getRightVisibleCells (line 154) | function row_getRightVisibleCells<
function table_setColumnPinning (line 177) | function table_setColumnPinning<
function table_resetColumnPinning (line 187) | function table_resetColumnPinning<
function table_getIsSomeColumnsPinned (line 199) | function table_getIsSomeColumnsPinned<
function table_getLeftHeaderGroups (line 213) | function table_getLeftHeaderGroups<
function table_getRightHeaderGroups (line 233) | function table_getRightHeaderGroups<
function table_getCenterHeaderGroups (line 253) | function table_getCenterHeaderGroups<
function table_getLeftFooterGroups (line 277) | function table_getLeftFooterGroups<
function table_getRightFooterGroups (line 289) | function table_getRightFooterGroups<
function table_getCenterFooterGroups (line 301) | function table_getCenterFooterGroups<
function table_getLeftFlatHeaders (line 315) | function table_getLeftFlatHeaders<
function table_getRightFlatHeaders (line 331) | function table_getRightFlatHeaders<
function table_getCenterFlatHeaders (line 347) | function table_getCenterFlatHeaders<
function table_getLeftLeafHeaders (line 365) | function table_getLeftLeafHeaders<
function table_getRightLeafHeaders (line 376) | function table_getRightLeafHeaders<
function table_getCenterLeafHeaders (line 387) | function table_getCenterLeafHeaders<
function table_getLeftLeafColumns (line 400) | function table_getLeftLeafColumns<
function table_getRightLeafColumns (line 414) | function table_getRightLeafColumns<
function table_getCenterLeafColumns (line 428) | function table_getCenterLeafColumns<
function table_getPinnedLeafColumns (line 438) | function table_getPinnedLeafColumns<
function table_getLeftVisibleLeafColumns (line 468) | function table_getLeftVisibleLeafColumns<
function table_getRightVisibleLeafColumns (line 481) | function table_getRightVisibleLeafColumns<
function table_getCenterVisibleLeafColumns (line 494) | function table_getCenterVisibleLeafColumns<
function table_getPinnedVisibleLeafColumns (line 507) | function table_getPinnedVisibleLeafColumns<
FILE: packages/table-core/src/features/column-resizing/columnResizingFeature.ts
type ColumnResizingFeatureConstructors (line 24) | interface ColumnResizingFeatureConstructors<
function constructColumnResizingFeature (line 35) | function constructColumnResizingFeature<
FILE: packages/table-core/src/features/column-resizing/columnResizingFeature.types.ts
type TableState_ColumnResizing (line 3) | interface TableState_ColumnResizing {
type columnResizingState (line 7) | interface columnResizingState {
type ColumnResizeMode (line 16) | type ColumnResizeMode = 'onChange' | 'onEnd'
type ColumnResizeDirection (line 18) | type ColumnResizeDirection = 'ltr' | 'rtl'
type TableOptions_ColumnResizing (line 20) | interface TableOptions_ColumnResizing {
type ColumnResizingDefaultOptions (line 39) | type ColumnResizingDefaultOptions = Pick<
type Table_ColumnResizing (line 44) | interface Table_ColumnResizing {
type ColumnDef_ColumnResizing (line 55) | interface ColumnDef_ColumnResizing {
type Column_ColumnResizing (line 62) | interface Column_ColumnResizing {
type Header_ColumnResizing (line 73) | interface Header_ColumnResizing {
FILE: packages/table-core/src/features/column-resizing/columnResizingFeature.utils.ts
function getDefaultColumnResizingState (line 15) | function getDefaultColumnResizingState(): columnResizingState {
function column_getCanResize (line 26) | function column_getCanResize<
function column_getIsResizing (line 37) | function column_getIsResizing<
function header_getResizeHandler (line 45) | function header_getResizeHandler<
function table_setColumnResizing (line 216) | function table_setColumnResizing<
function table_resetHeaderSizeInfo (line 226) | function table_resetHeaderSizeInfo<
function passiveEventSupported (line 238) | function passiveEventSupported() {
function isTouchStartEvent (line 263) | function isTouchStartEvent(e: unknown): e is TouchEvent {
FILE: packages/table-core/src/features/column-sizing/columnSizingFeature.ts
type ColumnSizingFeatureConstructors (line 35) | interface ColumnSizingFeatureConstructors<
function constructColumnSizingFeature (line 47) | function constructColumnSizingFeature<
FILE: packages/table-core/src/features/column-sizing/columnSizingFeature.types.ts
type TableState_ColumnSizing (line 4) | interface TableState_ColumnSizing {
type ColumnSizingState (line 8) | type ColumnSizingState = Record<string, number>
type TableOptions_ColumnSizing (line 10) | interface TableOptions_ColumnSizing {
type ColumnSizingDefaultOptions (line 17) | type ColumnSizingDefaultOptions = Pick<
type Table_ColumnSizing (line 22) | interface Table_ColumnSizing {
type ColumnDef_ColumnSizing (line 49) | interface ColumnDef_ColumnSizing {
type Column_ColumnSizing (line 64) | interface Column_ColumnSizing {
type Header_ColumnSizing (line 83) | interface Header_ColumnSizing {
FILE: packages/table-core/src/features/column-sizing/columnSizingFeature.utils.ts
function getDefaultColumnSizingState (line 17) | function getDefaultColumnSizingState(): ColumnSizingState {
function getDefaultColumnSizingColumnDef (line 21) | function getDefaultColumnSizingColumnDef() {
function column_getSize (line 29) | function column_getSize<
function column_getStart (line 46) | function column_getStart<
function column_getAfter (line 66) | function column_getAfter<
function column_resetSize (line 88) | function column_resetSize<
function header_getSize (line 98) | function header_getSize<
function header_getStart (line 118) | function header_getStart<
function table_setColumnSizing (line 137) | function table_setColumnSizing<
function table_resetColumnSizing (line 147) | function table_resetColumnSizing<
function table_getTotalSize (line 157) | function table_getTotalSize<
function table_getLeftTotalSize (line 168) | function table_getLeftTotalSize<
function table_getCenterTotalSize (line 183) | function table_getCenterTotalSize<
function table_getRightTotalSize (line 198) | function table_getRightTotalSize<
FILE: packages/table-core/src/features/column-visibility/columnVisibilityFeature.ts
type ColumnVisibilityFeatureConstructors (line 39) | interface ColumnVisibilityFeatureConstructors<
function constructColumnVisibilityFeature (line 51) | function constructColumnVisibilityFeature<
FILE: packages/table-core/src/features/column-visibility/columnVisibilityFeature.types.ts
type ColumnVisibilityState (line 6) | type ColumnVisibilityState = Record<string, boolean>
type TableState_ColumnVisibility (line 8) | interface TableState_ColumnVisibility {
type TableOptions_ColumnVisibility (line 12) | interface TableOptions_ColumnVisibility {
type VisibilityDefaultOptions (line 23) | type VisibilityDefaultOptions = Pick<
type Table_ColumnVisibility (line 28) | interface Table_ColumnVisibility<
type ColumnDef_ColumnVisibility (line 66) | interface ColumnDef_ColumnVisibility {
type Row_ColumnVisibility (line 73) | interface Row_ColumnVisibility<
type Column_ColumnVisibility (line 84) | interface Column_ColumnVisibility {
FILE: packages/table-core/src/features/column-visibility/columnVisibilityFeature.utils.ts
function getDefaultColumnVisibilityState (line 10) | function getDefaultColumnVisibilityState(): ColumnVisibilityState {
function column_toggleVisibility (line 14) | function column_toggleVisibility<
function column_getIsVisible (line 29) | function column_getIsVisible<
function column_getCanHide (line 44) | function column_getCanHide<
function column_getToggleVisibilityHandler (line 55) | function column_getToggleVisibilityHandler<
function row_getAllVisibleCells (line 68) | function row_getAllVisibleCells<
function row_getVisibleCells (line 79) | function row_getVisibleCells<
function table_getVisibleFlatColumns (line 90) | function table_getVisibleFlatColumns<
function table_getVisibleLeafColumns (line 101) | function table_getVisibleLeafColumns<
function table_setColumnVisibility (line 112) | function table_setColumnVisibility<
function table_resetColumnVisibility (line 122) | function table_resetColumnVisibility<
function table_toggleAllColumnsVisible (line 132) | function table_toggleAllColumnsVisible<
function table_getIsAllColumnsVisible (line 150) | function table_getIsAllColumnsVisible<
function table_getIsSomeColumnsVisible (line 162) | function table_getIsSomeColumnsVisible<
function table_getToggleAllColumnsVisibilityHandler (line 173) | function table_getToggleAllColumnsVisibilityHandler<
FILE: packages/table-core/src/features/global-filtering/globalFilteringFeature.ts
type GlobalFilteringFeatureConstructors (line 23) | interface GlobalFilteringFeatureConstructors<
function constructGlobalFilteringFeature (line 34) | function constructGlobalFilteringFeature<
FILE: packages/table-core/src/features/global-filtering/globalFilteringFeature.types.ts
type TableState_GlobalFiltering (line 14) | interface TableState_GlobalFiltering {
type ColumnDef_GlobalFiltering (line 18) | interface ColumnDef_GlobalFiltering {
type Column_GlobalFiltering (line 25) | interface Column_GlobalFiltering {
type TableOptions_GlobalFiltering (line 32) | interface TableOptions_GlobalFiltering<
type Table_GlobalFiltering (line 64) | interface Table_GlobalFiltering<
FILE: packages/table-core/src/features/global-filtering/globalFilteringFeature.utils.ts
function column_getCanGlobalFilter (line 9) | function column_getCanGlobalFilter<
function table_getGlobalAutoFilterFn (line 23) | function table_getGlobalAutoFilterFn() {
function table_getGlobalFilterFn (line 27) | function table_getGlobalFilterFn<
function table_setGlobalFilter (line 45) | function table_setGlobalFilter<
function table_resetGlobalFilter (line 52) | function table_resetGlobalFilter<
FILE: packages/table-core/src/features/row-expanding/createExpandedRowModel.ts
function createExpandedRowModel (line 9) | function createExpandedRowModel<
function _createExpandedRowModel (line 29) | function _createExpandedRowModel<
function expandRows (line 51) | function expandRows<
FILE: packages/table-core/src/features/row-expanding/rowExpandingFeature.ts
type RowExpandingFeatureConstructors (line 34) | interface RowExpandingFeatureConstructors<
function constructRowExpandingFeature (line 46) | function constructRowExpandingFeature<
FILE: packages/table-core/src/features/row-expanding/rowExpandingFeature.types.ts
type ExpandedStateList (line 7) | type ExpandedStateList = Record<string, boolean>
type ExpandedState (line 8) | type ExpandedState = true | Record<string, boolean>
type TableState_RowExpanding (line 10) | interface TableState_RowExpanding {
type Row_RowExpanding (line 14) | interface Row_RowExpanding {
type TableOptions_RowExpanding (line 37) | interface TableOptions_RowExpanding<
type Table_RowExpanding (line 71) | interface Table_RowExpanding<
type Table_RowModels_Expanded (line 110) | interface Table_RowModels_Expanded<
type CreateRowModel_Expanded (line 124) | interface CreateRowModel_Expanded<
type CachedRowModel_Expanded (line 136) | interface CachedRowModel_Expanded<
FILE: packages/table-core/src/features/row-expanding/rowExpandingFeature.utils.ts
function getDefaultExpandedState (line 10) | function getDefaultExpandedState(): ExpandedState {
function table_autoResetExpanded (line 14) | function table_autoResetExpanded<
function table_setExpanded (line 27) | function table_setExpanded<
function table_toggleAllRowsExpanded (line 34) | function table_toggleAllRowsExpanded<
function table_resetExpanded (line 45) | function table_resetExpanded<
function table_getCanSomeRowsExpand (line 55) | function table_getCanSomeRowsExpand<
function table_getToggleAllRowsExpandedHandler (line 64) | function table_getToggleAllRowsExpandedHandler<
function table_getIsSomeRowsExpanded (line 74) | function table_getIsSomeRowsExpanded<
function table_getIsAllRowsExpanded (line 82) | function table_getIsAllRowsExpanded<
function table_getExpandedDepth (line 106) | function table_getExpandedDepth<
function row_toggleExpanded (line 125) | function row_toggleExpanded<
function row_getIsExpanded (line 160) | function row_getIsExpanded<
function row_getCanExpand (line 172) | function row_getCanExpand<
function row_getIsAllParentsExpanded (line 182) | function row_getIsAllParentsExpanded<
function row_getToggleExpandedHandler (line 197) | function row_getToggleExpandedHandler<
FILE: packages/table-core/src/features/row-pagination/createPaginatedRowModel.ts
function createPaginatedRowModel (line 10) | function createPaginatedRowModel<
function _createPaginatedRowModel (line 32) | function _createPaginatedRowModel<
FILE: packages/table-core/src/features/row-pagination/rowPaginationFeature.ts
type RowPaginationFeatureConstructors (line 31) | interface RowPaginationFeatureConstructors<
function constructRowPaginationFeature (line 42) | function constructRowPaginationFeature<
FILE: packages/table-core/src/features/row-pagination/rowPaginationFeature.types.ts
type PaginationState (line 6) | interface PaginationState {
type TableState_RowPagination (line 11) | interface TableState_RowPagination {
type TableOptions_RowPagination (line 15) | interface TableOptions_RowPagination {
type PaginationDefaultOptions (line 38) | interface PaginationDefaultOptions {
type Table_RowPagination (line 42) | interface Table_RowPagination<
type Table_RowModels_Paginated (line 109) | interface Table_RowModels_Paginated<
type CreateRowModel_Paginated (line 123) | interface CreateRowModel_Paginated<
type CachedRowModel_Paginated (line 136) | interface CachedRowModel_Paginated<
FILE: packages/table-core/src/features/row-pagination/rowPaginationFeature.utils.ts
function getDefaultPaginationState (line 10) | function getDefaultPaginationState(): PaginationState {
function table_autoResetPageIndex (line 17) | function table_autoResetPageIndex<
function table_setPagination (line 30) | function table_setPagination<
function table_resetPagination (line 43) | function table_resetPagination<
function table_setPageIndex (line 55) | function table_setPageIndex<
function table_resetPageIndex (line 77) | function table_resetPageIndex<
function table_resetPageSize (line 89) | function table_resetPageSize<
function table_setPageSize (line 101) | function table_setPageSize<
function table_getPageOptions (line 118) | function table_getPageOptions<
function table_getCanPreviousPage (line 130) | function table_getCanPreviousPage<
function table_getCanNextPage (line 137) | function table_getCanNextPage<
function table_previousPage (line 156) | function table_previousPage<
function table_nextPage (line 163) | function table_nextPage<
function table_firstPage (line 172) | function table_firstPage<
function table_lastPage (line 179) | function table_lastPage<
function table_getPageCount (line 186) | function table_getPageCount<
function table_getRowCount (line 199) | function table_getRowCount<
FILE: packages/table-core/src/features/row-pinning/rowPinningFeature.ts
type RowPinningFeatureConstructors (line 28) | interface RowPinningFeatureConstructors<
function constructRowPinningFeature (line 38) | function constructRowPinningFeature<
FILE: packages/table-core/src/features/row-pinning/rowPinningFeature.types.ts
type RowPinningPosition (line 5) | type RowPinningPosition = false | 'top' | 'bottom'
type RowPinningState (line 7) | interface RowPinningState {
type TableState_RowPinning (line 12) | interface TableState_RowPinning {
type TableOptions_RowPinning (line 16) | interface TableOptions_RowPinning<
type RowPinningDefaultOptions (line 34) | interface RowPinningDefaultOptions {
type Row_RowPinning (line 38) | interface Row_RowPinning {
type Table_RowPinning (line 61) | interface Table_RowPinning<
FILE: packages/table-core/src/features/row-pinning/rowPinningFeature.utils.ts
function getDefaultRowPinningState (line 14) | function getDefaultRowPinningState(): RowPinningState {
function table_setRowPinning (line 21) | function table_setRowPinning<
function table_resetRowPinning (line 31) | function table_resetRowPinning<
function table_getIsSomeRowsPinned (line 45) | function table_getIsSomeRowsPinned<
function table_getPinnedRows (line 60) | function table_getPinnedRows<
function table_getTopRows (line 91) | function table_getTopRows<
function table_getBottomRows (line 98) | function table_getBottomRows<
function table_getCenterRows (line 105) | function table_getCenterRows<
function row_getCanPin (line 119) | function row_getCanPin<
function row_getIsPinned (line 130) | function row_getIsPinned<
function row_getPinnedIndex (line 144) | function row_getPinnedIndex<
function row_pin (line 160) | function row_pin<TFeatures extends TableFeatures, TData extends RowData>(
FILE: packages/table-core/src/features/row-selection/rowSelectionFeature.ts
type RowSelectionFeatureConstructors (line 40) | interface RowSelectionFeatureConstructors<
function constructRowSelectionFeature (line 50) | function constructRowSelectionFeature<
FILE: packages/table-core/src/features/row-selection/rowSelectionFeature.types.ts
type RowSelectionState (line 6) | type RowSelectionState = Record<string, boolean>
type TableState_RowSelection (line 8) | interface TableState_RowSelection {
type TableOptions_RowSelection (line 12) | interface TableOptions_RowSelection<
type Row_RowSelection (line 48) | interface Row_RowSelection {
type Table_RowSelection (line 83) | interface Table_RowSelection<
FILE: packages/table-core/src/features/row-selection/rowSelectionFeature.utils.ts
function getDefaultRowSelectionState (line 10) | function getDefaultRowSelectionState(): RowSelectionState {
function table_setRowSelection (line 14) | function table_setRowSelection<
function table_resetRowSelection (line 24) | function table_resetRowSelection<
function table_toggleAllRowsSelected (line 36) | function table_toggleAllRowsSelected<
function table_toggleAllPageRowsSelected (line 67) | function table_toggleAllPageRowsSelected<
function table_getPreSelectedRowModel (line 87) | function table_getPreSelectedRowModel<
function table_getSelectedRowModel (line 94) | function table_getSelectedRowModel<
function table_getFilteredSelectedRowModel (line 111) | function table_getFilteredSelectedRowModel<
function table_getGroupedSelectedRowModel (line 128) | function table_getGroupedSelectedRowModel<
function table_getIsAllRowsSelected (line 145) | function table_getIsAllRowsSelected<
function table_getIsAllPageRowsSelected (line 170) | function table_getIsAllPageRowsSelected<
function table_getIsSomeRowsSelected (line 192) | function table_getIsSomeRowsSelected<
function table_getIsSomePageRowsSelected (line 203) | function table_getIsSomePageRowsSelected<
function table_getToggleAllRowsSelectedHandler (line 215) | function table_getToggleAllRowsSelectedHandler<
function table_getToggleAllPageRowsSelectedHandler (line 227) | function table_getToggleAllPageRowsSelectedHandler<
function row_toggleSelected (line 241) | function row_toggleSelected<
function row_getIsSelected (line 274) | function row_getIsSelected<
function row_getIsSomeSelected (line 281) | function row_getIsSomeSelected<
function row_getIsAllSubRowsSelected (line 288) | function row_getIsAllSubRowsSelected<
function row_getCanSelect (line 295) | function row_getCanSelect<
function row_getCanSelectSubRows (line 307) | function row_getCanSelectSubRows<
function row_getCanMultiSelect (line 319) | function row_getCanMultiSelect<
function row_getToggleSelectedHandler (line 331) | function row_getToggleSelectedHandler<
function selectRowsFn (line 376) | function selectRowsFn<
function isRowSelected (line 418) | function isRowSelected<
function isSubRowSelected (line 425) | function isSubRowSelected<
FILE: packages/table-core/src/features/row-sorting/createSortedRowModel.ts
function createSortedRowModel (line 12) | function createSortedRowModel<
function _createSortedRowModel (line 32) | function _createSortedRowModel<
FILE: packages/table-core/src/features/row-sorting/rowSortingFeature.ts
type RowSortingFeatureConstructors (line 36) | interface RowSortingFeatureConstructors<
function constructRowSortingFeature (line 50) | function constructRowSortingFeature<
FILE: packages/table-core/src/features/row-sorting/rowSortingFeature.types.ts
type SortDirection (line 8) | type SortDirection = 'asc' | 'desc'
type ColumnSort (line 10) | interface ColumnSort {
type SortingState (line 15) | type SortingState = Array<ColumnSort>
type TableState_RowSorting (line 17) | interface TableState_RowSorting {
type RowModelFns_RowSorting (line 21) | interface RowModelFns_RowSorting<
type SortFns (line 28) | interface SortFns {}
type SortFn (line 30) | interface SortFn<
type CustomSortFns (line 41) | type CustomSortFns<
type SortFnOption (line 46) | type SortFnOption<
type ColumnDef_RowSorting (line 51) | interface ColumnDef_RowSorting<
type Column_RowSorting (line 89) | interface Column_RowSorting<
type TableOptions_RowSorting (line 143) | interface TableOptions_RowSorting {
type Table_RowSorting (line 184) | interface Table_RowSorting<
type Table_RowModels_Sorted (line 198) | interface Table_RowModels_Sorted<
type CreateRowModel_Sorted (line 212) | interface CreateRowModel_Sorted<
type CachedRowModel_Sorted (line 224) | interface CachedRowModel_Sorted<
FILE: packages/table-core/src/features/row-sorting/rowSortingFeature.utils.ts
function getDefaultSortingState (line 15) | function getDefaultSortingState(): SortingState {
function table_setSorting (line 19) | function table_setSorting<
function table_resetSorting (line 26) | function table_resetSorting<
function column_getAutoSortFn (line 38) | function column_getAutoSortFn<
function column_getAutoSortDir (line 76) | function column_getAutoSortDir<
function column_getSortFn (line 92) | function column_getSortFn<
function column_toggleSorting (line 108) | function column_toggleSorting<
function column_getFirstSortDir (line 211) | function column_getFirstSortDir<
function column_getNextSortingOrder (line 223) | function column_getNextSortingOrder<
function column_getCanSort (line 245) | function column_getCanSort<
function column_getCanMultiSort (line 257) | function column_getCanMultiSort<
function column_getIsSorted (line 269) | function column_getIsSorted<
function column_getSortIndex (line 280) | function column_getSortIndex<
function column_clearSorting (line 290) | function column_clearSorting<
function column_getToggleSortingHandler (line 301) | function column_getToggleSortingHandler<
FILE: packages/table-core/src/features/stockFeatures.ts
type StockFeatures (line 16) | interface StockFeatures {
FILE: packages/table-core/src/features/table-reactivity/tableReactivityFeature.ts
type TableReactivityFeatureConstructors (line 5) | interface TableReactivityFeatureConstructors<
function constructReactivityFeature (line 10) | function constructReactivityFeature<
method get (line 40) | get() {
FILE: packages/table-core/src/fns/aggregationFns.ts
type BuiltInAggregationFn (line 220) | type BuiltInAggregationFn = keyof typeof aggregationFns
FILE: packages/table-core/src/fns/filterFns.ts
type BuiltInFilterFn (line 373) | type BuiltInFilterFn = keyof typeof filterFns
function testFalsy (line 377) | function testFalsy(val: any) {
FILE: packages/table-core/src/fns/sortFns.ts
function compareBasic (line 98) | function compareBasic(a: any, b: any) {
function toString (line 102) | function toString(a: any) {
function compareAlphanumeric (line 118) | function compareAlphanumeric(aStr: string, bStr: string) {
type BuiltInSortFn (line 173) | type BuiltInSortFn = keyof typeof sortFns
FILE: packages/table-core/src/helpers/columnHelper.ts
type ColumnHelper (line 13) | type ColumnHelper<
function createColumnHelper (line 94) | function createColumnHelper<
FILE: packages/table-core/src/helpers/tableFeatures.ts
function tableFeatures (line 14) | function tableFeatures<TFeatures extends TableFeatures>(
FILE: packages/table-core/src/helpers/tableHelper.ts
type TableHelperOptions (line 12) | type TableHelperOptions<TFeatures extends TableFeatures> = Omit<
type TableHelper_Core (line 22) | type TableHelper_Core<TFeatures extends TableFeatures> = {
function constructTableHelper (line 44) | function constructTableHelper<TFeatures extends TableFeatures>(
FILE: packages/table-core/src/helpers/tableOptions.ts
function tableOptions (line 74) | function tableOptions(options: unknown) {
FILE: packages/table-core/src/types/Cell.ts
type Cell_Plugins (line 10) | interface Cell_Plugins<
type Cell_Core (line 16) | interface Cell_Core<
type Cell (line 22) | type Cell<
FILE: packages/table-core/src/types/Column.ts
type Column_Plugins (line 20) | interface Column_Plugins<
type Column_Core (line 26) | interface Column_Core<
type Column (line 32) | type Column<
type Column_Internal (line 80) | type Column_Internal<
FILE: packages/table-core/src/types/ColumnDef.ts
type ColumnDef_Plugins (line 18) | interface ColumnDef_Plugins<
type ColumnMeta (line 24) | interface ColumnMeta<
type AccessorFn (line 30) | type AccessorFn<
type ColumnDefTemplate (line 35) | type ColumnDefTemplate<TProps extends object> =
type StringOrTemplateHeader (line 39) | type StringOrTemplateHeader<
type StringHeaderIdentifier (line 45) | interface StringHeaderIdentifier {
type IdIdentifier (line 50) | interface IdIdentifier<
type ColumnIdentifiers (line 58) | type ColumnIdentifiers<
type ColumnDefBase_Core (line 64) | interface ColumnDefBase_Core<
type ColumnDefBase (line 75) | type ColumnDefBase<
type ColumnDefBase_All (line 117) | type ColumnDefBase_All<
type IdentifiedColumnDef (line 133) | type IdentifiedColumnDef<
type DisplayColumnDef (line 142) | type DisplayColumnDef<
type GroupColumnDefBase (line 148) | type GroupColumnDefBase<
type GroupColumnDef (line 156) | type GroupColumnDef<
type AccessorFnColumnDefBase (line 163) | type AccessorFnColumnDefBase<
type AccessorFnColumnDef (line 171) | type AccessorFnColumnDef<
type AccessorKeyColumnDefBase (line 178) | type AccessorKeyColumnDefBase<
type AccessorKeyColumnDef (line 187) | type AccessorKeyColumnDef<
type AccessorColumnDef (line 194) | type AccessorColumnDef<
type ColumnDef (line 202) | type ColumnDef<
type ColumnDefResolved (line 211) | type ColumnDefResolved<
FILE: packages/table-core/src/types/Header.ts
type Header_Plugins (line 11) | interface Header_Plugins<
type Header_Core (line 17) | interface Header_Core<
type Header (line 23) | type Header<
FILE: packages/table-core/src/types/HeaderGroup.ts
type HeaderGroup_Plugins (line 9) | interface HeaderGroup_Plugins<
type HeaderGroup_Core (line 14) | interface HeaderGroup_Core<
type HeaderGroup (line 19) | type HeaderGroup<
FILE: packages/table-core/src/types/Row.ts
type Row_Plugins (line 16) | interface Row_Plugins<
type Row_Core (line 21) | interface Row_Core<
type Row (line 26) | type Row<
FILE: packages/table-core/src/types/RowModel.ts
type CreateRowModels_Plugins (line 37) | interface CreateRowModels_Plugins<
type CreateRowModels (line 42) | type CreateRowModels<
type CreateRowModels_All (line 76) | type CreateRowModels_All<
type CachedRowModels_Plugins (line 87) | interface CachedRowModels_Plugins<
type CachedRowModels (line 92) | type CachedRowModels<
type CachedRowModel_All (line 126) | type CachedRowModel_All<
FILE: packages/table-core/src/types/RowModelFns.ts
type RowModelFns_Plugins (line 11) | interface RowModelFns_Plugins<
type RowModelFns_Core (line 16) | interface RowModelFns_Core {}
type RowModelFns (line 18) | type RowModelFns<
type RowModelFns_All (line 44) | type RowModelFns_All<
FILE: packages/table-core/src/types/Table.ts
type Table_Plugins (line 32) | interface Table_Plugins<
type Table_Core (line 41) | type Table_Core<
type Table (line 53) | type Table<
type Table_Internal (line 111) | type Table_Internal<
FILE: packages/table-core/src/types/TableFeatures.ts
type ExtractFeatureTypes (line 10) | type ExtractFeatureTypes<
type FeatureConstructors (line 25) | interface FeatureConstructors {
type Plugins (line 40) | interface Plugins {}
type TableFeatures (line 42) | interface TableFeatures
type ConstructTableAPIs (line 45) | type ConstructTableAPIs<TConstructors extends FeatureConstructors> = <
type GetDefaultColumnDef (line 55) | type GetDefaultColumnDef<TConstructors extends FeatureConstructors> = <
type GetDefaultTableOptions (line 62) | type GetDefaultTableOptions<TConstructors extends FeatureConstructors> =
type GetInitialState (line 68) | type GetInitialState<TConstructors extends FeatureConstructors> = (
type GetDefaultStateSelector (line 72) | type GetDefaultStateSelector<TConstructors extends FeatureConstructors> =
type AssignCellPrototype (line 77) | type AssignCellPrototype<TConstructors extends FeatureConstructors> = <
type AssignColumnPrototype (line 85) | type AssignColumnPrototype<TConstructors extends FeatureConstructors> = <
type AssignHeaderPrototype (line 93) | type AssignHeaderPrototype<TConstructors extends FeatureConstructors> = <
type AssignRowPrototype (line 101) | type AssignRowPrototype<TConstructors extends FeatureConstructors> = <
type InitRowInstanceData (line 109) | type InitRowInstanceData<TConstructors extends FeatureConstructors> = <
type TableFeature (line 116) | interface TableFeature<TConstructors extends FeatureConstructors> {
FILE: packages/table-core/src/types/TableOptions.ts
type TableOptions_Plugins (line 22) | interface TableOptions_Plugins<
type TableOptions_Core (line 27) | interface TableOptions_Core<
type DebugKeysFor (line 37) | type DebugKeysFor<TFeatures extends TableFeatures> = {
type DebugOptions (line 41) | type DebugOptions<TFeatures extends TableFeatures> = {
type TableOptions (line 51) | type TableOptions<
type TableOptions_All (line 107) | type TableOptions_All<
FILE: packages/table-core/src/types/TableState.ts
type TableState_Plugins (line 21) | interface TableState_Plugins<TFeatures extends TableFeatures> {}
type TableState (line 23) | type TableState<TFeatures extends TableFeatures> = UnionToIntersection<
type TableState_All (line 74) | type TableState_All = Partial<
FILE: packages/table-core/src/types/type-utils.ts
type Updater (line 1) | type Updater<T> = T | ((old: T) => T)
type OnChangeFn (line 3) | type OnChangeFn<T> = (updaterOrValue: Updater<T>) => void
type RowData (line 5) | type RowData = Record<string, any> | Array<any>
type CellData (line 7) | type CellData = unknown
type PartialKeys (line 9) | type PartialKeys<T, K extends keyof T> = Omit<T, K> & Partial<Pick<T, K>>
type RequiredKeys (line 11) | type RequiredKeys<T, K extends keyof T> = Omit<T, K> &
type UnionToIntersection (line 14) | type UnionToIntersection<T> = (
type ComputeRange (line 20) | type ComputeRange<
type Index40 (line 27) | type Index40 = ComputeRange<40>[number]
type IsTuple (line 30) | type IsTuple<T> = T extends ReadonlyArray<any> & { length: infer Length }
type AllowedIndexes (line 37) | type AllowedIndexes<
type DeepKeys (line 46) | type DeepKeys<
type DeepKeysPrefix (line 63) | type DeepKeysPrefix<
type DeepValue (line 71) | type DeepValue<T, TProp> =
type NoInfer (line 78) | type NoInfer<T> = [T][T extends any ? 0 : never]
type Getter (line 80) | type Getter<TValue> = <TTValue = TValue>() => NoInfer<TTValue>
type Prettify (line 82) | type Prettify<T> = {
FILE: packages/table-core/src/utils.ts
function functionalUpdate (line 6) | function functionalUpdate<T>(updater: Updater<T>, input: T): T {
function noop (line 12) | function noop() {}
function makeStateUpdater (line 14) | function makeStateUpdater<
type AnyFunction (line 30) | type AnyFunction = (...args: any) => any
function isFunction (line 32) | function isFunction<T extends AnyFunction>(d: any): d is T {
function isNumberArray (line 36) | function isNumberArray(d: any): d is Array<number> {
function flattenBy (line 40) | function flattenBy<TNode>(
type MemoFnMeta (line 62) | type MemoFnMeta = { originalArgsLength?: number }
function setMemoFnMeta (line 67) | function setMemoFnMeta(fn: Function, meta: MemoFnMeta) {
function getMemoFnMeta (line 74) | function getMemoFnMeta(fn: any): MemoFnMeta | null {
type MemoOptions (line 78) | interface MemoOptions<TDeps extends ReadonlyArray<any>, TDepArgs, TResul...
type TableMemoOptions (line 127) | interface TableMemoOptions<
function tableMemo (line 148) | function tableMemo<
type API (line 267) | interface API<TDeps extends ReadonlyArray<any>, TDepArgs> {
type APIObject (line 272) | type APIObject<TDeps extends ReadonlyArray<any>, TDepArgs> = Record<
function getFunctionNameInfo (line 280) | function getFunctionNameInfo(
function assignTableAPIs (line 297) | function assignTableAPIs<
type PrototypeAPI (line 322) | interface PrototypeAPI<TDeps extends ReadonlyArray<any>, TDepArgs> {
type PrototypeAPIObject (line 327) | type PrototypeAPIObject<
function assignPrototypeAPIs (line 339) | function assignPrototypeAPIs<
function callMemoOrStaticFn (line 387) | function callMemoOrStaticFn<
FILE: packages/table-core/tests/fixtures/data/generateTestColumnDefs.ts
function generateTestColumnDefs (line 5) | function generateTestColumnDefs<
FILE: packages/table-core/tests/fixtures/data/generateTestData.ts
function createPerson (line 5) | function createPerson(): Person {
function generateTestData (line 27) | function generateTestData(...lengths: Array<number>) {
function getStaticTestData (line 44) | function getStaticTestData() {
FILE: packages/table-core/tests/fixtures/data/types.ts
type PersonKeys (line 3) | type PersonKeys = keyof Person
type PersonColumn (line 4) | type PersonColumn<
type Person (line 9) | type Person = {
FILE: packages/table-core/tests/helpers/generateTestRows.ts
function generateTestRowsWithData (line 10) | function generateTestRowsWithData<TFeatures extends TableFeatures>(
function generateTestRowsFromData (line 23) | function generateTestRowsFromData<TFeatures extends TableFeatures>(
function generateTestRowsWithState (line 33) | function generateTestRowsWithState<TFeatures extends TableFeatures>(
function generateTestRowsWithStateFromData (line 46) | function generateTestRowsWithStateFromData<
FILE: packages/table-core/tests/helpers/generateTestTable.ts
function generateTestTableWithData (line 13) | function generateTestTableWithData<TFeatures extends TableFeatures>(
function generateTestTableFromData (line 38) | function generateTestTableFromData<TFeatures extends TableFeatures>(
function generateTestTableWithDataAndState (line 54) | function generateTestTableWithDataAndState<
function generateTestTableWithStateFromData (line 90) | function generateTestTableWithStateFromData<
FILE: packages/table-core/tests/helpers/rowPinningHelpers.ts
type personKeys (line 20) | type personKeys = keyof Person
type PersonColumn (line 21) | type PersonColumn = ColumnDef<typeof _features, Person, any>
function generateColumnDefs (line 23) | function generateColumnDefs(people: Array<Person>): Array<PersonColumn> {
function createTableWithPinningState (line 37) | function createTableWithPinningState(
function createTableWithMockOnPinningChange (line 52) | function createTableWithMockOnPinningChange(rowCount = 10): {
function createRowPinningTable (line 66) | function createRowPinningTable(
FILE: packages/table-core/tests/helpers/testUtils.ts
function getUpdaterResult (line 15) | function getUpdaterResult(mock: ReturnType<typeof vi.fn>, input: any) {
FILE: packages/table-core/tests/implementation/features/row-pinning/rowPinningFeature.test.ts
type personKeys (line 24) | type personKeys = keyof Person
type PersonColumn (line 25) | type PersonColumn = ColumnDef<typeof _features, Person, any>
function generateColumnDefs (line 27) | function generateColumnDefs(people: Array<Person>): Array<PersonColumn> {
constant ROW (line 41) | const ROW = {
constant SUB_ROW (line 47) | const SUB_ROW = {
constant EMPTY_PINNING_STATE (line 52) | const EMPTY_PINNING_STATE = {
FILE: packages/table-core/tests/implementation/features/row-selection/rowSelectionFeature.test.ts
type personKeys (line 18) | type personKeys = keyof Person
type PersonColumn (line 19) | type PersonColumn = ColumnDef<typeof _features, Person, any>
function generateColumnDefs (line 21) | function generateColumnDefs(people: Array<Person>): Array<PersonColumn> {
FILE: packages/table-core/tests/performance/features/column-grouping/columnGroupingFeature.test.ts
type personKeys (line 16) | type personKeys = keyof Person
type PersonColumn (line 17) | type PersonColumn = ColumnDef<any, Person, any>
function generateColumns (line 19) | function generateColumns(people: Array<Person>): Array<PersonColumn> {
method onStateChange (line 49) | onStateChange() {}
FILE: packages/table-core/tests/unit/core/rows/constructRow.test.ts
type Person (line 7) | interface Person {
FILE: packages/table-core/tests/unit/features/column-resizing/columnResizingFeature.utils.test.ts
type TestFeatures (line 15) | type TestFeatures = {
function createTestResizeHeader (line 21) | function createTestResizeHeader(table: any, overrides = {}) {
FILE: packages/table-core/tests/unit/features/row-pinning/rowPinningFeature.utils.test.ts
constant DEFAULT_ROW_COUNT (line 24) | const DEFAULT_ROW_COUNT = 10
constant ROW (line 26) | const ROW = {
constant LEAF (line 34) | const LEAF = {
constant PARENT (line 39) | const PARENT = {
constant EMPTY_PINNING_STATE (line 44) | const EMPTY_PINNING_STATE = {
FILE: packages/table-devtools/src/TableContextProvider.tsx
type TableDevtoolsTabId (line 15) | type TableDevtoolsTabId = 'features' | 'state' | 'options' | 'rows' | 'c...
type AnyTable (line 16) | type AnyTable = Table<typeof stockFeatures, RowData>
type TableDevtoolsContextValue (line 18) | interface TableDevtoolsContextValue {
function useTableDevtoolsContext (line 55) | function useTableDevtoolsContext() {
FILE: packages/table-devtools/src/TableDevtools.tsx
function TableDevtools (line 4) | function TableDevtools() {
FILE: packages/table-devtools/src/components/ColumnsPanel.tsx
type AnyColumn (line 8) | type AnyColumn = Column<TableFeatures, RowData, unknown>
function getColumnDefSummary (line 10) | function getColumnDefSummary(column: AnyColumn): string {
function ColumnsPanel (line 30) | function ColumnsPanel() {
FILE: packages/table-devtools/src/components/FeaturesPanel.tsx
type FnBuckets (line 8) | type FnBuckets = Partial<
function toFnBuckets (line 12) | function toFnBuckets(value: unknown): FnBuckets {
constant CORE_FEATURE_NAMES (line 16) | const CORE_FEATURE_NAMES: Array<string> = Object.keys(coreFeatures)
constant STOCK_FEATURE_NAMES (line 17) | const STOCK_FEATURE_NAMES: Array<string> = Object.keys(stockFeatures)
constant ROW_MODEL_TO_FN_KIND (line 19) | const ROW_MODEL_TO_FN_KIND: Record<
constant EXECUTION_ORDER_GETTERS (line 31) | const EXECUTION_ORDER_GETTERS = [
function getterToRowModelKey (line 41) | function getterToRowModelKey(getter: string): string | null {
constant ROW_MODEL_TO_GETTER (line 47) | const ROW_MODEL_TO_GETTER: Record<
function getRowCountForModel (line 62) | function getRowCountForModel(
function FeaturesPanel (line 72) | function FeaturesPanel() {
FILE: packages/table-devtools/src/components/OptionsPanel.tsx
function OptionsPanel (line 7) | function OptionsPanel() {
FILE: packages/table-devtools/src/components/ResizableSplit.tsx
constant DEFAULT_LEFT_PERCENT (line 5) | const DEFAULT_LEFT_PERCENT = 50
constant MIN_PANEL_PERCENT (line 6) | const MIN_PANEL_PERCENT = 15
constant MAX_PANEL_PERCENT (line 7) | const MAX_PANEL_PERCENT = 85
type ResizableSplitProps (line 9) | interface ResizableSplitProps {
function ResizableSplit (line 14) | function ResizableSplit(props: ResizableSplitProps) {
FILE: packages/table-devtools/src/components/RowsPanel.tsx
type AnyRow (line 16) | type AnyRow = Row<TableFeatures, RowData>
type AnyCell (line 17) | type AnyCell = Cell<TableFeatures, RowData>
type AnyColumn (line 18) | type AnyColumn = Column<TableFeatures, any>
constant ROW_LIMIT (line 20) | const ROW_LIMIT = 100
constant ROW_MODEL_GETTERS (line 22) | const ROW_MODEL_GETTERS = [
function stringifyValue (line 32) | function stringifyValue(value: unknown): string {
function RowsPanel (line 46) | function RowsPanel() {
FILE: packages/table-devtools/src/components/Shell.tsx
function Shell (line 19) | function Shell() {
FILE: packages/table-devtools/src/components/StatePanel.tsx
function StatePanel (line 8) | function StatePanel() {
FILE: packages/table-devtools/src/core.tsx
type TableDevtoolsInit (line 6) | interface TableDevtoolsInit {}
FILE: packages/table-devtools/src/styles/use-styles.ts
function useStyles (line 289) | function useStyles() {
FILE: packages/table-devtools/src/tableTarget.ts
type AnyTable (line 3) | type AnyTable = Table<TableFeatures, RowData>
type Listener (line 4) | type Listener = (table: AnyTable | undefined) => void
function setTableDevtoolsTarget (line 9) | function setTableDevtoolsTarget(table: Table<any, any> | undefined) {
function getTableDevtoolsTarget (line 16) | function getTableDevtoolsTarget() {
function subscribeTableDevtoolsTarget (line 20) | function subscribeTableDevtoolsTarget(listener: Listener) {
FILE: packages/table-devtools/src/useTableStore.ts
function useTableStore (line 8) | function useTableStore<T, U>(
FILE: packages/vue-table/src/createTableHelper.ts
type TableHelper (line 12) | type TableHelper<
function createTableHelper (line 25) | function createTableHelper<
FILE: packages/vue-table/src/merge-proxy.ts
function trueFn (line 1) | function trueFn() {
method get (line 13) | get(_, property, receiver) {
method has (line 17) | has(_, property) {
method getOwnPropertyDescriptor (line 22) | getOwnPropertyDescriptor(_, property) {
method ownKeys (line 33) | ownKeys(_) {
type UnboxLazy (line 38) | type UnboxLazy<T> = T extends () => infer U ? U : T
type BoxedTupleTypes (line 39) | type BoxedTupleTypes<T extends Array<any>> = {
type UnionToIntersection (line 42) | type UnionToIntersection<T> = (T extends any ? (k: T) => void : never) e...
type UnboxIntersection (line 47) | type UnboxIntersection<T> = T extends { 0: infer U } ? U : never
type MergeProxy (line 48) | type MergeProxy<T extends Array<any>> = UnboxIntersection<
function resolveSource (line 52) | function resolveSource(s: any) {
function mergeProxy (line 57) | function mergeProxy(...sources: any): any {
FILE: packages/vue-table/src/useTable.ts
type TableOptionsWithReactiveData (line 18) | type TableOptionsWithReactiveData<
function getOptionsWithReactiveData (line 25) | function getOptionsWithReactiveData<
type VueTable (line 34) | type VueTable<
function useTable (line 71) | function useTable<
FILE: scripts/types.d.ts
type Package (line 1) | type Package = {
type BranchConfig (line 6) | type BranchConfig = {
FILE: scripts/verify-links.ts
function isRelativeLink (line 14) | function isRelativeLink(link: string) {
function stripExtension (line 26) | function stripExtension(p: string): string {
function relativeLinkExists (line 30) | function relativeLinkExists(link: string, file: string): boolean {
function verifyMarkdownLinks (line 88) | async function verifyMarkdownLinks() {
Condensed preview — 2187 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (4,042K chars).
[
{
"path": ".editorconfig",
"chars": 147,
"preview": "root = true\n\n[*]\ncharset = utf-8\nindent_style = space\nindent_size = 2\nend_of_line = lf\ninsert_final_newline = true\ntrim_"
},
{
"path": ".gitattributes",
"chars": 73,
"preview": "# Auto detect text files and perform LF normalization\n* text=auto eol=lf\n"
},
{
"path": ".github/FUNDING.yml",
"chars": 69,
"preview": "# These are supported funding model platforms\n\ngithub: tannerlinsley\n"
},
{
"path": ".github/ISSUE_TEMPLATE/bug_report.yml",
"chars": 5340,
"preview": "name: '🐛 Bug report'\ndescription: Report a reproducible bug or regression\nbody:\n - type: markdown\n attributes:\n "
},
{
"path": ".github/ISSUE_TEMPLATE/config.yml",
"chars": 446,
"preview": "blank_issues_enabled: false\ncontact_links:\n - name: 🤔 Feature Requests & Questions\n url: https://github.com/TanStack"
},
{
"path": ".github/pull_request_template",
"chars": 295,
"preview": "## 🎯 Changes\n\n<!-- What changes are made in this PR? Describe the change and its motivation. -->\n\n## ✅ Checklist\n\n- [ ] "
},
{
"path": ".github/workflows/autofix.yml",
"chars": 742,
"preview": "name: autofix.ci # needed to securely identify the workflow\n\non:\n pull_request:\n push:\n branches: [main, alpha, bet"
},
{
"path": ".github/workflows/pr.yml",
"chars": 1425,
"preview": "name: PR\n\non:\n pull_request:\n paths-ignore:\n - 'docs/**'\n - 'media/**'\n - '**/*.md'\n\nconcurrency:\n g"
},
{
"path": ".github/workflows/release.yml",
"chars": 1292,
"preview": "name: Release\n\non:\n workflow_dispatch:\n inputs:\n tag:\n description: override release tag\n require"
},
{
"path": ".gitignore",
"chars": 667,
"preview": "\n# See https://help.github.com/ignore-files/ for more about ignoring files.\n\n# dependencies\nnode_modules\npackage-lock.js"
},
{
"path": ".npmrc",
"chars": 16,
"preview": "provenance=true\n"
},
{
"path": ".nvmrc",
"chars": 7,
"preview": "24.8.0\n"
},
{
"path": ".nx/workflows/dynamic-changesets.yaml",
"chars": 128,
"preview": "distribute-on:\n small-changeset: 3 linux-medium-js\n medium-changeset: 6 linux-medium-js\n large-changeset: 10 linux-me"
},
{
"path": ".prettierignore",
"chars": 138,
"preview": "**/.nx/\n**/.nx/cache\n**/.svelte-kit\n**/build\n**/coverage\n**/dist\n**/docs\n**/old-examples\n**/examples/**/*.svelte\npnpm-lo"
},
{
"path": ".vscode/extensions.json",
"chars": 78,
"preview": "{\n \"recommendations\": [\"dbaeumer.vscode-eslint\", \"esbenp.prettier-vscode\"]\n}\n"
},
{
"path": "CODE_OF_CONDUCT.md",
"chars": 3410,
"preview": "---\ntitle: Code of Conduct\nid: code-of-conduct\n---\n\n# Contributor Covenant Code of Conduct\n\n## Our Pledge\n\nIn the intere"
},
{
"path": "CONTRIBUTING.md",
"chars": 2607,
"preview": "---\ntitle: Contributing\nid: contributing\n---\n\n# Contributing\n\n## Questions\n\nIf you have questions about implementation d"
},
{
"path": "LICENSE",
"chars": 1071,
"preview": "MIT License\n\nCopyright (c) 2016 Tanner Linsley\n\nPermission is hereby granted, free of charge, to any person obtaining a "
},
{
"path": "README.md",
"chars": 5848,
"preview": "<div align=\"center\">\n <img src=\"./media/header_table.png\" alt=\"TanStack Table\">\n</div>\n\n<br />\n\n<div align=\"center\">\n<a"
},
{
"path": "docs/config.json",
"chars": 55065,
"preview": "{\n \"$schema\": \"https://raw.githubusercontent.com/TanStack/tanstack.com/main/tanstack-docs-config.schema.json\",\n \"docSe"
},
{
"path": "docs/enterprise/ag-grid.md",
"chars": 4374,
"preview": "---\ntitle: AG Grid - An alternative enterprise data-grid solution\n---\n\n<p>\n <a href=\"https://ag-grid.com/react-data-gri"
},
{
"path": "docs/faq.md",
"chars": 5663,
"preview": "---\ntitle: FAQ\n---\n\n## How do I stop infinite rendering loops?\n\nIf you are using React, there is a very common pitfall t"
},
{
"path": "docs/framework/angular/angular-table.md",
"chars": 4743,
"preview": "---\ntitle: Angular Table\n---\n\nThe `@tanstack/angular-table` adapter is a wrapper around the core table logic. Most of it"
},
{
"path": "docs/framework/angular/guide/migrating.md",
"chars": 23257,
"preview": "---\ntitle: Migrating to TanStack Table v9 (Angular)\n---\n\n## What's New in TanStack Table v9\n\nTanStack Table v9 is a majo"
},
{
"path": "docs/framework/angular/guide/rendering.md",
"chars": 15078,
"preview": "---\ntitle: Rendering components\n---\n\nThe `@tanstack/angular-table` adapter provides structural directives and dependency"
},
{
"path": "docs/framework/angular/guide/table-composition.md",
"chars": 10559,
"preview": "---\ntitle: Table Composition (createTableHook)\n---\n\n`createTableHook` is a convenience API for creating reusable, type-s"
},
{
"path": "docs/framework/angular/guide/table-state.md",
"chars": 9113,
"preview": "---\ntitle: Table State (Angular) Guide\n---\n\n## Table State (Angular) Guide\n\nTanStack Table has a simple underlying inter"
},
{
"path": "docs/framework/angular/reference/classes/FlexRenderCell.md",
"chars": 2537,
"preview": "---\nid: FlexRenderCell\ntitle: FlexRenderCell\n---\n\n# Class: FlexRenderCell\\<TFeatures, TData, TValue\\>\n\nDefined in: [help"
},
{
"path": "docs/framework/angular/reference/classes/FlexRenderComponentInstance.md",
"chars": 5590,
"preview": "---\nid: FlexRenderComponentInstance\ntitle: FlexRenderComponentInstance\n---\n\n# Class: FlexRenderComponentInstance\\<TCompo"
},
{
"path": "docs/framework/angular/reference/classes/FlexRenderDirective.md",
"chars": 2601,
"preview": "---\nid: FlexRenderDirective\ntitle: FlexRenderDirective\n---\n\n# Class: FlexRenderDirective\\<TFeatures, TRowData, TValue, T"
},
{
"path": "docs/framework/angular/reference/classes/TanStackTable.md",
"chars": 1726,
"preview": "---\nid: TanStackTable\ntitle: TanStackTable\n---\n\n# Class: TanStackTable\\<TFeatures, TData, TSelected\\>\n\nDefined in: [help"
},
{
"path": "docs/framework/angular/reference/classes/TanStackTableCell.md",
"chars": 1991,
"preview": "---\nid: TanStackTableCell\ntitle: TanStackTableCell\n---\n\n# Class: TanStackTableCell\\<TFeatures, TData, TValue\\>\n\nDefined "
},
{
"path": "docs/framework/angular/reference/classes/TanStackTableHeader.md",
"chars": 1903,
"preview": "---\nid: TanStackTableHeader\ntitle: TanStackTableHeader\n---\n\n# Class: TanStackTableHeader\\<TFeatures, TData, TValue\\>\n\nDe"
},
{
"path": "docs/framework/angular/reference/functions/createTableHook.md",
"chars": 1151,
"preview": "---\nid: createTableHook\ntitle: createTableHook\n---\n\n# Function: createTableHook()\n\n```ts\nfunction createTableHook<TFeatu"
},
{
"path": "docs/framework/angular/reference/functions/flexRenderComponent.md",
"chars": 1404,
"preview": "---\nid: flexRenderComponent\ntitle: flexRenderComponent\n---\n\n# Function: flexRenderComponent()\n\n```ts\nfunction flexRender"
},
{
"path": "docs/framework/angular/reference/functions/injectFlexRenderContext.md",
"chars": 469,
"preview": "---\nid: injectFlexRenderContext\ntitle: injectFlexRenderContext\n---\n\n# Function: injectFlexRenderContext()\n\n```ts\nfunctio"
},
{
"path": "docs/framework/angular/reference/functions/injectTable.md",
"chars": 2441,
"preview": "---\nid: injectTable\ntitle: injectTable\n---\n\n# Function: injectTable()\n\n```ts\nfunction injectTable<TFeatures, TData, TSel"
},
{
"path": "docs/framework/angular/reference/functions/injectTableCellContext.md",
"chars": 780,
"preview": "---\nid: injectTableCellContext\ntitle: injectTableCellContext\n---\n\n# Function: injectTableCellContext()\n\n```ts\nfunction i"
},
{
"path": "docs/framework/angular/reference/functions/injectTableContext.md",
"chars": 862,
"preview": "---\nid: injectTableContext\ntitle: injectTableContext\n---\n\n# Function: injectTableContext()\n\n```ts\nfunction injectTableCo"
},
{
"path": "docs/framework/angular/reference/functions/injectTableHeaderContext.md",
"chars": 802,
"preview": "---\nid: injectTableHeaderContext\ntitle: injectTableHeaderContext\n---\n\n# Function: injectTableHeaderContext()\n\n```ts\nfunc"
},
{
"path": "docs/framework/angular/reference/index.md",
"chars": 1991,
"preview": "---\nid: \"@tanstack/angular-table\"\ntitle: \"@tanstack/angular-table\"\n---\n\n# @tanstack/angular-table\n\n## Classes\n\n- [FlexRe"
},
{
"path": "docs/framework/angular/reference/interfaces/AngularReactivityFlags.md",
"chars": 1955,
"preview": "---\nid: AngularReactivityFlags\ntitle: AngularReactivityFlags\n---\n\n# Interface: AngularReactivityFlags\n\nDefined in: [angu"
},
{
"path": "docs/framework/angular/reference/interfaces/FlexRenderComponent.md",
"chars": 4151,
"preview": "---\nid: FlexRenderComponent\ntitle: FlexRenderComponent\n---\n\n# Interface: FlexRenderComponent\\<TComponent\\>\n\nDefined in: "
},
{
"path": "docs/framework/angular/reference/interfaces/TanStackTableCellContext.md",
"chars": 862,
"preview": "---\nid: TanStackTableCellContext\ntitle: TanStackTableCellContext\n---\n\n# Interface: TanStackTableCellContext\\<TFeatures, "
},
{
"path": "docs/framework/angular/reference/interfaces/TanStackTableHeaderContext.md",
"chars": 872,
"preview": "---\nid: TanStackTableHeaderContext\ntitle: TanStackTableHeaderContext\n---\n\n# Interface: TanStackTableHeaderContext\\<TFeat"
},
{
"path": "docs/framework/angular/reference/type-aliases/AngularTable.md",
"chars": 1067,
"preview": "---\nid: AngularTable\ntitle: AngularTable\n---\n\n# Type Alias: AngularTable\\<TFeatures, TData, TSelected\\>\n\n```ts\ntype Angu"
},
{
"path": "docs/framework/angular/reference/type-aliases/AppAngularTable.md",
"chars": 2031,
"preview": "---\nid: AppAngularTable\ntitle: AppAngularTable\n---\n\n# Type Alias: AppAngularTable\\<TFeatures, TData, TSelected, TTableCo"
},
{
"path": "docs/framework/angular/reference/type-aliases/AppCellContext.md",
"chars": 2191,
"preview": "---\nid: AppCellContext\ntitle: AppCellContext\n---\n\n# Type Alias: AppCellContext\\<TFeatures, TData, TValue, TCellComponent"
},
{
"path": "docs/framework/angular/reference/type-aliases/AppColumnHelper.md",
"chars": 3891,
"preview": "---\nid: AppColumnHelper\ntitle: AppColumnHelper\n---\n\n# Type Alias: AppColumnHelper\\<TFeatures, TData, TCellComponents, TH"
},
{
"path": "docs/framework/angular/reference/type-aliases/AppHeaderContext.md",
"chars": 1535,
"preview": "---\nid: AppHeaderContext\ntitle: AppHeaderContext\n---\n\n# Type Alias: AppHeaderContext\\<TFeatures, TData, TValue, THeaderC"
},
{
"path": "docs/framework/angular/reference/type-aliases/CreateTableContextOptions.md",
"chars": 2113,
"preview": "---\nid: CreateTableContextOptions\ntitle: CreateTableContextOptions\n---\n\n# Type Alias: CreateTableContextOptions\\<TFeatur"
},
{
"path": "docs/framework/angular/reference/type-aliases/CreateTableHookResult.md",
"chars": 4445,
"preview": "---\nid: CreateTableHookResult\ntitle: CreateTableHookResult\n---\n\n# Type Alias: CreateTableHookResult\\<TFeatures, TTableCo"
},
{
"path": "docs/framework/angular/reference/type-aliases/FlexRenderComponentProps.md",
"chars": 311,
"preview": "---\nid: FlexRenderComponentProps\ntitle: FlexRenderComponentProps\n---\n\n# Type Alias: FlexRenderComponentProps\n\n```ts\ntype"
},
{
"path": "docs/framework/angular/reference/type-aliases/FlexRenderContent.md",
"chars": 614,
"preview": "---\nid: FlexRenderContent\ntitle: FlexRenderContent\n---\n\n# Type Alias: FlexRenderContent\\<TProps\\>\n\n```ts\ntype FlexRender"
},
{
"path": "docs/framework/angular/reference/type-aliases/FlexRenderInputContent.md",
"chars": 528,
"preview": "---\nid: FlexRenderInputContent\ntitle: FlexRenderInputContent\n---\n\n# Type Alias: FlexRenderInputContent\\<TProps\\>\n\n```ts\n"
},
{
"path": "docs/framework/angular/reference/variables/FlexRender.md",
"chars": 659,
"preview": "---\nid: FlexRender\ntitle: FlexRender\n---\n\n# Variable: FlexRender\n\n```ts\nconst FlexRender: readonly [typeof FlexRenderDir"
},
{
"path": "docs/framework/angular/reference/variables/TanStackTableCellToken.md",
"chars": 451,
"preview": "---\nid: TanStackTableCellToken\ntitle: TanStackTableCellToken\n---\n\n# Variable: TanStackTableCellToken\n\n```ts\nconst TanSta"
},
{
"path": "docs/framework/angular/reference/variables/TanStackTableHeaderToken.md",
"chars": 469,
"preview": "---\nid: TanStackTableHeaderToken\ntitle: TanStackTableHeaderToken\n---\n\n# Variable: TanStackTableHeaderToken\n\n```ts\nconst "
},
{
"path": "docs/framework/angular/reference/variables/TanStackTableToken.md",
"chars": 481,
"preview": "---\nid: TanStackTableToken\ntitle: TanStackTableToken\n---\n\n# Variable: TanStackTableToken\n\n```ts\nconst TanStackTableToken"
},
{
"path": "docs/framework/lit/guide/table-state.md",
"chars": 7676,
"preview": "---\ntitle: Table State (Lit) Guide\n---\n\n## Table State (Lit) Guide\n\nTanStack Table has a simple underlying internal stat"
},
{
"path": "docs/framework/lit/lit-table.md",
"chars": 1442,
"preview": "---\ntitle: Lit Table\n---\n\nThe `@tanstack/lit-table` adapter is a wrapper around the core table logic. Most of it's job i"
},
{
"path": "docs/framework/preact/guide/create-table-hook.md",
"chars": 5332,
"preview": "---\ntitle: createTableHook Guide\n---\n\n`createTableHook` is an advanced API for building reusable, composable table confi"
},
{
"path": "docs/framework/react/guide/create-table-hook.md",
"chars": 9164,
"preview": "---\ntitle: createTableHook Guide\n---\n\n`createTableHook` is an advanced API for building reusable, composable table confi"
},
{
"path": "docs/framework/react/guide/migrating.md",
"chars": 26775,
"preview": "---\ntitle: Migrating to TanStack Table v9 (React)\n---\n\n## What's New in TanStack Table v9\n\nTanStack Table v9 is a major "
},
{
"path": "docs/framework/react/guide/table-state.md",
"chars": 8286,
"preview": "---\ntitle: Table State (React) Guide\n---\n\n## Examples\n\nWant to skip to the implementation? Check out these examples:\n\n- "
},
{
"path": "docs/framework/react/guide/use-legacy-table.md",
"chars": 7228,
"preview": "---\ntitle: Using useLegacyTable for Incremental Migration\n---\n\nThe `useLegacyTable` hook provides a compatibility layer "
},
{
"path": "docs/framework/react/react-table.md",
"chars": 455,
"preview": "---\ntitle: React Table\n---\n\nThe `@tanstack/react-table` adapter is a wrapper around the core table logic. Most of its jo"
},
{
"path": "docs/framework/react/reference/index/functions/FlexRender-1.md",
"chars": 1439,
"preview": "---\nid: FlexRender\ntitle: FlexRender\n---\n\n# Function: FlexRender()\n\n```ts\nfunction FlexRender<TFeatures, TData, TValue>("
},
{
"path": "docs/framework/react/reference/index/functions/Subscribe.md",
"chars": 1262,
"preview": "---\nid: Subscribe\ntitle: Subscribe\n---\n\n# Function: Subscribe()\n\n```ts\nfunction Subscribe<TFeatures, TData, TSelected>(p"
},
{
"path": "docs/framework/react/reference/index/functions/createTableHook.md",
"chars": 8003,
"preview": "---\nid: createTableHook\ntitle: createTableHook\n---\n\n# Function: createTableHook()\n\n```ts\nfunction createTableHook<TFeatu"
},
{
"path": "docs/framework/react/reference/index/functions/flexRender.md",
"chars": 678,
"preview": "---\nid: flexRender\ntitle: flexRender\n---\n\n# Function: flexRender()\n\n```ts\nfunction flexRender<TProps>(Comp, props): Reac"
},
{
"path": "docs/framework/react/reference/index/functions/useTable.md",
"chars": 660,
"preview": "---\nid: useTable\ntitle: useTable\n---\n\n# Function: useTable()\n\n```ts\nfunction useTable<TFeatures, TData, TSelected>(table"
},
{
"path": "docs/framework/react/reference/index/index.md",
"chars": 1369,
"preview": "---\nid: index\ntitle: index\n---\n\n# index\n\n## Interfaces\n\n- [AppCellComponent](interfaces/AppCellComponent.md)\n- [AppCellP"
},
{
"path": "docs/framework/react/reference/index/interfaces/AppCellComponent.md",
"chars": 1718,
"preview": "---\nid: AppCellComponent\ntitle: AppCellComponent\n---\n\n# Interface: AppCellComponent()\\<TFeatures, TData, TCellComponents"
},
{
"path": "docs/framework/react/reference/index/interfaces/AppCellPropsWithSelector.md",
"chars": 1938,
"preview": "---\nid: AppCellPropsWithSelector\ntitle: AppCellPropsWithSelector\n---\n\n# Interface: AppCellPropsWithSelector\\<TFeatures, "
},
{
"path": "docs/framework/react/reference/index/interfaces/AppCellPropsWithoutSelector.md",
"chars": 1789,
"preview": "---\nid: AppCellPropsWithoutSelector\ntitle: AppCellPropsWithoutSelector\n---\n\n# Interface: AppCellPropsWithoutSelector\\<TF"
},
{
"path": "docs/framework/react/reference/index/interfaces/AppHeaderComponent.md",
"chars": 1794,
"preview": "---\nid: AppHeaderComponent\ntitle: AppHeaderComponent\n---\n\n# Interface: AppHeaderComponent()\\<TFeatures, TData, THeaderCo"
},
{
"path": "docs/framework/react/reference/index/interfaces/AppHeaderPropsWithSelector.md",
"chars": 2081,
"preview": "---\nid: AppHeaderPropsWithSelector\ntitle: AppHeaderPropsWithSelector\n---\n\n# Interface: AppHeaderPropsWithSelector\\<TFeat"
},
{
"path": "docs/framework/react/reference/index/interfaces/AppHeaderPropsWithoutSelector.md",
"chars": 1932,
"preview": "---\nid: AppHeaderPropsWithoutSelector\ntitle: AppHeaderPropsWithoutSelector\n---\n\n# Interface: AppHeaderPropsWithoutSelect"
},
{
"path": "docs/framework/react/reference/index/interfaces/AppTableComponent.md",
"chars": 1241,
"preview": "---\nid: AppTableComponent\ntitle: AppTableComponent\n---\n\n# Interface: AppTableComponent()\\<TFeatures\\>\n\nDefined in: [crea"
},
{
"path": "docs/framework/react/reference/index/interfaces/AppTablePropsWithSelector.md",
"chars": 979,
"preview": "---\nid: AppTablePropsWithSelector\ntitle: AppTablePropsWithSelector\n---\n\n# Interface: AppTablePropsWithSelector\\<TFeature"
},
{
"path": "docs/framework/react/reference/index/interfaces/AppTablePropsWithoutSelector.md",
"chars": 693,
"preview": "---\nid: AppTablePropsWithoutSelector\ntitle: AppTablePropsWithoutSelector\n---\n\n# Interface: AppTablePropsWithoutSelector\n"
},
{
"path": "docs/framework/react/reference/index/type-aliases/AppCellContext.md",
"chars": 2086,
"preview": "---\nid: AppCellContext\ntitle: AppCellContext\n---\n\n# Type Alias: AppCellContext\\<TFeatures, TData, TValue, TCellComponent"
},
{
"path": "docs/framework/react/reference/index/type-aliases/AppColumnHelper.md",
"chars": 3817,
"preview": "---\nid: AppColumnHelper\ntitle: AppColumnHelper\n---\n\n# Type Alias: AppColumnHelper\\<TFeatures, TData, TCellComponents, TH"
},
{
"path": "docs/framework/react/reference/index/type-aliases/AppHeaderContext.md",
"chars": 1478,
"preview": "---\nid: AppHeaderContext\ntitle: AppHeaderContext\n---\n\n# Type Alias: AppHeaderContext\\<TFeatures, TData, TValue, THeaderC"
},
{
"path": "docs/framework/react/reference/index/type-aliases/AppReactTable.md",
"chars": 2913,
"preview": "---\nid: AppReactTable\ntitle: AppReactTable\n---\n\n# Type Alias: AppReactTable\\<TFeatures, TData, TSelected, TTableComponen"
},
{
"path": "docs/framework/react/reference/index/type-aliases/CreateTableHookOptions.md",
"chars": 2094,
"preview": "---\nid: CreateTableHookOptions\ntitle: CreateTableHookOptions\n---\n\n# Type Alias: CreateTableHookOptions\\<TFeatures, TTabl"
},
{
"path": "docs/framework/react/reference/index/type-aliases/FlexRenderProps.md",
"chars": 1047,
"preview": "---\nid: FlexRenderProps\ntitle: FlexRenderProps\n---\n\n# Type Alias: FlexRenderProps\\<TFeatures, TData, TValue\\>\n\n```ts\ntyp"
},
{
"path": "docs/framework/react/reference/index/type-aliases/ReactTable.md",
"chars": 2506,
"preview": "---\nid: ReactTable\ntitle: ReactTable\n---\n\n# Type Alias: ReactTable\\<TFeatures, TData, TSelected\\>\n\n```ts\ntype ReactTable"
},
{
"path": "docs/framework/react/reference/index/type-aliases/Renderable.md",
"chars": 313,
"preview": "---\nid: Renderable\ntitle: Renderable\n---\n\n# Type Alias: Renderable\\<TProps\\>\n\n```ts\ntype Renderable<TProps> = ReactNode "
},
{
"path": "docs/framework/react/reference/index/type-aliases/SubscribeProps.md",
"chars": 1503,
"preview": "---\nid: SubscribeProps\ntitle: SubscribeProps\n---\n\n# Type Alias: SubscribeProps\\<TFeatures, TData, TSelected\\>\n\n```ts\ntyp"
},
{
"path": "docs/framework/react/reference/index.md",
"chars": 159,
"preview": "---\nid: \"@tanstack/react-table\"\ntitle: \"@tanstack/react-table\"\n---\n\n# @tanstack/react-table\n\n## Modules\n\n- [index](index"
},
{
"path": "docs/framework/react/reference/legacy/functions/getCoreRowModel.md",
"chars": 593,
"preview": "---\nid: getCoreRowModel\ntitle: getCoreRowModel\n---\n\n# ~~Function: getCoreRowModel()~~\n\n```ts\nfunction getCoreRowModel<TD"
},
{
"path": "docs/framework/react/reference/legacy/functions/getExpandedRowModel.md",
"chars": 614,
"preview": "---\nid: getExpandedRowModel\ntitle: getExpandedRowModel\n---\n\n# ~~Function: getExpandedRowModel()~~\n\n```ts\nfunction getExp"
},
{
"path": "docs/framework/react/reference/legacy/functions/getFacetedMinMaxValues.md",
"chars": 657,
"preview": "---\nid: getFacetedMinMaxValues\ntitle: getFacetedMinMaxValues\n---\n\n# ~~Function: getFacetedMinMaxValues()~~\n\n```ts\nfuncti"
},
{
"path": "docs/framework/react/reference/legacy/functions/getFacetedRowModel.md",
"chars": 624,
"preview": "---\nid: getFacetedRowModel\ntitle: getFacetedRowModel\n---\n\n# ~~Function: getFacetedRowModel()~~\n\n```ts\nfunction getFacete"
},
{
"path": "docs/framework/react/reference/legacy/functions/getFacetedUniqueValues.md",
"chars": 656,
"preview": "---\nid: getFacetedUniqueValues\ntitle: getFacetedUniqueValues\n---\n\n# ~~Function: getFacetedUniqueValues()~~\n\n```ts\nfuncti"
},
{
"path": "docs/framework/react/reference/legacy/functions/getFilteredRowModel.md",
"chars": 623,
"preview": "---\nid: getFilteredRowModel\ntitle: getFilteredRowModel\n---\n\n# ~~Function: getFilteredRowModel()~~\n\n```ts\nfunction getFil"
},
{
"path": "docs/framework/react/reference/legacy/functions/getGroupedRowModel.md",
"chars": 622,
"preview": "---\nid: getGroupedRowModel\ntitle: getGroupedRowModel\n---\n\n# ~~Function: getGroupedRowModel()~~\n\n```ts\nfunction getGroupe"
},
{
"path": "docs/framework/react/reference/legacy/functions/getPaginationRowModel.md",
"chars": 624,
"preview": "---\nid: getPaginationRowModel\ntitle: getPaginationRowModel\n---\n\n# ~~Function: getPaginationRowModel()~~\n\n```ts\nfunction "
},
{
"path": "docs/framework/react/reference/legacy/functions/getSortedRowModel.md",
"chars": 609,
"preview": "---\nid: getSortedRowModel\ntitle: getSortedRowModel\n---\n\n# ~~Function: getSortedRowModel()~~\n\n```ts\nfunction getSortedRow"
},
{
"path": "docs/framework/react/reference/legacy/functions/legacyCreateColumnHelper.md",
"chars": 659,
"preview": "---\nid: legacyCreateColumnHelper\ntitle: legacyCreateColumnHelper\n---\n\n# ~~Function: legacyCreateColumnHelper()~~\n\n```ts\n"
},
{
"path": "docs/framework/react/reference/legacy/functions/useLegacyTable.md",
"chars": 1459,
"preview": "---\nid: useLegacyTable\ntitle: useLegacyTable\n---\n\n# ~~Function: useLegacyTable()~~\n\n```ts\nfunction useLegacyTable<TData>"
},
{
"path": "docs/framework/react/reference/legacy/index.md",
"chars": 1320,
"preview": "---\nid: legacy\ntitle: legacy\n---\n\n# legacy\n\n## Interfaces\n\n- [LegacyRowModelOptions](interfaces/LegacyRowModelOptions.md"
},
{
"path": "docs/framework/react/reference/legacy/interfaces/LegacyRowModelOptions.md",
"chars": 3751,
"preview": "---\nid: LegacyRowModelOptions\ntitle: LegacyRowModelOptions\n---\n\n# Interface: LegacyRowModelOptions\\<TData\\>\n\nDefined in:"
},
{
"path": "docs/framework/react/reference/legacy/type-aliases/LegacyCell.md",
"chars": 466,
"preview": "---\nid: LegacyCell\ntitle: LegacyCell\n---\n\n# ~~Type Alias: LegacyCell\\<TData, TValue\\>~~\n\n```ts\ntype LegacyCell<TData, TV"
},
{
"path": "docs/framework/react/reference/legacy/type-aliases/LegacyColumn.md",
"chars": 478,
"preview": "---\nid: LegacyColumn\ntitle: LegacyColumn\n---\n\n# ~~Type Alias: LegacyColumn\\<TData, TValue\\>~~\n\n```ts\ntype LegacyColumn<T"
},
{
"path": "docs/framework/react/reference/legacy/type-aliases/LegacyColumnDef.md",
"chars": 496,
"preview": "---\nid: LegacyColumnDef\ntitle: LegacyColumnDef\n---\n\n# ~~Type Alias: LegacyColumnDef\\<TData, TValue\\>~~\n\n```ts\ntype Legac"
},
{
"path": "docs/framework/react/reference/legacy/type-aliases/LegacyHeader.md",
"chars": 478,
"preview": "---\nid: LegacyHeader\ntitle: LegacyHeader\n---\n\n# ~~Type Alias: LegacyHeader\\<TData, TValue\\>~~\n\n```ts\ntype LegacyHeader<T"
},
{
"path": "docs/framework/react/reference/legacy/type-aliases/LegacyHeaderGroup.md",
"chars": 442,
"preview": "---\nid: LegacyHeaderGroup\ntitle: LegacyHeaderGroup\n---\n\n# ~~Type Alias: LegacyHeaderGroup\\<TData\\>~~\n\n```ts\ntype LegacyH"
},
{
"path": "docs/framework/react/reference/legacy/type-aliases/LegacyReactTable.md",
"chars": 834,
"preview": "---\nid: LegacyReactTable\ntitle: LegacyReactTable\n---\n\n# ~~Type Alias: LegacyReactTable\\<TData\\>~~\n\n```ts\ntype LegacyReac"
},
{
"path": "docs/framework/react/reference/legacy/type-aliases/LegacyRow.md",
"chars": 394,
"preview": "---\nid: LegacyRow\ntitle: LegacyRow\n---\n\n# ~~Type Alias: LegacyRow\\<TData\\>~~\n\n```ts\ntype LegacyRow<TData> = Row<StockFea"
},
{
"path": "docs/framework/react/reference/legacy/type-aliases/LegacyTable.md",
"chars": 406,
"preview": "---\nid: LegacyTable\ntitle: LegacyTable\n---\n\n# ~~Type Alias: LegacyTable\\<TData\\>~~\n\n```ts\ntype LegacyTable<TData> = Tabl"
},
{
"path": "docs/framework/react/reference/legacy/type-aliases/LegacyTableOptions.md",
"chars": 749,
"preview": "---\nid: LegacyTableOptions\ntitle: LegacyTableOptions\n---\n\n# ~~Type Alias: LegacyTableOptions\\<TData\\>~~\n\n```ts\ntype Lega"
},
{
"path": "docs/framework/solid/guide/table-state.md",
"chars": 8557,
"preview": "---\ntitle: Table State (Solid) Guide\n---\n\n## Table State (Solid) Guide\n\nTanStack Table has a simple underlying internal "
},
{
"path": "docs/framework/solid/solid-table.md",
"chars": 465,
"preview": "---\ntitle: Solid Table\n---\n\nThe `@tanstack/solid-table` adapter is a wrapper around the core table logic. Most of it's j"
},
{
"path": "docs/framework/svelte/guide/table-state.md",
"chars": 8358,
"preview": "---\ntitle: Table State (Svelte) Guide\n---\n\n## Table State (Svelte) Guide\n\nTanStack Table has a simple underlying interna"
},
{
"path": "docs/framework/svelte/svelte-table.md",
"chars": 2732,
"preview": "---\ntitle: Svelte Table\n---\n\n> **IMPORTANT:** This version of `@tanstack/svelte-table` only supports **Svelte 5 or newe"
},
{
"path": "docs/framework/vanilla/guide/table-state.md",
"chars": 81,
"preview": "---\ntitle: Table State (Vanilla JS) Guide\n---\n\n## Table State (Vanilla JS) Guide\n"
},
{
"path": "docs/framework/vanilla/table-core.md",
"chars": 0,
"preview": ""
},
{
"path": "docs/framework/vue/guide/table-state.md",
"chars": 9050,
"preview": "---\ntitle: Table State (Vue) Guide\n---\n\n## Table State (Vue) Guide\n\nTanStack Table has a simple underlying internal stat"
},
{
"path": "docs/framework/vue/vue-table.md",
"chars": 1006,
"preview": "---\ntitle: Vue Table\n---\n\nThe `@tanstack/vue-table` adapter is a wrapper around the core table logic. Most of it's job i"
},
{
"path": "docs/guide/cells.md",
"chars": 3765,
"preview": "---\ntitle: Cells Guide\n---\n\n## API\n\n[Cell API](../api/core/cell)\n\n## Cells Guide\n\nThis quick guide will discuss the diff"
},
{
"path": "docs/guide/column-defs.md",
"chars": 8648,
"preview": "---\ntitle: Columns Definitions Guide\n---\n\n## API\n\n[Column Def](../api/core/column-def)\n\n## Column Definitions Guide\n\n> N"
},
{
"path": "docs/guide/column-faceting.md",
"chars": 3367,
"preview": "---\ntitle: Column Faceting Guide\n---\n\n## Examples\n\nWant to skip to the implementation? Check out these examples:\n\n- [fil"
},
{
"path": "docs/guide/column-filtering.md",
"chars": 15367,
"preview": "---\ntitle: Column Filtering Guide\n---\n\n## Examples\n\nWant to skip to the implementation? Check out these examples:\n\n- [Co"
},
{
"path": "docs/guide/column-ordering.md",
"chars": 5723,
"preview": "---\ntitle: Column Ordering Guide\n---\n\n## Examples\n\nWant to skip to the implementation? Check out these examples:\n\n- [col"
},
{
"path": "docs/guide/column-pinning.md",
"chars": 4567,
"preview": "---\ntitle: Column Pinning Guide\n---\n\n## Examples\n\nWant to skip to the implementation? Check out these examples:\n\n- [colu"
},
{
"path": "docs/guide/column-sizing.md",
"chars": 7574,
"preview": "---\ntitle: Column Sizing Guide\n---\n\n## Examples\n\nWant to skip to the implementation? Check out these examples:\n\n- [colum"
},
{
"path": "docs/guide/column-visibility.md",
"chars": 4510,
"preview": "---\ntitle: Column Visibility Guide\n---\n\n## Examples\n\nWant to skip to the implementation? Check out these examples:\n\n- [c"
},
{
"path": "docs/guide/columns.md",
"chars": 3917,
"preview": "---\ntitle: Columns Guide\n---\n\n## API\n\n[Column API](../api/core/column)\n\n## Columns Guide\n\n> Note: This guide is about th"
},
{
"path": "docs/guide/custom-features.md",
"chars": 16643,
"preview": "---\ntitle: Custom Features Guide\n---\n\n## Examples\n\nWant to skip to the implementation? Check out these examples:\n\n- [cus"
},
{
"path": "docs/guide/data.md",
"chars": 9358,
"preview": "---\ntitle: Data Guide\n---\n\n## Data Guide\n\nTables start with your data. Your column definitions and rows will depend on t"
},
{
"path": "docs/guide/expanding.md",
"chars": 9082,
"preview": "---\ntitle: Expanding Guide\n---\n\n## Examples\n\nWant to skip to the implementation? Check out these examples:\n\n- [expanding"
},
{
"path": "docs/guide/features.md",
"chars": 1006,
"preview": "---\ntitle: Features Guide\n---\n\nTanStack Table comes with many features, each with their own associated options and API.\n"
},
{
"path": "docs/guide/filters.md",
"chars": 304,
"preview": "---\ntitle: Filters Guide\n---\n\n<!-- Deprecated -->\n\nThe filter guides are now split into multiple guides:\n\n- [Column Filt"
},
{
"path": "docs/guide/fuzzy-filtering.md",
"chars": 4954,
"preview": "---\ntitle: Fuzzy Filtering Guide\n---\n\n## Examples\n\nWant to skip to the implementation? Check out these examples:\n\n- [fil"
},
{
"path": "docs/guide/global-faceting.md",
"chars": 3058,
"preview": "---\ntitle: Global Faceting Guide\n---\n\n## Examples\n\nWant to skip to the implementation? Check out these examples:\n\n- [fil"
},
{
"path": "docs/guide/global-filtering.md",
"chars": 8718,
"preview": "---\ntitle: Global Filtering Guide\n---\n\n## Examples\n\nWant to skip to the implementation? Check out these examples:\n\n- [Gl"
},
{
"path": "docs/guide/grouping.md",
"chars": 6968,
"preview": "---\ntitle: Grouping Guide\n---\n\n## Examples\n\nWant to skip to the implementation? Check out these examples:\n\n- [grouping]("
},
{
"path": "docs/guide/header-groups.md",
"chars": 2101,
"preview": "---\ntitle: Header Groups Guide\n---\n\n## API\n\n[Header Group API](../api/core/header-group)\n\n## Header Groups Guide\n\nThis q"
},
{
"path": "docs/guide/headers.md",
"chars": 4803,
"preview": "---\ntitle: Headers Guide\n---\n\n## API\n\n[Header API](../api/core/header)\n\n## Headers Guide\n\nThis quick guide will discuss "
},
{
"path": "docs/guide/pagination.md",
"chars": 10244,
"preview": "---\ntitle: Pagination Guide\n---\n\n## Examples\n\nWant to skip to the implementation? Check out these examples:\n\n- [paginati"
},
{
"path": "docs/guide/pinning.md",
"chars": 170,
"preview": "---\ntitle: Pinning Guide\n---\n\n<!-- Deprecated -->\n\nPinning is split into 2 different feature guides:\n\n- [Column Pinning"
},
{
"path": "docs/guide/row-models.md",
"chars": 7597,
"preview": "---\ntitle: Row Models Guide\n---\n\n## Row Models Guide\n\nIf you take a look at the most basic example of TanStack Table, yo"
},
{
"path": "docs/guide/row-pinning.md",
"chars": 458,
"preview": "---\ntitle: Row Pinning Guide\n---\n\n## Examples\n\nWant to skip to the implementation? Check out these examples:\n\n- [row-pin"
},
{
"path": "docs/guide/row-selection.md",
"chars": 7640,
"preview": "---\ntitle: Row Selection Guide\n---\n\n## Examples\n\nWant to skip to the implementation? Check out these examples:\n\n- [React"
},
{
"path": "docs/guide/rows.md",
"chars": 4120,
"preview": "---\ntitle: Rows Guide\n---\n\n## API\n\n[Row API](../api/core/row)\n\n## Rows Guide\n\nThis quick guide will discuss the differen"
},
{
"path": "docs/guide/sorting.md",
"chars": 17612,
"preview": "---\ntitle: Sorting Guide\n---\n\n## Examples\n\nWant to skip to the implementation? Check out these examples:\n\n- [sorting](.."
},
{
"path": "docs/guide/tables.md",
"chars": 6015,
"preview": "---\ntitle: Table Instance Guide\n---\n\n## API\n\n[Table API](../api/core/table)\n\n## Table Instance Guide\n\nTanStack Table is "
},
{
"path": "docs/guide/virtualization.md",
"chars": 992,
"preview": "---\ntitle: Virtualization Guide\n---\n\n## Examples\n\nWant to skip to the implementation? Check out these examples:\n\n- [virt"
},
{
"path": "docs/installation.md",
"chars": 1868,
"preview": "---\ntitle: Installation\n---\n\nBefore we dig in to the API, let's get you set up!\n\nInstall your table adapter as a depende"
},
{
"path": "docs/introduction.md",
"chars": 3523,
"preview": "---\ntitle: Introduction\n---\n\nTanStack Table is a **Headless UI** library for building powerful tables & datagrids for TS"
},
{
"path": "docs/overview.md",
"chars": 5300,
"preview": "---\ntitle: Overview\n---\n\nTanStack Table's core is **framework agnostic**, which means its API is the same regardless of "
},
{
"path": "docs/reference/@tanstack/namespaces/filterFn_arrIncludes/functions/autoRemove.md",
"chars": 294,
"preview": "---\nid: autoRemove\ntitle: autoRemove\n---\n\n# Function: autoRemove()\n\n```ts\nfunction autoRemove(val): boolean;\n```\n\nDefine"
},
{
"path": "docs/reference/@tanstack/namespaces/filterFn_arrIncludes/index.md",
"chars": 207,
"preview": "---\nid: filterFn_arrIncludes\ntitle: filterFn_arrIncludes\n---\n\n# filterFn\\_arrIncludes\n\nFilter function for checking if a"
},
{
"path": "docs/reference/@tanstack/namespaces/filterFn_arrIncludesAll/functions/autoRemove.md",
"chars": 294,
"preview": "---\nid: autoRemove\ntitle: autoRemove\n---\n\n# Function: autoRemove()\n\n```ts\nfunction autoRemove(val): boolean;\n```\n\nDefine"
},
{
"path": "docs/reference/@tanstack/namespaces/filterFn_arrIncludesAll/index.md",
"chars": 226,
"preview": "---\nid: filterFn_arrIncludesAll\ntitle: filterFn_arrIncludesAll\n---\n\n# filterFn\\_arrIncludesAll\n\nFilter function for chec"
},
{
"path": "docs/reference/@tanstack/namespaces/filterFn_arrIncludesSome/functions/autoRemove.md",
"chars": 294,
"preview": "---\nid: autoRemove\ntitle: autoRemove\n---\n\n# Function: autoRemove()\n\n```ts\nfunction autoRemove(val): boolean;\n```\n\nDefine"
},
{
"path": "docs/reference/@tanstack/namespaces/filterFn_arrIncludesSome/index.md",
"chars": 229,
"preview": "---\nid: filterFn_arrIncludesSome\ntitle: filterFn_arrIncludesSome\n---\n\n# filterFn\\_arrIncludesSome\n\nFilter function for c"
},
{
"path": "docs/reference/@tanstack/namespaces/filterFn_equals/functions/autoRemove.md",
"chars": 292,
"preview": "---\nid: autoRemove\ntitle: autoRemove\n---\n\n# Function: autoRemove()\n\n```ts\nfunction autoRemove(val): boolean;\n```\n\nDefine"
},
{
"path": "docs/reference/@tanstack/namespaces/filterFn_equals/index.md",
"chars": 222,
"preview": "---\nid: filterFn_equals\ntitle: filterFn_equals\n---\n\n# filterFn\\_equals\n\nFilter function for checking if a value is exact"
},
{
"path": "docs/reference/@tanstack/namespaces/filterFn_equalsString/functions/autoRemove.md",
"chars": 292,
"preview": "---\nid: autoRemove\ntitle: autoRemove\n---\n\n# Function: autoRemove()\n\n```ts\nfunction autoRemove(val): boolean;\n```\n\nDefine"
},
{
"path": "docs/reference/@tanstack/namespaces/filterFn_equalsString/index.md",
"chars": 243,
"preview": "---\nid: filterFn_equalsString\ntitle: filterFn_equalsString\n---\n\n# filterFn\\_equalsString\n\nFilter function for checking i"
},
{
"path": "docs/reference/@tanstack/namespaces/filterFn_equalsStringSensitive/functions/autoRemove.md",
"chars": 294,
"preview": "---\nid: autoRemove\ntitle: autoRemove\n---\n\n# Function: autoRemove()\n\n```ts\nfunction autoRemove(val): boolean;\n```\n\nDefine"
},
{
"path": "docs/reference/@tanstack/namespaces/filterFn_equalsStringSensitive/index.md",
"chars": 266,
"preview": "---\nid: filterFn_equalsStringSensitive\ntitle: filterFn_equalsStringSensitive\n---\n\n# filterFn\\_equalsStringSensitive\n\nFil"
},
{
"path": "docs/reference/@tanstack/namespaces/filterFn_greaterThan/functions/resolveFilterValue.md",
"chars": 326,
"preview": "---\nid: resolveFilterValue\ntitle: resolveFilterValue\n---\n\n# Function: resolveFilterValue()\n\n```ts\nfunction resolveFilter"
},
{
"path": "docs/reference/@tanstack/namespaces/filterFn_greaterThan/index.md",
"chars": 231,
"preview": "---\nid: filterFn_greaterThan\ntitle: filterFn_greaterThan\n---\n\n# filterFn\\_greaterThan\n\nFilter function for checking if a"
},
{
"path": "docs/reference/@tanstack/namespaces/filterFn_greaterThanOrEqualTo/functions/resolveFilterValue.md",
"chars": 326,
"preview": "---\nid: resolveFilterValue\ntitle: resolveFilterValue\n---\n\n# Function: resolveFilterValue()\n\n```ts\nfunction resolveFilter"
},
{
"path": "docs/reference/@tanstack/namespaces/filterFn_greaterThanOrEqualTo/index.md",
"chars": 270,
"preview": "---\nid: filterFn_greaterThanOrEqualTo\ntitle: filterFn_greaterThanOrEqualTo\n---\n\n# filterFn\\_greaterThanOrEqualTo\n\nFilter"
},
{
"path": "docs/reference/@tanstack/namespaces/filterFn_inNumberRange/functions/autoRemove.md",
"chars": 294,
"preview": "---\nid: autoRemove\ntitle: autoRemove\n---\n\n# Function: autoRemove()\n\n```ts\nfunction autoRemove(val): boolean;\n```\n\nDefine"
},
{
"path": "docs/reference/@tanstack/namespaces/filterFn_inNumberRange/functions/resolveFilterValue.md",
"chars": 377,
"preview": "---\nid: resolveFilterValue\ntitle: resolveFilterValue\n---\n\n# Function: resolveFilterValue()\n\n```ts\nfunction resolveFilter"
},
{
"path": "docs/reference/@tanstack/namespaces/filterFn_inNumberRange/index.md",
"chars": 270,
"preview": "---\nid: filterFn_inNumberRange\ntitle: filterFn_inNumberRange\n---\n\n# filterFn\\_inNumberRange\n\nFilter function for checkin"
},
{
"path": "docs/reference/@tanstack/namespaces/filterFn_includesString/functions/autoRemove.md",
"chars": 292,
"preview": "---\nid: autoRemove\ntitle: autoRemove\n---\n\n# Function: autoRemove()\n\n```ts\nfunction autoRemove(val): boolean;\n```\n\nDefine"
},
{
"path": "docs/reference/@tanstack/namespaces/filterFn_includesString/index.md",
"chars": 241,
"preview": "---\nid: filterFn_includesString\ntitle: filterFn_includesString\n---\n\n# filterFn\\_includesString\n\nFilter function for chec"
},
{
"path": "docs/reference/@tanstack/namespaces/filterFn_includesStringSensitive/functions/autoRemove.md",
"chars": 292,
"preview": "---\nid: autoRemove\ntitle: autoRemove\n---\n\n# Function: autoRemove()\n\n```ts\nfunction autoRemove(val): boolean;\n```\n\nDefine"
},
{
"path": "docs/reference/@tanstack/namespaces/filterFn_includesStringSensitive/index.md",
"chars": 264,
"preview": "---\nid: filterFn_includesStringSensitive\ntitle: filterFn_includesStringSensitive\n---\n\n# filterFn\\_includesStringSensitiv"
},
{
"path": "docs/reference/@tanstack/namespaces/filterFn_lessThan/functions/resolveFilterValue.md",
"chars": 326,
"preview": "---\nid: resolveFilterValue\ntitle: resolveFilterValue\n---\n\n# Function: resolveFilterValue()\n\n```ts\nfunction resolveFilter"
},
{
"path": "docs/reference/@tanstack/namespaces/filterFn_lessThan/index.md",
"chars": 219,
"preview": "---\nid: filterFn_lessThan\ntitle: filterFn_lessThan\n---\n\n# filterFn\\_lessThan\n\nFilter function for checking if a number i"
},
{
"path": "docs/reference/@tanstack/namespaces/filterFn_lessThanOrEqualTo/functions/resolveFilterValue.md",
"chars": 326,
"preview": "---\nid: resolveFilterValue\ntitle: resolveFilterValue\n---\n\n# Function: resolveFilterValue()\n\n```ts\nfunction resolveFilter"
},
{
"path": "docs/reference/@tanstack/namespaces/filterFn_lessThanOrEqualTo/index.md",
"chars": 258,
"preview": "---\nid: filterFn_lessThanOrEqualTo\ntitle: filterFn_lessThanOrEqualTo\n---\n\n# filterFn\\_lessThanOrEqualTo\n\nFilter function"
},
{
"path": "docs/reference/@tanstack/namespaces/filterFn_weakEquals/functions/autoRemove.md",
"chars": 292,
"preview": "---\nid: autoRemove\ntitle: autoRemove\n---\n\n# Function: autoRemove()\n\n```ts\nfunction autoRemove(val): boolean;\n```\n\nDefine"
},
{
"path": "docs/reference/@tanstack/namespaces/filterFn_weakEquals/index.md",
"chars": 232,
"preview": "---\nid: filterFn_weakEquals\ntitle: filterFn_weakEquals\n---\n\n# filterFn\\_weakEquals\n\nFilter function for checking if a va"
},
{
"path": "docs/reference/functions/assignPrototypeAPIs.md",
"chars": 1266,
"preview": "---\nid: assignPrototypeAPIs\ntitle: assignPrototypeAPIs\n---\n\n# Function: assignPrototypeAPIs()\n\n```ts\nfunction assignProt"
},
{
"path": "docs/reference/functions/assignTableAPIs.md",
"chars": 994,
"preview": "---\nid: assignTableAPIs\ntitle: assignTableAPIs\n---\n\n# Function: assignTableAPIs()\n\n```ts\nfunction assignTableAPIs<TFeatu"
},
{
"path": "docs/reference/functions/buildHeaderGroups.md",
"chars": 1075,
"preview": "---\nid: buildHeaderGroups\ntitle: buildHeaderGroups\n---\n\n# Function: buildHeaderGroups()\n\n```ts\nfunction buildHeaderGroup"
},
{
"path": "docs/reference/functions/callMemoOrStaticFn.md",
"chars": 821,
"preview": "---\nid: callMemoOrStaticFn\ntitle: callMemoOrStaticFn\n---\n\n# Function: callMemoOrStaticFn()\n\n```ts\nfunction callMemoOrSta"
},
{
"path": "docs/reference/functions/cell_getContext.md",
"chars": 1223,
"preview": "---\nid: cell_getContext\ntitle: cell_getContext\n---\n\n# Function: cell\\_getContext()\n\n```ts\nfunction cell_getContext<TFeat"
},
{
"path": "docs/reference/functions/cell_getIsAggregated.md",
"chars": 735,
"preview": "---\nid: cell_getIsAggregated\ntitle: cell_getIsAggregated\n---\n\n# Function: cell\\_getIsAggregated()\n\n```ts\nfunction cell_g"
},
{
"path": "docs/reference/functions/cell_getIsGrouped.md",
"chars": 723,
"preview": "---\nid: cell_getIsGrouped\ntitle: cell_getIsGrouped\n---\n\n# Function: cell\\_getIsGrouped()\n\n```ts\nfunction cell_getIsGroup"
},
{
"path": "docs/reference/functions/cell_getIsPlaceholder.md",
"chars": 739,
"preview": "---\nid: cell_getIsPlaceholder\ntitle: cell_getIsPlaceholder\n---\n\n# Function: cell\\_getIsPlaceholder()\n\n```ts\nfunction cel"
},
{
"path": "docs/reference/functions/cell_getValue.md",
"chars": 663,
"preview": "---\nid: cell_getValue\ntitle: cell_getValue\n---\n\n# Function: cell\\_getValue()\n\n```ts\nfunction cell_getValue<TFeatures, TD"
},
{
"path": "docs/reference/functions/cell_renderValue.md",
"chars": 671,
"preview": "---\nid: cell_renderValue\ntitle: cell_renderValue\n---\n\n# Function: cell\\_renderValue()\n\n```ts\nfunction cell_renderValue<T"
},
{
"path": "docs/reference/functions/column_clearSorting.md",
"chars": 735,
"preview": "---\nid: column_clearSorting\ntitle: column_clearSorting\n---\n\n# Function: column\\_clearSorting()\n\n```ts\nfunction column_cl"
},
{
"path": "docs/reference/functions/column_getAfter.md",
"chars": 835,
"preview": "---\nid: column_getAfter\ntitle: column_getAfter\n---\n\n# Function: column\\_getAfter()\n\n```ts\nfunction column_getAfter<TFeat"
},
{
"path": "docs/reference/functions/column_getAggregationFn.md",
"chars": 902,
"preview": "---\nid: column_getAggregationFn\ntitle: column_getAggregationFn\n---\n\n# Function: column\\_getAggregationFn()\n\n```ts\nfuncti"
},
{
"path": "docs/reference/functions/column_getAutoAggregationFn.md",
"chars": 918,
"preview": "---\nid: column_getAutoAggregationFn\ntitle: column_getAutoAggregationFn\n---\n\n# Function: column\\_getAutoAggregationFn()\n\n"
},
{
"path": "docs/reference/functions/column_getAutoFilterFn.md",
"chars": 885,
"preview": "---\nid: column_getAutoFilterFn\ntitle: column_getAutoFilterFn\n---\n\n# Function: column\\_getAutoFilterFn()\n\n```ts\nfunction "
},
{
"path": "docs/reference/functions/column_getAutoSortDir.md",
"chars": 764,
"preview": "---\nid: column_getAutoSortDir\ntitle: column_getAutoSortDir\n---\n\n# Function: column\\_getAutoSortDir()\n\n```ts\nfunction col"
},
{
"path": "docs/reference/functions/column_getAutoSortFn.md",
"chars": 810,
"preview": "---\nid: column_getAutoSortFn\ntitle: column_getAutoSortFn\n---\n\n# Function: column\\_getAutoSortFn()\n\n```ts\nfunction column"
}
]
// ... and 1987 more files (download for full content)
About this extraction
This page contains the full source code of the TanStack/table GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 2187 files (3.5 MB), approximately 1.0M tokens, and a symbol index with 1589 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.
Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.