@infinite-table/infinite-react 4.4.1 → 4.4.2-canary.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/index.css +10 -10
- package/index.d.ts +295 -87
- package/index.dev.js +1441 -760
- package/index.dev.mjs +1442 -761
- package/index.js +1441 -760
- package/index.mjs +1442 -761
- package/package.json +2 -2
package/index.css
CHANGED
|
@@ -320,15 +320,15 @@
|
|
|
320
320
|
overflow-y: hidden;
|
|
321
321
|
}
|
|
322
322
|
|
|
323
|
-
/* vanilla-extract-css-ns:src/components/InfiniteTable/components/ActiveCellIndicator.css.ts.vanilla.css?source=
|
|
323
|
+
/* vanilla-extract-css-ns:src/components/InfiniteTable/components/ActiveCellIndicator.css.ts.vanilla.css?source=LkFjdGl2ZUNlbGxJbmRpY2F0b3JfQWN0aXZlSW5kaWNhdG9yV3JhcHBlckNsc19fbnhicTFjMCB7CiAgd2lkdGg6IHZhcigtLWFjdGl2ZUNlbGxDb2xXaWR0aF9fMTZoa2JrYzkpOwogIGhlaWdodDogdmFyKC0tYWN0aXZlQ2VsbFJvd0hlaWdodF9fMTZoa2JrYzQpOwp9Ci5BY3RpdmVDZWxsSW5kaWNhdG9yX0FjdGl2ZUNlbGxJbmRpY2F0b3JfX254YnExYzEgewogIC0tYWN0aXZlQ2VsbE9mZnNldFhfXzE2aGtia2M1OiB2YXIoLS1hY3RpdmVDZWxsQ29sT2Zmc2V0X18xNmhrYmtjYSk7CiAgLS1hY3RpdmVDZWxsT2Zmc2V0WV9fMTZoa2JrYzY6IHZhcigtLWFjdGl2ZUNlbGxSb3dPZmZzZXRfXzE2aGtia2MyKTsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKHZhcigtLWFjdGl2ZUNlbGxPZmZzZXRYX18xNmhrYmtjNSksIHZhcigtLWFjdGl2ZUNlbGxPZmZzZXRZX18xNmhrYmtjNiksIDBweCk7CiAgaW5zZXQ6IHZhcigtLWluZmluaXRlLWFjdGl2ZS1jZWxsLWluZGljYXRvci1pbnNldCk7CiAgYm9yZGVyOiB2YXIoLS1pbmZpbml0ZS1hY3RpdmUtY2VsbC1ib3JkZXIsIHZhcigtLWluZmluaXRlLWFjdGl2ZS1jZWxsLWJvcmRlci13aWR0aCkgdmFyKC0taW5maW5pdGUtYWN0aXZlLWNlbGwtYm9yZGVyLXN0eWxlKSB2YXIoLS1pbmZpbml0ZS1hY3RpdmUtY2VsbC1ib3JkZXItY29sb3IsIHZhcigtLWluZmluaXRlLWFjY2VudC1jb2xvcikpKTsKICBiYWNrZ3JvdW5kOiB2YXIoLS1pbmZpbml0ZS1hY3RpdmUtY2VsbC1iYWNrZ3JvdW5kLWRlZmF1bHQpOwp9Ci5BY3RpdmVDZWxsSW5kaWNhdG9yX0FjdGl2ZUNlbGxJbmRpY2F0b3JDbHNfdmlzaWJsZV9fbnhicTFjMiB7CiAgZGlzcGxheTogYmxvY2s7Cn0KLkFjdGl2ZUNlbGxJbmRpY2F0b3JfQWN0aXZlQ2VsbEluZGljYXRvckNsc19oaWRkZW5fX254YnExYzMgewogIGRpc3BsYXk6IG5vbmU7Cn0= */
|
|
324
324
|
.ActiveCellIndicator_ActiveIndicatorWrapperCls__nxbq1c0 {
|
|
325
|
-
width: var(--
|
|
326
|
-
height: var(--
|
|
325
|
+
width: var(--activeCellColWidth__16hkbkc9);
|
|
326
|
+
height: var(--activeCellRowHeight__16hkbkc4);
|
|
327
327
|
}
|
|
328
328
|
.ActiveCellIndicator_ActiveCellIndicator__nxbq1c1 {
|
|
329
|
-
--
|
|
330
|
-
--
|
|
331
|
-
transform: translate3d(var(--
|
|
329
|
+
--activeCellOffsetX__16hkbkc5: var(--activeCellColOffset__16hkbkca);
|
|
330
|
+
--activeCellOffsetY__16hkbkc6: var(--activeCellRowOffset__16hkbkc2);
|
|
331
|
+
transform: translate3d(var(--activeCellOffsetX__16hkbkc5), var(--activeCellOffsetY__16hkbkc6), 0px);
|
|
332
332
|
inset: var(--infinite-active-cell-indicator-inset);
|
|
333
333
|
border: var(--infinite-active-cell-border, var(--infinite-active-cell-border-width) var(--infinite-active-cell-border-style) var(--infinite-active-cell-border-color, var(--infinite-accent-color)));
|
|
334
334
|
background: var(--infinite-active-cell-background-default);
|
|
@@ -340,17 +340,17 @@
|
|
|
340
340
|
display: none;
|
|
341
341
|
}
|
|
342
342
|
|
|
343
|
-
/* vanilla-extract-css-ns:src/components/InfiniteTable/components/ActiveRowIndicator.css.ts.vanilla.css?source=#
|
|
343
|
+
/* vanilla-extract-css-ns:src/components/InfiniteTable/components/ActiveRowIndicator.css.ts.vanilla.css?source=#H4sIAAAAAAAAA62TwWrDMAyG73kKXQbxqEvWwQ7pacdd+wJBsd1Eq2cHxW1aRt99NGYlhaUJozdjffy/fgkt31Wgg9n47sNpUhg8F398FZ+rN8vHDL4TACnJbclRMBJ7VLLvZOlZG5ZtOFmTwwE5neYWI5wy1t6AQqwTAKaqDjlkl3esThuNWQxa6UiHek4rPSjE48NNKypv/WiWoeIYqIwLsShEnGaJalex3zt9d4pX6r77AOtd5BcdU3LQclXO2MFj8y0gMLq2QTYugEKr0pcsewI5K6hE29Q4M26EhYBnuFjE4Z6T5ay72hhFjSmichF4b34vbdVfmqa2sXjKobRe7f6ru0XbXoVfb4Wdd2adnH8AzVggHQcEAAA= */
|
|
344
344
|
.ActiveRowIndicator_ActiveRowIndicator__j26lrx0 {
|
|
345
345
|
--infinite-active-row-border-style: var(--infinite-active-row-border-style, var(--infinite-active-cell-border-style));
|
|
346
|
-
right:
|
|
346
|
+
right: 0;
|
|
347
347
|
border: var(--infinite-active-row-border, var(--infinite-active-row-border-width, var(--infinite-active-cell-border-width)) var(--infinite-active-row-border-style, var(--infinite-active-cell-border-style)) var(--infinite-active-row-border-color, var(--infinite-active-cell-border-color, var(--infinite-accent-color))));
|
|
348
348
|
background: var(--infinite-active-row-background, var(--infinite-active-cell-background, color-mix(in srgb, var(--infinite-active-row-border-color, var(--infinite-active-cell-border-color, var(--infinite-accent-color))), transparent calc(100% - var(--infinite-active-row-background-alpha, var(--infinite-active-cell-background-alpha)) * 100%))));
|
|
349
349
|
}
|
|
350
|
-
.
|
|
350
|
+
.ActiveRowIndicator_ActiveRowIndicatorRecipe_active_true__j26lrx2 {
|
|
351
351
|
display: block;
|
|
352
352
|
}
|
|
353
|
-
.
|
|
353
|
+
.ActiveRowIndicator_ActiveRowIndicatorRecipe_active_false__j26lrx3 {
|
|
354
354
|
display: none;
|
|
355
355
|
}
|
|
356
356
|
|
package/index.d.ts
CHANGED
|
@@ -118,7 +118,82 @@ declare class DeepMap<KeyType, ValueType> {
|
|
|
118
118
|
|
|
119
119
|
declare type VoidFn = () => void;
|
|
120
120
|
|
|
121
|
+
declare type TableRenderRange = {
|
|
122
|
+
start: [number, number];
|
|
123
|
+
end: [number, number];
|
|
124
|
+
rowFixed?: FixedPosition;
|
|
125
|
+
colFixed?: FixedPosition;
|
|
126
|
+
};
|
|
121
127
|
declare type FixedPosition = false | 'start' | 'end';
|
|
128
|
+
declare type WhichDirection = {
|
|
129
|
+
horizontal?: boolean;
|
|
130
|
+
vertical?: boolean;
|
|
131
|
+
};
|
|
132
|
+
declare type ItemSizeFunction = (index: number) => number;
|
|
133
|
+
interface IBrain {
|
|
134
|
+
getColCount: () => number;
|
|
135
|
+
getRowCount: () => number;
|
|
136
|
+
getFixedCellInfo: () => {
|
|
137
|
+
fixedRowsStart: number;
|
|
138
|
+
fixedColsStart: number;
|
|
139
|
+
fixedRowsEnd: number;
|
|
140
|
+
fixedColsEnd: number;
|
|
141
|
+
};
|
|
142
|
+
getRowspanParent: (rowIndex: number, colIndex: number) => number;
|
|
143
|
+
getColspanParent: (rowIndex: number, colIndex: number) => number;
|
|
144
|
+
getRowHeight: (rowIndex: number) => number;
|
|
145
|
+
getColWidth: (colIndex: number) => number;
|
|
146
|
+
getRowHeightWithSpan: (rowIndex: number, colIndex: number, rowspan: number) => number;
|
|
147
|
+
getColWidthWithSpan: (rowIndex: number, colIndex: number, colspan: number) => number;
|
|
148
|
+
isRowFixedStart: (rowIndex: number) => boolean;
|
|
149
|
+
isRowFixedEnd: (rowIndex: number) => boolean;
|
|
150
|
+
getScrollPosition: () => ScrollPosition;
|
|
151
|
+
getItemOffsetFor: (itemIndex: number, direction: 'horizontal' | 'vertical') => number;
|
|
152
|
+
getItemSize: (itemIndex: number, direction: 'horizontal' | 'vertical') => number;
|
|
153
|
+
getItemAt: (scrollPos: number, direction: 'horizontal' | 'vertical') => number;
|
|
154
|
+
getAvailableSize: () => Size;
|
|
155
|
+
getFixedStartRowsHeight: () => number;
|
|
156
|
+
getFixedEndRowsHeight: (options?: {
|
|
157
|
+
skipScroll: boolean;
|
|
158
|
+
}) => number;
|
|
159
|
+
getFixedStartColsWidth: () => number;
|
|
160
|
+
getFixedEndColsWidth: (options?: {
|
|
161
|
+
skipScroll: boolean;
|
|
162
|
+
}) => number;
|
|
163
|
+
getFixedEndColsOffsets: (options?: {
|
|
164
|
+
skipScroll: boolean;
|
|
165
|
+
}) => number[];
|
|
166
|
+
getFixedEndRowsOffsets: (options?: {
|
|
167
|
+
skipScroll: boolean;
|
|
168
|
+
}) => number[];
|
|
169
|
+
isRowFixed: (rowIndex: number) => boolean;
|
|
170
|
+
isColFixed: (colIndex: number) => boolean;
|
|
171
|
+
getRenderRange: () => TableRenderRange;
|
|
172
|
+
getExtraSpanCellsForRange: (options: {
|
|
173
|
+
horizontal: {
|
|
174
|
+
startIndex: number;
|
|
175
|
+
endIndex: number;
|
|
176
|
+
};
|
|
177
|
+
vertical: {
|
|
178
|
+
startIndex: number;
|
|
179
|
+
endIndex: number;
|
|
180
|
+
};
|
|
181
|
+
}) => [number, number][];
|
|
182
|
+
getRowspan: (rowIndex: number, colIndex: number) => number;
|
|
183
|
+
getColspan: (rowIndex: number, colIndex: number) => number;
|
|
184
|
+
getCellOffset: (rowIndex: number, colIndex: number) => {
|
|
185
|
+
x: number;
|
|
186
|
+
y: number;
|
|
187
|
+
};
|
|
188
|
+
name: string;
|
|
189
|
+
onRenderRangeChange: (fn: (renderRange: TableRenderRange) => void) => VoidFunction;
|
|
190
|
+
onScroll: (fn: OnScrollFn) => VoidFunction;
|
|
191
|
+
onAvailableSizeChange: (fn: (size: Size) => void) => VoidFunction;
|
|
192
|
+
onDestroy: (fn: VoidFunction) => void;
|
|
193
|
+
onScrollStart: (fn: VoidFunction) => VoidFunction;
|
|
194
|
+
onScrollStop: (fn: (scrollPos: ScrollPosition) => void) => VoidFunction;
|
|
195
|
+
}
|
|
196
|
+
|
|
122
197
|
declare type SpanFunction = ({ rowIndex, colIndex, }: {
|
|
123
198
|
rowIndex: number;
|
|
124
199
|
colIndex: number;
|
|
@@ -127,7 +202,6 @@ declare type RenderRangeType = {
|
|
|
127
202
|
startIndex: number;
|
|
128
203
|
endIndex: number;
|
|
129
204
|
};
|
|
130
|
-
declare type ItemSizeFunction = (index: number) => number;
|
|
131
205
|
declare type MatrixBrainOptions = {
|
|
132
206
|
width: number;
|
|
133
207
|
height: number;
|
|
@@ -138,16 +212,7 @@ declare type MatrixBrainOptions = {
|
|
|
138
212
|
rowspan?: SpanFunction;
|
|
139
213
|
colspan?: SpanFunction;
|
|
140
214
|
};
|
|
141
|
-
|
|
142
|
-
start: [number, number];
|
|
143
|
-
end: [number, number];
|
|
144
|
-
rowFixed?: FixedPosition;
|
|
145
|
-
colFixed?: FixedPosition;
|
|
146
|
-
};
|
|
147
|
-
declare type WhichDirection = {
|
|
148
|
-
horizontal?: boolean;
|
|
149
|
-
vertical?: boolean;
|
|
150
|
-
};
|
|
215
|
+
|
|
151
216
|
declare type FnOnRenderRangeChange = (range: TableRenderRange) => void;
|
|
152
217
|
declare type FnOnDirectionalRenderRangeChange = (range: [number, number]) => void;
|
|
153
218
|
declare type FnOnRenderCountChange = ({ horizontal, vertical, }: {
|
|
@@ -155,39 +220,61 @@ declare type FnOnRenderCountChange = ({ horizontal, vertical, }: {
|
|
|
155
220
|
vertical: number;
|
|
156
221
|
}) => void;
|
|
157
222
|
declare type OnAvailableSizeChange = (size: Size) => void;
|
|
158
|
-
declare
|
|
223
|
+
declare type ShouldUpdateRenderCountOptions = {
|
|
224
|
+
horizontalChange: boolean;
|
|
225
|
+
colsChanged: boolean;
|
|
226
|
+
colWidthChanged: boolean;
|
|
227
|
+
widthChanged: boolean;
|
|
228
|
+
colspanChanged: boolean;
|
|
229
|
+
verticalChange: boolean;
|
|
230
|
+
rowsChanged: boolean;
|
|
231
|
+
rowHeightChanged: boolean;
|
|
232
|
+
heightChanged: boolean;
|
|
233
|
+
rowspanChanged: boolean;
|
|
234
|
+
};
|
|
235
|
+
declare class MatrixBrain extends Logger implements IBrain {
|
|
159
236
|
private scrolling;
|
|
160
|
-
|
|
237
|
+
protected availableWidth: MatrixBrainOptions['width'];
|
|
238
|
+
protected availableRenderWidth: number;
|
|
239
|
+
isHorizontalLayoutBrain: boolean;
|
|
161
240
|
name: string;
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
241
|
+
protected availableHeight: MatrixBrainOptions['height'];
|
|
242
|
+
protected availableRenderHeight: number;
|
|
243
|
+
protected cols: MatrixBrainOptions['cols'];
|
|
244
|
+
protected rows: MatrixBrainOptions['rows'];
|
|
245
|
+
/**
|
|
246
|
+
* This is only here for easier accessing in the renderer, when the horizontal layout is enabled.
|
|
247
|
+
* In this way, the API is the same for both brains, so we don't have to cast the brain type in the renderer.
|
|
248
|
+
*/
|
|
249
|
+
set rowsPerPage(rowsPerPage: number);
|
|
250
|
+
get rowsPerPage(): number;
|
|
251
|
+
protected _rowsPerPage: number;
|
|
252
|
+
protected rowHeight: MatrixBrainOptions['rowHeight'];
|
|
253
|
+
protected colWidth: MatrixBrainOptions['colWidth'];
|
|
167
254
|
private rowspan;
|
|
168
255
|
private colspan;
|
|
169
256
|
private rowspanParent;
|
|
170
257
|
private rowspanValue;
|
|
171
|
-
|
|
172
|
-
|
|
258
|
+
protected rowHeightCache: number[];
|
|
259
|
+
protected rowOffsetCache: number[];
|
|
173
260
|
private verticalTotalSize;
|
|
174
261
|
private colspanParent;
|
|
175
262
|
private colspanValue;
|
|
176
|
-
|
|
177
|
-
|
|
263
|
+
protected colWidthCache: number[];
|
|
264
|
+
protected colOffsetCache: number[];
|
|
178
265
|
private horizontalTotalSize;
|
|
179
266
|
private horizontalRenderCount?;
|
|
180
267
|
private verticalRenderCount?;
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
268
|
+
protected horizontalRenderRange: RenderRangeType;
|
|
269
|
+
protected verticalRenderRange: RenderRangeType;
|
|
270
|
+
protected extraSpanCells: [number, number][];
|
|
184
271
|
private scrollPosition;
|
|
185
272
|
private onScrollFns;
|
|
186
273
|
private onRenderRangeChangeFns;
|
|
187
274
|
private onVerticalRenderRangeChangeFns;
|
|
188
275
|
private onHorizontalRenderRangeChangeFns;
|
|
189
276
|
private onDestroyFns;
|
|
190
|
-
|
|
277
|
+
protected destroyed: boolean;
|
|
191
278
|
private onRenderCountChangeFns;
|
|
192
279
|
private onAvailableSizeChangeFns;
|
|
193
280
|
private onScrollStartFns;
|
|
@@ -210,37 +297,38 @@ declare class MatrixBrain extends Logger {
|
|
|
210
297
|
* Number of rows that are fixed at the end
|
|
211
298
|
*/
|
|
212
299
|
private fixedRowsEnd;
|
|
213
|
-
constructor(name
|
|
300
|
+
constructor(name: string);
|
|
214
301
|
private reset;
|
|
215
302
|
private resetVertical;
|
|
216
303
|
private resetHorizontal;
|
|
217
304
|
setScrollStopDelay: (scrollStopDelay: number) => void;
|
|
305
|
+
getVirtualColIndex(colIndex: number, _opts?: {
|
|
306
|
+
pageIndex: number;
|
|
307
|
+
}): number;
|
|
218
308
|
getRowCount: () => number;
|
|
219
309
|
getColCount: () => number;
|
|
220
|
-
update
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
updateRenderCount: (which?: WhichDirection) => void;
|
|
233
|
-
private doUpdateRenderCount;
|
|
310
|
+
update(options: Partial<MatrixBrainOptions>, shouldUpdateRenderCount?: (options: ShouldUpdateRenderCountOptions) => boolean): void;
|
|
311
|
+
/**
|
|
312
|
+
*
|
|
313
|
+
* @param options.left - if true, extends the left side with the amount of current visible columns, otherwise with the specified number
|
|
314
|
+
* @param options.right - if true, extends the right side with the amount of current visible columns, otherwise with the specified number
|
|
315
|
+
*/
|
|
316
|
+
extendRenderRange(options: {
|
|
317
|
+
left?: number | boolean;
|
|
318
|
+
right?: number | boolean;
|
|
319
|
+
}): () => void;
|
|
320
|
+
updateRenderCount(which?: WhichDirection): void;
|
|
321
|
+
protected doUpdateRenderCount(which?: WhichDirection): void;
|
|
234
322
|
get scrollTopMax(): number;
|
|
235
323
|
get scrollLeftMax(): number;
|
|
236
324
|
private setScrolling;
|
|
237
325
|
private notifyScrollStart;
|
|
238
326
|
private notifyScrollStop;
|
|
239
|
-
setScrollPosition
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
327
|
+
setScrollPosition(scrollPosition: ScrollPosition, callback?: (scrollPos: ScrollPosition) => void): void;
|
|
328
|
+
protected notifyAvailableSizeChange: () => void;
|
|
329
|
+
protected notifyRenderRangeChange(): void;
|
|
330
|
+
protected notifyVerticalRenderRangeChange: () => void;
|
|
331
|
+
protected notifyHorizontalRenderRangeChange: () => void;
|
|
244
332
|
private notifyScrollChange;
|
|
245
333
|
private computeDirectionalRenderCount;
|
|
246
334
|
getFixedSize(direction: 'horizontal' | 'vertical'): number;
|
|
@@ -318,12 +406,15 @@ declare class MatrixBrain extends Logger {
|
|
|
318
406
|
endIndex: number;
|
|
319
407
|
};
|
|
320
408
|
getItemAt: (scrollPos: number, direction: 'horizontal' | 'vertical') => number;
|
|
321
|
-
getCellOffset
|
|
409
|
+
getCellOffset(rowIndex: number, colIndex: number): {
|
|
322
410
|
x: number;
|
|
323
411
|
y: number;
|
|
324
412
|
};
|
|
325
|
-
|
|
326
|
-
|
|
413
|
+
getInitialRowHeight(): number | ItemSizeFunction;
|
|
414
|
+
getInitialCols(): number;
|
|
415
|
+
getInitialRows(): number;
|
|
416
|
+
getItemOffsetFor(itemIndex: number, direction: 'horizontal' | 'vertical'): number;
|
|
417
|
+
protected computeCacheFor: (itemIndex: number, direction: 'horizontal' | 'vertical') => void;
|
|
327
418
|
private getItemSizeCacheFor;
|
|
328
419
|
private computeItemSpanUpTo;
|
|
329
420
|
private getCellSpan;
|
|
@@ -343,11 +434,13 @@ declare class MatrixBrain extends Logger {
|
|
|
343
434
|
* @returns the size of the specified item
|
|
344
435
|
*/
|
|
345
436
|
getItemSize: (itemIndex: number, direction: 'horizontal' | 'vertical') => number;
|
|
346
|
-
|
|
437
|
+
getRowIndexInPage(rowIndex: number): number;
|
|
438
|
+
getPageIndexForRow(_rowIndex: number): number;
|
|
439
|
+
getVirtualizedContentSize(): {
|
|
347
440
|
height: number;
|
|
348
441
|
width: number;
|
|
349
442
|
};
|
|
350
|
-
|
|
443
|
+
getVirtualizedContentSizeFor(direction: 'horizontal' | 'vertical'): number;
|
|
351
444
|
setRenderRange: ({ horizontal, vertical, extraCells, }: {
|
|
352
445
|
horizontal: RenderRangeType;
|
|
353
446
|
vertical: RenderRangeType;
|
|
@@ -373,8 +466,12 @@ declare class MatrixBrain extends Logger {
|
|
|
373
466
|
width: number;
|
|
374
467
|
height: number;
|
|
375
468
|
};
|
|
469
|
+
protected getAvailableRenderSize: () => {
|
|
470
|
+
width: number;
|
|
471
|
+
height: number;
|
|
472
|
+
};
|
|
376
473
|
private notifyDestroy;
|
|
377
|
-
destroy
|
|
474
|
+
destroy(): void;
|
|
378
475
|
}
|
|
379
476
|
|
|
380
477
|
declare enum InfiniteTableActionType {
|
|
@@ -397,6 +494,7 @@ declare type InfiniteTableAction = {
|
|
|
397
494
|
declare type InfiniteTableBaseCellProps<T> = {
|
|
398
495
|
column: InfiniteTableComputedColumn<T>;
|
|
399
496
|
align?: InfiniteTableColumnAlignValues;
|
|
497
|
+
horizontalLayoutPageIndex: number | null;
|
|
400
498
|
rowId?: any;
|
|
401
499
|
renderChildren: () => Renderable;
|
|
402
500
|
width: number;
|
|
@@ -489,6 +587,7 @@ declare type InfiniteTableColumnHeaderParam<DATA_TYPE, COL_TYPE = InfiniteTableC
|
|
|
489
587
|
columnSortInfo: DataSourceSingleSortInfo<DATA_TYPE> | null;
|
|
490
588
|
columnFilterValue: DataSourceFilterValueItem<DATA_TYPE> | null;
|
|
491
589
|
selectionMode: DataSourcePropSelectionMode;
|
|
590
|
+
horizontalLayoutPageIndex: null | number;
|
|
492
591
|
allRowsSelected: boolean;
|
|
493
592
|
someRowsSelected: boolean;
|
|
494
593
|
filtered: boolean;
|
|
@@ -518,6 +617,9 @@ declare type InfiniteTableColumnRenderBag = {
|
|
|
518
617
|
};
|
|
519
618
|
declare type InfiniteTableColumnRenderParamBase<DATA_TYPE, COL_TYPE = InfiniteTableComputedColumn<DATA_TYPE>> = {
|
|
520
619
|
domRef: InfiniteTableCellProps<DATA_TYPE>['domRef'];
|
|
620
|
+
htmlElementRef: React__default.MutableRefObject<HTMLElement | null>;
|
|
621
|
+
rowIndexInHorizontalLayoutPage: null | number;
|
|
622
|
+
horizontalLayoutPageIndex: null | number;
|
|
521
623
|
value: string | number | Renderable;
|
|
522
624
|
align: InfiniteTableColumnAlignValues;
|
|
523
625
|
verticalAlign: InfiniteTableColumnVerticalAlignValues;
|
|
@@ -569,6 +671,11 @@ declare type InfiniteTableColumnRenderFunctionForNormalRows<DATA_TYPE, COL_TYPE
|
|
|
569
671
|
}) => Renderable | null;
|
|
570
672
|
declare type InfiniteTableColumnRenderFunction<DATA_TYPE, COL_TYPE = InfiniteTableComputedColumn<DATA_TYPE>> = (renderParams: InfiniteTableColumnCellContextType<DATA_TYPE, COL_TYPE>) => Renderable | null;
|
|
571
673
|
declare type InfiniteTableColumnHeaderRenderFunction<T> = (headerParams: InfiniteTableColumnHeaderParam<T>) => Renderable;
|
|
674
|
+
declare type InfiniteTableColumnOrHeaderRenderFunction<T> = (params: (InfiniteTableColumnCellContextType<T> & {
|
|
675
|
+
rowInfo: InfiniteTableRowInfo<T>;
|
|
676
|
+
}) | (InfiniteTableColumnHeaderParam<T> & {
|
|
677
|
+
rowInfo: null;
|
|
678
|
+
})) => ReturnType<InfiniteTableColumnRenderFunction<T>>;
|
|
572
679
|
declare type InfiniteTableColumnContentFocusable<T> = boolean | InfiniteTableColumnContentFocusableFn<T>;
|
|
573
680
|
declare type InfiniteTableColumnEditable<T> = boolean | InfiniteTableColumnEditableFn<T>;
|
|
574
681
|
declare type InfiniteTableColumnContentFocusableFn<T> = (params: InfiniteTableColumnContentFocusableParams<T>) => boolean;
|
|
@@ -586,6 +693,8 @@ declare type InfiniteTableColumnTypeNames = 'string' | 'number' | 'date' | strin
|
|
|
586
693
|
declare type InfiniteTableColumnStylingFnParams<T> = {
|
|
587
694
|
value: Renderable;
|
|
588
695
|
column: InfiniteTableComputedColumn<T>;
|
|
696
|
+
rowIndexInHorizontalLayoutPage: null | number;
|
|
697
|
+
horizontalLayoutPageIndex: null | number;
|
|
589
698
|
inEdit: boolean;
|
|
590
699
|
rowHasSelectedCells: boolean;
|
|
591
700
|
editError: InfiniteTableColumnRenderParamBase<T>['editError'];
|
|
@@ -681,7 +790,7 @@ declare type InfiniteTableColumn<DATA_TYPE> = {
|
|
|
681
790
|
renderRowDetailIcon?: boolean | InfiniteTableColumnRenderFunction<DATA_TYPE>;
|
|
682
791
|
renderSortIcon?: InfiniteTableColumnHeaderRenderFunction<DATA_TYPE>;
|
|
683
792
|
renderFilterIcon?: InfiniteTableColumnHeaderRenderFunction<DATA_TYPE>;
|
|
684
|
-
renderSelectionCheckBox?: boolean |
|
|
793
|
+
renderSelectionCheckBox?: boolean | InfiniteTableColumnOrHeaderRenderFunction<DATA_TYPE>;
|
|
685
794
|
renderMenuIcon?: boolean | InfiniteTableColumnHeaderRenderFunction<DATA_TYPE>;
|
|
686
795
|
renderHeaderSelectionCheckBox?: boolean | InfiniteTableColumnHeaderRenderFunction<DATA_TYPE>;
|
|
687
796
|
components?: {
|
|
@@ -1169,6 +1278,85 @@ declare class RowDetailState<KeyType = any> extends BooleanCollectionState<RowDe
|
|
|
1169
1278
|
toggleRowDetails(key: KeyType): void;
|
|
1170
1279
|
}
|
|
1171
1280
|
|
|
1281
|
+
declare type SubscriptionCallbackOnChangeFn<T> = (node: T | null) => void;
|
|
1282
|
+
interface SubscriptionCallback<T> {
|
|
1283
|
+
(node: T, callback?: () => void): void;
|
|
1284
|
+
get: () => T | null;
|
|
1285
|
+
destroy: VoidFn;
|
|
1286
|
+
onChange: (fn: SubscriptionCallbackOnChangeFn<T>) => VoidFn;
|
|
1287
|
+
}
|
|
1288
|
+
|
|
1289
|
+
/**
|
|
1290
|
+
* This class abstracts the following behavior:
|
|
1291
|
+
*
|
|
1292
|
+
* in the DOM, we have a list (flat, so no nesting) of elements that represent table cells
|
|
1293
|
+
* At any one time, just a fraction of all table cells are rendered/present in the DOM
|
|
1294
|
+
* and we need to keep track and know for each element what cell represents and for each
|
|
1295
|
+
* rendered cell, to what element it is currently mapped (so we need a bi-directional mapping)
|
|
1296
|
+
*
|
|
1297
|
+
* This class has tests - see tests/mapped-cells.spec.ts
|
|
1298
|
+
*/
|
|
1299
|
+
declare class MappedCells<T_ADDITIONAL_CELL_INFO = any> extends Logger {
|
|
1300
|
+
/**
|
|
1301
|
+
* This is the mapping from element index to cell info.
|
|
1302
|
+
* The index in the array is the element index while the value at the position is an array where
|
|
1303
|
+
* the first number is the row index and the second number is the column index.
|
|
1304
|
+
*/
|
|
1305
|
+
private elementIndexToCell;
|
|
1306
|
+
/**
|
|
1307
|
+
* This is the mapping from cell address to element index.
|
|
1308
|
+
* The key in the map is the cell address (built like this: `${rowIndex}:${columnIndex}`)
|
|
1309
|
+
* while the value is the element index it is being rendered to.
|
|
1310
|
+
*/
|
|
1311
|
+
private cellToElementIndex;
|
|
1312
|
+
private cellAdditionalInfo;
|
|
1313
|
+
/**
|
|
1314
|
+
* Keeps the JSX of rendered elements in memory, so we can possibly reuse it later.
|
|
1315
|
+
*/
|
|
1316
|
+
private renderedElements;
|
|
1317
|
+
private withCellAdditionalInfo;
|
|
1318
|
+
constructor(opts?: {
|
|
1319
|
+
withCellAdditionalInfo: boolean;
|
|
1320
|
+
});
|
|
1321
|
+
getElementFromListForColumn: (elementsOutsideItemRange: number[], colIndex: number) => number | undefined;
|
|
1322
|
+
init(): void;
|
|
1323
|
+
reset(): void;
|
|
1324
|
+
destroy(): void;
|
|
1325
|
+
/**
|
|
1326
|
+
* Retrieves the elements that contain rendered cells that are outside
|
|
1327
|
+
* of the specified range
|
|
1328
|
+
*
|
|
1329
|
+
* @param start in [rowIndex, colIndex] format - represents the topmost-leftmost cell visible of the render range
|
|
1330
|
+
* @param end in [rowIndex, colIndex] format - represents the bottom-right corner of the visible range. The end is not inclusive,
|
|
1331
|
+
* so the last visible cell will be [rowIndex-1, colIndex-1]
|
|
1332
|
+
*
|
|
1333
|
+
* @returns an array of element indexes that are outside the specified range
|
|
1334
|
+
*/
|
|
1335
|
+
getElementsOutsideRenderRange: (range: TableRenderRange) => number[];
|
|
1336
|
+
isCellRendered: (rowIndex: number, columnIndex: number) => boolean;
|
|
1337
|
+
getCellAdditionalInfo: (rowIndex: number, columnIndex: number) => T_ADDITIONAL_CELL_INFO | undefined;
|
|
1338
|
+
isElementRendered: (elementIndex: number) => boolean;
|
|
1339
|
+
getElementsForRowIndex: (rowIndex: number) => number[];
|
|
1340
|
+
getAdditionalInfoForRowIndex: (rowIndex: number) => T_ADDITIONAL_CELL_INFO[];
|
|
1341
|
+
getRenderedNodeAtElement: (elementIndex: number) => Renderable | null;
|
|
1342
|
+
getRenderedCellAtElement: (elementIndex: number) => [
|
|
1343
|
+
number,
|
|
1344
|
+
number
|
|
1345
|
+
] | null;
|
|
1346
|
+
getRenderedNodeForCell: (rowIndex: number, columnIndex: number) => Renderable | null;
|
|
1347
|
+
getElementIndexForCell: (rowIndex: number, columnIndex: number) => number | null;
|
|
1348
|
+
renderCellAtElement: (rowIndex: number, colIndex: number, elementIndex: number, renderNode: Renderable | undefined, cellAdditionalInfo?: T_ADDITIONAL_CELL_INFO | undefined) => void;
|
|
1349
|
+
discardCell: (rowIndex: number, colIndex: number) => void;
|
|
1350
|
+
discardElement: (elementIndex: number) => [
|
|
1351
|
+
number,
|
|
1352
|
+
number
|
|
1353
|
+
] | null;
|
|
1354
|
+
discardElementsStartingWith: (elIndex: number, callback?: ((index: number, cell: [
|
|
1355
|
+
number,
|
|
1356
|
+
number
|
|
1357
|
+
] | null) => void) | undefined) => boolean;
|
|
1358
|
+
}
|
|
1359
|
+
|
|
1172
1360
|
declare type TableRenderCellFnParam = {
|
|
1173
1361
|
domRef: RefCallback<HTMLElement>;
|
|
1174
1362
|
rowIndex: number;
|
|
@@ -1196,19 +1384,25 @@ declare type TableRenderDetailRowFnParam = {
|
|
|
1196
1384
|
};
|
|
1197
1385
|
declare type TableRenderCellFn = (param: TableRenderCellFnParam) => Renderable;
|
|
1198
1386
|
declare type TableRenderDetailRowFn = (param: TableRenderDetailRowFnParam) => Renderable;
|
|
1387
|
+
declare type HorizontalLayoutColVisibilityOptions = {
|
|
1388
|
+
horizontalLayoutPageIndex?: number;
|
|
1389
|
+
};
|
|
1199
1390
|
declare class ReactHeadlessTableRenderer extends Logger {
|
|
1200
|
-
|
|
1391
|
+
protected brain: MatrixBrain;
|
|
1201
1392
|
debugId: string;
|
|
1202
|
-
|
|
1393
|
+
protected destroyed: boolean;
|
|
1203
1394
|
private scrolling;
|
|
1204
1395
|
cellHoverClassNames: string[];
|
|
1205
1396
|
private itemDOMElements;
|
|
1206
|
-
|
|
1207
|
-
|
|
1397
|
+
protected itemDOMRefs: RefCallback<HTMLElement>[];
|
|
1398
|
+
protected updaters: SubscriptionCallback<Renderable>[];
|
|
1208
1399
|
private detailRowDOMElements;
|
|
1209
1400
|
private detailRowDOMRefs;
|
|
1210
1401
|
private detailRowUpdaters;
|
|
1211
|
-
|
|
1402
|
+
protected mappedCells: MappedCells<{
|
|
1403
|
+
renderRowIndex: number;
|
|
1404
|
+
renderColIndex: number;
|
|
1405
|
+
}>;
|
|
1212
1406
|
private mappedDetailRows;
|
|
1213
1407
|
private items;
|
|
1214
1408
|
private detailItems;
|
|
@@ -1228,7 +1422,7 @@ declare class ReactHeadlessTableRenderer extends Logger {
|
|
|
1228
1422
|
scrollLeft?: boolean | undefined;
|
|
1229
1423
|
scrollTop?: boolean | undefined;
|
|
1230
1424
|
}, zIndex: number | 'auto' | undefined | null) => void;
|
|
1231
|
-
constructor(brain: MatrixBrain);
|
|
1425
|
+
constructor(brain: MatrixBrain, debugId?: string);
|
|
1232
1426
|
getFullyVisibleRowsRange: () => {
|
|
1233
1427
|
start: number;
|
|
1234
1428
|
end: number;
|
|
@@ -1236,11 +1430,12 @@ declare class ReactHeadlessTableRenderer extends Logger {
|
|
|
1236
1430
|
getScrollPositionForScrollRowIntoView: (rowIndex: number, config?: {
|
|
1237
1431
|
scrollAdjustPosition?: ScrollAdjustPosition;
|
|
1238
1432
|
offset?: number;
|
|
1433
|
+
colIndex?: number;
|
|
1239
1434
|
}) => ScrollPosition | null;
|
|
1240
1435
|
getScrollPositionForScrollColumnIntoView: (colIndex: number, config?: {
|
|
1241
1436
|
scrollAdjustPosition?: ScrollAdjustPosition;
|
|
1242
1437
|
offset?: number;
|
|
1243
|
-
}) => ScrollPosition | null;
|
|
1438
|
+
} & HorizontalLayoutColVisibilityOptions) => ScrollPosition | null;
|
|
1244
1439
|
getScrollPositionForScrollCellIntoView: (rowIndex: number, colIndex: number, config?: {
|
|
1245
1440
|
rowScrollAdjustPosition?: ScrollAdjustPosition;
|
|
1246
1441
|
colScrollAdjustPosition?: ScrollAdjustPosition;
|
|
@@ -1252,31 +1447,46 @@ declare class ReactHeadlessTableRenderer extends Logger {
|
|
|
1252
1447
|
isRowVisible: (rowIndex: number, offsetMargin?: number) => boolean;
|
|
1253
1448
|
isRowRendered: (rowIndex: number) => boolean;
|
|
1254
1449
|
isCellVisible: (rowIndex: number, colIndex: number) => boolean;
|
|
1255
|
-
isCellFullyVisible: (rowIndex: number, colIndex: number) => boolean;
|
|
1256
|
-
isColumnFullyVisible: (colIndex: number, offsetMargin?: number) => boolean;
|
|
1257
|
-
isColumnVisible: (colIndex: number, offsetMargin?: number) => boolean;
|
|
1258
|
-
isCellRendered: (rowIndex: number, colIndex: number) => boolean;
|
|
1259
|
-
isColumnRendered: (colIndex: number) => boolean;
|
|
1450
|
+
isCellFullyVisible: (rowIndex: number, colIndex: number, opts?: HorizontalLayoutColVisibilityOptions | undefined) => boolean;
|
|
1451
|
+
isColumnFullyVisible: (colIndex: number, offsetMargin?: number, opts?: HorizontalLayoutColVisibilityOptions | undefined) => boolean;
|
|
1452
|
+
isColumnVisible: (colIndex: number, offsetMargin?: number, opts?: HorizontalLayoutColVisibilityOptions | undefined) => boolean;
|
|
1453
|
+
isCellRendered: (rowIndex: number, colIndex: number, opts?: HorizontalLayoutColVisibilityOptions | undefined) => boolean;
|
|
1454
|
+
isColumnRendered: (colIndex: number, opts?: HorizontalLayoutColVisibilityOptions | undefined) => boolean;
|
|
1260
1455
|
getExtraSpanCellsForRange: (range: TableRenderRange) => [number, number][];
|
|
1261
|
-
|
|
1262
|
-
|
|
1456
|
+
isCellRenderedAndMappedCorrectly(row: number, col: number): {
|
|
1457
|
+
rendered: boolean;
|
|
1458
|
+
mapped: boolean;
|
|
1459
|
+
};
|
|
1460
|
+
renderRange(range: TableRenderRange, { renderCell, renderDetailRow, force, onRender, }: {
|
|
1461
|
+
force?: boolean;
|
|
1263
1462
|
renderCell: TableRenderCellFn;
|
|
1264
|
-
renderDetailRow?: TableRenderDetailRowFn
|
|
1463
|
+
renderDetailRow?: TableRenderDetailRowFn;
|
|
1265
1464
|
onRender: (items: Renderable[]) => void;
|
|
1266
|
-
})
|
|
1465
|
+
}): Renderable[];
|
|
1267
1466
|
private renderElement;
|
|
1268
1467
|
private renderDetailElement;
|
|
1269
1468
|
getFixedRanges: (currentRenderRange: TableRenderRange) => TableRenderRange[];
|
|
1270
|
-
|
|
1271
|
-
|
|
1469
|
+
protected isCellFixed: (rowIndex: number, colIndex: number) => {
|
|
1470
|
+
row: FixedPosition;
|
|
1471
|
+
col: FixedPosition;
|
|
1472
|
+
};
|
|
1473
|
+
protected isCellCovered: (rowIndex: number, colIndex: number) => false | number[];
|
|
1272
1474
|
private renderDetailRowAtElement;
|
|
1273
|
-
|
|
1274
|
-
|
|
1475
|
+
protected getCellRealCoordinates(rowIndex: number, colIndex: number): {
|
|
1476
|
+
rowIndex: number;
|
|
1477
|
+
colIndex: number;
|
|
1478
|
+
};
|
|
1479
|
+
protected renderCellAtElement(rowIndex: number, colIndex: number, elementIndex: number, renderCell: TableRenderCellFn): void;
|
|
1480
|
+
protected onMouseEnter: (rowIndex: number) => void;
|
|
1275
1481
|
private addHoverClass;
|
|
1276
|
-
|
|
1482
|
+
protected onMouseLeave: (rowIndex: number) => void;
|
|
1277
1483
|
private removeHoverClass;
|
|
1278
|
-
|
|
1279
|
-
|
|
1484
|
+
protected updateHoverClassNamesForRow: (rowIndex: number) => void;
|
|
1485
|
+
protected updateElementPosition: (elementIndex: number, options?: {
|
|
1486
|
+
hidden: boolean;
|
|
1487
|
+
rowspan: number;
|
|
1488
|
+
colspan: number;
|
|
1489
|
+
} | undefined) => void;
|
|
1280
1490
|
private updateDetailElementPosition;
|
|
1281
1491
|
private onScrollStart;
|
|
1282
1492
|
private onScrollStop;
|
|
@@ -1285,14 +1495,6 @@ declare class ReactHeadlessTableRenderer extends Logger {
|
|
|
1285
1495
|
reset(): void;
|
|
1286
1496
|
}
|
|
1287
1497
|
|
|
1288
|
-
declare type SubscriptionCallbackOnChangeFn<T> = (node: T | null) => void;
|
|
1289
|
-
interface SubscriptionCallback<T> {
|
|
1290
|
-
(node: T, callback?: () => void): void;
|
|
1291
|
-
get: () => T | null;
|
|
1292
|
-
destroy: VoidFn;
|
|
1293
|
-
onChange: (fn: SubscriptionCallbackOnChangeFn<T>) => VoidFn;
|
|
1294
|
-
}
|
|
1295
|
-
|
|
1296
1498
|
declare class ScrollListener {
|
|
1297
1499
|
private scrollPosition;
|
|
1298
1500
|
private onScrollFns;
|
|
@@ -1318,11 +1520,13 @@ declare type ContextMenuLocationWithEvent = Partial<CellContextMenuLocation> & {
|
|
|
1318
1520
|
target: HTMLElement;
|
|
1319
1521
|
};
|
|
1320
1522
|
interface InfiniteTableSetupState<T> {
|
|
1523
|
+
brain: MatrixBrain;
|
|
1524
|
+
headerBrain: MatrixBrain;
|
|
1321
1525
|
renderer: ReactHeadlessTableRenderer;
|
|
1526
|
+
onRenderUpdater: SubscriptionCallback<Renderable>;
|
|
1322
1527
|
lastRowToExpandRef: MutableRefObject<any | null>;
|
|
1323
1528
|
lastRowToCollapseRef: MutableRefObject<any | null>;
|
|
1324
1529
|
getDOMNodeForCell: (cellPos: CellPositionByIndex) => HTMLElement | null;
|
|
1325
|
-
onRenderUpdater: SubscriptionCallback<Renderable>;
|
|
1326
1530
|
propsCache: Map<keyof InfiniteTableProps<T>, WeakMap<any, any>>;
|
|
1327
1531
|
columnsWhenInlineGroupRenderStrategy?: Record<string, InfiniteTableColumn<T>>;
|
|
1328
1532
|
domRef: MutableRefObject<HTMLDivElement | null>;
|
|
@@ -1361,8 +1565,6 @@ interface InfiniteTableSetupState<T> {
|
|
|
1361
1565
|
keyDown: SubscriptionCallback<KeyboardEvent>;
|
|
1362
1566
|
columnsWhenGrouping?: InfiniteTablePropColumns<T>;
|
|
1363
1567
|
bodySize: Size;
|
|
1364
|
-
brain: MatrixBrain;
|
|
1365
|
-
headerBrain: MatrixBrain;
|
|
1366
1568
|
focused: boolean;
|
|
1367
1569
|
ready: boolean;
|
|
1368
1570
|
columnReorderDragColumnId: false | string;
|
|
@@ -1406,6 +1608,7 @@ interface InfiniteTableMappedState<T> {
|
|
|
1406
1608
|
groupColumn: InfiniteTableProps<T>['groupColumn'];
|
|
1407
1609
|
onKeyDown: InfiniteTableProps<T>['onKeyDown'];
|
|
1408
1610
|
onCellClick: InfiniteTableProps<T>['onCellClick'];
|
|
1611
|
+
wrapRowsHorizontally: InfiniteTableProps<T>['wrapRowsHorizontally'];
|
|
1409
1612
|
rowDetailCache: RowDetailCache<RowDetailCacheKey, RowDetailCacheEntry>;
|
|
1410
1613
|
headerOptions: NonUndefined<InfiniteTableProps<T>['headerOptions']>;
|
|
1411
1614
|
draggableColumnsRestrictTo: NonUndefined<InfiniteTableProps<T>['draggableColumnsRestrictTo']>;
|
|
@@ -2255,6 +2458,7 @@ declare function useInfiniteHeaderCell<T>(): {
|
|
|
2255
2458
|
columnSortInfo: DataSourceSingleSortInfo<T> | null;
|
|
2256
2459
|
columnFilterValue: DataSourceFilterValueItem<T> | null;
|
|
2257
2460
|
selectionMode: DataSourcePropSelectionMode;
|
|
2461
|
+
horizontalLayoutPageIndex: number | null;
|
|
2258
2462
|
allRowsSelected: boolean;
|
|
2259
2463
|
someRowsSelected: boolean;
|
|
2260
2464
|
filtered: boolean;
|
|
@@ -5082,11 +5286,14 @@ declare type InfiniteTablePropColumnGroups = Record<string, InfiniteTableColumnG
|
|
|
5082
5286
|
declare type InfiniteTablePropCollapsedColumnGroups = Map<string[], string>;
|
|
5083
5287
|
declare type InfiniteTableColumnGroupHeaderRenderParams = {
|
|
5084
5288
|
columnGroup: InfiniteTableComputedColumnGroup;
|
|
5289
|
+
horizontalLayoutPageIndex: number | null;
|
|
5085
5290
|
};
|
|
5086
5291
|
declare type InfiniteTableColumnGroupHeaderRenderFunction = (params: InfiniteTableColumnGroupHeaderRenderParams) => Renderable;
|
|
5292
|
+
declare type InfiniteTableColumnGroupStyleFunction = (params: InfiniteTableColumnGroupHeaderRenderParams) => React$1.CSSProperties;
|
|
5087
5293
|
declare type InfiniteTableColumnGroup = {
|
|
5088
5294
|
columnGroup?: string;
|
|
5089
5295
|
header?: Renderable | InfiniteTableColumnGroupHeaderRenderFunction;
|
|
5296
|
+
style?: React$1.CSSProperties | InfiniteTableColumnGroupStyleFunction;
|
|
5090
5297
|
};
|
|
5091
5298
|
declare type InfiniteTableComputedColumnGroup = InfiniteTableColumnGroup & {
|
|
5092
5299
|
id: string;
|
|
@@ -5181,6 +5388,7 @@ interface InfiniteTableProps<T> {
|
|
|
5181
5388
|
children?: React$1.JSX.Element | React$1.JSX.Element[] | React$1.ReactNode;
|
|
5182
5389
|
loadingText?: Renderable;
|
|
5183
5390
|
components?: InfiniteTablePropComponents<T>;
|
|
5391
|
+
wrapRowsHorizontally?: boolean;
|
|
5184
5392
|
keyboardShortcuts?: InfiniteTablePropKeyboardShorcut[];
|
|
5185
5393
|
viewportReservedWidth?: number;
|
|
5186
5394
|
onViewportReservedWidthChange?: (viewportReservedWidth: number) => void;
|