@mui/x-data-grid 6.16.1 → 6.16.3

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 (217) hide show
  1. package/CHANGELOG.md +169 -0
  2. package/DataGrid/DataGrid.d.ts +7 -0
  3. package/DataGrid/DataGrid.js +8 -1
  4. package/colDef/gridDateColDef.js +0 -4
  5. package/components/GridRow.js +7 -3
  6. package/components/cell/GridCell.js +7 -3
  7. package/components/columnHeaders/GridColumnHeaderSortIcon.d.ts +1 -1
  8. package/components/containers/GridRootStyles.js +3 -0
  9. package/components/panel/filterPanel/GridFilterForm.d.ts +7 -0
  10. package/components/panel/filterPanel/GridFilterForm.js +8 -0
  11. package/components/panel/filterPanel/GridFilterPanel.d.ts +7 -0
  12. package/components/panel/filterPanel/GridFilterPanel.js +8 -0
  13. package/components/toolbar/GridToolbarQuickFilter.d.ts +8 -0
  14. package/components/toolbar/GridToolbarQuickFilter.js +9 -0
  15. package/components/virtualization/GridVirtualScroller.js +3 -1
  16. package/constants/gridClasses.d.ts +4 -0
  17. package/constants/gridClasses.js +1 -1
  18. package/hooks/features/columnGrouping/gridColumnGroupsUtils.d.ts +4 -1
  19. package/hooks/features/columnGrouping/gridColumnGroupsUtils.js +13 -2
  20. package/hooks/features/columnGrouping/useGridColumnGrouping.js +12 -6
  21. package/hooks/features/columns/gridColumnsUtils.d.ts +1 -1
  22. package/hooks/features/columns/gridColumnsUtils.js +0 -1
  23. package/hooks/features/filter/gridFilterUtils.js +4 -4
  24. package/hooks/features/sorting/gridSortingUtils.d.ts +1 -1
  25. package/hooks/features/virtualization/useGridVirtualScroller.js +8 -2
  26. package/index.js +1 -1
  27. package/legacy/DataGrid/DataGrid.js +8 -1
  28. package/legacy/colDef/gridDateColDef.js +0 -4
  29. package/legacy/components/GridRow.js +6 -2
  30. package/legacy/components/cell/GridCell.js +7 -3
  31. package/legacy/components/containers/GridRootStyles.js +2 -0
  32. package/legacy/components/panel/filterPanel/GridFilterForm.js +8 -0
  33. package/legacy/components/panel/filterPanel/GridFilterPanel.js +8 -0
  34. package/legacy/components/toolbar/GridToolbarQuickFilter.js +9 -0
  35. package/legacy/components/virtualization/GridVirtualScroller.js +3 -1
  36. package/legacy/constants/gridClasses.js +1 -1
  37. package/legacy/hooks/features/columnGrouping/gridColumnGroupsUtils.js +13 -2
  38. package/legacy/hooks/features/columnGrouping/useGridColumnGrouping.js +12 -6
  39. package/legacy/hooks/features/columns/gridColumnsUtils.js +0 -1
  40. package/legacy/hooks/features/filter/gridFilterUtils.js +4 -4
  41. package/legacy/hooks/features/virtualization/useGridVirtualScroller.js +8 -2
  42. package/legacy/index.js +1 -1
  43. package/legacy/locales/arSD.js +26 -28
  44. package/legacy/locales/roRO.js +1 -1
  45. package/locales/arSD.js +26 -28
  46. package/locales/roRO.js +1 -1
  47. package/models/events/gridEventLookup.d.ts +14 -0
  48. package/models/props/DataGridProps.d.ts +3 -3
  49. package/modern/DataGrid/DataGrid.js +8 -1
  50. package/modern/colDef/gridDateColDef.js +0 -4
  51. package/modern/components/GridRow.js +7 -3
  52. package/modern/components/cell/GridCell.js +6 -2
  53. package/modern/components/containers/GridRootStyles.js +3 -0
  54. package/modern/components/panel/filterPanel/GridFilterForm.js +8 -0
  55. package/modern/components/panel/filterPanel/GridFilterPanel.js +8 -0
  56. package/modern/components/toolbar/GridToolbarQuickFilter.js +9 -0
  57. package/modern/components/virtualization/GridVirtualScroller.js +3 -1
  58. package/modern/constants/gridClasses.js +1 -1
  59. package/modern/hooks/features/columnGrouping/gridColumnGroupsUtils.js +13 -2
  60. package/modern/hooks/features/columnGrouping/useGridColumnGrouping.js +10 -3
  61. package/modern/hooks/features/columns/gridColumnsUtils.js +0 -1
  62. package/modern/hooks/features/filter/gridFilterUtils.js +4 -4
  63. package/modern/hooks/features/virtualization/useGridVirtualScroller.js +8 -2
  64. package/modern/index.js +1 -1
  65. package/modern/locales/arSD.js +26 -28
  66. package/modern/locales/roRO.js +1 -1
  67. package/node/DataGrid/DataGrid.js +10 -3
  68. package/node/DataGrid/useDataGridProps.js +2 -2
  69. package/node/colDef/gridCheckboxSelectionColDef.js +2 -2
  70. package/node/colDef/gridDateColDef.js +0 -4
  71. package/node/components/DataGridVirtualScroller.js +2 -2
  72. package/node/components/GridApiContext.js +2 -2
  73. package/node/components/GridColumnHeaders.js +2 -2
  74. package/node/components/GridFooter.js +2 -2
  75. package/node/components/GridHeader.js +2 -2
  76. package/node/components/GridLoadingOverlay.js +2 -2
  77. package/node/components/GridNoResultsOverlay.js +2 -2
  78. package/node/components/GridNoRowsOverlay.js +2 -2
  79. package/node/components/GridPagination.js +2 -2
  80. package/node/components/GridRow.js +9 -5
  81. package/node/components/GridRowCount.js +2 -2
  82. package/node/components/GridSelectedRowCount.js +2 -2
  83. package/node/components/base/GridBody.js +2 -2
  84. package/node/components/base/GridFooterPlaceholder.js +2 -2
  85. package/node/components/base/GridOverlays.js +2 -2
  86. package/node/components/cell/GridActionsCell.js +2 -2
  87. package/node/components/cell/GridActionsCellItem.js +2 -2
  88. package/node/components/cell/GridBooleanCell.js +2 -2
  89. package/node/components/cell/GridCell.js +8 -4
  90. package/node/components/cell/GridEditBooleanCell.js +2 -2
  91. package/node/components/cell/GridEditDateCell.js +2 -2
  92. package/node/components/cell/GridEditInputCell.js +2 -2
  93. package/node/components/cell/GridEditSingleSelectCell.js +2 -2
  94. package/node/components/cell/GridSkeletonCell.js +2 -2
  95. package/node/components/columnHeaders/ColumnHeaderMenuIcon.js +2 -2
  96. package/node/components/columnHeaders/GridBaseColumnHeaders.js +2 -2
  97. package/node/components/columnHeaders/GridColumnGroupHeader.js +2 -2
  98. package/node/components/columnHeaders/GridColumnHeaderFilterIconButton.js +2 -2
  99. package/node/components/columnHeaders/GridColumnHeaderItem.js +2 -2
  100. package/node/components/columnHeaders/GridColumnHeaderSeparator.js +2 -2
  101. package/node/components/columnHeaders/GridColumnHeaderSortIcon.js +2 -2
  102. package/node/components/columnHeaders/GridColumnHeaderTitle.js +2 -2
  103. package/node/components/columnHeaders/GridColumnHeadersInner.js +2 -2
  104. package/node/components/columnHeaders/GridGenericColumnHeaderItem.js +2 -2
  105. package/node/components/columnHeaders/GridIconButtonContainer.js +2 -2
  106. package/node/components/columnSelection/GridCellCheckboxRenderer.js +2 -2
  107. package/node/components/columnSelection/GridHeaderCheckbox.js +2 -2
  108. package/node/components/containers/GridFooterContainer.js +2 -2
  109. package/node/components/containers/GridMainContainer.js +2 -2
  110. package/node/components/containers/GridOverlay.js +2 -2
  111. package/node/components/containers/GridRoot.js +2 -2
  112. package/node/components/containers/GridRootStyles.js +3 -0
  113. package/node/components/containers/GridToolbarContainer.js +2 -2
  114. package/node/components/menu/GridMenu.js +2 -2
  115. package/node/components/menu/columnMenu/GridColumnHeaderMenu.js +2 -2
  116. package/node/components/menu/columnMenu/GridColumnMenu.js +2 -2
  117. package/node/components/menu/columnMenu/GridColumnMenuContainer.js +2 -2
  118. package/node/components/menu/columnMenu/menuItems/GridColumnMenuColumnsItem.js +2 -2
  119. package/node/components/menu/columnMenu/menuItems/GridColumnMenuFilterItem.js +2 -2
  120. package/node/components/menu/columnMenu/menuItems/GridColumnMenuHideItem.js +2 -2
  121. package/node/components/menu/columnMenu/menuItems/GridColumnMenuManageItem.js +2 -2
  122. package/node/components/menu/columnMenu/menuItems/GridColumnMenuSortItem.js +2 -2
  123. package/node/components/panel/GridColumnsPanel.js +2 -2
  124. package/node/components/panel/GridPanel.js +2 -2
  125. package/node/components/panel/GridPanelContent.js +2 -2
  126. package/node/components/panel/GridPanelFooter.js +2 -2
  127. package/node/components/panel/GridPanelHeader.js +2 -2
  128. package/node/components/panel/GridPanelWrapper.js +2 -2
  129. package/node/components/panel/GridPreferencesPanel.js +2 -2
  130. package/node/components/panel/filterPanel/GridFilterForm.js +11 -3
  131. package/node/components/panel/filterPanel/GridFilterInputBoolean.js +2 -2
  132. package/node/components/panel/filterPanel/GridFilterInputDate.js +2 -2
  133. package/node/components/panel/filterPanel/GridFilterInputMultipleSingleSelect.js +2 -2
  134. package/node/components/panel/filterPanel/GridFilterInputMultipleValue.js +2 -2
  135. package/node/components/panel/filterPanel/GridFilterInputSingleSelect.js +2 -2
  136. package/node/components/panel/filterPanel/GridFilterInputValue.js +2 -2
  137. package/node/components/panel/filterPanel/GridFilterPanel.js +11 -3
  138. package/node/components/toolbar/GridToolbar.js +2 -2
  139. package/node/components/toolbar/GridToolbarColumnsButton.js +2 -2
  140. package/node/components/toolbar/GridToolbarDensitySelector.js +2 -2
  141. package/node/components/toolbar/GridToolbarExport.js +2 -2
  142. package/node/components/toolbar/GridToolbarExportContainer.js +2 -2
  143. package/node/components/toolbar/GridToolbarFilterButton.js +2 -2
  144. package/node/components/toolbar/GridToolbarQuickFilter.js +12 -3
  145. package/node/components/virtualization/GridVirtualScroller.js +5 -3
  146. package/node/components/virtualization/GridVirtualScrollerContent.js +2 -2
  147. package/node/components/virtualization/GridVirtualScrollerRenderZone.js +2 -2
  148. package/node/constants/gridClasses.js +1 -1
  149. package/node/context/GridContextProvider.js +2 -2
  150. package/node/context/GridRootPropsContext.js +2 -2
  151. package/node/hooks/core/pipeProcessing/useGridPipeProcessing.js +2 -2
  152. package/node/hooks/core/pipeProcessing/useGridRegisterPipeApplier.js +2 -2
  153. package/node/hooks/core/pipeProcessing/useGridRegisterPipeProcessor.js +2 -2
  154. package/node/hooks/core/strategyProcessing/useGridRegisterStrategyProcessor.js +2 -2
  155. package/node/hooks/core/strategyProcessing/useGridStrategyProcessing.js +2 -2
  156. package/node/hooks/core/useGridApiInitialization.js +2 -2
  157. package/node/hooks/core/useGridLocaleText.js +2 -2
  158. package/node/hooks/core/useGridLoggerFactory.js +2 -2
  159. package/node/hooks/core/useGridStateInitialization.js +2 -2
  160. package/node/hooks/features/clipboard/useGridClipboard.js +2 -2
  161. package/node/hooks/features/columnGrouping/gridColumnGroupsUtils.js +13 -2
  162. package/node/hooks/features/columnGrouping/useGridColumnGrouping.js +12 -5
  163. package/node/hooks/features/columnHeaders/useGridColumnHeaders.js +2 -2
  164. package/node/hooks/features/columnMenu/useGridColumnMenu.js +2 -2
  165. package/node/hooks/features/columnMenu/useGridColumnMenuSlots.js +2 -2
  166. package/node/hooks/features/columns/gridColumnsUtils.js +0 -1
  167. package/node/hooks/features/columns/useGridColumnSpanning.js +2 -2
  168. package/node/hooks/features/columns/useGridColumns.js +2 -2
  169. package/node/hooks/features/density/useGridDensity.js +2 -2
  170. package/node/hooks/features/dimensions/useGridDimensions.js +2 -2
  171. package/node/hooks/features/editing/useGridCellEditing.js +2 -2
  172. package/node/hooks/features/editing/useGridEditing.js +2 -2
  173. package/node/hooks/features/editing/useGridRowEditing.js +2 -2
  174. package/node/hooks/features/export/useGridCsvExport.js +2 -2
  175. package/node/hooks/features/export/useGridPrintExport.js +2 -2
  176. package/node/hooks/features/filter/gridFilterUtils.js +4 -4
  177. package/node/hooks/features/filter/useGridFilter.js +2 -2
  178. package/node/hooks/features/focus/useGridFocus.js +2 -2
  179. package/node/hooks/features/headerFiltering/useGridHeaderFiltering.js +2 -2
  180. package/node/hooks/features/keyboardNavigation/useGridKeyboardNavigation.js +2 -2
  181. package/node/hooks/features/pagination/useGridPagination.js +2 -2
  182. package/node/hooks/features/preferencesPanel/useGridPreferencesPanel.js +2 -2
  183. package/node/hooks/features/rowSelection/useGridRowSelection.js +2 -2
  184. package/node/hooks/features/rowSelection/useGridRowSelectionPreProcessors.js +2 -2
  185. package/node/hooks/features/rows/useGridParamsApi.js +2 -2
  186. package/node/hooks/features/rows/useGridRows.js +2 -2
  187. package/node/hooks/features/rows/useGridRowsMeta.js +2 -2
  188. package/node/hooks/features/scroll/useGridScroll.js +2 -2
  189. package/node/hooks/features/sorting/useGridSorting.js +2 -2
  190. package/node/hooks/features/statePersistence/useGridStatePersistence.js +2 -2
  191. package/node/hooks/features/virtualization/useGridVirtualScroller.js +10 -4
  192. package/node/hooks/features/virtualization/useGridVirtualization.js +2 -2
  193. package/node/hooks/utils/useFirstRender.js +2 -2
  194. package/node/hooks/utils/useGridApiContext.js +2 -2
  195. package/node/hooks/utils/useGridApiEventHandler.js +2 -2
  196. package/node/hooks/utils/useGridApiMethod.js +2 -2
  197. package/node/hooks/utils/useGridApiRef.js +2 -2
  198. package/node/hooks/utils/useGridInitializeState.js +2 -2
  199. package/node/hooks/utils/useGridLogger.js +2 -2
  200. package/node/hooks/utils/useGridNativeEventListener.js +2 -2
  201. package/node/hooks/utils/useGridPrivateApiContext.js +2 -2
  202. package/node/hooks/utils/useGridRootProps.js +2 -2
  203. package/node/hooks/utils/useGridSelector.js +2 -2
  204. package/node/hooks/utils/useGridVisibleRows.js +2 -2
  205. package/node/hooks/utils/useLazyRef.js +2 -2
  206. package/node/hooks/utils/useOnMount.js +2 -2
  207. package/node/index.js +1 -1
  208. package/node/internals/utils/useProps.js +2 -2
  209. package/node/joy/icons.js +2 -2
  210. package/node/joy/joySlots.js +2 -2
  211. package/node/locales/arSD.js +26 -28
  212. package/node/locales/roRO.js +1 -1
  213. package/node/material/components/MUISelectOption.js +2 -2
  214. package/node/material/icons/GridColumnUnsortedIcon.js +2 -2
  215. package/node/material/icons/index.js +2 -2
  216. package/node/utils/fastMemo.js +2 -2
  217. package/package.json +3 -3
package/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @mui/x-data-grid v6.16.1
2
+ * @mui/x-data-grid v6.16.3
3
3
  *
4
4
  * @license MIT
5
5
  * This source code is licensed under the MIT license found in the
@@ -27,6 +27,13 @@ var DataGridRaw = /*#__PURE__*/React.forwardRef(function DataGrid(inProps, ref)
27
27
  }))
28
28
  });
29
29
  });
30
+ /**
31
+ * Demos:
32
+ * - [DataGrid](https://mui.com/x/react-data-grid/demo/)
33
+ *
34
+ * API:
35
+ * - [DataGrid API](https://mui.com/x/api/data-grid/data-grid/)
36
+ */
30
37
  export var DataGrid = /*#__PURE__*/React.memo(DataGridRaw);
31
38
 
32
39
  /**
@@ -662,7 +669,7 @@ DataGridRaw.propTypes = {
662
669
  /**
663
670
  * If `true`, the grid will not use `valueFormatter` when exporting to CSV or copying to clipboard.
664
671
  * If an object is provided, you can choose to ignore the `valueFormatter` for CSV export or clipboard export.
665
- * @default: false
672
+ * @default false
666
673
  */
667
674
  unstable_ignoreValueFormatterDuringExport: PropTypes.oneOfType([PropTypes.shape({
668
675
  clipboardExport: PropTypes.bool,
@@ -48,8 +48,6 @@ export var GRID_DATE_COL_DEF = _extends({}, GRID_STRING_COL_DEF, {
48
48
  valueFormatter: gridDateFormatter,
49
49
  filterOperators: getGridDateOperators(),
50
50
  renderEditCell: renderEditDateCell,
51
- getApplyQuickFilterFn: undefined,
52
- getApplyQuickFilterFnV7: undefined,
53
51
  // @ts-ignore
54
52
  pastedValueParser: function pastedValueParser(value) {
55
53
  return new Date(value);
@@ -61,8 +59,6 @@ export var GRID_DATETIME_COL_DEF = _extends({}, GRID_STRING_COL_DEF, {
61
59
  valueFormatter: gridDateTimeFormatter,
62
60
  filterOperators: getGridDateOperators(true),
63
61
  renderEditCell: renderEditDateCell,
64
- getApplyQuickFilterFn: undefined,
65
- getApplyQuickFilterFnV7: undefined,
66
62
  // @ts-ignore
67
63
  pastedValueParser: function pastedValueParser(value) {
68
64
  return new Date(value);
@@ -2,7 +2,7 @@ import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
2
2
  import _extends from "@babel/runtime/helpers/esm/extends";
3
3
  import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
4
4
  import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
5
- var _excluded = ["selected", "hovered", "rowId", "row", "index", "style", "position", "rowHeight", "className", "visibleColumns", "renderedColumns", "containerWidth", "firstColumnToRender", "lastColumnToRender", "isLastVisible", "focusedCellColumnIndexNotInRange", "isNotVisible", "focusedCell", "tabbableCell", "onClick", "onDoubleClick", "onMouseEnter", "onMouseLeave"];
5
+ var _excluded = ["selected", "hovered", "rowId", "row", "index", "style", "position", "rowHeight", "className", "visibleColumns", "renderedColumns", "containerWidth", "firstColumnToRender", "lastColumnToRender", "isLastVisible", "focusedCellColumnIndexNotInRange", "isNotVisible", "focusedCell", "tabbableCell", "onClick", "onDoubleClick", "onMouseEnter", "onMouseLeave", "onMouseOut", "onMouseOver"];
6
6
  import * as React from 'react';
7
7
  import PropTypes from 'prop-types';
8
8
  import clsx from 'clsx';
@@ -78,6 +78,8 @@ var GridRow = /*#__PURE__*/React.forwardRef(function GridRow(props, refProp) {
78
78
  onDoubleClick = props.onDoubleClick,
79
79
  onMouseEnter = props.onMouseEnter,
80
80
  onMouseLeave = props.onMouseLeave,
81
+ onMouseOut = props.onMouseOut,
82
+ onMouseOver = props.onMouseOver,
81
83
  other = _objectWithoutProperties(props, _excluded);
82
84
  var apiRef = useGridApiContext();
83
85
  var ref = React.useRef(null);
@@ -328,7 +330,9 @@ var GridRow = /*#__PURE__*/React.forwardRef(function GridRow(props, refProp) {
328
330
  onClick: publishClick,
329
331
  onDoubleClick: publish('rowDoubleClick', onDoubleClick),
330
332
  onMouseEnter: publish('rowMouseEnter', onMouseEnter),
331
- onMouseLeave: publish('rowMouseLeave', onMouseLeave)
333
+ onMouseLeave: publish('rowMouseLeave', onMouseLeave),
334
+ onMouseOut: publish('rowMouseOut', onMouseOut),
335
+ onMouseOver: publish('rowMouseOver', onMouseOver)
332
336
  } : null;
333
337
  return /*#__PURE__*/_jsxs("div", _extends({
334
338
  ref: handleRef,
@@ -47,9 +47,10 @@ var useUtilityClasses = function useUtilityClasses(ownerState) {
47
47
  showRightBorder = ownerState.showRightBorder,
48
48
  isEditable = ownerState.isEditable,
49
49
  isSelected = ownerState.isSelected,
50
+ isSelectionMode = ownerState.isSelectionMode,
50
51
  classes = ownerState.classes;
51
52
  var slots = {
52
- root: ['cell', "cell--text".concat(capitalize(align)), isEditable && 'cell--editable', isSelected && 'selected', showRightBorder && 'cell--withRightBorder', 'withBorderColor'],
53
+ root: ['cell', "cell--text".concat(capitalize(align)), isEditable && 'cell--editable', isSelected && 'selected', showRightBorder && 'cell--withRightBorder', isSelectionMode && !isEditable && 'cell--selectionMode', 'withBorderColor'],
53
54
  content: ['cellContent']
54
55
  };
55
56
  return composeClasses(slots, getDataGridUtilityClass, classes);
@@ -386,7 +387,7 @@ process.env.NODE_ENV !== "production" ? GridCell.propTypes = {
386
387
  } : void 0;
387
388
  export { MemoizedCellWrapper as GridCellWrapper, GridCell };
388
389
  var GridCellV7 = /*#__PURE__*/React.forwardRef(function (props, ref) {
389
- var _rootProps$experiment3, _rootProps$experiment4;
390
+ var _rootProps$unstable_c, _rootProps$experiment3, _rootProps$experiment4;
390
391
  var column = props.column,
391
392
  rowId = props.rowId,
392
393
  editCellState = props.editCellState,
@@ -460,12 +461,15 @@ var GridCellV7 = /*#__PURE__*/React.forwardRef(function (props, ref) {
460
461
  var cellRef = React.useRef(null);
461
462
  var handleRef = useForkRef(ref, cellRef);
462
463
  var focusElementRef = React.useRef(null);
464
+ // @ts-expect-error To access `unstable_cellSelection` flag as it's a `premium` feature
465
+ var isSelectionMode = (_rootProps$unstable_c = rootProps.unstable_cellSelection) != null ? _rootProps$unstable_c : false;
463
466
  var ownerState = {
464
467
  align: align,
465
468
  showRightBorder: showRightBorder,
466
469
  isEditable: isEditable,
467
470
  classes: rootProps.classes,
468
- isSelected: isSelected
471
+ isSelected: isSelected,
472
+ isSelectionMode: isSelectionMode
469
473
  };
470
474
  var classes = useUtilityClasses(ownerState);
471
475
  var publishMouseUp = React.useCallback(function (eventName) {
@@ -219,6 +219,8 @@ export var GridRootStyles = styled('div', {
219
219
  }), _defineProperty(_extends2, "& .".concat(gridClasses.cellContent), {
220
220
  overflow: 'hidden',
221
221
  textOverflow: 'ellipsis'
222
+ }), _defineProperty(_extends2, "& .".concat(gridClasses.cell, ".").concat(gridClasses['cell--selectionMode']), {
223
+ cursor: 'default'
222
224
  }), _defineProperty(_extends2, "& .".concat(gridClasses.cell, ".").concat(gridClasses['cell--editing']), {
223
225
  padding: 1,
224
226
  display: 'flex',
@@ -468,4 +468,12 @@ process.env.NODE_ENV !== "production" ? GridFilterForm.propTypes = {
468
468
  */
469
469
  valueInputProps: PropTypes.any
470
470
  } : void 0;
471
+
472
+ /**
473
+ * Demos:
474
+ * - [Filtering - overview](https://mui.com/x/react-data-grid/filtering/)
475
+ *
476
+ * API:
477
+ * - [GridFilterForm API](https://mui.com/x/api/data-grid/grid-filter-form/)
478
+ */
471
479
  export { GridFilterForm };
@@ -224,4 +224,12 @@ process.env.NODE_ENV !== "production" ? GridFilterPanel.propTypes = {
224
224
  */
225
225
  sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])
226
226
  } : void 0;
227
+
228
+ /**
229
+ * Demos:
230
+ * - [Filtering - overview](https://mui.com/x/react-data-grid/filtering/)
231
+ *
232
+ * API:
233
+ * - [GridFilterPanel API](https://mui.com/x/api/data-grid/grid-filter-panel/)
234
+ */
227
235
  export { GridFilterPanel, getGridFilter };
@@ -149,4 +149,13 @@ process.env.NODE_ENV !== "production" ? GridToolbarQuickFilter.propTypes = {
149
149
  */
150
150
  quickFilterParser: PropTypes.func
151
151
  } : void 0;
152
+
153
+ /**
154
+ * Demos:
155
+ * - [Filtering - overview](https://mui.com/x/react-data-grid/filtering/)
156
+ * - [Filtering - quick filter](https://mui.com/x/react-data-grid/filtering/quick-filter/)
157
+ *
158
+ * API:
159
+ * - [GridToolbarQuickFilter API](https://mui.com/x/api/data-grid/grid-toolbar-quick-filter/)
160
+ */
152
161
  export { GridToolbarQuickFilter };
@@ -26,8 +26,10 @@ var VirtualScrollerRoot = styled('div', {
26
26
  position: 'relative',
27
27
  '@media print': {
28
28
  overflow: 'hidden'
29
- }
29
+ },
30
+ zIndex: 0 // See https://github.com/mui/mui-x/issues/10547
30
31
  });
32
+
31
33
  var GridVirtualScroller = /*#__PURE__*/React.forwardRef(function GridVirtualScroller(props, ref) {
32
34
  var rootProps = useGridRootProps();
33
35
  var classes = useUtilityClasses(rootProps);
@@ -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 var gridClasses = generateUtilityClasses('MuiDataGrid', ['actionsCell', 'aggregationColumnHeader', 'aggregationColumnHeader--alignLeft', 'aggregationColumnHeader--alignCenter', 'aggregationColumnHeader--alignRight', 'aggregationColumnHeaderLabel', 'autoHeight', 'autosizing', 'booleanCell', 'cell--editable', 'cell--editing', 'cell--textCenter', 'cell--textLeft', 'cell--textRight', 'cell--withRenderer', 'cell--rangeTop', 'cell--rangeBottom', 'cell--rangeLeft', 'cell--rangeRight', 'cell', 'cellContent', 'cellCheckbox', 'cellSkeleton', 'checkboxInput', 'columnHeader--alignCenter', 'columnHeader--alignLeft', 'columnHeader--alignRight', 'columnHeader--dragging', 'columnHeader--moving', 'columnHeader--numeric', 'columnHeader--sortable', 'columnHeader--sorted', 'columnHeader--filtered', 'columnHeader', 'columnHeaderCheckbox', 'columnHeaderDraggableContainer', 'columnHeaderDropZone', 'columnHeaderTitle', 'columnHeaderTitleContainer', 'columnHeaderTitleContainerContent', 'columnGroupHeader', 'columnHeader--filledGroup', 'columnHeader--emptyGroup', 'columnHeader--showColumnBorder', 'columnHeaders', 'columnHeadersInner', 'columnHeadersInner--scrollable', 'columnSeparator--resizable', 'columnSeparator--resizing', 'columnSeparator--sideLeft', 'columnSeparator--sideRight', 'columnSeparator', 'columnsPanel', 'columnsPanelRow', 'detailPanel', 'detailPanels', 'detailPanelToggleCell', 'detailPanelToggleCell--expanded', 'footerCell', 'panel', 'panelHeader', 'panelWrapper', 'panelContent', 'panelFooter', 'paper', 'editBooleanCell', 'editInputCell', 'filterForm', 'filterFormDeleteIcon', 'filterFormLogicOperatorInput', 'filterFormColumnInput', 'filterFormOperatorInput', 'filterFormValueInput', 'filterIcon', 'footerContainer', 'headerFilterRow', 'iconButtonContainer', 'iconSeparator', 'main', 'menu', 'menuIcon', 'menuIconButton', 'menuOpen', 'menuList', 'overlay', 'overlayWrapper', 'overlayWrapperInner', 'root', 'root--densityStandard', 'root--densityComfortable', 'root--densityCompact', 'root--disableUserSelection', 'row', 'row--editable', 'row--editing', 'row--lastVisible', 'row--dragging', 'row--dynamicHeight', 'row--detailPanelExpanded', 'rowReorderCellPlaceholder', 'rowCount', 'rowReorderCellContainer', 'rowReorderCell', 'rowReorderCell--draggable', 'scrollArea--left', 'scrollArea--right', 'scrollArea', 'selectedRowCount', 'sortIcon', 'toolbarContainer', 'toolbarFilterList', 'virtualScroller', 'virtualScrollerContent', 'virtualScrollerContent--overflowed', 'virtualScrollerRenderZone', 'pinnedColumns', 'pinnedColumns--left', 'pinnedColumns--right', 'pinnedColumnHeaders', 'pinnedColumnHeaders--left', 'pinnedColumnHeaders--right', 'withBorderColor', 'cell--withRightBorder', 'columnHeader--withRightBorder', 'treeDataGroupingCell', 'treeDataGroupingCellToggle', 'groupingCriteriaCell', 'groupingCriteriaCellToggle', 'pinnedRows', 'pinnedRows--top', 'pinnedRows--bottom', 'pinnedRowsRenderZone']);
5
+ export var gridClasses = generateUtilityClasses('MuiDataGrid', ['actionsCell', 'aggregationColumnHeader', 'aggregationColumnHeader--alignLeft', 'aggregationColumnHeader--alignCenter', 'aggregationColumnHeader--alignRight', 'aggregationColumnHeaderLabel', 'autoHeight', 'autosizing', 'booleanCell', 'cell--editable', 'cell--editing', 'cell--textCenter', 'cell--textLeft', 'cell--textRight', 'cell--withRenderer', 'cell--rangeTop', 'cell--rangeBottom', 'cell--rangeLeft', 'cell--rangeRight', 'cell--selectionMode', 'cell', 'cellContent', 'cellCheckbox', 'cellSkeleton', 'checkboxInput', 'columnHeader--alignCenter', 'columnHeader--alignLeft', 'columnHeader--alignRight', 'columnHeader--dragging', 'columnHeader--moving', 'columnHeader--numeric', 'columnHeader--sortable', 'columnHeader--sorted', 'columnHeader--filtered', 'columnHeader', 'columnHeaderCheckbox', 'columnHeaderDraggableContainer', 'columnHeaderDropZone', 'columnHeaderTitle', 'columnHeaderTitleContainer', 'columnHeaderTitleContainerContent', 'columnGroupHeader', 'columnHeader--filledGroup', 'columnHeader--emptyGroup', 'columnHeader--showColumnBorder', 'columnHeaders', 'columnHeadersInner', 'columnHeadersInner--scrollable', 'columnSeparator--resizable', 'columnSeparator--resizing', 'columnSeparator--sideLeft', 'columnSeparator--sideRight', 'columnSeparator', 'columnsPanel', 'columnsPanelRow', 'detailPanel', 'detailPanels', 'detailPanelToggleCell', 'detailPanelToggleCell--expanded', 'footerCell', 'panel', 'panelHeader', 'panelWrapper', 'panelContent', 'panelFooter', 'paper', 'editBooleanCell', 'editInputCell', 'filterForm', 'filterFormDeleteIcon', 'filterFormLogicOperatorInput', 'filterFormColumnInput', 'filterFormOperatorInput', 'filterFormValueInput', 'filterIcon', 'footerContainer', 'headerFilterRow', 'iconButtonContainer', 'iconSeparator', 'main', 'menu', 'menuIcon', 'menuIconButton', 'menuOpen', 'menuList', 'overlay', 'overlayWrapper', 'overlayWrapperInner', 'root', 'root--densityStandard', 'root--densityComfortable', 'root--densityCompact', 'root--disableUserSelection', 'row', 'row--editable', 'row--editing', 'row--lastVisible', 'row--dragging', 'row--dynamicHeight', 'row--detailPanelExpanded', 'rowReorderCellPlaceholder', 'rowCount', 'rowReorderCellContainer', 'rowReorderCell', 'rowReorderCell--draggable', 'scrollArea--left', 'scrollArea--right', 'scrollArea', 'selectedRowCount', 'sortIcon', 'toolbarContainer', 'toolbarFilterList', 'virtualScroller', 'virtualScrollerContent', 'virtualScrollerContent--overflowed', 'virtualScrollerRenderZone', 'pinnedColumns', 'pinnedColumns--left', 'pinnedColumns--right', 'pinnedColumnHeaders', 'pinnedColumnHeaders--left', 'pinnedColumnHeaders--right', 'withBorderColor', 'cell--withRightBorder', 'columnHeader--withRightBorder', 'treeDataGroupingCell', 'treeDataGroupingCellToggle', 'groupingCriteriaCell', 'groupingCriteriaCellToggle', 'pinnedRows', 'pinnedRows--top', 'pinnedRows--bottom', 'pinnedRowsRenderZone']);
@@ -33,7 +33,7 @@ export var unwrapGroupingColumnModel = function unwrapGroupingColumnModel(column
33
33
  });
34
34
  return unwrappedSubTree;
35
35
  };
36
- export var getColumnGroupsHeaderStructure = function getColumnGroupsHeaderStructure(orderedColumns, unwrappedGroupingModel) {
36
+ export var getColumnGroupsHeaderStructure = function getColumnGroupsHeaderStructure(orderedColumns, unwrappedGroupingModel, pinnedFields) {
37
37
  var getParents = function getParents(field) {
38
38
  var _unwrappedGroupingMod;
39
39
  return (_unwrappedGroupingMod = unwrappedGroupingModel[field]) != null ? _unwrappedGroupingMod : [];
@@ -45,6 +45,15 @@ export var getColumnGroupsHeaderStructure = function getColumnGroupsHeaderStruct
45
45
  var haveSameParents = function haveSameParents(field1, field2, depth) {
46
46
  return isDeepEqual(getParents(field1).slice(0, depth + 1), getParents(field2).slice(0, depth + 1));
47
47
  };
48
+ var haveDifferentContainers = function haveDifferentContainers(field1, field2) {
49
+ if (pinnedFields != null && pinnedFields.left && pinnedFields.left.includes(field1) && !pinnedFields.left.includes(field2)) {
50
+ return true;
51
+ }
52
+ if (pinnedFields != null && pinnedFields.right && !pinnedFields.right.includes(field1) && pinnedFields.right.includes(field2)) {
53
+ return true;
54
+ }
55
+ return false;
56
+ };
48
57
  var _loop = function _loop(depth) {
49
58
  var depthStructure = orderedColumns.reduce(function (structure, newField) {
50
59
  var _getParents$depth;
@@ -58,7 +67,9 @@ export var getColumnGroupsHeaderStructure = function getColumnGroupsHeaderStruct
58
67
  var lastGroup = structure[structure.length - 1];
59
68
  var prevField = lastGroup.columnFields[lastGroup.columnFields.length - 1];
60
69
  var prevGroupId = lastGroup.groupId;
61
- if (prevGroupId !== groupId || !haveSameParents(prevField, newField, depth)) {
70
+ if (prevGroupId !== groupId || !haveSameParents(prevField, newField, depth) ||
71
+ // Fix for https://github.com/mui/mui-x/issues/7041
72
+ haveDifferentContainers(prevField, newField)) {
62
73
  // It's a new group
63
74
  return [].concat(_toConsumableArray(structure), [{
64
75
  columnFields: [newField],
@@ -37,7 +37,7 @@ var createGroupLookup = function createGroupLookup(columnGroupingModel) {
37
37
  return _extends({}, groupLookup);
38
38
  };
39
39
  export var columnGroupsStateInitializer = function columnGroupsStateInitializer(state, props, apiRef) {
40
- var _props$experimentalFe, _props$columnGrouping, _props$columnGrouping2;
40
+ var _props$experimentalFe, _props$columnGrouping, _props$columnGrouping2, _apiRef$current$state;
41
41
  if (!((_props$experimentalFe = props.experimentalFeatures) != null && _props$experimentalFe.columnGrouping)) {
42
42
  return state;
43
43
  }
@@ -45,7 +45,8 @@ export var columnGroupsStateInitializer = function columnGroupsStateInitializer(
45
45
  var visibleColumnFields = gridVisibleColumnFieldsSelector(apiRef);
46
46
  var groupLookup = createGroupLookup((_props$columnGrouping = props.columnGroupingModel) != null ? _props$columnGrouping : []);
47
47
  var unwrappedGroupingModel = unwrapGroupingColumnModel((_props$columnGrouping2 = props.columnGroupingModel) != null ? _props$columnGrouping2 : []);
48
- var columnGroupsHeaderStructure = getColumnGroupsHeaderStructure(columnFields, unwrappedGroupingModel);
48
+ var columnGroupsHeaderStructure = getColumnGroupsHeaderStructure(columnFields, unwrappedGroupingModel, // @ts-expect-error Move this part to `Pro` package
49
+ (_apiRef$current$state = apiRef.current.state.pinnedColumns) != null ? _apiRef$current$state : {});
49
50
  var maxDepth = visibleColumnFields.length === 0 ? 0 : Math.max.apply(Math, _toConsumableArray(visibleColumnFields.map(function (field) {
50
51
  var _unwrappedGroupingMod, _unwrappedGroupingMod2;
51
52
  return (_unwrappedGroupingMod = (_unwrappedGroupingMod2 = unwrappedGroupingModel[field]) == null ? void 0 : _unwrappedGroupingMod2.length) != null ? _unwrappedGroupingMod : 0;
@@ -87,9 +88,12 @@ export var useGridColumnGrouping = function useGridColumnGrouping(apiRef, props)
87
88
  var _props$columnGrouping3;
88
89
  var unwrappedGroupingModel = unwrapGroupingColumnModel((_props$columnGrouping3 = props.columnGroupingModel) != null ? _props$columnGrouping3 : []);
89
90
  apiRef.current.setState(function (state) {
90
- var _state$columns$ordere, _state$columns;
91
+ var _state$columns$ordere, _state$columns, _state$pinnedColumns;
91
92
  var orderedFields = (_state$columns$ordere = (_state$columns = state.columns) == null ? void 0 : _state$columns.orderedFields) != null ? _state$columns$ordere : [];
92
- var columnGroupsHeaderStructure = getColumnGroupsHeaderStructure(orderedFields, unwrappedGroupingModel);
93
+
94
+ // @ts-expect-error Move this logic to `Pro` package
95
+ var pinnedColumns = (_state$pinnedColumns = state.pinnedColumns) != null ? _state$pinnedColumns : {};
96
+ var columnGroupsHeaderStructure = getColumnGroupsHeaderStructure(orderedFields, unwrappedGroupingModel, pinnedColumns);
93
97
  return _extends({}, state, {
94
98
  columnGrouping: _extends({}, state.columnGrouping, {
95
99
  headerStructure: columnGroupsHeaderStructure
@@ -98,15 +102,17 @@ export var useGridColumnGrouping = function useGridColumnGrouping(apiRef, props)
98
102
  });
99
103
  }, [apiRef, props.columnGroupingModel]);
100
104
  var updateColumnGroupingState = React.useCallback(function (columnGroupingModel) {
101
- var _props$experimentalFe2;
105
+ var _props$experimentalFe2, _apiRef$current$getPi, _apiRef$current$getPi2, _apiRef$current;
102
106
  if (!((_props$experimentalFe2 = props.experimentalFeatures) != null && _props$experimentalFe2.columnGrouping)) {
103
107
  return;
104
108
  }
109
+ // @ts-expect-error Move this logic to `Pro` package
110
+ var pinnedColumns = (_apiRef$current$getPi = (_apiRef$current$getPi2 = (_apiRef$current = apiRef.current).getPinnedColumns) == null ? void 0 : _apiRef$current$getPi2.call(_apiRef$current)) != null ? _apiRef$current$getPi : {};
105
111
  var columnFields = gridColumnFieldsSelector(apiRef);
106
112
  var visibleColumnFields = gridVisibleColumnFieldsSelector(apiRef);
107
113
  var groupLookup = createGroupLookup(columnGroupingModel != null ? columnGroupingModel : []);
108
114
  var unwrappedGroupingModel = unwrapGroupingColumnModel(columnGroupingModel != null ? columnGroupingModel : []);
109
- var columnGroupsHeaderStructure = getColumnGroupsHeaderStructure(columnFields, unwrappedGroupingModel);
115
+ var columnGroupsHeaderStructure = getColumnGroupsHeaderStructure(columnFields, unwrappedGroupingModel, pinnedColumns);
110
116
  var maxDepth = visibleColumnFields.length === 0 ? 0 : Math.max.apply(Math, _toConsumableArray(visibleColumnFields.map(function (field) {
111
117
  var _unwrappedGroupingMod4, _unwrappedGroupingMod5;
112
118
  return (_unwrappedGroupingMod4 = (_unwrappedGroupingMod5 = unwrappedGroupingModel[field]) == null ? void 0 : _unwrappedGroupingMod5.length) != null ? _unwrappedGroupingMod4 : 0;
@@ -54,7 +54,6 @@ export function computeFlexColumnsWidth(_ref) {
54
54
  for (var i = 0; i < flexColumns.length; i += 1) {
55
55
  var column = flexColumns[i];
56
56
  if (flexColumnsLookup.all[column.field] && flexColumnsLookup.all[column.field].frozen === true) {
57
- // eslint-disable-next-line no-continue
58
57
  continue;
59
58
  }
60
59
 
@@ -177,14 +177,14 @@ export var buildAggregatedFilterItemsApplier = function buildAggregatedFilterIte
177
177
 
178
178
  // We generate a new function with `eval()` to avoid expensive patterns for JS engines
179
179
  // such as a dynamic object assignment, e.g. `{ [dynamicKey]: value }`.
180
- var filterItemTemplate = "(function filterItem$$(appliers, row, shouldApplyFilter) {\n ".concat(appliers.map(function (applier, i) {
180
+ var filterItemTemplate = "(function filterItem$$(getRowId, appliers, row, shouldApplyFilter) {\n ".concat(appliers.map(function (applier, i) {
181
181
  return "const shouldApply".concat(i, " = !shouldApplyFilter || shouldApplyFilter(").concat(JSON.stringify(applier.item.field), ");");
182
182
  }).join('\n'), "\n\n const result$$ = {\n ").concat(appliers.map(function (applier, i) {
183
183
  return "".concat(JSON.stringify(String(applier.item.id)), ":\n !shouldApply").concat(i, " ?\n false :\n ").concat(applier.v7 ? "appliers[".concat(i, "].fn(row)") : "appliers[".concat(i, "].fn(").concat(getRowId ? 'getRowId(row)' : 'row.id', ")"), ",\n ");
184
184
  }).join('\n'), "};\n\n return result$$;\n })");
185
185
  var filterItemCore = evalCode(filterItemTemplate.replaceAll('$$', String(filterItemsApplierId)));
186
186
  var filterItem = function filterItem(row, shouldApplyItem) {
187
- return filterItemCore(appliers, row, shouldApplyItem);
187
+ return filterItemCore(getRowId, appliers, row, shouldApplyItem);
188
188
  };
189
189
  filterItemsApplierId += 1;
190
190
  return filterItem;
@@ -238,7 +238,7 @@ export var buildAggregatedQuickFilterApplier = function buildAggregatedQuickFilt
238
238
  var result = {};
239
239
  var usedCellParams = {};
240
240
 
241
- /* eslint-disable no-restricted-syntax, no-labels, no-continue */
241
+ /* eslint-disable no-restricted-syntax, no-labels */
242
242
  outer: for (var v = 0; v < quickFilterValues.length; v += 1) {
243
243
  var filterValue = quickFilterValues[v];
244
244
  for (var i = 0; i < appliersPerField.length; i += 1) {
@@ -273,7 +273,7 @@ export var buildAggregatedQuickFilterApplier = function buildAggregatedQuickFilt
273
273
  }
274
274
  result[filterValue] = false;
275
275
  }
276
- /* eslint-enable no-restricted-syntax, no-labels, no-continue */
276
+ /* eslint-enable no-restricted-syntax, no-labels */
277
277
 
278
278
  return result;
279
279
  };
@@ -376,11 +376,17 @@ export var useGridVirtualScroller = function useGridVirtualScroller(props) {
376
376
  }
377
377
  return -1;
378
378
  }, [cellFocus, currentPage.rows]);
379
- useGridApiEventHandler(apiRef, 'rowMouseEnter', function (params) {
379
+ useGridApiEventHandler(apiRef, 'rowMouseOver', function (params, event) {
380
380
  var _params$id;
381
+ if (event.currentTarget.contains(event.relatedTarget)) {
382
+ return;
383
+ }
381
384
  setHoveredRowId((_params$id = params.id) != null ? _params$id : null);
382
385
  });
383
- useGridApiEventHandler(apiRef, 'rowMouseLeave', function () {
386
+ useGridApiEventHandler(apiRef, 'rowMouseOut', function (params, event) {
387
+ if (event.currentTarget.contains(event.relatedTarget)) {
388
+ return;
389
+ }
384
390
  setHoveredRowId(null);
385
391
  });
386
392
  var getRows = function getRows() {
package/legacy/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @mui/x-data-grid v6.16.1
2
+ * @mui/x-data-grid v6.16.3
3
3
  *
4
4
  * @license MIT
5
5
  * This source code is licensed under the MIT license found in the
@@ -39,7 +39,7 @@ var arSDGrid = {
39
39
  columnsPanelHideAllButton: 'إخفاء الكل',
40
40
  // Filter panel text
41
41
  filterPanelAddFilter: 'إضافة مرشِح',
42
- // filterPanelRemoveAll: 'Remove all',
42
+ filterPanelRemoveAll: 'حذف الكل',
43
43
  filterPanelDeleteIconLabel: 'حذف',
44
44
  filterPanelLogicOperator: 'عامل منطقي',
45
45
  filterPanelOperator: 'عامل',
@@ -62,34 +62,32 @@ var arSDGrid = {
62
62
  filterOperatorIsEmpty: 'خالي',
63
63
  filterOperatorIsNotEmpty: 'غير خالي',
64
64
  filterOperatorIsAnyOf: 'أي من',
65
- // 'filterOperator=': '=',
66
- // 'filterOperator!=': '!=',
67
- // 'filterOperator>': '>',
68
- // 'filterOperator>=': '>=',
69
- // 'filterOperator<': '<',
70
- // 'filterOperator<=': '<=',
71
-
65
+ 'filterOperator=': '=',
66
+ 'filterOperator!=': '!=',
67
+ 'filterOperator>': '>',
68
+ 'filterOperator>=': '>=',
69
+ 'filterOperator<': '<',
70
+ 'filterOperator<=': '<=',
72
71
  // Header filter operators text
73
- // headerFilterOperatorContains: 'Contains',
74
- // headerFilterOperatorEquals: 'Equals',
75
- // headerFilterOperatorStartsWith: 'Starts with',
76
- // headerFilterOperatorEndsWith: 'Ends with',
77
- // headerFilterOperatorIs: 'Is',
78
- // headerFilterOperatorNot: 'Is not',
79
- // headerFilterOperatorAfter: 'Is after',
80
- // headerFilterOperatorOnOrAfter: 'Is on or after',
81
- // headerFilterOperatorBefore: 'Is before',
82
- // headerFilterOperatorOnOrBefore: 'Is on or before',
83
- // headerFilterOperatorIsEmpty: 'Is empty',
84
- // headerFilterOperatorIsNotEmpty: 'Is not empty',
85
- // headerFilterOperatorIsAnyOf: 'Is any of',
86
- // 'headerFilterOperator=': 'Equals',
87
- // 'headerFilterOperator!=': 'Not equals',
88
- // 'headerFilterOperator>': 'Greater than',
89
- // 'headerFilterOperator>=': 'Greater than or equal to',
90
- // 'headerFilterOperator<': 'Less than',
91
- // 'headerFilterOperator<=': 'Less than or equal to',
92
-
72
+ headerFilterOperatorContains: 'يحتوي على',
73
+ headerFilterOperatorEquals: 'يساوي',
74
+ headerFilterOperatorStartsWith: 'يبدأ ب',
75
+ headerFilterOperatorEndsWith: 'ينتهي ب',
76
+ headerFilterOperatorIs: 'هو',
77
+ headerFilterOperatorNot: 'هو ليس',
78
+ headerFilterOperatorAfter: 'يقع بعد',
79
+ headerFilterOperatorOnOrAfter: 'هو على او بعد',
80
+ headerFilterOperatorBefore: 'يقع قبل',
81
+ headerFilterOperatorOnOrBefore: 'هو على او بعد',
82
+ headerFilterOperatorIsEmpty: 'هو فارغ',
83
+ headerFilterOperatorIsNotEmpty: 'هو ليس فارغ',
84
+ headerFilterOperatorIsAnyOf: 'هو أي من',
85
+ 'headerFilterOperator=': 'يساوي',
86
+ 'headerFilterOperator!=': 'لا يساوي',
87
+ 'headerFilterOperator>': 'أكبر من',
88
+ 'headerFilterOperator>=': 'أكبر من او يساوي',
89
+ 'headerFilterOperator<': 'اصغر من',
90
+ 'headerFilterOperator<=': 'اصغر من او يساوي',
93
91
  // Filter values text
94
92
  filterValueAny: 'أي',
95
93
  filterValueTrue: 'صائب',
@@ -76,7 +76,7 @@ var roROGrid = {
76
76
  headerFilterOperatorIs: 'Este',
77
77
  headerFilterOperatorNot: 'Nu este',
78
78
  headerFilterOperatorAfter: 'Este după',
79
- headerFilterOperatorOnOrAfter: 'Este la sau „după”',
79
+ headerFilterOperatorOnOrAfter: 'Este la sau după',
80
80
  headerFilterOperatorBefore: 'Este înainte de',
81
81
  headerFilterOperatorOnOrBefore: 'este la sau înainte de',
82
82
  headerFilterOperatorIsEmpty: 'Este gol',
package/locales/arSD.js CHANGED
@@ -37,7 +37,7 @@ const arSDGrid = {
37
37
  columnsPanelHideAllButton: 'إخفاء الكل',
38
38
  // Filter panel text
39
39
  filterPanelAddFilter: 'إضافة مرشِح',
40
- // filterPanelRemoveAll: 'Remove all',
40
+ filterPanelRemoveAll: 'حذف الكل',
41
41
  filterPanelDeleteIconLabel: 'حذف',
42
42
  filterPanelLogicOperator: 'عامل منطقي',
43
43
  filterPanelOperator: 'عامل',
@@ -60,34 +60,32 @@ const arSDGrid = {
60
60
  filterOperatorIsEmpty: 'خالي',
61
61
  filterOperatorIsNotEmpty: 'غير خالي',
62
62
  filterOperatorIsAnyOf: 'أي من',
63
- // 'filterOperator=': '=',
64
- // 'filterOperator!=': '!=',
65
- // 'filterOperator>': '>',
66
- // 'filterOperator>=': '>=',
67
- // 'filterOperator<': '<',
68
- // 'filterOperator<=': '<=',
69
-
63
+ 'filterOperator=': '=',
64
+ 'filterOperator!=': '!=',
65
+ 'filterOperator>': '>',
66
+ 'filterOperator>=': '>=',
67
+ 'filterOperator<': '<',
68
+ 'filterOperator<=': '<=',
70
69
  // Header filter operators text
71
- // headerFilterOperatorContains: 'Contains',
72
- // headerFilterOperatorEquals: 'Equals',
73
- // headerFilterOperatorStartsWith: 'Starts with',
74
- // headerFilterOperatorEndsWith: 'Ends with',
75
- // headerFilterOperatorIs: 'Is',
76
- // headerFilterOperatorNot: 'Is not',
77
- // headerFilterOperatorAfter: 'Is after',
78
- // headerFilterOperatorOnOrAfter: 'Is on or after',
79
- // headerFilterOperatorBefore: 'Is before',
80
- // headerFilterOperatorOnOrBefore: 'Is on or before',
81
- // headerFilterOperatorIsEmpty: 'Is empty',
82
- // headerFilterOperatorIsNotEmpty: 'Is not empty',
83
- // headerFilterOperatorIsAnyOf: 'Is any of',
84
- // 'headerFilterOperator=': 'Equals',
85
- // 'headerFilterOperator!=': 'Not equals',
86
- // 'headerFilterOperator>': 'Greater than',
87
- // 'headerFilterOperator>=': 'Greater than or equal to',
88
- // 'headerFilterOperator<': 'Less than',
89
- // 'headerFilterOperator<=': 'Less than or equal to',
90
-
70
+ headerFilterOperatorContains: 'يحتوي على',
71
+ headerFilterOperatorEquals: 'يساوي',
72
+ headerFilterOperatorStartsWith: 'يبدأ ب',
73
+ headerFilterOperatorEndsWith: 'ينتهي ب',
74
+ headerFilterOperatorIs: 'هو',
75
+ headerFilterOperatorNot: 'هو ليس',
76
+ headerFilterOperatorAfter: 'يقع بعد',
77
+ headerFilterOperatorOnOrAfter: 'هو على او بعد',
78
+ headerFilterOperatorBefore: 'يقع قبل',
79
+ headerFilterOperatorOnOrBefore: 'هو على او بعد',
80
+ headerFilterOperatorIsEmpty: 'هو فارغ',
81
+ headerFilterOperatorIsNotEmpty: 'هو ليس فارغ',
82
+ headerFilterOperatorIsAnyOf: 'هو أي من',
83
+ 'headerFilterOperator=': 'يساوي',
84
+ 'headerFilterOperator!=': 'لا يساوي',
85
+ 'headerFilterOperator>': 'أكبر من',
86
+ 'headerFilterOperator>=': 'أكبر من او يساوي',
87
+ 'headerFilterOperator<': 'اصغر من',
88
+ 'headerFilterOperator<=': 'اصغر من او يساوي',
91
89
  // Filter values text
92
90
  filterValueAny: 'أي',
93
91
  filterValueTrue: 'صائب',
package/locales/roRO.js CHANGED
@@ -74,7 +74,7 @@ const roROGrid = {
74
74
  headerFilterOperatorIs: 'Este',
75
75
  headerFilterOperatorNot: 'Nu este',
76
76
  headerFilterOperatorAfter: 'Este după',
77
- headerFilterOperatorOnOrAfter: 'Este la sau „după”',
77
+ headerFilterOperatorOnOrAfter: 'Este la sau după',
78
78
  headerFilterOperatorBefore: 'Este înainte de',
79
79
  headerFilterOperatorOnOrBefore: 'este la sau înainte de',
80
80
  headerFilterOperatorIsEmpty: 'Este gol',
@@ -43,6 +43,20 @@ export interface GridRowEventLookup {
43
43
  params: GridRowParams;
44
44
  event: React.MouseEvent<HTMLElement>;
45
45
  };
46
+ /**
47
+ * @ignore - do not document.
48
+ */
49
+ rowMouseOut: {
50
+ params: GridRowParams;
51
+ event: React.MouseEvent<HTMLElement>;
52
+ };
53
+ /**
54
+ * @ignore - do not document.
55
+ */
56
+ rowMouseOver: {
57
+ params: GridRowParams;
58
+ event: React.MouseEvent<HTMLElement>;
59
+ };
46
60
  /**
47
61
  * Fired when the user starts dragging a row. It's mapped to the `dragstart` DOM event.
48
62
  * @ignore - do not document.
@@ -296,7 +296,7 @@ export interface DataGridPropsWithDefaultValues {
296
296
  * The order of the sorting sequence.
297
297
  * @default ['asc', 'desc', null]
298
298
  */
299
- sortingOrder: GridSortDirection[];
299
+ sortingOrder: readonly GridSortDirection[];
300
300
  /**
301
301
  * Sorting can be processed on the server or client-side.
302
302
  * Set it to 'client' if you would like to handle sorting on the client-side.
@@ -329,7 +329,7 @@ export interface DataGridPropsWithDefaultValues {
329
329
  /**
330
330
  * If `true`, the grid will not use `valueFormatter` when exporting to CSV or copying to clipboard.
331
331
  * If an object is provided, you can choose to ignore the `valueFormatter` for CSV export or clipboard export.
332
- * @default: false
332
+ * @default false
333
333
  */
334
334
  unstable_ignoreValueFormatterDuringExport: boolean | {
335
335
  csvExport?: boolean;
@@ -663,7 +663,7 @@ export interface DataGridPropsWithoutDefaultValue<R extends GridValidRowModel =
663
663
  /**
664
664
  * Set of columns of type [[GridColDef[]]].
665
665
  */
666
- columns: GridColDef<R>[];
666
+ columns: readonly GridColDef<R>[];
667
667
  /**
668
668
  * Return the id of a given [[GridRowModel]].
669
669
  */
@@ -27,6 +27,13 @@ const DataGridRaw = /*#__PURE__*/React.forwardRef(function DataGrid(inProps, ref
27
27
  }))
28
28
  });
29
29
  });
30
+ /**
31
+ * Demos:
32
+ * - [DataGrid](https://mui.com/x/react-data-grid/demo/)
33
+ *
34
+ * API:
35
+ * - [DataGrid API](https://mui.com/x/api/data-grid/data-grid/)
36
+ */
30
37
  export const DataGrid = /*#__PURE__*/React.memo(DataGridRaw);
31
38
 
32
39
  /**
@@ -660,7 +667,7 @@ DataGridRaw.propTypes = {
660
667
  /**
661
668
  * If `true`, the grid will not use `valueFormatter` when exporting to CSV or copying to clipboard.
662
669
  * If an object is provided, you can choose to ignore the `valueFormatter` for CSV export or clipboard export.
663
- * @default: false
670
+ * @default false
664
671
  */
665
672
  unstable_ignoreValueFormatterDuringExport: PropTypes.oneOfType([PropTypes.shape({
666
673
  clipboardExport: PropTypes.bool,
@@ -51,8 +51,6 @@ export const GRID_DATE_COL_DEF = _extends({}, GRID_STRING_COL_DEF, {
51
51
  valueFormatter: gridDateFormatter,
52
52
  filterOperators: getGridDateOperators(),
53
53
  renderEditCell: renderEditDateCell,
54
- getApplyQuickFilterFn: undefined,
55
- getApplyQuickFilterFnV7: undefined,
56
54
  // @ts-ignore
57
55
  pastedValueParser: value => new Date(value)
58
56
  });
@@ -62,8 +60,6 @@ export const GRID_DATETIME_COL_DEF = _extends({}, GRID_STRING_COL_DEF, {
62
60
  valueFormatter: gridDateTimeFormatter,
63
61
  filterOperators: getGridDateOperators(true),
64
62
  renderEditCell: renderEditDateCell,
65
- getApplyQuickFilterFn: undefined,
66
- getApplyQuickFilterFnV7: undefined,
67
63
  // @ts-ignore
68
64
  pastedValueParser: value => new Date(value)
69
65
  });