@tanstack/table-core 8.9.3 → 8.9.8

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.
Files changed (61) hide show
  1. package/build/lib/core/cell.js +1 -1
  2. package/build/lib/core/cell.js.map +1 -1
  3. package/build/lib/core/column.js +3 -3
  4. package/build/lib/core/column.js.map +1 -1
  5. package/build/lib/core/headers.js +182 -181
  6. package/build/lib/core/headers.js.map +1 -1
  7. package/build/lib/core/row.js +1 -1
  8. package/build/lib/core/row.js.map +1 -1
  9. package/build/lib/core/table.js +6 -5
  10. package/build/lib/core/table.js.map +1 -1
  11. package/build/lib/features/ColumnSizing.js +173 -179
  12. package/build/lib/features/ColumnSizing.js.map +1 -1
  13. package/build/lib/features/Expanding.js +119 -123
  14. package/build/lib/features/Expanding.js.map +1 -1
  15. package/build/lib/features/Filters.js +159 -167
  16. package/build/lib/features/Filters.js.map +1 -1
  17. package/build/lib/features/Grouping.js +72 -80
  18. package/build/lib/features/Grouping.js.map +1 -1
  19. package/build/lib/features/Ordering.js +32 -34
  20. package/build/lib/features/Ordering.js.map +1 -1
  21. package/build/lib/features/Pagination.js +112 -114
  22. package/build/lib/features/Pagination.js.map +1 -1
  23. package/build/lib/features/Pinning.js +120 -126
  24. package/build/lib/features/Pinning.js.map +1 -1
  25. package/build/lib/features/RowSelection.js +245 -247
  26. package/build/lib/features/RowSelection.js.map +1 -1
  27. package/build/lib/features/Sorting.js +163 -167
  28. package/build/lib/features/Sorting.js.map +1 -1
  29. package/build/lib/features/Visibility.js +60 -66
  30. package/build/lib/features/Visibility.js.map +1 -1
  31. package/build/lib/filterFns.js +6 -6
  32. package/build/lib/filterFns.js.map +1 -1
  33. package/build/lib/index.esm.js +1484 -1530
  34. package/build/lib/index.esm.js.map +1 -1
  35. package/build/lib/index.mjs +1484 -1530
  36. package/build/lib/index.mjs.map +1 -1
  37. package/build/lib/utils/filterRowsUtils.js +3 -3
  38. package/build/lib/utils/filterRowsUtils.js.map +1 -1
  39. package/build/lib/utils.js +1 -1
  40. package/build/lib/utils.js.map +1 -1
  41. package/build/umd/index.development.js +1484 -1530
  42. package/build/umd/index.development.js.map +1 -1
  43. package/build/umd/index.production.js +1 -1
  44. package/build/umd/index.production.js.map +1 -1
  45. package/package.json +1 -1
  46. package/src/core/cell.ts +5 -8
  47. package/src/core/column.ts +3 -3
  48. package/src/core/headers.ts +264 -280
  49. package/src/core/row.ts +1 -1
  50. package/src/core/table.ts +4 -3
  51. package/src/features/ColumnSizing.ts +220 -231
  52. package/src/features/Expanding.ts +132 -140
  53. package/src/features/Filters.ts +193 -206
  54. package/src/features/Grouping.ts +94 -110
  55. package/src/features/Ordering.ts +48 -51
  56. package/src/features/Pagination.ts +150 -154
  57. package/src/features/Pinning.ts +158 -178
  58. package/src/features/RowSelection.ts +280 -286
  59. package/src/features/Sorting.ts +196 -206
  60. package/src/features/Visibility.ts +98 -107
  61. package/src/utils/filterRowsUtils.ts +3 -3
@@ -1 +1 @@
1
- {"version":3,"file":"Pagination.js","sources":["../../../src/features/Pagination.ts"],"sourcesContent":["import { TableFeature } from '../core/table'\nimport { OnChangeFn, Table, RowModel, Updater, RowData } from '../types'\nimport { functionalUpdate, makeStateUpdater, memo } from '../utils'\n\nexport interface PaginationState {\n pageIndex: number\n pageSize: number\n}\n\nexport interface PaginationTableState {\n pagination: PaginationState\n}\n\nexport interface PaginationInitialTableState {\n pagination?: Partial<PaginationState>\n}\n\nexport interface PaginationOptions {\n pageCount?: number\n manualPagination?: boolean\n onPaginationChange?: OnChangeFn<PaginationState>\n autoResetPageIndex?: boolean\n getPaginationRowModel?: (table: Table<any>) => () => RowModel<any>\n}\n\nexport interface PaginationDefaultOptions {\n onPaginationChange: OnChangeFn<PaginationState>\n}\n\nexport interface PaginationInstance<TData extends RowData> {\n _autoResetPageIndex: () => void\n setPagination: (updater: Updater<PaginationState>) => void\n resetPagination: (defaultState?: boolean) => void\n setPageIndex: (updater: Updater<number>) => void\n resetPageIndex: (defaultState?: boolean) => void\n setPageSize: (updater: Updater<number>) => void\n resetPageSize: (defaultState?: boolean) => void\n setPageCount: (updater: Updater<number>) => void\n getPageOptions: () => number[]\n getCanPreviousPage: () => boolean\n getCanNextPage: () => boolean\n previousPage: () => void\n nextPage: () => void\n getPrePaginationRowModel: () => RowModel<TData>\n getPaginationRowModel: () => RowModel<TData>\n _getPaginationRowModel?: () => RowModel<TData>\n getPageCount: () => number\n}\n\n//\n\nconst defaultPageIndex = 0\nconst defaultPageSize = 10\n\nconst getDefaultPaginationState = (): PaginationState => ({\n pageIndex: defaultPageIndex,\n pageSize: defaultPageSize,\n})\n\nexport const Pagination: TableFeature = {\n getInitialState: (state): PaginationTableState => {\n return {\n ...state,\n pagination: {\n ...getDefaultPaginationState(),\n ...state?.pagination,\n },\n }\n },\n\n getDefaultOptions: <TData extends RowData>(\n table: Table<TData>\n ): PaginationDefaultOptions => {\n return {\n onPaginationChange: makeStateUpdater('pagination', table),\n }\n },\n\n createTable: <TData extends RowData>(\n table: Table<TData>\n ): PaginationInstance<TData> => {\n let registered = false\n let queued = false\n\n return {\n _autoResetPageIndex: () => {\n if (!registered) {\n table._queue(() => {\n registered = true\n })\n return\n }\n\n if (\n table.options.autoResetAll ??\n table.options.autoResetPageIndex ??\n !table.options.manualPagination\n ) {\n if (queued) return\n queued = true\n table._queue(() => {\n table.resetPageIndex()\n queued = false\n })\n }\n },\n setPagination: updater => {\n const safeUpdater: Updater<PaginationState> = old => {\n let newState = functionalUpdate(updater, old)\n\n return newState\n }\n\n return table.options.onPaginationChange?.(safeUpdater)\n },\n resetPagination: defaultState => {\n table.setPagination(\n defaultState\n ? getDefaultPaginationState()\n : table.initialState.pagination ?? getDefaultPaginationState()\n )\n },\n setPageIndex: updater => {\n table.setPagination(old => {\n let pageIndex = functionalUpdate(updater, old.pageIndex)\n\n const maxPageIndex =\n typeof table.options.pageCount === 'undefined' ||\n table.options.pageCount === -1\n ? Number.MAX_SAFE_INTEGER\n : table.options.pageCount - 1\n\n pageIndex = Math.max(0, Math.min(pageIndex, maxPageIndex))\n\n return {\n ...old,\n pageIndex,\n }\n })\n },\n resetPageIndex: defaultState => {\n table.setPageIndex(\n defaultState\n ? defaultPageIndex\n : table.initialState?.pagination?.pageIndex ?? defaultPageIndex\n )\n },\n resetPageSize: defaultState => {\n table.setPageSize(\n defaultState\n ? defaultPageSize\n : table.initialState?.pagination?.pageSize ?? defaultPageSize\n )\n },\n setPageSize: updater => {\n table.setPagination(old => {\n const pageSize = Math.max(1, functionalUpdate(updater, old.pageSize))\n const topRowIndex = old.pageSize * old.pageIndex!\n const pageIndex = Math.floor(topRowIndex / pageSize)\n\n return {\n ...old,\n pageIndex,\n pageSize,\n }\n })\n },\n setPageCount: updater =>\n table.setPagination(old => {\n let newPageCount = functionalUpdate(\n updater,\n table.options.pageCount ?? -1\n )\n\n if (typeof newPageCount === 'number') {\n newPageCount = Math.max(-1, newPageCount)\n }\n\n return {\n ...old,\n pageCount: newPageCount,\n }\n }),\n\n getPageOptions: memo(\n () => [table.getPageCount()],\n pageCount => {\n let pageOptions: number[] = []\n if (pageCount && pageCount > 0) {\n pageOptions = [...new Array(pageCount)].fill(null).map((_, i) => i)\n }\n return pageOptions\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getPageOptions',\n debug: () => table.options.debugAll ?? table.options.debugTable,\n }\n ),\n\n getCanPreviousPage: () => table.getState().pagination.pageIndex > 0,\n\n getCanNextPage: () => {\n const { pageIndex } = table.getState().pagination\n\n const pageCount = table.getPageCount()\n\n if (pageCount === -1) {\n return true\n }\n\n if (pageCount === 0) {\n return false\n }\n\n return pageIndex < pageCount - 1\n },\n\n previousPage: () => {\n return table.setPageIndex(old => old - 1)\n },\n\n nextPage: () => {\n return table.setPageIndex(old => {\n return old + 1\n })\n },\n\n getPrePaginationRowModel: () => table.getExpandedRowModel(),\n getPaginationRowModel: () => {\n if (\n !table._getPaginationRowModel &&\n table.options.getPaginationRowModel\n ) {\n table._getPaginationRowModel =\n table.options.getPaginationRowModel(table)\n }\n\n if (table.options.manualPagination || !table._getPaginationRowModel) {\n return table.getPrePaginationRowModel()\n }\n\n return table._getPaginationRowModel()\n },\n\n getPageCount: () => {\n return (\n table.options.pageCount ??\n Math.ceil(\n table.getPrePaginationRowModel().rows.length /\n table.getState().pagination.pageSize\n )\n )\n },\n }\n },\n}\n"],"names":["defaultPageIndex","defaultPageSize","getDefaultPaginationState","pageIndex","pageSize","Pagination","getInitialState","state","pagination","getDefaultOptions","table","onPaginationChange","makeStateUpdater","createTable","registered","queued","_autoResetPageIndex","_ref","_table$options$autoRe","_queue","options","autoResetAll","autoResetPageIndex","manualPagination","resetPageIndex","setPagination","updater","safeUpdater","old","newState","functionalUpdate","resetPagination","defaultState","_table$initialState$p","initialState","setPageIndex","maxPageIndex","pageCount","Number","MAX_SAFE_INTEGER","Math","max","min","_table$initialState$p2","_table$initialState","_table$initialState$p3","resetPageSize","_table$initialState$p4","_table$initialState2","_table$initialState2$","setPageSize","topRowIndex","floor","setPageCount","_table$options$pageCo","newPageCount","getPageOptions","memo","getPageCount","pageOptions","Array","fill","map","_","i","key","process","env","NODE_ENV","debug","_table$options$debugA","debugAll","debugTable","getCanPreviousPage","getState","getCanNextPage","previousPage","nextPage","getPrePaginationRowModel","getExpandedRowModel","getPaginationRowModel","_getPaginationRowModel","_table$options$pageCo2","ceil","rows","length"],"mappings":"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"}
1
+ {"version":3,"file":"Pagination.js","sources":["../../../src/features/Pagination.ts"],"sourcesContent":["import { TableFeature } from '../core/table'\nimport { OnChangeFn, Table, RowModel, Updater, RowData } from '../types'\nimport { functionalUpdate, makeStateUpdater, memo } from '../utils'\n\nexport interface PaginationState {\n pageIndex: number\n pageSize: number\n}\n\nexport interface PaginationTableState {\n pagination: PaginationState\n}\n\nexport interface PaginationInitialTableState {\n pagination?: Partial<PaginationState>\n}\n\nexport interface PaginationOptions {\n pageCount?: number\n manualPagination?: boolean\n onPaginationChange?: OnChangeFn<PaginationState>\n autoResetPageIndex?: boolean\n getPaginationRowModel?: (table: Table<any>) => () => RowModel<any>\n}\n\nexport interface PaginationDefaultOptions {\n onPaginationChange: OnChangeFn<PaginationState>\n}\n\nexport interface PaginationInstance<TData extends RowData> {\n _autoResetPageIndex: () => void\n setPagination: (updater: Updater<PaginationState>) => void\n resetPagination: (defaultState?: boolean) => void\n setPageIndex: (updater: Updater<number>) => void\n resetPageIndex: (defaultState?: boolean) => void\n setPageSize: (updater: Updater<number>) => void\n resetPageSize: (defaultState?: boolean) => void\n setPageCount: (updater: Updater<number>) => void\n getPageOptions: () => number[]\n getCanPreviousPage: () => boolean\n getCanNextPage: () => boolean\n previousPage: () => void\n nextPage: () => void\n getPrePaginationRowModel: () => RowModel<TData>\n getPaginationRowModel: () => RowModel<TData>\n _getPaginationRowModel?: () => RowModel<TData>\n getPageCount: () => number\n}\n\n//\n\nconst defaultPageIndex = 0\nconst defaultPageSize = 10\n\nconst getDefaultPaginationState = (): PaginationState => ({\n pageIndex: defaultPageIndex,\n pageSize: defaultPageSize,\n})\n\nexport const Pagination: TableFeature = {\n getInitialState: (state): PaginationTableState => {\n return {\n ...state,\n pagination: {\n ...getDefaultPaginationState(),\n ...state?.pagination,\n },\n }\n },\n\n getDefaultOptions: <TData extends RowData>(\n table: Table<TData>\n ): PaginationDefaultOptions => {\n return {\n onPaginationChange: makeStateUpdater('pagination', table),\n }\n },\n\n createTable: <TData extends RowData>(table: Table<TData>): void => {\n let registered = false\n let queued = false\n\n table._autoResetPageIndex = () => {\n if (!registered) {\n table._queue(() => {\n registered = true\n })\n return\n }\n\n if (\n table.options.autoResetAll ??\n table.options.autoResetPageIndex ??\n !table.options.manualPagination\n ) {\n if (queued) return\n queued = true\n table._queue(() => {\n table.resetPageIndex()\n queued = false\n })\n }\n }\n table.setPagination = updater => {\n const safeUpdater: Updater<PaginationState> = old => {\n let newState = functionalUpdate(updater, old)\n\n return newState\n }\n\n return table.options.onPaginationChange?.(safeUpdater)\n }\n table.resetPagination = defaultState => {\n table.setPagination(\n defaultState\n ? getDefaultPaginationState()\n : table.initialState.pagination ?? getDefaultPaginationState()\n )\n }\n table.setPageIndex = updater => {\n table.setPagination(old => {\n let pageIndex = functionalUpdate(updater, old.pageIndex)\n\n const maxPageIndex =\n typeof table.options.pageCount === 'undefined' ||\n table.options.pageCount === -1\n ? Number.MAX_SAFE_INTEGER\n : table.options.pageCount - 1\n\n pageIndex = Math.max(0, Math.min(pageIndex, maxPageIndex))\n\n return {\n ...old,\n pageIndex,\n }\n })\n }\n table.resetPageIndex = defaultState => {\n table.setPageIndex(\n defaultState\n ? defaultPageIndex\n : table.initialState?.pagination?.pageIndex ?? defaultPageIndex\n )\n }\n table.resetPageSize = defaultState => {\n table.setPageSize(\n defaultState\n ? defaultPageSize\n : table.initialState?.pagination?.pageSize ?? defaultPageSize\n )\n }\n table.setPageSize = updater => {\n table.setPagination(old => {\n const pageSize = Math.max(1, functionalUpdate(updater, old.pageSize))\n const topRowIndex = old.pageSize * old.pageIndex!\n const pageIndex = Math.floor(topRowIndex / pageSize)\n\n return {\n ...old,\n pageIndex,\n pageSize,\n }\n })\n }\n table.setPageCount = updater =>\n table.setPagination(old => {\n let newPageCount = functionalUpdate(\n updater,\n table.options.pageCount ?? -1\n )\n\n if (typeof newPageCount === 'number') {\n newPageCount = Math.max(-1, newPageCount)\n }\n\n return {\n ...old,\n pageCount: newPageCount,\n }\n })\n\n table.getPageOptions = memo(\n () => [table.getPageCount()],\n pageCount => {\n let pageOptions: number[] = []\n if (pageCount && pageCount > 0) {\n pageOptions = [...new Array(pageCount)].fill(null).map((_, i) => i)\n }\n return pageOptions\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getPageOptions',\n debug: () => table.options.debugAll ?? table.options.debugTable,\n }\n )\n\n table.getCanPreviousPage = () => table.getState().pagination.pageIndex > 0\n\n table.getCanNextPage = () => {\n const { pageIndex } = table.getState().pagination\n\n const pageCount = table.getPageCount()\n\n if (pageCount === -1) {\n return true\n }\n\n if (pageCount === 0) {\n return false\n }\n\n return pageIndex < pageCount - 1\n }\n\n table.previousPage = () => {\n return table.setPageIndex(old => old - 1)\n }\n\n table.nextPage = () => {\n return table.setPageIndex(old => {\n return old + 1\n })\n }\n\n table.getPrePaginationRowModel = () => table.getExpandedRowModel()\n table.getPaginationRowModel = () => {\n if (\n !table._getPaginationRowModel &&\n table.options.getPaginationRowModel\n ) {\n table._getPaginationRowModel =\n table.options.getPaginationRowModel(table)\n }\n\n if (table.options.manualPagination || !table._getPaginationRowModel) {\n return table.getPrePaginationRowModel()\n }\n\n return table._getPaginationRowModel()\n }\n\n table.getPageCount = () => {\n return (\n table.options.pageCount ??\n Math.ceil(\n table.getPrePaginationRowModel().rows.length /\n table.getState().pagination.pageSize\n )\n )\n }\n },\n}\n"],"names":["defaultPageIndex","defaultPageSize","getDefaultPaginationState","pageIndex","pageSize","Pagination","getInitialState","state","pagination","getDefaultOptions","table","onPaginationChange","makeStateUpdater","createTable","registered","queued","_autoResetPageIndex","_ref","_table$options$autoRe","_queue","options","autoResetAll","autoResetPageIndex","manualPagination","resetPageIndex","setPagination","updater","safeUpdater","old","newState","functionalUpdate","resetPagination","defaultState","_table$initialState$p","initialState","setPageIndex","maxPageIndex","pageCount","Number","MAX_SAFE_INTEGER","Math","max","min","_table$initialState$p2","_table$initialState","resetPageSize","_table$initialState$p3","_table$initialState2","setPageSize","topRowIndex","floor","setPageCount","_table$options$pageCo","newPageCount","getPageOptions","memo","getPageCount","pageOptions","Array","fill","map","_","i","key","process","env","NODE_ENV","debug","_table$options$debugA","debugAll","debugTable","getCanPreviousPage","getState","getCanNextPage","previousPage","nextPage","getPrePaginationRowModel","getExpandedRowModel","getPaginationRowModel","_getPaginationRowModel","_table$options$pageCo2","ceil","rows","length"],"mappings":"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"}
@@ -33,140 +33,134 @@ const Pinning = {
33
33
  };
34
34
  },
35
35
  createColumn: (column, table) => {
36
- return {
37
- pin: position => {
38
- const columnIds = column.getLeafColumns().map(d => d.id).filter(Boolean);
39
- table.setColumnPinning(old => {
40
- var _old$left3, _old$right3;
41
- if (position === 'right') {
42
- var _old$left, _old$right;
43
- return {
44
- left: ((_old$left = old == null ? void 0 : old.left) != null ? _old$left : []).filter(d => !(columnIds != null && columnIds.includes(d))),
45
- right: [...((_old$right = old == null ? void 0 : old.right) != null ? _old$right : []).filter(d => !(columnIds != null && columnIds.includes(d))), ...columnIds]
46
- };
47
- }
48
- if (position === 'left') {
49
- var _old$left2, _old$right2;
50
- return {
51
- left: [...((_old$left2 = old == null ? void 0 : old.left) != null ? _old$left2 : []).filter(d => !(columnIds != null && columnIds.includes(d))), ...columnIds],
52
- right: ((_old$right2 = old == null ? void 0 : old.right) != null ? _old$right2 : []).filter(d => !(columnIds != null && columnIds.includes(d)))
53
- };
54
- }
36
+ column.pin = position => {
37
+ const columnIds = column.getLeafColumns().map(d => d.id).filter(Boolean);
38
+ table.setColumnPinning(old => {
39
+ var _old$left3, _old$right3;
40
+ if (position === 'right') {
41
+ var _old$left, _old$right;
55
42
  return {
56
- left: ((_old$left3 = old == null ? void 0 : old.left) != null ? _old$left3 : []).filter(d => !(columnIds != null && columnIds.includes(d))),
57
- right: ((_old$right3 = old == null ? void 0 : old.right) != null ? _old$right3 : []).filter(d => !(columnIds != null && columnIds.includes(d)))
43
+ left: ((_old$left = old == null ? void 0 : old.left) != null ? _old$left : []).filter(d => !(columnIds != null && columnIds.includes(d))),
44
+ right: [...((_old$right = old == null ? void 0 : old.right) != null ? _old$right : []).filter(d => !(columnIds != null && columnIds.includes(d))), ...columnIds]
58
45
  };
59
- });
60
- },
61
- getCanPin: () => {
62
- const leafColumns = column.getLeafColumns();
63
- return leafColumns.some(d => {
64
- var _d$columnDef$enablePi, _table$options$enable;
65
- return ((_d$columnDef$enablePi = d.columnDef.enablePinning) != null ? _d$columnDef$enablePi : true) && ((_table$options$enable = table.options.enablePinning) != null ? _table$options$enable : true);
66
- });
67
- },
68
- getIsPinned: () => {
69
- const leafColumnIds = column.getLeafColumns().map(d => d.id);
70
- const {
71
- left,
72
- right
73
- } = table.getState().columnPinning;
74
- const isLeft = leafColumnIds.some(d => left == null ? void 0 : left.includes(d));
75
- const isRight = leafColumnIds.some(d => right == null ? void 0 : right.includes(d));
76
- return isLeft ? 'left' : isRight ? 'right' : false;
77
- },
78
- getPinnedIndex: () => {
79
- var _table$getState$colum, _table$getState$colum2, _table$getState$colum3;
80
- const position = column.getIsPinned();
81
- return position ? (_table$getState$colum = (_table$getState$colum2 = table.getState().columnPinning) == null ? void 0 : (_table$getState$colum3 = _table$getState$colum2[position]) == null ? void 0 : _table$getState$colum3.indexOf(column.id)) != null ? _table$getState$colum : -1 : 0;
82
- }
83
- };
84
- },
85
- createRow: (row, table) => {
86
- return {
87
- getCenterVisibleCells: utils.memo(() => [row._getAllVisibleCells(), table.getState().columnPinning.left, table.getState().columnPinning.right], (allCells, left, right) => {
88
- const leftAndRight = [...(left != null ? left : []), ...(right != null ? right : [])];
89
- return allCells.filter(d => !leftAndRight.includes(d.column.id));
90
- }, {
91
- key: process.env.NODE_ENV === 'production' && 'row.getCenterVisibleCells',
92
- debug: () => {
93
- var _table$options$debugA;
94
- return (_table$options$debugA = table.options.debugAll) != null ? _table$options$debugA : table.options.debugRows;
95
- }
96
- }),
97
- getLeftVisibleCells: utils.memo(() => [row._getAllVisibleCells(), table.getState().columnPinning.left,,], (allCells, left) => {
98
- const cells = (left != null ? left : []).map(columnId => allCells.find(cell => cell.column.id === columnId)).filter(Boolean).map(d => ({
99
- ...d,
100
- position: 'left'
101
- }));
102
- return cells;
103
- }, {
104
- key: process.env.NODE_ENV === 'production' && 'row.getLeftVisibleCells',
105
- debug: () => {
106
- var _table$options$debugA2;
107
- return (_table$options$debugA2 = table.options.debugAll) != null ? _table$options$debugA2 : table.options.debugRows;
108
46
  }
109
- }),
110
- getRightVisibleCells: utils.memo(() => [row._getAllVisibleCells(), table.getState().columnPinning.right], (allCells, right) => {
111
- const cells = (right != null ? right : []).map(columnId => allCells.find(cell => cell.column.id === columnId)).filter(Boolean).map(d => ({
112
- ...d,
113
- position: 'right'
114
- }));
115
- return cells;
116
- }, {
117
- key: process.env.NODE_ENV === 'production' && 'row.getRightVisibleCells',
118
- debug: () => {
119
- var _table$options$debugA3;
120
- return (_table$options$debugA3 = table.options.debugAll) != null ? _table$options$debugA3 : table.options.debugRows;
47
+ if (position === 'left') {
48
+ var _old$left2, _old$right2;
49
+ return {
50
+ left: [...((_old$left2 = old == null ? void 0 : old.left) != null ? _old$left2 : []).filter(d => !(columnIds != null && columnIds.includes(d))), ...columnIds],
51
+ right: ((_old$right2 = old == null ? void 0 : old.right) != null ? _old$right2 : []).filter(d => !(columnIds != null && columnIds.includes(d)))
52
+ };
121
53
  }
122
- })
54
+ return {
55
+ left: ((_old$left3 = old == null ? void 0 : old.left) != null ? _old$left3 : []).filter(d => !(columnIds != null && columnIds.includes(d))),
56
+ right: ((_old$right3 = old == null ? void 0 : old.right) != null ? _old$right3 : []).filter(d => !(columnIds != null && columnIds.includes(d)))
57
+ };
58
+ });
59
+ };
60
+ column.getCanPin = () => {
61
+ const leafColumns = column.getLeafColumns();
62
+ return leafColumns.some(d => {
63
+ var _d$columnDef$enablePi, _table$options$enable;
64
+ return ((_d$columnDef$enablePi = d.columnDef.enablePinning) != null ? _d$columnDef$enablePi : true) && ((_table$options$enable = table.options.enablePinning) != null ? _table$options$enable : true);
65
+ });
66
+ };
67
+ column.getIsPinned = () => {
68
+ const leafColumnIds = column.getLeafColumns().map(d => d.id);
69
+ const {
70
+ left,
71
+ right
72
+ } = table.getState().columnPinning;
73
+ const isLeft = leafColumnIds.some(d => left == null ? void 0 : left.includes(d));
74
+ const isRight = leafColumnIds.some(d => right == null ? void 0 : right.includes(d));
75
+ return isLeft ? 'left' : isRight ? 'right' : false;
76
+ };
77
+ column.getPinnedIndex = () => {
78
+ var _table$getState$colum, _table$getState$colum2;
79
+ const position = column.getIsPinned();
80
+ return position ? (_table$getState$colum = (_table$getState$colum2 = table.getState().columnPinning) == null || (_table$getState$colum2 = _table$getState$colum2[position]) == null ? void 0 : _table$getState$colum2.indexOf(column.id)) != null ? _table$getState$colum : -1 : 0;
123
81
  };
124
82
  },
83
+ createRow: (row, table) => {
84
+ row.getCenterVisibleCells = utils.memo(() => [row._getAllVisibleCells(), table.getState().columnPinning.left, table.getState().columnPinning.right], (allCells, left, right) => {
85
+ const leftAndRight = [...(left != null ? left : []), ...(right != null ? right : [])];
86
+ return allCells.filter(d => !leftAndRight.includes(d.column.id));
87
+ }, {
88
+ key: process.env.NODE_ENV === 'production' && 'row.getCenterVisibleCells',
89
+ debug: () => {
90
+ var _table$options$debugA;
91
+ return (_table$options$debugA = table.options.debugAll) != null ? _table$options$debugA : table.options.debugRows;
92
+ }
93
+ });
94
+ row.getLeftVisibleCells = utils.memo(() => [row._getAllVisibleCells(), table.getState().columnPinning.left,,], (allCells, left) => {
95
+ const cells = (left != null ? left : []).map(columnId => allCells.find(cell => cell.column.id === columnId)).filter(Boolean).map(d => ({
96
+ ...d,
97
+ position: 'left'
98
+ }));
99
+ return cells;
100
+ }, {
101
+ key: process.env.NODE_ENV === 'production' && 'row.getLeftVisibleCells',
102
+ debug: () => {
103
+ var _table$options$debugA2;
104
+ return (_table$options$debugA2 = table.options.debugAll) != null ? _table$options$debugA2 : table.options.debugRows;
105
+ }
106
+ });
107
+ row.getRightVisibleCells = utils.memo(() => [row._getAllVisibleCells(), table.getState().columnPinning.right], (allCells, right) => {
108
+ const cells = (right != null ? right : []).map(columnId => allCells.find(cell => cell.column.id === columnId)).filter(Boolean).map(d => ({
109
+ ...d,
110
+ position: 'right'
111
+ }));
112
+ return cells;
113
+ }, {
114
+ key: process.env.NODE_ENV === 'production' && 'row.getRightVisibleCells',
115
+ debug: () => {
116
+ var _table$options$debugA3;
117
+ return (_table$options$debugA3 = table.options.debugAll) != null ? _table$options$debugA3 : table.options.debugRows;
118
+ }
119
+ });
120
+ },
125
121
  createTable: table => {
126
- return {
127
- setColumnPinning: updater => table.options.onColumnPinningChange == null ? void 0 : table.options.onColumnPinningChange(updater),
128
- resetColumnPinning: defaultState => {
129
- var _table$initialState$c, _table$initialState;
130
- return table.setColumnPinning(defaultState ? getDefaultPinningState() : (_table$initialState$c = (_table$initialState = table.initialState) == null ? void 0 : _table$initialState.columnPinning) != null ? _table$initialState$c : getDefaultPinningState());
131
- },
132
- getIsSomeColumnsPinned: position => {
133
- var _pinningState$positio;
134
- const pinningState = table.getState().columnPinning;
135
- if (!position) {
136
- var _pinningState$left, _pinningState$right;
137
- return Boolean(((_pinningState$left = pinningState.left) == null ? void 0 : _pinningState$left.length) || ((_pinningState$right = pinningState.right) == null ? void 0 : _pinningState$right.length));
138
- }
139
- return Boolean((_pinningState$positio = pinningState[position]) == null ? void 0 : _pinningState$positio.length);
140
- },
141
- getLeftLeafColumns: utils.memo(() => [table.getAllLeafColumns(), table.getState().columnPinning.left], (allColumns, left) => {
142
- return (left != null ? left : []).map(columnId => allColumns.find(column => column.id === columnId)).filter(Boolean);
143
- }, {
144
- key: process.env.NODE_ENV === 'development' && 'getLeftLeafColumns',
145
- debug: () => {
146
- var _table$options$debugA4;
147
- return (_table$options$debugA4 = table.options.debugAll) != null ? _table$options$debugA4 : table.options.debugColumns;
148
- }
149
- }),
150
- getRightLeafColumns: utils.memo(() => [table.getAllLeafColumns(), table.getState().columnPinning.right], (allColumns, right) => {
151
- return (right != null ? right : []).map(columnId => allColumns.find(column => column.id === columnId)).filter(Boolean);
152
- }, {
153
- key: process.env.NODE_ENV === 'development' && 'getRightLeafColumns',
154
- debug: () => {
155
- var _table$options$debugA5;
156
- return (_table$options$debugA5 = table.options.debugAll) != null ? _table$options$debugA5 : table.options.debugColumns;
157
- }
158
- }),
159
- getCenterLeafColumns: utils.memo(() => [table.getAllLeafColumns(), table.getState().columnPinning.left, table.getState().columnPinning.right], (allColumns, left, right) => {
160
- const leftAndRight = [...(left != null ? left : []), ...(right != null ? right : [])];
161
- return allColumns.filter(d => !leftAndRight.includes(d.id));
162
- }, {
163
- key: process.env.NODE_ENV === 'development' && 'getCenterLeafColumns',
164
- debug: () => {
165
- var _table$options$debugA6;
166
- return (_table$options$debugA6 = table.options.debugAll) != null ? _table$options$debugA6 : table.options.debugColumns;
167
- }
168
- })
122
+ table.setColumnPinning = updater => table.options.onColumnPinningChange == null ? void 0 : table.options.onColumnPinningChange(updater);
123
+ table.resetColumnPinning = defaultState => {
124
+ var _table$initialState$c, _table$initialState;
125
+ return table.setColumnPinning(defaultState ? getDefaultPinningState() : (_table$initialState$c = (_table$initialState = table.initialState) == null ? void 0 : _table$initialState.columnPinning) != null ? _table$initialState$c : getDefaultPinningState());
126
+ };
127
+ table.getIsSomeColumnsPinned = position => {
128
+ var _pinningState$positio;
129
+ const pinningState = table.getState().columnPinning;
130
+ if (!position) {
131
+ var _pinningState$left, _pinningState$right;
132
+ return Boolean(((_pinningState$left = pinningState.left) == null ? void 0 : _pinningState$left.length) || ((_pinningState$right = pinningState.right) == null ? void 0 : _pinningState$right.length));
133
+ }
134
+ return Boolean((_pinningState$positio = pinningState[position]) == null ? void 0 : _pinningState$positio.length);
169
135
  };
136
+ table.getLeftLeafColumns = utils.memo(() => [table.getAllLeafColumns(), table.getState().columnPinning.left], (allColumns, left) => {
137
+ return (left != null ? left : []).map(columnId => allColumns.find(column => column.id === columnId)).filter(Boolean);
138
+ }, {
139
+ key: process.env.NODE_ENV === 'development' && 'getLeftLeafColumns',
140
+ debug: () => {
141
+ var _table$options$debugA4;
142
+ return (_table$options$debugA4 = table.options.debugAll) != null ? _table$options$debugA4 : table.options.debugColumns;
143
+ }
144
+ });
145
+ table.getRightLeafColumns = utils.memo(() => [table.getAllLeafColumns(), table.getState().columnPinning.right], (allColumns, right) => {
146
+ return (right != null ? right : []).map(columnId => allColumns.find(column => column.id === columnId)).filter(Boolean);
147
+ }, {
148
+ key: process.env.NODE_ENV === 'development' && 'getRightLeafColumns',
149
+ debug: () => {
150
+ var _table$options$debugA5;
151
+ return (_table$options$debugA5 = table.options.debugAll) != null ? _table$options$debugA5 : table.options.debugColumns;
152
+ }
153
+ });
154
+ table.getCenterLeafColumns = utils.memo(() => [table.getAllLeafColumns(), table.getState().columnPinning.left, table.getState().columnPinning.right], (allColumns, left, right) => {
155
+ const leftAndRight = [...(left != null ? left : []), ...(right != null ? right : [])];
156
+ return allColumns.filter(d => !leftAndRight.includes(d.id));
157
+ }, {
158
+ key: process.env.NODE_ENV === 'development' && 'getCenterLeafColumns',
159
+ debug: () => {
160
+ var _table$options$debugA6;
161
+ return (_table$options$debugA6 = table.options.debugAll) != null ? _table$options$debugA6 : table.options.debugColumns;
162
+ }
163
+ });
170
164
  }
171
165
  };
172
166
 
@@ -1 +1 @@
1
- {"version":3,"file":"Pinning.js","sources":["../../../src/features/Pinning.ts"],"sourcesContent":["import { TableFeature } from '../core/table'\nimport {\n OnChangeFn,\n Updater,\n Table,\n Column,\n Row,\n Cell,\n RowData,\n} from '../types'\nimport { makeStateUpdater, memo } from '../utils'\n\nexport type ColumnPinningPosition = false | 'left' | 'right'\n\nexport interface ColumnPinningState {\n left?: string[]\n right?: string[]\n}\n\nexport interface ColumnPinningTableState {\n columnPinning: ColumnPinningState\n}\n\nexport interface ColumnPinningOptions {\n onColumnPinningChange?: OnChangeFn<ColumnPinningState>\n enablePinning?: boolean\n}\n\nexport interface ColumnPinningDefaultOptions {\n onColumnPinningChange: OnChangeFn<ColumnPinningState>\n}\n\nexport interface ColumnPinningColumnDef {\n enablePinning?: boolean\n}\n\nexport interface ColumnPinningColumn {\n getCanPin: () => boolean\n getPinnedIndex: () => number\n getIsPinned: () => ColumnPinningPosition\n pin: (position: ColumnPinningPosition) => void\n}\n\nexport interface ColumnPinningRow<TData extends RowData> {\n getLeftVisibleCells: () => Cell<TData, unknown>[]\n getCenterVisibleCells: () => Cell<TData, unknown>[]\n getRightVisibleCells: () => Cell<TData, unknown>[]\n}\n\nexport interface ColumnPinningInstance<TData extends RowData> {\n setColumnPinning: (updater: Updater<ColumnPinningState>) => void\n resetColumnPinning: (defaultState?: boolean) => void\n getIsSomeColumnsPinned: (position?: ColumnPinningPosition) => boolean\n getLeftLeafColumns: () => Column<TData, unknown>[]\n getRightLeafColumns: () => Column<TData, unknown>[]\n getCenterLeafColumns: () => Column<TData, unknown>[]\n}\n\n//\n\nconst getDefaultPinningState = (): ColumnPinningState => ({\n left: [],\n right: [],\n})\n\nexport const Pinning: TableFeature = {\n getInitialState: (state): ColumnPinningTableState => {\n return {\n columnPinning: getDefaultPinningState(),\n ...state,\n }\n },\n\n getDefaultOptions: <TData extends RowData>(\n table: Table<TData>\n ): ColumnPinningDefaultOptions => {\n return {\n onColumnPinningChange: makeStateUpdater('columnPinning', table),\n }\n },\n\n createColumn: <TData extends RowData, TValue>(\n column: Column<TData, TValue>,\n table: Table<TData>\n ): ColumnPinningColumn => {\n return {\n pin: position => {\n const columnIds = column\n .getLeafColumns()\n .map(d => d.id)\n .filter(Boolean) as string[]\n\n table.setColumnPinning(old => {\n if (position === 'right') {\n return {\n left: (old?.left ?? []).filter(d => !columnIds?.includes(d)),\n right: [\n ...(old?.right ?? []).filter(d => !columnIds?.includes(d)),\n ...columnIds,\n ],\n }\n }\n\n if (position === 'left') {\n return {\n left: [\n ...(old?.left ?? []).filter(d => !columnIds?.includes(d)),\n ...columnIds,\n ],\n right: (old?.right ?? []).filter(d => !columnIds?.includes(d)),\n }\n }\n\n return {\n left: (old?.left ?? []).filter(d => !columnIds?.includes(d)),\n right: (old?.right ?? []).filter(d => !columnIds?.includes(d)),\n }\n })\n },\n\n getCanPin: () => {\n const leafColumns = column.getLeafColumns()\n\n return leafColumns.some(\n d =>\n (d.columnDef.enablePinning ?? true) &&\n (table.options.enablePinning ?? true)\n )\n },\n\n getIsPinned: () => {\n const leafColumnIds = column.getLeafColumns().map(d => d.id)\n\n const { left, right } = table.getState().columnPinning\n\n const isLeft = leafColumnIds.some(d => left?.includes(d))\n const isRight = leafColumnIds.some(d => right?.includes(d))\n\n return isLeft ? 'left' : isRight ? 'right' : false\n },\n\n getPinnedIndex: () => {\n const position = column.getIsPinned()\n\n return position\n ? table.getState().columnPinning?.[position]?.indexOf(column.id) ?? -1\n : 0\n },\n }\n },\n\n createRow: <TData extends RowData>(\n row: Row<TData>,\n table: Table<TData>\n ): ColumnPinningRow<TData> => {\n return {\n getCenterVisibleCells: memo(\n () => [\n row._getAllVisibleCells(),\n table.getState().columnPinning.left,\n table.getState().columnPinning.right,\n ],\n (allCells, left, right) => {\n const leftAndRight: string[] = [...(left ?? []), ...(right ?? [])]\n\n return allCells.filter(d => !leftAndRight.includes(d.column.id))\n },\n {\n key:\n process.env.NODE_ENV === 'production' &&\n 'row.getCenterVisibleCells',\n debug: () => table.options.debugAll ?? table.options.debugRows,\n }\n ),\n getLeftVisibleCells: memo(\n () => [\n row._getAllVisibleCells(),\n table.getState().columnPinning.left,\n ,\n ],\n (allCells, left) => {\n const cells = (left ?? [])\n .map(\n columnId => allCells.find(cell => cell.column.id === columnId)!\n )\n .filter(Boolean)\n .map(d => ({ ...d, position: 'left' } as Cell<TData, unknown>))\n\n return cells\n },\n {\n key:\n process.env.NODE_ENV === 'production' && 'row.getLeftVisibleCells',\n debug: () => table.options.debugAll ?? table.options.debugRows,\n }\n ),\n getRightVisibleCells: memo(\n () => [row._getAllVisibleCells(), table.getState().columnPinning.right],\n (allCells, right) => {\n const cells = (right ?? [])\n .map(\n columnId => allCells.find(cell => cell.column.id === columnId)!\n )\n .filter(Boolean)\n .map(d => ({ ...d, position: 'right' } as Cell<TData, unknown>))\n\n return cells\n },\n {\n key:\n process.env.NODE_ENV === 'production' && 'row.getRightVisibleCells',\n debug: () => table.options.debugAll ?? table.options.debugRows,\n }\n ),\n }\n },\n\n createTable: <TData extends RowData>(\n table: Table<TData>\n ): ColumnPinningInstance<TData> => {\n return {\n setColumnPinning: updater =>\n table.options.onColumnPinningChange?.(updater),\n\n resetColumnPinning: defaultState =>\n table.setColumnPinning(\n defaultState\n ? getDefaultPinningState()\n : table.initialState?.columnPinning ?? getDefaultPinningState()\n ),\n\n getIsSomeColumnsPinned: position => {\n const pinningState = table.getState().columnPinning\n\n if (!position) {\n return Boolean(\n pinningState.left?.length || pinningState.right?.length\n )\n }\n return Boolean(pinningState[position]?.length)\n },\n\n getLeftLeafColumns: memo(\n () => [table.getAllLeafColumns(), table.getState().columnPinning.left],\n (allColumns, left) => {\n return (left ?? [])\n .map(columnId => allColumns.find(column => column.id === columnId)!)\n .filter(Boolean)\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getLeftLeafColumns',\n debug: () => table.options.debugAll ?? table.options.debugColumns,\n }\n ),\n\n getRightLeafColumns: memo(\n () => [table.getAllLeafColumns(), table.getState().columnPinning.right],\n (allColumns, right) => {\n return (right ?? [])\n .map(columnId => allColumns.find(column => column.id === columnId)!)\n .filter(Boolean)\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getRightLeafColumns',\n debug: () => table.options.debugAll ?? table.options.debugColumns,\n }\n ),\n\n getCenterLeafColumns: memo(\n () => [\n table.getAllLeafColumns(),\n table.getState().columnPinning.left,\n table.getState().columnPinning.right,\n ],\n (allColumns, left, right) => {\n const leftAndRight: string[] = [...(left ?? []), ...(right ?? [])]\n\n return allColumns.filter(d => !leftAndRight.includes(d.id))\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getCenterLeafColumns',\n debug: () => table.options.debugAll ?? table.options.debugColumns,\n }\n ),\n }\n },\n}\n"],"names":["getDefaultPinningState","left","right","Pinning","getInitialState","state","columnPinning","getDefaultOptions","table","onColumnPinningChange","makeStateUpdater","createColumn","column","pin","position","columnIds","getLeafColumns","map","d","id","filter","Boolean","setColumnPinning","old","_old$left3","_old$right3","_old$left","_old$right","includes","_old$left2","_old$right2","getCanPin","leafColumns","some","_d$columnDef$enablePi","_table$options$enable","columnDef","enablePinning","options","getIsPinned","leafColumnIds","getState","isLeft","isRight","getPinnedIndex","_table$getState$colum","_table$getState$colum2","_table$getState$colum3","indexOf","createRow","row","getCenterVisibleCells","memo","_getAllVisibleCells","allCells","leftAndRight","key","process","env","NODE_ENV","debug","_table$options$debugA","debugAll","debugRows","getLeftVisibleCells","cells","columnId","find","cell","_table$options$debugA2","getRightVisibleCells","_table$options$debugA3","createTable","updater","resetColumnPinning","defaultState","_table$initialState$c","_table$initialState","initialState","getIsSomeColumnsPinned","_pinningState$positio","pinningState","_pinningState$left","_pinningState$right","length","getLeftLeafColumns","getAllLeafColumns","allColumns","_table$options$debugA4","debugColumns","getRightLeafColumns","_table$options$debugA5","getCenterLeafColumns","_table$options$debugA6"],"mappings":"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"}
1
+ {"version":3,"file":"Pinning.js","sources":["../../../src/features/Pinning.ts"],"sourcesContent":["import { TableFeature } from '../core/table'\nimport {\n OnChangeFn,\n Updater,\n Table,\n Column,\n Row,\n Cell,\n RowData,\n} from '../types'\nimport { makeStateUpdater, memo } from '../utils'\n\nexport type ColumnPinningPosition = false | 'left' | 'right'\n\nexport interface ColumnPinningState {\n left?: string[]\n right?: string[]\n}\n\nexport interface ColumnPinningTableState {\n columnPinning: ColumnPinningState\n}\n\nexport interface ColumnPinningOptions {\n onColumnPinningChange?: OnChangeFn<ColumnPinningState>\n enablePinning?: boolean\n}\n\nexport interface ColumnPinningDefaultOptions {\n onColumnPinningChange: OnChangeFn<ColumnPinningState>\n}\n\nexport interface ColumnPinningColumnDef {\n enablePinning?: boolean\n}\n\nexport interface ColumnPinningColumn {\n getCanPin: () => boolean\n getPinnedIndex: () => number\n getIsPinned: () => ColumnPinningPosition\n pin: (position: ColumnPinningPosition) => void\n}\n\nexport interface ColumnPinningRow<TData extends RowData> {\n getLeftVisibleCells: () => Cell<TData, unknown>[]\n getCenterVisibleCells: () => Cell<TData, unknown>[]\n getRightVisibleCells: () => Cell<TData, unknown>[]\n}\n\nexport interface ColumnPinningInstance<TData extends RowData> {\n setColumnPinning: (updater: Updater<ColumnPinningState>) => void\n resetColumnPinning: (defaultState?: boolean) => void\n getIsSomeColumnsPinned: (position?: ColumnPinningPosition) => boolean\n getLeftLeafColumns: () => Column<TData, unknown>[]\n getRightLeafColumns: () => Column<TData, unknown>[]\n getCenterLeafColumns: () => Column<TData, unknown>[]\n}\n\n//\n\nconst getDefaultPinningState = (): ColumnPinningState => ({\n left: [],\n right: [],\n})\n\nexport const Pinning: TableFeature = {\n getInitialState: (state): ColumnPinningTableState => {\n return {\n columnPinning: getDefaultPinningState(),\n ...state,\n }\n },\n\n getDefaultOptions: <TData extends RowData>(\n table: Table<TData>\n ): ColumnPinningDefaultOptions => {\n return {\n onColumnPinningChange: makeStateUpdater('columnPinning', table),\n }\n },\n\n createColumn: <TData extends RowData, TValue>(\n column: Column<TData, TValue>,\n table: Table<TData>\n ): void => {\n column.pin = position => {\n const columnIds = column\n .getLeafColumns()\n .map(d => d.id)\n .filter(Boolean) as string[]\n\n table.setColumnPinning(old => {\n if (position === 'right') {\n return {\n left: (old?.left ?? []).filter(d => !columnIds?.includes(d)),\n right: [\n ...(old?.right ?? []).filter(d => !columnIds?.includes(d)),\n ...columnIds,\n ],\n }\n }\n\n if (position === 'left') {\n return {\n left: [\n ...(old?.left ?? []).filter(d => !columnIds?.includes(d)),\n ...columnIds,\n ],\n right: (old?.right ?? []).filter(d => !columnIds?.includes(d)),\n }\n }\n\n return {\n left: (old?.left ?? []).filter(d => !columnIds?.includes(d)),\n right: (old?.right ?? []).filter(d => !columnIds?.includes(d)),\n }\n })\n }\n\n column.getCanPin = () => {\n const leafColumns = column.getLeafColumns()\n\n return leafColumns.some(\n d =>\n (d.columnDef.enablePinning ?? true) &&\n (table.options.enablePinning ?? true)\n )\n }\n\n column.getIsPinned = () => {\n const leafColumnIds = column.getLeafColumns().map(d => d.id)\n\n const { left, right } = table.getState().columnPinning\n\n const isLeft = leafColumnIds.some(d => left?.includes(d))\n const isRight = leafColumnIds.some(d => right?.includes(d))\n\n return isLeft ? 'left' : isRight ? 'right' : false\n }\n\n column.getPinnedIndex = () => {\n const position = column.getIsPinned()\n\n return position\n ? table.getState().columnPinning?.[position]?.indexOf(column.id) ?? -1\n : 0\n }\n },\n\n createRow: <TData extends RowData>(\n row: Row<TData>,\n table: Table<TData>\n ): void => {\n row.getCenterVisibleCells = memo(\n () => [\n row._getAllVisibleCells(),\n table.getState().columnPinning.left,\n table.getState().columnPinning.right,\n ],\n (allCells, left, right) => {\n const leftAndRight: string[] = [...(left ?? []), ...(right ?? [])]\n\n return allCells.filter(d => !leftAndRight.includes(d.column.id))\n },\n {\n key:\n process.env.NODE_ENV === 'production' && 'row.getCenterVisibleCells',\n debug: () => table.options.debugAll ?? table.options.debugRows,\n }\n )\n row.getLeftVisibleCells = memo(\n () => [row._getAllVisibleCells(), table.getState().columnPinning.left, ,],\n (allCells, left) => {\n const cells = (left ?? [])\n .map(columnId => allCells.find(cell => cell.column.id === columnId)!)\n .filter(Boolean)\n .map(d => ({ ...d, position: 'left' } as Cell<TData, unknown>))\n\n return cells\n },\n {\n key: process.env.NODE_ENV === 'production' && 'row.getLeftVisibleCells',\n debug: () => table.options.debugAll ?? table.options.debugRows,\n }\n )\n row.getRightVisibleCells = memo(\n () => [row._getAllVisibleCells(), table.getState().columnPinning.right],\n (allCells, right) => {\n const cells = (right ?? [])\n .map(columnId => allCells.find(cell => cell.column.id === columnId)!)\n .filter(Boolean)\n .map(d => ({ ...d, position: 'right' } as Cell<TData, unknown>))\n\n return cells\n },\n {\n key:\n process.env.NODE_ENV === 'production' && 'row.getRightVisibleCells',\n debug: () => table.options.debugAll ?? table.options.debugRows,\n }\n )\n },\n\n createTable: <TData extends RowData>(table: Table<TData>): void => {\n table.setColumnPinning = updater =>\n table.options.onColumnPinningChange?.(updater)\n\n table.resetColumnPinning = defaultState =>\n table.setColumnPinning(\n defaultState\n ? getDefaultPinningState()\n : table.initialState?.columnPinning ?? getDefaultPinningState()\n )\n\n table.getIsSomeColumnsPinned = position => {\n const pinningState = table.getState().columnPinning\n\n if (!position) {\n return Boolean(pinningState.left?.length || pinningState.right?.length)\n }\n return Boolean(pinningState[position]?.length)\n }\n\n table.getLeftLeafColumns = memo(\n () => [table.getAllLeafColumns(), table.getState().columnPinning.left],\n (allColumns, left) => {\n return (left ?? [])\n .map(columnId => allColumns.find(column => column.id === columnId)!)\n .filter(Boolean)\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getLeftLeafColumns',\n debug: () => table.options.debugAll ?? table.options.debugColumns,\n }\n )\n\n table.getRightLeafColumns = memo(\n () => [table.getAllLeafColumns(), table.getState().columnPinning.right],\n (allColumns, right) => {\n return (right ?? [])\n .map(columnId => allColumns.find(column => column.id === columnId)!)\n .filter(Boolean)\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getRightLeafColumns',\n debug: () => table.options.debugAll ?? table.options.debugColumns,\n }\n )\n\n table.getCenterLeafColumns = memo(\n () => [\n table.getAllLeafColumns(),\n table.getState().columnPinning.left,\n table.getState().columnPinning.right,\n ],\n (allColumns, left, right) => {\n const leftAndRight: string[] = [...(left ?? []), ...(right ?? [])]\n\n return allColumns.filter(d => !leftAndRight.includes(d.id))\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getCenterLeafColumns',\n debug: () => table.options.debugAll ?? table.options.debugColumns,\n }\n )\n },\n}\n"],"names":["getDefaultPinningState","left","right","Pinning","getInitialState","state","columnPinning","getDefaultOptions","table","onColumnPinningChange","makeStateUpdater","createColumn","column","pin","position","columnIds","getLeafColumns","map","d","id","filter","Boolean","setColumnPinning","old","_old$left3","_old$right3","_old$left","_old$right","includes","_old$left2","_old$right2","getCanPin","leafColumns","some","_d$columnDef$enablePi","_table$options$enable","columnDef","enablePinning","options","getIsPinned","leafColumnIds","getState","isLeft","isRight","getPinnedIndex","_table$getState$colum","_table$getState$colum2","indexOf","createRow","row","getCenterVisibleCells","memo","_getAllVisibleCells","allCells","leftAndRight","key","process","env","NODE_ENV","debug","_table$options$debugA","debugAll","debugRows","getLeftVisibleCells","cells","columnId","find","cell","_table$options$debugA2","getRightVisibleCells","_table$options$debugA3","createTable","updater","resetColumnPinning","defaultState","_table$initialState$c","_table$initialState","initialState","getIsSomeColumnsPinned","_pinningState$positio","pinningState","_pinningState$left","_pinningState$right","length","getLeftLeafColumns","getAllLeafColumns","allColumns","_table$options$debugA4","debugColumns","getRightLeafColumns","_table$options$debugA5","getCenterLeafColumns","_table$options$debugA6"],"mappings":"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"}