@tanstack/react-table 8.0.0-alpha.7 → 8.0.0-alpha.70

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/react-table/src/index.js +133 -0
  2. package/build/cjs/react-table/src/index.js.map +1 -0
  3. package/build/cjs/table-core/build/esm/index.js +4033 -0
  4. package/build/cjs/table-core/build/esm/index.js.map +1 -0
  5. package/build/esm/index.js +3342 -4072
  6. package/build/esm/index.js.map +1 -1
  7. package/build/stats-html.html +1 -1
  8. package/build/stats-react.json +24 -783
  9. package/build/types/index.d.ts +16 -8
  10. package/build/umd/index.development.js +3372 -4072
  11. package/build/umd/index.development.js.map +1 -1
  12. package/build/umd/index.production.js +11 -1
  13. package/build/umd/index.production.js.map +1 -1
  14. package/package.json +5 -1
  15. package/src/index.tsx +113 -8
  16. package/build/cjs/_virtual/_rollupPluginBabelHelpers.js +0 -112
  17. package/build/cjs/_virtual/_rollupPluginBabelHelpers.js.map +0 -1
  18. package/build/cjs/aggregationTypes.js +0 -130
  19. package/build/cjs/aggregationTypes.js.map +0 -1
  20. package/build/cjs/core.js +0 -552
  21. package/build/cjs/core.js.map +0 -1
  22. package/build/cjs/createTable.js +0 -122
  23. package/build/cjs/createTable.js.map +0 -1
  24. package/build/cjs/features/ColumnSizing.js +0 -317
  25. package/build/cjs/features/ColumnSizing.js.map +0 -1
  26. package/build/cjs/features/Expanding.js +0 -251
  27. package/build/cjs/features/Expanding.js.map +0 -1
  28. package/build/cjs/features/Filters.js +0 -445
  29. package/build/cjs/features/Filters.js.map +0 -1
  30. package/build/cjs/features/Grouping.js +0 -249
  31. package/build/cjs/features/Grouping.js.map +0 -1
  32. package/build/cjs/features/Headers.js +0 -549
  33. package/build/cjs/features/Headers.js.map +0 -1
  34. package/build/cjs/features/Ordering.js +0 -86
  35. package/build/cjs/features/Ordering.js.map +0 -1
  36. package/build/cjs/features/Pagination.js +0 -198
  37. package/build/cjs/features/Pagination.js.map +0 -1
  38. package/build/cjs/features/Pinning.js +0 -149
  39. package/build/cjs/features/Pinning.js.map +0 -1
  40. package/build/cjs/features/RowSelection.js +0 -541
  41. package/build/cjs/features/RowSelection.js.map +0 -1
  42. package/build/cjs/features/Sorting.js +0 -327
  43. package/build/cjs/features/Sorting.js.map +0 -1
  44. package/build/cjs/features/Visibility.js +0 -166
  45. package/build/cjs/features/Visibility.js.map +0 -1
  46. package/build/cjs/filterTypes.js +0 -172
  47. package/build/cjs/filterTypes.js.map +0 -1
  48. package/build/cjs/index.js +0 -32
  49. package/build/cjs/index.js.map +0 -1
  50. package/build/cjs/sortTypes.js +0 -122
  51. package/build/cjs/sortTypes.js.map +0 -1
  52. package/build/cjs/utils/columnFilterRowsFn.js +0 -131
  53. package/build/cjs/utils/columnFilterRowsFn.js.map +0 -1
  54. package/build/cjs/utils/expandRowsFn.js +0 -38
  55. package/build/cjs/utils/expandRowsFn.js.map +0 -1
  56. package/build/cjs/utils/globalFilterRowsFn.js +0 -101
  57. package/build/cjs/utils/globalFilterRowsFn.js.map +0 -1
  58. package/build/cjs/utils/groupRowsFn.js +0 -155
  59. package/build/cjs/utils/groupRowsFn.js.map +0 -1
  60. package/build/cjs/utils/paginateRowsFn.js +0 -44
  61. package/build/cjs/utils/paginateRowsFn.js.map +0 -1
  62. package/build/cjs/utils/sortRowsFn.js +0 -94
  63. package/build/cjs/utils/sortRowsFn.js.map +0 -1
  64. package/build/cjs/utils.js +0 -141
  65. package/build/cjs/utils.js.map +0 -1
  66. package/build/types/aggregationTypes.d.ts +0 -22
  67. package/build/types/core.d.ts +0 -109
  68. package/build/types/createTable.d.ts +0 -52
  69. package/build/types/features/ColumnSizing.d.ts +0 -67
  70. package/build/types/features/Expanding.d.ts +0 -53
  71. package/build/types/features/Filters.d.ts +0 -98
  72. package/build/types/features/Grouping.d.ts +0 -82
  73. package/build/types/features/Headers.d.ts +0 -41
  74. package/build/types/features/Ordering.d.ts +0 -19
  75. package/build/types/features/Pagination.d.ts +0 -44
  76. package/build/types/features/Pinning.d.ts +0 -39
  77. package/build/types/features/RowSelection.d.ts +0 -66
  78. package/build/types/features/Sorting.d.ts +0 -78
  79. package/build/types/features/Visibility.d.ts +0 -47
  80. package/build/types/filterTypes.d.ts +0 -50
  81. package/build/types/sortTypes.d.ts +0 -18
  82. package/build/types/types.d.ts +0 -127
  83. package/build/types/utils/columnFilterRowsFn.d.ts +0 -2
  84. package/build/types/utils/expandRowsFn.d.ts +0 -2
  85. package/build/types/utils/globalFilterRowsFn.d.ts +0 -2
  86. package/build/types/utils/groupRowsFn.d.ts +0 -2
  87. package/build/types/utils/paginateRowsFn.d.ts +0 -2
  88. package/build/types/utils/sortRowsFn.d.ts +0 -2
  89. package/build/types/utils.d.ts +0 -24
  90. package/src/aggregationTypes.ts +0 -115
  91. package/src/core.tsx +0 -1091
  92. package/src/createTable.tsx +0 -264
  93. package/src/features/ColumnSizing.ts +0 -453
  94. package/src/features/Expanding.ts +0 -406
  95. package/src/features/Filters.ts +0 -762
  96. package/src/features/Grouping.ts +0 -466
  97. package/src/features/Headers.ts +0 -912
  98. package/src/features/Ordering.ts +0 -133
  99. package/src/features/Pagination.ts +0 -325
  100. package/src/features/Pinning.ts +0 -198
  101. package/src/features/RowSelection.ts +0 -831
  102. package/src/features/Sorting.ts +0 -547
  103. package/src/features/Visibility.ts +0 -279
  104. package/src/filterTypes.ts +0 -251
  105. package/src/sortTypes.ts +0 -159
  106. package/src/types.ts +0 -331
  107. package/src/utils/columnFilterRowsFn.ts +0 -155
  108. package/src/utils/expandRowsFn.ts +0 -50
  109. package/src/utils/globalFilterRowsFn.ts +0 -122
  110. package/src/utils/groupRowsFn.ts +0 -194
  111. package/src/utils/paginateRowsFn.ts +0 -34
  112. package/src/utils/sortRowsFn.ts +0 -115
  113. package/src/utils.tsx +0 -195
@@ -1,86 +0,0 @@
1
- /**
2
- * react-table
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
- var Grouping = require('./Grouping.js');
17
-
18
- //
19
- function getInitialState() {
20
- return {
21
- columnOrder: []
22
- };
23
- }
24
- function getDefaultOptions(instance) {
25
- return {
26
- onColumnOrderChange: utils.makeStateUpdater('columnOrder', instance)
27
- };
28
- }
29
- function getInstance(instance) {
30
- return {
31
- setColumnOrder: function setColumnOrder(updater) {
32
- return instance.options.onColumnOrderChange == null ? void 0 : instance.options.onColumnOrderChange(updater, utils.functionalUpdate(updater, instance.getState().columnOrder));
33
- },
34
- resetColumnOrder: function resetColumnOrder() {
35
- var _instance$initialStat;
36
-
37
- instance.setColumnOrder((_instance$initialStat = instance.initialState.columnOrder) != null ? _instance$initialStat : []);
38
- },
39
- getOrderColumnsFn: utils.memo(function () {
40
- return [instance.getState().columnOrder, instance.getState().grouping, instance.options.groupedColumnMode];
41
- }, function (columnOrder, grouping, groupedColumnMode) {
42
- return function (columns) {
43
- // Sort grouped columns to the start of the column list
44
- // before the headers are built
45
- var orderedColumns = []; // If there is no order, return the normal columns
46
-
47
- if (!(columnOrder != null && columnOrder.length)) {
48
- orderedColumns = columns;
49
- } else {
50
- var columnOrderCopy = [].concat(columnOrder); // If there is an order, make a copy of the columns
51
-
52
- var columnsCopy = [].concat(columns); // And make a new ordered array of the columns
53
- // Loop over the columns and place them in order into the new array
54
-
55
- var _loop = function _loop() {
56
- var targetColumnId = columnOrderCopy.shift();
57
- var foundIndex = columnsCopy.findIndex(function (d) {
58
- return d.id === targetColumnId;
59
- });
60
-
61
- if (foundIndex > -1) {
62
- orderedColumns.push(columnsCopy.splice(foundIndex, 1)[0]);
63
- }
64
- };
65
-
66
- while (columnsCopy.length && columnOrderCopy.length) {
67
- _loop();
68
- } // If there are any columns left, add them to the end
69
-
70
-
71
- orderedColumns = [].concat(orderedColumns, columnsCopy);
72
- }
73
-
74
- return Grouping.orderColumns(orderedColumns, grouping, groupedColumnMode);
75
- };
76
- }, {
77
- key: 'getOrderColumnsFn',
78
- debug: instance.options.debug
79
- })
80
- };
81
- }
82
-
83
- exports.getDefaultOptions = getDefaultOptions;
84
- exports.getInitialState = getInitialState;
85
- exports.getInstance = getInstance;
86
- //# sourceMappingURL=Ordering.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Ordering.js","sources":["../../../src/features/Ordering.ts"],"sourcesContent":["import { functionalUpdate, makeStateUpdater, memo } from '../utils'\n\nimport { ReactTable, OnChangeFn, Updater, Column } from '../types'\n\nimport * as Grouping from './Grouping'\n\nexport type ColumnOrderState = string[]\n\nexport type ColumnOrderTableState = {\n columnOrder: ColumnOrderState\n}\n\nexport type ColumnOrderOptions = {\n onColumnOrderChange?: OnChangeFn<ColumnOrderState>\n}\n\nexport type ColumnOrderDefaultOptions = {\n onColumnOrderChange: OnChangeFn<ColumnOrderState>\n}\n\nexport type ColumnOrderInstance<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n> = {\n setColumnOrder: (updater: Updater<ColumnOrderState>) => void\n resetColumnOrder: () => void\n getOrderColumnsFn: () => (\n columns: Column<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>[]\n ) => Column<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>[]\n}\n\n//\n\nexport function getInitialState(): ColumnOrderTableState {\n return {\n columnOrder: [],\n }\n}\n\nexport function getDefaultOptions<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n>(\n instance: ReactTable<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n): ColumnOrderDefaultOptions {\n return {\n onColumnOrderChange: makeStateUpdater('columnOrder', instance),\n }\n}\n\nexport function getInstance<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n>(\n instance: ReactTable<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n): ColumnOrderInstance<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n> {\n return {\n setColumnOrder: updater =>\n instance.options.onColumnOrderChange?.(\n updater,\n functionalUpdate(updater, instance.getState().columnOrder)\n ),\n resetColumnOrder: () => {\n instance.setColumnOrder(instance.initialState.columnOrder ?? [])\n },\n getOrderColumnsFn: memo(\n () => [\n instance.getState().columnOrder,\n instance.getState().grouping,\n instance.options.groupedColumnMode,\n ],\n (columnOrder, grouping, groupedColumnMode) => columns => {\n // Sort grouped columns to the start of the column list\n // before the headers are built\n let orderedColumns: Column<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >[] = []\n\n // If there is no order, return the normal columns\n if (!columnOrder?.length) {\n orderedColumns = columns\n } else {\n const columnOrderCopy = [...columnOrder]\n\n // If there is an order, make a copy of the columns\n const columnsCopy = [...columns]\n\n // And make a new ordered array of the columns\n\n // Loop over the columns and place them in order into the new array\n while (columnsCopy.length && columnOrderCopy.length) {\n const targetColumnId = columnOrderCopy.shift()\n const foundIndex = columnsCopy.findIndex(\n d => d.id === targetColumnId\n )\n if (foundIndex > -1) {\n orderedColumns.push(columnsCopy.splice(foundIndex, 1)[0]!)\n }\n }\n\n // If there are any columns left, add them to the end\n orderedColumns = [...orderedColumns, ...columnsCopy]\n }\n\n return Grouping.orderColumns(\n orderedColumns,\n grouping,\n groupedColumnMode\n )\n },\n { key: 'getOrderColumnsFn', debug: instance.options.debug }\n ),\n }\n}\n"],"names":["getInitialState","columnOrder","getDefaultOptions","instance","onColumnOrderChange","makeStateUpdater","getInstance","setColumnOrder","updater","options","functionalUpdate","getState","resetColumnOrder","initialState","getOrderColumnsFn","memo","grouping","groupedColumnMode","columns","orderedColumns","length","columnOrderCopy","columnsCopy","targetColumnId","shift","foundIndex","findIndex","d","id","push","splice","Grouping","key","debug"],"mappings":";;;;;;;;;;;;;;;;;AAkCA;AAEO,SAASA,eAAT,GAAkD;AACvD,SAAO;AACLC,IAAAA,WAAW,EAAE;AADR,GAAP;AAGD;AAEM,SAASC,iBAAT,CAOLC,QAPK,EAQsB;AAC3B,SAAO;AACLC,IAAAA,mBAAmB,EAAEC,sBAAgB,CAAC,aAAD,EAAgBF,QAAhB;AADhC,GAAP;AAGD;AAEM,SAASG,WAAT,CAOLH,QAPK,EAcL;AACA,SAAO;AACLI,IAAAA,cAAc,EAAE,wBAAAC,OAAO;AAAA,aACrBL,QAAQ,CAACM,OAAT,CAAiBL,mBADI,oBACrBD,QAAQ,CAACM,OAAT,CAAiBL,mBAAjB,CACEI,OADF,EAEEE,sBAAgB,CAACF,OAAD,EAAUL,QAAQ,CAACQ,QAAT,GAAoBV,WAA9B,CAFlB,CADqB;AAAA,KADlB;AAMLW,IAAAA,gBAAgB,EAAE,4BAAM;AAAA;;AACtBT,MAAAA,QAAQ,CAACI,cAAT,0BAAwBJ,QAAQ,CAACU,YAAT,CAAsBZ,WAA9C,oCAA6D,EAA7D;AACD,KARI;AASLa,IAAAA,iBAAiB,EAAEC,UAAI,CACrB;AAAA,aAAM,CACJZ,QAAQ,CAACQ,QAAT,GAAoBV,WADhB,EAEJE,QAAQ,CAACQ,QAAT,GAAoBK,QAFhB,EAGJb,QAAQ,CAACM,OAAT,CAAiBQ,iBAHb,CAAN;AAAA,KADqB,EAMrB,UAAChB,WAAD,EAAce,QAAd,EAAwBC,iBAAxB;AAAA,aAA8C,UAAAC,OAAO,EAAI;AACvD;AACA;AACA,YAAIC,cAMD,GAAG,EANN,CAHuD;;AAYvD,YAAI,EAAClB,WAAD,YAACA,WAAW,CAAEmB,MAAd,CAAJ,EAA0B;AACxBD,UAAAA,cAAc,GAAGD,OAAjB;AACD,SAFD,MAEO;AACL,cAAMG,eAAe,aAAOpB,WAAP,CAArB,CADK;;AAIL,cAAMqB,WAAW,aAAOJ,OAAP,CAAjB,CAJK;AAQL;;AARK;AAUH,gBAAMK,cAAc,GAAGF,eAAe,CAACG,KAAhB,EAAvB;AACA,gBAAMC,UAAU,GAAGH,WAAW,CAACI,SAAZ,CACjB,UAAAC,CAAC;AAAA,qBAAIA,CAAC,CAACC,EAAF,KAASL,cAAb;AAAA,aADgB,CAAnB;;AAGA,gBAAIE,UAAU,GAAG,CAAC,CAAlB,EAAqB;AACnBN,cAAAA,cAAc,CAACU,IAAf,CAAoBP,WAAW,CAACQ,MAAZ,CAAmBL,UAAnB,EAA+B,CAA/B,EAAkC,CAAlC,CAApB;AACD;AAhBE;;AASL,iBAAOH,WAAW,CAACF,MAAZ,IAAsBC,eAAe,CAACD,MAA7C,EAAqD;AAAA;AAQpD,WAjBI;;;AAoBLD,UAAAA,cAAc,aAAOA,cAAP,EAA0BG,WAA1B,CAAd;AACD;;AAED,eAAOS,qBAAA,CACLZ,cADK,EAELH,QAFK,EAGLC,iBAHK,CAAP;AAKD,OA1CD;AAAA,KANqB,EAiDrB;AAAEe,MAAAA,GAAG,EAAE,mBAAP;AAA4BC,MAAAA,KAAK,EAAE9B,QAAQ,CAACM,OAAT,CAAiBwB;AAApD,KAjDqB;AATlB,GAAP;AA6DD;;;;;;"}
@@ -1,198 +0,0 @@
1
- /**
2
- * react-table
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 _rollupPluginBabelHelpers = require('../_virtual/_rollupPluginBabelHelpers.js');
16
- var utils = require('../utils.js');
17
-
18
- //
19
- function getInitialState() {
20
- return {
21
- pagination: {
22
- pageIndex: 0,
23
- pageSize: 10
24
- }
25
- };
26
- }
27
- function getDefaultOptions(instance) {
28
- return {
29
- onPaginationChange: utils.makeStateUpdater('pagination', instance),
30
- autoResetPageIndex: true
31
- };
32
- }
33
- function getInstance(instance) {
34
- var registered = false;
35
- return {
36
- _notifyPageIndexReset: function _notifyPageIndexReset() {
37
- if (!registered) {
38
- registered = true;
39
- return;
40
- }
41
-
42
- if (instance.options.autoResetAll === false) {
43
- return;
44
- }
45
-
46
- if (instance.options.autoResetAll === true || instance.options.autoResetPageIndex) {
47
- instance.resetPageSize();
48
- }
49
- },
50
- setPagination: function setPagination(updater) {
51
- var safeUpdater = function safeUpdater(old) {
52
- var newState = utils.functionalUpdate(updater, old);
53
-
54
- if (instance.options.paginateRowsFn) {
55
- var _instance$getPrePagin;
56
-
57
- newState.pageCount = (_instance$getPrePagin = instance.getPrePaginationRows()) != null && _instance$getPrePagin.length ? Math.ceil(instance.getPrePaginationRows().length / instance.getState().pagination.pageSize) : 0;
58
- }
59
-
60
- return newState;
61
- };
62
-
63
- return instance.options.onPaginationChange == null ? void 0 : instance.options.onPaginationChange(safeUpdater, utils.functionalUpdate(safeUpdater, instance.getState().pagination));
64
- },
65
- resetPagination: function resetPagination() {
66
- var _instance$initialStat;
67
-
68
- instance.setPagination((_instance$initialStat = instance.initialState.pagination) != null ? _instance$initialStat : {
69
- pageIndex: 0,
70
- pageSize: 10,
71
- pageCount: -1
72
- });
73
- },
74
- setPageIndex: function setPageIndex(updater) {
75
- instance.setPagination(function (old) {
76
- var pageIndex = utils.functionalUpdate(updater, old.pageIndex);
77
- var maxPageIndex = old.pageCount && old.pageCount > 0 ? old.pageCount - 1 : Number.MAX_SAFE_INTEGER;
78
- pageIndex = Math.min(Math.max(0, pageIndex), maxPageIndex);
79
- return _rollupPluginBabelHelpers["extends"]({}, old, {
80
- pageIndex: pageIndex
81
- });
82
- });
83
- },
84
- resetPageIndex: function resetPageIndex() {
85
- instance.setPageIndex(0);
86
- },
87
- resetPageSize: function resetPageSize() {
88
- var _instance$initialStat2, _instance$initialStat3, _instance$initialStat4;
89
-
90
- instance.setPageSize((_instance$initialStat2 = (_instance$initialStat3 = instance.initialState) == null ? void 0 : (_instance$initialStat4 = _instance$initialStat3.pagination) == null ? void 0 : _instance$initialStat4.pageSize) != null ? _instance$initialStat2 : 10);
91
- },
92
- setPageSize: function setPageSize(updater) {
93
- instance.setPagination(function (old) {
94
- var pageSize = Math.max(1, utils.functionalUpdate(updater, old.pageSize));
95
- var topRowIndex = old.pageSize * old.pageIndex;
96
- var pageIndex = Math.floor(topRowIndex / pageSize);
97
- return _rollupPluginBabelHelpers["extends"]({}, old, {
98
- pageIndex: pageIndex,
99
- pageSize: pageSize
100
- });
101
- });
102
- },
103
- setPageCount: function setPageCount(updater) {
104
- return instance.setPagination(function (old) {
105
- var newPageCount = utils.functionalUpdate(updater, old.pageCount);
106
-
107
- if (typeof newPageCount === 'number') {
108
- newPageCount = Math.max(-1, newPageCount);
109
- }
110
-
111
- return _rollupPluginBabelHelpers["extends"]({}, old, {
112
- pageCount: newPageCount
113
- });
114
- });
115
- },
116
- getPageOptions: utils.memo(function () {
117
- return [instance.getState().pagination.pageSize, instance.getState().pagination.pageCount];
118
- }, function (pageSize, pageCount) {
119
- var pageOptions = [];
120
-
121
- if (pageCount && pageCount > 0) {
122
- pageOptions = [].concat(new Array(pageCount)).fill(null).map(function (_, i) {
123
- return i;
124
- });
125
- }
126
-
127
- return pageOptions;
128
- }, {
129
- key: 'getPageOptions',
130
- debug: instance.options.debug
131
- }),
132
- getCanPreviousPage: function getCanPreviousPage() {
133
- return instance.getState().pagination.pageIndex > 0;
134
- },
135
- getCanNextPage: function getCanNextPage() {
136
- var _instance$getState$pa = instance.getState().pagination,
137
- pageIndex = _instance$getState$pa.pageIndex,
138
- pageCount = _instance$getState$pa.pageCount,
139
- pageSize = _instance$getState$pa.pageSize;
140
-
141
- if (pageCount === -1) {
142
- return true;
143
- }
144
-
145
- if (pageCount === 0) {
146
- return false;
147
- }
148
-
149
- return pageIndex < Math.ceil(instance.getPrePaginationRows().length / pageSize) - 1;
150
- },
151
- previousPage: function previousPage() {
152
- return instance.setPageIndex(function (old) {
153
- return old - 1;
154
- });
155
- },
156
- nextPage: function nextPage() {
157
- return instance.setPageIndex(function (old) {
158
- return old + 1;
159
- });
160
- },
161
- getPaginationRowModel: utils.memo(function () {
162
- return [instance.getState().pagination, instance.getExpandedRowModel(), instance.options.paginateRowsFn];
163
- }, function (_pagination, rowModel, paginateRowsFn) {
164
- if (!paginateRowsFn || !rowModel.rows.length) {
165
- return rowModel;
166
- }
167
-
168
- if (process.env.NODE_ENV !== 'production' && instance.options.debug) console.info('Paginating...');
169
- return paginateRowsFn(instance, rowModel);
170
- }, {
171
- key: 'getPaginationRowModel',
172
- debug: instance.options.debug
173
- }),
174
- getPrePaginationRows: function getPrePaginationRows() {
175
- return instance.getExpandedRowModel().rows;
176
- },
177
- getPrePaginationFlatRows: function getPrePaginationFlatRows() {
178
- return instance.getExpandedRowModel().flatRows;
179
- },
180
- getPrePaginationRowsById: function getPrePaginationRowsById() {
181
- return instance.getExpandedRowModel().rowsById;
182
- },
183
- getPaginationRows: function getPaginationRows() {
184
- return instance.getPaginationRowModel().rows;
185
- },
186
- getPaginationFlatRows: function getPaginationFlatRows() {
187
- return instance.getPaginationRowModel().flatRows;
188
- },
189
- getPaginationRowsById: function getPaginationRowsById() {
190
- return instance.getPaginationRowModel().rowsById;
191
- }
192
- };
193
- }
194
-
195
- exports.getDefaultOptions = getDefaultOptions;
196
- exports.getInitialState = getInitialState;
197
- exports.getInstance = getInstance;
198
- //# sourceMappingURL=Pagination.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Pagination.js","sources":["../../../src/features/Pagination.ts"],"sourcesContent":["import {\n Column,\n OnChangeFn,\n ReactTable,\n Row,\n RowModel,\n TableState,\n Updater,\n} from '../types'\nimport { functionalUpdate, makeStateUpdater, memo } from '../utils'\n\nexport type PageCount = undefined | null | number\n\nexport type PaginationState = {\n pageIndex: number\n pageSize: number\n pageCount?: PageCount\n}\n\nexport type PaginationTableState = {\n pagination: PaginationState\n}\n\nexport type PaginationOptions<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n> = {\n onPaginationChange?: OnChangeFn<PaginationState>\n autoResetPageIndex?: boolean\n paginateRowsFn?: (\n instance: ReactTable<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >,\n rowModel: RowModel<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n ) => RowModel<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n}\n\nexport type PaginationDefaultOptions = {\n onPaginationChange: OnChangeFn<PaginationState>\n autoResetPageIndex: boolean\n}\n\nexport type PaginationInstance<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n> = {\n _notifyPageIndexReset: () => void\n setPagination: (updater: Updater<PaginationState>) => void\n resetPagination: () => void\n setPageIndex: (updater: Updater<number>) => void\n resetPageIndex: () => void\n setPageSize: (updater: Updater<number>) => void\n resetPageSize: () => void\n setPageCount: (updater: Updater<PageCount>) => void\n getPageOptions: () => number[]\n getCanPreviousPage: () => boolean\n getCanNextPage: () => boolean\n previousPage: () => void\n nextPage: () => void\n getPaginationRowModel: () => RowModel<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >\n getPrePaginationRows: () => Row<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >[]\n getPrePaginationFlatRows: () => Row<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >[]\n getPrePaginationRowsById: () => Record<\n string,\n Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n >\n getPaginationRows: () => Row<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >[]\n getPaginationFlatRows: () => Row<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >[]\n getPaginationRowsById: () => Record<\n string,\n Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n >\n}\n\n//\n\nexport function getInitialState(): PaginationTableState {\n return {\n pagination: {\n pageIndex: 0,\n pageSize: 10,\n },\n }\n}\n\nexport function getDefaultOptions<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n>(\n instance: ReactTable<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n): PaginationDefaultOptions {\n return {\n onPaginationChange: makeStateUpdater('pagination', instance),\n autoResetPageIndex: true,\n }\n}\n\nexport function getInstance<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n>(\n instance: ReactTable<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n): PaginationInstance<TData, TValue, TFilterFns, TSortingFns, TAggregationFns> {\n let registered = false\n return {\n _notifyPageIndexReset: () => {\n if (!registered) {\n registered = true\n return\n }\n\n if (instance.options.autoResetAll === false) {\n return\n }\n\n if (\n instance.options.autoResetAll === true ||\n instance.options.autoResetPageIndex\n ) {\n instance.resetPageSize()\n }\n },\n setPagination: updater => {\n const safeUpdater: Updater<PaginationState> = old => {\n let newState = functionalUpdate(updater, old)\n\n if (instance.options.paginateRowsFn) {\n newState.pageCount = instance.getPrePaginationRows()?.length\n ? Math.ceil(\n instance.getPrePaginationRows().length /\n instance.getState().pagination.pageSize\n )\n : 0\n }\n\n return newState\n }\n\n return instance.options.onPaginationChange?.(\n safeUpdater,\n functionalUpdate(safeUpdater, instance.getState().pagination)\n )\n },\n resetPagination: () => {\n instance.setPagination(\n instance.initialState.pagination ?? {\n pageIndex: 0,\n pageSize: 10,\n pageCount: -1,\n }\n )\n },\n setPageIndex: updater => {\n instance.setPagination(old => {\n let pageIndex = functionalUpdate(updater, old.pageIndex)\n\n const maxPageIndex =\n old.pageCount && old.pageCount > 0\n ? old.pageCount - 1\n : Number.MAX_SAFE_INTEGER\n\n pageIndex = Math.min(Math.max(0, pageIndex), maxPageIndex)\n\n return {\n ...old,\n pageIndex,\n }\n })\n },\n resetPageIndex: () => {\n instance.setPageIndex(0)\n },\n resetPageSize: () => {\n instance.setPageSize(instance.initialState?.pagination?.pageSize ?? 10)\n },\n setPageSize: updater => {\n instance.setPagination(old => {\n const pageSize = Math.max(1, functionalUpdate(updater, old.pageSize))\n const topRowIndex = old.pageSize * old.pageIndex!\n const pageIndex = Math.floor(topRowIndex / pageSize)\n\n return {\n ...old,\n pageIndex,\n pageSize,\n }\n })\n },\n setPageCount: updater =>\n instance.setPagination(old => {\n let newPageCount = functionalUpdate(updater, old.pageCount)\n\n if (typeof newPageCount === 'number') {\n newPageCount = Math.max(-1, newPageCount)\n }\n\n return {\n ...old,\n pageCount: newPageCount,\n }\n }),\n\n getPageOptions: memo(\n () => [\n instance.getState().pagination.pageSize,\n instance.getState().pagination.pageCount,\n ],\n (pageSize, pageCount) => {\n let pageOptions: number[] = []\n if (pageCount && pageCount > 0) {\n pageOptions = [...new Array(pageCount)].fill(null).map((_, i) => i)\n }\n return pageOptions\n },\n {\n key: 'getPageOptions',\n debug: instance.options.debug,\n }\n ),\n\n getCanPreviousPage: () => instance.getState().pagination.pageIndex > 0,\n\n getCanNextPage: () => {\n const { pageIndex, pageCount, pageSize } = instance.getState().pagination\n\n if (pageCount === -1) {\n return true\n }\n\n if (pageCount === 0) {\n return false\n }\n\n return (\n pageIndex <\n Math.ceil(instance.getPrePaginationRows().length / pageSize) - 1\n )\n },\n\n previousPage: () => {\n return instance.setPageIndex(old => old - 1)\n },\n\n nextPage: () => {\n return instance.setPageIndex(old => {\n return old + 1\n })\n },\n\n getPaginationRowModel: memo(\n () => [\n instance.getState().pagination,\n instance.getExpandedRowModel(),\n instance.options.paginateRowsFn,\n ],\n (_pagination, rowModel, paginateRowsFn) => {\n if (!paginateRowsFn || !rowModel.rows.length) {\n return rowModel\n }\n\n if (process.env.NODE_ENV !== 'production' && instance.options.debug)\n console.info('Paginating...')\n\n return paginateRowsFn(instance, rowModel)\n },\n {\n key: 'getPaginationRowModel',\n debug: instance.options.debug,\n }\n ),\n\n getPrePaginationRows: () => instance.getExpandedRowModel().rows,\n getPrePaginationFlatRows: () => instance.getExpandedRowModel().flatRows,\n getPrePaginationRowsById: () => instance.getExpandedRowModel().rowsById,\n getPaginationRows: () => instance.getPaginationRowModel().rows,\n getPaginationFlatRows: () => instance.getPaginationRowModel().flatRows,\n getPaginationRowsById: () => instance.getPaginationRowModel().rowsById,\n }\n}\n"],"names":["getInitialState","pagination","pageIndex","pageSize","getDefaultOptions","instance","onPaginationChange","makeStateUpdater","autoResetPageIndex","getInstance","registered","_notifyPageIndexReset","options","autoResetAll","resetPageSize","setPagination","updater","safeUpdater","old","newState","functionalUpdate","paginateRowsFn","pageCount","getPrePaginationRows","length","Math","ceil","getState","resetPagination","initialState","setPageIndex","maxPageIndex","Number","MAX_SAFE_INTEGER","min","max","resetPageIndex","setPageSize","topRowIndex","floor","setPageCount","newPageCount","getPageOptions","memo","pageOptions","Array","fill","map","_","i","key","debug","getCanPreviousPage","getCanNextPage","previousPage","nextPage","getPaginationRowModel","getExpandedRowModel","_pagination","rowModel","rows","process","env","NODE_ENV","console","info","getPrePaginationFlatRows","flatRows","getPrePaginationRowsById","rowsById","getPaginationRows","getPaginationFlatRows","getPaginationRowsById"],"mappings":"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"}
@@ -1,149 +0,0 @@
1
- /**
2
- * react-table
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
- function getInitialState() {
19
- return {
20
- columnPinning: {
21
- left: [],
22
- right: []
23
- }
24
- };
25
- }
26
- function getDefaultOptions(instance) {
27
- return {
28
- onColumnPinningChange: utils.makeStateUpdater('columnPinning', instance)
29
- };
30
- }
31
- function createColumn(column, instance) {
32
- return {
33
- getCanPin: function getCanPin() {
34
- return instance.getColumnCanPin(column.id);
35
- },
36
- getPinnedIndex: function getPinnedIndex() {
37
- return instance.getColumnPinnedIndex(column.id);
38
- },
39
- getIsPinned: function getIsPinned() {
40
- return instance.getColumnIsPinned(column.id);
41
- },
42
- pin: function pin(position) {
43
- return instance.pinColumn(column.id, position);
44
- }
45
- };
46
- }
47
- function getInstance(instance) {
48
- return {
49
- setColumnPinning: function setColumnPinning(updater) {
50
- return instance.options.onColumnPinningChange == null ? void 0 : instance.options.onColumnPinningChange(updater, utils.functionalUpdate(updater, instance.getState().columnPinning));
51
- },
52
- resetColumnPinning: function resetColumnPinning() {
53
- var _instance$initialStat, _instance$initialStat2;
54
-
55
- return instance.setColumnPinning((_instance$initialStat = (_instance$initialStat2 = instance.initialState) == null ? void 0 : _instance$initialStat2.columnPinning) != null ? _instance$initialStat : {});
56
- },
57
- pinColumn: function pinColumn(columnId, position) {
58
- var column = instance.getColumn(columnId);
59
- var columnIds = column == null ? void 0 : column.getLeafColumns().map(function (d) {
60
- return d.id;
61
- }).filter(Boolean);
62
- instance.setColumnPinning(function (old) {
63
- var _old$left3, _old$right3;
64
-
65
- if (position === 'right') {
66
- var _old$left, _old$right;
67
-
68
- return {
69
- left: ((_old$left = old == null ? void 0 : old.left) != null ? _old$left : []).filter(function (d) {
70
- return !(columnIds != null && columnIds.includes(d));
71
- }),
72
- right: [].concat(((_old$right = old == null ? void 0 : old.right) != null ? _old$right : []).filter(function (d) {
73
- return !(columnIds != null && columnIds.includes(d));
74
- }), columnIds)
75
- };
76
- }
77
-
78
- if (position === 'left') {
79
- var _old$left2, _old$right2;
80
-
81
- return {
82
- left: [].concat(((_old$left2 = old == null ? void 0 : old.left) != null ? _old$left2 : []).filter(function (d) {
83
- return !(columnIds != null && columnIds.includes(d));
84
- }), columnIds),
85
- right: ((_old$right2 = old == null ? void 0 : old.right) != null ? _old$right2 : []).filter(function (d) {
86
- return !(columnIds != null && columnIds.includes(d));
87
- })
88
- };
89
- }
90
-
91
- return {
92
- left: ((_old$left3 = old == null ? void 0 : old.left) != null ? _old$left3 : []).filter(function (d) {
93
- return !(columnIds != null && columnIds.includes(d));
94
- }),
95
- right: ((_old$right3 = old == null ? void 0 : old.right) != null ? _old$right3 : []).filter(function (d) {
96
- return !(columnIds != null && columnIds.includes(d));
97
- })
98
- };
99
- });
100
- },
101
- getColumnCanPin: function getColumnCanPin(columnId) {
102
- var column = instance.getColumn(columnId);
103
-
104
- if (!column) {
105
- throw new Error();
106
- }
107
-
108
- var leafColumns = column.getLeafColumns();
109
- return leafColumns.some(function (d) {
110
- var _ref, _ref2, _d$enablePinning;
111
-
112
- return (_ref = (_ref2 = (_d$enablePinning = d.enablePinning) != null ? _d$enablePinning : instance.options.enablePinning) != null ? _ref2 : d.defaultCanPin) != null ? _ref : !!d.accessorFn;
113
- });
114
- },
115
- getColumnIsPinned: function getColumnIsPinned(columnId) {
116
- var column = instance.getColumn(columnId);
117
-
118
- if (!column) {
119
- throw new Error();
120
- }
121
-
122
- var leafColumnIds = column.getLeafColumns().map(function (d) {
123
- return d.id;
124
- });
125
- var _instance$getState$co = instance.getState().columnPinning,
126
- left = _instance$getState$co.left,
127
- right = _instance$getState$co.right;
128
- var isLeft = leafColumnIds.some(function (d) {
129
- return left == null ? void 0 : left.includes(d);
130
- });
131
- var isRight = leafColumnIds.some(function (d) {
132
- return right == null ? void 0 : right.includes(d);
133
- });
134
- return isLeft ? 'left' : isRight ? 'right' : false;
135
- },
136
- getColumnPinnedIndex: function getColumnPinnedIndex(columnId) {
137
- var _instance$getState$co2, _instance$getState$co3, _instance$getState$co4;
138
-
139
- var position = instance.getColumnIsPinned(columnId);
140
- return position ? (_instance$getState$co2 = (_instance$getState$co3 = instance.getState().columnPinning) == null ? void 0 : (_instance$getState$co4 = _instance$getState$co3[position]) == null ? void 0 : _instance$getState$co4.indexOf(columnId)) != null ? _instance$getState$co2 : -1 : 0;
141
- }
142
- };
143
- }
144
-
145
- exports.createColumn = createColumn;
146
- exports.getDefaultOptions = getDefaultOptions;
147
- exports.getInitialState = getInitialState;
148
- exports.getInstance = getInstance;
149
- //# sourceMappingURL=Pinning.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Pinning.js","sources":["../../../src/features/Pinning.ts"],"sourcesContent":["import { OnChangeFn, Updater, ReactTable, Column } from '../types'\nimport { functionalUpdate, makeStateUpdater } from '../utils'\n\ntype 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 ColumnPinningInstance<\n _TData,\n _TValue,\n _TFilterFns,\n _TSortingFns,\n _TAggregationFns\n> = {\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}\n\n//\n\nexport function getInitialState(): ColumnPinningTableState {\n return {\n columnPinning: {\n left: [],\n right: [],\n },\n }\n}\n\nexport function getDefaultOptions<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n>(\n instance: ReactTable<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n): ColumnPinningDefaultOptions {\n return {\n onColumnPinningChange: makeStateUpdater('columnPinning', instance),\n }\n}\n\nexport function createColumn<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n>(\n column: Column<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>,\n instance: ReactTable<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\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\nexport function getInstance<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n>(\n instance: ReactTable<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n): ColumnPinningInstance<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n> {\n return {\n setColumnPinning: updater =>\n instance.options.onColumnPinningChange?.(\n updater,\n functionalUpdate(updater, instance.getState().columnPinning)\n ),\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) ?? -1\n : 0\n },\n }\n}\n"],"names":["getInitialState","columnPinning","left","right","getDefaultOptions","instance","onColumnPinningChange","makeStateUpdater","createColumn","column","getCanPin","getColumnCanPin","id","getPinnedIndex","getColumnPinnedIndex","getIsPinned","getColumnIsPinned","pin","position","pinColumn","getInstance","setColumnPinning","updater","options","functionalUpdate","getState","resetColumnPinning","initialState","columnId","getColumn","columnIds","getLeafColumns","map","d","filter","Boolean","old","includes","Error","leafColumns","some","enablePinning","defaultCanPin","accessorFn","leafColumnIds","isLeft","isRight","indexOf"],"mappings":";;;;;;;;;;;;;;;;AAkDA;AAEO,SAASA,eAAT,GAAoD;AACzD,SAAO;AACLC,IAAAA,aAAa,EAAE;AACbC,MAAAA,IAAI,EAAE,EADO;AAEbC,MAAAA,KAAK,EAAE;AAFM;AADV,GAAP;AAMD;AAEM,SAASC,iBAAT,CAOLC,QAPK,EAQwB;AAC7B,SAAO;AACLC,IAAAA,qBAAqB,EAAEC,sBAAgB,CAAC,eAAD,EAAkBF,QAAlB;AADlC,GAAP;AAGD;AAEM,SAASG,YAAT,CAOLC,MAPK,EAQLJ,QARK,EASgB;AACrB,SAAO;AACLK,IAAAA,SAAS,EAAE;AAAA,aAAML,QAAQ,CAACM,eAAT,CAAyBF,MAAM,CAACG,EAAhC,CAAN;AAAA,KADN;AAELC,IAAAA,cAAc,EAAE;AAAA,aAAMR,QAAQ,CAACS,oBAAT,CAA8BL,MAAM,CAACG,EAArC,CAAN;AAAA,KAFX;AAGLG,IAAAA,WAAW,EAAE;AAAA,aAAMV,QAAQ,CAACW,iBAAT,CAA2BP,MAAM,CAACG,EAAlC,CAAN;AAAA,KAHR;AAILK,IAAAA,GAAG,EAAE,aAAAC,QAAQ;AAAA,aAAIb,QAAQ,CAACc,SAAT,CAAmBV,MAAM,CAACG,EAA1B,EAA8BM,QAA9B,CAAJ;AAAA;AAJR,GAAP;AAMD;AAEM,SAASE,WAAT,CAOLf,QAPK,EAcL;AACA,SAAO;AACLgB,IAAAA,gBAAgB,EAAE,0BAAAC,OAAO;AAAA,aACvBjB,QAAQ,CAACkB,OAAT,CAAiBjB,qBADM,oBACvBD,QAAQ,CAACkB,OAAT,CAAiBjB,qBAAjB,CACEgB,OADF,EAEEE,sBAAgB,CAACF,OAAD,EAAUjB,QAAQ,CAACoB,QAAT,GAAoBxB,aAA9B,CAFlB,CADuB;AAAA,KADpB;AAOLyB,IAAAA,kBAAkB,EAAE;AAAA;;AAAA,aAClBrB,QAAQ,CAACgB,gBAAT,oDAA0BhB,QAAQ,CAACsB,YAAnC,qBAA0B,uBAAuB1B,aAAjD,oCAAkE,EAAlE,CADkB;AAAA,KAPf;AAULkB,IAAAA,SAAS,EAAE,mBAACS,QAAD,EAAWV,QAAX,EAAwB;AACjC,UAAMT,MAAM,GAAGJ,QAAQ,CAACwB,SAAT,CAAmBD,QAAnB,CAAf;AAEA,UAAME,SAAS,GAAGrB,MAAH,oBAAGA,MAAM,CACpBsB,cADc,GAEfC,GAFe,CAEX,UAAAC,CAAC;AAAA,eAAIA,CAAC,CAACrB,EAAN;AAAA,OAFU,EAGfsB,MAHe,CAGRC,OAHQ,CAAlB;AAKA9B,MAAAA,QAAQ,CAACgB,gBAAT,CAA0B,UAAAe,GAAG,EAAI;AAAA;;AAC/B,YAAIlB,QAAQ,KAAK,OAAjB,EAA0B;AAAA;;AACxB,iBAAO;AACLhB,YAAAA,IAAI,EAAE,cAACkC,GAAD,oBAACA,GAAG,CAAElC,IAAN,wBAAc,EAAd,EAAkBgC,MAAlB,CAAyB,UAAAD,CAAC;AAAA,qBAAI,EAACH,SAAD,YAACA,SAAS,CAAEO,QAAX,CAAoBJ,CAApB,CAAD,CAAJ;AAAA,aAA1B,CADD;AAEL9B,YAAAA,KAAK,YACA,eAACiC,GAAD,oBAACA,GAAG,CAAEjC,KAAN,yBAAe,EAAf,EAAmB+B,MAAnB,CAA0B,UAAAD,CAAC;AAAA,qBAAI,EAACH,SAAD,YAACA,SAAS,CAAEO,QAAX,CAAoBJ,CAApB,CAAD,CAAJ;AAAA,aAA3B,CADA,EAEAH,SAFA;AAFA,WAAP;AAOD;;AAED,YAAIZ,QAAQ,KAAK,MAAjB,EAAyB;AAAA;;AACvB,iBAAO;AACLhB,YAAAA,IAAI,YACC,eAACkC,GAAD,oBAACA,GAAG,CAAElC,IAAN,yBAAc,EAAd,EAAkBgC,MAAlB,CAAyB,UAAAD,CAAC;AAAA,qBAAI,EAACH,SAAD,YAACA,SAAS,CAAEO,QAAX,CAAoBJ,CAApB,CAAD,CAAJ;AAAA,aAA1B,CADD,EAECH,SAFD,CADC;AAKL3B,YAAAA,KAAK,EAAE,gBAACiC,GAAD,oBAACA,GAAG,CAAEjC,KAAN,0BAAe,EAAf,EAAmB+B,MAAnB,CAA0B,UAAAD,CAAC;AAAA,qBAAI,EAACH,SAAD,YAACA,SAAS,CAAEO,QAAX,CAAoBJ,CAApB,CAAD,CAAJ;AAAA,aAA3B;AALF,WAAP;AAOD;;AAED,eAAO;AACL/B,UAAAA,IAAI,EAAE,eAACkC,GAAD,oBAACA,GAAG,CAAElC,IAAN,yBAAc,EAAd,EAAkBgC,MAAlB,CAAyB,UAAAD,CAAC;AAAA,mBAAI,EAACH,SAAD,YAACA,SAAS,CAAEO,QAAX,CAAoBJ,CAApB,CAAD,CAAJ;AAAA,WAA1B,CADD;AAEL9B,UAAAA,KAAK,EAAE,gBAACiC,GAAD,oBAACA,GAAG,CAAEjC,KAAN,0BAAe,EAAf,EAAmB+B,MAAnB,CAA0B,UAAAD,CAAC;AAAA,mBAAI,EAACH,SAAD,YAACA,SAAS,CAAEO,QAAX,CAAoBJ,CAApB,CAAD,CAAJ;AAAA,WAA3B;AAFF,SAAP;AAID,OAzBD;AA0BD,KA5CI;AA8CLtB,IAAAA,eAAe,EAAE,yBAAAiB,QAAQ,EAAI;AAC3B,UAAMnB,MAAM,GAAGJ,QAAQ,CAACwB,SAAT,CAAmBD,QAAnB,CAAf;;AAEA,UAAI,CAACnB,MAAL,EAAa;AACX,cAAM,IAAI6B,KAAJ,EAAN;AACD;;AAED,UAAMC,WAAW,GAAG9B,MAAM,CAACsB,cAAP,EAApB;AAEA,aAAOQ,WAAW,CAACC,IAAZ,CACL,UAAAP,CAAC;AAAA;;AAAA,oDACCA,CAAC,CAACQ,aADH,+BAECpC,QAAQ,CAACkB,OAAT,CAAiBkB,aAFlB,oBAGCR,CAAC,CAACS,aAHH,mBAIC,CAAC,CAACT,CAAC,CAACU,UAJL;AAAA,OADI,CAAP;AAOD,KA9DI;AAgEL3B,IAAAA,iBAAiB,EAAE,2BAAAY,QAAQ,EAAI;AAC7B,UAAMnB,MAAM,GAAGJ,QAAQ,CAACwB,SAAT,CAAmBD,QAAnB,CAAf;;AAEA,UAAI,CAACnB,MAAL,EAAa;AACX,cAAM,IAAI6B,KAAJ,EAAN;AACD;;AAED,UAAMM,aAAa,GAAGnC,MAAM,CAACsB,cAAP,GAAwBC,GAAxB,CAA4B,UAAAC,CAAC;AAAA,eAAIA,CAAC,CAACrB,EAAN;AAAA,OAA7B,CAAtB;AAEA,kCAAwBP,QAAQ,CAACoB,QAAT,GAAoBxB,aAA5C;AAAA,UAAQC,IAAR,yBAAQA,IAAR;AAAA,UAAcC,KAAd,yBAAcA,KAAd;AAEA,UAAM0C,MAAM,GAAGD,aAAa,CAACJ,IAAd,CAAmB,UAAAP,CAAC;AAAA,eAAI/B,IAAJ,oBAAIA,IAAI,CAAEmC,QAAN,CAAeJ,CAAf,CAAJ;AAAA,OAApB,CAAf;AACA,UAAMa,OAAO,GAAGF,aAAa,CAACJ,IAAd,CAAmB,UAAAP,CAAC;AAAA,eAAI9B,KAAJ,oBAAIA,KAAK,CAAEkC,QAAP,CAAgBJ,CAAhB,CAAJ;AAAA,OAApB,CAAhB;AAEA,aAAOY,MAAM,GAAG,MAAH,GAAYC,OAAO,GAAG,OAAH,GAAa,KAA7C;AACD,KA/EI;AAiFLhC,IAAAA,oBAAoB,EAAE,8BAAAc,QAAQ,EAAI;AAAA;;AAChC,UAAMV,QAAQ,GAAGb,QAAQ,CAACW,iBAAT,CAA2BY,QAA3B,CAAjB;AAEA,aAAOV,QAAQ,uDACXb,QAAQ,CAACoB,QAAT,GAAoBxB,aADT,+CACX,uBAAoCiB,QAApC,CADW,qBACX,uBAA+C6B,OAA/C,CAAuDnB,QAAvD,CADW,qCACyD,CAAC,CAD1D,GAEX,CAFJ;AAGD;AAvFI,GAAP;AAyFD;;;;;;;"}