@tanstack/table-core 8.0.0-alpha.62 → 8.0.0-alpha.65

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 (113) hide show
  1. package/build/cjs/core.js +8 -5
  2. package/build/cjs/core.js.map +1 -1
  3. package/build/cjs/features/Cells.js +1 -1
  4. package/build/cjs/features/Cells.js.map +1 -1
  5. package/build/cjs/features/ColumnSizing.js +3 -3
  6. package/build/cjs/features/ColumnSizing.js.map +1 -1
  7. package/build/cjs/features/Columns.js +7 -7
  8. package/build/cjs/features/Columns.js.map +1 -1
  9. package/build/cjs/features/Expanding.js +3 -3
  10. package/build/cjs/features/Expanding.js.map +1 -1
  11. package/build/cjs/features/Filters.js +158 -80
  12. package/build/cjs/features/Filters.js.map +1 -1
  13. package/build/cjs/features/Grouping.js +24 -22
  14. package/build/cjs/features/Grouping.js.map +1 -1
  15. package/build/cjs/features/Headers.js +16 -16
  16. package/build/cjs/features/Headers.js.map +1 -1
  17. package/build/cjs/features/Ordering.js +6 -5
  18. package/build/cjs/features/Ordering.js.map +1 -1
  19. package/build/cjs/features/Pagination.js +5 -5
  20. package/build/cjs/features/Pagination.js.map +1 -1
  21. package/build/cjs/features/Pinning.js +17 -78
  22. package/build/cjs/features/Pinning.js.map +1 -1
  23. package/build/cjs/features/RowSelection.js +8 -8
  24. package/build/cjs/features/RowSelection.js.map +1 -1
  25. package/build/cjs/features/Sorting.js +8 -8
  26. package/build/cjs/features/Sorting.js.map +1 -1
  27. package/build/cjs/features/Visibility.js +5 -5
  28. package/build/cjs/features/Visibility.js.map +1 -1
  29. package/build/cjs/filterFns.js +51 -108
  30. package/build/cjs/filterFns.js.map +1 -1
  31. package/build/cjs/index.js +5 -4
  32. package/build/cjs/index.js.map +1 -1
  33. package/build/cjs/utils/filterRowsUtils.js +21 -0
  34. package/build/cjs/utils/filterRowsUtils.js.map +1 -1
  35. package/build/cjs/utils/getCoreRowModelAsync.js +1 -1
  36. package/build/cjs/utils/getCoreRowModelAsync.js.map +1 -1
  37. package/build/cjs/utils/getCoreRowModelSync.js +1 -1
  38. package/build/cjs/utils/getCoreRowModelSync.js.map +1 -1
  39. package/build/cjs/utils/getExpandedRowModel.js +1 -1
  40. package/build/cjs/utils/getExpandedRowModel.js.map +1 -1
  41. package/build/cjs/utils/getFilteredRowModelSync.js +130 -0
  42. package/build/cjs/utils/getFilteredRowModelSync.js.map +1 -0
  43. package/build/cjs/utils/getGroupedRowModel.js +1 -1
  44. package/build/cjs/utils/getGroupedRowModel.js.map +1 -1
  45. package/build/cjs/utils/getPaginationRowModel.js +1 -1
  46. package/build/cjs/utils/getPaginationRowModel.js.map +1 -1
  47. package/build/cjs/utils/getSortedRowModelSync.js +1 -1
  48. package/build/cjs/utils/getSortedRowModelSync.js.map +1 -1
  49. package/build/cjs/utils.js +2 -6
  50. package/build/cjs/utils.js.map +1 -1
  51. package/build/esm/index.js +491 -573
  52. package/build/esm/index.js.map +1 -1
  53. package/build/stats-html.html +1 -1
  54. package/build/stats-react.json +388 -402
  55. package/build/types/features/Expanding.d.ts +2 -7
  56. package/build/types/features/Filters.d.ts +27 -29
  57. package/build/types/features/Grouping.d.ts +3 -11
  58. package/build/types/features/Ordering.d.ts +2 -6
  59. package/build/types/features/Pinning.d.ts +2 -15
  60. package/build/types/features/RowSelection.d.ts +3 -8
  61. package/build/types/features/Sorting.d.ts +2 -8
  62. package/build/types/features/Visibility.d.ts +2 -11
  63. package/build/types/filterFns.d.ts +10 -52
  64. package/build/types/index.d.ts +1 -2
  65. package/build/types/types.d.ts +2 -2
  66. package/build/types/utils/filterRowsUtils.d.ts +1 -0
  67. package/build/types/utils/{getColumnFilteredRowModelAsync.d.ts → getFilteredRowModelAsync.d.ts} +1 -1
  68. package/build/types/utils/getFilteredRowModelSync.d.ts +2 -0
  69. package/build/types/utils.d.ts +2 -2
  70. package/build/umd/index.development.js +494 -574
  71. package/build/umd/index.development.js.map +1 -1
  72. package/build/umd/index.production.js +1 -1
  73. package/build/umd/index.production.js.map +1 -1
  74. package/package.json +2 -1
  75. package/src/core.ts +6 -5
  76. package/src/features/Cells.ts +3 -1
  77. package/src/features/ColumnSizing.ts +2 -1
  78. package/src/features/Columns.ts +11 -7
  79. package/src/features/Expanding.ts +4 -2
  80. package/src/features/Filters.ts +216 -116
  81. package/src/features/Grouping.ts +23 -21
  82. package/src/features/Headers.ts +16 -16
  83. package/src/features/Ordering.ts +7 -9
  84. package/src/features/Pagination.ts +4 -3
  85. package/src/features/Pinning.ts +16 -80
  86. package/src/features/RowSelection.ts +14 -9
  87. package/src/features/Sorting.ts +12 -12
  88. package/src/features/Visibility.ts +7 -4
  89. package/src/filterFns.ts +74 -147
  90. package/src/index.ts +1 -2
  91. package/src/types.ts +2 -0
  92. package/src/utils/filterRowsUtils.ts +24 -0
  93. package/src/utils/getCoreRowModelAsync.ts +1 -1
  94. package/src/utils/getCoreRowModelSync.ts +1 -1
  95. package/src/utils/getExpandedRowModel.ts +1 -1
  96. package/src/utils/getFilteredRowModelAsync.ts +49 -0
  97. package/src/utils/getFilteredRowModelSync.ts +150 -0
  98. package/src/utils/getGroupedRowModel.ts +1 -1
  99. package/src/utils/getPaginationRowModel.ts +1 -1
  100. package/src/utils/getSortedRowModelAsync.ts +1 -1
  101. package/src/utils/getSortedRowModelSync.ts +1 -1
  102. package/src/utils.ts +2 -4
  103. package/build/cjs/utils/getColumnFilteredRowModelSync.js +0 -115
  104. package/build/cjs/utils/getColumnFilteredRowModelSync.js.map +0 -1
  105. package/build/cjs/utils/getGlobalFilteredRowModelSync.js +0 -91
  106. package/build/cjs/utils/getGlobalFilteredRowModelSync.js.map +0 -1
  107. package/build/types/utils/getColumnFilteredRowModelSync.d.ts +0 -2
  108. package/build/types/utils/getGlobalFilteredRowModelAsync.d.ts +0 -4
  109. package/build/types/utils/getGlobalFilteredRowModelSync.d.ts +0 -2
  110. package/src/utils/getColumnFilteredRowModelAsync.ts +0 -118
  111. package/src/utils/getColumnFilteredRowModelSync.ts +0 -102
  112. package/src/utils/getGlobalFilteredRowModelAsync.ts +0 -96
  113. package/src/utils/getGlobalFilteredRowModelSync.ts +0 -79
@@ -17,13 +17,13 @@ var utils = require('../utils.js');
17
17
 
18
18
  //
19
19
  var Pinning = {
20
- getInitialState: function getInitialState() {
21
- return {
20
+ getInitialState: function getInitialState(state) {
21
+ return _rollupPluginBabelHelpers["extends"]({
22
22
  columnPinning: {
23
23
  left: [],
24
24
  right: []
25
25
  }
26
- };
26
+ }, state);
27
27
  },
28
28
  getDefaultOptions: function getDefaultOptions(instance) {
29
29
  return {
@@ -56,7 +56,7 @@ var Pinning = {
56
56
  return !leftAndRight.includes(d.columnId);
57
57
  });
58
58
  }, {
59
- key: 'row.getCenterVisibleCells',
59
+ key: process.env.NODE_ENV === 'production' && 'row.getCenterVisibleCells',
60
60
  debug: function debug() {
61
61
  var _instance$options$deb;
62
62
 
@@ -77,7 +77,7 @@ var Pinning = {
77
77
  });
78
78
  return cells;
79
79
  }, {
80
- key: 'row.getLeftVisibleCells',
80
+ key: process.env.NODE_ENV === 'production' && 'row.getLeftVisibleCells',
81
81
  debug: function debug() {
82
82
  var _instance$options$deb2;
83
83
 
@@ -98,7 +98,7 @@ var Pinning = {
98
98
  });
99
99
  return cells;
100
100
  }, {
101
- key: 'row.getRightVisibleCells',
101
+ key: process.env.NODE_ENV === 'production' && 'row.getRightVisibleCells',
102
102
  debug: function debug() {
103
103
  var _instance$options$deb3;
104
104
 
@@ -107,67 +107,6 @@ var Pinning = {
107
107
  })
108
108
  };
109
109
  },
110
- createCell: function createCell(cell, instance) {
111
- return {
112
- getCenterVisibleCells: utils.memo(function () {
113
- return [cell.row._getAllVisibleCells(), instance.getState().columnPinning.left, instance.getState().columnPinning.right];
114
- }, function (allCells, left, right) {
115
- var leftAndRight = [].concat(left != null ? left : [], right != null ? right : []);
116
- return allCells.filter(function (d) {
117
- return !leftAndRight.includes(d.columnId);
118
- });
119
- }, {
120
- key: 'row.getCenterVisibleCells',
121
- debug: function debug() {
122
- var _instance$options$deb4;
123
-
124
- return (_instance$options$deb4 = instance.options.debugAll) != null ? _instance$options$deb4 : instance.options.debugRows;
125
- }
126
- }),
127
- getLeftVisibleCells: utils.memo(function () {
128
- return [cell.row._getAllVisibleCells(), instance.getState().columnPinning.left,,];
129
- }, function (allCells, left) {
130
- var cells = (left != null ? left : []).map(function (columnId) {
131
- return allCells.find(function (cell) {
132
- return cell.columnId === columnId;
133
- });
134
- }).filter(Boolean).map(function (d) {
135
- return _rollupPluginBabelHelpers["extends"]({}, d, {
136
- position: 'left'
137
- });
138
- });
139
- return cells;
140
- }, {
141
- key: 'row.getLeftVisibleCells',
142
- debug: function debug() {
143
- var _instance$options$deb5;
144
-
145
- return (_instance$options$deb5 = instance.options.debugAll) != null ? _instance$options$deb5 : instance.options.debugRows;
146
- }
147
- }),
148
- getRightVisibleCells: utils.memo(function () {
149
- return [cell.row._getAllVisibleCells(), instance.getState().columnPinning.right];
150
- }, function (allCells, right) {
151
- var cells = (right != null ? right : []).map(function (columnId) {
152
- return allCells.find(function (cell) {
153
- return cell.columnId === columnId;
154
- });
155
- }).filter(Boolean).map(function (d) {
156
- return _rollupPluginBabelHelpers["extends"]({}, d, {
157
- position: 'left'
158
- });
159
- });
160
- return cells;
161
- }, {
162
- key: 'row.getRightVisibleCells',
163
- debug: function debug() {
164
- var _instance$options$deb6;
165
-
166
- return (_instance$options$deb6 = instance.options.debugAll) != null ? _instance$options$deb6 : instance.options.debugRows;
167
- }
168
- })
169
- };
170
- },
171
110
  createInstance: function createInstance(instance) {
172
111
  return {
173
112
  setColumnPinning: function setColumnPinning(updater) {
@@ -231,9 +170,9 @@ var Pinning = {
231
170
 
232
171
  var leafColumns = column.getLeafColumns();
233
172
  return leafColumns.some(function (d) {
234
- var _ref, _ref2, _d$enablePinning;
173
+ var _d$enablePinning, _instance$options$ena;
235
174
 
236
- return (_ref = (_ref2 = (_d$enablePinning = d.enablePinning) != null ? _d$enablePinning : instance.options.enablePinning) != null ? _ref2 : d.defaultCanPin) != null ? _ref : !!d.accessorFn;
175
+ return ((_d$enablePinning = d.enablePinning) != null ? _d$enablePinning : true) && ((_instance$options$ena = instance.options.enablePinning) != null ? _instance$options$ena : true);
237
176
  });
238
177
  },
239
178
  getColumnIsPinned: function getColumnIsPinned(columnId) {
@@ -278,11 +217,11 @@ var Pinning = {
278
217
  });
279
218
  }).filter(Boolean);
280
219
  }, {
281
- key: 'getLeftLeafColumns',
220
+ key: process.env.NODE_ENV === 'production' && 'getLeftLeafColumns',
282
221
  debug: function debug() {
283
- var _instance$options$deb7;
222
+ var _instance$options$deb4;
284
223
 
285
- return (_instance$options$deb7 = instance.options.debugAll) != null ? _instance$options$deb7 : instance.options.debugColumns;
224
+ return (_instance$options$deb4 = instance.options.debugAll) != null ? _instance$options$deb4 : instance.options.debugColumns;
286
225
  }
287
226
  }),
288
227
  getRightLeafColumns: utils.memo(function () {
@@ -294,11 +233,11 @@ var Pinning = {
294
233
  });
295
234
  }).filter(Boolean);
296
235
  }, {
297
- key: 'getRightLeafColumns',
236
+ key: process.env.NODE_ENV === 'production' && 'getRightLeafColumns',
298
237
  debug: function debug() {
299
- var _instance$options$deb8;
238
+ var _instance$options$deb5;
300
239
 
301
- return (_instance$options$deb8 = instance.options.debugAll) != null ? _instance$options$deb8 : instance.options.debugColumns;
240
+ return (_instance$options$deb5 = instance.options.debugAll) != null ? _instance$options$deb5 : instance.options.debugColumns;
302
241
  }
303
242
  }),
304
243
  getCenterLeafColumns: utils.memo(function () {
@@ -309,11 +248,11 @@ var Pinning = {
309
248
  return !leftAndRight.includes(d.id);
310
249
  });
311
250
  }, {
312
- key: 'getCenterLeafColumns',
251
+ key: process.env.NODE_ENV === 'production' && 'getCenterLeafColumns',
313
252
  debug: function debug() {
314
- var _instance$options$deb9;
253
+ var _instance$options$deb6;
315
254
 
316
- return (_instance$options$deb9 = instance.options.debugAll) != null ? _instance$options$deb9 : instance.options.debugColumns;
255
+ return (_instance$options$deb6 = instance.options.debugAll) != null ? _instance$options$deb6 : instance.options.debugColumns;
317
256
  }
318
257
  })
319
258
  };
@@ -1 +1 @@
1
- {"version":3,"file":"Pinning.js","sources":["../../../src/features/Pinning.ts"],"sourcesContent":["import {\n OnChangeFn,\n Updater,\n TableInstance,\n Column,\n TableGenerics,\n Row,\n Cell,\n} from '../types'\nimport { makeStateUpdater, memo } from '../utils'\n\nexport type ColumnPinningPosition = false | 'left' | 'right'\n\nexport type ColumnPinningState = {\n left?: string[]\n right?: string[]\n}\n\nexport type ColumnPinningTableState = {\n columnPinning: ColumnPinningState\n}\n\nexport type ColumnPinningOptions = {\n onColumnPinningChange?: OnChangeFn<ColumnPinningState>\n enablePinning?: boolean\n}\n\nexport type ColumnPinningDefaultOptions = {\n onColumnPinningChange: OnChangeFn<ColumnPinningState>\n}\n\nexport type ColumnPinningColumnDef = {\n enablePinning?: boolean\n defaultCanPin?: boolean\n}\n\nexport type ColumnPinningColumn = {\n getCanPin: () => boolean\n getPinnedIndex: () => number\n getIsPinned: () => ColumnPinningPosition\n pin: (position: ColumnPinningPosition) => void\n}\n\nexport type ColumnPinningRow<TGenerics extends TableGenerics> = {\n getLeftVisibleCells: () => Cell<TGenerics>[]\n getCenterVisibleCells: () => Cell<TGenerics>[]\n getRightVisibleCells: () => Cell<TGenerics>[]\n}\n\nexport type ColumnPinningCell<TGenerics extends TableGenerics> = {\n getLeftVisibleCells: () => Cell<TGenerics>[]\n getCenterVisibleCells: () => Cell<TGenerics>[]\n getRightVisibleCells: () => Cell<TGenerics>[]\n}\n\nexport type ColumnPinningInstance<TGenerics extends TableGenerics> = {\n setColumnPinning: (updater: Updater<ColumnPinningState>) => void\n resetColumnPinning: () => void\n pinColumn: (columnId: string, position: ColumnPinningPosition) => void\n getColumnCanPin: (columnId: string) => boolean\n getColumnIsPinned: (columnId: string) => ColumnPinningPosition\n getColumnPinnedIndex: (columnId: string) => number\n getIsSomeColumnsPinned: () => boolean\n getLeftLeafColumns: () => Column<TGenerics>[]\n getRightLeafColumns: () => Column<TGenerics>[]\n getCenterLeafColumns: () => Column<TGenerics>[]\n}\n\n//\n\nexport const Pinning = {\n getInitialState: (): ColumnPinningTableState => {\n return {\n columnPinning: {\n left: [],\n right: [],\n },\n }\n },\n\n getDefaultOptions: <TGenerics extends TableGenerics>(\n instance: TableInstance<TGenerics>\n ): ColumnPinningDefaultOptions => {\n return {\n onColumnPinningChange: makeStateUpdater('columnPinning', instance),\n }\n },\n\n createColumn: <TGenerics extends TableGenerics>(\n column: Column<TGenerics>,\n instance: TableInstance<TGenerics>\n ): ColumnPinningColumn => {\n return {\n getCanPin: () => instance.getColumnCanPin(column.id),\n getPinnedIndex: () => instance.getColumnPinnedIndex(column.id),\n getIsPinned: () => instance.getColumnIsPinned(column.id),\n pin: position => instance.pinColumn(column.id, position),\n }\n },\n\n createRow: <TGenerics extends TableGenerics>(\n row: Row<TGenerics>,\n instance: TableInstance<TGenerics>\n ): ColumnPinningRow<TGenerics> => {\n return {\n getCenterVisibleCells: memo(\n () => [\n row._getAllVisibleCells(),\n instance.getState().columnPinning.left,\n instance.getState().columnPinning.right,\n ],\n (allCells, left, right) => {\n const leftAndRight: string[] = [...(left ?? []), ...(right ?? [])]\n\n return allCells.filter(d => !leftAndRight.includes(d.columnId))\n },\n {\n key: 'row.getCenterVisibleCells',\n debug: () => instance.options.debugAll ?? instance.options.debugRows,\n }\n ),\n getLeftVisibleCells: memo(\n () => [\n row._getAllVisibleCells(),\n instance.getState().columnPinning.left,\n ,\n ],\n (allCells, left) => {\n const cells = (left ?? [])\n .map(columnId => allCells.find(cell => cell.columnId === columnId)!)\n .filter(Boolean)\n .map(d => ({ ...d, position: 'left' } as Cell<TGenerics>))\n\n return cells\n },\n {\n key: 'row.getLeftVisibleCells',\n debug: () => instance.options.debugAll ?? instance.options.debugRows,\n }\n ),\n getRightVisibleCells: memo(\n () => [\n row._getAllVisibleCells(),\n instance.getState().columnPinning.right,\n ],\n (allCells, right) => {\n const cells = (right ?? [])\n .map(columnId => allCells.find(cell => cell.columnId === columnId)!)\n .filter(Boolean)\n .map(d => ({ ...d, position: 'left' } as Cell<TGenerics>))\n\n return cells\n },\n {\n key: 'row.getRightVisibleCells',\n debug: () => instance.options.debugAll ?? instance.options.debugRows,\n }\n ),\n }\n },\n\n createCell: <TGenerics extends TableGenerics>(\n cell: Cell<TGenerics>,\n instance: TableInstance<TGenerics>\n ): ColumnPinningCell<TGenerics> => {\n return {\n getCenterVisibleCells: memo(\n () => [\n cell.row._getAllVisibleCells(),\n instance.getState().columnPinning.left,\n instance.getState().columnPinning.right,\n ],\n (allCells, left, right) => {\n const leftAndRight: string[] = [...(left ?? []), ...(right ?? [])]\n\n return allCells.filter(d => !leftAndRight.includes(d.columnId))\n },\n {\n key: 'row.getCenterVisibleCells',\n debug: () => instance.options.debugAll ?? instance.options.debugRows,\n }\n ),\n getLeftVisibleCells: memo(\n () => [\n cell.row._getAllVisibleCells(),\n instance.getState().columnPinning.left,\n ,\n ],\n (allCells, left) => {\n const cells = (left ?? [])\n .map(columnId => allCells.find(cell => cell.columnId === columnId)!)\n .filter(Boolean)\n .map(d => ({ ...d, position: 'left' } as Cell<TGenerics>))\n\n return cells\n },\n {\n key: 'row.getLeftVisibleCells',\n debug: () => instance.options.debugAll ?? instance.options.debugRows,\n }\n ),\n getRightVisibleCells: memo(\n () => [\n cell.row._getAllVisibleCells(),\n instance.getState().columnPinning.right,\n ],\n (allCells, right) => {\n const cells = (right ?? [])\n .map(columnId => allCells.find(cell => cell.columnId === columnId)!)\n .filter(Boolean)\n .map(d => ({ ...d, position: 'left' } as Cell<TGenerics>))\n\n return cells\n },\n {\n key: 'row.getRightVisibleCells',\n debug: () => instance.options.debugAll ?? instance.options.debugRows,\n }\n ),\n }\n },\n\n createInstance: <TGenerics extends TableGenerics>(\n instance: TableInstance<TGenerics>\n ): ColumnPinningInstance<TGenerics> => {\n return {\n setColumnPinning: updater =>\n instance.options.onColumnPinningChange?.(updater),\n\n resetColumnPinning: () =>\n instance.setColumnPinning(instance.initialState?.columnPinning ?? {}),\n\n pinColumn: (columnId, position) => {\n const column = instance.getColumn(columnId)\n\n const columnIds = column\n ?.getLeafColumns()\n .map(d => d.id)\n .filter(Boolean) as string[]\n\n instance.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 getColumnCanPin: columnId => {\n const column = instance.getColumn(columnId)\n\n if (!column) {\n throw new Error()\n }\n\n const leafColumns = column.getLeafColumns()\n\n return leafColumns.some(\n d =>\n d.enablePinning ??\n instance.options.enablePinning ??\n d.defaultCanPin ??\n !!d.accessorFn\n )\n },\n\n getColumnIsPinned: columnId => {\n const column = instance.getColumn(columnId)\n\n if (!column) {\n throw new Error()\n }\n\n const leafColumnIds = column.getLeafColumns().map(d => d.id)\n\n const { left, right } = instance.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 getColumnPinnedIndex: columnId => {\n const position = instance.getColumnIsPinned(columnId)\n\n return position\n ? instance.getState().columnPinning?.[position]?.indexOf(columnId) ??\n -1\n : 0\n },\n\n getIsSomeColumnsPinned: () => {\n const { left, right } = instance.getState().columnPinning\n\n return Boolean(left?.length || right?.length)\n },\n\n getLeftLeafColumns: memo(\n () => [\n instance.getAllLeafColumns(),\n instance.getState().columnPinning.left,\n ],\n (allColumns, left) => {\n return (left ?? [])\n .map(columnId => allColumns.find(column => column.id === columnId)!)\n .filter(Boolean)\n },\n {\n key: 'getLeftLeafColumns',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugColumns,\n }\n ),\n\n getRightLeafColumns: memo(\n () => [\n instance.getAllLeafColumns(),\n instance.getState().columnPinning.right,\n ],\n (allColumns, right) => {\n return (right ?? [])\n .map(columnId => allColumns.find(column => column.id === columnId)!)\n .filter(Boolean)\n },\n {\n key: 'getRightLeafColumns',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugColumns,\n }\n ),\n\n getCenterLeafColumns: memo(\n () => [\n instance.getAllLeafColumns(),\n instance.getState().columnPinning.left,\n instance.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: 'getCenterLeafColumns',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugColumns,\n }\n ),\n }\n },\n}\n"],"names":["Pinning","getInitialState","columnPinning","left","right","getDefaultOptions","instance","onColumnPinningChange","makeStateUpdater","createColumn","column","getCanPin","getColumnCanPin","id","getPinnedIndex","getColumnPinnedIndex","getIsPinned","getColumnIsPinned","pin","position","pinColumn","createRow","row","getCenterVisibleCells","memo","_getAllVisibleCells","getState","allCells","leftAndRight","filter","d","includes","columnId","key","debug","options","debugAll","debugRows","getLeftVisibleCells","cells","map","find","cell","Boolean","_extends","getRightVisibleCells","createCell","createInstance","setColumnPinning","updater","resetColumnPinning","initialState","getColumn","columnIds","getLeafColumns","old","Error","leafColumns","some","enablePinning","defaultCanPin","accessorFn","leafColumnIds","isLeft","isRight","indexOf","getIsSomeColumnsPinned","length","getLeftLeafColumns","getAllLeafColumns","allColumns","debugColumns","getRightLeafColumns","getCenterLeafColumns"],"mappings":";;;;;;;;;;;;;;;;;AAoEA;AAEO,IAAMA,OAAO,GAAG;AACrBC,EAAAA,eAAe,EAAE,SAA+B,eAAA,GAAA;AAC9C,IAAO,OAAA;AACLC,MAAAA,aAAa,EAAE;AACbC,QAAAA,IAAI,EAAE,EADO;AAEbC,QAAAA,KAAK,EAAE,EAAA;AAFM,OAAA;AADV,KAAP,CAAA;AAMD,GARoB;AAUrBC,EAAAA,iBAAiB,EAAE,SACjBC,iBAAAA,CAAAA,QADiB,EAEe;AAChC,IAAO,OAAA;AACLC,MAAAA,qBAAqB,EAAEC,sBAAgB,CAAC,eAAD,EAAkBF,QAAlB,CAAA;AADlC,KAAP,CAAA;AAGD,GAhBoB;AAkBrBG,EAAAA,YAAY,EAAE,SAAA,YAAA,CACZC,MADY,EAEZJ,QAFY,EAGY;AACxB,IAAO,OAAA;AACLK,MAAAA,SAAS,EAAE,SAAA,SAAA,GAAA;AAAA,QAAA,OAAML,QAAQ,CAACM,eAAT,CAAyBF,MAAM,CAACG,EAAhC,CAAN,CAAA;AAAA,OADN;AAELC,MAAAA,cAAc,EAAE,SAAA,cAAA,GAAA;AAAA,QAAA,OAAMR,QAAQ,CAACS,oBAAT,CAA8BL,MAAM,CAACG,EAArC,CAAN,CAAA;AAAA,OAFX;AAGLG,MAAAA,WAAW,EAAE,SAAA,WAAA,GAAA;AAAA,QAAA,OAAMV,QAAQ,CAACW,iBAAT,CAA2BP,MAAM,CAACG,EAAlC,CAAN,CAAA;AAAA,OAHR;AAILK,MAAAA,GAAG,EAAE,SAAA,GAAA,CAAAC,QAAQ,EAAA;AAAA,QAAIb,OAAAA,QAAQ,CAACc,SAAT,CAAmBV,MAAM,CAACG,EAA1B,EAA8BM,QAA9B,CAAJ,CAAA;AAAA,OAAA;AAJR,KAAP,CAAA;AAMD,GA5BoB;AA8BrBE,EAAAA,SAAS,EAAE,SAAA,SAAA,CACTC,GADS,EAEThB,QAFS,EAGuB;AAChC,IAAO,OAAA;AACLiB,MAAAA,qBAAqB,EAAEC,UAAI,CACzB,YAAA;AAAA,QAAM,OAAA,CACJF,GAAG,CAACG,mBAAJ,EADI,EAEJnB,QAAQ,CAACoB,QAAT,EAAA,CAAoBxB,aAApB,CAAkCC,IAF9B,EAGJG,QAAQ,CAACoB,QAAT,EAAoBxB,CAAAA,aAApB,CAAkCE,KAH9B,CAAN,CAAA;AAAA,OADyB,EAMzB,UAACuB,QAAD,EAAWxB,IAAX,EAAiBC,KAAjB,EAA2B;AACzB,QAAA,IAAMwB,YAAsB,GAAA,EAAA,CAAA,MAAA,CAAQzB,IAAR,IAAA,IAAA,GAAQA,IAAR,GAAgB,EAAhB,EAAyBC,KAAzB,IAAA,IAAA,GAAyBA,KAAzB,GAAkC,EAAlC,CAA5B,CAAA;AAEA,QAAA,OAAOuB,QAAQ,CAACE,MAAT,CAAgB,UAAAC,CAAC,EAAA;AAAA,UAAI,OAAA,CAACF,YAAY,CAACG,QAAb,CAAsBD,CAAC,CAACE,QAAxB,CAAL,CAAA;AAAA,SAAjB,CAAP,CAAA;AACD,OAVwB,EAWzB;AACEC,QAAAA,GAAG,EAAE,2BADP;AAEEC,QAAAA,KAAK,EAAE,SAAA,KAAA,GAAA;AAAA,UAAA,IAAA,qBAAA,CAAA;;AAAA,UAAM5B,OAAAA,CAAAA,qBAAAA,GAAAA,QAAQ,CAAC6B,OAAT,CAAiBC,QAAvB,oCAAmC9B,QAAQ,CAAC6B,OAAT,CAAiBE,SAApD,CAAA;AAAA,SAAA;AAFT,OAXyB,CADtB;AAiBLC,MAAAA,mBAAmB,EAAEd,UAAI,CACvB,YAAA;AAAA,QAAA,OAAM,CACJF,GAAG,CAACG,mBAAJ,EADI,EAEJnB,QAAQ,CAACoB,QAAT,EAAA,CAAoBxB,aAApB,CAAkCC,IAF9B,GAAN,CAAA;AAAA,OADuB,EAMvB,UAACwB,QAAD,EAAWxB,IAAX,EAAoB;AAClB,QAAA,IAAMoC,KAAK,GAAG,CAACpC,IAAD,IAACA,IAAAA,GAAAA,IAAD,GAAS,EAAT,EACXqC,GADW,CACP,UAAAR,QAAQ,EAAA;AAAA,UAAA,OAAIL,QAAQ,CAACc,IAAT,CAAc,UAAAC,IAAI,EAAA;AAAA,YAAA,OAAIA,IAAI,CAACV,QAAL,KAAkBA,QAAtB,CAAA;AAAA,WAAlB,CAAJ,CAAA;AAAA,SADD,CAAA,CAEXH,MAFW,CAEJc,OAFI,EAGXH,GAHW,CAGP,UAAAV,CAAC,EAAA;AAAA,UAAA,OAAAc,oCAAA,CAAA,EAAA,EAAUd,CAAV,EAAA;AAAaX,YAAAA,QAAQ,EAAE,MAAA;AAAvB,WAAA,CAAA,CAAA;AAAA,SAHM,CAAd,CAAA;AAKA,QAAA,OAAOoB,KAAP,CAAA;AACD,OAbsB,EAcvB;AACEN,QAAAA,GAAG,EAAE,yBADP;AAEEC,QAAAA,KAAK,EAAE,SAAA,KAAA,GAAA;AAAA,UAAA,IAAA,sBAAA,CAAA;;AAAA,UAAM5B,OAAAA,CAAAA,sBAAAA,GAAAA,QAAQ,CAAC6B,OAAT,CAAiBC,QAAvB,qCAAmC9B,QAAQ,CAAC6B,OAAT,CAAiBE,SAApD,CAAA;AAAA,SAAA;AAFT,OAduB,CAjBpB;AAoCLQ,MAAAA,oBAAoB,EAAErB,UAAI,CACxB,YAAA;AAAA,QAAA,OAAM,CACJF,GAAG,CAACG,mBAAJ,EADI,EAEJnB,QAAQ,CAACoB,QAAT,EAAA,CAAoBxB,aAApB,CAAkCE,KAF9B,CAAN,CAAA;AAAA,OADwB,EAKxB,UAACuB,QAAD,EAAWvB,KAAX,EAAqB;AACnB,QAAA,IAAMmC,KAAK,GAAG,CAACnC,KAAD,IAACA,IAAAA,GAAAA,KAAD,GAAU,EAAV,EACXoC,GADW,CACP,UAAAR,QAAQ,EAAA;AAAA,UAAA,OAAIL,QAAQ,CAACc,IAAT,CAAc,UAAAC,IAAI,EAAA;AAAA,YAAA,OAAIA,IAAI,CAACV,QAAL,KAAkBA,QAAtB,CAAA;AAAA,WAAlB,CAAJ,CAAA;AAAA,SADD,CAAA,CAEXH,MAFW,CAEJc,OAFI,EAGXH,GAHW,CAGP,UAAAV,CAAC,EAAA;AAAA,UAAA,OAAAc,oCAAA,CAAA,EAAA,EAAUd,CAAV,EAAA;AAAaX,YAAAA,QAAQ,EAAE,MAAA;AAAvB,WAAA,CAAA,CAAA;AAAA,SAHM,CAAd,CAAA;AAKA,QAAA,OAAOoB,KAAP,CAAA;AACD,OAZuB,EAaxB;AACEN,QAAAA,GAAG,EAAE,0BADP;AAEEC,QAAAA,KAAK,EAAE,SAAA,KAAA,GAAA;AAAA,UAAA,IAAA,sBAAA,CAAA;;AAAA,UAAM5B,OAAAA,CAAAA,sBAAAA,GAAAA,QAAQ,CAAC6B,OAAT,CAAiBC,QAAvB,qCAAmC9B,QAAQ,CAAC6B,OAAT,CAAiBE,SAApD,CAAA;AAAA,SAAA;AAFT,OAbwB,CAAA;AApCrB,KAAP,CAAA;AAuDD,GAzFoB;AA2FrBS,EAAAA,UAAU,EAAE,SAAA,UAAA,CACVJ,IADU,EAEVpC,QAFU,EAGuB;AACjC,IAAO,OAAA;AACLiB,MAAAA,qBAAqB,EAAEC,UAAI,CACzB,YAAA;AAAA,QAAM,OAAA,CACJkB,IAAI,CAACpB,GAAL,CAASG,mBAAT,EADI,EAEJnB,QAAQ,CAACoB,QAAT,GAAoBxB,aAApB,CAAkCC,IAF9B,EAGJG,QAAQ,CAACoB,QAAT,EAAoBxB,CAAAA,aAApB,CAAkCE,KAH9B,CAAN,CAAA;AAAA,OADyB,EAMzB,UAACuB,QAAD,EAAWxB,IAAX,EAAiBC,KAAjB,EAA2B;AACzB,QAAA,IAAMwB,YAAsB,GAAA,EAAA,CAAA,MAAA,CAAQzB,IAAR,IAAA,IAAA,GAAQA,IAAR,GAAgB,EAAhB,EAAyBC,KAAzB,IAAA,IAAA,GAAyBA,KAAzB,GAAkC,EAAlC,CAA5B,CAAA;AAEA,QAAA,OAAOuB,QAAQ,CAACE,MAAT,CAAgB,UAAAC,CAAC,EAAA;AAAA,UAAI,OAAA,CAACF,YAAY,CAACG,QAAb,CAAsBD,CAAC,CAACE,QAAxB,CAAL,CAAA;AAAA,SAAjB,CAAP,CAAA;AACD,OAVwB,EAWzB;AACEC,QAAAA,GAAG,EAAE,2BADP;AAEEC,QAAAA,KAAK,EAAE,SAAA,KAAA,GAAA;AAAA,UAAA,IAAA,sBAAA,CAAA;;AAAA,UAAM5B,OAAAA,CAAAA,sBAAAA,GAAAA,QAAQ,CAAC6B,OAAT,CAAiBC,QAAvB,qCAAmC9B,QAAQ,CAAC6B,OAAT,CAAiBE,SAApD,CAAA;AAAA,SAAA;AAFT,OAXyB,CADtB;AAiBLC,MAAAA,mBAAmB,EAAEd,UAAI,CACvB,YAAA;AAAA,QAAA,OAAM,CACJkB,IAAI,CAACpB,GAAL,CAASG,mBAAT,EADI,EAEJnB,QAAQ,CAACoB,QAAT,EAAA,CAAoBxB,aAApB,CAAkCC,IAF9B,GAAN,CAAA;AAAA,OADuB,EAMvB,UAACwB,QAAD,EAAWxB,IAAX,EAAoB;AAClB,QAAA,IAAMoC,KAAK,GAAG,CAACpC,IAAD,IAACA,IAAAA,GAAAA,IAAD,GAAS,EAAT,EACXqC,GADW,CACP,UAAAR,QAAQ,EAAA;AAAA,UAAA,OAAIL,QAAQ,CAACc,IAAT,CAAc,UAAAC,IAAI,EAAA;AAAA,YAAA,OAAIA,IAAI,CAACV,QAAL,KAAkBA,QAAtB,CAAA;AAAA,WAAlB,CAAJ,CAAA;AAAA,SADD,CAAA,CAEXH,MAFW,CAEJc,OAFI,EAGXH,GAHW,CAGP,UAAAV,CAAC,EAAA;AAAA,UAAA,OAAAc,oCAAA,CAAA,EAAA,EAAUd,CAAV,EAAA;AAAaX,YAAAA,QAAQ,EAAE,MAAA;AAAvB,WAAA,CAAA,CAAA;AAAA,SAHM,CAAd,CAAA;AAKA,QAAA,OAAOoB,KAAP,CAAA;AACD,OAbsB,EAcvB;AACEN,QAAAA,GAAG,EAAE,yBADP;AAEEC,QAAAA,KAAK,EAAE,SAAA,KAAA,GAAA;AAAA,UAAA,IAAA,sBAAA,CAAA;;AAAA,UAAM5B,OAAAA,CAAAA,sBAAAA,GAAAA,QAAQ,CAAC6B,OAAT,CAAiBC,QAAvB,qCAAmC9B,QAAQ,CAAC6B,OAAT,CAAiBE,SAApD,CAAA;AAAA,SAAA;AAFT,OAduB,CAjBpB;AAoCLQ,MAAAA,oBAAoB,EAAErB,UAAI,CACxB,YAAA;AAAA,QAAA,OAAM,CACJkB,IAAI,CAACpB,GAAL,CAASG,mBAAT,EADI,EAEJnB,QAAQ,CAACoB,QAAT,EAAA,CAAoBxB,aAApB,CAAkCE,KAF9B,CAAN,CAAA;AAAA,OADwB,EAKxB,UAACuB,QAAD,EAAWvB,KAAX,EAAqB;AACnB,QAAA,IAAMmC,KAAK,GAAG,CAACnC,KAAD,IAACA,IAAAA,GAAAA,KAAD,GAAU,EAAV,EACXoC,GADW,CACP,UAAAR,QAAQ,EAAA;AAAA,UAAA,OAAIL,QAAQ,CAACc,IAAT,CAAc,UAAAC,IAAI,EAAA;AAAA,YAAA,OAAIA,IAAI,CAACV,QAAL,KAAkBA,QAAtB,CAAA;AAAA,WAAlB,CAAJ,CAAA;AAAA,SADD,CAAA,CAEXH,MAFW,CAEJc,OAFI,EAGXH,GAHW,CAGP,UAAAV,CAAC,EAAA;AAAA,UAAA,OAAAc,oCAAA,CAAA,EAAA,EAAUd,CAAV,EAAA;AAAaX,YAAAA,QAAQ,EAAE,MAAA;AAAvB,WAAA,CAAA,CAAA;AAAA,SAHM,CAAd,CAAA;AAKA,QAAA,OAAOoB,KAAP,CAAA;AACD,OAZuB,EAaxB;AACEN,QAAAA,GAAG,EAAE,0BADP;AAEEC,QAAAA,KAAK,EAAE,SAAA,KAAA,GAAA;AAAA,UAAA,IAAA,sBAAA,CAAA;;AAAA,UAAM5B,OAAAA,CAAAA,sBAAAA,GAAAA,QAAQ,CAAC6B,OAAT,CAAiBC,QAAvB,qCAAmC9B,QAAQ,CAAC6B,OAAT,CAAiBE,SAApD,CAAA;AAAA,SAAA;AAFT,OAbwB,CAAA;AApCrB,KAAP,CAAA;AAuDD,GAtJoB;AAwJrBU,EAAAA,cAAc,EAAE,SACdzC,cAAAA,CAAAA,QADc,EAEuB;AACrC,IAAO,OAAA;AACL0C,MAAAA,gBAAgB,EAAE,SAAA,gBAAA,CAAAC,OAAO,EAAA;AAAA,QAAA,OACvB3C,QAAQ,CAAC6B,OAAT,CAAiB5B,qBADM,IAAA,IAAA,GAAA,KAAA,CAAA,GACvBD,QAAQ,CAAC6B,OAAT,CAAiB5B,qBAAjB,CAAyC0C,OAAzC,CADuB,CAAA;AAAA,OADpB;AAILC,MAAAA,kBAAkB,EAAE,SAAA,kBAAA,GAAA;AAAA,QAAA,IAAA,qBAAA,EAAA,sBAAA,CAAA;;AAAA,QAAA,OAClB5C,QAAQ,CAAC0C,gBAAT,CAAA,CAAA,qBAAA,GAAA,CAAA,sBAAA,GAA0B1C,QAAQ,CAAC6C,YAAnC,KAAA,IAAA,GAAA,KAAA,CAAA,GAA0B,sBAAuBjD,CAAAA,aAAjD,KAAkE,IAAA,GAAA,qBAAA,GAAA,EAAlE,CADkB,CAAA;AAAA,OAJf;AAOLkB,MAAAA,SAAS,EAAE,SAAA,SAAA,CAACY,QAAD,EAAWb,QAAX,EAAwB;AACjC,QAAA,IAAMT,MAAM,GAAGJ,QAAQ,CAAC8C,SAAT,CAAmBpB,QAAnB,CAAf,CAAA;AAEA,QAAMqB,IAAAA,SAAS,GAAG3C,MAAH,IAAGA,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,MAAM,CACpB4C,cADc,EAEfd,CAAAA,GAFe,CAEX,UAAAV,CAAC,EAAA;AAAA,UAAIA,OAAAA,CAAC,CAACjB,EAAN,CAAA;AAAA,SAFU,CAGfgB,CAAAA,MAHe,CAGRc,OAHQ,CAAlB,CAAA;AAKArC,QAAAA,QAAQ,CAAC0C,gBAAT,CAA0B,UAAAO,GAAG,EAAI;AAAA,UAAA,IAAA,UAAA,EAAA,WAAA,CAAA;;AAC/B,UAAIpC,IAAAA,QAAQ,KAAK,OAAjB,EAA0B;AAAA,YAAA,IAAA,SAAA,EAAA,UAAA,CAAA;;AACxB,YAAO,OAAA;AACLhB,cAAAA,IAAI,EAAE,CAACoD,CAAAA,SAAAA,GAAAA,GAAD,oBAACA,GAAG,CAAEpD,IAAN,KAAA,IAAA,GAAA,SAAA,GAAc,EAAd,EAAkB0B,MAAlB,CAAyB,UAAAC,CAAC,EAAA;AAAA,gBAAI,OAAA,EAACuB,SAAD,IAACA,IAAAA,IAAAA,SAAS,CAAEtB,QAAX,CAAoBD,CAApB,CAAD,CAAJ,CAAA;AAAA,eAA1B,CADD;AAEL1B,cAAAA,KAAK,EAAA,EAAA,CAAA,MAAA,CACA,CAACmD,CAAAA,UAAAA,GAAAA,GAAD,oBAACA,GAAG,CAAEnD,KAAN,KAAA,IAAA,GAAA,UAAA,GAAe,EAAf,EAAmByB,MAAnB,CAA0B,UAAAC,CAAC,EAAA;AAAA,gBAAI,OAAA,EAACuB,SAAD,IAACA,IAAAA,IAAAA,SAAS,CAAEtB,QAAX,CAAoBD,CAApB,CAAD,CAAJ,CAAA;AAAA,eAA3B,CADA,EAEAuB,SAFA,CAAA;AAFA,aAAP,CAAA;AAOD,WAAA;;AAED,UAAIlC,IAAAA,QAAQ,KAAK,MAAjB,EAAyB;AAAA,YAAA,IAAA,UAAA,EAAA,WAAA,CAAA;;AACvB,YAAO,OAAA;AACLhB,cAAAA,IAAI,EAAA,EAAA,CAAA,MAAA,CACC,CAACoD,CAAAA,UAAAA,GAAAA,GAAD,oBAACA,GAAG,CAAEpD,IAAN,KAAA,IAAA,GAAA,UAAA,GAAc,EAAd,EAAkB0B,MAAlB,CAAyB,UAAAC,CAAC,EAAA;AAAA,gBAAI,OAAA,EAACuB,SAAD,IAACA,IAAAA,IAAAA,SAAS,CAAEtB,QAAX,CAAoBD,CAApB,CAAD,CAAJ,CAAA;AAAA,eAA1B,CADD,EAECuB,SAFD,CADC;AAKLjD,cAAAA,KAAK,EAAE,CAACmD,CAAAA,WAAAA,GAAAA,GAAD,oBAACA,GAAG,CAAEnD,KAAN,KAAA,IAAA,GAAA,WAAA,GAAe,EAAf,EAAmByB,MAAnB,CAA0B,UAAAC,CAAC,EAAA;AAAA,gBAAI,OAAA,EAACuB,SAAD,IAACA,IAAAA,IAAAA,SAAS,CAAEtB,QAAX,CAAoBD,CAApB,CAAD,CAAJ,CAAA;AAAA,eAA3B,CAAA;AALF,aAAP,CAAA;AAOD,WAAA;;AAED,UAAO,OAAA;AACL3B,YAAAA,IAAI,EAAE,CAACoD,CAAAA,UAAAA,GAAAA,GAAD,oBAACA,GAAG,CAAEpD,IAAN,KAAA,IAAA,GAAA,UAAA,GAAc,EAAd,EAAkB0B,MAAlB,CAAyB,UAAAC,CAAC,EAAA;AAAA,cAAI,OAAA,EAACuB,SAAD,IAACA,IAAAA,IAAAA,SAAS,CAAEtB,QAAX,CAAoBD,CAApB,CAAD,CAAJ,CAAA;AAAA,aAA1B,CADD;AAEL1B,YAAAA,KAAK,EAAE,CAACmD,CAAAA,WAAAA,GAAAA,GAAD,oBAACA,GAAG,CAAEnD,KAAN,KAAA,IAAA,GAAA,WAAA,GAAe,EAAf,EAAmByB,MAAnB,CAA0B,UAAAC,CAAC,EAAA;AAAA,cAAI,OAAA,EAACuB,SAAD,IAACA,IAAAA,IAAAA,SAAS,CAAEtB,QAAX,CAAoBD,CAApB,CAAD,CAAJ,CAAA;AAAA,aAA3B,CAAA;AAFF,WAAP,CAAA;AAID,SAzBD,CAAA,CAAA;AA0BD,OAzCI;AA2CLlB,MAAAA,eAAe,EAAE,SAAAoB,eAAAA,CAAAA,QAAQ,EAAI;AAC3B,QAAA,IAAMtB,MAAM,GAAGJ,QAAQ,CAAC8C,SAAT,CAAmBpB,QAAnB,CAAf,CAAA;;AAEA,QAAI,IAAA,CAACtB,MAAL,EAAa;AACX,UAAM,MAAA,IAAI8C,KAAJ,EAAN,CAAA;AACD,SAAA;;AAED,QAAA,IAAMC,WAAW,GAAG/C,MAAM,CAAC4C,cAAP,EAApB,CAAA;AAEA,QAAA,OAAOG,WAAW,CAACC,IAAZ,CACL,UAAA5B,CAAC,EAAA;AAAA,UAAA,IAAA,IAAA,EAAA,KAAA,EAAA,gBAAA,CAAA;;AAAA,UAAA,OAAA,CAAA,IAAA,GAAA,CAAA,KAAA,GAAA,CAAA,gBAAA,GACCA,CAAC,CAAC6B,aADH,+BAECrD,QAAQ,CAAC6B,OAAT,CAAiBwB,aAFlB,KAGC7B,IAAAA,GAAAA,KAAAA,GAAAA,CAAC,CAAC8B,aAHH,KAAA,IAAA,GAAA,IAAA,GAIC,CAAC,CAAC9B,CAAC,CAAC+B,UAJL,CAAA;AAAA,SADI,CAAP,CAAA;AAOD,OA3DI;AA6DL5C,MAAAA,iBAAiB,EAAE,SAAAe,iBAAAA,CAAAA,QAAQ,EAAI;AAC7B,QAAA,IAAMtB,MAAM,GAAGJ,QAAQ,CAAC8C,SAAT,CAAmBpB,QAAnB,CAAf,CAAA;;AAEA,QAAI,IAAA,CAACtB,MAAL,EAAa;AACX,UAAM,MAAA,IAAI8C,KAAJ,EAAN,CAAA;AACD,SAAA;;AAED,QAAMM,IAAAA,aAAa,GAAGpD,MAAM,CAAC4C,cAAP,EAAwBd,CAAAA,GAAxB,CAA4B,UAAAV,CAAC,EAAA;AAAA,UAAIA,OAAAA,CAAC,CAACjB,EAAN,CAAA;AAAA,SAA7B,CAAtB,CAAA;AAEA,QAAA,IAAA,qBAAA,GAAwBP,QAAQ,CAACoB,QAAT,EAAA,CAAoBxB,aAA5C;AAAA,YAAQC,IAAR,yBAAQA,IAAR;AAAA,YAAcC,KAAd,yBAAcA,KAAd,CAAA;AAEA,QAAA,IAAM2D,MAAM,GAAGD,aAAa,CAACJ,IAAd,CAAmB,UAAA5B,CAAC,EAAA;AAAA,UAAA,OAAI3B,IAAJ,IAAIA,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,IAAI,CAAE4B,QAAN,CAAeD,CAAf,CAAJ,CAAA;AAAA,SAApB,CAAf,CAAA;AACA,QAAA,IAAMkC,OAAO,GAAGF,aAAa,CAACJ,IAAd,CAAmB,UAAA5B,CAAC,EAAA;AAAA,UAAA,OAAI1B,KAAJ,IAAIA,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,KAAK,CAAE2B,QAAP,CAAgBD,CAAhB,CAAJ,CAAA;AAAA,SAApB,CAAhB,CAAA;AAEA,QAAOiC,OAAAA,MAAM,GAAG,MAAH,GAAYC,OAAO,GAAG,OAAH,GAAa,KAA7C,CAAA;AACD,OA5EI;AA8ELjD,MAAAA,oBAAoB,EAAE,SAAAiB,oBAAAA,CAAAA,QAAQ,EAAI;AAAA,QAAA,IAAA,sBAAA,EAAA,sBAAA,EAAA,sBAAA,CAAA;;AAChC,QAAA,IAAMb,QAAQ,GAAGb,QAAQ,CAACW,iBAAT,CAA2Be,QAA3B,CAAjB,CAAA;AAEA,QAAOb,OAAAA,QAAQ,uDACXb,QAAQ,CAACoB,QAAT,EAAoBxB,CAAAA,aADT,+CACX,sBAAoCiB,CAAAA,QAApC,CADW,KACX,IAAA,GAAA,KAAA,CAAA,GAAA,sBAAA,CAA+C8C,OAA/C,CAAuDjC,QAAvD,CADW,KAET,IAAA,GAAA,sBAAA,GAAA,CAAC,CAFQ,GAGX,CAHJ,CAAA;AAID,OArFI;AAuFLkC,MAAAA,sBAAsB,EAAE,SAAM,sBAAA,GAAA;AAC5B,QAAA,IAAA,sBAAA,GAAwB5D,QAAQ,CAACoB,QAAT,EAAA,CAAoBxB,aAA5C;AAAA,YAAQC,IAAR,0BAAQA,IAAR;AAAA,YAAcC,KAAd,0BAAcA,KAAd,CAAA;AAEA,QAAA,OAAOuC,OAAO,CAAC,CAAAxC,IAAI,IAAA,IAAJ,YAAAA,IAAI,CAAEgE,MAAN,MAAgB/D,KAAhB,IAAgBA,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,KAAK,CAAE+D,MAAvB,CAAD,CAAd,CAAA;AACD,OA3FI;AA6FLC,MAAAA,kBAAkB,EAAE5C,UAAI,CACtB,YAAA;AAAA,QAAA,OAAM,CACJlB,QAAQ,CAAC+D,iBAAT,EADI,EAEJ/D,QAAQ,CAACoB,QAAT,EAAA,CAAoBxB,aAApB,CAAkCC,IAF9B,CAAN,CAAA;AAAA,OADsB,EAKtB,UAACmE,UAAD,EAAanE,IAAb,EAAsB;AACpB,QAAO,OAAA,CAACA,IAAD,IAAA,IAAA,GAACA,IAAD,GAAS,EAAT,EACJqC,GADI,CACA,UAAAR,QAAQ,EAAA;AAAA,UAAA,OAAIsC,UAAU,CAAC7B,IAAX,CAAgB,UAAA/B,MAAM,EAAA;AAAA,YAAA,OAAIA,MAAM,CAACG,EAAP,KAAcmB,QAAlB,CAAA;AAAA,WAAtB,CAAJ,CAAA;AAAA,SADR,CAEJH,CAAAA,MAFI,CAEGc,OAFH,CAAP,CAAA;AAGD,OATqB,EAUtB;AACEV,QAAAA,GAAG,EAAE,oBADP;AAEEC,QAAAA,KAAK,EAAE,SAAA,KAAA,GAAA;AAAA,UAAA,IAAA,sBAAA,CAAA;;AAAA,UACL5B,OAAAA,CAAAA,sBAAAA,GAAAA,QAAQ,CAAC6B,OAAT,CAAiBC,QADZ,qCACwB9B,QAAQ,CAAC6B,OAAT,CAAiBoC,YADzC,CAAA;AAAA,SAAA;AAFT,OAVsB,CA7FnB;AA8GLC,MAAAA,mBAAmB,EAAEhD,UAAI,CACvB,YAAA;AAAA,QAAA,OAAM,CACJlB,QAAQ,CAAC+D,iBAAT,EADI,EAEJ/D,QAAQ,CAACoB,QAAT,EAAA,CAAoBxB,aAApB,CAAkCE,KAF9B,CAAN,CAAA;AAAA,OADuB,EAKvB,UAACkE,UAAD,EAAalE,KAAb,EAAuB;AACrB,QAAO,OAAA,CAACA,KAAD,IAAA,IAAA,GAACA,KAAD,GAAU,EAAV,EACJoC,GADI,CACA,UAAAR,QAAQ,EAAA;AAAA,UAAA,OAAIsC,UAAU,CAAC7B,IAAX,CAAgB,UAAA/B,MAAM,EAAA;AAAA,YAAA,OAAIA,MAAM,CAACG,EAAP,KAAcmB,QAAlB,CAAA;AAAA,WAAtB,CAAJ,CAAA;AAAA,SADR,CAEJH,CAAAA,MAFI,CAEGc,OAFH,CAAP,CAAA;AAGD,OATsB,EAUvB;AACEV,QAAAA,GAAG,EAAE,qBADP;AAEEC,QAAAA,KAAK,EAAE,SAAA,KAAA,GAAA;AAAA,UAAA,IAAA,sBAAA,CAAA;;AAAA,UACL5B,OAAAA,CAAAA,sBAAAA,GAAAA,QAAQ,CAAC6B,OAAT,CAAiBC,QADZ,qCACwB9B,QAAQ,CAAC6B,OAAT,CAAiBoC,YADzC,CAAA;AAAA,SAAA;AAFT,OAVuB,CA9GpB;AA+HLE,MAAAA,oBAAoB,EAAEjD,UAAI,CACxB,YAAA;AAAA,QAAM,OAAA,CACJlB,QAAQ,CAAC+D,iBAAT,EADI,EAEJ/D,QAAQ,CAACoB,QAAT,EAAA,CAAoBxB,aAApB,CAAkCC,IAF9B,EAGJG,QAAQ,CAACoB,QAAT,EAAoBxB,CAAAA,aAApB,CAAkCE,KAH9B,CAAN,CAAA;AAAA,OADwB,EAMxB,UAACkE,UAAD,EAAanE,IAAb,EAAmBC,KAAnB,EAA6B;AAC3B,QAAA,IAAMwB,YAAsB,GAAA,EAAA,CAAA,MAAA,CAAQzB,IAAR,IAAA,IAAA,GAAQA,IAAR,GAAgB,EAAhB,EAAyBC,KAAzB,IAAA,IAAA,GAAyBA,KAAzB,GAAkC,EAAlC,CAA5B,CAAA;AAEA,QAAA,OAAOkE,UAAU,CAACzC,MAAX,CAAkB,UAAAC,CAAC,EAAA;AAAA,UAAI,OAAA,CAACF,YAAY,CAACG,QAAb,CAAsBD,CAAC,CAACjB,EAAxB,CAAL,CAAA;AAAA,SAAnB,CAAP,CAAA;AACD,OAVuB,EAWxB;AACEoB,QAAAA,GAAG,EAAE,sBADP;AAEEC,QAAAA,KAAK,EAAE,SAAA,KAAA,GAAA;AAAA,UAAA,IAAA,sBAAA,CAAA;;AAAA,UACL5B,OAAAA,CAAAA,sBAAAA,GAAAA,QAAQ,CAAC6B,OAAT,CAAiBC,QADZ,qCACwB9B,QAAQ,CAAC6B,OAAT,CAAiBoC,YADzC,CAAA;AAAA,SAAA;AAFT,OAXwB,CAAA;AA/HrB,KAAP,CAAA;AAiJD,GAAA;AA5SoB;;;;"}
1
+ {"version":3,"file":"Pinning.js","sources":["../../../src/features/Pinning.ts"],"sourcesContent":["import {\n OnChangeFn,\n Updater,\n TableInstance,\n Column,\n TableGenerics,\n Row,\n Cell,\n TableFeature,\n} from '../types'\nimport { makeStateUpdater, memo } from '../utils'\n\nexport type ColumnPinningPosition = false | 'left' | 'right'\n\nexport type ColumnPinningState = {\n left?: string[]\n right?: string[]\n}\n\nexport type ColumnPinningTableState = {\n columnPinning: ColumnPinningState\n}\n\nexport type ColumnPinningOptions = {\n onColumnPinningChange?: OnChangeFn<ColumnPinningState>\n enablePinning?: boolean\n}\n\nexport type ColumnPinningDefaultOptions = {\n onColumnPinningChange: OnChangeFn<ColumnPinningState>\n}\n\nexport type ColumnPinningColumnDef = {\n enablePinning?: boolean\n}\n\nexport type ColumnPinningColumn = {\n getCanPin: () => boolean\n getPinnedIndex: () => number\n getIsPinned: () => ColumnPinningPosition\n pin: (position: ColumnPinningPosition) => void\n}\n\nexport type ColumnPinningRow<TGenerics extends TableGenerics> = {\n getLeftVisibleCells: () => Cell<TGenerics>[]\n getCenterVisibleCells: () => Cell<TGenerics>[]\n getRightVisibleCells: () => Cell<TGenerics>[]\n}\n\nexport type ColumnPinningInstance<TGenerics extends TableGenerics> = {\n setColumnPinning: (updater: Updater<ColumnPinningState>) => void\n resetColumnPinning: () => void\n pinColumn: (columnId: string, position: ColumnPinningPosition) => void\n getColumnCanPin: (columnId: string) => boolean\n getColumnIsPinned: (columnId: string) => ColumnPinningPosition\n getColumnPinnedIndex: (columnId: string) => number\n getIsSomeColumnsPinned: () => boolean\n getLeftLeafColumns: () => Column<TGenerics>[]\n getRightLeafColumns: () => Column<TGenerics>[]\n getCenterLeafColumns: () => Column<TGenerics>[]\n}\n\n//\n\nexport const Pinning: TableFeature = {\n getInitialState: (state): ColumnPinningTableState => {\n return {\n columnPinning: {\n left: [],\n right: [],\n },\n ...state,\n }\n },\n\n getDefaultOptions: <TGenerics extends TableGenerics>(\n instance: TableInstance<TGenerics>\n ): ColumnPinningDefaultOptions => {\n return {\n onColumnPinningChange: makeStateUpdater('columnPinning', instance),\n }\n },\n\n createColumn: <TGenerics extends TableGenerics>(\n column: Column<TGenerics>,\n instance: TableInstance<TGenerics>\n ): ColumnPinningColumn => {\n return {\n getCanPin: () => instance.getColumnCanPin(column.id),\n getPinnedIndex: () => instance.getColumnPinnedIndex(column.id),\n getIsPinned: () => instance.getColumnIsPinned(column.id),\n pin: position => instance.pinColumn(column.id, position),\n }\n },\n\n createRow: <TGenerics extends TableGenerics>(\n row: Row<TGenerics>,\n instance: TableInstance<TGenerics>\n ): ColumnPinningRow<TGenerics> => {\n return {\n getCenterVisibleCells: memo(\n () => [\n row._getAllVisibleCells(),\n instance.getState().columnPinning.left,\n instance.getState().columnPinning.right,\n ],\n (allCells, left, right) => {\n const leftAndRight: string[] = [...(left ?? []), ...(right ?? [])]\n\n return allCells.filter(d => !leftAndRight.includes(d.columnId))\n },\n {\n key:\n process.env.NODE_ENV === 'production' &&\n 'row.getCenterVisibleCells',\n debug: () => instance.options.debugAll ?? instance.options.debugRows,\n }\n ),\n getLeftVisibleCells: memo(\n () => [\n row._getAllVisibleCells(),\n instance.getState().columnPinning.left,\n ,\n ],\n (allCells, left) => {\n const cells = (left ?? [])\n .map(columnId => allCells.find(cell => cell.columnId === columnId)!)\n .filter(Boolean)\n .map(d => ({ ...d, position: 'left' } as Cell<TGenerics>))\n\n return cells\n },\n {\n key:\n process.env.NODE_ENV === 'production' && 'row.getLeftVisibleCells',\n debug: () => instance.options.debugAll ?? instance.options.debugRows,\n }\n ),\n getRightVisibleCells: memo(\n () => [\n row._getAllVisibleCells(),\n instance.getState().columnPinning.right,\n ],\n (allCells, right) => {\n const cells = (right ?? [])\n .map(columnId => allCells.find(cell => cell.columnId === columnId)!)\n .filter(Boolean)\n .map(d => ({ ...d, position: 'left' } as Cell<TGenerics>))\n\n return cells\n },\n {\n key:\n process.env.NODE_ENV === 'production' && 'row.getRightVisibleCells',\n debug: () => instance.options.debugAll ?? instance.options.debugRows,\n }\n ),\n }\n },\n\n createInstance: <TGenerics extends TableGenerics>(\n instance: TableInstance<TGenerics>\n ): ColumnPinningInstance<TGenerics> => {\n return {\n setColumnPinning: updater =>\n instance.options.onColumnPinningChange?.(updater),\n\n resetColumnPinning: () =>\n instance.setColumnPinning(instance.initialState?.columnPinning ?? {}),\n\n pinColumn: (columnId, position) => {\n const column = instance.getColumn(columnId)\n\n const columnIds = column\n ?.getLeafColumns()\n .map(d => d.id)\n .filter(Boolean) as string[]\n\n instance.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 getColumnCanPin: columnId => {\n const column = instance.getColumn(columnId)\n\n if (!column) {\n throw new Error()\n }\n\n const leafColumns = column.getLeafColumns()\n\n return leafColumns.some(\n d =>\n (d.enablePinning ?? true) &&\n (instance.options.enablePinning ?? true)\n )\n },\n\n getColumnIsPinned: columnId => {\n const column = instance.getColumn(columnId)\n\n if (!column) {\n throw new Error()\n }\n\n const leafColumnIds = column.getLeafColumns().map(d => d.id)\n\n const { left, right } = instance.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 getColumnPinnedIndex: columnId => {\n const position = instance.getColumnIsPinned(columnId)\n\n return position\n ? instance.getState().columnPinning?.[position]?.indexOf(columnId) ??\n -1\n : 0\n },\n\n getIsSomeColumnsPinned: () => {\n const { left, right } = instance.getState().columnPinning\n\n return Boolean(left?.length || right?.length)\n },\n\n getLeftLeafColumns: memo(\n () => [\n instance.getAllLeafColumns(),\n instance.getState().columnPinning.left,\n ],\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 === 'production' && 'getLeftLeafColumns',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugColumns,\n }\n ),\n\n getRightLeafColumns: memo(\n () => [\n instance.getAllLeafColumns(),\n instance.getState().columnPinning.right,\n ],\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 === 'production' && 'getRightLeafColumns',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugColumns,\n }\n ),\n\n getCenterLeafColumns: memo(\n () => [\n instance.getAllLeafColumns(),\n instance.getState().columnPinning.left,\n instance.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 === 'production' && 'getCenterLeafColumns',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugColumns,\n }\n ),\n }\n },\n}\n"],"names":["Pinning","getInitialState","state","_extends","columnPinning","left","right","getDefaultOptions","instance","onColumnPinningChange","makeStateUpdater","createColumn","column","getCanPin","getColumnCanPin","id","getPinnedIndex","getColumnPinnedIndex","getIsPinned","getColumnIsPinned","pin","position","pinColumn","createRow","row","getCenterVisibleCells","memo","_getAllVisibleCells","getState","allCells","leftAndRight","filter","d","includes","columnId","key","process","env","NODE_ENV","debug","options","debugAll","debugRows","getLeftVisibleCells","cells","map","find","cell","Boolean","getRightVisibleCells","createInstance","setColumnPinning","updater","resetColumnPinning","initialState","getColumn","columnIds","getLeafColumns","old","Error","leafColumns","some","enablePinning","leafColumnIds","isLeft","isRight","indexOf","getIsSomeColumnsPinned","length","getLeftLeafColumns","getAllLeafColumns","allColumns","debugColumns","getRightLeafColumns","getCenterLeafColumns"],"mappings":"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"}
@@ -17,10 +17,10 @@ var utils = require('../utils.js');
17
17
 
18
18
  //
19
19
  var RowSelection = {
20
- getInitialState: function getInitialState() {
21
- return {
20
+ getInitialState: function getInitialState(state) {
21
+ return _rollupPluginBabelHelpers["extends"]({
22
22
  rowSelection: {}
23
- };
23
+ }, state);
24
24
  },
25
25
  getDefaultOptions: function getDefaultOptions(instance) {
26
26
  return {
@@ -159,7 +159,7 @@ var RowSelection = {
159
159
 
160
160
  return selectRowsFn(instance, rowModel);
161
161
  }, {
162
- key: 'getSelectedRowModel',
162
+ key: process.env.NODE_ENV === 'production' && 'getSelectedRowModel',
163
163
  debug: function debug() {
164
164
  var _instance$options$deb;
165
165
 
@@ -167,7 +167,7 @@ var RowSelection = {
167
167
  }
168
168
  }),
169
169
  getFilteredSelectedRowModel: utils.memo(function () {
170
- return [instance.getState().rowSelection, instance.getGlobalFilteredRowModel()];
170
+ return [instance.getState().rowSelection, instance.getFilteredRowModel()];
171
171
  }, function (rowSelection, rowModel) {
172
172
  if (!Object.keys(rowSelection).length) {
173
173
  return {
@@ -179,7 +179,7 @@ var RowSelection = {
179
179
 
180
180
  return selectRowsFn(instance, rowModel);
181
181
  }, {
182
- key: 'getFilteredSelectedRowModel',
182
+ key: process.env.NODE_ENV === 'production' && 'getFilteredSelectedRowModel',
183
183
  debug: function debug() {
184
184
  var _instance$options$deb2;
185
185
 
@@ -199,7 +199,7 @@ var RowSelection = {
199
199
 
200
200
  return selectRowsFn(instance, rowModel);
201
201
  }, {
202
- key: 'getGroupedSelectedRowModel',
202
+ key: process.env.NODE_ENV === 'production' && 'getGroupedSelectedRowModel',
203
203
  debug: function debug() {
204
204
  var _instance$options$deb3;
205
205
 
@@ -287,7 +287,7 @@ var RowSelection = {
287
287
  // return instance.options.enableGroupingRowSelection ?? false
288
288
  // },
289
289
  getIsAllRowsSelected: function getIsAllRowsSelected() {
290
- var preFilteredFlatRows = instance.getPreGlobalFilteredRowModel().flatRows;
290
+ var preFilteredFlatRows = instance.getPreFilteredRowModel().flatRows;
291
291
 
292
292
  var _instance$getState3 = instance.getState(),
293
293
  rowSelection = _instance$getState3.rowSelection;
@@ -1 +1 @@
1
- {"version":3,"file":"RowSelection.js","sources":["../../../src/features/RowSelection.ts"],"sourcesContent":["import {\n OnChangeFn,\n TableGenerics,\n TableInstance,\n Row,\n RowModel,\n Updater,\n} from '../types'\nimport { makeStateUpdater, memo } from '../utils'\n\nexport type RowSelectionState = Record<string, boolean>\n\nexport type RowSelectionTableState = {\n rowSelection: RowSelectionState\n}\n\nexport type RowSelectionOptions<TGenerics extends TableGenerics> = {\n onRowSelectionChange?: OnChangeFn<RowSelectionState>\n enableRowSelection?: boolean | ((row: Row<TGenerics>) => boolean)\n enableMultiRowSelection?: boolean | ((row: Row<TGenerics>) => boolean)\n enableSubRowSelection?: boolean | ((row: Row<TGenerics>) => boolean)\n // enableGroupingRowSelection?:\n // | boolean\n // | ((\n // row: Row<TGenerics>\n // ) => boolean)\n // isAdditiveSelectEvent?: (e: unknown) => boolean\n // isInclusiveSelectEvent?: (e: unknown) => boolean\n // selectRowsFn?: (\n // instance: TableInstance<\n // TData,\n // TValue,\n // TFilterFns,\n // TSortingFns,\n // TAggregationFns\n // >,\n // rowModel: RowModel<TGenerics>\n // ) => RowModel<TGenerics>\n}\n\nexport type RowSelectionRow = {\n getIsSelected: () => boolean\n getIsSomeSelected: () => boolean\n getCanSelect: () => boolean\n getCanMultiSelect: () => boolean\n toggleSelected: (value?: boolean) => void\n getToggleSelectedHandler: () => (event: unknown) => void\n}\n\nexport type RowSelectionInstance<TGenerics extends TableGenerics> = {\n getToggleRowSelectedHandler: (\n rowId: string\n ) => undefined | ((e: unknown) => void)\n getToggleAllRowsSelectedHandler: () => (event: unknown) => void\n getToggleAllPageRowsSelectedHandler: () => (event: unknown) => void\n setRowSelection: (updater: Updater<RowSelectionState>) => void\n resetRowSelection: () => void\n toggleRowSelected: (rowId: string, value?: boolean) => void\n getRowCanSelect: (rowId: string) => boolean\n getRowCanSelectSubRows: (rowId: string) => boolean\n getRowCanMultiSelect: (rowId: string) => boolean\n // getGroupingRowCanSelect: (rowId: string) => boolean\n getRowIsSelected: (rowId: string) => boolean\n getRowIsSomeSelected: (rowId: string) => boolean\n getIsAllRowsSelected: () => boolean\n getIsAllPageRowsSelected: () => boolean\n getIsSomeRowsSelected: () => boolean\n getIsSomePageRowsSelected: () => boolean\n toggleAllRowsSelected: (value: boolean) => void\n toggleAllPageRowsSelected: (value: boolean) => void\n getPreSelectedRowModel: () => RowModel<TGenerics>\n getSelectedRowModel: () => RowModel<TGenerics>\n getFilteredSelectedRowModel: () => RowModel<TGenerics>\n getGroupedSelectedRowModel: () => RowModel<TGenerics>\n}\n\n//\n\nexport const RowSelection = {\n getInitialState: (): RowSelectionTableState => {\n return {\n rowSelection: {},\n }\n },\n\n getDefaultOptions: <TGenerics extends TableGenerics>(\n instance: TableInstance<TGenerics>\n ): RowSelectionOptions<TGenerics> => {\n return {\n onRowSelectionChange: makeStateUpdater('rowSelection', instance),\n enableRowSelection: true,\n enableMultiRowSelection: true,\n enableSubRowSelection: true,\n // enableGroupingRowSelection: false,\n // isAdditiveSelectEvent: (e: unknown) => !!e.metaKey,\n // isInclusiveSelectEvent: (e: unknown) => !!e.shiftKey,\n }\n },\n\n createInstance: <TGenerics extends TableGenerics>(\n instance: TableInstance<TGenerics>\n ): RowSelectionInstance<TGenerics> => {\n return {\n setRowSelection: updater =>\n instance.options.onRowSelectionChange?.(updater),\n resetRowSelection: () =>\n instance.setRowSelection(instance.initialState.rowSelection ?? {}),\n toggleAllRowsSelected: value => {\n instance.setRowSelection(old => {\n value =\n typeof value !== 'undefined'\n ? value\n : !instance.getIsAllRowsSelected()\n\n const rowSelection = { ...old }\n\n const preGroupedFlatRows = instance.getPreGroupedRowModel().flatRows\n\n // We don't use `mutateRowIsSelected` here for performance reasons.\n // All of the rows are flat already, so it wouldn't be worth it\n if (value) {\n preGroupedFlatRows.forEach(row => {\n rowSelection[row.id] = true\n })\n } else {\n preGroupedFlatRows.forEach(row => {\n delete rowSelection[row.id]\n })\n }\n\n return rowSelection\n })\n },\n toggleAllPageRowsSelected: value =>\n instance.setRowSelection(old => {\n const selectAll =\n typeof value !== 'undefined'\n ? value\n : !instance.getIsAllPageRowsSelected()\n\n const rowSelection: RowSelectionState = { ...old }\n\n instance.getRowModel().rows.forEach(row => {\n mutateRowIsSelected(rowSelection, row.id, value, instance)\n })\n\n return rowSelection\n }),\n toggleRowSelected: (rowId, value) => {\n const row = instance.getRow(rowId)\n const isSelected = row.getIsSelected()\n\n instance.setRowSelection(old => {\n value = typeof value !== 'undefined' ? value : !isSelected\n\n if (isSelected === value) {\n return old\n }\n\n const selectedRowIds = { ...old }\n\n mutateRowIsSelected(selectedRowIds, rowId, value, instance)\n\n return selectedRowIds\n })\n },\n // addRowSelectionRange: rowId => {\n // const {\n // rows,\n // rowsById,\n // options: { selectGroupingRows, selectSubRows },\n // } = instance\n\n // const findSelectedRow = (rows: Row[]) => {\n // let found\n // rows.find(d => {\n // if (d.getIsSelected()) {\n // found = d\n // return true\n // }\n // const subFound = findSelectedRow(d.subRows || [])\n // if (subFound) {\n // found = subFound\n // return true\n // }\n // return false\n // })\n // return found\n // }\n\n // const firstRow = findSelectedRow(rows) || rows[0]\n // const lastRow = rowsById[rowId]\n\n // let include = false\n // const selectedRowIds = {}\n\n // const addRow = (row: Row) => {\n // mutateRowIsSelected(selectedRowIds, row.id, true, {\n // rowsById,\n // selectGroupingRows: selectGroupingRows!,\n // selectSubRows: selectSubRows!,\n // })\n // }\n\n // instance.rows.forEach(row => {\n // const isFirstRow = row.id === firstRow.id\n // const isLastRow = row.id === lastRow.id\n\n // if (isFirstRow || isLastRow) {\n // if (!include) {\n // include = true\n // } else if (include) {\n // addRow(row)\n // include = false\n // }\n // }\n\n // if (include) {\n // addRow(row)\n // }\n // })\n\n // instance.setRowSelection(selectedRowIds)\n // },\n getPreSelectedRowModel: () => instance.getCoreRowModel(),\n getSelectedRowModel: memo(\n () => [instance.getState().rowSelection, instance.getCoreRowModel()],\n (rowSelection, rowModel) => {\n if (!Object.keys(rowSelection).length) {\n return {\n rows: [],\n flatRows: [],\n rowsById: {},\n }\n }\n\n return selectRowsFn(instance, rowModel)\n },\n {\n key: 'getSelectedRowModel',\n debug: () => instance.options.debugAll ?? instance.options.debugTable,\n }\n ),\n\n getFilteredSelectedRowModel: memo(\n () => [\n instance.getState().rowSelection,\n instance.getGlobalFilteredRowModel(),\n ],\n (rowSelection, rowModel) => {\n if (!Object.keys(rowSelection).length) {\n return {\n rows: [],\n flatRows: [],\n rowsById: {},\n }\n }\n\n return selectRowsFn(instance, rowModel)\n },\n {\n key: 'getFilteredSelectedRowModel',\n debug: () => instance.options.debugAll ?? instance.options.debugTable,\n }\n ),\n\n getGroupedSelectedRowModel: memo(\n () => [instance.getState().rowSelection, instance.getGroupedRowModel()],\n (rowSelection, rowModel) => {\n if (!Object.keys(rowSelection).length) {\n return {\n rows: [],\n flatRows: [],\n rowsById: {},\n }\n }\n\n return selectRowsFn(instance, rowModel)\n },\n {\n key: 'getGroupedSelectedRowModel',\n debug: () => instance.options.debugAll ?? instance.options.debugTable,\n }\n ),\n\n ///\n\n getRowIsSelected: rowId => {\n const { rowSelection } = instance.getState()\n const row = instance.getRow(rowId)\n\n if (!row) {\n throw new Error()\n }\n\n return isRowSelected(row, rowSelection, instance) === true\n },\n\n getRowIsSomeSelected: rowId => {\n const { rowSelection } = instance.getState()\n const row = instance.getRow(rowId)\n\n if (!row) {\n throw new Error()\n }\n\n return isRowSelected(row, rowSelection, instance) === 'some'\n },\n\n getRowCanSelect: rowId => {\n const row = instance.getRow(rowId)\n\n if (!row) {\n throw new Error()\n }\n\n if (typeof instance.options.enableRowSelection === 'function') {\n return instance.options.enableRowSelection(row)\n }\n\n return instance.options.enableRowSelection ?? true\n },\n\n getRowCanSelectSubRows: rowId => {\n const row = instance.getRow(rowId)\n\n if (!row) {\n throw new Error()\n }\n\n if (typeof instance.options.enableSubRowSelection === 'function') {\n return instance.options.enableSubRowSelection(row)\n }\n\n return instance.options.enableSubRowSelection ?? true\n },\n\n getRowCanMultiSelect: rowId => {\n const row = instance.getRow(rowId)\n\n if (!row) {\n throw new Error()\n }\n\n if (typeof instance.options.enableMultiRowSelection === 'function') {\n return instance.options.enableMultiRowSelection(row)\n }\n\n return instance.options.enableMultiRowSelection ?? true\n },\n\n // getGroupingRowCanSelect: rowId => {\n // const row = instance.getRow(rowId)\n\n // if (!row) {\n // throw new Error()\n // }\n\n // if (typeof instance.options.enableGroupingRowSelection === 'function') {\n // return instance.options.enableGroupingRowSelection(row)\n // }\n\n // return instance.options.enableGroupingRowSelection ?? false\n // },\n\n getIsAllRowsSelected: () => {\n const preFilteredFlatRows =\n instance.getPreGlobalFilteredRowModel().flatRows\n const { rowSelection } = instance.getState()\n\n let isAllRowsSelected = Boolean(\n preFilteredFlatRows.length && Object.keys(rowSelection).length\n )\n\n if (isAllRowsSelected) {\n if (preFilteredFlatRows.some(row => !rowSelection[row.id])) {\n isAllRowsSelected = false\n }\n }\n\n return isAllRowsSelected\n },\n\n getIsAllPageRowsSelected: () => {\n const paginationFlatRows = instance.getPaginationRowModel().flatRows\n const { rowSelection } = instance.getState()\n\n let isAllPageRowsSelected = !!paginationFlatRows.length\n\n if (\n isAllPageRowsSelected &&\n paginationFlatRows.some(row => !rowSelection[row.id])\n ) {\n isAllPageRowsSelected = false\n }\n\n return isAllPageRowsSelected\n },\n\n getIsSomeRowsSelected: () => {\n return (\n !instance.getIsAllRowsSelected() &&\n !!Object.keys(instance.getState().rowSelection ?? {}).length\n )\n },\n\n getIsSomePageRowsSelected: () => {\n const paginationFlatRows = instance.getPaginationRowModel().flatRows\n return instance.getIsAllPageRowsSelected()\n ? false\n : !!paginationFlatRows?.length\n },\n\n getToggleRowSelectedHandler: rowId => {\n const row = instance.getRow(rowId)\n\n const isSelected = row.getIsSelected()\n const isSomeSelected = row.getIsSomeSelected()\n const canSelect = row.getCanSelect()\n\n return (e: unknown) => {\n if (!canSelect) return\n row.toggleSelected(\n ((e as MouseEvent).target as HTMLInputElement)?.checked\n )\n }\n },\n\n getToggleAllRowsSelectedHandler: () => {\n return (e: unknown) => {\n instance.toggleAllRowsSelected(\n ((e as MouseEvent).target as HTMLInputElement).checked\n )\n }\n },\n\n getToggleAllPageRowsSelectedHandler: () => {\n return (e: unknown) => {\n instance.toggleAllPageRowsSelected(\n ((e as MouseEvent).target as HTMLInputElement).checked\n )\n }\n },\n }\n },\n\n createRow: <TGenerics extends TableGenerics>(\n row: Row<TGenerics>,\n instance: TableInstance<TGenerics>\n ): RowSelectionRow => {\n return {\n getIsSelected: () => instance.getRowIsSelected(row.id),\n getIsSomeSelected: () => instance.getRowIsSomeSelected(row.id),\n toggleSelected: value => instance.toggleRowSelected(row.id, value),\n getToggleSelectedHandler: () =>\n instance.getToggleRowSelectedHandler(row.id)!,\n getCanMultiSelect: () => instance.getRowCanMultiSelect(row.id),\n getCanSelect: () => instance.getRowCanSelect(row.id),\n }\n },\n}\n\nconst mutateRowIsSelected = <TGenerics extends TableGenerics>(\n selectedRowIds: Record<string, boolean>,\n id: string,\n value: boolean,\n instance: TableInstance<TGenerics>\n) => {\n const row = instance.getRow(id)\n\n const isGrouped = row.getIsGrouped()\n\n // if ( // TODO: enforce grouping row selection rules\n // !isGrouped ||\n // (isGrouped && instance.options.enableGroupingRowSelection)\n // ) {\n if (value) {\n selectedRowIds[id] = true\n } else {\n delete selectedRowIds[id]\n }\n // }\n\n if (row.subRows?.length && instance.getRowCanSelectSubRows(row.id)) {\n row.subRows.forEach(row =>\n mutateRowIsSelected(selectedRowIds, row.id, value, instance)\n )\n }\n}\n\nexport function selectRowsFn<TGenerics extends TableGenerics>(\n instance: TableInstance<TGenerics>,\n rowModel: RowModel<TGenerics>\n): RowModel<TGenerics> {\n const rowSelection = instance.getState().rowSelection\n\n const newSelectedFlatRows: Row<TGenerics>[] = []\n const newSelectedRowsById: Record<string, Row<TGenerics>> = {}\n\n // Filters top level and nested rows\n const recurseRows = (rows: Row<TGenerics>[], depth = 0): Row<TGenerics>[] => {\n return rows\n .map(row => {\n const isSelected = isRowSelected(row, rowSelection, instance) === true\n\n if (isSelected) {\n newSelectedFlatRows.push(row)\n newSelectedRowsById[row.id] = row\n }\n\n if (row.subRows?.length) {\n row = {\n ...row,\n subRows: recurseRows(row.subRows, depth + 1),\n }\n }\n\n if (isSelected) {\n return row\n }\n })\n .filter(Boolean) as Row<TGenerics>[]\n }\n\n return {\n rows: recurseRows(rowModel.rows),\n flatRows: newSelectedFlatRows,\n rowsById: newSelectedRowsById,\n }\n}\n\nexport function isRowSelected<TGenerics extends TableGenerics>(\n row: Row<TGenerics>,\n selection: Record<string, boolean>,\n instance: TableInstance<TGenerics>\n): boolean | 'some' {\n if (selection[row.id]) {\n return true\n }\n\n if (row.subRows && row.subRows.length) {\n let allChildrenSelected = true\n let someSelected = false\n\n row.subRows.forEach(subRow => {\n // Bail out early if we know both of these\n if (someSelected && !allChildrenSelected) {\n return\n }\n\n if (isRowSelected(subRow, selection, instance)) {\n someSelected = true\n } else {\n allChildrenSelected = false\n }\n })\n\n return allChildrenSelected ? true : someSelected ? 'some' : false\n }\n\n return false\n}\n"],"names":["RowSelection","getInitialState","rowSelection","getDefaultOptions","instance","onRowSelectionChange","makeStateUpdater","enableRowSelection","enableMultiRowSelection","enableSubRowSelection","createInstance","setRowSelection","updater","options","resetRowSelection","initialState","toggleAllRowsSelected","value","old","getIsAllRowsSelected","preGroupedFlatRows","getPreGroupedRowModel","flatRows","forEach","row","id","toggleAllPageRowsSelected","getIsAllPageRowsSelected","getRowModel","rows","mutateRowIsSelected","toggleRowSelected","rowId","getRow","isSelected","getIsSelected","selectedRowIds","getPreSelectedRowModel","getCoreRowModel","getSelectedRowModel","memo","getState","rowModel","Object","keys","length","rowsById","selectRowsFn","key","debug","debugAll","debugTable","getFilteredSelectedRowModel","getGlobalFilteredRowModel","getGroupedSelectedRowModel","getGroupedRowModel","getRowIsSelected","Error","isRowSelected","getRowIsSomeSelected","getRowCanSelect","getRowCanSelectSubRows","getRowCanMultiSelect","preFilteredFlatRows","getPreGlobalFilteredRowModel","isAllRowsSelected","Boolean","some","paginationFlatRows","getPaginationRowModel","isAllPageRowsSelected","getIsSomeRowsSelected","getIsSomePageRowsSelected","getToggleRowSelectedHandler","getIsSomeSelected","canSelect","getCanSelect","e","toggleSelected","target","checked","getToggleAllRowsSelectedHandler","getToggleAllPageRowsSelectedHandler","createRow","getToggleSelectedHandler","getCanMultiSelect","getIsGrouped","subRows","newSelectedFlatRows","newSelectedRowsById","recurseRows","depth","map","push","filter","selection","allChildrenSelected","someSelected","subRow"],"mappings":";;;;;;;;;;;;;;;;;AA4EA;AAEO,IAAMA,YAAY,GAAG;AAC1BC,EAAAA,eAAe,EAAE,SAA8B,eAAA,GAAA;AAC7C,IAAO,OAAA;AACLC,MAAAA,YAAY,EAAE,EAAA;AADT,KAAP,CAAA;AAGD,GALyB;AAO1BC,EAAAA,iBAAiB,EAAE,SACjBC,iBAAAA,CAAAA,QADiB,EAEkB;AACnC,IAAO,OAAA;AACLC,MAAAA,oBAAoB,EAAEC,sBAAgB,CAAC,cAAD,EAAiBF,QAAjB,CADjC;AAELG,MAAAA,kBAAkB,EAAE,IAFf;AAGLC,MAAAA,uBAAuB,EAAE,IAHpB;AAILC,MAAAA,qBAAqB,EAAE,IAJlB;AAML;AACA;;AAPK,KAAP,CAAA;AASD,GAnByB;AAqB1BC,EAAAA,cAAc,EAAE,SACdN,cAAAA,CAAAA,QADc,EAEsB;AACpC,IAAO,OAAA;AACLO,MAAAA,eAAe,EAAE,SAAA,eAAA,CAAAC,OAAO,EAAA;AAAA,QAAA,OACtBR,QAAQ,CAACS,OAAT,CAAiBR,oBADK,IAAA,IAAA,GAAA,KAAA,CAAA,GACtBD,QAAQ,CAACS,OAAT,CAAiBR,oBAAjB,CAAwCO,OAAxC,CADsB,CAAA;AAAA,OADnB;AAGLE,MAAAA,iBAAiB,EAAE,SAAA,iBAAA,GAAA;AAAA,QAAA,IAAA,qBAAA,CAAA;;AAAA,QACjBV,OAAAA,QAAQ,CAACO,eAAT,CAAyBP,CAAAA,qBAAAA,GAAAA,QAAQ,CAACW,YAAT,CAAsBb,YAA/C,KAA+D,IAAA,GAAA,qBAAA,GAAA,EAA/D,CADiB,CAAA;AAAA,OAHd;AAKLc,MAAAA,qBAAqB,EAAE,SAAAC,qBAAAA,CAAAA,KAAK,EAAI;AAC9Bb,QAAAA,QAAQ,CAACO,eAAT,CAAyB,UAAAO,GAAG,EAAI;AAC9BD,UAAAA,KAAK,GACH,OAAOA,KAAP,KAAiB,WAAjB,GACIA,KADJ,GAEI,CAACb,QAAQ,CAACe,oBAAT,EAHP,CAAA;;AAKA,UAAMjB,IAAAA,YAAY,GAAQgB,oCAAAA,CAAAA,EAAAA,EAAAA,GAAR,CAAlB,CAAA;;AAEA,UAAME,IAAAA,kBAAkB,GAAGhB,QAAQ,CAACiB,qBAAT,EAAiCC,CAAAA,QAA5D,CAR8B;AAW9B;;AACA,UAAA,IAAIL,KAAJ,EAAW;AACTG,YAAAA,kBAAkB,CAACG,OAAnB,CAA2B,UAAAC,GAAG,EAAI;AAChCtB,cAAAA,YAAY,CAACsB,GAAG,CAACC,EAAL,CAAZ,GAAuB,IAAvB,CAAA;AACD,aAFD,CAAA,CAAA;AAGD,WAJD,MAIO;AACLL,YAAAA,kBAAkB,CAACG,OAAnB,CAA2B,UAAAC,GAAG,EAAI;AAChC,cAAA,OAAOtB,YAAY,CAACsB,GAAG,CAACC,EAAL,CAAnB,CAAA;AACD,aAFD,CAAA,CAAA;AAGD,WAAA;;AAED,UAAA,OAAOvB,YAAP,CAAA;AACD,SAvBD,CAAA,CAAA;AAwBD,OA9BI;AA+BLwB,MAAAA,yBAAyB,EAAE,SAAA,yBAAA,CAAAT,KAAK,EAAA;AAAA,QAAA,OAC9Bb,QAAQ,CAACO,eAAT,CAAyB,UAAAO,GAAG,EAAI;AAC9B,UACE,OAAOD,KAAP,KAAiB,WAAjB,GACIA,KADJ,GAEI,CAACb,QAAQ,CAACuB,wBAAT,GAHP;;AAKA,UAAMzB,IAAAA,YAA+B,GAAQgB,oCAAAA,CAAAA,EAAAA,EAAAA,GAAR,CAArC,CAAA;;AAEAd,UAAAA,QAAQ,CAACwB,WAAT,EAAuBC,CAAAA,IAAvB,CAA4BN,OAA5B,CAAoC,UAAAC,GAAG,EAAI;AACzCM,YAAAA,mBAAmB,CAAC5B,YAAD,EAAesB,GAAG,CAACC,EAAnB,EAAuBR,KAAvB,EAA8Bb,QAA9B,CAAnB,CAAA;AACD,WAFD,CAAA,CAAA;AAIA,UAAA,OAAOF,YAAP,CAAA;AACD,SAbD,CAD8B,CAAA;AAAA,OA/B3B;AA8CL6B,MAAAA,iBAAiB,EAAE,SAAA,iBAAA,CAACC,KAAD,EAAQf,KAAR,EAAkB;AACnC,QAAA,IAAMO,GAAG,GAAGpB,QAAQ,CAAC6B,MAAT,CAAgBD,KAAhB,CAAZ,CAAA;AACA,QAAA,IAAME,UAAU,GAAGV,GAAG,CAACW,aAAJ,EAAnB,CAAA;AAEA/B,QAAAA,QAAQ,CAACO,eAAT,CAAyB,UAAAO,GAAG,EAAI;AAC9BD,UAAAA,KAAK,GAAG,OAAOA,KAAP,KAAiB,WAAjB,GAA+BA,KAA/B,GAAuC,CAACiB,UAAhD,CAAA;;AAEA,UAAIA,IAAAA,UAAU,KAAKjB,KAAnB,EAA0B;AACxB,YAAA,OAAOC,GAAP,CAAA;AACD,WAAA;;AAED,UAAMkB,IAAAA,cAAc,GAAQlB,oCAAAA,CAAAA,EAAAA,EAAAA,GAAR,CAApB,CAAA;;AAEAY,UAAAA,mBAAmB,CAACM,cAAD,EAAiBJ,KAAjB,EAAwBf,KAAxB,EAA+Bb,QAA/B,CAAnB,CAAA;AAEA,UAAA,OAAOgC,cAAP,CAAA;AACD,SAZD,CAAA,CAAA;AAaD,OA/DI;AAgEL;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AAEA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACAC,MAAAA,sBAAsB,EAAE,SAAA,sBAAA,GAAA;AAAA,QAAMjC,OAAAA,QAAQ,CAACkC,eAAT,EAAN,CAAA;AAAA,OA1HnB;AA2HLC,MAAAA,mBAAmB,EAAEC,UAAI,CACvB,YAAA;AAAA,QAAM,OAAA,CAACpC,QAAQ,CAACqC,QAAT,EAAA,CAAoBvC,YAArB,EAAmCE,QAAQ,CAACkC,eAAT,EAAnC,CAAN,CAAA;AAAA,OADuB,EAEvB,UAACpC,YAAD,EAAewC,QAAf,EAA4B;AAC1B,QAAI,IAAA,CAACC,MAAM,CAACC,IAAP,CAAY1C,YAAZ,CAAA,CAA0B2C,MAA/B,EAAuC;AACrC,UAAO,OAAA;AACLhB,YAAAA,IAAI,EAAE,EADD;AAELP,YAAAA,QAAQ,EAAE,EAFL;AAGLwB,YAAAA,QAAQ,EAAE,EAAA;AAHL,WAAP,CAAA;AAKD,SAAA;;AAED,QAAA,OAAOC,YAAY,CAAC3C,QAAD,EAAWsC,QAAX,CAAnB,CAAA;AACD,OAZsB,EAavB;AACEM,QAAAA,GAAG,EAAE,qBADP;AAEEC,QAAAA,KAAK,EAAE,SAAA,KAAA,GAAA;AAAA,UAAA,IAAA,qBAAA,CAAA;;AAAA,UAAM7C,OAAAA,CAAAA,qBAAAA,GAAAA,QAAQ,CAACS,OAAT,CAAiBqC,QAAvB,oCAAmC9C,QAAQ,CAACS,OAAT,CAAiBsC,UAApD,CAAA;AAAA,SAAA;AAFT,OAbuB,CA3HpB;AA8ILC,MAAAA,2BAA2B,EAAEZ,UAAI,CAC/B,YAAA;AAAA,QAAM,OAAA,CACJpC,QAAQ,CAACqC,QAAT,EAAA,CAAoBvC,YADhB,EAEJE,QAAQ,CAACiD,yBAAT,EAFI,CAAN,CAAA;AAAA,OAD+B,EAK/B,UAACnD,YAAD,EAAewC,QAAf,EAA4B;AAC1B,QAAI,IAAA,CAACC,MAAM,CAACC,IAAP,CAAY1C,YAAZ,CAAA,CAA0B2C,MAA/B,EAAuC;AACrC,UAAO,OAAA;AACLhB,YAAAA,IAAI,EAAE,EADD;AAELP,YAAAA,QAAQ,EAAE,EAFL;AAGLwB,YAAAA,QAAQ,EAAE,EAAA;AAHL,WAAP,CAAA;AAKD,SAAA;;AAED,QAAA,OAAOC,YAAY,CAAC3C,QAAD,EAAWsC,QAAX,CAAnB,CAAA;AACD,OAf8B,EAgB/B;AACEM,QAAAA,GAAG,EAAE,6BADP;AAEEC,QAAAA,KAAK,EAAE,SAAA,KAAA,GAAA;AAAA,UAAA,IAAA,sBAAA,CAAA;;AAAA,UAAM7C,OAAAA,CAAAA,sBAAAA,GAAAA,QAAQ,CAACS,OAAT,CAAiBqC,QAAvB,qCAAmC9C,QAAQ,CAACS,OAAT,CAAiBsC,UAApD,CAAA;AAAA,SAAA;AAFT,OAhB+B,CA9I5B;AAoKLG,MAAAA,0BAA0B,EAAEd,UAAI,CAC9B,YAAA;AAAA,QAAM,OAAA,CAACpC,QAAQ,CAACqC,QAAT,EAAA,CAAoBvC,YAArB,EAAmCE,QAAQ,CAACmD,kBAAT,EAAnC,CAAN,CAAA;AAAA,OAD8B,EAE9B,UAACrD,YAAD,EAAewC,QAAf,EAA4B;AAC1B,QAAI,IAAA,CAACC,MAAM,CAACC,IAAP,CAAY1C,YAAZ,CAAA,CAA0B2C,MAA/B,EAAuC;AACrC,UAAO,OAAA;AACLhB,YAAAA,IAAI,EAAE,EADD;AAELP,YAAAA,QAAQ,EAAE,EAFL;AAGLwB,YAAAA,QAAQ,EAAE,EAAA;AAHL,WAAP,CAAA;AAKD,SAAA;;AAED,QAAA,OAAOC,YAAY,CAAC3C,QAAD,EAAWsC,QAAX,CAAnB,CAAA;AACD,OAZ6B,EAa9B;AACEM,QAAAA,GAAG,EAAE,4BADP;AAEEC,QAAAA,KAAK,EAAE,SAAA,KAAA,GAAA;AAAA,UAAA,IAAA,sBAAA,CAAA;;AAAA,UAAM7C,OAAAA,CAAAA,sBAAAA,GAAAA,QAAQ,CAACS,OAAT,CAAiBqC,QAAvB,qCAAmC9C,QAAQ,CAACS,OAAT,CAAiBsC,UAApD,CAAA;AAAA,SAAA;AAFT,OAb8B,CApK3B;AAuLL;AAEAK,MAAAA,gBAAgB,EAAE,SAAAxB,gBAAAA,CAAAA,KAAK,EAAI;AACzB,QAAyB5B,IAAAA,kBAAAA,GAAAA,QAAQ,CAACqC,QAAT,EAAzB;AAAA,YAAQvC,YAAR,sBAAQA,YAAR,CAAA;;AACA,QAAA,IAAMsB,GAAG,GAAGpB,QAAQ,CAAC6B,MAAT,CAAgBD,KAAhB,CAAZ,CAAA;;AAEA,QAAI,IAAA,CAACR,GAAL,EAAU;AACR,UAAM,MAAA,IAAIiC,KAAJ,EAAN,CAAA;AACD,SAAA;;AAED,QAAOC,OAAAA,aAAa,CAAClC,GAAD,EAAMtB,YAAN,CAAb,KAA+C,IAAtD,CAAA;AACD,OAlMI;AAoMLyD,MAAAA,oBAAoB,EAAE,SAAA3B,oBAAAA,CAAAA,KAAK,EAAI;AAC7B,QAAyB5B,IAAAA,mBAAAA,GAAAA,QAAQ,CAACqC,QAAT,EAAzB;AAAA,YAAQvC,YAAR,uBAAQA,YAAR,CAAA;;AACA,QAAA,IAAMsB,GAAG,GAAGpB,QAAQ,CAAC6B,MAAT,CAAgBD,KAAhB,CAAZ,CAAA;;AAEA,QAAI,IAAA,CAACR,GAAL,EAAU;AACR,UAAM,MAAA,IAAIiC,KAAJ,EAAN,CAAA;AACD,SAAA;;AAED,QAAOC,OAAAA,aAAa,CAAClC,GAAD,EAAMtB,YAAN,CAAb,KAA+C,MAAtD,CAAA;AACD,OA7MI;AA+ML0D,MAAAA,eAAe,EAAE,SAAA5B,eAAAA,CAAAA,KAAK,EAAI;AAAA,QAAA,IAAA,qBAAA,CAAA;;AACxB,QAAA,IAAMR,GAAG,GAAGpB,QAAQ,CAAC6B,MAAT,CAAgBD,KAAhB,CAAZ,CAAA;;AAEA,QAAI,IAAA,CAACR,GAAL,EAAU;AACR,UAAM,MAAA,IAAIiC,KAAJ,EAAN,CAAA;AACD,SAAA;;AAED,QAAI,IAAA,OAAOrD,QAAQ,CAACS,OAAT,CAAiBN,kBAAxB,KAA+C,UAAnD,EAA+D;AAC7D,UAAA,OAAOH,QAAQ,CAACS,OAAT,CAAiBN,kBAAjB,CAAoCiB,GAApC,CAAP,CAAA;AACD,SAAA;;AAED,QAAA,OAAA,CAAA,qBAAA,GAAOpB,QAAQ,CAACS,OAAT,CAAiBN,kBAAxB,oCAA8C,IAA9C,CAAA;AACD,OA3NI;AA6NLsD,MAAAA,sBAAsB,EAAE,SAAA7B,sBAAAA,CAAAA,KAAK,EAAI;AAAA,QAAA,IAAA,sBAAA,CAAA;;AAC/B,QAAA,IAAMR,GAAG,GAAGpB,QAAQ,CAAC6B,MAAT,CAAgBD,KAAhB,CAAZ,CAAA;;AAEA,QAAI,IAAA,CAACR,GAAL,EAAU;AACR,UAAM,MAAA,IAAIiC,KAAJ,EAAN,CAAA;AACD,SAAA;;AAED,QAAI,IAAA,OAAOrD,QAAQ,CAACS,OAAT,CAAiBJ,qBAAxB,KAAkD,UAAtD,EAAkE;AAChE,UAAA,OAAOL,QAAQ,CAACS,OAAT,CAAiBJ,qBAAjB,CAAuCe,GAAvC,CAAP,CAAA;AACD,SAAA;;AAED,QAAA,OAAA,CAAA,sBAAA,GAAOpB,QAAQ,CAACS,OAAT,CAAiBJ,qBAAxB,qCAAiD,IAAjD,CAAA;AACD,OAzOI;AA2OLqD,MAAAA,oBAAoB,EAAE,SAAA9B,oBAAAA,CAAAA,KAAK,EAAI;AAAA,QAAA,IAAA,sBAAA,CAAA;;AAC7B,QAAA,IAAMR,GAAG,GAAGpB,QAAQ,CAAC6B,MAAT,CAAgBD,KAAhB,CAAZ,CAAA;;AAEA,QAAI,IAAA,CAACR,GAAL,EAAU;AACR,UAAM,MAAA,IAAIiC,KAAJ,EAAN,CAAA;AACD,SAAA;;AAED,QAAI,IAAA,OAAOrD,QAAQ,CAACS,OAAT,CAAiBL,uBAAxB,KAAoD,UAAxD,EAAoE;AAClE,UAAA,OAAOJ,QAAQ,CAACS,OAAT,CAAiBL,uBAAjB,CAAyCgB,GAAzC,CAAP,CAAA;AACD,SAAA;;AAED,QAAA,OAAA,CAAA,sBAAA,GAAOpB,QAAQ,CAACS,OAAT,CAAiBL,uBAAxB,qCAAmD,IAAnD,CAAA;AACD,OAvPI;AAyPL;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AAEAW,MAAAA,oBAAoB,EAAE,SAAM,oBAAA,GAAA;AAC1B,QAAA,IAAM4C,mBAAmB,GACvB3D,QAAQ,CAAC4D,4BAAT,GAAwC1C,QAD1C,CAAA;;AAEA,QAAyBlB,IAAAA,mBAAAA,GAAAA,QAAQ,CAACqC,QAAT,EAAzB;AAAA,YAAQvC,YAAR,uBAAQA,YAAR,CAAA;;AAEA,QAAA,IAAI+D,iBAAiB,GAAGC,OAAO,CAC7BH,mBAAmB,CAAClB,MAApB,IAA8BF,MAAM,CAACC,IAAP,CAAY1C,YAAZ,CAAA,CAA0B2C,MAD3B,CAA/B,CAAA;;AAIA,QAAA,IAAIoB,iBAAJ,EAAuB;AACrB,UAAA,IAAIF,mBAAmB,CAACI,IAApB,CAAyB,UAAA3C,GAAG,EAAA;AAAA,YAAA,OAAI,CAACtB,YAAY,CAACsB,GAAG,CAACC,EAAL,CAAjB,CAAA;AAAA,WAA5B,CAAJ,EAA4D;AAC1DwC,YAAAA,iBAAiB,GAAG,KAApB,CAAA;AACD,WAAA;AACF,SAAA;;AAED,QAAA,OAAOA,iBAAP,CAAA;AACD,OAvRI;AAyRLtC,MAAAA,wBAAwB,EAAE,SAAM,wBAAA,GAAA;AAC9B,QAAA,IAAMyC,kBAAkB,GAAGhE,QAAQ,CAACiE,qBAAT,GAAiC/C,QAA5D,CAAA;;AACA,QAAyBlB,IAAAA,mBAAAA,GAAAA,QAAQ,CAACqC,QAAT,EAAzB;AAAA,YAAQvC,YAAR,uBAAQA,YAAR,CAAA;;AAEA,QAAA,IAAIoE,qBAAqB,GAAG,CAAC,CAACF,kBAAkB,CAACvB,MAAjD,CAAA;;AAEA,QAAA,IACEyB,qBAAqB,IACrBF,kBAAkB,CAACD,IAAnB,CAAwB,UAAA3C,GAAG,EAAA;AAAA,UAAA,OAAI,CAACtB,YAAY,CAACsB,GAAG,CAACC,EAAL,CAAjB,CAAA;AAAA,SAA3B,CAFF,EAGE;AACA6C,UAAAA,qBAAqB,GAAG,KAAxB,CAAA;AACD,SAAA;;AAED,QAAA,OAAOA,qBAAP,CAAA;AACD,OAvSI;AAySLC,MAAAA,qBAAqB,EAAE,SAAM,qBAAA,GAAA;AAAA,QAAA,IAAA,qBAAA,CAAA;;AAC3B,QACE,OAAA,CAACnE,QAAQ,CAACe,oBAAT,EAAD,IACA,CAAC,CAACwB,MAAM,CAACC,IAAP,CAAYxC,CAAAA,qBAAAA,GAAAA,QAAQ,CAACqC,QAAT,EAAA,CAAoBvC,YAAhC,KAAgD,IAAA,GAAA,qBAAA,GAAA,EAAhD,EAAoD2C,MAFxD,CAAA;AAID,OA9SI;AAgTL2B,MAAAA,yBAAyB,EAAE,SAAM,yBAAA,GAAA;AAC/B,QAAA,IAAMJ,kBAAkB,GAAGhE,QAAQ,CAACiE,qBAAT,GAAiC/C,QAA5D,CAAA;AACA,QAAA,OAAOlB,QAAQ,CAACuB,wBAAT,EAAA,GACH,KADG,GAEH,CAAC,EAACyC,kBAAD,IAAA,IAAA,IAACA,kBAAkB,CAAEvB,MAArB,CAFL,CAAA;AAGD,OArTI;AAuTL4B,MAAAA,2BAA2B,EAAE,SAAAzC,2BAAAA,CAAAA,KAAK,EAAI;AACpC,QAAA,IAAMR,GAAG,GAAGpB,QAAQ,CAAC6B,MAAT,CAAgBD,KAAhB,CAAZ,CAAA;AAEA,QAAmBR,GAAG,CAACW,aAAJ,GAAnB;AACA,QAAuBX,GAAG,CAACkD,iBAAJ,GAAvB;AACA,QAAA,IAAMC,SAAS,GAAGnD,GAAG,CAACoD,YAAJ,EAAlB,CAAA;AAEA,QAAO,OAAA,UAACC,CAAD,EAAgB;AAAA,UAAA,IAAA,OAAA,CAAA;;AACrB,UAAI,IAAA,CAACF,SAAL,EAAgB,OAAA;AAChBnD,UAAAA,GAAG,CAACsD,cAAJ,CAAA,CAAA,OAAA,GACID,CAAD,CAAkBE,MADrB,KACE,IAAA,GAAA,KAAA,CAAA,GAAA,OAAA,CAAgDC,OADlD,CAAA,CAAA;AAGD,SALD,CAAA;AAMD,OApUI;AAsULC,MAAAA,+BAA+B,EAAE,SAAM,+BAAA,GAAA;AACrC,QAAO,OAAA,UAACJ,CAAD,EAAgB;AACrBzE,UAAAA,QAAQ,CAACY,qBAAT,CACI6D,CAAD,CAAkBE,MAAnB,CAA+CC,OADjD,CAAA,CAAA;AAGD,SAJD,CAAA;AAKD,OA5UI;AA8ULE,MAAAA,mCAAmC,EAAE,SAAM,mCAAA,GAAA;AACzC,QAAO,OAAA,UAACL,CAAD,EAAgB;AACrBzE,UAAAA,QAAQ,CAACsB,yBAAT,CACImD,CAAD,CAAkBE,MAAnB,CAA+CC,OADjD,CAAA,CAAA;AAGD,SAJD,CAAA;AAKD,OAAA;AApVI,KAAP,CAAA;AAsVD,GA9WyB;AAgX1BG,EAAAA,SAAS,EAAE,SAAA,SAAA,CACT3D,GADS,EAETpB,QAFS,EAGW;AACpB,IAAO,OAAA;AACL+B,MAAAA,aAAa,EAAE,SAAA,aAAA,GAAA;AAAA,QAAA,OAAM/B,QAAQ,CAACoD,gBAAT,CAA0BhC,GAAG,CAACC,EAA9B,CAAN,CAAA;AAAA,OADV;AAELiD,MAAAA,iBAAiB,EAAE,SAAA,iBAAA,GAAA;AAAA,QAAA,OAAMtE,QAAQ,CAACuD,oBAAT,CAA8BnC,GAAG,CAACC,EAAlC,CAAN,CAAA;AAAA,OAFd;AAGLqD,MAAAA,cAAc,EAAE,SAAA,cAAA,CAAA7D,KAAK,EAAA;AAAA,QAAIb,OAAAA,QAAQ,CAAC2B,iBAAT,CAA2BP,GAAG,CAACC,EAA/B,EAAmCR,KAAnC,CAAJ,CAAA;AAAA,OAHhB;AAILmE,MAAAA,wBAAwB,EAAE,SAAA,wBAAA,GAAA;AAAA,QAAA,OACxBhF,QAAQ,CAACqE,2BAAT,CAAqCjD,GAAG,CAACC,EAAzC,CADwB,CAAA;AAAA,OAJrB;AAML4D,MAAAA,iBAAiB,EAAE,SAAA,iBAAA,GAAA;AAAA,QAAA,OAAMjF,QAAQ,CAAC0D,oBAAT,CAA8BtC,GAAG,CAACC,EAAlC,CAAN,CAAA;AAAA,OANd;AAOLmD,MAAAA,YAAY,EAAE,SAAA,YAAA,GAAA;AAAA,QAAA,OAAMxE,QAAQ,CAACwD,eAAT,CAAyBpC,GAAG,CAACC,EAA7B,CAAN,CAAA;AAAA,OAAA;AAPT,KAAP,CAAA;AASD,GAAA;AA7XyB,EAArB;;AAgYP,IAAMK,mBAAmB,GAAG,SAAtBA,mBAAsB,CAC1BM,cAD0B,EAE1BX,EAF0B,EAG1BR,KAH0B,EAI1Bb,QAJ0B,EAKvB;AAAA,EAAA,IAAA,YAAA,CAAA;;AACH,EAAA,IAAMoB,GAAG,GAAGpB,QAAQ,CAAC6B,MAAT,CAAgBR,EAAhB,CAAZ,CAAA;AAEA,EAAkBD,GAAG,CAAC8D,YAAJ,GAHf;AAMH;AACA;AACA;;AACA,EAAA,IAAIrE,KAAJ,EAAW;AACTmB,IAAAA,cAAc,CAACX,EAAD,CAAd,GAAqB,IAArB,CAAA;AACD,GAFD,MAEO;AACL,IAAOW,OAAAA,cAAc,CAACX,EAAD,CAArB,CAAA;AACD,GAbE;;;AAgBH,EAAA,IAAI,CAAAD,YAAAA,GAAAA,GAAG,CAAC+D,OAAJ,0BAAa1C,MAAb,IAAuBzC,QAAQ,CAACyD,sBAAT,CAAgCrC,GAAG,CAACC,EAApC,CAA3B,EAAoE;AAClED,IAAAA,GAAG,CAAC+D,OAAJ,CAAYhE,OAAZ,CAAoB,UAAAC,GAAG,EAAA;AAAA,MACrBM,OAAAA,mBAAmB,CAACM,cAAD,EAAiBZ,GAAG,CAACC,EAArB,EAAyBR,KAAzB,EAAgCb,QAAhC,CADE,CAAA;AAAA,KAAvB,CAAA,CAAA;AAGD,GAAA;AACF,CA1BD,CAAA;;AA4BO,SAAS2C,YAAT,CACL3C,QADK,EAELsC,QAFK,EAGgB;AACrB,EAAA,IAAMxC,YAAY,GAAGE,QAAQ,CAACqC,QAAT,GAAoBvC,YAAzC,CAAA;AAEA,EAAMsF,IAAAA,mBAAqC,GAAG,EAA9C,CAAA;AACA,EAAA,IAAMC,mBAAmD,GAAG,EAA5D,CAJqB;;AAOrB,EAAMC,IAAAA,WAAW,GAAG,SAAdA,WAAc,CAAC7D,IAAD,EAAyB8D,KAAzB,EAAyD;;AAC3E,IAAA,OAAO9D,IAAI,CACR+D,GADI,CACA,UAAApE,GAAG,EAAI;AAAA,MAAA,IAAA,aAAA,CAAA;;AACV,MAAMU,IAAAA,UAAU,GAAGwB,aAAa,CAAClC,GAAD,EAAMtB,YAAN,CAAb,KAA+C,IAAlE,CAAA;;AAEA,MAAA,IAAIgC,UAAJ,EAAgB;AACdsD,QAAAA,mBAAmB,CAACK,IAApB,CAAyBrE,GAAzB,CAAA,CAAA;AACAiE,QAAAA,mBAAmB,CAACjE,GAAG,CAACC,EAAL,CAAnB,GAA8BD,GAA9B,CAAA;AACD,OAAA;;AAED,MAAA,IAAA,CAAA,aAAA,GAAIA,GAAG,CAAC+D,OAAR,KAAI,IAAA,IAAA,aAAA,CAAa1C,MAAjB,EAAyB;AACvBrB,QAAAA,GAAG,4CACEA,GADF,EAAA;AAED+D,UAAAA,OAAO,EAAEG,WAAW,CAAClE,GAAG,CAAC+D,OAAL,CAAA;AAFnB,SAAH,CAAA,CAAA;AAID,OAAA;;AAED,MAAA,IAAIrD,UAAJ,EAAgB;AACd,QAAA,OAAOV,GAAP,CAAA;AACD,OAAA;AACF,KAnBI,CAoBJsE,CAAAA,MApBI,CAoBG5B,OApBH,CAAP,CAAA;AAqBD,GAtBD,CAAA;;AAwBA,EAAO,OAAA;AACLrC,IAAAA,IAAI,EAAE6D,WAAW,CAAChD,QAAQ,CAACb,IAAV,CADZ;AAELP,IAAAA,QAAQ,EAAEkE,mBAFL;AAGL1C,IAAAA,QAAQ,EAAE2C,mBAAAA;AAHL,GAAP,CAAA;AAKD,CAAA;AAEM,SAAS/B,aAAT,CACLlC,GADK,EAELuE,SAFK,EAGL3F,QAHK,EAIa;AAClB,EAAA,IAAI2F,SAAS,CAACvE,GAAG,CAACC,EAAL,CAAb,EAAuB;AACrB,IAAA,OAAO,IAAP,CAAA;AACD,GAAA;;AAED,EAAID,IAAAA,GAAG,CAAC+D,OAAJ,IAAe/D,GAAG,CAAC+D,OAAJ,CAAY1C,MAA/B,EAAuC;AACrC,IAAImD,IAAAA,mBAAmB,GAAG,IAA1B,CAAA;AACA,IAAIC,IAAAA,YAAY,GAAG,KAAnB,CAAA;AAEAzE,IAAAA,GAAG,CAAC+D,OAAJ,CAAYhE,OAAZ,CAAoB,UAAA2E,MAAM,EAAI;AAC5B;AACA,MAAA,IAAID,YAAY,IAAI,CAACD,mBAArB,EAA0C;AACxC,QAAA,OAAA;AACD,OAAA;;AAED,MAAItC,IAAAA,aAAa,CAACwC,MAAD,EAASH,SAAT,CAAjB,EAAgD;AAC9CE,QAAAA,YAAY,GAAG,IAAf,CAAA;AACD,OAFD,MAEO;AACLD,QAAAA,mBAAmB,GAAG,KAAtB,CAAA;AACD,OAAA;AACF,KAXD,CAAA,CAAA;AAaA,IAAOA,OAAAA,mBAAmB,GAAG,IAAH,GAAUC,YAAY,GAAG,MAAH,GAAY,KAA5D,CAAA;AACD,GAAA;;AAED,EAAA,OAAO,KAAP,CAAA;AACD;;;;;;"}
1
+ {"version":3,"file":"RowSelection.js","sources":["../../../src/features/RowSelection.ts"],"sourcesContent":["import {\n OnChangeFn,\n TableGenerics,\n TableInstance,\n Row,\n RowModel,\n Updater,\n TableFeature,\n} from '../types'\nimport { makeStateUpdater, memo } from '../utils'\n\nexport type RowSelectionState = Record<string, boolean>\n\nexport type RowSelectionTableState = {\n rowSelection: RowSelectionState\n}\n\nexport type RowSelectionOptions<TGenerics extends TableGenerics> = {\n enableRowSelection?: boolean | ((row: Row<TGenerics>) => boolean)\n enableMultiRowSelection?: boolean | ((row: Row<TGenerics>) => boolean)\n enableSubRowSelection?: boolean | ((row: Row<TGenerics>) => boolean)\n onRowSelectionChange?: OnChangeFn<RowSelectionState>\n // enableGroupingRowSelection?:\n // | boolean\n // | ((\n // row: Row<TGenerics>\n // ) => boolean)\n // isAdditiveSelectEvent?: (e: unknown) => boolean\n // isInclusiveSelectEvent?: (e: unknown) => boolean\n // selectRowsFn?: (\n // instance: TableInstance<\n // TData,\n // TValue,\n // TFilterFns,\n // TSortingFns,\n // TAggregationFns\n // >,\n // rowModel: RowModel<TGenerics>\n // ) => RowModel<TGenerics>\n}\n\nexport type RowSelectionRow = {\n getIsSelected: () => boolean\n getIsSomeSelected: () => boolean\n getCanSelect: () => boolean\n getCanMultiSelect: () => boolean\n toggleSelected: (value?: boolean) => void\n getToggleSelectedHandler: () => (event: unknown) => void\n}\n\nexport type RowSelectionInstance<TGenerics extends TableGenerics> = {\n getToggleRowSelectedHandler: (\n rowId: string\n ) => undefined | ((e: unknown) => void)\n getToggleAllRowsSelectedHandler: () => (event: unknown) => void\n getToggleAllPageRowsSelectedHandler: () => (event: unknown) => void\n setRowSelection: (updater: Updater<RowSelectionState>) => void\n resetRowSelection: () => void\n toggleRowSelected: (rowId: string, value?: boolean) => void\n getRowCanSelect: (rowId: string) => boolean\n getRowCanSelectSubRows: (rowId: string) => boolean\n getRowCanMultiSelect: (rowId: string) => boolean\n // getGroupingRowCanSelect: (rowId: string) => boolean\n getRowIsSelected: (rowId: string) => boolean\n getRowIsSomeSelected: (rowId: string) => boolean\n getIsAllRowsSelected: () => boolean\n getIsAllPageRowsSelected: () => boolean\n getIsSomeRowsSelected: () => boolean\n getIsSomePageRowsSelected: () => boolean\n toggleAllRowsSelected: (value: boolean) => void\n toggleAllPageRowsSelected: (value: boolean) => void\n getPreSelectedRowModel: () => RowModel<TGenerics>\n getSelectedRowModel: () => RowModel<TGenerics>\n getFilteredSelectedRowModel: () => RowModel<TGenerics>\n getGroupedSelectedRowModel: () => RowModel<TGenerics>\n}\n\n//\n\nexport const RowSelection: TableFeature = {\n getInitialState: (state): RowSelectionTableState => {\n return {\n rowSelection: {},\n ...state,\n }\n },\n\n getDefaultOptions: <TGenerics extends TableGenerics>(\n instance: TableInstance<TGenerics>\n ): RowSelectionOptions<TGenerics> => {\n return {\n onRowSelectionChange: makeStateUpdater('rowSelection', instance),\n enableRowSelection: true,\n enableMultiRowSelection: true,\n enableSubRowSelection: true,\n // enableGroupingRowSelection: false,\n // isAdditiveSelectEvent: (e: unknown) => !!e.metaKey,\n // isInclusiveSelectEvent: (e: unknown) => !!e.shiftKey,\n }\n },\n\n createInstance: <TGenerics extends TableGenerics>(\n instance: TableInstance<TGenerics>\n ): RowSelectionInstance<TGenerics> => {\n return {\n setRowSelection: updater =>\n instance.options.onRowSelectionChange?.(updater),\n resetRowSelection: () =>\n instance.setRowSelection(instance.initialState.rowSelection ?? {}),\n toggleAllRowsSelected: value => {\n instance.setRowSelection(old => {\n value =\n typeof value !== 'undefined'\n ? value\n : !instance.getIsAllRowsSelected()\n\n const rowSelection = { ...old }\n\n const preGroupedFlatRows = instance.getPreGroupedRowModel().flatRows\n\n // We don't use `mutateRowIsSelected` here for performance reasons.\n // All of the rows are flat already, so it wouldn't be worth it\n if (value) {\n preGroupedFlatRows.forEach(row => {\n rowSelection[row.id] = true\n })\n } else {\n preGroupedFlatRows.forEach(row => {\n delete rowSelection[row.id]\n })\n }\n\n return rowSelection\n })\n },\n toggleAllPageRowsSelected: value =>\n instance.setRowSelection(old => {\n const selectAll =\n typeof value !== 'undefined'\n ? value\n : !instance.getIsAllPageRowsSelected()\n\n const rowSelection: RowSelectionState = { ...old }\n\n instance.getRowModel().rows.forEach(row => {\n mutateRowIsSelected(rowSelection, row.id, value, instance)\n })\n\n return rowSelection\n }),\n toggleRowSelected: (rowId, value) => {\n const row = instance.getRow(rowId)\n const isSelected = row.getIsSelected()\n\n instance.setRowSelection(old => {\n value = typeof value !== 'undefined' ? value : !isSelected\n\n if (isSelected === value) {\n return old\n }\n\n const selectedRowIds = { ...old }\n\n mutateRowIsSelected(selectedRowIds, rowId, value, instance)\n\n return selectedRowIds\n })\n },\n // addRowSelectionRange: rowId => {\n // const {\n // rows,\n // rowsById,\n // options: { selectGroupingRows, selectSubRows },\n // } = instance\n\n // const findSelectedRow = (rows: Row[]) => {\n // let found\n // rows.find(d => {\n // if (d.getIsSelected()) {\n // found = d\n // return true\n // }\n // const subFound = findSelectedRow(d.subRows || [])\n // if (subFound) {\n // found = subFound\n // return true\n // }\n // return false\n // })\n // return found\n // }\n\n // const firstRow = findSelectedRow(rows) || rows[0]\n // const lastRow = rowsById[rowId]\n\n // let include = false\n // const selectedRowIds = {}\n\n // const addRow = (row: Row) => {\n // mutateRowIsSelected(selectedRowIds, row.id, true, {\n // rowsById,\n // selectGroupingRows: selectGroupingRows!,\n // selectSubRows: selectSubRows!,\n // })\n // }\n\n // instance.rows.forEach(row => {\n // const isFirstRow = row.id === firstRow.id\n // const isLastRow = row.id === lastRow.id\n\n // if (isFirstRow || isLastRow) {\n // if (!include) {\n // include = true\n // } else if (include) {\n // addRow(row)\n // include = false\n // }\n // }\n\n // if (include) {\n // addRow(row)\n // }\n // })\n\n // instance.setRowSelection(selectedRowIds)\n // },\n getPreSelectedRowModel: () => instance.getCoreRowModel(),\n getSelectedRowModel: memo(\n () => [instance.getState().rowSelection, instance.getCoreRowModel()],\n (rowSelection, rowModel) => {\n if (!Object.keys(rowSelection).length) {\n return {\n rows: [],\n flatRows: [],\n rowsById: {},\n }\n }\n\n return selectRowsFn(instance, rowModel)\n },\n {\n key: process.env.NODE_ENV === 'production' && 'getSelectedRowModel',\n debug: () => instance.options.debugAll ?? instance.options.debugTable,\n }\n ),\n\n getFilteredSelectedRowModel: memo(\n () => [\n instance.getState().rowSelection,\n instance.getFilteredRowModel(),\n ],\n (rowSelection, rowModel) => {\n if (!Object.keys(rowSelection).length) {\n return {\n rows: [],\n flatRows: [],\n rowsById: {},\n }\n }\n\n return selectRowsFn(instance, rowModel)\n },\n {\n key:\n process.env.NODE_ENV === 'production' &&\n 'getFilteredSelectedRowModel',\n debug: () => instance.options.debugAll ?? instance.options.debugTable,\n }\n ),\n\n getGroupedSelectedRowModel: memo(\n () => [instance.getState().rowSelection, instance.getGroupedRowModel()],\n (rowSelection, rowModel) => {\n if (!Object.keys(rowSelection).length) {\n return {\n rows: [],\n flatRows: [],\n rowsById: {},\n }\n }\n\n return selectRowsFn(instance, rowModel)\n },\n {\n key:\n process.env.NODE_ENV === 'production' &&\n 'getGroupedSelectedRowModel',\n debug: () => instance.options.debugAll ?? instance.options.debugTable,\n }\n ),\n\n ///\n\n getRowIsSelected: rowId => {\n const { rowSelection } = instance.getState()\n const row = instance.getRow(rowId)\n\n if (!row) {\n throw new Error()\n }\n\n return isRowSelected(row, rowSelection, instance) === true\n },\n\n getRowIsSomeSelected: rowId => {\n const { rowSelection } = instance.getState()\n const row = instance.getRow(rowId)\n\n if (!row) {\n throw new Error()\n }\n\n return isRowSelected(row, rowSelection, instance) === 'some'\n },\n\n getRowCanSelect: rowId => {\n const row = instance.getRow(rowId)\n\n if (!row) {\n throw new Error()\n }\n\n if (typeof instance.options.enableRowSelection === 'function') {\n return instance.options.enableRowSelection(row)\n }\n\n return instance.options.enableRowSelection ?? true\n },\n\n getRowCanSelectSubRows: rowId => {\n const row = instance.getRow(rowId)\n\n if (!row) {\n throw new Error()\n }\n\n if (typeof instance.options.enableSubRowSelection === 'function') {\n return instance.options.enableSubRowSelection(row)\n }\n\n return instance.options.enableSubRowSelection ?? true\n },\n\n getRowCanMultiSelect: rowId => {\n const row = instance.getRow(rowId)\n\n if (!row) {\n throw new Error()\n }\n\n if (typeof instance.options.enableMultiRowSelection === 'function') {\n return instance.options.enableMultiRowSelection(row)\n }\n\n return instance.options.enableMultiRowSelection ?? true\n },\n\n // getGroupingRowCanSelect: rowId => {\n // const row = instance.getRow(rowId)\n\n // if (!row) {\n // throw new Error()\n // }\n\n // if (typeof instance.options.enableGroupingRowSelection === 'function') {\n // return instance.options.enableGroupingRowSelection(row)\n // }\n\n // return instance.options.enableGroupingRowSelection ?? false\n // },\n\n getIsAllRowsSelected: () => {\n const preFilteredFlatRows = instance.getPreFilteredRowModel().flatRows\n const { rowSelection } = instance.getState()\n\n let isAllRowsSelected = Boolean(\n preFilteredFlatRows.length && Object.keys(rowSelection).length\n )\n\n if (isAllRowsSelected) {\n if (preFilteredFlatRows.some(row => !rowSelection[row.id])) {\n isAllRowsSelected = false\n }\n }\n\n return isAllRowsSelected\n },\n\n getIsAllPageRowsSelected: () => {\n const paginationFlatRows = instance.getPaginationRowModel().flatRows\n const { rowSelection } = instance.getState()\n\n let isAllPageRowsSelected = !!paginationFlatRows.length\n\n if (\n isAllPageRowsSelected &&\n paginationFlatRows.some(row => !rowSelection[row.id])\n ) {\n isAllPageRowsSelected = false\n }\n\n return isAllPageRowsSelected\n },\n\n getIsSomeRowsSelected: () => {\n return (\n !instance.getIsAllRowsSelected() &&\n !!Object.keys(instance.getState().rowSelection ?? {}).length\n )\n },\n\n getIsSomePageRowsSelected: () => {\n const paginationFlatRows = instance.getPaginationRowModel().flatRows\n return instance.getIsAllPageRowsSelected()\n ? false\n : !!paginationFlatRows?.length\n },\n\n getToggleRowSelectedHandler: rowId => {\n const row = instance.getRow(rowId)\n\n const isSelected = row.getIsSelected()\n const isSomeSelected = row.getIsSomeSelected()\n const canSelect = row.getCanSelect()\n\n return (e: unknown) => {\n if (!canSelect) return\n row.toggleSelected(\n ((e as MouseEvent).target as HTMLInputElement)?.checked\n )\n }\n },\n\n getToggleAllRowsSelectedHandler: () => {\n return (e: unknown) => {\n instance.toggleAllRowsSelected(\n ((e as MouseEvent).target as HTMLInputElement).checked\n )\n }\n },\n\n getToggleAllPageRowsSelectedHandler: () => {\n return (e: unknown) => {\n instance.toggleAllPageRowsSelected(\n ((e as MouseEvent).target as HTMLInputElement).checked\n )\n }\n },\n }\n },\n\n createRow: <TGenerics extends TableGenerics>(\n row: Row<TGenerics>,\n instance: TableInstance<TGenerics>\n ): RowSelectionRow => {\n return {\n getIsSelected: () => instance.getRowIsSelected(row.id),\n getIsSomeSelected: () => instance.getRowIsSomeSelected(row.id),\n toggleSelected: value => instance.toggleRowSelected(row.id, value),\n getToggleSelectedHandler: () =>\n instance.getToggleRowSelectedHandler(row.id)!,\n getCanMultiSelect: () => instance.getRowCanMultiSelect(row.id),\n getCanSelect: () => instance.getRowCanSelect(row.id),\n }\n },\n}\n\nconst mutateRowIsSelected = <TGenerics extends TableGenerics>(\n selectedRowIds: Record<string, boolean>,\n id: string,\n value: boolean,\n instance: TableInstance<TGenerics>\n) => {\n const row = instance.getRow(id)\n\n const isGrouped = row.getIsGrouped()\n\n // if ( // TODO: enforce grouping row selection rules\n // !isGrouped ||\n // (isGrouped && instance.options.enableGroupingRowSelection)\n // ) {\n if (value) {\n selectedRowIds[id] = true\n } else {\n delete selectedRowIds[id]\n }\n // }\n\n if (row.subRows?.length && instance.getRowCanSelectSubRows(row.id)) {\n row.subRows.forEach(row =>\n mutateRowIsSelected(selectedRowIds, row.id, value, instance)\n )\n }\n}\n\nexport function selectRowsFn<TGenerics extends TableGenerics>(\n instance: TableInstance<TGenerics>,\n rowModel: RowModel<TGenerics>\n): RowModel<TGenerics> {\n const rowSelection = instance.getState().rowSelection\n\n const newSelectedFlatRows: Row<TGenerics>[] = []\n const newSelectedRowsById: Record<string, Row<TGenerics>> = {}\n\n // Filters top level and nested rows\n const recurseRows = (rows: Row<TGenerics>[], depth = 0): Row<TGenerics>[] => {\n return rows\n .map(row => {\n const isSelected = isRowSelected(row, rowSelection, instance) === true\n\n if (isSelected) {\n newSelectedFlatRows.push(row)\n newSelectedRowsById[row.id] = row\n }\n\n if (row.subRows?.length) {\n row = {\n ...row,\n subRows: recurseRows(row.subRows, depth + 1),\n }\n }\n\n if (isSelected) {\n return row\n }\n })\n .filter(Boolean) as Row<TGenerics>[]\n }\n\n return {\n rows: recurseRows(rowModel.rows),\n flatRows: newSelectedFlatRows,\n rowsById: newSelectedRowsById,\n }\n}\n\nexport function isRowSelected<TGenerics extends TableGenerics>(\n row: Row<TGenerics>,\n selection: Record<string, boolean>,\n instance: TableInstance<TGenerics>\n): boolean | 'some' {\n if (selection[row.id]) {\n return true\n }\n\n if (row.subRows && row.subRows.length) {\n let allChildrenSelected = true\n let someSelected = false\n\n row.subRows.forEach(subRow => {\n // Bail out early if we know both of these\n if (someSelected && !allChildrenSelected) {\n return\n }\n\n if (isRowSelected(subRow, selection, instance)) {\n someSelected = true\n } else {\n allChildrenSelected = false\n }\n })\n\n return allChildrenSelected ? true : someSelected ? 'some' : false\n }\n\n return false\n}\n"],"names":["RowSelection","getInitialState","state","_extends","rowSelection","getDefaultOptions","instance","onRowSelectionChange","makeStateUpdater","enableRowSelection","enableMultiRowSelection","enableSubRowSelection","createInstance","setRowSelection","updater","options","resetRowSelection","initialState","toggleAllRowsSelected","value","old","getIsAllRowsSelected","preGroupedFlatRows","getPreGroupedRowModel","flatRows","forEach","row","id","toggleAllPageRowsSelected","getIsAllPageRowsSelected","getRowModel","rows","mutateRowIsSelected","toggleRowSelected","rowId","getRow","isSelected","getIsSelected","selectedRowIds","getPreSelectedRowModel","getCoreRowModel","getSelectedRowModel","memo","getState","rowModel","Object","keys","length","rowsById","selectRowsFn","key","process","env","NODE_ENV","debug","debugAll","debugTable","getFilteredSelectedRowModel","getFilteredRowModel","getGroupedSelectedRowModel","getGroupedRowModel","getRowIsSelected","Error","isRowSelected","getRowIsSomeSelected","getRowCanSelect","getRowCanSelectSubRows","getRowCanMultiSelect","preFilteredFlatRows","getPreFilteredRowModel","isAllRowsSelected","Boolean","some","paginationFlatRows","getPaginationRowModel","isAllPageRowsSelected","getIsSomeRowsSelected","getIsSomePageRowsSelected","getToggleRowSelectedHandler","getIsSomeSelected","canSelect","getCanSelect","e","toggleSelected","target","checked","getToggleAllRowsSelectedHandler","getToggleAllPageRowsSelectedHandler","createRow","getToggleSelectedHandler","getCanMultiSelect","getIsGrouped","subRows","newSelectedFlatRows","newSelectedRowsById","recurseRows","depth","map","push","filter","selection","allChildrenSelected","someSelected","subRow"],"mappings":"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"}
@@ -18,16 +18,16 @@ var utils = require('../utils.js');
18
18
 
19
19
  //
20
20
  var Sorting = {
21
+ getInitialState: function getInitialState(state) {
22
+ return _rollupPluginBabelHelpers["extends"]({
23
+ sorting: []
24
+ }, state);
25
+ },
21
26
  getDefaultColumn: function getDefaultColumn() {
22
27
  return {
23
28
  sortingFn: 'auto'
24
29
  };
25
30
  },
26
- getInitialState: function getInitialState() {
27
- return {
28
- sorting: []
29
- };
30
- },
31
31
  getDefaultOptions: function getDefaultOptions(instance) {
32
32
  return {
33
33
  onSortingChange: utils.makeStateUpdater('sorting', instance),
@@ -65,7 +65,7 @@ var Sorting = {
65
65
  createInstance: function createInstance(instance) {
66
66
  return {
67
67
  getColumnAutoSortingFn: function getColumnAutoSortingFn(columnId) {
68
- var firstRows = instance.getGlobalFilteredRowModel().flatRows.slice(100);
68
+ var firstRows = instance.getFilteredRowModel().flatRows.slice(100);
69
69
  var isString = false;
70
70
 
71
71
  for (var _iterator = _rollupPluginBabelHelpers.createForOfIteratorHelperLoose(firstRows), _step; !(_step = _iterator()).done;) {
@@ -92,7 +92,7 @@ var Sorting = {
92
92
  return sortingFns.sortingFns.basic;
93
93
  },
94
94
  getColumnAutoSortDir: function getColumnAutoSortDir(columnId) {
95
- var firstRow = instance.getGlobalFilteredRowModel().flatRows[0];
95
+ var firstRow = instance.getFilteredRowModel().flatRows[0];
96
96
  var value = firstRow == null ? void 0 : firstRow.values[columnId];
97
97
 
98
98
  if (typeof value === 'string') {
@@ -276,7 +276,7 @@ var Sorting = {
276
276
  };
277
277
  },
278
278
  getPreSortedRowModel: function getPreSortedRowModel() {
279
- return instance.getGlobalFilteredRowModel();
279
+ return instance.getFilteredRowModel();
280
280
  },
281
281
  getSortedRowModel: function getSortedRowModel() {
282
282
  if (!instance._getSortedRowModel && instance.options.getSortedRowModel) {