comins-table 0.1.9 → 0.1.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. package/CHANGELOG.md +67 -1
  2. package/DESIGN.md +17 -1
  3. package/README.md +78 -16
  4. package/THIRD_PARTY_NOTICES.md +0 -2
  5. package/dist/cell-fill.d.ts +25 -0
  6. package/dist/cell-fill.d.ts.map +1 -0
  7. package/dist/clipboard-text.d.ts +5 -0
  8. package/dist/clipboard-text.d.ts.map +1 -0
  9. package/dist/clipboard.d.ts +1 -1
  10. package/dist/clipboard.d.ts.map +1 -1
  11. package/dist/clipboard.js +2 -2
  12. package/dist/column-filter.d.ts +2 -1
  13. package/dist/column-filter.d.ts.map +1 -1
  14. package/dist/component-renderer.d.ts.map +1 -1
  15. package/dist/{core-D01wEe-7.js → core-C1tlvY8Q.js} +236 -170
  16. package/dist/core-C1tlvY8Q.js.map +1 -0
  17. package/dist/core.d.ts +12 -2
  18. package/dist/core.d.ts.map +1 -1
  19. package/dist/core.js +2 -2
  20. package/dist/index.d.ts +56 -8
  21. package/dist/index.d.ts.map +1 -1
  22. package/dist/index.js +3242 -1851
  23. package/dist/index.js.map +1 -1
  24. package/dist/row-height.d.ts +25 -0
  25. package/dist/row-height.d.ts.map +1 -0
  26. package/dist/selection-data.d.ts +14 -0
  27. package/dist/selection-data.d.ts.map +1 -0
  28. package/dist/selection.js +2 -2
  29. package/dist/table-icons.d.ts.map +1 -1
  30. package/dist/tree-drag.d.ts +47 -0
  31. package/dist/tree-drag.d.ts.map +1 -0
  32. package/dist/tree.d.ts +19 -0
  33. package/dist/tree.d.ts.map +1 -1
  34. package/dist/use-viewport.d.ts +28 -0
  35. package/dist/use-viewport.d.ts.map +1 -0
  36. package/dist/viewport-data.d.ts +73 -0
  37. package/dist/viewport-data.d.ts.map +1 -0
  38. package/dist/viewport-layout.d.ts +21 -0
  39. package/dist/viewport-layout.d.ts.map +1 -0
  40. package/dist/viewport-requests.d.ts +9 -0
  41. package/dist/viewport-requests.d.ts.map +1 -0
  42. package/dist/virtual-layout.d.ts +12 -2
  43. package/dist/virtual-layout.d.ts.map +1 -1
  44. package/package.json +15 -1
  45. package/styles.css +176 -34
  46. package/dist/core-D01wEe-7.js.map +0 -1
@@ -0,0 +1,25 @@
1
+ import type { CominsEventRow } from "./index";
2
+ export type CominsRowHeight = number | "auto";
3
+ export type CominsRowHeightParams<TData> = {
4
+ row: CominsEventRow<TData>;
5
+ };
6
+ export type CominsRowMeasurement<TData> = {
7
+ row: TData;
8
+ layoutKey: string;
9
+ contentRevision?: object;
10
+ height: number;
11
+ };
12
+ export declare function normalizeCominsRowHeight(value: number | undefined, fallback?: number): number;
13
+ export declare function resolveCominsRowHeight<TData>(input: {
14
+ value: CominsRowHeight | undefined;
15
+ rowHeight: number;
16
+ estimate?: number;
17
+ measurement?: CominsRowMeasurement<TData>;
18
+ row: TData;
19
+ layoutKey: string;
20
+ contentRevision?: object;
21
+ }): {
22
+ auto: boolean;
23
+ height: number;
24
+ };
25
+ //# sourceMappingURL=row-height.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"row-height.d.ts","sourceRoot":"","sources":["../src/row-height.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAE9C,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,MAAM,CAAC;AAC9C,MAAM,MAAM,qBAAqB,CAAC,KAAK,IAAI;IAAE,GAAG,EAAE,cAAc,CAAC,KAAK,CAAC,CAAA;CAAE,CAAC;AAC1E,MAAM,MAAM,oBAAoB,CAAC,KAAK,IAAI;IAAE,GAAG,EAAE,KAAK,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAEtH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,QAAQ,SAAK,UAEhF;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,KAAK,EAAE;IACnD,KAAK,EAAE,eAAe,GAAG,SAAS,CAAC;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,oBAAoB,CAAC,KAAK,CAAC,CAAC;IAC1C,GAAG,EAAE,KAAK,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;;;EAWA"}
@@ -0,0 +1,14 @@
1
+ import { type CominsCellAddress, type CominsCopiedCellRange, type CominsRowId, type CominsTableState } from "./core";
2
+ export type CominsSelectedCell = CominsCellAddress & {
3
+ value: unknown;
4
+ };
5
+ export type CominsCopyTarget = "auto" | "cells" | "rows";
6
+ export type CominsSelectionCopy = {
7
+ target: "cells" | "rows";
8
+ text: string;
9
+ data: CominsCopiedCellRange;
10
+ };
11
+ export declare function selectedRowData<T>(state: CominsTableState<T>): T[];
12
+ export declare function selectedCellValues<T>(state: CominsTableState<T>, order?: readonly CominsRowId[]): CominsSelectedCell[];
13
+ export declare function copySelectionData<T>(state: CominsTableState<T>, target?: CominsCopyTarget, order?: readonly CominsRowId[]): CominsSelectionCopy | null;
14
+ //# sourceMappingURL=selection-data.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"selection-data.d.ts","sourceRoot":"","sources":["../src/selection-data.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,iBAAiB,EAAE,KAAK,qBAAqB,EAAE,KAAK,WAAW,EAAE,KAAK,gBAAgB,EAC5F,MAAM,QAAQ,CAAC;AAEhB,MAAM,MAAM,kBAAkB,GAAG,iBAAiB,GAAG;IAAE,KAAK,EAAE,OAAO,CAAA;CAAE,CAAC;AACxE,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;AACzD,MAAM,MAAM,mBAAmB,GAAG;IAAE,MAAM,EAAE,OAAO,GAAG,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,qBAAqB,CAAA;CAAE,CAAC;AAE1G,wBAAgB,eAAe,CAAC,CAAC,EAAE,KAAK,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAGlE;AAED,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,KAAK,EAAE,gBAAgB,CAAC,CAAC,CAAC,EAAE,KAAK,GAAE,SAAS,WAAW,EAAiB,GAAG,kBAAkB,EAAE,CASpI;AASD,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,KAAK,EAAE,gBAAgB,CAAC,CAAC,CAAC,EAAE,MAAM,GAAE,gBAAyB,EAAE,KAAK,GAAE,SAAS,WAAW,EAAiB,GAAG,mBAAmB,GAAG,IAAI,CAoC5K"}
package/dist/selection.js CHANGED
@@ -1,2 +1,2 @@
1
- import { D as e, E as t, L as n, R as r, T as i, b as a, i as o, r as s, z as c } from "./core-D01wEe-7.js";
2
- export { s as clearCominsCellRange, o as clearCominsSelection, a as getCominsSelectedCellRange, i as isCominsCellInSelectedRange, t as isCominsCellSelected, e as isCominsRowSelected, n as selectCell, r as selectCellRange, c as selectRow };
1
+ import { B as e, D as t, E as n, R as r, T as i, b as a, i as o, r as s, z as c } from "./core-C1tlvY8Q.js";
2
+ export { s as clearCominsCellRange, o as clearCominsSelection, a as getCominsSelectedCellRange, i as isCominsCellInSelectedRange, n as isCominsCellSelected, t as isCominsRowSelected, r as selectCell, c as selectCellRange, e as selectRow };
@@ -1 +1 @@
1
- {"version":3,"file":"table-icons.d.ts","sourceRoot":"","sources":["../src/table-icons.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,MAAM,MAAM,mBAAmB,GAC3B,YAAY,GACZ,qBAAqB,GACrB,oBAAoB,GACpB,QAAQ,GACR,eAAe,GACf,gBAAgB,GAChB,cAAc,CAAC;AAYnB,wBAAgB,eAAe,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,mBAAmB,CAAA;CAAE,qBAWrG;AAED,MAAM,MAAM,0BAA0B,GAAG,IAAI,CAC3C,KAAK,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,EAC7C,YAAY,GAAG,UAAU,CAC1B,GAAG;IACF,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,mBAAmB,CAAC;CAC3B,CAAC;AAEF,eAAO,MAAM,qBAAqB;kBAJlB,MAAM;UACd,mBAAmB;2CAgB1B,CAAC"}
1
+ {"version":3,"file":"table-icons.d.ts","sourceRoot":"","sources":["../src/table-icons.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,MAAM,MAAM,mBAAmB,GAC3B,YAAY,GACZ,qBAAqB,GACrB,oBAAoB,GACpB,QAAQ,GACR,eAAe,GACf,gBAAgB,GAChB,cAAc,CAAC;AAYnB,wBAAgB,eAAe,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,mBAAmB,CAAA;CAAE,qBAWrG;AAED,MAAM,MAAM,0BAA0B,GAAG,IAAI,CAC3C,KAAK,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,EAC7C,YAAY,GAAG,UAAU,CAC1B,GAAG;IACF,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,mBAAmB,CAAC;CAC3B,CAAC;AAEF,eAAO,MAAM,qBAAqB;kBAJlB,MAAM;UACd,mBAAmB;2CAgB1B,CAAC"}
@@ -0,0 +1,47 @@
1
+ import type React from "react";
2
+ import type { CominsRowId } from "./core";
3
+ import type { CominsEventRow, CominsRowDragReason, CominsRowDragResult, CominsRowDragTarget, CominsTableRowProps } from "./index";
4
+ import { type CominsTreeDropContext, type CominsTreeNode, type CominsTreeRowDragConfig, type CominsVisibleTreeRow } from "./tree";
5
+ export type CominsBeforeTreeRowDragPayload<T> = {
6
+ event: React.PointerEvent<HTMLElement> | React.KeyboardEvent<HTMLElement>;
7
+ row: CominsEventRow<T>;
8
+ };
9
+ export type CominsTreeRowDragPayload<T> = {
10
+ event: PointerEvent | KeyboardEvent;
11
+ row: CominsEventRow<T>;
12
+ target: CominsRowDragTarget;
13
+ };
14
+ export type CominsAfterTreeRowDragPayload<T> = {
15
+ event: PointerEvent | KeyboardEvent | null;
16
+ row: CominsEventRow<T>;
17
+ target?: CominsRowDragTarget;
18
+ reason: CominsRowDragReason;
19
+ result: CominsRowDragResult;
20
+ };
21
+ type Options<T> = {
22
+ data: readonly CominsTreeNode<T>[];
23
+ entries: readonly CominsVisibleTreeRow<T>[];
24
+ getRowId: (row: T, index: number) => CominsRowId;
25
+ config?: CominsTreeRowDragConfig<T>;
26
+ sorted: boolean;
27
+ rowProps?: CominsTableRowProps<T>;
28
+ onChangeData?: (data: CominsTreeNode<T>[]) => void;
29
+ onBeforeRowDrag?: (payload: CominsBeforeTreeRowDragPayload<T>) => boolean | void;
30
+ onRowDrag?: (payload: CominsTreeRowDragPayload<T>) => void;
31
+ onAfterDragRow?: (payload: CominsAfterTreeRowDragPayload<T>) => void;
32
+ };
33
+ type Preview<T> = {
34
+ context: CominsTreeDropContext<T>;
35
+ valid: boolean;
36
+ };
37
+ export declare function useCominsTreeDrag<T>(options: Options<T>): {
38
+ announcement: string;
39
+ navigateRef: React.RefObject<((id: CominsRowId) => void) | null>;
40
+ pendingScrollTop: React.RefObject<number | null>;
41
+ restoreFocus: () => void;
42
+ onPointerDown: (event: React.PointerEvent<HTMLElement>, row: CominsEventRow<T>) => void;
43
+ onKeyDown: (event: React.KeyboardEvent<HTMLElement>, row: CominsEventRow<T>) => void;
44
+ preview: Preview<T> | null;
45
+ };
46
+ export {};
47
+ //# sourceMappingURL=tree-drag.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tree-drag.d.ts","sourceRoot":"","sources":["../src/tree-drag.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAC1C,OAAO,KAAK,EAAE,cAAc,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAElI,OAAO,EAAsB,KAAK,qBAAqB,EAA+B,KAAK,cAAc,EAAE,KAAK,uBAAuB,EAAE,KAAK,oBAAoB,EAAE,MAAM,QAAQ,CAAC;AAEnL,MAAM,MAAM,8BAA8B,CAAC,CAAC,IAAI;IAC9C,KAAK,EAAE,KAAK,CAAC,YAAY,CAAC,WAAW,CAAC,GAAG,KAAK,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;IAC1E,GAAG,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC;CACxB,CAAC;AACF,MAAM,MAAM,wBAAwB,CAAC,CAAC,IAAI;IACxC,KAAK,EAAE,YAAY,GAAG,aAAa,CAAC;IACpC,GAAG,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC;IACvB,MAAM,EAAE,mBAAmB,CAAC;CAC7B,CAAC;AACF,MAAM,MAAM,6BAA6B,CAAC,CAAC,IAAI;IAC7C,KAAK,EAAE,YAAY,GAAG,aAAa,GAAG,IAAI,CAAC;IAC3C,GAAG,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC;IACvB,MAAM,CAAC,EAAE,mBAAmB,CAAC;IAC7B,MAAM,EAAE,mBAAmB,CAAC;IAC5B,MAAM,EAAE,mBAAmB,CAAC;CAC7B,CAAC;AAEF,KAAK,OAAO,CAAC,CAAC,IAAI;IAChB,IAAI,EAAE,SAAS,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC;IACnC,OAAO,EAAE,SAAS,oBAAoB,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5C,QAAQ,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,WAAW,CAAC;IACjD,MAAM,CAAC,EAAE,uBAAuB,CAAC,CAAC,CAAC,CAAC;IACpC,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,mBAAmB,CAAC,CAAC,CAAC,CAAC;IAClC,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC;IACnD,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,8BAA8B,CAAC,CAAC,CAAC,KAAK,OAAO,GAAG,IAAI,CAAC;IACjF,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,wBAAwB,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;IAC3D,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,6BAA6B,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;CACtE,CAAC;AACF,KAAK,OAAO,CAAC,CAAC,IAAI;IAAE,OAAO,EAAE,qBAAqB,CAAC,CAAC,CAAC,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,CAAC;AAUxE,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;;uCAGrB,WAAW,KAAK,IAAI;;;2BA6FvB,KAAK,CAAC,YAAY,CAAC,WAAW,CAAC,OAAO,cAAc,CAAC,CAAC,CAAC;uBA6E3D,KAAK,CAAC,aAAa,CAAC,WAAW,CAAC,OAAO,cAAc,CAAC,CAAC,CAAC;;EAcnF"}
package/dist/tree.d.ts CHANGED
@@ -7,6 +7,21 @@ export type CominsTreeNode<TItem> = {
7
7
  export type CominsTreeExpansionOptions = {
8
8
  defaultExpandAll?: boolean;
9
9
  };
10
+ export type CominsTreeMoveDestination = {
11
+ parentId: CominsRowId | null;
12
+ beforeRowId: CominsRowId | null;
13
+ };
14
+ export type CominsTreeDropPosition = "before" | "after" | "inside";
15
+ export type CominsTreeDropContext<TItem> = {
16
+ source: CominsVisibleTreeRow<TItem>;
17
+ target: CominsVisibleTreeRow<TItem>;
18
+ destination: CominsTreeMoveDestination;
19
+ position: CominsTreeDropPosition;
20
+ };
21
+ export type CominsTreeRowDragConfig<TItem> = {
22
+ allowReparent?: boolean;
23
+ canDrop?: (context: CominsTreeDropContext<TItem>) => boolean;
24
+ };
10
25
  export type CominsVisibleTreeRow<TItem> = {
11
26
  depth: number;
12
27
  expanded: boolean;
@@ -15,6 +30,10 @@ export type CominsVisibleTreeRow<TItem> = {
15
30
  path: readonly number[];
16
31
  rowId: CominsRowId;
17
32
  };
33
+ /** Move a complete subtree. Invalid and unchanged moves retain the input reference. */
34
+ export declare function moveCominsTreeNode<TItem>(nodes: readonly CominsTreeNode<TItem>[], rowId: CominsRowId, destination: CominsTreeMoveDestination, getRowId: (item: TItem, index: number) => CominsRowId, options?: {
35
+ allowReparent?: boolean;
36
+ }): readonly CominsTreeNode<TItem>[];
18
37
  export declare function flattenCominsTree<TItem>(nodes: readonly CominsTreeNode<TItem>[], getRowId: (item: TItem, index: number) => CominsRowId, options?: CominsTreeExpansionOptions): CominsVisibleTreeRow<TItem>[];
19
38
  export declare function getCominsTreeLeafItems<TItem>(nodes: readonly CominsTreeNode<TItem>[]): TItem[];
20
39
  export declare function toggleCominsTreeNode<TItem>(nodes: readonly CominsTreeNode<TItem>[], rowId: CominsRowId, getRowId: (item: TItem, index: number) => CominsRowId, options?: CominsTreeExpansionOptions): CominsTreeNode<TItem>[];
@@ -1 +1 @@
1
- {"version":3,"file":"tree.d.ts","sourceRoot":"","sources":["../src/tree.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAE1C,MAAM,MAAM,cAAc,CAAC,KAAK,IAAI;IAClC,QAAQ,CAAC,EAAE,SAAS,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;IAC5C,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,KAAK,CAAC;CACb,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG;IACvC,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,oBAAoB,CAAC,KAAK,IAAI;IACxC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,EAAE,OAAO,CAAC;IACrB,IAAI,EAAE,KAAK,CAAC;IACZ,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;IACxB,KAAK,EAAE,WAAW,CAAC;CACpB,CAAC;AA0EF,wBAAgB,iBAAiB,CAAC,KAAK,EACrC,KAAK,EAAE,SAAS,cAAc,CAAC,KAAK,CAAC,EAAE,EACvC,QAAQ,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,KAAK,WAAW,EACrD,OAAO,GAAE,0BAA+B,GACvC,oBAAoB,CAAC,KAAK,CAAC,EAAE,CA2B/B;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,cAAc,CAAC,KAAK,CAAC,EAAE,GAAG,KAAK,EAAE,CAE9F;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EACxC,KAAK,EAAE,SAAS,cAAc,CAAC,KAAK,CAAC,EAAE,EACvC,KAAK,EAAE,WAAW,EAClB,QAAQ,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,KAAK,WAAW,EACrD,OAAO,GAAE,0BAA+B,GACvC,cAAc,CAAC,KAAK,CAAC,EAAE,CAWzB;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EACxC,KAAK,EAAE,SAAS,cAAc,CAAC,KAAK,CAAC,EAAE,EACvC,KAAK,EAAE,WAAW,EAClB,QAAQ,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,KAAK,WAAW,EACrD,MAAM,EAAE,CAAC,IAAI,EAAE,KAAK,KAAK,KAAK,GAC7B,cAAc,CAAC,KAAK,CAAC,EAAE,CAQzB;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAC1C,KAAK,EAAE,SAAS,cAAc,CAAC,KAAK,CAAC,EAAE,EACvC,OAAO,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,KAAK,MAAM,GAC7C,cAAc,CAAC,KAAK,CAAC,EAAE,CAOzB"}
1
+ {"version":3,"file":"tree.d.ts","sourceRoot":"","sources":["../src/tree.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ import { type CominsViewportData, type CominsViewportPatch, type CominsViewportRequest, type CominsViewportRevision } from "./viewport-data";
2
+ export type CominsViewportDatasource = {
3
+ revision: CominsViewportRevision;
4
+ maxConcurrentRequests?: number;
5
+ heightCacheSize?: number;
6
+ };
7
+ export type CominsViewportOptions<T> = {
8
+ rowCount: number;
9
+ queryKey: CominsViewportRevision;
10
+ getRows: (request: CominsViewportRequest) => readonly T[] | Promise<readonly T[]>;
11
+ blockSize?: number;
12
+ cacheSize?: number;
13
+ maxConcurrentRequests?: number;
14
+ heightCacheSize?: number;
15
+ onEdit?: (changes: readonly CominsViewportPatch<T>[]) => void;
16
+ };
17
+ /** State lives with the consumer. The Table receives a controlled snapshot and callbacks. */
18
+ export declare function useCominsViewport<T>(options: CominsViewportOptions<T>): {
19
+ data: CominsViewportData<T>;
20
+ tableProps: {
21
+ data: CominsViewportData<T>;
22
+ onChangeData: (next: CominsViewportData<T>) => void;
23
+ onViewportRequest: (request: CominsViewportRequest) => Promise<void>;
24
+ viewportDatasource: CominsViewportDatasource;
25
+ virtualized: true;
26
+ };
27
+ };
28
+ //# sourceMappingURL=use-viewport.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-viewport.d.ts","sourceRoot":"","sources":["../src/use-viewport.ts"],"names":[],"mappings":"AACA,OAAO,EAAsD,KAAK,kBAAkB,EAAgC,KAAK,mBAAmB,EAAE,KAAK,qBAAqB,EAAE,KAAK,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAE/N,MAAM,MAAM,wBAAwB,GAAG;IACrC,QAAQ,EAAE,sBAAsB,CAAC;IACjC,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,CAAC;AACF,MAAM,MAAM,qBAAqB,CAAC,CAAC,IAAI;IACrC,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,sBAAsB,CAAC;IACjC,OAAO,EAAE,CAAC,OAAO,EAAE,qBAAqB,KAAK,SAAS,CAAC,EAAE,GAAG,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IAClF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,SAAS,mBAAmB,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC;CAC/D,CAAC;AAEF,6FAA6F;AAC7F,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,OAAO,EAAE,qBAAqB,CAAC,CAAC,CAAC;;;;6BA+B5B,kBAAkB,CAAC,CAAC,CAAC;qCAdP,qBAAqB;;;;EAyB5E"}
@@ -0,0 +1,73 @@
1
+ import type { CominsRowId, CominsSelectionState } from "./core";
2
+ export type CominsViewportRevision = string | number;
3
+ export type CominsViewportRange = {
4
+ startIndex: number;
5
+ endIndex: number;
6
+ };
7
+ export type CominsViewportRequest = CominsViewportRange & {
8
+ revision: CominsViewportRevision;
9
+ requestId: string;
10
+ signal: AbortSignal;
11
+ retainRange: CominsViewportRange;
12
+ };
13
+ export type CominsViewportBlock<T> = {
14
+ startIndex: number;
15
+ rows: readonly T[];
16
+ version: number;
17
+ touched: number;
18
+ };
19
+ export type CominsViewportRequestState = CominsViewportRange & {
20
+ requestId: string;
21
+ status: "loading" | "error";
22
+ version: number;
23
+ };
24
+ export type CominsViewportPatch<T> = {
25
+ index: number;
26
+ row: T;
27
+ };
28
+ export type CominsViewportData<T> = {
29
+ revision: CominsViewportRevision;
30
+ rowCount: number;
31
+ blockSize: number;
32
+ cacheSize: number;
33
+ blocks: readonly CominsViewportBlock<T>[];
34
+ requests: readonly CominsViewportRequestState[];
35
+ retainRange: CominsViewportRange;
36
+ version: number;
37
+ clock: number;
38
+ changes: readonly CominsViewportPatch<T>[];
39
+ };
40
+ export type CominsViewportDataOptions = {
41
+ revision: CominsViewportRevision;
42
+ rowCount: number;
43
+ blockSize?: number;
44
+ cacheSize?: number;
45
+ };
46
+ export type CominsViewportDataEvent<T> = {
47
+ type: "request";
48
+ request: CominsViewportRequest;
49
+ } | {
50
+ type: "cancel";
51
+ request: CominsViewportRequest;
52
+ } | {
53
+ type: "error";
54
+ request: CominsViewportRequest;
55
+ } | {
56
+ type: "success";
57
+ request: CominsViewportRequest;
58
+ rows: readonly T[];
59
+ } | {
60
+ type: "retain";
61
+ range: CominsViewportRange;
62
+ } | {
63
+ type: "patch";
64
+ changes: readonly CominsViewportPatch<T>[];
65
+ } | {
66
+ type: "reset";
67
+ options: CominsViewportDataOptions;
68
+ };
69
+ export declare function normalizeCominsViewportInteger(value: number | undefined, fallback: number): number;
70
+ export declare function createCominsViewportData<T>(options: CominsViewportDataOptions): CominsViewportData<T>;
71
+ export declare function reduceCominsViewportData<T>(data: CominsViewportData<T>, event: CominsViewportDataEvent<T>): CominsViewportData<T>;
72
+ export declare function reconcileCominsViewportSelection(selection: CominsSelectionState, rowIds: readonly CominsRowId[], indices: readonly number[], columnIds: readonly string[]): CominsSelectionState;
73
+ //# sourceMappingURL=viewport-data.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"viewport-data.d.ts","sourceRoot":"","sources":["../src/viewport-data.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ import type { CominsViewportRange } from "./viewport-data";
2
+ /** Sparse measured blocks only: storage does not depend on total dataset length. */
3
+ export declare class CominsViewportHeightIndex {
4
+ readonly rowCount: number;
5
+ readonly estimate: number;
6
+ readonly blockSize: number;
7
+ readonly maxBlocks: number;
8
+ private blocks;
9
+ private deltas;
10
+ constructor(rowCount: number, estimate: number, blockSize?: number, maxBlocks?: number);
11
+ clone(): CominsViewportHeightIndex;
12
+ get measuredBlockCount(): number;
13
+ get measuredRowCount(): number;
14
+ getHeight(index: number): number;
15
+ getPrefixHeight(endExclusive: number): number;
16
+ getTotalHeight(): number;
17
+ findIndexAtOffset(offset: number): number;
18
+ updateHeight(index: number, value: number): number;
19
+ retain(range: CominsViewportRange): void;
20
+ }
21
+ //# sourceMappingURL=viewport-layout.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"viewport-layout.d.ts","sourceRoot":"","sources":["../src/viewport-layout.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAE3D,oFAAoF;AACpF,qBAAa,yBAAyB;IAGxB,QAAQ,CAAC,QAAQ,EAAE,MAAM;IAAE,QAAQ,CAAC,QAAQ,EAAE,MAAM;IAAE,QAAQ,CAAC,SAAS;IAAQ,QAAQ,CAAC,SAAS;IAF9G,OAAO,CAAC,MAAM,CAA0C;IACxD,OAAO,CAAC,MAAM,CAA6B;IAC3C,YAAqB,QAAQ,EAAE,MAAM,EAAW,QAAQ,EAAE,MAAM,EAAW,SAAS,SAAM,EAAW,SAAS,SAAK,EAAI;IACvH,KAAK,8BAKJ;IACD,IAAI,kBAAkB,WAA+B;IACrD,IAAI,gBAAgB,WAAsF;IAC1G,SAAS,CAAC,KAAK,EAAE,MAAM,UAA8F;IACrH,eAAe,CAAC,YAAY,EAAE,MAAM,UAQnC;IACD,cAAc,WAAkD;IAChE,iBAAiB,CAAC,MAAM,EAAE,MAAM,UAW/B;IACD,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,UAYxC;IACD,MAAM,CAAC,KAAK,EAAE,mBAAmB,QAShC;CACF"}
@@ -0,0 +1,9 @@
1
+ import { type CominsViewportData, type CominsViewportRange, type CominsViewportRequest } from "./viewport-data";
2
+ export declare function useCominsViewportRequests<T>(input: {
3
+ data?: CominsViewportData<T>;
4
+ range: CominsViewportRange;
5
+ maxConcurrentRequests?: number;
6
+ onRequest?: (request: CominsViewportRequest) => void | Promise<void>;
7
+ onChangeData?: (data: CominsViewportData<T>) => void;
8
+ }): (index: number) => void;
9
+ //# sourceMappingURL=viewport-requests.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"viewport-requests.d.ts","sourceRoot":"","sources":["../src/viewport-requests.ts"],"names":[],"mappings":"AACA,OAAO,EAA4D,KAAK,kBAAkB,EAAE,KAAK,mBAAmB,EAAE,KAAK,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAG1K,wBAAgB,yBAAyB,CAAC,CAAC,EAAE,KAAK,EAAE;IAClD,IAAI,CAAC,EAAE,kBAAkB,CAAC,CAAC,CAAC,CAAC;IAC7B,KAAK,EAAE,mBAAmB,CAAC;IAC3B,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,qBAAqB,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACrE,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;CACtD,WA2CgB,MAAM,UAKtB"}
@@ -1,6 +1,7 @@
1
1
  import type { CominsRowId } from "./core";
2
2
  export declare const COMINS_MAX_PHYSICAL_TOTAL_HEIGHT = 1500000;
3
3
  export type CominsDataVirtualSlot<TData> = {
4
+ absoluteIndex?: number;
4
5
  dataIndex: number;
5
6
  detail?: {
6
7
  estimated: boolean;
@@ -9,6 +10,8 @@ export type CominsDataVirtualSlot<TData> = {
9
10
  };
10
11
  key: string;
11
12
  kind: "data";
13
+ rowHeight?: number;
14
+ autoHeight?: boolean;
12
15
  row: TData;
13
16
  rowId: CominsRowId;
14
17
  visibleIndex: number;
@@ -19,7 +22,13 @@ export type CominsGroupVirtualSlot = {
19
22
  key: string;
20
23
  kind: "group";
21
24
  };
22
- export type CominsVirtualSlot<TData> = CominsDataVirtualSlot<TData> | CominsGroupVirtualSlot;
25
+ export type CominsPlaceholderVirtualSlot = {
26
+ kind: "placeholder";
27
+ key: string;
28
+ absoluteIndex: number;
29
+ height: number;
30
+ };
31
+ export type CominsVirtualSlot<TData> = CominsDataVirtualSlot<TData> | CominsPlaceholderVirtualSlot | CominsGroupVirtualSlot;
23
32
  export type CominsVirtualRange = {
24
33
  endIndex: number;
25
34
  logicalScrollTop: number;
@@ -40,6 +49,7 @@ export declare function createCominsDataVirtualSlot<TData>(input: {
40
49
  detail: CominsDataVirtualSlot<TData>["detail"] | null;
41
50
  row: TData;
42
51
  rowHeight: number;
52
+ autoHeight?: boolean;
43
53
  rowId: CominsRowId;
44
54
  visibleIndex: number;
45
55
  }): CominsDataVirtualSlot<TData>;
@@ -75,7 +85,7 @@ export declare function getCominsScrollScale(logicalTotalHeight: number, viewpor
75
85
  scrollScale: number;
76
86
  };
77
87
  export declare function getCominsMixedVirtualRange(input: {
78
- heightIndex: CominsHeightIndex;
88
+ heightIndex: Pick<CominsHeightIndex, "getTotalHeight" | "getPrefixHeight" | "findIndexAtOffset">;
79
89
  overscan: number;
80
90
  physicalScrollTop: number;
81
91
  viewportHeight: number;
@@ -1 +1 @@
1
- {"version":3,"file":"virtual-layout.d.ts","sourceRoot":"","sources":["../src/virtual-layout.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"virtual-layout.d.ts","sourceRoot":"","sources":["../src/virtual-layout.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,20 @@
1
1
  {
2
2
  "name": "comins-table",
3
- "version": "0.1.9",
3
+ "version": "0.1.11",
4
+ "keywords": [
5
+ "react",
6
+ "typescript",
7
+ "data-table",
8
+ "data-grid",
9
+ "react-table",
10
+ "virtualization",
11
+ "tree-grid",
12
+ "row-grouping",
13
+ "column-pinning",
14
+ "editable-table",
15
+ "clipboard",
16
+ "viewport-datasource"
17
+ ],
4
18
  "license": "MIT",
5
19
  "type": "module",
6
20
  "repository": {