@mui/x-data-grid 7.21.0 → 7.22.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.
Files changed (80) hide show
  1. package/CHANGELOG.md +80 -0
  2. package/components/cell/GridBooleanCell.d.ts +3 -3
  3. package/components/cell/GridBooleanCell.js +11 -1
  4. package/components/columnHeaders/GridColumnHeaderFilterIconButton.js +1 -2
  5. package/components/columnHeaders/GridColumnHeaderSortIcon.js +1 -2
  6. package/components/containers/GridRootStyles.js +4 -2
  7. package/components/panel/filterPanel/GridFilterInputBoolean.js +1 -1
  8. package/components/panel/filterPanel/GridFilterInputMultipleValue.js +2 -2
  9. package/components/panel/filterPanel/GridFilterInputValue.js +2 -2
  10. package/components/toolbar/GridToolbar.js +2 -3
  11. package/components/toolbar/GridToolbarExport.js +1 -13
  12. package/components/toolbar/GridToolbarFilterButton.js +1 -2
  13. package/components/virtualization/GridBottomContainer.js +0 -17
  14. package/components/virtualization/GridMainContainer.js +2 -1
  15. package/components/virtualization/GridVirtualScroller.js +2 -0
  16. package/constants/gridClasses.d.ts +5 -0
  17. package/constants/gridClasses.js +1 -1
  18. package/hooks/core/pipeProcessing/gridPipeProcessingApi.d.ts +4 -0
  19. package/hooks/features/columnMenu/useGridColumnMenuSlots.js +4 -3
  20. package/hooks/features/focus/useGridFocus.js +18 -3
  21. package/hooks/features/pagination/gridPaginationSelector.js +2 -1
  22. package/hooks/features/virtualization/useGridVirtualScroller.js +2 -1
  23. package/index.js +1 -1
  24. package/joy/joySlots.js +45 -27
  25. package/locales/daDK.js +5 -6
  26. package/locales/itIT.js +27 -28
  27. package/locales/ptBR.js +4 -4
  28. package/material/index.js +4 -0
  29. package/models/gridExport.d.ts +1 -1
  30. package/models/gridSlotsComponent.d.ts +10 -0
  31. package/models/gridSlotsComponentsProps.d.ts +9 -0
  32. package/modern/components/cell/GridBooleanCell.js +11 -1
  33. package/modern/components/columnHeaders/GridColumnHeaderFilterIconButton.js +1 -2
  34. package/modern/components/columnHeaders/GridColumnHeaderSortIcon.js +1 -2
  35. package/modern/components/containers/GridRootStyles.js +4 -2
  36. package/modern/components/panel/filterPanel/GridFilterInputBoolean.js +1 -1
  37. package/modern/components/panel/filterPanel/GridFilterInputMultipleValue.js +2 -2
  38. package/modern/components/panel/filterPanel/GridFilterInputValue.js +2 -2
  39. package/modern/components/toolbar/GridToolbar.js +2 -3
  40. package/modern/components/toolbar/GridToolbarExport.js +1 -13
  41. package/modern/components/toolbar/GridToolbarFilterButton.js +1 -2
  42. package/modern/components/virtualization/GridBottomContainer.js +0 -17
  43. package/modern/components/virtualization/GridMainContainer.js +2 -1
  44. package/modern/components/virtualization/GridVirtualScroller.js +2 -0
  45. package/modern/constants/gridClasses.js +1 -1
  46. package/modern/hooks/features/columnMenu/useGridColumnMenuSlots.js +4 -3
  47. package/modern/hooks/features/focus/useGridFocus.js +18 -3
  48. package/modern/hooks/features/pagination/gridPaginationSelector.js +2 -1
  49. package/modern/hooks/features/virtualization/useGridVirtualScroller.js +2 -1
  50. package/modern/index.js +1 -1
  51. package/modern/joy/joySlots.js +45 -27
  52. package/modern/locales/daDK.js +5 -6
  53. package/modern/locales/itIT.js +27 -28
  54. package/modern/locales/ptBR.js +4 -4
  55. package/modern/material/index.js +4 -0
  56. package/node/components/cell/GridBooleanCell.js +11 -1
  57. package/node/components/columnHeaders/GridColumnHeaderFilterIconButton.js +1 -2
  58. package/node/components/columnHeaders/GridColumnHeaderSortIcon.js +1 -2
  59. package/node/components/containers/GridRootStyles.js +4 -2
  60. package/node/components/panel/filterPanel/GridFilterInputBoolean.js +1 -1
  61. package/node/components/panel/filterPanel/GridFilterInputMultipleValue.js +2 -2
  62. package/node/components/panel/filterPanel/GridFilterInputValue.js +2 -2
  63. package/node/components/toolbar/GridToolbar.js +2 -3
  64. package/node/components/toolbar/GridToolbarExport.js +1 -13
  65. package/node/components/toolbar/GridToolbarFilterButton.js +1 -2
  66. package/node/components/virtualization/GridBottomContainer.js +0 -17
  67. package/node/components/virtualization/GridMainContainer.js +2 -1
  68. package/node/components/virtualization/GridVirtualScroller.js +2 -0
  69. package/node/constants/gridClasses.js +1 -1
  70. package/node/hooks/features/columnMenu/useGridColumnMenuSlots.js +4 -3
  71. package/node/hooks/features/focus/useGridFocus.js +18 -3
  72. package/node/hooks/features/pagination/gridPaginationSelector.js +3 -1
  73. package/node/hooks/features/virtualization/useGridVirtualScroller.js +2 -1
  74. package/node/index.js +1 -1
  75. package/node/joy/joySlots.js +45 -27
  76. package/node/locales/daDK.js +5 -6
  77. package/node/locales/itIT.js +27 -28
  78. package/node/locales/ptBR.js +4 -4
  79. package/node/material/index.js +4 -0
  80. package/package.json +1 -1
@@ -2,4 +2,4 @@ import { unstable_generateUtilityClasses as generateUtilityClasses, unstable_gen
2
2
  export function getDataGridUtilityClass(slot) {
3
3
  return generateUtilityClass('MuiDataGrid', slot);
4
4
  }
5
- export const gridClasses = generateUtilityClasses('MuiDataGrid', ['actionsCell', 'aggregationColumnHeader', 'aggregationColumnHeader--alignLeft', 'aggregationColumnHeader--alignCenter', 'aggregationColumnHeader--alignRight', 'aggregationColumnHeaderLabel', 'autoHeight', 'autosizing', 'booleanCell', 'cell--editable', 'cell--editing', 'cell--flex', 'cell--textCenter', 'cell--textLeft', 'cell--textRight', 'cell--rangeTop', 'cell--rangeBottom', 'cell--rangeLeft', 'cell--rangeRight', 'cell--pinnedLeft', 'cell--pinnedRight', 'cell--selectionMode', 'cell', 'cellCheckbox', 'cellEmpty', 'cellSkeleton', 'cellOffsetLeft', 'checkboxInput', 'columnHeader', 'columnHeader--alignCenter', 'columnHeader--alignLeft', 'columnHeader--alignRight', 'columnHeader--dragging', 'columnHeader--moving', 'columnHeader--numeric', 'columnHeader--sortable', 'columnHeader--sorted', 'columnHeader--filtered', 'columnHeader--pinnedLeft', 'columnHeader--pinnedRight', 'columnHeader--last', 'columnHeader--lastUnpinned', 'columnHeader--siblingFocused', 'columnHeaderCheckbox', 'columnHeaderDraggableContainer', 'columnHeaderTitle', 'columnHeaderTitleContainer', 'columnHeaderTitleContainerContent', 'columnHeader--filledGroup', 'columnHeader--emptyGroup', 'columnHeaders', 'columnSeparator--resizable', 'columnSeparator--resizing', 'columnSeparator--sideLeft', 'columnSeparator--sideRight', 'columnSeparator', 'columnsManagement', 'columnsManagementRow', 'columnsManagementHeader', 'columnsManagementFooter', 'container--top', 'container--bottom', 'detailPanel', 'detailPanels', 'detailPanelToggleCell', 'detailPanelToggleCell--expanded', 'footerCell', 'panel', 'panelHeader', 'panelWrapper', 'panelContent', 'panelFooter', 'paper', 'editBooleanCell', 'editInputCell', 'filler', 'filler--borderBottom', 'filler--pinnedLeft', 'filler--pinnedRight', 'filterForm', 'filterFormDeleteIcon', 'filterFormLogicOperatorInput', 'filterFormColumnInput', 'filterFormOperatorInput', 'filterFormValueInput', 'filterIcon', 'footerContainer', 'headerFilterRow', 'iconButtonContainer', 'iconSeparator', 'main', 'main--hasPinnedRight', 'main--hasSkeletonLoadingOverlay', 'menu', 'menuIcon', 'menuIconButton', 'menuOpen', 'menuList', 'overlay', 'overlayWrapper', 'overlayWrapperInner', 'root', 'root--densityStandard', 'root--densityComfortable', 'root--densityCompact', 'root--disableUserSelection', 'root--noToolbar', 'row', 'row--editable', 'row--editing', 'row--firstVisible', 'row--lastVisible', 'row--dragging', 'row--dynamicHeight', 'row--detailPanelExpanded', 'row--borderBottom', 'rowReorderCellPlaceholder', 'rowCount', 'rowReorderCellContainer', 'rowReorderCell', 'rowReorderCell--draggable', 'rowSkeleton', 'scrollArea--left', 'scrollArea--right', 'scrollArea', 'scrollbar', 'scrollbar--vertical', 'scrollbar--horizontal', 'scrollbarFiller', 'scrollbarFiller--header', 'scrollbarFiller--borderTop', 'scrollbarFiller--borderBottom', 'scrollbarFiller--pinnedRight', 'selectedRowCount', 'sortIcon', 'toolbarContainer', 'toolbarFilterList', 'virtualScroller', 'virtualScroller--hasScrollX', 'virtualScrollerContent', 'virtualScrollerContent--overflowed', 'virtualScrollerRenderZone', 'pinnedColumns', 'withVerticalBorder', 'withBorderColor', 'cell--withRightBorder', 'cell--withLeftBorder', 'columnHeader--withRightBorder', 'columnHeader--withLeftBorder', 'treeDataGroupingCell', 'treeDataGroupingCellToggle', 'treeDataGroupingCellLoadingContainer', 'groupingCriteriaCell', 'groupingCriteriaCellToggle', 'pinnedRows', 'pinnedRows--top', 'pinnedRows--bottom', 'pinnedRowsRenderZone']);
5
+ export const gridClasses = generateUtilityClasses('MuiDataGrid', ['actionsCell', 'aggregationColumnHeader', 'aggregationColumnHeader--alignLeft', 'aggregationColumnHeader--alignCenter', 'aggregationColumnHeader--alignRight', 'aggregationColumnHeaderLabel', 'autoHeight', 'autosizing', 'booleanCell', 'cell--editable', 'cell--editing', 'cell--flex', 'cell--textCenter', 'cell--textLeft', 'cell--textRight', 'cell--rangeTop', 'cell--rangeBottom', 'cell--rangeLeft', 'cell--rangeRight', 'cell--pinnedLeft', 'cell--pinnedRight', 'cell--selectionMode', 'cell', 'cellCheckbox', 'cellEmpty', 'cellSkeleton', 'cellOffsetLeft', 'checkboxInput', 'columnHeader', 'columnHeader--alignCenter', 'columnHeader--alignLeft', 'columnHeader--alignRight', 'columnHeader--dragging', 'columnHeader--moving', 'columnHeader--numeric', 'columnHeader--sortable', 'columnHeader--sorted', 'columnHeader--filtered', 'columnHeader--pinnedLeft', 'columnHeader--pinnedRight', 'columnHeader--last', 'columnHeader--lastUnpinned', 'columnHeader--siblingFocused', 'columnHeaderCheckbox', 'columnHeaderDraggableContainer', 'columnHeaderTitle', 'columnHeaderTitleContainer', 'columnHeaderTitleContainerContent', 'columnHeader--filledGroup', 'columnHeader--emptyGroup', 'columnHeaders', 'columnSeparator--resizable', 'columnSeparator--resizing', 'columnSeparator--sideLeft', 'columnSeparator--sideRight', 'columnSeparator', 'columnsManagement', 'columnsManagementRow', 'columnsManagementHeader', 'columnsManagementFooter', 'container--top', 'container--bottom', 'detailPanel', 'detailPanels', 'detailPanelToggleCell', 'detailPanelToggleCell--expanded', 'footerCell', 'panel', 'panelHeader', 'panelWrapper', 'panelContent', 'panelFooter', 'paper', 'editBooleanCell', 'editInputCell', 'filler', 'filler--borderBottom', 'filler--pinnedLeft', 'filler--pinnedRight', 'filterForm', 'filterFormDeleteIcon', 'filterFormLogicOperatorInput', 'filterFormColumnInput', 'filterFormOperatorInput', 'filterFormValueInput', 'filterIcon', 'footerContainer', 'headerFilterRow', 'iconButtonContainer', 'iconSeparator', 'main', 'main--hasPinnedRight', 'main--hasSkeletonLoadingOverlay', 'menu', 'menuIcon', 'menuIconButton', 'menuOpen', 'menuList', 'overlay', 'overlayWrapper', 'overlayWrapperInner', 'root', 'root--densityStandard', 'root--densityComfortable', 'root--densityCompact', 'root--disableUserSelection', 'root--noToolbar', 'row', 'row--editable', 'row--editing', 'row--firstVisible', 'row--lastVisible', 'row--dragging', 'row--dynamicHeight', 'row--detailPanelExpanded', 'row--borderBottom', 'rowReorderCellPlaceholder', 'rowCount', 'rowReorderCellContainer', 'rowReorderCell', 'rowReorderCell--draggable', 'rowSkeleton', 'scrollArea--left', 'scrollArea--right', 'scrollArea', 'scrollbar', 'scrollbar--vertical', 'scrollbar--horizontal', 'scrollbarFiller', 'scrollbarFiller--header', 'scrollbarFiller--borderTop', 'scrollbarFiller--borderBottom', 'scrollbarFiller--pinnedRight', 'selectedRowCount', 'sortIcon', 'toolbarContainer', 'toolbarFilterList', 'virtualScroller', 'virtualScroller--hasScrollX', 'virtualScrollerContent', 'virtualScrollerContent--overflowed', 'virtualScrollerRenderZone', 'pinnedColumns', 'withVerticalBorder', 'withBorderColor', 'cell--withRightBorder', 'cell--withLeftBorder', 'columnHeader--withRightBorder', 'columnHeader--withLeftBorder', 'treeDataGroupingCell', 'treeDataGroupingCellToggle', 'treeDataGroupingCellLoadingContainer', 'groupingCriteriaCell', 'groupingCriteriaCellToggle', 'groupingCriteriaCellLoadingContainer', 'pinnedRows', 'pinnedRows--top', 'pinnedRows--bottom', 'pinnedRowsRenderZone']);
@@ -2,10 +2,11 @@ import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWith
2
2
  import _extends from "@babel/runtime/helpers/esm/extends";
3
3
  const _excluded = ["displayOrder"];
4
4
  import * as React from 'react';
5
- import Divider from '@mui/material/Divider';
5
+ import { useGridRootProps } from "../../utils/useGridRootProps.js";
6
6
  import { useGridPrivateApiContext } from "../../utils/useGridPrivateApiContext.js";
7
7
  const useGridColumnMenuSlots = props => {
8
8
  const apiRef = useGridPrivateApiContext();
9
+ const rootProps = useGridRootProps();
9
10
  const {
10
11
  defaultSlots,
11
12
  defaultSlotProps,
@@ -51,8 +52,8 @@ const useGridColumnMenuSlots = props => {
51
52
  const customProps = _objectWithoutPropertiesLoose(processedComponentProps, _excluded);
52
53
  itemProps = _extends({}, itemProps, customProps);
53
54
  }
54
- return addDividers && index !== sorted.length - 1 ? [...acc, [processedComponents[key], itemProps], [Divider, {}]] : [...acc, [processedComponents[key], itemProps]];
55
+ return addDividers && index !== sorted.length - 1 ? [...acc, [processedComponents[key], itemProps], [rootProps.slots.baseDivider, {}]] : [...acc, [processedComponents[key], itemProps]];
55
56
  }, []);
56
- }, [addDividers, colDef, defaultItems, hideMenu, processedComponents, processedSlotProps, userItems]);
57
+ }, [addDividers, colDef, defaultItems, hideMenu, processedComponents, processedSlotProps, userItems, rootProps.slots.baseDivider]);
57
58
  };
58
59
  export { useGridColumnMenuSlots };
@@ -323,18 +323,33 @@ export const useGridFocus = (apiRef, props) => {
323
323
  const handleRowSet = React.useCallback(() => {
324
324
  const cell = gridFocusCellSelector(apiRef);
325
325
 
326
- // If the focused cell is in a row which does not exist anymore, then remove the focus
326
+ // If the focused cell is in a row which does not exist anymore,
327
+ // focus previous row or remove the focus
327
328
  if (cell && !apiRef.current.getRow(cell.id)) {
329
+ const lastFocusedRowId = gridFocusCellSelector(apiRef)?.id;
330
+ let nextRowId = null;
331
+ if (typeof lastFocusedRowId !== 'undefined') {
332
+ const lastFocusedRowIndex = apiRef.current.getRowIndexRelativeToVisibleRows(lastFocusedRowId);
333
+ const currentPage = getVisibleRows(apiRef, {
334
+ pagination: props.pagination,
335
+ paginationMode: props.paginationMode
336
+ });
337
+ const nextRow = currentPage.rows[clamp(lastFocusedRowIndex, 0, currentPage.rows.length - 1)];
338
+ nextRowId = nextRow.id ?? null;
339
+ }
328
340
  apiRef.current.setState(state => _extends({}, state, {
329
341
  focus: {
330
- cell: null,
342
+ cell: nextRowId === null ? null : {
343
+ id: nextRowId,
344
+ field: cell.field
345
+ },
331
346
  columnHeader: null,
332
347
  columnHeaderFilter: null,
333
348
  columnGroupHeader: null
334
349
  }
335
350
  }));
336
351
  }
337
- }, [apiRef]);
352
+ }, [apiRef, props.pagination, props.paginationMode]);
338
353
  const handlePaginationModelChange = useEventcallback(() => {
339
354
  const currentFocusedCell = gridFocusCellSelector(apiRef);
340
355
  if (!currentFocusedCell) {
@@ -2,6 +2,7 @@ import { createSelector, createSelectorMemoized } from "../../../utils/createSel
2
2
  import { gridExpandedSortedRowEntriesSelector, gridExpandedSortedRowIdsSelector, gridFilteredSortedTopLevelRowEntriesSelector } from "../filter/gridFilterSelector.js";
3
3
  import { gridRowMaximumTreeDepthSelector, gridRowTreeSelector } from "../rows/gridRowsSelector.js";
4
4
  import { getPageCount } from "./gridPaginationUtils.js";
5
+ const ALL_RESULTS_PAGE_VALUE = -1;
5
6
 
6
7
  /**
7
8
  * @category Pagination
@@ -52,7 +53,7 @@ export const gridPageCountSelector = createSelector(gridPaginationModelSelector,
52
53
  export const gridPaginationRowRangeSelector = createSelectorMemoized(gridPaginationModelSelector, gridRowTreeSelector, gridRowMaximumTreeDepthSelector, gridExpandedSortedRowEntriesSelector, gridFilteredSortedTopLevelRowEntriesSelector, (paginationModel, rowTree, rowTreeDepth, visibleSortedRowEntries, visibleSortedTopLevelRowEntries) => {
53
54
  const visibleTopLevelRowCount = visibleSortedTopLevelRowEntries.length;
54
55
  const topLevelFirstRowIndex = Math.min(paginationModel.pageSize * paginationModel.page, visibleTopLevelRowCount - 1);
55
- const topLevelLastRowIndex = Math.min(topLevelFirstRowIndex + paginationModel.pageSize - 1, visibleTopLevelRowCount - 1);
56
+ const topLevelLastRowIndex = paginationModel.pageSize === ALL_RESULTS_PAGE_VALUE ? visibleTopLevelRowCount - 1 : Math.min(topLevelFirstRowIndex + paginationModel.pageSize - 1, visibleTopLevelRowCount - 1);
56
57
 
57
58
  // The range contains no element
58
59
  if (topLevelFirstRowIndex === -1 || topLevelLastRowIndex === -1) {
@@ -378,7 +378,8 @@ export const useGridVirtualScroller = () => {
378
378
  const contentSize = React.useMemo(() => {
379
379
  const size = {
380
380
  width: needsHorizontalScrollbar ? columnsTotalWidth : 'auto',
381
- height: contentHeight
381
+ flexBasis: contentHeight,
382
+ flexShrink: 0
382
383
  };
383
384
  if (rootProps.autoHeight && currentPage.rows.length === 0) {
384
385
  size.height = getMinimalContentHeight(apiRef); // Give room to show the overlay when there no rows.
package/modern/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @mui/x-data-grid v7.21.0
2
+ * @mui/x-data-grid v7.22.0
3
3
  *
4
4
  * @license MIT
5
5
  * This source code is licensed under the MIT license found in the
@@ -1,14 +1,17 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
3
- const _excluded = ["touchRippleRef", "inputProps", "onChange", "color", "size", "checked", "sx", "value", "inputRef"],
4
- _excluded2 = ["onChange", "label", "placeholder", "value", "inputRef", "type", "size", "variant"],
5
- _excluded3 = ["startIcon", "color", "endIcon", "size", "sx", "variant"],
6
- _excluded4 = ["color", "size", "sx", "touchRippleRef"],
7
- _excluded5 = ["open", "onOpen", "value", "onChange", "size", "color", "variant", "inputProps", "MenuProps", "inputRef", "error", "native", "fullWidth", "labelId"],
8
- _excluded6 = ["native"],
9
- _excluded7 = ["shrink", "variant", "sx"];
3
+ const _excluded = ["slotProps", "variant", "color", "sx"],
4
+ _excluded2 = ["touchRippleRef", "inputProps", "onChange", "color", "size", "checked", "sx", "value", "inputRef"],
5
+ _excluded3 = ["onChange", "label", "placeholder", "value", "inputRef", "type", "size", "variant"],
6
+ _excluded4 = ["startIcon", "color", "endIcon", "size", "sx", "variant"],
7
+ _excluded5 = ["color", "size", "sx", "touchRippleRef"],
8
+ _excluded6 = ["open", "onOpen", "value", "onChange", "size", "color", "variant", "inputProps", "MenuProps", "inputRef", "error", "native", "fullWidth", "labelId"],
9
+ _excluded7 = ["native"],
10
+ _excluded8 = ["shrink", "variant", "sx"];
10
11
  import * as React from 'react';
12
+ import JoyBadge from '@mui/joy/Badge';
11
13
  import JoyCheckbox from '@mui/joy/Checkbox';
14
+ import JoyDivider from '@mui/joy/Divider';
12
15
  import JoyInput from '@mui/joy/Input';
13
16
  import JoyFormControl from '@mui/joy/FormControl';
14
17
  import JoyFormLabel from '@mui/joy/FormLabel';
@@ -58,14 +61,27 @@ function convertVariant(variant, defaultVariant = 'plain') {
58
61
  filled: 'soft'
59
62
  }[variant] || defaultVariant;
60
63
  }
61
- const Checkbox = /*#__PURE__*/React.forwardRef((_ref, ref) => {
64
+ const Badge = /*#__PURE__*/React.forwardRef((_ref, ref) => {
65
+ let {
66
+ color,
67
+ sx
68
+ } = _ref,
69
+ props = _objectWithoutPropertiesLoose(_ref, _excluded);
70
+ return /*#__PURE__*/_jsx(JoyBadge, _extends({}, props, {
71
+ color: convertColor(color),
72
+ variant: "plain",
73
+ sx: sx,
74
+ ref: ref
75
+ }));
76
+ });
77
+ const Checkbox = /*#__PURE__*/React.forwardRef((_ref2, ref) => {
62
78
  let {
63
79
  inputProps,
64
80
  onChange,
65
81
  checked,
66
82
  inputRef
67
- } = _ref,
68
- props = _objectWithoutPropertiesLoose(_ref, _excluded);
83
+ } = _ref2,
84
+ props = _objectWithoutPropertiesLoose(_ref2, _excluded2);
69
85
  return /*#__PURE__*/_jsx(JoyCheckbox, _extends({}, props, {
70
86
  slotProps: {
71
87
  input: _extends({}, inputProps, {
@@ -77,7 +93,7 @@ const Checkbox = /*#__PURE__*/React.forwardRef((_ref, ref) => {
77
93
  onChange: onChange
78
94
  }));
79
95
  });
80
- const TextField = /*#__PURE__*/React.forwardRef((_ref2, ref) => {
96
+ const TextField = /*#__PURE__*/React.forwardRef((_ref3, ref) => {
81
97
  let {
82
98
  onChange,
83
99
  label,
@@ -87,8 +103,8 @@ const TextField = /*#__PURE__*/React.forwardRef((_ref2, ref) => {
87
103
  type,
88
104
  size,
89
105
  variant
90
- } = _ref2,
91
- props = _objectWithoutPropertiesLoose(_ref2, _excluded2);
106
+ } = _ref3,
107
+ props = _objectWithoutPropertiesLoose(_ref3, _excluded3);
92
108
  const rootRef = useForkRef(ref, props.InputProps?.ref);
93
109
  const inputForkRef = useForkRef(inputRef, props?.inputProps?.ref);
94
110
  const {
@@ -116,7 +132,7 @@ const TextField = /*#__PURE__*/React.forwardRef((_ref2, ref) => {
116
132
  })]
117
133
  });
118
134
  });
119
- const Button = /*#__PURE__*/React.forwardRef(function Button(_ref3, ref) {
135
+ const Button = /*#__PURE__*/React.forwardRef(function Button(_ref4, ref) {
120
136
  let {
121
137
  startIcon,
122
138
  color,
@@ -124,8 +140,8 @@ const Button = /*#__PURE__*/React.forwardRef(function Button(_ref3, ref) {
124
140
  size,
125
141
  sx,
126
142
  variant
127
- } = _ref3,
128
- props = _objectWithoutPropertiesLoose(_ref3, _excluded3);
143
+ } = _ref4,
144
+ props = _objectWithoutPropertiesLoose(_ref4, _excluded4);
129
145
  return /*#__PURE__*/_jsx(JoyButton, _extends({}, props, {
130
146
  size: convertSize(size),
131
147
  color: convertColor(color),
@@ -136,13 +152,13 @@ const Button = /*#__PURE__*/React.forwardRef(function Button(_ref3, ref) {
136
152
  sx: sx
137
153
  }));
138
154
  });
139
- const IconButton = /*#__PURE__*/React.forwardRef(function IconButton(_ref4, ref) {
155
+ const IconButton = /*#__PURE__*/React.forwardRef(function IconButton(_ref5, ref) {
140
156
  let {
141
157
  color,
142
158
  size,
143
159
  sx
144
- } = _ref4,
145
- props = _objectWithoutPropertiesLoose(_ref4, _excluded4);
160
+ } = _ref5,
161
+ props = _objectWithoutPropertiesLoose(_ref5, _excluded5);
146
162
  return /*#__PURE__*/_jsx(JoyIconButton, _extends({}, props, {
147
163
  size: convertSize(size),
148
164
  color: convertColor(color) ?? 'neutral',
@@ -151,7 +167,7 @@ const IconButton = /*#__PURE__*/React.forwardRef(function IconButton(_ref4, ref)
151
167
  sx: sx
152
168
  }));
153
169
  });
154
- const Select = /*#__PURE__*/React.forwardRef((_ref5, ref) => {
170
+ const Select = /*#__PURE__*/React.forwardRef((_ref6, ref) => {
155
171
  let {
156
172
  open,
157
173
  onOpen,
@@ -163,8 +179,8 @@ const Select = /*#__PURE__*/React.forwardRef((_ref5, ref) => {
163
179
  MenuProps,
164
180
  inputRef,
165
181
  labelId
166
- } = _ref5,
167
- props = _objectWithoutPropertiesLoose(_ref5, _excluded5);
182
+ } = _ref6,
183
+ props = _objectWithoutPropertiesLoose(_ref6, _excluded6);
168
184
  const handleChange = (event, newValue) => {
169
185
  if (event && onChange) {
170
186
  // Same as in https://github.com/mui/material-ui/blob/e5558282a8f36856aef1299f3a36f3235e92e770/packages/mui-material/src/Select/SelectInput.js#L288-L300
@@ -215,17 +231,17 @@ const Select = /*#__PURE__*/React.forwardRef((_ref5, ref) => {
215
231
  }
216
232
  }));
217
233
  });
218
- const Option = /*#__PURE__*/React.forwardRef((_ref6, ref) => {
219
- let props = _objectWithoutPropertiesLoose(_ref6, _excluded6);
234
+ const Option = /*#__PURE__*/React.forwardRef((_ref7, ref) => {
235
+ let props = _objectWithoutPropertiesLoose(_ref7, _excluded7);
220
236
  return /*#__PURE__*/_jsx(JoyOption, _extends({}, props, {
221
237
  ref: ref
222
238
  }));
223
239
  });
224
- const InputLabel = /*#__PURE__*/React.forwardRef((_ref7, ref) => {
240
+ const InputLabel = /*#__PURE__*/React.forwardRef((_ref8, ref) => {
225
241
  let {
226
242
  sx
227
- } = _ref7,
228
- props = _objectWithoutPropertiesLoose(_ref7, _excluded7);
243
+ } = _ref8,
244
+ props = _objectWithoutPropertiesLoose(_ref8, _excluded8);
229
245
  return /*#__PURE__*/_jsx(JoyFormLabel, _extends({}, props, {
230
246
  ref: ref,
231
247
  sx: sx
@@ -351,7 +367,9 @@ const LoadingOverlay = /*#__PURE__*/React.forwardRef((props, ref) => {
351
367
  }));
352
368
  });
353
369
  const joySlots = _extends({}, joyIconSlots, {
370
+ baseBadge: Badge,
354
371
  baseCheckbox: Checkbox,
372
+ baseDivider: JoyDivider,
355
373
  baseTextField: TextField,
356
374
  baseButton: Button,
357
375
  baseIconButton: IconButton,
@@ -33,8 +33,7 @@ const daDKGrid = {
33
33
  columnsManagementSearchTitle: 'Søg',
34
34
  columnsManagementNoColumns: 'Ingen søjler',
35
35
  columnsManagementShowHideAllText: 'Vis/Skjul Alle',
36
- // columnsManagementReset: 'Reset',
37
-
36
+ columnsManagementReset: 'Nulstil',
38
37
  // Filter panel text
39
38
  filterPanelAddFilter: 'Tilføj filter',
40
39
  filterPanelRemoveAll: 'Fjern alle',
@@ -48,9 +47,9 @@ const daDKGrid = {
48
47
  filterPanelInputPlaceholder: 'Filterværdi',
49
48
  // Filter operators text
50
49
  filterOperatorContains: 'indeholder',
51
- // filterOperatorDoesNotContain: 'does not contain',
50
+ filterOperatorDoesNotContain: 'indeholder ikke',
52
51
  filterOperatorEquals: 'lig med',
53
- // filterOperatorDoesNotEqual: 'does not equal',
52
+ filterOperatorDoesNotEqual: 'ikke lig med',
54
53
  filterOperatorStartsWith: 'begynder med',
55
54
  filterOperatorEndsWith: 'ender med',
56
55
  filterOperatorIs: 'er lig med',
@@ -70,9 +69,9 @@ const daDKGrid = {
70
69
  'filterOperator<=': '<=',
71
70
  // Header filter operators text
72
71
  headerFilterOperatorContains: 'Indeholder',
73
- // headerFilterOperatorDoesNotContain: 'Does not contain',
72
+ headerFilterOperatorDoesNotContain: 'Indeholder ikke',
74
73
  headerFilterOperatorEquals: 'Lig med',
75
- // headerFilterOperatorDoesNotEqual: 'Does not equal',
74
+ headerFilterOperatorDoesNotEqual: 'Ikke lig med',
76
75
  headerFilterOperatorStartsWith: 'Begynder med',
77
76
  headerFilterOperatorEndsWith: 'Ender med',
78
77
  headerFilterOperatorIs: 'Er lig med',
@@ -30,11 +30,10 @@ const itITGrid = {
30
30
  toolbarExportPrint: 'Stampa',
31
31
  toolbarExportExcel: 'Scarica come Excel',
32
32
  // Columns management text
33
- // columnsManagementSearchTitle: 'Search',
34
- // columnsManagementNoColumns: 'No columns',
35
- // columnsManagementShowHideAllText: 'Show/Hide All',
36
- // columnsManagementReset: 'Reset',
37
-
33
+ columnsManagementSearchTitle: 'Cerca',
34
+ columnsManagementNoColumns: 'Nessuna colonna',
35
+ columnsManagementShowHideAllText: 'Mostra/Nascondi Tutto',
36
+ columnsManagementReset: 'Resetta',
38
37
  // Filter panel text
39
38
  filterPanelAddFilter: 'Aggiungi un filtro',
40
39
  filterPanelRemoveAll: 'Rimuovi filtri',
@@ -48,13 +47,13 @@ const itITGrid = {
48
47
  filterPanelInputPlaceholder: 'Filtra il valore',
49
48
  // Filter operators text
50
49
  filterOperatorContains: 'contiene',
51
- // filterOperatorDoesNotContain: 'does not contain',
50
+ filterOperatorDoesNotContain: 'non contiene',
52
51
  filterOperatorEquals: 'uguale a',
53
- // filterOperatorDoesNotEqual: 'does not equal',
52
+ filterOperatorDoesNotEqual: 'diverso da',
54
53
  filterOperatorStartsWith: 'comincia per',
55
54
  filterOperatorEndsWith: 'termina per',
56
55
  filterOperatorIs: 'uguale a',
57
- filterOperatorNot: 'diversa da',
56
+ filterOperatorNot: 'diverso da',
58
57
  filterOperatorAfter: 'dopo il',
59
58
  filterOperatorOnOrAfter: 'a partire dal',
60
59
  filterOperatorBefore: 'prima del',
@@ -70,26 +69,26 @@ const itITGrid = {
70
69
  'filterOperator<=': '<=',
71
70
  // Header filter operators text
72
71
  headerFilterOperatorContains: 'Contiene',
73
- // headerFilterOperatorDoesNotContain: 'Does not contain',
74
- headerFilterOperatorEquals: 'uguale a',
75
- // headerFilterOperatorDoesNotEqual: 'Does not equal',
76
- headerFilterOperatorStartsWith: 'comincia per',
77
- headerFilterOperatorEndsWith: 'termina per',
78
- headerFilterOperatorIs: 'uguale a',
79
- headerFilterOperatorNot: 'diversa da',
80
- headerFilterOperatorAfter: 'dopo il',
81
- headerFilterOperatorOnOrAfter: 'a partire dal',
82
- headerFilterOperatorBefore: 'prima del',
83
- headerFilterOperatorOnOrBefore: 'fino al',
84
- headerFilterOperatorIsEmpty: 'è vuoto',
85
- headerFilterOperatorIsNotEmpty: 'non è vuoto',
86
- headerFilterOperatorIsAnyOf: 'è uno tra',
87
- 'headerFilterOperator=': 'uguale a',
88
- 'headerFilterOperator!=': 'diverso da',
89
- 'headerFilterOperator>': 'maggiore di',
90
- 'headerFilterOperator>=': 'maggiore o uguale a',
91
- 'headerFilterOperator<': 'minore di',
92
- 'headerFilterOperator<=': 'minore o uguale a',
72
+ headerFilterOperatorDoesNotContain: 'Non contiene',
73
+ headerFilterOperatorEquals: 'Uguale a',
74
+ headerFilterOperatorDoesNotEqual: 'Diverso da',
75
+ headerFilterOperatorStartsWith: 'Comincia per',
76
+ headerFilterOperatorEndsWith: 'Termina per',
77
+ headerFilterOperatorIs: 'Uguale a',
78
+ headerFilterOperatorNot: 'Diverso da',
79
+ headerFilterOperatorAfter: 'Dopo il',
80
+ headerFilterOperatorOnOrAfter: 'A partire dal',
81
+ headerFilterOperatorBefore: 'Prima del',
82
+ headerFilterOperatorOnOrBefore: 'Fino al',
83
+ headerFilterOperatorIsEmpty: 'È vuoto',
84
+ headerFilterOperatorIsNotEmpty: 'Non è vuoto',
85
+ headerFilterOperatorIsAnyOf: 'È uno tra',
86
+ 'headerFilterOperator=': 'Uguale a',
87
+ 'headerFilterOperator!=': 'Diverso da',
88
+ 'headerFilterOperator>': 'Maggiore di',
89
+ 'headerFilterOperator>=': 'Maggiore o uguale a',
90
+ 'headerFilterOperator<': 'Minore di',
91
+ 'headerFilterOperator<=': 'Minore o uguale a',
93
92
  // Filter values text
94
93
  filterValueAny: 'qualunque',
95
94
  filterValueTrue: 'vero',
@@ -47,9 +47,9 @@ const ptBRGrid = {
47
47
  filterPanelInputPlaceholder: 'Filtrar valor',
48
48
  // Filter operators text
49
49
  filterOperatorContains: 'contém',
50
- // filterOperatorDoesNotContain: 'does not contain',
50
+ filterOperatorDoesNotContain: 'não contém',
51
51
  filterOperatorEquals: 'é igual a',
52
- // filterOperatorDoesNotEqual: 'does not equal',
52
+ filterOperatorDoesNotEqual: 'não é igual a',
53
53
  filterOperatorStartsWith: 'começa com',
54
54
  filterOperatorEndsWith: 'termina com',
55
55
  filterOperatorIs: 'é',
@@ -69,9 +69,9 @@ const ptBRGrid = {
69
69
  'filterOperator<=': 'menor ou igual que',
70
70
  // Header filter operators text
71
71
  headerFilterOperatorContains: 'Contém',
72
- // headerFilterOperatorDoesNotContain: 'Does not contain',
72
+ headerFilterOperatorDoesNotContain: 'Não contém',
73
73
  headerFilterOperatorEquals: 'Igual',
74
- // headerFilterOperatorDoesNotEqual: 'Does not equal',
74
+ headerFilterOperatorDoesNotEqual: 'Não é igual a',
75
75
  headerFilterOperatorStartsWith: 'Começa com',
76
76
  headerFilterOperatorEndsWith: 'Termina com',
77
77
  headerFilterOperatorIs: 'É',
@@ -1,5 +1,7 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
+ import MUIBadge from '@mui/material/Badge';
2
3
  import MUICheckbox from '@mui/material/Checkbox';
4
+ import MUIDivider from '@mui/material/Divider';
3
5
  import MUITextField from '@mui/material/TextField';
4
6
  import MUIFormControl from '@mui/material/FormControl';
5
7
  import MUISelect from '@mui/material/Select';
@@ -51,7 +53,9 @@ const iconSlots = {
51
53
  columnReorderIcon: GridDragIcon
52
54
  };
53
55
  const materialSlots = _extends({}, iconSlots, {
56
+ baseBadge: MUIBadge,
54
57
  baseCheckbox: MUICheckbox,
58
+ baseDivider: MUIDivider,
55
59
  baseTextField: MUITextField,
56
60
  baseFormControl: MUIFormControl,
57
61
  baseSelect: MUISelect,
@@ -11,6 +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 _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"));
14
+ var _useGridSelector = require("../../hooks/utils/useGridSelector");
15
+ var _gridRowsSelector = require("../../hooks/features/rows/gridRowsSelector");
14
16
  var _gridClasses = require("../../constants/gridClasses");
15
17
  var _useGridRootProps = require("../../hooks/utils/useGridRootProps");
16
18
  var _useGridApiContext = require("../../hooks/utils/useGridApiContext");
@@ -28,7 +30,8 @@ const useUtilityClasses = ownerState => {
28
30
  };
29
31
  function GridBooleanCellRaw(props) {
30
32
  const {
31
- value
33
+ value,
34
+ rowNode
32
35
  } = props,
33
36
  other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
34
37
  const apiRef = (0, _useGridApiContext.useGridApiContext)();
@@ -37,7 +40,14 @@ function GridBooleanCellRaw(props) {
37
40
  classes: rootProps.classes
38
41
  };
39
42
  const classes = useUtilityClasses(ownerState);
43
+ const maxDepth = (0, _useGridSelector.useGridSelector)(apiRef, _gridRowsSelector.gridRowMaximumTreeDepthSelector);
44
+ const isServerSideRowGroupingRow =
45
+ // @ts-expect-error - Access tree data prop
46
+ maxDepth > 0 && rowNode.type === 'group' && rootProps.treeData === false;
40
47
  const Icon = React.useMemo(() => value ? rootProps.slots.booleanCellTrueIcon : rootProps.slots.booleanCellFalseIcon, [rootProps.slots.booleanCellFalseIcon, rootProps.slots.booleanCellTrueIcon, value]);
48
+ if (isServerSideRowGroupingRow && value === undefined) {
49
+ return null;
50
+ }
41
51
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(Icon, (0, _extends2.default)({
42
52
  fontSize: "small",
43
53
  className: classes.root,
@@ -10,7 +10,6 @@ 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 _Badge = _interopRequireDefault(require("@mui/material/Badge"));
14
13
  var _hooks = require("../../hooks");
15
14
  var _gridPreferencePanelSelector = require("../../hooks/features/preferencesPanel/gridPreferencePanelSelector");
16
15
  var _gridPreferencePanelsValue = require("../../hooks/features/preferencesPanel/gridPreferencePanelsValue");
@@ -84,7 +83,7 @@ function GridColumnHeaderFilterIconButton(props) {
84
83
  enterDelay: 1000
85
84
  }, rootProps.slotProps?.baseTooltip, {
86
85
  children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_GridIconButtonContainer.GridIconButtonContainer, {
87
- children: [counter > 1 && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Badge.default, {
86
+ children: [counter > 1 && /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.baseBadge, {
88
87
  badgeContent: counter,
89
88
  color: "default",
90
89
  children: iconButton
@@ -11,7 +11,6 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
11
11
  var React = _interopRequireWildcard(require("react"));
12
12
  var _propTypes = _interopRequireDefault(require("prop-types"));
13
13
  var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"));
14
- var _Badge = _interopRequireDefault(require("@mui/material/Badge"));
15
14
  var _useGridApiContext = require("../../hooks/utils/useGridApiContext");
16
15
  var _gridClasses = require("../../constants/gridClasses");
17
16
  var _useGridRootProps = require("../../hooks/utils/useGridRootProps");
@@ -71,7 +70,7 @@ function GridColumnHeaderSortIconRaw(props) {
71
70
  children: iconElement
72
71
  }));
73
72
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_GridIconButtonContainer.GridIconButtonContainer, {
74
- children: [index != null && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Badge.default, {
73
+ children: [index != null && /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.baseBadge, {
75
74
  badgeContent: index,
76
75
  color: "default",
77
76
  overlap: "circular",
@@ -159,6 +159,8 @@ const GridRootStyles = exports.GridRootStyles = (0, _styles.styled)('div', {
159
159
  [`& .${_gridClasses.gridClasses.treeDataGroupingCellToggle}`]: styles.treeDataGroupingCellToggle
160
160
  }, {
161
161
  [`& .${_gridClasses.gridClasses.treeDataGroupingCellLoadingContainer}`]: styles.treeDataGroupingCellLoadingContainer
162
+ }, {
163
+ [`& .${_gridClasses.gridClasses.groupingCriteriaCellLoadingContainer}`]: styles.groupingCriteriaCellLoadingContainer
162
164
  }, {
163
165
  [`& .${_gridClasses.gridClasses.detailPanelToggleCell}`]: styles.detailPanelToggleCell
164
166
  }, {
@@ -692,7 +694,7 @@ const GridRootStyles = exports.GridRootStyles = (0, _styles.styled)('div', {
692
694
  alignSelf: 'stretch',
693
695
  marginRight: t.spacing(2)
694
696
  },
695
- [`& .${_gridClasses.gridClasses.treeDataGroupingCellLoadingContainer}`]: {
697
+ [`& .${_gridClasses.gridClasses.treeDataGroupingCellLoadingContainer}, .${_gridClasses.gridClasses.groupingCriteriaCellLoadingContainer}`]: {
696
698
  display: 'flex',
697
699
  alignItems: 'center',
698
700
  justifyContent: 'center',
@@ -725,7 +727,7 @@ const GridRootStyles = exports.GridRootStyles = (0, _styles.styled)('div', {
725
727
  }
726
728
  },
727
729
  [`& .${_gridClasses.gridClasses.filler}`]: {
728
- flex: 1
730
+ flex: '1 0 auto'
729
731
  },
730
732
  [`& .${_gridClasses.gridClasses['filler--borderBottom']}`]: {
731
733
  borderBottom: '1px solid var(--DataGrid-rowBorderColor)'
@@ -46,7 +46,7 @@ function GridFilterInputBoolean(props) {
46
46
  const value = event.target.value;
47
47
  setFilterValueState(value);
48
48
  applyValue((0, _extends2.default)({}, item, {
49
- value
49
+ value: Boolean(value)
50
50
  }));
51
51
  }, [applyValue, item]);
52
52
  React.useEffect(() => {
@@ -47,9 +47,9 @@ function GridFilterInputMultipleValue(props) {
47
47
  const handleChange = React.useCallback((event, value) => {
48
48
  setFilterValueState(value.map(String));
49
49
  applyValue((0, _extends2.default)({}, item, {
50
- value: [...value]
50
+ value: [...value.map(filterItemValue => type === 'number' ? Number(filterItemValue) : filterItemValue)]
51
51
  }));
52
- }, [applyValue, item]);
52
+ }, [applyValue, item, type]);
53
53
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Autocomplete.default, (0, _extends2.default)({
54
54
  multiple: true,
55
55
  freeSolo: true,
@@ -42,13 +42,13 @@ function GridFilterInputValue(props) {
42
42
  setIsApplying(true);
43
43
  filterTimeout.start(rootProps.filterDebounceMs, () => {
44
44
  const newItem = (0, _extends2.default)({}, item, {
45
- value,
45
+ value: type === 'number' ? Number(value) : value,
46
46
  fromInput: id
47
47
  });
48
48
  applyValue(newItem);
49
49
  setIsApplying(false);
50
50
  });
51
- }, [id, applyValue, item, rootProps.filterDebounceMs, filterTimeout]);
51
+ }, [filterTimeout, rootProps.filterDebounceMs, item, type, id, applyValue]);
52
52
  React.useEffect(() => {
53
53
  const itemPlusTag = item;
54
54
  if (itemPlusTag.fromInput !== id || item.value === undefined) {
@@ -10,7 +10,6 @@ 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 _Box = _interopRequireDefault(require("@mui/material/Box"));
14
13
  var _GridToolbarContainer = require("../containers/GridToolbarContainer");
15
14
  var _GridToolbarColumnsButton = require("./GridToolbarColumnsButton");
16
15
  var _GridToolbarDensitySelector = require("./GridToolbarDensitySelector");
@@ -44,8 +43,8 @@ const GridToolbar = exports.GridToolbar = /*#__PURE__*/React.forwardRef(function
44
43
  // TODO: remove the reference to excelOptions in community package
45
44
  ,
46
45
  excelOptions: excelOptions
47
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {
48
- sx: {
46
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
47
+ style: {
49
48
  flex: 1
50
49
  }
51
50
  }), showQuickFilter && /*#__PURE__*/(0, _jsxRuntime.jsx)(_GridToolbarQuickFilter.GridToolbarQuickFilter, (0, _extends2.default)({}, quickFilterProps))]
@@ -88,19 +88,7 @@ process.env.NODE_ENV !== "production" ? GridPrintExportMenuItem.propTypes = {
88
88
  hideFooter: _propTypes.default.bool,
89
89
  hideToolbar: _propTypes.default.bool,
90
90
  includeCheckboxes: _propTypes.default.bool,
91
- pageStyle: _propTypes.default.oneOfType([_propTypes.default.shape({
92
- '__@hasInstance@646': _propTypes.default.func.isRequired,
93
- '__@metadata@648': _propTypes.default.any,
94
- apply: _propTypes.default.func.isRequired,
95
- arguments: _propTypes.default.any.isRequired,
96
- bind: _propTypes.default.func.isRequired,
97
- call: _propTypes.default.func.isRequired,
98
- caller: _propTypes.default.object.isRequired,
99
- length: _propTypes.default.number.isRequired,
100
- name: _propTypes.default.string.isRequired,
101
- prototype: _propTypes.default.any.isRequired,
102
- toString: _propTypes.default.func.isRequired
103
- }), _propTypes.default.string])
91
+ pageStyle: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.string])
104
92
  })
105
93
  } : void 0;
106
94
  const GridToolbarExport = exports.GridToolbarExport = /*#__PURE__*/React.forwardRef(function GridToolbarExport(props, ref) {