@mui/x-data-grid-premium 6.10.1 → 6.11.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.
- package/CHANGELOG.md +156 -0
- package/DataGridPremium/DataGridPremium.d.ts +1 -1
- package/DataGridPremium/DataGridPremium.js +2 -1
- package/components/GridGroupingColumnFooterCell.js +8 -11
- package/components/GridGroupingColumnLeafCell.js +1 -2
- package/components/GridGroupingCriteriaCell.js +1 -2
- package/hooks/features/aggregation/gridAggregationUtils.js +6 -2
- package/index.js +1 -1
- package/legacy/DataGridPremium/DataGridPremium.js +2 -1
- package/legacy/components/GridGroupingColumnFooterCell.js +10 -9
- package/legacy/components/GridGroupingColumnLeafCell.js +3 -2
- package/legacy/components/GridGroupingCriteriaCell.js +3 -2
- package/legacy/hooks/features/aggregation/gridAggregationUtils.js +5 -2
- package/legacy/index.js +1 -1
- package/legacy/utils/releaseInfo.js +1 -1
- package/modern/DataGridPremium/DataGridPremium.js +2 -1
- package/modern/components/GridGroupingColumnFooterCell.js +8 -11
- package/modern/components/GridGroupingColumnLeafCell.js +1 -2
- package/modern/components/GridGroupingCriteriaCell.js +1 -2
- package/modern/hooks/features/aggregation/gridAggregationUtils.js +6 -2
- package/modern/index.js +1 -1
- package/modern/utils/releaseInfo.js +1 -1
- package/node/DataGridPremium/DataGridPremium.js +2 -1
- package/node/components/GridGroupingColumnFooterCell.js +8 -11
- package/node/components/GridGroupingColumnLeafCell.js +1 -2
- package/node/components/GridGroupingCriteriaCell.js +1 -2
- package/node/hooks/features/aggregation/gridAggregationUtils.js +12 -8
- package/node/index.js +1 -1
- package/node/utils/releaseInfo.js +1 -1
- package/package.json +5 -5
- package/utils/releaseInfo.js +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,162 @@
|
|
|
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
|
+
## 6.11.0
|
|
7
|
+
|
|
8
|
+
_Aug 4, 2023_
|
|
9
|
+
|
|
10
|
+
We'd like to offer a big thanks to the 12 contributors who made this release possible. Here are some highlights ✨:
|
|
11
|
+
|
|
12
|
+
- ⌚️ Move the tree view component from `@mui/lab` package
|
|
13
|
+
|
|
14
|
+
The `<TreeView />` component has been moved to the MUI X repository.
|
|
15
|
+
It is now accessible from its own package: `@mui/x-tree-view`.
|
|
16
|
+
|
|
17
|
+
- 🌍 Improve Hebrew (he-IL), Finnish (fi-FI), and Italian (it-IT) locales on the data grid
|
|
18
|
+
- 🐞 Bugfixes
|
|
19
|
+
- 📚 Documentation improvements
|
|
20
|
+
|
|
21
|
+
### Data Grid
|
|
22
|
+
|
|
23
|
+
#### `@mui/x-data-grid@v6.11.0`
|
|
24
|
+
|
|
25
|
+
- [DataGrid] Add `ariaV7` experimental flag (#9496) @cherniavskii
|
|
26
|
+
- [DataGrid] Fix cell size when column width is set to `undefined` (#9871) @gitstart
|
|
27
|
+
- [l10n] Improve Hebrew (he-IL) locale (#9820) @itayG98
|
|
28
|
+
- [l10n] Improve Finnish (fi-FI) locale (#9848) @sambbaahh
|
|
29
|
+
- [l10n] Improve Italian (it-IT) locale (#9627) @fabio-rizzello-omnia
|
|
30
|
+
|
|
31
|
+
#### `@mui/x-data-grid-pro@v6.11.0` [](https://mui.com/r/x-pro-svg-link)
|
|
32
|
+
|
|
33
|
+
Same changes as in `@mui/x-data-grid@v6.11.0`.
|
|
34
|
+
|
|
35
|
+
#### `@mui/x-data-grid-premium@v6.11.0` [](https://mui.com/r/x-premium-svg-link)
|
|
36
|
+
|
|
37
|
+
Same changes as in `@mui/x-data-grid-pro@v6.11.0`.
|
|
38
|
+
|
|
39
|
+
### Date Pickers
|
|
40
|
+
|
|
41
|
+
#### `@mui/x-date-pickers@v6.11.0`
|
|
42
|
+
|
|
43
|
+
- [fields] Correctly handle events with a complete value insertion (#9896) @LukasTy
|
|
44
|
+
- [fields] Fix hours editing on dayjs with timezone and DST (#9901) @flaviendelangle
|
|
45
|
+
- [fields] Fix section clearing with timezone (#9819) @flaviendelangle
|
|
46
|
+
- [pickers] Add `CalendarHeader` slot (#7784) @flaviendelangle
|
|
47
|
+
- [pickers] Allow to override the `InputProps` of the `TextField` using the `slotProps` (#9849) @flaviendelangle
|
|
48
|
+
- [pickers] Allow to override the opening aria text using the `localeText` prop on the pickers (#9870) @flaviendelangle
|
|
49
|
+
- [pickers] Fix `sx` and `className` props on `MobileDateRangePicker` (#9853) @flaviendelangle
|
|
50
|
+
- [pickers] Fix default descriptions (#9887) @LukasTy
|
|
51
|
+
- [pickers] Fix offset management on dayjs adapter (#9884) @flaviendelangle
|
|
52
|
+
- [pickers] Use device motion reduction preference (#9823) @LukasTy
|
|
53
|
+
|
|
54
|
+
#### `@mui/x-date-pickers-pro@v6.11.0` [](https://mui.com/r/x-pro-svg-link)
|
|
55
|
+
|
|
56
|
+
Same changes as in `@mui/x-date-pickers@v6.11.0`.
|
|
57
|
+
|
|
58
|
+
### Charts / `@mui/x-charts@v6.0.0-alpha.6`
|
|
59
|
+
|
|
60
|
+
- [charts] Add TS definition to the exported elements (#9885) @alexfauquette
|
|
61
|
+
- [charts] Add sparkline (#9662) @alexfauquette
|
|
62
|
+
- [charts] Fix missing configuration types (#9886) @alexfauquette
|
|
63
|
+
- [charts] Introduce dataset to simplify plot of data from API (#9774) @alexfauquette
|
|
64
|
+
|
|
65
|
+
### Tree View / `@mui/x-tree-view@v6.0.0-alpha.0`
|
|
66
|
+
|
|
67
|
+
- [TreeView] Add missing exported types (#9862) @flaviendelangle
|
|
68
|
+
- [TreeView] Add tree view to changelog generator script (#9903) @MBilalShafi
|
|
69
|
+
- [TreeView] Create the package on the X repository (#9798) @flaviendelangle
|
|
70
|
+
- [TreeView] Improve props typing (#9855) @flaviendelangle
|
|
71
|
+
|
|
72
|
+
### Docs
|
|
73
|
+
|
|
74
|
+
- [docs] Add Tree View doc (#9825) @flaviendelangle
|
|
75
|
+
- [docs] Add charts nav item (#9821) @LukasTy
|
|
76
|
+
- [docs] Add charts to MUI X introduction pages (#9704) @joserodolfofreitas
|
|
77
|
+
- [docs] Add example for avoiding picker views layout shift (#9781) @noraleonte
|
|
78
|
+
- [docs] Consistency of Next.js App Router @oliviertassinari
|
|
79
|
+
- [docs] Fix API page regression: bring back slots section (#9866) @alexfauquette
|
|
80
|
+
- [docs] Fix demo using Pro while it's MIT (#9842) @oliviertassinari
|
|
81
|
+
- [docs] Get ready for next docs-infra change @oliviertassinari
|
|
82
|
+
- [docs] Improve the slots documentation `Recommended usage` section (#9892) @flaviendelangle
|
|
83
|
+
|
|
84
|
+
### Core
|
|
85
|
+
|
|
86
|
+
- [core] Fix font loading issue dev-mode (#9843) @oliviertassinari
|
|
87
|
+
- [core] Fix pipeline (#9894) @LukasTy
|
|
88
|
+
- [core] Fix the link-check script on Windows (#9888) @alexfauquette
|
|
89
|
+
- [core] Fix v7 capitalization (#9878) @oliviertassinari
|
|
90
|
+
- [core] Regen doc (#9902) @flaviendelangle
|
|
91
|
+
- [core] Remove benchmark package (#9413) @LukasTy
|
|
92
|
+
- [core] Stop using the deprecated `JSX` global namespace (#9854) @flaviendelangle
|
|
93
|
+
- [core] Update monorepo (#9846) @flaviendelangle
|
|
94
|
+
- [core] Update tree data API docs (#9827) @cherniavskii
|
|
95
|
+
- [test] Add pickers e2e tests (#9747) @LukasTy
|
|
96
|
+
- [test] Data grid e2e tests follow-up (#9822) @cherniavskii
|
|
97
|
+
|
|
98
|
+
## 6.10.2
|
|
99
|
+
|
|
100
|
+
_Jul 27, 2023_
|
|
101
|
+
|
|
102
|
+
We'd like to offer a big thanks to the 13 contributors who made this release possible. Here are some highlights ✨:
|
|
103
|
+
|
|
104
|
+
- 🚀 Improve scatter charts performance
|
|
105
|
+
- 📚 Redesigned component API documentation and side navigation
|
|
106
|
+
- 🐞 Bugfixes
|
|
107
|
+
|
|
108
|
+
### Data Grid
|
|
109
|
+
|
|
110
|
+
#### `@mui/x-data-grid@v6.10.2`
|
|
111
|
+
|
|
112
|
+
- [DataGrid] Fix quick filter & aggregation error (#9729) @romgrk
|
|
113
|
+
- [DataGrid] Fix row click propagation causing error in nested grid (#9741) @cherniavskii
|
|
114
|
+
- [DataGrid] Keep focused cell in the DOM (#7357) @yaredtsy
|
|
115
|
+
- [l10n] Improve Finnish (fi-FI) locale (#9746) @sambbaahh
|
|
116
|
+
|
|
117
|
+
#### `@mui/x-data-grid-pro@v6.10.2` [](https://mui.com/r/x-pro-svg-link)
|
|
118
|
+
|
|
119
|
+
Same changes as in `@mui/x-data-grid@v6.10.2`.
|
|
120
|
+
|
|
121
|
+
#### `@mui/x-data-grid-premium@v6.10.2` [](https://mui.com/r/x-premium-svg-link)
|
|
122
|
+
|
|
123
|
+
Same changes as in `@mui/x-data-grid-pro@v6.10.2`, plus:
|
|
124
|
+
|
|
125
|
+
- [DataGridPremium] Allow to customize grouping cell offset (#9417) @cherniavskii
|
|
126
|
+
|
|
127
|
+
### Date Pickers
|
|
128
|
+
|
|
129
|
+
#### `@mui/x-date-pickers@v6.10.2`
|
|
130
|
+
|
|
131
|
+
- [pickers] Remove the `endOfDate` from `DigitalClock` timeOptions (#9800) @noraleonte
|
|
132
|
+
|
|
133
|
+
#### `@mui/x-date-pickers-pro@v6.10.2` [](https://mui.com/r/x-pro-svg-link)
|
|
134
|
+
|
|
135
|
+
Same changes as in `@mui/x-date-pickers@v6.10.2`.
|
|
136
|
+
|
|
137
|
+
### Charts / `@mui/x-charts@v6.0.0-alpha.5`
|
|
138
|
+
|
|
139
|
+
- [charts] Improve JSDoc for axis-related props (#9779) @flaviendelangle
|
|
140
|
+
- [charts] Improve performances of Scatter component (#9527) @flaviendelangle
|
|
141
|
+
|
|
142
|
+
### Docs
|
|
143
|
+
|
|
144
|
+
- [docs] Add `pnpm` in more places @oliviertassinari
|
|
145
|
+
- [docs] Add `pnpm` installation instructions for MUI X (#9707) @richbustos
|
|
146
|
+
- [docs] Align pickers "uncontrolled vs controlled" sections (#9772) @LukasTy
|
|
147
|
+
- [docs] Apply style guide to the data grid Layout page (#9673) @richbustos
|
|
148
|
+
- [docs] Differentiate between packages in `slotProps` docs (#9668) @cherniavskii
|
|
149
|
+
- [docs] Fix charts width in axis pages (#9801) @alexfauquette
|
|
150
|
+
- [docs] Fix wrong prop name in the Editing page (#9753) @m4theushw
|
|
151
|
+
- [docs] New component API page and side nav design (#9187) @alexfauquette
|
|
152
|
+
- [docs] Update overview page with up to date information about the plans (#9512) @joserodolfofreitas
|
|
153
|
+
|
|
154
|
+
### Core
|
|
155
|
+
|
|
156
|
+
- [core] Use PR charts version in preview (#9787) @alexfauquette
|
|
157
|
+
- [license] Allow overriding the license on specific parts of the page (#9717) @Janpot
|
|
158
|
+
- [license] Throw in dev mode after 30 days (#9701) @oliviertassinari
|
|
159
|
+
- [license] Only throw in dev mode (#9803) @oliviertassinari
|
|
160
|
+
- [test] Fail the CI when new unexpected files are created (#9728) @oliviertassinari
|
|
161
|
+
|
|
6
162
|
## 6.10.1
|
|
7
163
|
|
|
8
164
|
_Jul 20, 2023_
|
|
@@ -2,7 +2,7 @@ import * as React from 'react';
|
|
|
2
2
|
import { GridValidRowModel } from '@mui/x-data-grid-pro';
|
|
3
3
|
import { DataGridPremiumProps } from '../models/dataGridPremiumProps';
|
|
4
4
|
interface DataGridPremiumComponent {
|
|
5
|
-
<R extends GridValidRowModel = any>(props: DataGridPremiumProps<R> & React.RefAttributes<HTMLDivElement>): JSX.Element;
|
|
5
|
+
<R extends GridValidRowModel = any>(props: DataGridPremiumProps<R> & React.RefAttributes<HTMLDivElement>): React.JSX.Element;
|
|
6
6
|
propTypes?: any;
|
|
7
7
|
}
|
|
8
8
|
export declare const DataGridPremium: DataGridPremiumComponent;
|
|
@@ -258,6 +258,7 @@ process.env.NODE_ENV !== "production" ? DataGridPremiumRaw.propTypes = {
|
|
|
258
258
|
* For each feature, if the flag is not explicitly set to `true`, then the feature is fully disabled, and neither property nor method calls will have any effect.
|
|
259
259
|
*/
|
|
260
260
|
experimentalFeatures: PropTypes.shape({
|
|
261
|
+
ariaV7: PropTypes.bool,
|
|
261
262
|
clipboardPaste: PropTypes.bool,
|
|
262
263
|
columnGrouping: PropTypes.bool,
|
|
263
264
|
lazyLoading: PropTypes.bool,
|
|
@@ -310,7 +311,7 @@ process.env.NODE_ENV !== "production" ? DataGridPremiumRaw.propTypes = {
|
|
|
310
311
|
/**
|
|
311
312
|
* Function that returns the element to render in row detail.
|
|
312
313
|
* @param {GridRowParams} params With all properties from [[GridRowParams]].
|
|
313
|
-
* @returns {JSX.Element} The row detail element.
|
|
314
|
+
* @returns {React.JSX.Element} The row detail element.
|
|
314
315
|
*/
|
|
315
316
|
getDetailPanelContent: PropTypes.func,
|
|
316
317
|
/**
|
|
@@ -4,22 +4,19 @@ import { useGridRootProps } from '../hooks/utils/useGridRootProps';
|
|
|
4
4
|
import { GridFooterCell } from './GridFooterCell';
|
|
5
5
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
6
6
|
function GridGroupingColumnFooterCell(props) {
|
|
7
|
-
const {
|
|
8
|
-
rowNode
|
|
9
|
-
} = props;
|
|
10
7
|
const rootProps = useGridRootProps();
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
8
|
+
const sx = {
|
|
9
|
+
ml: 0
|
|
10
|
+
};
|
|
11
|
+
if (props.rowNode.parent == null) {
|
|
12
|
+
sx.ml = 0;
|
|
14
13
|
} else if (rootProps.rowGroupingColumnMode === 'multiple') {
|
|
15
|
-
|
|
14
|
+
sx.ml = 2;
|
|
16
15
|
} else {
|
|
17
|
-
|
|
16
|
+
sx.ml = theme => `calc(var(--DataGrid-cellOffsetMultiplier) * ${theme.spacing(props.rowNode.depth)})`;
|
|
18
17
|
}
|
|
19
18
|
return /*#__PURE__*/_jsx(GridFooterCell, _extends({
|
|
20
|
-
sx:
|
|
21
|
-
ml: marginLeft
|
|
22
|
-
}
|
|
19
|
+
sx: sx
|
|
23
20
|
}, props));
|
|
24
21
|
}
|
|
25
22
|
export { GridGroupingColumnFooterCell };
|
|
@@ -8,10 +8,9 @@ function GridGroupingColumnLeafCell(props) {
|
|
|
8
8
|
rowNode
|
|
9
9
|
} = props;
|
|
10
10
|
const rootProps = useGridRootProps();
|
|
11
|
-
const marginLeft = rootProps.rowGroupingColumnMode === 'multiple' ? 1 : rowNode.depth * 2;
|
|
12
11
|
return /*#__PURE__*/_jsx(Box, {
|
|
13
12
|
sx: {
|
|
14
|
-
ml:
|
|
13
|
+
ml: rootProps.rowGroupingColumnMode === 'multiple' ? 1 : theme => `calc(var(--DataGrid-cellOffsetMultiplier) * ${theme.spacing(rowNode.depth)})`
|
|
15
14
|
},
|
|
16
15
|
children: (_props$formattedValue = props.formattedValue) != null ? _props$formattedValue : props.value
|
|
17
16
|
});
|
|
@@ -48,7 +48,6 @@ export function GridGroupingCriteriaCell(props) {
|
|
|
48
48
|
apiRef.current.setCellFocus(id, field);
|
|
49
49
|
event.stopPropagation();
|
|
50
50
|
};
|
|
51
|
-
const marginLeft = rootProps.rowGroupingColumnMode === 'multiple' ? 0 : rowNode.depth * 2;
|
|
52
51
|
let cellContent;
|
|
53
52
|
const colDef = apiRef.current.getColumn(rowNode.groupingField);
|
|
54
53
|
if (typeof colDef.renderCell === 'function') {
|
|
@@ -65,7 +64,7 @@ export function GridGroupingCriteriaCell(props) {
|
|
|
65
64
|
return /*#__PURE__*/_jsxs(Box, {
|
|
66
65
|
className: classes.root,
|
|
67
66
|
sx: {
|
|
68
|
-
ml:
|
|
67
|
+
ml: rootProps.rowGroupingColumnMode === 'multiple' ? 0 : theme => `calc(var(--DataGrid-cellOffsetMultiplier) * ${theme.spacing(rowNode.depth)})`
|
|
69
68
|
},
|
|
70
69
|
children: [/*#__PURE__*/_jsx("div", {
|
|
71
70
|
className: classes.toggle,
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
2
|
import { unstable_capitalize as capitalize } from '@mui/utils';
|
|
3
|
+
import { GRID_ID_AUTOGENERATED } from '@mui/x-data-grid/internals';
|
|
3
4
|
import { GRID_ROOT_GROUP_ID } from '@mui/x-data-grid-pro';
|
|
4
5
|
import { addPinnedRow, isDeepEqual, insertNodeInTree, removeNodeFromTree } from '@mui/x-data-grid-pro/internals';
|
|
5
6
|
export const GRID_AGGREGATION_ROOT_FOOTER_ROW_ID = 'auto-generated-group-footer-root';
|
|
@@ -108,10 +109,13 @@ export const addFooterRows = ({
|
|
|
108
109
|
const updateRootGroupFooter = groupNode => {
|
|
109
110
|
const shouldHaveFooter = hasAggregationRule && getAggregationPosition(groupNode) === 'footer';
|
|
110
111
|
if (shouldHaveFooter) {
|
|
112
|
+
const rowId = getAggregationFooterRowIdFromGroupId(null);
|
|
111
113
|
newGroupingParams = addPinnedRow({
|
|
112
114
|
groupingParams: newGroupingParams,
|
|
113
|
-
rowModel:
|
|
114
|
-
|
|
115
|
+
rowModel: {
|
|
116
|
+
[GRID_ID_AUTOGENERATED]: rowId
|
|
117
|
+
},
|
|
118
|
+
rowId,
|
|
115
119
|
position: 'bottom',
|
|
116
120
|
apiRef,
|
|
117
121
|
isAutoGenerated: true
|
package/index.js
CHANGED
|
@@ -258,6 +258,7 @@ process.env.NODE_ENV !== "production" ? DataGridPremiumRaw.propTypes = {
|
|
|
258
258
|
* For each feature, if the flag is not explicitly set to `true`, then the feature is fully disabled, and neither property nor method calls will have any effect.
|
|
259
259
|
*/
|
|
260
260
|
experimentalFeatures: PropTypes.shape({
|
|
261
|
+
ariaV7: PropTypes.bool,
|
|
261
262
|
clipboardPaste: PropTypes.bool,
|
|
262
263
|
columnGrouping: PropTypes.bool,
|
|
263
264
|
lazyLoading: PropTypes.bool,
|
|
@@ -310,7 +311,7 @@ process.env.NODE_ENV !== "production" ? DataGridPremiumRaw.propTypes = {
|
|
|
310
311
|
/**
|
|
311
312
|
* Function that returns the element to render in row detail.
|
|
312
313
|
* @param {GridRowParams} params With all properties from [[GridRowParams]].
|
|
313
|
-
* @returns {JSX.Element} The row detail element.
|
|
314
|
+
* @returns {React.JSX.Element} The row detail element.
|
|
314
315
|
*/
|
|
315
316
|
getDetailPanelContent: PropTypes.func,
|
|
316
317
|
/**
|
|
@@ -4,20 +4,21 @@ import { useGridRootProps } from '../hooks/utils/useGridRootProps';
|
|
|
4
4
|
import { GridFooterCell } from './GridFooterCell';
|
|
5
5
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
6
6
|
function GridGroupingColumnFooterCell(props) {
|
|
7
|
-
var rowNode = props.rowNode;
|
|
8
7
|
var rootProps = useGridRootProps();
|
|
9
|
-
var
|
|
10
|
-
|
|
11
|
-
|
|
8
|
+
var sx = {
|
|
9
|
+
ml: 0
|
|
10
|
+
};
|
|
11
|
+
if (props.rowNode.parent == null) {
|
|
12
|
+
sx.ml = 0;
|
|
12
13
|
} else if (rootProps.rowGroupingColumnMode === 'multiple') {
|
|
13
|
-
|
|
14
|
+
sx.ml = 2;
|
|
14
15
|
} else {
|
|
15
|
-
|
|
16
|
+
sx.ml = function (theme) {
|
|
17
|
+
return "calc(var(--DataGrid-cellOffsetMultiplier) * ".concat(theme.spacing(props.rowNode.depth), ")");
|
|
18
|
+
};
|
|
16
19
|
}
|
|
17
20
|
return /*#__PURE__*/_jsx(GridFooterCell, _extends({
|
|
18
|
-
sx:
|
|
19
|
-
ml: marginLeft
|
|
20
|
-
}
|
|
21
|
+
sx: sx
|
|
21
22
|
}, props));
|
|
22
23
|
}
|
|
23
24
|
export { GridGroupingColumnFooterCell };
|
|
@@ -6,10 +6,11 @@ function GridGroupingColumnLeafCell(props) {
|
|
|
6
6
|
var _props$formattedValue;
|
|
7
7
|
var rowNode = props.rowNode;
|
|
8
8
|
var rootProps = useGridRootProps();
|
|
9
|
-
var marginLeft = rootProps.rowGroupingColumnMode === 'multiple' ? 1 : rowNode.depth * 2;
|
|
10
9
|
return /*#__PURE__*/_jsx(Box, {
|
|
11
10
|
sx: {
|
|
12
|
-
ml:
|
|
11
|
+
ml: rootProps.rowGroupingColumnMode === 'multiple' ? 1 : function (theme) {
|
|
12
|
+
return "calc(var(--DataGrid-cellOffsetMultiplier) * ".concat(theme.spacing(rowNode.depth), ")");
|
|
13
|
+
}
|
|
13
14
|
},
|
|
14
15
|
children: (_props$formattedValue = props.formattedValue) != null ? _props$formattedValue : props.value
|
|
15
16
|
});
|
|
@@ -44,7 +44,6 @@ export function GridGroupingCriteriaCell(props) {
|
|
|
44
44
|
apiRef.current.setCellFocus(id, field);
|
|
45
45
|
event.stopPropagation();
|
|
46
46
|
};
|
|
47
|
-
var marginLeft = rootProps.rowGroupingColumnMode === 'multiple' ? 0 : rowNode.depth * 2;
|
|
48
47
|
var cellContent;
|
|
49
48
|
var colDef = apiRef.current.getColumn(rowNode.groupingField);
|
|
50
49
|
if (typeof colDef.renderCell === 'function') {
|
|
@@ -61,7 +60,9 @@ export function GridGroupingCriteriaCell(props) {
|
|
|
61
60
|
return /*#__PURE__*/_jsxs(Box, {
|
|
62
61
|
className: classes.root,
|
|
63
62
|
sx: {
|
|
64
|
-
ml:
|
|
63
|
+
ml: rootProps.rowGroupingColumnMode === 'multiple' ? 0 : function (theme) {
|
|
64
|
+
return "calc(var(--DataGrid-cellOffsetMultiplier) * ".concat(theme.spacing(rowNode.depth), ")");
|
|
65
|
+
}
|
|
65
66
|
},
|
|
66
67
|
children: [/*#__PURE__*/_jsx("div", {
|
|
67
68
|
className: classes.toggle,
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
+
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
1
2
|
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
|
2
3
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
3
4
|
import { unstable_capitalize as capitalize } from '@mui/utils';
|
|
5
|
+
import { GRID_ID_AUTOGENERATED } from '@mui/x-data-grid/internals';
|
|
4
6
|
import { GRID_ROOT_GROUP_ID } from '@mui/x-data-grid-pro';
|
|
5
7
|
import { addPinnedRow, isDeepEqual, insertNodeInTree, removeNodeFromTree } from '@mui/x-data-grid-pro/internals';
|
|
6
8
|
export var GRID_AGGREGATION_ROOT_FOOTER_ROW_ID = 'auto-generated-group-footer-root';
|
|
@@ -116,10 +118,11 @@ export var addFooterRows = function addFooterRows(_ref6) {
|
|
|
116
118
|
var updateRootGroupFooter = function updateRootGroupFooter(groupNode) {
|
|
117
119
|
var shouldHaveFooter = hasAggregationRule && getAggregationPosition(groupNode) === 'footer';
|
|
118
120
|
if (shouldHaveFooter) {
|
|
121
|
+
var rowId = getAggregationFooterRowIdFromGroupId(null);
|
|
119
122
|
newGroupingParams = addPinnedRow({
|
|
120
123
|
groupingParams: newGroupingParams,
|
|
121
|
-
rowModel:
|
|
122
|
-
rowId:
|
|
124
|
+
rowModel: _defineProperty({}, GRID_ID_AUTOGENERATED, rowId),
|
|
125
|
+
rowId: rowId,
|
|
123
126
|
position: 'bottom',
|
|
124
127
|
apiRef: apiRef,
|
|
125
128
|
isAutoGenerated: true
|
package/legacy/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ponyfillGlobal } from '@mui/utils';
|
|
2
2
|
export var getReleaseInfo = function getReleaseInfo() {
|
|
3
|
-
var releaseInfo = "
|
|
3
|
+
var releaseInfo = "MTY5MTA4OTIwMDAwMA==";
|
|
4
4
|
if (process.env.NODE_ENV !== 'production') {
|
|
5
5
|
// A simple hack to set the value in the test environment (has no build step).
|
|
6
6
|
// eslint-disable-next-line no-useless-concat
|
|
@@ -258,6 +258,7 @@ process.env.NODE_ENV !== "production" ? DataGridPremiumRaw.propTypes = {
|
|
|
258
258
|
* For each feature, if the flag is not explicitly set to `true`, then the feature is fully disabled, and neither property nor method calls will have any effect.
|
|
259
259
|
*/
|
|
260
260
|
experimentalFeatures: PropTypes.shape({
|
|
261
|
+
ariaV7: PropTypes.bool,
|
|
261
262
|
clipboardPaste: PropTypes.bool,
|
|
262
263
|
columnGrouping: PropTypes.bool,
|
|
263
264
|
lazyLoading: PropTypes.bool,
|
|
@@ -310,7 +311,7 @@ process.env.NODE_ENV !== "production" ? DataGridPremiumRaw.propTypes = {
|
|
|
310
311
|
/**
|
|
311
312
|
* Function that returns the element to render in row detail.
|
|
312
313
|
* @param {GridRowParams} params With all properties from [[GridRowParams]].
|
|
313
|
-
* @returns {JSX.Element} The row detail element.
|
|
314
|
+
* @returns {React.JSX.Element} The row detail element.
|
|
314
315
|
*/
|
|
315
316
|
getDetailPanelContent: PropTypes.func,
|
|
316
317
|
/**
|
|
@@ -4,22 +4,19 @@ import { useGridRootProps } from '../hooks/utils/useGridRootProps';
|
|
|
4
4
|
import { GridFooterCell } from './GridFooterCell';
|
|
5
5
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
6
6
|
function GridGroupingColumnFooterCell(props) {
|
|
7
|
-
const {
|
|
8
|
-
rowNode
|
|
9
|
-
} = props;
|
|
10
7
|
const rootProps = useGridRootProps();
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
8
|
+
const sx = {
|
|
9
|
+
ml: 0
|
|
10
|
+
};
|
|
11
|
+
if (props.rowNode.parent == null) {
|
|
12
|
+
sx.ml = 0;
|
|
14
13
|
} else if (rootProps.rowGroupingColumnMode === 'multiple') {
|
|
15
|
-
|
|
14
|
+
sx.ml = 2;
|
|
16
15
|
} else {
|
|
17
|
-
|
|
16
|
+
sx.ml = theme => `calc(var(--DataGrid-cellOffsetMultiplier) * ${theme.spacing(props.rowNode.depth)})`;
|
|
18
17
|
}
|
|
19
18
|
return /*#__PURE__*/_jsx(GridFooterCell, _extends({
|
|
20
|
-
sx:
|
|
21
|
-
ml: marginLeft
|
|
22
|
-
}
|
|
19
|
+
sx: sx
|
|
23
20
|
}, props));
|
|
24
21
|
}
|
|
25
22
|
export { GridGroupingColumnFooterCell };
|
|
@@ -7,10 +7,9 @@ function GridGroupingColumnLeafCell(props) {
|
|
|
7
7
|
rowNode
|
|
8
8
|
} = props;
|
|
9
9
|
const rootProps = useGridRootProps();
|
|
10
|
-
const marginLeft = rootProps.rowGroupingColumnMode === 'multiple' ? 1 : rowNode.depth * 2;
|
|
11
10
|
return /*#__PURE__*/_jsx(Box, {
|
|
12
11
|
sx: {
|
|
13
|
-
ml:
|
|
12
|
+
ml: rootProps.rowGroupingColumnMode === 'multiple' ? 1 : theme => `calc(var(--DataGrid-cellOffsetMultiplier) * ${theme.spacing(rowNode.depth)})`
|
|
14
13
|
},
|
|
15
14
|
children: props.formattedValue ?? props.value
|
|
16
15
|
});
|
|
@@ -47,7 +47,6 @@ export function GridGroupingCriteriaCell(props) {
|
|
|
47
47
|
apiRef.current.setCellFocus(id, field);
|
|
48
48
|
event.stopPropagation();
|
|
49
49
|
};
|
|
50
|
-
const marginLeft = rootProps.rowGroupingColumnMode === 'multiple' ? 0 : rowNode.depth * 2;
|
|
51
50
|
let cellContent;
|
|
52
51
|
const colDef = apiRef.current.getColumn(rowNode.groupingField);
|
|
53
52
|
if (typeof colDef.renderCell === 'function') {
|
|
@@ -64,7 +63,7 @@ export function GridGroupingCriteriaCell(props) {
|
|
|
64
63
|
return /*#__PURE__*/_jsxs(Box, {
|
|
65
64
|
className: classes.root,
|
|
66
65
|
sx: {
|
|
67
|
-
ml:
|
|
66
|
+
ml: rootProps.rowGroupingColumnMode === 'multiple' ? 0 : theme => `calc(var(--DataGrid-cellOffsetMultiplier) * ${theme.spacing(rowNode.depth)})`
|
|
68
67
|
},
|
|
69
68
|
children: [/*#__PURE__*/_jsx("div", {
|
|
70
69
|
className: classes.toggle,
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
2
|
import { unstable_capitalize as capitalize } from '@mui/utils';
|
|
3
|
+
import { GRID_ID_AUTOGENERATED } from '@mui/x-data-grid/internals';
|
|
3
4
|
import { GRID_ROOT_GROUP_ID } from '@mui/x-data-grid-pro';
|
|
4
5
|
import { addPinnedRow, isDeepEqual, insertNodeInTree, removeNodeFromTree } from '@mui/x-data-grid-pro/internals';
|
|
5
6
|
export const GRID_AGGREGATION_ROOT_FOOTER_ROW_ID = 'auto-generated-group-footer-root';
|
|
@@ -108,10 +109,13 @@ export const addFooterRows = ({
|
|
|
108
109
|
const updateRootGroupFooter = groupNode => {
|
|
109
110
|
const shouldHaveFooter = hasAggregationRule && getAggregationPosition(groupNode) === 'footer';
|
|
110
111
|
if (shouldHaveFooter) {
|
|
112
|
+
const rowId = getAggregationFooterRowIdFromGroupId(null);
|
|
111
113
|
newGroupingParams = addPinnedRow({
|
|
112
114
|
groupingParams: newGroupingParams,
|
|
113
|
-
rowModel:
|
|
114
|
-
|
|
115
|
+
rowModel: {
|
|
116
|
+
[GRID_ID_AUTOGENERATED]: rowId
|
|
117
|
+
},
|
|
118
|
+
rowId,
|
|
115
119
|
position: 'bottom',
|
|
116
120
|
apiRef,
|
|
117
121
|
isAutoGenerated: true
|
package/modern/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ponyfillGlobal } from '@mui/utils';
|
|
2
2
|
export const getReleaseInfo = () => {
|
|
3
|
-
const releaseInfo = "
|
|
3
|
+
const releaseInfo = "MTY5MTA4OTIwMDAwMA==";
|
|
4
4
|
if (process.env.NODE_ENV !== 'production') {
|
|
5
5
|
// A simple hack to set the value in the test environment (has no build step).
|
|
6
6
|
// eslint-disable-next-line no-useless-concat
|
|
@@ -267,6 +267,7 @@ process.env.NODE_ENV !== "production" ? DataGridPremiumRaw.propTypes = {
|
|
|
267
267
|
* For each feature, if the flag is not explicitly set to `true`, then the feature is fully disabled, and neither property nor method calls will have any effect.
|
|
268
268
|
*/
|
|
269
269
|
experimentalFeatures: _propTypes.default.shape({
|
|
270
|
+
ariaV7: _propTypes.default.bool,
|
|
270
271
|
clipboardPaste: _propTypes.default.bool,
|
|
271
272
|
columnGrouping: _propTypes.default.bool,
|
|
272
273
|
lazyLoading: _propTypes.default.bool,
|
|
@@ -319,7 +320,7 @@ process.env.NODE_ENV !== "production" ? DataGridPremiumRaw.propTypes = {
|
|
|
319
320
|
/**
|
|
320
321
|
* Function that returns the element to render in row detail.
|
|
321
322
|
* @param {GridRowParams} params With all properties from [[GridRowParams]].
|
|
322
|
-
* @returns {JSX.Element} The row detail element.
|
|
323
|
+
* @returns {React.JSX.Element} The row detail element.
|
|
323
324
|
*/
|
|
324
325
|
getDetailPanelContent: _propTypes.default.func,
|
|
325
326
|
/**
|
|
@@ -13,21 +13,18 @@ var _jsxRuntime = require("react/jsx-runtime");
|
|
|
13
13
|
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); }
|
|
14
14
|
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; }
|
|
15
15
|
function GridGroupingColumnFooterCell(props) {
|
|
16
|
-
const {
|
|
17
|
-
rowNode
|
|
18
|
-
} = props;
|
|
19
16
|
const rootProps = (0, _useGridRootProps.useGridRootProps)();
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
17
|
+
const sx = {
|
|
18
|
+
ml: 0
|
|
19
|
+
};
|
|
20
|
+
if (props.rowNode.parent == null) {
|
|
21
|
+
sx.ml = 0;
|
|
23
22
|
} else if (rootProps.rowGroupingColumnMode === 'multiple') {
|
|
24
|
-
|
|
23
|
+
sx.ml = 2;
|
|
25
24
|
} else {
|
|
26
|
-
|
|
25
|
+
sx.ml = theme => `calc(var(--DataGrid-cellOffsetMultiplier) * ${theme.spacing(props.rowNode.depth)})`;
|
|
27
26
|
}
|
|
28
27
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_GridFooterCell.GridFooterCell, (0, _extends2.default)({
|
|
29
|
-
sx:
|
|
30
|
-
ml: marginLeft
|
|
31
|
-
}
|
|
28
|
+
sx: sx
|
|
32
29
|
}, props));
|
|
33
30
|
}
|
|
@@ -16,10 +16,9 @@ function GridGroupingColumnLeafCell(props) {
|
|
|
16
16
|
rowNode
|
|
17
17
|
} = props;
|
|
18
18
|
const rootProps = (0, _useGridRootProps.useGridRootProps)();
|
|
19
|
-
const marginLeft = rootProps.rowGroupingColumnMode === 'multiple' ? 1 : rowNode.depth * 2;
|
|
20
19
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {
|
|
21
20
|
sx: {
|
|
22
|
-
ml:
|
|
21
|
+
ml: rootProps.rowGroupingColumnMode === 'multiple' ? 1 : theme => `calc(var(--DataGrid-cellOffsetMultiplier) * ${theme.spacing(rowNode.depth)})`
|
|
23
22
|
},
|
|
24
23
|
children: props.formattedValue ?? props.value
|
|
25
24
|
});
|
|
@@ -55,7 +55,6 @@ function GridGroupingCriteriaCell(props) {
|
|
|
55
55
|
apiRef.current.setCellFocus(id, field);
|
|
56
56
|
event.stopPropagation();
|
|
57
57
|
};
|
|
58
|
-
const marginLeft = rootProps.rowGroupingColumnMode === 'multiple' ? 0 : rowNode.depth * 2;
|
|
59
58
|
let cellContent;
|
|
60
59
|
const colDef = apiRef.current.getColumn(rowNode.groupingField);
|
|
61
60
|
if (typeof colDef.renderCell === 'function') {
|
|
@@ -72,7 +71,7 @@ function GridGroupingCriteriaCell(props) {
|
|
|
72
71
|
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {
|
|
73
72
|
className: classes.root,
|
|
74
73
|
sx: {
|
|
75
|
-
ml:
|
|
74
|
+
ml: rootProps.rowGroupingColumnMode === 'multiple' ? 0 : theme => `calc(var(--DataGrid-cellOffsetMultiplier) * ${theme.spacing(rowNode.depth)})`
|
|
76
75
|
},
|
|
77
76
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
78
77
|
className: classes.toggle,
|
|
@@ -7,8 +7,9 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
exports.mergeStateWithAggregationModel = exports.getAvailableAggregationFunctions = exports.getAggregationRules = exports.getAggregationFunctionLabel = exports.getAggregationFooterRowIdFromGroupId = exports.canColumnHaveAggregationFunction = exports.areAggregationRulesEqual = exports.addFooterRows = exports.GRID_AGGREGATION_ROOT_FOOTER_ROW_ID = void 0;
|
|
8
8
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
9
9
|
var _utils = require("@mui/utils");
|
|
10
|
+
var _internals = require("@mui/x-data-grid/internals");
|
|
10
11
|
var _xDataGridPro = require("@mui/x-data-grid-pro");
|
|
11
|
-
var
|
|
12
|
+
var _internals2 = require("@mui/x-data-grid-pro/internals");
|
|
12
13
|
const GRID_AGGREGATION_ROOT_FOOTER_ROW_ID = 'auto-generated-group-footer-root';
|
|
13
14
|
exports.GRID_AGGREGATION_ROOT_FOOTER_ROW_ID = GRID_AGGREGATION_ROOT_FOOTER_ROW_ID;
|
|
14
15
|
const getAggregationFooterRowIdFromGroupId = groupId => {
|
|
@@ -93,7 +94,7 @@ const addFooterRows = ({
|
|
|
93
94
|
const footerId = getAggregationFooterRowIdFromGroupId(groupNode.id);
|
|
94
95
|
if (groupNode.footerId !== footerId) {
|
|
95
96
|
if (groupNode.footerId != null) {
|
|
96
|
-
(0,
|
|
97
|
+
(0, _internals2.removeNodeFromTree)({
|
|
97
98
|
node: newGroupingParams.tree[groupNode.footerId],
|
|
98
99
|
tree: newGroupingParams.tree,
|
|
99
100
|
treeDepths: newGroupingParams.treeDepths
|
|
@@ -105,10 +106,10 @@ const addFooterRows = ({
|
|
|
105
106
|
depth: groupNode ? groupNode.depth + 1 : 0,
|
|
106
107
|
type: 'footer'
|
|
107
108
|
};
|
|
108
|
-
(0,
|
|
109
|
+
(0, _internals2.insertNodeInTree)(footerNode, newGroupingParams.tree, newGroupingParams.treeDepths, null);
|
|
109
110
|
}
|
|
110
111
|
} else if (groupNode.footerId != null) {
|
|
111
|
-
(0,
|
|
112
|
+
(0, _internals2.removeNodeFromTree)({
|
|
112
113
|
node: newGroupingParams.tree[groupNode.footerId],
|
|
113
114
|
tree: newGroupingParams.tree,
|
|
114
115
|
treeDepths: newGroupingParams.treeDepths
|
|
@@ -121,10 +122,13 @@ const addFooterRows = ({
|
|
|
121
122
|
const updateRootGroupFooter = groupNode => {
|
|
122
123
|
const shouldHaveFooter = hasAggregationRule && getAggregationPosition(groupNode) === 'footer';
|
|
123
124
|
if (shouldHaveFooter) {
|
|
124
|
-
|
|
125
|
+
const rowId = getAggregationFooterRowIdFromGroupId(null);
|
|
126
|
+
newGroupingParams = (0, _internals2.addPinnedRow)({
|
|
125
127
|
groupingParams: newGroupingParams,
|
|
126
|
-
rowModel:
|
|
127
|
-
|
|
128
|
+
rowModel: {
|
|
129
|
+
[_internals.GRID_ID_AUTOGENERATED]: rowId
|
|
130
|
+
},
|
|
131
|
+
rowId,
|
|
128
132
|
position: 'bottom',
|
|
129
133
|
apiRef,
|
|
130
134
|
isAutoGenerated: true
|
|
@@ -155,7 +159,7 @@ exports.addFooterRows = addFooterRows;
|
|
|
155
159
|
const areAggregationRulesEqual = (previousValue, newValue) => {
|
|
156
160
|
const previousFields = Object.keys(previousValue ?? {});
|
|
157
161
|
const newFields = Object.keys(newValue);
|
|
158
|
-
if (!(0,
|
|
162
|
+
if (!(0, _internals2.isDeepEqual)(previousFields, newFields)) {
|
|
159
163
|
return false;
|
|
160
164
|
}
|
|
161
165
|
return newFields.every(field => {
|
package/node/index.js
CHANGED
|
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.getReleaseInfo = void 0;
|
|
7
7
|
var _utils = require("@mui/utils");
|
|
8
8
|
const getReleaseInfo = () => {
|
|
9
|
-
const releaseInfo = "
|
|
9
|
+
const releaseInfo = "MTY5MTA4OTIwMDAwMA==";
|
|
10
10
|
if (process.env.NODE_ENV !== 'production') {
|
|
11
11
|
// A simple hack to set the value in the test environment (has no build step).
|
|
12
12
|
// eslint-disable-next-line no-useless-concat
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mui/x-data-grid-premium",
|
|
3
|
-
"version": "6.
|
|
3
|
+
"version": "6.11.0",
|
|
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",
|
|
@@ -32,10 +32,10 @@
|
|
|
32
32
|
},
|
|
33
33
|
"dependencies": {
|
|
34
34
|
"@babel/runtime": "^7.22.6",
|
|
35
|
-
"@mui/utils": "^5.
|
|
36
|
-
"@mui/x-data-grid": "6.
|
|
37
|
-
"@mui/x-data-grid-pro": "6.
|
|
38
|
-
"@mui/x-license-pro": "6.10.
|
|
35
|
+
"@mui/utils": "^5.14.1",
|
|
36
|
+
"@mui/x-data-grid": "6.11.0",
|
|
37
|
+
"@mui/x-data-grid-pro": "6.11.0",
|
|
38
|
+
"@mui/x-license-pro": "6.10.2",
|
|
39
39
|
"@types/format-util": "^1.0.2",
|
|
40
40
|
"clsx": "^1.2.1",
|
|
41
41
|
"exceljs": "^4.3.0",
|
package/utils/releaseInfo.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ponyfillGlobal } from '@mui/utils';
|
|
2
2
|
export const getReleaseInfo = () => {
|
|
3
|
-
const releaseInfo = "
|
|
3
|
+
const releaseInfo = "MTY5MTA4OTIwMDAwMA==";
|
|
4
4
|
if (process.env.NODE_ENV !== 'production') {
|
|
5
5
|
// A simple hack to set the value in the test environment (has no build step).
|
|
6
6
|
// eslint-disable-next-line no-useless-concat
|