react-open-source-grid 1.7.22 → 1.7.24
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/dist/lib/index.cjs +7 -61
- package/dist/lib/index.js +7 -61
- package/package.json +8 -37
- package/dist/404.html +0 -23
- package/dist/CNAME +0 -1
- package/dist/assets/components/AccessibilityDemo.d.ts +0 -8
- package/dist/assets/components/ApiReferencePage.d.ts +0 -2
- package/dist/assets/components/BenchmarkDemo.d.ts +0 -2
- package/dist/assets/components/CellRenderersDemo.d.ts +0 -16
- package/dist/assets/components/CodeBlock.d.ts +0 -10
- package/dist/assets/components/ColumnFiltersDemo.d.ts +0 -5
- package/dist/assets/components/CompleteApiReferencePage.d.ts +0 -2
- package/dist/assets/components/ContextMenuDemo.d.ts +0 -12
- package/dist/assets/components/DemoGridPage.d.ts +0 -2
- package/dist/assets/components/DensityModeDemo.d.ts +0 -12
- package/dist/assets/components/FacetedSearchDemo.d.ts +0 -8
- package/dist/assets/components/FeatureGallery.d.ts +0 -2
- package/dist/assets/components/FilteredSearchDemo.d.ts +0 -7
- package/dist/assets/components/GridApiDemoPage.d.ts +0 -2
- package/dist/assets/components/InfiniteScrollDemo.d.ts +0 -13
- package/dist/assets/components/LayoutPersistenceDemo.d.ts +0 -2
- package/dist/assets/components/LiveMarketDemo.d.ts +0 -18
- package/dist/assets/components/MarketDataExamples.d.ts +0 -42
- package/dist/assets/components/RowDraggingDemo.d.ts +0 -3
- package/dist/assets/components/RowPinningDemo.d.ts +0 -12
- package/dist/assets/components/ThemesDemo.d.ts +0 -17
- package/dist/assets/components/TooltipDemo.d.ts +0 -1
- package/dist/assets/components/TreeDataDemo.d.ts +0 -3
- package/dist/assets/components/VirtualScrollDemo.d.ts +0 -13
- package/dist/assets/index-BzDbdtZY.css +0 -1
- package/dist/assets/index-IX0OJSgg.js +0 -2215
- package/dist/assets/index.js +0 -1
- package/dist/assets/layoutPersistence-BB--01xS.js +0 -1
- package/dist/docs/ACCESSIBILITY_VPAT.pdf +0 -0
- package/dist/index.html +0 -105
- package/dist/lib/App.d.ts +0 -3
- package/dist/lib/components/AccessibilityDemo.d.ts +0 -8
- package/dist/lib/components/AdvancedEditorsDemo.d.ts +0 -15
- package/dist/lib/components/ApiReferencePage.d.ts +0 -2
- package/dist/lib/components/BenchmarkDemo.d.ts +0 -2
- package/dist/lib/components/CellRenderersDemo.d.ts +0 -16
- package/dist/lib/components/ChartsDemo.d.ts +0 -9
- package/dist/lib/components/CodeBlock.d.ts +0 -16
- package/dist/lib/components/ColumnFiltersDemo.d.ts +0 -5
- package/dist/lib/components/CompleteApiReferencePage.d.ts +0 -2
- package/dist/lib/components/ContextMenuDemo.d.ts +0 -12
- package/dist/lib/components/DemoGridPage.d.ts +0 -3
- package/dist/lib/components/DensityModeDemo.d.ts +0 -12
- package/dist/lib/components/FacetedSearchDemo.d.ts +0 -8
- package/dist/lib/components/FeatureGallery.d.ts +0 -2
- package/dist/lib/components/FilteredSearchDemo.d.ts +0 -7
- package/dist/lib/components/GridApiDemoPage.d.ts +0 -2
- package/dist/lib/components/GroupByDemo.d.ts +0 -3
- package/dist/lib/components/HomePage.d.ts +0 -1
- package/dist/lib/components/HorizontalScrollBugDemo.d.ts +0 -2
- package/dist/lib/components/InfiniteScrollDemo.d.ts +0 -13
- package/dist/lib/components/LayoutPersistenceDemo.d.ts +0 -2
- package/dist/lib/components/LiveMarketDemo.d.ts +0 -18
- package/dist/lib/components/MarketDataExamples.d.ts +0 -42
- package/dist/lib/components/MasterDetailDemo.d.ts +0 -2
- package/dist/lib/components/PivotDemo.d.ts +0 -8
- package/dist/lib/components/RowDraggingDemo.d.ts +0 -3
- package/dist/lib/components/RowPinningDemo.d.ts +0 -12
- package/dist/lib/components/ThemesDemo.d.ts +0 -17
- package/dist/lib/components/TooltipDemo.d.ts +0 -1
- package/dist/lib/components/TreeDataDemo.d.ts +0 -3
- package/dist/lib/components/VirtualScrollDemo.d.ts +0 -13
- package/dist/lib/main.d.ts +0 -1
- package/dist/logo.png +0 -0
- package/dist/robots.txt +0 -11
- package/dist/sitemap.xml +0 -180
- package/dist/vite.svg +0 -1
package/dist/lib/index.cjs
CHANGED
|
@@ -6735,7 +6735,7 @@ var useTooltip = ({ config = {} } = {}) => {
|
|
|
6735
6735
|
const target = event.currentTarget;
|
|
6736
6736
|
const rect = target.getBoundingClientRect();
|
|
6737
6737
|
const tooltipContent = typeof content === "string" ? { content } : content;
|
|
6738
|
-
showTimeoutRef.current = setTimeout(() => {
|
|
6738
|
+
showTimeoutRef.current = window.setTimeout(() => {
|
|
6739
6739
|
if (isHoveringRef.current) {
|
|
6740
6740
|
setTooltipState({
|
|
6741
6741
|
isVisible: true,
|
|
@@ -6752,7 +6752,7 @@ var useTooltip = ({ config = {} } = {}) => {
|
|
|
6752
6752
|
clearTimeouts();
|
|
6753
6753
|
isHoveringRef.current = false;
|
|
6754
6754
|
if (hideDelay > 0) {
|
|
6755
|
-
hideTimeoutRef.current = setTimeout(() => {
|
|
6755
|
+
hideTimeoutRef.current = window.setTimeout(() => {
|
|
6756
6756
|
setTooltipState((prev) => ({
|
|
6757
6757
|
...prev,
|
|
6758
6758
|
isVisible: false
|
|
@@ -7790,7 +7790,7 @@ var useScreenReaderAnnouncements = () => {
|
|
|
7790
7790
|
clearTimeout(timeoutRef.current);
|
|
7791
7791
|
}
|
|
7792
7792
|
if (delay > 0) {
|
|
7793
|
-
timeoutRef.current = setTimeout(() => {
|
|
7793
|
+
timeoutRef.current = window.setTimeout(() => {
|
|
7794
7794
|
announcementRef.current = message;
|
|
7795
7795
|
}, delay);
|
|
7796
7796
|
} else {
|
|
@@ -10000,60 +10000,6 @@ var FacetedSearch = ({
|
|
|
10000
10000
|
|
|
10001
10001
|
// src/components/DataGrid/FilteredSearchBar.tsx
|
|
10002
10002
|
var import_react27 = __toESM(require("react"), 1);
|
|
10003
|
-
|
|
10004
|
-
// node_modules/uuid/dist/esm-node/rng.js
|
|
10005
|
-
var import_crypto = __toESM(require("crypto"));
|
|
10006
|
-
var rnds8Pool = new Uint8Array(256);
|
|
10007
|
-
var poolPtr = rnds8Pool.length;
|
|
10008
|
-
function rng() {
|
|
10009
|
-
if (poolPtr > rnds8Pool.length - 16) {
|
|
10010
|
-
import_crypto.default.randomFillSync(rnds8Pool);
|
|
10011
|
-
poolPtr = 0;
|
|
10012
|
-
}
|
|
10013
|
-
return rnds8Pool.slice(poolPtr, poolPtr += 16);
|
|
10014
|
-
}
|
|
10015
|
-
|
|
10016
|
-
// node_modules/uuid/dist/esm-node/regex.js
|
|
10017
|
-
var regex_default = /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;
|
|
10018
|
-
|
|
10019
|
-
// node_modules/uuid/dist/esm-node/validate.js
|
|
10020
|
-
function validate(uuid) {
|
|
10021
|
-
return typeof uuid === "string" && regex_default.test(uuid);
|
|
10022
|
-
}
|
|
10023
|
-
var validate_default = validate;
|
|
10024
|
-
|
|
10025
|
-
// node_modules/uuid/dist/esm-node/stringify.js
|
|
10026
|
-
var byteToHex = [];
|
|
10027
|
-
for (let i = 0; i < 256; ++i) {
|
|
10028
|
-
byteToHex.push((i + 256).toString(16).substr(1));
|
|
10029
|
-
}
|
|
10030
|
-
function stringify(arr, offset = 0) {
|
|
10031
|
-
const uuid = (byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + "-" + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + "-" + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + "-" + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + "-" + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]).toLowerCase();
|
|
10032
|
-
if (!validate_default(uuid)) {
|
|
10033
|
-
throw TypeError("Stringified UUID is invalid");
|
|
10034
|
-
}
|
|
10035
|
-
return uuid;
|
|
10036
|
-
}
|
|
10037
|
-
var stringify_default = stringify;
|
|
10038
|
-
|
|
10039
|
-
// node_modules/uuid/dist/esm-node/v4.js
|
|
10040
|
-
function v4(options, buf, offset) {
|
|
10041
|
-
options = options || {};
|
|
10042
|
-
const rnds = options.random || (options.rng || rng)();
|
|
10043
|
-
rnds[6] = rnds[6] & 15 | 64;
|
|
10044
|
-
rnds[8] = rnds[8] & 63 | 128;
|
|
10045
|
-
if (buf) {
|
|
10046
|
-
offset = offset || 0;
|
|
10047
|
-
for (let i = 0; i < 16; ++i) {
|
|
10048
|
-
buf[offset + i] = rnds[i];
|
|
10049
|
-
}
|
|
10050
|
-
return buf;
|
|
10051
|
-
}
|
|
10052
|
-
return stringify_default(rnds);
|
|
10053
|
-
}
|
|
10054
|
-
var v4_default = v4;
|
|
10055
|
-
|
|
10056
|
-
// src/components/DataGrid/FilteredSearchBar.tsx
|
|
10057
10003
|
var FilteredSearchBar = ({
|
|
10058
10004
|
filters,
|
|
10059
10005
|
onSearch,
|
|
@@ -10089,7 +10035,7 @@ var FilteredSearchBar = ({
|
|
|
10089
10035
|
const filter = filters.find((f) => f.field === field);
|
|
10090
10036
|
if (!filter || tokens.length >= maxTokens) return;
|
|
10091
10037
|
const newToken = {
|
|
10092
|
-
id: `${field}-${
|
|
10038
|
+
id: `${field}-${crypto.randomUUID()}`,
|
|
10093
10039
|
field,
|
|
10094
10040
|
label: filter.label,
|
|
10095
10041
|
value,
|
|
@@ -12303,7 +12249,7 @@ function useMarketData(options) {
|
|
|
12303
12249
|
);
|
|
12304
12250
|
console.log(`Reconnecting in ${delay}ms... (attempt ${reconnectCountRef.current + 1})`);
|
|
12305
12251
|
setConnectionState("reconnecting");
|
|
12306
|
-
reconnectTimeoutRef.current = setTimeout(() => {
|
|
12252
|
+
reconnectTimeoutRef.current = window.setTimeout(() => {
|
|
12307
12253
|
reconnectCountRef.current++;
|
|
12308
12254
|
reconnectDelayRef.current *= 2;
|
|
12309
12255
|
setConnectionState("reconnecting");
|
|
@@ -12594,7 +12540,7 @@ var WebSocketMockFeed = class {
|
|
|
12594
12540
|
console.log(`Mock feed started with ${this.config.symbols.length} symbols`);
|
|
12595
12541
|
this.config.symbols.forEach((symbol) => {
|
|
12596
12542
|
const interval = 1e3 / this.config.updateFrequency;
|
|
12597
|
-
const intervalId = setInterval(() => {
|
|
12543
|
+
const intervalId = window.setInterval(() => {
|
|
12598
12544
|
this.updateSymbol(symbol);
|
|
12599
12545
|
}, interval);
|
|
12600
12546
|
this.updateIntervals.set(symbol, intervalId);
|
|
@@ -13139,7 +13085,7 @@ function debounce2(func, wait) {
|
|
|
13139
13085
|
if (timeout) {
|
|
13140
13086
|
clearTimeout(timeout);
|
|
13141
13087
|
}
|
|
13142
|
-
timeout = setTimeout(later, wait);
|
|
13088
|
+
timeout = window.setTimeout(later, wait);
|
|
13143
13089
|
};
|
|
13144
13090
|
}
|
|
13145
13091
|
function formatNumber(value, decimals = 0, thousandsSeparator = ",", decimalSeparator = ".") {
|
package/dist/lib/index.js
CHANGED
|
@@ -6313,7 +6313,7 @@ var useTooltip = ({ config = {} } = {}) => {
|
|
|
6313
6313
|
const target = event.currentTarget;
|
|
6314
6314
|
const rect = target.getBoundingClientRect();
|
|
6315
6315
|
const tooltipContent = typeof content === "string" ? { content } : content;
|
|
6316
|
-
showTimeoutRef.current = setTimeout(() => {
|
|
6316
|
+
showTimeoutRef.current = window.setTimeout(() => {
|
|
6317
6317
|
if (isHoveringRef.current) {
|
|
6318
6318
|
setTooltipState({
|
|
6319
6319
|
isVisible: true,
|
|
@@ -6330,7 +6330,7 @@ var useTooltip = ({ config = {} } = {}) => {
|
|
|
6330
6330
|
clearTimeouts();
|
|
6331
6331
|
isHoveringRef.current = false;
|
|
6332
6332
|
if (hideDelay > 0) {
|
|
6333
|
-
hideTimeoutRef.current = setTimeout(() => {
|
|
6333
|
+
hideTimeoutRef.current = window.setTimeout(() => {
|
|
6334
6334
|
setTooltipState((prev) => ({
|
|
6335
6335
|
...prev,
|
|
6336
6336
|
isVisible: false
|
|
@@ -7365,7 +7365,7 @@ var useScreenReaderAnnouncements = () => {
|
|
|
7365
7365
|
clearTimeout(timeoutRef.current);
|
|
7366
7366
|
}
|
|
7367
7367
|
if (delay > 0) {
|
|
7368
|
-
timeoutRef.current = setTimeout(() => {
|
|
7368
|
+
timeoutRef.current = window.setTimeout(() => {
|
|
7369
7369
|
announcementRef.current = message;
|
|
7370
7370
|
}, delay);
|
|
7371
7371
|
} else {
|
|
@@ -9575,60 +9575,6 @@ var FacetedSearch = ({
|
|
|
9575
9575
|
|
|
9576
9576
|
// src/components/DataGrid/FilteredSearchBar.tsx
|
|
9577
9577
|
import React24, { useState as useState16, useRef as useRef11, useEffect as useEffect10 } from "react";
|
|
9578
|
-
|
|
9579
|
-
// node_modules/uuid/dist/esm-node/rng.js
|
|
9580
|
-
import crypto from "crypto";
|
|
9581
|
-
var rnds8Pool = new Uint8Array(256);
|
|
9582
|
-
var poolPtr = rnds8Pool.length;
|
|
9583
|
-
function rng() {
|
|
9584
|
-
if (poolPtr > rnds8Pool.length - 16) {
|
|
9585
|
-
crypto.randomFillSync(rnds8Pool);
|
|
9586
|
-
poolPtr = 0;
|
|
9587
|
-
}
|
|
9588
|
-
return rnds8Pool.slice(poolPtr, poolPtr += 16);
|
|
9589
|
-
}
|
|
9590
|
-
|
|
9591
|
-
// node_modules/uuid/dist/esm-node/regex.js
|
|
9592
|
-
var regex_default = /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;
|
|
9593
|
-
|
|
9594
|
-
// node_modules/uuid/dist/esm-node/validate.js
|
|
9595
|
-
function validate(uuid) {
|
|
9596
|
-
return typeof uuid === "string" && regex_default.test(uuid);
|
|
9597
|
-
}
|
|
9598
|
-
var validate_default = validate;
|
|
9599
|
-
|
|
9600
|
-
// node_modules/uuid/dist/esm-node/stringify.js
|
|
9601
|
-
var byteToHex = [];
|
|
9602
|
-
for (let i = 0; i < 256; ++i) {
|
|
9603
|
-
byteToHex.push((i + 256).toString(16).substr(1));
|
|
9604
|
-
}
|
|
9605
|
-
function stringify(arr, offset = 0) {
|
|
9606
|
-
const uuid = (byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + "-" + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + "-" + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + "-" + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + "-" + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]).toLowerCase();
|
|
9607
|
-
if (!validate_default(uuid)) {
|
|
9608
|
-
throw TypeError("Stringified UUID is invalid");
|
|
9609
|
-
}
|
|
9610
|
-
return uuid;
|
|
9611
|
-
}
|
|
9612
|
-
var stringify_default = stringify;
|
|
9613
|
-
|
|
9614
|
-
// node_modules/uuid/dist/esm-node/v4.js
|
|
9615
|
-
function v4(options, buf, offset) {
|
|
9616
|
-
options = options || {};
|
|
9617
|
-
const rnds = options.random || (options.rng || rng)();
|
|
9618
|
-
rnds[6] = rnds[6] & 15 | 64;
|
|
9619
|
-
rnds[8] = rnds[8] & 63 | 128;
|
|
9620
|
-
if (buf) {
|
|
9621
|
-
offset = offset || 0;
|
|
9622
|
-
for (let i = 0; i < 16; ++i) {
|
|
9623
|
-
buf[offset + i] = rnds[i];
|
|
9624
|
-
}
|
|
9625
|
-
return buf;
|
|
9626
|
-
}
|
|
9627
|
-
return stringify_default(rnds);
|
|
9628
|
-
}
|
|
9629
|
-
var v4_default = v4;
|
|
9630
|
-
|
|
9631
|
-
// src/components/DataGrid/FilteredSearchBar.tsx
|
|
9632
9578
|
var FilteredSearchBar = ({
|
|
9633
9579
|
filters,
|
|
9634
9580
|
onSearch,
|
|
@@ -9664,7 +9610,7 @@ var FilteredSearchBar = ({
|
|
|
9664
9610
|
const filter = filters.find((f) => f.field === field);
|
|
9665
9611
|
if (!filter || tokens.length >= maxTokens) return;
|
|
9666
9612
|
const newToken = {
|
|
9667
|
-
id: `${field}-${
|
|
9613
|
+
id: `${field}-${crypto.randomUUID()}`,
|
|
9668
9614
|
field,
|
|
9669
9615
|
label: filter.label,
|
|
9670
9616
|
value,
|
|
@@ -11875,7 +11821,7 @@ function useMarketData(options) {
|
|
|
11875
11821
|
);
|
|
11876
11822
|
console.log(`Reconnecting in ${delay}ms... (attempt ${reconnectCountRef.current + 1})`);
|
|
11877
11823
|
setConnectionState("reconnecting");
|
|
11878
|
-
reconnectTimeoutRef.current = setTimeout(() => {
|
|
11824
|
+
reconnectTimeoutRef.current = window.setTimeout(() => {
|
|
11879
11825
|
reconnectCountRef.current++;
|
|
11880
11826
|
reconnectDelayRef.current *= 2;
|
|
11881
11827
|
setConnectionState("reconnecting");
|
|
@@ -12166,7 +12112,7 @@ var WebSocketMockFeed = class {
|
|
|
12166
12112
|
console.log(`Mock feed started with ${this.config.symbols.length} symbols`);
|
|
12167
12113
|
this.config.symbols.forEach((symbol) => {
|
|
12168
12114
|
const interval = 1e3 / this.config.updateFrequency;
|
|
12169
|
-
const intervalId = setInterval(() => {
|
|
12115
|
+
const intervalId = window.setInterval(() => {
|
|
12170
12116
|
this.updateSymbol(symbol);
|
|
12171
12117
|
}, interval);
|
|
12172
12118
|
this.updateIntervals.set(symbol, intervalId);
|
|
@@ -12711,7 +12657,7 @@ function debounce2(func, wait) {
|
|
|
12711
12657
|
if (timeout) {
|
|
12712
12658
|
clearTimeout(timeout);
|
|
12713
12659
|
}
|
|
12714
|
-
timeout = setTimeout(later, wait);
|
|
12660
|
+
timeout = window.setTimeout(later, wait);
|
|
12715
12661
|
};
|
|
12716
12662
|
}
|
|
12717
12663
|
function formatNumber(value, decimals = 0, thousandsSeparator = ",", decimalSeparator = ".") {
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-open-source-grid",
|
|
3
3
|
"private": false,
|
|
4
|
-
"version": "1.7.
|
|
4
|
+
"version": "1.7.24",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"description": "A high-performance React DataGrid component with advanced features like virtual scrolling, infinite scrolling, tree data, market data mode, integrated charts with context menu, and more",
|
|
7
7
|
"main": "./dist/lib/index.cjs",
|
|
@@ -12,9 +12,7 @@
|
|
|
12
12
|
".": {
|
|
13
13
|
"types": "./dist/lib/index.d.ts",
|
|
14
14
|
"import": "./dist/lib/index.js",
|
|
15
|
-
"require": "./dist/lib/index.cjs"
|
|
16
|
-
"browser": "./dist/lib/index.js",
|
|
17
|
-
"default": "./dist/lib/index.js"
|
|
15
|
+
"require": "./dist/lib/index.cjs"
|
|
18
16
|
},
|
|
19
17
|
"./package.json": "./package.json",
|
|
20
18
|
"./dist/*": "./dist/*",
|
|
@@ -47,66 +45,39 @@
|
|
|
47
45
|
},
|
|
48
46
|
"homepage": "https://bhushanpoojary.github.io/react-open-source-datagrid",
|
|
49
47
|
"scripts": {
|
|
50
|
-
"dev": "vite",
|
|
51
48
|
"build:lib": "tsup src/index.ts --format cjs,esm --out-dir dist/lib --clean && tsc -p tsconfig.build.json",
|
|
52
|
-
"build": "npm run build:lib
|
|
49
|
+
"build": "npm run build:lib",
|
|
53
50
|
"lint": "eslint .",
|
|
54
|
-
"preview": "vite preview",
|
|
55
51
|
"postbuild": "node ./scripts/generate-types-entry.cjs",
|
|
56
|
-
"predeploy": "npm run build",
|
|
57
|
-
"deploy": "gh-pages -d dist",
|
|
58
|
-
"test": "npm run test:playwright && npm run test:cypress",
|
|
59
|
-
"test:playwright": "playwright test",
|
|
60
|
-
"test:playwright:ui": "playwright test --ui",
|
|
61
|
-
"test:playwright:report": "playwright show-report",
|
|
62
|
-
"test:cypress": "start-server-and-test dev http://localhost:5173 cypress:run",
|
|
63
|
-
"test:cypress:open": "start-server-and-test dev http://localhost:5173 cypress:open",
|
|
64
|
-
"cypress:run": "cypress run",
|
|
65
|
-
"cypress:open": "cypress open",
|
|
66
|
-
"test:component": "cypress run --component",
|
|
67
|
-
"test:e2e": "start-server-and-test dev http://localhost:5173 cypress:run:e2e",
|
|
68
|
-
"cypress:run:e2e": "cypress run --e2e",
|
|
69
52
|
"prepare": "npm run build:lib && node ./scripts/generate-types-entry.cjs && husky install"
|
|
70
53
|
},
|
|
71
54
|
"dependencies": {
|
|
72
|
-
"@types/react-syntax-highlighter": "^15.5.13",
|
|
73
55
|
"exceljs": "^4.4.0",
|
|
74
56
|
"html-to-image": "^1.11.11",
|
|
75
|
-
"react": "^19.2.0",
|
|
76
|
-
"react-dom": "^19.2.0",
|
|
77
|
-
"react-router-dom": "^7.9.6",
|
|
78
|
-
"react-syntax-highlighter": "^16.1.0",
|
|
79
57
|
"recharts": "^2.10.3"
|
|
80
58
|
},
|
|
59
|
+
"peerDependencies": {
|
|
60
|
+
"react": "^18.0.0 || ^19.0.0",
|
|
61
|
+
"react-dom": "^18.0.0 || ^19.0.0"
|
|
62
|
+
},
|
|
81
63
|
"devDependencies": {
|
|
82
64
|
"@eslint/js": "^9.39.1",
|
|
83
|
-
"@playwright/test": "^1.48.2",
|
|
84
65
|
"@types/node": "^24.10.1",
|
|
85
66
|
"@types/react": "^19.2.5",
|
|
86
67
|
"@types/react-dom": "^19.2.3",
|
|
87
|
-
"@types/react-router-dom": "^5.3.3",
|
|
88
|
-
"@types/uuid": "^10.0.0",
|
|
89
|
-
"@vitejs/plugin-react": "^5.1.1",
|
|
90
|
-
"cypress": "^13.16.1",
|
|
91
68
|
"eslint": "^9.39.1",
|
|
92
69
|
"eslint-plugin-react-hooks": "^7.0.1",
|
|
93
70
|
"eslint-plugin-react-refresh": "^0.4.24",
|
|
94
|
-
"gh-pages": "^6.3.0",
|
|
95
71
|
"globals": "^16.5.0",
|
|
96
72
|
"husky": "^8.0.0",
|
|
97
73
|
"lint-staged": "^16.2.7",
|
|
98
|
-
"start-server-and-test": "^2.1.3",
|
|
99
74
|
"tsup": "^8.5.1",
|
|
100
75
|
"typescript": "~5.9.3",
|
|
101
|
-
"typescript-eslint": "^8.46.4"
|
|
102
|
-
"vite": "npm:rolldown-vite@7.2.5"
|
|
76
|
+
"typescript-eslint": "^8.46.4"
|
|
103
77
|
},
|
|
104
78
|
"lint-staged": {
|
|
105
79
|
"*.{js,jsx,ts,tsx}": [
|
|
106
80
|
"npm run lint"
|
|
107
81
|
]
|
|
108
|
-
},
|
|
109
|
-
"overrides": {
|
|
110
|
-
"vite": "npm:rolldown-vite@7.2.5"
|
|
111
82
|
}
|
|
112
83
|
}
|
package/dist/404.html
DELETED
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
<!DOCTYPE html>
|
|
2
|
-
<html>
|
|
3
|
-
<head>
|
|
4
|
-
<meta charset="utf-8">
|
|
5
|
-
<title>Redirecting...</title>
|
|
6
|
-
<script>
|
|
7
|
-
(function () {
|
|
8
|
-
var l = window.location;
|
|
9
|
-
// If we already came through the redirect, don't loop
|
|
10
|
-
if (l.search.indexOf('from404=1') !== -1) {
|
|
11
|
-
return;
|
|
12
|
-
}
|
|
13
|
-
var path = l.pathname + l.search + l.hash;
|
|
14
|
-
// Always go to root, encoding the original path
|
|
15
|
-
var redirectUrl = '/?from404=1&path=' + encodeURIComponent(path);
|
|
16
|
-
l.replace(redirectUrl);
|
|
17
|
-
})();
|
|
18
|
-
</script>
|
|
19
|
-
</head>
|
|
20
|
-
<body>
|
|
21
|
-
Redirecting...
|
|
22
|
-
</body>
|
|
23
|
-
</html>
|
package/dist/CNAME
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
reactdatagrid.dev
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* AccessibilityDemo.tsx
|
|
3
|
-
*
|
|
4
|
-
* Comprehensive demonstration of DataGrid accessibility features
|
|
5
|
-
* including keyboard navigation, ARIA support, and screen reader compatibility.
|
|
6
|
-
*/
|
|
7
|
-
import React from 'react';
|
|
8
|
-
export declare const AccessibilityDemo: React.FC;
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
/**
|
|
3
|
-
* CellRenderersDemo - Showcase of Custom Cell Renderer Framework
|
|
4
|
-
*
|
|
5
|
-
* This demo demonstrates all available custom cell renderers:
|
|
6
|
-
* - StatusChip: Color-coded status badges
|
|
7
|
-
* - ProgressBar: Visual progress indicators
|
|
8
|
-
* - IconCell: Cells with icons
|
|
9
|
-
* - ImageCell: Cells with images/avatars
|
|
10
|
-
* - ButtonCell: Actionable buttons
|
|
11
|
-
* - BadgeCell: Generic badge component
|
|
12
|
-
* - PriorityIndicator: Priority levels
|
|
13
|
-
* - Rating: Star ratings
|
|
14
|
-
* - CurrencyCell: Formatted currency values
|
|
15
|
-
*/
|
|
16
|
-
export declare const CellRenderersDemo: React.FC;
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
/**
|
|
3
|
-
* ContextMenuDemo Component
|
|
4
|
-
*
|
|
5
|
-
* Demonstrates the context menu feature with:
|
|
6
|
-
* - Right-click on cells: Copy, Copy with Headers, Export Selected Range, Filter by Value
|
|
7
|
-
* - Right-click on headers: Pin/Unpin, Auto-size, Resize to Fit, Hide Column, Filter by Value
|
|
8
|
-
* - Custom menu items
|
|
9
|
-
* - Enable/disable context menu options
|
|
10
|
-
*/
|
|
11
|
-
export declare const ContextMenuDemo: React.FC;
|
|
12
|
-
export default ContextMenuDemo;
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
/**
|
|
3
|
-
* DensityModeDemo - Showcase of DataGrid Density Modes
|
|
4
|
-
*
|
|
5
|
-
* Demonstrates:
|
|
6
|
-
* - Compact mode: Minimal spacing for maximum data density
|
|
7
|
-
* - Normal mode: Balanced spacing for general use
|
|
8
|
-
* - Comfortable mode: Generous spacing for accessibility
|
|
9
|
-
* - Persistent density preference (localStorage)
|
|
10
|
-
* - Segmented control UI
|
|
11
|
-
*/
|
|
12
|
-
export declare const DensityModeDemo: React.FC;
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* InfiniteScrollDemo Component
|
|
3
|
-
*
|
|
4
|
-
* Demonstrates infinite scrolling with server-side data source
|
|
5
|
-
* handling 100M+ rows with:
|
|
6
|
-
* - Server-side filtering
|
|
7
|
-
* - Server-side sorting
|
|
8
|
-
* - Block caching
|
|
9
|
-
* - Virtual scrolling
|
|
10
|
-
*/
|
|
11
|
-
import React from 'react';
|
|
12
|
-
export declare const InfiniteScrollDemo: React.FC;
|
|
13
|
-
export default InfiniteScrollDemo;
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* LiveMarketDemo.tsx
|
|
3
|
-
*
|
|
4
|
-
* Full demo page showcasing high-performance market data grid with:
|
|
5
|
-
* - Live streaming data (WebSocket mock feed)
|
|
6
|
-
* - 50 symbols with continuous updates
|
|
7
|
-
* - Pause/Resume controls
|
|
8
|
-
* - Performance metrics
|
|
9
|
-
* - Connection status
|
|
10
|
-
* - Density mode toggle
|
|
11
|
-
* - Flash animations
|
|
12
|
-
*/
|
|
13
|
-
import React from 'react';
|
|
14
|
-
import './LiveMarketDemo.css';
|
|
15
|
-
/**
|
|
16
|
-
* LiveMarketDemo Component
|
|
17
|
-
*/
|
|
18
|
-
export declare const LiveMarketDemo: React.FC;
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* MARKET_DATA_EXAMPLE.tsx
|
|
3
|
-
*
|
|
4
|
-
* Complete working example of Market Data Mode implementation.
|
|
5
|
-
* Copy this file to get started quickly with live market data.
|
|
6
|
-
*/
|
|
7
|
-
import React from 'react';
|
|
8
|
-
/**
|
|
9
|
-
* Simple Market Data Example
|
|
10
|
-
*
|
|
11
|
-
* This example demonstrates:
|
|
12
|
-
* - Creating a market data engine
|
|
13
|
-
* - Setting up a mock WebSocket feed
|
|
14
|
-
* - Configuring columns for market data
|
|
15
|
-
* - Rendering the grid with live updates
|
|
16
|
-
*/
|
|
17
|
-
export declare const SimpleMarketExample: React.FC;
|
|
18
|
-
/**
|
|
19
|
-
* Advanced Market Data Example
|
|
20
|
-
*
|
|
21
|
-
* This example demonstrates:
|
|
22
|
-
* - Full control panel with pause/resume
|
|
23
|
-
* - Performance metrics display
|
|
24
|
-
* - Density mode toggle
|
|
25
|
-
* - Flash animation toggle
|
|
26
|
-
* - Connection status
|
|
27
|
-
*/
|
|
28
|
-
export declare const AdvancedMarketExample: React.FC;
|
|
29
|
-
/**
|
|
30
|
-
* Real WebSocket Example
|
|
31
|
-
*
|
|
32
|
-
* This example shows how to connect to a real WebSocket server.
|
|
33
|
-
* Replace the URL with your actual WebSocket endpoint.
|
|
34
|
-
*/
|
|
35
|
-
export declare const RealWebSocketExample: React.FC;
|
|
36
|
-
/**
|
|
37
|
-
* Custom Formatting Example
|
|
38
|
-
*
|
|
39
|
-
* Shows how to customize cell rendering for market data.
|
|
40
|
-
*/
|
|
41
|
-
export declare const CustomFormattingExample: React.FC;
|
|
42
|
-
export default SimpleMarketExample;
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
/**
|
|
3
|
-
* RowPinningDemo - Demonstrates row pinning feature
|
|
4
|
-
*
|
|
5
|
-
* This demo showcases:
|
|
6
|
-
* - Pin rows to top or bottom
|
|
7
|
-
* - Pinned rows remain sticky during scroll
|
|
8
|
-
* - Works with sorting and filtering
|
|
9
|
-
* - Works with virtual scrolling
|
|
10
|
-
* - Context menu integration
|
|
11
|
-
*/
|
|
12
|
-
export declare const RowPinningDemo: React.FC;
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
/**
|
|
3
|
-
* ThemesDemo - Showcase of DataGrid Theme System
|
|
4
|
-
*
|
|
5
|
-
* Demonstrates all available themes:
|
|
6
|
-
* - Quartz (Modern White)
|
|
7
|
-
* - Alpine (Classic Business)
|
|
8
|
-
* - Material
|
|
9
|
-
* - Dark Mode
|
|
10
|
-
* - Nord (Arctic)
|
|
11
|
-
* - Dracula
|
|
12
|
-
* - Solarized Light
|
|
13
|
-
* - Solarized Dark
|
|
14
|
-
* - Monokai
|
|
15
|
-
* - One Dark
|
|
16
|
-
*/
|
|
17
|
-
export declare const ThemesDemo: React.FC;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare const TooltipDemo: () => import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
/**
|
|
3
|
-
* VirtualScrollDemo - Demonstrates virtual scrolling with large datasets
|
|
4
|
-
*
|
|
5
|
-
* This demo showcases:
|
|
6
|
-
* - 50,000+ rows
|
|
7
|
-
* - 200+ columns
|
|
8
|
-
* - Ultra-fast rendering with windowing
|
|
9
|
-
* - Dynamic row heights
|
|
10
|
-
* - Cell recycling
|
|
11
|
-
*/
|
|
12
|
-
export declare const VirtualScrollDemo: React.FC;
|
|
13
|
-
export default VirtualScrollDemo;
|