@tanstack/table-core 8.0.0-alpha.54 → 8.0.0-alpha.58

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 (74) hide show
  1. package/build/cjs/core.js +9 -384
  2. package/build/cjs/core.js.map +1 -1
  3. package/build/cjs/features/Cells.js +122 -0
  4. package/build/cjs/features/Cells.js.map +1 -0
  5. package/build/cjs/features/ColumnSizing.js +90 -37
  6. package/build/cjs/features/ColumnSizing.js.map +1 -1
  7. package/build/cjs/features/Columns.js +216 -0
  8. package/build/cjs/features/Columns.js.map +1 -0
  9. package/build/cjs/features/Expanding.js +2 -2
  10. package/build/cjs/features/Expanding.js.map +1 -1
  11. package/build/cjs/features/Filters.js +3 -3
  12. package/build/cjs/features/Filters.js.map +1 -1
  13. package/build/cjs/features/Grouping.js +2 -2
  14. package/build/cjs/features/Grouping.js.map +1 -1
  15. package/build/cjs/features/Headers.js +78 -153
  16. package/build/cjs/features/Headers.js.map +1 -1
  17. package/build/cjs/features/Ordering.js +1 -1
  18. package/build/cjs/features/Ordering.js.map +1 -1
  19. package/build/cjs/features/Pagination.js +2 -2
  20. package/build/cjs/features/Pagination.js.map +1 -1
  21. package/build/cjs/features/Pinning.js +172 -2
  22. package/build/cjs/features/Pinning.js.map +1 -1
  23. package/build/cjs/features/RowSelection.js +1 -1
  24. package/build/cjs/features/RowSelection.js.map +1 -1
  25. package/build/cjs/features/Rows.js +99 -0
  26. package/build/cjs/features/Rows.js.map +1 -0
  27. package/build/cjs/features/Sorting.js +2 -2
  28. package/build/cjs/features/Sorting.js.map +1 -1
  29. package/build/cjs/features/Visibility.js +51 -17
  30. package/build/cjs/features/Visibility.js.map +1 -1
  31. package/build/cjs/utils.js.map +1 -1
  32. package/build/esm/index.js +881 -695
  33. package/build/esm/index.js.map +1 -1
  34. package/build/stats-html.html +1 -1
  35. package/build/stats-react.json +418 -316
  36. package/build/types/core.d.ts +2 -79
  37. package/build/types/features/Cells.d.ts +14 -0
  38. package/build/types/features/ColumnSizing.d.ts +26 -18
  39. package/build/types/features/Columns.d.ts +54 -0
  40. package/build/types/features/Expanding.d.ts +2 -1
  41. package/build/types/features/Filters.d.ts +3 -1
  42. package/build/types/features/Grouping.d.ts +2 -1
  43. package/build/types/features/Headers.d.ts +3 -11
  44. package/build/types/features/Ordering.d.ts +1 -1
  45. package/build/types/features/Pagination.d.ts +2 -1
  46. package/build/types/features/Pinning.d.ts +18 -4
  47. package/build/types/features/RowSelection.d.ts +1 -1
  48. package/build/types/features/Rows.d.ts +29 -0
  49. package/build/types/features/Sorting.d.ts +2 -1
  50. package/build/types/features/Visibility.d.ts +7 -2
  51. package/build/types/types.d.ts +18 -10
  52. package/build/types/utils.d.ts +0 -1
  53. package/build/umd/index.development.js +882 -696
  54. package/build/umd/index.development.js.map +1 -1
  55. package/build/umd/index.production.js +1 -1
  56. package/build/umd/index.production.js.map +1 -1
  57. package/package.json +1 -1
  58. package/src/core.ts +28 -550
  59. package/src/features/Cells.ts +156 -0
  60. package/src/features/ColumnSizing.ts +103 -51
  61. package/src/features/Columns.ts +290 -0
  62. package/src/features/Expanding.ts +7 -3
  63. package/src/features/Filters.ts +11 -3
  64. package/src/features/Grouping.ts +3 -2
  65. package/src/features/Headers.ts +48 -138
  66. package/src/features/Ordering.ts +1 -1
  67. package/src/features/Pagination.ts +6 -2
  68. package/src/features/Pinning.ts +194 -3
  69. package/src/features/RowSelection.ts +1 -1
  70. package/src/features/Rows.ts +151 -0
  71. package/src/features/Sorting.ts +3 -2
  72. package/src/features/Visibility.ts +67 -20
  73. package/src/types.ts +25 -37
  74. package/src/utils.ts +1 -3
@@ -0,0 +1,122 @@
1
+ /**
2
+ * table-core
3
+ *
4
+ * Copyright (c) TanStack
5
+ *
6
+ * This source code is licensed under the MIT license found in the
7
+ * LICENSE.md file in the root directory of this source tree.
8
+ *
9
+ * @license MIT
10
+ */
11
+ 'use strict';
12
+
13
+ Object.defineProperty(exports, '__esModule', { value: true });
14
+
15
+ var utils = require('../utils.js');
16
+
17
+ //
18
+ var Cells = {
19
+ createRow: function createRow(row, instance) {
20
+ return {
21
+ getAllCells: utils.memo(function () {
22
+ return [instance.getAllLeafColumns()];
23
+ }, function (leafColumns) {
24
+ return leafColumns.map(function (column) {
25
+ return instance.createCell(row, column, row.values[column.id]);
26
+ });
27
+ }, {
28
+ key: process.env.NODE_ENV !== 'production' ? 'row.getAllCells' : '',
29
+ debug: function debug() {
30
+ var _instance$options$deb;
31
+
32
+ return (_instance$options$deb = instance.options.debugAll) != null ? _instance$options$deb : instance.options.debugRows;
33
+ }
34
+ }),
35
+ getAllCellsByColumnId: utils.memo(function () {
36
+ return [row.getAllCells()];
37
+ }, function (allCells) {
38
+ return allCells.reduce(function (acc, cell) {
39
+ acc[cell.columnId] = cell;
40
+ return acc;
41
+ }, {});
42
+ }, {
43
+ key: 'row.getAllCellsByColumnId',
44
+ debug: function debug() {
45
+ var _instance$options$deb2;
46
+
47
+ return (_instance$options$deb2 = instance.options.debugAll) != null ? _instance$options$deb2 : instance.options.debugRows;
48
+ }
49
+ })
50
+ };
51
+ },
52
+ createInstance: function createInstance(instance) {
53
+ return {
54
+ createCell: function createCell(row, column, value) {
55
+ var cell = {
56
+ id: row.id + "_" + column.id,
57
+ rowId: row.id,
58
+ columnId: column.id,
59
+ row: row,
60
+ column: column,
61
+ value: value,
62
+ getCellProps: function getCellProps(userProps) {
63
+ return instance.getCellProps(row.id, column.id, userProps);
64
+ },
65
+ renderCell: function renderCell() {
66
+ return column.cell ? instance.render(column.cell, {
67
+ instance: instance,
68
+ column: column,
69
+ row: row,
70
+ cell: cell,
71
+ value: value
72
+ }) : null;
73
+ }
74
+ };
75
+
76
+ instance._features.forEach(function (feature) {
77
+ Object.assign(cell, feature.createCell == null ? void 0 : feature.createCell(cell, column, row, instance));
78
+ }, {});
79
+
80
+ return cell;
81
+ },
82
+ getCell: function getCell(rowId, columnId) {
83
+ var row = instance.getRow(rowId);
84
+
85
+ if (!row) {
86
+ if (process.env.NODE_ENV !== 'production') {
87
+ throw new Error("[Table] could not find row with id " + rowId);
88
+ }
89
+
90
+ throw new Error();
91
+ }
92
+
93
+ var cell = row.getAllCellsByColumnId()[columnId];
94
+
95
+ if (!cell) {
96
+ if (process.env.NODE_ENV !== 'production') {
97
+ throw new Error("[Table] could not find cell " + columnId + " in row " + rowId);
98
+ }
99
+
100
+ throw new Error();
101
+ }
102
+
103
+ return cell;
104
+ },
105
+ getCellProps: function getCellProps(rowId, columnId, userProps) {
106
+ var cell = instance.getCell(rowId, columnId);
107
+
108
+ if (!cell) {
109
+ return;
110
+ }
111
+
112
+ return utils.propGetter({
113
+ key: cell.id,
114
+ role: 'gridcell'
115
+ }, userProps);
116
+ }
117
+ };
118
+ }
119
+ };
120
+
121
+ exports.Cells = Cells;
122
+ //# sourceMappingURL=Cells.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Cells.js","sources":["../../../src/features/Cells.ts"],"sourcesContent":["import {\n Cell,\n TableGenerics,\n TableInstance,\n Row,\n Column,\n CoreCell,\n Getter,\n CellProps,\n PropGetterValue,\n} from '../types'\nimport { memo, propGetter } from '../utils'\n\nexport type CellsRow<TGenerics extends TableGenerics> = {\n getAllCells: () => Cell<TGenerics>[]\n getAllCellsByColumnId: () => Record<string, Cell<TGenerics>>\n}\n\nexport type CellsInstance<TGenerics extends TableGenerics> = {\n createCell: (\n row: Row<TGenerics>,\n column: Column<TGenerics>,\n value: any\n ) => Cell<TGenerics>\n getCell: (rowId: string, columnId: string) => Cell<TGenerics>\n getCellProps: <TGetter extends Getter<CellProps>>(\n rowId: string,\n columnId: string,\n userProps?: TGetter\n ) => undefined | PropGetterValue<CellProps, TGetter>\n}\n\n//\n\nexport const Cells = {\n createRow: <TGenerics extends TableGenerics>(\n row: Row<TGenerics>,\n instance: TableInstance<TGenerics>\n ): CellsRow<TGenerics> => {\n return {\n getAllCells: memo(\n () => [instance.getAllLeafColumns()],\n leafColumns => {\n return leafColumns.map(column => {\n return instance.createCell(\n row as Row<TGenerics>,\n column,\n row.values[column.id]\n )\n })\n },\n {\n key: process.env.NODE_ENV !== 'production' ? 'row.getAllCells' : '',\n debug: () => instance.options.debugAll ?? instance.options.debugRows,\n }\n ),\n\n getAllCellsByColumnId: memo(\n () => [row.getAllCells()],\n allCells => {\n return allCells.reduce((acc, cell) => {\n acc[cell.columnId] = cell\n return acc\n }, {} as Record<string, Cell<TGenerics>>)\n },\n {\n key: 'row.getAllCellsByColumnId',\n debug: () => instance.options.debugAll ?? instance.options.debugRows,\n }\n ),\n }\n },\n\n createInstance: <TGenerics extends TableGenerics>(\n instance: TableInstance<TGenerics>\n ): CellsInstance<TGenerics> => {\n return {\n createCell: (row, column, value) => {\n const cell: CoreCell<TGenerics> = {\n id: `${row.id}_${column.id}`,\n rowId: row.id,\n columnId: column.id,\n row,\n column,\n value,\n getCellProps: userProps =>\n instance.getCellProps(row.id, column.id, userProps)!,\n renderCell: () =>\n column.cell\n ? instance.render(column.cell, {\n instance,\n column,\n row,\n cell: cell as Cell<TGenerics>,\n value,\n })\n : null,\n }\n\n instance._features.forEach(feature => {\n Object.assign(\n cell,\n feature.createCell?.(\n cell as Cell<TGenerics>,\n column,\n row as Row<TGenerics>,\n instance\n )\n )\n }, {})\n\n return cell as Cell<TGenerics>\n },\n\n getCell: (rowId: string, columnId: string) => {\n const row = instance.getRow(rowId)\n\n if (!row) {\n if (process.env.NODE_ENV !== 'production') {\n throw new Error(`[Table] could not find row with id ${rowId}`)\n }\n throw new Error()\n }\n\n const cell = row.getAllCellsByColumnId()[columnId]\n\n if (!cell) {\n if (process.env.NODE_ENV !== 'production') {\n throw new Error(\n `[Table] could not find cell ${columnId} in row ${rowId}`\n )\n }\n throw new Error()\n }\n\n return cell\n },\n\n getCellProps: (rowId, columnId, userProps) => {\n const cell = instance.getCell(rowId, columnId)\n\n if (!cell) {\n return\n }\n\n return propGetter(\n {\n key: cell.id,\n role: 'gridcell',\n },\n userProps\n )\n },\n }\n },\n}\n"],"names":["Cells","createRow","row","instance","getAllCells","memo","getAllLeafColumns","leafColumns","map","column","createCell","values","id","key","process","env","NODE_ENV","debug","options","debugAll","debugRows","getAllCellsByColumnId","allCells","reduce","acc","cell","columnId","createInstance","value","rowId","getCellProps","userProps","renderCell","render","_features","forEach","feature","Object","assign","getCell","getRow","Error","propGetter","role"],"mappings":"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"}
@@ -17,9 +17,9 @@ var utils = require('../utils.js');
17
17
 
18
18
  //
19
19
  var defaultColumnSizing = {
20
- width: 150,
21
- minWidth: 20,
22
- maxWidth: Number.MAX_SAFE_INTEGER
20
+ size: 150,
21
+ minSize: 20,
22
+ maxSize: Number.MAX_SAFE_INTEGER
23
23
  };
24
24
  var ColumnSizing = {
25
25
  getDefaultColumn: function getDefaultColumn() {
@@ -45,10 +45,45 @@ var ColumnSizing = {
45
45
  onColumnSizingInfoChange: utils.makeStateUpdater('columnSizingInfo', instance)
46
46
  };
47
47
  },
48
- getInstance: function getInstance(instance) {
48
+ createColumn: function createColumn(column, instance) {
49
+ return {
50
+ getSize: function getSize() {
51
+ return instance.getColumnSize(column.id);
52
+ },
53
+ getStart: function getStart(position) {
54
+ return instance.getColumnStart(column.id, position);
55
+ },
56
+ getIsResizing: function getIsResizing() {
57
+ return instance.getColumnIsResizing(column.id);
58
+ },
59
+ getCanResize: function getCanResize() {
60
+ return instance.getColumnCanResize(column.id);
61
+ },
62
+ resetSize: function resetSize() {
63
+ return instance.resetColumnSize(column.id);
64
+ }
65
+ };
66
+ },
67
+ createHeader: function createHeader(header, instance) {
68
+ return {
69
+ getIsResizing: function getIsResizing() {
70
+ return instance.getColumnIsResizing(header.column.id);
71
+ },
72
+ getCanResize: function getCanResize() {
73
+ return instance.getColumnCanResize(header.column.id);
74
+ },
75
+ resetSize: function resetSize() {
76
+ return instance.resetColumnSize(header.column.id);
77
+ },
78
+ getResizerProps: function getResizerProps(userProps) {
79
+ return instance.getHeaderResizerProps(header.id, userProps);
80
+ }
81
+ };
82
+ },
83
+ createInstance: function createInstance(instance) {
49
84
  return {
50
- getColumnWidth: function getColumnWidth(columnId) {
51
- var _column$minWidth, _ref, _column$maxWidth;
85
+ getColumnSize: function getColumnSize(columnId) {
86
+ var _column$minSize, _ref, _column$maxSize;
52
87
 
53
88
  var column = instance.getColumn(columnId);
54
89
 
@@ -57,7 +92,26 @@ var ColumnSizing = {
57
92
  }
58
93
 
59
94
  var columnSize = instance.getState().columnSizing[column.id];
60
- return Math.min(Math.max((_column$minWidth = column.minWidth) != null ? _column$minWidth : defaultColumnSizing.minWidth, (_ref = columnSize != null ? columnSize : column.width) != null ? _ref : defaultColumnSizing.width), (_column$maxWidth = column.maxWidth) != null ? _column$maxWidth : defaultColumnSizing.maxWidth);
95
+ return Math.min(Math.max((_column$minSize = column.minSize) != null ? _column$minSize : defaultColumnSizing.minSize, (_ref = columnSize != null ? columnSize : column.size) != null ? _ref : defaultColumnSizing.size), (_column$maxSize = column.maxSize) != null ? _column$maxSize : defaultColumnSizing.maxSize);
96
+ },
97
+ getColumnStart: function getColumnStart(columnId, position) {
98
+ var column = instance.getColumn(columnId);
99
+
100
+ if (!column) {
101
+ throw new Error();
102
+ }
103
+
104
+ var columns = !position ? instance.getVisibleLeafColumns() : position === 'left' ? instance.getLeftVisibleLeafColumns() : instance.getRightVisibleLeafColumns();
105
+ var index = columns.findIndex(function (d) {
106
+ return d.id === columnId;
107
+ });
108
+
109
+ if (index > 0) {
110
+ var prevSiblingColumn = columns[index - 1];
111
+ return instance.getColumnStart(prevSiblingColumn.id, position) + prevSiblingColumn.getSize();
112
+ }
113
+
114
+ return 0;
61
115
  },
62
116
  setColumnSizing: function setColumnSizing(updater) {
63
117
  return instance.options.onColumnSizingChange == null ? void 0 : instance.options.onColumnSizingChange(updater);
@@ -139,10 +193,10 @@ var ColumnSizing = {
139
193
  }
140
194
 
141
195
  var header = headerId ? instance.getHeader(headerId) : undefined;
142
- var startSize = header ? header.getWidth() : column.getWidth();
196
+ var startSize = header ? header.getSize() : column.getSize();
143
197
  var columnSizingStart = header ? header.getLeafHeaders().map(function (d) {
144
- return [d.column.id, d.getWidth()];
145
- }) : [[column.id, column.getWidth()]];
198
+ return [d.column.id, d.getSize()];
199
+ }) : [[column.id, column.getSize()]];
146
200
  var clientX = isTouchStartEvent(e) ? Math.round(e.touches[0].clientX) : e.clientX;
147
201
 
148
202
  var updateOffset = function updateOffset(eventType, clientXPos) {
@@ -158,8 +212,8 @@ var ColumnSizing = {
158
212
  var deltaPercentage = Math.max(deltaOffset / ((_old$startSize = old == null ? void 0 : old.startSize) != null ? _old$startSize : 0), -0.999999);
159
213
  old.columnSizingStart.forEach(function (_ref5) {
160
214
  var columnId = _ref5[0],
161
- headerWidth = _ref5[1];
162
- newColumnSizing[columnId] = Math.round(Math.max(headerWidth + headerWidth * deltaPercentage, 0) * 100) / 100;
215
+ headerSize = _ref5[1];
216
+ newColumnSizing[columnId] = Math.round(Math.max(headerSize + headerSize * deltaPercentage, 0) * 100) / 100;
163
217
  });
164
218
  return _rollupPluginBabelHelpers["extends"]({}, old, {
165
219
  deltaOffset: deltaOffset,
@@ -262,35 +316,34 @@ var ColumnSizing = {
262
316
  }
263
317
  } : {};
264
318
  return utils.propGetter(initialProps, userProps);
265
- }
266
- };
267
- },
268
- createColumn: function createColumn(column, instance) {
269
- return {
270
- getIsResizing: function getIsResizing() {
271
- return instance.getColumnIsResizing(column.id);
272
319
  },
273
- getCanResize: function getCanResize() {
274
- return instance.getColumnCanResize(column.id);
275
- },
276
- resetSize: function resetSize() {
277
- return instance.resetColumnSize(column.id);
278
- }
279
- };
280
- },
281
- createHeader: function createHeader(header, instance) {
282
- return {
283
- getIsResizing: function getIsResizing() {
284
- return instance.getColumnIsResizing(header.column.id);
320
+ getTotalSize: function getTotalSize() {
321
+ var _instance$getHeaderGr, _instance$getHeaderGr2;
322
+
323
+ return (_instance$getHeaderGr = (_instance$getHeaderGr2 = instance.getHeaderGroups()[0]) == null ? void 0 : _instance$getHeaderGr2.headers.reduce(function (sum, header) {
324
+ return sum + header.getSize();
325
+ }, 0)) != null ? _instance$getHeaderGr : 0;
285
326
  },
286
- getCanResize: function getCanResize() {
287
- return instance.getColumnCanResize(header.column.id);
327
+ getLeftTotalSize: function getLeftTotalSize() {
328
+ var _instance$getLeftHead, _instance$getLeftHead2;
329
+
330
+ return (_instance$getLeftHead = (_instance$getLeftHead2 = instance.getLeftHeaderGroups()[0]) == null ? void 0 : _instance$getLeftHead2.headers.reduce(function (sum, header) {
331
+ return sum + header.getSize();
332
+ }, 0)) != null ? _instance$getLeftHead : 0;
288
333
  },
289
- resetSize: function resetSize() {
290
- return instance.resetColumnSize(header.column.id);
334
+ getCenterTotalSize: function getCenterTotalSize() {
335
+ var _instance$getCenterHe, _instance$getCenterHe2;
336
+
337
+ return (_instance$getCenterHe = (_instance$getCenterHe2 = instance.getCenterHeaderGroups()[0]) == null ? void 0 : _instance$getCenterHe2.headers.reduce(function (sum, header) {
338
+ return sum + header.getSize();
339
+ }, 0)) != null ? _instance$getCenterHe : 0;
291
340
  },
292
- getResizerProps: function getResizerProps(userProps) {
293
- return instance.getHeaderResizerProps(header.id, userProps);
341
+ getRightTotalSize: function getRightTotalSize() {
342
+ var _instance$getRightHea, _instance$getRightHea2;
343
+
344
+ return (_instance$getRightHea = (_instance$getRightHea2 = instance.getRightHeaderGroups()[0]) == null ? void 0 : _instance$getRightHea2.headers.reduce(function (sum, header) {
345
+ return sum + header.getSize();
346
+ }, 0)) != null ? _instance$getRightHea : 0;
294
347
  }
295
348
  };
296
349
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ColumnSizing.js","sources":["../../../src/features/ColumnSizing.ts"],"sourcesContent":["import {\n Column,\n Getter,\n Header,\n OnChangeFn,\n TableGenerics,\n PropGetterValue,\n TableInstance,\n Updater,\n} from '../types'\nimport { makeStateUpdater, propGetter } from '../utils'\n\n//\n\nexport type ColumnSizing = Record<string, number>\n\nexport type ColumnSizingInfoState = {\n startOffset: null | number\n startSize: null | number\n deltaOffset: null | number\n deltaPercentage: null | number\n isResizingColumn: false | string\n columnSizingStart: [string, number][]\n}\n\nexport type ColumnSizingTableState = {\n columnSizing: ColumnSizing\n columnSizingInfo: ColumnSizingInfoState\n}\n\nexport type ColumnResizeMode = 'onChange' | 'onEnd'\n\nexport type ColumnSizingOptions = {\n enableColumnResizing?: boolean\n columnResizeMode?: ColumnResizeMode\n onColumnSizingChange?: OnChangeFn<ColumnSizing>\n onColumnSizingInfoChange?: OnChangeFn<ColumnSizingInfoState>\n}\n\nexport type ColumnSizingDefaultOptions = {\n columnResizeMode: ColumnResizeMode\n onColumnSizingChange: OnChangeFn<ColumnSizing>\n onColumnSizingInfoChange: OnChangeFn<ColumnSizingInfoState>\n}\n\nexport type ColumnResizerProps = {\n title?: string\n onMouseDown?: (e: MouseEvent) => void\n onTouchStart?: (e: TouchEvent) => void\n draggable?: boolean\n role?: string\n}\n\nexport type ColumnSizingInstance<TGenerics extends TableGenerics> = {\n getColumnWidth: (columnId: string) => number\n setColumnSizing: (updater: Updater<ColumnSizing>) => void\n setColumnSizingInfo: (updater: Updater<ColumnSizingInfoState>) => void\n resetColumnSizing: () => void\n resetColumnSize: (columnId: string) => void\n resetHeaderSize: (headerId: string) => void\n resetHeaderSizeInfo: () => void\n getColumnCanResize: (columnId: string) => boolean\n getHeaderCanResize: (headerId: string) => boolean\n getHeaderResizerProps: <TGetter extends Getter<ColumnResizerProps>>(\n headerId: string,\n userProps?: TGetter\n ) => undefined | PropGetterValue<ColumnResizerProps, TGetter>\n getColumnIsResizing: (columnId: string) => boolean\n getHeaderIsResizing: (headerId: string) => boolean\n}\n\nexport type ColumnSizingColumnDef = {\n enableResizing?: boolean\n defaultCanResize?: boolean\n width?: number\n minWidth?: number\n maxWidth?: number\n}\n\nexport type ColumnSizingColumn<TGenerics extends TableGenerics> = {\n getCanResize: () => boolean\n getIsResizing: () => boolean\n resetSize: () => void\n}\n\nexport type ColumnSizingHeader<TGenerics extends TableGenerics> = {\n getCanResize: () => boolean\n getIsResizing: () => boolean\n getResizerProps: <TGetter extends Getter<ColumnResizerProps>>(\n userProps?: TGetter\n ) => undefined | PropGetterValue<ColumnResizerProps, TGetter>\n resetSize: () => void\n}\n\n//\n\nexport const defaultColumnSizing = {\n width: 150,\n minWidth: 20,\n maxWidth: Number.MAX_SAFE_INTEGER,\n}\n\nexport const ColumnSizing = {\n getDefaultColumn: (): ColumnSizingColumnDef => {\n return defaultColumnSizing\n },\n getInitialState: (): ColumnSizingTableState => {\n return {\n columnSizing: {},\n columnSizingInfo: {\n startOffset: null,\n startSize: null,\n deltaOffset: null,\n deltaPercentage: null,\n isResizingColumn: false,\n columnSizingStart: [],\n },\n }\n },\n\n getDefaultOptions: <TGenerics extends TableGenerics>(\n instance: TableInstance<TGenerics>\n ): ColumnSizingDefaultOptions => {\n return {\n columnResizeMode: 'onEnd',\n onColumnSizingChange: makeStateUpdater('columnSizing', instance),\n onColumnSizingInfoChange: makeStateUpdater('columnSizingInfo', instance),\n }\n },\n\n getInstance: <TGenerics extends TableGenerics>(\n instance: TableInstance<TGenerics>\n ): ColumnSizingInstance<TGenerics> => {\n return {\n getColumnWidth: (columnId: string) => {\n const column = instance.getColumn(columnId)\n\n if (!column) {\n throw new Error()\n }\n\n const columnSize = instance.getState().columnSizing[column.id]\n\n return Math.min(\n Math.max(\n column.minWidth ?? defaultColumnSizing.minWidth,\n columnSize ?? column.width ?? defaultColumnSizing.width\n ),\n column.maxWidth ?? defaultColumnSizing.maxWidth\n )\n },\n setColumnSizing: updater =>\n instance.options.onColumnSizingChange?.(updater),\n setColumnSizingInfo: updater =>\n instance.options.onColumnSizingInfoChange?.(updater),\n resetColumnSizing: () => {\n instance.setColumnSizing(instance.initialState.columnSizing ?? {})\n },\n resetHeaderSizeInfo: () => {\n instance.setColumnSizingInfo(\n instance.initialState.columnSizingInfo ?? {}\n )\n },\n resetColumnSize: columnId => {\n instance.setColumnSizing(({ [columnId]: _, ...rest }) => {\n return rest\n })\n },\n resetHeaderSize: headerId => {\n const header = instance.getHeader(headerId)\n\n return instance.resetColumnSize(header.column.id)\n },\n getHeaderCanResize: headerId => {\n const header = instance.getHeader(headerId)\n\n if (!header) {\n throw new Error()\n }\n\n return instance.getColumnCanResize(header.column.id)\n },\n getColumnCanResize: columnId => {\n const column = instance.getColumn(columnId)\n\n if (!column) {\n throw new Error()\n }\n\n return (\n column.enableResizing ??\n instance.options.enableColumnResizing ??\n column.defaultCanResize ??\n true\n )\n },\n getColumnIsResizing: columnId => {\n const column = instance.getColumn(columnId)\n\n if (!column) {\n throw new Error()\n }\n\n return (\n instance.getState().columnSizingInfo.isResizingColumn === columnId\n )\n },\n getHeaderIsResizing: headerId => {\n const header = instance.getHeader(headerId)\n\n if (!header) {\n throw new Error()\n }\n\n return instance.getColumnIsResizing(header.column.id)\n },\n\n getHeaderResizerProps: (headerId, userProps) => {\n const header = instance.getHeader(headerId)\n const column = instance.getColumn(header.column.id)\n\n const canResize = column.getCanResize()\n\n const onResizeStart = (e: unknown) => {\n if (isTouchStartEvent(e)) {\n // lets not respond to multiple touches (e.g. 2 or 3 fingers)\n if (e.touches && e.touches.length > 1) {\n return\n }\n }\n\n const header = headerId ? instance.getHeader(headerId) : undefined\n\n const startSize = header ? header.getWidth() : column.getWidth()\n\n const columnSizingStart: [string, number][] = header\n ? header.getLeafHeaders().map(d => [d.column.id, d.getWidth()])\n : [[column.id, column.getWidth()]]\n\n const clientX = isTouchStartEvent(e)\n ? Math.round(e.touches[0].clientX)\n : (e as MouseEvent).clientX\n\n const updateOffset = (\n eventType: 'move' | 'end',\n clientXPos?: number\n ) => {\n if (typeof clientXPos !== 'number') {\n return\n }\n\n let newColumnSizing: ColumnSizing = {}\n\n instance.setColumnSizingInfo(old => {\n const deltaOffset = clientXPos - (old?.startOffset ?? 0)\n const deltaPercentage = Math.max(\n deltaOffset / (old?.startSize ?? 0),\n -0.999999\n )\n\n old.columnSizingStart.forEach(([columnId, headerWidth]) => {\n newColumnSizing[columnId] =\n Math.round(\n Math.max(headerWidth + headerWidth * deltaPercentage, 0) *\n 100\n ) / 100\n })\n\n return {\n ...old,\n deltaOffset,\n deltaPercentage,\n }\n })\n\n if (\n instance.options.columnResizeMode === 'onChange' ||\n eventType === 'end'\n ) {\n instance.setColumnSizing(old => ({\n ...old,\n ...newColumnSizing,\n }))\n }\n }\n\n const onMove = (clientXPos?: number) =>\n updateOffset('move', clientXPos)\n\n const onEnd = (clientXPos?: number) => {\n updateOffset('end', clientXPos)\n\n instance.setColumnSizingInfo(old => ({\n ...old,\n isResizingColumn: false,\n startOffset: null,\n startSize: null,\n deltaOffset: null,\n deltaPercentage: null,\n columnSizingStart: [],\n }))\n }\n\n const mouseEvents = {\n moveHandler: (e: MouseEvent) => onMove(e.clientX),\n upHandler: (e: MouseEvent) => {\n document.removeEventListener('mousemove', mouseEvents.moveHandler)\n document.removeEventListener('mouseup', mouseEvents.upHandler)\n onEnd(e.clientX)\n },\n }\n\n const touchEvents = {\n moveHandler: (e: TouchEvent) => {\n if (e.cancelable) {\n e.preventDefault()\n e.stopPropagation()\n }\n onMove(e.touches[0].clientX)\n return false\n },\n upHandler: (e: TouchEvent) => {\n document.removeEventListener('touchmove', touchEvents.moveHandler)\n document.removeEventListener('touchend', touchEvents.upHandler)\n if (e.cancelable) {\n e.preventDefault()\n e.stopPropagation()\n }\n onEnd(e.touches[0].clientX)\n },\n }\n\n const passiveIfSupported = passiveEventSupported()\n ? { passive: false }\n : false\n\n if (isTouchStartEvent(e)) {\n document.addEventListener(\n 'touchmove',\n touchEvents.moveHandler,\n passiveIfSupported\n )\n document.addEventListener(\n 'touchend',\n touchEvents.upHandler,\n passiveIfSupported\n )\n } else {\n document.addEventListener(\n 'mousemove',\n mouseEvents.moveHandler,\n passiveIfSupported\n )\n document.addEventListener(\n 'mouseup',\n mouseEvents.upHandler,\n passiveIfSupported\n )\n }\n\n instance.setColumnSizingInfo(old => ({\n ...old,\n startOffset: clientX,\n startSize,\n deltaOffset: 0,\n deltaPercentage: 0,\n columnSizingStart,\n isResizingColumn: column.id,\n }))\n }\n\n const initialProps: ColumnResizerProps = canResize\n ? {\n title: 'Toggle Grouping',\n draggable: false,\n role: 'separator',\n onMouseDown: (e: MouseEvent) => {\n ;(e as any).persist?.()\n onResizeStart(e)\n },\n onTouchStart: (e: TouchEvent) => {\n ;(e as any).persist?.()\n onResizeStart(e)\n },\n }\n : {}\n\n return propGetter(initialProps, userProps)\n },\n }\n },\n\n createColumn: <TGenerics extends TableGenerics>(\n column: Column<TGenerics>,\n instance: TableInstance<TGenerics>\n ): ColumnSizingColumn<TGenerics> => {\n return {\n getIsResizing: () => instance.getColumnIsResizing(column.id),\n getCanResize: () => instance.getColumnCanResize(column.id),\n resetSize: () => instance.resetColumnSize(column.id),\n }\n },\n\n createHeader: <TGenerics extends TableGenerics>(\n header: Header<TGenerics>,\n instance: TableInstance<TGenerics>\n ): ColumnSizingHeader<TGenerics> => {\n return {\n getIsResizing: () => instance.getColumnIsResizing(header.column.id),\n getCanResize: () => instance.getColumnCanResize(header.column.id),\n resetSize: () => instance.resetColumnSize(header.column.id),\n getResizerProps: userProps =>\n instance.getHeaderResizerProps(header.id, userProps),\n }\n },\n}\n\nlet passiveSupported: boolean | null = null\nexport function passiveEventSupported() {\n if (typeof passiveSupported === 'boolean') return passiveSupported\n\n let supported = false\n try {\n const options = {\n get passive() {\n supported = true\n return false\n },\n }\n\n const noop = () => {}\n\n window.addEventListener('test', noop, options)\n window.removeEventListener('test', noop)\n } catch (err) {\n supported = false\n }\n passiveSupported = supported\n return passiveSupported\n}\n\nfunction isTouchStartEvent(e: unknown): e is TouchEvent {\n return (e as TouchEvent).type === 'touchstart'\n}\n"],"names":["defaultColumnSizing","width","minWidth","maxWidth","Number","MAX_SAFE_INTEGER","ColumnSizing","getDefaultColumn","getInitialState","columnSizing","columnSizingInfo","startOffset","startSize","deltaOffset","deltaPercentage","isResizingColumn","columnSizingStart","getDefaultOptions","instance","columnResizeMode","onColumnSizingChange","makeStateUpdater","onColumnSizingInfoChange","getInstance","getColumnWidth","columnId","column","getColumn","Error","columnSize","getState","id","Math","min","max","setColumnSizing","updater","options","setColumnSizingInfo","resetColumnSizing","initialState","resetHeaderSizeInfo","resetColumnSize","rest","_toPropertyKey","resetHeaderSize","headerId","header","getHeader","getHeaderCanResize","getColumnCanResize","enableResizing","enableColumnResizing","defaultCanResize","getColumnIsResizing","getHeaderIsResizing","getHeaderResizerProps","userProps","canResize","getCanResize","onResizeStart","e","isTouchStartEvent","touches","length","undefined","getWidth","getLeafHeaders","map","d","clientX","round","updateOffset","eventType","clientXPos","newColumnSizing","old","forEach","headerWidth","_extends","onMove","onEnd","mouseEvents","moveHandler","upHandler","document","removeEventListener","touchEvents","cancelable","preventDefault","stopPropagation","passiveIfSupported","passiveEventSupported","passive","addEventListener","initialProps","title","draggable","role","onMouseDown","persist","onTouchStart","propGetter","createColumn","getIsResizing","resetSize","createHeader","getResizerProps","passiveSupported","supported","noop","window","err","type"],"mappings":"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"}
1
+ {"version":3,"file":"ColumnSizing.js","sources":["../../../src/features/ColumnSizing.ts"],"sourcesContent":["import {\n Column,\n Getter,\n Header,\n OnChangeFn,\n TableGenerics,\n PropGetterValue,\n TableInstance,\n Updater,\n} from '../types'\nimport { makeStateUpdater, propGetter } from '../utils'\nimport { ColumnPinningPosition } from './Pinning'\n\n//\n\nexport type ColumnSizingTableState = {\n columnSizing: ColumnSizingState\n columnSizingInfo: ColumnSizingInfoState\n}\n\nexport type ColumnSizingState = Record<string, number>\n\nexport type ColumnSizingInfoState = {\n startOffset: null | number\n startSize: null | number\n deltaOffset: null | number\n deltaPercentage: null | number\n isResizingColumn: false | string\n columnSizingStart: [string, number][]\n}\n\nexport type ColumnResizeMode = 'onChange' | 'onEnd'\n\nexport type ColumnSizingOptions = {\n enableColumnResizing?: boolean\n columnResizeMode?: ColumnResizeMode\n onColumnSizingChange?: OnChangeFn<ColumnSizingState>\n onColumnSizingInfoChange?: OnChangeFn<ColumnSizingInfoState>\n}\n\nexport type ColumnSizingDefaultOptions = {\n columnResizeMode: ColumnResizeMode\n onColumnSizingChange: OnChangeFn<ColumnSizingState>\n onColumnSizingInfoChange: OnChangeFn<ColumnSizingInfoState>\n}\n\nexport type ColumnResizerProps = {\n title?: string\n onMouseDown?: (e: MouseEvent) => void\n onTouchStart?: (e: TouchEvent) => void\n draggable?: boolean\n role?: string\n}\n\nexport type ColumnSizingInstance<TGenerics extends TableGenerics> = {\n getColumnSize: (columnId: string) => number\n getColumnStart: (columnId: string, position?: ColumnPinningPosition) => number\n setColumnSizing: (updater: Updater<ColumnSizingState>) => void\n setColumnSizingInfo: (updater: Updater<ColumnSizingInfoState>) => void\n resetColumnSizing: () => void\n resetColumnSize: (columnId: string) => void\n resetHeaderSize: (headerId: string) => void\n resetHeaderSizeInfo: () => void\n getColumnCanResize: (columnId: string) => boolean\n getHeaderCanResize: (headerId: string) => boolean\n getHeaderResizerProps: <TGetter extends Getter<ColumnResizerProps>>(\n headerId: string,\n userProps?: TGetter\n ) => undefined | PropGetterValue<ColumnResizerProps, TGetter>\n getColumnIsResizing: (columnId: string) => boolean\n getHeaderIsResizing: (headerId: string) => boolean\n getTotalSize: () => number\n getLeftTotalSize: () => number\n getCenterTotalSize: () => number\n getRightTotalSize: () => number\n}\n\nexport type ColumnSizingColumnDef = {\n enableResizing?: boolean\n defaultCanResize?: boolean\n size?: number\n minSize?: number\n maxSize?: number\n}\n\nexport type ColumnSizingColumn<TGenerics extends TableGenerics> = {\n getSize: () => number\n getStart: (position?: ColumnPinningPosition) => number\n getCanResize: () => boolean\n getIsResizing: () => boolean\n resetSize: () => void\n}\n\nexport type ColumnSizingHeader<TGenerics extends TableGenerics> = {\n getCanResize: () => boolean\n getIsResizing: () => boolean\n getResizerProps: <TGetter extends Getter<ColumnResizerProps>>(\n userProps?: TGetter\n ) => undefined | PropGetterValue<ColumnResizerProps, TGetter>\n resetSize: () => void\n}\n\n//\n\nexport const defaultColumnSizing = {\n size: 150,\n minSize: 20,\n maxSize: Number.MAX_SAFE_INTEGER,\n}\n\nexport const ColumnSizing = {\n getDefaultColumn: (): ColumnSizingColumnDef => {\n return defaultColumnSizing\n },\n getInitialState: (): ColumnSizingTableState => {\n return {\n columnSizing: {},\n columnSizingInfo: {\n startOffset: null,\n startSize: null,\n deltaOffset: null,\n deltaPercentage: null,\n isResizingColumn: false,\n columnSizingStart: [],\n },\n }\n },\n\n getDefaultOptions: <TGenerics extends TableGenerics>(\n instance: TableInstance<TGenerics>\n ): ColumnSizingDefaultOptions => {\n return {\n columnResizeMode: 'onEnd',\n onColumnSizingChange: makeStateUpdater('columnSizing', instance),\n onColumnSizingInfoChange: makeStateUpdater('columnSizingInfo', instance),\n }\n },\n\n createColumn: <TGenerics extends TableGenerics>(\n column: Column<TGenerics>,\n instance: TableInstance<TGenerics>\n ): ColumnSizingColumn<TGenerics> => {\n return {\n getSize: () => instance.getColumnSize(column.id),\n getStart: position => instance.getColumnStart(column.id, position),\n getIsResizing: () => instance.getColumnIsResizing(column.id),\n getCanResize: () => instance.getColumnCanResize(column.id),\n resetSize: () => instance.resetColumnSize(column.id),\n }\n },\n\n createHeader: <TGenerics extends TableGenerics>(\n header: Header<TGenerics>,\n instance: TableInstance<TGenerics>\n ): ColumnSizingHeader<TGenerics> => {\n return {\n getIsResizing: () => instance.getColumnIsResizing(header.column.id),\n getCanResize: () => instance.getColumnCanResize(header.column.id),\n resetSize: () => instance.resetColumnSize(header.column.id),\n getResizerProps: userProps =>\n instance.getHeaderResizerProps(header.id, userProps),\n }\n },\n\n createInstance: <TGenerics extends TableGenerics>(\n instance: TableInstance<TGenerics>\n ): ColumnSizingInstance<TGenerics> => {\n return {\n getColumnSize: (columnId: string) => {\n const column = instance.getColumn(columnId)\n\n if (!column) {\n throw new Error()\n }\n\n const columnSize = instance.getState().columnSizing[column.id]\n\n return Math.min(\n Math.max(\n column.minSize ?? defaultColumnSizing.minSize,\n columnSize ?? column.size ?? defaultColumnSizing.size\n ),\n column.maxSize ?? defaultColumnSizing.maxSize\n )\n },\n getColumnStart: (columnId, position) => {\n const column = instance.getColumn(columnId)\n\n if (!column) {\n throw new Error()\n }\n\n const columns = !position\n ? instance.getVisibleLeafColumns()\n : position === 'left'\n ? instance.getLeftVisibleLeafColumns()\n : instance.getRightVisibleLeafColumns()\n\n const index = columns.findIndex(d => d.id === columnId)\n\n if (index > 0) {\n const prevSiblingColumn = columns[index - 1]\n\n return (\n instance.getColumnStart(prevSiblingColumn.id, position) +\n prevSiblingColumn.getSize()\n )\n }\n\n return 0\n },\n setColumnSizing: updater =>\n instance.options.onColumnSizingChange?.(updater),\n setColumnSizingInfo: updater =>\n instance.options.onColumnSizingInfoChange?.(updater),\n resetColumnSizing: () => {\n instance.setColumnSizing(instance.initialState.columnSizing ?? {})\n },\n resetHeaderSizeInfo: () => {\n instance.setColumnSizingInfo(\n instance.initialState.columnSizingInfo ?? {}\n )\n },\n resetColumnSize: columnId => {\n instance.setColumnSizing(({ [columnId]: _, ...rest }) => {\n return rest\n })\n },\n resetHeaderSize: headerId => {\n const header = instance.getHeader(headerId)\n\n return instance.resetColumnSize(header.column.id)\n },\n getHeaderCanResize: headerId => {\n const header = instance.getHeader(headerId)\n\n if (!header) {\n throw new Error()\n }\n\n return instance.getColumnCanResize(header.column.id)\n },\n getColumnCanResize: columnId => {\n const column = instance.getColumn(columnId)\n\n if (!column) {\n throw new Error()\n }\n\n return (\n column.enableResizing ??\n instance.options.enableColumnResizing ??\n column.defaultCanResize ??\n true\n )\n },\n getColumnIsResizing: columnId => {\n const column = instance.getColumn(columnId)\n\n if (!column) {\n throw new Error()\n }\n\n return (\n instance.getState().columnSizingInfo.isResizingColumn === columnId\n )\n },\n getHeaderIsResizing: headerId => {\n const header = instance.getHeader(headerId)\n\n if (!header) {\n throw new Error()\n }\n\n return instance.getColumnIsResizing(header.column.id)\n },\n\n getHeaderResizerProps: (headerId, userProps) => {\n const header = instance.getHeader(headerId)\n const column = instance.getColumn(header.column.id)\n\n const canResize = column.getCanResize()\n\n const onResizeStart = (e: unknown) => {\n if (isTouchStartEvent(e)) {\n // lets not respond to multiple touches (e.g. 2 or 3 fingers)\n if (e.touches && e.touches.length > 1) {\n return\n }\n }\n\n const header = headerId ? instance.getHeader(headerId) : undefined\n\n const startSize = header ? header.getSize() : column.getSize()\n\n const columnSizingStart: [string, number][] = header\n ? header.getLeafHeaders().map(d => [d.column.id, d.getSize()])\n : [[column.id, column.getSize()]]\n\n const clientX = isTouchStartEvent(e)\n ? Math.round(e.touches[0].clientX)\n : (e as MouseEvent).clientX\n\n const updateOffset = (\n eventType: 'move' | 'end',\n clientXPos?: number\n ) => {\n if (typeof clientXPos !== 'number') {\n return\n }\n\n let newColumnSizing: ColumnSizingState = {}\n\n instance.setColumnSizingInfo(old => {\n const deltaOffset = clientXPos - (old?.startOffset ?? 0)\n const deltaPercentage = Math.max(\n deltaOffset / (old?.startSize ?? 0),\n -0.999999\n )\n\n old.columnSizingStart.forEach(([columnId, headerSize]) => {\n newColumnSizing[columnId] =\n Math.round(\n Math.max(headerSize + headerSize * deltaPercentage, 0) * 100\n ) / 100\n })\n\n return {\n ...old,\n deltaOffset,\n deltaPercentage,\n }\n })\n\n if (\n instance.options.columnResizeMode === 'onChange' ||\n eventType === 'end'\n ) {\n instance.setColumnSizing(old => ({\n ...old,\n ...newColumnSizing,\n }))\n }\n }\n\n const onMove = (clientXPos?: number) =>\n updateOffset('move', clientXPos)\n\n const onEnd = (clientXPos?: number) => {\n updateOffset('end', clientXPos)\n\n instance.setColumnSizingInfo(old => ({\n ...old,\n isResizingColumn: false,\n startOffset: null,\n startSize: null,\n deltaOffset: null,\n deltaPercentage: null,\n columnSizingStart: [],\n }))\n }\n\n const mouseEvents = {\n moveHandler: (e: MouseEvent) => onMove(e.clientX),\n upHandler: (e: MouseEvent) => {\n document.removeEventListener('mousemove', mouseEvents.moveHandler)\n document.removeEventListener('mouseup', mouseEvents.upHandler)\n onEnd(e.clientX)\n },\n }\n\n const touchEvents = {\n moveHandler: (e: TouchEvent) => {\n if (e.cancelable) {\n e.preventDefault()\n e.stopPropagation()\n }\n onMove(e.touches[0].clientX)\n return false\n },\n upHandler: (e: TouchEvent) => {\n document.removeEventListener('touchmove', touchEvents.moveHandler)\n document.removeEventListener('touchend', touchEvents.upHandler)\n if (e.cancelable) {\n e.preventDefault()\n e.stopPropagation()\n }\n onEnd(e.touches[0].clientX)\n },\n }\n\n const passiveIfSupported = passiveEventSupported()\n ? { passive: false }\n : false\n\n if (isTouchStartEvent(e)) {\n document.addEventListener(\n 'touchmove',\n touchEvents.moveHandler,\n passiveIfSupported\n )\n document.addEventListener(\n 'touchend',\n touchEvents.upHandler,\n passiveIfSupported\n )\n } else {\n document.addEventListener(\n 'mousemove',\n mouseEvents.moveHandler,\n passiveIfSupported\n )\n document.addEventListener(\n 'mouseup',\n mouseEvents.upHandler,\n passiveIfSupported\n )\n }\n\n instance.setColumnSizingInfo(old => ({\n ...old,\n startOffset: clientX,\n startSize,\n deltaOffset: 0,\n deltaPercentage: 0,\n columnSizingStart,\n isResizingColumn: column.id,\n }))\n }\n\n const initialProps: ColumnResizerProps = canResize\n ? {\n title: 'Toggle Grouping',\n draggable: false,\n role: 'separator',\n onMouseDown: (e: MouseEvent) => {\n ;(e as any).persist?.()\n onResizeStart(e)\n },\n onTouchStart: (e: TouchEvent) => {\n ;(e as any).persist?.()\n onResizeStart(e)\n },\n }\n : {}\n\n return propGetter(initialProps, userProps)\n },\n\n getTotalSize: () =>\n instance.getHeaderGroups()[0]?.headers.reduce((sum, header) => {\n return sum + header.getSize()\n }, 0) ?? 0,\n getLeftTotalSize: () =>\n instance.getLeftHeaderGroups()[0]?.headers.reduce((sum, header) => {\n return sum + header.getSize()\n }, 0) ?? 0,\n getCenterTotalSize: () =>\n instance.getCenterHeaderGroups()[0]?.headers.reduce((sum, header) => {\n return sum + header.getSize()\n }, 0) ?? 0,\n getRightTotalSize: () =>\n instance.getRightHeaderGroups()[0]?.headers.reduce((sum, header) => {\n return sum + header.getSize()\n }, 0) ?? 0,\n }\n },\n}\n\nlet passiveSupported: boolean | null = null\nexport function passiveEventSupported() {\n if (typeof passiveSupported === 'boolean') return passiveSupported\n\n let supported = false\n try {\n const options = {\n get passive() {\n supported = true\n return false\n },\n }\n\n const noop = () => {}\n\n window.addEventListener('test', noop, options)\n window.removeEventListener('test', noop)\n } catch (err) {\n supported = false\n }\n passiveSupported = supported\n return passiveSupported\n}\n\nfunction isTouchStartEvent(e: unknown): e is TouchEvent {\n return (e as TouchEvent).type === 'touchstart'\n}\n"],"names":["defaultColumnSizing","size","minSize","maxSize","Number","MAX_SAFE_INTEGER","ColumnSizing","getDefaultColumn","getInitialState","columnSizing","columnSizingInfo","startOffset","startSize","deltaOffset","deltaPercentage","isResizingColumn","columnSizingStart","getDefaultOptions","instance","columnResizeMode","onColumnSizingChange","makeStateUpdater","onColumnSizingInfoChange","createColumn","column","getSize","getColumnSize","id","getStart","position","getColumnStart","getIsResizing","getColumnIsResizing","getCanResize","getColumnCanResize","resetSize","resetColumnSize","createHeader","header","getResizerProps","userProps","getHeaderResizerProps","createInstance","columnId","getColumn","Error","columnSize","getState","Math","min","max","columns","getVisibleLeafColumns","getLeftVisibleLeafColumns","getRightVisibleLeafColumns","index","findIndex","d","prevSiblingColumn","setColumnSizing","updater","options","setColumnSizingInfo","resetColumnSizing","initialState","resetHeaderSizeInfo","rest","_toPropertyKey","resetHeaderSize","headerId","getHeader","getHeaderCanResize","enableResizing","enableColumnResizing","defaultCanResize","getHeaderIsResizing","canResize","onResizeStart","e","isTouchStartEvent","touches","length","undefined","getLeafHeaders","map","clientX","round","updateOffset","eventType","clientXPos","newColumnSizing","old","forEach","headerSize","_extends","onMove","onEnd","mouseEvents","moveHandler","upHandler","document","removeEventListener","touchEvents","cancelable","preventDefault","stopPropagation","passiveIfSupported","passiveEventSupported","passive","addEventListener","initialProps","title","draggable","role","onMouseDown","persist","onTouchStart","propGetter","getTotalSize","getHeaderGroups","headers","reduce","sum","getLeftTotalSize","getLeftHeaderGroups","getCenterTotalSize","getCenterHeaderGroups","getRightTotalSize","getRightHeaderGroups","passiveSupported","supported","noop","window","err","type"],"mappings":";;;;;;;;;;;;;;;;;AAsGA;AAEO,IAAMA,mBAAmB,GAAG;AACjCC,EAAAA,IAAI,EAAE,GAD2B;AAEjCC,EAAAA,OAAO,EAAE,EAFwB;AAGjCC,EAAAA,OAAO,EAAEC,MAAM,CAACC,gBAAAA;AAHiB,EAA5B;AAMA,IAAMC,YAAY,GAAG;AAC1BC,EAAAA,gBAAgB,EAAE,SAA6B,gBAAA,GAAA;AAC7C,IAAA,OAAOP,mBAAP,CAAA;AACD,GAHyB;AAI1BQ,EAAAA,eAAe,EAAE,SAA8B,eAAA,GAAA;AAC7C,IAAO,OAAA;AACLC,MAAAA,YAAY,EAAE,EADT;AAELC,MAAAA,gBAAgB,EAAE;AAChBC,QAAAA,WAAW,EAAE,IADG;AAEhBC,QAAAA,SAAS,EAAE,IAFK;AAGhBC,QAAAA,WAAW,EAAE,IAHG;AAIhBC,QAAAA,eAAe,EAAE,IAJD;AAKhBC,QAAAA,gBAAgB,EAAE,KALF;AAMhBC,QAAAA,iBAAiB,EAAE,EAAA;AANH,OAAA;AAFb,KAAP,CAAA;AAWD,GAhByB;AAkB1BC,EAAAA,iBAAiB,EAAE,SACjBC,iBAAAA,CAAAA,QADiB,EAEc;AAC/B,IAAO,OAAA;AACLC,MAAAA,gBAAgB,EAAE,OADb;AAELC,MAAAA,oBAAoB,EAAEC,sBAAgB,CAAC,cAAD,EAAiBH,QAAjB,CAFjC;AAGLI,MAAAA,wBAAwB,EAAED,sBAAgB,CAAC,kBAAD,EAAqBH,QAArB,CAAA;AAHrC,KAAP,CAAA;AAKD,GA1ByB;AA4B1BK,EAAAA,YAAY,EAAE,SAAA,YAAA,CACZC,MADY,EAEZN,QAFY,EAGsB;AAClC,IAAO,OAAA;AACLO,MAAAA,OAAO,EAAE,SAAA,OAAA,GAAA;AAAA,QAAA,OAAMP,QAAQ,CAACQ,aAAT,CAAuBF,MAAM,CAACG,EAA9B,CAAN,CAAA;AAAA,OADJ;AAELC,MAAAA,QAAQ,EAAE,SAAA,QAAA,CAAAC,QAAQ,EAAA;AAAA,QAAIX,OAAAA,QAAQ,CAACY,cAAT,CAAwBN,MAAM,CAACG,EAA/B,EAAmCE,QAAnC,CAAJ,CAAA;AAAA,OAFb;AAGLE,MAAAA,aAAa,EAAE,SAAA,aAAA,GAAA;AAAA,QAAA,OAAMb,QAAQ,CAACc,mBAAT,CAA6BR,MAAM,CAACG,EAApC,CAAN,CAAA;AAAA,OAHV;AAILM,MAAAA,YAAY,EAAE,SAAA,YAAA,GAAA;AAAA,QAAA,OAAMf,QAAQ,CAACgB,kBAAT,CAA4BV,MAAM,CAACG,EAAnC,CAAN,CAAA;AAAA,OAJT;AAKLQ,MAAAA,SAAS,EAAE,SAAA,SAAA,GAAA;AAAA,QAAA,OAAMjB,QAAQ,CAACkB,eAAT,CAAyBZ,MAAM,CAACG,EAAhC,CAAN,CAAA;AAAA,OAAA;AALN,KAAP,CAAA;AAOD,GAvCyB;AAyC1BU,EAAAA,YAAY,EAAE,SAAA,YAAA,CACZC,MADY,EAEZpB,QAFY,EAGsB;AAClC,IAAO,OAAA;AACLa,MAAAA,aAAa,EAAE,SAAA,aAAA,GAAA;AAAA,QAAMb,OAAAA,QAAQ,CAACc,mBAAT,CAA6BM,MAAM,CAACd,MAAP,CAAcG,EAA3C,CAAN,CAAA;AAAA,OADV;AAELM,MAAAA,YAAY,EAAE,SAAA,YAAA,GAAA;AAAA,QAAMf,OAAAA,QAAQ,CAACgB,kBAAT,CAA4BI,MAAM,CAACd,MAAP,CAAcG,EAA1C,CAAN,CAAA;AAAA,OAFT;AAGLQ,MAAAA,SAAS,EAAE,SAAA,SAAA,GAAA;AAAA,QAAMjB,OAAAA,QAAQ,CAACkB,eAAT,CAAyBE,MAAM,CAACd,MAAP,CAAcG,EAAvC,CAAN,CAAA;AAAA,OAHN;AAILY,MAAAA,eAAe,EAAE,SAAA,eAAA,CAAAC,SAAS,EAAA;AAAA,QACxBtB,OAAAA,QAAQ,CAACuB,qBAAT,CAA+BH,MAAM,CAACX,EAAtC,EAA0Ca,SAA1C,CADwB,CAAA;AAAA,OAAA;AAJrB,KAAP,CAAA;AAOD,GApDyB;AAsD1BE,EAAAA,cAAc,EAAE,SACdxB,cAAAA,CAAAA,QADc,EAEsB;AACpC,IAAO,OAAA;AACLQ,MAAAA,aAAa,EAAE,SAACiB,aAAAA,CAAAA,QAAD,EAAsB;AAAA,QAAA,IAAA,eAAA,EAAA,IAAA,EAAA,eAAA,CAAA;;AACnC,QAAA,IAAMnB,MAAM,GAAGN,QAAQ,CAAC0B,SAAT,CAAmBD,QAAnB,CAAf,CAAA;;AAEA,QAAI,IAAA,CAACnB,MAAL,EAAa;AACX,UAAM,MAAA,IAAIqB,KAAJ,EAAN,CAAA;AACD,SAAA;;AAED,QAAMC,IAAAA,UAAU,GAAG5B,QAAQ,CAAC6B,QAAT,EAAoBtC,CAAAA,YAApB,CAAiCe,MAAM,CAACG,EAAxC,CAAnB,CAAA;AAEA,QAAA,OAAOqB,IAAI,CAACC,GAAL,CACLD,IAAI,CAACE,GAAL,CAAA,CAAA,eAAA,GACE1B,MAAM,CAACtB,OADT,KACoBF,IAAAA,GAAAA,eAAAA,GAAAA,mBAAmB,CAACE,OADxC,UAEE4C,UAFF,IAAA,IAAA,GAEEA,UAFF,GAEgBtB,MAAM,CAACvB,IAFvB,KAE+BD,IAAAA,GAAAA,IAAAA,GAAAA,mBAAmB,CAACC,IAFnD,CADK,EAKLuB,CAAAA,eAAAA,GAAAA,MAAM,CAACrB,OALF,KAAA,IAAA,GAAA,eAAA,GAKaH,mBAAmB,CAACG,OALjC,CAAP,CAAA;AAOD,OAjBI;AAkBL2B,MAAAA,cAAc,EAAE,SAAA,cAAA,CAACa,QAAD,EAAWd,QAAX,EAAwB;AACtC,QAAA,IAAML,MAAM,GAAGN,QAAQ,CAAC0B,SAAT,CAAmBD,QAAnB,CAAf,CAAA;;AAEA,QAAI,IAAA,CAACnB,MAAL,EAAa;AACX,UAAM,MAAA,IAAIqB,KAAJ,EAAN,CAAA;AACD,SAAA;;AAED,QAAMM,IAAAA,OAAO,GAAG,CAACtB,QAAD,GACZX,QAAQ,CAACkC,qBAAT,EADY,GAEZvB,QAAQ,KAAK,MAAb,GACAX,QAAQ,CAACmC,yBAAT,EADA,GAEAnC,QAAQ,CAACoC,0BAAT,EAJJ,CAAA;AAMA,QAAA,IAAMC,KAAK,GAAGJ,OAAO,CAACK,SAAR,CAAkB,UAAAC,CAAC,EAAA;AAAA,UAAA,OAAIA,CAAC,CAAC9B,EAAF,KAASgB,QAAb,CAAA;AAAA,SAAnB,CAAd,CAAA;;AAEA,QAAIY,IAAAA,KAAK,GAAG,CAAZ,EAAe;AACb,UAAA,IAAMG,iBAAiB,GAAGP,OAAO,CAACI,KAAK,GAAG,CAAT,CAAjC,CAAA;AAEA,UAAA,OACErC,QAAQ,CAACY,cAAT,CAAwB4B,iBAAiB,CAAC/B,EAA1C,EAA8CE,QAA9C,CAAA,GACA6B,iBAAiB,CAACjC,OAAlB,EAFF,CAAA;AAID,SAAA;;AAED,QAAA,OAAO,CAAP,CAAA;AACD,OA3CI;AA4CLkC,MAAAA,eAAe,EAAE,SAAA,eAAA,CAAAC,OAAO,EAAA;AAAA,QAAA,OACtB1C,QAAQ,CAAC2C,OAAT,CAAiBzC,oBADK,IAAA,IAAA,GAAA,KAAA,CAAA,GACtBF,QAAQ,CAAC2C,OAAT,CAAiBzC,oBAAjB,CAAwCwC,OAAxC,CADsB,CAAA;AAAA,OA5CnB;AA8CLE,MAAAA,mBAAmB,EAAE,SAAA,mBAAA,CAAAF,OAAO,EAAA;AAAA,QAAA,OAC1B1C,QAAQ,CAAC2C,OAAT,CAAiBvC,wBADS,IAAA,IAAA,GAAA,KAAA,CAAA,GAC1BJ,QAAQ,CAAC2C,OAAT,CAAiBvC,wBAAjB,CAA4CsC,OAA5C,CAD0B,CAAA;AAAA,OA9CvB;AAgDLG,MAAAA,iBAAiB,EAAE,SAAM,iBAAA,GAAA;AAAA,QAAA,IAAA,qBAAA,CAAA;;AACvB7C,QAAAA,QAAQ,CAACyC,eAAT,CAAyBzC,CAAAA,qBAAAA,GAAAA,QAAQ,CAAC8C,YAAT,CAAsBvD,YAA/C,KAAA,IAAA,GAAA,qBAAA,GAA+D,EAA/D,CAAA,CAAA;AACD,OAlDI;AAmDLwD,MAAAA,mBAAmB,EAAE,SAAM,mBAAA,GAAA;AAAA,QAAA,IAAA,sBAAA,CAAA;;AACzB/C,QAAAA,QAAQ,CAAC4C,mBAAT,CACE5C,CAAAA,sBAAAA,GAAAA,QAAQ,CAAC8C,YAAT,CAAsBtD,gBADxB,KAAA,IAAA,GAAA,sBAAA,GAC4C,EAD5C,CAAA,CAAA;AAGD,OAvDI;AAwDL0B,MAAAA,eAAe,EAAE,SAAAO,eAAAA,CAAAA,QAAQ,EAAI;AAC3BzB,QAAAA,QAAQ,CAACyC,eAAT,CAAyB,UAAgC,KAAA,EAAA;AAAA,gBAA5BhB,QAA4B,CAAA,CAAA;AAAA,kBAAXuB,IAAW,kEAA5BvB,QAA4B,CAAA,CAAA,GAAA,CAAAwB,uCAAA,CAAA,EAAA;;AACvD,UAAA,OAAOD,IAAP,CAAA;AACD,SAFD,CAAA,CAAA;AAGD,OA5DI;AA6DLE,MAAAA,eAAe,EAAE,SAAAC,eAAAA,CAAAA,QAAQ,EAAI;AAC3B,QAAA,IAAM/B,MAAM,GAAGpB,QAAQ,CAACoD,SAAT,CAAmBD,QAAnB,CAAf,CAAA;AAEA,QAAOnD,OAAAA,QAAQ,CAACkB,eAAT,CAAyBE,MAAM,CAACd,MAAP,CAAcG,EAAvC,CAAP,CAAA;AACD,OAjEI;AAkEL4C,MAAAA,kBAAkB,EAAE,SAAAF,kBAAAA,CAAAA,QAAQ,EAAI;AAC9B,QAAA,IAAM/B,MAAM,GAAGpB,QAAQ,CAACoD,SAAT,CAAmBD,QAAnB,CAAf,CAAA;;AAEA,QAAI,IAAA,CAAC/B,MAAL,EAAa;AACX,UAAM,MAAA,IAAIO,KAAJ,EAAN,CAAA;AACD,SAAA;;AAED,QAAO3B,OAAAA,QAAQ,CAACgB,kBAAT,CAA4BI,MAAM,CAACd,MAAP,CAAcG,EAA1C,CAAP,CAAA;AACD,OA1EI;AA2ELO,MAAAA,kBAAkB,EAAE,SAAAS,kBAAAA,CAAAA,QAAQ,EAAI;AAAA,QAAA,IAAA,KAAA,EAAA,KAAA,EAAA,qBAAA,CAAA;;AAC9B,QAAA,IAAMnB,MAAM,GAAGN,QAAQ,CAAC0B,SAAT,CAAmBD,QAAnB,CAAf,CAAA;;AAEA,QAAI,IAAA,CAACnB,MAAL,EAAa;AACX,UAAM,MAAA,IAAIqB,KAAJ,EAAN,CAAA;AACD,SAAA;;AAED,QAAA,OAAA,CAAA,KAAA,GAAA,CAAA,KAAA,GAAA,CAAA,qBAAA,GACErB,MAAM,CAACgD,cADT,KAAA,IAAA,GAAA,qBAAA,GAEEtD,QAAQ,CAAC2C,OAAT,CAAiBY,oBAFnB,KAGEjD,IAAAA,GAAAA,KAAAA,GAAAA,MAAM,CAACkD,gBAHT,oBAIE,IAJF,CAAA;AAMD,OAxFI;AAyFL1C,MAAAA,mBAAmB,EAAE,SAAAW,mBAAAA,CAAAA,QAAQ,EAAI;AAC/B,QAAA,IAAMnB,MAAM,GAAGN,QAAQ,CAAC0B,SAAT,CAAmBD,QAAnB,CAAf,CAAA;;AAEA,QAAI,IAAA,CAACnB,MAAL,EAAa;AACX,UAAM,MAAA,IAAIqB,KAAJ,EAAN,CAAA;AACD,SAAA;;AAED,QACE3B,OAAAA,QAAQ,CAAC6B,QAAT,EAAA,CAAoBrC,gBAApB,CAAqCK,gBAArC,KAA0D4B,QAD5D,CAAA;AAGD,OAnGI;AAoGLgC,MAAAA,mBAAmB,EAAE,SAAAN,mBAAAA,CAAAA,QAAQ,EAAI;AAC/B,QAAA,IAAM/B,MAAM,GAAGpB,QAAQ,CAACoD,SAAT,CAAmBD,QAAnB,CAAf,CAAA;;AAEA,QAAI,IAAA,CAAC/B,MAAL,EAAa;AACX,UAAM,MAAA,IAAIO,KAAJ,EAAN,CAAA;AACD,SAAA;;AAED,QAAO3B,OAAAA,QAAQ,CAACc,mBAAT,CAA6BM,MAAM,CAACd,MAAP,CAAcG,EAA3C,CAAP,CAAA;AACD,OA5GI;AA8GLc,MAAAA,qBAAqB,EAAE,SAAA,qBAAA,CAAC4B,QAAD,EAAW7B,SAAX,EAAyB;AAC9C,QAAA,IAAMF,MAAM,GAAGpB,QAAQ,CAACoD,SAAT,CAAmBD,QAAnB,CAAf,CAAA;AACA,QAAM7C,IAAAA,MAAM,GAAGN,QAAQ,CAAC0B,SAAT,CAAmBN,MAAM,CAACd,MAAP,CAAcG,EAAjC,CAAf,CAAA;AAEA,QAAA,IAAMiD,SAAS,GAAGpD,MAAM,CAACS,YAAP,EAAlB,CAAA;;AAEA,QAAA,IAAM4C,aAAa,GAAG,SAAhBA,aAAgB,CAACC,CAAD,EAAgB;AACpC,UAAA,IAAIC,iBAAiB,CAACD,CAAD,CAArB,EAA0B;AACxB;AACA,YAAIA,IAAAA,CAAC,CAACE,OAAF,IAAaF,CAAC,CAACE,OAAF,CAAUC,MAAV,GAAmB,CAApC,EAAuC;AACrC,cAAA,OAAA;AACD,aAAA;AACF,WAAA;;AAED,UAAM3C,IAAAA,MAAM,GAAG+B,QAAQ,GAAGnD,QAAQ,CAACoD,SAAT,CAAmBD,QAAnB,CAAH,GAAkCa,SAAzD,CAAA;AAEA,UAAA,IAAMtE,SAAS,GAAG0B,MAAM,GAAGA,MAAM,CAACb,OAAP,EAAH,GAAsBD,MAAM,CAACC,OAAP,EAA9C,CAAA;AAEA,UAAMT,IAAAA,iBAAqC,GAAGsB,MAAM,GAChDA,MAAM,CAAC6C,cAAP,EAAwBC,CAAAA,GAAxB,CAA4B,UAAA3B,CAAC,EAAA;AAAA,YAAI,OAAA,CAACA,CAAC,CAACjC,MAAF,CAASG,EAAV,EAAc8B,CAAC,CAAChC,OAAF,EAAd,CAAJ,CAAA;AAAA,WAA7B,CADgD,GAEhD,CAAC,CAACD,MAAM,CAACG,EAAR,EAAYH,MAAM,CAACC,OAAP,EAAZ,CAAD,CAFJ,CAAA;AAIA,UAAM4D,IAAAA,OAAO,GAAGN,iBAAiB,CAACD,CAAD,CAAjB,GACZ9B,IAAI,CAACsC,KAAL,CAAWR,CAAC,CAACE,OAAF,CAAU,CAAV,CAAA,CAAaK,OAAxB,CADY,GAEXP,CAAD,CAAkBO,OAFtB,CAAA;;AAIA,UAAME,IAAAA,YAAY,GAAG,SAAfA,YAAe,CACnBC,SADmB,EAEnBC,UAFmB,EAGhB;AACH,YAAA,IAAI,OAAOA,UAAP,KAAsB,QAA1B,EAAoC;AAClC,cAAA,OAAA;AACD,aAAA;;AAED,YAAIC,IAAAA,eAAkC,GAAG,EAAzC,CAAA;AAEAxE,YAAAA,QAAQ,CAAC4C,mBAAT,CAA6B,UAAA6B,GAAG,EAAI;AAAA,cAAA,IAAA,gBAAA,EAAA,cAAA,CAAA;;AAClC,cAAM9E,IAAAA,WAAW,GAAG4E,UAAU,IAAIE,CAAAA,gBAAAA,GAAAA,GAAJ,IAAIA,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,GAAG,CAAEhF,WAAT,KAAwB,IAAA,GAAA,gBAAA,GAAA,CAAxB,CAA9B,CAAA;AACA,cAAA,IAAMG,eAAe,GAAGkC,IAAI,CAACE,GAAL,CACtBrC,WAAW,IAAI8E,CAAAA,cAAAA,GAAAA,GAAJ,oBAAIA,GAAG,CAAE/E,SAAT,KAAsB,IAAA,GAAA,cAAA,GAAA,CAAtB,CADW,EAEtB,CAAC,QAFqB,CAAxB,CAAA;AAKA+E,cAAAA,GAAG,CAAC3E,iBAAJ,CAAsB4E,OAAtB,CAA8B,UAA4B,KAAA,EAAA;AAAA,gBAAA,IAA1BjD,QAA0B,GAAA,KAAA,CAAA,CAAA,CAAA;AAAA,oBAAhBkD,UAAgB,GAAA,KAAA,CAAA,CAAA,CAAA,CAAA;AACxDH,gBAAAA,eAAe,CAAC/C,QAAD,CAAf,GACEK,IAAI,CAACsC,KAAL,CACEtC,IAAI,CAACE,GAAL,CAAS2C,UAAU,GAAGA,UAAU,GAAG/E,eAAnC,EAAoD,CAApD,CAAA,GAAyD,GAD3D,CAAA,GAEI,GAHN,CAAA;AAID,eALD,CAAA,CAAA;AAOA,cAAA,OAAAgF,oCAAA,CAAA,EAAA,EACKH,GADL,EAAA;AAEE9E,gBAAAA,WAAW,EAAXA,WAFF;AAGEC,gBAAAA,eAAe,EAAfA,eAAAA;AAHF,eAAA,CAAA,CAAA;AAKD,aAnBD,CAAA,CAAA;;AAqBA,YACEI,IAAAA,QAAQ,CAAC2C,OAAT,CAAiB1C,gBAAjB,KAAsC,UAAtC,IACAqE,SAAS,KAAK,KAFhB,EAGE;AACAtE,cAAAA,QAAQ,CAACyC,eAAT,CAAyB,UAAAgC,GAAG,EAAA;AAAA,gBACvBA,OAAAA,oCAAAA,CAAAA,EAAAA,EAAAA,GADuB,EAEvBD,eAFuB,CAAA,CAAA;AAAA,eAA5B,CAAA,CAAA;AAID,aAAA;AACF,WAxCD,CAAA;;AA0CA,UAAA,IAAMK,MAAM,GAAG,SAATA,MAAS,CAACN,UAAD,EAAA;AAAA,YAAA,OACbF,YAAY,CAAC,MAAD,EAASE,UAAT,CADC,CAAA;AAAA,WAAf,CAAA;;AAGA,UAAA,IAAMO,KAAK,GAAG,SAARA,KAAQ,CAACP,UAAD,EAAyB;AACrCF,YAAAA,YAAY,CAAC,KAAD,EAAQE,UAAR,CAAZ,CAAA;AAEAvE,YAAAA,QAAQ,CAAC4C,mBAAT,CAA6B,UAAA6B,GAAG,EAAA;AAAA,cAAA,OAAAG,oCAAA,CAAA,EAAA,EAC3BH,GAD2B,EAAA;AAE9B5E,gBAAAA,gBAAgB,EAAE,KAFY;AAG9BJ,gBAAAA,WAAW,EAAE,IAHiB;AAI9BC,gBAAAA,SAAS,EAAE,IAJmB;AAK9BC,gBAAAA,WAAW,EAAE,IALiB;AAM9BC,gBAAAA,eAAe,EAAE,IANa;AAO9BE,gBAAAA,iBAAiB,EAAE,EAAA;AAPW,eAAA,CAAA,CAAA;AAAA,aAAhC,CAAA,CAAA;AASD,WAZD,CAAA;;AAcA,UAAA,IAAMiF,WAAW,GAAG;AAClBC,YAAAA,WAAW,EAAE,SAAA,WAAA,CAACpB,CAAD,EAAA;AAAA,cAAA,OAAmBiB,MAAM,CAACjB,CAAC,CAACO,OAAH,CAAzB,CAAA;AAAA,aADK;AAElBc,YAAAA,SAAS,EAAE,SAACrB,SAAAA,CAAAA,CAAD,EAAmB;AAC5BsB,cAAAA,QAAQ,CAACC,mBAAT,CAA6B,WAA7B,EAA0CJ,WAAW,CAACC,WAAtD,CAAA,CAAA;AACAE,cAAAA,QAAQ,CAACC,mBAAT,CAA6B,SAA7B,EAAwCJ,WAAW,CAACE,SAApD,CAAA,CAAA;AACAH,cAAAA,KAAK,CAAClB,CAAC,CAACO,OAAH,CAAL,CAAA;AACD,aAAA;AANiB,WAApB,CAAA;AASA,UAAA,IAAMiB,WAAW,GAAG;AAClBJ,YAAAA,WAAW,EAAE,SAACpB,WAAAA,CAAAA,CAAD,EAAmB;AAC9B,cAAIA,IAAAA,CAAC,CAACyB,UAAN,EAAkB;AAChBzB,gBAAAA,CAAC,CAAC0B,cAAF,EAAA,CAAA;AACA1B,gBAAAA,CAAC,CAAC2B,eAAF,EAAA,CAAA;AACD,eAAA;;AACDV,cAAAA,MAAM,CAACjB,CAAC,CAACE,OAAF,CAAU,CAAV,CAAaK,CAAAA,OAAd,CAAN,CAAA;AACA,cAAA,OAAO,KAAP,CAAA;AACD,aARiB;AASlBc,YAAAA,SAAS,EAAE,SAACrB,SAAAA,CAAAA,CAAD,EAAmB;AAC5BsB,cAAAA,QAAQ,CAACC,mBAAT,CAA6B,WAA7B,EAA0CC,WAAW,CAACJ,WAAtD,CAAA,CAAA;AACAE,cAAAA,QAAQ,CAACC,mBAAT,CAA6B,UAA7B,EAAyCC,WAAW,CAACH,SAArD,CAAA,CAAA;;AACA,cAAIrB,IAAAA,CAAC,CAACyB,UAAN,EAAkB;AAChBzB,gBAAAA,CAAC,CAAC0B,cAAF,EAAA,CAAA;AACA1B,gBAAAA,CAAC,CAAC2B,eAAF,EAAA,CAAA;AACD,eAAA;;AACDT,cAAAA,KAAK,CAAClB,CAAC,CAACE,OAAF,CAAU,CAAV,CAAaK,CAAAA,OAAd,CAAL,CAAA;AACD,aAAA;AAjBiB,WAApB,CAAA;AAoBA,UAAMqB,IAAAA,kBAAkB,GAAGC,qBAAqB,EAC5C,GAAA;AAAEC,YAAAA,OAAO,EAAE,KAAA;AAAX,WAD4C,GAE5C,KAFJ,CAAA;;AAIA,UAAA,IAAI7B,iBAAiB,CAACD,CAAD,CAArB,EAA0B;AACxBsB,YAAAA,QAAQ,CAACS,gBAAT,CACE,WADF,EAEEP,WAAW,CAACJ,WAFd,EAGEQ,kBAHF,CAAA,CAAA;AAKAN,YAAAA,QAAQ,CAACS,gBAAT,CACE,UADF,EAEEP,WAAW,CAACH,SAFd,EAGEO,kBAHF,CAAA,CAAA;AAKD,WAXD,MAWO;AACLN,YAAAA,QAAQ,CAACS,gBAAT,CACE,WADF,EAEEZ,WAAW,CAACC,WAFd,EAGEQ,kBAHF,CAAA,CAAA;AAKAN,YAAAA,QAAQ,CAACS,gBAAT,CACE,SADF,EAEEZ,WAAW,CAACE,SAFd,EAGEO,kBAHF,CAAA,CAAA;AAKD,WAAA;;AAEDxF,UAAAA,QAAQ,CAAC4C,mBAAT,CAA6B,UAAA6B,GAAG,EAAA;AAAA,YAAA,OAAAG,oCAAA,CAAA,EAAA,EAC3BH,GAD2B,EAAA;AAE9BhF,cAAAA,WAAW,EAAE0E,OAFiB;AAG9BzE,cAAAA,SAAS,EAATA,SAH8B;AAI9BC,cAAAA,WAAW,EAAE,CAJiB;AAK9BC,cAAAA,eAAe,EAAE,CALa;AAM9BE,cAAAA,iBAAiB,EAAjBA,iBAN8B;AAO9BD,cAAAA,gBAAgB,EAAES,MAAM,CAACG,EAAAA;AAPK,aAAA,CAAA,CAAA;AAAA,WAAhC,CAAA,CAAA;AASD,SAjJD,CAAA;;AAmJA,QAAMmF,IAAAA,YAAgC,GAAGlC,SAAS,GAC9C;AACEmC,UAAAA,KAAK,EAAE,iBADT;AAEEC,UAAAA,SAAS,EAAE,KAFb;AAGEC,UAAAA,IAAI,EAAE,WAHR;AAIEC,UAAAA,WAAW,EAAE,SAACpC,WAAAA,CAAAA,CAAD,EAAmB;AAC5BA,YAAAA,CAAD,CAAWqC,OAAX,IAACrC,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,CAAD,CAAWqC,OAAX,EAAA,CAAA;AACDtC,YAAAA,aAAa,CAACC,CAAD,CAAb,CAAA;AACD,WAPH;AAQEsC,UAAAA,YAAY,EAAE,SAACtC,YAAAA,CAAAA,CAAD,EAAmB;AAC7BA,YAAAA,CAAD,CAAWqC,OAAX,IAACrC,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,CAAD,CAAWqC,OAAX,EAAA,CAAA;AACDtC,YAAAA,aAAa,CAACC,CAAD,CAAb,CAAA;AACD,WAAA;AAXH,SAD8C,GAc9C,EAdJ,CAAA;AAgBA,QAAA,OAAOuC,gBAAU,CAACP,YAAD,EAAetE,SAAf,CAAjB,CAAA;AACD,OAxRI;AA0RL8E,MAAAA,YAAY,EAAE,SAAA,YAAA,GAAA;AAAA,QAAA,IAAA,qBAAA,EAAA,sBAAA,CAAA;;AAAA,QAAA,OAAA,CAAA,qBAAA,GAAA,CAAA,sBAAA,GACZpG,QAAQ,CAACqG,eAAT,EAA2B,CAAA,CAA3B,CADY,KACZ,IAAA,GAAA,KAAA,CAAA,GAAA,sBAAA,CAA+BC,OAA/B,CAAuCC,MAAvC,CAA8C,UAACC,GAAD,EAAMpF,MAAN,EAAiB;AAC7D,UAAA,OAAOoF,GAAG,GAAGpF,MAAM,CAACb,OAAP,EAAb,CAAA;AACD,SAFD,EAEG,CAFH,CADY,KAAA,IAAA,GAAA,qBAAA,GAGH,CAHG,CAAA;AAAA,OA1RT;AA8RLkG,MAAAA,gBAAgB,EAAE,SAAA,gBAAA,GAAA;AAAA,QAAA,IAAA,qBAAA,EAAA,sBAAA,CAAA;;AAAA,QAAA,OAAA,CAAA,qBAAA,GAAA,CAAA,sBAAA,GAChBzG,QAAQ,CAAC0G,mBAAT,EAA+B,CAAA,CAA/B,CADgB,KAChB,IAAA,GAAA,KAAA,CAAA,GAAA,sBAAA,CAAmCJ,OAAnC,CAA2CC,MAA3C,CAAkD,UAACC,GAAD,EAAMpF,MAAN,EAAiB;AACjE,UAAA,OAAOoF,GAAG,GAAGpF,MAAM,CAACb,OAAP,EAAb,CAAA;AACD,SAFD,EAEG,CAFH,CADgB,KAAA,IAAA,GAAA,qBAAA,GAGP,CAHO,CAAA;AAAA,OA9Rb;AAkSLoG,MAAAA,kBAAkB,EAAE,SAAA,kBAAA,GAAA;AAAA,QAAA,IAAA,qBAAA,EAAA,sBAAA,CAAA;;AAAA,QAAA,OAAA,CAAA,qBAAA,GAAA,CAAA,sBAAA,GAClB3G,QAAQ,CAAC4G,qBAAT,EAAiC,CAAA,CAAjC,CADkB,KAClB,IAAA,GAAA,KAAA,CAAA,GAAA,sBAAA,CAAqCN,OAArC,CAA6CC,MAA7C,CAAoD,UAACC,GAAD,EAAMpF,MAAN,EAAiB;AACnE,UAAA,OAAOoF,GAAG,GAAGpF,MAAM,CAACb,OAAP,EAAb,CAAA;AACD,SAFD,EAEG,CAFH,CADkB,KAAA,IAAA,GAAA,qBAAA,GAGT,CAHS,CAAA;AAAA,OAlSf;AAsSLsG,MAAAA,iBAAiB,EAAE,SAAA,iBAAA,GAAA;AAAA,QAAA,IAAA,qBAAA,EAAA,sBAAA,CAAA;;AAAA,QAAA,OAAA,CAAA,qBAAA,GAAA,CAAA,sBAAA,GACjB7G,QAAQ,CAAC8G,oBAAT,EAAgC,CAAA,CAAhC,CADiB,KACjB,IAAA,GAAA,KAAA,CAAA,GAAA,sBAAA,CAAoCR,OAApC,CAA4CC,MAA5C,CAAmD,UAACC,GAAD,EAAMpF,MAAN,EAAiB;AAClE,UAAA,OAAOoF,GAAG,GAAGpF,MAAM,CAACb,OAAP,EAAb,CAAA;AACD,SAFD,EAEG,CAFH,CADiB,KAAA,IAAA,GAAA,qBAAA,GAGR,CAHQ,CAAA;AAAA,OAAA;AAtSd,KAAP,CAAA;AA2SD,GAAA;AApWyB,EAArB;AAuWP,IAAIwG,gBAAgC,GAAG,IAAvC,CAAA;AACO,SAAStB,qBAAT,GAAiC;AACtC,EAAA,IAAI,OAAOsB,gBAAP,KAA4B,SAAhC,EAA2C,OAAOA,gBAAP,CAAA;AAE3C,EAAIC,IAAAA,SAAS,GAAG,KAAhB,CAAA;;AACA,EAAI,IAAA;AACF,IAAA,IAAMrE,OAAO,GAAG;AACd,MAAA,IAAI+C,OAAJ,GAAc;AACZsB,QAAAA,SAAS,GAAG,IAAZ,CAAA;AACA,QAAA,OAAO,KAAP,CAAA;AACD,OAAA;;AAJa,KAAhB,CAAA;;AAOA,IAAA,IAAMC,IAAI,GAAG,SAAPA,IAAO,GAAM,EAAnB,CAAA;;AAEAC,IAAAA,MAAM,CAACvB,gBAAP,CAAwB,MAAxB,EAAgCsB,IAAhC,EAAsCtE,OAAtC,CAAA,CAAA;AACAuE,IAAAA,MAAM,CAAC/B,mBAAP,CAA2B,MAA3B,EAAmC8B,IAAnC,CAAA,CAAA;AACD,GAZD,CAYE,OAAOE,GAAP,EAAY;AACZH,IAAAA,SAAS,GAAG,KAAZ,CAAA;AACD,GAAA;;AACDD,EAAAA,gBAAgB,GAAGC,SAAnB,CAAA;AACA,EAAA,OAAOD,gBAAP,CAAA;AACD,CAAA;;AAED,SAASlD,iBAAT,CAA2BD,CAA3B,EAAwD;AACtD,EAAA,OAAQA,CAAD,CAAkBwD,IAAlB,KAA2B,YAAlC,CAAA;AACD;;;;;;"}