@mui/x-data-grid-premium 8.3.1 → 8.5.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 (86) hide show
  1. package/CHANGELOG.md +213 -0
  2. package/DataGridPremium/DataGridPremium.js +13 -3
  3. package/DataGridPremium/useDataGridPremiumProps.js +2 -2
  4. package/components/GridAggregationRowOverlay.js +2 -1
  5. package/components/GridColumnMenuAggregationItem.js +2 -2
  6. package/components/GridColumnMenuRowGroupItem.js +1 -0
  7. package/components/GridDataSourceGroupingCriteriaCell.js +2 -2
  8. package/components/GridEmptyPivotOverlay.js +1 -0
  9. package/components/GridPremiumColumnMenu.js +2 -1
  10. package/components/GridPremiumToolbar.js +1 -0
  11. package/components/aiAssistantPanel/AiAssistantPanelTrigger.js +1 -0
  12. package/components/aiAssistantPanel/GridAiAssistantPanel.js +2 -2
  13. package/components/aiAssistantPanel/GridAiAssistantPanelConversation.js +2 -2
  14. package/components/aiAssistantPanel/GridAiAssistantPanelSuggestions.js +3 -2
  15. package/components/collapsible/Collapsible.js +2 -2
  16. package/components/collapsible/CollapsibleContext.js +1 -0
  17. package/components/collapsible/CollapsiblePanel.js +2 -2
  18. package/components/collapsible/CollapsibleTrigger.js +2 -2
  19. package/components/export/ExportExcel.js +1 -0
  20. package/components/pivotPanel/GridPivotPanelHeader.js +2 -2
  21. package/components/pivotPanel/GridPivotPanelSearch.js +2 -2
  22. package/components/pivotPanel/PivotPanelTrigger.js +1 -0
  23. package/components/prompt/GridPrompt.js +4 -3
  24. package/components/promptField/PromptField.js +1 -0
  25. package/components/promptField/PromptFieldContext.js +1 -0
  26. package/components/promptField/PromptFieldControl.js +1 -0
  27. package/components/promptField/PromptFieldRecord.js +1 -0
  28. package/components/promptField/PromptFieldSend.js +1 -0
  29. package/components/resizablePanel/ResizablePanel.js +2 -2
  30. package/components/resizablePanel/ResizablePanelContext.js +1 -0
  31. package/components/resizablePanel/ResizablePanelHandle.js +2 -2
  32. package/components/sidebar/Sidebar.js +2 -2
  33. package/components/sidebar/SidebarHeader.js +2 -2
  34. package/esm/DataGridPremium/DataGridPremium.js +13 -3
  35. package/esm/DataGridPremium/useDataGridPremiumProps.js +2 -2
  36. package/esm/components/GridAggregationRowOverlay.js +1 -0
  37. package/esm/components/GridColumnMenuAggregationItem.js +1 -1
  38. package/esm/components/GridColumnMenuRowGroupItem.js +1 -0
  39. package/esm/components/GridDataSourceGroupingCriteriaCell.js +1 -1
  40. package/esm/components/GridEmptyPivotOverlay.js +1 -0
  41. package/esm/components/GridPremiumColumnMenu.js +2 -1
  42. package/esm/components/GridPremiumToolbar.js +1 -0
  43. package/esm/components/aiAssistantPanel/AiAssistantPanelTrigger.js +1 -0
  44. package/esm/components/aiAssistantPanel/GridAiAssistantPanel.js +1 -1
  45. package/esm/components/aiAssistantPanel/GridAiAssistantPanelConversation.js +1 -1
  46. package/esm/components/aiAssistantPanel/GridAiAssistantPanelSuggestions.js +1 -1
  47. package/esm/components/collapsible/Collapsible.js +1 -1
  48. package/esm/components/collapsible/CollapsibleContext.js +1 -0
  49. package/esm/components/collapsible/CollapsiblePanel.js +1 -1
  50. package/esm/components/collapsible/CollapsibleTrigger.js +1 -1
  51. package/esm/components/export/ExportExcel.js +1 -0
  52. package/esm/components/pivotPanel/GridPivotPanelHeader.js +1 -1
  53. package/esm/components/pivotPanel/GridPivotPanelSearch.js +1 -1
  54. package/esm/components/pivotPanel/PivotPanelTrigger.js +1 -0
  55. package/esm/components/prompt/GridPrompt.js +2 -1
  56. package/esm/components/promptField/PromptField.js +1 -0
  57. package/esm/components/promptField/PromptFieldContext.js +1 -0
  58. package/esm/components/promptField/PromptFieldControl.js +1 -0
  59. package/esm/components/promptField/PromptFieldRecord.js +1 -0
  60. package/esm/components/promptField/PromptFieldSend.js +1 -0
  61. package/esm/components/resizablePanel/ResizablePanel.js +1 -1
  62. package/esm/components/resizablePanel/ResizablePanelContext.js +1 -0
  63. package/esm/components/resizablePanel/ResizablePanelHandle.js +1 -1
  64. package/esm/components/sidebar/Sidebar.js +1 -1
  65. package/esm/components/sidebar/SidebarHeader.js +1 -1
  66. package/esm/hooks/features/aggregation/gridAggregationUtils.js +1 -1
  67. package/esm/hooks/features/aggregation/wrapColumnWithAggregation.js +1 -0
  68. package/esm/hooks/features/cellSelection/useGridCellSelection.js +3 -2
  69. package/esm/hooks/features/clipboard/useGridClipboardImport.d.ts +1 -1
  70. package/esm/hooks/features/clipboard/useGridClipboardImport.js +5 -4
  71. package/esm/hooks/features/rowGrouping/createGroupingColDef.js +1 -0
  72. package/esm/index.js +1 -1
  73. package/esm/models/dataGridPremiumProps.d.ts +3 -2
  74. package/esm/models/index.d.ts +1 -0
  75. package/esm/models/index.js +1 -0
  76. package/hooks/features/aggregation/gridAggregationUtils.js +2 -2
  77. package/hooks/features/aggregation/wrapColumnWithAggregation.js +1 -0
  78. package/hooks/features/cellSelection/useGridCellSelection.js +3 -2
  79. package/hooks/features/clipboard/useGridClipboardImport.d.ts +1 -1
  80. package/hooks/features/clipboard/useGridClipboardImport.js +6 -5
  81. package/hooks/features/rowGrouping/createGroupingColDef.js +1 -0
  82. package/index.js +1 -1
  83. package/models/dataGridPremiumProps.d.ts +3 -2
  84. package/models/index.d.ts +1 -0
  85. package/models/index.js +11 -0
  86. package/package.json +5 -5
@@ -467,7 +467,7 @@ const useGridCellSelection = (apiRef, props) => {
467
467
  const sortedSelectedRowIds = sortedRowIds.filter(id => unsortedSelectedRowIds.includes(`${id}`));
468
468
  const copyData = sortedSelectedRowIds.reduce((acc, rowId) => {
469
469
  const fieldsMap = cellSelectionModel[rowId];
470
- const rowString = Object.keys(fieldsMap).reduce((acc2, field) => {
470
+ const rowValues = Object.keys(fieldsMap).map(field => {
471
471
  let cellData;
472
472
  if (fieldsMap[field]) {
473
473
  const cellParams = apiRef.current.getCellParams(rowId, field);
@@ -482,8 +482,9 @@ const useGridCellSelection = (apiRef, props) => {
482
482
  } else {
483
483
  cellData = '';
484
484
  }
485
- return acc2 === '' ? cellData : [acc2, cellData].join(clipboardCopyCellDelimiter);
485
+ return cellData;
486
486
  }, '');
487
+ const rowString = rowValues.join(clipboardCopyCellDelimiter);
487
488
  return acc === '' ? rowString : [acc, rowString].join('\r\n');
488
489
  }, '');
489
490
  return copyData;
@@ -1,4 +1,4 @@
1
1
  import { RefObject } from '@mui/x-internals/types';
2
2
  import { GridPrivateApiPremium } from "../../../models/gridApiPremium.js";
3
3
  import type { DataGridPremiumProcessedProps } from "../../../models/dataGridPremiumProps.js";
4
- export declare const useGridClipboardImport: (apiRef: RefObject<GridPrivateApiPremium>, props: Pick<DataGridPremiumProcessedProps, "pagination" | "paginationMode" | "processRowUpdate" | "onProcessRowUpdateError" | "getRowId" | "onClipboardPasteStart" | "onClipboardPasteEnd" | "splitClipboardPastedText" | "disableClipboardPaste" | "onBeforeClipboardPasteStart">) => void;
4
+ export declare const useGridClipboardImport: (apiRef: RefObject<GridPrivateApiPremium>, props: Pick<DataGridPremiumProcessedProps, "pagination" | "paginationMode" | "processRowUpdate" | "onProcessRowUpdateError" | "getRowId" | "onClipboardPasteStart" | "onClipboardPasteEnd" | "splitClipboardPastedText" | "disableClipboardPaste" | "onBeforeClipboardPasteStart" | "clipboardCopyCellDelimiter">) => void;
@@ -12,13 +12,13 @@ var _xDataGrid = require("@mui/x-data-grid");
12
12
  var _internals = require("@mui/x-data-grid/internals");
13
13
  var _warning = require("@mui/x-internals/warning");
14
14
  var _xDataGridPro = require("@mui/x-data-grid-pro");
15
- var _utils = require("@mui/utils");
15
+ var _debounce = _interopRequireDefault(require("@mui/utils/debounce"));
16
16
  const columnFieldsToExcludeFromPaste = [_xDataGrid.GRID_CHECKBOX_SELECTION_FIELD, _xDataGridPro.GRID_REORDER_COL_DEF.field, _xDataGridPro.GRID_DETAIL_PANEL_TOGGLE_FIELD];
17
17
 
18
18
  // Batches rows that are updated during clipboard paste to reduce `updateRows` calls
19
19
  function batchRowUpdates(func, wait) {
20
20
  let rows = [];
21
- const debounced = (0, _utils.unstable_debounce)(() => {
21
+ const debounced = (0, _debounce.default)(() => {
22
22
  func(rows);
23
23
  rows = [];
24
24
  }, wait);
@@ -264,8 +264,9 @@ const useGridClipboardImport = (apiRef, props) => {
264
264
  const getRowId = props.getRowId;
265
265
  const enableClipboardPaste = !props.disableClipboardPaste;
266
266
  const logger = (0, _internals.useGridLogger)(apiRef, 'useGridClipboardImport');
267
- const splitClipboardPastedText = props.splitClipboardPastedText;
268
267
  const {
268
+ clipboardCopyCellDelimiter,
269
+ splitClipboardPastedText,
269
270
  pagination,
270
271
  paginationMode,
271
272
  onBeforeClipboardPasteStart
@@ -293,7 +294,7 @@ const useGridClipboardImport = (apiRef, props) => {
293
294
  if (!text) {
294
295
  return;
295
296
  }
296
- const pastedData = splitClipboardPastedText(text);
297
+ const pastedData = splitClipboardPastedText(text, clipboardCopyCellDelimiter);
297
298
  if (!pastedData) {
298
299
  return;
299
300
  }
@@ -326,7 +327,7 @@ const useGridClipboardImport = (apiRef, props) => {
326
327
  paginationMode
327
328
  });
328
329
  cellUpdater.applyUpdates();
329
- }, [apiRef, processRowUpdate, onProcessRowUpdateError, getRowId, enableClipboardPaste, splitClipboardPastedText, pagination, paginationMode, onBeforeClipboardPasteStart, logger]);
330
+ }, [apiRef, processRowUpdate, onProcessRowUpdateError, getRowId, enableClipboardPaste, splitClipboardPastedText, clipboardCopyCellDelimiter, pagination, paginationMode, onBeforeClipboardPasteStart, logger]);
330
331
  const checkIfCanStartEditing = React.useCallback((initialValue, {
331
332
  event
332
333
  }) => {
@@ -264,6 +264,7 @@ const createGroupingColDefForAllGroupingCriteria = ({
264
264
  // Then we apply the sorting / filtering on the leaves based on the properties of `leavesColDef`
265
265
  //
266
266
  // By default, we apply the sorting / filtering on the groups of the top level grouping criteria based on the properties of `columnsLookup[orderedGroupedByFields[0]]`.
267
+ if (process.env.NODE_ENV !== "production") commonProperties.renderCell.displayName = "commonProperties.renderCell";
267
268
  let sourceProperties;
268
269
  if (mainGroupingCriteria && rowGroupingModel.includes(mainGroupingCriteria)) {
269
270
  sourceProperties = getGroupingCriteriaProperties(columnsLookup[mainGroupingCriteria], true);
package/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @mui/x-data-grid-premium v8.3.1
2
+ * @mui/x-data-grid-premium v8.5.0
3
3
  *
4
4
  * @license MUI X Commercial
5
5
  * This source code is licensed under the commercial license found in the
@@ -78,10 +78,11 @@ export interface DataGridPremiumPropsWithDefaultValue<R extends GridValidRowMode
78
78
  /**
79
79
  * The function is used to split the pasted text into rows and cells.
80
80
  * @param {string} text The text pasted from the clipboard.
81
+ * @param {string} delimiter The delimiter used to split the text. Default is the tab character and can be set with the `clipboardCopyCellDelimiter` prop.
81
82
  * @returns {string[][] | null} A 2D array of strings. The first dimension is the rows, the second dimension is the columns.
82
- * @default (pastedText) => { const text = pastedText.replace(/\r?\n$/, ''); return text.split(/\r\n|\n|\r/).map((row) => row.split('\t')); }
83
+ * @default (pastedText, delimiter = '\t') => { const text = pastedText.replace(/\r?\n$/, ''); return text.split(/\r\n|\n|\r/).map((row) => row.split(delimiter)); }
83
84
  */
84
- splitClipboardPastedText: (text: string) => string[][] | null;
85
+ splitClipboardPastedText: (text: string, delimiter: string) => string[][] | null;
85
86
  /**
86
87
  * If `true`, the pivoting feature is disabled.
87
88
  * @default false
package/models/index.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ export * from "./gridApiPremium.js";
1
2
  export * from "./gridGroupingValueGetter.js";
2
3
  export * from "./gridPremiumIconSlotsComponent.js";
3
4
  export * from "./gridPremiumSlotsComponent.js";
package/models/index.js CHANGED
@@ -3,6 +3,17 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
+ var _gridApiPremium = require("./gridApiPremium");
7
+ Object.keys(_gridApiPremium).forEach(function (key) {
8
+ if (key === "default" || key === "__esModule") return;
9
+ if (key in exports && exports[key] === _gridApiPremium[key]) return;
10
+ Object.defineProperty(exports, key, {
11
+ enumerable: true,
12
+ get: function () {
13
+ return _gridApiPremium[key];
14
+ }
15
+ });
16
+ });
6
17
  var _gridGroupingValueGetter = require("./gridGroupingValueGetter");
7
18
  Object.keys(_gridGroupingValueGetter).forEach(function (key) {
8
19
  if (key === "default" || key === "__esModule") return;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mui/x-data-grid-premium",
3
- "version": "8.3.1",
3
+ "version": "8.5.0",
4
4
  "author": "MUI Team",
5
5
  "description": "The Premium plan edition of the MUI X Data Grid Components.",
6
6
  "main": "./index.js",
@@ -42,10 +42,10 @@
42
42
  "exceljs": "^4.4.0",
43
43
  "prop-types": "^15.8.1",
44
44
  "reselect": "^5.1.1",
45
- "@mui/x-data-grid-pro": "8.3.1",
46
- "@mui/x-data-grid": "8.3.1",
47
- "@mui/x-internals": "8.3.1",
48
- "@mui/x-license": "8.3.1"
45
+ "@mui/x-data-grid": "8.5.0",
46
+ "@mui/x-data-grid-pro": "8.5.0",
47
+ "@mui/x-license": "8.5.0",
48
+ "@mui/x-internals": "8.5.0"
49
49
  },
50
50
  "peerDependencies": {
51
51
  "@emotion/react": "^11.9.0",