@kanunilabs/pivotgrid-core 1.0.1 → 1.0.2
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/README.md +57 -18
- package/package.json +16 -7
package/README.md
CHANGED
|
@@ -1,16 +1,46 @@
|
|
|
1
|
-
|
|
1
|
+
<p align="center">
|
|
2
|
+
<a href="https://www.kanunilabs.com"><img src="https://www.kanunilabs.com/logo.png" width="84" alt="KanuniLabs" /></a>
|
|
3
|
+
</p>
|
|
2
4
|
|
|
3
|
-
|
|
5
|
+
<h1 align="center">KanuniLabs PivotGrid Core</h1>
|
|
4
6
|
|
|
5
|
-
|
|
7
|
+
<p align="center">
|
|
8
|
+
The framework-agnostic engine behind KanuniLabs PivotGrid —<br />
|
|
9
|
+
Web Worker aggregation, columnar storage and a headless pivot controller.
|
|
10
|
+
</p>
|
|
6
11
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
12
|
+
<p align="center">
|
|
13
|
+
<a href="https://www.kanunilabs.com">Website</a> ·
|
|
14
|
+
<a href="https://www.kanunilabs.com/playground/pivotgrid">Live Demos</a> ·
|
|
15
|
+
<a href="https://www.kanunilabs.com/docs/pivotgrid">Documentation</a> ·
|
|
16
|
+
<a href="https://www.kanunilabs.com/docs/pivotgrid/api">API Reference</a> ·
|
|
17
|
+
<a href="https://www.kanunilabs.com/contact">Support</a>
|
|
18
|
+
</p>
|
|
19
|
+
|
|
20
|
+
<p align="center">
|
|
21
|
+
<a href="https://www.npmjs.com/package/@kanunilabs/pivotgrid-core"><img src="https://img.shields.io/npm/v/%40kanunilabs%2Fpivotgrid-core.svg?label=npm" alt="npm version" /></a>
|
|
22
|
+
<a href="https://www.npmjs.com/package/@kanunilabs/pivotgrid-core"><img src="https://img.shields.io/npm/dm/%40kanunilabs%2Fpivotgrid-core.svg" alt="npm downloads" /></a>
|
|
23
|
+
<img src="https://img.shields.io/badge/TypeScript-included-3178c6.svg" alt="TypeScript types included" />
|
|
24
|
+
<img src="https://img.shields.io/badge/license-Community%20(free)-2ea44f.svg" alt="KanuniLabs Community License" />
|
|
25
|
+
</p>
|
|
26
|
+
|
|
27
|
+
> **Building a React app?** You almost certainly want
|
|
28
|
+
> [`@kanunilabs/pivotgrid-react`](https://www.npmjs.com/package/@kanunilabs/pivotgrid-react),
|
|
29
|
+
> which wraps this engine in ready-made components (and installs it
|
|
30
|
+
> automatically). This package is for framework wrappers and headless use.
|
|
31
|
+
|
|
32
|
+
## Engine highlights
|
|
33
|
+
|
|
34
|
+
- **Web Worker computation** — all aggregation runs off the main thread; the UI never blocks.
|
|
35
|
+
- **Columnar storage** — dictionary-encoded `Int32Array` / `Float64Array` columns for memory efficiency on multi-million-row datasets.
|
|
36
|
+
- **FastTrie grouping** — `Int32Array`-based trie for hierarchical row/column grouping.
|
|
37
|
+
- **Pipelined incremental init** — data is encoded and streamed to the worker in chunks, so encoding and aggregation overlap instead of running back-to-back.
|
|
38
|
+
- **Reconfigure fast path** — moving a field re-groups the data already held in the worker; no re-encode, no re-transfer.
|
|
39
|
+
- **Bitmask filtering** — O(n) `Uint8Array` row masks applied inside the worker.
|
|
40
|
+
- **Summary display modes** — % of grand total / row / column, running total, rank, index and more.
|
|
41
|
+
- **CSP-safe formulas** — recursive-descent expression parser; no `eval`, no `new Function`.
|
|
42
|
+
- **Import & export** — CSV / JSON / XML export and file/clipboard import with type detection.
|
|
43
|
+
- **12 locales** — en, tr, de, fr, es, it, pt, ru, ar, zh-CN, ja, ko (RTL included).
|
|
14
44
|
|
|
15
45
|
## Installation
|
|
16
46
|
|
|
@@ -18,15 +48,10 @@ Framework-agnostic PivotGrid engine with Web Worker computation, columnar storag
|
|
|
18
48
|
npm install @kanunilabs/pivotgrid-core
|
|
19
49
|
```
|
|
20
50
|
|
|
21
|
-
(
|
|
22
|
-
|
|
23
|
-
Peer dependencies (installed automatically by npm ≥ 7 and pnpm): `xlsx` (file import) and `file-saver` (file export).
|
|
24
|
-
|
|
25
|
-
## Usage
|
|
51
|
+
Peer dependencies (installed automatically by npm ≥ 7 and pnpm): `xlsx` (file
|
|
52
|
+
import) and `file-saver` (file export).
|
|
26
53
|
|
|
27
|
-
|
|
28
|
-
[`@kanunilabs/pivotgrid-react`](https://www.npmjs.com/package/@kanunilabs/pivotgrid-react)
|
|
29
|
-
instead of driving the engine directly. The headless controller:
|
|
54
|
+
## Headless usage
|
|
30
55
|
|
|
31
56
|
```ts
|
|
32
57
|
import { PivotController } from '@kanunilabs/pivotgrid-core';
|
|
@@ -42,9 +67,23 @@ const controller = new PivotController({
|
|
|
42
67
|
});
|
|
43
68
|
```
|
|
44
69
|
|
|
70
|
+
The controller exposes the computed cell matrix, expand/collapse state,
|
|
71
|
+
filtering and layout APIs — rendering is entirely up to you.
|
|
72
|
+
|
|
73
|
+
## Resources
|
|
74
|
+
|
|
75
|
+
- [Documentation](https://www.kanunilabs.com/docs/pivotgrid) · [API reference](https://www.kanunilabs.com/docs/pivotgrid/api)
|
|
76
|
+
- [Live demos](https://www.kanunilabs.com/playground/pivotgrid)
|
|
77
|
+
- [Changelog](https://www.kanunilabs.com/changelog)
|
|
78
|
+
- Questions? [Contact us](https://www.kanunilabs.com/contact) — <hello@kanunilabs.com>
|
|
79
|
+
|
|
45
80
|
## License
|
|
46
81
|
|
|
47
82
|
**KanuniLabs Community License v1.0** — free to use in commercial and
|
|
48
83
|
non-commercial applications; the source code is proprietary (no
|
|
49
84
|
redistribution/modification of the package itself). See [LICENSE](./LICENSE)
|
|
50
85
|
for the full terms.
|
|
86
|
+
|
|
87
|
+
---
|
|
88
|
+
|
|
89
|
+
<p align="center">© 2026 KanuniLabs · <a href="https://www.kanunilabs.com">kanunilabs.com</a> · <a href="mailto:hello@kanunilabs.com">hello@kanunilabs.com</a></p>
|
package/package.json
CHANGED
|
@@ -1,8 +1,14 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kanunilabs/pivotgrid-core",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.2",
|
|
4
4
|
"description": "Framework-agnostic PivotGrid engine with Web Worker, columnar storage, trie-based grouping, and headless controller",
|
|
5
5
|
"license": "SEE LICENSE IN LICENSE",
|
|
6
|
+
"author": "KanuniLabs <hello@kanunilabs.com> (https://www.kanunilabs.com)",
|
|
7
|
+
"homepage": "https://www.kanunilabs.com",
|
|
8
|
+
"bugs": {
|
|
9
|
+
"email": "hello@kanunilabs.com",
|
|
10
|
+
"url": "https://www.kanunilabs.com/contact"
|
|
11
|
+
},
|
|
6
12
|
"type": "module",
|
|
7
13
|
"exports": {
|
|
8
14
|
".": {
|
|
@@ -47,21 +53,24 @@
|
|
|
47
53
|
},
|
|
48
54
|
"keywords": [
|
|
49
55
|
"pivotgrid",
|
|
56
|
+
"pivot",
|
|
50
57
|
"pivot-table",
|
|
58
|
+
"pivot-grid",
|
|
51
59
|
"pivot-engine",
|
|
52
60
|
"olap",
|
|
61
|
+
"cross-tab",
|
|
62
|
+
"aggregation",
|
|
53
63
|
"analytics",
|
|
54
64
|
"data-analysis",
|
|
65
|
+
"reporting",
|
|
66
|
+
"business-intelligence",
|
|
67
|
+
"data-grid",
|
|
55
68
|
"web-worker",
|
|
56
69
|
"columnar-storage",
|
|
57
70
|
"headless",
|
|
58
|
-
"framework-agnostic"
|
|
71
|
+
"framework-agnostic",
|
|
72
|
+
"typescript"
|
|
59
73
|
],
|
|
60
|
-
"repository": {
|
|
61
|
-
"type": "git",
|
|
62
|
-
"url": "https://github.com/kanunilabs/pivotgrid",
|
|
63
|
-
"directory": "packages/core"
|
|
64
|
-
},
|
|
65
74
|
"scripts": {
|
|
66
75
|
"build": "tsup",
|
|
67
76
|
"build:check": "tsc --noEmit",
|