@revolist/react-datagrid 4.23.4 → 4.23.6

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 CHANGED
@@ -13,12 +13,21 @@
13
13
  <img src="https://badgen.net/bundlephobia/tree-shaking/@revolist/revogrid" alt="Tree shaking"/>
14
14
  <img src="https://img.shields.io/bundlephobia/min/@revolist/revogrid" alt="Bundle size"/>
15
15
  <img src="https://sonarcloud.io/api/project_badges/measure?project=revolist_revogrid&metric=alert_status" alt="Sonar Quality Gate"/>
16
+ <a href="https://github.com/revolist/revogrid/actions/workflows/unit.yml">
17
+ <img src="https://github.com/revolist/revogrid/actions/workflows/unit.yml/badge.svg" alt="Workflow status badge" loading="lazy" height="20">
18
+ </a>
19
+ <a href="https://github.com/revolist/revogrid/actions/workflows/e2e.yml">
20
+ <img src="https://github.com/revolist/revogrid/actions/workflows/e2e.yml/badge.svg" alt="Workflow status badge" loading="lazy" height="20">
21
+ </a>
16
22
  </p>
17
23
 
18
24
 
19
25
  <h3 align="center">Powerful React Data Grid component built on top of <a href="https://github.com/revolist/revogrid" target="_blank">RevoGrid</a>.</h3>
20
26
  <p align="center">
21
- Support Millions of cells and thousands of columns easy and efficiently for fast data rendering. Easy to use.
27
+ Render 1M+ rows, millions of cells, and thousands of columns efficiently with no hard row limit in the grid.
28
+ </p>
29
+ <p align="center">
30
+ Used by some of the largest companies in Europe and the United States.
22
31
  </p>
23
32
 
24
33
  <p align="center">
@@ -37,7 +46,7 @@ Support Millions of cells and thousands of columns easy and efficiently for fast
37
46
 
38
47
  ## Key Features
39
48
 
40
- - **High Performance**: Handles millions of cells in the viewport with a powerful core built by default.
49
+ - **High Performance**: Render 1M+ rows and millions of cells with no hard row limit in the grid. Virtualization keeps the DOM focused on the visible viewport.
41
50
 
42
51
  - **[Accessibility](https://rv-grid.com/guide/wcag)**: Follows WAI-ARIA best practices.
43
52
 
@@ -52,7 +61,7 @@ Support Millions of cells and thousands of columns easy and efficiently for fast
52
61
 
53
62
  - **[Intelligent Virtual DOM](https://rv-grid.com/guide/overview#VNode-Reactive-DOM)**: Smart row recombination to minimize redraws.
54
63
 
55
- - **[Virtual Scroll](https://rv-grid.com/guide/viewports)**: Handles large datasets with infinite scroll.
64
+ - **[Virtual Scroll](https://rv-grid.com/guide/viewports)**: Handles large datasets without rendering every row or column into the DOM.
56
65
 
57
66
  - **[Drag and Drop](https://rv-grid.com/guide/row/order)**: Drag and drop in [rows](https://rv-grid.com/guide/row/order) and [columns](https://rv-grid.com/guide/column/order).
58
67
 
@@ -105,20 +114,17 @@ Support Millions of cells and thousands of columns easy and efficiently for fast
105
114
 
106
115
  - **[Plugin System](https://rv-grid.com/guide/plugin/)**: Create custom plugins or extend existing ones easily.
107
116
 
108
- - **[Formula Support](https://rv-grid.com/guide/cell/formula)**: Evaluate formulas in cell data with Excel-like syntax, including basic arithmetic, statistical functions, and cell references.
109
- - **[Pivot Table](https://rv-grid.com/demo/pivot)**: Transform and analyze data dynamically with drag-and-drop field arrangement, aggregation functions, and interactive filtering capabilities.
110
-
111
- - **[Master Detail/Subtables/Forms](https://rv-grid.com/guide/row/master.pro)**: Expand rows to reveal child data.
112
- - **[Cell/Column/Row Span/Merge](https://rv-grid.com/guide/cell/merge)**: Merge cells to form groups.
113
- - **Auto Merge**: Automatically merges cells with identical values in a column.
114
- - **Form editig**: Edit forms directly within the grid, featuring all necessary fields, including custom options and markdown support for a fast and enhanced data entry experience.
115
-
116
117
  - **Customizations**:
117
118
  - [Column header template](https://rv-grid.com/guide/column/header.template).
118
119
  - [Row header template](https://rv-grid.com/guide/row/headers).
119
120
  - [Cell properties](https://rv-grid.com/guide/cell/) (define custom properties for rendered cells).
120
- - Nested grids: Build a grid inside a grid, showcasing advanced editing options and user interactions for a more dynamic data presentation.
121
- - Context Menu: Build context menus for any grid element - from cells to headers. Cut, copy, paste, add rows, modify columns, and more. Fully customizable with your own actions and behaviors.
121
+ - [Cell template](https://rv-grid.com/guide/cell/renderer) (create your own cell views).
122
+ - [Cell editor](https://rv-grid.com/guide/cell/editor) (use predefined or apply your own custom editors and cell types).
123
+
124
+ - **[AI Agents and MCP](https://rv-grid.com/guide/mcp)**: Connect Codex, Cursor, Claude Code, and VS Code to version-aware RevoGrid docs, examples, migrations, feature availability, and typed API context.
125
+
126
+ - **Rich API & Additional Improvements**: Explore hundreds of other small customizations and improvements in [RevoGrid](https://rv-grid.com/).
127
+
122
128
 
123
129
  - [Cell template](https://rv-grid.com/guide/react/renderer) (create your own cell views).
124
130
  - [Cell editor](https://rv-grid.com/guide/react/editor) (use predefined or apply your own custom editors and cell types).
@@ -321,6 +327,29 @@ If you or your company would like to support the ongoing development of RevoGrid
321
327
  Thank you for supporting RevoGrid! 🙏
322
328
 
323
329
 
330
+ ## Testing
331
+
332
+ [![Unit Tests](https://github.com/revolist/revogrid/actions/workflows/ci-unit.yml/badge.svg?branch=main)](https://github.com/revolist/revogrid/actions/workflows/ci-unit.yml)
333
+ [![E2E Tests](https://github.com/revolist/revogrid/actions/workflows/ci-e2e.yml/badge.svg?branch=main)](https://github.com/revolist/revogrid/actions/workflows/ci-e2e.yml)
334
+
335
+ RevoGrid is thoroughly tested to ensure reliability and stability.
336
+
337
+ | Suite | Command | Scope |
338
+ |---|---|---|
339
+ | Unit | `npm run test` | Services, utilities, pure logic |
340
+ | E2E (Playwright) | `npm run test:e2e` | Real browser rendering & interaction |
341
+
342
+ ### E2E Tests
343
+
344
+ End-to-end tests use [@stencil/playwright](https://www.npmjs.com/package/@stencil/playwright) to run `<revo-grid>` in a real Chromium browser. The dev server starts automatically when you run:
345
+
346
+ ```bash
347
+ npm run test:e2e
348
+ ```
349
+
350
+ Test files live in `e2e/` and share helpers from `e2e/helpers.ts`:
351
+
352
+
324
353
  ## Contributing
325
354
 
326
355
  By getting involved, you'll have the opportunity to enhance your skills, gain valuable experience, and make a significant impact on an innovative project. Your contribution, no matter how big or small, is valuable.
@@ -1,9 +1,6 @@
1
1
  var __defProp = Object.defineProperty;
2
2
  var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
3
- var __publicField = (obj, key, value) => {
4
- __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
5
- return value;
6
- };
3
+ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
7
4
  import { defineCustomElements } from "@revolist/revogrid/loader";
8
5
  export * from "@revolist/revogrid/loader";
9
6
  export * from "@revolist/revogrid";
@@ -3,10 +3,7 @@
3
3
  })(this, function(exports2, loader, revogrid, client, React, jsxRuntime) {
4
4
  "use strict";var __defProp = Object.defineProperty;
5
5
  var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
6
- var __publicField = (obj, key, value) => {
7
- __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
8
- return value;
9
- };
6
+ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
10
7
 
11
8
  const dashToPascalCase = (str) => str.toLowerCase().split("-").map((segment) => segment.charAt(0).toUpperCase() + segment.slice(1)).join("");
12
9
  const camelToDashCase = (str) => str.replace(/([A-Z])/g, (m) => `-${m[0].toLowerCase()}`);
@@ -264,18 +261,16 @@ var __publicField = (obj, key, value) => {
264
261
  exports2.RevoGrid = RevoGrid;
265
262
  exports2.Template = Template;
266
263
  Object.keys(loader).forEach((k) => {
267
- if (k !== "default" && !Object.prototype.hasOwnProperty.call(exports2, k))
268
- Object.defineProperty(exports2, k, {
269
- enumerable: true,
270
- get: () => loader[k]
271
- });
264
+ if (k !== "default" && !Object.prototype.hasOwnProperty.call(exports2, k)) Object.defineProperty(exports2, k, {
265
+ enumerable: true,
266
+ get: () => loader[k]
267
+ });
272
268
  });
273
269
  Object.keys(revogrid).forEach((k) => {
274
- if (k !== "default" && !Object.prototype.hasOwnProperty.call(exports2, k))
275
- Object.defineProperty(exports2, k, {
276
- enumerable: true,
277
- get: () => revogrid[k]
278
- });
270
+ if (k !== "default" && !Object.prototype.hasOwnProperty.call(exports2, k)) Object.defineProperty(exports2, k, {
271
+ enumerable: true,
272
+ get: () => revogrid[k]
273
+ });
279
274
  });
280
275
  Object.defineProperty(exports2, Symbol.toStringTag, { value: "Module" });
281
276
  });
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@revolist/react-datagrid",
3
3
  "sideEffects": false,
4
- "version": "4.23.4",
4
+ "version": "4.23.6",
5
5
  "description": "React DataGrid Spreadsheet component with native cell render support",
6
6
  "main": "./dist/react-datagrid.umd.cjs",
7
7
  "module": "./dist/react-datagrid.js",
@@ -64,7 +64,7 @@
64
64
  "homepage": "https://github.com/revolist/revogrid#readme",
65
65
  "license": "MIT",
66
66
  "dependencies": {
67
- "@revolist/revogrid": "4.23.4"
67
+ "@revolist/revogrid": "4.23.6"
68
68
  },
69
69
  "devDependencies": {
70
70
  "@stencil/core": "^4.43.2",