@mui/x-data-grid-pro 8.10.0 → 8.10.1
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 +96 -0
- package/DataGridPro/DataGridPro.js +1 -1
- package/esm/DataGridPro/DataGridPro.js +1 -1
- package/esm/hooks/features/dataSource/utils.js +59 -61
- package/esm/index.js +1 -1
- package/esm/utils/tree/sortRowTree.js +0 -4
- package/hooks/features/dataSource/utils.js +59 -61
- package/index.js +1 -1
- package/package.json +17 -18
- package/utils/tree/sortRowTree.js +0 -4
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,102 @@
|
|
|
5
5
|
All notable changes to this project will be documented in this file.
|
|
6
6
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
7
7
|
|
|
8
|
+
## 8.10.1
|
|
9
|
+
|
|
10
|
+
_Aug 15, 2025_
|
|
11
|
+
|
|
12
|
+
We'd like to extend a big thank you to the 8 contributors who made this release possible. Here are some highlights ✨:
|
|
13
|
+
|
|
14
|
+
- 📊 Y-axes can now be grouped by category when using `band` and `point` scales.
|
|
15
|
+
- 📚 Documentation improvements
|
|
16
|
+
|
|
17
|
+
The following are all team members who have contributed to this release:
|
|
18
|
+
@alexfauquette, @bernardobelchior, @Janpot, @JCQuintas, @mnajdova, @oliviertassinari, @prakhargupta1, @romgrk
|
|
19
|
+
|
|
20
|
+
### Data Grid
|
|
21
|
+
|
|
22
|
+
#### `@mui/x-data-grid@8.10.1`
|
|
23
|
+
|
|
24
|
+
- [DataGrid] Fix scroll jumping (#19156) @romgrk
|
|
25
|
+
- [DataGrid] Fix scroll restoration (#19182) @romgrk
|
|
26
|
+
- [DataGrid] Fix "no row with id" error (#19193) @romgrk
|
|
27
|
+
|
|
28
|
+
#### `@mui/x-data-grid-pro@8.10.1` [](https://mui.com/r/x-pro-svg-link "Pro plan")
|
|
29
|
+
|
|
30
|
+
Same changes as in `@mui/x-data-grid@8.10.1`.
|
|
31
|
+
|
|
32
|
+
#### `@mui/x-data-grid-premium@8.10.1` [](https://mui.com/r/x-premium-svg-link "Premium plan")
|
|
33
|
+
|
|
34
|
+
Same changes as in `@mui/x-data-grid-pro@8.10.1`.
|
|
35
|
+
|
|
36
|
+
### Date and Time Pickers
|
|
37
|
+
|
|
38
|
+
#### `@mui/x-date-pickers@8.10.0`
|
|
39
|
+
|
|
40
|
+
Internal changes.
|
|
41
|
+
|
|
42
|
+
#### `@mui/x-date-pickers-pro@8.10.0` [](https://mui.com/r/x-pro-svg-link "Pro plan")
|
|
43
|
+
|
|
44
|
+
Same changes as in `@mui/x-date-pickers@8.10.0`.
|
|
45
|
+
|
|
46
|
+
### Charts
|
|
47
|
+
|
|
48
|
+
- Axes can now be grouped by category when using `band` and `point` scales
|
|
49
|
+
|
|
50
|
+
<img width="643" height="455" alt="Bar chart with y-axis grouped per categories" src="https://github.com/user-attachments/assets/59044afe-bcc5-4152-8bf1-225db0635025" />
|
|
51
|
+
|
|
52
|
+
#### `@mui/x-charts@8.10.1`
|
|
53
|
+
|
|
54
|
+
- [charts] Allow y-axis to be grouped (#19081) @JCQuintas
|
|
55
|
+
- [charts] Fix default axis highlight for axes without data attribute (#18985) @alexfauquette
|
|
56
|
+
- [charts] Fix tooltip mark unexpected wrapping in mobile (#19122) @bernardobelchior
|
|
57
|
+
- [charts] Prevent overflow on charts tooltip (#19123) @bernardobelchior
|
|
58
|
+
|
|
59
|
+
#### `@mui/x-charts-pro@8.10.1` [](https://mui.com/r/x-pro-svg-link "Pro plan")
|
|
60
|
+
|
|
61
|
+
Same changes as in `@mui/x-charts@8.10.1`.
|
|
62
|
+
|
|
63
|
+
### Tree View
|
|
64
|
+
|
|
65
|
+
#### `@mui/x-tree-view@8.10.1`
|
|
66
|
+
|
|
67
|
+
Internal changes.
|
|
68
|
+
|
|
69
|
+
#### `@mui/x-tree-view-pro@8.10.1` [](https://mui.com/r/x-pro-svg-link "Pro plan")
|
|
70
|
+
|
|
71
|
+
Same changes as in `@mui/x-tree-view@8.10.1`.
|
|
72
|
+
|
|
73
|
+
### Codemod
|
|
74
|
+
|
|
75
|
+
#### `@mui/x-codemod@8.10.1`
|
|
76
|
+
|
|
77
|
+
Internal changes.
|
|
78
|
+
|
|
79
|
+
### Docs
|
|
80
|
+
|
|
81
|
+
- [docs] Add all planned charts on the overview page (#19077) @prakhargupta1
|
|
82
|
+
- [docs] Add future charts components link in the sidebar (#19140) @prakhargupta1
|
|
83
|
+
- [docs] Fix Heatmap docs duplicate text (#19138) @JCQuintas
|
|
84
|
+
- [docs] Remove preview from Toolbar & Funnel (#19131) @mnajdova
|
|
85
|
+
- [docs] Reproduce npm sparkline (#19089) @alexfauquette
|
|
86
|
+
|
|
87
|
+
### Core
|
|
88
|
+
|
|
89
|
+
- [core] Fix licensing model name (#19025) @oliviertassinari
|
|
90
|
+
- [core] Fix usage of `:catalog` for `@babel/runtime` (#19028) @oliviertassinari
|
|
91
|
+
- [core] Refactor virtualizer API (#18995) @romgrk
|
|
92
|
+
|
|
93
|
+
### Miscellaneous
|
|
94
|
+
|
|
95
|
+
- [code-infra] Remove namespaces (#19071) @Janpot
|
|
96
|
+
- [code-infra] Fix `fs-extra` removal from `formattedTSDemos` script (#19132) @bernardobelchior
|
|
97
|
+
- [code-infra] Remove unused code and dependency (#19139) @bernardobelchior
|
|
98
|
+
- [code-infra] Replace `fs-extra` with `node:fs` where possible (#19127) @bernardobelchior
|
|
99
|
+
- [internal] Edit, keep `lockFileMaintenance` simple @oliviertassinari
|
|
100
|
+
- [internal] Fix writing style action name @oliviertassinari
|
|
101
|
+
- [internal] Make it clear that `lockFileMaintenance` is enabled @oliviertassinari
|
|
102
|
+
- [support-infra] Remove default issue label (#19104) @oliviertassinari
|
|
103
|
+
|
|
8
104
|
## 8.10.0
|
|
9
105
|
|
|
10
106
|
_Aug 8, 2025_
|
|
@@ -29,7 +29,7 @@ const configuration = {
|
|
|
29
29
|
useCellAggregationResult: () => null
|
|
30
30
|
}
|
|
31
31
|
};
|
|
32
|
-
const releaseInfo = "
|
|
32
|
+
const releaseInfo = "MTc1NTIzMDQwMDAwMA==";
|
|
33
33
|
const watermark = /*#__PURE__*/(0, _jsxRuntime.jsx)(_xLicense.Watermark, {
|
|
34
34
|
packageName: "x-data-grid-pro",
|
|
35
35
|
releaseInfo: releaseInfo
|
|
@@ -22,7 +22,7 @@ const configuration = {
|
|
|
22
22
|
useCellAggregationResult: () => null
|
|
23
23
|
}
|
|
24
24
|
};
|
|
25
|
-
const releaseInfo = "
|
|
25
|
+
const releaseInfo = "MTc1NTIzMDQwMDAwMA==";
|
|
26
26
|
const watermark = /*#__PURE__*/_jsx(Watermark, {
|
|
27
27
|
packageName: "x-data-grid-pro",
|
|
28
28
|
releaseInfo: releaseInfo
|
|
@@ -15,71 +15,69 @@ export let RequestStatus = /*#__PURE__*/function (RequestStatus) {
|
|
|
15
15
|
* Uses `GridRowId` to uniquely identify a request
|
|
16
16
|
*/
|
|
17
17
|
export class NestedDataManager {
|
|
18
|
+
pendingRequests = (() => new Set())();
|
|
19
|
+
queuedRequests = (() => new Set())();
|
|
20
|
+
settledRequests = (() => new Set())();
|
|
18
21
|
constructor(privateApiRef, maxConcurrentRequests = MAX_CONCURRENT_REQUESTS) {
|
|
19
|
-
this.pendingRequests = new Set();
|
|
20
|
-
this.queuedRequests = new Set();
|
|
21
|
-
this.settledRequests = new Set();
|
|
22
|
-
this.api = void 0;
|
|
23
|
-
this.maxConcurrentRequests = void 0;
|
|
24
|
-
this.processQueue = async () => {
|
|
25
|
-
if (this.queuedRequests.size === 0 || this.pendingRequests.size >= this.maxConcurrentRequests) {
|
|
26
|
-
return;
|
|
27
|
-
}
|
|
28
|
-
const loopLength = Math.min(this.maxConcurrentRequests - this.pendingRequests.size, this.queuedRequests.size);
|
|
29
|
-
if (loopLength === 0) {
|
|
30
|
-
return;
|
|
31
|
-
}
|
|
32
|
-
const fetchQueue = Array.from(this.queuedRequests);
|
|
33
|
-
for (let i = 0; i < loopLength; i += 1) {
|
|
34
|
-
const id = fetchQueue[i];
|
|
35
|
-
this.queuedRequests.delete(id);
|
|
36
|
-
this.pendingRequests.add(id);
|
|
37
|
-
this.api.fetchRowChildren(id);
|
|
38
|
-
}
|
|
39
|
-
};
|
|
40
|
-
this.queue = async ids => {
|
|
41
|
-
const loadingIds = {};
|
|
42
|
-
ids.forEach(id => {
|
|
43
|
-
this.queuedRequests.add(id);
|
|
44
|
-
loadingIds[id] = true;
|
|
45
|
-
});
|
|
46
|
-
this.api.setState(state => _extends({}, state, {
|
|
47
|
-
dataSource: _extends({}, state.dataSource, {
|
|
48
|
-
loading: _extends({}, state.dataSource.loading, loadingIds)
|
|
49
|
-
})
|
|
50
|
-
}));
|
|
51
|
-
this.processQueue();
|
|
52
|
-
};
|
|
53
|
-
this.setRequestSettled = id => {
|
|
54
|
-
this.pendingRequests.delete(id);
|
|
55
|
-
this.settledRequests.add(id);
|
|
56
|
-
this.processQueue();
|
|
57
|
-
};
|
|
58
|
-
this.clear = () => {
|
|
59
|
-
this.queuedRequests.clear();
|
|
60
|
-
Array.from(this.pendingRequests).forEach(id => this.clearPendingRequest(id));
|
|
61
|
-
};
|
|
62
|
-
this.clearPendingRequest = id => {
|
|
63
|
-
this.api.dataSource.setChildrenLoading(id, false);
|
|
64
|
-
this.pendingRequests.delete(id);
|
|
65
|
-
this.processQueue();
|
|
66
|
-
};
|
|
67
|
-
this.getRequestStatus = id => {
|
|
68
|
-
if (this.pendingRequests.has(id)) {
|
|
69
|
-
return RequestStatus.PENDING;
|
|
70
|
-
}
|
|
71
|
-
if (this.queuedRequests.has(id)) {
|
|
72
|
-
return RequestStatus.QUEUED;
|
|
73
|
-
}
|
|
74
|
-
if (this.settledRequests.has(id)) {
|
|
75
|
-
return RequestStatus.SETTLED;
|
|
76
|
-
}
|
|
77
|
-
return RequestStatus.UNKNOWN;
|
|
78
|
-
};
|
|
79
|
-
this.getActiveRequestsCount = () => this.pendingRequests.size + this.queuedRequests.size;
|
|
80
22
|
this.api = privateApiRef.current;
|
|
81
23
|
this.maxConcurrentRequests = maxConcurrentRequests;
|
|
82
24
|
}
|
|
25
|
+
processQueue = async () => {
|
|
26
|
+
if (this.queuedRequests.size === 0 || this.pendingRequests.size >= this.maxConcurrentRequests) {
|
|
27
|
+
return;
|
|
28
|
+
}
|
|
29
|
+
const loopLength = Math.min(this.maxConcurrentRequests - this.pendingRequests.size, this.queuedRequests.size);
|
|
30
|
+
if (loopLength === 0) {
|
|
31
|
+
return;
|
|
32
|
+
}
|
|
33
|
+
const fetchQueue = Array.from(this.queuedRequests);
|
|
34
|
+
for (let i = 0; i < loopLength; i += 1) {
|
|
35
|
+
const id = fetchQueue[i];
|
|
36
|
+
this.queuedRequests.delete(id);
|
|
37
|
+
this.pendingRequests.add(id);
|
|
38
|
+
this.api.fetchRowChildren(id);
|
|
39
|
+
}
|
|
40
|
+
};
|
|
41
|
+
queue = async ids => {
|
|
42
|
+
const loadingIds = {};
|
|
43
|
+
ids.forEach(id => {
|
|
44
|
+
this.queuedRequests.add(id);
|
|
45
|
+
loadingIds[id] = true;
|
|
46
|
+
});
|
|
47
|
+
this.api.setState(state => _extends({}, state, {
|
|
48
|
+
dataSource: _extends({}, state.dataSource, {
|
|
49
|
+
loading: _extends({}, state.dataSource.loading, loadingIds)
|
|
50
|
+
})
|
|
51
|
+
}));
|
|
52
|
+
this.processQueue();
|
|
53
|
+
};
|
|
54
|
+
setRequestSettled = id => {
|
|
55
|
+
this.pendingRequests.delete(id);
|
|
56
|
+
this.settledRequests.add(id);
|
|
57
|
+
this.processQueue();
|
|
58
|
+
};
|
|
59
|
+
clear = () => {
|
|
60
|
+
this.queuedRequests.clear();
|
|
61
|
+
Array.from(this.pendingRequests).forEach(id => this.clearPendingRequest(id));
|
|
62
|
+
};
|
|
63
|
+
clearPendingRequest = id => {
|
|
64
|
+
this.api.dataSource.setChildrenLoading(id, false);
|
|
65
|
+
this.pendingRequests.delete(id);
|
|
66
|
+
this.processQueue();
|
|
67
|
+
};
|
|
68
|
+
getRequestStatus = id => {
|
|
69
|
+
if (this.pendingRequests.has(id)) {
|
|
70
|
+
return RequestStatus.PENDING;
|
|
71
|
+
}
|
|
72
|
+
if (this.queuedRequests.has(id)) {
|
|
73
|
+
return RequestStatus.QUEUED;
|
|
74
|
+
}
|
|
75
|
+
if (this.settledRequests.has(id)) {
|
|
76
|
+
return RequestStatus.SETTLED;
|
|
77
|
+
}
|
|
78
|
+
return RequestStatus.UNKNOWN;
|
|
79
|
+
};
|
|
80
|
+
getActiveRequestsCount = () => this.pendingRequests.size + this.queuedRequests.size;
|
|
83
81
|
}
|
|
84
82
|
export const getGroupKeys = (tree, rowId) => {
|
|
85
83
|
const rowNode = tree[rowId];
|
package/esm/index.js
CHANGED
|
@@ -2,8 +2,6 @@ import { GRID_ROOT_GROUP_ID } from '@mui/x-data-grid';
|
|
|
2
2
|
// Single-linked list node
|
|
3
3
|
class Node {
|
|
4
4
|
constructor(data, next) {
|
|
5
|
-
this.next = void 0;
|
|
6
|
-
this.data = void 0;
|
|
7
5
|
this.next = next;
|
|
8
6
|
this.data = data;
|
|
9
7
|
}
|
|
@@ -20,8 +18,6 @@ class Node {
|
|
|
20
18
|
// Single-linked list container
|
|
21
19
|
class List {
|
|
22
20
|
constructor(first, last) {
|
|
23
|
-
this.first = void 0;
|
|
24
|
-
this.last = void 0;
|
|
25
21
|
this.first = first;
|
|
26
22
|
this.last = last;
|
|
27
23
|
}
|
|
@@ -21,71 +21,69 @@ let RequestStatus = exports.RequestStatus = /*#__PURE__*/function (RequestStatus
|
|
|
21
21
|
* Uses `GridRowId` to uniquely identify a request
|
|
22
22
|
*/
|
|
23
23
|
class NestedDataManager {
|
|
24
|
+
pendingRequests = new Set();
|
|
25
|
+
queuedRequests = new Set();
|
|
26
|
+
settledRequests = new Set();
|
|
24
27
|
constructor(privateApiRef, maxConcurrentRequests = MAX_CONCURRENT_REQUESTS) {
|
|
25
|
-
this.pendingRequests = new Set();
|
|
26
|
-
this.queuedRequests = new Set();
|
|
27
|
-
this.settledRequests = new Set();
|
|
28
|
-
this.api = void 0;
|
|
29
|
-
this.maxConcurrentRequests = void 0;
|
|
30
|
-
this.processQueue = async () => {
|
|
31
|
-
if (this.queuedRequests.size === 0 || this.pendingRequests.size >= this.maxConcurrentRequests) {
|
|
32
|
-
return;
|
|
33
|
-
}
|
|
34
|
-
const loopLength = Math.min(this.maxConcurrentRequests - this.pendingRequests.size, this.queuedRequests.size);
|
|
35
|
-
if (loopLength === 0) {
|
|
36
|
-
return;
|
|
37
|
-
}
|
|
38
|
-
const fetchQueue = Array.from(this.queuedRequests);
|
|
39
|
-
for (let i = 0; i < loopLength; i += 1) {
|
|
40
|
-
const id = fetchQueue[i];
|
|
41
|
-
this.queuedRequests.delete(id);
|
|
42
|
-
this.pendingRequests.add(id);
|
|
43
|
-
this.api.fetchRowChildren(id);
|
|
44
|
-
}
|
|
45
|
-
};
|
|
46
|
-
this.queue = async ids => {
|
|
47
|
-
const loadingIds = {};
|
|
48
|
-
ids.forEach(id => {
|
|
49
|
-
this.queuedRequests.add(id);
|
|
50
|
-
loadingIds[id] = true;
|
|
51
|
-
});
|
|
52
|
-
this.api.setState(state => (0, _extends2.default)({}, state, {
|
|
53
|
-
dataSource: (0, _extends2.default)({}, state.dataSource, {
|
|
54
|
-
loading: (0, _extends2.default)({}, state.dataSource.loading, loadingIds)
|
|
55
|
-
})
|
|
56
|
-
}));
|
|
57
|
-
this.processQueue();
|
|
58
|
-
};
|
|
59
|
-
this.setRequestSettled = id => {
|
|
60
|
-
this.pendingRequests.delete(id);
|
|
61
|
-
this.settledRequests.add(id);
|
|
62
|
-
this.processQueue();
|
|
63
|
-
};
|
|
64
|
-
this.clear = () => {
|
|
65
|
-
this.queuedRequests.clear();
|
|
66
|
-
Array.from(this.pendingRequests).forEach(id => this.clearPendingRequest(id));
|
|
67
|
-
};
|
|
68
|
-
this.clearPendingRequest = id => {
|
|
69
|
-
this.api.dataSource.setChildrenLoading(id, false);
|
|
70
|
-
this.pendingRequests.delete(id);
|
|
71
|
-
this.processQueue();
|
|
72
|
-
};
|
|
73
|
-
this.getRequestStatus = id => {
|
|
74
|
-
if (this.pendingRequests.has(id)) {
|
|
75
|
-
return RequestStatus.PENDING;
|
|
76
|
-
}
|
|
77
|
-
if (this.queuedRequests.has(id)) {
|
|
78
|
-
return RequestStatus.QUEUED;
|
|
79
|
-
}
|
|
80
|
-
if (this.settledRequests.has(id)) {
|
|
81
|
-
return RequestStatus.SETTLED;
|
|
82
|
-
}
|
|
83
|
-
return RequestStatus.UNKNOWN;
|
|
84
|
-
};
|
|
85
|
-
this.getActiveRequestsCount = () => this.pendingRequests.size + this.queuedRequests.size;
|
|
86
28
|
this.api = privateApiRef.current;
|
|
87
29
|
this.maxConcurrentRequests = maxConcurrentRequests;
|
|
88
30
|
}
|
|
31
|
+
processQueue = async () => {
|
|
32
|
+
if (this.queuedRequests.size === 0 || this.pendingRequests.size >= this.maxConcurrentRequests) {
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
35
|
+
const loopLength = Math.min(this.maxConcurrentRequests - this.pendingRequests.size, this.queuedRequests.size);
|
|
36
|
+
if (loopLength === 0) {
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
39
|
+
const fetchQueue = Array.from(this.queuedRequests);
|
|
40
|
+
for (let i = 0; i < loopLength; i += 1) {
|
|
41
|
+
const id = fetchQueue[i];
|
|
42
|
+
this.queuedRequests.delete(id);
|
|
43
|
+
this.pendingRequests.add(id);
|
|
44
|
+
this.api.fetchRowChildren(id);
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
queue = async ids => {
|
|
48
|
+
const loadingIds = {};
|
|
49
|
+
ids.forEach(id => {
|
|
50
|
+
this.queuedRequests.add(id);
|
|
51
|
+
loadingIds[id] = true;
|
|
52
|
+
});
|
|
53
|
+
this.api.setState(state => (0, _extends2.default)({}, state, {
|
|
54
|
+
dataSource: (0, _extends2.default)({}, state.dataSource, {
|
|
55
|
+
loading: (0, _extends2.default)({}, state.dataSource.loading, loadingIds)
|
|
56
|
+
})
|
|
57
|
+
}));
|
|
58
|
+
this.processQueue();
|
|
59
|
+
};
|
|
60
|
+
setRequestSettled = id => {
|
|
61
|
+
this.pendingRequests.delete(id);
|
|
62
|
+
this.settledRequests.add(id);
|
|
63
|
+
this.processQueue();
|
|
64
|
+
};
|
|
65
|
+
clear = () => {
|
|
66
|
+
this.queuedRequests.clear();
|
|
67
|
+
Array.from(this.pendingRequests).forEach(id => this.clearPendingRequest(id));
|
|
68
|
+
};
|
|
69
|
+
clearPendingRequest = id => {
|
|
70
|
+
this.api.dataSource.setChildrenLoading(id, false);
|
|
71
|
+
this.pendingRequests.delete(id);
|
|
72
|
+
this.processQueue();
|
|
73
|
+
};
|
|
74
|
+
getRequestStatus = id => {
|
|
75
|
+
if (this.pendingRequests.has(id)) {
|
|
76
|
+
return RequestStatus.PENDING;
|
|
77
|
+
}
|
|
78
|
+
if (this.queuedRequests.has(id)) {
|
|
79
|
+
return RequestStatus.QUEUED;
|
|
80
|
+
}
|
|
81
|
+
if (this.settledRequests.has(id)) {
|
|
82
|
+
return RequestStatus.SETTLED;
|
|
83
|
+
}
|
|
84
|
+
return RequestStatus.UNKNOWN;
|
|
85
|
+
};
|
|
86
|
+
getActiveRequestsCount = () => this.pendingRequests.size + this.queuedRequests.size;
|
|
89
87
|
}
|
|
90
88
|
exports.NestedDataManager = NestedDataManager;
|
|
91
89
|
const getGroupKeys = (tree, rowId) => {
|
package/index.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mui/x-data-grid-pro",
|
|
3
|
-
"version": "8.10.
|
|
3
|
+
"version": "8.10.1",
|
|
4
4
|
"author": "MUI Team",
|
|
5
5
|
"description": "The Pro plan edition of the MUI X Data Grid components.",
|
|
6
6
|
"main": "./index.js",
|
|
@@ -35,13 +35,13 @@
|
|
|
35
35
|
},
|
|
36
36
|
"dependencies": {
|
|
37
37
|
"@babel/runtime": "^7.28.2",
|
|
38
|
-
"@mui/utils": "^7.
|
|
38
|
+
"@mui/utils": "^7.3.1",
|
|
39
39
|
"@types/format-util": "^1.0.4",
|
|
40
40
|
"clsx": "^2.1.1",
|
|
41
41
|
"prop-types": "^15.8.1",
|
|
42
|
-
"@mui/x-data-grid": "8.10.
|
|
43
|
-
"@mui/x-
|
|
44
|
-
"@mui/x-
|
|
42
|
+
"@mui/x-data-grid": "8.10.1",
|
|
43
|
+
"@mui/x-license": "8.10.1",
|
|
44
|
+
"@mui/x-internals": "8.10.0"
|
|
45
45
|
},
|
|
46
46
|
"peerDependencies": {
|
|
47
47
|
"@emotion/react": "^11.9.0",
|
|
@@ -62,31 +62,30 @@
|
|
|
62
62
|
"engines": {
|
|
63
63
|
"node": ">=14.0.0"
|
|
64
64
|
},
|
|
65
|
-
"
|
|
65
|
+
"type": "commonjs",
|
|
66
|
+
"types": "./index.d.ts",
|
|
66
67
|
"exports": {
|
|
67
68
|
"./package.json": "./package.json",
|
|
68
69
|
".": {
|
|
69
|
-
"require": {
|
|
70
|
-
"types": "./index.d.ts",
|
|
71
|
-
"default": "./index.js"
|
|
72
|
-
},
|
|
73
70
|
"import": {
|
|
74
71
|
"types": "./esm/index.d.ts",
|
|
75
72
|
"default": "./esm/index.js"
|
|
73
|
+
},
|
|
74
|
+
"require": {
|
|
75
|
+
"types": "./index.d.ts",
|
|
76
|
+
"default": "./index.js"
|
|
76
77
|
}
|
|
77
78
|
},
|
|
78
79
|
"./*": {
|
|
79
|
-
"require": {
|
|
80
|
-
"types": "./*/index.d.ts",
|
|
81
|
-
"default": "./*/index.js"
|
|
82
|
-
},
|
|
83
80
|
"import": {
|
|
84
81
|
"types": "./esm/*/index.d.ts",
|
|
85
82
|
"default": "./esm/*/index.js"
|
|
83
|
+
},
|
|
84
|
+
"require": {
|
|
85
|
+
"types": "./*/index.d.ts",
|
|
86
|
+
"default": "./*/index.js"
|
|
86
87
|
}
|
|
87
88
|
},
|
|
88
|
-
"./esm": null
|
|
89
|
-
|
|
90
|
-
},
|
|
91
|
-
"types": "./index.d.ts"
|
|
89
|
+
"./esm": null
|
|
90
|
+
}
|
|
92
91
|
}
|
|
@@ -8,8 +8,6 @@ var _xDataGrid = require("@mui/x-data-grid");
|
|
|
8
8
|
// Single-linked list node
|
|
9
9
|
class Node {
|
|
10
10
|
constructor(data, next) {
|
|
11
|
-
this.next = void 0;
|
|
12
|
-
this.data = void 0;
|
|
13
11
|
this.next = next;
|
|
14
12
|
this.data = data;
|
|
15
13
|
}
|
|
@@ -26,8 +24,6 @@ class Node {
|
|
|
26
24
|
// Single-linked list container
|
|
27
25
|
class List {
|
|
28
26
|
constructor(first, last) {
|
|
29
|
-
this.first = void 0;
|
|
30
|
-
this.last = void 0;
|
|
31
27
|
this.first = first;
|
|
32
28
|
this.last = last;
|
|
33
29
|
}
|