@mui/x-data-grid 8.2.0 → 8.3.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/CHANGELOG.md +107 -0
- package/components/GridScrollArea.js +1 -2
- package/components/base/GridOverlays.js +2 -3
- package/components/columnSelection/GridHeaderCheckbox.js +4 -0
- package/esm/components/GridScrollArea.js +1 -2
- package/esm/components/base/GridOverlays.js +2 -3
- package/esm/components/columnSelection/GridHeaderCheckbox.js +4 -0
- package/esm/hooks/features/editing/useGridCellEditing.js +2 -1
- package/esm/hooks/features/editing/useGridRowEditing.js +7 -6
- package/esm/hooks/features/rowSelection/utils.js +1 -1
- package/esm/index.js +1 -1
- package/esm/material/index.js +24 -24
- package/esm/utils/cleanupTracking/TimerBasedCleanupTracking.d.ts +1 -1
- package/esm/utils/css/context.js +4 -1
- package/hooks/features/editing/useGridCellEditing.js +2 -1
- package/hooks/features/editing/useGridRowEditing.js +6 -5
- package/hooks/features/rowSelection/utils.js +1 -1
- package/index.js +1 -1
- package/material/index.js +24 -24
- package/package.json +4 -4
- package/utils/cleanupTracking/TimerBasedCleanupTracking.d.ts +1 -1
- package/utils/css/context.js +4 -1
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,113 @@
|
|
|
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.3.0
|
|
9
|
+
|
|
10
|
+
_May 8, 2025_
|
|
11
|
+
|
|
12
|
+
We'd like to offer a big thanks to the 11 contributors who made this release possible. Here are some highlights ✨:
|
|
13
|
+
|
|
14
|
+
- 🎨 Added new styling options and shapes for `<FunnelChart />`, including `variant`, `borderRadius`, `pyramid`, and `step-pyramid` curves.
|
|
15
|
+
- 📚 Documentation improvements
|
|
16
|
+
- 🐞 Bugfixes
|
|
17
|
+
|
|
18
|
+
Special thanks go out to this community member for a valuable contribution:
|
|
19
|
+
@ptuukkan.
|
|
20
|
+
Team members who have contributed to this release:
|
|
21
|
+
@alexfauquette, @arminmeh, @bernardobelchior, @flaviendelangle, @Janpot, @JCQuintas, @LukasTy, @MBilalShafi, @rita-codes, @romgrk.
|
|
22
|
+
|
|
23
|
+
### Data Grid
|
|
24
|
+
|
|
25
|
+
#### `@mui/x-data-grid@8.3.0`
|
|
26
|
+
|
|
27
|
+
- [DataGrid] Fix cell editing of computed columns with data source (#17684) @ptuukkan
|
|
28
|
+
- [DataGrid] Fix lazy loading crash with `isRowSelectable` prop (#17629) @MBilalShafi
|
|
29
|
+
- [DataGrid] Fix: use CSS nonce (#17726) @romgrk
|
|
30
|
+
- [DataGrid] Ignore `preProcessEditCellProps` for non-editable columns when starting a row update (#17732) @arminmeh
|
|
31
|
+
- [DataGrid] Avoid applying row selection propagation on filtered rows (#17739) @MBilalShafi
|
|
32
|
+
|
|
33
|
+
#### `@mui/x-data-grid-pro@8.3.0` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
34
|
+
|
|
35
|
+
Same changes as in `@mui/x-data-grid@8.3.0`.
|
|
36
|
+
|
|
37
|
+
#### `@mui/x-data-grid-premium@8.3.0` [](https://mui.com/r/x-premium-svg-link 'Premium plan')
|
|
38
|
+
|
|
39
|
+
Same changes as in `@mui/x-data-grid-pro@8.3.0`.
|
|
40
|
+
|
|
41
|
+
### Date and Time Pickers
|
|
42
|
+
|
|
43
|
+
#### `@mui/x-date-pickers@8.3.0`
|
|
44
|
+
|
|
45
|
+
- [DateTimePicker] Fix focus behavior on desktop variant (#17719) @LukasTy
|
|
46
|
+
- [pickers] Avoid `DigitalClock` stealing focus from a Picker open button on close (#17686) @LukasTy
|
|
47
|
+
|
|
48
|
+
#### `@mui/x-date-pickers-pro@8.3.0` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
49
|
+
|
|
50
|
+
Same changes as in `@mui/x-date-pickers@8.3.0`, plus:
|
|
51
|
+
|
|
52
|
+
- [DateRangePicker] Fix to reset range position after closing mobile Picker (#17631) @LukasTy
|
|
53
|
+
|
|
54
|
+
### Charts
|
|
55
|
+
|
|
56
|
+
- The `<FunnelChart />` series now accepts a `variant='outlined'` prop for a simpler style.
|
|
57
|
+
<img width="398" alt="Screenshot 2025-05-06 at 20 36 12" src="https://github.com/user-attachments/assets/00fef14f-9026-421e-a4b6-7e081adce1e8" />
|
|
58
|
+
|
|
59
|
+
- Add a `borderRadius` property to `<FunnelChart />`. All funnels have `8px` as a default value.
|
|
60
|
+
<img width="386" alt="Screenshot 2025-05-06 at 14 00 20" src="https://github.com/user-attachments/assets/4f4cc0e7-01ce-4ed6-a0e1-a387f78def23" />
|
|
61
|
+
|
|
62
|
+
- Add a `pyramid` curve to `<FunnelChart />`, which allows creation of a pyramid-shaped funnel.
|
|
63
|
+
<img width="344" alt="Screenshot 2025-05-06 at 14 32 59" src="https://github.com/user-attachments/assets/0b2896e0-0478-4766-bb1b-258a4977a751" />
|
|
64
|
+
|
|
65
|
+
- Add a `step-pyramid` curve to `<FunnelChart />`, which creates a stepped-pyramid like shape.
|
|
66
|
+
<img width="344" alt="Screenshot 2025-05-06 at 14 33 03" src="https://github.com/user-attachments/assets/894f0ab3-7898-40fe-b0df-560feea4085a" />
|
|
67
|
+
|
|
68
|
+
#### `@mui/x-charts@8.3.0`
|
|
69
|
+
|
|
70
|
+
- [charts] Add charts toolbar with zoom options (#17615) @bernardobelchior
|
|
71
|
+
- [charts] Add zoom slider (#17496) @bernardobelchior
|
|
72
|
+
- [charts] Cleanup compiler warnings (#17360) @alexfauquette
|
|
73
|
+
- [charts] Fix `<PieArcLabel />` not taking `arcLabelRadius` into account (#17655) @bernardobelchior
|
|
74
|
+
- [charts] Fix spark line not having clip path (#17501) @bernardobelchior
|
|
75
|
+
- [charts] Fix type issue with ESM (#17624) @alexfauquette
|
|
76
|
+
- [charts] Improve `<MarkElement />` performance (#17546) @bernardobelchior
|
|
77
|
+
- [charts] Rename `materialSlots` internal constant (#17710) @bernardobelchior
|
|
78
|
+
- [charts] Update zoom slider design (#17682) @bernardobelchior
|
|
79
|
+
- [charts] Fix zoom being documented as available for heatmap (#17657) @bernardobelchior
|
|
80
|
+
|
|
81
|
+
#### `@mui/x-charts-pro@8.3.0` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
82
|
+
|
|
83
|
+
Same changes as in `@mui/x-charts@8.3.0`, plus:
|
|
84
|
+
|
|
85
|
+
- [charts-pro] Add `pyramid` curve to `<FunnelChart />` (#17665) @JCQuintas
|
|
86
|
+
- [charts-pro] Add `variant='outlined'` to `<FunnelChart />` series (#17661) @JCQuintas
|
|
87
|
+
- [charts-pro] Add a `borderRadius` property to `<FunnelChart />` (#17660) @JCQuintas
|
|
88
|
+
|
|
89
|
+
### Tree View
|
|
90
|
+
|
|
91
|
+
#### `@mui/x-tree-view@8.3.0`
|
|
92
|
+
|
|
93
|
+
- [tree view] Bug fix - Escape does not cancel Drag n Drop (#17735) @rita-codes
|
|
94
|
+
- [tree view] Fix keyboard navigation error (#17685) @rita-codes
|
|
95
|
+
- [tree view] Continue cleaning the plugin system (#17386) @flaviendelangle
|
|
96
|
+
|
|
97
|
+
#### `@mui/x-tree-view-pro@8.3.0` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
98
|
+
|
|
99
|
+
Same changes as in `@mui/x-tree-view@8.3.0`.
|
|
100
|
+
|
|
101
|
+
### Docs
|
|
102
|
+
|
|
103
|
+
- [charts] Add population pyramid demo (#17652) @bernardobelchior
|
|
104
|
+
- [charts] Fix randomised argos test (#17658) @JCQuintas
|
|
105
|
+
- [docs] Make preview messaging consistent in charts @bernardobelchior
|
|
106
|
+
|
|
107
|
+
### Core
|
|
108
|
+
|
|
109
|
+
- [code-infra] Avoid `node` types in the built packages (#17533) @LukasTy
|
|
110
|
+
- [code-infra] Add `pkg.pr.new` publishing (#17402) @Janpot
|
|
111
|
+
- [code-infra] Normalize author package in org @oliviertassinari
|
|
112
|
+
- [code-infra] Remove required checkout step (#17729) @JCQuintas
|
|
113
|
+
- [docs-infra] Normalize netlify.toml in org @oliviertassinari
|
|
114
|
+
|
|
8
115
|
## 8.2.0
|
|
9
116
|
|
|
10
117
|
_May 1, 2025_
|
|
@@ -9,7 +9,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
9
9
|
exports.GridScrollArea = void 0;
|
|
10
10
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
11
11
|
var React = _interopRequireWildcard(require("react"));
|
|
12
|
-
var _clsx = _interopRequireDefault(require("clsx"));
|
|
13
12
|
var _useEventCallback = _interopRequireDefault(require("@mui/utils/useEventCallback"));
|
|
14
13
|
var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"));
|
|
15
14
|
var _system = require("@mui/system");
|
|
@@ -149,7 +148,7 @@ function GridScrollAreaContent(props) {
|
|
|
149
148
|
}
|
|
150
149
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(GridScrollAreaRawRoot, {
|
|
151
150
|
ref: rootRef,
|
|
152
|
-
className:
|
|
151
|
+
className: classes.root,
|
|
153
152
|
ownerState: ownerState,
|
|
154
153
|
onDragOver: handleDragOver,
|
|
155
154
|
style: style
|
|
@@ -11,7 +11,6 @@ var React = _interopRequireWildcard(require("react"));
|
|
|
11
11
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
12
12
|
var _system = require("@mui/system");
|
|
13
13
|
var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"));
|
|
14
|
-
var _clsx = _interopRequireDefault(require("clsx"));
|
|
15
14
|
var _gridRowsUtils = require("../../hooks/features/rows/gridRowsUtils");
|
|
16
15
|
var _useGridSelector = require("../../hooks/utils/useGridSelector");
|
|
17
16
|
var _dimensions = require("../../hooks/features/dimensions");
|
|
@@ -70,11 +69,11 @@ function GridOverlayWrapper(props) {
|
|
|
70
69
|
classes: rootProps.classes
|
|
71
70
|
}));
|
|
72
71
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(GridOverlayWrapperRoot, (0, _extends2.default)({
|
|
73
|
-
className:
|
|
72
|
+
className: classes.root
|
|
74
73
|
}, props, {
|
|
75
74
|
right: dimensions.columnsTotalWidth - dimensions.viewportOuterSize.width,
|
|
76
75
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(GridOverlayWrapperInner, (0, _extends2.default)({
|
|
77
|
-
className:
|
|
76
|
+
className: classes.inner,
|
|
78
77
|
style: {
|
|
79
78
|
height,
|
|
80
79
|
width: dimensions.viewportOuterSize.width
|
|
@@ -83,6 +83,10 @@ const GridHeaderCheckbox = exports.GridHeaderCheckbox = (0, _forwardRef.forwardR
|
|
|
83
83
|
const candidates = new Set();
|
|
84
84
|
for (let i = 0; i < rowIds.length; i += 1) {
|
|
85
85
|
const id = rowIds[i];
|
|
86
|
+
if (!apiRef.current.getRow(id)) {
|
|
87
|
+
// The row could have been removed
|
|
88
|
+
continue;
|
|
89
|
+
}
|
|
86
90
|
if (apiRef.current.isRowSelectable(id)) {
|
|
87
91
|
candidates.add(id);
|
|
88
92
|
}
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
|
|
3
3
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
4
4
|
import * as React from 'react';
|
|
5
|
-
import clsx from 'clsx';
|
|
6
5
|
import useEventCallback from '@mui/utils/useEventCallback';
|
|
7
6
|
import composeClasses from '@mui/utils/composeClasses';
|
|
8
7
|
import { styled } from '@mui/system';
|
|
@@ -142,7 +141,7 @@ function GridScrollAreaContent(props) {
|
|
|
142
141
|
}
|
|
143
142
|
return /*#__PURE__*/_jsx(GridScrollAreaRawRoot, {
|
|
144
143
|
ref: rootRef,
|
|
145
|
-
className:
|
|
144
|
+
className: classes.root,
|
|
146
145
|
ownerState: ownerState,
|
|
147
146
|
onDragOver: handleDragOver,
|
|
148
147
|
style: style
|
|
@@ -3,7 +3,6 @@ import * as React from 'react';
|
|
|
3
3
|
import PropTypes from 'prop-types';
|
|
4
4
|
import { styled } from '@mui/system';
|
|
5
5
|
import composeClasses from '@mui/utils/composeClasses';
|
|
6
|
-
import clsx from 'clsx';
|
|
7
6
|
import { minimalContentHeight } from "../../hooks/features/rows/gridRowsUtils.js";
|
|
8
7
|
import { useGridSelector } from "../../hooks/utils/useGridSelector.js";
|
|
9
8
|
import { gridDimensionsSelector } from "../../hooks/features/dimensions/index.js";
|
|
@@ -62,11 +61,11 @@ export function GridOverlayWrapper(props) {
|
|
|
62
61
|
classes: rootProps.classes
|
|
63
62
|
}));
|
|
64
63
|
return /*#__PURE__*/_jsx(GridOverlayWrapperRoot, _extends({
|
|
65
|
-
className:
|
|
64
|
+
className: classes.root
|
|
66
65
|
}, props, {
|
|
67
66
|
right: dimensions.columnsTotalWidth - dimensions.viewportOuterSize.width,
|
|
68
67
|
children: /*#__PURE__*/_jsx(GridOverlayWrapperInner, _extends({
|
|
69
|
-
className:
|
|
68
|
+
className: classes.inner,
|
|
70
69
|
style: {
|
|
71
70
|
height,
|
|
72
71
|
width: dimensions.viewportOuterSize.width
|
|
@@ -75,6 +75,10 @@ const GridHeaderCheckbox = forwardRef(function GridHeaderCheckbox(props, ref) {
|
|
|
75
75
|
const candidates = new Set();
|
|
76
76
|
for (let i = 0; i < rowIds.length; i += 1) {
|
|
77
77
|
const id = rowIds[i];
|
|
78
|
+
if (!apiRef.current.getRow(id)) {
|
|
79
|
+
// The row could have been removed
|
|
80
|
+
continue;
|
|
81
|
+
}
|
|
78
82
|
if (apiRef.current.isRowSelectable(id)) {
|
|
79
83
|
candidates.add(id);
|
|
80
84
|
}
|
|
@@ -7,6 +7,7 @@ import * as React from 'react';
|
|
|
7
7
|
import { warnOnce } from '@mui/x-internals/warning';
|
|
8
8
|
import useEventCallback from '@mui/utils/useEventCallback';
|
|
9
9
|
import useEnhancedEffect from '@mui/utils/useEnhancedEffect';
|
|
10
|
+
import { isDeepEqual } from '@mui/x-internals/isDeepEqual';
|
|
10
11
|
import { useGridEvent, useGridEventPriority } from "../../utils/useGridEvent.js";
|
|
11
12
|
import { GridEditModes, GridCellModes } from "../../../models/gridEditRowModel.js";
|
|
12
13
|
import { useGridApiMethod } from "../../utils/useGridApiMethod.js";
|
|
@@ -330,7 +331,7 @@ export const useGridCellEditing = (apiRef, props) => {
|
|
|
330
331
|
}
|
|
331
332
|
const rowUpdate = apiRef.current.getRowWithUpdatedValuesFromCellEditing(id, field);
|
|
332
333
|
if (props.dataSource?.updateRow) {
|
|
333
|
-
if (row
|
|
334
|
+
if (isDeepEqual(row, rowUpdate)) {
|
|
334
335
|
finishCellEditMode();
|
|
335
336
|
return;
|
|
336
337
|
}
|
|
@@ -13,7 +13,7 @@ import { GridEditModes, GridRowModes } from "../../../models/gridEditRowModel.js
|
|
|
13
13
|
import { useGridApiMethod } from "../../utils/useGridApiMethod.js";
|
|
14
14
|
import { gridEditRowsStateSelector, gridRowIsEditingSelector } from "./gridEditingSelectors.js";
|
|
15
15
|
import { isPrintableKey, isPasteShortcut } from "../../../utils/keyboardUtils.js";
|
|
16
|
-
import {
|
|
16
|
+
import { gridColumnDefinitionsSelector, gridVisibleColumnFieldsSelector } from "../columns/gridColumnsSelector.js";
|
|
17
17
|
import { gridRowsLookupSelector } from "../rows/gridRowsSelector.js";
|
|
18
18
|
import { deepClone } from "../../../utils/utils.js";
|
|
19
19
|
import { GridRowEditStopReasons, GridRowEditStartReasons } from "../../../models/params/gridRowParams.js";
|
|
@@ -313,8 +313,9 @@ export const useGridRowEditing = (apiRef, props) => {
|
|
|
313
313
|
initialValue
|
|
314
314
|
} = params;
|
|
315
315
|
const row = apiRef.current.getRow(id);
|
|
316
|
-
const
|
|
317
|
-
const newProps =
|
|
316
|
+
const columns = gridColumnDefinitionsSelector(apiRef);
|
|
317
|
+
const newProps = columns.reduce((acc, col) => {
|
|
318
|
+
const field = col.field;
|
|
318
319
|
const cellParams = apiRef.current.getCellParams(id, field);
|
|
319
320
|
if (!cellParams.isEditable) {
|
|
320
321
|
return acc;
|
|
@@ -331,7 +332,7 @@ export const useGridRowEditing = (apiRef, props) => {
|
|
|
331
332
|
acc[field] = {
|
|
332
333
|
value: newValue,
|
|
333
334
|
error: false,
|
|
334
|
-
isProcessingProps: !!column.preProcessEditCellProps && deleteValue
|
|
335
|
+
isProcessingProps: column.editable && !!column.preProcessEditCellProps && deleteValue
|
|
335
336
|
};
|
|
336
337
|
return acc;
|
|
337
338
|
}, {});
|
|
@@ -340,8 +341,8 @@ export const useGridRowEditing = (apiRef, props) => {
|
|
|
340
341
|
if (fieldToFocus) {
|
|
341
342
|
apiRef.current.setCellFocus(id, fieldToFocus);
|
|
342
343
|
}
|
|
343
|
-
|
|
344
|
-
const
|
|
344
|
+
columns.filter(column => column.editable && !!column.preProcessEditCellProps && deleteValue).forEach(column => {
|
|
345
|
+
const field = column.field;
|
|
345
346
|
const value = apiRef.current.getCellValue(id, field);
|
|
346
347
|
const newValue = deleteValue ? getDefaultCellValue(column) : initialValue ?? value;
|
|
347
348
|
Promise.resolve(column.preProcessEditCellProps({
|
|
@@ -97,7 +97,7 @@ const getFilteredRowNodeSiblings = (tree, filteredRows, id) => {
|
|
|
97
97
|
export const findRowsToSelect = (apiRef, tree, selectedRow, autoSelectDescendants, autoSelectParents, addRow, rowSelectionManager = gridRowSelectionManagerSelector(apiRef)) => {
|
|
98
98
|
const filteredRows = gridFilteredRowsLookupSelector(apiRef);
|
|
99
99
|
const selectedDescendants = new Set([]);
|
|
100
|
-
if (!autoSelectDescendants && !autoSelectParents) {
|
|
100
|
+
if (!autoSelectDescendants && !autoSelectParents || filteredRows[selectedRow] === false) {
|
|
101
101
|
return;
|
|
102
102
|
}
|
|
103
103
|
if (autoSelectDescendants) {
|
package/esm/index.js
CHANGED
package/esm/material/index.js
CHANGED
|
@@ -9,19 +9,19 @@ const _excluded = ["id", "label", "labelId", "material", "disabled", "slotProps"
|
|
|
9
9
|
_excluded7 = ["material"],
|
|
10
10
|
_excluded8 = ["material"],
|
|
11
11
|
_excluded9 = ["material"],
|
|
12
|
+
_excluded0 = ["material"],
|
|
13
|
+
_excluded1 = ["material"],
|
|
12
14
|
_excluded10 = ["material"],
|
|
13
|
-
_excluded11 = ["material"],
|
|
15
|
+
_excluded11 = ["material", "label", "className"],
|
|
14
16
|
_excluded12 = ["material"],
|
|
15
|
-
_excluded13 = ["
|
|
16
|
-
_excluded14 = ["material"],
|
|
17
|
-
_excluded15 = ["
|
|
18
|
-
_excluded16 = ["
|
|
19
|
-
_excluded17 = ["
|
|
20
|
-
_excluded18 = ["
|
|
21
|
-
_excluded19 = ["
|
|
22
|
-
_excluded20 = ["
|
|
23
|
-
_excluded21 = ["ref", "open", "children", "className", "clickAwayTouchEvent", "clickAwayMouseEvent", "flip", "focusTrap", "onExited", "onClickAway", "onDidShow", "onDidHide", "id", "target", "transition", "placement", "material"],
|
|
24
|
-
_excluded22 = ["native"];
|
|
17
|
+
_excluded13 = ["inert", "iconStart", "iconEnd", "children", "material"],
|
|
18
|
+
_excluded14 = ["slotProps", "material"],
|
|
19
|
+
_excluded15 = ["id", "multiple", "freeSolo", "options", "getOptionLabel", "isOptionEqualToValue", "value", "onChange", "label", "placeholder", "slotProps", "material"],
|
|
20
|
+
_excluded16 = ["key"],
|
|
21
|
+
_excluded17 = ["inputProps", "InputProps", "InputLabelProps"],
|
|
22
|
+
_excluded18 = ["slotProps", "material"],
|
|
23
|
+
_excluded19 = ["ref", "open", "children", "className", "clickAwayTouchEvent", "clickAwayMouseEvent", "flip", "focusTrap", "onExited", "onClickAway", "onDidShow", "onDidHide", "id", "target", "transition", "placement", "material"],
|
|
24
|
+
_excluded20 = ["native"];
|
|
25
25
|
import * as React from 'react';
|
|
26
26
|
import clsx from 'clsx';
|
|
27
27
|
import useForkRef from '@mui/utils/useForkRef';
|
|
@@ -327,7 +327,7 @@ const BaseIconButton = forwardRef(function BaseIconButton(props, ref) {
|
|
|
327
327
|
const {
|
|
328
328
|
material
|
|
329
329
|
} = props,
|
|
330
|
-
rest = _objectWithoutPropertiesLoose(props,
|
|
330
|
+
rest = _objectWithoutPropertiesLoose(props, _excluded0);
|
|
331
331
|
return /*#__PURE__*/_jsx(MUIIconButton, _extends({}, rest, material, {
|
|
332
332
|
ref: ref
|
|
333
333
|
}));
|
|
@@ -336,7 +336,7 @@ const BaseTooltip = forwardRef(function BaseTooltip(props, ref) {
|
|
|
336
336
|
const {
|
|
337
337
|
material
|
|
338
338
|
} = props,
|
|
339
|
-
rest = _objectWithoutPropertiesLoose(props,
|
|
339
|
+
rest = _objectWithoutPropertiesLoose(props, _excluded1);
|
|
340
340
|
return /*#__PURE__*/_jsx(MUITooltip, _extends({}, rest, material, {
|
|
341
341
|
ref: ref
|
|
342
342
|
}));
|
|
@@ -345,7 +345,7 @@ const BaseSkeleton = forwardRef(function BaseSkeleton(props, ref) {
|
|
|
345
345
|
const {
|
|
346
346
|
material
|
|
347
347
|
} = props,
|
|
348
|
-
rest = _objectWithoutPropertiesLoose(props,
|
|
348
|
+
rest = _objectWithoutPropertiesLoose(props, _excluded10);
|
|
349
349
|
return /*#__PURE__*/_jsx(MUISkeleton, _extends({}, rest, material, {
|
|
350
350
|
ref: ref
|
|
351
351
|
}));
|
|
@@ -356,7 +356,7 @@ const BaseSwitch = forwardRef(function BaseSwitch(props, ref) {
|
|
|
356
356
|
label,
|
|
357
357
|
className
|
|
358
358
|
} = props,
|
|
359
|
-
rest = _objectWithoutPropertiesLoose(props,
|
|
359
|
+
rest = _objectWithoutPropertiesLoose(props, _excluded11);
|
|
360
360
|
if (!label) {
|
|
361
361
|
return /*#__PURE__*/_jsx(MUISwitch, _extends({}, rest, material, {
|
|
362
362
|
className: className,
|
|
@@ -375,7 +375,7 @@ const BaseMenuList = forwardRef(function BaseMenuList(props, ref) {
|
|
|
375
375
|
const {
|
|
376
376
|
material
|
|
377
377
|
} = props,
|
|
378
|
-
rest = _objectWithoutPropertiesLoose(props,
|
|
378
|
+
rest = _objectWithoutPropertiesLoose(props, _excluded12);
|
|
379
379
|
return /*#__PURE__*/_jsx(MUIMenuList, _extends({}, rest, material, {
|
|
380
380
|
ref: ref
|
|
381
381
|
}));
|
|
@@ -388,7 +388,7 @@ function BaseMenuItem(props) {
|
|
|
388
388
|
children,
|
|
389
389
|
material
|
|
390
390
|
} = props,
|
|
391
|
-
other = _objectWithoutPropertiesLoose(props,
|
|
391
|
+
other = _objectWithoutPropertiesLoose(props, _excluded13);
|
|
392
392
|
if (inert) {
|
|
393
393
|
other.disableRipple = true;
|
|
394
394
|
}
|
|
@@ -407,7 +407,7 @@ function BaseTextField(props) {
|
|
|
407
407
|
slotProps,
|
|
408
408
|
material
|
|
409
409
|
} = props,
|
|
410
|
-
rest = _objectWithoutPropertiesLoose(props,
|
|
410
|
+
rest = _objectWithoutPropertiesLoose(props, _excluded14);
|
|
411
411
|
return /*#__PURE__*/_jsx(MUITextField, _extends({
|
|
412
412
|
variant: "outlined"
|
|
413
413
|
}, rest, material, {
|
|
@@ -434,7 +434,7 @@ function BaseAutocomplete(props) {
|
|
|
434
434
|
slotProps,
|
|
435
435
|
material
|
|
436
436
|
} = props,
|
|
437
|
-
rest = _objectWithoutPropertiesLoose(props,
|
|
437
|
+
rest = _objectWithoutPropertiesLoose(props, _excluded15);
|
|
438
438
|
return /*#__PURE__*/_jsx(MUIAutocomplete, _extends({
|
|
439
439
|
id: id,
|
|
440
440
|
multiple: multiple,
|
|
@@ -451,7 +451,7 @@ function BaseAutocomplete(props) {
|
|
|
451
451
|
{
|
|
452
452
|
key
|
|
453
453
|
} = _getTagProps,
|
|
454
|
-
tagProps = _objectWithoutPropertiesLoose(_getTagProps,
|
|
454
|
+
tagProps = _objectWithoutPropertiesLoose(_getTagProps, _excluded16);
|
|
455
455
|
return /*#__PURE__*/_jsx(MUIChip, _extends({
|
|
456
456
|
variant: "outlined",
|
|
457
457
|
size: "small",
|
|
@@ -464,7 +464,7 @@ function BaseAutocomplete(props) {
|
|
|
464
464
|
InputProps,
|
|
465
465
|
InputLabelProps
|
|
466
466
|
} = params,
|
|
467
|
-
inputRest = _objectWithoutPropertiesLoose(params,
|
|
467
|
+
inputRest = _objectWithoutPropertiesLoose(params, _excluded17);
|
|
468
468
|
return /*#__PURE__*/_jsx(MUITextField, _extends({}, inputRest, {
|
|
469
469
|
label: label,
|
|
470
470
|
placeholder: placeholder,
|
|
@@ -488,7 +488,7 @@ function transformInputProps(props, wrapAdornments = true) {
|
|
|
488
488
|
slotProps,
|
|
489
489
|
material
|
|
490
490
|
} = props,
|
|
491
|
-
rest = _objectWithoutPropertiesLoose(props,
|
|
491
|
+
rest = _objectWithoutPropertiesLoose(props, _excluded18);
|
|
492
492
|
const result = rest;
|
|
493
493
|
if (wrapAdornments) {
|
|
494
494
|
if (result.startAdornment) {
|
|
@@ -537,7 +537,7 @@ function BasePopper(props) {
|
|
|
537
537
|
placement,
|
|
538
538
|
material
|
|
539
539
|
} = props,
|
|
540
|
-
rest = _objectWithoutPropertiesLoose(props,
|
|
540
|
+
rest = _objectWithoutPropertiesLoose(props, _excluded19);
|
|
541
541
|
const modifiers = React.useMemo(() => {
|
|
542
542
|
const result = [{
|
|
543
543
|
name: 'preventOverflow',
|
|
@@ -635,7 +635,7 @@ function BaseSelectOption(_ref) {
|
|
|
635
635
|
let {
|
|
636
636
|
native
|
|
637
637
|
} = _ref,
|
|
638
|
-
props = _objectWithoutPropertiesLoose(_ref,
|
|
638
|
+
props = _objectWithoutPropertiesLoose(_ref, _excluded20);
|
|
639
639
|
if (native) {
|
|
640
640
|
return /*#__PURE__*/_jsx("option", _extends({}, props));
|
|
641
641
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { CleanupTracking, UnregisterToken, UnsubscribeFn } from "./CleanupTracking.js";
|
|
2
2
|
export declare class TimerBasedCleanupTracking implements CleanupTracking {
|
|
3
|
-
timeouts?: Map<number,
|
|
3
|
+
timeouts?: Map<number, number> | undefined;
|
|
4
4
|
cleanupTimeout: number;
|
|
5
5
|
constructor(timeout?: number);
|
|
6
6
|
register(object: any, unsubscribe: UnsubscribeFn, unregisterToken: UnregisterToken): void;
|
package/esm/utils/css/context.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
+
import { useGridRootProps } from "../../hooks/utils/useGridRootProps.js";
|
|
2
3
|
import { useGridConfiguration } from "../../hooks/utils/useGridConfiguration.js";
|
|
3
4
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
4
5
|
const CLASSNAME_PREFIX = 'MuiDataGridVariables';
|
|
@@ -25,19 +26,21 @@ export function GridPortalWrapper({
|
|
|
25
26
|
}
|
|
26
27
|
export function GridCSSVariablesContext(props) {
|
|
27
28
|
const config = useGridConfiguration();
|
|
29
|
+
const rootProps = useGridRootProps();
|
|
28
30
|
const description = config.hooks.useCSSVariables();
|
|
29
31
|
const context = React.useMemo(() => {
|
|
30
32
|
const className = `${CLASSNAME_PREFIX}-${description.id}`;
|
|
31
33
|
const cssString = `.${className}{${variablesToString(description.variables)}}`;
|
|
32
34
|
const tag = /*#__PURE__*/_jsx("style", {
|
|
33
35
|
href: `/${className}`,
|
|
36
|
+
nonce: rootProps.nonce,
|
|
34
37
|
children: cssString
|
|
35
38
|
});
|
|
36
39
|
return {
|
|
37
40
|
className,
|
|
38
41
|
tag
|
|
39
42
|
};
|
|
40
|
-
}, [description]);
|
|
43
|
+
}, [rootProps.nonce, description]);
|
|
41
44
|
return /*#__PURE__*/_jsx(CSSVariablesContext.Provider, {
|
|
42
45
|
value: context,
|
|
43
46
|
children: props.children
|
|
@@ -13,6 +13,7 @@ var React = _interopRequireWildcard(require("react"));
|
|
|
13
13
|
var _warning = require("@mui/x-internals/warning");
|
|
14
14
|
var _useEventCallback = _interopRequireDefault(require("@mui/utils/useEventCallback"));
|
|
15
15
|
var _useEnhancedEffect = _interopRequireDefault(require("@mui/utils/useEnhancedEffect"));
|
|
16
|
+
var _isDeepEqual = require("@mui/x-internals/isDeepEqual");
|
|
16
17
|
var _useGridEvent = require("../../utils/useGridEvent");
|
|
17
18
|
var _gridEditRowModel = require("../../../models/gridEditRowModel");
|
|
18
19
|
var _useGridApiMethod = require("../../utils/useGridApiMethod");
|
|
@@ -338,7 +339,7 @@ const useGridCellEditing = (apiRef, props) => {
|
|
|
338
339
|
}
|
|
339
340
|
const rowUpdate = apiRef.current.getRowWithUpdatedValuesFromCellEditing(id, field);
|
|
340
341
|
if (props.dataSource?.updateRow) {
|
|
341
|
-
if (row
|
|
342
|
+
if ((0, _isDeepEqual.isDeepEqual)(row, rowUpdate)) {
|
|
342
343
|
finishCellEditMode();
|
|
343
344
|
return;
|
|
344
345
|
}
|
|
@@ -321,8 +321,9 @@ const useGridRowEditing = (apiRef, props) => {
|
|
|
321
321
|
initialValue
|
|
322
322
|
} = params;
|
|
323
323
|
const row = apiRef.current.getRow(id);
|
|
324
|
-
const
|
|
325
|
-
const newProps =
|
|
324
|
+
const columns = (0, _gridColumnsSelector.gridColumnDefinitionsSelector)(apiRef);
|
|
325
|
+
const newProps = columns.reduce((acc, col) => {
|
|
326
|
+
const field = col.field;
|
|
326
327
|
const cellParams = apiRef.current.getCellParams(id, field);
|
|
327
328
|
if (!cellParams.isEditable) {
|
|
328
329
|
return acc;
|
|
@@ -339,7 +340,7 @@ const useGridRowEditing = (apiRef, props) => {
|
|
|
339
340
|
acc[field] = {
|
|
340
341
|
value: newValue,
|
|
341
342
|
error: false,
|
|
342
|
-
isProcessingProps: !!column.preProcessEditCellProps && deleteValue
|
|
343
|
+
isProcessingProps: column.editable && !!column.preProcessEditCellProps && deleteValue
|
|
343
344
|
};
|
|
344
345
|
return acc;
|
|
345
346
|
}, {});
|
|
@@ -348,8 +349,8 @@ const useGridRowEditing = (apiRef, props) => {
|
|
|
348
349
|
if (fieldToFocus) {
|
|
349
350
|
apiRef.current.setCellFocus(id, fieldToFocus);
|
|
350
351
|
}
|
|
351
|
-
|
|
352
|
-
const
|
|
352
|
+
columns.filter(column => column.editable && !!column.preProcessEditCellProps && deleteValue).forEach(column => {
|
|
353
|
+
const field = column.field;
|
|
353
354
|
const value = apiRef.current.getCellValue(id, field);
|
|
354
355
|
const newValue = deleteValue ? (0, _utils2.getDefaultCellValue)(column) : initialValue ?? value;
|
|
355
356
|
Promise.resolve(column.preProcessEditCellProps({
|
|
@@ -105,7 +105,7 @@ const getFilteredRowNodeSiblings = (tree, filteredRows, id) => {
|
|
|
105
105
|
const findRowsToSelect = (apiRef, tree, selectedRow, autoSelectDescendants, autoSelectParents, addRow, rowSelectionManager = (0, _gridRowSelectionSelector.gridRowSelectionManagerSelector)(apiRef)) => {
|
|
106
106
|
const filteredRows = (0, _gridFilterSelector.gridFilteredRowsLookupSelector)(apiRef);
|
|
107
107
|
const selectedDescendants = new Set([]);
|
|
108
|
-
if (!autoSelectDescendants && !autoSelectParents) {
|
|
108
|
+
if (!autoSelectDescendants && !autoSelectParents || filteredRows[selectedRow] === false) {
|
|
109
109
|
return;
|
|
110
110
|
}
|
|
111
111
|
if (autoSelectDescendants) {
|
package/index.js
CHANGED
package/material/index.js
CHANGED
|
@@ -64,19 +64,19 @@ const _excluded = ["id", "label", "labelId", "material", "disabled", "slotProps"
|
|
|
64
64
|
_excluded7 = ["material"],
|
|
65
65
|
_excluded8 = ["material"],
|
|
66
66
|
_excluded9 = ["material"],
|
|
67
|
+
_excluded0 = ["material"],
|
|
68
|
+
_excluded1 = ["material"],
|
|
67
69
|
_excluded10 = ["material"],
|
|
68
|
-
_excluded11 = ["material"],
|
|
70
|
+
_excluded11 = ["material", "label", "className"],
|
|
69
71
|
_excluded12 = ["material"],
|
|
70
|
-
_excluded13 = ["
|
|
71
|
-
_excluded14 = ["material"],
|
|
72
|
-
_excluded15 = ["
|
|
73
|
-
_excluded16 = ["
|
|
74
|
-
_excluded17 = ["
|
|
75
|
-
_excluded18 = ["
|
|
76
|
-
_excluded19 = ["
|
|
77
|
-
_excluded20 = ["
|
|
78
|
-
_excluded21 = ["ref", "open", "children", "className", "clickAwayTouchEvent", "clickAwayMouseEvent", "flip", "focusTrap", "onExited", "onClickAway", "onDidShow", "onDidHide", "id", "target", "transition", "placement", "material"],
|
|
79
|
-
_excluded22 = ["native"];
|
|
72
|
+
_excluded13 = ["inert", "iconStart", "iconEnd", "children", "material"],
|
|
73
|
+
_excluded14 = ["slotProps", "material"],
|
|
74
|
+
_excluded15 = ["id", "multiple", "freeSolo", "options", "getOptionLabel", "isOptionEqualToValue", "value", "onChange", "label", "placeholder", "slotProps", "material"],
|
|
75
|
+
_excluded16 = ["key"],
|
|
76
|
+
_excluded17 = ["inputProps", "InputProps", "InputLabelProps"],
|
|
77
|
+
_excluded18 = ["slotProps", "material"],
|
|
78
|
+
_excluded19 = ["ref", "open", "children", "className", "clickAwayTouchEvent", "clickAwayMouseEvent", "flip", "focusTrap", "onExited", "onClickAway", "onDidShow", "onDidHide", "id", "target", "transition", "placement", "material"],
|
|
79
|
+
_excluded20 = ["native"];
|
|
80
80
|
/* eslint-disable material-ui/disallow-react-api-in-server-components */
|
|
81
81
|
|
|
82
82
|
const InputAdornment = (0, _styles.styled)(_InputAdornment.default)(({
|
|
@@ -340,7 +340,7 @@ const BaseIconButton = (0, _forwardRef.forwardRef)(function BaseIconButton(props
|
|
|
340
340
|
const {
|
|
341
341
|
material
|
|
342
342
|
} = props,
|
|
343
|
-
rest = (0, _objectWithoutPropertiesLoose2.default)(props,
|
|
343
|
+
rest = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded0);
|
|
344
344
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_IconButton.default, (0, _extends2.default)({}, rest, material, {
|
|
345
345
|
ref: ref
|
|
346
346
|
}));
|
|
@@ -349,7 +349,7 @@ const BaseTooltip = (0, _forwardRef.forwardRef)(function BaseTooltip(props, ref)
|
|
|
349
349
|
const {
|
|
350
350
|
material
|
|
351
351
|
} = props,
|
|
352
|
-
rest = (0, _objectWithoutPropertiesLoose2.default)(props,
|
|
352
|
+
rest = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded1);
|
|
353
353
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Tooltip.default, (0, _extends2.default)({}, rest, material, {
|
|
354
354
|
ref: ref
|
|
355
355
|
}));
|
|
@@ -358,7 +358,7 @@ const BaseSkeleton = (0, _forwardRef.forwardRef)(function BaseSkeleton(props, re
|
|
|
358
358
|
const {
|
|
359
359
|
material
|
|
360
360
|
} = props,
|
|
361
|
-
rest = (0, _objectWithoutPropertiesLoose2.default)(props,
|
|
361
|
+
rest = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded10);
|
|
362
362
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Skeleton.default, (0, _extends2.default)({}, rest, material, {
|
|
363
363
|
ref: ref
|
|
364
364
|
}));
|
|
@@ -369,7 +369,7 @@ const BaseSwitch = (0, _forwardRef.forwardRef)(function BaseSwitch(props, ref) {
|
|
|
369
369
|
label,
|
|
370
370
|
className
|
|
371
371
|
} = props,
|
|
372
|
-
rest = (0, _objectWithoutPropertiesLoose2.default)(props,
|
|
372
|
+
rest = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded11);
|
|
373
373
|
if (!label) {
|
|
374
374
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Switch.default, (0, _extends2.default)({}, rest, material, {
|
|
375
375
|
className: className,
|
|
@@ -388,7 +388,7 @@ const BaseMenuList = (0, _forwardRef.forwardRef)(function BaseMenuList(props, re
|
|
|
388
388
|
const {
|
|
389
389
|
material
|
|
390
390
|
} = props,
|
|
391
|
-
rest = (0, _objectWithoutPropertiesLoose2.default)(props,
|
|
391
|
+
rest = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded12);
|
|
392
392
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_MenuList.default, (0, _extends2.default)({}, rest, material, {
|
|
393
393
|
ref: ref
|
|
394
394
|
}));
|
|
@@ -401,7 +401,7 @@ function BaseMenuItem(props) {
|
|
|
401
401
|
children,
|
|
402
402
|
material
|
|
403
403
|
} = props,
|
|
404
|
-
other = (0, _objectWithoutPropertiesLoose2.default)(props,
|
|
404
|
+
other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded13);
|
|
405
405
|
if (inert) {
|
|
406
406
|
other.disableRipple = true;
|
|
407
407
|
}
|
|
@@ -420,7 +420,7 @@ function BaseTextField(props) {
|
|
|
420
420
|
slotProps,
|
|
421
421
|
material
|
|
422
422
|
} = props,
|
|
423
|
-
rest = (0, _objectWithoutPropertiesLoose2.default)(props,
|
|
423
|
+
rest = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded14);
|
|
424
424
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_TextField.default, (0, _extends2.default)({
|
|
425
425
|
variant: "outlined"
|
|
426
426
|
}, rest, material, {
|
|
@@ -447,7 +447,7 @@ function BaseAutocomplete(props) {
|
|
|
447
447
|
slotProps,
|
|
448
448
|
material
|
|
449
449
|
} = props,
|
|
450
|
-
rest = (0, _objectWithoutPropertiesLoose2.default)(props,
|
|
450
|
+
rest = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded15);
|
|
451
451
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Autocomplete.default, (0, _extends2.default)({
|
|
452
452
|
id: id,
|
|
453
453
|
multiple: multiple,
|
|
@@ -464,7 +464,7 @@ function BaseAutocomplete(props) {
|
|
|
464
464
|
{
|
|
465
465
|
key
|
|
466
466
|
} = _getTagProps,
|
|
467
|
-
tagProps = (0, _objectWithoutPropertiesLoose2.default)(_getTagProps,
|
|
467
|
+
tagProps = (0, _objectWithoutPropertiesLoose2.default)(_getTagProps, _excluded16);
|
|
468
468
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Chip.default, (0, _extends2.default)({
|
|
469
469
|
variant: "outlined",
|
|
470
470
|
size: "small",
|
|
@@ -477,7 +477,7 @@ function BaseAutocomplete(props) {
|
|
|
477
477
|
InputProps,
|
|
478
478
|
InputLabelProps
|
|
479
479
|
} = params,
|
|
480
|
-
inputRest = (0, _objectWithoutPropertiesLoose2.default)(params,
|
|
480
|
+
inputRest = (0, _objectWithoutPropertiesLoose2.default)(params, _excluded17);
|
|
481
481
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_TextField.default, (0, _extends2.default)({}, inputRest, {
|
|
482
482
|
label: label,
|
|
483
483
|
placeholder: placeholder,
|
|
@@ -501,7 +501,7 @@ function transformInputProps(props, wrapAdornments = true) {
|
|
|
501
501
|
slotProps,
|
|
502
502
|
material
|
|
503
503
|
} = props,
|
|
504
|
-
rest = (0, _objectWithoutPropertiesLoose2.default)(props,
|
|
504
|
+
rest = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded18);
|
|
505
505
|
const result = rest;
|
|
506
506
|
if (wrapAdornments) {
|
|
507
507
|
if (result.startAdornment) {
|
|
@@ -550,7 +550,7 @@ function BasePopper(props) {
|
|
|
550
550
|
placement,
|
|
551
551
|
material
|
|
552
552
|
} = props,
|
|
553
|
-
rest = (0, _objectWithoutPropertiesLoose2.default)(props,
|
|
553
|
+
rest = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded19);
|
|
554
554
|
const modifiers = React.useMemo(() => {
|
|
555
555
|
const result = [{
|
|
556
556
|
name: 'preventOverflow',
|
|
@@ -648,7 +648,7 @@ function BaseSelectOption(_ref) {
|
|
|
648
648
|
let {
|
|
649
649
|
native
|
|
650
650
|
} = _ref,
|
|
651
|
-
props = (0, _objectWithoutPropertiesLoose2.default)(_ref,
|
|
651
|
+
props = (0, _objectWithoutPropertiesLoose2.default)(_ref, _excluded20);
|
|
652
652
|
if (native) {
|
|
653
653
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)("option", (0, _extends2.default)({}, props));
|
|
654
654
|
}
|
package/package.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mui/x-data-grid",
|
|
3
|
-
"version": "8.
|
|
4
|
-
"description": "The Community plan edition of the Data Grid components (MUI X).",
|
|
3
|
+
"version": "8.3.0",
|
|
5
4
|
"author": "MUI Team",
|
|
5
|
+
"description": "The Community plan edition of the MUI X Data Grid components.",
|
|
6
6
|
"main": "./index.js",
|
|
7
7
|
"license": "MIT",
|
|
8
8
|
"bugs": {
|
|
@@ -39,13 +39,13 @@
|
|
|
39
39
|
"directory": "packages/x-data-grid"
|
|
40
40
|
},
|
|
41
41
|
"dependencies": {
|
|
42
|
-
"@babel/runtime": "^7.27.
|
|
42
|
+
"@babel/runtime": "^7.27.1",
|
|
43
43
|
"@mui/utils": "^7.0.2",
|
|
44
44
|
"clsx": "^2.1.1",
|
|
45
45
|
"prop-types": "^15.8.1",
|
|
46
46
|
"reselect": "^5.1.1",
|
|
47
47
|
"use-sync-external-store": "^1.5.0",
|
|
48
|
-
"@mui/x-internals": "8.
|
|
48
|
+
"@mui/x-internals": "8.3.0"
|
|
49
49
|
},
|
|
50
50
|
"peerDependencies": {
|
|
51
51
|
"@emotion/react": "^11.9.0",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { CleanupTracking, UnregisterToken, UnsubscribeFn } from "./CleanupTracking.js";
|
|
2
2
|
export declare class TimerBasedCleanupTracking implements CleanupTracking {
|
|
3
|
-
timeouts?: Map<number,
|
|
3
|
+
timeouts?: Map<number, number> | undefined;
|
|
4
4
|
cleanupTimeout: number;
|
|
5
5
|
constructor(timeout?: number);
|
|
6
6
|
register(object: any, unsubscribe: UnsubscribeFn, unregisterToken: UnregisterToken): void;
|
package/utils/css/context.js
CHANGED
|
@@ -9,6 +9,7 @@ exports.GridPortalWrapper = GridPortalWrapper;
|
|
|
9
9
|
exports.useCSSVariablesClass = useCSSVariablesClass;
|
|
10
10
|
exports.useCSSVariablesContext = useCSSVariablesContext;
|
|
11
11
|
var React = _interopRequireWildcard(require("react"));
|
|
12
|
+
var _useGridRootProps = require("../../hooks/utils/useGridRootProps");
|
|
12
13
|
var _useGridConfiguration = require("../../hooks/utils/useGridConfiguration");
|
|
13
14
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
14
15
|
const CLASSNAME_PREFIX = 'MuiDataGridVariables';
|
|
@@ -35,19 +36,21 @@ function GridPortalWrapper({
|
|
|
35
36
|
}
|
|
36
37
|
function GridCSSVariablesContext(props) {
|
|
37
38
|
const config = (0, _useGridConfiguration.useGridConfiguration)();
|
|
39
|
+
const rootProps = (0, _useGridRootProps.useGridRootProps)();
|
|
38
40
|
const description = config.hooks.useCSSVariables();
|
|
39
41
|
const context = React.useMemo(() => {
|
|
40
42
|
const className = `${CLASSNAME_PREFIX}-${description.id}`;
|
|
41
43
|
const cssString = `.${className}{${variablesToString(description.variables)}}`;
|
|
42
44
|
const tag = /*#__PURE__*/(0, _jsxRuntime.jsx)("style", {
|
|
43
45
|
href: `/${className}`,
|
|
46
|
+
nonce: rootProps.nonce,
|
|
44
47
|
children: cssString
|
|
45
48
|
});
|
|
46
49
|
return {
|
|
47
50
|
className,
|
|
48
51
|
tag
|
|
49
52
|
};
|
|
50
|
-
}, [description]);
|
|
53
|
+
}, [rootProps.nonce, description]);
|
|
51
54
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(CSSVariablesContext.Provider, {
|
|
52
55
|
value: context,
|
|
53
56
|
children: props.children
|