@mui/x-data-grid 8.0.0-alpha.4 → 8.0.0-alpha.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (254) hide show
  1. package/CHANGELOG.md +182 -0
  2. package/DataGrid/DataGrid.js +6 -9
  3. package/DataGrid/useDataGridProps.js +3 -3
  4. package/components/GridColumnHeaders.d.ts +1 -1
  5. package/components/GridColumnHeaders.js +4 -4
  6. package/components/GridFooter.d.ts +2 -1
  7. package/components/GridFooter.js +4 -4
  8. package/components/GridLoadingOverlay.d.ts +1 -1
  9. package/components/GridLoadingOverlay.js +10 -8
  10. package/components/GridNoResultsOverlay.d.ts +2 -1
  11. package/components/GridNoResultsOverlay.js +4 -4
  12. package/components/GridNoRowsOverlay.d.ts +2 -1
  13. package/components/GridNoRowsOverlay.js +4 -4
  14. package/components/GridPagination.d.ts +1 -1
  15. package/components/GridPagination.js +5 -3
  16. package/components/GridRow.d.ts +1 -1
  17. package/components/GridRow.js +15 -3
  18. package/components/GridRowCount.d.ts +1 -1
  19. package/components/GridRowCount.js +3 -2
  20. package/components/GridSelectedRowCount.d.ts +4 -1
  21. package/components/GridSelectedRowCount.js +3 -2
  22. package/components/GridSkeletonLoadingOverlay.d.ts +1 -1
  23. package/components/GridSkeletonLoadingOverlay.js +4 -3
  24. package/components/cell/GridActionsCellItem.d.ts +1 -1
  25. package/components/cell/GridActionsCellItem.js +7 -8
  26. package/components/cell/GridCell.d.ts +1 -1
  27. package/components/cell/GridCell.js +3 -2
  28. package/components/cell/GridEditInputCell.d.ts +1 -1
  29. package/components/cell/GridEditInputCell.js +72 -3
  30. package/components/cell/GridSkeletonCell.js +1 -2
  31. package/components/columnHeaders/GridBaseColumnHeaders.d.ts +1 -1
  32. package/components/columnHeaders/GridBaseColumnHeaders.js +4 -3
  33. package/components/columnHeaders/GridColumnHeaderTitle.js +5 -3
  34. package/components/columnHeaders/GridGenericColumnHeaderItem.d.ts +1 -1
  35. package/components/columnHeaders/GridGenericColumnHeaderItem.js +3 -2
  36. package/components/columnHeaders/GridIconButtonContainer.d.ts +1 -1
  37. package/components/columnHeaders/GridIconButtonContainer.js +5 -3
  38. package/components/columnSelection/GridCellCheckboxRenderer.d.ts +2 -2
  39. package/components/columnSelection/GridCellCheckboxRenderer.js +5 -3
  40. package/components/columnSelection/GridHeaderCheckbox.d.ts +1 -1
  41. package/components/columnSelection/GridHeaderCheckbox.js +5 -3
  42. package/components/containers/GridFooterContainer.d.ts +1 -1
  43. package/components/containers/GridFooterContainer.js +5 -3
  44. package/components/containers/GridOverlay.d.ts +1 -1
  45. package/components/containers/GridOverlay.js +5 -3
  46. package/components/containers/GridRoot.d.ts +1 -1
  47. package/components/containers/GridRoot.js +5 -3
  48. package/components/containers/GridToolbarContainer.d.ts +1 -1
  49. package/components/containers/GridToolbarContainer.js +3 -2
  50. package/components/menu/columnMenu/GridColumnMenu.d.ts +2 -2
  51. package/components/menu/columnMenu/GridColumnMenu.js +5 -5
  52. package/components/menu/columnMenu/GridColumnMenuContainer.d.ts +1 -1
  53. package/components/menu/columnMenu/GridColumnMenuContainer.js +3 -2
  54. package/components/menu/columnMenu/menuItems/GridColumnMenuFilterItem.js +6 -11
  55. package/components/menu/columnMenu/menuItems/GridColumnMenuHideItem.js +6 -11
  56. package/components/menu/columnMenu/menuItems/GridColumnMenuManageItem.js +6 -11
  57. package/components/menu/columnMenu/menuItems/GridColumnMenuSortItem.js +13 -22
  58. package/components/panel/GridPanel.d.ts +1 -1
  59. package/components/panel/GridPanel.js +3 -2
  60. package/components/panel/GridPanelWrapper.d.ts +1 -1
  61. package/components/panel/GridPanelWrapper.js +5 -3
  62. package/components/panel/filterPanel/GridFilterForm.d.ts +1 -1
  63. package/components/panel/filterPanel/GridFilterForm.js +3 -2
  64. package/components/panel/filterPanel/GridFilterInputBoolean.d.ts +1 -1
  65. package/components/panel/filterPanel/GridFilterInputBoolean.js +9 -9
  66. package/components/panel/filterPanel/GridFilterInputValue.js +17 -10
  67. package/components/panel/filterPanel/GridFilterPanel.d.ts +1 -1
  68. package/components/panel/filterPanel/GridFilterPanel.js +4 -4
  69. package/components/panel/filterPanel/index.d.ts +2 -1
  70. package/components/panel/filterPanel/index.js +1 -1
  71. package/components/toolbar/GridToolbar.d.ts +1 -1
  72. package/components/toolbar/GridToolbar.js +4 -4
  73. package/components/toolbar/GridToolbarColumnsButton.d.ts +1 -1
  74. package/components/toolbar/GridToolbarColumnsButton.js +3 -2
  75. package/components/toolbar/GridToolbarDensitySelector.d.ts +1 -1
  76. package/components/toolbar/GridToolbarDensitySelector.js +6 -7
  77. package/components/toolbar/GridToolbarExport.d.ts +1 -1
  78. package/components/toolbar/GridToolbarExport.js +2 -1
  79. package/components/toolbar/GridToolbarExportContainer.d.ts +1 -1
  80. package/components/toolbar/GridToolbarExportContainer.js +3 -2
  81. package/components/toolbar/GridToolbarFilterButton.d.ts +2 -2
  82. package/components/toolbar/GridToolbarFilterButton.js +6 -2
  83. package/components/toolbar/GridToolbarQuickFilter.js +27 -23
  84. package/components/virtualization/GridMainContainer.d.ts +3 -1
  85. package/components/virtualization/GridMainContainer.js +4 -3
  86. package/components/virtualization/GridVirtualScrollbar.d.ts +1 -1
  87. package/components/virtualization/GridVirtualScrollbar.js +2 -1
  88. package/components/virtualization/GridVirtualScrollerContent.d.ts +2 -0
  89. package/components/virtualization/GridVirtualScrollerContent.js +5 -5
  90. package/components/virtualization/GridVirtualScrollerRenderZone.d.ts +2 -0
  91. package/components/virtualization/GridVirtualScrollerRenderZone.js +5 -3
  92. package/hooks/features/columnHeaders/useGridColumnHeaders.js +10 -3
  93. package/hooks/features/columnResize/gridColumnResizeApi.d.ts +6 -0
  94. package/hooks/features/columnResize/gridColumnResizeApi.js +2 -1
  95. package/hooks/features/columnResize/useGridColumnResize.d.ts +1 -1
  96. package/hooks/features/columnResize/useGridColumnResize.js +9 -4
  97. package/hooks/features/columns/gridColumnsUtils.d.ts +1 -1
  98. package/hooks/features/columns/gridColumnsUtils.js +2 -1
  99. package/hooks/features/rows/useGridRowSpanning.js +76 -87
  100. package/index.js +1 -1
  101. package/internals/utils/index.d.ts +0 -1
  102. package/internals/utils/index.js +0 -1
  103. package/locales/koKR.js +45 -49
  104. package/locales/nlNL.js +5 -6
  105. package/material/index.js +36 -4
  106. package/models/gridBaseSlots.d.ts +36 -0
  107. package/models/gridBaseSlots.js +1 -0
  108. package/models/gridSlotsComponent.d.ts +16 -1
  109. package/models/gridSlotsComponentsProps.d.ts +38 -5
  110. package/models/props/DataGridProps.d.ts +0 -5
  111. package/modern/DataGrid/DataGrid.js +6 -9
  112. package/modern/DataGrid/useDataGridProps.js +3 -3
  113. package/modern/components/GridColumnHeaders.js +4 -4
  114. package/modern/components/GridFooter.js +4 -4
  115. package/modern/components/GridLoadingOverlay.js +10 -8
  116. package/modern/components/GridNoResultsOverlay.js +4 -4
  117. package/modern/components/GridNoRowsOverlay.js +4 -4
  118. package/modern/components/GridPagination.js +5 -3
  119. package/modern/components/GridRow.js +15 -3
  120. package/modern/components/GridRowCount.js +3 -2
  121. package/modern/components/GridSelectedRowCount.js +3 -2
  122. package/modern/components/GridSkeletonLoadingOverlay.js +4 -3
  123. package/modern/components/cell/GridActionsCellItem.js +7 -8
  124. package/modern/components/cell/GridCell.js +3 -2
  125. package/modern/components/cell/GridEditInputCell.js +72 -3
  126. package/modern/components/cell/GridSkeletonCell.js +1 -2
  127. package/modern/components/columnHeaders/GridBaseColumnHeaders.js +4 -3
  128. package/modern/components/columnHeaders/GridColumnHeaderTitle.js +5 -3
  129. package/modern/components/columnHeaders/GridGenericColumnHeaderItem.js +3 -2
  130. package/modern/components/columnHeaders/GridIconButtonContainer.js +5 -3
  131. package/modern/components/columnSelection/GridCellCheckboxRenderer.js +5 -3
  132. package/modern/components/columnSelection/GridHeaderCheckbox.js +5 -3
  133. package/modern/components/containers/GridFooterContainer.js +5 -3
  134. package/modern/components/containers/GridOverlay.js +5 -3
  135. package/modern/components/containers/GridRoot.js +5 -3
  136. package/modern/components/containers/GridToolbarContainer.js +3 -2
  137. package/modern/components/menu/columnMenu/GridColumnMenu.js +5 -5
  138. package/modern/components/menu/columnMenu/GridColumnMenuContainer.js +3 -2
  139. package/modern/components/menu/columnMenu/menuItems/GridColumnMenuFilterItem.js +6 -11
  140. package/modern/components/menu/columnMenu/menuItems/GridColumnMenuHideItem.js +6 -11
  141. package/modern/components/menu/columnMenu/menuItems/GridColumnMenuManageItem.js +6 -11
  142. package/modern/components/menu/columnMenu/menuItems/GridColumnMenuSortItem.js +13 -22
  143. package/modern/components/panel/GridPanel.js +3 -2
  144. package/modern/components/panel/GridPanelWrapper.js +5 -3
  145. package/modern/components/panel/filterPanel/GridFilterForm.js +3 -2
  146. package/modern/components/panel/filterPanel/GridFilterInputBoolean.js +9 -9
  147. package/modern/components/panel/filterPanel/GridFilterInputValue.js +17 -10
  148. package/modern/components/panel/filterPanel/GridFilterPanel.js +4 -4
  149. package/modern/components/panel/filterPanel/index.js +1 -1
  150. package/modern/components/toolbar/GridToolbar.js +4 -4
  151. package/modern/components/toolbar/GridToolbarColumnsButton.js +3 -2
  152. package/modern/components/toolbar/GridToolbarDensitySelector.js +6 -7
  153. package/modern/components/toolbar/GridToolbarExport.js +2 -1
  154. package/modern/components/toolbar/GridToolbarExportContainer.js +3 -2
  155. package/modern/components/toolbar/GridToolbarFilterButton.js +6 -2
  156. package/modern/components/toolbar/GridToolbarQuickFilter.js +27 -23
  157. package/modern/components/virtualization/GridMainContainer.js +4 -3
  158. package/modern/components/virtualization/GridVirtualScrollbar.js +2 -1
  159. package/modern/components/virtualization/GridVirtualScrollerContent.js +5 -5
  160. package/modern/components/virtualization/GridVirtualScrollerRenderZone.js +5 -3
  161. package/modern/hooks/features/columnHeaders/useGridColumnHeaders.js +10 -3
  162. package/modern/hooks/features/columnResize/gridColumnResizeApi.js +2 -1
  163. package/modern/hooks/features/columnResize/useGridColumnResize.js +9 -4
  164. package/modern/hooks/features/columns/gridColumnsUtils.js +2 -1
  165. package/modern/hooks/features/rows/useGridRowSpanning.js +76 -87
  166. package/modern/index.js +1 -1
  167. package/modern/internals/utils/index.js +0 -1
  168. package/modern/locales/koKR.js +45 -49
  169. package/modern/locales/nlNL.js +5 -6
  170. package/modern/material/index.js +36 -4
  171. package/modern/models/gridBaseSlots.js +1 -0
  172. package/modern/utils/utils.js +6 -1
  173. package/node/DataGrid/DataGrid.js +6 -9
  174. package/node/DataGrid/useDataGridProps.js +2 -2
  175. package/node/components/GridColumnHeaders.js +4 -4
  176. package/node/components/GridFooter.js +4 -4
  177. package/node/components/GridLoadingOverlay.js +10 -8
  178. package/node/components/GridNoResultsOverlay.js +4 -4
  179. package/node/components/GridNoRowsOverlay.js +4 -4
  180. package/node/components/GridPagination.js +5 -3
  181. package/node/components/GridRow.js +15 -3
  182. package/node/components/GridRowCount.js +3 -2
  183. package/node/components/GridSelectedRowCount.js +3 -2
  184. package/node/components/GridSkeletonLoadingOverlay.js +4 -3
  185. package/node/components/cell/GridActionsCellItem.js +6 -7
  186. package/node/components/cell/GridCell.js +3 -2
  187. package/node/components/cell/GridEditInputCell.js +72 -3
  188. package/node/components/cell/GridSkeletonCell.js +1 -2
  189. package/node/components/columnHeaders/GridBaseColumnHeaders.js +4 -3
  190. package/node/components/columnHeaders/GridColumnHeaderTitle.js +5 -3
  191. package/node/components/columnHeaders/GridGenericColumnHeaderItem.js +3 -2
  192. package/node/components/columnHeaders/GridIconButtonContainer.js +5 -3
  193. package/node/components/columnSelection/GridCellCheckboxRenderer.js +5 -3
  194. package/node/components/columnSelection/GridHeaderCheckbox.js +5 -3
  195. package/node/components/containers/GridFooterContainer.js +5 -3
  196. package/node/components/containers/GridOverlay.js +5 -3
  197. package/node/components/containers/GridRoot.js +5 -3
  198. package/node/components/containers/GridToolbarContainer.js +3 -2
  199. package/node/components/menu/columnMenu/GridColumnMenu.js +5 -5
  200. package/node/components/menu/columnMenu/GridColumnMenuContainer.js +3 -2
  201. package/node/components/menu/columnMenu/menuItems/GridColumnMenuFilterItem.js +5 -10
  202. package/node/components/menu/columnMenu/menuItems/GridColumnMenuHideItem.js +5 -10
  203. package/node/components/menu/columnMenu/menuItems/GridColumnMenuManageItem.js +5 -10
  204. package/node/components/menu/columnMenu/menuItems/GridColumnMenuSortItem.js +13 -22
  205. package/node/components/panel/GridPanel.js +3 -2
  206. package/node/components/panel/GridPanelWrapper.js +5 -3
  207. package/node/components/panel/filterPanel/GridFilterForm.js +3 -2
  208. package/node/components/panel/filterPanel/GridFilterInputBoolean.js +10 -11
  209. package/node/components/panel/filterPanel/GridFilterInputValue.js +17 -10
  210. package/node/components/panel/filterPanel/GridFilterPanel.js +4 -4
  211. package/node/components/panel/filterPanel/index.js +7 -11
  212. package/node/components/toolbar/GridToolbar.js +4 -4
  213. package/node/components/toolbar/GridToolbarColumnsButton.js +3 -2
  214. package/node/components/toolbar/GridToolbarDensitySelector.js +6 -7
  215. package/node/components/toolbar/GridToolbarExport.js +2 -1
  216. package/node/components/toolbar/GridToolbarExportContainer.js +3 -2
  217. package/node/components/toolbar/GridToolbarFilterButton.js +6 -2
  218. package/node/components/toolbar/GridToolbarQuickFilter.js +27 -23
  219. package/node/components/virtualization/GridMainContainer.js +4 -3
  220. package/node/components/virtualization/GridVirtualScrollbar.js +2 -1
  221. package/node/components/virtualization/GridVirtualScrollerContent.js +5 -5
  222. package/node/components/virtualization/GridVirtualScrollerRenderZone.js +5 -3
  223. package/node/hooks/features/columnHeaders/useGridColumnHeaders.js +10 -3
  224. package/node/hooks/features/columnResize/gridColumnResizeApi.js +2 -1
  225. package/node/hooks/features/columnResize/useGridColumnResize.js +9 -4
  226. package/node/hooks/features/columns/gridColumnsUtils.js +2 -1
  227. package/node/hooks/features/rows/useGridRowSpanning.js +74 -85
  228. package/node/index.js +1 -1
  229. package/node/internals/utils/index.js +0 -11
  230. package/node/locales/koKR.js +45 -49
  231. package/node/locales/nlNL.js +5 -6
  232. package/node/material/index.js +37 -4
  233. package/node/models/gridBaseSlots.js +5 -0
  234. package/node/utils/utils.js +8 -1
  235. package/package.json +2 -2
  236. package/utils/utils.d.ts +1 -0
  237. package/utils/utils.js +6 -1
  238. package/internals/utils/useProps.d.ts +0 -1
  239. package/internals/utils/useProps.js +0 -24
  240. package/joy/icons.d.ts +0 -32
  241. package/joy/icons.js +0 -431
  242. package/joy/index.d.ts +0 -2
  243. package/joy/index.js +0 -2
  244. package/joy/joySlots.d.ts +0 -3
  245. package/joy/joySlots.js +0 -389
  246. package/joy/package.json +0 -6
  247. package/modern/internals/utils/useProps.js +0 -24
  248. package/modern/joy/icons.js +0 -431
  249. package/modern/joy/index.js +0 -2
  250. package/modern/joy/joySlots.js +0 -389
  251. package/node/internals/utils/useProps.js +0 -30
  252. package/node/joy/icons.js +0 -439
  253. package/node/joy/index.js +0 -13
  254. package/node/joy/joySlots.js +0 -397
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
8
  exports.GridFilterInputBoolean = GridFilterInputBoolean;
9
- exports.sanitizeFilterItemValue = void 0;
9
+ exports.sanitizeFilterItemValue = sanitizeFilterItemValue;
10
10
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
11
  var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
12
12
  var React = _interopRequireWildcard(require("react"));
@@ -16,16 +16,6 @@ var _styles = require("@mui/material/styles");
16
16
  var _useGridRootProps = require("../../../hooks/utils/useGridRootProps");
17
17
  var _jsxRuntime = require("react/jsx-runtime");
18
18
  const _excluded = ["item", "applyValue", "apiRef", "focusElementRef", "isFilterActive", "clearButton", "tabIndex", "label", "variant", "InputLabelProps"];
19
- const sanitizeFilterItemValue = value => {
20
- if (String(value).toLowerCase() === 'true') {
21
- return true;
22
- }
23
- if (String(value).toLowerCase() === 'false') {
24
- return false;
25
- }
26
- return undefined;
27
- };
28
- exports.sanitizeFilterItemValue = sanitizeFilterItemValue;
29
19
  const BooleanOperatorContainer = (0, _styles.styled)('div')({
30
20
  display: 'flex',
31
21
  alignItems: 'center',
@@ -104,6 +94,15 @@ function GridFilterInputBoolean(props) {
104
94
  }), clearButton]
105
95
  });
106
96
  }
97
+ function sanitizeFilterItemValue(value) {
98
+ if (String(value).toLowerCase() === 'true') {
99
+ return true;
100
+ }
101
+ if (String(value).toLowerCase() === 'false') {
102
+ return false;
103
+ }
104
+ return undefined;
105
+ }
107
106
  process.env.NODE_ENV !== "production" ? GridFilterInputBoolean.propTypes = {
108
107
  // ----------------------------- Warning --------------------------------
109
108
  // | These PropTypes are generated from the TypeScript type definitions |
@@ -30,19 +30,17 @@ function GridFilterInputValue(props) {
30
30
  } = props,
31
31
  others = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
32
32
  const filterTimeout = (0, _useTimeout.useTimeout)();
33
- const [filterValueState, setFilterValueState] = React.useState(item.value ?? '');
33
+ const [filterValueState, setFilterValueState] = React.useState(sanitizeFilterItemValue(item.value, type));
34
34
  const [applying, setIsApplying] = React.useState(false);
35
35
  const id = (0, _utils.unstable_useId)();
36
36
  const rootProps = (0, _useGridRootProps.useGridRootProps)();
37
37
  const onFilterChange = React.useCallback(event => {
38
- const {
39
- value
40
- } = event.target;
41
- setFilterValueState(String(value));
38
+ const value = sanitizeFilterItemValue(event.target.value, type);
39
+ setFilterValueState(value);
42
40
  setIsApplying(true);
43
41
  filterTimeout.start(rootProps.filterDebounceMs, () => {
44
42
  const newItem = (0, _extends2.default)({}, item, {
45
- value: type === 'number' ? Number(value) : value,
43
+ value,
46
44
  fromInput: id
47
45
  });
48
46
  applyValue(newItem);
@@ -51,15 +49,15 @@ function GridFilterInputValue(props) {
51
49
  }, [filterTimeout, rootProps.filterDebounceMs, item, type, id, applyValue]);
52
50
  React.useEffect(() => {
53
51
  const itemPlusTag = item;
54
- if (itemPlusTag.fromInput !== id || item.value === undefined) {
55
- setFilterValueState(String(item.value ?? ''));
52
+ if (itemPlusTag.fromInput !== id || item.value == null) {
53
+ setFilterValueState(sanitizeFilterItemValue(item.value, type));
56
54
  }
57
- }, [id, item]);
55
+ }, [id, item, type]);
58
56
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.baseTextField, (0, _extends2.default)({
59
57
  id: id,
60
58
  label: apiRef.current.getLocaleText('filterPanelInputLabel'),
61
59
  placeholder: apiRef.current.getLocaleText('filterPanelInputPlaceholder'),
62
- value: filterValueState,
60
+ value: filterValueState === undefined ? '' : String(filterValueState),
63
61
  onChange: onFilterChange,
64
62
  variant: variant,
65
63
  type: type || 'text',
@@ -81,6 +79,15 @@ function GridFilterInputValue(props) {
81
79
  inputRef: focusElementRef
82
80
  }, others, rootProps.slotProps?.baseTextField));
83
81
  }
82
+ function sanitizeFilterItemValue(value, type) {
83
+ if (value == null || value === '') {
84
+ return undefined;
85
+ }
86
+ if (type === 'number') {
87
+ return Number(value);
88
+ }
89
+ return String(value);
90
+ }
84
91
  process.env.NODE_ENV !== "production" ? GridFilterInputValue.propTypes = {
85
92
  // ----------------------------- Warning --------------------------------
86
93
  // | These PropTypes are generated from the TypeScript type definitions |
@@ -10,6 +10,7 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
10
10
  var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
11
11
  var React = _interopRequireWildcard(require("react"));
12
12
  var _propTypes = _interopRequireDefault(require("prop-types"));
13
+ var _forwardRef = require("@mui/x-internals/forwardRef");
13
14
  var _gridFilterItem = require("../../../models/gridFilterItem");
14
15
  var _useGridApiContext = require("../../../hooks/utils/useGridApiContext");
15
16
  var _GridPanelContent = require("../GridPanelContent");
@@ -28,7 +29,7 @@ const getGridFilter = col => ({
28
29
  id: Math.round(Math.random() * 1e5)
29
30
  });
30
31
  exports.getGridFilter = getGridFilter;
31
- const GridFilterPanel = exports.GridFilterPanel = /*#__PURE__*/React.forwardRef(function GridFilterPanel(props, ref) {
32
+ const GridFilterPanel = exports.GridFilterPanel = (0, _forwardRef.forwardRef)(function GridFilterPanel(props, ref) {
32
33
  const apiRef = (0, _useGridApiContext.useGridApiContext)();
33
34
  const rootProps = (0, _useGridRootProps.useGridRootProps)();
34
35
  const filterModel = (0, _useGridSelector.useGridSelector)(apiRef, _gridFilterSelector.gridFilterModelSelector);
@@ -150,9 +151,8 @@ const GridFilterPanel = exports.GridFilterPanel = /*#__PURE__*/React.forwardRef(
150
151
  lastFilterRef.current.focus();
151
152
  }
152
153
  }, [validFilters.length]);
153
- return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_GridPanelWrapper.GridPanelWrapper, (0, _extends2.default)({
154
- ref: ref
155
- }, other, {
154
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_GridPanelWrapper.GridPanelWrapper, (0, _extends2.default)({}, other, {
155
+ ref: ref,
156
156
  children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_GridPanelContent.GridPanelContent, {
157
157
  children: [readOnlyFilters.map((item, index) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_GridFilterForm.GridFilterForm, (0, _extends2.default)({
158
158
  item: item,
@@ -4,8 +4,15 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  var _exportNames = {
7
+ GridFilterInputBoolean: true,
7
8
  GridFilterPanel: true
8
9
  };
10
+ Object.defineProperty(exports, "GridFilterInputBoolean", {
11
+ enumerable: true,
12
+ get: function () {
13
+ return _GridFilterInputBoolean.GridFilterInputBoolean;
14
+ }
15
+ });
9
16
  Object.defineProperty(exports, "GridFilterPanel", {
10
17
  enumerable: true,
11
18
  get: function () {
@@ -61,17 +68,6 @@ Object.keys(_GridFilterInputSingleSelect).forEach(function (key) {
61
68
  });
62
69
  });
63
70
  var _GridFilterInputBoolean = require("./GridFilterInputBoolean");
64
- Object.keys(_GridFilterInputBoolean).forEach(function (key) {
65
- if (key === "default" || key === "__esModule") return;
66
- if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
67
- if (key in exports && exports[key] === _GridFilterInputBoolean[key]) return;
68
- Object.defineProperty(exports, key, {
69
- enumerable: true,
70
- get: function () {
71
- return _GridFilterInputBoolean[key];
72
- }
73
- });
74
- });
75
71
  var _GridFilterInputValueProps = require("./GridFilterInputValueProps");
76
72
  Object.keys(_GridFilterInputValueProps).forEach(function (key) {
77
73
  if (key === "default" || key === "__esModule") return;
@@ -10,6 +10,7 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
10
10
  var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
11
11
  var React = _interopRequireWildcard(require("react"));
12
12
  var _propTypes = _interopRequireDefault(require("prop-types"));
13
+ var _forwardRef = require("@mui/x-internals/forwardRef");
13
14
  var _GridToolbarContainer = require("../containers/GridToolbarContainer");
14
15
  var _GridToolbarColumnsButton = require("./GridToolbarColumnsButton");
15
16
  var _GridToolbarDensitySelector = require("./GridToolbarDensitySelector");
@@ -19,7 +20,7 @@ var _useGridRootProps = require("../../hooks/utils/useGridRootProps");
19
20
  var _GridToolbarQuickFilter = require("./GridToolbarQuickFilter");
20
21
  var _jsxRuntime = require("react/jsx-runtime");
21
22
  const _excluded = ["className", "csvOptions", "printOptions", "excelOptions", "showQuickFilter", "quickFilterProps"];
22
- const GridToolbar = exports.GridToolbar = /*#__PURE__*/React.forwardRef(function GridToolbar(props, ref) {
23
+ const GridToolbar = exports.GridToolbar = (0, _forwardRef.forwardRef)(function GridToolbar(props, ref) {
23
24
  // TODO v7: think about where export option should be passed.
24
25
  // from slotProps={{ toolbarExport: { ...exportOption } }} seems to be more appropriate
25
26
  const _ref = props,
@@ -35,9 +36,8 @@ const GridToolbar = exports.GridToolbar = /*#__PURE__*/React.forwardRef(function
35
36
  if (rootProps.disableColumnFilter && rootProps.disableColumnSelector && rootProps.disableDensitySelector && !showQuickFilter) {
36
37
  return null;
37
38
  }
38
- return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_GridToolbarContainer.GridToolbarContainer, (0, _extends2.default)({
39
- ref: ref
40
- }, other, {
39
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_GridToolbarContainer.GridToolbarContainer, (0, _extends2.default)({}, other, {
40
+ ref: ref,
41
41
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_GridToolbarColumnsButton.GridToolbarColumnsButton, {}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_GridToolbarFilterButton.GridToolbarFilterButton, {}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_GridToolbarDensitySelector.GridToolbarDensitySelector, {}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_GridToolbarExport.GridToolbarExport, {
42
42
  csvOptions: csvOptions,
43
43
  printOptions: printOptions
@@ -10,13 +10,14 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
10
10
  var React = _interopRequireWildcard(require("react"));
11
11
  var _propTypes = _interopRequireDefault(require("prop-types"));
12
12
  var _useId = _interopRequireDefault(require("@mui/utils/useId"));
13
+ var _forwardRef = require("@mui/x-internals/forwardRef");
13
14
  var _useGridSelector = require("../../hooks/utils/useGridSelector");
14
15
  var _gridPreferencePanelSelector = require("../../hooks/features/preferencesPanel/gridPreferencePanelSelector");
15
16
  var _gridPreferencePanelsValue = require("../../hooks/features/preferencesPanel/gridPreferencePanelsValue");
16
17
  var _useGridApiContext = require("../../hooks/utils/useGridApiContext");
17
18
  var _useGridRootProps = require("../../hooks/utils/useGridRootProps");
18
19
  var _jsxRuntime = require("react/jsx-runtime");
19
- const GridToolbarColumnsButton = exports.GridToolbarColumnsButton = /*#__PURE__*/React.forwardRef(function GridToolbarColumnsButton(props, ref) {
20
+ const GridToolbarColumnsButton = exports.GridToolbarColumnsButton = (0, _forwardRef.forwardRef)(function GridToolbarColumnsButton(props, ref) {
20
21
  const {
21
22
  slotProps = {}
22
23
  } = props;
@@ -46,7 +47,6 @@ const GridToolbarColumnsButton = exports.GridToolbarColumnsButton = /*#__PURE__*
46
47
  enterDelay: 1000
47
48
  }, rootProps.slotProps?.baseTooltip, tooltipProps, {
48
49
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.baseButton, (0, _extends2.default)({
49
- ref: ref,
50
50
  id: columnButtonId,
51
51
  size: "small",
52
52
  "aria-label": apiRef.current.getLocaleText('toolbarColumnsLabel'),
@@ -56,6 +56,7 @@ const GridToolbarColumnsButton = exports.GridToolbarColumnsButton = /*#__PURE__*
56
56
  startIcon: /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.columnSelectorIcon, {}),
57
57
  onClick: showColumns
58
58
  }, rootProps.slotProps?.baseButton, buttonProps, {
59
+ ref: ref,
59
60
  children: apiRef.current.getLocaleText('toolbarColumns')
60
61
  }))
61
62
  }));
@@ -10,7 +10,7 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
10
10
  var React = _interopRequireWildcard(require("react"));
11
11
  var _propTypes = _interopRequireDefault(require("prop-types"));
12
12
  var _utils = require("@mui/utils");
13
- var _ListItemIcon = _interopRequireDefault(require("@mui/material/ListItemIcon"));
13
+ var _forwardRef = require("@mui/x-internals/forwardRef");
14
14
  var _densitySelector = require("../../hooks/features/density/densitySelector");
15
15
  var _keyboardUtils = require("../../utils/keyboardUtils");
16
16
  var _useGridApiContext = require("../../hooks/utils/useGridApiContext");
@@ -19,7 +19,7 @@ var _GridMenu = require("../menu/GridMenu");
19
19
  var _useGridRootProps = require("../../hooks/utils/useGridRootProps");
20
20
  var _gridClasses = require("../../constants/gridClasses");
21
21
  var _jsxRuntime = require("react/jsx-runtime");
22
- const GridToolbarDensitySelector = exports.GridToolbarDensitySelector = /*#__PURE__*/React.forwardRef(function GridToolbarDensitySelector(props, ref) {
22
+ const GridToolbarDensitySelector = exports.GridToolbarDensitySelector = (0, _forwardRef.forwardRef)(function GridToolbarDensitySelector(props, ref) {
23
23
  const {
24
24
  slotProps = {}
25
25
  } = props;
@@ -80,12 +80,11 @@ const GridToolbarDensitySelector = exports.GridToolbarDensitySelector = /*#__PUR
80
80
  if (rootProps.disableDensitySelector) {
81
81
  return null;
82
82
  }
83
- const densityElements = densityOptions.map((option, index) => /*#__PURE__*/(0, _jsxRuntime.jsxs)(rootProps.slots.baseMenuItem, {
83
+ const densityElements = densityOptions.map((option, index) => /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.baseMenuItem, {
84
84
  onClick: () => handleDensityUpdate(option.value),
85
85
  selected: option.value === density,
86
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_ListItemIcon.default, {
87
- children: option.icon
88
- }), option.label]
86
+ iconStart: option.icon,
87
+ children: option.label
89
88
  }, index));
90
89
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(React.Fragment, {
91
90
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.baseTooltip, (0, _extends2.default)({
@@ -93,7 +92,6 @@ const GridToolbarDensitySelector = exports.GridToolbarDensitySelector = /*#__PUR
93
92
  enterDelay: 1000
94
93
  }, rootProps.slotProps?.baseTooltip, tooltipProps, {
95
94
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.baseButton, (0, _extends2.default)({
96
- ref: handleRef,
97
95
  size: "small",
98
96
  startIcon: startIcon,
99
97
  "aria-label": apiRef.current.getLocaleText('toolbarDensityLabel'),
@@ -103,6 +101,7 @@ const GridToolbarDensitySelector = exports.GridToolbarDensitySelector = /*#__PUR
103
101
  id: densityButtonId,
104
102
  onClick: handleDensitySelectorOpen
105
103
  }, rootProps.slotProps?.baseButton, buttonProps, {
104
+ ref: handleRef,
106
105
  children: apiRef.current.getLocaleText('toolbarDensity')
107
106
  }))
108
107
  })), /*#__PURE__*/(0, _jsxRuntime.jsx)(_GridMenu.GridMenu, {
@@ -12,6 +12,7 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
12
12
  var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
13
13
  var React = _interopRequireWildcard(require("react"));
14
14
  var _propTypes = _interopRequireDefault(require("prop-types"));
15
+ var _forwardRef = require("@mui/x-internals/forwardRef");
15
16
  var _useGridRootProps = require("../../hooks/utils/useGridRootProps");
16
17
  var _useGridApiContext = require("../../hooks/utils/useGridApiContext");
17
18
  var _GridToolbarExportContainer = require("./GridToolbarExportContainer");
@@ -93,7 +94,7 @@ process.env.NODE_ENV !== "production" ? GridPrintExportMenuItem.propTypes = {
93
94
  pageStyle: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.string])
94
95
  })
95
96
  } : void 0;
96
- const GridToolbarExport = exports.GridToolbarExport = /*#__PURE__*/React.forwardRef(function GridToolbarExport(props, ref) {
97
+ const GridToolbarExport = exports.GridToolbarExport = (0, _forwardRef.forwardRef)(function GridToolbarExport(props, ref) {
97
98
  const _ref = props,
98
99
  {
99
100
  csvOptions = {},
@@ -10,13 +10,14 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
10
10
  var React = _interopRequireWildcard(require("react"));
11
11
  var _propTypes = _interopRequireDefault(require("prop-types"));
12
12
  var _utils = require("@mui/utils");
13
+ var _forwardRef = require("@mui/x-internals/forwardRef");
13
14
  var _keyboardUtils = require("../../utils/keyboardUtils");
14
15
  var _useGridApiContext = require("../../hooks/utils/useGridApiContext");
15
16
  var _GridMenu = require("../menu/GridMenu");
16
17
  var _useGridRootProps = require("../../hooks/utils/useGridRootProps");
17
18
  var _gridClasses = require("../../constants/gridClasses");
18
19
  var _jsxRuntime = require("react/jsx-runtime");
19
- const GridToolbarExportContainer = exports.GridToolbarExportContainer = /*#__PURE__*/React.forwardRef(function GridToolbarExportContainer(props, ref) {
20
+ const GridToolbarExportContainer = exports.GridToolbarExportContainer = (0, _forwardRef.forwardRef)(function GridToolbarExportContainer(props, ref) {
20
21
  const {
21
22
  children,
22
23
  slotProps = {}
@@ -52,7 +53,6 @@ const GridToolbarExportContainer = exports.GridToolbarExportContainer = /*#__PUR
52
53
  enterDelay: 1000
53
54
  }, rootProps.slotProps?.baseTooltip, tooltipProps, {
54
55
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.baseButton, (0, _extends2.default)({
55
- ref: handleRef,
56
56
  size: "small",
57
57
  startIcon: /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.exportIcon, {}),
58
58
  "aria-expanded": open,
@@ -62,6 +62,7 @@ const GridToolbarExportContainer = exports.GridToolbarExportContainer = /*#__PUR
62
62
  id: exportButtonId,
63
63
  onClick: handleMenuOpen
64
64
  }, rootProps.slotProps?.baseButton, buttonProps, {
65
+ ref: handleRef,
65
66
  children: apiRef.current.getLocaleText('toolbarExport')
66
67
  }))
67
68
  })), /*#__PURE__*/(0, _jsxRuntime.jsx)(_GridMenu.GridMenu, {
@@ -11,6 +11,7 @@ var React = _interopRequireWildcard(require("react"));
11
11
  var _propTypes = _interopRequireDefault(require("prop-types"));
12
12
  var _styles = require("@mui/material/styles");
13
13
  var _utils = require("@mui/utils");
14
+ var _forwardRef = require("@mui/x-internals/forwardRef");
14
15
  var _gridColumnsSelector = require("../../hooks/features/columns/gridColumnsSelector");
15
16
  var _useGridSelector = require("../../hooks/utils/useGridSelector");
16
17
  var _gridFilterSelector = require("../../hooks/features/filter/gridFilterSelector");
@@ -39,7 +40,10 @@ const GridToolbarFilterListRoot = (0, _styles.styled)('ul', {
39
40
  margin: theme.spacing(1, 1, 0.5),
40
41
  padding: theme.spacing(0, 1)
41
42
  }));
42
- const GridToolbarFilterButton = exports.GridToolbarFilterButton = /*#__PURE__*/React.forwardRef(function GridToolbarFilterButton(props, ref) {
43
+
44
+ // FIXME(v8:romgrk): override slotProps
45
+
46
+ const GridToolbarFilterButton = exports.GridToolbarFilterButton = (0, _forwardRef.forwardRef)(function GridToolbarFilterButton(props, ref) {
43
47
  const {
44
48
  slotProps = {}
45
49
  } = props;
@@ -105,7 +109,6 @@ const GridToolbarFilterButton = exports.GridToolbarFilterButton = /*#__PURE__*/R
105
109
  enterDelay: 1000
106
110
  }, rootProps.slotProps?.baseTooltip, tooltipProps, {
107
111
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.baseButton, (0, _extends2.default)({
108
- ref: ref,
109
112
  id: filterButtonId,
110
113
  size: "small",
111
114
  "aria-label": apiRef.current.getLocaleText('toolbarFiltersLabel'),
@@ -120,6 +123,7 @@ const GridToolbarFilterButton = exports.GridToolbarFilterButton = /*#__PURE__*/R
120
123
  })),
121
124
  onClick: toggleFilter
122
125
  }, rootProps.slotProps?.baseButton, buttonProps, {
126
+ ref: ref,
123
127
  children: apiRef.current.getLocaleText('toolbarFilters')
124
128
  }))
125
129
  }));
@@ -15,6 +15,7 @@ var _TextField = _interopRequireDefault(require("@mui/material/TextField"));
15
15
  var _styles = require("@mui/material/styles");
16
16
  var _utils = require("@mui/utils");
17
17
  var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"));
18
+ var _OutlinedInput = require("@mui/material/OutlinedInput");
18
19
  var _constants = require("../../constants");
19
20
  var _useGridApiContext = require("../../hooks/utils/useGridApiContext");
20
21
  var _useGridRootProps = require("../../hooks/utils/useGridRootProps");
@@ -39,13 +40,8 @@ const GridToolbarQuickFilterRoot = (0, _styles.styled)(_TextField.default, {
39
40
  })(({
40
41
  theme
41
42
  }) => ({
42
- width: 'auto',
43
- paddingBottom: theme.spacing(0.5),
44
- '& input': {
45
- marginLeft: theme.spacing(0.5)
46
- },
47
- '& .MuiInput-underline:before': {
48
- borderBottom: `1px solid ${(theme.vars || theme).palette.divider}`
43
+ [`.${_OutlinedInput.outlinedInputClasses.root}`]: {
44
+ fontSize: theme.typography.body2.fontSize
49
45
  },
50
46
  [`& input[type="search"]::-webkit-search-decoration,
51
47
  & input[type="search"]::-webkit-search-cancel-button,
@@ -99,7 +95,8 @@ function GridToolbarQuickFilter(props) {
99
95
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(GridToolbarQuickFilterRoot, (0, _extends2.default)({
100
96
  as: rootProps.slots.baseTextField,
101
97
  ownerState: rootProps,
102
- variant: "standard",
98
+ variant: "outlined",
99
+ size: "small",
103
100
  value: searchValue,
104
101
  onChange: handleSearchValueChange,
105
102
  className: (0, _clsx.default)(classes.root, className),
@@ -108,23 +105,30 @@ function GridToolbarQuickFilter(props) {
108
105
  type: "search"
109
106
  }, other, {
110
107
  InputProps: (0, _extends2.default)({
111
- startAdornment: /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.quickFilterIcon, {
112
- fontSize: "small"
113
- }),
114
- endAdornment: /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.baseIconButton, (0, _extends2.default)({
115
- "aria-label": apiRef.current.getLocaleText('toolbarQuickFilterDeleteIconLabel'),
116
- size: "small",
117
- sx: [searchValue ? {
118
- visibility: 'visible'
119
- } : {
120
- visibility: 'hidden'
121
- }],
122
- onClick: handleSearchReset
123
- }, rootProps.slotProps?.baseIconButton, {
124
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.quickFilterClearIcon, {
108
+ startAdornment: /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.baseInputAdornment, {
109
+ position: "start",
110
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.quickFilterIcon, {
125
111
  fontSize: "small"
126
112
  })
127
- }))
113
+ }),
114
+ endAdornment: /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.baseInputAdornment, {
115
+ position: "end",
116
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.baseIconButton, (0, _extends2.default)({
117
+ "aria-label": apiRef.current.getLocaleText('toolbarQuickFilterDeleteIconLabel'),
118
+ size: "small",
119
+ edge: "end",
120
+ sx: [searchValue ? {
121
+ visibility: 'visible'
122
+ } : {
123
+ visibility: 'hidden'
124
+ }],
125
+ onClick: handleSearchReset
126
+ }, rootProps.slotProps?.baseIconButton, {
127
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.quickFilterClearIcon, {
128
+ fontSize: "small"
129
+ })
130
+ }))
131
+ })
128
132
  }, other.InputProps)
129
133
  }, rootProps.slotProps?.baseTextField));
130
134
  }
@@ -9,6 +9,7 @@ exports.GridMainContainer = void 0;
9
9
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
10
  var React = _interopRequireWildcard(require("react"));
11
11
  var _system = require("@mui/system");
12
+ var _forwardRef = require("@mui/x-internals/forwardRef");
12
13
  var _useGridRootProps = require("../../hooks/utils/useGridRootProps");
13
14
  var _useGridConfiguration = require("../../hooks/utils/useGridConfiguration");
14
15
  var _jsxRuntime = require("react/jsx-runtime");
@@ -29,16 +30,16 @@ const Element = (0, _system.styled)('div', {
29
30
  display: 'flex',
30
31
  flexDirection: 'column'
31
32
  });
32
- const GridMainContainer = exports.GridMainContainer = /*#__PURE__*/React.forwardRef((props, ref) => {
33
+ const GridMainContainer = exports.GridMainContainer = (0, _forwardRef.forwardRef)((props, ref) => {
33
34
  const rootProps = (0, _useGridRootProps.useGridRootProps)();
34
35
  const configuration = (0, _useGridConfiguration.useGridConfiguration)();
35
36
  const ariaAttributes = configuration.hooks.useGridAriaAttributes();
36
37
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(Element, (0, _extends2.default)({
37
- ref: ref,
38
38
  ownerState: rootProps,
39
39
  className: props.className,
40
40
  tabIndex: -1
41
- }, ariaAttributes, {
41
+ }, ariaAttributes, rootProps.slotProps?.main, {
42
+ ref: ref,
42
43
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(GridPanelAnchor, {
43
44
  role: "presentation",
44
45
  "data-id": "gridPanelAnchor"
@@ -8,6 +8,7 @@ exports.GridVirtualScrollbar = void 0;
8
8
  var React = _interopRequireWildcard(require("react"));
9
9
  var _system = require("@mui/system");
10
10
  var _utils = require("@mui/utils");
11
+ var _forwardRef = require("@mui/x-internals/forwardRef");
11
12
  var _useOnMount = require("../../hooks/utils/useOnMount");
12
13
  var _useGridPrivateApiContext = require("../../hooks/utils/useGridPrivateApiContext");
13
14
  var _hooks = require("../../hooks");
@@ -59,7 +60,7 @@ const ScrollbarHorizontal = (0, _system.styled)(Scrollbar)({
59
60
  },
60
61
  bottom: '0px'
61
62
  });
62
- const GridVirtualScrollbar = exports.GridVirtualScrollbar = /*#__PURE__*/React.forwardRef(function GridVirtualScrollbar(props, ref) {
63
+ const GridVirtualScrollbar = exports.GridVirtualScrollbar = (0, _forwardRef.forwardRef)(function GridVirtualScrollbar(props, ref) {
63
64
  const apiRef = (0, _useGridPrivateApiContext.useGridPrivateApiContext)();
64
65
  const rootProps = (0, _useGridRootProps.useGridRootProps)();
65
66
  const isLocked = React.useRef(false);
@@ -11,6 +11,7 @@ var React = _interopRequireWildcard(require("react"));
11
11
  var _clsx = _interopRequireDefault(require("clsx"));
12
12
  var _system = require("@mui/system");
13
13
  var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"));
14
+ var _forwardRef = require("@mui/x-internals/forwardRef");
14
15
  var _useGridRootProps = require("../../hooks/utils/useGridRootProps");
15
16
  var _gridClasses = require("../../constants/gridClasses");
16
17
  var _jsxRuntime = require("react/jsx-runtime");
@@ -28,14 +29,13 @@ const VirtualScrollerContentRoot = (0, _system.styled)('div', {
28
29
  slot: 'VirtualScrollerContent',
29
30
  overridesResolver: (props, styles) => styles.virtualScrollerContent
30
31
  })({});
31
- const GridVirtualScrollerContent = exports.GridVirtualScrollerContent = /*#__PURE__*/React.forwardRef(function GridVirtualScrollerContent(props, ref) {
32
+ const GridVirtualScrollerContent = exports.GridVirtualScrollerContent = (0, _forwardRef.forwardRef)(function GridVirtualScrollerContent(props, ref) {
32
33
  const rootProps = (0, _useGridRootProps.useGridRootProps)();
33
34
  const overflowedContent = !rootProps.autoHeight && props.style?.minHeight === 'auto';
34
35
  const classes = useUtilityClasses(rootProps, overflowedContent);
35
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(VirtualScrollerContentRoot, (0, _extends2.default)({
36
- ref: ref
37
- }, props, {
36
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(VirtualScrollerContentRoot, (0, _extends2.default)({}, props, {
38
37
  ownerState: rootProps,
39
- className: (0, _clsx.default)(classes.root, props.className)
38
+ className: (0, _clsx.default)(classes.root, props.className),
39
+ ref: ref
40
40
  }));
41
41
  });
@@ -12,6 +12,7 @@ var React = _interopRequireWildcard(require("react"));
12
12
  var _clsx = _interopRequireDefault(require("clsx"));
13
13
  var _system = require("@mui/system");
14
14
  var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"));
15
+ var _forwardRef = require("@mui/x-internals/forwardRef");
15
16
  var _useGridApiContext = require("../../hooks/utils/useGridApiContext");
16
17
  var _useGridSelector = require("../../hooks/utils/useGridSelector");
17
18
  var _rows = require("../../hooks/features/rows");
@@ -39,7 +40,7 @@ const VirtualScrollerRenderZoneRoot = (0, _system.styled)('div', {
39
40
  // Prevents margin collapsing when using `getRowSpacing`
40
41
  flexDirection: 'column'
41
42
  });
42
- const GridVirtualScrollerRenderZone = exports.GridVirtualScrollerRenderZone = /*#__PURE__*/React.forwardRef(function GridVirtualScrollerRenderZone(props, ref) {
43
+ const GridVirtualScrollerRenderZone = exports.GridVirtualScrollerRenderZone = (0, _forwardRef.forwardRef)(function GridVirtualScrollerRenderZone(props, ref) {
43
44
  const {
44
45
  className
45
46
  } = props,
@@ -53,11 +54,12 @@ const GridVirtualScrollerRenderZone = exports.GridVirtualScrollerRenderZone = /*
53
54
  return rowsMeta.positions[renderContext.firstRowIndex] ?? 0;
54
55
  });
55
56
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(VirtualScrollerRenderZoneRoot, (0, _extends2.default)({
56
- ref: ref,
57
57
  className: (0, _clsx.default)(classes.root, className),
58
58
  ownerState: rootProps,
59
59
  style: {
60
60
  transform: `translate3d(0, ${offsetTop}px, 0)`
61
61
  }
62
- }, other));
62
+ }, other, {
63
+ ref: ref
64
+ }));
63
65
  });
@@ -55,7 +55,7 @@ const useGridColumnHeaders = props => {
55
55
  const isRtl = (0, _RtlProvider.useRtl)();
56
56
  const rootProps = (0, _useGridRootProps.useGridRootProps)();
57
57
  const dimensions = (0, _utils.useGridSelector)(apiRef, _dimensions.gridDimensionsSelector);
58
- const hasVirtualization = (0, _utils.useGridSelector)(apiRef, _virtualization.gridVirtualizationColumnEnabledSelector);
58
+ const hasColumnVirtualization = (0, _utils.useGridSelector)(apiRef, _virtualization.gridVirtualizationColumnEnabledSelector);
59
59
  const columnGroupsModel = (0, _utils.useGridSelector)(apiRef, _gridColumnGroupsSelector.gridColumnGroupsUnwrappedModelSelector);
60
60
  const columnPositions = (0, _utils.useGridSelector)(apiRef, _columns.gridColumnPositionsSelector);
61
61
  const renderContext = (0, _utils.useGridSelector)(apiRef, _virtualization.gridRenderContextColumnsSelector);
@@ -95,8 +95,15 @@ const useGridColumnHeaders = props => {
95
95
  renderContext: currentContext = renderContext,
96
96
  maxLastColumn = visibleColumns.length
97
97
  } = params || {};
98
- const firstColumnToRender = currentContext.firstColumnIndex;
99
- const lastColumnToRender = !hasVirtualization ? maxLastColumn : currentContext.lastColumnIndex;
98
+ let firstColumnToRender;
99
+ let lastColumnToRender;
100
+ if (!rootProps.disableVirtualization && !hasColumnVirtualization) {
101
+ firstColumnToRender = 0;
102
+ lastColumnToRender = maxLastColumn;
103
+ } else {
104
+ firstColumnToRender = currentContext.firstColumnIndex;
105
+ lastColumnToRender = currentContext.lastColumnIndex;
106
+ }
100
107
  const renderedColumns = visibleColumns.slice(firstColumnToRender, lastColumnToRender);
101
108
  return {
102
109
  renderedColumns,
@@ -8,7 +8,8 @@ const DEFAULT_GRID_AUTOSIZE_OPTIONS = exports.DEFAULT_GRID_AUTOSIZE_OPTIONS = {
8
8
  includeHeaders: true,
9
9
  includeOutliers: false,
10
10
  outliersFactor: 1.5,
11
- expand: false
11
+ expand: false,
12
+ disableColumnVirtualization: true
12
13
  };
13
14
 
14
15
  /**
@@ -469,6 +469,7 @@ const useGridColumnResize = (apiRef, props) => {
469
469
  return;
470
470
  }
471
471
  apiRef.current.autosizeColumns((0, _extends2.default)({}, props.autosizeOptions, {
472
+ disableColumnVirtualization: false,
472
473
  columns: [column.field]
473
474
  }));
474
475
  });
@@ -495,8 +496,10 @@ const useGridColumnResize = (apiRef, props) => {
495
496
  options.columns = options.columns.filter(c => state.columnVisibilityModel[c] !== false);
496
497
  const columns = options.columns.map(c => apiRef.current.state.columns.lookup[c]);
497
498
  try {
498
- apiRef.current.unstable_setColumnVirtualization(false);
499
- await columnVirtualizationDisabled();
499
+ if (!props.disableVirtualization && options.disableColumnVirtualization) {
500
+ apiRef.current.unstable_setColumnVirtualization(false);
501
+ await columnVirtualizationDisabled();
502
+ }
500
503
  const widthByField = extractColumnWidths(apiRef, options, columns);
501
504
  const newColumns = columns.map(column => (0, _extends2.default)({}, column, {
502
505
  width: widthByField[column.field],
@@ -528,10 +531,12 @@ const useGridColumnResize = (apiRef, props) => {
528
531
  }
529
532
  });
530
533
  } finally {
531
- apiRef.current.unstable_setColumnVirtualization(true);
534
+ if (!props.disableVirtualization) {
535
+ apiRef.current.unstable_setColumnVirtualization(true);
536
+ }
532
537
  isAutosizingRef.current = false;
533
538
  }
534
- }, [apiRef, columnVirtualizationDisabled]);
539
+ }, [apiRef, columnVirtualizationDisabled, props.disableVirtualization]);
535
540
 
536
541
  /**
537
542
  * EFFECTS
@@ -334,6 +334,7 @@ function getTotalHeaderHeight(apiRef, props) {
334
334
  const maxDepth = (0, _gridColumnGroupsSelector.gridColumnGroupsHeaderMaxDepthSelector)(apiRef);
335
335
  const isHeaderFilteringEnabled = (0, _gridHeaderFilteringSelectors.gridHeaderFilteringEnabledSelector)(apiRef);
336
336
  const columnHeadersHeight = Math.floor(props.columnHeaderHeight * densityFactor);
337
+ const columnGroupHeadersHeight = Math.floor((props.columnGroupHeaderHeight ?? props.columnHeaderHeight) * densityFactor);
337
338
  const filterHeadersHeight = isHeaderFilteringEnabled ? Math.floor((props.headerFilterHeight ?? props.columnHeaderHeight) * densityFactor) : 0;
338
- return columnHeadersHeight * (1 + (maxDepth ?? 0)) + filterHeadersHeight;
339
+ return columnHeadersHeight + columnGroupHeadersHeight * maxDepth + filterHeadersHeight;
339
340
  }