@mui/x-data-grid 6.0.2 → 6.0.4

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 (118) hide show
  1. package/CHANGELOG.md +119 -5
  2. package/components/GridPagination.d.ts +2 -2
  3. package/components/GridRow.js +1 -1
  4. package/components/columnHeaders/GridColumnHeaderSeparator.js +3 -3
  5. package/components/columnHeaders/GridColumnHeaderTitle.js +5 -5
  6. package/components/menu/columnMenu/GridColumnHeaderMenu.js +4 -2
  7. package/components/menu/columnMenu/GridColumnMenu.d.ts +5 -5
  8. package/components/menu/columnMenu/GridColumnMenu.js +30 -30
  9. package/components/menu/columnMenu/GridColumnMenuProps.d.ts +1 -1
  10. package/components/panel/GridPanel.d.ts +1 -1
  11. package/components/panel/filterPanel/GridFilterPanel.js +1 -1
  12. package/components/reexportable.d.ts +1 -1
  13. package/components/reexportable.js +1 -1
  14. package/hooks/features/columnHeaders/useGridColumnHeaders.js +7 -1
  15. package/hooks/features/columnMenu/columnMenuInterfaces.d.ts +11 -11
  16. package/hooks/features/columnMenu/{useGridColumnMenuComponents.d.ts → useGridColumnMenuSlots.d.ts} +4 -4
  17. package/hooks/features/columnMenu/{useGridColumnMenuComponents.js → useGridColumnMenuSlots.js} +21 -26
  18. package/hooks/features/columns/useGridColumns.js +1 -1
  19. package/hooks/features/filter/useGridFilter.js +1 -1
  20. package/hooks/features/preferencesPanel/gridPreferencePanelsValue.js +3 -3
  21. package/hooks/features/sorting/useGridSorting.js +1 -1
  22. package/hooks/features/virtualization/useGridVirtualScroller.js +1 -1
  23. package/hooks/utils/useGridApiEventHandler.js +3 -3
  24. package/index.d.ts +1 -1
  25. package/index.js +2 -2
  26. package/legacy/components/GridRow.js +1 -1
  27. package/legacy/components/columnHeaders/GridColumnHeaderSeparator.js +3 -3
  28. package/legacy/components/columnHeaders/GridColumnHeaderTitle.js +5 -5
  29. package/legacy/components/menu/columnMenu/GridColumnHeaderMenu.js +4 -2
  30. package/legacy/components/menu/columnMenu/GridColumnMenu.js +32 -32
  31. package/legacy/components/panel/filterPanel/GridFilterPanel.js +1 -1
  32. package/legacy/components/reexportable.js +1 -1
  33. package/legacy/hooks/features/columnHeaders/useGridColumnHeaders.js +7 -1
  34. package/legacy/hooks/features/columnMenu/{useGridColumnMenuComponents.js → useGridColumnMenuSlots.js} +25 -30
  35. package/legacy/hooks/features/columns/useGridColumns.js +1 -1
  36. package/legacy/hooks/features/filter/useGridFilter.js +1 -1
  37. package/legacy/hooks/features/preferencesPanel/gridPreferencePanelsValue.js +3 -3
  38. package/legacy/hooks/features/sorting/useGridSorting.js +1 -1
  39. package/legacy/hooks/features/virtualization/useGridVirtualScroller.js +1 -1
  40. package/legacy/hooks/utils/useGridApiEventHandler.js +3 -3
  41. package/legacy/index.js +2 -2
  42. package/legacy/locales/bgBG.js +9 -12
  43. package/legacy/locales/daDK.js +16 -21
  44. package/legacy/locales/esES.js +1 -1
  45. package/legacy/locales/faIR.js +2 -2
  46. package/legacy/locales/nbNO.js +10 -12
  47. package/legacy/locales/nlNL.js +7 -9
  48. package/legacy/locales/svSE.js +2 -2
  49. package/legacy/models/gridEditRowModel.js +9 -9
  50. package/legacy/models/gridFilterItem.js +3 -3
  51. package/legacy/models/params/gridEditCellParams.js +10 -10
  52. package/legacy/models/params/gridRowParams.js +9 -9
  53. package/locales/bgBG.js +9 -12
  54. package/locales/daDK.js +16 -21
  55. package/locales/esES.js +1 -1
  56. package/locales/faIR.js +2 -2
  57. package/locales/nbNO.js +10 -12
  58. package/locales/nlNL.js +7 -9
  59. package/locales/svSE.js +2 -2
  60. package/models/gridEditRowModel.js +9 -9
  61. package/models/gridFilterItem.js +3 -3
  62. package/models/params/gridEditCellParams.js +10 -10
  63. package/models/params/gridRowParams.js +9 -9
  64. package/modern/components/GridRow.js +1 -1
  65. package/modern/components/columnHeaders/GridColumnHeaderSeparator.js +3 -3
  66. package/modern/components/columnHeaders/GridColumnHeaderTitle.js +5 -5
  67. package/modern/components/menu/columnMenu/GridColumnHeaderMenu.js +4 -2
  68. package/modern/components/menu/columnMenu/GridColumnMenu.js +30 -30
  69. package/modern/components/panel/filterPanel/GridFilterPanel.js +1 -1
  70. package/modern/components/reexportable.js +1 -1
  71. package/modern/hooks/features/columnHeaders/useGridColumnHeaders.js +6 -1
  72. package/modern/hooks/features/columnMenu/{useGridColumnMenuComponents.js → useGridColumnMenuSlots.js} +21 -26
  73. package/modern/hooks/features/columns/useGridColumns.js +1 -1
  74. package/modern/hooks/features/filter/useGridFilter.js +1 -1
  75. package/modern/hooks/features/preferencesPanel/gridPreferencePanelsValue.js +3 -3
  76. package/modern/hooks/features/sorting/useGridSorting.js +1 -1
  77. package/modern/hooks/features/virtualization/useGridVirtualScroller.js +1 -1
  78. package/modern/hooks/utils/useGridApiEventHandler.js +3 -3
  79. package/modern/index.js +2 -2
  80. package/modern/locales/bgBG.js +9 -12
  81. package/modern/locales/daDK.js +16 -21
  82. package/modern/locales/esES.js +1 -1
  83. package/modern/locales/faIR.js +2 -2
  84. package/modern/locales/nbNO.js +10 -12
  85. package/modern/locales/nlNL.js +7 -9
  86. package/modern/locales/svSE.js +2 -2
  87. package/modern/models/gridEditRowModel.js +9 -9
  88. package/modern/models/gridFilterItem.js +3 -3
  89. package/modern/models/params/gridEditCellParams.js +10 -10
  90. package/modern/models/params/gridRowParams.js +9 -9
  91. package/node/components/GridRow.js +1 -1
  92. package/node/components/columnHeaders/GridColumnHeaderSeparator.js +4 -4
  93. package/node/components/columnHeaders/GridColumnHeaderTitle.js +5 -5
  94. package/node/components/menu/columnMenu/GridColumnHeaderMenu.js +4 -2
  95. package/node/components/menu/columnMenu/GridColumnMenu.js +33 -33
  96. package/node/components/panel/filterPanel/GridFilterPanel.js +1 -1
  97. package/node/components/reexportable.js +4 -4
  98. package/node/hooks/features/columnHeaders/useGridColumnHeaders.js +6 -1
  99. package/node/hooks/features/columnMenu/{useGridColumnMenuComponents.js → useGridColumnMenuSlots.js} +22 -27
  100. package/node/hooks/features/columns/useGridColumns.js +1 -1
  101. package/node/hooks/features/filter/useGridFilter.js +1 -1
  102. package/node/hooks/features/preferencesPanel/gridPreferencePanelsValue.js +4 -4
  103. package/node/hooks/features/sorting/useGridSorting.js +1 -1
  104. package/node/hooks/features/virtualization/useGridVirtualScroller.js +1 -1
  105. package/node/hooks/utils/useGridApiEventHandler.js +4 -4
  106. package/node/index.js +7 -7
  107. package/node/locales/bgBG.js +9 -12
  108. package/node/locales/daDK.js +16 -21
  109. package/node/locales/esES.js +1 -1
  110. package/node/locales/faIR.js +2 -2
  111. package/node/locales/nbNO.js +10 -12
  112. package/node/locales/nlNL.js +7 -9
  113. package/node/locales/svSE.js +2 -2
  114. package/node/models/gridEditRowModel.js +12 -12
  115. package/node/models/gridFilterItem.js +4 -4
  116. package/node/models/params/gridEditCellParams.js +12 -12
  117. package/node/models/params/gridRowParams.js +11 -11
  118. package/package.json +2 -2
@@ -37,7 +37,7 @@ const svSEGrid = {
37
37
  columnsPanelHideAllButton: 'Dölj alla',
38
38
  // Filter panel text
39
39
  filterPanelAddFilter: 'Lägg till filter',
40
- // filterPanelRemoveAll: 'Remove all',
40
+ filterPanelRemoveAll: 'Ta bort alla',
41
41
  filterPanelDeleteIconLabel: 'Ta bort',
42
42
  filterPanelLogicOperator: 'Logisk operatör',
43
43
  filterPanelOperator: 'Operatör',
@@ -67,7 +67,7 @@ const svSEGrid = {
67
67
  // Column menu text
68
68
  columnMenuLabel: 'Meny',
69
69
  columnMenuShowColumns: 'Visa kolumner',
70
- // columnMenuManageColumns: 'Manage columns',
70
+ columnMenuManageColumns: 'Hantera kolumner',
71
71
  columnMenuFilter: 'Filtrera',
72
72
  columnMenuHideColumn: 'Dölj',
73
73
  columnMenuUnsort: 'Osortera',
@@ -1,16 +1,16 @@
1
- var GridEditModes;
2
- (function (GridEditModes) {
1
+ var GridEditModes = /*#__PURE__*/function (GridEditModes) {
3
2
  GridEditModes["Cell"] = "cell";
4
3
  GridEditModes["Row"] = "row";
5
- })(GridEditModes || (GridEditModes = {}));
6
- var GridCellModes;
7
- (function (GridCellModes) {
4
+ return GridEditModes;
5
+ }(GridEditModes || {});
6
+ var GridCellModes = /*#__PURE__*/function (GridCellModes) {
8
7
  GridCellModes["Edit"] = "edit";
9
8
  GridCellModes["View"] = "view";
10
- })(GridCellModes || (GridCellModes = {}));
11
- var GridRowModes;
12
- (function (GridRowModes) {
9
+ return GridCellModes;
10
+ }(GridCellModes || {});
11
+ var GridRowModes = /*#__PURE__*/function (GridRowModes) {
13
12
  GridRowModes["Edit"] = "edit";
14
13
  GridRowModes["View"] = "view";
15
- })(GridRowModes || (GridRowModes = {}));
14
+ return GridRowModes;
15
+ }(GridRowModes || {});
16
16
  export { GridEditModes, GridCellModes, GridRowModes };
@@ -3,9 +3,9 @@
3
3
  * @demos
4
4
  * - [Custom filter operator](/x/react-data-grid/filtering/#create-a-custom-operator)
5
5
  */
6
- var GridLogicOperator;
7
- (function (GridLogicOperator) {
6
+ var GridLogicOperator = /*#__PURE__*/function (GridLogicOperator) {
8
7
  GridLogicOperator["And"] = "and";
9
8
  GridLogicOperator["Or"] = "or";
10
- })(GridLogicOperator || (GridLogicOperator = {}));
9
+ return GridLogicOperator;
10
+ }(GridLogicOperator || {});
11
11
  export { GridLogicOperator };
@@ -1,26 +1,26 @@
1
1
  /**
2
2
  * Params passed to `apiRef.current.setEditCellValue`.
3
3
  */
4
- var GridCellEditStartReasons;
5
- /**
6
- * Params passed to the `cellEditStart` event.
7
- */
8
- (function (GridCellEditStartReasons) {
4
+ var GridCellEditStartReasons = /*#__PURE__*/function (GridCellEditStartReasons) {
9
5
  GridCellEditStartReasons["enterKeyDown"] = "enterKeyDown";
10
6
  GridCellEditStartReasons["cellDoubleClick"] = "cellDoubleClick";
11
7
  GridCellEditStartReasons["printableKeyDown"] = "printableKeyDown";
12
8
  GridCellEditStartReasons["deleteKeyDown"] = "deleteKeyDown";
13
- })(GridCellEditStartReasons || (GridCellEditStartReasons = {}));
14
- var GridCellEditStopReasons;
9
+ return GridCellEditStartReasons;
10
+ }(GridCellEditStartReasons || {});
15
11
  /**
16
- * Params passed to the `cellEditStop event.
12
+ * Params passed to the `cellEditStart` event.
17
13
  */
18
- (function (GridCellEditStopReasons) {
14
+ var GridCellEditStopReasons = /*#__PURE__*/function (GridCellEditStopReasons) {
19
15
  GridCellEditStopReasons["cellFocusOut"] = "cellFocusOut";
20
16
  GridCellEditStopReasons["escapeKeyDown"] = "escapeKeyDown";
21
17
  GridCellEditStopReasons["enterKeyDown"] = "enterKeyDown";
22
18
  GridCellEditStopReasons["tabKeyDown"] = "tabKeyDown";
23
19
  GridCellEditStopReasons["shiftTabKeyDown"] = "shiftTabKeyDown";
24
- })(GridCellEditStopReasons || (GridCellEditStopReasons = {}));
20
+ return GridCellEditStopReasons;
21
+ }(GridCellEditStopReasons || {});
22
+ /**
23
+ * Params passed to the `cellEditStop event.
24
+ */
25
25
  // https://github.com/mui/mui-x/pull/3738#discussion_r798504277
26
26
  export { GridCellEditStartReasons, GridCellEditStopReasons };
@@ -14,23 +14,23 @@
14
14
  /**
15
15
  * The getRowHeight return value.
16
16
  */
17
- var GridRowEditStartReasons;
18
- /**
19
- * Params passed to the `rowEditStart` event.
20
- */
21
- (function (GridRowEditStartReasons) {
17
+ var GridRowEditStartReasons = /*#__PURE__*/function (GridRowEditStartReasons) {
22
18
  GridRowEditStartReasons["enterKeyDown"] = "enterKeyDown";
23
19
  GridRowEditStartReasons["cellDoubleClick"] = "cellDoubleClick";
24
20
  GridRowEditStartReasons["printableKeyDown"] = "printableKeyDown";
25
21
  GridRowEditStartReasons["deleteKeyDown"] = "deleteKeyDown";
26
- })(GridRowEditStartReasons || (GridRowEditStartReasons = {}));
27
- var GridRowEditStopReasons;
28
- (function (GridRowEditStopReasons) {
22
+ return GridRowEditStartReasons;
23
+ }(GridRowEditStartReasons || {});
24
+ /**
25
+ * Params passed to the `rowEditStart` event.
26
+ */
27
+ var GridRowEditStopReasons = /*#__PURE__*/function (GridRowEditStopReasons) {
29
28
  GridRowEditStopReasons["rowFocusOut"] = "rowFocusOut";
30
29
  GridRowEditStopReasons["escapeKeyDown"] = "escapeKeyDown";
31
30
  GridRowEditStopReasons["enterKeyDown"] = "enterKeyDown";
32
31
  GridRowEditStopReasons["tabKeyDown"] = "tabKeyDown";
33
32
  GridRowEditStopReasons["shiftTabKeyDown"] = "shiftTabKeyDown";
34
- })(GridRowEditStopReasons || (GridRowEditStopReasons = {}));
33
+ return GridRowEditStopReasons;
34
+ }(GridRowEditStopReasons || {});
35
35
  // https://github.com/mui/mui-x/pull/3738#discussion_r798504277
36
36
  export { GridRowEditStartReasons, GridRowEditStopReasons };
@@ -56,7 +56,7 @@ function EmptyCell({
56
56
  width
57
57
  };
58
58
  return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
59
- className: "MuiDataGrid-cell MuiDataGrid-withBorderColor",
59
+ className: `${_gridClasses.gridClasses.cell} ${_gridClasses.gridClasses.withBorderColor}`,
60
60
  style: style
61
61
  }); // TODO change to .MuiDataGrid-emptyCell or .MuiDataGrid-rowFiller
62
62
  }
@@ -16,12 +16,12 @@ var _jsxRuntime = require("react/jsx-runtime");
16
16
  const _excluded = ["resizable", "resizing", "height", "side"];
17
17
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
18
18
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
19
- var GridColumnHeaderSeparatorSides;
20
- exports.GridColumnHeaderSeparatorSides = GridColumnHeaderSeparatorSides;
21
- (function (GridColumnHeaderSeparatorSides) {
19
+ var GridColumnHeaderSeparatorSides = /*#__PURE__*/function (GridColumnHeaderSeparatorSides) {
22
20
  GridColumnHeaderSeparatorSides["Left"] = "left";
23
21
  GridColumnHeaderSeparatorSides["Right"] = "right";
24
- })(GridColumnHeaderSeparatorSides || (exports.GridColumnHeaderSeparatorSides = GridColumnHeaderSeparatorSides = {}));
22
+ return GridColumnHeaderSeparatorSides;
23
+ }(GridColumnHeaderSeparatorSides || {});
24
+ exports.GridColumnHeaderSeparatorSides = GridColumnHeaderSeparatorSides;
25
25
  const useUtilityClasses = ownerState => {
26
26
  const {
27
27
  resizable,
@@ -55,14 +55,13 @@ const ColumnHeaderInnerTitle = /*#__PURE__*/React.forwardRef(function ColumnHead
55
55
  function GridColumnHeaderTitle(props) {
56
56
  const {
57
57
  label,
58
- description,
59
- columnWidth
58
+ description
60
59
  } = props;
61
60
  const rootProps = (0, _useGridRootProps.useGridRootProps)();
62
61
  const titleRef = React.useRef(null);
63
62
  const [tooltip, setTooltip] = React.useState('');
64
- React.useEffect(() => {
65
- if (!description && titleRef && titleRef.current) {
63
+ const handleMouseOver = React.useCallback(() => {
64
+ if (!description && titleRef?.current) {
66
65
  const isOver = (0, _domUtils.isOverflown)(titleRef.current);
67
66
  if (isOver) {
68
67
  setTooltip(label);
@@ -70,11 +69,12 @@ function GridColumnHeaderTitle(props) {
70
69
  setTooltip('');
71
70
  }
72
71
  }
73
- }, [titleRef, columnWidth, description, label]);
72
+ }, [description, label]);
74
73
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.baseTooltip, (0, _extends2.default)({
75
74
  title: description || tooltip
76
75
  }, rootProps.slotProps?.baseTooltip, {
77
76
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(ColumnHeaderInnerTitle, {
77
+ onMouseOver: handleMouseOver,
78
78
  ref: titleRef,
79
79
  children: label
80
80
  })
@@ -29,8 +29,10 @@ function GridColumnHeaderMenu({
29
29
  const hideMenu = React.useCallback(event => {
30
30
  // Prevent triggering the sorting
31
31
  event.stopPropagation();
32
- apiRef.current.hideColumnMenu();
33
- }, [apiRef]);
32
+ if (!target?.contains(event.target)) {
33
+ apiRef.current.hideColumnMenu();
34
+ }
35
+ }, [apiRef, target]);
34
36
  if (!target) {
35
37
  return null;
36
38
  }
@@ -4,27 +4,27 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.GridGenericColumnMenu = exports.GridColumnMenu = exports.GRID_COLUMN_MENU_COMPONENTS_PROPS = exports.GRID_COLUMN_MENU_COMPONENTS = void 0;
7
+ exports.GridGenericColumnMenu = exports.GridColumnMenu = exports.GRID_COLUMN_MENU_SLOT_PROPS = exports.GRID_COLUMN_MENU_SLOTS = void 0;
8
8
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
9
  var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
10
10
  var React = _interopRequireWildcard(require("react"));
11
11
  var _propTypes = _interopRequireDefault(require("prop-types"));
12
- var _useGridColumnMenuComponents = require("../../../hooks/features/columnMenu/useGridColumnMenuComponents");
12
+ var _useGridColumnMenuSlots = require("../../../hooks/features/columnMenu/useGridColumnMenuSlots");
13
13
  var _GridColumnMenuContainer = require("./GridColumnMenuContainer");
14
14
  var _GridColumnMenuColumnsItem = require("./menuItems/GridColumnMenuColumnsItem");
15
15
  var _GridColumnMenuFilterItem = require("./menuItems/GridColumnMenuFilterItem");
16
16
  var _GridColumnMenuSortItem = require("./menuItems/GridColumnMenuSortItem");
17
17
  var _jsxRuntime = require("react/jsx-runtime");
18
- const _excluded = ["defaultComponents", "defaultComponentsProps", "components", "componentsProps"];
18
+ const _excluded = ["defaultSlots", "defaultSlotProps", "slots", "slotProps"];
19
19
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
20
20
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
21
- const GRID_COLUMN_MENU_COMPONENTS = {
22
- ColumnMenuSortItem: _GridColumnMenuSortItem.GridColumnMenuSortItem,
23
- ColumnMenuFilterItem: _GridColumnMenuFilterItem.GridColumnMenuFilterItem,
24
- ColumnMenuColumnsItem: _GridColumnMenuColumnsItem.GridColumnMenuColumnsItem
21
+ const GRID_COLUMN_MENU_SLOTS = {
22
+ columnMenuSortItem: _GridColumnMenuSortItem.GridColumnMenuSortItem,
23
+ columnMenuFilterItem: _GridColumnMenuFilterItem.GridColumnMenuFilterItem,
24
+ columnMenuColumnsItem: _GridColumnMenuColumnsItem.GridColumnMenuColumnsItem
25
25
  };
26
- exports.GRID_COLUMN_MENU_COMPONENTS = GRID_COLUMN_MENU_COMPONENTS;
27
- const GRID_COLUMN_MENU_COMPONENTS_PROPS = {
26
+ exports.GRID_COLUMN_MENU_SLOTS = GRID_COLUMN_MENU_SLOTS;
27
+ const GRID_COLUMN_MENU_SLOT_PROPS = {
28
28
  columnMenuSortItem: {
29
29
  displayOrder: 10
30
30
  },
@@ -35,33 +35,33 @@ const GRID_COLUMN_MENU_COMPONENTS_PROPS = {
35
35
  displayOrder: 30
36
36
  }
37
37
  };
38
- exports.GRID_COLUMN_MENU_COMPONENTS_PROPS = GRID_COLUMN_MENU_COMPONENTS_PROPS;
38
+ exports.GRID_COLUMN_MENU_SLOT_PROPS = GRID_COLUMN_MENU_SLOT_PROPS;
39
39
  const GridGenericColumnMenu = /*#__PURE__*/React.forwardRef(function GridGenericColumnMenu(props, ref) {
40
40
  const {
41
- defaultComponents,
42
- defaultComponentsProps,
43
- components,
44
- componentsProps
41
+ defaultSlots,
42
+ defaultSlotProps,
43
+ slots,
44
+ slotProps
45
45
  } = props,
46
46
  other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
47
- const orderedComponents = (0, _useGridColumnMenuComponents.useGridColumnMenuComponents)((0, _extends2.default)({}, other, {
48
- defaultComponents,
49
- defaultComponentsProps,
50
- components,
51
- componentsProps
47
+ const orderedSlots = (0, _useGridColumnMenuSlots.useGridColumnMenuSlots)((0, _extends2.default)({}, other, {
48
+ defaultSlots,
49
+ defaultSlotProps,
50
+ slots,
51
+ slotProps
52
52
  }));
53
53
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_GridColumnMenuContainer.GridColumnMenuContainer, (0, _extends2.default)({
54
54
  ref: ref
55
55
  }, other, {
56
- children: orderedComponents.map(([Component, componentProps], index) => /*#__PURE__*/(0, _jsxRuntime.jsx)(Component, (0, _extends2.default)({}, componentProps), index))
56
+ children: orderedSlots.map(([Component, otherProps], index) => /*#__PURE__*/(0, _jsxRuntime.jsx)(Component, (0, _extends2.default)({}, otherProps), index))
57
57
  }));
58
58
  });
59
59
  exports.GridGenericColumnMenu = GridGenericColumnMenu;
60
60
  const GridColumnMenu = /*#__PURE__*/React.forwardRef(function GridColumnMenu(props, ref) {
61
61
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(GridGenericColumnMenu, (0, _extends2.default)({}, props, {
62
62
  ref: ref,
63
- defaultComponents: GRID_COLUMN_MENU_COMPONENTS,
64
- defaultComponentsProps: GRID_COLUMN_MENU_COMPONENTS_PROPS
63
+ defaultSlots: GRID_COLUMN_MENU_SLOTS,
64
+ defaultSlotProps: GRID_COLUMN_MENU_SLOT_PROPS
65
65
  }));
66
66
  });
67
67
  exports.GridColumnMenu = GridColumnMenu;
@@ -71,19 +71,19 @@ process.env.NODE_ENV !== "production" ? GridColumnMenu.propTypes = {
71
71
  // | To update them edit the TypeScript types and run "yarn proptypes" |
72
72
  // ----------------------------------------------------------------------
73
73
  colDef: _propTypes.default.object.isRequired,
74
- /**
75
- * `components` could be used to add new and (or) override default column menu items
76
- * If you register a nee component you must pass it's `displayOrder` in `componentsProps`
77
- * or it will be placed in the end of the list
78
- */
79
- components: _propTypes.default.object,
74
+ hideMenu: _propTypes.default.func.isRequired,
75
+ id: _propTypes.default.string,
76
+ labelledby: _propTypes.default.string,
77
+ open: _propTypes.default.bool.isRequired,
80
78
  /**
81
79
  * Could be used to pass new props or override props specific to a column menu component
82
80
  * e.g. `displayOrder`
83
81
  */
84
- componentsProps: _propTypes.default.object,
85
- hideMenu: _propTypes.default.func.isRequired,
86
- id: _propTypes.default.string,
87
- labelledby: _propTypes.default.string,
88
- open: _propTypes.default.bool.isRequired
82
+ slotProps: _propTypes.default.object,
83
+ /**
84
+ * `slots` could be used to add new and (or) override default column menu items
85
+ * If you register a nee component you must pass it's `displayOrder` in `slotProps`
86
+ * or it will be placed in the end of the list
87
+ */
88
+ slots: _propTypes.default.object
89
89
  } : void 0;
@@ -151,7 +151,7 @@ const GridFilterPanel = /*#__PURE__*/React.forwardRef(function GridFilterPanel(p
151
151
  logicOperators: logicOperators,
152
152
  columnsSort: columnsSort
153
153
  }, filterFormProps), item.id == null ? index : item.id))
154
- }), !rootProps.disableMultipleColumnsFiltering && !disableAddFilterButton && !disableRemoveAllButton ? /*#__PURE__*/(0, _jsxRuntime.jsxs)(_GridPanelFooter.GridPanelFooter, {
154
+ }), !rootProps.disableMultipleColumnsFiltering && !(disableAddFilterButton && disableRemoveAllButton) ? /*#__PURE__*/(0, _jsxRuntime.jsxs)(_GridPanelFooter.GridPanelFooter, {
155
155
  children: [!disableAddFilterButton ? /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.baseButton, (0, _extends2.default)({
156
156
  onClick: addNewFilter,
157
157
  startIcon: /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.filterPanelAddIcon, {})
@@ -3,16 +3,16 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- Object.defineProperty(exports, "GRID_COLUMN_MENU_COMPONENTS", {
6
+ Object.defineProperty(exports, "GRID_COLUMN_MENU_SLOTS", {
7
7
  enumerable: true,
8
8
  get: function () {
9
- return _GridColumnMenu.GRID_COLUMN_MENU_COMPONENTS;
9
+ return _GridColumnMenu.GRID_COLUMN_MENU_SLOTS;
10
10
  }
11
11
  });
12
- Object.defineProperty(exports, "GRID_COLUMN_MENU_COMPONENTS_PROPS", {
12
+ Object.defineProperty(exports, "GRID_COLUMN_MENU_SLOT_PROPS", {
13
13
  enumerable: true,
14
14
  get: function () {
15
- return _GridColumnMenu.GRID_COLUMN_MENU_COMPONENTS_PROPS;
15
+ return _GridColumnMenu.GRID_COLUMN_MENU_SLOT_PROPS;
16
16
  }
17
17
  });
18
18
  Object.defineProperty(exports, "GridColumnMenu", {
@@ -254,7 +254,12 @@ const useGridColumnHeaders = props => {
254
254
  columnFields: groupStructure.columnFields.filter(field => columnVisibility[field] !== false)
255
255
  });
256
256
  }).filter(groupStructure => groupStructure.columnFields.length > 0);
257
- const leftOverflow = visibleColumnGroupHeader[0].columnFields.indexOf(firstColumnFieldToRender);
257
+ const firstVisibleColumnIndex = visibleColumnGroupHeader[0].columnFields.indexOf(firstColumnFieldToRender);
258
+ const hiddenGroupColumns = visibleColumnGroupHeader[0].columnFields.slice(0, firstVisibleColumnIndex);
259
+ const leftOverflow = hiddenGroupColumns.reduce((acc, field) => {
260
+ const column = apiRef.current.getColumn(field);
261
+ return acc + (column.computedWidth ?? 0);
262
+ }, 0);
258
263
  let columnIndex = firstColumnToRender;
259
264
  const elements = visibleColumnGroupHeader.map(({
260
265
  groupId,
@@ -4,7 +4,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.useGridColumnMenuComponents = void 0;
7
+ exports.useGridColumnMenuSlots = void 0;
8
8
  var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
9
9
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
10
  var React = _interopRequireWildcard(require("react"));
@@ -13,44 +13,39 @@ var _useGridPrivateApiContext = require("../../utils/useGridPrivateApiContext");
13
13
  const _excluded = ["displayOrder"];
14
14
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
15
15
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
16
- const camelize = pascalCase => {
17
- const camelCase = pascalCase.split('');
18
- camelCase[0] = camelCase[0].toLowerCase();
19
- return camelCase.join('');
20
- };
21
- const useGridColumnMenuComponents = props => {
16
+ const useGridColumnMenuSlots = props => {
22
17
  const apiRef = (0, _useGridPrivateApiContext.useGridPrivateApiContext)();
23
18
  const {
24
- defaultComponents,
25
- defaultComponentsProps,
26
- components = {},
27
- componentsProps = {},
19
+ defaultSlots,
20
+ defaultSlotProps,
21
+ slots = {},
22
+ slotProps = {},
28
23
  hideMenu,
29
24
  colDef,
30
25
  addDividers = true
31
26
  } = props;
32
- const processedComponents = React.useMemo(() => (0, _extends2.default)({}, defaultComponents, components), [defaultComponents, components]);
33
- const processedComponentsProps = React.useMemo(() => {
34
- if (!componentsProps || Object.keys(componentsProps).length === 0) {
35
- return defaultComponentsProps;
27
+ const processedComponents = React.useMemo(() => (0, _extends2.default)({}, defaultSlots, slots), [defaultSlots, slots]);
28
+ const processedSlotProps = React.useMemo(() => {
29
+ if (!slotProps || Object.keys(slotProps).length === 0) {
30
+ return defaultSlotProps;
36
31
  }
37
- const mergedProps = (0, _extends2.default)({}, componentsProps);
38
- Object.entries(defaultComponentsProps).forEach(([key, currentComponentProps]) => {
39
- mergedProps[key] = (0, _extends2.default)({}, currentComponentProps, componentsProps[key] || {});
32
+ const mergedProps = (0, _extends2.default)({}, slotProps);
33
+ Object.entries(defaultSlotProps).forEach(([key, currentSlotProps]) => {
34
+ mergedProps[key] = (0, _extends2.default)({}, currentSlotProps, slotProps[key] || {});
40
35
  });
41
36
  return mergedProps;
42
- }, [defaultComponentsProps, componentsProps]);
37
+ }, [defaultSlotProps, slotProps]);
43
38
  const defaultItems = apiRef.current.unstable_applyPipeProcessors('columnMenu', [], props.colDef);
44
39
  const userItems = React.useMemo(() => {
45
- const defaultComponentKeys = Object.keys(defaultComponents);
46
- return Object.keys(components).filter(key => !defaultComponentKeys.includes(key));
47
- }, [components, defaultComponents]);
40
+ const defaultComponentKeys = Object.keys(defaultSlots);
41
+ return Object.keys(slots).filter(key => !defaultComponentKeys.includes(key));
42
+ }, [slots, defaultSlots]);
48
43
  return React.useMemo(() => {
49
44
  const uniqueItems = Array.from(new Set([...defaultItems, ...userItems]));
50
45
  const cleansedItems = uniqueItems.filter(key => processedComponents[key] != null);
51
46
  const sorted = cleansedItems.sort((a, b) => {
52
- const leftItemProps = processedComponentsProps[camelize(a)];
53
- const rightItemProps = processedComponentsProps[camelize(b)];
47
+ const leftItemProps = processedSlotProps[a];
48
+ const rightItemProps = processedSlotProps[b];
54
49
  const leftDisplayOrder = Number.isFinite(leftItemProps?.displayOrder) ? leftItemProps.displayOrder : 100;
55
50
  const rightDisplayOrder = Number.isFinite(rightItemProps?.displayOrder) ? rightItemProps.displayOrder : 100;
56
51
  return leftDisplayOrder - rightDisplayOrder;
@@ -60,13 +55,13 @@ const useGridColumnMenuComponents = props => {
60
55
  colDef,
61
56
  onClick: hideMenu
62
57
  };
63
- const processedComponentProps = processedComponentsProps[camelize(key)];
58
+ const processedComponentProps = processedSlotProps[key];
64
59
  if (processedComponentProps) {
65
60
  const customProps = (0, _objectWithoutPropertiesLoose2.default)(processedComponentProps, _excluded);
66
61
  itemProps = (0, _extends2.default)({}, itemProps, customProps);
67
62
  }
68
63
  return addDividers && index !== sorted.length - 1 ? [...acc, [processedComponents[key], itemProps], [_Divider.default, {}]] : [...acc, [processedComponents[key], itemProps]];
69
64
  }, []);
70
- }, [addDividers, colDef, defaultItems, hideMenu, processedComponents, processedComponentsProps, userItems]);
65
+ }, [addDividers, colDef, defaultItems, hideMenu, processedComponents, processedSlotProps, userItems]);
71
66
  };
72
- exports.useGridColumnMenuComponents = useGridColumnMenuComponents;
67
+ exports.useGridColumnMenuSlots = useGridColumnMenuSlots;
@@ -237,7 +237,7 @@ function useGridColumns(apiRef, props) {
237
237
  if (props.disableColumnSelector) {
238
238
  return columnMenuItems;
239
239
  }
240
- return [...columnMenuItems, 'ColumnMenuColumnsItem'];
240
+ return [...columnMenuItems, 'columnMenuColumnsItem'];
241
241
  }, [props.disableColumnSelector]);
242
242
  (0, _pipeProcessing.useGridRegisterPipeProcessor)(apiRef, 'columnMenu', addColumnMenuItems);
243
243
  (0, _pipeProcessing.useGridRegisterPipeProcessor)(apiRef, 'exportState', stateExportPreProcessing);
@@ -67,7 +67,7 @@ const useGridFilter = (apiRef, props) => {
67
67
  if (colDef == null || colDef.filterable === false || props.disableColumnFilter) {
68
68
  return columnMenuItems;
69
69
  }
70
- return [...columnMenuItems, 'ColumnMenuFilterItem'];
70
+ return [...columnMenuItems, 'columnMenuFilterItem'];
71
71
  }, [props.disableColumnFilter]);
72
72
 
73
73
  /**
@@ -4,9 +4,9 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.GridPreferencePanelsValue = void 0;
7
- var GridPreferencePanelsValue;
8
- exports.GridPreferencePanelsValue = GridPreferencePanelsValue;
9
- (function (GridPreferencePanelsValue) {
7
+ var GridPreferencePanelsValue = /*#__PURE__*/function (GridPreferencePanelsValue) {
10
8
  GridPreferencePanelsValue["filters"] = "filters";
11
9
  GridPreferencePanelsValue["columns"] = "columns";
12
- })(GridPreferencePanelsValue || (exports.GridPreferencePanelsValue = GridPreferencePanelsValue = {}));
10
+ return GridPreferencePanelsValue;
11
+ }(GridPreferencePanelsValue || {});
12
+ exports.GridPreferencePanelsValue = GridPreferencePanelsValue;
@@ -80,7 +80,7 @@ const useGridSorting = (apiRef, props) => {
80
80
  }
81
81
  const sortingOrder = colDef.sortingOrder || props.sortingOrder;
82
82
  if (sortingOrder.some(item => !!item)) {
83
- return [...columnMenuItems, 'ColumnMenuSortItem'];
83
+ return [...columnMenuItems, 'columnMenuSortItem'];
84
84
  }
85
85
  return columnMenuItems;
86
86
  }, [props.sortingOrder]);
@@ -436,7 +436,7 @@ const useGridVirtualScroller = props => {
436
436
  prevRootRowStyle.current = rootRowStyle;
437
437
  return rows;
438
438
  };
439
- const needsHorizontalScrollbar = containerDimensions.width && columnsTotalWidth > containerDimensions.width;
439
+ const needsHorizontalScrollbar = containerDimensions.width && columnsTotalWidth >= containerDimensions.width;
440
440
  const contentSize = React.useMemo(() => {
441
441
  // In cases where the columns exceed the available width,
442
442
  // the horizontal scrollbar should be shown even when there're no rows.
@@ -16,12 +16,12 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
16
16
  * Signal to the underlying logic what version of the public component API
17
17
  * of the data grid is exposed.
18
18
  */
19
- var GridSignature;
20
- exports.GridSignature = GridSignature;
21
- (function (GridSignature) {
19
+ var GridSignature = /*#__PURE__*/function (GridSignature) {
22
20
  GridSignature["DataGrid"] = "DataGrid";
23
21
  GridSignature["DataGridPro"] = "DataGridPro";
24
- })(GridSignature || (exports.GridSignature = GridSignature = {}));
22
+ return GridSignature;
23
+ }(GridSignature || {});
24
+ exports.GridSignature = GridSignature;
25
25
  // We use class to make it easier to detect in heap snapshots by name
26
26
  class ObjectToBeRetainedByReact {}
27
27
 
package/node/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @mui/x-data-grid v6.0.2
2
+ * @mui/x-data-grid v6.0.4
3
3
  *
4
4
  * @license MIT
5
5
  * This source code is licensed under the MIT license found in the
@@ -16,19 +16,19 @@ var _exportNames = {
16
16
  useGridRootProps: true,
17
17
  GridColumnHeaders: true,
18
18
  GridColumnMenu: true,
19
- GRID_COLUMN_MENU_COMPONENTS: true,
20
- GRID_COLUMN_MENU_COMPONENTS_PROPS: true
19
+ GRID_COLUMN_MENU_SLOTS: true,
20
+ GRID_COLUMN_MENU_SLOT_PROPS: true
21
21
  };
22
- Object.defineProperty(exports, "GRID_COLUMN_MENU_COMPONENTS", {
22
+ Object.defineProperty(exports, "GRID_COLUMN_MENU_SLOTS", {
23
23
  enumerable: true,
24
24
  get: function () {
25
- return _reexportable.GRID_COLUMN_MENU_COMPONENTS;
25
+ return _reexportable.GRID_COLUMN_MENU_SLOTS;
26
26
  }
27
27
  });
28
- Object.defineProperty(exports, "GRID_COLUMN_MENU_COMPONENTS_PROPS", {
28
+ Object.defineProperty(exports, "GRID_COLUMN_MENU_SLOT_PROPS", {
29
29
  enumerable: true,
30
30
  get: function () {
31
- return _reexportable.GRID_COLUMN_MENU_COMPONENTS_PROPS;
31
+ return _reexportable.GRID_COLUMN_MENU_SLOT_PROPS;
32
32
  }
33
33
  });
34
34
  Object.defineProperty(exports, "GridColumnHeaders", {
@@ -26,17 +26,15 @@ const bgBGGrid = {
26
26
  toolbarFiltersTooltipShow: 'Покажи Филтрите',
27
27
  toolbarFiltersTooltipActive: count => `${count} активни филтри`,
28
28
  // Quick filter toolbar field
29
- // toolbarQuickFilterPlaceholder: 'Search…',
30
- // toolbarQuickFilterLabel: 'Search',
31
- // toolbarQuickFilterDeleteIconLabel: 'Clear',
32
-
29
+ toolbarQuickFilterPlaceholder: 'Търси…',
30
+ toolbarQuickFilterLabel: 'Търсене',
31
+ toolbarQuickFilterDeleteIconLabel: 'Изчисти',
33
32
  // Export selector toolbar button text
34
33
  toolbarExport: 'Изтегли',
35
34
  toolbarExportLabel: 'Изтегли',
36
35
  toolbarExportCSV: 'Изтегли като CSV',
37
36
  toolbarExportPrint: 'Принтиране',
38
- // toolbarExportExcel: 'Download as Excel',
39
-
37
+ toolbarExportExcel: 'Изтегли като Excel',
40
38
  // Columns panel text
41
39
  columnsPanelTextFieldLabel: 'Намери колона',
42
40
  columnsPanelTextFieldPlaceholder: 'Заглавие на колона',
@@ -45,9 +43,9 @@ const bgBGGrid = {
45
43
  columnsPanelHideAllButton: 'Скрий Всички',
46
44
  // Filter panel text
47
45
  filterPanelAddFilter: 'Добави Филтър',
48
- // filterPanelRemoveAll: 'Remove all',
46
+ filterPanelRemoveAll: 'Премахни всички',
49
47
  filterPanelDeleteIconLabel: 'Изтрий',
50
- // filterPanelLogicOperator: 'Logic operator',
48
+ filterPanelLogicOperator: 'Логически оператор',
51
49
  filterPanelOperator: 'Оператори',
52
50
  filterPanelOperatorAnd: 'И',
53
51
  filterPanelOperatorOr: 'Или',
@@ -75,7 +73,7 @@ const bgBGGrid = {
75
73
  // Column menu text
76
74
  columnMenuLabel: 'Меню',
77
75
  columnMenuShowColumns: 'Покажи колоните',
78
- // columnMenuManageColumns: 'Manage columns',
76
+ columnMenuManageColumns: 'Управление на колони',
79
77
  columnMenuFilter: 'Филтри',
80
78
  columnMenuHideColumn: 'Скрий',
81
79
  columnMenuUnsort: 'Отмени сортирането',
@@ -117,10 +115,9 @@ const bgBGGrid = {
117
115
  // Master/detail
118
116
  // detailPanelToggle: 'Detail panel toggle',
119
117
  expandDetailPanel: 'Разгъване',
120
- collapseDetailPanel: 'Свиване'
121
-
118
+ collapseDetailPanel: 'Свиване',
122
119
  // Row reordering text
123
- // rowReorderingHeaderName: 'Row reordering',
120
+ rowReorderingHeaderName: 'Подредба на редове'
124
121
 
125
122
  // Aggregation
126
123
  // aggregationMenuItemHeader: 'Aggregation',