comins-table 0.2.2 → 0.2.3
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 +55 -0
- package/README.md +2 -0
- package/dist/browser/measurements.d.ts.map +1 -1
- package/dist/browser/viewport-requests.d.ts.map +1 -1
- package/dist/cell-fill.d.ts +7 -0
- package/dist/cell-fill.d.ts.map +1 -1
- package/dist/{clipboard-B_gA5e12.js → clipboard-DZmm2iRM.js} +171 -145
- package/dist/clipboard-DZmm2iRM.js.map +1 -0
- package/dist/clipboard.js +2 -2
- package/dist/column-filter.d.ts.map +1 -1
- package/dist/column-pinning.d.ts.map +1 -1
- package/dist/component-renderer.d.ts.map +1 -1
- package/dist/core/layout/columns.d.ts.map +1 -1
- package/dist/core/layout/virtual.d.ts.map +1 -1
- package/dist/core/viewport/data.d.ts.map +1 -1
- package/dist/{core-compat-BO-JJudO.js → core-compat-CQ_YgTHr.js} +5 -2
- package/dist/core-compat-CQ_YgTHr.js.map +1 -0
- package/dist/core.js +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2238 -2093
- package/dist/index.js.map +1 -1
- package/dist/react/core-compat.d.ts.map +1 -1
- package/dist/react/state.d.ts.map +1 -1
- package/dist/react/value-filter.d.ts.map +1 -1
- package/dist/selection.js +1 -1
- package/dist/tree-drag.d.ts.map +1 -1
- package/package.json +4 -2
- package/styles.css +13 -0
- package/dist/clipboard-B_gA5e12.js.map +0 -1
- package/dist/core-compat-BO-JJudO.js.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,60 @@
|
|
|
1
1
|
# Comins Table
|
|
2
2
|
|
|
3
|
+
## Unreleased
|
|
4
|
+
|
|
5
|
+
## 0.2.3 - 2026-11-04
|
|
6
|
+
|
|
7
|
+
### Fixed
|
|
8
|
+
|
|
9
|
+
- Release cancelled Viewport request callbacks without waiting for a consumer Promise that ignores AbortSignal, while continuing to ignore late results.
|
|
10
|
+
|
|
11
|
+
- Keep production Playground XLSX compression inside its existing Worker to avoid nested Worker teardown retention, while preserving workbook contents and the main-thread export path.
|
|
12
|
+
|
|
13
|
+
- Preserve default grouped column order without running requested-order lock and segment reconciliation when no order is supplied, while keeping explicit reorder behavior unchanged.
|
|
14
|
+
|
|
15
|
+
- Reuse the normalized column ID projection within each column-order calculation, avoiding two temporary arrays while preserving pinned, locked, and grouped ordering.
|
|
16
|
+
|
|
17
|
+
- Reapply the Viewport height-cache budget after ResizeObserver measurement batches, retaining the current required blocks without waiting for another scroll or data request.
|
|
18
|
+
|
|
19
|
+
- Avoid rebuilding the Playground value-filter toolbar when only filter model or popup state changes, while preserving locale updates and controlled inputs.
|
|
20
|
+
|
|
21
|
+
- Limit row-detail disclosure refs to their DOM registry and row ID so a retired native event Fiber does not retain row data and application callbacks.
|
|
22
|
+
|
|
23
|
+
- Limit grouped-row disclosure refs to their DOM registry and group ID so a retired event Fiber does not retain grouping callbacks and table rows.
|
|
24
|
+
|
|
25
|
+
- Keep native value-filter checkbox ref installers limited to the indeterminate flag so the last event Fiber cannot retain retired table rows through filter callbacks.
|
|
26
|
+
|
|
27
|
+
- Preserve newer horizontal scroll requests and native keyboard scrolling by ignoring synchronization echoes, and align newly mounted headers and summaries with the current body position.
|
|
28
|
+
|
|
29
|
+
- Release focused search inputs in the Playground-owned custom value-filter panels before sidebar navigation, while preserving the library custom-panel getter contract.
|
|
30
|
+
|
|
31
|
+
- Limit value-filter search ref callbacks to their ref object so a retired input does not retain its table through filter render closures.
|
|
32
|
+
|
|
33
|
+
- Release focused built-in filter inputs and their popups before Playground sidebar route unmounts, while preserving custom input blur contracts and cancelled or modified navigation.
|
|
34
|
+
|
|
35
|
+
- Prevent stale Viewport row-height anchors from overriding a newer scroll before its scroll event is delivered.
|
|
36
|
+
|
|
37
|
+
- Preserve a newer scroll request when an earlier automatic-height anchor correction commits before its scroll event, while retaining normal browser bottom clamping.
|
|
38
|
+
|
|
39
|
+
- Pin development and Playground React tooling to 19.3.0 to use upstream Performance Tracks cleanup and avoid large-props diagnostic failures; keep the published React peer support range unchanged.
|
|
40
|
+
|
|
41
|
+
- Release focused built-in Virtual List search subtrees before Playground sidebar route changes, while preserving cancelled, modified, same-route, and application-owned input blur behavior.
|
|
42
|
+
- Reapply the Viewport cache budget when cancelled requests or superseded responses stop protecting old blocks, while preserving visible blocks, active requests, and newer retained edits.
|
|
43
|
+
- Use the latest committed Header Menu callbacks and payload for outside/Escape dismissal, and keep native listeners and cleanup closures from retaining replaced menu configuration while open.
|
|
44
|
+
- Blur focused filter inputs before outside-pointer dismissal removes their popup, releasing React selection tracking without stealing the clicked destination focus.
|
|
45
|
+
- Preserve reconciled React table inputs when controlled columns and imperative layout restoration update in one commit, avoiding stale state overwrites that can leave restored columns missing.
|
|
46
|
+
- Keep Playground column-selector Portal listeners on a popover-owned body child and remove that host on close or unmount, avoiding persistent body delegation after use.
|
|
47
|
+
- Keep scroll-anchor fallback linear when every row key changes, avoiding synchronous renderer stalls during large data replacement while preserving predecessor and duplicate-key selection.
|
|
48
|
+
- Avoid coercing hidden raw cell values to strings when a custom renderer or visible built-in component supplies the content, while preserving explicit formatter callbacks and input/select fallback text.
|
|
49
|
+
- Keep default cell heights aligned with the row model without a global CSS reset, preventing intrinsic viewport/filler resize feedback.
|
|
50
|
+
- Avoid React state projection for empty selected-cell ranges.
|
|
51
|
+
|
|
52
|
+
- Stop viewport observations before DOM removal, ignore retired resize deliveries, and avoid state dispatches from column interaction unmount cleanup while resetting interrupted interactions on effect reconnection.
|
|
53
|
+
|
|
54
|
+
- Avoid Chromium paged-media query cache accumulation for table header/footer groups on scrolling screens while preserving print fragmentation.
|
|
55
|
+
|
|
56
|
+
- Release replaced initial React table data retained by mount-lifetime measurement and cleanup closures, including disabled cell fill.
|
|
57
|
+
|
|
3
58
|
## 0.2.2 - 2026-10-13
|
|
4
59
|
|
|
5
60
|
- Playground: display complete remote-loading responses and CSV/XLSX datasets, start file examples with 1000 rows, and reset article scrolling on page navigation.
|
package/README.md
CHANGED
|
@@ -14,6 +14,8 @@ A React data table backed by the framework-neutral TypeScript `comins-table/core
|
|
|
14
14
|
· [Comins Brand](https://comins-website.vercel.app/ko/)
|
|
15
15
|
· [Changelog](https://github.com/kim1124/comins-table/blob/main/CHANGELOG.md)
|
|
16
16
|
|
|
17
|
+
0.2.3 improves lifecycle cleanup, Viewport cancellation and cache release, scrolling, and Playground rendering costs while preserving the existing API.
|
|
18
|
+
|
|
17
19
|
0.2.2: standard `render` customization with 0.x compatibility, value list filters, and styled Excel import/export. [한국어 전환 안내](https://github.com/kim1124/comins-table/blob/main/docs/ko/27-migration-0.2.2.md) · [English migration](https://github.com/kim1124/comins-table/blob/main/docs/user/27-migration-0.2.2.md).
|
|
18
20
|
|
|
19
21
|

|
|
@@ -1 +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,
|
|
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,cAUT;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"}
|
|
@@ -1 +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,
|
|
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,CAsBhB"}
|
package/dist/cell-fill.d.ts
CHANGED
|
@@ -15,6 +15,13 @@ export declare function useCominsCellFill<TData>(options: {
|
|
|
15
15
|
releaseGesture: (cleanup: () => void) => void;
|
|
16
16
|
scrollHorizontal: (delta: number) => void;
|
|
17
17
|
}): {
|
|
18
|
+
fillSelection: (direction: "down" | "right") => boolean;
|
|
19
|
+
preview: CominsCellRange | null;
|
|
20
|
+
isPreview: () => boolean;
|
|
21
|
+
handleAddress: null;
|
|
22
|
+
handle: null;
|
|
23
|
+
menu: null;
|
|
24
|
+
} | {
|
|
18
25
|
fillSelection: (direction: "down" | "right") => boolean;
|
|
19
26
|
preview: CominsCellRange | null;
|
|
20
27
|
isPreview: (address: CominsCellAddress) => 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,
|
|
1
|
+
{"version":3,"file":"cell-fill.d.ts","sourceRoot":"","sources":["../src/cell-fill.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAqG,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAC1I,OAAO,KAAK,EAAE,iBAAiB,EAAE,eAAe,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAQ7G,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;+BA6BmC,MAAM,GAAG,OAAO;;;;;;;;;yBA6E3B,iBAAiB;;;;EAqBzC"}
|