@infinite-table/infinite-react 0.0.2 → 0.0.6

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
 
package/index.d.ts CHANGED
@@ -147,6 +147,7 @@ declare module "components/hooks/useComponentState" {
147
147
  [propName in keyof TYPE_PROPS & keyof TYPE_RESULT]: 1 | ((value: TYPE_PROPS[propName]) => TYPE_RESULT[propName]);
148
148
  }>;
149
149
  type ComponentStateRootConfig<T_PROPS, COMPONENT_MAPPED_STATE, COMPONENT_SETUP_STATE = {}, COMPONENT_DERIVED_STATE = {}, T_ACTIONS = {}, T_PARENT_STATE = {}> = {
150
+ debugName?: string;
150
151
  initSetupState?: () => COMPONENT_SETUP_STATE;
151
152
  forwardProps?: () => ForwardPropsToStateFnResult<T_PROPS, COMPONENT_MAPPED_STATE>;
152
153
  allowedControlledPropOverrides?: Record<keyof T_PROPS, true>;
@@ -326,48 +327,9 @@ declare module "components/DataSource/state/getInitialState" {
326
327
  state: DataSourceState<T>;
327
328
  }): DataSourceDerivedState<T>;
328
329
  }
329
- declare module "components/DataSource/state/reducer" {
330
- import type { DataSourceState, DataSourceDerivedState } from "components/DataSource/types";
331
- export function concludeReducer<T>(params: {
332
- previousState: DataSourceState<T> & DataSourceDerivedState<T>;
333
- state: DataSourceState<T> & DataSourceDerivedState<T>;
334
- }): DataSourceState<T> & DataSourceDerivedState<T>;
335
- }
336
- declare module "components/DataSource/index" {
337
- import { DataSourceProps } from "components/DataSource/types";
338
- import { useDataSource } from "components/DataSource/publicHooks/useDataSource";
339
- import { GroupRowsState } from "components/DataSource/GroupRowsState";
340
- function DataSource<T>(props: DataSourceProps<T>): JSX.Element;
341
- export { useDataSource, DataSource, GroupRowsState };
342
- export * from "components/DataSource/types";
343
- }
344
- declare module "components/DataSource/GroupRowsState" {
345
- import { DataSourceExpandedAndCollapsedGroupRows } from "components/DataSource/index";
346
- export class GroupRowsState<KeyType extends any = any> {
347
- private expandedMap?;
348
- private collapsedMap?;
349
- private collapsedAll;
350
- private expandedAll;
351
- private initialState;
352
- constructor(state: DataSourceExpandedAndCollapsedGroupRows<KeyType> | GroupRowsState<KeyType>);
353
- getState(): DataSourceExpandedAndCollapsedGroupRows<KeyType>;
354
- destroy(): void;
355
- private update;
356
- areAllCollapsed(): boolean;
357
- areAllExpanded(): boolean;
358
- collapseAll(): void;
359
- expandAll(): void;
360
- isGroupRowExpanded(keys: KeyType[]): boolean | undefined;
361
- isGroupRowCollapsed(keys: KeyType[]): boolean;
362
- setGroupRowExpanded(keys: KeyType[], shouldExpand: boolean): void;
363
- collapseGroupRow(keys: KeyType[]): void;
364
- expandGroupRow(keys: KeyType[]): void;
365
- toggleGroupRow(keys: KeyType[]): void;
366
- }
367
- }
368
330
  declare module "components/types/Renderable" {
369
331
  import * as React from 'react';
370
- export type Renderable = React.ReactNode | string | number | null;
332
+ export type Renderable = React.ReactNode;
371
333
  }
372
334
  declare module "components/InfiniteTable/types/Utility" {
373
335
  export type ArrayElement<ArrayType extends readonly unknown[]> = ArrayType extends readonly (infer ElementType)[] ? ElementType : never;
@@ -392,6 +354,7 @@ declare module "components/InfiniteTable/types/InfiniteTableColumn" {
392
354
  import type { DiscriminatedUnion, RequireAtLeastOne } from "components/InfiniteTable/types/Utility";
393
355
  import type { InfiniteTableRowInfo } from "components/InfiniteTable/types/index";
394
356
  import { CSSProperties } from 'react';
357
+ import { PivotBy } from "utils/groupAndPivot/index";
395
358
  export type { DiscriminatedUnion, RequireAtLeastOne };
396
359
  export type InfiniteTableToggleGroupRowFn = (groupKeys: any[]) => void;
397
360
  export interface InfiniteTableColumnRenderParam<DATA_TYPE, COL_TYPE = InfiniteTableComputedColumn<DATA_TYPE>> {
@@ -405,6 +368,7 @@ declare module "components/InfiniteTable/types/InfiniteTableColumn" {
405
368
  toggleGroupRow: InfiniteTableToggleGroupRowFn;
406
369
  groupRowsBy: DataSourceState<DATA_TYPE>['groupRowsBy'];
407
370
  }
371
+ export type InfiniteTableColumnRenderValueParam<DATA_TYPE, COL_TYPE = InfiniteTableComputedColumn<DATA_TYPE>> = InfiniteTableColumnRenderParam<DATA_TYPE, COL_TYPE>;
408
372
  export type InfiniteTableColumnRowspanFnParams<DATA_TYPE, COL_TYPE = InfiniteTableComputedColumn<DATA_TYPE>> = {
409
373
  data: DATA_TYPE | null;
410
374
  rowInfo: InfiniteTableRowInfo<DATA_TYPE>;
@@ -419,6 +383,7 @@ declare module "components/InfiniteTable/types/InfiniteTableColumn" {
419
383
  }
420
384
  export type InfiniteTableColumnPinned = 'start' | 'end' | false;
421
385
  export type InfiniteTableColumnRenderFunction<DATA_TYPE, COL_TYPE = InfiniteTableComputedColumn<DATA_TYPE>> = ({ value, rowIndex, column, data, toggleGroupRow, toggleCurrentGroupRow, rowInfo, groupRowsBy, }: InfiniteTableColumnRenderParam<DATA_TYPE, COL_TYPE>) => Renderable | null;
386
+ export type InfiniteTableColumnRenderValueFunction<DATA_TYPE, COL_TYPE = InfiniteTableComputedColumn<DATA_TYPE>> = InfiniteTableColumnRenderFunction<DATA_TYPE, COL_TYPE>;
422
387
  export type InfiniteTableColumnHeaderRenderFunction<T> = ({ columnSortInfo, column, }: InfiniteTableColumnHeaderRenderParams<T>) => Renderable;
423
388
  export type InfiniteTableColumnWithField<T> = {
424
389
  field: keyof T;
@@ -492,7 +457,16 @@ declare module "components/InfiniteTable/types/InfiniteTableColumn" {
492
457
  pivotColumn?: true;
493
458
  pivotTotalColumn?: true;
494
459
  pivotGroupKeys?: any[];
495
- renderValue?: InfiniteTableColumnRenderFunction<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;
496
470
  };
497
471
  type InfiniteTableComputedColumnBase<T> = {
498
472
  computedWidth: number;
@@ -518,12 +492,61 @@ declare module "components/InfiniteTable/types/InfiniteTableColumn" {
518
492
  };
519
493
  export type InfiniteTableComputedColumn<T> = InfiniteTableColumn<T> & InfiniteTableComputedColumnBase<T> & InfiniteTablePivotColumn<T> & InfiniteTableGeneratedGroupColumn<T>;
520
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
+ }
521
546
  declare module "utils/groupAndPivot/index" {
522
- import { DataSourcePivotBy } from "@infinite-table/infinite-react";
523
547
  import { GroupRowsState } from "components/DataSource/GroupRowsState";
524
- import { InfiniteTablePivotColumn } from "components/InfiniteTable/types/InfiniteTableColumn";
525
- import { InfiniteTableGroupColumnBase, InfiniteTablePropColumnGroups, InfiniteTablePropColumns } from "components/InfiniteTable/types/InfiniteTableProps";
526
- import { InfiniteTablePropPivotTotalColumnPosition } from "components/InfiniteTable/types/InfiniteTableState";
548
+ import { InfiniteTablePivotColumn, InfiniteTablePivotFinalColumn } from "components/InfiniteTable/types/InfiniteTableColumn";
549
+ import { InfiniteTableGroupColumnBase } from "components/InfiniteTable/types/InfiniteTableProps";
527
550
  import { DeepMap } from "utils/DeepMap";
528
551
  export type AggregationReducer<T, AggregationResultType> = {
529
552
  initialValue: AggregationResultType;
@@ -581,7 +604,11 @@ declare module "utils/groupAndPivot/index" {
581
604
  toKey?: (value: any, data: DataType) => GroupKeyType<KeyType>;
582
605
  column?: InfiniteTableGroupColumnBase<DataType>;
583
606
  };
584
- export type PivotBy<DataType, KeyType> = GroupBy<DataType, KeyType>;
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>>);
611
+ };
585
612
  type GroupParams<DataType, KeyType> = {
586
613
  groupBy: GroupBy<DataType, KeyType>[];
587
614
  defaultToKey?: (value: any, item: DataType) => GroupKeyType<KeyType>;
@@ -607,11 +634,6 @@ declare module "utils/groupAndPivot/index" {
607
634
  export function enhancedFlatten<DataType, KeyType = any>(param: EnhancedFlattenParam<DataType, KeyType>): {
608
635
  data: InfiniteTableRowInfo<DataType>[];
609
636
  };
610
- export type ComputedColumnsAndGroups<DataType> = {
611
- columns: InfiniteTablePropColumns<DataType, InfiniteTablePivotColumn<DataType>>;
612
- columnGroups: InfiniteTablePropColumnGroups;
613
- };
614
- export function getPivotColumnsAndColumnGroups<DataType, KeyType = any>(deepMap: DeepMap<KeyType, boolean>, pivotBy: DataSourcePivotBy<DataType>[], pivotTotalColumnPosition: InfiniteTablePropPivotTotalColumnPosition): ComputedColumnsAndGroups<DataType>;
615
637
  }
616
638
  declare module "components/InfiniteTable/theme.css" {
617
639
  export const ThemeVars: import("@vanilla-extract/private").MapLeafNodes<{
@@ -749,6 +771,7 @@ declare module "components/InfiniteTable/utilities.css" {
749
771
  export const fill: Record<"accentColor" | "currentColor", string>;
750
772
  export const background: Record<"inherit", string>;
751
773
  export const transformTranslateZero: string;
774
+ export const transform: Record<"translateZero" | "rotate90", string>;
752
775
  export const cursor: Record<"pointer", string>;
753
776
  export const flex: Record<"none" | 1, string>;
754
777
  export const zIndex: Record<1 | 10 | 1000 | 10000 | 100000, string>;
@@ -854,13 +877,14 @@ declare module "components/InfiniteTable/types/InfiniteTableProps" {
854
877
  columns: string[];
855
878
  depth: number;
856
879
  };
857
- export type GroupColumnGetterOptions<T> = {
858
- groupIndex?: number;
880
+ export type InfiniteTableGroupColumnGetterOptions<T> = {
881
+ groupIndexForColumn?: number;
882
+ groupByForColumn?: DataSourceGroupRowsBy<T>;
883
+ groupRenderStrategy: InfiniteTablePropGroupRenderStrategy;
859
884
  groupCount: number;
860
- groupBy?: DataSourceGroupRowsBy<T>;
861
885
  groupRowsBy: DataSourceGroupRowsBy<T>[];
862
886
  };
863
- export type PivotColumnGetterOptions<T> = {
887
+ export type InfiniteTablePivotColumnGetterOptions<T> = {
864
888
  column: InfiniteTablePivotColumn<T>;
865
889
  groupRowsBy: DataSourcePropGroupRowsBy<T>;
866
890
  pivotBy: DataSourcePropPivotBy<T>;
@@ -872,8 +896,9 @@ declare module "components/InfiniteTable/types/InfiniteTableProps" {
872
896
  export type InfiniteTablePivotColumnBase<T> = InfiniteTableColumn<T> & InfiniteTableColumnWithSize & {
873
897
  renderValue?: InfiniteTableColumnRenderFunction<T>;
874
898
  };
875
- export type InfiniteTablePropGroupColumn<T> = InfiniteTableGroupColumnBase<T> | ((options: GroupColumnGetterOptions<T>, toggleGroupRow: (groupKeys: any[]) => void) => InfiniteTableGroupColumnBase<T>);
876
- export type InfiniteTablePropPivotColumn<T> = InfiniteTablePivotColumnBase<T> | ((options: PivotColumnGetterOptions<T>) => InfiniteTablePivotColumnBase<T>);
899
+ export type InfiniteTablePropGroupColumn<T> = InfiniteTableGroupColumnBase<T> | InfiniteTableGroupColumnFunction<T>;
900
+ export type InfiniteTableGroupColumnFunction<T> = (options: InfiniteTableGroupColumnGetterOptions<T>, toggleGroupRow: (groupKeys: any[]) => void) => InfiniteTableGroupColumnBase<T>;
901
+ export type InfiniteTablePropPivotColumn<T> = InfiniteTablePivotColumnBase<T> | ((options: InfiniteTablePivotColumnGetterOptions<T>) => InfiniteTablePivotColumnBase<T>);
877
902
  export type InfiniteTablePropPivotRowLabelsColumn<T> = InfiniteTablePropPivotColumn<T>;
878
903
  export type InfiniteTablePropComponents = {
879
904
  LoadMask?: React.FC<LoadMaskProps>;
@@ -1134,12 +1159,12 @@ declare module "components/InfiniteTable/types/index" {
1134
1159
  import type { InfiniteTableState } from "components/InfiniteTable/types/InfiniteTableState";
1135
1160
  import type { InfiniteTableAction } from "components/InfiniteTable/types/InfiniteTableAction";
1136
1161
  import type { InfiniteTableActionType } from "components/InfiniteTable/types/InfiniteTableActionType";
1137
- import type { InfiniteTableProps, InfiniteTableImperativeApi, InfiniteTablePropColumnOrder, InfiniteTablePropColumnVisibility, InfiniteTablePropColumnPinning, InfiniteTableColumnAggregator, InfiniteTableColumnGroup, InfiniteTablePropGroupRenderStrategy, InfiniteTablePropColumnAggregations, InfiniteTablePropColumnGroups, InfiniteTablePropRowStyle, InfiniteTableRowStyleFn, InfiniteTableRowClassNameFn, InfiniteTablePropRowClassName, InfiniteTablePropColumns, InfiniteTablePropComponents } from "components/InfiniteTable/types/InfiniteTableProps";
1138
- import type { InfiniteTableColumn, InfiniteTableComputedColumn, InfiniteTableColumnRenderParam } from "components/InfiniteTable/types/InfiniteTableColumn";
1162
+ import type { InfiniteTableProps, InfiniteTableImperativeApi, InfiniteTablePropColumnOrder, InfiniteTablePropColumnVisibility, InfiniteTablePropColumnPinning, InfiniteTableColumnAggregator, InfiniteTableColumnGroup, InfiniteTablePropGroupRenderStrategy, InfiniteTablePropColumnAggregations, InfiniteTablePropColumnGroups, InfiniteTablePropRowStyle, InfiniteTableRowStyleFn, InfiniteTableRowClassNameFn, InfiniteTablePropRowClassName, InfiniteTablePropColumns, InfiniteTablePropComponents, InfiniteTableGroupColumnFunction, InfiniteTableGroupColumnGetterOptions } from "components/InfiniteTable/types/InfiniteTableProps";
1163
+ import type { InfiniteTableColumn, InfiniteTableComputedColumn, InfiniteTableColumnRenderParam, InfiniteTableColumnRenderValueParam } from "components/InfiniteTable/types/InfiniteTableColumn";
1139
1164
  import type { InfiniteTableComputedValues } from "components/InfiniteTable/types/InfiniteTableComputedValues";
1140
1165
  import type { InfiniteTableContextValue } from "components/InfiniteTable/types/InfiniteTableContextValue";
1141
1166
  import type { InfiniteTableRowInfo } from "utils/groupAndPivot/index";
1142
- export type { InfiniteTableColumnAggregator, InfiniteTableComputedValues, InfiniteTablePropColumns, InfiniteTableRowInfo, InfiniteTablePropColumnOrder, InfiniteTablePropComponents, InfiniteTablePropColumnVisibility, InfiniteTablePropColumnPinning, InfiniteTableColumnGroup, InfiniteTableColumn, InfiniteTableComputedColumn, InfiniteTableColumnRenderParam, InfiniteTableContextValue, InfiniteTablePropGroupRenderStrategy, InfiniteTablePropColumnAggregations, InfiniteTablePropColumnGroups, InfiniteTableState, InfiniteTableAction, InfiniteTableProps, InfiniteTableImperativeApi, InfiniteTableActionType, InfiniteTablePropRowStyle, InfiniteTablePropRowClassName, InfiniteTableRowStyleFn, InfiniteTableRowClassNameFn, };
1167
+ export type { InfiniteTableColumnAggregator, InfiniteTableComputedValues, InfiniteTablePropColumns, InfiniteTableRowInfo, InfiniteTableGroupColumnFunction, InfiniteTablePropColumnOrder, InfiniteTablePropComponents, InfiniteTablePropColumnVisibility, InfiniteTablePropColumnPinning, InfiniteTableColumnGroup, InfiniteTableColumn, InfiniteTableComputedColumn, InfiniteTableColumnRenderParam, InfiniteTableColumnRenderValueParam, InfiniteTableContextValue, InfiniteTablePropGroupRenderStrategy, InfiniteTablePropColumnAggregations, InfiniteTablePropColumnGroups, InfiniteTableState, InfiniteTableAction, InfiniteTableProps, InfiniteTableImperativeApi, InfiniteTableActionType, InfiniteTablePropRowStyle, InfiniteTablePropRowClassName, InfiniteTableRowStyleFn, InfiniteTableRowClassNameFn, InfiniteTableGroupColumnGetterOptions, };
1143
1168
  }
1144
1169
  declare module "components/InfiniteTable/InfiniteTableContext" {
1145
1170
  import { InfiniteTableContextValue } from "components/InfiniteTable/types/InfiniteTableContextValue";
@@ -1171,11 +1196,11 @@ declare module "components/InfiniteTable/state/getInitialState" {
1171
1196
  pivotTotalColumnPosition: 1 | ((value: import("components/InfiniteTable/types/InfiniteTableState").InfiniteTablePropPivotTotalColumnPosition | undefined) => import("components/InfiniteTable/types/InfiniteTableState").InfiniteTablePropPivotTotalColumnPosition);
1172
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);
1173
1198
  pivotColumnGroups: 1 | ((value: import("components/InfiniteTable/types").InfiniteTablePropColumnGroups | undefined) => import("components/InfiniteTable/types").InfiniteTablePropColumnGroups | undefined);
1174
- sortable: 1 | ((value: boolean | undefined) => boolean);
1175
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);
1176
1201
  components: 1 | ((value: import("components/InfiniteTable/types").InfiniteTablePropComponents | undefined) => import("components/InfiniteTable/types").InfiniteTablePropComponents | undefined);
1177
1202
  groupColumn: 1 | ((value: Partial<InfiniteTablePropGroupColumn<T>> | undefined) => Partial<InfiniteTablePropGroupColumn<T>> | undefined);
1178
- loadingText: 1 | ((value: import("components/types/Renderable").Renderable) => import("components/types/Renderable").Renderable);
1203
+ loadingText: 1 | ((value: import("react").ReactNode) => import("react").ReactNode);
1179
1204
  onReady: 1 | ((value: ((api: import("components/InfiniteTable/types").InfiniteTableImperativeApi<T>) => void) | undefined) => ((api: import("components/InfiniteTable/types").InfiniteTableImperativeApi<T>) => void) | undefined);
1180
1205
  onSelfFocus: 1 | ((value: ((event: import("react").FocusEvent<HTMLDivElement>) => void) | undefined) => ((event: import("react").FocusEvent<HTMLDivElement>) => void) | undefined);
1181
1206
  onSelfBlur: 1 | ((value: ((event: import("react").FocusEvent<HTMLDivElement>) => void) | undefined) => ((event: import("react").FocusEvent<HTMLDivElement>) => void) | undefined);
@@ -1438,19 +1463,6 @@ declare module "components/InfiniteTable/components/icons/ExpanderIcon" {
1438
1463
  };
1439
1464
  export function ExpanderIcon(props: ExpanderIconProps): JSX.Element;
1440
1465
  }
1441
- declare module "components/InfiniteTable/state/getComputedPivotColumnsFromDataSourcePivotColumns" {
1442
- import { DataSourcePropGroupRowsBy, DataSourcePropPivotBy } from "components/DataSource/index";
1443
- import { InfiniteTableProps } from "components/InfiniteTable/types/index";
1444
- import { InfiniteTableState } from "components/InfiniteTable/types/InfiniteTableState";
1445
- export function getComputedPivotColumnsFromDataSourcePivotColumns<T>(pivotColumns: InfiniteTableProps<T>['pivotColumns'], params: {
1446
- toggleGroupRow: (groupKeys: any[]) => void;
1447
- pivotColumn: InfiniteTableProps<T>['pivotColumn'];
1448
- pivotRowLabelsColumn: InfiniteTableProps<T>['pivotRowLabelsColumn'];
1449
- pivotTotalColumnPosition: InfiniteTableState<T>['pivotTotalColumnPosition'];
1450
- pivotBy: DataSourcePropPivotBy<T>;
1451
- groupRowsBy: DataSourcePropGroupRowsBy<T>;
1452
- }): InfiniteTableProps<T>['pivotColumns'];
1453
- }
1454
1466
  declare module "components/InfiniteTable/components/InfiniteTableRow/row.css" {
1455
1467
  export const RowHoverCls: string;
1456
1468
  export const RowClsRecipe: import("@vanilla-extract/recipes/dist/declarations/src/types").RuntimeFn<{
@@ -1482,31 +1494,44 @@ declare module "components/InfiniteTable/components/InfiniteTableRow/row.css" {
1482
1494
  }>;
1483
1495
  export const GroupRowExpanderCls: string;
1484
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
+ }
1485
1510
  declare module "components/InfiniteTable/utils/getColumnForGroupBy" {
1511
+ import * as React from 'react';
1486
1512
  import { InfiniteTableColumnRenderParam } from "components/InfiniteTable/index";
1487
1513
  import { DataSourceGroupRowsBy } from "components/DataSource/index";
1488
1514
  import { InfiniteTableGeneratedGroupColumn } from "components/InfiniteTable/types/InfiniteTableColumn";
1489
- import { GroupColumnGetterOptions, InfiniteTablePropGroupColumn, InfiniteTablePropGroupRenderStrategy } from "components/InfiniteTable/types/InfiniteTableProps";
1490
- export function getGroupColumnRender<T>({ groupIndex, groupRenderStrategy, toggleGroupRow, }: {
1515
+ import { InfiniteTableGroupColumnGetterOptions, InfiniteTablePropGroupColumn, InfiniteTablePropGroupRenderStrategy } from "components/InfiniteTable/types/InfiniteTableProps";
1516
+ export function getGroupColumnRender<T>({ groupIndexForColumn, groupRenderStrategy, toggleGroupRow, }: {
1491
1517
  toggleGroupRow: (groupRowKeys: any[]) => void;
1492
1518
  groupRenderStrategy: InfiniteTablePropGroupRenderStrategy;
1493
- groupIndex: number;
1494
- }): (renderOptions: InfiniteTableColumnRenderParam<T>) => import("components/types/Renderable").Renderable;
1495
- export function getColumnForGroupBy<T>(options: GroupColumnGetterOptions<T> & {
1496
- groupIndex: number;
1497
- groupBy: DataSourceGroupRowsBy<T>;
1498
- groupRenderStrategy: InfiniteTablePropGroupRenderStrategy;
1519
+ groupIndexForColumn: number;
1520
+ }): (renderOptions: InfiniteTableColumnRenderParam<T>) => React.ReactNode;
1521
+ export function getColumnForGroupBy<T>(options: InfiniteTableGroupColumnGetterOptions<T> & {
1522
+ groupIndexForColumn: number;
1523
+ groupByForColumn: DataSourceGroupRowsBy<T>;
1499
1524
  }, toggleGroupRow: (groupRowKeys: any[]) => void, groupColumnFromProps?: InfiniteTablePropGroupColumn<T>): InfiniteTableGeneratedGroupColumn<T>;
1500
- export function getSingleGroupColumn<T>(options: GroupColumnGetterOptions<T>, toggleGroupRow: (groupRowKeys: any[]) => void, groupColumnFromProps?: InfiniteTablePropGroupColumn<T>): InfiniteTableGeneratedGroupColumn<T>;
1525
+ export function getSingleGroupColumn<T>(options: InfiniteTableGroupColumnGetterOptions<T>, toggleGroupRow: (groupRowKeys: any[]) => void, groupColumnFromProps?: InfiniteTablePropGroupColumn<T>): InfiniteTableGeneratedGroupColumn<T>;
1501
1526
  }
1502
1527
  declare module "components/InfiniteTable/hooks/useToggleGroupRow" {
1503
1528
  export type ToggleGrouRowFn = (groupKeys: any[]) => void;
1504
1529
  export function useToggleGroupRow<T>(): ToggleGrouRowFn;
1505
1530
  }
1506
1531
  declare module "components/InfiniteTable/hooks/useColumnsWhen" {
1507
- import { InfiniteTableColumn } from "components/InfiniteTable/index";
1508
- import { DataSourceGroupRowsBy } from "components/DataSource/index";
1509
- 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";
1510
1535
  export function useColumnsWhen<T>(): void;
1511
1536
  export function getColumnsWhenGrouping<T>(params: {
1512
1537
  columns: Map<string, InfiniteTableColumn<T>>;