comins-table 0.1.11 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +17 -1
- package/README.md +9 -7
- package/dist/browser/clipboard.d.ts +4 -0
- package/dist/browser/clipboard.d.ts.map +1 -0
- package/dist/browser/measurements.d.ts +28 -0
- package/dist/browser/measurements.d.ts.map +1 -0
- package/dist/browser/pointer.d.ts +25 -0
- package/dist/browser/pointer.d.ts.map +1 -0
- package/dist/browser/scroll.d.ts +9 -0
- package/dist/browser/scroll.d.ts.map +1 -0
- package/dist/browser/table-transfer.d.ts +38 -0
- package/dist/browser/table-transfer.d.ts.map +1 -0
- package/dist/browser/viewport-requests.d.ts +27 -0
- package/dist/browser/viewport-requests.d.ts.map +1 -0
- package/dist/cell-fill.d.ts +1 -1
- package/dist/cell-fill.d.ts.map +1 -1
- package/dist/clipboard-CNrbmDue.js +959 -0
- package/dist/clipboard-CNrbmDue.js.map +1 -0
- package/dist/clipboard.d.ts +2 -2
- package/dist/clipboard.d.ts.map +1 -1
- package/dist/clipboard.js +3 -2
- package/dist/column-layout.d.ts +24 -0
- package/dist/column-layout.d.ts.map +1 -0
- package/dist/component-renderer.d.ts +1 -1
- package/dist/component-renderer.d.ts.map +1 -1
- package/dist/core/editing/cells.d.ts +9 -0
- package/dist/core/editing/cells.d.ts.map +1 -0
- package/dist/core/editing/clipboard.d.ts +8 -0
- package/dist/core/editing/clipboard.d.ts.map +1 -0
- package/dist/core/editing/export.d.ts +4 -0
- package/dist/core/editing/export.d.ts.map +1 -0
- package/dist/core/layout/columns.d.ts +69 -0
- package/dist/core/layout/columns.d.ts.map +1 -0
- package/dist/core/layout/row-height.d.ts +25 -0
- package/dist/core/layout/row-height.d.ts.map +1 -0
- package/dist/core/layout/viewport.d.ts +21 -0
- package/dist/core/layout/viewport.d.ts.map +1 -0
- package/dist/core/layout/virtual.d.ts +119 -0
- package/dist/core/layout/virtual.d.ts.map +1 -0
- package/dist/core/model.d.ts +128 -0
- package/dist/core/model.d.ts.map +1 -0
- package/dist/core/rows/filtering.d.ts +45 -0
- package/dist/core/rows/filtering.d.ts.map +1 -0
- package/dist/core/rows/grouping.d.ts +97 -0
- package/dist/core/rows/grouping.d.ts.map +1 -0
- package/dist/core/rows/projection.d.ts +73 -0
- package/dist/core/rows/projection.d.ts.map +1 -0
- package/dist/core/rows/summary.d.ts +3 -0
- package/dist/core/rows/summary.d.ts.map +1 -0
- package/dist/core/selection/navigation.d.ts +49 -0
- package/dist/core/selection/navigation.d.ts.map +1 -0
- package/dist/core/selection/state.d.ts +131 -0
- package/dist/core/selection/state.d.ts.map +1 -0
- package/dist/core/state/access.d.ts +11 -0
- package/dist/core/state/access.d.ts.map +1 -0
- package/dist/core/state/changes.d.ts +14 -0
- package/dist/core/state/changes.d.ts.map +1 -0
- package/dist/core/state/reconcile.d.ts +18 -0
- package/dist/core/state/reconcile.d.ts.map +1 -0
- package/dist/core/state/table.d.ts +77 -0
- package/dist/core/state/table.d.ts.map +1 -0
- package/dist/core/transfer/policy.d.ts +116 -0
- package/dist/core/transfer/policy.d.ts.map +1 -0
- package/dist/core/viewport/data.d.ts +70 -0
- package/dist/core/viewport/data.d.ts.map +1 -0
- package/dist/core/viewport/requests.d.ts +19 -0
- package/dist/core/viewport/requests.d.ts.map +1 -0
- package/dist/core-compat-B4I2OHGY.js +391 -0
- package/dist/core-compat-B4I2OHGY.js.map +1 -0
- package/dist/core.d.ts +9 -714
- package/dist/core.d.ts.map +1 -1
- package/dist/core.js +3 -2
- package/dist/export-Cfk5Jz4a.js +37 -0
- package/dist/export-Cfk5Jz4a.js.map +1 -0
- package/dist/filtering.d.ts +8 -9
- package/dist/filtering.d.ts.map +1 -1
- package/dist/grouping.d.ts +11 -21
- package/dist/grouping.d.ts.map +1 -1
- package/dist/index.d.ts +11 -8
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3202 -2694
- package/dist/index.js.map +1 -1
- package/dist/model.d.ts +140 -0
- package/dist/model.d.ts.map +1 -0
- package/dist/react/core-compat.d.ts +141 -0
- package/dist/react/core-compat.d.ts.map +1 -0
- package/dist/react/edit-policy.d.ts +9 -0
- package/dist/react/edit-policy.d.ts.map +1 -0
- package/dist/react/model.d.ts +14 -0
- package/dist/react/model.d.ts.map +1 -0
- package/dist/react/rows.d.ts +6 -0
- package/dist/react/rows.d.ts.map +1 -0
- package/dist/react/state.d.ts +43 -0
- package/dist/react/state.d.ts.map +1 -0
- package/dist/react/table-transfer.d.ts +55 -0
- package/dist/react/table-transfer.d.ts.map +1 -0
- package/dist/react/viewport.d.ts +10 -0
- package/dist/react/viewport.d.ts.map +1 -0
- package/dist/react-types.d.ts +292 -0
- package/dist/react-types.d.ts.map +1 -0
- package/dist/row-detail.d.ts +2 -0
- package/dist/row-detail.d.ts.map +1 -1
- package/dist/row-height.d.ts +1 -24
- package/dist/row-height.d.ts.map +1 -1
- package/dist/row-value.d.ts +2 -0
- package/dist/row-value.d.ts.map +1 -0
- package/dist/selection-data.d.ts +2 -1
- package/dist/selection-data.d.ts.map +1 -1
- package/dist/selection.d.ts +2 -2
- package/dist/selection.d.ts.map +1 -1
- package/dist/selection.js +2 -2
- package/dist/summary.d.ts +1 -1
- package/dist/summary.d.ts.map +1 -1
- package/dist/table-state.d.ts +24 -0
- package/dist/table-state.d.ts.map +1 -0
- package/dist/table-transfer.d.ts +1 -152
- package/dist/table-transfer.d.ts.map +1 -1
- package/dist/tree-drag.d.ts.map +1 -1
- package/dist/tree.d.ts +1 -1
- package/dist/tree.d.ts.map +1 -1
- package/dist/use-viewport.d.ts.map +1 -1
- package/dist/viewport-data.d.ts +8 -71
- package/dist/viewport-data.d.ts.map +1 -1
- package/dist/viewport-layout.d.ts +1 -20
- package/dist/viewport-layout.d.ts.map +1 -1
- package/dist/viewport-requests.d.ts +1 -8
- package/dist/viewport-requests.d.ts.map +1 -1
- package/dist/virtual-layout.d.ts +1 -118
- package/dist/virtual-layout.d.ts.map +1 -1
- package/package.json +5 -2
- package/dist/core-C1tlvY8Q.js +0 -963
- package/dist/core-C1tlvY8Q.js.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,6 +1,22 @@
|
|
|
1
1
|
# Comins Table
|
|
2
2
|
|
|
3
|
-
## 0.
|
|
3
|
+
## 0.2.0 - 2026-10-02
|
|
4
|
+
|
|
5
|
+
### Changed
|
|
6
|
+
|
|
7
|
+
- **Migration:** `comins-table/core` now exports neutral state, Column/Group and payload contracts. Labels are strings, cell data guards live directly on `cell`, and React renderer/theme/DOM contracts are excluded. Move React state helpers and React-only types previously imported from `/core` to `comins-table`.
|
|
8
|
+
- The root, `/clipboard`, and `/selection` preserve their existing React-state APIs, JSX labels, props guards, callbacks and theme behavior. Use `/core` helpers with neutral state. Package exports and React peer dependencies are unchanged; this is not an SSR or Vue support declaration.
|
|
9
|
+
- Local verification now checks a freshly built and packed Core artifact with no React installation and ES2022-only declarations, plus source and runtime dependency graphs.
|
|
10
|
+
- Release verification checks the exact publication artifact with the neutral Core consumer and React 18/19 consumers, including strict types, helper execution, client mounting, and browser JS/CSS builds.
|
|
11
|
+
|
|
12
|
+
### Fixed
|
|
13
|
+
|
|
14
|
+
- Pending Row Detail focus retries are cancelled when their owning Table unmounts, while disclosure-collapse focus restoration is preserved.
|
|
15
|
+
- Fill gestures explicitly release pointer capture on cancellation and cleanup, and stopped pointer animation loops cannot schedule another frame during cleanup.
|
|
16
|
+
- Repeated cleanup of an old cross-table transfer registration no longer removes a replacement registered under the same scope and Table ID.
|
|
17
|
+
- Playground TSV inputs display multiline samples with full-width styling. Pinned-column boundary and cross-table duplicate-ID policy explanations now describe the existing behavior explicitly.
|
|
18
|
+
|
|
19
|
+
## 0.1.11 - 2026-09-22
|
|
4
20
|
|
|
5
21
|
### Added
|
|
6
22
|
|
package/README.md
CHANGED
|
@@ -23,13 +23,13 @@ Comins Table is a controlled React data table for data-heavy application screens
|
|
|
23
23
|
|
|
24
24
|
Comins Table is standalone and does not wrap another table or grid implementation.
|
|
25
25
|
|
|
26
|
-
### Version 0.
|
|
26
|
+
### Version 0.2.0
|
|
27
27
|
|
|
28
|
-
The source
|
|
28
|
+
The source targets 0.2.0. The animations were recorded with 0.1.11. See the [changelog](https://github.com/kim1124/comins-table/blob/main/CHANGELOG.md) for release status.
|
|
29
29
|
|
|
30
30
|
**0.1.11 migration:** Row Drag is opt-in with `rowProps={{ draggable: true }}`. `onChangeData` is optional for local Row movement; connect it to synchronize application state. New `data` arrays remain authoritative.
|
|
31
31
|
|
|
32
|
-
|
|
32
|
+
**0.2.0 migration:** `/core` now exposes framework-neutral contracts. Move React state helpers and React-only types from `/core` to `comins-table`; see the [migration guide](https://github.com/kim1124/comins-table/blob/main/docs/user/26-migration-0.2.0.md). Existing opt-in TSV paste, Fill Handle, Tree Row drag, automatic heights, and Viewport Datasource remain available.
|
|
33
33
|
|
|
34
34
|
For migration, keep these data-ownership boundaries explicit:
|
|
35
35
|
|
|
@@ -169,12 +169,14 @@ Set `multiSort` to opt into ordered multi-column sorting. Normal Header click or
|
|
|
169
169
|
|
|
170
170
|
## Package Entry Points
|
|
171
171
|
|
|
172
|
+
**0.2.0:** `/core` uses neutral state and string labels. Existing React state helpers and JSX/renderer/theme types belong to the root; `/clipboard` and `/selection` retain React-state contracts. Published 0.1.x behavior is not changed by this guide. See the [English migration guide](https://github.com/kim1124/comins-table/blob/main/docs/user/26-migration-0.2.0.md) or [한국어 마이그레이션](https://github.com/kim1124/comins-table/blob/main/docs/ko/26-migration-0.2.0.md). React peers and the client-only Table boundary remain unchanged; Vue support is not included.
|
|
173
|
+
|
|
172
174
|
| Import | Purpose |
|
|
173
175
|
| --- | --- |
|
|
174
176
|
| `comins-table` | React component, public types, and root helper exports |
|
|
175
|
-
| `comins-table/core` |
|
|
176
|
-
| `comins-table/clipboard` |
|
|
177
|
-
| `comins-table/selection` |
|
|
177
|
+
| `comins-table/core` | Neutral state, row, column, pagination, sorting, layout, selection, clipboard, export, and virtualization helpers |
|
|
178
|
+
| `comins-table/clipboard` | React-state clipboard helper subset |
|
|
179
|
+
| `comins-table/selection` | React-state selection helper subset |
|
|
178
180
|
| `comins-table/styles.css` | Optional table shell, theme, and built-in component skin |
|
|
179
181
|
|
|
180
182
|
## Header And Layout
|
|
@@ -183,7 +185,7 @@ Sortable headers support pointer and keyboard activation and expose `aria-sort`.
|
|
|
183
185
|
|
|
184
186
|
A left-button mouse interaction activates column movement after a 6-pixel horizontal drag, provided horizontal movement remains greater than vertical movement. The source becomes a source placeholder while a ghost and target marker show the proposed move. Pointer Up commits only over a valid target; vertical intent, pointer cancellation, `Escape`, and window blur cancel the pending move. Non-mouse pointers retain one-second long-press compatibility. Parent header groups move their children as one block.
|
|
185
187
|
|
|
186
|
-
Use `getColumnLayout()` and `setColumnLayout()` through the Ref API, or `serializeCominsColumnLayout()` and `applyCominsColumnLayout()`
|
|
188
|
+
Use `getColumnLayout()` and `setColumnLayout()` through the Ref API, or `serializeCominsColumnLayout()` and `applyCominsColumnLayout()` to persist and restore order, widths, and visibility. Import helpers from the root for React state or from `comins-table/core` for neutral state.
|
|
187
189
|
|
|
188
190
|
### Column Pinning
|
|
189
191
|
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export declare function writeCominsClipboardText(text: string): Promise<void>;
|
|
2
|
+
export declare function readCominsClipboardEvent(data: Pick<DataTransfer, "types" | "getData">): string | null;
|
|
3
|
+
export declare function writeCominsClipboardEvent(data: Pick<DataTransfer, "setData">, text: string): void;
|
|
4
|
+
//# sourceMappingURL=clipboard.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"clipboard.d.ts","sourceRoot":"","sources":["../../src/browser/clipboard.ts"],"names":[],"mappings":"AAAA,wBAAsB,wBAAwB,CAAC,IAAI,EAAE,MAAM,iBAG1D;AAED,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,IAAI,CAAC,YAAY,EAAE,OAAO,GAAG,SAAS,CAAC,iBAErF;AAED,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,IAAI,CAAC,YAAY,EAAE,SAAS,CAAC,EAAE,IAAI,EAAE,MAAM,QAE1F"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
export type CominsElementMeasurement = {
|
|
2
|
+
element: Element;
|
|
3
|
+
height: number;
|
|
4
|
+
rectHeight: number;
|
|
5
|
+
width: number;
|
|
6
|
+
};
|
|
7
|
+
export declare function measureCominsElement(element: Element, entry?: ResizeObserverEntry): CominsElementMeasurement;
|
|
8
|
+
/** Owns DOM targets only; adapters map measurements to rows and flush a batch once. */
|
|
9
|
+
export declare function createMeasurementObserver(options: {
|
|
10
|
+
onMeasure: (measurement: CominsElementMeasurement) => void;
|
|
11
|
+
onBatchComplete?: () => void;
|
|
12
|
+
}): {
|
|
13
|
+
observe(element: Element): void;
|
|
14
|
+
unobserve(element: Element): void;
|
|
15
|
+
dispose(): void;
|
|
16
|
+
};
|
|
17
|
+
export declare function hasCominsResizeObserver(): boolean;
|
|
18
|
+
export declare function observeCominsViewport(element: HTMLElement, onMeasure: (value: {
|
|
19
|
+
height: number;
|
|
20
|
+
width: number;
|
|
21
|
+
scrollWidth: number;
|
|
22
|
+
outerWidth: number;
|
|
23
|
+
viewportWidth: number;
|
|
24
|
+
}) => void): () => void;
|
|
25
|
+
export declare function observeCominsFontChanges(onChange: () => void): () => void;
|
|
26
|
+
export declare function getCominsElementRect(element: Element): DOMRect;
|
|
27
|
+
export declare function getCominsElementRect(element: Element | null | undefined): DOMRect | undefined;
|
|
28
|
+
//# sourceMappingURL=measurements.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"measurements.d.ts","sourceRoot":"","sources":["../../src/browser/measurements.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,wBAAwB,GAAG;IACrC,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,mBAAmB,GAAG,wBAAwB,CAI5G;AAED,uFAAuF;AACvF,wBAAgB,yBAAyB,CAAC,OAAO,EAAE;IACjD,SAAS,EAAE,CAAC,WAAW,EAAE,wBAAwB,KAAK,IAAI,CAAC;IAC3D,eAAe,CAAC,EAAE,MAAM,IAAI,CAAC;CAC9B;IAUG,OAAO,UAAU,OAAO;IAoBxB,SAAS,UAAU,OAAO;IAK1B,OAAO;EAOV;AAED,wBAAgB,uBAAuB,YAAoD;AAE3F,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC,KAAK,EAAE;IAC7E,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAC;CAC/F,KAAK,IAAI,cAOT;AAED,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,MAAM,IAAI,cAI5D;AAED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC;AAChE,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
export declare function captureCominsPointer(element: Pick<Element, "setPointerCapture" | "releasePointerCapture">, pointerId: number): () => void;
|
|
2
|
+
export declare function registerCominsPointerListeners(input: {
|
|
3
|
+
move: (event: PointerEvent) => void;
|
|
4
|
+
up: (event: PointerEvent) => void;
|
|
5
|
+
cancel: (event: PointerEvent) => void;
|
|
6
|
+
blur: () => void;
|
|
7
|
+
key: (event: KeyboardEvent) => void;
|
|
8
|
+
keyCapture?: boolean;
|
|
9
|
+
}): () => void;
|
|
10
|
+
export declare function startCominsPointerFrames(onFrame: FrameRequestCallback, host?: Pick<Window, "requestAnimationFrame" | "cancelAnimationFrame">): () => void;
|
|
11
|
+
export declare function focusCominsPointerTarget(element: HTMLElement | null): void;
|
|
12
|
+
export declare function applyCominsDragScroll(viewport: HTMLElement, input: {
|
|
13
|
+
top: number;
|
|
14
|
+
bottom: number;
|
|
15
|
+
clientY: number;
|
|
16
|
+
deltaMs: number;
|
|
17
|
+
onlyIfChanged?: boolean;
|
|
18
|
+
enabled?: boolean;
|
|
19
|
+
}): void;
|
|
20
|
+
export declare function isCominsNativeEditor(target: EventTarget | null): boolean;
|
|
21
|
+
export declare const createCrossTableAutoScroll: (resolveTarget: (clientX: number, clientY: number) => void) => {
|
|
22
|
+
stop: () => void;
|
|
23
|
+
update: (nextViewport: HTMLElement | null, nextClientX: number, nextClientY: number, valid: boolean) => void;
|
|
24
|
+
};
|
|
25
|
+
//# sourceMappingURL=pointer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pointer.d.ts","sourceRoot":"","sources":["../../src/browser/pointer.ts"],"names":[],"mappings":"AAEA,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,mBAAmB,GAAG,uBAAuB,CAAC,EAAE,SAAS,EAAE,MAAM,cAQ5H;AACD,wBAAgB,8BAA8B,CAAC,KAAK,EAAE;IACpD,IAAI,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,CAAC;IAAC,EAAE,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,CAAC;IAAC,MAAM,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,CAAC;IAC9G,IAAI,EAAE,MAAM,IAAI,CAAC;IAAC,GAAG,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;IAAC,UAAU,CAAC,EAAE,OAAO,CAAC;CAC7E,cAQA;AACD,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,oBAAoB,EAAE,IAAI,GAAE,IAAI,CAAC,MAAM,EAAE,uBAAuB,GAAG,sBAAsB,CAAU,cASpJ;AACD,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI,QAEnE;AACD,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,WAAW,EAAE,KAAK,EAAE;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,aAAa,CAAC,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,QAGhL;AACD,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,WAE9D;AAED,eAAO,MAAM,0BAA0B,kBACpB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI;;2BAsDzC,WAAW,GAAG,IAAI,eACnB,MAAM,eACN,MAAM,SACZ,OAAO;CAqCjB,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export declare function setCominsScrollTop(element: HTMLElement, top: number): void;
|
|
2
|
+
export declare function setCominsScrollLeft(element: HTMLElement, left: number): void;
|
|
3
|
+
export declare function scrollCominsRowIntoView(viewport: HTMLElement, index: number): void;
|
|
4
|
+
export declare function focusCominsElement(element: HTMLElement | null | undefined, options?: FocusOptions): void;
|
|
5
|
+
export declare function createCominsDetailFocusRestorer(): {
|
|
6
|
+
restore(element: HTMLElement | null, getToggle: () => HTMLButtonElement | null): void;
|
|
7
|
+
dispose(): void;
|
|
8
|
+
};
|
|
9
|
+
//# sourceMappingURL=scroll.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scroll.d.ts","sourceRoot":"","sources":["../../src/browser/scroll.ts"],"names":[],"mappings":"AAAA,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,QAEnE;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,QAErE;AAED,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,QAE3E;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI,GAAG,SAAS,EAAE,OAAO,CAAC,EAAE,YAAY,QAEjG;AAED,wBAAgB,+BAA+B;IAG3C,OAAO,UAAU,WAAW,GAAG,IAAI,aAAa,MAAM,iBAAiB,GAAG,IAAI;IAW9E,OAAO;EAKV"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/** The registry only observes identity and DOM fields; adapter metadata stays opaque. */
|
|
2
|
+
export type BrowserTransferSnapshot = {
|
|
3
|
+
config: {
|
|
4
|
+
coordinator: object;
|
|
5
|
+
scope: string;
|
|
6
|
+
tableId: string;
|
|
7
|
+
};
|
|
8
|
+
endpoint: {
|
|
9
|
+
tableId: string;
|
|
10
|
+
};
|
|
11
|
+
instanceId: string;
|
|
12
|
+
root: HTMLElement | null;
|
|
13
|
+
viewport: HTMLElement | null;
|
|
14
|
+
};
|
|
15
|
+
type Registration<TSnapshot> = {
|
|
16
|
+
getSnapshot: () => TSnapshot | null;
|
|
17
|
+
};
|
|
18
|
+
export declare function createTableTransferRegistry<TSnapshot extends BrowserTransferSnapshot>(): {
|
|
19
|
+
register(scope: string, tableId: string, registration: Registration<TSnapshot>): () => void;
|
|
20
|
+
get(scope: string, tableId: string): Registration<TSnapshot> | null;
|
|
21
|
+
};
|
|
22
|
+
export declare function getRegisteredTransferSnapshot<TSnapshot extends BrowserTransferSnapshot>(registry: ReturnType<typeof createTableTransferRegistry<TSnapshot>>, coordinator: object, scope: string, tableId: string): TSnapshot | null;
|
|
23
|
+
export declare function getCrossTableTransferHit<TSnapshot extends BrowserTransferSnapshot>(input: {
|
|
24
|
+
sourceTableId: string;
|
|
25
|
+
scope: string;
|
|
26
|
+
instanceId: string;
|
|
27
|
+
root: HTMLElement | null;
|
|
28
|
+
clientX: number;
|
|
29
|
+
clientY: number;
|
|
30
|
+
document: Pick<Document, "elementFromPoint">;
|
|
31
|
+
getSnapshot: (tableId: string) => TSnapshot | null;
|
|
32
|
+
}): {
|
|
33
|
+
element: HTMLElement;
|
|
34
|
+
root: HTMLElement;
|
|
35
|
+
snapshot: TSnapshot;
|
|
36
|
+
} | null;
|
|
37
|
+
export {};
|
|
38
|
+
//# sourceMappingURL=table-transfer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"table-transfer.d.ts","sourceRoot":"","sources":["../../src/browser/table-transfer.ts"],"names":[],"mappings":"AAAA,yFAAyF;AACzF,MAAM,MAAM,uBAAuB,GAAG;IACpC,MAAM,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAChE,QAAQ,EAAE;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,WAAW,GAAG,IAAI,CAAC;IACzB,QAAQ,EAAE,WAAW,GAAG,IAAI,CAAC;CAC9B,CAAC;AACF,KAAK,YAAY,CAAC,SAAS,IAAI;IAAE,WAAW,EAAE,MAAM,SAAS,GAAG,IAAI,CAAA;CAAE,CAAC;AAEvE,wBAAgB,2BAA2B,CAAC,SAAS,SAAS,uBAAuB;IAGjF,QAAQ,QAAQ,MAAM,WAAW,MAAM,gBAAgB,YAAY,CAAC,SAAS,CAAC;IAe9E,GAAG,QAAQ,MAAM,WAAW,MAAM;EAKrC;AAED,wBAAgB,6BAA6B,CAAC,SAAS,SAAS,uBAAuB,EACrF,QAAQ,EAAE,UAAU,CAAC,OAAO,2BAA2B,CAAC,SAAS,CAAC,CAAC,EACnE,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,oBAKpD;AAED,wBAAgB,wBAAwB,CAAC,SAAS,SAAS,uBAAuB,EAAE,KAAK,EAAE;IACzF,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,WAAW,GAAG,IAAI,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAC;IAC7C,WAAW,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,SAAS,GAAG,IAAI,CAAC;CACpD;;;;SASA"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type { CoreViewportRequest, CominsViewportDataEvent } from "../core/viewport/data";
|
|
2
|
+
export type CominsViewportRequest = CoreViewportRequest & {
|
|
3
|
+
signal: AbortSignal;
|
|
4
|
+
};
|
|
5
|
+
type WithSignal<TEvent> = TEvent extends {
|
|
6
|
+
request: CoreViewportRequest;
|
|
7
|
+
} ? Omit<TEvent, "request"> & {
|
|
8
|
+
request: CominsViewportRequest;
|
|
9
|
+
} : TEvent;
|
|
10
|
+
export type BrowserViewportDataEvent<T> = WithSignal<CominsViewportDataEvent<T>>;
|
|
11
|
+
export declare function createViewportRequestExecutor(options: {
|
|
12
|
+
onRequest: (request: CominsViewportRequest) => void | Promise<void>;
|
|
13
|
+
onSettled: (requestId: string) => void;
|
|
14
|
+
}): {
|
|
15
|
+
start(descriptor: CoreViewportRequest): void;
|
|
16
|
+
cancel: (requestId: string) => void;
|
|
17
|
+
release(requestId: string): void;
|
|
18
|
+
dispose(): void;
|
|
19
|
+
};
|
|
20
|
+
/** The consumer owns data; this boundary owns only execution and listener lifetime. */
|
|
21
|
+
export declare function runViewportRequest<T>(input: {
|
|
22
|
+
request: CominsViewportRequest;
|
|
23
|
+
getRows: (request: CominsViewportRequest) => readonly T[] | Promise<readonly T[]>;
|
|
24
|
+
dispatch: (event: BrowserViewportDataEvent<T>) => void;
|
|
25
|
+
}): Promise<void>;
|
|
26
|
+
export {};
|
|
27
|
+
//# sourceMappingURL=viewport-requests.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"viewport-requests.d.ts","sourceRoot":"","sources":["../../src/browser/viewport-requests.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAE1F,MAAM,MAAM,qBAAqB,GAAG,mBAAmB,GAAG;IAAE,MAAM,EAAE,WAAW,CAAA;CAAE,CAAC;AAClF,KAAK,UAAU,CAAC,MAAM,IAAI,MAAM,SAAS;IAAE,OAAO,EAAE,mBAAmB,CAAA;CAAE,GAAG,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG;IAAE,OAAO,EAAE,qBAAqB,CAAA;CAAE,GAAG,MAAM,CAAC;AAClJ,MAAM,MAAM,wBAAwB,CAAC,CAAC,IAAI,UAAU,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,CAAC;AAEjF,wBAAgB,6BAA6B,CAAC,OAAO,EAAE;IACrD,SAAS,EAAE,CAAC,OAAO,EAAE,qBAAqB,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACpE,SAAS,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;CACxC;sBAUqB,mBAAmB;wBAPZ,MAAM;uBAuBZ,MAAM;;EAS5B;AAED,uFAAuF;AACvF,wBAAsB,kBAAkB,CAAC,CAAC,EAAE,KAAK,EAAE;IACjD,OAAO,EAAE,qBAAqB,CAAC;IAC/B,OAAO,EAAE,CAAC,OAAO,EAAE,qBAAqB,KAAK,SAAS,CAAC,EAAE,GAAG,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IAClF,QAAQ,EAAE,CAAC,KAAK,EAAE,wBAAwB,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;CACxD,GAAG,OAAO,CAAC,IAAI,CAAC,CAchB"}
|
package/dist/cell-fill.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type RefObject } from "react";
|
|
2
|
-
import type { CominsCellAddress, CominsCellRange, CominsRowId, CominsTableState } from "./core";
|
|
2
|
+
import type { CominsCellAddress, CominsCellRange, CominsRowId, CominsTableState } from "./react/core-compat";
|
|
3
3
|
/** Private gesture controller. All writes go through the owning Table's batch callback. */
|
|
4
4
|
export declare function useCominsCellFill<TData>(options: {
|
|
5
5
|
enabled: boolean;
|
package/dist/cell-fill.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cell-fill.d.ts","sourceRoot":"","sources":["../src/cell-fill.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAgF,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AACrH,OAAO,KAAK,EAAE,iBAAiB,EAAE,eAAe,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"cell-fill.d.ts","sourceRoot":"","sources":["../src/cell-fill.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAgF,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AACrH,OAAO,KAAK,EAAE,iBAAiB,EAAE,eAAe,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAI7G,2FAA2F;AAC3F,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,EAAE;IAChD,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,gBAAgB,CAAC,KAAK,CAAC,CAAC;IAC/B,MAAM,EAAE,SAAS,WAAW,EAAE,CAAC;IAC/B,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;IAC7B,IAAI,EAAE,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;IACvC,QAAQ,EAAE,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;IAC3C,cAAc,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,iBAAiB,GAAG,IAAI,CAAC;IACnE,WAAW,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,OAAO,CAAC;IACjD,MAAM,EAAE,CAAC,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,eAAe,KAAK,OAAO,CAAC;IACtE,eAAe,EAAE,CAAC,OAAO,EAAE,MAAM,IAAI,KAAK,IAAI,CAAC;IAC/C,cAAc,EAAE,CAAC,OAAO,EAAE,MAAM,IAAI,KAAK,IAAI,CAAC;IAC9C,gBAAgB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CAC3C;+BAyBmC,MAAM,GAAG,OAAO;;yBA2E3B,iBAAiB;;;;EAqBzC"}
|