@infinite-table/infinite-react 0.0.3 → 0.0.7

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 CHANGED
@@ -191,7 +191,7 @@
191
191
  }
192
192
  }
193
193
 
194
- /* vanilla-extract-css-ns:@infinite-table/infinite-react/src/components/InfiniteTable/utilities.css.ts.vanilla.css?source=Ll8xNmxtMWl3MCB7CiAgYm94LXNpemluZzogYm9yZGVyLWJveDsKfQouXzE2bG0xaXcwOmJlZm9yZSB7CiAgYm94LXNpemluZzogYm9yZGVyLWJveDsKfQouXzE2bG0xaXcwOmFmdGVyIHsKICBib3gtc2l6aW5nOiBib3JkZXItYm94Owp9Ci5fMTZsbTFpdzAgKiB7CiAgYm94LXNpemluZzogYm9yZGVyLWJveDsKfQouXzE2bG0xaXcwICo6YmVmb3JlIHsKICBib3gtc2l6aW5nOiBib3JkZXItYm94Owp9Ci5fMTZsbTFpdzAgKjphZnRlciB7CiAgYm94LXNpemluZzogYm9yZGVyLWJveDsKfQouXzE2bG0xaXcxIHsKICBwb3NpdGlvbjogcmVsYXRpdmU7Cn0KLl8xNmxtMWl3MiB7CiAgcG9zaXRpb246IGFic29sdXRlOwp9Ci5fMTZsbTFpdzMgewogIHBvc2l0aW9uOiBzdGlja3k7Cn0KLl8xNmxtMWl3NCB7CiAgcG9zaXRpb246IGZpeGVkOwp9Ci5fMTZsbTFpdzUgewogIGZpbGw6IGN1cnJlbnRDb2xvcjsKfQouXzE2bG0xaXc2IHsKICBmaWxsOiB2YXIoLS1pbmZpbml0ZS1hY2NlbnQtY29sb3IpOwp9Ci5fMTZsbTFpdzcgewogIGJhY2tncm91bmQ6IGluaGVyaXQ7Cn0KLl8xNmxtMWl3OCB7CiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7Cn0KLl8xNmxtMWl3OSB7CiAgY3Vyc29yOiBwb2ludGVyOwp9Ci5fMTZsbTFpd2EgewogIGZsZXg6IDE7Cn0KLl8xNmxtMWl3YiB7CiAgZmxleDogbm9uZTsKfQouXzE2bG0xaXdjIHsKICB6LWluZGV4OiAxOwp9Ci5fMTZsbTFpd2QgewogIHotaW5kZXg6IDEwOwp9Ci5fMTZsbTFpd2UgewogIHotaW5kZXg6IDEwMDA7Cn0KLl8xNmxtMWl3ZiB7CiAgei1pbmRleDogMTAwMDA7Cn0KLl8xNmxtMWl3ZyB7CiAgei1pbmRleDogMTAwMDAwOwp9Ci5fMTZsbTFpd2ggewogIGRpc3BsYXk6IGZsZXg7Cn0KLl8xNmxtMWl3aSB7CiAgZGlzcGxheTogYmxvY2s7Cn0KLl8xNmxtMWl3aiB7CiAgZGlzcGxheTogaW5saW5lLWJsb2NrOwp9Ci5fMTZsbTFpd2sgewogIHVzZXItc2VsZWN0OiBub25lOwp9Ci5fMTZsbTFpd2wgewogIGhlaWdodDogMDsKfQouXzE2bG0xaXdtIHsKICBoZWlnaHQ6IDEwMCU7Cn0KLl8xNmxtMWl3biB7CiAgd2lkdGg6IDA7Cn0KLl8xNmxtMWl3byB7CiAgd2lkdGg6IDEwMCU7Cn0KLl8xNmxtMWl3cCB7CiAgdG9wOiAwOwp9Ci5fMTZsbTFpd3EgewogIHRvcDogMTAwJTsKfQouXzE2bG0xaXdyIHsKICBsZWZ0OiAwOwp9Ci5fMTZsbTFpd3MgewogIGxlZnQ6IDEwMCU7Cn0KLl8xNmxtMWl3dCB7CiAgYm90dG9tOiAwOwp9Ci5fMTZsbTFpd3UgewogIGJvdHRvbTogMTAwJTsKfQouXzE2bG0xaXd2IHsKICByaWdodDogMDsKfQouXzE2bG0xaXd3IHsKICByaWdodDogMTAwJTsKfQouXzE2bG0xaXd4IHsKICBmbGV4LWZsb3c6IGNvbHVtbjsKfQouXzE2bG0xaXd5IHsKICBmbGV4LWZsb3c6IHJvdzsKfQouXzE2bG0xaXd6IHsKICBhbGlnbi1pdGVtczogY2VudGVyOwp9Ci5fMTZsbTFpdzEwIHsKICBhbGlnbi1pdGVtczogc3RyZXRjaDsKfQouXzE2bG0xaXcxMSB7CiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7Cn0KLl8xNmxtMWl3MTIgewogIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsKfQouXzE2bG0xaXcxMyB7CiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsKfQouXzE2bG0xaXcxNCB7CiAgb3ZlcmZsb3c6IGhpZGRlbjsKfQouXzE2bG0xaXcxNSB7CiAgb3ZlcmZsb3c6IGF1dG87Cn0KLl8xNmxtMWl3MTYgewogIG92ZXJmbG93OiB2aXNpYmxlOwp9Ci5fMTZsbTFpdzE3IHsKICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtOwp9Ci5fMTZsbTFpdzE4IHsKICB3aGl0ZS1zcGFjZTogbm93cmFwOwp9Ci5fMTZsbTFpdzE5IHsKICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKfQ== */
194
+ /* vanilla-extract-css-ns:@infinite-table/infinite-react/src/components/InfiniteTable/utilities.css.ts.vanilla.css?source=Ll8xNmxtMWl3MCB7CiAgYm94LXNpemluZzogYm9yZGVyLWJveDsKfQouXzE2bG0xaXcwOmJlZm9yZSB7CiAgYm94LXNpemluZzogYm9yZGVyLWJveDsKfQouXzE2bG0xaXcwOmFmdGVyIHsKICBib3gtc2l6aW5nOiBib3JkZXItYm94Owp9Ci5fMTZsbTFpdzAgKiB7CiAgYm94LXNpemluZzogYm9yZGVyLWJveDsKfQouXzE2bG0xaXcwICo6YmVmb3JlIHsKICBib3gtc2l6aW5nOiBib3JkZXItYm94Owp9Ci5fMTZsbTFpdzAgKjphZnRlciB7CiAgYm94LXNpemluZzogYm9yZGVyLWJveDsKfQouXzE2bG0xaXcxIHsKICBwb3NpdGlvbjogcmVsYXRpdmU7Cn0KLl8xNmxtMWl3MiB7CiAgcG9zaXRpb246IGFic29sdXRlOwp9Ci5fMTZsbTFpdzMgewogIHBvc2l0aW9uOiBzdGlja3k7Cn0KLl8xNmxtMWl3NCB7CiAgcG9zaXRpb246IGZpeGVkOwp9Ci5fMTZsbTFpdzUgewogIGZpbGw6IGN1cnJlbnRDb2xvcjsKfQouXzE2bG0xaXc2IHsKICBmaWxsOiB2YXIoLS1pbmZpbml0ZS1hY2NlbnQtY29sb3IpOwp9Ci5fMTZsbTFpdzcgewogIGJhY2tncm91bmQ6IGluaGVyaXQ7Cn0KLl8xNmxtMWl3OCB7CiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7Cn0KLl8xNmxtMWl3OSB7CiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7Cn0KLl8xNmxtMWl3YSB7CiAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpOwp9Ci5fMTZsbTFpd2IgewogIGN1cnNvcjogcG9pbnRlcjsKfQouXzE2bG0xaXdjIHsKICBmbGV4OiAxOwp9Ci5fMTZsbTFpd2QgewogIGZsZXg6IG5vbmU7Cn0KLl8xNmxtMWl3ZSB7CiAgei1pbmRleDogMTsKfQouXzE2bG0xaXdmIHsKICB6LWluZGV4OiAxMDsKfQouXzE2bG0xaXdnIHsKICB6LWluZGV4OiAxMDAwOwp9Ci5fMTZsbTFpd2ggewogIHotaW5kZXg6IDEwMDAwOwp9Ci5fMTZsbTFpd2kgewogIHotaW5kZXg6IDEwMDAwMDsKfQouXzE2bG0xaXdqIHsKICBkaXNwbGF5OiBmbGV4Owp9Ci5fMTZsbTFpd2sgewogIGRpc3BsYXk6IGJsb2NrOwp9Ci5fMTZsbTFpd2wgewogIGRpc3BsYXk6IGlubGluZS1ibG9jazsKfQouXzE2bG0xaXdtIHsKICB1c2VyLXNlbGVjdDogbm9uZTsKfQouXzE2bG0xaXduIHsKICBoZWlnaHQ6IDA7Cn0KLl8xNmxtMWl3byB7CiAgaGVpZ2h0OiAxMDAlOwp9Ci5fMTZsbTFpd3AgewogIHdpZHRoOiAwOwp9Ci5fMTZsbTFpd3EgewogIHdpZHRoOiAxMDAlOwp9Ci5fMTZsbTFpd3IgewogIHRvcDogMDsKfQouXzE2bG0xaXdzIHsKICB0b3A6IDEwMCU7Cn0KLl8xNmxtMWl3dCB7CiAgbGVmdDogMDsKfQouXzE2bG0xaXd1IHsKICBsZWZ0OiAxMDAlOwp9Ci5fMTZsbTFpd3YgewogIGJvdHRvbTogMDsKfQouXzE2bG0xaXd3IHsKICBib3R0b206IDEwMCU7Cn0KLl8xNmxtMWl3eCB7CiAgcmlnaHQ6IDA7Cn0KLl8xNmxtMWl3eSB7CiAgcmlnaHQ6IDEwMCU7Cn0KLl8xNmxtMWl3eiB7CiAgZmxleC1mbG93OiBjb2x1bW47Cn0KLl8xNmxtMWl3MTAgewogIGZsZXgtZmxvdzogcm93Owp9Ci5fMTZsbTFpdzExIHsKICBhbGlnbi1pdGVtczogY2VudGVyOwp9Ci5fMTZsbTFpdzEyIHsKICBhbGlnbi1pdGVtczogc3RyZXRjaDsKfQouXzE2bG0xaXcxMyB7CiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7Cn0KLl8xNmxtMWl3MTQgewogIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsKfQouXzE2bG0xaXcxNSB7CiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsKfQouXzE2bG0xaXcxNiB7CiAgb3ZlcmZsb3c6IGhpZGRlbjsKfQouXzE2bG0xaXcxNyB7CiAgb3ZlcmZsb3c6IGF1dG87Cn0KLl8xNmxtMWl3MTggewogIG92ZXJmbG93OiB2aXNpYmxlOwp9Ci5fMTZsbTFpdzE5IHsKICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtOwp9Ci5fMTZsbTFpdzFhIHsKICB3aGl0ZS1zcGFjZTogbm93cmFwOwp9Ci5fMTZsbTFpdzFiIHsKICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKfQ== */
195
195
  ._16lm1iw0 {
196
196
  box-sizing: border-box;
197
197
  }
@@ -236,117 +236,123 @@
236
236
  transform: translate3d(0, 0, 0);
237
237
  }
238
238
  ._16lm1iw9 {
239
- cursor: pointer;
239
+ transform: translate3d(0, 0, 0);
240
240
  }
241
241
  ._16lm1iwa {
242
- flex: 1;
242
+ transform: rotate(90deg);
243
243
  }
244
244
  ._16lm1iwb {
245
- flex: none;
245
+ cursor: pointer;
246
246
  }
247
247
  ._16lm1iwc {
248
- z-index: 1;
248
+ flex: 1;
249
249
  }
250
250
  ._16lm1iwd {
251
- z-index: 10;
251
+ flex: none;
252
252
  }
253
253
  ._16lm1iwe {
254
- z-index: 1000;
254
+ z-index: 1;
255
255
  }
256
256
  ._16lm1iwf {
257
- z-index: 10000;
257
+ z-index: 10;
258
258
  }
259
259
  ._16lm1iwg {
260
- z-index: 100000;
260
+ z-index: 1000;
261
261
  }
262
262
  ._16lm1iwh {
263
- display: flex;
263
+ z-index: 10000;
264
264
  }
265
265
  ._16lm1iwi {
266
- display: block;
266
+ z-index: 100000;
267
267
  }
268
268
  ._16lm1iwj {
269
- display: inline-block;
269
+ display: flex;
270
270
  }
271
271
  ._16lm1iwk {
272
+ display: block;
273
+ }
274
+ ._16lm1iwl {
275
+ display: inline-block;
276
+ }
277
+ ._16lm1iwm {
272
278
  -webkit-user-select: none;
273
279
  -moz-user-select: none;
274
280
  -ms-user-select: none;
275
281
  user-select: none;
276
282
  }
277
- ._16lm1iwl {
283
+ ._16lm1iwn {
278
284
  height: 0;
279
285
  }
280
- ._16lm1iwm {
286
+ ._16lm1iwo {
281
287
  height: 100%;
282
288
  }
283
- ._16lm1iwn {
289
+ ._16lm1iwp {
284
290
  width: 0;
285
291
  }
286
- ._16lm1iwo {
292
+ ._16lm1iwq {
287
293
  width: 100%;
288
294
  }
289
- ._16lm1iwp {
295
+ ._16lm1iwr {
290
296
  top: 0;
291
297
  }
292
- ._16lm1iwq {
298
+ ._16lm1iws {
293
299
  top: 100%;
294
300
  }
295
- ._16lm1iwr {
301
+ ._16lm1iwt {
296
302
  left: 0;
297
303
  }
298
- ._16lm1iws {
304
+ ._16lm1iwu {
299
305
  left: 100%;
300
306
  }
301
- ._16lm1iwt {
307
+ ._16lm1iwv {
302
308
  bottom: 0;
303
309
  }
304
- ._16lm1iwu {
310
+ ._16lm1iww {
305
311
  bottom: 100%;
306
312
  }
307
- ._16lm1iwv {
313
+ ._16lm1iwx {
308
314
  right: 0;
309
315
  }
310
- ._16lm1iww {
316
+ ._16lm1iwy {
311
317
  right: 100%;
312
318
  }
313
- ._16lm1iwx {
319
+ ._16lm1iwz {
314
320
  flex-flow: column;
315
321
  }
316
- ._16lm1iwy {
322
+ ._16lm1iw10 {
317
323
  flex-flow: row;
318
324
  }
319
- ._16lm1iwz {
325
+ ._16lm1iw11 {
320
326
  align-items: center;
321
327
  }
322
- ._16lm1iw10 {
328
+ ._16lm1iw12 {
323
329
  align-items: stretch;
324
330
  }
325
- ._16lm1iw11 {
331
+ ._16lm1iw13 {
326
332
  justify-content: center;
327
333
  }
328
- ._16lm1iw12 {
334
+ ._16lm1iw14 {
329
335
  justify-content: flex-start;
330
336
  }
331
- ._16lm1iw13 {
337
+ ._16lm1iw15 {
332
338
  justify-content: flex-end;
333
339
  }
334
- ._16lm1iw14 {
340
+ ._16lm1iw16 {
335
341
  overflow: hidden;
336
342
  }
337
- ._16lm1iw15 {
343
+ ._16lm1iw17 {
338
344
  overflow: auto;
339
345
  }
340
- ._16lm1iw16 {
346
+ ._16lm1iw18 {
341
347
  overflow: visible;
342
348
  }
343
- ._16lm1iw17 {
349
+ ._16lm1iw19 {
344
350
  will-change: transform;
345
351
  }
346
- ._16lm1iw18 {
352
+ ._16lm1iw1a {
347
353
  white-space: nowrap;
348
354
  }
349
- ._16lm1iw19 {
355
+ ._16lm1iw1b {
350
356
  text-overflow: ellipsis;
351
357
  }
352
358
 
@@ -613,6 +619,3 @@
613
619
  background: var(--infinite-load-mask-text-background);
614
620
  border-radius: var(--infinite-load-mask-border-radius);
615
621
  }
616
-
617
-
618
- /*# sourceMappingURL=tmp.css.map */
package/index.d.ts CHANGED
@@ -327,45 +327,6 @@ declare module "components/DataSource/state/getInitialState" {
327
327
  state: DataSourceState<T>;
328
328
  }): DataSourceDerivedState<T>;
329
329
  }
330
- declare module "components/DataSource/state/reducer" {
331
- import type { DataSourceState, DataSourceDerivedState } from "components/DataSource/types";
332
- export function concludeReducer<T>(params: {
333
- previousState: DataSourceState<T> & DataSourceDerivedState<T>;
334
- state: DataSourceState<T> & DataSourceDerivedState<T>;
335
- }): DataSourceState<T> & DataSourceDerivedState<T>;
336
- }
337
- declare module "components/DataSource/index" {
338
- import { DataSourceProps } from "components/DataSource/types";
339
- import { useDataSource } from "components/DataSource/publicHooks/useDataSource";
340
- import { GroupRowsState } from "components/DataSource/GroupRowsState";
341
- function DataSource<T>(props: DataSourceProps<T>): JSX.Element;
342
- export { useDataSource, DataSource, GroupRowsState };
343
- export * from "components/DataSource/types";
344
- }
345
- declare module "components/DataSource/GroupRowsState" {
346
- import { DataSourceExpandedAndCollapsedGroupRows } from "components/DataSource/index";
347
- export class GroupRowsState<KeyType extends any = any> {
348
- private expandedMap?;
349
- private collapsedMap?;
350
- private collapsedAll;
351
- private expandedAll;
352
- private initialState;
353
- constructor(state: DataSourceExpandedAndCollapsedGroupRows<KeyType> | GroupRowsState<KeyType>);
354
- getState(): DataSourceExpandedAndCollapsedGroupRows<KeyType>;
355
- destroy(): void;
356
- private update;
357
- areAllCollapsed(): boolean;
358
- areAllExpanded(): boolean;
359
- collapseAll(): void;
360
- expandAll(): void;
361
- isGroupRowExpanded(keys: KeyType[]): boolean | undefined;
362
- isGroupRowCollapsed(keys: KeyType[]): boolean;
363
- setGroupRowExpanded(keys: KeyType[], shouldExpand: boolean): void;
364
- collapseGroupRow(keys: KeyType[]): void;
365
- expandGroupRow(keys: KeyType[]): void;
366
- toggleGroupRow(keys: KeyType[]): void;
367
- }
368
- }
369
330
  declare module "components/types/Renderable" {
370
331
  import * as React from 'react';
371
332
  export type Renderable = React.ReactNode;
@@ -393,6 +354,7 @@ declare module "components/InfiniteTable/types/InfiniteTableColumn" {
393
354
  import type { DiscriminatedUnion, RequireAtLeastOne } from "components/InfiniteTable/types/Utility";
394
355
  import type { InfiniteTableRowInfo } from "components/InfiniteTable/types/index";
395
356
  import { CSSProperties } from 'react';
357
+ import { PivotBy } from "utils/groupAndPivot/index";
396
358
  export type { DiscriminatedUnion, RequireAtLeastOne };
397
359
  export type InfiniteTableToggleGroupRowFn = (groupKeys: any[]) => void;
398
360
  export interface InfiniteTableColumnRenderParam<DATA_TYPE, COL_TYPE = InfiniteTableComputedColumn<DATA_TYPE>> {
@@ -495,7 +457,16 @@ declare module "components/InfiniteTable/types/InfiniteTableColumn" {
495
457
  pivotColumn?: true;
496
458
  pivotTotalColumn?: true;
497
459
  pivotGroupKeys?: any[];
498
- renderValue?: InfiniteTableColumnRenderValueFunction<T>;
460
+ pivotByForColumn?: DataSourcePivotBy<T>;
461
+ pivotIndexForColumn?: number;
462
+ pivotGroupKeyForColumn?: any;
463
+ };
464
+ export type InfiniteTablePivotFinalColumn<DataType, KeyType extends any = any> = InfiniteTablePivotColumn<DataType> & {
465
+ pivotBy: DataSourcePivotBy<DataType>[];
466
+ pivotGroupKeys: KeyType[];
467
+ pivotByForColumn: PivotBy<DataType, KeyType>;
468
+ pivotIndexForColumn: number;
469
+ pivotGroupKeyForColumn: KeyType;
499
470
  };
500
471
  type InfiniteTableComputedColumnBase<T> = {
501
472
  computedWidth: number;
@@ -521,12 +492,61 @@ declare module "components/InfiniteTable/types/InfiniteTableColumn" {
521
492
  };
522
493
  export type InfiniteTableComputedColumn<T> = InfiniteTableColumn<T> & InfiniteTableComputedColumnBase<T> & InfiniteTablePivotColumn<T> & InfiniteTableGeneratedGroupColumn<T>;
523
494
  }
495
+ declare module "utils/groupAndPivot/getPivotColumnsAndColumnGroups" {
496
+ import type { DataSourcePivotBy } from "components/DataSource/index";
497
+ import type { InfiniteTablePropColumnGroups, InfiniteTablePropColumns } from "components/InfiniteTable/index";
498
+ import type { InfiniteTablePivotColumn } from "components/InfiniteTable/types/InfiniteTableColumn";
499
+ import type { InfiniteTablePropPivotTotalColumnPosition } from "components/InfiniteTable/types/InfiniteTableState";
500
+ import { DeepMap } from "utils/DeepMap";
501
+ export type ComputedColumnsAndGroups<DataType> = {
502
+ columns: InfiniteTablePropColumns<DataType, InfiniteTablePivotColumn<DataType>>;
503
+ columnGroups: InfiniteTablePropColumnGroups;
504
+ };
505
+ export function getPivotColumnsAndColumnGroups<DataType, KeyType = any>(deepMap: DeepMap<KeyType, boolean>, pivotBy: DataSourcePivotBy<DataType>[], pivotTotalColumnPosition: InfiniteTablePropPivotTotalColumnPosition): ComputedColumnsAndGroups<DataType>;
506
+ }
507
+ declare module "components/DataSource/state/reducer" {
508
+ import type { DataSourceState, DataSourceDerivedState } from "components/DataSource/types";
509
+ export function concludeReducer<T>(params: {
510
+ previousState: DataSourceState<T> & DataSourceDerivedState<T>;
511
+ state: DataSourceState<T> & DataSourceDerivedState<T>;
512
+ }): DataSourceState<T> & DataSourceDerivedState<T>;
513
+ }
514
+ declare module "components/DataSource/index" {
515
+ import { DataSourceProps } from "components/DataSource/types";
516
+ import { useDataSource } from "components/DataSource/publicHooks/useDataSource";
517
+ import { GroupRowsState } from "components/DataSource/GroupRowsState";
518
+ function DataSource<T>(props: DataSourceProps<T>): JSX.Element;
519
+ export { useDataSource, DataSource, GroupRowsState };
520
+ export * from "components/DataSource/types";
521
+ }
522
+ declare module "components/DataSource/GroupRowsState" {
523
+ import { DataSourceExpandedAndCollapsedGroupRows } from "components/DataSource/index";
524
+ export class GroupRowsState<KeyType extends any = any> {
525
+ private expandedMap?;
526
+ private collapsedMap?;
527
+ private collapsedAll;
528
+ private expandedAll;
529
+ private initialState;
530
+ constructor(state: DataSourceExpandedAndCollapsedGroupRows<KeyType> | GroupRowsState<KeyType>);
531
+ getState(): DataSourceExpandedAndCollapsedGroupRows<KeyType>;
532
+ destroy(): void;
533
+ private update;
534
+ areAllCollapsed(): boolean;
535
+ areAllExpanded(): boolean;
536
+ collapseAll(): void;
537
+ expandAll(): void;
538
+ isGroupRowExpanded(keys: KeyType[]): boolean | undefined;
539
+ isGroupRowCollapsed(keys: KeyType[]): boolean;
540
+ setGroupRowExpanded(keys: KeyType[], shouldExpand: boolean): void;
541
+ collapseGroupRow(keys: KeyType[]): void;
542
+ expandGroupRow(keys: KeyType[]): void;
543
+ toggleGroupRow(keys: KeyType[]): void;
544
+ }
545
+ }
524
546
  declare module "utils/groupAndPivot/index" {
525
- import { DataSourcePivotBy } from "@infinite-table/infinite-react";
526
547
  import { GroupRowsState } from "components/DataSource/GroupRowsState";
527
- import { InfiniteTablePivotColumn } from "components/InfiniteTable/types/InfiniteTableColumn";
528
- import { InfiniteTableGroupColumnBase, InfiniteTablePropColumnGroups, InfiniteTablePropColumns } from "components/InfiniteTable/types/InfiniteTableProps";
529
- import { InfiniteTablePropPivotTotalColumnPosition } from "components/InfiniteTable/types/InfiniteTableState";
548
+ import { InfiniteTablePivotColumn, InfiniteTablePivotFinalColumn } from "components/InfiniteTable/types/InfiniteTableColumn";
549
+ import { InfiniteTableGroupColumnBase } from "components/InfiniteTable/types/InfiniteTableProps";
530
550
  import { DeepMap } from "utils/DeepMap";
531
551
  export type AggregationReducer<T, AggregationResultType> = {
532
552
  initialValue: AggregationResultType;
@@ -582,9 +602,13 @@ declare module "utils/groupAndPivot/index" {
582
602
  export type GroupBy<DataType, KeyType> = {
583
603
  field: keyof DataType;
584
604
  toKey?: (value: any, data: DataType) => GroupKeyType<KeyType>;
585
- column?: InfiniteTableGroupColumnBase<DataType>;
605
+ column?: Partial<InfiniteTableGroupColumnBase<DataType>>;
606
+ };
607
+ export type PivotBy<DataType, KeyType> = Omit<GroupBy<DataType, KeyType>, 'column'> & {
608
+ column?: InfiniteTablePivotColumn<DataType> | (({ column, }: {
609
+ column: InfiniteTablePivotFinalColumn<DataType, KeyType>;
610
+ }) => Partial<InfiniteTablePivotColumn<DataType>>);
586
611
  };
587
- export type PivotBy<DataType, KeyType> = GroupBy<DataType, KeyType>;
588
612
  type GroupParams<DataType, KeyType> = {
589
613
  groupBy: GroupBy<DataType, KeyType>[];
590
614
  defaultToKey?: (value: any, item: DataType) => GroupKeyType<KeyType>;
@@ -610,11 +634,6 @@ declare module "utils/groupAndPivot/index" {
610
634
  export function enhancedFlatten<DataType, KeyType = any>(param: EnhancedFlattenParam<DataType, KeyType>): {
611
635
  data: InfiniteTableRowInfo<DataType>[];
612
636
  };
613
- export type ComputedColumnsAndGroups<DataType> = {
614
- columns: InfiniteTablePropColumns<DataType, InfiniteTablePivotColumn<DataType>>;
615
- columnGroups: InfiniteTablePropColumnGroups;
616
- };
617
- export function getPivotColumnsAndColumnGroups<DataType, KeyType = any>(deepMap: DeepMap<KeyType, boolean>, pivotBy: DataSourcePivotBy<DataType>[], pivotTotalColumnPosition: InfiniteTablePropPivotTotalColumnPosition): ComputedColumnsAndGroups<DataType>;
618
637
  }
619
638
  declare module "components/InfiniteTable/theme.css" {
620
639
  export const ThemeVars: import("@vanilla-extract/private").MapLeafNodes<{
@@ -752,6 +771,7 @@ declare module "components/InfiniteTable/utilities.css" {
752
771
  export const fill: Record<"accentColor" | "currentColor", string>;
753
772
  export const background: Record<"inherit", string>;
754
773
  export const transformTranslateZero: string;
774
+ export const transform: Record<"translateZero" | "rotate90", string>;
755
775
  export const cursor: Record<"pointer", string>;
756
776
  export const flex: Record<"none" | 1, string>;
757
777
  export const zIndex: Record<1 | 10 | 1000 | 10000 | 100000, string>;
@@ -864,7 +884,7 @@ declare module "components/InfiniteTable/types/InfiniteTableProps" {
864
884
  groupCount: number;
865
885
  groupRowsBy: DataSourceGroupRowsBy<T>[];
866
886
  };
867
- export type PivotColumnGetterOptions<T> = {
887
+ export type InfiniteTablePivotColumnGetterOptions<T> = {
868
888
  column: InfiniteTablePivotColumn<T>;
869
889
  groupRowsBy: DataSourcePropGroupRowsBy<T>;
870
890
  pivotBy: DataSourcePropPivotBy<T>;
@@ -878,7 +898,7 @@ declare module "components/InfiniteTable/types/InfiniteTableProps" {
878
898
  };
879
899
  export type InfiniteTablePropGroupColumn<T> = InfiniteTableGroupColumnBase<T> | InfiniteTableGroupColumnFunction<T>;
880
900
  export type InfiniteTableGroupColumnFunction<T> = (options: InfiniteTableGroupColumnGetterOptions<T>, toggleGroupRow: (groupKeys: any[]) => void) => InfiniteTableGroupColumnBase<T>;
881
- export type InfiniteTablePropPivotColumn<T> = InfiniteTablePivotColumnBase<T> | ((options: PivotColumnGetterOptions<T>) => InfiniteTablePivotColumnBase<T>);
901
+ export type InfiniteTablePropPivotColumn<T> = InfiniteTablePivotColumnBase<T> | ((options: InfiniteTablePivotColumnGetterOptions<T>) => InfiniteTablePivotColumnBase<T>);
882
902
  export type InfiniteTablePropPivotRowLabelsColumn<T> = InfiniteTablePropPivotColumn<T>;
883
903
  export type InfiniteTablePropComponents = {
884
904
  LoadMask?: React.FC<LoadMaskProps>;
@@ -1176,16 +1196,16 @@ declare module "components/InfiniteTable/state/getInitialState" {
1176
1196
  pivotTotalColumnPosition: 1 | ((value: import("components/InfiniteTable/types/InfiniteTableState").InfiniteTablePropPivotTotalColumnPosition | undefined) => import("components/InfiniteTable/types/InfiniteTableState").InfiniteTablePropPivotTotalColumnPosition);
1177
1197
  pivotColumns: 1 | ((value: import("components/InfiniteTable/types").InfiniteTablePropColumns<T, import("components/InfiniteTable/types/InfiniteTableColumn").InfiniteTablePivotColumn<T>> | undefined) => import("components/InfiniteTable/types").InfiniteTablePropColumns<T, import("components/InfiniteTable/types/InfiniteTableColumn").InfiniteTablePivotColumn<T>> | undefined);
1178
1198
  pivotColumnGroups: 1 | ((value: import("components/InfiniteTable/types").InfiniteTablePropColumnGroups | undefined) => import("components/InfiniteTable/types").InfiniteTablePropColumnGroups | undefined);
1179
- sortable: 1 | ((value: boolean | undefined) => boolean);
1180
1199
  pivotColumn: 1 | ((value: Partial<import("components/InfiniteTable/types/InfiniteTableProps").InfiniteTablePropPivotColumn<T>> | undefined) => Partial<import("components/InfiniteTable/types/InfiniteTableProps").InfiniteTablePropPivotColumn<T>> | undefined);
1200
+ sortable: 1 | ((value: boolean | undefined) => boolean);
1181
1201
  components: 1 | ((value: import("components/InfiniteTable/types").InfiniteTablePropComponents | undefined) => import("components/InfiniteTable/types").InfiniteTablePropComponents | undefined);
1182
1202
  groupColumn: 1 | ((value: Partial<InfiniteTablePropGroupColumn<T>> | undefined) => Partial<InfiniteTablePropGroupColumn<T>> | undefined);
1183
1203
  loadingText: 1 | ((value: import("react").ReactNode) => import("react").ReactNode);
1184
1204
  onReady: 1 | ((value: ((api: import("components/InfiniteTable/types").InfiniteTableImperativeApi<T>) => void) | undefined) => ((api: import("components/InfiniteTable/types").InfiniteTableImperativeApi<T>) => void) | undefined);
1185
- onSelfFocus: 1 | ((value: ((event: import("react").FocusEvent<HTMLDivElement>) => void) | undefined) => ((event: import("react").FocusEvent<HTMLDivElement>) => void) | undefined);
1186
- onSelfBlur: 1 | ((value: ((event: import("react").FocusEvent<HTMLDivElement>) => void) | undefined) => ((event: import("react").FocusEvent<HTMLDivElement>) => void) | undefined);
1187
- onFocusWithin: 1 | ((value: ((event: import("react").FocusEvent<HTMLDivElement>) => void) | undefined) => ((event: import("react").FocusEvent<HTMLDivElement>) => void) | undefined);
1188
- onBlurWithin: 1 | ((value: ((event: import("react").FocusEvent<HTMLDivElement>) => void) | undefined) => ((event: import("react").FocusEvent<HTMLDivElement>) => void) | undefined);
1205
+ onSelfFocus: 1 | ((value: ((event: import("react").FocusEvent<HTMLDivElement, Element>) => void) | undefined) => ((event: import("react").FocusEvent<HTMLDivElement, Element>) => void) | undefined);
1206
+ onSelfBlur: 1 | ((value: ((event: import("react").FocusEvent<HTMLDivElement, Element>) => void) | undefined) => ((event: import("react").FocusEvent<HTMLDivElement, Element>) => void) | undefined);
1207
+ onFocusWithin: 1 | ((value: ((event: import("react").FocusEvent<HTMLDivElement, Element>) => void) | undefined) => ((event: import("react").FocusEvent<HTMLDivElement, Element>) => void) | undefined);
1208
+ onBlurWithin: 1 | ((value: ((event: import("react").FocusEvent<HTMLDivElement, Element>) => void) | undefined) => ((event: import("react").FocusEvent<HTMLDivElement, Element>) => void) | undefined);
1189
1209
  onScrollToTop: 1 | ((value: (() => void) | undefined) => (() => void) | undefined);
1190
1210
  onScrollToBottom: 1 | ((value: (() => void) | undefined) => (() => void) | undefined);
1191
1211
  scrollToBottomOffset: 1 | ((value: number | undefined) => number | undefined);
@@ -1443,19 +1463,6 @@ declare module "components/InfiniteTable/components/icons/ExpanderIcon" {
1443
1463
  };
1444
1464
  export function ExpanderIcon(props: ExpanderIconProps): JSX.Element;
1445
1465
  }
1446
- declare module "components/InfiniteTable/state/getComputedPivotColumnsFromDataSourcePivotColumns" {
1447
- import { DataSourcePropGroupRowsBy, DataSourcePropPivotBy } from "components/DataSource/index";
1448
- import { InfiniteTableProps } from "components/InfiniteTable/types/index";
1449
- import { InfiniteTableState } from "components/InfiniteTable/types/InfiniteTableState";
1450
- export function getComputedPivotColumnsFromDataSourcePivotColumns<T>(pivotColumns: InfiniteTableProps<T>['pivotColumns'], params: {
1451
- toggleGroupRow: (groupKeys: any[]) => void;
1452
- pivotColumn: InfiniteTableProps<T>['pivotColumn'];
1453
- pivotRowLabelsColumn: InfiniteTableProps<T>['pivotRowLabelsColumn'];
1454
- pivotTotalColumnPosition: InfiniteTableState<T>['pivotTotalColumnPosition'];
1455
- pivotBy: DataSourcePropPivotBy<T>;
1456
- groupRowsBy: DataSourcePropGroupRowsBy<T>;
1457
- }): InfiniteTableProps<T>['pivotColumns'];
1458
- }
1459
1466
  declare module "components/InfiniteTable/components/InfiniteTableRow/row.css" {
1460
1467
  export const RowHoverCls: string;
1461
1468
  export const RowClsRecipe: import("@vanilla-extract/recipes/dist/declarations/src/types").RuntimeFn<{
@@ -1487,6 +1494,19 @@ declare module "components/InfiniteTable/components/InfiniteTableRow/row.css" {
1487
1494
  }>;
1488
1495
  export const GroupRowExpanderCls: string;
1489
1496
  }
1497
+ declare module "components/InfiniteTable/state/getComputedPivotColumnsFromDataSourcePivotColumns" {
1498
+ import { DataSourcePropGroupRowsBy, DataSourcePropPivotBy } from "components/DataSource/index";
1499
+ import { InfiniteTableProps } from "components/InfiniteTable/types/index";
1500
+ import { InfiniteTableState } from "components/InfiniteTable/types/InfiniteTableState";
1501
+ export function getComputedPivotColumnsFromDataSourcePivotColumns<T>(pivotColumns: InfiniteTableProps<T>['pivotColumns'], params: {
1502
+ toggleGroupRow: (groupKeys: any[]) => void;
1503
+ pivotColumn: InfiniteTableProps<T>['pivotColumn'];
1504
+ pivotRowLabelsColumn: InfiniteTableProps<T>['pivotRowLabelsColumn'];
1505
+ pivotTotalColumnPosition: InfiniteTableState<T>['pivotTotalColumnPosition'];
1506
+ pivotBy: DataSourcePropPivotBy<T>;
1507
+ groupRowsBy: DataSourcePropGroupRowsBy<T>;
1508
+ }): InfiniteTableProps<T>['pivotColumns'];
1509
+ }
1490
1510
  declare module "components/InfiniteTable/utils/getColumnForGroupBy" {
1491
1511
  import * as React from 'react';
1492
1512
  import { InfiniteTableColumnRenderParam } from "components/InfiniteTable/index";
@@ -1509,9 +1529,9 @@ declare module "components/InfiniteTable/hooks/useToggleGroupRow" {
1509
1529
  export function useToggleGroupRow<T>(): ToggleGrouRowFn;
1510
1530
  }
1511
1531
  declare module "components/InfiniteTable/hooks/useColumnsWhen" {
1512
- import { InfiniteTableColumn } from "components/InfiniteTable/index";
1513
- import { DataSourceGroupRowsBy } from "components/DataSource/index";
1514
- import { InfiniteTablePropGroupRenderStrategy, InfiniteTableProps } from "components/InfiniteTable/types/InfiniteTableProps";
1532
+ import type { InfiniteTableColumn } from "components/InfiniteTable/index";
1533
+ import type { DataSourceGroupRowsBy } from "components/DataSource/index";
1534
+ import type { InfiniteTablePropGroupRenderStrategy, InfiniteTableProps } from "components/InfiniteTable/types/InfiniteTableProps";
1515
1535
  export function useColumnsWhen<T>(): void;
1516
1536
  export function getColumnsWhenGrouping<T>(params: {
1517
1537
  columns: Map<string, InfiniteTableColumn<T>>;
@@ -1564,6 +1584,7 @@ declare module "components/VirtualBrain/index" {
1564
1584
  export type MainAxisSize = number | ((itemIndex: number) => number);
1565
1585
  type OnRenderCountChangeFn = (renderCount: number) => void;
1566
1586
  type OnSizeChangeFn = (size: number) => void;
1587
+ type OnDestroyFn = () => void;
1567
1588
  export type GetItemPositionFn = (itemIndex: number) => number;
1568
1589
  export type RenderRange = {
1569
1590
  renderStartIndex: number;
@@ -1578,11 +1599,13 @@ declare module "components/VirtualBrain/index" {
1578
1599
  private itemSizeCache;
1579
1600
  private itemOffsetCache;
1580
1601
  private options;
1602
+ private destroyed;
1581
1603
  private totalSize;
1582
1604
  private onScrollFns;
1583
1605
  private onTotalSizeChangeFns;
1584
1606
  private onRenderCountChangeFns;
1585
1607
  private onRenderRangeChangeFns;
1608
+ private onDestroyFns;
1586
1609
  name: string | undefined;
1587
1610
  private renderCount;
1588
1611
  private renderRange;
@@ -1598,6 +1621,7 @@ declare module "components/VirtualBrain/index" {
1598
1621
  getRenderCount: () => number;
1599
1622
  setScrollPosition: (scrollPosition: ScrollPosition) => void;
1600
1623
  private notifyScrollChange;
1624
+ private notifyDestroy;
1601
1625
  private notifyTotalSizeChange;
1602
1626
  private notifyRenderCountChange;
1603
1627
  private notifyRenderRangeChange;
@@ -1609,6 +1633,7 @@ declare module "components/VirtualBrain/index" {
1609
1633
  onTotalSizeChange: (fn: OnSizeChangeFn) => () => void;
1610
1634
  onRenderCountChange: (fn: OnRenderCountChangeFn) => () => void;
1611
1635
  onRenderRangeChange: (fn: OnRenderRangeChangeFn) => () => void;
1636
+ onDestroy: (fn: OnDestroyFn) => () => void;
1612
1637
  update: (newCount: VirtualBrainOptions['count'], newItemSize: VirtualBrainOptions['itemSize'], newItemSpan?: VirtualBrainOptions['itemSpan']) => void;
1613
1638
  private reset;
1614
1639
  private computeItemSpanUpTo;
@@ -1956,6 +1981,17 @@ declare module "components/InfiniteTable/components/InfiniteTableHeader/Infinite
1956
1981
  scrollable?: boolean;
1957
1982
  };
1958
1983
  }
1984
+ declare module "components/RawList/AvoidReactDiff" {
1985
+ import * as React from 'react';
1986
+ import { Renderable } from "components/types/Renderable";
1987
+ import { SubscriptionCallback } from "components/types/SubscriptionCallback";
1988
+ export type AvoidReactDiffProps = {
1989
+ name?: string;
1990
+ updater: SubscriptionCallback<Renderable>;
1991
+ };
1992
+ function AvoidReactDiffFn(props: AvoidReactDiffProps): JSX.Element;
1993
+ export const AvoidReactDiff: React.MemoExoticComponent<typeof AvoidReactDiffFn>;
1994
+ }
1959
1995
  declare module "components/RawList/types" {
1960
1996
  import type { RefCallback } from 'react';
1961
1997
  import type { Renderable } from "components/types/Renderable";
@@ -1990,6 +2026,7 @@ declare module "components/RawList/MappedItems" {
1990
2026
  private renderedElements;
1991
2027
  constructor(axis: string);
1992
2028
  init(): void;
2029
+ reset(): void;
1993
2030
  destroy(): void;
1994
2031
  getUnrenderedItems: (startIndex: number, endIndex: number) => number[];
1995
2032
  getElementsOutsideItemRange: (startIndex: number, endIndex: number) => number[];
@@ -2006,17 +2043,6 @@ declare module "components/RawList/MappedItems" {
2006
2043
  discardElementsStartingWith: (elementIndex: number, callback?: ((index: number) => void) | undefined) => boolean;
2007
2044
  }
2008
2045
  }
2009
- declare module "components/RawList/AvoidReactDiff" {
2010
- import * as React from 'react';
2011
- import { Renderable } from "components/types/Renderable";
2012
- import { SubscriptionCallback } from "components/types/SubscriptionCallback";
2013
- export type AvoidReactDiffProps = {
2014
- name?: string;
2015
- updater: SubscriptionCallback<Renderable>;
2016
- };
2017
- function AvoidReactDiffFn(props: AvoidReactDiffProps): JSX.Element;
2018
- export const AvoidReactDiff: React.MemoExoticComponent<typeof AvoidReactDiffFn>;
2019
- }
2020
2046
  declare module "components/RawList/ReactVirtualRenderer" {
2021
2047
  import type { Renderable } from "components/types/Renderable";
2022
2048
  import type { RenderItem } from "components/RawList/types";
@@ -2046,8 +2072,22 @@ declare module "components/RawList/ReactVirtualRenderer" {
2046
2072
  private renderItemAtElement;
2047
2073
  private updateElementPosition;
2048
2074
  destroy: () => void;
2075
+ reset(): void;
2049
2076
  }
2050
2077
  }
2078
+ declare module "components/RawList/useVirtualRenderer" {
2079
+ import { Renderable } from "components/types/Renderable";
2080
+ import { SubscriptionCallback } from "components/types/SubscriptionCallback";
2081
+ import { VirtualBrain } from "components/VirtualBrain/index";
2082
+ import { ReactVirtualRenderer } from "components/RawList/ReactVirtualRenderer";
2083
+ export function useVirtualRenderer({ brain, }: {
2084
+ brain: VirtualBrain;
2085
+ debugChannel?: string;
2086
+ }): {
2087
+ onRenderUpdater: SubscriptionCallback<Renderable>;
2088
+ renderer: ReactVirtualRenderer;
2089
+ };
2090
+ }
2051
2091
  declare module "components/RawList/index" {
2052
2092
  import * as React from 'react';
2053
2093
  import { RawListProps } from "components/RawList/types";