@topgrid/grid 0.1.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/README.md ADDED
@@ -0,0 +1,115 @@
1
+ # @topgrid/grid
2
+
3
+ > **Meta package facade** — re-exports the public API of all 13 underlying packages
4
+ > (`@topgrid/grid-*`). Activates a single entry point per ADR-MOD-GRID-REFACTOR-2026-05-17-003.
5
+
6
+ ## What's Included
7
+
8
+ ### MIT packages (4)
9
+
10
+ | Package | Description |
11
+ |---------|-------------|
12
+ | `@topgrid/grid-core` | TanStack Table abstraction + `<Grid>` + `useGridState` + legacy aliases (BaseGrid, VirtualGrid, ColumnPinGrid, TreeGrid) + pagination + `createColumns` + column-drag + multi-sort base |
13
+ | `@topgrid/grid-renderers` | Cell renderers (Text, Number, Date, StatusBadge, Link, Button, Check, Icon, Tag, Avatar, Progress) + `EditableCell` + `defaultRendererRegistry` (canonical) |
14
+ | `@topgrid/grid-features` | Filter UI (Text/Number/Date/Select) + `useMultiSort` + filter primitives |
15
+ | `@topgrid/grid-export` | Excel / CSV / PDF export + clipboard + print |
16
+
17
+ ### Pro packages (7)
18
+
19
+ | Package | Description |
20
+ |---------|-------------|
21
+ | `@topgrid/grid-pro-tracking` | Change tracking + `ChangeTrackingGrid` |
22
+ | `@topgrid/grid-pro-range` | Cell range selection + keyboard nav + clipboard + drag-fill |
23
+ | `@topgrid/grid-pro-datamap` | DataMap / AsyncDataMap (lookup tables, async loading) |
24
+ | `@topgrid/grid-pro-merging` | Cell merging (rowSpan) |
25
+ | `@topgrid/grid-pro-header` | Multi-row grouped headers + `GroupedHeaderGrid` (canonical) |
26
+ | `@topgrid/grid-pro-agg` | Aggregation + grouping + `GroupPanel` |
27
+ | `@topgrid/grid-pro-master` | Master-detail row expansion + context menu + row pinning + expanded persistence |
28
+
29
+ ### Infrastructure (1)
30
+
31
+ | Package | Description |
32
+ |---------|-------------|
33
+ | `@topgrid/grid-license` | License gate utilities (`setLicenseKey`, `checkLicense`, `Watermark`) |
34
+
35
+ ## Usage
36
+
37
+ ```ts
38
+ // Single entry — convenient for app-side consumers using both MIT and Pro features.
39
+ import { Grid, createColumns, NumberCell, StatusBadgeCell, setLicenseKey } from '@topgrid/grid';
40
+ import type { GridProps, TomisColumnDef } from '@topgrid/grid';
41
+ ```
42
+
43
+ ```ts
44
+ // Pro features remain license-gated at module load (each sub-package runs `checkLicense()`).
45
+ import { setLicenseKey } from '@topgrid/grid';
46
+ import { MasterDetailGrid, RangeSelectGrid } from '@topgrid/grid';
47
+
48
+ setLicenseKey('your-license-key');
49
+ ```
50
+
51
+ ## MIT-only consumption
52
+
53
+ Importing from `@topgrid/grid` brings in the full Pro surface (license-gated at runtime).
54
+ For **MIT-only** applications (no license key, no Pro packages installed), import the
55
+ underlying MIT packages directly:
56
+
57
+ ```bash
58
+ pnpm add @topgrid/grid-core @topgrid/grid-renderers @topgrid/grid-features @topgrid/grid-export
59
+ ```
60
+
61
+ ```ts
62
+ import { Grid, createColumns } from '@topgrid/grid-core';
63
+ import { NumberCell } from '@topgrid/grid-renderers';
64
+ ```
65
+
66
+ ## Tree-shaking
67
+
68
+ The meta facade is built with `tsup` + `treeshake: true` and emits a thin re-export
69
+ shim (~1.5 KB dist). Consumer bundlers (Vite, esbuild, webpack) follow the re-export
70
+ chain and bundle only what your app actually imports.
71
+
72
+ Side-effect imports (notably `@topgrid/grid-renderers`' `wireDefaultRenderers()` — see
73
+ ADR-MOD-GRID-REFACTOR-2026-05-17-002) are preserved via the `sideEffects` field.
74
+
75
+ ## Collision handling
76
+
77
+ The facade resolves the 5 cross-package name collisions (probed via TypeScript) by
78
+ canonicalizing exports:
79
+
80
+ | Identifier | Canonical source | Reason |
81
+ |------------|------------------|--------|
82
+ | `defaultRendererRegistry`, `registerRenderer` | `@topgrid/grid-renderers` | grid-core's are placeholder fallback (ADR-002 D-3A) |
83
+ | `TomisColumnDef` (type) | `@topgrid/grid-core` | grid-pro-datamap's alias is `@deprecated` (ADR-006) |
84
+ | `GroupedHeaderGrid`, `GroupedHeaderGridProps` | `@topgrid/grid-pro-header` | grid-core's `legacy/` are C-6 alias |
85
+
86
+ The 6 `@deprecated` APIs from `@topgrid/grid-core` (per ADR-013) are **not** re-exported
87
+ through the facade:
88
+
89
+ - `createTomisColumnHelper`
90
+ - `createGroupedColumns`, `TomisColumnGroup`
91
+ - `useColumnPersistence`
92
+ - `ColumnVisibilityMenu`, `ColumnVisibilityMenuProps`
93
+
94
+ To use them during deprecation, import directly from `@topgrid/grid-core`.
95
+
96
+ ## Peer Dependencies
97
+
98
+ | Package | Version |
99
+ |---------|---------|
100
+ | `@tanstack/react-table` | `^8.0.0` |
101
+ | `@tanstack/react-virtual` | `^3.0.0` (optional) |
102
+ | `react` | `^18.0.0 \|\| ^19.0.0` |
103
+ | `react-dom` | `^18.0.0 \|\| ^19.0.0` |
104
+ | `xlsx` | `^0.18.0` (optional) |
105
+ | `jspdf` | `^2.5.0` (optional) |
106
+ | `jspdf-autotable` | `^3.5.0` (optional) |
107
+
108
+ ## License
109
+
110
+ `SEE LICENSE IN EULA` (meta includes Pro packages). For MIT-only consumption, install
111
+ the four MIT packages individually — see [MIT-only consumption](#mit-only-consumption).
112
+
113
+ ---
114
+
115
+ [Documentation](https://grid.tomis.dev) | [API Reference](https://grid.tomis.dev/api)
package/dist/index.cjs ADDED
@@ -0,0 +1,163 @@
1
+ 'use strict';
2
+
3
+ var gridCore = require('@topgrid/grid-core');
4
+ var gridRenderers = require('@topgrid/grid-renderers');
5
+ var gridFeatures = require('@topgrid/grid-features');
6
+ var gridExport = require('@topgrid/grid-export');
7
+ var gridLicense = require('@topgrid/grid-license');
8
+ var gridProTracking = require('@topgrid/grid-pro-tracking');
9
+ var gridProRange = require('@topgrid/grid-pro-range');
10
+ var gridProDatamap = require('@topgrid/grid-pro-datamap');
11
+ var gridProMerging = require('@topgrid/grid-pro-merging');
12
+ var gridProHeader = require('@topgrid/grid-pro-header');
13
+ var gridProAgg = require('@topgrid/grid-pro-agg');
14
+ var gridProMaster = require('@topgrid/grid-pro-master');
15
+
16
+
17
+
18
+ Object.defineProperty(exports, "BaseGrid", {
19
+ enumerable: true,
20
+ get: function () { return gridCore.BaseGrid; }
21
+ });
22
+ Object.defineProperty(exports, "ColumnPinGrid", {
23
+ enumerable: true,
24
+ get: function () { return gridCore.ColumnPinGrid; }
25
+ });
26
+ Object.defineProperty(exports, "DropIndicator", {
27
+ enumerable: true,
28
+ get: function () { return gridCore.DropIndicator; }
29
+ });
30
+ Object.defineProperty(exports, "Grid", {
31
+ enumerable: true,
32
+ get: function () { return gridCore.Grid; }
33
+ });
34
+ Object.defineProperty(exports, "GridPagination", {
35
+ enumerable: true,
36
+ get: function () { return gridCore.GridPagination; }
37
+ });
38
+ Object.defineProperty(exports, "PageSizeSelect", {
39
+ enumerable: true,
40
+ get: function () { return gridCore.PageSizeSelect; }
41
+ });
42
+ Object.defineProperty(exports, "SortBadge", {
43
+ enumerable: true,
44
+ get: function () { return gridCore.SortBadge; }
45
+ });
46
+ Object.defineProperty(exports, "SortClearButton", {
47
+ enumerable: true,
48
+ get: function () { return gridCore.SortClearButton; }
49
+ });
50
+ Object.defineProperty(exports, "TotalCount", {
51
+ enumerable: true,
52
+ get: function () { return gridCore.TotalCount; }
53
+ });
54
+ Object.defineProperty(exports, "TreeGrid", {
55
+ enumerable: true,
56
+ get: function () { return gridCore.TreeGrid; }
57
+ });
58
+ Object.defineProperty(exports, "VirtualGrid", {
59
+ enumerable: true,
60
+ get: function () { return gridCore.VirtualGrid; }
61
+ });
62
+ Object.defineProperty(exports, "createColumns", {
63
+ enumerable: true,
64
+ get: function () { return gridCore.createColumns; }
65
+ });
66
+ Object.defineProperty(exports, "useColumnDrag", {
67
+ enumerable: true,
68
+ get: function () { return gridCore.useColumnDrag; }
69
+ });
70
+ Object.defineProperty(exports, "useColumnOrderPersist", {
71
+ enumerable: true,
72
+ get: function () { return gridCore.useColumnOrderPersist; }
73
+ });
74
+ Object.defineProperty(exports, "useGridState", {
75
+ enumerable: true,
76
+ get: function () { return gridCore.useGridState; }
77
+ });
78
+ Object.defineProperty(exports, "useStoragePersist", {
79
+ enumerable: true,
80
+ get: function () { return gridCore.useStoragePersist; }
81
+ });
82
+ Object.defineProperty(exports, "useUrlSync", {
83
+ enumerable: true,
84
+ get: function () { return gridCore.useUrlSync; }
85
+ });
86
+ Object.defineProperty(exports, "DataMapCell", {
87
+ enumerable: true,
88
+ get: function () { return gridProDatamap.DataMapCell; }
89
+ });
90
+ Object.defineProperty(exports, "DataMapEditor", {
91
+ enumerable: true,
92
+ get: function () { return gridProDatamap.DataMapEditor; }
93
+ });
94
+ Object.defineProperty(exports, "createAsyncDataMap", {
95
+ enumerable: true,
96
+ get: function () { return gridProDatamap.createAsyncDataMap; }
97
+ });
98
+ Object.defineProperty(exports, "createDataMap", {
99
+ enumerable: true,
100
+ get: function () { return gridProDatamap.createDataMap; }
101
+ });
102
+ Object.keys(gridRenderers).forEach(function (k) {
103
+ if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {
104
+ enumerable: true,
105
+ get: function () { return gridRenderers[k]; }
106
+ });
107
+ });
108
+ Object.keys(gridFeatures).forEach(function (k) {
109
+ if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {
110
+ enumerable: true,
111
+ get: function () { return gridFeatures[k]; }
112
+ });
113
+ });
114
+ Object.keys(gridExport).forEach(function (k) {
115
+ if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {
116
+ enumerable: true,
117
+ get: function () { return gridExport[k]; }
118
+ });
119
+ });
120
+ Object.keys(gridLicense).forEach(function (k) {
121
+ if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {
122
+ enumerable: true,
123
+ get: function () { return gridLicense[k]; }
124
+ });
125
+ });
126
+ Object.keys(gridProTracking).forEach(function (k) {
127
+ if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {
128
+ enumerable: true,
129
+ get: function () { return gridProTracking[k]; }
130
+ });
131
+ });
132
+ Object.keys(gridProRange).forEach(function (k) {
133
+ if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {
134
+ enumerable: true,
135
+ get: function () { return gridProRange[k]; }
136
+ });
137
+ });
138
+ Object.keys(gridProMerging).forEach(function (k) {
139
+ if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {
140
+ enumerable: true,
141
+ get: function () { return gridProMerging[k]; }
142
+ });
143
+ });
144
+ Object.keys(gridProHeader).forEach(function (k) {
145
+ if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {
146
+ enumerable: true,
147
+ get: function () { return gridProHeader[k]; }
148
+ });
149
+ });
150
+ Object.keys(gridProAgg).forEach(function (k) {
151
+ if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {
152
+ enumerable: true,
153
+ get: function () { return gridProAgg[k]; }
154
+ });
155
+ });
156
+ Object.keys(gridProMaster).forEach(function (k) {
157
+ if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {
158
+ enumerable: true,
159
+ get: function () { return gridProMaster[k]; }
160
+ });
161
+ });
162
+ //# sourceMappingURL=index.cjs.map
163
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"index.cjs","sourcesContent":[]}
@@ -0,0 +1,12 @@
1
+ export { BaseGrid, BaseGridProps, ColumnInfo, ColumnPersistenceOptions, ColumnPinGrid, ColumnPinGridProps, DragThProps, DropIndicator, Grid, GridColumnResizeMode, GridHandle, GridPagination, GridPaginationOptions, GridPaginationProps, GridProps, GridRowSelectionOptions, GridScrollToOptions, GridState, GridStateKey, GridStateValues, PageSizeSelect, PageSizeSelectProps, PaginationMode, PersistTarget, RendererFn, RendererRegistry, RowSelectionMode, SortBadge, SortBadgeProps, SortClearButton, SortClearButtonProps, TomisColumnDef, TomisColumnType, TotalCount, TotalCountProps, TreeGrid, TreeGridProps, UseColumnDragProps, UseColumnDragReturn, UseColumnOrderPersistProps, UseGridStateOptions, UseStoragePersistOptions, UseUrlSyncOptions, VirtualGrid, VirtualGridProps, createColumns, useColumnDrag, useColumnOrderPersist, useGridState, useStoragePersist, useUrlSync } from '@topgrid/grid-core';
2
+ export * from '@topgrid/grid-renderers';
3
+ export * from '@topgrid/grid-features';
4
+ export * from '@topgrid/grid-export';
5
+ export * from '@topgrid/grid-license';
6
+ export * from '@topgrid/grid-pro-tracking';
7
+ export * from '@topgrid/grid-pro-range';
8
+ export { AsyncDataMap, AsyncDataMapState, CreateAsyncDataMapOptions, CreateDataMapOptions, DataMap, DataMapCell, DataMapCellProps, DataMapColumnDef, DataMapEditor, DataMapEditorProps, PathOrAccessor, createAsyncDataMap, createDataMap } from '@topgrid/grid-pro-datamap';
9
+ export * from '@topgrid/grid-pro-merging';
10
+ export * from '@topgrid/grid-pro-header';
11
+ export * from '@topgrid/grid-pro-agg';
12
+ export * from '@topgrid/grid-pro-master';
@@ -0,0 +1,12 @@
1
+ export { BaseGrid, BaseGridProps, ColumnInfo, ColumnPersistenceOptions, ColumnPinGrid, ColumnPinGridProps, DragThProps, DropIndicator, Grid, GridColumnResizeMode, GridHandle, GridPagination, GridPaginationOptions, GridPaginationProps, GridProps, GridRowSelectionOptions, GridScrollToOptions, GridState, GridStateKey, GridStateValues, PageSizeSelect, PageSizeSelectProps, PaginationMode, PersistTarget, RendererFn, RendererRegistry, RowSelectionMode, SortBadge, SortBadgeProps, SortClearButton, SortClearButtonProps, TomisColumnDef, TomisColumnType, TotalCount, TotalCountProps, TreeGrid, TreeGridProps, UseColumnDragProps, UseColumnDragReturn, UseColumnOrderPersistProps, UseGridStateOptions, UseStoragePersistOptions, UseUrlSyncOptions, VirtualGrid, VirtualGridProps, createColumns, useColumnDrag, useColumnOrderPersist, useGridState, useStoragePersist, useUrlSync } from '@topgrid/grid-core';
2
+ export * from '@topgrid/grid-renderers';
3
+ export * from '@topgrid/grid-features';
4
+ export * from '@topgrid/grid-export';
5
+ export * from '@topgrid/grid-license';
6
+ export * from '@topgrid/grid-pro-tracking';
7
+ export * from '@topgrid/grid-pro-range';
8
+ export { AsyncDataMap, AsyncDataMapState, CreateAsyncDataMapOptions, CreateDataMapOptions, DataMap, DataMapCell, DataMapCellProps, DataMapColumnDef, DataMapEditor, DataMapEditorProps, PathOrAccessor, createAsyncDataMap, createDataMap } from '@topgrid/grid-pro-datamap';
9
+ export * from '@topgrid/grid-pro-merging';
10
+ export * from '@topgrid/grid-pro-header';
11
+ export * from '@topgrid/grid-pro-agg';
12
+ export * from '@topgrid/grid-pro-master';
package/dist/index.mjs ADDED
@@ -0,0 +1,14 @@
1
+ export { BaseGrid, ColumnPinGrid, DropIndicator, Grid, GridPagination, PageSizeSelect, SortBadge, SortClearButton, TotalCount, TreeGrid, VirtualGrid, createColumns, useColumnDrag, useColumnOrderPersist, useGridState, useStoragePersist, useUrlSync } from '@topgrid/grid-core';
2
+ export * from '@topgrid/grid-renderers';
3
+ export * from '@topgrid/grid-features';
4
+ export * from '@topgrid/grid-export';
5
+ export * from '@topgrid/grid-license';
6
+ export * from '@topgrid/grid-pro-tracking';
7
+ export * from '@topgrid/grid-pro-range';
8
+ export { DataMapCell, DataMapEditor, createAsyncDataMap, createDataMap } from '@topgrid/grid-pro-datamap';
9
+ export * from '@topgrid/grid-pro-merging';
10
+ export * from '@topgrid/grid-pro-header';
11
+ export * from '@topgrid/grid-pro-agg';
12
+ export * from '@topgrid/grid-pro-master';
13
+ //# sourceMappingURL=index.mjs.map
14
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"index.mjs","sourcesContent":[]}
package/package.json ADDED
@@ -0,0 +1,71 @@
1
+ {
2
+ "name": "@topgrid/grid",
3
+ "version": "0.1.0",
4
+ "type": "module",
5
+ "license": "SEE LICENSE IN EULA",
6
+ "publishConfig": {
7
+ "access": "public"
8
+ },
9
+ "description": "Meta package — aggregates all @topgrid/grid-* packages (MIT + Pro facade)",
10
+ "main": "./dist/index.cjs",
11
+ "module": "./dist/index.mjs",
12
+ "types": "./dist/index.d.ts",
13
+ "exports": {
14
+ ".": {
15
+ "types": "./dist/index.d.ts",
16
+ "import": "./dist/index.mjs",
17
+ "require": "./dist/index.cjs"
18
+ }
19
+ },
20
+ "sideEffects": [
21
+ "./src/index.ts",
22
+ "./dist/index.mjs",
23
+ "./dist/index.cjs"
24
+ ],
25
+ "files": [
26
+ "dist",
27
+ "README.md"
28
+ ],
29
+ "dependencies": {
30
+ "@topgrid/grid-core": "0.1.0",
31
+ "@topgrid/grid-features": "0.3.0",
32
+ "@topgrid/grid-renderers": "0.1.0",
33
+ "@topgrid/grid-export": "0.2.0",
34
+ "@topgrid/grid-license": "0.1.0",
35
+ "@topgrid/grid-pro-range": "0.1.0",
36
+ "@topgrid/grid-pro-datamap": "0.2.0",
37
+ "@topgrid/grid-pro-header": "0.1.0",
38
+ "@topgrid/grid-pro-tracking": "0.1.0",
39
+ "@topgrid/grid-pro-merging": "0.1.0",
40
+ "@topgrid/grid-pro-agg": "0.1.0",
41
+ "@topgrid/grid-pro-master": "0.1.0"
42
+ },
43
+ "peerDependencies": {
44
+ "@tanstack/react-table": "^8.0.0",
45
+ "@tanstack/react-virtual": "^3.0.0",
46
+ "jspdf": "^2.5.0",
47
+ "jspdf-autotable": "^3.5.0",
48
+ "react": "^18.0.0 || ^19.0.0",
49
+ "react-dom": "^18.0.0 || ^19.0.0",
50
+ "xlsx": "^0.18.0"
51
+ },
52
+ "peerDependenciesMeta": {
53
+ "@tanstack/react-virtual": {
54
+ "optional": true
55
+ },
56
+ "jspdf": {
57
+ "optional": true
58
+ },
59
+ "jspdf-autotable": {
60
+ "optional": true
61
+ },
62
+ "xlsx": {
63
+ "optional": true
64
+ }
65
+ },
66
+ "scripts": {
67
+ "build": "tsup",
68
+ "typecheck": "tsc --noEmit",
69
+ "test": "echo TODO"
70
+ }
71
+ }