@mui/x-data-grid-premium 5.17.15 → 5.17.17

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.
package/CHANGELOG.md CHANGED
@@ -3,6 +3,55 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## 5.17.17
7
+
8
+ _Dec 23, 2022_
9
+
10
+ We'd like to offer a big thanks to the 4 contributors who made this release possible. Here are some highlights ✨:
11
+
12
+ - 🌍 Improve Russian (ru-RU) and Korean (ko-KR) locales
13
+ - 🐞 Bugfixes
14
+
15
+ ### `@mui/x-data-grid@5.17.17` / `@mui/x-data-grid-pro@5.17.17` / `@mui/x-data-grid-premium@5.17.17`
16
+
17
+ #### Changes
18
+
19
+ - [DataGrid] Update Russian (ru-RU) locale (#7291) @VeceluXa
20
+ - [DataGridPro] Use row ID as `key` of the detail panels (#7311) @m4theushw
21
+ - [DataGridPremium] Fix `exceljs` import with parcel (#7285) @alexfauquette
22
+
23
+ ### `@mui/x-date-pickers@5.0.12` / `@mui/x-date-pickers-pro@5.0.12`
24
+
25
+ #### Changes
26
+
27
+ - [pickers] Improve Korean (ko-KR) locale (#7283) @hanbin9775
28
+
29
+ ## 5.17.16
30
+
31
+ _Dec 16, 2022_
32
+
33
+ We'd like to offer a big thanks to the 4 contributors who made this release possible. Here are some highlights ✨:
34
+
35
+ - 🐞 Bugfixes
36
+
37
+ ### `@mui/x-data-grid@v5.17.16` / `@mui/x-data-grid-pro@v5.17.16` / `@mui/x-data-grid-premium@v5.17.16`
38
+
39
+ #### Changes
40
+
41
+ - [DataGrid] Display sort column menu items as per `sortingOrder` prop (#7125) @hanbin9775
42
+ - [DataGrid] Fix flickering on mount (#7155) @cherniavskii
43
+ - [DataGridPremium] Use separate cache for aggregation columns pre-processor (#7174) @m4theushw
44
+
45
+ ### `@mui/x-date-pickers@v5.0.11` / `@mui/x-date-pickers-pro@v5.0.11`
46
+
47
+ #### Changes
48
+
49
+ - [DateTimePicker] Update export pattern (#7172) @kealjones-wk
50
+
51
+ ### Docs
52
+
53
+ - [docs] Document aggregation selectors (#7151) @cherniavskii
54
+
6
55
  ## 5.17.15
7
56
 
8
57
  _Dec 8, 2022_
@@ -1,4 +1,13 @@
1
1
  import { GridStatePremium } from '../../../models/gridStatePremium';
2
2
  export declare const gridAggregationStateSelector: (state: GridStatePremium) => import("./gridAggregationInterfaces").GridAggregationState;
3
+ /**
4
+ * Get the aggregation model, containing the aggregation function of each column.
5
+ * If a column is not in the model, it is not aggregated.
6
+ * @category Aggregation
7
+ */
3
8
  export declare const gridAggregationModelSelector: import("@mui/x-data-grid").OutputSelector<GridStatePremium, import("./gridAggregationInterfaces").GridAggregationModel>;
9
+ /**
10
+ * Get the aggregation results as a lookup.
11
+ * @category Aggregation
12
+ */
4
13
  export declare const gridAggregationLookupSelector: import("@mui/x-data-grid").OutputSelector<GridStatePremium, import("./gridAggregationInterfaces").GridAggregationLookup>;
@@ -1,4 +1,15 @@
1
1
  import { createSelector } from '@mui/x-data-grid-pro/internals';
2
2
  export const gridAggregationStateSelector = state => state.aggregation;
3
+ /**
4
+ * Get the aggregation model, containing the aggregation function of each column.
5
+ * If a column is not in the model, it is not aggregated.
6
+ * @category Aggregation
7
+ */
8
+
3
9
  export const gridAggregationModelSelector = createSelector(gridAggregationStateSelector, aggregationState => aggregationState.model);
10
+ /**
11
+ * Get the aggregation results as a lookup.
12
+ * @category Aggregation
13
+ */
14
+
4
15
  export const gridAggregationLookupSelector = createSelector(gridAggregationStateSelector, aggregationState => aggregationState.lookup);
@@ -14,10 +14,10 @@ const Divider = () => /*#__PURE__*/_jsx(MuiDivider, {
14
14
  });
15
15
 
16
16
  export const useGridAggregationPreProcessors = (apiRef, props) => {
17
+ // apiRef.current.caches.aggregation.rulesOnLastColumnHydration is not used because by the time
18
+ // that the pre-processor is called it will already have been updated with the current rules.
19
+ const rulesOnLastColumnHydration = React.useRef({});
17
20
  const updateAggregatedColumns = React.useCallback(columnsState => {
18
- const {
19
- rulesOnLastColumnHydration
20
- } = apiRef.current.unstable_caches.aggregation;
21
21
  const aggregationRules = props.disableAggregation ? {} : getAggregationRules({
22
22
  columnsLookup: columnsState.lookup,
23
23
  aggregationModel: gridAggregationModelSelector(apiRef),
@@ -25,7 +25,7 @@ export const useGridAggregationPreProcessors = (apiRef, props) => {
25
25
  });
26
26
  columnsState.all.forEach(field => {
27
27
  const shouldHaveAggregationValue = !!aggregationRules[field];
28
- const haveAggregationColumnValue = !!rulesOnLastColumnHydration[field];
28
+ const haveAggregationColumnValue = !!rulesOnLastColumnHydration.current[field];
29
29
  let column = columnsState.lookup[field];
30
30
 
31
31
  if (haveAggregationColumnValue) {
@@ -44,6 +44,7 @@ export const useGridAggregationPreProcessors = (apiRef, props) => {
44
44
 
45
45
  columnsState.lookup[field] = column;
46
46
  });
47
+ rulesOnLastColumnHydration.current = aggregationRules;
47
48
  return columnsState;
48
49
  }, [apiRef, props.aggregationFunctions, props.disableAggregation]);
49
50
  const addGroupFooterRows = React.useCallback(groupingParams => {
@@ -3,10 +3,10 @@ import { GRID_DATE_COL_DEF, GRID_DATETIME_COL_DEF } from '@mui/x-data-grid-pro';
3
3
  import { buildWarning } from '@mui/x-data-grid/internals';
4
4
 
5
5
  const getExcelJs = async () => {
6
- const {
7
- default: excelJsDefault
8
- } = await import('exceljs');
9
- return excelJsDefault;
6
+ var _excelJsModule$defaul;
7
+
8
+ const excelJsModule = await import('exceljs');
9
+ return (_excelJsModule$defaul = excelJsModule.default) != null ? _excelJsModule$defaul : excelJsModule;
10
10
  };
11
11
 
12
12
  const warnInvalidFormattedValue = buildWarning(['MUI: When the value of a field is an object or a `renderCell` is provided, the Excel export might not display the value correctly.', 'You can provide a `valueFormatter` with a string representation to be used.']);
package/index.js CHANGED
@@ -1,4 +1,4 @@
1
- /** @license MUI v5.17.15
1
+ /** @license MUI v5.17.17
2
2
  *
3
3
  * This source code is licensed under the MIT license found in the
4
4
  * LICENSE file in the root directory of this source tree.
@@ -2,9 +2,20 @@ import { createSelector } from '@mui/x-data-grid-pro/internals';
2
2
  export var gridAggregationStateSelector = function gridAggregationStateSelector(state) {
3
3
  return state.aggregation;
4
4
  };
5
+ /**
6
+ * Get the aggregation model, containing the aggregation function of each column.
7
+ * If a column is not in the model, it is not aggregated.
8
+ * @category Aggregation
9
+ */
10
+
5
11
  export var gridAggregationModelSelector = createSelector(gridAggregationStateSelector, function (aggregationState) {
6
12
  return aggregationState.model;
7
13
  });
14
+ /**
15
+ * Get the aggregation results as a lookup.
16
+ * @category Aggregation
17
+ */
18
+
8
19
  export var gridAggregationLookupSelector = createSelector(gridAggregationStateSelector, function (aggregationState) {
9
20
  return aggregationState.lookup;
10
21
  });
@@ -19,8 +19,10 @@ var Divider = function Divider() {
19
19
  };
20
20
 
21
21
  export var useGridAggregationPreProcessors = function useGridAggregationPreProcessors(apiRef, props) {
22
+ // apiRef.current.caches.aggregation.rulesOnLastColumnHydration is not used because by the time
23
+ // that the pre-processor is called it will already have been updated with the current rules.
24
+ var rulesOnLastColumnHydration = React.useRef({});
22
25
  var updateAggregatedColumns = React.useCallback(function (columnsState) {
23
- var rulesOnLastColumnHydration = apiRef.current.unstable_caches.aggregation.rulesOnLastColumnHydration;
24
26
  var aggregationRules = props.disableAggregation ? {} : getAggregationRules({
25
27
  columnsLookup: columnsState.lookup,
26
28
  aggregationModel: gridAggregationModelSelector(apiRef),
@@ -28,7 +30,7 @@ export var useGridAggregationPreProcessors = function useGridAggregationPreProce
28
30
  });
29
31
  columnsState.all.forEach(function (field) {
30
32
  var shouldHaveAggregationValue = !!aggregationRules[field];
31
- var haveAggregationColumnValue = !!rulesOnLastColumnHydration[field];
33
+ var haveAggregationColumnValue = !!rulesOnLastColumnHydration.current[field];
32
34
  var column = columnsState.lookup[field];
33
35
 
34
36
  if (haveAggregationColumnValue) {
@@ -47,6 +49,7 @@ export var useGridAggregationPreProcessors = function useGridAggregationPreProce
47
49
 
48
50
  columnsState.lookup[field] = column;
49
51
  });
52
+ rulesOnLastColumnHydration.current = aggregationRules;
50
53
  return columnsState;
51
54
  }, [apiRef, props.aggregationFunctions, props.disableAggregation]);
52
55
  var addGroupFooterRows = React.useCallback(function (groupingParams) {
@@ -12,8 +12,9 @@ import { buildWarning } from '@mui/x-data-grid/internals';
12
12
 
13
13
  var getExcelJs = /*#__PURE__*/function () {
14
14
  var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
15
- var _yield$import, excelJsDefault;
15
+ var _excelJsModule$defaul;
16
16
 
17
+ var excelJsModule;
17
18
  return _regeneratorRuntime.wrap(function _callee$(_context) {
18
19
  while (1) {
19
20
  switch (_context.prev = _context.next) {
@@ -22,11 +23,10 @@ var getExcelJs = /*#__PURE__*/function () {
22
23
  return import('exceljs');
23
24
 
24
25
  case 2:
25
- _yield$import = _context.sent;
26
- excelJsDefault = _yield$import.default;
27
- return _context.abrupt("return", excelJsDefault);
26
+ excelJsModule = _context.sent;
27
+ return _context.abrupt("return", (_excelJsModule$defaul = excelJsModule.default) != null ? _excelJsModule$defaul : excelJsModule);
28
28
 
29
- case 5:
29
+ case 4:
30
30
  case "end":
31
31
  return _context.stop();
32
32
  }
package/legacy/index.js CHANGED
@@ -1,4 +1,4 @@
1
- /** @license MUI v5.17.15
1
+ /** @license MUI v5.17.17
2
2
  *
3
3
  * This source code is licensed under the MIT license found in the
4
4
  * LICENSE file in the root directory of this source tree.
@@ -1,6 +1,6 @@
1
1
  import { ponyfillGlobal } from '@mui/utils';
2
2
  export var getReleaseInfo = function getReleaseInfo() {
3
- var releaseInfo = "MTY3MDQ1NDAwMDAwMA==";
3
+ var releaseInfo = "MTY3MTgzMjgwMDAwMA==";
4
4
 
5
5
  if (process.env.NODE_ENV !== 'production') {
6
6
  // A simple hack to set the value in the test environment (has no build step).
@@ -1,4 +1,15 @@
1
1
  import { createSelector } from '@mui/x-data-grid-pro/internals';
2
2
  export const gridAggregationStateSelector = state => state.aggregation;
3
+ /**
4
+ * Get the aggregation model, containing the aggregation function of each column.
5
+ * If a column is not in the model, it is not aggregated.
6
+ * @category Aggregation
7
+ */
8
+
3
9
  export const gridAggregationModelSelector = createSelector(gridAggregationStateSelector, aggregationState => aggregationState.model);
10
+ /**
11
+ * Get the aggregation results as a lookup.
12
+ * @category Aggregation
13
+ */
14
+
4
15
  export const gridAggregationLookupSelector = createSelector(gridAggregationStateSelector, aggregationState => aggregationState.lookup);
@@ -14,10 +14,10 @@ const Divider = () => /*#__PURE__*/_jsx(MuiDivider, {
14
14
  });
15
15
 
16
16
  export const useGridAggregationPreProcessors = (apiRef, props) => {
17
+ // apiRef.current.caches.aggregation.rulesOnLastColumnHydration is not used because by the time
18
+ // that the pre-processor is called it will already have been updated with the current rules.
19
+ const rulesOnLastColumnHydration = React.useRef({});
17
20
  const updateAggregatedColumns = React.useCallback(columnsState => {
18
- const {
19
- rulesOnLastColumnHydration
20
- } = apiRef.current.unstable_caches.aggregation;
21
21
  const aggregationRules = props.disableAggregation ? {} : getAggregationRules({
22
22
  columnsLookup: columnsState.lookup,
23
23
  aggregationModel: gridAggregationModelSelector(apiRef),
@@ -25,7 +25,7 @@ export const useGridAggregationPreProcessors = (apiRef, props) => {
25
25
  });
26
26
  columnsState.all.forEach(field => {
27
27
  const shouldHaveAggregationValue = !!aggregationRules[field];
28
- const haveAggregationColumnValue = !!rulesOnLastColumnHydration[field];
28
+ const haveAggregationColumnValue = !!rulesOnLastColumnHydration.current[field];
29
29
  let column = columnsState.lookup[field];
30
30
 
31
31
  if (haveAggregationColumnValue) {
@@ -44,6 +44,7 @@ export const useGridAggregationPreProcessors = (apiRef, props) => {
44
44
 
45
45
  columnsState.lookup[field] = column;
46
46
  });
47
+ rulesOnLastColumnHydration.current = aggregationRules;
47
48
  return columnsState;
48
49
  }, [apiRef, props.aggregationFunctions, props.disableAggregation]);
49
50
  const addGroupFooterRows = React.useCallback(groupingParams => {
@@ -3,10 +3,8 @@ import { GRID_DATE_COL_DEF, GRID_DATETIME_COL_DEF } from '@mui/x-data-grid-pro';
3
3
  import { buildWarning } from '@mui/x-data-grid/internals';
4
4
 
5
5
  const getExcelJs = async () => {
6
- const {
7
- default: excelJsDefault
8
- } = await import('exceljs');
9
- return excelJsDefault;
6
+ const excelJsModule = await import('exceljs');
7
+ return excelJsModule.default ?? excelJsModule;
10
8
  };
11
9
 
12
10
  const warnInvalidFormattedValue = buildWarning(['MUI: When the value of a field is an object or a `renderCell` is provided, the Excel export might not display the value correctly.', 'You can provide a `valueFormatter` with a string representation to be used.']);
package/modern/index.js CHANGED
@@ -1,4 +1,4 @@
1
- /** @license MUI v5.17.15
1
+ /** @license MUI v5.17.17
2
2
  *
3
3
  * This source code is licensed under the MIT license found in the
4
4
  * LICENSE file in the root directory of this source tree.
@@ -1,6 +1,6 @@
1
1
  import { ponyfillGlobal } from '@mui/utils';
2
2
  export const getReleaseInfo = () => {
3
- const releaseInfo = "MTY3MDQ1NDAwMDAwMA==";
3
+ const releaseInfo = "MTY3MTgzMjgwMDAwMA==";
4
4
 
5
5
  if (process.env.NODE_ENV !== 'production') {
6
6
  // A simple hack to set the value in the test environment (has no build step).
@@ -8,9 +8,20 @@ exports.gridAggregationStateSelector = exports.gridAggregationModelSelector = ex
8
8
  var _internals = require("@mui/x-data-grid-pro/internals");
9
9
 
10
10
  const gridAggregationStateSelector = state => state.aggregation;
11
+ /**
12
+ * Get the aggregation model, containing the aggregation function of each column.
13
+ * If a column is not in the model, it is not aggregated.
14
+ * @category Aggregation
15
+ */
16
+
11
17
 
12
18
  exports.gridAggregationStateSelector = gridAggregationStateSelector;
13
19
  const gridAggregationModelSelector = (0, _internals.createSelector)(gridAggregationStateSelector, aggregationState => aggregationState.model);
20
+ /**
21
+ * Get the aggregation results as a lookup.
22
+ * @category Aggregation
23
+ */
24
+
14
25
  exports.gridAggregationModelSelector = gridAggregationModelSelector;
15
26
  const gridAggregationLookupSelector = (0, _internals.createSelector)(gridAggregationStateSelector, aggregationState => aggregationState.lookup);
16
27
  exports.gridAggregationLookupSelector = gridAggregationLookupSelector;
@@ -36,10 +36,10 @@ const Divider = () => /*#__PURE__*/(0, _jsxRuntime.jsx)(_Divider.default, {
36
36
  });
37
37
 
38
38
  const useGridAggregationPreProcessors = (apiRef, props) => {
39
+ // apiRef.current.caches.aggregation.rulesOnLastColumnHydration is not used because by the time
40
+ // that the pre-processor is called it will already have been updated with the current rules.
41
+ const rulesOnLastColumnHydration = React.useRef({});
39
42
  const updateAggregatedColumns = React.useCallback(columnsState => {
40
- const {
41
- rulesOnLastColumnHydration
42
- } = apiRef.current.unstable_caches.aggregation;
43
43
  const aggregationRules = props.disableAggregation ? {} : (0, _gridAggregationUtils.getAggregationRules)({
44
44
  columnsLookup: columnsState.lookup,
45
45
  aggregationModel: (0, _gridAggregationSelectors.gridAggregationModelSelector)(apiRef),
@@ -47,7 +47,7 @@ const useGridAggregationPreProcessors = (apiRef, props) => {
47
47
  });
48
48
  columnsState.all.forEach(field => {
49
49
  const shouldHaveAggregationValue = !!aggregationRules[field];
50
- const haveAggregationColumnValue = !!rulesOnLastColumnHydration[field];
50
+ const haveAggregationColumnValue = !!rulesOnLastColumnHydration.current[field];
51
51
  let column = columnsState.lookup[field];
52
52
 
53
53
  if (haveAggregationColumnValue) {
@@ -66,6 +66,7 @@ const useGridAggregationPreProcessors = (apiRef, props) => {
66
66
 
67
67
  columnsState.lookup[field] = column;
68
68
  });
69
+ rulesOnLastColumnHydration.current = aggregationRules;
69
70
  return columnsState;
70
71
  }, [apiRef, props.aggregationFunctions, props.disableAggregation]);
71
72
  const addGroupFooterRows = React.useCallback(groupingParams => {
@@ -18,10 +18,10 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
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
19
 
20
20
  const getExcelJs = async () => {
21
- const {
22
- default: excelJsDefault
23
- } = await Promise.resolve().then(() => _interopRequireWildcard(require('exceljs')));
24
- return excelJsDefault;
21
+ var _excelJsModule$defaul;
22
+
23
+ const excelJsModule = await Promise.resolve().then(() => _interopRequireWildcard(require('exceljs')));
24
+ return (_excelJsModule$defaul = excelJsModule.default) != null ? _excelJsModule$defaul : excelJsModule;
25
25
  };
26
26
 
27
27
  const warnInvalidFormattedValue = (0, _internals.buildWarning)(['MUI: When the value of a field is an object or a `renderCell` is provided, the Excel export might not display the value correctly.', 'You can provide a `valueFormatter` with a string representation to be used.']);
package/node/index.js CHANGED
@@ -1,4 +1,4 @@
1
- /** @license MUI v5.17.15
1
+ /** @license MUI v5.17.17
2
2
  *
3
3
  * This source code is licensed under the MIT license found in the
4
4
  * LICENSE file in the root directory of this source tree.
@@ -8,7 +8,7 @@ exports.getReleaseInfo = void 0;
8
8
  var _utils = require("@mui/utils");
9
9
 
10
10
  const getReleaseInfo = () => {
11
- const releaseInfo = "MTY3MDQ1NDAwMDAwMA==";
11
+ const releaseInfo = "MTY3MTgzMjgwMDAwMA==";
12
12
 
13
13
  if (process.env.NODE_ENV !== 'production') {
14
14
  // A simple hack to set the value in the test environment (has no build step).
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mui/x-data-grid-premium",
3
- "version": "5.17.15",
3
+ "version": "5.17.17",
4
4
  "description": "The Premium plan edition of the data grid component (MUI X).",
5
5
  "author": "MUI Team",
6
6
  "main": "./node/index.js",
@@ -33,8 +33,8 @@
33
33
  "dependencies": {
34
34
  "@babel/runtime": "^7.18.9",
35
35
  "@mui/utils": "^5.10.3",
36
- "@mui/x-data-grid": "5.17.14",
37
- "@mui/x-data-grid-pro": "5.17.15",
36
+ "@mui/x-data-grid": "5.17.17",
37
+ "@mui/x-data-grid-pro": "5.17.17",
38
38
  "@mui/x-license-pro": "5.17.12",
39
39
  "@types/format-util": "^1.0.2",
40
40
  "clsx": "^1.2.1",
@@ -1,6 +1,6 @@
1
1
  import { ponyfillGlobal } from '@mui/utils';
2
2
  export const getReleaseInfo = () => {
3
- const releaseInfo = "MTY3MDQ1NDAwMDAwMA==";
3
+ const releaseInfo = "MTY3MTgzMjgwMDAwMA==";
4
4
 
5
5
  if (process.env.NODE_ENV !== 'production') {
6
6
  // A simple hack to set the value in the test environment (has no build step).