@tanstack/table-core 8.11.3 → 8.11.5
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.
- package/build/lib/core/column.js.map +1 -1
- package/build/lib/core/headers.js.map +1 -1
- package/build/lib/core/table.js.map +1 -1
- package/build/lib/features/ColumnSizing.d.ts +1 -1
- package/build/lib/features/ColumnSizing.js +10 -9
- package/build/lib/features/ColumnSizing.js.map +1 -1
- package/build/lib/features/Grouping.js.map +1 -1
- package/build/lib/features/Pagination.js.map +1 -1
- package/build/lib/features/Pinning.js.map +1 -1
- package/build/lib/index.esm.js +10 -9
- package/build/lib/index.esm.js.map +1 -1
- package/build/lib/index.mjs +10 -9
- package/build/lib/index.mjs.map +1 -1
- package/build/umd/index.development.js +10 -9
- package/build/umd/index.development.js.map +1 -1
- package/build/umd/index.production.js +1 -1
- package/build/umd/index.production.js.map +1 -1
- package/package.json +1 -1
- package/src/features/ColumnSizing.ts +23 -10
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"column.js","sources":["../../../src/core/column.ts"],"sourcesContent":["import {\n Column,\n Table,\n AccessorFn,\n ColumnDef,\n RowData,\n ColumnDefResolved,\n} from '../types'\nimport { memo } from '../utils'\n\nexport interface CoreColumn<TData extends RowData, TValue> {\n /**\n * The resolved accessor function to use when extracting the value for the column from each row. Will only be defined if the column def has a valid accessor key or function defined.\n * @link [API Docs](https://tanstack.com/table/v8/docs/api/core/column#accessorfn)\n * @link [Guide](https://tanstack.com/table/v8/docs/guide/column-defs)\n */\n accessorFn?: AccessorFn<TData, TValue>\n /**\n * The original column def used to create the column.\n * @link [API Docs](https://tanstack.com/table/v8/docs/api/core/column#columndef)\n * @link [Guide](https://tanstack.com/table/v8/docs/guide/column-defs)\n */\n columnDef: ColumnDef<TData, TValue>\n /**\n * The child column (if the column is a group column). Will be an empty array if the column is not a group column.\n * @link [API Docs](https://tanstack.com/table/v8/docs/api/core/column#columns)\n * @link [Guide](https://tanstack.com/table/v8/docs/guide/column-defs)\n */\n columns: Column<TData, TValue>[]\n /**\n * The depth of the column (if grouped) relative to the root column def array.\n * @link [API Docs](https://tanstack.com/table/v8/docs/api/core/column#depth)\n * @link [Guide](https://tanstack.com/table/v8/docs/guide/column-defs)\n */\n depth: number\n /**\n * Returns the flattened array of this column and all child/grand-child columns for this column.\n * @link [API Docs](https://tanstack.com/table/v8/docs/api/core/column#getflatcolumns)\n * @link [Guide](https://tanstack.com/table/v8/docs/guide/column-defs)\n */\n getFlatColumns: () => Column<TData, TValue>[]\n /**\n * Returns an array of all leaf-node columns for this column. If a column has no children, it is considered the only leaf-node column.\n * @link [API Docs](https://tanstack.com/table/v8/docs/api/core/column#getleafcolumns)\n * @link [Guide](https://tanstack.com/table/v8/docs/guide/column-defs)\n */\n getLeafColumns: () => Column<TData, TValue>[]\n /**\n * The resolved unique identifier for the column resolved in this priority:\n - A manual `id` property from the column def\n - The accessor key from the column def\n - The header string from the column def\n * @link [API Docs](https://tanstack.com/table/v8/docs/api/core/column#id)\n * @link [Guide](https://tanstack.com/table/v8/docs/guide/column-defs)\n */\n id: string\n /**\n * The parent column for this column. Will be undefined if this is a root column.\n * @link [API Docs](https://tanstack.com/table/v8/docs/api/core/column#parent)\n * @link [Guide](https://tanstack.com/table/v8/docs/guide/column-defs)\n */\n parent?: Column<TData, TValue>\n}\n\nexport function createColumn<TData extends RowData, TValue>(\n table: Table<TData>,\n columnDef: ColumnDef<TData, TValue>,\n depth: number,\n parent?: Column<TData, TValue>\n): Column<TData, TValue> {\n const defaultColumn = table._getDefaultColumnDef()\n\n const resolvedColumnDef = {\n ...defaultColumn,\n ...columnDef,\n } as ColumnDefResolved<TData>\n\n const accessorKey = resolvedColumnDef.accessorKey\n\n let id =\n resolvedColumnDef.id ??\n (accessorKey ? accessorKey.replace('.', '_') : undefined) ??\n (typeof resolvedColumnDef.header === 'string'\n ? resolvedColumnDef.header\n : undefined)\n\n let accessorFn: AccessorFn<TData> | undefined\n\n if (resolvedColumnDef.accessorFn) {\n accessorFn = resolvedColumnDef.accessorFn\n } else if (accessorKey) {\n // Support deep accessor keys\n if (accessorKey.includes('.')) {\n accessorFn = (originalRow: TData) => {\n let result = originalRow as Record<string, any>\n\n for (const key of accessorKey.split('.')) {\n result = result?.[key]\n if (process.env.NODE_ENV !== 'production' && result === undefined) {\n console.warn(\n `\"${key}\" in deeply nested key \"${accessorKey}\" returned undefined.`\n )\n }\n }\n\n return result\n }\n } else {\n accessorFn = (originalRow: TData) =>\n (originalRow as any)[resolvedColumnDef.accessorKey]\n }\n }\n\n if (!id) {\n if (process.env.NODE_ENV !== 'production') {\n throw new Error(\n resolvedColumnDef.accessorFn\n ? `Columns require an id when using an accessorFn`\n : `Columns require an id when using a non-string header`\n )\n }\n throw new Error()\n }\n\n let column: CoreColumn<TData, any> = {\n id: `${String(id)}`,\n accessorFn,\n parent: parent as any,\n depth,\n columnDef: resolvedColumnDef as ColumnDef<TData, any>,\n columns: [],\n getFlatColumns: memo(\n () => [true],\n () => {\n return [\n column as Column<TData, TValue>,\n ...column.columns?.flatMap(d => d.getFlatColumns()),\n ]\n },\n {\n key: process.env.NODE_ENV === 'production' && 'column.getFlatColumns',\n debug: () => table.options.debugAll ?? table.options.debugColumns,\n }\n ),\n getLeafColumns: memo(\n () => [table._getOrderColumnsFn()],\n orderColumns => {\n if (column.columns?.length) {\n let leafColumns = column.columns.flatMap(column =>\n column.getLeafColumns()\n )\n\n return orderColumns(leafColumns)\n }\n\n return [column as Column<TData, TValue>]\n },\n {\n key: process.env.NODE_ENV === 'production' && 'column.getLeafColumns',\n debug: () => table.options.debugAll ?? table.options.debugColumns,\n }\n ),\n }\n\n for (const feature of table._features) {\n feature.createColumn?.(column, table)\n }\n\n // Yes, we have to convert table to uknown, because we know more than the compiler here.\n return column as Column<TData, TValue>\n}\n"],"names":["createColumn","table","columnDef","depth","parent","_ref","_resolvedColumnDef$id","defaultColumn","_getDefaultColumnDef","resolvedColumnDef","accessorKey","id","replace","undefined","header","accessorFn","includes","originalRow","result","key","split","_result","process","env","NODE_ENV","console","warn","Error","column","String","columns","getFlatColumns","memo","_column$columns","flatMap","d","debug","_table$options$debugA","options","debugAll","debugColumns","getLeafColumns","_getOrderColumnsFn","orderColumns","_column$columns2","length","leafColumns","_table$options$debugA2","feature","_features"],"mappings":";;;;;;;;;;;;;;AAgEO,SAASA,YAAYA,CAC1BC,KAAmB,EACnBC,SAAmC,EACnCC,KAAa,EACbC,MAA8B,EACP;EAAA,IAAAC,IAAA,EAAAC,qBAAA,CAAA;AACvB,EAAA,MAAMC,aAAa,GAAGN,KAAK,CAACO,oBAAoB,EAAE,CAAA;AAElD,EAAA,MAAMC,iBAAiB,GAAG;AACxB,IAAA,GAAGF,aAAa;IAChB,GAAGL,SAAAA;GACwB,CAAA;AAE7B,EAAA,MAAMQ,WAAW,GAAGD,iBAAiB,CAACC,WAAW,CAAA;AAEjD,EAAA,IAAIC,EAAE,GAAAN,CAAAA,IAAA,GAAAC,CAAAA,qBAAA,GACJG,iBAAiB,CAACE,EAAE,KAAA,IAAA,GAAAL,qBAAA,GACnBI,WAAW,GAAGA,WAAW,CAACE,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,GAAGC,SAAS,KAAAR,IAAAA,GAAAA,IAAA,GACvD,OAAOI,iBAAiB,CAACK,MAAM,KAAK,QAAQ,GACzCL,iBAAiB,CAACK,MAAM,GACxBD,SAAU,CAAA;AAEhB,EAAA,IAAIE,UAAyC,CAAA;EAE7C,IAAIN,iBAAiB,CAACM,UAAU,EAAE;IAChCA,UAAU,GAAGN,iBAAiB,CAACM,UAAU,CAAA;GAC1C,MAAM,IAAIL,WAAW,EAAE;AACtB;AACA,IAAA,IAAIA,WAAW,CAACM,QAAQ,CAAC,GAAG,CAAC,EAAE;MAC7BD,UAAU,GAAIE,WAAkB,IAAK;QACnC,IAAIC,MAAM,GAAGD,WAAkC,CAAA;QAE/C,KAAK,MAAME,GAAG,IAAIT,WAAW,CAACU,KAAK,CAAC,GAAG,CAAC,EAAE;AAAA,UAAA,IAAAC,OAAA,CAAA;UACxCH,MAAM,GAAA,CAAAG,OAAA,GAAGH,MAAM,qBAANG,OAAA,CAASF,GAAG,CAAC,CAAA;UACtB,IAAIG,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,YAAY,IAAIN,MAAM,KAAKL,SAAS,EAAE;YACjEY,OAAO,CAACC,IAAI,CACT,CAAA,CAAA,EAAGP,GAAI,CAA0BT,wBAAAA,EAAAA,WAAY,uBAChD,CAAC,CAAA;AACH,WAAA;AACF,SAAA;AAEA,QAAA,OAAOQ,MAAM,CAAA;OACd,CAAA;AACH,KAAC,MAAM;MACLH,UAAU,GAAIE,WAAkB,IAC7BA,WAAW,CAASR,iBAAiB,CAACC,WAAW,CAAC,CAAA;AACvD,KAAA;AACF,GAAA;EAEA,IAAI,CAACC,EAAE,EAAE;AACP,IAAA,IAAIW,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,YAAY,EAAE;MACzC,MAAM,IAAIG,KAAK,CACblB,iBAAiB,CAACM,UAAU,GACvB,CAAA,8CAAA,CAA+C,GAC/C,CAAA,oDAAA,CACP,CAAC,CAAA;AACH,KAAA;IACA,MAAM,IAAIY,KAAK,EAAE,CAAA;AACnB,GAAA;AAEA,EAAA,IAAIC,MAA8B,GAAG;AACnCjB,IAAAA,EAAE,EAAG,CAAEkB,EAAAA,MAAM,CAAClB,EAAE,CAAE,CAAC,CAAA;IACnBI,UAAU;AACVX,IAAAA,MAAM,EAAEA,MAAa;IACrBD,KAAK;AACLD,IAAAA,SAAS,EAAEO,iBAA0C;AACrDqB,IAAAA,OAAO,EAAE,EAAE;IACXC,cAAc,EAAEC,UAAI,CAClB,MAAM,CAAC,IAAI,CAAC,EACZ,MAAM;AAAA,MAAA,IAAAC,eAAA,CAAA;MACJ,OAAO,CACLL,MAAM,EACN,IAAA,CAAAK,eAAA,GAAGL,MAAM,CAACE,OAAO,KAAdG,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,eAAA,CAAgBC,OAAO,CAACC,CAAC,IAAIA,CAAC,CAACJ,cAAc,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"column.js","sources":["../../../src/core/column.ts"],"sourcesContent":["import {\n Column,\n Table,\n AccessorFn,\n ColumnDef,\n RowData,\n ColumnDefResolved,\n} from '../types'\nimport { memo } from '../utils'\n\nexport interface CoreColumn<TData extends RowData, TValue> {\n /**\n * The resolved accessor function to use when extracting the value for the column from each row. Will only be defined if the column def has a valid accessor key or function defined.\n * @link [API Docs](https://tanstack.com/table/v8/docs/api/core/column#accessorfn)\n * @link [Guide](https://tanstack.com/table/v8/docs/guide/column-defs)\n */\n accessorFn?: AccessorFn<TData, TValue>\n /**\n * The original column def used to create the column.\n * @link [API Docs](https://tanstack.com/table/v8/docs/api/core/column#columndef)\n * @link [Guide](https://tanstack.com/table/v8/docs/guide/column-defs)\n */\n columnDef: ColumnDef<TData, TValue>\n /**\n * The child column (if the column is a group column). Will be an empty array if the column is not a group column.\n * @link [API Docs](https://tanstack.com/table/v8/docs/api/core/column#columns)\n * @link [Guide](https://tanstack.com/table/v8/docs/guide/column-defs)\n */\n columns: Column<TData, TValue>[]\n /**\n * The depth of the column (if grouped) relative to the root column def array.\n * @link [API Docs](https://tanstack.com/table/v8/docs/api/core/column#depth)\n * @link [Guide](https://tanstack.com/table/v8/docs/guide/column-defs)\n */\n depth: number\n /**\n * Returns the flattened array of this column and all child/grand-child columns for this column.\n * @link [API Docs](https://tanstack.com/table/v8/docs/api/core/column#getflatcolumns)\n * @link [Guide](https://tanstack.com/table/v8/docs/guide/column-defs)\n */\n getFlatColumns: () => Column<TData, TValue>[]\n /**\n * Returns an array of all leaf-node columns for this column. If a column has no children, it is considered the only leaf-node column.\n * @link [API Docs](https://tanstack.com/table/v8/docs/api/core/column#getleafcolumns)\n * @link [Guide](https://tanstack.com/table/v8/docs/guide/column-defs)\n */\n getLeafColumns: () => Column<TData, TValue>[]\n /**\n * The resolved unique identifier for the column resolved in this priority:\n - A manual `id` property from the column def\n - The accessor key from the column def\n - The header string from the column def\n * @link [API Docs](https://tanstack.com/table/v8/docs/api/core/column#id)\n * @link [Guide](https://tanstack.com/table/v8/docs/guide/column-defs)\n */\n id: string\n /**\n * The parent column for this column. Will be undefined if this is a root column.\n * @link [API Docs](https://tanstack.com/table/v8/docs/api/core/column#parent)\n * @link [Guide](https://tanstack.com/table/v8/docs/guide/column-defs)\n */\n parent?: Column<TData, TValue>\n}\n\nexport function createColumn<TData extends RowData, TValue>(\n table: Table<TData>,\n columnDef: ColumnDef<TData, TValue>,\n depth: number,\n parent?: Column<TData, TValue>\n): Column<TData, TValue> {\n const defaultColumn = table._getDefaultColumnDef()\n\n const resolvedColumnDef = {\n ...defaultColumn,\n ...columnDef,\n } as ColumnDefResolved<TData>\n\n const accessorKey = resolvedColumnDef.accessorKey\n\n let id =\n resolvedColumnDef.id ??\n (accessorKey ? accessorKey.replace('.', '_') : undefined) ??\n (typeof resolvedColumnDef.header === 'string'\n ? resolvedColumnDef.header\n : undefined)\n\n let accessorFn: AccessorFn<TData> | undefined\n\n if (resolvedColumnDef.accessorFn) {\n accessorFn = resolvedColumnDef.accessorFn\n } else if (accessorKey) {\n // Support deep accessor keys\n if (accessorKey.includes('.')) {\n accessorFn = (originalRow: TData) => {\n let result = originalRow as Record<string, any>\n\n for (const key of accessorKey.split('.')) {\n result = result?.[key]\n if (process.env.NODE_ENV !== 'production' && result === undefined) {\n console.warn(\n `\"${key}\" in deeply nested key \"${accessorKey}\" returned undefined.`\n )\n }\n }\n\n return result\n }\n } else {\n accessorFn = (originalRow: TData) =>\n (originalRow as any)[resolvedColumnDef.accessorKey]\n }\n }\n\n if (!id) {\n if (process.env.NODE_ENV !== 'production') {\n throw new Error(\n resolvedColumnDef.accessorFn\n ? `Columns require an id when using an accessorFn`\n : `Columns require an id when using a non-string header`\n )\n }\n throw new Error()\n }\n\n let column: CoreColumn<TData, any> = {\n id: `${String(id)}`,\n accessorFn,\n parent: parent as any,\n depth,\n columnDef: resolvedColumnDef as ColumnDef<TData, any>,\n columns: [],\n getFlatColumns: memo(\n () => [true],\n () => {\n return [\n column as Column<TData, TValue>,\n ...column.columns?.flatMap(d => d.getFlatColumns()),\n ]\n },\n {\n key: process.env.NODE_ENV === 'production' && 'column.getFlatColumns',\n debug: () => table.options.debugAll ?? table.options.debugColumns,\n }\n ),\n getLeafColumns: memo(\n () => [table._getOrderColumnsFn()],\n orderColumns => {\n if (column.columns?.length) {\n let leafColumns = column.columns.flatMap(column =>\n column.getLeafColumns()\n )\n\n return orderColumns(leafColumns)\n }\n\n return [column as Column<TData, TValue>]\n },\n {\n key: process.env.NODE_ENV === 'production' && 'column.getLeafColumns',\n debug: () => table.options.debugAll ?? table.options.debugColumns,\n }\n ),\n }\n\n for (const feature of table._features) {\n feature.createColumn?.(column, table)\n }\n\n // Yes, we have to convert table to uknown, because we know more than the compiler here.\n return column as Column<TData, TValue>\n}\n"],"names":["createColumn","table","columnDef","depth","parent","_ref","_resolvedColumnDef$id","defaultColumn","_getDefaultColumnDef","resolvedColumnDef","accessorKey","id","replace","undefined","header","accessorFn","includes","originalRow","result","key","split","_result","process","env","NODE_ENV","console","warn","Error","column","String","columns","getFlatColumns","memo","_column$columns","flatMap","d","debug","_table$options$debugA","options","debugAll","debugColumns","getLeafColumns","_getOrderColumnsFn","orderColumns","_column$columns2","length","leafColumns","_table$options$debugA2","feature","_features"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"headers.js","sources":["../../../src/core/headers.ts"],"sourcesContent":["import { RowData, Column, Header, HeaderGroup, Table } from '../types'\nimport { memo } from '../utils'\nimport { TableFeature } from './table'\n\nexport interface CoreHeaderGroup<TData extends RowData> {\n depth: number\n headers: Header<TData, unknown>[]\n id: string\n}\n\nexport interface HeaderContext<TData, TValue> {\n /**\n * An instance of a column.\n */\n column: Column<TData, TValue>\n /**\n * An instance of a header.\n */\n header: Header<TData, TValue>\n /**\n * The table instance.\n */\n table: Table<TData>\n}\n\nexport interface CoreHeader<TData extends RowData, TValue> {\n /**\n * The col-span for the header.\n * @link [API Docs](https://tanstack.com/table/v8/docs/api/core/header#colspan)\n * @link [Guide](https://tanstack.com/table/v8/docs/guide/headers)\n */\n colSpan: number\n /**\n * The header's associated column object.\n * @link [API Docs](https://tanstack.com/table/v8/docs/api/core/header#column)\n * @link [Guide](https://tanstack.com/table/v8/docs/guide/headers)\n */\n column: Column<TData, TValue>\n /**\n * The depth of the header, zero-indexed based.\n * @link [API Docs](https://tanstack.com/table/v8/docs/api/core/header#depth)\n * @link [Guide](https://tanstack.com/table/v8/docs/guide/headers)\n */\n depth: number\n /**\n * Returns the rendering context (or props) for column-based components like headers, footers and filters.\n * @link [API Docs](https://tanstack.com/table/v8/docs/api/core/header#getcontext)\n * @link [Guide](https://tanstack.com/table/v8/docs/guide/headers)\n */\n getContext: () => HeaderContext<TData, TValue>\n /**\n * Returns the leaf headers hierarchically nested under this header.\n * @link [API Docs](https://tanstack.com/table/v8/docs/api/core/header#getleafheaders)\n * @link [Guide](https://tanstack.com/table/v8/docs/guide/headers)\n */\n getLeafHeaders: () => Header<TData, unknown>[]\n /**\n * The header's associated header group object.\n * @link [API Docs](https://tanstack.com/table/v8/docs/api/core/header#headergroup)\n * @link [Guide](https://tanstack.com/table/v8/docs/guide/headers)\n */\n headerGroup: HeaderGroup<TData>\n /**\n * The unique identifier for the header.\n * @link [API Docs](https://tanstack.com/table/v8/docs/api/core/header#id)\n * @link [Guide](https://tanstack.com/table/v8/docs/guide/headers)\n */\n id: string\n /**\n * The index for the header within the header group.\n * @link [API Docs](https://tanstack.com/table/v8/docs/api/core/header#index)\n * @link [Guide](https://tanstack.com/table/v8/docs/guide/headers)\n */\n index: number\n /**\n * A boolean denoting if the header is a placeholder header.\n * @link [API Docs](https://tanstack.com/table/v8/docs/api/core/header#isplaceholder)\n * @link [Guide](https://tanstack.com/table/v8/docs/guide/headers)\n */\n isPlaceholder: boolean\n /**\n * If the header is a placeholder header, this will be a unique header ID that does not conflict with any other headers across the table.\n * @link [API Docs](https://tanstack.com/table/v8/docs/api/core/header#placeholderid)\n * @link [Guide](https://tanstack.com/table/v8/docs/guide/headers)\n */\n placeholderId?: string\n /**\n * The row-span for the header.\n * @link [API Docs](https://tanstack.com/table/v8/docs/api/core/header#rowspan)\n * @link [Guide](https://tanstack.com/table/v8/docs/guide/headers)\n */\n rowSpan: number\n /**\n * The header's hierarchical sub/child headers. Will be empty if the header's associated column is a leaf-column.\n * @link [API Docs](https://tanstack.com/table/v8/docs/api/core/header#subheaders)\n * @link [Guide](https://tanstack.com/table/v8/docs/guide/headers)\n */\n subHeaders: Header<TData, TValue>[]\n}\n\nexport interface HeadersInstance<TData extends RowData> {\n /**\n * Returns all header groups for the table.\n * @link [API Docs](https://tanstack.com/table/v8/docs/api/core/headers#getheadergroups)\n * @link [Guide](https://tanstack.com/table/v8/docs/guide/headers)\n */\n getHeaderGroups: () => HeaderGroup<TData>[]\n /**\n * If pinning, returns the header groups for the left pinned columns.\n * @link [API Docs](https://tanstack.com/table/v8/docs/api/core/headers#getleftheadergroups)\n * @link [Guide](https://tanstack.com/table/v8/docs/guide/headers)\n */\n getLeftHeaderGroups: () => HeaderGroup<TData>[]\n /**\n * If pinning, returns the header groups for columns that are not pinned.\n * @link [API Docs](https://tanstack.com/table/v8/docs/api/core/headers#getcenterheadergroups)\n * @link [Guide](https://tanstack.com/table/v8/docs/guide/headers)\n */\n getCenterHeaderGroups: () => HeaderGroup<TData>[]\n /**\n * If pinning, returns the header groups for the right pinned columns.\n * @link [API Docs](https://tanstack.com/table/v8/docs/api/core/headers#getrightheadergroups)\n * @link [Guide](https://tanstack.com/table/v8/docs/guide/headers)\n */\n getRightHeaderGroups: () => HeaderGroup<TData>[]\n\n /**\n * Returns the footer groups for the table.\n * @link [API Docs](https://tanstack.com/table/v8/docs/api/core/headers#getfootergroups)\n * @link [Guide](https://tanstack.com/table/v8/docs/guide/headers)\n */\n getFooterGroups: () => HeaderGroup<TData>[]\n /**\n * If pinning, returns the footer groups for the left pinned columns.\n * @link [API Docs](https://tanstack.com/table/v8/docs/api/core/headers#getleftfootergroups)\n * @link [Guide](https://tanstack.com/table/v8/docs/guide/headers)\n */\n getLeftFooterGroups: () => HeaderGroup<TData>[]\n /**\n * If pinning, returns the footer groups for columns that are not pinned.\n * @link [API Docs](https://tanstack.com/table/v8/docs/api/core/headers#getcenterfootergroups)\n * @link [Guide](https://tanstack.com/table/v8/docs/guide/headers)\n */\n getCenterFooterGroups: () => HeaderGroup<TData>[]\n /**\n * If pinning, returns the footer groups for the right pinned columns.\n * @link [API Docs](https://tanstack.com/table/v8/docs/api/core/headers#getrightfootergroups)\n * @link [Guide](https://tanstack.com/table/v8/docs/guide/headers)\n */\n getRightFooterGroups: () => HeaderGroup<TData>[]\n\n /**\n * Returns headers for all columns in the table, including parent headers.\n * @link [API Docs](https://tanstack.com/table/v8/docs/api/core/headers#getflatheaders)\n * @link [Guide](https://tanstack.com/table/v8/docs/guide/headers)\n */\n getFlatHeaders: () => Header<TData, unknown>[]\n /**\n * If pinning, returns headers for all left pinned columns in the table, including parent headers.\n * @link [API Docs](https://tanstack.com/table/v8/docs/api/core/headers#getleftflatheaders)\n * @link [Guide](https://tanstack.com/table/v8/docs/guide/headers)\n */\n getLeftFlatHeaders: () => Header<TData, unknown>[]\n /**\n * If pinning, returns headers for all columns that are not pinned, including parent headers.\n * @link [API Docs](https://tanstack.com/table/v8/docs/api/core/headers#getcenterflatheaders)\n * @link [Guide](https://tanstack.com/table/v8/docs/guide/headers)\n */\n getCenterFlatHeaders: () => Header<TData, unknown>[]\n /**\n * If pinning, returns headers for all right pinned columns in the table, including parent headers.\n * @link [API Docs](https://tanstack.com/table/v8/docs/api/core/headers#getrightflatheaders)\n * @link [Guide](https://tanstack.com/table/v8/docs/guide/headers)\n */\n getRightFlatHeaders: () => Header<TData, unknown>[]\n\n /**\n * Returns headers for all leaf columns in the table, (not including parent headers).\n * @link [API Docs](https://tanstack.com/table/v8/docs/api/core/headers#getleafheaders)\n * @link [Guide](https://tanstack.com/table/v8/docs/guide/headers)\n */\n getLeafHeaders: () => Header<TData, unknown>[]\n /**\n * If pinning, returns headers for all left pinned leaf columns in the table, (not including parent headers).\n * @link [API Docs](https://tanstack.com/table/v8/docs/api/core/headers#getleftleafheaders)\n * @link [Guide](https://tanstack.com/table/v8/docs/guide/headers)\n */\n getLeftLeafHeaders: () => Header<TData, unknown>[]\n /**\n * If pinning, returns headers for all columns that are not pinned, (not including parent headers).\n * @link [API Docs](https://tanstack.com/table/v8/docs/api/core/headers#getcenterleafheaders)\n * @link [Guide](https://tanstack.com/table/v8/docs/guide/headers)\n */\n getCenterLeafHeaders: () => Header<TData, unknown>[]\n /**\n * If pinning, returns headers for all right pinned leaf columns in the table, (not including parent headers).\n * @link [API Docs](https://tanstack.com/table/v8/docs/api/core/headers#getrightleafheaders)\n * @link [Guide](https://tanstack.com/table/v8/docs/guide/headers)\n */\n getRightLeafHeaders: () => Header<TData, unknown>[]\n}\n\n//\n\nfunction createHeader<TData extends RowData, TValue>(\n table: Table<TData>,\n column: Column<TData, TValue>,\n options: {\n id?: string\n isPlaceholder?: boolean\n placeholderId?: string\n index: number\n depth: number\n }\n): Header<TData, TValue> {\n const id = options.id ?? column.id\n\n let header: CoreHeader<TData, TValue> = {\n id,\n column,\n index: options.index,\n isPlaceholder: !!options.isPlaceholder,\n placeholderId: options.placeholderId,\n depth: options.depth,\n subHeaders: [],\n colSpan: 0,\n rowSpan: 0,\n headerGroup: null!,\n getLeafHeaders: (): Header<TData, unknown>[] => {\n const leafHeaders: Header<TData, unknown>[] = []\n\n const recurseHeader = (h: CoreHeader<TData, any>) => {\n if (h.subHeaders && h.subHeaders.length) {\n h.subHeaders.map(recurseHeader)\n }\n leafHeaders.push(h as Header<TData, unknown>)\n }\n\n recurseHeader(header)\n\n return leafHeaders\n },\n getContext: () => ({\n table,\n header: header as Header<TData, TValue>,\n column,\n }),\n }\n\n table._features.forEach(feature => {\n feature.createHeader?.(header, table)\n })\n\n return header as Header<TData, TValue>\n}\n\nexport const Headers: TableFeature = {\n createTable: <TData extends RowData>(table: Table<TData>): void => {\n // Header Groups\n\n table.getHeaderGroups = memo(\n () => [\n table.getAllColumns(),\n table.getVisibleLeafColumns(),\n table.getState().columnPinning.left,\n table.getState().columnPinning.right,\n ],\n (allColumns, leafColumns, left, right) => {\n const leftColumns =\n left\n ?.map(columnId => leafColumns.find(d => d.id === columnId)!)\n .filter(Boolean) ?? []\n\n const rightColumns =\n right\n ?.map(columnId => leafColumns.find(d => d.id === columnId)!)\n .filter(Boolean) ?? []\n\n const centerColumns = leafColumns.filter(\n column => !left?.includes(column.id) && !right?.includes(column.id)\n )\n\n const headerGroups = buildHeaderGroups(\n allColumns,\n [...leftColumns, ...centerColumns, ...rightColumns],\n table\n )\n\n return headerGroups\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getHeaderGroups',\n debug: () => table.options.debugAll ?? table.options.debugHeaders,\n }\n )\n\n table.getCenterHeaderGroups = memo(\n () => [\n table.getAllColumns(),\n table.getVisibleLeafColumns(),\n table.getState().columnPinning.left,\n table.getState().columnPinning.right,\n ],\n (allColumns, leafColumns, left, right) => {\n leafColumns = leafColumns.filter(\n column => !left?.includes(column.id) && !right?.includes(column.id)\n )\n return buildHeaderGroups(allColumns, leafColumns, table, 'center')\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getCenterHeaderGroups',\n debug: () => table.options.debugAll ?? table.options.debugHeaders,\n }\n )\n\n table.getLeftHeaderGroups = memo(\n () => [\n table.getAllColumns(),\n table.getVisibleLeafColumns(),\n table.getState().columnPinning.left,\n ],\n (allColumns, leafColumns, left) => {\n const orderedLeafColumns =\n left\n ?.map(columnId => leafColumns.find(d => d.id === columnId)!)\n .filter(Boolean) ?? []\n\n return buildHeaderGroups(allColumns, orderedLeafColumns, table, 'left')\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getLeftHeaderGroups',\n debug: () => table.options.debugAll ?? table.options.debugHeaders,\n }\n )\n\n table.getRightHeaderGroups = memo(\n () => [\n table.getAllColumns(),\n table.getVisibleLeafColumns(),\n table.getState().columnPinning.right,\n ],\n (allColumns, leafColumns, right) => {\n const orderedLeafColumns =\n right\n ?.map(columnId => leafColumns.find(d => d.id === columnId)!)\n .filter(Boolean) ?? []\n\n return buildHeaderGroups(allColumns, orderedLeafColumns, table, 'right')\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getRightHeaderGroups',\n debug: () => table.options.debugAll ?? table.options.debugHeaders,\n }\n )\n\n // Footer Groups\n\n table.getFooterGroups = memo(\n () => [table.getHeaderGroups()],\n headerGroups => {\n return [...headerGroups].reverse()\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getFooterGroups',\n debug: () => table.options.debugAll ?? table.options.debugHeaders,\n }\n )\n\n table.getLeftFooterGroups = memo(\n () => [table.getLeftHeaderGroups()],\n headerGroups => {\n return [...headerGroups].reverse()\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getLeftFooterGroups',\n debug: () => table.options.debugAll ?? table.options.debugHeaders,\n }\n )\n\n table.getCenterFooterGroups = memo(\n () => [table.getCenterHeaderGroups()],\n headerGroups => {\n return [...headerGroups].reverse()\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getCenterFooterGroups',\n debug: () => table.options.debugAll ?? table.options.debugHeaders,\n }\n )\n\n table.getRightFooterGroups = memo(\n () => [table.getRightHeaderGroups()],\n headerGroups => {\n return [...headerGroups].reverse()\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getRightFooterGroups',\n debug: () => table.options.debugAll ?? table.options.debugHeaders,\n }\n )\n\n // Flat Headers\n\n table.getFlatHeaders = memo(\n () => [table.getHeaderGroups()],\n headerGroups => {\n return headerGroups\n .map(headerGroup => {\n return headerGroup.headers\n })\n .flat()\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getFlatHeaders',\n debug: () => table.options.debugAll ?? table.options.debugHeaders,\n }\n )\n\n table.getLeftFlatHeaders = memo(\n () => [table.getLeftHeaderGroups()],\n left => {\n return left\n .map(headerGroup => {\n return headerGroup.headers\n })\n .flat()\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getLeftFlatHeaders',\n debug: () => table.options.debugAll ?? table.options.debugHeaders,\n }\n )\n\n table.getCenterFlatHeaders = memo(\n () => [table.getCenterHeaderGroups()],\n left => {\n return left\n .map(headerGroup => {\n return headerGroup.headers\n })\n .flat()\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getCenterFlatHeaders',\n debug: () => table.options.debugAll ?? table.options.debugHeaders,\n }\n )\n\n table.getRightFlatHeaders = memo(\n () => [table.getRightHeaderGroups()],\n left => {\n return left\n .map(headerGroup => {\n return headerGroup.headers\n })\n .flat()\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getRightFlatHeaders',\n debug: () => table.options.debugAll ?? table.options.debugHeaders,\n }\n )\n\n // Leaf Headers\n\n table.getCenterLeafHeaders = memo(\n () => [table.getCenterFlatHeaders()],\n flatHeaders => {\n return flatHeaders.filter(header => !header.subHeaders?.length)\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getCenterLeafHeaders',\n debug: () => table.options.debugAll ?? table.options.debugHeaders,\n }\n )\n\n table.getLeftLeafHeaders = memo(\n () => [table.getLeftFlatHeaders()],\n flatHeaders => {\n return flatHeaders.filter(header => !header.subHeaders?.length)\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getLeftLeafHeaders',\n debug: () => table.options.debugAll ?? table.options.debugHeaders,\n }\n )\n\n table.getRightLeafHeaders = memo(\n () => [table.getRightFlatHeaders()],\n flatHeaders => {\n return flatHeaders.filter(header => !header.subHeaders?.length)\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getRightLeafHeaders',\n debug: () => table.options.debugAll ?? table.options.debugHeaders,\n }\n )\n\n table.getLeafHeaders = memo(\n () => [\n table.getLeftHeaderGroups(),\n table.getCenterHeaderGroups(),\n table.getRightHeaderGroups(),\n ],\n (left, center, right) => {\n return [\n ...(left[0]?.headers ?? []),\n ...(center[0]?.headers ?? []),\n ...(right[0]?.headers ?? []),\n ]\n .map(header => {\n return header.getLeafHeaders()\n })\n .flat()\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getLeafHeaders',\n debug: () => table.options.debugAll ?? table.options.debugHeaders,\n }\n )\n },\n}\n\nexport function buildHeaderGroups<TData extends RowData>(\n allColumns: Column<TData, unknown>[],\n columnsToGroup: Column<TData, unknown>[],\n table: Table<TData>,\n headerFamily?: 'center' | 'left' | 'right'\n) {\n // Find the max depth of the columns:\n // build the leaf column row\n // build each buffer row going up\n // placeholder for non-existent level\n // real column for existing level\n\n let maxDepth = 0\n\n const findMaxDepth = (columns: Column<TData, unknown>[], depth = 1) => {\n maxDepth = Math.max(maxDepth, depth)\n\n columns\n .filter(column => column.getIsVisible())\n .forEach(column => {\n if (column.columns?.length) {\n findMaxDepth(column.columns, depth + 1)\n }\n }, 0)\n }\n\n findMaxDepth(allColumns)\n\n let headerGroups: HeaderGroup<TData>[] = []\n\n const createHeaderGroup = (\n headersToGroup: Header<TData, unknown>[],\n depth: number\n ) => {\n // The header group we are creating\n const headerGroup: HeaderGroup<TData> = {\n depth,\n id: [headerFamily, `${depth}`].filter(Boolean).join('_'),\n headers: [],\n }\n\n // The parent columns we're going to scan next\n const pendingParentHeaders: Header<TData, unknown>[] = []\n\n // Scan each column for parents\n headersToGroup.forEach(headerToGroup => {\n // What is the latest (last) parent column?\n\n const latestPendingParentHeader = [...pendingParentHeaders].reverse()[0]\n\n const isLeafHeader = headerToGroup.column.depth === headerGroup.depth\n\n let column: Column<TData, unknown>\n let isPlaceholder = false\n\n if (isLeafHeader && headerToGroup.column.parent) {\n // The parent header is new\n column = headerToGroup.column.parent\n } else {\n // The parent header is repeated\n column = headerToGroup.column\n isPlaceholder = true\n }\n\n if (\n latestPendingParentHeader &&\n latestPendingParentHeader?.column === column\n ) {\n // This column is repeated. Add it as a sub header to the next batch\n latestPendingParentHeader.subHeaders.push(headerToGroup)\n } else {\n // This is a new header. Let's create it\n const header = createHeader(table, column, {\n id: [headerFamily, depth, column.id, headerToGroup?.id]\n .filter(Boolean)\n .join('_'),\n isPlaceholder,\n placeholderId: isPlaceholder\n ? `${pendingParentHeaders.filter(d => d.column === column).length}`\n : undefined,\n depth,\n index: pendingParentHeaders.length,\n })\n\n // Add the headerToGroup as a subHeader of the new header\n header.subHeaders.push(headerToGroup)\n // Add the new header to the pendingParentHeaders to get grouped\n // in the next batch\n pendingParentHeaders.push(header)\n }\n\n headerGroup.headers.push(headerToGroup)\n headerToGroup.headerGroup = headerGroup\n })\n\n headerGroups.push(headerGroup)\n\n if (depth > 0) {\n createHeaderGroup(pendingParentHeaders, depth - 1)\n }\n }\n\n const bottomHeaders = columnsToGroup.map((column, index) =>\n createHeader(table, column, {\n depth: maxDepth,\n index,\n })\n )\n\n createHeaderGroup(bottomHeaders, maxDepth - 1)\n\n headerGroups.reverse()\n\n // headerGroups = headerGroups.filter(headerGroup => {\n // return !headerGroup.headers.every(header => header.isPlaceholder)\n // })\n\n const recurseHeadersForSpans = (\n headers: Header<TData, unknown>[]\n ): { colSpan: number; rowSpan: number }[] => {\n const filteredHeaders = headers.filter(header =>\n header.column.getIsVisible()\n )\n\n return filteredHeaders.map(header => {\n let colSpan = 0\n let rowSpan = 0\n let childRowSpans = [0]\n\n if (header.subHeaders && header.subHeaders.length) {\n childRowSpans = []\n\n recurseHeadersForSpans(header.subHeaders).forEach(\n ({ colSpan: childColSpan, rowSpan: childRowSpan }) => {\n colSpan += childColSpan\n childRowSpans.push(childRowSpan)\n }\n )\n } else {\n colSpan = 1\n }\n\n const minChildRowSpan = Math.min(...childRowSpans)\n rowSpan = rowSpan + minChildRowSpan\n\n header.colSpan = colSpan\n header.rowSpan = rowSpan\n\n return { colSpan, rowSpan }\n })\n }\n\n recurseHeadersForSpans(headerGroups[0]?.headers ?? [])\n\n return headerGroups\n}\n"],"names":["createHeader","table","column","options","_options$id","id","header","index","isPlaceholder","placeholderId","depth","subHeaders","colSpan","rowSpan","headerGroup","getLeafHeaders","leafHeaders","recurseHeader","h","length","map","push","getContext","_features","forEach","feature","Headers","createTable","getHeaderGroups","memo","getAllColumns","getVisibleLeafColumns","getState","columnPinning","left","right","allColumns","leafColumns","_left$map$filter","_right$map$filter","leftColumns","columnId","find","d","filter","Boolean","rightColumns","centerColumns","includes","headerGroups","buildHeaderGroups","key","process","env","NODE_ENV","debug","_table$options$debugA","debugAll","debugHeaders","getCenterHeaderGroups","_table$options$debugA2","getLeftHeaderGroups","_left$map$filter2","orderedLeafColumns","_table$options$debugA3","getRightHeaderGroups","_right$map$filter2","_table$options$debugA4","getFooterGroups","reverse","_table$options$debugA5","getLeftFooterGroups","_table$options$debugA6","getCenterFooterGroups","_table$options$debugA7","getRightFooterGroups","_table$options$debugA8","getFlatHeaders","headers","flat","_table$options$debugA9","getLeftFlatHeaders","_table$options$debugA10","getCenterFlatHeaders","_table$options$debugA11","getRightFlatHeaders","_table$options$debugA12","getCenterLeafHeaders","flatHeaders","_header$subHeaders","_table$options$debugA13","getLeftLeafHeaders","_header$subHeaders2","_table$options$debugA14","getRightLeafHeaders","_header$subHeaders3","_table$options$debugA15","center","_left$0$headers","_left$","_center$0$headers","_center$","_right$0$headers","_right$","_table$options$debugA16","columnsToGroup","headerFamily","_headerGroups$0$heade","_headerGroups$","maxDepth","findMaxDepth","columns","Math","max","getIsVisible","_column$columns","createHeaderGroup","headersToGroup","join","pendingParentHeaders","headerToGroup","latestPendingParentHeader","isLeafHeader","parent","undefined","bottomHeaders","recurseHeadersForSpans","filteredHeaders","childRowSpans","_ref","childColSpan","childRowSpan","minChildRowSpan","min"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"headers.js","sources":["../../../src/core/headers.ts"],"sourcesContent":["import { RowData, Column, Header, HeaderGroup, Table } from '../types'\nimport { memo } from '../utils'\nimport { TableFeature } from './table'\n\nexport interface CoreHeaderGroup<TData extends RowData> {\n depth: number\n headers: Header<TData, unknown>[]\n id: string\n}\n\nexport interface HeaderContext<TData, TValue> {\n /**\n * An instance of a column.\n */\n column: Column<TData, TValue>\n /**\n * An instance of a header.\n */\n header: Header<TData, TValue>\n /**\n * The table instance.\n */\n table: Table<TData>\n}\n\nexport interface CoreHeader<TData extends RowData, TValue> {\n /**\n * The col-span for the header.\n * @link [API Docs](https://tanstack.com/table/v8/docs/api/core/header#colspan)\n * @link [Guide](https://tanstack.com/table/v8/docs/guide/headers)\n */\n colSpan: number\n /**\n * The header's associated column object.\n * @link [API Docs](https://tanstack.com/table/v8/docs/api/core/header#column)\n * @link [Guide](https://tanstack.com/table/v8/docs/guide/headers)\n */\n column: Column<TData, TValue>\n /**\n * The depth of the header, zero-indexed based.\n * @link [API Docs](https://tanstack.com/table/v8/docs/api/core/header#depth)\n * @link [Guide](https://tanstack.com/table/v8/docs/guide/headers)\n */\n depth: number\n /**\n * Returns the rendering context (or props) for column-based components like headers, footers and filters.\n * @link [API Docs](https://tanstack.com/table/v8/docs/api/core/header#getcontext)\n * @link [Guide](https://tanstack.com/table/v8/docs/guide/headers)\n */\n getContext: () => HeaderContext<TData, TValue>\n /**\n * Returns the leaf headers hierarchically nested under this header.\n * @link [API Docs](https://tanstack.com/table/v8/docs/api/core/header#getleafheaders)\n * @link [Guide](https://tanstack.com/table/v8/docs/guide/headers)\n */\n getLeafHeaders: () => Header<TData, unknown>[]\n /**\n * The header's associated header group object.\n * @link [API Docs](https://tanstack.com/table/v8/docs/api/core/header#headergroup)\n * @link [Guide](https://tanstack.com/table/v8/docs/guide/headers)\n */\n headerGroup: HeaderGroup<TData>\n /**\n * The unique identifier for the header.\n * @link [API Docs](https://tanstack.com/table/v8/docs/api/core/header#id)\n * @link [Guide](https://tanstack.com/table/v8/docs/guide/headers)\n */\n id: string\n /**\n * The index for the header within the header group.\n * @link [API Docs](https://tanstack.com/table/v8/docs/api/core/header#index)\n * @link [Guide](https://tanstack.com/table/v8/docs/guide/headers)\n */\n index: number\n /**\n * A boolean denoting if the header is a placeholder header.\n * @link [API Docs](https://tanstack.com/table/v8/docs/api/core/header#isplaceholder)\n * @link [Guide](https://tanstack.com/table/v8/docs/guide/headers)\n */\n isPlaceholder: boolean\n /**\n * If the header is a placeholder header, this will be a unique header ID that does not conflict with any other headers across the table.\n * @link [API Docs](https://tanstack.com/table/v8/docs/api/core/header#placeholderid)\n * @link [Guide](https://tanstack.com/table/v8/docs/guide/headers)\n */\n placeholderId?: string\n /**\n * The row-span for the header.\n * @link [API Docs](https://tanstack.com/table/v8/docs/api/core/header#rowspan)\n * @link [Guide](https://tanstack.com/table/v8/docs/guide/headers)\n */\n rowSpan: number\n /**\n * The header's hierarchical sub/child headers. Will be empty if the header's associated column is a leaf-column.\n * @link [API Docs](https://tanstack.com/table/v8/docs/api/core/header#subheaders)\n * @link [Guide](https://tanstack.com/table/v8/docs/guide/headers)\n */\n subHeaders: Header<TData, TValue>[]\n}\n\nexport interface HeadersInstance<TData extends RowData> {\n /**\n * Returns all header groups for the table.\n * @link [API Docs](https://tanstack.com/table/v8/docs/api/core/headers#getheadergroups)\n * @link [Guide](https://tanstack.com/table/v8/docs/guide/headers)\n */\n getHeaderGroups: () => HeaderGroup<TData>[]\n /**\n * If pinning, returns the header groups for the left pinned columns.\n * @link [API Docs](https://tanstack.com/table/v8/docs/api/core/headers#getleftheadergroups)\n * @link [Guide](https://tanstack.com/table/v8/docs/guide/headers)\n */\n getLeftHeaderGroups: () => HeaderGroup<TData>[]\n /**\n * If pinning, returns the header groups for columns that are not pinned.\n * @link [API Docs](https://tanstack.com/table/v8/docs/api/core/headers#getcenterheadergroups)\n * @link [Guide](https://tanstack.com/table/v8/docs/guide/headers)\n */\n getCenterHeaderGroups: () => HeaderGroup<TData>[]\n /**\n * If pinning, returns the header groups for the right pinned columns.\n * @link [API Docs](https://tanstack.com/table/v8/docs/api/core/headers#getrightheadergroups)\n * @link [Guide](https://tanstack.com/table/v8/docs/guide/headers)\n */\n getRightHeaderGroups: () => HeaderGroup<TData>[]\n\n /**\n * Returns the footer groups for the table.\n * @link [API Docs](https://tanstack.com/table/v8/docs/api/core/headers#getfootergroups)\n * @link [Guide](https://tanstack.com/table/v8/docs/guide/headers)\n */\n getFooterGroups: () => HeaderGroup<TData>[]\n /**\n * If pinning, returns the footer groups for the left pinned columns.\n * @link [API Docs](https://tanstack.com/table/v8/docs/api/core/headers#getleftfootergroups)\n * @link [Guide](https://tanstack.com/table/v8/docs/guide/headers)\n */\n getLeftFooterGroups: () => HeaderGroup<TData>[]\n /**\n * If pinning, returns the footer groups for columns that are not pinned.\n * @link [API Docs](https://tanstack.com/table/v8/docs/api/core/headers#getcenterfootergroups)\n * @link [Guide](https://tanstack.com/table/v8/docs/guide/headers)\n */\n getCenterFooterGroups: () => HeaderGroup<TData>[]\n /**\n * If pinning, returns the footer groups for the right pinned columns.\n * @link [API Docs](https://tanstack.com/table/v8/docs/api/core/headers#getrightfootergroups)\n * @link [Guide](https://tanstack.com/table/v8/docs/guide/headers)\n */\n getRightFooterGroups: () => HeaderGroup<TData>[]\n\n /**\n * Returns headers for all columns in the table, including parent headers.\n * @link [API Docs](https://tanstack.com/table/v8/docs/api/core/headers#getflatheaders)\n * @link [Guide](https://tanstack.com/table/v8/docs/guide/headers)\n */\n getFlatHeaders: () => Header<TData, unknown>[]\n /**\n * If pinning, returns headers for all left pinned columns in the table, including parent headers.\n * @link [API Docs](https://tanstack.com/table/v8/docs/api/core/headers#getleftflatheaders)\n * @link [Guide](https://tanstack.com/table/v8/docs/guide/headers)\n */\n getLeftFlatHeaders: () => Header<TData, unknown>[]\n /**\n * If pinning, returns headers for all columns that are not pinned, including parent headers.\n * @link [API Docs](https://tanstack.com/table/v8/docs/api/core/headers#getcenterflatheaders)\n * @link [Guide](https://tanstack.com/table/v8/docs/guide/headers)\n */\n getCenterFlatHeaders: () => Header<TData, unknown>[]\n /**\n * If pinning, returns headers for all right pinned columns in the table, including parent headers.\n * @link [API Docs](https://tanstack.com/table/v8/docs/api/core/headers#getrightflatheaders)\n * @link [Guide](https://tanstack.com/table/v8/docs/guide/headers)\n */\n getRightFlatHeaders: () => Header<TData, unknown>[]\n\n /**\n * Returns headers for all leaf columns in the table, (not including parent headers).\n * @link [API Docs](https://tanstack.com/table/v8/docs/api/core/headers#getleafheaders)\n * @link [Guide](https://tanstack.com/table/v8/docs/guide/headers)\n */\n getLeafHeaders: () => Header<TData, unknown>[]\n /**\n * If pinning, returns headers for all left pinned leaf columns in the table, (not including parent headers).\n * @link [API Docs](https://tanstack.com/table/v8/docs/api/core/headers#getleftleafheaders)\n * @link [Guide](https://tanstack.com/table/v8/docs/guide/headers)\n */\n getLeftLeafHeaders: () => Header<TData, unknown>[]\n /**\n * If pinning, returns headers for all columns that are not pinned, (not including parent headers).\n * @link [API Docs](https://tanstack.com/table/v8/docs/api/core/headers#getcenterleafheaders)\n * @link [Guide](https://tanstack.com/table/v8/docs/guide/headers)\n */\n getCenterLeafHeaders: () => Header<TData, unknown>[]\n /**\n * If pinning, returns headers for all right pinned leaf columns in the table, (not including parent headers).\n * @link [API Docs](https://tanstack.com/table/v8/docs/api/core/headers#getrightleafheaders)\n * @link [Guide](https://tanstack.com/table/v8/docs/guide/headers)\n */\n getRightLeafHeaders: () => Header<TData, unknown>[]\n}\n\n//\n\nfunction createHeader<TData extends RowData, TValue>(\n table: Table<TData>,\n column: Column<TData, TValue>,\n options: {\n id?: string\n isPlaceholder?: boolean\n placeholderId?: string\n index: number\n depth: number\n }\n): Header<TData, TValue> {\n const id = options.id ?? column.id\n\n let header: CoreHeader<TData, TValue> = {\n id,\n column,\n index: options.index,\n isPlaceholder: !!options.isPlaceholder,\n placeholderId: options.placeholderId,\n depth: options.depth,\n subHeaders: [],\n colSpan: 0,\n rowSpan: 0,\n headerGroup: null!,\n getLeafHeaders: (): Header<TData, unknown>[] => {\n const leafHeaders: Header<TData, unknown>[] = []\n\n const recurseHeader = (h: CoreHeader<TData, any>) => {\n if (h.subHeaders && h.subHeaders.length) {\n h.subHeaders.map(recurseHeader)\n }\n leafHeaders.push(h as Header<TData, unknown>)\n }\n\n recurseHeader(header)\n\n return leafHeaders\n },\n getContext: () => ({\n table,\n header: header as Header<TData, TValue>,\n column,\n }),\n }\n\n table._features.forEach(feature => {\n feature.createHeader?.(header, table)\n })\n\n return header as Header<TData, TValue>\n}\n\nexport const Headers: TableFeature = {\n createTable: <TData extends RowData>(table: Table<TData>): void => {\n // Header Groups\n\n table.getHeaderGroups = memo(\n () => [\n table.getAllColumns(),\n table.getVisibleLeafColumns(),\n table.getState().columnPinning.left,\n table.getState().columnPinning.right,\n ],\n (allColumns, leafColumns, left, right) => {\n const leftColumns =\n left\n ?.map(columnId => leafColumns.find(d => d.id === columnId)!)\n .filter(Boolean) ?? []\n\n const rightColumns =\n right\n ?.map(columnId => leafColumns.find(d => d.id === columnId)!)\n .filter(Boolean) ?? []\n\n const centerColumns = leafColumns.filter(\n column => !left?.includes(column.id) && !right?.includes(column.id)\n )\n\n const headerGroups = buildHeaderGroups(\n allColumns,\n [...leftColumns, ...centerColumns, ...rightColumns],\n table\n )\n\n return headerGroups\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getHeaderGroups',\n debug: () => table.options.debugAll ?? table.options.debugHeaders,\n }\n )\n\n table.getCenterHeaderGroups = memo(\n () => [\n table.getAllColumns(),\n table.getVisibleLeafColumns(),\n table.getState().columnPinning.left,\n table.getState().columnPinning.right,\n ],\n (allColumns, leafColumns, left, right) => {\n leafColumns = leafColumns.filter(\n column => !left?.includes(column.id) && !right?.includes(column.id)\n )\n return buildHeaderGroups(allColumns, leafColumns, table, 'center')\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getCenterHeaderGroups',\n debug: () => table.options.debugAll ?? table.options.debugHeaders,\n }\n )\n\n table.getLeftHeaderGroups = memo(\n () => [\n table.getAllColumns(),\n table.getVisibleLeafColumns(),\n table.getState().columnPinning.left,\n ],\n (allColumns, leafColumns, left) => {\n const orderedLeafColumns =\n left\n ?.map(columnId => leafColumns.find(d => d.id === columnId)!)\n .filter(Boolean) ?? []\n\n return buildHeaderGroups(allColumns, orderedLeafColumns, table, 'left')\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getLeftHeaderGroups',\n debug: () => table.options.debugAll ?? table.options.debugHeaders,\n }\n )\n\n table.getRightHeaderGroups = memo(\n () => [\n table.getAllColumns(),\n table.getVisibleLeafColumns(),\n table.getState().columnPinning.right,\n ],\n (allColumns, leafColumns, right) => {\n const orderedLeafColumns =\n right\n ?.map(columnId => leafColumns.find(d => d.id === columnId)!)\n .filter(Boolean) ?? []\n\n return buildHeaderGroups(allColumns, orderedLeafColumns, table, 'right')\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getRightHeaderGroups',\n debug: () => table.options.debugAll ?? table.options.debugHeaders,\n }\n )\n\n // Footer Groups\n\n table.getFooterGroups = memo(\n () => [table.getHeaderGroups()],\n headerGroups => {\n return [...headerGroups].reverse()\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getFooterGroups',\n debug: () => table.options.debugAll ?? table.options.debugHeaders,\n }\n )\n\n table.getLeftFooterGroups = memo(\n () => [table.getLeftHeaderGroups()],\n headerGroups => {\n return [...headerGroups].reverse()\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getLeftFooterGroups',\n debug: () => table.options.debugAll ?? table.options.debugHeaders,\n }\n )\n\n table.getCenterFooterGroups = memo(\n () => [table.getCenterHeaderGroups()],\n headerGroups => {\n return [...headerGroups].reverse()\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getCenterFooterGroups',\n debug: () => table.options.debugAll ?? table.options.debugHeaders,\n }\n )\n\n table.getRightFooterGroups = memo(\n () => [table.getRightHeaderGroups()],\n headerGroups => {\n return [...headerGroups].reverse()\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getRightFooterGroups',\n debug: () => table.options.debugAll ?? table.options.debugHeaders,\n }\n )\n\n // Flat Headers\n\n table.getFlatHeaders = memo(\n () => [table.getHeaderGroups()],\n headerGroups => {\n return headerGroups\n .map(headerGroup => {\n return headerGroup.headers\n })\n .flat()\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getFlatHeaders',\n debug: () => table.options.debugAll ?? table.options.debugHeaders,\n }\n )\n\n table.getLeftFlatHeaders = memo(\n () => [table.getLeftHeaderGroups()],\n left => {\n return left\n .map(headerGroup => {\n return headerGroup.headers\n })\n .flat()\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getLeftFlatHeaders',\n debug: () => table.options.debugAll ?? table.options.debugHeaders,\n }\n )\n\n table.getCenterFlatHeaders = memo(\n () => [table.getCenterHeaderGroups()],\n left => {\n return left\n .map(headerGroup => {\n return headerGroup.headers\n })\n .flat()\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getCenterFlatHeaders',\n debug: () => table.options.debugAll ?? table.options.debugHeaders,\n }\n )\n\n table.getRightFlatHeaders = memo(\n () => [table.getRightHeaderGroups()],\n left => {\n return left\n .map(headerGroup => {\n return headerGroup.headers\n })\n .flat()\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getRightFlatHeaders',\n debug: () => table.options.debugAll ?? table.options.debugHeaders,\n }\n )\n\n // Leaf Headers\n\n table.getCenterLeafHeaders = memo(\n () => [table.getCenterFlatHeaders()],\n flatHeaders => {\n return flatHeaders.filter(header => !header.subHeaders?.length)\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getCenterLeafHeaders',\n debug: () => table.options.debugAll ?? table.options.debugHeaders,\n }\n )\n\n table.getLeftLeafHeaders = memo(\n () => [table.getLeftFlatHeaders()],\n flatHeaders => {\n return flatHeaders.filter(header => !header.subHeaders?.length)\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getLeftLeafHeaders',\n debug: () => table.options.debugAll ?? table.options.debugHeaders,\n }\n )\n\n table.getRightLeafHeaders = memo(\n () => [table.getRightFlatHeaders()],\n flatHeaders => {\n return flatHeaders.filter(header => !header.subHeaders?.length)\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getRightLeafHeaders',\n debug: () => table.options.debugAll ?? table.options.debugHeaders,\n }\n )\n\n table.getLeafHeaders = memo(\n () => [\n table.getLeftHeaderGroups(),\n table.getCenterHeaderGroups(),\n table.getRightHeaderGroups(),\n ],\n (left, center, right) => {\n return [\n ...(left[0]?.headers ?? []),\n ...(center[0]?.headers ?? []),\n ...(right[0]?.headers ?? []),\n ]\n .map(header => {\n return header.getLeafHeaders()\n })\n .flat()\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getLeafHeaders',\n debug: () => table.options.debugAll ?? table.options.debugHeaders,\n }\n )\n },\n}\n\nexport function buildHeaderGroups<TData extends RowData>(\n allColumns: Column<TData, unknown>[],\n columnsToGroup: Column<TData, unknown>[],\n table: Table<TData>,\n headerFamily?: 'center' | 'left' | 'right'\n) {\n // Find the max depth of the columns:\n // build the leaf column row\n // build each buffer row going up\n // placeholder for non-existent level\n // real column for existing level\n\n let maxDepth = 0\n\n const findMaxDepth = (columns: Column<TData, unknown>[], depth = 1) => {\n maxDepth = Math.max(maxDepth, depth)\n\n columns\n .filter(column => column.getIsVisible())\n .forEach(column => {\n if (column.columns?.length) {\n findMaxDepth(column.columns, depth + 1)\n }\n }, 0)\n }\n\n findMaxDepth(allColumns)\n\n let headerGroups: HeaderGroup<TData>[] = []\n\n const createHeaderGroup = (\n headersToGroup: Header<TData, unknown>[],\n depth: number\n ) => {\n // The header group we are creating\n const headerGroup: HeaderGroup<TData> = {\n depth,\n id: [headerFamily, `${depth}`].filter(Boolean).join('_'),\n headers: [],\n }\n\n // The parent columns we're going to scan next\n const pendingParentHeaders: Header<TData, unknown>[] = []\n\n // Scan each column for parents\n headersToGroup.forEach(headerToGroup => {\n // What is the latest (last) parent column?\n\n const latestPendingParentHeader = [...pendingParentHeaders].reverse()[0]\n\n const isLeafHeader = headerToGroup.column.depth === headerGroup.depth\n\n let column: Column<TData, unknown>\n let isPlaceholder = false\n\n if (isLeafHeader && headerToGroup.column.parent) {\n // The parent header is new\n column = headerToGroup.column.parent\n } else {\n // The parent header is repeated\n column = headerToGroup.column\n isPlaceholder = true\n }\n\n if (\n latestPendingParentHeader &&\n latestPendingParentHeader?.column === column\n ) {\n // This column is repeated. Add it as a sub header to the next batch\n latestPendingParentHeader.subHeaders.push(headerToGroup)\n } else {\n // This is a new header. Let's create it\n const header = createHeader(table, column, {\n id: [headerFamily, depth, column.id, headerToGroup?.id]\n .filter(Boolean)\n .join('_'),\n isPlaceholder,\n placeholderId: isPlaceholder\n ? `${pendingParentHeaders.filter(d => d.column === column).length}`\n : undefined,\n depth,\n index: pendingParentHeaders.length,\n })\n\n // Add the headerToGroup as a subHeader of the new header\n header.subHeaders.push(headerToGroup)\n // Add the new header to the pendingParentHeaders to get grouped\n // in the next batch\n pendingParentHeaders.push(header)\n }\n\n headerGroup.headers.push(headerToGroup)\n headerToGroup.headerGroup = headerGroup\n })\n\n headerGroups.push(headerGroup)\n\n if (depth > 0) {\n createHeaderGroup(pendingParentHeaders, depth - 1)\n }\n }\n\n const bottomHeaders = columnsToGroup.map((column, index) =>\n createHeader(table, column, {\n depth: maxDepth,\n index,\n })\n )\n\n createHeaderGroup(bottomHeaders, maxDepth - 1)\n\n headerGroups.reverse()\n\n // headerGroups = headerGroups.filter(headerGroup => {\n // return !headerGroup.headers.every(header => header.isPlaceholder)\n // })\n\n const recurseHeadersForSpans = (\n headers: Header<TData, unknown>[]\n ): { colSpan: number; rowSpan: number }[] => {\n const filteredHeaders = headers.filter(header =>\n header.column.getIsVisible()\n )\n\n return filteredHeaders.map(header => {\n let colSpan = 0\n let rowSpan = 0\n let childRowSpans = [0]\n\n if (header.subHeaders && header.subHeaders.length) {\n childRowSpans = []\n\n recurseHeadersForSpans(header.subHeaders).forEach(\n ({ colSpan: childColSpan, rowSpan: childRowSpan }) => {\n colSpan += childColSpan\n childRowSpans.push(childRowSpan)\n }\n )\n } else {\n colSpan = 1\n }\n\n const minChildRowSpan = Math.min(...childRowSpans)\n rowSpan = rowSpan + minChildRowSpan\n\n header.colSpan = colSpan\n header.rowSpan = rowSpan\n\n return { colSpan, rowSpan }\n })\n }\n\n recurseHeadersForSpans(headerGroups[0]?.headers ?? [])\n\n return headerGroups\n}\n"],"names":["createHeader","table","column","options","_options$id","id","header","index","isPlaceholder","placeholderId","depth","subHeaders","colSpan","rowSpan","headerGroup","getLeafHeaders","leafHeaders","recurseHeader","h","length","map","push","getContext","_features","forEach","feature","Headers","createTable","getHeaderGroups","memo","getAllColumns","getVisibleLeafColumns","getState","columnPinning","left","right","allColumns","leafColumns","_left$map$filter","_right$map$filter","leftColumns","columnId","find","d","filter","Boolean","rightColumns","centerColumns","includes","headerGroups","buildHeaderGroups","key","process","env","NODE_ENV","debug","_table$options$debugA","debugAll","debugHeaders","getCenterHeaderGroups","_table$options$debugA2","getLeftHeaderGroups","_left$map$filter2","orderedLeafColumns","_table$options$debugA3","getRightHeaderGroups","_right$map$filter2","_table$options$debugA4","getFooterGroups","reverse","_table$options$debugA5","getLeftFooterGroups","_table$options$debugA6","getCenterFooterGroups","_table$options$debugA7","getRightFooterGroups","_table$options$debugA8","getFlatHeaders","headers","flat","_table$options$debugA9","getLeftFlatHeaders","_table$options$debugA10","getCenterFlatHeaders","_table$options$debugA11","getRightFlatHeaders","_table$options$debugA12","getCenterLeafHeaders","flatHeaders","_header$subHeaders","_table$options$debugA13","getLeftLeafHeaders","_header$subHeaders2","_table$options$debugA14","getRightLeafHeaders","_header$subHeaders3","_table$options$debugA15","center","_left$0$headers","_left$","_center$0$headers","_center$","_right$0$headers","_right$","_table$options$debugA16","columnsToGroup","headerFamily","_headerGroups$0$heade","_headerGroups$","maxDepth","findMaxDepth","columns","Math","max","getIsVisible","_column$columns","createHeaderGroup","headersToGroup","join","pendingParentHeaders","headerToGroup","latestPendingParentHeader","isLeafHeader","parent","undefined","bottomHeaders","recurseHeadersForSpans","filteredHeaders","childRowSpans","_ref","childColSpan","childRowSpan","minChildRowSpan","min"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table.js","sources":["../../../src/core/table.ts"],"sourcesContent":["import { functionalUpdate, memo, RequiredKeys } from '../utils'\n\nimport {\n Updater,\n TableOptionsResolved,\n TableState,\n Table,\n InitialTableState,\n Row,\n Column,\n RowModel,\n ColumnDef,\n TableOptions,\n RowData,\n TableMeta,\n ColumnDefResolved,\n GroupColumnDef,\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 interface TableFeature {\n createCell?: (cell: any, column: any, row: any, table: any) => any\n createColumn?: (column: any, table: any) => any\n createHeader?: (column: any, table: any) => any\n createRow?: (row: any, table: any) => any\n createTable?: (table: any) => any\n getDefaultColumnDef?: () => any\n getDefaultOptions?: (table: any) => any\n getInitialState?: (initialState?: InitialTableState) => 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 interface CoreTableState {}\n\nexport interface CoreOptions<TData extends RowData> {\n /**\n * Set this option to override any of the `autoReset...` feature options.\n * @link [API Docs](https://tanstack.com/table/v8/docs/api/core/table#autoresetall)\n * @link [Guide](https://tanstack.com/table/v8/docs/guide/tables)\n */\n autoResetAll?: boolean\n /**\n * The array of column defs to use for the table.\n * @link [API Docs](https://tanstack.com/table/v8/docs/api/core/table#columns)\n * @link [Guide](https://tanstack.com/table/v8/docs/guide/tables)\n */\n columns: ColumnDef<TData, any>[]\n /**\n * The data for the table to display. This array should match the type you provided to `table.setRowType<...>`. Columns can access this data via string/index or a functional accessor. When the `data` option changes reference, the table will reprocess the data.\n * @link [API Docs](https://tanstack.com/table/v8/docs/api/core/table#data)\n * @link [Guide](https://tanstack.com/table/v8/docs/guide/tables)\n */\n data: TData[]\n /**\n * Set this option to `true` to output all debugging information to the console.\n * @link [API Docs](https://tanstack.com/table/v8/docs/api/core/table#debugall)\n * @link [Guide](https://tanstack.com/table/v8/docs/guide/tables)\n */\n debugAll?: boolean\n /**\n * Set this option to `true` to output column debugging information to the console.\n * @link [API Docs](https://tanstack.com/table/v8/docs/api/core/table#debugcolumns)\n * @link [Guide](https://tanstack.com/table/v8/docs/guide/tables)\n */\n debugColumns?: boolean\n /**\n * Set this option to `true` to output header debugging information to the console.\n * @link [API Docs](https://tanstack.com/table/v8/docs/api/core/table#debugheaders)\n * @link [Guide](https://tanstack.com/table/v8/docs/guide/tables)\n */\n debugHeaders?: boolean\n /**\n * Set this option to `true` to output row debugging information to the console.\n * @link [API Docs](https://tanstack.com/table/v8/docs/api/core/table#debugrows)\n * @link [Guide](https://tanstack.com/table/v8/docs/guide/tables)\n */\n debugRows?: boolean\n /**\n * Set this option to `true` to output table debugging information to the console.\n * @link [API Docs](https://tanstack.com/table/v8/docs/api/core/table#debugtable)\n * @link [Guide](https://tanstack.com/table/v8/docs/guide/tables)\n */\n debugTable?: boolean\n /**\n * Default column options to use for all column defs supplied to the table.\n * @link [API Docs](https://tanstack.com/table/v8/docs/api/core/table#defaultcolumn)\n * @link [Guide](https://tanstack.com/table/v8/docs/guide/tables)\n */\n defaultColumn?: Partial<ColumnDef<TData, unknown>>\n /**\n * This required option is a factory for a function that computes and returns the core row model for the table.\n * @link [API Docs](https://tanstack.com/table/v8/docs/api/core/table#getcorerowmodel)\n * @link [Guide](https://tanstack.com/table/v8/docs/guide/tables)\n */\n getCoreRowModel: (table: Table<any>) => () => RowModel<any>\n /**\n * This optional function is used to derive a unique ID for any given row. If not provided the rows index is used (nested rows join together with `.` using their grandparents' index eg. `index.index.index`). If you need to identify individual rows that are originating from any server-side operations, it's suggested you use this function to return an ID that makes sense regardless of network IO/ambiguity eg. a userId, taskId, database ID field, etc.\n * @example getRowId: row => row.userId\n * @link [API Docs](https://tanstack.com/table/v8/docs/api/core/table#getrowid)\n * @link [Guide](https://tanstack.com/table/v8/docs/guide/tables)\n */\n getRowId?: (originalRow: TData, index: number, parent?: Row<TData>) => string\n /**\n * This optional function is used to access the sub rows for any given row. If you are using nested rows, you will need to use this function to return the sub rows object (or undefined) from the row.\n * @example getSubRows: row => row.subRows\n * @link [API Docs](https://tanstack.com/table/v8/docs/api/core/table#getsubrows)\n * @link [Guide](https://tanstack.com/table/v8/docs/guide/tables)\n */\n getSubRows?: (originalRow: TData, index: number) => undefined | TData[]\n /**\n * Use this option to optionally pass initial state to the table. This state will be used when resetting various table states either automatically by the table (eg. `options.autoResetPageIndex`) or via functions like `table.resetRowSelection()`. Most reset function allow you optionally pass a flag to reset to a blank/default state instead of the initial state.\n *\n * Table state will not be reset when this object changes, which also means that the initial state object does not need to be stable.\n *\n * @link [API Docs](https://tanstack.com/table/v8/docs/api/core/table#initialstate)\n * @link [Guide](https://tanstack.com/table/v8/docs/guide/tables)\n */\n initialState?: InitialTableState\n /**\n * This option is used to optionally implement the merging of table options.\n * @link [API Docs](https://tanstack.com/table/v8/docs/api/core/table#mergeoptions)\n * @link [Guide](https://tanstack.com/table/v8/docs/guide/tables)\n */\n mergeOptions?: (\n defaultOptions: TableOptions<TData>,\n options: Partial<TableOptions<TData>>\n ) => TableOptions<TData>\n /**\n * You can pass any object to `options.meta` and access it anywhere the `table` is available via `table.options.meta`.\n * @link [API Docs](https://tanstack.com/table/v8/docs/api/core/table#meta)\n * @link [Guide](https://tanstack.com/table/v8/docs/guide/tables)\n */\n meta?: TableMeta<TData>\n /**\n * The `onStateChange` option can be used to optionally listen to state changes within the table.\n * @link [API Docs](https://tanstack.com/table/v8/docs/api/core/table#onstatechange)\n * @link [Guide](https://tanstack.com/table/v8/docs/guide/tables)\n */\n onStateChange: (updater: Updater<TableState>) => void\n /**\n * Value used when the desired value is not found in the data.\n * @link [API Docs](https://tanstack.com/table/v8/docs/api/core/table#renderfallbackvalue)\n * @link [Guide](https://tanstack.com/table/v8/docs/guide/tables)\n */\n renderFallbackValue: any\n /**\n * The `state` option can be used to optionally _control_ part or all of the table state. The state you pass here will merge with and overwrite the internal automatically-managed state to produce the final state for the table. You can also listen to state changes via the `onStateChange` option.\n * > Note: Any state passed in here will override both the internal state and any other `initialState` you provide.\n * @link [API Docs](https://tanstack.com/table/v8/docs/api/core/table#state)\n * @link [Guide](https://tanstack.com/table/v8/docs/guide/tables)\n */\n state: Partial<TableState>\n}\n\nexport interface CoreInstance<TData extends RowData> {\n _features: readonly TableFeature[]\n _getAllFlatColumnsById: () => Record<string, Column<TData, unknown>>\n _getColumnDefs: () => ColumnDef<TData, unknown>[]\n _getCoreRowModel?: () => RowModel<TData>\n _getDefaultColumnDef: () => Partial<ColumnDef<TData, unknown>>\n _getRowId: (_: TData, index: number, parent?: Row<TData>) => string\n _queue: (cb: () => void) => void\n /**\n * Returns all columns in the table in their normalized and nested hierarchy.\n * @link [API Docs](https://tanstack.com/table/v8/docs/api/core/table#getallcolumns)\n * @link [Guide](https://tanstack.com/table/v8/docs/guide/tables)\n */\n getAllColumns: () => Column<TData, unknown>[]\n /**\n * Returns all columns in the table flattened to a single level.\n * @link [API Docs](https://tanstack.com/table/v8/docs/api/core/table#getallflatcolumns)\n * @link [Guide](https://tanstack.com/table/v8/docs/guide/tables)\n */\n getAllFlatColumns: () => Column<TData, unknown>[]\n /**\n * Returns all leaf-node columns in the table flattened to a single level. This does not include parent columns.\n * @link [API Docs](https://tanstack.com/table/v8/docs/api/core/table#getallleafcolumns)\n * @link [Guide](https://tanstack.com/table/v8/docs/guide/tables)\n */\n getAllLeafColumns: () => Column<TData, unknown>[]\n /**\n * Returns a single column by its ID.\n * @link [API Docs](https://tanstack.com/table/v8/docs/api/core/table#getcolumn)\n * @link [Guide](https://tanstack.com/table/v8/docs/guide/tables)\n */\n getColumn: (columnId: string) => Column<TData, unknown> | undefined\n /**\n * Returns the core row model before any processing has been applied.\n * @link [API Docs](https://tanstack.com/table/v8/docs/api/core/table#getcorerowmodel)\n * @link [Guide](https://tanstack.com/table/v8/docs/guide/tables)\n */\n getCoreRowModel: () => RowModel<TData>\n /**\n * Returns the row with the given ID.\n * @link [API Docs](https://tanstack.com/table/v8/docs/api/core/table#getrow)\n * @link [Guide](https://tanstack.com/table/v8/docs/guide/tables)\n */\n getRow: (id: string, searchAll?: boolean) => Row<TData>\n /**\n * Returns the final model after all processing from other used features has been applied. This is the row model that is most commonly used for rendering.\n * @link [API Docs](https://tanstack.com/table/v8/docs/api/core/table#getrowmodel)\n * @link [Guide](https://tanstack.com/table/v8/docs/guide/tables)\n */\n getRowModel: () => RowModel<TData>\n /**\n * Call this function to get the table's current state. It's recommended to use this function and its state, especially when managing the table state manually. It is the exact same state used internally by the table for every feature and function it provides.\n * @link [API Docs](https://tanstack.com/table/v8/docs/api/core/table#getstate)\n * @link [Guide](https://tanstack.com/table/v8/docs/guide/tables)\n */\n getState: () => TableState\n /**\n * This is the resolved initial state of the table.\n * @link [API Docs](https://tanstack.com/table/v8/docs/api/core/table#initialstate)\n * @link [Guide](https://tanstack.com/table/v8/docs/guide/tables)\n */\n initialState: TableState\n /**\n * A read-only reference to the table's current options.\n * @link [API Docs](https://tanstack.com/table/v8/docs/api/core/table#options)\n * @link [Guide](https://tanstack.com/table/v8/docs/guide/tables)\n */\n options: RequiredKeys<TableOptionsResolved<TData>, 'state'>\n /**\n * Call this function to reset the table state to the initial state.\n * @link [API Docs](https://tanstack.com/table/v8/docs/api/core/table#reset)\n * @link [Guide](https://tanstack.com/table/v8/docs/guide/tables)\n */\n reset: () => void\n /**\n * This function can be used to update the table options.\n * @link [API Docs](https://tanstack.com/table/v8/docs/api/core/table#setoptions)\n * @link [Guide](https://tanstack.com/table/v8/docs/guide/tables)\n */\n setOptions: (newOptions: Updater<TableOptionsResolved<TData>>) => void\n /**\n * Call this function to update the table state.\n * @link [API Docs](https://tanstack.com/table/v8/docs/api/core/table#setstate)\n * @link [Guide](https://tanstack.com/table/v8/docs/guide/tables)\n */\n setState: (updater: Updater<TableState>) => void\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 //in next version, we should just pass in the row model as the optional 2nd arg\n getRow: (id: string, searchAll?: boolean) => {\n let row = (\n searchAll ? table.getPrePaginationRowModel() : table.getRowModel()\n ).rowsById[id]\n\n if (!row) {\n row = table.getCoreRowModel().rowsById[id]\n if (!row) {\n if (process.env.NODE_ENV !== 'production') {\n throw new Error(`getRow could not find row with ID: ${id}`)\n }\n throw new Error()\n }\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 ColumnDefResolved<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 const groupingColumnDef = columnDef as GroupColumnDef<\n TData,\n unknown\n >\n\n column.columns = groupingColumnDef.columns\n ? recurseColumns(groupingColumnDef.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(\n (acc, column) => {\n acc[column.id] = column\n return acc\n },\n {} as Record<string, Column<TData, unknown>>\n )\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 (process.env.NODE_ENV !== 'production' && !column) {\n console.error(`[Table] Column with id '${columnId}' does not exist.`)\n }\n\n return column\n },\n }\n\n Object.assign(table, coreInstance)\n\n for (let index = 0; index < table._features.length; index++) {\n const feature = table._features[index]\n 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","_options$initialState","debugAll","debugTable","console","info","table","_features","defaultOptions","reduce","obj","feature","Object","assign","getDefaultOptions","mergeOptions","coreInitialState","initialState","forEach","_feature$getInitialSt","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","_table$options$getRow","getRowId","id","join","getCoreRowModel","_getCoreRowModel","getRowModel","getPaginationRowModel","getRow","searchAll","getPrePaginationRowModel","rowsById","process","env","NODE_ENV","Error","_getDefaultColumnDef","memo","defaultColumn","_defaultColumn","header","props","resolvedColumnDef","column","columnDef","accessorKey","accessorFn","cell","_props$renderValue$to","_props$renderValue","renderValue","toString","getDefaultColumnDef","debug","_table$options$debugA","debugColumns","key","_getColumnDefs","columns","getAllColumns","columnDefs","recurseColumns","depth","map","createColumn","groupingColumnDef","_table$options$debugA2","getAllFlatColumns","allColumns","flatMap","getFlatColumns","_table$options$debugA3","_getAllFlatColumnsById","flatColumns","acc","_table$options$debugA4","getAllLeafColumns","_getOrderColumnsFn","orderColumns","leafColumns","getLeafColumns","_table$options$debugA5","getColumn","columnId"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AA8CA,MAAMA,QAAQ,GAAG,CACfC,eAAO,EACPC,qBAAU,EACVC,iBAAQ,EACRC,eAAO,EACPC,eAAO,EACPC,eAAO,EACPC,iBAAQ,EACRC,mBAAS,EACTC,qBAAU,EACVC,yBAAY,EACZC,yBAAY,CACJ,CAAA;;AAEV;;AAoNO,SAASC,WAAWA,CACzBC,OAAoC,EACtB;AAAA,EAAA,IAAAC,qBAAA,CAAA;AACd,EAAA,IAAID,OAAO,CAACE,QAAQ,IAAIF,OAAO,CAACG,UAAU,EAAE;AAC1CC,IAAAA,OAAO,CAACC,IAAI,CAAC,4BAA4B,CAAC,CAAA;AAC5C,GAAA;AAEA,EAAA,IAAIC,KAAK,GAAG;AAAEC,IAAAA,SAAS,EAAEpB,QAAAA;GAAqC,CAAA;AAE9D,EAAA,MAAMqB,cAAc,GAAGF,KAAK,CAACC,SAAS,CAACE,MAAM,CAAC,CAACC,GAAG,EAAEC,OAAO,KAAK;AAC9D,IAAA,OAAOC,MAAM,CAACC,MAAM,CAACH,GAAG,EAAEC,OAAO,CAACG,iBAAiB,IAAA,IAAA,GAAA,KAAA,CAAA,GAAzBH,OAAO,CAACG,iBAAiB,CAAGR,KAAK,CAAC,CAAC,CAAA;GAC9D,EAAE,EAAE,CAAgC,CAAA;EAErC,MAAMS,YAAY,GAAIf,OAAoC,IAAK;AAC7D,IAAA,IAAIM,KAAK,CAACN,OAAO,CAACe,YAAY,EAAE;MAC9B,OAAOT,KAAK,CAACN,OAAO,CAACe,YAAY,CAACP,cAAc,EAAER,OAAO,CAAC,CAAA;AAC5D,KAAA;IAEA,OAAO;AACL,MAAA,GAAGQ,cAAc;MACjB,GAAGR,OAAAA;KACJ,CAAA;GACF,CAAA;EAED,MAAMgB,gBAAgC,GAAG,EAAE,CAAA;AAE3C,EAAA,IAAIC,YAAY,GAAG;AACjB,IAAA,GAAGD,gBAAgB;IACnB,IAAAf,CAAAA,qBAAA,GAAID,OAAO,CAACiB,YAAY,KAAAhB,IAAAA,GAAAA,qBAAA,GAAI,EAAE,CAAA;GACjB,CAAA;AAEfK,EAAAA,KAAK,CAACC,SAAS,CAACW,OAAO,CAACP,OAAO,IAAI;AAAA,IAAA,IAAAQ,qBAAA,CAAA;AACjCF,IAAAA,YAAY,IAAAE,qBAAA,GAAGR,OAAO,CAACS,eAAe,IAAvBT,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,OAAO,CAACS,eAAe,CAAGH,YAAY,CAAC,KAAAE,IAAAA,GAAAA,qBAAA,GAAIF,YAAY,CAAA;AACxE,GAAC,CAAC,CAAA;EAEF,MAAMI,MAAsB,GAAG,EAAE,CAAA;EACjC,IAAIC,aAAa,GAAG,KAAK,CAAA;AAEzB,EAAA,MAAMC,YAAiC,GAAG;AACxChB,IAAAA,SAAS,EAAEpB,QAAQ;AACnBa,IAAAA,OAAO,EAAE;AACP,MAAA,GAAGQ,cAAc;MACjB,GAAGR,OAAAA;KACJ;IACDiB,YAAY;IACZO,MAAM,EAAEC,EAAE,IAAI;AACZJ,MAAAA,MAAM,CAACK,IAAI,CAACD,EAAE,CAAC,CAAA;MAEf,IAAI,CAACH,aAAa,EAAE;AAClBA,QAAAA,aAAa,GAAG,IAAI,CAAA;;AAEpB;AACA;AACAK,QAAAA,OAAO,CAACC,OAAO,EAAE,CACdC,IAAI,CAAC,MAAM;UACV,OAAOR,MAAM,CAACS,MAAM,EAAE;AACpBT,YAAAA,MAAM,CAACU,KAAK,EAAE,EAAG,CAAA;AACnB,WAAA;AACAT,UAAAA,aAAa,GAAG,KAAK,CAAA;SACtB,CAAC,CACDU,KAAK,CAACC,KAAK,IACVC,UAAU,CAAC,MAAM;AACf,UAAA,MAAMD,KAAK,CAAA;AACb,SAAC,CACH,CAAC,CAAA;AACL,OAAA;KACD;IACDE,KAAK,EAAEA,MAAM;AACX7B,MAAAA,KAAK,CAAC8B,QAAQ,CAAC9B,KAAK,CAACW,YAAY,CAAC,CAAA;KACnC;IACDoB,UAAU,EAAEC,OAAO,IAAI;MACrB,MAAMC,UAAU,GAAGC,sBAAgB,CAACF,OAAO,EAAEhC,KAAK,CAACN,OAAO,CAAC,CAAA;AAC3DM,MAAAA,KAAK,CAACN,OAAO,GAAGe,YAAY,CAACwB,UAAU,CAGtC,CAAA;KACF;IAEDE,QAAQ,EAAEA,MAAM;AACd,MAAA,OAAOnC,KAAK,CAACN,OAAO,CAAC0C,KAAK,CAAA;KAC3B;IAEDN,QAAQ,EAAGE,OAA4B,IAAK;AAC1ChC,MAAAA,KAAK,CAACN,OAAO,CAAC2C,aAAa,IAA3BrC,IAAAA,IAAAA,KAAK,CAACN,OAAO,CAAC2C,aAAa,CAAGL,OAAO,CAAC,CAAA;KACvC;AAEDM,IAAAA,SAAS,EAAEA,CAACC,GAAU,EAAEC,KAAa,EAAEC,MAAmB,KAAA;AAAA,MAAA,IAAAC,qBAAA,CAAA;AAAA,MAAA,OAAA,CAAAA,qBAAA,GACxD1C,KAAK,CAACN,OAAO,CAACiD,QAAQ,IAAtB3C,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,KAAK,CAACN,OAAO,CAACiD,QAAQ,CAAGJ,GAAG,EAAEC,KAAK,EAAEC,MAAM,CAAC,KAAAC,IAAAA,GAAAA,qBAAA,GAC3C,CAAED,EAAAA,MAAM,GAAG,CAACA,MAAM,CAACG,EAAE,EAAEJ,KAAK,CAAC,CAACK,IAAI,CAAC,GAAG,CAAC,GAAGL,KAAM,CAAC,CAAA,CAAA;AAAA,KAAA;IAEpDM,eAAe,EAAEA,MAAM;AACrB,MAAA,IAAI,CAAC9C,KAAK,CAAC+C,gBAAgB,EAAE;QAC3B/C,KAAK,CAAC+C,gBAAgB,GAAG/C,KAAK,CAACN,OAAO,CAACoD,eAAe,CAAC9C,KAAK,CAAC,CAAA;AAC/D,OAAA;AAEA,MAAA,OAAOA,KAAK,CAAC+C,gBAAgB,EAAG,CAAA;KACjC;AAED;AACA;;IAEAC,WAAW,EAAEA,MAAM;AACjB,MAAA,OAAOhD,KAAK,CAACiD,qBAAqB,EAAE,CAAA;KACrC;AACD;AACAC,IAAAA,MAAM,EAAEA,CAACN,EAAU,EAAEO,SAAmB,KAAK;MAC3C,IAAIZ,GAAG,GAAG,CACRY,SAAS,GAAGnD,KAAK,CAACoD,wBAAwB,EAAE,GAAGpD,KAAK,CAACgD,WAAW,EAAE,EAClEK,QAAQ,CAACT,EAAE,CAAC,CAAA;MAEd,IAAI,CAACL,GAAG,EAAE;QACRA,GAAG,GAAGvC,KAAK,CAAC8C,eAAe,EAAE,CAACO,QAAQ,CAACT,EAAE,CAAC,CAAA;QAC1C,IAAI,CAACL,GAAG,EAAE;AACR,UAAA,IAAIe,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,YAAY,EAAE;AACzC,YAAA,MAAM,IAAIC,KAAK,CAAE,CAAqCb,mCAAAA,EAAAA,EAAG,EAAC,CAAC,CAAA;AAC7D,WAAA;UACA,MAAM,IAAIa,KAAK,EAAE,CAAA;AACnB,SAAA;AACF,OAAA;AAEA,MAAA,OAAOlB,GAAG,CAAA;KACX;AACDmB,IAAAA,oBAAoB,EAAEC,UAAI,CACxB,MAAM,CAAC3D,KAAK,CAACN,OAAO,CAACkE,aAAa,CAAC,EACnCA,aAAa,IAAI;AAAA,MAAA,IAAAC,cAAA,CAAA;MACfD,aAAa,GAAA,CAAAC,cAAA,GAAID,aAAa,YAAAC,cAAA,GAAI,EAEjC,CAAA;MAED,OAAO;QACLC,MAAM,EAAEC,KAAK,IAAI;UACf,MAAMC,iBAAiB,GAAGD,KAAK,CAACD,MAAM,CAACG,MAAM,CAC1CC,SAAqC,CAAA;UAExC,IAAIF,iBAAiB,CAACG,WAAW,EAAE;YACjC,OAAOH,iBAAiB,CAACG,WAAW,CAAA;AACtC,WAAA;UAEA,IAAIH,iBAAiB,CAACI,UAAU,EAAE;YAChC,OAAOJ,iBAAiB,CAACpB,EAAE,CAAA;AAC7B,WAAA;AAEA,UAAA,OAAO,IAAI,CAAA;SACZ;AACD;AACAyB,QAAAA,IAAI,EAAEN,KAAK,IAAA;UAAA,IAAAO,qBAAA,EAAAC,kBAAA,CAAA;UAAA,OAAAD,CAAAA,qBAAA,IAAAC,kBAAA,GAAIR,KAAK,CAACS,WAAW,EAAO,KAAxBD,IAAAA,IAAAA,kBAAA,CAA0BE,QAAQ,IAAA,IAAA,GAAA,KAAA,CAAA,GAAlCF,kBAAA,CAA0BE,QAAQ,EAAI,KAAA,IAAA,GAAAH,qBAAA,GAAI,IAAI,CAAA;AAAA,SAAA;QAC7D,GAAGtE,KAAK,CAACC,SAAS,CAACE,MAAM,CAAC,CAACC,GAAG,EAAEC,OAAO,KAAK;AAC1C,UAAA,OAAOC,MAAM,CAACC,MAAM,CAACH,GAAG,EAAEC,OAAO,CAACqE,mBAAmB,oBAA3BrE,OAAO,CAACqE,mBAAmB,EAAI,CAAC,CAAA;SAC3D,EAAE,EAAE,CAAC;QACN,GAAGd,aAAAA;OACJ,CAAA;AACH,KAAC,EACD;AACEe,MAAAA,KAAK,EAAEA,MAAA;AAAA,QAAA,IAAAC,qBAAA,CAAA;AAAA,QAAA,OAAA,CAAAA,qBAAA,GAAM5E,KAAK,CAACN,OAAO,CAACE,QAAQ,KAAAgF,IAAAA,GAAAA,qBAAA,GAAI5E,KAAK,CAACN,OAAO,CAACmF,YAAY,CAAA;AAAA,OAAA;MACjEC,GAAG,EAAExB,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,aAAa,IAAI,qBAAA;AACjD,KACF,CAAC;AAEDuB,IAAAA,cAAc,EAAEA,MAAM/E,KAAK,CAACN,OAAO,CAACsF,OAAO;AAE3CC,IAAAA,aAAa,EAAEtB,UAAI,CACjB,MAAM,CAAC3D,KAAK,CAAC+E,cAAc,EAAE,CAAC,EAC9BG,UAAU,IAAI;MACZ,MAAMC,cAAc,GAAG,UACrBD,UAAuC,EACvCzC,MAA+B,EAC/B2C,KAAK,EACwB;AAAA,QAAA,IAD7BA,KAAK,KAAA,KAAA,CAAA,EAAA;AAALA,UAAAA,KAAK,GAAG,CAAC,CAAA;AAAA,SAAA;AAET,QAAA,OAAOF,UAAU,CAACG,GAAG,CAACnB,SAAS,IAAI;UACjC,MAAMD,QAAM,GAAGqB,mBAAY,CAACtF,KAAK,EAAEkE,SAAS,EAAEkB,KAAK,EAAE3C,MAAM,CAAC,CAAA;UAE5D,MAAM8C,iBAAiB,GAAGrB,SAGzB,CAAA;UAEDD,QAAM,CAACe,OAAO,GAAGO,iBAAiB,CAACP,OAAO,GACtCG,cAAc,CAACI,iBAAiB,CAACP,OAAO,EAAEf,QAAM,EAAEmB,KAAK,GAAG,CAAC,CAAC,GAC5D,EAAE,CAAA;AAEN,UAAA,OAAOnB,QAAM,CAAA;AACf,SAAC,CAAC,CAAA;OACH,CAAA;MAED,OAAOkB,cAAc,CAACD,UAAU,CAAC,CAAA;AACnC,KAAC,EACD;MACEJ,GAAG,EAAExB,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,aAAa,IAAI,eAAe;AAC9DmB,MAAAA,KAAK,EAAEA,MAAA;AAAA,QAAA,IAAAa,sBAAA,CAAA;AAAA,QAAA,OAAA,CAAAA,sBAAA,GAAMxF,KAAK,CAACN,OAAO,CAACE,QAAQ,KAAA4F,IAAAA,GAAAA,sBAAA,GAAIxF,KAAK,CAACN,OAAO,CAACmF,YAAY,CAAA;AAAA,OAAA;AACnE,KACF,CAAC;AAEDY,IAAAA,iBAAiB,EAAE9B,UAAI,CACrB,MAAM,CAAC3D,KAAK,CAACiF,aAAa,EAAE,CAAC,EAC7BS,UAAU,IAAI;AACZ,MAAA,OAAOA,UAAU,CAACC,OAAO,CAAC1B,MAAM,IAAI;AAClC,QAAA,OAAOA,MAAM,CAAC2B,cAAc,EAAE,CAAA;AAChC,OAAC,CAAC,CAAA;AACJ,KAAC,EACD;MACEd,GAAG,EAAExB,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,aAAa,IAAI,mBAAmB;AAClEmB,MAAAA,KAAK,EAAEA,MAAA;AAAA,QAAA,IAAAkB,sBAAA,CAAA;AAAA,QAAA,OAAA,CAAAA,sBAAA,GAAM7F,KAAK,CAACN,OAAO,CAACE,QAAQ,KAAAiG,IAAAA,GAAAA,sBAAA,GAAI7F,KAAK,CAACN,OAAO,CAACmF,YAAY,CAAA;AAAA,OAAA;AACnE,KACF,CAAC;AAEDiB,IAAAA,sBAAsB,EAAEnC,UAAI,CAC1B,MAAM,CAAC3D,KAAK,CAACyF,iBAAiB,EAAE,CAAC,EACjCM,WAAW,IAAI;MACb,OAAOA,WAAW,CAAC5F,MAAM,CACvB,CAAC6F,GAAG,EAAE/B,MAAM,KAAK;AACf+B,QAAAA,GAAG,CAAC/B,MAAM,CAACrB,EAAE,CAAC,GAAGqB,MAAM,CAAA;AACvB,QAAA,OAAO+B,GAAG,CAAA;OACX,EACD,EACF,CAAC,CAAA;AACH,KAAC,EACD;MACElB,GAAG,EAAExB,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,aAAa,IAAI,uBAAuB;AACtEmB,MAAAA,KAAK,EAAEA,MAAA;AAAA,QAAA,IAAAsB,sBAAA,CAAA;AAAA,QAAA,OAAA,CAAAA,sBAAA,GAAMjG,KAAK,CAACN,OAAO,CAACE,QAAQ,KAAAqG,IAAAA,GAAAA,sBAAA,GAAIjG,KAAK,CAACN,OAAO,CAACmF,YAAY,CAAA;AAAA,OAAA;AACnE,KACF,CAAC;IAEDqB,iBAAiB,EAAEvC,UAAI,CACrB,MAAM,CAAC3D,KAAK,CAACiF,aAAa,EAAE,EAAEjF,KAAK,CAACmG,kBAAkB,EAAE,CAAC,EACzD,CAACT,UAAU,EAAEU,YAAY,KAAK;AAC5B,MAAA,IAAIC,WAAW,GAAGX,UAAU,CAACC,OAAO,CAAC1B,MAAM,IAAIA,MAAM,CAACqC,cAAc,EAAE,CAAC,CAAA;MACvE,OAAOF,YAAY,CAACC,WAAW,CAAC,CAAA;AAClC,KAAC,EACD;MACEvB,GAAG,EAAExB,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,aAAa,IAAI,mBAAmB;AAClEmB,MAAAA,KAAK,EAAEA,MAAA;AAAA,QAAA,IAAA4B,sBAAA,CAAA;AAAA,QAAA,OAAA,CAAAA,sBAAA,GAAMvG,KAAK,CAACN,OAAO,CAACE,QAAQ,KAAA2G,IAAAA,GAAAA,sBAAA,GAAIvG,KAAK,CAACN,OAAO,CAACmF,YAAY,CAAA;AAAA,OAAA;AACnE,KACF,CAAC;IAED2B,SAAS,EAAEC,QAAQ,IAAI;MACrB,MAAMxC,MAAM,GAAGjE,KAAK,CAAC8F,sBAAsB,EAAE,CAACW,QAAQ,CAAC,CAAA;MAEvD,IAAInD,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,YAAY,IAAI,CAACS,MAAM,EAAE;AACpDnE,QAAAA,OAAO,CAAC6B,KAAK,CAAE,CAA0B8E,wBAAAA,EAAAA,QAAS,mBAAkB,CAAC,CAAA;AACvE,OAAA;AAEA,MAAA,OAAOxC,MAAM,CAAA;AACf,KAAA;GACD,CAAA;AAED3D,EAAAA,MAAM,CAACC,MAAM,CAACP,KAAK,EAAEiB,YAAY,CAAC,CAAA;AAElC,EAAA,KAAK,IAAIuB,KAAK,GAAG,CAAC,EAAEA,KAAK,GAAGxC,KAAK,CAACC,SAAS,CAACuB,MAAM,EAAEgB,KAAK,EAAE,EAAE;AAC3D,IAAA,MAAMnC,OAAO,GAAGL,KAAK,CAACC,SAAS,CAACuC,KAAK,CAAC,CAAA;IACtCnC,OAAO,IAAA,IAAA,IAAPA,OAAO,CAAEZ,WAAW,IAAA,IAAA,IAApBY,OAAO,CAAEZ,WAAW,CAAGO,KAAK,CAAC,CAAA;AAC/B,GAAA;AAEA,EAAA,OAAOA,KAAK,CAAA;AACd;;;;"}
|
|
1
|
+
{"version":3,"file":"table.js","sources":["../../../src/core/table.ts"],"sourcesContent":["import { functionalUpdate, memo, RequiredKeys } from '../utils'\n\nimport {\n Updater,\n TableOptionsResolved,\n TableState,\n Table,\n InitialTableState,\n Row,\n Column,\n RowModel,\n ColumnDef,\n TableOptions,\n RowData,\n TableMeta,\n ColumnDefResolved,\n GroupColumnDef,\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 interface TableFeature {\n createCell?: (cell: any, column: any, row: any, table: any) => any\n createColumn?: (column: any, table: any) => any\n createHeader?: (column: any, table: any) => any\n createRow?: (row: any, table: any) => any\n createTable?: (table: any) => any\n getDefaultColumnDef?: () => any\n getDefaultOptions?: (table: any) => any\n getInitialState?: (initialState?: InitialTableState) => 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 interface CoreTableState {}\n\nexport interface CoreOptions<TData extends RowData> {\n /**\n * Set this option to override any of the `autoReset...` feature options.\n * @link [API Docs](https://tanstack.com/table/v8/docs/api/core/table#autoresetall)\n * @link [Guide](https://tanstack.com/table/v8/docs/guide/tables)\n */\n autoResetAll?: boolean\n /**\n * The array of column defs to use for the table.\n * @link [API Docs](https://tanstack.com/table/v8/docs/api/core/table#columns)\n * @link [Guide](https://tanstack.com/table/v8/docs/guide/tables)\n */\n columns: ColumnDef<TData, any>[]\n /**\n * The data for the table to display. This array should match the type you provided to `table.setRowType<...>`. Columns can access this data via string/index or a functional accessor. When the `data` option changes reference, the table will reprocess the data.\n * @link [API Docs](https://tanstack.com/table/v8/docs/api/core/table#data)\n * @link [Guide](https://tanstack.com/table/v8/docs/guide/tables)\n */\n data: TData[]\n /**\n * Set this option to `true` to output all debugging information to the console.\n * @link [API Docs](https://tanstack.com/table/v8/docs/api/core/table#debugall)\n * @link [Guide](https://tanstack.com/table/v8/docs/guide/tables)\n */\n debugAll?: boolean\n /**\n * Set this option to `true` to output column debugging information to the console.\n * @link [API Docs](https://tanstack.com/table/v8/docs/api/core/table#debugcolumns)\n * @link [Guide](https://tanstack.com/table/v8/docs/guide/tables)\n */\n debugColumns?: boolean\n /**\n * Set this option to `true` to output header debugging information to the console.\n * @link [API Docs](https://tanstack.com/table/v8/docs/api/core/table#debugheaders)\n * @link [Guide](https://tanstack.com/table/v8/docs/guide/tables)\n */\n debugHeaders?: boolean\n /**\n * Set this option to `true` to output row debugging information to the console.\n * @link [API Docs](https://tanstack.com/table/v8/docs/api/core/table#debugrows)\n * @link [Guide](https://tanstack.com/table/v8/docs/guide/tables)\n */\n debugRows?: boolean\n /**\n * Set this option to `true` to output table debugging information to the console.\n * @link [API Docs](https://tanstack.com/table/v8/docs/api/core/table#debugtable)\n * @link [Guide](https://tanstack.com/table/v8/docs/guide/tables)\n */\n debugTable?: boolean\n /**\n * Default column options to use for all column defs supplied to the table.\n * @link [API Docs](https://tanstack.com/table/v8/docs/api/core/table#defaultcolumn)\n * @link [Guide](https://tanstack.com/table/v8/docs/guide/tables)\n */\n defaultColumn?: Partial<ColumnDef<TData, unknown>>\n /**\n * This required option is a factory for a function that computes and returns the core row model for the table.\n * @link [API Docs](https://tanstack.com/table/v8/docs/api/core/table#getcorerowmodel)\n * @link [Guide](https://tanstack.com/table/v8/docs/guide/tables)\n */\n getCoreRowModel: (table: Table<any>) => () => RowModel<any>\n /**\n * This optional function is used to derive a unique ID for any given row. If not provided the rows index is used (nested rows join together with `.` using their grandparents' index eg. `index.index.index`). If you need to identify individual rows that are originating from any server-side operations, it's suggested you use this function to return an ID that makes sense regardless of network IO/ambiguity eg. a userId, taskId, database ID field, etc.\n * @example getRowId: row => row.userId\n * @link [API Docs](https://tanstack.com/table/v8/docs/api/core/table#getrowid)\n * @link [Guide](https://tanstack.com/table/v8/docs/guide/tables)\n */\n getRowId?: (originalRow: TData, index: number, parent?: Row<TData>) => string\n /**\n * This optional function is used to access the sub rows for any given row. If you are using nested rows, you will need to use this function to return the sub rows object (or undefined) from the row.\n * @example getSubRows: row => row.subRows\n * @link [API Docs](https://tanstack.com/table/v8/docs/api/core/table#getsubrows)\n * @link [Guide](https://tanstack.com/table/v8/docs/guide/tables)\n */\n getSubRows?: (originalRow: TData, index: number) => undefined | TData[]\n /**\n * Use this option to optionally pass initial state to the table. This state will be used when resetting various table states either automatically by the table (eg. `options.autoResetPageIndex`) or via functions like `table.resetRowSelection()`. Most reset function allow you optionally pass a flag to reset to a blank/default state instead of the initial state.\n *\n * Table state will not be reset when this object changes, which also means that the initial state object does not need to be stable.\n *\n * @link [API Docs](https://tanstack.com/table/v8/docs/api/core/table#initialstate)\n * @link [Guide](https://tanstack.com/table/v8/docs/guide/tables)\n */\n initialState?: InitialTableState\n /**\n * This option is used to optionally implement the merging of table options.\n * @link [API Docs](https://tanstack.com/table/v8/docs/api/core/table#mergeoptions)\n * @link [Guide](https://tanstack.com/table/v8/docs/guide/tables)\n */\n mergeOptions?: (\n defaultOptions: TableOptions<TData>,\n options: Partial<TableOptions<TData>>\n ) => TableOptions<TData>\n /**\n * You can pass any object to `options.meta` and access it anywhere the `table` is available via `table.options.meta`.\n * @link [API Docs](https://tanstack.com/table/v8/docs/api/core/table#meta)\n * @link [Guide](https://tanstack.com/table/v8/docs/guide/tables)\n */\n meta?: TableMeta<TData>\n /**\n * The `onStateChange` option can be used to optionally listen to state changes within the table.\n * @link [API Docs](https://tanstack.com/table/v8/docs/api/core/table#onstatechange)\n * @link [Guide](https://tanstack.com/table/v8/docs/guide/tables)\n */\n onStateChange: (updater: Updater<TableState>) => void\n /**\n * Value used when the desired value is not found in the data.\n * @link [API Docs](https://tanstack.com/table/v8/docs/api/core/table#renderfallbackvalue)\n * @link [Guide](https://tanstack.com/table/v8/docs/guide/tables)\n */\n renderFallbackValue: any\n /**\n * The `state` option can be used to optionally _control_ part or all of the table state. The state you pass here will merge with and overwrite the internal automatically-managed state to produce the final state for the table. You can also listen to state changes via the `onStateChange` option.\n * > Note: Any state passed in here will override both the internal state and any other `initialState` you provide.\n * @link [API Docs](https://tanstack.com/table/v8/docs/api/core/table#state)\n * @link [Guide](https://tanstack.com/table/v8/docs/guide/tables)\n */\n state: Partial<TableState>\n}\n\nexport interface CoreInstance<TData extends RowData> {\n _features: readonly TableFeature[]\n _getAllFlatColumnsById: () => Record<string, Column<TData, unknown>>\n _getColumnDefs: () => ColumnDef<TData, unknown>[]\n _getCoreRowModel?: () => RowModel<TData>\n _getDefaultColumnDef: () => Partial<ColumnDef<TData, unknown>>\n _getRowId: (_: TData, index: number, parent?: Row<TData>) => string\n _queue: (cb: () => void) => void\n /**\n * Returns all columns in the table in their normalized and nested hierarchy.\n * @link [API Docs](https://tanstack.com/table/v8/docs/api/core/table#getallcolumns)\n * @link [Guide](https://tanstack.com/table/v8/docs/guide/tables)\n */\n getAllColumns: () => Column<TData, unknown>[]\n /**\n * Returns all columns in the table flattened to a single level.\n * @link [API Docs](https://tanstack.com/table/v8/docs/api/core/table#getallflatcolumns)\n * @link [Guide](https://tanstack.com/table/v8/docs/guide/tables)\n */\n getAllFlatColumns: () => Column<TData, unknown>[]\n /**\n * Returns all leaf-node columns in the table flattened to a single level. This does not include parent columns.\n * @link [API Docs](https://tanstack.com/table/v8/docs/api/core/table#getallleafcolumns)\n * @link [Guide](https://tanstack.com/table/v8/docs/guide/tables)\n */\n getAllLeafColumns: () => Column<TData, unknown>[]\n /**\n * Returns a single column by its ID.\n * @link [API Docs](https://tanstack.com/table/v8/docs/api/core/table#getcolumn)\n * @link [Guide](https://tanstack.com/table/v8/docs/guide/tables)\n */\n getColumn: (columnId: string) => Column<TData, unknown> | undefined\n /**\n * Returns the core row model before any processing has been applied.\n * @link [API Docs](https://tanstack.com/table/v8/docs/api/core/table#getcorerowmodel)\n * @link [Guide](https://tanstack.com/table/v8/docs/guide/tables)\n */\n getCoreRowModel: () => RowModel<TData>\n /**\n * Returns the row with the given ID.\n * @link [API Docs](https://tanstack.com/table/v8/docs/api/core/table#getrow)\n * @link [Guide](https://tanstack.com/table/v8/docs/guide/tables)\n */\n getRow: (id: string, searchAll?: boolean) => Row<TData>\n /**\n * Returns the final model after all processing from other used features has been applied. This is the row model that is most commonly used for rendering.\n * @link [API Docs](https://tanstack.com/table/v8/docs/api/core/table#getrowmodel)\n * @link [Guide](https://tanstack.com/table/v8/docs/guide/tables)\n */\n getRowModel: () => RowModel<TData>\n /**\n * Call this function to get the table's current state. It's recommended to use this function and its state, especially when managing the table state manually. It is the exact same state used internally by the table for every feature and function it provides.\n * @link [API Docs](https://tanstack.com/table/v8/docs/api/core/table#getstate)\n * @link [Guide](https://tanstack.com/table/v8/docs/guide/tables)\n */\n getState: () => TableState\n /**\n * This is the resolved initial state of the table.\n * @link [API Docs](https://tanstack.com/table/v8/docs/api/core/table#initialstate)\n * @link [Guide](https://tanstack.com/table/v8/docs/guide/tables)\n */\n initialState: TableState\n /**\n * A read-only reference to the table's current options.\n * @link [API Docs](https://tanstack.com/table/v8/docs/api/core/table#options)\n * @link [Guide](https://tanstack.com/table/v8/docs/guide/tables)\n */\n options: RequiredKeys<TableOptionsResolved<TData>, 'state'>\n /**\n * Call this function to reset the table state to the initial state.\n * @link [API Docs](https://tanstack.com/table/v8/docs/api/core/table#reset)\n * @link [Guide](https://tanstack.com/table/v8/docs/guide/tables)\n */\n reset: () => void\n /**\n * This function can be used to update the table options.\n * @link [API Docs](https://tanstack.com/table/v8/docs/api/core/table#setoptions)\n * @link [Guide](https://tanstack.com/table/v8/docs/guide/tables)\n */\n setOptions: (newOptions: Updater<TableOptionsResolved<TData>>) => void\n /**\n * Call this function to update the table state.\n * @link [API Docs](https://tanstack.com/table/v8/docs/api/core/table#setstate)\n * @link [Guide](https://tanstack.com/table/v8/docs/guide/tables)\n */\n setState: (updater: Updater<TableState>) => void\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 //in next version, we should just pass in the row model as the optional 2nd arg\n getRow: (id: string, searchAll?: boolean) => {\n let row = (\n searchAll ? table.getPrePaginationRowModel() : table.getRowModel()\n ).rowsById[id]\n\n if (!row) {\n row = table.getCoreRowModel().rowsById[id]\n if (!row) {\n if (process.env.NODE_ENV !== 'production') {\n throw new Error(`getRow could not find row with ID: ${id}`)\n }\n throw new Error()\n }\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 ColumnDefResolved<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 const groupingColumnDef = columnDef as GroupColumnDef<\n TData,\n unknown\n >\n\n column.columns = groupingColumnDef.columns\n ? recurseColumns(groupingColumnDef.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(\n (acc, column) => {\n acc[column.id] = column\n return acc\n },\n {} as Record<string, Column<TData, unknown>>\n )\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 (process.env.NODE_ENV !== 'production' && !column) {\n console.error(`[Table] Column with id '${columnId}' does not exist.`)\n }\n\n return column\n },\n }\n\n Object.assign(table, coreInstance)\n\n for (let index = 0; index < table._features.length; index++) {\n const feature = table._features[index]\n 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","_options$initialState","debugAll","debugTable","console","info","table","_features","defaultOptions","reduce","obj","feature","Object","assign","getDefaultOptions","mergeOptions","coreInitialState","initialState","forEach","_feature$getInitialSt","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","_table$options$getRow","getRowId","id","join","getCoreRowModel","_getCoreRowModel","getRowModel","getPaginationRowModel","getRow","searchAll","getPrePaginationRowModel","rowsById","process","env","NODE_ENV","Error","_getDefaultColumnDef","memo","defaultColumn","_defaultColumn","header","props","resolvedColumnDef","column","columnDef","accessorKey","accessorFn","cell","_props$renderValue$to","_props$renderValue","renderValue","toString","getDefaultColumnDef","debug","_table$options$debugA","debugColumns","key","_getColumnDefs","columns","getAllColumns","columnDefs","recurseColumns","depth","map","createColumn","groupingColumnDef","_table$options$debugA2","getAllFlatColumns","allColumns","flatMap","getFlatColumns","_table$options$debugA3","_getAllFlatColumnsById","flatColumns","acc","_table$options$debugA4","getAllLeafColumns","_getOrderColumnsFn","orderColumns","leafColumns","getLeafColumns","_table$options$debugA5","getColumn","columnId"],"mappings":"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"}
|
|
@@ -167,7 +167,7 @@ export interface ColumnSizingHeader {
|
|
|
167
167
|
* @link [API Docs](https://tanstack.com/table/v8/docs/api/features/column-sizing#getresizehandler)
|
|
168
168
|
* @link [Guide](https://tanstack.com/table/v8/docs/guide/column-sizing)
|
|
169
169
|
*/
|
|
170
|
-
getResizeHandler: () => (event: unknown) => void;
|
|
170
|
+
getResizeHandler: (context?: Document) => (event: unknown) => void;
|
|
171
171
|
/**
|
|
172
172
|
* Returns the current size of the header.
|
|
173
173
|
* @link [API Docs](https://tanstack.com/table/v8/docs/api/features/column-sizing#getsize)
|
|
@@ -101,7 +101,8 @@ const ColumnSizing = {
|
|
|
101
101
|
}
|
|
102
102
|
return 0;
|
|
103
103
|
};
|
|
104
|
-
header.getResizeHandler =
|
|
104
|
+
header.getResizeHandler = _contextDocument => {
|
|
105
|
+
const contextDocument = _contextDocument || document;
|
|
105
106
|
const column = table.getColumn(header.column.id);
|
|
106
107
|
const canResize = column == null ? void 0 : column.getCanResize();
|
|
107
108
|
return e => {
|
|
@@ -161,8 +162,8 @@ const ColumnSizing = {
|
|
|
161
162
|
const mouseEvents = {
|
|
162
163
|
moveHandler: e => onMove(e.clientX),
|
|
163
164
|
upHandler: e => {
|
|
164
|
-
|
|
165
|
-
|
|
165
|
+
contextDocument.removeEventListener('mousemove', mouseEvents.moveHandler);
|
|
166
|
+
contextDocument.removeEventListener('mouseup', mouseEvents.upHandler);
|
|
166
167
|
onEnd(e.clientX);
|
|
167
168
|
}
|
|
168
169
|
};
|
|
@@ -177,8 +178,8 @@ const ColumnSizing = {
|
|
|
177
178
|
},
|
|
178
179
|
upHandler: e => {
|
|
179
180
|
var _e$touches$;
|
|
180
|
-
|
|
181
|
-
|
|
181
|
+
contextDocument.removeEventListener('touchmove', touchEvents.moveHandler);
|
|
182
|
+
contextDocument.removeEventListener('touchend', touchEvents.upHandler);
|
|
182
183
|
if (e.cancelable) {
|
|
183
184
|
e.preventDefault();
|
|
184
185
|
e.stopPropagation();
|
|
@@ -190,11 +191,11 @@ const ColumnSizing = {
|
|
|
190
191
|
passive: false
|
|
191
192
|
} : false;
|
|
192
193
|
if (isTouchStartEvent(e)) {
|
|
193
|
-
|
|
194
|
-
|
|
194
|
+
contextDocument.addEventListener('touchmove', touchEvents.moveHandler, passiveIfSupported);
|
|
195
|
+
contextDocument.addEventListener('touchend', touchEvents.upHandler, passiveIfSupported);
|
|
195
196
|
} else {
|
|
196
|
-
|
|
197
|
-
|
|
197
|
+
contextDocument.addEventListener('mousemove', mouseEvents.moveHandler, passiveIfSupported);
|
|
198
|
+
contextDocument.addEventListener('mouseup', mouseEvents.upHandler, passiveIfSupported);
|
|
198
199
|
}
|
|
199
200
|
table.setColumnSizingInfo(old => ({
|
|
200
201
|
...old,
|