@tanstack/table-core 8.5.1 → 8.5.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"columnHelper.js","sources":["../../src/columnHelper.ts"],"sourcesContent":["import { AccessorFn, ColumnDef, RowData } from './types'\nimport { DeepKeys, DeepValue, RequiredKeys } from './utils'\n\n// type Person = {\n// firstName: string\n// lastName: string\n// age: number\n// visits: number\n// status: string\n// progress: number\n// nested: {\n// foo: [\n// {\n// bar: 'bar'\n// }\n// ]\n// bar: { subBar: boolean }[]\n// baz: {\n// foo: 'foo'\n// bar: {\n// baz: 'baz'\n// }\n// }\n// }\n// }\n\n// const test: DeepKeys<Person> = 'nested.foo.0.bar'\n// const test2: DeepKeys<Person> = 'nested.bar'\n\n// const helper = createColumnHelper<Person>()\n\n// helper.accessor('nested.foo', {\n// cell: info => info.getValue(),\n// })\n\n// helper.accessor('nested.foo.0.bar', {\n// cell: info => info.getValue(),\n// })\n\n// helper.accessor('nested.bar', {\n// cell: info => info.getValue(),\n// })\n\nexport type ColumnHelper<TData extends RowData> = {\n accessor: <\n TAccessor extends AccessorFn<TData> | DeepKeys<TData>,\n TValue extends TAccessor extends AccessorFn<TData, infer TReturn>\n ? TReturn\n : TAccessor extends DeepKeys<TData>\n ? DeepValue<TData, TAccessor>\n : never\n >(\n accessor: TAccessor,\n column: Omit<ColumnDef<TData, TValue>, 'accessorKey'>\n ) => ColumnDef<TData, TValue>\n display: (\n column: RequiredKeys<\n Omit<ColumnDef<TData, unknown>, 'accessorKey' | 'accessorFn'>,\n 'id'\n >\n ) => ColumnDef<TData, unknown>\n group: (\n column: RequiredKeys<\n Omit<ColumnDef<TData, unknown>, 'accessorKey' | 'accessorFn'>,\n 'id' | 'columns'\n >\n ) => ColumnDef<TData, unknown>\n}\n\nexport function createColumnHelper<\n TData extends RowData\n>(): ColumnHelper<TData> {\n return {\n accessor: (accessor, column) => {\n return typeof accessor === 'function'\n ? ({\n ...column,\n accessorFn: accessor,\n } as any)\n : {\n ...column,\n accessorKey: accessor,\n }\n },\n display: column => column as ColumnDef<TData, unknown>,\n group: column => column as ColumnDef<TData, unknown>,\n }\n}\n"],"names":["createColumnHelper","accessor","column","accessorFn","accessorKey","display","group"],"mappings":";;;;;;;;;;;;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AAEA;AAEA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AA4BO,SAASA,kBAAT,GAEkB;EACvB,OAAO;AACLC,IAAAA,QAAQ,EAAE,CAACA,QAAD,EAAWC,MAAX,KAAsB;AAC9B,MAAA,OAAO,OAAOD,QAAP,KAAoB,UAApB,GACF,EACC,GAAGC,MADJ;AAECC,QAAAA,UAAU,EAAEF,QAAAA;OAHX,GAKH,EACE,GAAGC,MADL;AAEEE,QAAAA,WAAW,EAAEH,QAAAA;OAPnB,CAAA;KAFG;IAYLI,OAAO,EAAEH,MAAM,IAAIA,MAZd;IAaLI,KAAK,EAAEJ,MAAM,IAAIA,MAAAA;GAbnB,CAAA;AAeD;;;;"}
1
+ {"version":3,"file":"columnHelper.js","sources":["../../src/columnHelper.ts"],"sourcesContent":["import {\n CoreColumnDefDisplay,\n CoreColumnDefDisplayWithStringHeader,\n} from './core/column'\nimport { GroupingColumnDef } from './features/Grouping'\nimport { AccessorFn, ColumnDef, RowData } from './types'\nimport { DeepKeys, DeepValue, RequiredKeys } from './utils'\n\n// type Person = {\n// firstName: string\n// lastName: string\n// age: number\n// visits: number\n// status: string\n// progress: number\n// nested: {\n// foo: [\n// {\n// bar: 'bar'\n// }\n// ]\n// bar: { subBar: boolean }[]\n// baz: {\n// foo: 'foo'\n// bar: {\n// baz: 'baz'\n// }\n// }\n// }\n// }\n\n// const test: DeepKeys<Person> = 'nested.foo.0.bar'\n// const test2: DeepKeys<Person> = 'nested.bar'\n\n// const helper = createColumnHelper<Person>()\n\n// helper.accessor('nested.foo', {\n// cell: info => info.getValue(),\n// })\n\n// helper.accessor('nested.foo.0.bar', {\n// cell: info => info.getValue(),\n// })\n\n// helper.accessor('nested.bar', {\n// cell: info => info.getValue(),\n// })\n\nexport type ColumnHelper<TData extends RowData> = {\n accessor: <\n TAccessor extends AccessorFn<TData> | DeepKeys<TData>,\n TValue extends TAccessor extends AccessorFn<TData, infer TReturn>\n ? TReturn\n : TAccessor extends DeepKeys<TData>\n ? DeepValue<TData, TAccessor>\n : never\n >(\n accessor: TAccessor,\n column: Omit<ColumnDef<TData, TValue>, 'accessorKey'>\n ) => ColumnDef<TData, TValue>\n display: (\n column: RequiredKeys<\n Omit<ColumnDef<TData, unknown>, 'accessorKey' | 'accessorFn'>,\n 'id'\n >\n ) => ColumnDef<TData, unknown>\n group: (\n column: Omit<\n ColumnDef<TData, unknown>,\n 'id' | 'header' | 'accessorKey' | 'accessorFn' | 'columns'\n > &\n (\n | CoreColumnDefDisplayWithStringHeader<TData, unknown>\n | CoreColumnDefDisplay<TData, unknown>\n ) & { columns: ColumnDef<TData, any>[] }\n ) => ColumnDef<TData, unknown>\n}\n\nexport function createColumnHelper<\n TData extends RowData\n>(): ColumnHelper<TData> {\n return {\n accessor: (accessor, column) => {\n return typeof accessor === 'function'\n ? ({\n ...column,\n accessorFn: accessor,\n } as any)\n : {\n ...column,\n accessorKey: accessor,\n }\n },\n display: column => column as ColumnDef<TData, unknown>,\n group: column => column as ColumnDef<TData, unknown>,\n }\n}\n"],"names":["createColumnHelper","accessor","column","accessorFn","accessorKey","display","group"],"mappings":";;;;;;;;;;;;;;AAQA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AAEA;AAEA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AAgCO,SAASA,kBAAT,GAEkB;EACvB,OAAO;AACLC,IAAAA,QAAQ,EAAE,CAACA,QAAD,EAAWC,MAAX,KAAsB;AAC9B,MAAA,OAAO,OAAOD,QAAP,KAAoB,UAApB,GACF,EACC,GAAGC,MADJ;AAECC,QAAAA,UAAU,EAAEF,QAAAA;OAHX,GAKH,EACE,GAAGC,MADL;AAEEE,QAAAA,WAAW,EAAEH,QAAAA;OAPnB,CAAA;KAFG;IAYLI,OAAO,EAAEH,MAAM,IAAIA,MAZd;IAaLI,KAAK,EAAEJ,MAAM,IAAIA,MAAAA;GAbnB,CAAA;AAeD;;;;"}
@@ -138,8 +138,20 @@ function createTable(options) {
138
138
 
139
139
  defaultColumn = (_defaultColumn = defaultColumn) != null ? _defaultColumn : {};
140
140
  return {
141
- header: props => props.header.column.id,
142
- footer: props => props.header.column.id,
141
+ header: props => {
142
+ const resolvedColumnDef = props.header.column.columnDef;
143
+
144
+ if (resolvedColumnDef.accessorKey) {
145
+ return resolvedColumnDef.accessorKey;
146
+ }
147
+
148
+ if (resolvedColumnDef.accessorFn) {
149
+ return resolvedColumnDef.id;
150
+ }
151
+
152
+ return null;
153
+ },
154
+ // footer: props => props.header.column.id,
143
155
  cell: props => {
144
156
  var _props$renderValue$to, _props$renderValue;
145
157
 
@@ -1 +1 @@
1
- {"version":3,"file":"table.js","sources":["../../../src/core/table.ts"],"sourcesContent":["import { flattenBy, functionalUpdate, memo, RequiredKeys } from '../utils'\n\nimport {\n Updater,\n TableOptionsResolved,\n TableState,\n Table,\n ColumnDefTemplate,\n InitialTableState,\n Row,\n Column,\n RowModel,\n ColumnDef,\n TableOptions,\n RowData,\n TableMeta,\n} from '../types'\n\n//\nimport { createColumn } from './column'\nimport { Headers } from './headers'\n//\n\nimport { ColumnSizing } from '../features/ColumnSizing'\nimport { Expanding } from '../features/Expanding'\nimport { Filters } from '../features/Filters'\nimport { Grouping } from '../features/Grouping'\nimport { Ordering } from '../features/Ordering'\nimport { Pagination } from '../features/Pagination'\nimport { Pinning } from '../features/Pinning'\nimport { RowSelection } from '../features/RowSelection'\nimport { Sorting } from '../features/Sorting'\nimport { Visibility } from '../features/Visibility'\n\nexport type TableFeature = {\n getDefaultOptions?: (table: any) => any\n getInitialState?: (initialState?: InitialTableState) => any\n createTable?: (table: any) => any\n getDefaultColumnDef?: () => any\n createColumn?: (column: any, table: any) => any\n createHeader?: (column: any, table: any) => any\n createCell?: (cell: any, column: any, row: any, table: any) => any\n createRow?: (row: any, table: any) => any\n}\n\nconst features = [\n Headers,\n Visibility,\n Ordering,\n Pinning,\n Filters,\n Sorting,\n Grouping,\n Expanding,\n Pagination,\n RowSelection,\n ColumnSizing,\n] as const\n\n//\n\nexport type CoreTableState = {}\n\nexport type CoreOptions<TData extends RowData> = {\n data: TData[]\n state: Partial<TableState>\n onStateChange: (updater: Updater<TableState>) => void\n debugAll?: boolean\n debugTable?: boolean\n debugHeaders?: boolean\n debugColumns?: boolean\n debugRows?: boolean\n initialState?: InitialTableState\n autoResetAll?: boolean\n mergeOptions?: (\n defaultOptions: TableOptions<TData>,\n options: Partial<TableOptions<TData>>\n ) => TableOptions<TData>\n meta?: TableMeta<TData>\n getCoreRowModel: (table: Table<any>) => () => RowModel<any>\n getSubRows?: (originalRow: TData, index: number) => undefined | TData[]\n getRowId?: (originalRow: TData, index: number, parent?: Row<TData>) => string\n columns: ColumnDef<TData, any>[]\n defaultColumn?: Partial<ColumnDef<TData, unknown>>\n renderFallbackValue: any\n}\n\nexport type CoreInstance<TData extends RowData> = {\n initialState: TableState\n reset: () => void\n options: RequiredKeys<TableOptionsResolved<TData>, 'state'>\n setOptions: (newOptions: Updater<TableOptionsResolved<TData>>) => void\n getState: () => TableState\n setState: (updater: Updater<TableState>) => void\n _features: readonly TableFeature[]\n _queue: (cb: () => void) => void\n _getRowId: (_: TData, index: number, parent?: Row<TData>) => string\n getCoreRowModel: () => RowModel<TData>\n _getCoreRowModel?: () => RowModel<TData>\n getRowModel: () => RowModel<TData>\n getRow: (id: string) => Row<TData>\n _getDefaultColumnDef: () => Partial<ColumnDef<TData, unknown>>\n _getColumnDefs: () => ColumnDef<TData, unknown>[]\n _getAllFlatColumnsById: () => Record<string, Column<TData, unknown>>\n getAllColumns: () => Column<TData, unknown>[]\n getAllFlatColumns: () => Column<TData, unknown>[]\n getAllLeafColumns: () => Column<TData, unknown>[]\n getColumn: (columnId: string) => Column<TData, unknown>\n}\n\nexport function createTable<TData extends RowData>(\n options: TableOptionsResolved<TData>\n): Table<TData> {\n if (options.debugAll || options.debugTable) {\n console.info('Creating Table Instance...')\n }\n\n let table = { _features: features } as unknown as Table<TData>\n\n const defaultOptions = table._features.reduce((obj, feature) => {\n return Object.assign(obj, feature.getDefaultOptions?.(table))\n }, {}) as TableOptionsResolved<TData>\n\n const mergeOptions = (options: TableOptionsResolved<TData>) => {\n if (table.options.mergeOptions) {\n return table.options.mergeOptions(defaultOptions, options)\n }\n\n return {\n ...defaultOptions,\n ...options,\n }\n }\n\n const coreInitialState: CoreTableState = {}\n\n let initialState = {\n ...coreInitialState,\n ...(options.initialState ?? {}),\n } as TableState\n\n table._features.forEach(feature => {\n initialState = feature.getInitialState?.(initialState) ?? initialState\n })\n\n const queued: (() => void)[] = []\n let queuedTimeout = false\n\n const coreInstance: CoreInstance<TData> = {\n _features: features,\n options: {\n ...defaultOptions,\n ...options,\n },\n initialState,\n _queue: cb => {\n queued.push(cb)\n\n if (!queuedTimeout) {\n queuedTimeout = true\n\n // Schedule a microtask to run the queued callbacks after\n // the current call stack (render, etc) has finished.\n Promise.resolve()\n .then(() => {\n while (queued.length) {\n queued.shift()!()\n }\n queuedTimeout = false\n })\n .catch(error =>\n setTimeout(() => {\n throw error\n })\n )\n }\n },\n reset: () => {\n table.setState(table.initialState)\n },\n setOptions: updater => {\n const newOptions = functionalUpdate(updater, table.options)\n table.options = mergeOptions(newOptions) as RequiredKeys<\n TableOptionsResolved<TData>,\n 'state'\n >\n },\n\n getState: () => {\n return table.options.state as TableState\n },\n\n setState: (updater: Updater<TableState>) => {\n table.options.onStateChange?.(updater)\n },\n\n _getRowId: (row: TData, index: number, parent?: Row<TData>) =>\n table.options.getRowId?.(row, index, parent) ??\n `${parent ? [parent.id, index].join('.') : index}`,\n\n getCoreRowModel: () => {\n if (!table._getCoreRowModel) {\n table._getCoreRowModel = table.options.getCoreRowModel(table)\n }\n\n return table._getCoreRowModel!()\n },\n\n // The final calls start at the bottom of the model,\n // expanded rows, which then work their way up\n\n getRowModel: () => {\n return table.getPaginationRowModel()\n },\n getRow: (id: string) => {\n const row = table.getRowModel().rowsById[id]\n\n if (!row) {\n if (process.env.NODE_ENV !== 'production') {\n throw new Error(`getRow expected an ID, but got ${id}`)\n }\n throw new Error()\n }\n\n return row\n },\n _getDefaultColumnDef: memo(\n () => [table.options.defaultColumn],\n defaultColumn => {\n defaultColumn = (defaultColumn ?? {}) as Partial<\n ColumnDef<TData, unknown>\n >\n\n return {\n header: props => props.header.column.id,\n footer: props => props.header.column.id,\n cell: props => props.renderValue<any>()?.toString?.() ?? null,\n ...table._features.reduce((obj, feature) => {\n return Object.assign(obj, feature.getDefaultColumnDef?.())\n }, {}),\n ...defaultColumn,\n } as Partial<ColumnDef<TData, unknown>>\n },\n {\n debug: () => table.options.debugAll ?? table.options.debugColumns,\n key: process.env.NODE_ENV === 'development' && 'getDefaultColumnDef',\n }\n ),\n\n _getColumnDefs: () => table.options.columns,\n\n getAllColumns: memo(\n () => [table._getColumnDefs()],\n columnDefs => {\n const recurseColumns = (\n columnDefs: ColumnDef<TData, unknown>[],\n parent?: Column<TData, unknown>,\n depth = 0\n ): Column<TData, unknown>[] => {\n return columnDefs.map(columnDef => {\n const column = createColumn(table, columnDef, depth, parent)\n\n column.columns = columnDef.columns\n ? recurseColumns(columnDef.columns, column, depth + 1)\n : []\n\n return column\n })\n }\n\n return recurseColumns(columnDefs)\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getAllColumns',\n debug: () => table.options.debugAll ?? table.options.debugColumns,\n }\n ),\n\n getAllFlatColumns: memo(\n () => [table.getAllColumns()],\n allColumns => {\n return allColumns.flatMap(column => {\n return column.getFlatColumns()\n })\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getAllFlatColumns',\n debug: () => table.options.debugAll ?? table.options.debugColumns,\n }\n ),\n\n _getAllFlatColumnsById: memo(\n () => [table.getAllFlatColumns()],\n flatColumns => {\n return flatColumns.reduce((acc, column) => {\n acc[column.id] = column\n return acc\n }, {} as Record<string, Column<TData, unknown>>)\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getAllFlatColumnsById',\n debug: () => table.options.debugAll ?? table.options.debugColumns,\n }\n ),\n\n getAllLeafColumns: memo(\n () => [table.getAllColumns(), table._getOrderColumnsFn()],\n (allColumns, orderColumns) => {\n let leafColumns = allColumns.flatMap(column => column.getLeafColumns())\n return orderColumns(leafColumns)\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getAllLeafColumns',\n debug: () => table.options.debugAll ?? table.options.debugColumns,\n }\n ),\n\n getColumn: columnId => {\n const column = table._getAllFlatColumnsById()[columnId]\n\n if (!column) {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(`[Table] Column with id ${columnId} does not exist.`)\n }\n throw new Error()\n }\n\n return column\n },\n }\n\n Object.assign(table, coreInstance)\n\n table._features.forEach(feature => {\n return Object.assign(table, feature.createTable?.(table))\n })\n\n return table\n}\n"],"names":["features","Headers","Visibility","Ordering","Pinning","Filters","Sorting","Grouping","Expanding","Pagination","RowSelection","ColumnSizing","createTable","options","debugAll","debugTable","console","info","table","_features","defaultOptions","reduce","obj","feature","Object","assign","getDefaultOptions","mergeOptions","coreInitialState","initialState","forEach","getInitialState","queued","queuedTimeout","coreInstance","_queue","cb","push","Promise","resolve","then","length","shift","catch","error","setTimeout","reset","setState","setOptions","updater","newOptions","functionalUpdate","getState","state","onStateChange","_getRowId","row","index","parent","getRowId","id","join","getCoreRowModel","_getCoreRowModel","getRowModel","getPaginationRowModel","getRow","rowsById","process","env","NODE_ENV","Error","_getDefaultColumnDef","memo","defaultColumn","header","props","column","footer","cell","renderValue","toString","getDefaultColumnDef","debug","debugColumns","key","_getColumnDefs","columns","getAllColumns","columnDefs","recurseColumns","depth","map","columnDef","createColumn","getAllFlatColumns","allColumns","flatMap","getFlatColumns","_getAllFlatColumnsById","flatColumns","acc","getAllLeafColumns","_getOrderColumnsFn","orderColumns","leafColumns","getLeafColumns","getColumn","columnId","warn"],"mappings":"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"}
1
+ {"version":3,"file":"table.js","sources":["../../../src/core/table.ts"],"sourcesContent":["import { flattenBy, functionalUpdate, memo, RequiredKeys } from '../utils'\n\nimport {\n Updater,\n TableOptionsResolved,\n TableState,\n Table,\n ColumnDefTemplate,\n InitialTableState,\n Row,\n Column,\n RowModel,\n ColumnDef,\n TableOptions,\n RowData,\n TableMeta,\n} from '../types'\n\n//\nimport { CoreColumnDefResolved, createColumn } from './column'\nimport { Headers } from './headers'\n//\n\nimport { ColumnSizing } from '../features/ColumnSizing'\nimport { Expanding } from '../features/Expanding'\nimport { Filters } from '../features/Filters'\nimport { Grouping } from '../features/Grouping'\nimport { Ordering } from '../features/Ordering'\nimport { Pagination } from '../features/Pagination'\nimport { Pinning } from '../features/Pinning'\nimport { RowSelection } from '../features/RowSelection'\nimport { Sorting } from '../features/Sorting'\nimport { Visibility } from '../features/Visibility'\n\nexport type TableFeature = {\n getDefaultOptions?: (table: any) => any\n getInitialState?: (initialState?: InitialTableState) => any\n createTable?: (table: any) => any\n getDefaultColumnDef?: () => any\n createColumn?: (column: any, table: any) => any\n createHeader?: (column: any, table: any) => any\n createCell?: (cell: any, column: any, row: any, table: any) => any\n createRow?: (row: any, table: any) => any\n}\n\nconst features = [\n Headers,\n Visibility,\n Ordering,\n Pinning,\n Filters,\n Sorting,\n Grouping,\n Expanding,\n Pagination,\n RowSelection,\n ColumnSizing,\n] as const\n\n//\n\nexport type CoreTableState = {}\n\nexport type CoreOptions<TData extends RowData> = {\n data: TData[]\n state: Partial<TableState>\n onStateChange: (updater: Updater<TableState>) => void\n debugAll?: boolean\n debugTable?: boolean\n debugHeaders?: boolean\n debugColumns?: boolean\n debugRows?: boolean\n initialState?: InitialTableState\n autoResetAll?: boolean\n mergeOptions?: (\n defaultOptions: TableOptions<TData>,\n options: Partial<TableOptions<TData>>\n ) => TableOptions<TData>\n meta?: TableMeta<TData>\n getCoreRowModel: (table: Table<any>) => () => RowModel<any>\n getSubRows?: (originalRow: TData, index: number) => undefined | TData[]\n getRowId?: (originalRow: TData, index: number, parent?: Row<TData>) => string\n columns: ColumnDef<TData, any>[]\n defaultColumn?: Partial<ColumnDef<TData, unknown>>\n renderFallbackValue: any\n}\n\nexport type CoreInstance<TData extends RowData> = {\n initialState: TableState\n reset: () => void\n options: RequiredKeys<TableOptionsResolved<TData>, 'state'>\n setOptions: (newOptions: Updater<TableOptionsResolved<TData>>) => void\n getState: () => TableState\n setState: (updater: Updater<TableState>) => void\n _features: readonly TableFeature[]\n _queue: (cb: () => void) => void\n _getRowId: (_: TData, index: number, parent?: Row<TData>) => string\n getCoreRowModel: () => RowModel<TData>\n _getCoreRowModel?: () => RowModel<TData>\n getRowModel: () => RowModel<TData>\n getRow: (id: string) => Row<TData>\n _getDefaultColumnDef: () => Partial<ColumnDef<TData, unknown>>\n _getColumnDefs: () => ColumnDef<TData, unknown>[]\n _getAllFlatColumnsById: () => Record<string, Column<TData, unknown>>\n getAllColumns: () => Column<TData, unknown>[]\n getAllFlatColumns: () => Column<TData, unknown>[]\n getAllLeafColumns: () => Column<TData, unknown>[]\n getColumn: (columnId: string) => Column<TData, unknown>\n}\n\nexport function createTable<TData extends RowData>(\n options: TableOptionsResolved<TData>\n): Table<TData> {\n if (options.debugAll || options.debugTable) {\n console.info('Creating Table Instance...')\n }\n\n let table = { _features: features } as unknown as Table<TData>\n\n const defaultOptions = table._features.reduce((obj, feature) => {\n return Object.assign(obj, feature.getDefaultOptions?.(table))\n }, {}) as TableOptionsResolved<TData>\n\n const mergeOptions = (options: TableOptionsResolved<TData>) => {\n if (table.options.mergeOptions) {\n return table.options.mergeOptions(defaultOptions, options)\n }\n\n return {\n ...defaultOptions,\n ...options,\n }\n }\n\n const coreInitialState: CoreTableState = {}\n\n let initialState = {\n ...coreInitialState,\n ...(options.initialState ?? {}),\n } as TableState\n\n table._features.forEach(feature => {\n initialState = feature.getInitialState?.(initialState) ?? initialState\n })\n\n const queued: (() => void)[] = []\n let queuedTimeout = false\n\n const coreInstance: CoreInstance<TData> = {\n _features: features,\n options: {\n ...defaultOptions,\n ...options,\n },\n initialState,\n _queue: cb => {\n queued.push(cb)\n\n if (!queuedTimeout) {\n queuedTimeout = true\n\n // Schedule a microtask to run the queued callbacks after\n // the current call stack (render, etc) has finished.\n Promise.resolve()\n .then(() => {\n while (queued.length) {\n queued.shift()!()\n }\n queuedTimeout = false\n })\n .catch(error =>\n setTimeout(() => {\n throw error\n })\n )\n }\n },\n reset: () => {\n table.setState(table.initialState)\n },\n setOptions: updater => {\n const newOptions = functionalUpdate(updater, table.options)\n table.options = mergeOptions(newOptions) as RequiredKeys<\n TableOptionsResolved<TData>,\n 'state'\n >\n },\n\n getState: () => {\n return table.options.state as TableState\n },\n\n setState: (updater: Updater<TableState>) => {\n table.options.onStateChange?.(updater)\n },\n\n _getRowId: (row: TData, index: number, parent?: Row<TData>) =>\n table.options.getRowId?.(row, index, parent) ??\n `${parent ? [parent.id, index].join('.') : index}`,\n\n getCoreRowModel: () => {\n if (!table._getCoreRowModel) {\n table._getCoreRowModel = table.options.getCoreRowModel(table)\n }\n\n return table._getCoreRowModel!()\n },\n\n // The final calls start at the bottom of the model,\n // expanded rows, which then work their way up\n\n getRowModel: () => {\n return table.getPaginationRowModel()\n },\n getRow: (id: string) => {\n const row = table.getRowModel().rowsById[id]\n\n if (!row) {\n if (process.env.NODE_ENV !== 'production') {\n throw new Error(`getRow expected an ID, but got ${id}`)\n }\n throw new Error()\n }\n\n return row\n },\n _getDefaultColumnDef: memo(\n () => [table.options.defaultColumn],\n defaultColumn => {\n defaultColumn = (defaultColumn ?? {}) as Partial<\n ColumnDef<TData, unknown>\n >\n\n return {\n header: props => {\n const resolvedColumnDef = props.header.column\n .columnDef as CoreColumnDefResolved<TData>\n\n if (resolvedColumnDef.accessorKey) {\n return resolvedColumnDef.accessorKey\n }\n\n if (resolvedColumnDef.accessorFn) {\n return resolvedColumnDef.id\n }\n\n return null\n },\n // footer: props => props.header.column.id,\n cell: props => props.renderValue<any>()?.toString?.() ?? null,\n ...table._features.reduce((obj, feature) => {\n return Object.assign(obj, feature.getDefaultColumnDef?.())\n }, {}),\n ...defaultColumn,\n } as Partial<ColumnDef<TData, unknown>>\n },\n {\n debug: () => table.options.debugAll ?? table.options.debugColumns,\n key: process.env.NODE_ENV === 'development' && 'getDefaultColumnDef',\n }\n ),\n\n _getColumnDefs: () => table.options.columns,\n\n getAllColumns: memo(\n () => [table._getColumnDefs()],\n columnDefs => {\n const recurseColumns = (\n columnDefs: ColumnDef<TData, unknown>[],\n parent?: Column<TData, unknown>,\n depth = 0\n ): Column<TData, unknown>[] => {\n return columnDefs.map(columnDef => {\n const column = createColumn(table, columnDef, depth, parent)\n\n column.columns = columnDef.columns\n ? recurseColumns(columnDef.columns, column, depth + 1)\n : []\n\n return column\n })\n }\n\n return recurseColumns(columnDefs)\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getAllColumns',\n debug: () => table.options.debugAll ?? table.options.debugColumns,\n }\n ),\n\n getAllFlatColumns: memo(\n () => [table.getAllColumns()],\n allColumns => {\n return allColumns.flatMap(column => {\n return column.getFlatColumns()\n })\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getAllFlatColumns',\n debug: () => table.options.debugAll ?? table.options.debugColumns,\n }\n ),\n\n _getAllFlatColumnsById: memo(\n () => [table.getAllFlatColumns()],\n flatColumns => {\n return flatColumns.reduce((acc, column) => {\n acc[column.id] = column\n return acc\n }, {} as Record<string, Column<TData, unknown>>)\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getAllFlatColumnsById',\n debug: () => table.options.debugAll ?? table.options.debugColumns,\n }\n ),\n\n getAllLeafColumns: memo(\n () => [table.getAllColumns(), table._getOrderColumnsFn()],\n (allColumns, orderColumns) => {\n let leafColumns = allColumns.flatMap(column => column.getLeafColumns())\n return orderColumns(leafColumns)\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getAllLeafColumns',\n debug: () => table.options.debugAll ?? table.options.debugColumns,\n }\n ),\n\n getColumn: columnId => {\n const column = table._getAllFlatColumnsById()[columnId]\n\n if (!column) {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(`[Table] Column with id ${columnId} does not exist.`)\n }\n throw new Error()\n }\n\n return column\n },\n }\n\n Object.assign(table, coreInstance)\n\n table._features.forEach(feature => {\n return Object.assign(table, feature.createTable?.(table))\n })\n\n return table\n}\n"],"names":["features","Headers","Visibility","Ordering","Pinning","Filters","Sorting","Grouping","Expanding","Pagination","RowSelection","ColumnSizing","createTable","options","debugAll","debugTable","console","info","table","_features","defaultOptions","reduce","obj","feature","Object","assign","getDefaultOptions","mergeOptions","coreInitialState","initialState","forEach","getInitialState","queued","queuedTimeout","coreInstance","_queue","cb","push","Promise","resolve","then","length","shift","catch","error","setTimeout","reset","setState","setOptions","updater","newOptions","functionalUpdate","getState","state","onStateChange","_getRowId","row","index","parent","getRowId","id","join","getCoreRowModel","_getCoreRowModel","getRowModel","getPaginationRowModel","getRow","rowsById","process","env","NODE_ENV","Error","_getDefaultColumnDef","memo","defaultColumn","header","props","resolvedColumnDef","column","columnDef","accessorKey","accessorFn","cell","renderValue","toString","getDefaultColumnDef","debug","debugColumns","key","_getColumnDefs","columns","getAllColumns","columnDefs","recurseColumns","depth","map","createColumn","getAllFlatColumns","allColumns","flatMap","getFlatColumns","_getAllFlatColumnsById","flatColumns","acc","getAllLeafColumns","_getOrderColumnsFn","orderColumns","leafColumns","getLeafColumns","getColumn","columnId","warn"],"mappings":"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"}
@@ -2923,8 +2923,20 @@ function createTable(options) {
2923
2923
 
2924
2924
  defaultColumn = (_defaultColumn = defaultColumn) != null ? _defaultColumn : {};
2925
2925
  return {
2926
- header: props => props.header.column.id,
2927
- footer: props => props.header.column.id,
2926
+ header: props => {
2927
+ const resolvedColumnDef = props.header.column.columnDef;
2928
+
2929
+ if (resolvedColumnDef.accessorKey) {
2930
+ return resolvedColumnDef.accessorKey;
2931
+ }
2932
+
2933
+ if (resolvedColumnDef.accessorFn) {
2934
+ return resolvedColumnDef.id;
2935
+ }
2936
+
2937
+ return null;
2938
+ },
2939
+ // footer: props => props.header.column.id,
2928
2940
  cell: props => {
2929
2941
  var _props$renderValue$to, _props$renderValue;
2930
2942