@tanstack/table-core 8.8.5 → 8.9.1
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/aggregationFns.js +12 -10
- package/build/lib/aggregationFns.js.map +1 -1
- package/build/lib/core/cell.js.map +1 -1
- package/build/lib/core/column.js.map +1 -1
- package/build/lib/core/headers.js.map +1 -1
- package/build/lib/core/row.js.map +1 -1
- package/build/lib/core/table.js.map +1 -1
- package/build/lib/features/ColumnSizing.js.map +1 -1
- package/build/lib/features/Expanding.js.map +1 -1
- package/build/lib/features/Filters.js.map +1 -1
- package/build/lib/features/Grouping.d.ts +2 -0
- package/build/lib/features/Grouping.js +12 -1
- package/build/lib/features/Grouping.js.map +1 -1
- package/build/lib/features/Ordering.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/features/RowSelection.js.map +1 -1
- package/build/lib/features/Sorting.js.map +1 -1
- package/build/lib/features/Visibility.js.map +1 -1
- package/build/lib/filterFns.js.map +1 -1
- package/build/lib/index.esm.js +27 -13
- package/build/lib/index.esm.js.map +1 -1
- package/build/lib/index.js +1 -0
- package/build/lib/index.js.map +1 -1
- package/build/lib/index.mjs +27 -13
- package/build/lib/index.mjs.map +1 -1
- package/build/lib/sortingFns.js.map +1 -1
- package/build/lib/utils/filterRowsUtils.js.map +1 -1
- package/build/lib/utils/getCoreRowModel.js.map +1 -1
- package/build/lib/utils/getExpandedRowModel.js.map +1 -1
- package/build/lib/utils/getFacetedMinMaxValues.js.map +1 -1
- package/build/lib/utils/getFacetedRowModel.js.map +1 -1
- package/build/lib/utils/getFacetedUniqueValues.js.map +1 -1
- package/build/lib/utils/getFilteredRowModel.js.map +1 -1
- package/build/lib/utils/getGroupedRowModel.js +1 -1
- package/build/lib/utils/getGroupedRowModel.js.map +1 -1
- package/build/lib/utils/getPaginationRowModel.js.map +1 -1
- package/build/lib/utils/getSortedRowModel.js.map +1 -1
- package/build/lib/utils.d.ts +1 -0
- package/build/lib/utils.js +4 -0
- package/build/lib/utils.js.map +1 -1
- package/build/umd/index.development.js +27 -12
- 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/aggregationFns.ts +11 -11
- package/src/features/Grouping.ts +23 -1
- package/src/utils/getGroupedRowModel.ts +1 -1
- package/src/utils.ts +4 -0
|
@@ -12,6 +12,8 @@
|
|
|
12
12
|
|
|
13
13
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
14
14
|
|
|
15
|
+
var utils = require('./utils.js');
|
|
16
|
+
|
|
15
17
|
const sum = (columnId, _leafRows, childRows) => {
|
|
16
18
|
// It's faster to just add the aggregations together instead of
|
|
17
19
|
// process leaf nodes individually
|
|
@@ -72,16 +74,16 @@ const median = (columnId, leafRows) => {
|
|
|
72
74
|
if (!leafRows.length) {
|
|
73
75
|
return;
|
|
74
76
|
}
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
return (
|
|
77
|
+
const values = leafRows.map(row => row.getValue(columnId));
|
|
78
|
+
if (!utils.isNumberArray(values)) {
|
|
79
|
+
return;
|
|
80
|
+
}
|
|
81
|
+
if (values.length === 1) {
|
|
82
|
+
return values[0];
|
|
83
|
+
}
|
|
84
|
+
const mid = Math.floor(values.length / 2);
|
|
85
|
+
const nums = values.sort((a, b) => a - b);
|
|
86
|
+
return values.length % 2 !== 0 ? nums[mid] : (nums[mid - 1] + nums[mid]) / 2;
|
|
85
87
|
};
|
|
86
88
|
const unique = (columnId, leafRows) => {
|
|
87
89
|
return Array.from(new Set(leafRows.map(d => d.getValue(columnId))).values());
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aggregationFns.js","sources":["../../src/aggregationFns.ts"],"sourcesContent":["import { AggregationFn } from './features/Grouping'\n\nconst sum: AggregationFn<any> = (columnId, _leafRows, childRows) => {\n // It's faster to just add the aggregations together instead of\n // process leaf nodes individually\n return childRows.reduce((sum, next) => {\n const nextValue = next.getValue(columnId)\n return sum + (typeof nextValue === 'number' ? nextValue : 0)\n }, 0)\n}\n\nconst min: AggregationFn<any> = (columnId, _leafRows, childRows) => {\n let min: number | undefined\n\n childRows.forEach(row => {\n const value = row.getValue<number>(columnId)\n\n if (\n value != null &&\n (min! > value || (min === undefined && value >= value))\n ) {\n min = value\n }\n })\n\n return min\n}\n\nconst max: AggregationFn<any> = (columnId, _leafRows, childRows) => {\n let max: number | undefined\n\n childRows.forEach(row => {\n const value = row.getValue<number>(columnId)\n if (\n value != null &&\n (max! < value || (max === undefined && value >= value))\n ) {\n max = value\n }\n })\n\n return max\n}\n\nconst extent: AggregationFn<any> = (columnId, _leafRows, childRows) => {\n let min: number | undefined\n let max: number | undefined\n\n childRows.forEach(row => {\n const value = row.getValue<number>(columnId)\n if (value != null) {\n if (min === undefined) {\n if (value >= value) min = max = value\n } else {\n if (min > value) min = value\n if (max! < value) max = value\n }\n }\n })\n\n return [min, max]\n}\n\nconst mean: AggregationFn<any> = (columnId, leafRows) => {\n let count = 0\n let sum = 0\n\n leafRows.forEach(row => {\n let value = row.getValue<number>(columnId)\n if (value != null && (value = +value) >= value) {\n ++count, (sum += value)\n }\n })\n\n if (count) return sum / count\n\n return\n}\n\nconst median: AggregationFn<any> = (columnId, leafRows) => {\n if (!leafRows.length) {\n return\n }\n\n
|
|
1
|
+
{"version":3,"file":"aggregationFns.js","sources":["../../src/aggregationFns.ts"],"sourcesContent":["import { AggregationFn } from './features/Grouping'\nimport { isNumberArray } from './utils'\n\nconst sum: AggregationFn<any> = (columnId, _leafRows, childRows) => {\n // It's faster to just add the aggregations together instead of\n // process leaf nodes individually\n return childRows.reduce((sum, next) => {\n const nextValue = next.getValue(columnId)\n return sum + (typeof nextValue === 'number' ? nextValue : 0)\n }, 0)\n}\n\nconst min: AggregationFn<any> = (columnId, _leafRows, childRows) => {\n let min: number | undefined\n\n childRows.forEach(row => {\n const value = row.getValue<number>(columnId)\n\n if (\n value != null &&\n (min! > value || (min === undefined && value >= value))\n ) {\n min = value\n }\n })\n\n return min\n}\n\nconst max: AggregationFn<any> = (columnId, _leafRows, childRows) => {\n let max: number | undefined\n\n childRows.forEach(row => {\n const value = row.getValue<number>(columnId)\n if (\n value != null &&\n (max! < value || (max === undefined && value >= value))\n ) {\n max = value\n }\n })\n\n return max\n}\n\nconst extent: AggregationFn<any> = (columnId, _leafRows, childRows) => {\n let min: number | undefined\n let max: number | undefined\n\n childRows.forEach(row => {\n const value = row.getValue<number>(columnId)\n if (value != null) {\n if (min === undefined) {\n if (value >= value) min = max = value\n } else {\n if (min > value) min = value\n if (max! < value) max = value\n }\n }\n })\n\n return [min, max]\n}\n\nconst mean: AggregationFn<any> = (columnId, leafRows) => {\n let count = 0\n let sum = 0\n\n leafRows.forEach(row => {\n let value = row.getValue<number>(columnId)\n if (value != null && (value = +value) >= value) {\n ++count, (sum += value)\n }\n })\n\n if (count) return sum / count\n\n return\n}\n\nconst median: AggregationFn<any> = (columnId, leafRows) => {\n if (!leafRows.length) {\n return\n }\n\n const values = leafRows.map(row => row.getValue(columnId))\n if (!isNumberArray(values)) {\n return\n }\n if (values.length === 1) {\n return values[0]\n }\n\n const mid = Math.floor(values.length / 2)\n const nums = values.sort((a, b) => a - b)\n return values.length % 2 !== 0 ? nums[mid] : (nums[mid - 1]! + nums[mid]!) / 2\n}\n\nconst unique: AggregationFn<any> = (columnId, leafRows) => {\n return Array.from(new Set(leafRows.map(d => d.getValue(columnId))).values())\n}\n\nconst uniqueCount: AggregationFn<any> = (columnId, leafRows) => {\n return new Set(leafRows.map(d => d.getValue(columnId))).size\n}\n\nconst count: AggregationFn<any> = (_columnId, leafRows) => {\n return leafRows.length\n}\n\nexport const aggregationFns = {\n sum,\n min,\n max,\n extent,\n mean,\n median,\n unique,\n uniqueCount,\n count,\n}\n\nexport type BuiltInAggregationFn = keyof typeof aggregationFns\n"],"names":["sum","columnId","_leafRows","childRows","reduce","next","nextValue","getValue","min","forEach","row","value","undefined","max","extent","mean","leafRows","count","median","length","values","map","isNumberArray","mid","Math","floor","nums","sort","a","b","unique","Array","from","Set","d","uniqueCount","size","_columnId","aggregationFns"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cell.js","sources":["../../../src/core/cell.ts"],"sourcesContent":["import { RowData, Cell, Column, Row, Table } from '../types'\nimport { Getter, memo } from '../utils'\n\nexport interface CellContext<TData extends RowData, TValue> {\n table: Table<TData>\n column: Column<TData, TValue>\n row: Row<TData>\n cell: Cell<TData, TValue>\n getValue: Getter<TValue>\n renderValue: Getter<TValue | null>\n}\n\nexport interface CoreCell<TData extends RowData, TValue> {\n id: string\n getValue: CellContext<TData, TValue>['getValue']\n renderValue: CellContext<TData, TValue>['renderValue']\n row: Row<TData>\n column: Column<TData, TValue>\n getContext: () => CellContext<TData, TValue>\n}\n\nexport function createCell<TData extends RowData, TValue>(\n table: Table<TData>,\n row: Row<TData>,\n column: Column<TData, TValue>,\n columnId: string\n): Cell<TData, TValue> {\n const getRenderValue = () =>\n cell.getValue() ?? table.options.renderFallbackValue\n\n const cell: CoreCell<TData, TValue> = {\n id: `${row.id}_${column.id}`,\n row,\n column,\n getValue: () => row.getValue(columnId),\n renderValue: getRenderValue,\n getContext: memo(\n () => [table, column, row, cell],\n (table, column, row, cell) => ({\n table,\n column,\n row,\n cell: cell as Cell<TData, TValue>,\n getValue: cell.getValue,\n renderValue: cell.renderValue,\n }),\n {\n key: process.env.NODE_ENV === 'development' && 'cell.getContext',\n debug: () => table.options.debugAll,\n }\n ),\n }\n\n table._features.forEach(feature => {\n Object.assign(\n cell,\n feature.createCell?.(\n cell as Cell<TData, TValue>,\n column,\n row as Row<TData>,\n table\n )\n )\n }, {})\n\n return cell as Cell<TData, TValue>\n}\n"],"names":["createCell","table","row","column","columnId","getRenderValue","_cell$getValue","cell","getValue","options","renderFallbackValue","id","renderValue","getContext","memo","key","process","env","NODE_ENV","debug","debugAll","_features","forEach","feature","Object","assign"],"mappings":";;;;;;;;;;;;;;;;AAqBO,SAASA,UAAUA,CACxBC,KAAmB,EACnBC,GAAe,EACfC,MAA6B,EAC7BC,QAAgB,EACK;EACrB,MAAMC,cAAc,GAAGA,MAAA;AAAA,IAAA,IAAAC,cAAA,CAAA;AAAA,IAAA,OAAA,CAAAA,cAAA,GACrBC,IAAI,CAACC,QAAQ,EAAE,KAAAF,IAAAA,GAAAA,cAAA,GAAIL,KAAK,CAACQ,OAAO,CAACC,mBAAmB,CAAA;AAAA,GAAA,CAAA;AAEtD,EAAA,MAAMH,IAA6B,GAAG;IACpCI,EAAE,EAAG,GAAET,GAAG,CAACS,EAAG,CAAGR,CAAAA,EAAAA,MAAM,CAACQ,EAAG,CAAC,CAAA;IAC5BT,GAAG;IACHC,MAAM;IACNK,QAAQ,EAAEA,MAAMN,GAAG,CAACM,QAAQ,CAACJ,QAAQ,CAAC;AACtCQ,IAAAA,WAAW,EAAEP,cAAc;IAC3BQ,UAAU,EAAEC,UAAI,CACd,MAAM,CAACb,KAAK,EAAEE,MAAM,EAAED,GAAG,EAAEK,IAAI,CAAC,EAChC,CAACN,KAAK,EAAEE,MAAM,EAAED,GAAG,EAAEK,IAAI,MAAM;MAC7BN,KAAK;MACLE,MAAM;MACND,GAAG;AACHK,MAAAA,IAAI,EAAEA,IAA2B;MACjCC,QAAQ,EAAED,IAAI,CAACC,QAAQ;MACvBI,WAAW,EAAEL,IAAI,CAACK,WAAAA;AACpB,KAAC,CAAC,EACF;MACEG,GAAG,EAAEC,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,aAAa,IAAI,iBAAiB;AAChEC,MAAAA,KAAK,EAAEA,MAAMlB,KAAK,CAACQ,OAAO,CAACW,QAAAA;
|
|
1
|
+
{"version":3,"file":"cell.js","sources":["../../../src/core/cell.ts"],"sourcesContent":["import { RowData, Cell, Column, Row, Table } from '../types'\nimport { Getter, memo } from '../utils'\n\nexport interface CellContext<TData extends RowData, TValue> {\n table: Table<TData>\n column: Column<TData, TValue>\n row: Row<TData>\n cell: Cell<TData, TValue>\n getValue: Getter<TValue>\n renderValue: Getter<TValue | null>\n}\n\nexport interface CoreCell<TData extends RowData, TValue> {\n id: string\n getValue: CellContext<TData, TValue>['getValue']\n renderValue: CellContext<TData, TValue>['renderValue']\n row: Row<TData>\n column: Column<TData, TValue>\n getContext: () => CellContext<TData, TValue>\n}\n\nexport function createCell<TData extends RowData, TValue>(\n table: Table<TData>,\n row: Row<TData>,\n column: Column<TData, TValue>,\n columnId: string\n): Cell<TData, TValue> {\n const getRenderValue = () =>\n cell.getValue() ?? table.options.renderFallbackValue\n\n const cell: CoreCell<TData, TValue> = {\n id: `${row.id}_${column.id}`,\n row,\n column,\n getValue: () => row.getValue(columnId),\n renderValue: getRenderValue,\n getContext: memo(\n () => [table, column, row, cell],\n (table, column, row, cell) => ({\n table,\n column,\n row,\n cell: cell as Cell<TData, TValue>,\n getValue: cell.getValue,\n renderValue: cell.renderValue,\n }),\n {\n key: process.env.NODE_ENV === 'development' && 'cell.getContext',\n debug: () => table.options.debugAll,\n }\n ),\n }\n\n table._features.forEach(feature => {\n Object.assign(\n cell,\n feature.createCell?.(\n cell as Cell<TData, TValue>,\n column,\n row as Row<TData>,\n table\n )\n )\n }, {})\n\n return cell as Cell<TData, TValue>\n}\n"],"names":["createCell","table","row","column","columnId","getRenderValue","_cell$getValue","cell","getValue","options","renderFallbackValue","id","renderValue","getContext","memo","key","process","env","NODE_ENV","debug","debugAll","_features","forEach","feature","Object","assign"],"mappings":";;;;;;;;;;;;;;;;AAqBO,SAASA,UAAUA,CACxBC,KAAmB,EACnBC,GAAe,EACfC,MAA6B,EAC7BC,QAAgB,EACK;EACrB,MAAMC,cAAc,GAAGA,MAAA;AAAA,IAAA,IAAAC,cAAA,CAAA;AAAA,IAAA,OAAA,CAAAA,cAAA,GACrBC,IAAI,CAACC,QAAQ,EAAE,KAAAF,IAAAA,GAAAA,cAAA,GAAIL,KAAK,CAACQ,OAAO,CAACC,mBAAmB,CAAA;AAAA,GAAA,CAAA;AAEtD,EAAA,MAAMH,IAA6B,GAAG;IACpCI,EAAE,EAAG,GAAET,GAAG,CAACS,EAAG,CAAGR,CAAAA,EAAAA,MAAM,CAACQ,EAAG,CAAC,CAAA;IAC5BT,GAAG;IACHC,MAAM;IACNK,QAAQ,EAAEA,MAAMN,GAAG,CAACM,QAAQ,CAACJ,QAAQ,CAAC;AACtCQ,IAAAA,WAAW,EAAEP,cAAc;IAC3BQ,UAAU,EAAEC,UAAI,CACd,MAAM,CAACb,KAAK,EAAEE,MAAM,EAAED,GAAG,EAAEK,IAAI,CAAC,EAChC,CAACN,KAAK,EAAEE,MAAM,EAAED,GAAG,EAAEK,IAAI,MAAM;MAC7BN,KAAK;MACLE,MAAM;MACND,GAAG;AACHK,MAAAA,IAAI,EAAEA,IAA2B;MACjCC,QAAQ,EAAED,IAAI,CAACC,QAAQ;MACvBI,WAAW,EAAEL,IAAI,CAACK,WAAAA;AACpB,KAAC,CAAC,EACF;MACEG,GAAG,EAAEC,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,aAAa,IAAI,iBAAiB;AAChEC,MAAAA,KAAK,EAAEA,MAAMlB,KAAK,CAACQ,OAAO,CAACW,QAAAA;KAE/B,CAAA;GACD,CAAA;AAEDnB,EAAAA,KAAK,CAACoB,SAAS,CAACC,OAAO,CAACC,OAAO,IAAI;IACjCC,MAAM,CAACC,MAAM,CACXlB,IAAI,EACJgB,OAAO,CAACvB,UAAU,IAAlBuB,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,OAAO,CAACvB,UAAU,CAChBO,IAAI,EACJJ,MAAM,EACND,GAAG,EACHD,KACF,CACF,CAAC,CAAA;GACF,EAAE,EAAE,CAAC,CAAA;AAEN,EAAA,OAAOM,IAAI,CAAA;AACb;;;;"}
|
|
@@ -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 id: string\n depth: number\n accessorFn?: AccessorFn<TData, TValue>\n columnDef: ColumnDef<TData, TValue>\n columns: Column<TData, TValue>[]\n parent?: Column<TData, TValue>\n getFlatColumns: () => Column<TData, TValue>[]\n getLeafColumns: () => 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 column = table._features.reduce((obj, feature) => {\n return Object.assign(obj, feature.createColumn?.(column, table))\n }, column)\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","_features","reduce","obj","feature","Object","assign"],"mappings":";;;;;;;;;;;;;;;;AAqBO,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,
|
|
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 id: string\n depth: number\n accessorFn?: AccessorFn<TData, TValue>\n columnDef: ColumnDef<TData, TValue>\n columns: Column<TData, TValue>[]\n parent?: Column<TData, TValue>\n getFlatColumns: () => Column<TData, TValue>[]\n getLeafColumns: () => 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 column = table._features.reduce((obj, feature) => {\n return Object.assign(obj, feature.createColumn?.(column, table))\n }, column)\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","_features","reduce","obj","feature","Object","assign"],"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 id: string\n depth: number\n headers: Header<TData, unknown>[]\n}\n\nexport interface HeaderContext<TData, TValue> {\n table: Table<TData>\n header: Header<TData, TValue>\n column: Column<TData, TValue>\n}\n\nexport interface CoreHeader<TData extends RowData, TValue> {\n id: string\n index: number\n depth: number\n column: Column<TData, TValue>\n headerGroup: HeaderGroup<TData>\n subHeaders: Header<TData, TValue>[]\n colSpan: number\n rowSpan: number\n getLeafHeaders: () => Header<TData, unknown>[]\n isPlaceholder: boolean\n placeholderId?: string\n getContext: () => HeaderContext<TData, TValue>\n}\n\nexport interface HeadersInstance<TData extends RowData> {\n getHeaderGroups: () => HeaderGroup<TData>[]\n getLeftHeaderGroups: () => HeaderGroup<TData>[]\n getCenterHeaderGroups: () => HeaderGroup<TData>[]\n getRightHeaderGroups: () => HeaderGroup<TData>[]\n\n getFooterGroups: () => HeaderGroup<TData>[]\n getLeftFooterGroups: () => HeaderGroup<TData>[]\n getCenterFooterGroups: () => HeaderGroup<TData>[]\n getRightFooterGroups: () => HeaderGroup<TData>[]\n\n getFlatHeaders: () => Header<TData, unknown>[]\n getLeftFlatHeaders: () => Header<TData, unknown>[]\n getCenterFlatHeaders: () => Header<TData, unknown>[]\n getRightFlatHeaders: () => Header<TData, unknown>[]\n\n getLeafHeaders: () => Header<TData, unknown>[]\n getLeftLeafHeaders: () => Header<TData, unknown>[]\n getCenterLeafHeaders: () => Header<TData, unknown>[]\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 Object.assign(header, feature.createHeader?.(header, table))\n })\n\n return header as Header<TData, TValue>\n}\n\nexport const Headers: TableFeature = {\n createTable: <TData extends RowData>(\n table: Table<TData>\n ): HeadersInstance<TData> => {\n return {\n // Header Groups\n\n 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 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:\n process.env.NODE_ENV === 'development' && 'getCenterHeaderGroups',\n debug: () => table.options.debugAll ?? table.options.debugHeaders,\n }\n ),\n\n 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(\n allColumns,\n orderedLeafColumns,\n table,\n 'left'\n )\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getLeftHeaderGroups',\n debug: () => table.options.debugAll ?? table.options.debugHeaders,\n }\n ),\n\n 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(\n allColumns,\n orderedLeafColumns,\n table,\n 'right'\n )\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 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 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 getCenterFooterGroups: memo(\n () => [table.getCenterHeaderGroups()],\n headerGroups => {\n return [...headerGroups].reverse()\n },\n {\n key:\n process.env.NODE_ENV === 'development' && 'getCenterFooterGroups',\n debug: () => table.options.debugAll ?? table.options.debugHeaders,\n }\n ),\n\n 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 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 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 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 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 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 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 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 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}\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","Object","assign","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":";;;;;;;;;;;;;;;;AAqDA;;AAEA,SAASA,YAAYA,CACnBC,KAAmB,EACnBC,MAA6B,EAC7BC,OAMC,EACsB;AAAA,EAAA,IAAAC,WAAA,CAAA;AACvB,EAAA,MAAMC,EAAE,GAAA,CAAAD,WAAA,GAAGD,OAAO,CAACE,EAAE,KAAA,IAAA,GAAAD,WAAA,GAAIF,MAAM,CAACG,EAAE,CAAA;AAElC,EAAA,IAAIC,MAAiC,GAAG;IACtCD,EAAE;IACFH,MAAM;IACNK,KAAK,EAAEJ,OAAO,CAACI,KAAK;AACpBC,IAAAA,aAAa,EAAE,CAAC,CAACL,OAAO,CAACK,aAAa;IACtCC,aAAa,EAAEN,OAAO,CAACM,aAAa;IACpCC,KAAK,EAAEP,OAAO,CAACO,KAAK;AACpBC,IAAAA,UAAU,EAAE,EAAE;AACdC,IAAAA,OAAO,EAAE,CAAC;AACVC,IAAAA,OAAO,EAAE,CAAC;AACVC,IAAAA,WAAW,EAAE,IAAK;IAClBC,cAAc,EAAEA,MAAgC;MAC9C,MAAMC,WAAqC,GAAG,EAAE,CAAA;MAEhD,MAAMC,aAAa,GAAIC,CAAyB,IAAK;QACnD,IAAIA,CAAC,CAACP,UAAU,IAAIO,CAAC,CAACP,UAAU,CAACQ,MAAM,EAAE;AACvCD,UAAAA,CAAC,CAACP,UAAU,CAACS,GAAG,CAACH,aAAa,CAAC,CAAA;AACjC,SAAA;AACAD,QAAAA,WAAW,CAACK,IAAI,CAACH,CAAC,CAA2B,CAAA;OAC9C,CAAA;MAEDD,aAAa,CAACX,MAAM,CAAC,CAAA;AAErB,MAAA,OAAOU,WAAW,CAAA;KACnB;IACDM,UAAU,EAAEA,OAAO;MACjBrB,KAAK;AACLK,MAAAA,MAAM,EAAEA,MAA+B;AACvCJ,MAAAA,MAAAA;KACD,CAAA;GACF,CAAA;AAEDD,EAAAA,KAAK,CAACsB,SAAS,CAACC,OAAO,CAACC,OAAO,IAAI;AACjCC,IAAAA,MAAM,CAACC,MAAM,CAACrB,MAAM,EAAEmB,OAAO,CAACzB,YAAY,IAApByB,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,OAAO,CAACzB,YAAY,CAAGM,MAAM,EAAEL,KAAK,CAAC,CAAC,CAAA;AAC9D,GAAC,CAAC,CAAA;AAEF,EAAA,OAAOK,MAAM,CAAA;AACf,CAAA;AAEO,MAAMsB,OAAqB,GAAG;EACnCC,WAAW,EACT5B,KAAmB,IACQ;IAC3B,OAAO;AACL;;AAEA6B,MAAAA,eAAe,EAAEC,UAAI,CACnB,MAAM,CACJ9B,KAAK,CAAC+B,aAAa,EAAE,EACrB/B,KAAK,CAACgC,qBAAqB,EAAE,EAC7BhC,KAAK,CAACiC,QAAQ,EAAE,CAACC,aAAa,CAACC,IAAI,EACnCnC,KAAK,CAACiC,QAAQ,EAAE,CAACC,aAAa,CAACE,KAAK,CACrC,EACD,CAACC,UAAU,EAAEC,WAAW,EAAEH,IAAI,EAAEC,KAAK,KAAK;QAAA,IAAAG,gBAAA,EAAAC,iBAAA,CAAA;AACxC,QAAA,MAAMC,WAAW,GAAA,CAAAF,gBAAA,GACfJ,IAAI,IAAJA,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,IAAI,CACAhB,GAAG,CAACuB,QAAQ,IAAIJ,WAAW,CAACK,IAAI,CAACC,CAAC,IAAIA,CAAC,CAACxC,EAAE,KAAKsC,QAAQ,CAAE,CAAC,CAC3DG,MAAM,CAACC,OAAO,CAAC,KAAAP,IAAAA,GAAAA,gBAAA,GAAI,EAAE,CAAA;AAE1B,QAAA,MAAMQ,YAAY,GAAA,CAAAP,iBAAA,GAChBJ,KAAK,IAALA,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,KAAK,CACDjB,GAAG,CAACuB,QAAQ,IAAIJ,WAAW,CAACK,IAAI,CAACC,CAAC,IAAIA,CAAC,CAACxC,EAAE,KAAKsC,QAAQ,CAAE,CAAC,CAC3DG,MAAM,CAACC,OAAO,CAAC,KAAAN,IAAAA,GAAAA,iBAAA,GAAI,EAAE,CAAA;AAE1B,QAAA,MAAMQ,aAAa,GAAGV,WAAW,CAACO,MAAM,CACtC5C,MAAM,IAAI,EAACkC,IAAI,IAAJA,IAAAA,IAAAA,IAAI,CAAEc,QAAQ,CAAChD,MAAM,CAACG,EAAE,CAAC,CAAI,IAAA,EAACgC,KAAK,IAALA,IAAAA,IAAAA,KAAK,CAAEa,QAAQ,CAAChD,MAAM,CAACG,EAAE,CAAC,CACpE,CAAA,CAAA;AAED,QAAA,MAAM8C,YAAY,GAAGC,iBAAiB,CACpCd,UAAU,EACV,CAAC,GAAGI,WAAW,EAAE,GAAGO,aAAa,EAAE,GAAGD,YAAY,CAAC,EACnD/C,KAAK,CACN,CAAA;AAED,QAAA,OAAOkD,YAAY,CAAA;AACrB,OAAC,EACD;QACEE,GAAG,EAAEC,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,aAAa,IAAI,iBAAiB;AAChEC,QAAAA,KAAK,EAAEA,MAAA;AAAA,UAAA,IAAAC,qBAAA,CAAA;AAAA,UAAA,OAAA,CAAAA,qBAAA,GAAMzD,KAAK,CAACE,OAAO,CAACwD,QAAQ,KAAAD,IAAAA,GAAAA,qBAAA,GAAIzD,KAAK,CAACE,OAAO,CAACyD,YAAY,CAAA;AAAA,SAAA;AACnE,OAAC,CACF;AAEDC,MAAAA,qBAAqB,EAAE9B,UAAI,CACzB,MAAM,CACJ9B,KAAK,CAAC+B,aAAa,EAAE,EACrB/B,KAAK,CAACgC,qBAAqB,EAAE,EAC7BhC,KAAK,CAACiC,QAAQ,EAAE,CAACC,aAAa,CAACC,IAAI,EACnCnC,KAAK,CAACiC,QAAQ,EAAE,CAACC,aAAa,CAACE,KAAK,CACrC,EACD,CAACC,UAAU,EAAEC,WAAW,EAAEH,IAAI,EAAEC,KAAK,KAAK;AACxCE,QAAAA,WAAW,GAAGA,WAAW,CAACO,MAAM,CAC9B5C,MAAM,IAAI,EAACkC,IAAI,IAAA,IAAA,IAAJA,IAAI,CAAEc,QAAQ,CAAChD,MAAM,CAACG,EAAE,CAAC,CAAA,IAAI,EAACgC,KAAK,IAALA,IAAAA,IAAAA,KAAK,CAAEa,QAAQ,CAAChD,MAAM,CAACG,EAAE,CAAC,CACpE,CAAA,CAAA;QACD,OAAO+C,iBAAiB,CAACd,UAAU,EAAEC,WAAW,EAAEtC,KAAK,EAAE,QAAQ,CAAC,CAAA;AACpE,OAAC,EACD;QACEoD,GAAG,EACDC,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,aAAa,IAAI,uBAAuB;AACnEC,QAAAA,KAAK,EAAEA,MAAA;AAAA,UAAA,IAAAK,sBAAA,CAAA;AAAA,UAAA,OAAA,CAAAA,sBAAA,GAAM7D,KAAK,CAACE,OAAO,CAACwD,QAAQ,KAAAG,IAAAA,GAAAA,sBAAA,GAAI7D,KAAK,CAACE,OAAO,CAACyD,YAAY,CAAA;AAAA,SAAA;AACnE,OAAC,CACF;AAEDG,MAAAA,mBAAmB,EAAEhC,UAAI,CACvB,MAAM,CACJ9B,KAAK,CAAC+B,aAAa,EAAE,EACrB/B,KAAK,CAACgC,qBAAqB,EAAE,EAC7BhC,KAAK,CAACiC,QAAQ,EAAE,CAACC,aAAa,CAACC,IAAI,CACpC,EACD,CAACE,UAAU,EAAEC,WAAW,EAAEH,IAAI,KAAK;AAAA,QAAA,IAAA4B,iBAAA,CAAA;AACjC,QAAA,MAAMC,kBAAkB,GAAA,CAAAD,iBAAA,GACtB5B,IAAI,IAAJA,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,IAAI,CACAhB,GAAG,CAACuB,QAAQ,IAAIJ,WAAW,CAACK,IAAI,CAACC,CAAC,IAAIA,CAAC,CAACxC,EAAE,KAAKsC,QAAQ,CAAE,CAAC,CAC3DG,MAAM,CAACC,OAAO,CAAC,KAAAiB,IAAAA,GAAAA,iBAAA,GAAI,EAAE,CAAA;QAE1B,OAAOZ,iBAAiB,CACtBd,UAAU,EACV2B,kBAAkB,EAClBhE,KAAK,EACL,MAAM,CACP,CAAA;AACH,OAAC,EACD;QACEoD,GAAG,EAAEC,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,aAAa,IAAI,qBAAqB;AACpEC,QAAAA,KAAK,EAAEA,MAAA;AAAA,UAAA,IAAAS,sBAAA,CAAA;AAAA,UAAA,OAAA,CAAAA,sBAAA,GAAMjE,KAAK,CAACE,OAAO,CAACwD,QAAQ,KAAAO,IAAAA,GAAAA,sBAAA,GAAIjE,KAAK,CAACE,OAAO,CAACyD,YAAY,CAAA;AAAA,SAAA;AACnE,OAAC,CACF;AAEDO,MAAAA,oBAAoB,EAAEpC,UAAI,CACxB,MAAM,CACJ9B,KAAK,CAAC+B,aAAa,EAAE,EACrB/B,KAAK,CAACgC,qBAAqB,EAAE,EAC7BhC,KAAK,CAACiC,QAAQ,EAAE,CAACC,aAAa,CAACE,KAAK,CACrC,EACD,CAACC,UAAU,EAAEC,WAAW,EAAEF,KAAK,KAAK;AAAA,QAAA,IAAA+B,kBAAA,CAAA;AAClC,QAAA,MAAMH,kBAAkB,GAAA,CAAAG,kBAAA,GACtB/B,KAAK,IAALA,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,KAAK,CACDjB,GAAG,CAACuB,QAAQ,IAAIJ,WAAW,CAACK,IAAI,CAACC,CAAC,IAAIA,CAAC,CAACxC,EAAE,KAAKsC,QAAQ,CAAE,CAAC,CAC3DG,MAAM,CAACC,OAAO,CAAC,KAAAqB,IAAAA,GAAAA,kBAAA,GAAI,EAAE,CAAA;QAE1B,OAAOhB,iBAAiB,CACtBd,UAAU,EACV2B,kBAAkB,EAClBhE,KAAK,EACL,OAAO,CACR,CAAA;AACH,OAAC,EACD;QACEoD,GAAG,EAAEC,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,aAAa,IAAI,sBAAsB;AACrEC,QAAAA,KAAK,EAAEA,MAAA;AAAA,UAAA,IAAAY,sBAAA,CAAA;AAAA,UAAA,OAAA,CAAAA,sBAAA,GAAMpE,KAAK,CAACE,OAAO,CAACwD,QAAQ,KAAAU,IAAAA,GAAAA,sBAAA,GAAIpE,KAAK,CAACE,OAAO,CAACyD,YAAY,CAAA;AAAA,SAAA;AACnE,OAAC,CACF;AAED;;AAEAU,MAAAA,eAAe,EAAEvC,UAAI,CACnB,MAAM,CAAC9B,KAAK,CAAC6B,eAAe,EAAE,CAAC,EAC/BqB,YAAY,IAAI;AACd,QAAA,OAAO,CAAC,GAAGA,YAAY,CAAC,CAACoB,OAAO,EAAE,CAAA;AACpC,OAAC,EACD;QACElB,GAAG,EAAEC,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,aAAa,IAAI,iBAAiB;AAChEC,QAAAA,KAAK,EAAEA,MAAA;AAAA,UAAA,IAAAe,sBAAA,CAAA;AAAA,UAAA,OAAA,CAAAA,sBAAA,GAAMvE,KAAK,CAACE,OAAO,CAACwD,QAAQ,KAAAa,IAAAA,GAAAA,sBAAA,GAAIvE,KAAK,CAACE,OAAO,CAACyD,YAAY,CAAA;AAAA,SAAA;AACnE,OAAC,CACF;AAEDa,MAAAA,mBAAmB,EAAE1C,UAAI,CACvB,MAAM,CAAC9B,KAAK,CAAC8D,mBAAmB,EAAE,CAAC,EACnCZ,YAAY,IAAI;AACd,QAAA,OAAO,CAAC,GAAGA,YAAY,CAAC,CAACoB,OAAO,EAAE,CAAA;AACpC,OAAC,EACD;QACElB,GAAG,EAAEC,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,aAAa,IAAI,qBAAqB;AACpEC,QAAAA,KAAK,EAAEA,MAAA;AAAA,UAAA,IAAAiB,sBAAA,CAAA;AAAA,UAAA,OAAA,CAAAA,sBAAA,GAAMzE,KAAK,CAACE,OAAO,CAACwD,QAAQ,KAAAe,IAAAA,GAAAA,sBAAA,GAAIzE,KAAK,CAACE,OAAO,CAACyD,YAAY,CAAA;AAAA,SAAA;AACnE,OAAC,CACF;AAEDe,MAAAA,qBAAqB,EAAE5C,UAAI,CACzB,MAAM,CAAC9B,KAAK,CAAC4D,qBAAqB,EAAE,CAAC,EACrCV,YAAY,IAAI;AACd,QAAA,OAAO,CAAC,GAAGA,YAAY,CAAC,CAACoB,OAAO,EAAE,CAAA;AACpC,OAAC,EACD;QACElB,GAAG,EACDC,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,aAAa,IAAI,uBAAuB;AACnEC,QAAAA,KAAK,EAAEA,MAAA;AAAA,UAAA,IAAAmB,sBAAA,CAAA;AAAA,UAAA,OAAA,CAAAA,sBAAA,GAAM3E,KAAK,CAACE,OAAO,CAACwD,QAAQ,KAAAiB,IAAAA,GAAAA,sBAAA,GAAI3E,KAAK,CAACE,OAAO,CAACyD,YAAY,CAAA;AAAA,SAAA;AACnE,OAAC,CACF;AAEDiB,MAAAA,oBAAoB,EAAE9C,UAAI,CACxB,MAAM,CAAC9B,KAAK,CAACkE,oBAAoB,EAAE,CAAC,EACpChB,YAAY,IAAI;AACd,QAAA,OAAO,CAAC,GAAGA,YAAY,CAAC,CAACoB,OAAO,EAAE,CAAA;AACpC,OAAC,EACD;QACElB,GAAG,EAAEC,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,aAAa,IAAI,sBAAsB;AACrEC,QAAAA,KAAK,EAAEA,MAAA;AAAA,UAAA,IAAAqB,sBAAA,CAAA;AAAA,UAAA,OAAA,CAAAA,sBAAA,GAAM7E,KAAK,CAACE,OAAO,CAACwD,QAAQ,KAAAmB,IAAAA,GAAAA,sBAAA,GAAI7E,KAAK,CAACE,OAAO,CAACyD,YAAY,CAAA;AAAA,SAAA;AACnE,OAAC,CACF;AAED;;AAEAmB,MAAAA,cAAc,EAAEhD,UAAI,CAClB,MAAM,CAAC9B,KAAK,CAAC6B,eAAe,EAAE,CAAC,EAC/BqB,YAAY,IAAI;AACd,QAAA,OAAOA,YAAY,CAChB/B,GAAG,CAACN,WAAW,IAAI;UAClB,OAAOA,WAAW,CAACkE,OAAO,CAAA;SAC3B,CAAC,CACDC,IAAI,EAAE,CAAA;AACX,OAAC,EACD;QACE5B,GAAG,EAAEC,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,aAAa,IAAI,gBAAgB;AAC/DC,QAAAA,KAAK,EAAEA,MAAA;AAAA,UAAA,IAAAyB,sBAAA,CAAA;AAAA,UAAA,OAAA,CAAAA,sBAAA,GAAMjF,KAAK,CAACE,OAAO,CAACwD,QAAQ,KAAAuB,IAAAA,GAAAA,sBAAA,GAAIjF,KAAK,CAACE,OAAO,CAACyD,YAAY,CAAA;AAAA,SAAA;AACnE,OAAC,CACF;AAEDuB,MAAAA,kBAAkB,EAAEpD,UAAI,CACtB,MAAM,CAAC9B,KAAK,CAAC8D,mBAAmB,EAAE,CAAC,EACnC3B,IAAI,IAAI;AACN,QAAA,OAAOA,IAAI,CACRhB,GAAG,CAACN,WAAW,IAAI;UAClB,OAAOA,WAAW,CAACkE,OAAO,CAAA;SAC3B,CAAC,CACDC,IAAI,EAAE,CAAA;AACX,OAAC,EACD;QACE5B,GAAG,EAAEC,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,aAAa,IAAI,oBAAoB;AACnEC,QAAAA,KAAK,EAAEA,MAAA;AAAA,UAAA,IAAA2B,uBAAA,CAAA;AAAA,UAAA,OAAA,CAAAA,uBAAA,GAAMnF,KAAK,CAACE,OAAO,CAACwD,QAAQ,KAAAyB,IAAAA,GAAAA,uBAAA,GAAInF,KAAK,CAACE,OAAO,CAACyD,YAAY,CAAA;AAAA,SAAA;AACnE,OAAC,CACF;AAEDyB,MAAAA,oBAAoB,EAAEtD,UAAI,CACxB,MAAM,CAAC9B,KAAK,CAAC4D,qBAAqB,EAAE,CAAC,EACrCzB,IAAI,IAAI;AACN,QAAA,OAAOA,IAAI,CACRhB,GAAG,CAACN,WAAW,IAAI;UAClB,OAAOA,WAAW,CAACkE,OAAO,CAAA;SAC3B,CAAC,CACDC,IAAI,EAAE,CAAA;AACX,OAAC,EACD;QACE5B,GAAG,EAAEC,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,aAAa,IAAI,sBAAsB;AACrEC,QAAAA,KAAK,EAAEA,MAAA;AAAA,UAAA,IAAA6B,uBAAA,CAAA;AAAA,UAAA,OAAA,CAAAA,uBAAA,GAAMrF,KAAK,CAACE,OAAO,CAACwD,QAAQ,KAAA2B,IAAAA,GAAAA,uBAAA,GAAIrF,KAAK,CAACE,OAAO,CAACyD,YAAY,CAAA;AAAA,SAAA;AACnE,OAAC,CACF;AAED2B,MAAAA,mBAAmB,EAAExD,UAAI,CACvB,MAAM,CAAC9B,KAAK,CAACkE,oBAAoB,EAAE,CAAC,EACpC/B,IAAI,IAAI;AACN,QAAA,OAAOA,IAAI,CACRhB,GAAG,CAACN,WAAW,IAAI;UAClB,OAAOA,WAAW,CAACkE,OAAO,CAAA;SAC3B,CAAC,CACDC,IAAI,EAAE,CAAA;AACX,OAAC,EACD;QACE5B,GAAG,EAAEC,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,aAAa,IAAI,qBAAqB;AACpEC,QAAAA,KAAK,EAAEA,MAAA;AAAA,UAAA,IAAA+B,uBAAA,CAAA;AAAA,UAAA,OAAA,CAAAA,uBAAA,GAAMvF,KAAK,CAACE,OAAO,CAACwD,QAAQ,KAAA6B,IAAAA,GAAAA,uBAAA,GAAIvF,KAAK,CAACE,OAAO,CAACyD,YAAY,CAAA;AAAA,SAAA;AACnE,OAAC,CACF;AAED;;AAEA6B,MAAAA,oBAAoB,EAAE1D,UAAI,CACxB,MAAM,CAAC9B,KAAK,CAACoF,oBAAoB,EAAE,CAAC,EACpCK,WAAW,IAAI;AACb,QAAA,OAAOA,WAAW,CAAC5C,MAAM,CAACxC,MAAM,IAAA;AAAA,UAAA,IAAAqF,kBAAA,CAAA;UAAA,OAAI,EAAA,CAAAA,kBAAA,GAACrF,MAAM,CAACK,UAAU,KAAA,IAAA,IAAjBgF,kBAAA,CAAmBxE,MAAM,CAAA,CAAA;SAAC,CAAA,CAAA;AACjE,OAAC,EACD;QACEkC,GAAG,EAAEC,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,aAAa,IAAI,sBAAsB;AACrEC,QAAAA,KAAK,EAAEA,MAAA;AAAA,UAAA,IAAAmC,uBAAA,CAAA;AAAA,UAAA,OAAA,CAAAA,uBAAA,GAAM3F,KAAK,CAACE,OAAO,CAACwD,QAAQ,KAAAiC,IAAAA,GAAAA,uBAAA,GAAI3F,KAAK,CAACE,OAAO,CAACyD,YAAY,CAAA;AAAA,SAAA;AACnE,OAAC,CACF;AAEDiC,MAAAA,kBAAkB,EAAE9D,UAAI,CACtB,MAAM,CAAC9B,KAAK,CAACkF,kBAAkB,EAAE,CAAC,EAClCO,WAAW,IAAI;AACb,QAAA,OAAOA,WAAW,CAAC5C,MAAM,CAACxC,MAAM,IAAA;AAAA,UAAA,IAAAwF,mBAAA,CAAA;UAAA,OAAI,EAAA,CAAAA,mBAAA,GAACxF,MAAM,CAACK,UAAU,KAAA,IAAA,IAAjBmF,mBAAA,CAAmB3E,MAAM,CAAA,CAAA;SAAC,CAAA,CAAA;AACjE,OAAC,EACD;QACEkC,GAAG,EAAEC,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,aAAa,IAAI,oBAAoB;AACnEC,QAAAA,KAAK,EAAEA,MAAA;AAAA,UAAA,IAAAsC,uBAAA,CAAA;AAAA,UAAA,OAAA,CAAAA,uBAAA,GAAM9F,KAAK,CAACE,OAAO,CAACwD,QAAQ,KAAAoC,IAAAA,GAAAA,uBAAA,GAAI9F,KAAK,CAACE,OAAO,CAACyD,YAAY,CAAA;AAAA,SAAA;AACnE,OAAC,CACF;AAEDoC,MAAAA,mBAAmB,EAAEjE,UAAI,CACvB,MAAM,CAAC9B,KAAK,CAACsF,mBAAmB,EAAE,CAAC,EACnCG,WAAW,IAAI;AACb,QAAA,OAAOA,WAAW,CAAC5C,MAAM,CAACxC,MAAM,IAAA;AAAA,UAAA,IAAA2F,mBAAA,CAAA;UAAA,OAAI,EAAA,CAAAA,mBAAA,GAAC3F,MAAM,CAACK,UAAU,KAAA,IAAA,IAAjBsF,mBAAA,CAAmB9E,MAAM,CAAA,CAAA;SAAC,CAAA,CAAA;AACjE,OAAC,EACD;QACEkC,GAAG,EAAEC,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,aAAa,IAAI,qBAAqB;AACpEC,QAAAA,KAAK,EAAEA,MAAA;AAAA,UAAA,IAAAyC,uBAAA,CAAA;AAAA,UAAA,OAAA,CAAAA,uBAAA,GAAMjG,KAAK,CAACE,OAAO,CAACwD,QAAQ,KAAAuC,IAAAA,GAAAA,uBAAA,GAAIjG,KAAK,CAACE,OAAO,CAACyD,YAAY,CAAA;AAAA,SAAA;AACnE,OAAC,CACF;MAED7C,cAAc,EAAEgB,UAAI,CAClB,MAAM,CACJ9B,KAAK,CAAC8D,mBAAmB,EAAE,EAC3B9D,KAAK,CAAC4D,qBAAqB,EAAE,EAC7B5D,KAAK,CAACkE,oBAAoB,EAAE,CAC7B,EACD,CAAC/B,IAAI,EAAE+D,MAAM,EAAE9D,KAAK,KAAK;QAAA,IAAA+D,eAAA,EAAAC,MAAA,EAAAC,iBAAA,EAAAC,QAAA,EAAAC,gBAAA,EAAAC,OAAA,CAAA;AACvB,QAAA,OAAO,CACL,IAAA,CAAAL,eAAA,GAAA,CAAAC,MAAA,GAAIjE,IAAI,CAAC,CAAC,CAAC,KAAPiE,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,MAAA,CAASrB,OAAO,KAAAoB,IAAAA,GAAAA,eAAA,GAAI,EAAE,CAAC,EAC3B,IAAAE,CAAAA,iBAAA,GAAAC,CAAAA,QAAA,GAAIJ,MAAM,CAAC,CAAC,CAAC,KAATI,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,QAAA,CAAWvB,OAAO,KAAAsB,IAAAA,GAAAA,iBAAA,GAAI,EAAE,CAAC,EAC7B,IAAAE,CAAAA,gBAAA,GAAAC,CAAAA,OAAA,GAAIpE,KAAK,CAAC,CAAC,CAAC,KAAA,IAAA,GAAA,KAAA,CAAA,GAARoE,OAAA,CAAUzB,OAAO,KAAA,IAAA,GAAAwB,gBAAA,GAAI,EAAE,CAAC,CAC7B,CACEpF,GAAG,CAACd,MAAM,IAAI;UACb,OAAOA,MAAM,CAACS,cAAc,EAAE,CAAA;SAC/B,CAAC,CACDkE,IAAI,EAAE,CAAA;AACX,OAAC,EACD;QACE5B,GAAG,EAAEC,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,aAAa,IAAI,gBAAgB;AAC/DC,QAAAA,KAAK,EAAEA,MAAA;AAAA,UAAA,IAAAiD,uBAAA,CAAA;AAAA,UAAA,OAAA,CAAAA,uBAAA,GAAMzG,KAAK,CAACE,OAAO,CAACwD,QAAQ,KAAA+C,IAAAA,GAAAA,uBAAA,GAAIzG,KAAK,CAACE,OAAO,CAACyD,YAAY,CAAA;AAAA,SAAA;OAClE,CAAA;KAEJ,CAAA;AACH,GAAA;AACF,EAAC;AAEM,SAASR,iBAAiBA,CAC/Bd,UAAoC,EACpCqE,cAAwC,EACxC1G,KAAmB,EACnB2G,YAA0C,EAC1C;EAAA,IAAAC,qBAAA,EAAAC,cAAA,CAAA;AACA;AACA;AACA;AACA;AACA;;EAEA,IAAIC,QAAQ,GAAG,CAAC,CAAA;AAEhB,EAAA,MAAMC,YAAY,GAAG,UAACC,OAAiC,EAAEvG,KAAK,EAAS;AAAA,IAAA,IAAdA,KAAK,KAAA,KAAA,CAAA,EAAA;AAALA,MAAAA,KAAK,GAAG,CAAC,CAAA;AAAA,KAAA;IAChEqG,QAAQ,GAAGG,IAAI,CAACC,GAAG,CAACJ,QAAQ,EAAErG,KAAK,CAAC,CAAA;AAEpCuG,IAAAA,OAAO,CACJnE,MAAM,CAAC5C,MAAM,IAAIA,MAAM,CAACkH,YAAY,EAAE,CAAC,CACvC5F,OAAO,CAACtB,MAAM,IAAI;AAAA,MAAA,IAAAmH,eAAA,CAAA;MACjB,IAAAA,CAAAA,eAAA,GAAInH,MAAM,CAAC+G,OAAO,KAAdI,IAAAA,IAAAA,eAAA,CAAgBlG,MAAM,EAAE;QAC1B6F,YAAY,CAAC9G,MAAM,CAAC+G,OAAO,EAAEvG,KAAK,GAAG,CAAC,CAAC,CAAA;AACzC,OAAA;KACD,EAAE,CAAC,CAAC,CAAA;GACR,CAAA;EAEDsG,YAAY,CAAC1E,UAAU,CAAC,CAAA;EAExB,IAAIa,YAAkC,GAAG,EAAE,CAAA;AAE3C,EAAA,MAAMmE,iBAAiB,GAAGA,CACxBC,cAAwC,EACxC7G,KAAa,KACV;AACH;AACA,IAAA,MAAMI,WAA+B,GAAG;MACtCJ,KAAK;AACLL,MAAAA,EAAE,EAAE,CAACuG,YAAY,EAAG,CAAA,EAAElG,KAAM,CAAC,CAAA,CAAC,CAACoC,MAAM,CAACC,OAAO,CAAC,CAACyE,IAAI,CAAC,GAAG,CAAC;AACxDxC,MAAAA,OAAO,EAAE,EAAA;KACV,CAAA;;AAED;IACA,MAAMyC,oBAA8C,GAAG,EAAE,CAAA;;AAEzD;AACAF,IAAAA,cAAc,CAAC/F,OAAO,CAACkG,aAAa,IAAI;AACtC;;MAEA,MAAMC,yBAAyB,GAAG,CAAC,GAAGF,oBAAoB,CAAC,CAAClD,OAAO,EAAE,CAAC,CAAC,CAAC,CAAA;MAExE,MAAMqD,YAAY,GAAGF,aAAa,CAACxH,MAAM,CAACQ,KAAK,KAAKI,WAAW,CAACJ,KAAK,CAAA;AAErE,MAAA,IAAIR,MAA8B,CAAA;MAClC,IAAIM,aAAa,GAAG,KAAK,CAAA;AAEzB,MAAA,IAAIoH,YAAY,IAAIF,aAAa,CAACxH,MAAM,CAAC2H,MAAM,EAAE;AAC/C;AACA3H,QAAAA,MAAM,GAAGwH,aAAa,CAACxH,MAAM,CAAC2H,MAAM,CAAA;AACtC,OAAC,MAAM;AACL;QACA3H,MAAM,GAAGwH,aAAa,CAACxH,MAAM,CAAA;AAC7BM,QAAAA,aAAa,GAAG,IAAI,CAAA;AACtB,OAAA;MAEA,IACEmH,yBAAyB,IACzB,CAAAA,yBAAyB,IAAA,IAAA,GAAA,KAAA,CAAA,GAAzBA,yBAAyB,CAAEzH,MAAM,MAAKA,MAAM,EAC5C;AACA;AACAyH,QAAAA,yBAAyB,CAAChH,UAAU,CAACU,IAAI,CAACqG,aAAa,CAAC,CAAA;AAC1D,OAAC,MAAM;AACL;AACA,QAAA,MAAMpH,MAAM,GAAGN,YAAY,CAACC,KAAK,EAAEC,MAAM,EAAE;UACzCG,EAAE,EAAE,CAACuG,YAAY,EAAElG,KAAK,EAAER,MAAM,CAACG,EAAE,EAAEqH,aAAa,IAAA,IAAA,GAAA,KAAA,CAAA,GAAbA,aAAa,CAAErH,EAAE,CAAC,CACpDyC,MAAM,CAACC,OAAO,CAAC,CACfyE,IAAI,CAAC,GAAG,CAAC;UACZhH,aAAa;UACbC,aAAa,EAAED,aAAa,GACvB,CAAA,EAAEiH,oBAAoB,CAAC3E,MAAM,CAACD,CAAC,IAAIA,CAAC,CAAC3C,MAAM,KAAKA,MAAM,CAAC,CAACiB,MAAO,CAAA,CAAC,GACjE2G,SAAS;UACbpH,KAAK;UACLH,KAAK,EAAEkH,oBAAoB,CAACtG,MAAAA;AAC9B,SAAC,CAAC,CAAA;;AAEF;AACAb,QAAAA,MAAM,CAACK,UAAU,CAACU,IAAI,CAACqG,aAAa,CAAC,CAAA;AACrC;AACA;AACAD,QAAAA,oBAAoB,CAACpG,IAAI,CAACf,MAAM,CAAC,CAAA;AACnC,OAAA;AAEAQ,MAAAA,WAAW,CAACkE,OAAO,CAAC3D,IAAI,CAACqG,aAAa,CAAC,CAAA;MACvCA,aAAa,CAAC5G,WAAW,GAAGA,WAAW,CAAA;AACzC,KAAC,CAAC,CAAA;AAEFqC,IAAAA,YAAY,CAAC9B,IAAI,CAACP,WAAW,CAAC,CAAA;IAE9B,IAAIJ,KAAK,GAAG,CAAC,EAAE;AACb4G,MAAAA,iBAAiB,CAACG,oBAAoB,EAAE/G,KAAK,GAAG,CAAC,CAAC,CAAA;AACpD,KAAA;GACD,CAAA;AAED,EAAA,MAAMqH,aAAa,GAAGpB,cAAc,CAACvF,GAAG,CAAC,CAAClB,MAAM,EAAEK,KAAK,KACrDP,YAAY,CAACC,KAAK,EAAEC,MAAM,EAAE;AAC1BQ,IAAAA,KAAK,EAAEqG,QAAQ;AACfxG,IAAAA,KAAAA;AACF,GAAC,CAAC,CACH,CAAA;AAED+G,EAAAA,iBAAiB,CAACS,aAAa,EAAEhB,QAAQ,GAAG,CAAC,CAAC,CAAA;EAE9C5D,YAAY,CAACoB,OAAO,EAAE,CAAA;;AAEtB;AACA;AACA;;EAEA,MAAMyD,sBAAsB,GAC1BhD,OAAiC,IACU;AAC3C,IAAA,MAAMiD,eAAe,GAAGjD,OAAO,CAAClC,MAAM,CAACxC,MAAM,IAC3CA,MAAM,CAACJ,MAAM,CAACkH,YAAY,EAAE,CAC7B,CAAA;AAED,IAAA,OAAOa,eAAe,CAAC7G,GAAG,CAACd,MAAM,IAAI;MACnC,IAAIM,OAAO,GAAG,CAAC,CAAA;MACf,IAAIC,OAAO,GAAG,CAAC,CAAA;AACf,MAAA,IAAIqH,aAAa,GAAG,CAAC,CAAC,CAAC,CAAA;MAEvB,IAAI5H,MAAM,CAACK,UAAU,IAAIL,MAAM,CAACK,UAAU,CAACQ,MAAM,EAAE;AACjD+G,QAAAA,aAAa,GAAG,EAAE,CAAA;QAElBF,sBAAsB,CAAC1H,MAAM,CAACK,UAAU,CAAC,CAACa,OAAO,CAC/C2G,IAAA,IAAsD;UAAA,IAArD;AAAEvH,YAAAA,OAAO,EAAEwH,YAAY;AAAEvH,YAAAA,OAAO,EAAEwH,YAAAA;AAAa,WAAC,GAAAF,IAAA,CAAA;AAC/CvH,UAAAA,OAAO,IAAIwH,YAAY,CAAA;AACvBF,UAAAA,aAAa,CAAC7G,IAAI,CAACgH,YAAY,CAAC,CAAA;AAClC,SAAC,CACF,CAAA;AACH,OAAC,MAAM;AACLzH,QAAAA,OAAO,GAAG,CAAC,CAAA;AACb,OAAA;MAEA,MAAM0H,eAAe,GAAGpB,IAAI,CAACqB,GAAG,CAAC,GAAGL,aAAa,CAAC,CAAA;MAClDrH,OAAO,GAAGA,OAAO,GAAGyH,eAAe,CAAA;MAEnChI,MAAM,CAACM,OAAO,GAAGA,OAAO,CAAA;MACxBN,MAAM,CAACO,OAAO,GAAGA,OAAO,CAAA;MAExB,OAAO;QAAED,OAAO;AAAEC,QAAAA,OAAAA;OAAS,CAAA;AAC7B,KAAC,CAAC,CAAA;GACH,CAAA;AAEDmH,EAAAA,sBAAsB,EAAAnB,qBAAA,GAAA,CAAAC,cAAA,GAAC3D,YAAY,CAAC,CAAC,CAAC,KAAA,IAAA,GAAA,KAAA,CAAA,GAAf2D,cAAA,CAAiB9B,OAAO,YAAA6B,qBAAA,GAAI,EAAE,CAAC,CAAA;AAEtD,EAAA,OAAO1D,YAAY,CAAA;AACrB;;;;;"}
|
|
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 id: string\n depth: number\n headers: Header<TData, unknown>[]\n}\n\nexport interface HeaderContext<TData, TValue> {\n table: Table<TData>\n header: Header<TData, TValue>\n column: Column<TData, TValue>\n}\n\nexport interface CoreHeader<TData extends RowData, TValue> {\n id: string\n index: number\n depth: number\n column: Column<TData, TValue>\n headerGroup: HeaderGroup<TData>\n subHeaders: Header<TData, TValue>[]\n colSpan: number\n rowSpan: number\n getLeafHeaders: () => Header<TData, unknown>[]\n isPlaceholder: boolean\n placeholderId?: string\n getContext: () => HeaderContext<TData, TValue>\n}\n\nexport interface HeadersInstance<TData extends RowData> {\n getHeaderGroups: () => HeaderGroup<TData>[]\n getLeftHeaderGroups: () => HeaderGroup<TData>[]\n getCenterHeaderGroups: () => HeaderGroup<TData>[]\n getRightHeaderGroups: () => HeaderGroup<TData>[]\n\n getFooterGroups: () => HeaderGroup<TData>[]\n getLeftFooterGroups: () => HeaderGroup<TData>[]\n getCenterFooterGroups: () => HeaderGroup<TData>[]\n getRightFooterGroups: () => HeaderGroup<TData>[]\n\n getFlatHeaders: () => Header<TData, unknown>[]\n getLeftFlatHeaders: () => Header<TData, unknown>[]\n getCenterFlatHeaders: () => Header<TData, unknown>[]\n getRightFlatHeaders: () => Header<TData, unknown>[]\n\n getLeafHeaders: () => Header<TData, unknown>[]\n getLeftLeafHeaders: () => Header<TData, unknown>[]\n getCenterLeafHeaders: () => Header<TData, unknown>[]\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 Object.assign(header, feature.createHeader?.(header, table))\n })\n\n return header as Header<TData, TValue>\n}\n\nexport const Headers: TableFeature = {\n createTable: <TData extends RowData>(\n table: Table<TData>\n ): HeadersInstance<TData> => {\n return {\n // Header Groups\n\n 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 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:\n process.env.NODE_ENV === 'development' && 'getCenterHeaderGroups',\n debug: () => table.options.debugAll ?? table.options.debugHeaders,\n }\n ),\n\n 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(\n allColumns,\n orderedLeafColumns,\n table,\n 'left'\n )\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getLeftHeaderGroups',\n debug: () => table.options.debugAll ?? table.options.debugHeaders,\n }\n ),\n\n 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(\n allColumns,\n orderedLeafColumns,\n table,\n 'right'\n )\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 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 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 getCenterFooterGroups: memo(\n () => [table.getCenterHeaderGroups()],\n headerGroups => {\n return [...headerGroups].reverse()\n },\n {\n key:\n process.env.NODE_ENV === 'development' && 'getCenterFooterGroups',\n debug: () => table.options.debugAll ?? table.options.debugHeaders,\n }\n ),\n\n 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 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 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 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 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 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 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 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 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}\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","Object","assign","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":"row.js","sources":["../../../src/core/row.ts"],"sourcesContent":["import { RowData, Cell, Row, Table } from '../types'\nimport { flattenBy, memo } from '../utils'\nimport { createCell } from './cell'\n\nexport interface CoreRow<TData extends RowData> {\n id: string\n index: number\n original: TData\n depth: number\n parentId?: string\n _valuesCache: Record<string, unknown>\n _uniqueValuesCache: Record<string, unknown>\n getValue: <TValue>(columnId: string) => TValue\n getUniqueValues: <TValue>(columnId: string) => TValue[]\n renderValue: <TValue>(columnId: string) => TValue\n subRows: Row<TData>[]\n getLeafRows: () => Row<TData>[]\n originalSubRows?: TData[]\n getAllCells: () => Cell<TData, unknown>[]\n _getAllCellsByColumnId: () => Record<string, Cell<TData, unknown>>\n getParentRow: () => Row<TData> | undefined\n getParentRows: () => Row<TData>[]\n}\n\nexport const createRow = <TData extends RowData>(\n table: Table<TData>,\n id: string,\n original: TData,\n rowIndex: number,\n depth: number,\n subRows?: Row<TData>[],\n parentId?: string\n): Row<TData> => {\n let row: CoreRow<TData> = {\n id,\n index: rowIndex,\n original,\n depth,\n parentId,\n _valuesCache: {},\n _uniqueValuesCache: {},\n getValue: columnId => {\n if (row._valuesCache.hasOwnProperty(columnId)) {\n return row._valuesCache[columnId]\n }\n\n const column = table.getColumn(columnId)\n\n if (!column?.accessorFn) {\n return undefined\n }\n\n row._valuesCache[columnId] = column.accessorFn(\n row.original as TData,\n rowIndex\n )\n\n return row._valuesCache[columnId] as any\n },\n getUniqueValues: columnId => {\n if (row._uniqueValuesCache.hasOwnProperty(columnId)) {\n return row._uniqueValuesCache[columnId]\n }\n\n const column = table.getColumn(columnId)\n\n if (!column?.accessorFn) {\n return undefined\n }\n\n if (!column.columnDef.getUniqueValues) {\n row._uniqueValuesCache[columnId] = [row.getValue(columnId)]\n return row._uniqueValuesCache[columnId]\n }\n\n row._uniqueValuesCache[columnId] = column.columnDef.getUniqueValues(\n row.original as TData,\n rowIndex\n )\n\n return row._uniqueValuesCache[columnId] as any\n },\n renderValue: columnId =>\n row.getValue(columnId) ?? table.options.renderFallbackValue,\n subRows: subRows ?? [],\n getLeafRows: () => flattenBy(row.subRows, d => d.subRows),\n getParentRow: () => (row.parentId ? table.getRow(row.parentId) : undefined),\n getParentRows: () => {\n let parentRows: Row<TData>[] = []\n let currentRow = row\n while (true) {\n const parentRow = currentRow.getParentRow()\n if (!parentRow) break\n parentRows.push(parentRow)\n currentRow = parentRow\n }\n return parentRows.reverse()\n },\n getAllCells: memo(\n () => [table.getAllLeafColumns()],\n leafColumns => {\n return leafColumns.map(column => {\n return createCell(table, row as Row<TData>, column, column.id)\n })\n },\n {\n key: process.env.NODE_ENV === 'development' && 'row.getAllCells',\n debug: () => table.options.debugAll ?? table.options.debugRows,\n }\n ),\n\n _getAllCellsByColumnId: memo(\n () => [row.getAllCells()],\n allCells => {\n return allCells.reduce((acc, cell) => {\n acc[cell.column.id] = cell\n return acc\n }, {} as Record<string, Cell<TData, unknown>>)\n },\n {\n key:\n process.env.NODE_ENV === 'production' && 'row.getAllCellsByColumnId',\n debug: () => table.options.debugAll ?? table.options.debugRows,\n }\n ),\n }\n\n for (let i = 0; i < table._features.length; i++) {\n const feature = table._features[i]\n Object.assign(row, feature?.createRow?.(row, table))\n }\n\n return row as Row<TData>\n}\n"],"names":["createRow","table","id","original","rowIndex","depth","subRows","parentId","row","index","_valuesCache","_uniqueValuesCache","getValue","columnId","hasOwnProperty","column","getColumn","accessorFn","undefined","getUniqueValues","columnDef","renderValue","_row$getValue","options","renderFallbackValue","getLeafRows","flattenBy","d","getParentRow","getRow","getParentRows","parentRows","currentRow","parentRow","push","reverse","getAllCells","memo","getAllLeafColumns","leafColumns","map","createCell","key","process","env","NODE_ENV","debug","_table$options$debugA","debugAll","debugRows","_getAllCellsByColumnId","allCells","reduce","acc","cell","_table$options$debugA2","i","_features","length","feature","Object","assign"],"mappings":";;;;;;;;;;;;;;;;;MAwBaA,SAAS,GAAGA,CACvBC,KAAmB,EACnBC,EAAU,EACVC,QAAe,EACfC,QAAgB,EAChBC,KAAa,EACbC,OAAsB,EACtBC,QAAiB,KACF;AACf,EAAA,IAAIC,GAAmB,GAAG;IACxBN,EAAE;AACFO,IAAAA,KAAK,EAAEL,QAAQ;IACfD,QAAQ;IACRE,KAAK;IACLE,QAAQ;IACRG,YAAY,EAAE,EAAE;IAChBC,kBAAkB,EAAE,EAAE;IACtBC,QAAQ,EAAEC,QAAQ,IAAI;MACpB,IAAIL,GAAG,CAACE,YAAY,CAACI,cAAc,CAACD,QAAQ,CAAC,EAAE;AAC7C,QAAA,OAAOL,GAAG,CAACE,YAAY,CAACG,QAAQ,CAAC,CAAA;AACnC,OAAA;AAEA,MAAA,MAAME,MAAM,GAAGd,KAAK,CAACe,SAAS,CAACH,QAAQ,CAAC,CAAA;AAExC,MAAA,IAAI,EAACE,MAAM,IAAA,IAAA,IAANA,MAAM,CAAEE,UAAU,CAAE,EAAA;AACvB,QAAA,OAAOC,SAAS,CAAA;AAClB,OAAA;AAEAV,MAAAA,GAAG,CAACE,YAAY,CAACG,QAAQ,CAAC,GAAGE,MAAM,CAACE,UAAU,CAC5CT,GAAG,CAACL,QAAQ,EACZC,
|
|
1
|
+
{"version":3,"file":"row.js","sources":["../../../src/core/row.ts"],"sourcesContent":["import { RowData, Cell, Row, Table } from '../types'\nimport { flattenBy, memo } from '../utils'\nimport { createCell } from './cell'\n\nexport interface CoreRow<TData extends RowData> {\n id: string\n index: number\n original: TData\n depth: number\n parentId?: string\n _valuesCache: Record<string, unknown>\n _uniqueValuesCache: Record<string, unknown>\n getValue: <TValue>(columnId: string) => TValue\n getUniqueValues: <TValue>(columnId: string) => TValue[]\n renderValue: <TValue>(columnId: string) => TValue\n subRows: Row<TData>[]\n getLeafRows: () => Row<TData>[]\n originalSubRows?: TData[]\n getAllCells: () => Cell<TData, unknown>[]\n _getAllCellsByColumnId: () => Record<string, Cell<TData, unknown>>\n getParentRow: () => Row<TData> | undefined\n getParentRows: () => Row<TData>[]\n}\n\nexport const createRow = <TData extends RowData>(\n table: Table<TData>,\n id: string,\n original: TData,\n rowIndex: number,\n depth: number,\n subRows?: Row<TData>[],\n parentId?: string\n): Row<TData> => {\n let row: CoreRow<TData> = {\n id,\n index: rowIndex,\n original,\n depth,\n parentId,\n _valuesCache: {},\n _uniqueValuesCache: {},\n getValue: columnId => {\n if (row._valuesCache.hasOwnProperty(columnId)) {\n return row._valuesCache[columnId]\n }\n\n const column = table.getColumn(columnId)\n\n if (!column?.accessorFn) {\n return undefined\n }\n\n row._valuesCache[columnId] = column.accessorFn(\n row.original as TData,\n rowIndex\n )\n\n return row._valuesCache[columnId] as any\n },\n getUniqueValues: columnId => {\n if (row._uniqueValuesCache.hasOwnProperty(columnId)) {\n return row._uniqueValuesCache[columnId]\n }\n\n const column = table.getColumn(columnId)\n\n if (!column?.accessorFn) {\n return undefined\n }\n\n if (!column.columnDef.getUniqueValues) {\n row._uniqueValuesCache[columnId] = [row.getValue(columnId)]\n return row._uniqueValuesCache[columnId]\n }\n\n row._uniqueValuesCache[columnId] = column.columnDef.getUniqueValues(\n row.original as TData,\n rowIndex\n )\n\n return row._uniqueValuesCache[columnId] as any\n },\n renderValue: columnId =>\n row.getValue(columnId) ?? table.options.renderFallbackValue,\n subRows: subRows ?? [],\n getLeafRows: () => flattenBy(row.subRows, d => d.subRows),\n getParentRow: () => (row.parentId ? table.getRow(row.parentId) : undefined),\n getParentRows: () => {\n let parentRows: Row<TData>[] = []\n let currentRow = row\n while (true) {\n const parentRow = currentRow.getParentRow()\n if (!parentRow) break\n parentRows.push(parentRow)\n currentRow = parentRow\n }\n return parentRows.reverse()\n },\n getAllCells: memo(\n () => [table.getAllLeafColumns()],\n leafColumns => {\n return leafColumns.map(column => {\n return createCell(table, row as Row<TData>, column, column.id)\n })\n },\n {\n key: process.env.NODE_ENV === 'development' && 'row.getAllCells',\n debug: () => table.options.debugAll ?? table.options.debugRows,\n }\n ),\n\n _getAllCellsByColumnId: memo(\n () => [row.getAllCells()],\n allCells => {\n return allCells.reduce((acc, cell) => {\n acc[cell.column.id] = cell\n return acc\n }, {} as Record<string, Cell<TData, unknown>>)\n },\n {\n key:\n process.env.NODE_ENV === 'production' && 'row.getAllCellsByColumnId',\n debug: () => table.options.debugAll ?? table.options.debugRows,\n }\n ),\n }\n\n for (let i = 0; i < table._features.length; i++) {\n const feature = table._features[i]\n Object.assign(row, feature?.createRow?.(row, table))\n }\n\n return row as Row<TData>\n}\n"],"names":["createRow","table","id","original","rowIndex","depth","subRows","parentId","row","index","_valuesCache","_uniqueValuesCache","getValue","columnId","hasOwnProperty","column","getColumn","accessorFn","undefined","getUniqueValues","columnDef","renderValue","_row$getValue","options","renderFallbackValue","getLeafRows","flattenBy","d","getParentRow","getRow","getParentRows","parentRows","currentRow","parentRow","push","reverse","getAllCells","memo","getAllLeafColumns","leafColumns","map","createCell","key","process","env","NODE_ENV","debug","_table$options$debugA","debugAll","debugRows","_getAllCellsByColumnId","allCells","reduce","acc","cell","_table$options$debugA2","i","_features","length","feature","Object","assign"],"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 getDefaultOptions?: (table: any) => any\n getInitialState?: (initialState?: InitialTableState) => any\n createTable?: (table: any) => any\n getDefaultColumnDef?: () => any\n createColumn?: (column: any, table: any) => any\n createHeader?: (column: any, table: any) => any\n createCell?: (cell: any, column: any, row: any, table: any) => any\n createRow?: (row: any, table: any) => any\n}\n\nconst features = [\n Headers,\n Visibility,\n Ordering,\n Pinning,\n Filters,\n Sorting,\n Grouping,\n Expanding,\n Pagination,\n RowSelection,\n ColumnSizing,\n] as const\n\n//\n\nexport interface CoreTableState {}\n\nexport interface CoreOptions<TData extends RowData> {\n data: TData[]\n state: Partial<TableState>\n onStateChange: (updater: Updater<TableState>) => void\n debugAll?: boolean\n debugTable?: boolean\n debugHeaders?: boolean\n debugColumns?: boolean\n debugRows?: boolean\n initialState?: InitialTableState\n autoResetAll?: boolean\n mergeOptions?: (\n defaultOptions: TableOptions<TData>,\n options: Partial<TableOptions<TData>>\n ) => TableOptions<TData>\n meta?: TableMeta<TData>\n getCoreRowModel: (table: Table<any>) => () => RowModel<any>\n getSubRows?: (originalRow: TData, index: number) => undefined | TData[]\n getRowId?: (originalRow: TData, index: number, parent?: Row<TData>) => string\n columns: ColumnDef<TData, any>[]\n defaultColumn?: Partial<ColumnDef<TData, unknown>>\n renderFallbackValue: any\n}\n\nexport interface CoreInstance<TData extends RowData> {\n initialState: TableState\n reset: () => void\n options: RequiredKeys<TableOptionsResolved<TData>, 'state'>\n setOptions: (newOptions: Updater<TableOptionsResolved<TData>>) => void\n getState: () => TableState\n setState: (updater: Updater<TableState>) => void\n _features: readonly TableFeature[]\n _queue: (cb: () => void) => void\n _getRowId: (_: TData, index: number, parent?: Row<TData>) => string\n getCoreRowModel: () => RowModel<TData>\n _getCoreRowModel?: () => RowModel<TData>\n getRowModel: () => RowModel<TData>\n getRow: (id: string) => Row<TData>\n _getDefaultColumnDef: () => Partial<ColumnDef<TData, unknown>>\n _getColumnDefs: () => ColumnDef<TData, unknown>[]\n _getAllFlatColumnsById: () => Record<string, Column<TData, unknown>>\n getAllColumns: () => Column<TData, unknown>[]\n getAllFlatColumns: () => Column<TData, unknown>[]\n getAllLeafColumns: () => Column<TData, unknown>[]\n getColumn: (columnId: string) => Column<TData, unknown> | undefined\n}\n\nexport function createTable<TData extends RowData>(\n options: TableOptionsResolved<TData>\n): Table<TData> {\n if (options.debugAll || options.debugTable) {\n console.info('Creating Table Instance...')\n }\n\n let table = { _features: features } as unknown as Table<TData>\n\n const defaultOptions = table._features.reduce((obj, feature) => {\n return Object.assign(obj, feature.getDefaultOptions?.(table))\n }, {}) as TableOptionsResolved<TData>\n\n const mergeOptions = (options: TableOptionsResolved<TData>) => {\n if (table.options.mergeOptions) {\n return table.options.mergeOptions(defaultOptions, options)\n }\n\n return {\n ...defaultOptions,\n ...options,\n }\n }\n\n const coreInitialState: CoreTableState = {}\n\n let initialState = {\n ...coreInitialState,\n ...(options.initialState ?? {}),\n } as TableState\n\n table._features.forEach(feature => {\n initialState = feature.getInitialState?.(initialState) ?? initialState\n })\n\n const queued: (() => void)[] = []\n let queuedTimeout = false\n\n const coreInstance: CoreInstance<TData> = {\n _features: features,\n options: {\n ...defaultOptions,\n ...options,\n },\n initialState,\n _queue: cb => {\n queued.push(cb)\n\n if (!queuedTimeout) {\n queuedTimeout = true\n\n // Schedule a microtask to run the queued callbacks after\n // the current call stack (render, etc) has finished.\n Promise.resolve()\n .then(() => {\n while (queued.length) {\n queued.shift()!()\n }\n queuedTimeout = false\n })\n .catch(error =>\n setTimeout(() => {\n throw error\n })\n )\n }\n },\n reset: () => {\n table.setState(table.initialState)\n },\n setOptions: updater => {\n const newOptions = functionalUpdate(updater, table.options)\n table.options = mergeOptions(newOptions) as RequiredKeys<\n TableOptionsResolved<TData>,\n 'state'\n >\n },\n\n getState: () => {\n return table.options.state as TableState\n },\n\n setState: (updater: Updater<TableState>) => {\n table.options.onStateChange?.(updater)\n },\n\n _getRowId: (row: TData, index: number, parent?: Row<TData>) =>\n table.options.getRowId?.(row, index, parent) ??\n `${parent ? [parent.id, index].join('.') : index}`,\n\n getCoreRowModel: () => {\n if (!table._getCoreRowModel) {\n table._getCoreRowModel = table.options.getCoreRowModel(table)\n }\n\n return table._getCoreRowModel!()\n },\n\n // The final calls start at the bottom of the model,\n // expanded rows, which then work their way up\n\n getRowModel: () => {\n return table.getPaginationRowModel()\n },\n getRow: (id: string) => {\n const row = table.getRowModel().rowsById[id]\n\n if (!row) {\n if (process.env.NODE_ENV !== 'production') {\n throw new Error(`getRow expected an ID, but got ${id}`)\n }\n throw new Error()\n }\n\n return row\n },\n _getDefaultColumnDef: memo(\n () => [table.options.defaultColumn],\n defaultColumn => {\n defaultColumn = (defaultColumn ?? {}) as Partial<\n ColumnDef<TData, unknown>\n >\n\n return {\n header: props => {\n const resolvedColumnDef = props.header.column\n .columnDef as 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((acc, column) => {\n acc[column.id] = column\n return acc\n }, {} as Record<string, Column<TData, unknown>>)\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getAllFlatColumnsById',\n debug: () => table.options.debugAll ?? table.options.debugColumns,\n }\n ),\n\n getAllLeafColumns: memo(\n () => [table.getAllColumns(), table._getOrderColumnsFn()],\n (allColumns, orderColumns) => {\n let leafColumns = allColumns.flatMap(column => column.getLeafColumns())\n return orderColumns(leafColumns)\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getAllLeafColumns',\n debug: () => table.options.debugAll ?? table.options.debugColumns,\n }\n ),\n\n getColumn: columnId => {\n const column = table._getAllFlatColumnsById()[columnId]\n\n if (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 table._features.forEach(feature => {\n return Object.assign(table, feature.createTable?.(table))\n })\n\n return table\n}\n"],"names":["features","Headers","Visibility","Ordering","Pinning","Filters","Sorting","Grouping","Expanding","Pagination","RowSelection","ColumnSizing","createTable","options","_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","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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"}
|
|
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 getDefaultOptions?: (table: any) => any\n getInitialState?: (initialState?: InitialTableState) => any\n createTable?: (table: any) => any\n getDefaultColumnDef?: () => any\n createColumn?: (column: any, table: any) => any\n createHeader?: (column: any, table: any) => any\n createCell?: (cell: any, column: any, row: any, table: any) => any\n createRow?: (row: any, table: any) => any\n}\n\nconst features = [\n Headers,\n Visibility,\n Ordering,\n Pinning,\n Filters,\n Sorting,\n Grouping,\n Expanding,\n Pagination,\n RowSelection,\n ColumnSizing,\n] as const\n\n//\n\nexport interface CoreTableState {}\n\nexport interface CoreOptions<TData extends RowData> {\n data: TData[]\n state: Partial<TableState>\n onStateChange: (updater: Updater<TableState>) => void\n debugAll?: boolean\n debugTable?: boolean\n debugHeaders?: boolean\n debugColumns?: boolean\n debugRows?: boolean\n initialState?: InitialTableState\n autoResetAll?: boolean\n mergeOptions?: (\n defaultOptions: TableOptions<TData>,\n options: Partial<TableOptions<TData>>\n ) => TableOptions<TData>\n meta?: TableMeta<TData>\n getCoreRowModel: (table: Table<any>) => () => RowModel<any>\n getSubRows?: (originalRow: TData, index: number) => undefined | TData[]\n getRowId?: (originalRow: TData, index: number, parent?: Row<TData>) => string\n columns: ColumnDef<TData, any>[]\n defaultColumn?: Partial<ColumnDef<TData, unknown>>\n renderFallbackValue: any\n}\n\nexport interface CoreInstance<TData extends RowData> {\n initialState: TableState\n reset: () => void\n options: RequiredKeys<TableOptionsResolved<TData>, 'state'>\n setOptions: (newOptions: Updater<TableOptionsResolved<TData>>) => void\n getState: () => TableState\n setState: (updater: Updater<TableState>) => void\n _features: readonly TableFeature[]\n _queue: (cb: () => void) => void\n _getRowId: (_: TData, index: number, parent?: Row<TData>) => string\n getCoreRowModel: () => RowModel<TData>\n _getCoreRowModel?: () => RowModel<TData>\n getRowModel: () => RowModel<TData>\n getRow: (id: string) => Row<TData>\n _getDefaultColumnDef: () => Partial<ColumnDef<TData, unknown>>\n _getColumnDefs: () => ColumnDef<TData, unknown>[]\n _getAllFlatColumnsById: () => Record<string, Column<TData, unknown>>\n getAllColumns: () => Column<TData, unknown>[]\n getAllFlatColumns: () => Column<TData, unknown>[]\n getAllLeafColumns: () => Column<TData, unknown>[]\n getColumn: (columnId: string) => Column<TData, unknown> | undefined\n}\n\nexport function createTable<TData extends RowData>(\n options: TableOptionsResolved<TData>\n): Table<TData> {\n if (options.debugAll || options.debugTable) {\n console.info('Creating Table Instance...')\n }\n\n let table = { _features: features } as unknown as Table<TData>\n\n const defaultOptions = table._features.reduce((obj, feature) => {\n return Object.assign(obj, feature.getDefaultOptions?.(table))\n }, {}) as TableOptionsResolved<TData>\n\n const mergeOptions = (options: TableOptionsResolved<TData>) => {\n if (table.options.mergeOptions) {\n return table.options.mergeOptions(defaultOptions, options)\n }\n\n return {\n ...defaultOptions,\n ...options,\n }\n }\n\n const coreInitialState: CoreTableState = {}\n\n let initialState = {\n ...coreInitialState,\n ...(options.initialState ?? {}),\n } as TableState\n\n table._features.forEach(feature => {\n initialState = feature.getInitialState?.(initialState) ?? initialState\n })\n\n const queued: (() => void)[] = []\n let queuedTimeout = false\n\n const coreInstance: CoreInstance<TData> = {\n _features: features,\n options: {\n ...defaultOptions,\n ...options,\n },\n initialState,\n _queue: cb => {\n queued.push(cb)\n\n if (!queuedTimeout) {\n queuedTimeout = true\n\n // Schedule a microtask to run the queued callbacks after\n // the current call stack (render, etc) has finished.\n Promise.resolve()\n .then(() => {\n while (queued.length) {\n queued.shift()!()\n }\n queuedTimeout = false\n })\n .catch(error =>\n setTimeout(() => {\n throw error\n })\n )\n }\n },\n reset: () => {\n table.setState(table.initialState)\n },\n setOptions: updater => {\n const newOptions = functionalUpdate(updater, table.options)\n table.options = mergeOptions(newOptions) as RequiredKeys<\n TableOptionsResolved<TData>,\n 'state'\n >\n },\n\n getState: () => {\n return table.options.state as TableState\n },\n\n setState: (updater: Updater<TableState>) => {\n table.options.onStateChange?.(updater)\n },\n\n _getRowId: (row: TData, index: number, parent?: Row<TData>) =>\n table.options.getRowId?.(row, index, parent) ??\n `${parent ? [parent.id, index].join('.') : index}`,\n\n getCoreRowModel: () => {\n if (!table._getCoreRowModel) {\n table._getCoreRowModel = table.options.getCoreRowModel(table)\n }\n\n return table._getCoreRowModel!()\n },\n\n // The final calls start at the bottom of the model,\n // expanded rows, which then work their way up\n\n getRowModel: () => {\n return table.getPaginationRowModel()\n },\n getRow: (id: string) => {\n const row = table.getRowModel().rowsById[id]\n\n if (!row) {\n if (process.env.NODE_ENV !== 'production') {\n throw new Error(`getRow expected an ID, but got ${id}`)\n }\n throw new Error()\n }\n\n return row\n },\n _getDefaultColumnDef: memo(\n () => [table.options.defaultColumn],\n defaultColumn => {\n defaultColumn = (defaultColumn ?? {}) as Partial<\n ColumnDef<TData, unknown>\n >\n\n return {\n header: props => {\n const resolvedColumnDef = props.header.column\n .columnDef as 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((acc, column) => {\n acc[column.id] = column\n return acc\n }, {} as Record<string, Column<TData, unknown>>)\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getAllFlatColumnsById',\n debug: () => table.options.debugAll ?? table.options.debugColumns,\n }\n ),\n\n getAllLeafColumns: memo(\n () => [table.getAllColumns(), table._getOrderColumnsFn()],\n (allColumns, orderColumns) => {\n let leafColumns = allColumns.flatMap(column => column.getLeafColumns())\n return orderColumns(leafColumns)\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getAllLeafColumns',\n debug: () => table.options.debugAll ?? table.options.debugColumns,\n }\n ),\n\n getColumn: columnId => {\n const column = table._getAllFlatColumnsById()[columnId]\n\n if (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 table._features.forEach(feature => {\n return Object.assign(table, feature.createTable?.(table))\n })\n\n return table\n}\n"],"names":["features","Headers","Visibility","Ordering","Pinning","Filters","Sorting","Grouping","Expanding","Pagination","RowSelection","ColumnSizing","createTable","options","_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","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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"}
|