@mui/x-data-grid 8.5.0 → 8.5.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.
Files changed (68) hide show
  1. package/CHANGELOG.md +112 -0
  2. package/components/columnsPanel/ColumnsPanelTrigger.d.ts +1 -1
  3. package/components/columnsPanel/ColumnsPanelTrigger.js +2 -2
  4. package/components/containers/GridRootStyles.d.ts +1 -1
  5. package/components/containers/GridRootStyles.js +6 -0
  6. package/components/export/ExportCsv.d.ts +1 -1
  7. package/components/export/ExportCsv.js +2 -2
  8. package/components/export/ExportPrint.d.ts +1 -1
  9. package/components/export/ExportPrint.js +2 -2
  10. package/components/filterPanel/FilterPanelTrigger.d.ts +1 -1
  11. package/components/filterPanel/FilterPanelTrigger.js +2 -2
  12. package/components/quickFilter/QuickFilter.d.ts +1 -1
  13. package/components/quickFilter/QuickFilter.js +2 -2
  14. package/components/quickFilter/QuickFilterClear.d.ts +1 -1
  15. package/components/quickFilter/QuickFilterClear.js +2 -2
  16. package/components/quickFilter/QuickFilterControl.d.ts +1 -1
  17. package/components/quickFilter/QuickFilterControl.js +2 -2
  18. package/components/quickFilter/QuickFilterTrigger.d.ts +1 -1
  19. package/components/quickFilter/QuickFilterTrigger.js +2 -2
  20. package/components/toolbarV8/Toolbar.d.ts +1 -1
  21. package/components/toolbarV8/Toolbar.js +2 -2
  22. package/components/toolbarV8/ToolbarButton.d.ts +1 -1
  23. package/components/toolbarV8/ToolbarButton.js +2 -2
  24. package/esm/components/columnsPanel/ColumnsPanelTrigger.d.ts +1 -1
  25. package/esm/components/columnsPanel/ColumnsPanelTrigger.js +2 -2
  26. package/esm/components/containers/GridRootStyles.d.ts +1 -1
  27. package/esm/components/containers/GridRootStyles.js +6 -0
  28. package/esm/components/export/ExportCsv.d.ts +1 -1
  29. package/esm/components/export/ExportCsv.js +2 -2
  30. package/esm/components/export/ExportPrint.d.ts +1 -1
  31. package/esm/components/export/ExportPrint.js +2 -2
  32. package/esm/components/filterPanel/FilterPanelTrigger.d.ts +1 -1
  33. package/esm/components/filterPanel/FilterPanelTrigger.js +2 -2
  34. package/esm/components/quickFilter/QuickFilter.d.ts +1 -1
  35. package/esm/components/quickFilter/QuickFilter.js +2 -2
  36. package/esm/components/quickFilter/QuickFilterClear.d.ts +1 -1
  37. package/esm/components/quickFilter/QuickFilterClear.js +2 -2
  38. package/esm/components/quickFilter/QuickFilterControl.d.ts +1 -1
  39. package/esm/components/quickFilter/QuickFilterControl.js +2 -2
  40. package/esm/components/quickFilter/QuickFilterTrigger.d.ts +1 -1
  41. package/esm/components/quickFilter/QuickFilterTrigger.js +2 -2
  42. package/esm/components/toolbarV8/Toolbar.d.ts +1 -1
  43. package/esm/components/toolbarV8/Toolbar.js +2 -2
  44. package/esm/components/toolbarV8/ToolbarButton.d.ts +1 -1
  45. package/esm/components/toolbarV8/ToolbarButton.js +2 -2
  46. package/esm/hooks/core/pipeProcessing/useGridPipeProcessing.js +3 -3
  47. package/esm/hooks/features/columnHeaders/useGridColumnHeaders.d.ts +1 -1
  48. package/esm/hooks/features/rowSelection/useGridRowSelectionPreProcessors.js +9 -5
  49. package/esm/hooks/utils/index.d.ts +1 -1
  50. package/esm/index.js +1 -1
  51. package/esm/internals/index.d.ts +0 -1
  52. package/esm/internals/index.js +0 -1
  53. package/esm/locales/arSD.js +5 -6
  54. package/esm/locales/ptPT.js +4 -4
  55. package/hooks/core/pipeProcessing/useGridPipeProcessing.js +3 -3
  56. package/hooks/features/columnHeaders/useGridColumnHeaders.d.ts +1 -1
  57. package/hooks/features/rowSelection/useGridRowSelectionPreProcessors.js +9 -5
  58. package/hooks/utils/index.d.ts +1 -1
  59. package/index.js +1 -1
  60. package/internals/index.d.ts +0 -1
  61. package/internals/index.js +0 -8
  62. package/locales/arSD.js +5 -6
  63. package/locales/ptPT.js +4 -4
  64. package/package.json +4 -4
  65. package/esm/hooks/utils/useGridComponentRenderer.d.ts +0 -12
  66. package/esm/hooks/utils/useGridComponentRenderer.js +0 -36
  67. package/hooks/utils/useGridComponentRenderer.d.ts +0 -12
  68. package/hooks/utils/useGridComponentRenderer.js +0 -44
package/CHANGELOG.md CHANGED
@@ -5,6 +5,118 @@
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.5.1
9
+
10
+ <!-- generated comparing v8.5.0..master -->
11
+
12
+ _Jun 5, 2025_
13
+
14
+ We'd like to extend a big thank you to the 9 contributors who made this release possible. Here are some highlights ✨:
15
+
16
+ - 📊 Allow exporting pie charts
17
+ - 📚 Documentation improvements
18
+ - 🌎 Improve Portuguese (ptPT) translations on the Data Grid
19
+ - 🌎 Improve Portuguese (ptPT, ptBR) translations on Charts
20
+ - 🌎 Improve Arabic (ar-SD) locale
21
+ - 🐞 Bugfixes
22
+
23
+ Special thanks go out to the community members for their valuable contributions: @moosekebab, @TiagoPortfolio.
24
+ The following are all team members who have contributed to this release:
25
+ @alexfauquette, @bernardobelchior, @JCQuintas, @KenanYusuf, @LukasTy, @michelengelen, @arminmeh.
26
+
27
+ <!--/ HIGHLIGHT_ABOVE_SEPARATOR /-->
28
+
29
+ ### Data Grid
30
+
31
+ #### `@mui/x-data-grid@8.5.1`
32
+
33
+ - [DataGrid] Fix `registerPipeProcessor()` for Node v20 (#18241) @arminmeh
34
+ - [DataGrid] Fix background color in column header filler cells (#18188) @KenanYusuf
35
+ - [DataGrid] Keep pipe pre-processors execution order when callback reference changes (#17558) @arminmeh
36
+ - [DataGrid] Use `useComponentRenderer` from x-internals (#18203) @bernardobelchior
37
+ - [l10n] Improve Arabic (ar-SD) locale (#17959) @moosekebab
38
+ - [l10n] Improve Portuguese from Portugal (pt-PT) locale (#18064) @TiagoPortfolio
39
+
40
+ #### `@mui/x-data-grid-pro@8.5.1` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
41
+
42
+ Same changes as in `@mui/x-data-grid@8.5.1`, plus:
43
+
44
+ - [DataGridPro] Skip rendering detail panels of the rows turned into skeleton rows with lazy loading (#17958) @arminmeh
45
+
46
+ #### `@mui/x-data-grid-premium@8.5.1` [![premium](https://mui.com/r/x-premium-svg)](https://mui.com/r/x-premium-svg-link 'Premium plan')
47
+
48
+ Same changes as in `@mui/x-data-grid-pro@8.5.1`.
49
+
50
+ ### Date and Time Pickers
51
+
52
+ #### `@mui/x-date-pickers@8.5.1`
53
+
54
+ - [pickers] Fix `transformOrigin` resolving based on popper `placement` (#18206) @LukasTy
55
+
56
+ #### `@mui/x-date-pickers-pro@8.5.1` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
57
+
58
+ Same changes as in `@mui/x-date-pickers@8.5.1`.
59
+
60
+ ### Charts
61
+
62
+ #### `@mui/x-charts@8.5.1`
63
+
64
+ - [charts] Allow skipping tooltip render (#18050) @alexfauquette
65
+ - [charts] Fix act warnings in toolbar tests (#18212) @JCQuintas
66
+ - [charts] Fix prop typo in `extendVertically` (#18211) @JCQuintas
67
+ - [charts] Fix responsive height for ChartsWrapper (#18183) @alexfauquette
68
+ - [charts] Improve charts toolbar accessibility (#18056) @bernardobelchior
69
+ - [charts] Let line series propagate null from the dataset (#18223) @alexfauquette
70
+ - [l10n] Add Portuguese locales for charts (pt-PT, pt-BR) (#18069) @bernardobelchior
71
+
72
+ #### `@mui/x-charts-pro@8.5.1` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
73
+
74
+ Same changes as in `@mui/x-charts@8.5.1`, plus:
75
+
76
+ - [charts-pro] Add `linear-sharp` curve as alternative to square edge (#17966) @JCQuintas
77
+ - [charts-pro] Add correct classes to `FunnelSectionLabel` (#18061) @JCQuintas
78
+ - [charts-pro] Allow exporting a pie chart (#18063) @bernardobelchior
79
+ - [charts-pro] Fix initial render for zoom slider selection (#18208) @bernardobelchior
80
+ - [charts-pro] Fix props being passed to DOM in FunnelChart (#18192) @JCQuintas
81
+ - [charts-pro] Show axis value in zoom slider tooltip (#18054) @bernardobelchior
82
+ - [charts-pro] Render the toolbar in the heatmap chart (#18247) @bernardobelchior
83
+
84
+ ### Tree View
85
+
86
+ #### `@mui/x-tree-view@8.5.1`
87
+
88
+ Internal changes.
89
+
90
+ #### `@mui/x-tree-view-pro@8.5.1` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
91
+
92
+ Same changes as in `@mui/x-tree-view@8.5.1`.
93
+
94
+ ### Docs
95
+
96
+ - [docs] Update `valueFormatter` signature in migration guide (#18226) @michelengelen
97
+
98
+ ### Core
99
+
100
+ - chore(deps): bump @next/eslint-plugin-next to 15.3.3 (#18155) @renovate[bot]
101
+ - chore(deps): bump @types/lodash to ^4.17.17 (#17990) @renovate[bot]
102
+ - chore(deps): bump babel (#18157) @renovate[bot]
103
+ - chore(deps): bump eslint to ^9.28.0 (#17352) @renovate[bot]
104
+ - chore(deps): bump material ui (#17802) @renovate[bot]
105
+ - chore(deps): bump next to ^15.3.3 (#18159) @renovate[bot]
106
+ - chore(deps): bump ossf/scorecard-action action to v2.4.2 (#18160) @renovate[bot]
107
+ - chore(deps): bump react-router to ^7.6.1 (#18162) @renovate[bot]
108
+ - chore(deps): bump yargs to ^18.0.0 (#18169) @renovate[bot]
109
+ - [code-infra] Different approach to console testing for `processRowUpdate` (#18213) @JCQuintas
110
+ - [code-infra] Fix act warnings in DataGrid/toolbar (#18207) @JCQuintas
111
+ - [code-infra] Remove `istanbul` references (#18194) @JCQuintas
112
+ - [code-infra] Remove codesandbox:ci (#18179) @JCQuintas
113
+ - [code-infra] Replace `mocha` with `vitest` on e2e and regression tests (#18071) @JCQuintas
114
+ - [code-infra] Upgrade @mui/internal-test-utils (#18191) @JCQuintas
115
+ - [code-infra] Use vitest for `no-direct-state-access` tests (#18209) @JCQuintas
116
+ - [infra] Improve test setup (#18228) @LukasTy
117
+ - [infra] Update bug and feature request templates to standardize label types (#18198) @michelengelen
118
+ - [infra] Use `playwright` docker image (#18186) @LukasTy
119
+
8
120
  ## 8.5.0
9
121
 
10
122
  _May 29, 2025_
@@ -1,5 +1,5 @@
1
1
  import * as React from 'react';
2
- import { RenderProp } from "../../hooks/utils/useGridComponentRenderer.js";
2
+ import { RenderProp } from '@mui/x-internals/useComponentRenderer';
3
3
  import type { GridSlotProps } from "../../models/index.js";
4
4
  export interface ColumnsPanelState {
5
5
  /**
@@ -13,11 +13,11 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
13
13
  var _useId = _interopRequireDefault(require("@mui/utils/useId"));
14
14
  var _forwardRef = require("@mui/x-internals/forwardRef");
15
15
  var _useForkRef = _interopRequireDefault(require("@mui/utils/useForkRef"));
16
+ var _useComponentRenderer = require("@mui/x-internals/useComponentRenderer");
16
17
  var _GridPanelContext = require("../panel/GridPanelContext");
17
18
  var _useGridApiContext = require("../../hooks/utils/useGridApiContext");
18
19
  var _hooks = require("../../hooks");
19
20
  var _useGridRootProps = require("../../hooks/utils/useGridRootProps");
20
- var _useGridComponentRenderer = require("../../hooks/utils/useGridComponentRenderer");
21
21
  var _jsxRuntime = require("react/jsx-runtime");
22
22
  const _excluded = ["render", "className", "onClick", "onPointerUp"];
23
23
  /**
@@ -68,7 +68,7 @@ const ColumnsPanelTrigger = exports.ColumnsPanelTrigger = (0, _forwardRef.forwar
68
68
  }
69
69
  onPointerUp?.(event);
70
70
  };
71
- const element = (0, _useGridComponentRenderer.useGridComponentRenderer)(rootProps.slots.baseButton, render, (0, _extends2.default)({}, rootProps.slotProps?.baseButton, {
71
+ const element = (0, _useComponentRenderer.useComponentRenderer)(rootProps.slots.baseButton, render, (0, _extends2.default)({}, rootProps.slotProps?.baseButton, {
72
72
  id: buttonId,
73
73
  'aria-haspopup': 'true',
74
74
  'aria-expanded': open ? 'true' : undefined,
@@ -1,5 +1,5 @@
1
1
  import { DataGridProcessedProps } from "../../models/props/DataGridProps.js";
2
2
  export type OwnerState = DataGridProcessedProps;
3
- export declare const GridRootStyles: import("@emotion/styled").StyledComponent<import("@mui/system").MUIStyledCommonProps<import("@mui/material").Theme> & {
3
+ export declare const GridRootStyles: import("@emotion/styled").StyledComponent<import("@mui/system").MUIStyledCommonProps<import("@mui/material/styles").Theme> & {
4
4
  ownerState: OwnerState;
5
5
  }, Pick<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, keyof import("react").ClassAttributes<HTMLDivElement> | keyof import("react").HTMLAttributes<HTMLDivElement>>, {}>;
@@ -832,6 +832,9 @@ const GridRootStyles = exports.GridRootStyles = (0, _styles.styled)('div', {
832
832
  marginRight: _cssVariables.vars.spacing(2)
833
833
  },
834
834
  /* ScrollbarFiller styles */
835
+ [`& .${_gridClasses.gridClasses.columnHeaders} .${_gridClasses.gridClasses.scrollbarFiller}`]: {
836
+ backgroundColor: headerBackground
837
+ },
835
838
  [`.${_gridClasses.gridClasses.scrollbarFiller}`]: {
836
839
  minWidth: 'calc(var(--DataGrid-hasScrollY) * var(--DataGrid-scrollbarSize))',
837
840
  alignSelf: 'stretch',
@@ -853,6 +856,9 @@ const GridRootStyles = exports.GridRootStyles = (0, _styles.styled)('div', {
853
856
  [`& .${_gridClasses.gridClasses['filler--borderBottom']}`]: {
854
857
  borderBottom: '1px solid var(--DataGrid-rowBorderColor)'
855
858
  },
859
+ [`& .${_gridClasses.gridClasses.columnHeaders} .${_gridClasses.gridClasses.filler}`]: {
860
+ backgroundColor: headerBackground
861
+ },
856
862
  /* Hide grid rows, row filler, and vertical scrollbar. Used when skeleton/no columns overlay is visible */
857
863
  [`& .${_gridClasses.gridClasses['main--hiddenContent']}`]: {
858
864
  [`& .${_gridClasses.gridClasses.virtualScrollerContent}`]: {
@@ -1,5 +1,5 @@
1
1
  import * as React from 'react';
2
- import { RenderProp } from "../../hooks/utils/useGridComponentRenderer.js";
2
+ import { RenderProp } from '@mui/x-internals/useComponentRenderer';
3
3
  import { GridCsvExportOptions } from "../../models/gridExport.js";
4
4
  import type { GridSlotProps } from "../../models/index.js";
5
5
  export type ExportCsvProps = GridSlotProps['baseButton'] & {
@@ -11,9 +11,9 @@ var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runt
11
11
  var React = _interopRequireWildcard(require("react"));
12
12
  var _propTypes = _interopRequireDefault(require("prop-types"));
13
13
  var _forwardRef = require("@mui/x-internals/forwardRef");
14
+ var _useComponentRenderer = require("@mui/x-internals/useComponentRenderer");
14
15
  var _useGridApiContext = require("../../hooks/utils/useGridApiContext");
15
16
  var _useGridRootProps = require("../../hooks/utils/useGridRootProps");
16
- var _useGridComponentRenderer = require("../../hooks/utils/useGridComponentRenderer");
17
17
  var _jsxRuntime = require("react/jsx-runtime");
18
18
  const _excluded = ["render", "options", "onClick"];
19
19
  /**
@@ -41,7 +41,7 @@ const ExportCsv = exports.ExportCsv = (0, _forwardRef.forwardRef)(function Expor
41
41
  apiRef.current.exportDataAsCsv(options);
42
42
  onClick?.(event);
43
43
  };
44
- const element = (0, _useGridComponentRenderer.useGridComponentRenderer)(rootProps.slots.baseButton, render, (0, _extends2.default)({}, rootProps.slotProps?.baseButton, {
44
+ const element = (0, _useComponentRenderer.useComponentRenderer)(rootProps.slots.baseButton, render, (0, _extends2.default)({}, rootProps.slotProps?.baseButton, {
45
45
  onClick: handleClick
46
46
  }, other, {
47
47
  ref
@@ -1,5 +1,5 @@
1
1
  import * as React from 'react';
2
- import { RenderProp } from "../../hooks/utils/useGridComponentRenderer.js";
2
+ import { RenderProp } from '@mui/x-internals/useComponentRenderer';
3
3
  import { GridPrintExportOptions } from "../../models/gridExport.js";
4
4
  import type { GridSlotProps } from "../../models/index.js";
5
5
  export type ExportPrintProps = GridSlotProps['baseButton'] & {
@@ -11,9 +11,9 @@ var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runt
11
11
  var React = _interopRequireWildcard(require("react"));
12
12
  var _propTypes = _interopRequireDefault(require("prop-types"));
13
13
  var _forwardRef = require("@mui/x-internals/forwardRef");
14
+ var _useComponentRenderer = require("@mui/x-internals/useComponentRenderer");
14
15
  var _useGridApiContext = require("../../hooks/utils/useGridApiContext");
15
16
  var _useGridRootProps = require("../../hooks/utils/useGridRootProps");
16
- var _useGridComponentRenderer = require("../../hooks/utils/useGridComponentRenderer");
17
17
  var _jsxRuntime = require("react/jsx-runtime");
18
18
  const _excluded = ["render", "options", "onClick"];
19
19
  /**
@@ -41,7 +41,7 @@ const ExportPrint = exports.ExportPrint = (0, _forwardRef.forwardRef)(function E
41
41
  apiRef.current.exportDataAsPrint(options);
42
42
  onClick?.(event);
43
43
  };
44
- const element = (0, _useGridComponentRenderer.useGridComponentRenderer)(rootProps.slots.baseButton, render, (0, _extends2.default)({}, rootProps.slotProps?.baseButton, {
44
+ const element = (0, _useComponentRenderer.useComponentRenderer)(rootProps.slots.baseButton, render, (0, _extends2.default)({}, rootProps.slotProps?.baseButton, {
45
45
  onClick: handleClick
46
46
  }, other, {
47
47
  ref
@@ -1,5 +1,5 @@
1
1
  import * as React from 'react';
2
- import { RenderProp } from "../../hooks/utils/useGridComponentRenderer.js";
2
+ import { RenderProp } from '@mui/x-internals/useComponentRenderer';
3
3
  import type { GridSlotProps } from "../../models/index.js";
4
4
  export interface FilterPanelState {
5
5
  /**
@@ -12,12 +12,12 @@ var React = _interopRequireWildcard(require("react"));
12
12
  var _propTypes = _interopRequireDefault(require("prop-types"));
13
13
  var _useId = _interopRequireDefault(require("@mui/utils/useId"));
14
14
  var _forwardRef = require("@mui/x-internals/forwardRef");
15
+ var _useComponentRenderer = require("@mui/x-internals/useComponentRenderer");
15
16
  var _useForkRef = _interopRequireDefault(require("@mui/utils/useForkRef"));
16
17
  var _GridPanelContext = require("../panel/GridPanelContext");
17
18
  var _useGridApiContext = require("../../hooks/utils/useGridApiContext");
18
19
  var _hooks = require("../../hooks");
19
20
  var _useGridRootProps = require("../../hooks/utils/useGridRootProps");
20
- var _useGridComponentRenderer = require("../../hooks/utils/useGridComponentRenderer");
21
21
  var _jsxRuntime = require("react/jsx-runtime");
22
22
  const _excluded = ["render", "className", "onClick", "onPointerUp"];
23
23
  /**
@@ -71,7 +71,7 @@ const FilterPanelTrigger = exports.FilterPanelTrigger = (0, _forwardRef.forwardR
71
71
  }
72
72
  onPointerUp?.(event);
73
73
  };
74
- const element = (0, _useGridComponentRenderer.useGridComponentRenderer)(rootProps.slots.baseButton, render, (0, _extends2.default)({}, rootProps.slotProps?.baseButton, {
74
+ const element = (0, _useComponentRenderer.useComponentRenderer)(rootProps.slots.baseButton, render, (0, _extends2.default)({}, rootProps.slotProps?.baseButton, {
75
75
  id: buttonId,
76
76
  'aria-haspopup': 'true',
77
77
  'aria-expanded': open ? 'true' : undefined,
@@ -1,6 +1,6 @@
1
1
  import * as React from 'react';
2
+ import { RenderProp } from '@mui/x-internals/useComponentRenderer';
2
3
  import { QuickFilterState } from "./QuickFilterContext.js";
3
- import { RenderProp } from "../../hooks/utils/useGridComponentRenderer.js";
4
4
  import type { GridFilterModel } from "../../models/index.js";
5
5
  export type QuickFilterProps = Omit<React.HTMLAttributes<HTMLDivElement>, 'className'> & {
6
6
  /**
@@ -14,8 +14,8 @@ var _debounce = _interopRequireDefault(require("@mui/utils/debounce"));
14
14
  var _useEnhancedEffect = _interopRequireDefault(require("@mui/utils/useEnhancedEffect"));
15
15
  var _useId = _interopRequireDefault(require("@mui/utils/useId"));
16
16
  var _isDeepEqual = require("@mui/x-internals/isDeepEqual");
17
+ var _useComponentRenderer = require("@mui/x-internals/useComponentRenderer");
17
18
  var _QuickFilterContext = require("./QuickFilterContext");
18
- var _useGridComponentRenderer = require("../../hooks/utils/useGridComponentRenderer");
19
19
  var _useGridApiContext = require("../../hooks/utils/useGridApiContext");
20
20
  var _useGridSelector = require("../../hooks/utils/useGridSelector");
21
21
  var _filter = require("../../hooks/features/filter");
@@ -137,7 +137,7 @@ function QuickFilter(props) {
137
137
  ref.current.style.setProperty('--trigger-width', `${triggerRef.current?.offsetWidth}px`);
138
138
  }
139
139
  }, []);
140
- const element = (0, _useGridComponentRenderer.useGridComponentRenderer)('div', render, (0, _extends2.default)({
140
+ const element = (0, _useComponentRenderer.useComponentRenderer)('div', render, (0, _extends2.default)({
141
141
  className: resolvedClassName
142
142
  }, other, {
143
143
  ref
@@ -1,5 +1,5 @@
1
1
  import * as React from 'react';
2
- import { RenderProp } from "../../hooks/utils/useGridComponentRenderer.js";
2
+ import { RenderProp } from '@mui/x-internals/useComponentRenderer';
3
3
  import type { GridSlotProps } from "../../models/index.js";
4
4
  import { QuickFilterState } from "./QuickFilterContext.js";
5
5
  export type QuickFilterClearProps = Omit<GridSlotProps['baseIconButton'], 'className'> & {
@@ -11,8 +11,8 @@ var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runt
11
11
  var React = _interopRequireWildcard(require("react"));
12
12
  var _propTypes = _interopRequireDefault(require("prop-types"));
13
13
  var _forwardRef = require("@mui/x-internals/forwardRef");
14
+ var _useComponentRenderer = require("@mui/x-internals/useComponentRenderer");
14
15
  var _useGridRootProps = require("../../hooks/utils/useGridRootProps");
15
- var _useGridComponentRenderer = require("../../hooks/utils/useGridComponentRenderer");
16
16
  var _QuickFilterContext = require("./QuickFilterContext");
17
17
  var _jsxRuntime = require("react/jsx-runtime");
18
18
  const _excluded = ["render", "className", "onClick"];
@@ -45,7 +45,7 @@ const QuickFilterClear = exports.QuickFilterClear = (0, _forwardRef.forwardRef)(
45
45
  clearValue();
46
46
  onClick?.(event);
47
47
  };
48
- const element = (0, _useGridComponentRenderer.useGridComponentRenderer)(rootProps.slots.baseIconButton, render, (0, _extends2.default)({}, rootProps.slotProps?.baseIconButton, {
48
+ const element = (0, _useComponentRenderer.useComponentRenderer)(rootProps.slots.baseIconButton, render, (0, _extends2.default)({}, rootProps.slotProps?.baseIconButton, {
49
49
  className: resolvedClassName,
50
50
  tabIndex: -1
51
51
  }, other, {
@@ -1,5 +1,5 @@
1
1
  import * as React from 'react';
2
- import { RenderProp } from "../../hooks/utils/useGridComponentRenderer.js";
2
+ import { RenderProp } from '@mui/x-internals/useComponentRenderer';
3
3
  import type { GridSlotProps } from "../../models/index.js";
4
4
  import { QuickFilterState } from "./QuickFilterContext.js";
5
5
  export type QuickFilterControlProps = Omit<GridSlotProps['baseTextField'], 'className'> & {
@@ -12,8 +12,8 @@ var React = _interopRequireWildcard(require("react"));
12
12
  var _propTypes = _interopRequireDefault(require("prop-types"));
13
13
  var _useForkRef = _interopRequireDefault(require("@mui/utils/useForkRef"));
14
14
  var _forwardRef = require("@mui/x-internals/forwardRef");
15
+ var _useComponentRenderer = require("@mui/x-internals/useComponentRenderer");
15
16
  var _useGridRootProps = require("../../hooks/utils/useGridRootProps");
16
- var _useGridComponentRenderer = require("../../hooks/utils/useGridComponentRenderer");
17
17
  var _QuickFilterContext = require("./QuickFilterContext");
18
18
  var _jsxRuntime = require("react/jsx-runtime");
19
19
  const _excluded = ["render", "className", "slotProps", "onKeyDown", "onChange"];
@@ -72,7 +72,7 @@ const QuickFilterControl = exports.QuickFilterControl = (0, _forwardRef.forwardR
72
72
  onValueChange(event);
73
73
  onChange?.(event);
74
74
  };
75
- const element = (0, _useGridComponentRenderer.useGridComponentRenderer)(rootProps.slots.baseTextField, render, (0, _extends2.default)({}, rootProps.slotProps?.baseTextField, {
75
+ const element = (0, _useComponentRenderer.useComponentRenderer)(rootProps.slots.baseTextField, render, (0, _extends2.default)({}, rootProps.slotProps?.baseTextField, {
76
76
  slotProps: (0, _extends2.default)({
77
77
  htmlInput: (0, _extends2.default)({
78
78
  role: 'searchbox',
@@ -1,5 +1,5 @@
1
1
  import * as React from 'react';
2
- import { RenderProp } from "../../hooks/utils/useGridComponentRenderer.js";
2
+ import { RenderProp } from '@mui/x-internals/useComponentRenderer';
3
3
  import type { GridSlotProps } from "../../models/index.js";
4
4
  import { QuickFilterState } from "./QuickFilterContext.js";
5
5
  export type QuickFilterTriggerProps = Omit<GridSlotProps['baseButton'], 'className'> & {
@@ -11,9 +11,9 @@ var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runt
11
11
  var React = _interopRequireWildcard(require("react"));
12
12
  var _propTypes = _interopRequireDefault(require("prop-types"));
13
13
  var _forwardRef = require("@mui/x-internals/forwardRef");
14
+ var _useComponentRenderer = require("@mui/x-internals/useComponentRenderer");
14
15
  var _useForkRef = _interopRequireDefault(require("@mui/utils/useForkRef"));
15
16
  var _useGridRootProps = require("../../hooks/utils/useGridRootProps");
16
- var _useGridComponentRenderer = require("../../hooks/utils/useGridComponentRenderer");
17
17
  var _QuickFilterContext = require("./QuickFilterContext");
18
18
  var _jsxRuntime = require("react/jsx-runtime");
19
19
  const _excluded = ["render", "className", "onClick"];
@@ -49,7 +49,7 @@ const QuickFilterTrigger = exports.QuickFilterTrigger = (0, _forwardRef.forwardR
49
49
  onExpandedChange(!state.expanded);
50
50
  onClick?.(event);
51
51
  };
52
- const element = (0, _useGridComponentRenderer.useGridComponentRenderer)(rootProps.slots.baseButton, render, (0, _extends2.default)({}, rootProps.slotProps?.baseButton, {
52
+ const element = (0, _useComponentRenderer.useComponentRenderer)(rootProps.slots.baseButton, render, (0, _extends2.default)({}, rootProps.slotProps?.baseButton, {
53
53
  className: resolvedClassName,
54
54
  'aria-controls': controlId,
55
55
  'aria-expanded': state.expanded
@@ -1,5 +1,5 @@
1
1
  import * as React from 'react';
2
- import { RenderProp } from "../../hooks/utils/useGridComponentRenderer.js";
2
+ import { RenderProp } from '@mui/x-internals/useComponentRenderer';
3
3
  export type ToolbarProps = React.HTMLAttributes<HTMLDivElement> & {
4
4
  /**
5
5
  * A function to customize rendering of the component.
@@ -14,9 +14,9 @@ var _system = require("@mui/system");
14
14
  var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"));
15
15
  var _clsx = _interopRequireDefault(require("clsx"));
16
16
  var _forwardRef = require("@mui/x-internals/forwardRef");
17
+ var _useComponentRenderer = require("@mui/x-internals/useComponentRenderer");
17
18
  var _cssVariables = require("../../constants/cssVariables");
18
19
  var _gridClasses = require("../../constants/gridClasses");
19
- var _useGridComponentRenderer = require("../../hooks/utils/useGridComponentRenderer");
20
20
  var _ToolbarContext = require("./ToolbarContext");
21
21
  var _useGridRootProps = require("../../hooks/utils/useGridRootProps");
22
22
  var _utils = require("./utils");
@@ -187,7 +187,7 @@ const Toolbar = exports.Toolbar = (0, _forwardRef.forwardRef)(function Toolbar(p
187
187
  onItemFocus,
188
188
  onItemDisabled
189
189
  }), [focusableItemId, registerItem, unregisterItem, onItemKeyDown, onItemFocus, onItemDisabled]);
190
- const element = (0, _useGridComponentRenderer.useGridComponentRenderer)(ToolbarRoot, render, (0, _extends2.default)({
190
+ const element = (0, _useComponentRenderer.useComponentRenderer)(ToolbarRoot, render, (0, _extends2.default)({
191
191
  role: 'toolbar',
192
192
  'aria-orientation': 'horizontal',
193
193
  'aria-label': rootProps.label || undefined,
@@ -1,5 +1,5 @@
1
1
  import * as React from 'react';
2
- import { RenderProp } from "../../hooks/utils/useGridComponentRenderer.js";
2
+ import { RenderProp } from '@mui/x-internals/useComponentRenderer';
3
3
  import type { GridSlotProps } from "../../models/index.js";
4
4
  export type ToolbarButtonProps = GridSlotProps['baseIconButton'] & {
5
5
  /**
@@ -13,8 +13,8 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
13
13
  var _useForkRef = _interopRequireDefault(require("@mui/utils/useForkRef"));
14
14
  var _useId = _interopRequireDefault(require("@mui/utils/useId"));
15
15
  var _forwardRef = require("@mui/x-internals/forwardRef");
16
+ var _useComponentRenderer = require("@mui/x-internals/useComponentRenderer");
16
17
  var _useGridRootProps = require("../../hooks/utils/useGridRootProps");
17
- var _useGridComponentRenderer = require("../../hooks/utils/useGridComponentRenderer");
18
18
  var _ToolbarContext = require("./ToolbarContext");
19
19
  var _jsxRuntime = require("react/jsx-runtime");
20
20
  const _excluded = ["render", "onKeyDown", "onFocus", "disabled", "aria-disabled"];
@@ -78,7 +78,7 @@ const ToolbarButton = exports.ToolbarButton = (0, _forwardRef.forwardRef)(functi
78
78
  }
79
79
  previousAriaDisabled.current = ariaDisabled;
80
80
  }, [ariaDisabled, id, onItemDisabled]);
81
- const element = (0, _useGridComponentRenderer.useGridComponentRenderer)(rootProps.slots.baseIconButton, render, (0, _extends2.default)({}, rootProps.slotProps?.baseIconButton, {
81
+ const element = (0, _useComponentRenderer.useComponentRenderer)(rootProps.slots.baseIconButton, render, (0, _extends2.default)({}, rootProps.slotProps?.baseIconButton, {
82
82
  tabIndex: focusableItemId === id ? 0 : -1
83
83
  }, other, {
84
84
  disabled,
@@ -1,5 +1,5 @@
1
1
  import * as React from 'react';
2
- import { RenderProp } from "../../hooks/utils/useGridComponentRenderer.js";
2
+ import { RenderProp } from '@mui/x-internals/useComponentRenderer';
3
3
  import type { GridSlotProps } from "../../models/index.js";
4
4
  export interface ColumnsPanelState {
5
5
  /**
@@ -6,11 +6,11 @@ import PropTypes from 'prop-types';
6
6
  import useId from '@mui/utils/useId';
7
7
  import { forwardRef } from '@mui/x-internals/forwardRef';
8
8
  import useForkRef from '@mui/utils/useForkRef';
9
+ import { useComponentRenderer } from '@mui/x-internals/useComponentRenderer';
9
10
  import { useGridPanelContext } from "../panel/GridPanelContext.js";
10
11
  import { useGridApiContext } from "../../hooks/utils/useGridApiContext.js";
11
12
  import { gridPreferencePanelStateSelector, GridPreferencePanelsValue, useGridSelector } from "../../hooks/index.js";
12
13
  import { useGridRootProps } from "../../hooks/utils/useGridRootProps.js";
13
- import { useGridComponentRenderer } from "../../hooks/utils/useGridComponentRenderer.js";
14
14
  import { jsx as _jsx } from "react/jsx-runtime";
15
15
  /**
16
16
  * A button that opens and closes the columns panel.
@@ -60,7 +60,7 @@ const ColumnsPanelTrigger = forwardRef(function ColumnsPanelTrigger(props, ref)
60
60
  }
61
61
  onPointerUp?.(event);
62
62
  };
63
- const element = useGridComponentRenderer(rootProps.slots.baseButton, render, _extends({}, rootProps.slotProps?.baseButton, {
63
+ const element = useComponentRenderer(rootProps.slots.baseButton, render, _extends({}, rootProps.slotProps?.baseButton, {
64
64
  id: buttonId,
65
65
  'aria-haspopup': 'true',
66
66
  'aria-expanded': open ? 'true' : undefined,
@@ -1,5 +1,5 @@
1
1
  import { DataGridProcessedProps } from "../../models/props/DataGridProps.js";
2
2
  export type OwnerState = DataGridProcessedProps;
3
- export declare const GridRootStyles: import("@emotion/styled").StyledComponent<import("@mui/system").MUIStyledCommonProps<import("@mui/material").Theme> & {
3
+ export declare const GridRootStyles: import("@emotion/styled").StyledComponent<import("@mui/system").MUIStyledCommonProps<import("@mui/material/styles").Theme> & {
4
4
  ownerState: OwnerState;
5
5
  }, Pick<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, keyof import("react").ClassAttributes<HTMLDivElement> | keyof import("react").HTMLAttributes<HTMLDivElement>>, {}>;
@@ -826,6 +826,9 @@ export const GridRootStyles = styled('div', {
826
826
  marginRight: vars.spacing(2)
827
827
  },
828
828
  /* ScrollbarFiller styles */
829
+ [`& .${c.columnHeaders} .${c.scrollbarFiller}`]: {
830
+ backgroundColor: headerBackground
831
+ },
829
832
  [`.${c.scrollbarFiller}`]: {
830
833
  minWidth: 'calc(var(--DataGrid-hasScrollY) * var(--DataGrid-scrollbarSize))',
831
834
  alignSelf: 'stretch',
@@ -847,6 +850,9 @@ export const GridRootStyles = styled('div', {
847
850
  [`& .${c['filler--borderBottom']}`]: {
848
851
  borderBottom: '1px solid var(--DataGrid-rowBorderColor)'
849
852
  },
853
+ [`& .${c.columnHeaders} .${c.filler}`]: {
854
+ backgroundColor: headerBackground
855
+ },
850
856
  /* Hide grid rows, row filler, and vertical scrollbar. Used when skeleton/no columns overlay is visible */
851
857
  [`& .${c['main--hiddenContent']}`]: {
852
858
  [`& .${c.virtualScrollerContent}`]: {
@@ -1,5 +1,5 @@
1
1
  import * as React from 'react';
2
- import { RenderProp } from "../../hooks/utils/useGridComponentRenderer.js";
2
+ import { RenderProp } from '@mui/x-internals/useComponentRenderer';
3
3
  import { GridCsvExportOptions } from "../../models/gridExport.js";
4
4
  import type { GridSlotProps } from "../../models/index.js";
5
5
  export type ExportCsvProps = GridSlotProps['baseButton'] & {
@@ -4,9 +4,9 @@ const _excluded = ["render", "options", "onClick"];
4
4
  import * as React from 'react';
5
5
  import PropTypes from 'prop-types';
6
6
  import { forwardRef } from '@mui/x-internals/forwardRef';
7
+ import { useComponentRenderer } from '@mui/x-internals/useComponentRenderer';
7
8
  import { useGridApiContext } from "../../hooks/utils/useGridApiContext.js";
8
9
  import { useGridRootProps } from "../../hooks/utils/useGridRootProps.js";
9
- import { useGridComponentRenderer } from "../../hooks/utils/useGridComponentRenderer.js";
10
10
  import { jsx as _jsx } from "react/jsx-runtime";
11
11
  /**
12
12
  * A button that triggers a CSV export.
@@ -33,7 +33,7 @@ const ExportCsv = forwardRef(function ExportCsv(props, ref) {
33
33
  apiRef.current.exportDataAsCsv(options);
34
34
  onClick?.(event);
35
35
  };
36
- const element = useGridComponentRenderer(rootProps.slots.baseButton, render, _extends({}, rootProps.slotProps?.baseButton, {
36
+ const element = useComponentRenderer(rootProps.slots.baseButton, render, _extends({}, rootProps.slotProps?.baseButton, {
37
37
  onClick: handleClick
38
38
  }, other, {
39
39
  ref
@@ -1,5 +1,5 @@
1
1
  import * as React from 'react';
2
- import { RenderProp } from "../../hooks/utils/useGridComponentRenderer.js";
2
+ import { RenderProp } from '@mui/x-internals/useComponentRenderer';
3
3
  import { GridPrintExportOptions } from "../../models/gridExport.js";
4
4
  import type { GridSlotProps } from "../../models/index.js";
5
5
  export type ExportPrintProps = GridSlotProps['baseButton'] & {
@@ -4,9 +4,9 @@ const _excluded = ["render", "options", "onClick"];
4
4
  import * as React from 'react';
5
5
  import PropTypes from 'prop-types';
6
6
  import { forwardRef } from '@mui/x-internals/forwardRef';
7
+ import { useComponentRenderer } from '@mui/x-internals/useComponentRenderer';
7
8
  import { useGridApiContext } from "../../hooks/utils/useGridApiContext.js";
8
9
  import { useGridRootProps } from "../../hooks/utils/useGridRootProps.js";
9
- import { useGridComponentRenderer } from "../../hooks/utils/useGridComponentRenderer.js";
10
10
  import { jsx as _jsx } from "react/jsx-runtime";
11
11
  /**
12
12
  * A button that triggers a print export.
@@ -33,7 +33,7 @@ const ExportPrint = forwardRef(function ExportPrint(props, ref) {
33
33
  apiRef.current.exportDataAsPrint(options);
34
34
  onClick?.(event);
35
35
  };
36
- const element = useGridComponentRenderer(rootProps.slots.baseButton, render, _extends({}, rootProps.slotProps?.baseButton, {
36
+ const element = useComponentRenderer(rootProps.slots.baseButton, render, _extends({}, rootProps.slotProps?.baseButton, {
37
37
  onClick: handleClick
38
38
  }, other, {
39
39
  ref
@@ -1,5 +1,5 @@
1
1
  import * as React from 'react';
2
- import { RenderProp } from "../../hooks/utils/useGridComponentRenderer.js";
2
+ import { RenderProp } from '@mui/x-internals/useComponentRenderer';
3
3
  import type { GridSlotProps } from "../../models/index.js";
4
4
  export interface FilterPanelState {
5
5
  /**
@@ -5,12 +5,12 @@ import * as React from 'react';
5
5
  import PropTypes from 'prop-types';
6
6
  import useId from '@mui/utils/useId';
7
7
  import { forwardRef } from '@mui/x-internals/forwardRef';
8
+ import { useComponentRenderer } from '@mui/x-internals/useComponentRenderer';
8
9
  import useForkRef from '@mui/utils/useForkRef';
9
10
  import { useGridPanelContext } from "../panel/GridPanelContext.js";
10
11
  import { useGridApiContext } from "../../hooks/utils/useGridApiContext.js";
11
12
  import { gridFilterActiveItemsSelector, gridPreferencePanelStateSelector, GridPreferencePanelsValue, useGridSelector } from "../../hooks/index.js";
12
13
  import { useGridRootProps } from "../../hooks/utils/useGridRootProps.js";
13
- import { useGridComponentRenderer } from "../../hooks/utils/useGridComponentRenderer.js";
14
14
  import { jsx as _jsx } from "react/jsx-runtime";
15
15
  /**
16
16
  * A button that opens and closes the filter panel.
@@ -63,7 +63,7 @@ const FilterPanelTrigger = forwardRef(function FilterPanelTrigger(props, ref) {
63
63
  }
64
64
  onPointerUp?.(event);
65
65
  };
66
- const element = useGridComponentRenderer(rootProps.slots.baseButton, render, _extends({}, rootProps.slotProps?.baseButton, {
66
+ const element = useComponentRenderer(rootProps.slots.baseButton, render, _extends({}, rootProps.slotProps?.baseButton, {
67
67
  id: buttonId,
68
68
  'aria-haspopup': 'true',
69
69
  'aria-expanded': open ? 'true' : undefined,
@@ -1,6 +1,6 @@
1
1
  import * as React from 'react';
2
+ import { RenderProp } from '@mui/x-internals/useComponentRenderer';
2
3
  import { QuickFilterState } from "./QuickFilterContext.js";
3
- import { RenderProp } from "../../hooks/utils/useGridComponentRenderer.js";
4
4
  import type { GridFilterModel } from "../../models/index.js";
5
5
  export type QuickFilterProps = Omit<React.HTMLAttributes<HTMLDivElement>, 'className'> & {
6
6
  /**
@@ -7,8 +7,8 @@ import debounce from '@mui/utils/debounce';
7
7
  import useEnhancedEffect from '@mui/utils/useEnhancedEffect';
8
8
  import useId from '@mui/utils/useId';
9
9
  import { isDeepEqual } from '@mui/x-internals/isDeepEqual';
10
+ import { useComponentRenderer } from '@mui/x-internals/useComponentRenderer';
10
11
  import { QuickFilterContext } from "./QuickFilterContext.js";
11
- import { useGridComponentRenderer } from "../../hooks/utils/useGridComponentRenderer.js";
12
12
  import { useGridApiContext } from "../../hooks/utils/useGridApiContext.js";
13
13
  import { useGridSelector } from "../../hooks/utils/useGridSelector.js";
14
14
  import { gridQuickFilterValuesSelector } from "../../hooks/features/filter/index.js";
@@ -129,7 +129,7 @@ function QuickFilter(props) {
129
129
  ref.current.style.setProperty('--trigger-width', `${triggerRef.current?.offsetWidth}px`);
130
130
  }
131
131
  }, []);
132
- const element = useGridComponentRenderer('div', render, _extends({
132
+ const element = useComponentRenderer('div', render, _extends({
133
133
  className: resolvedClassName
134
134
  }, other, {
135
135
  ref