@mui/x-data-grid-premium 8.0.0-alpha.13 → 8.0.0-alpha.14

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 (36) hide show
  1. package/CHANGELOG.md +131 -0
  2. package/components/GridPremiumToolbar.d.ts +3 -0
  3. package/components/GridPremiumToolbar.js +31 -0
  4. package/components/export/ExportExcel.d.ts +29 -0
  5. package/components/export/ExportExcel.js +198 -0
  6. package/components/export/index.d.ts +1 -0
  7. package/components/export/index.js +16 -0
  8. package/components/index.d.ts +2 -1
  9. package/components/index.js +13 -1
  10. package/constants/dataGridPremiumDefaultSlotsComponents.js +3 -1
  11. package/esm/components/GridPremiumToolbar.d.ts +3 -0
  12. package/esm/components/GridPremiumToolbar.js +23 -0
  13. package/esm/components/export/ExportExcel.d.ts +29 -0
  14. package/esm/components/export/ExportExcel.js +191 -0
  15. package/esm/components/export/index.d.ts +1 -0
  16. package/esm/components/export/index.js +1 -0
  17. package/esm/components/index.d.ts +2 -1
  18. package/esm/components/index.js +2 -1
  19. package/esm/constants/dataGridPremiumDefaultSlotsComponents.js +3 -1
  20. package/esm/index.js +1 -1
  21. package/esm/utils/releaseInfo.js +1 -1
  22. package/index.js +1 -1
  23. package/modern/components/GridPremiumToolbar.d.ts +3 -0
  24. package/modern/components/GridPremiumToolbar.js +23 -0
  25. package/modern/components/export/ExportExcel.d.ts +29 -0
  26. package/modern/components/export/ExportExcel.js +191 -0
  27. package/modern/components/export/index.d.ts +1 -0
  28. package/modern/components/export/index.js +1 -0
  29. package/modern/components/index.d.ts +2 -1
  30. package/modern/components/index.js +2 -1
  31. package/modern/constants/dataGridPremiumDefaultSlotsComponents.js +3 -1
  32. package/modern/index.js +1 -1
  33. package/modern/utils/releaseInfo.js +1 -1
  34. package/package.json +4 -4
  35. package/tsconfig.build.tsbuildinfo +1 -1
  36. package/utils/releaseInfo.js +1 -1
package/CHANGELOG.md CHANGED
@@ -5,6 +5,137 @@
5
5
  All notable changes to this project will be documented in this file.
6
6
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
7
7
 
8
+ ## 8.0.0-alpha.14
9
+
10
+ _Mar 7, 2025_
11
+
12
+ We'd like to offer a big thanks to the 12 contributors who made this release possible. Here are some highlights ✨:
13
+
14
+ - 🚀📊 New Pro Chart: It is now possible to create Funnel charts—perfect for visualizing conversions, sales pipelines and more!
15
+ <img width="418" alt="Screenshot 2025-01-31 at 12 22 31" src="https://github.com/user-attachments/assets/8cd26821-5f11-46bf-a9bb-34d212880a47" />
16
+ - 🎁 The first iteration of the radar chart is available. Features and refinements will be added in the coming weeks.
17
+ - 🛠️ New and improved [Toolbar component](https://next.mui.com/x/react-data-grid/components/toolbar/) for the data grid
18
+ - 🐞 Bugfixes
19
+
20
+ Special thanks go out to the community member for their valuable contributions:
21
+ @vadimka123.
22
+
23
+ Following are all team members who have contributed to this release:
24
+ @alexfauquette, @arminmeh, @bernardobelchior, @cherniavskii, @flaviendelangle, @JCQuintas, @KenanYusuf, @LukasTy, @michelengelen, @noraleonte, @oliviertassinari.
25
+
26
+ <!--/ HIGHLIGHT_ABOVE_SEPARATOR /-->
27
+
28
+ ### Data Grid
29
+
30
+ #### Breaking changes
31
+
32
+ - The density selector has been removed from the toolbar. It is still possible to set the density programmatically via the `density` prop. A density selector can be added to a custom toolbar passed to `slots.toolbar`. See [Toolbar component—Settings menu](https://next.mui.com/x/react-data-grid/components/toolbar/#settings-menu) for an example.
33
+ - The quick filter is now shown in the toolbar by default. Use `slotProps={{ toolbar: { showQuickFilter: false } }}` to hide it.
34
+ - The `<GridSaveAltIcon />` icon is not exported anymore. Import `SaveAlt` from `@mui/icons-material` instead.
35
+
36
+ #### `@mui/x-data-grid@8.0.0-alpha.14`
37
+
38
+ - [DataGrid] Fix `aria-hidden` console error when scrollbar is dragged (#16829) @arminmeh
39
+ - [DataGrid] Fix scroll jump with dynamic row height (#16763) @cherniavskii
40
+ - [DataGrid] New `<Toolbar />` component (#14611) @KenanYusuf
41
+ - [DataGrid] Use new toolbar by default (#16814) @KenanYusuf
42
+ - [DataGrid] Remove the quick filtering on a given column (#16738) @vadimka123
43
+
44
+ #### `@mui/x-data-grid-pro@8.0.0-alpha.14` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
45
+
46
+ Same changes as in `@mui/x-data-grid@8.0.0-alpha.14`.
47
+
48
+ #### `@mui/x-data-grid-premium@8.0.0-alpha.14` [![premium](https://mui.com/r/x-premium-svg)](https://mui.com/r/x-premium-svg-link 'Premium plan')
49
+
50
+ Same changes as in `@mui/x-data-grid-pro@8.0.0-alpha.14`.
51
+
52
+ ### Date and Time Pickers
53
+
54
+ #### Breaking changes
55
+
56
+ - All Date Time Picker variants now use Digital Clock for time editing.
57
+ - Stop passing invalid date to `onChange` when the date is partially filled — [Learn more](https://next.mui.com/x/migration/migration-pickers-v7/#treat-partially-filled-date-as-null-in-onchange).
58
+
59
+ #### `@mui/x-date-pickers@8.0.0-alpha.14`
60
+
61
+ - [DateTimePicker] Use Digital Clock in all component variants (#16678) @LukasTy
62
+ - [fields] Always use `props.value` as the source of truth when defined (#15875) @flaviendelangle
63
+ - [fields] Fix Fields aria relationship with `helperText` (#16821) @LukasTy
64
+ - [pickers] Add `TValidationProps` generic to the `PickerManager` interface (#16832) @flaviendelangle
65
+ - [pickers] Fix `edge` property setting in different button position cases (#16838) @LukasTy
66
+ - [pickers] Fix typo in JSDoc (#16831) @flaviendelangle
67
+ - [pickers] Refactor the files in the `usePicker` folder (#16680) @flaviendelangle
68
+
69
+ #### `@mui/x-date-pickers-pro@8.0.0-alpha.14` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
70
+
71
+ Same changes as in `@mui/x-date-pickers@8.0.0-alpha.14`.
72
+
73
+ ### Charts
74
+
75
+ #### `@mui/x-charts@8.0.0-alpha.14`
76
+
77
+ - [charts] Fix `undefined` behaving differently from missing value for axis size (#16844) @bernardobelchior
78
+ - [charts] Fix x-axis text anchor default when language is RTL (#16836) @bernardobelchior
79
+ - [charts] Add Radar chart (#16406) @alexfauquette
80
+ - [charts] Move series default color generation in the series config (#16752) @alexfauquette
81
+ - [charts] Render axis title within axis size (#16730) @bernardobelchior
82
+ - [charts] Split `defaultizeAxis` function into two (#16745) @bernardobelchior
83
+ - [charts] Warn if axes data don't have enough elements (#16830) @alexfauquette
84
+ - [charts] XAxis: Add defaults for `textAnchor` and `dominantBaseline` based on `angle` (#16817) @bernardobelchior
85
+
86
+ #### `@mui/x-charts-pro@8.0.0-alpha.14` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
87
+
88
+ Same changes as in `@mui/x-charts@8.0.0-alpha.14`, plus:
89
+
90
+ - [charts] Add Funnel chart (#14804) @JCQuintas
91
+
92
+ ### Tree View
93
+
94
+ #### Breaking changes
95
+
96
+ - The `selectItem` method has been renamed `setItemSelection`:
97
+
98
+ ```diff
99
+ const { publicAPI } = useTreeItemUtils();
100
+
101
+ const handleSelectItem() {
102
+ - publicAPI.selectItem({ event, itemId: props.itemId, shouldBeSelected: true })
103
+ + publicAPI.setItemSelection({ event, itemId: props.itemId, shouldBeSelected: true })
104
+ }
105
+ ```
106
+
107
+ - The `setItemExpansion` method now receives a single object instead of a list of parameters:
108
+
109
+ ```diff
110
+ const { publicAPI } = useTreeItemUtils();
111
+
112
+ const handleExpandItem() {
113
+ - publicAPI.setItemExpansion(event, props.itemId, true)
114
+ + publicAPI.setItemExpansion({ event, itemId: props.itemId, shouldBeExpanded: true })
115
+ }
116
+ ```
117
+
118
+ #### `@mui/x-tree-view@8.0.0-alpha.14`
119
+
120
+ - [TreeView] Clean the expansion and selection API methods (#16795) @flaviendelangle
121
+
122
+ #### `@mui/x-tree-view-pro@8.0.0-alpha.14` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
123
+
124
+ Same changes as in `@mui/x-tree-view@8.0.0-alpha.14`.
125
+
126
+ ### Docs
127
+
128
+ - [docs] Fix padding package install on mobile (#16794) @oliviertassinari
129
+ - [docs] Typo fixes (#16835) @alexfauquette
130
+
131
+ ### Core
132
+
133
+ - [code-infra] Fix console warning in telemetry package (#16816) @JCQuintas
134
+ - [code-infra] Split date-picker test files (#16825) @JCQuintas
135
+ - [infra] Replace PR label check workflow with reusable version (#16762) @michelengelen
136
+ - [infra] Update label in priority-support issue template (#16767) @michelengelen
137
+ - [test] Add timeout to flaky screenshot tests (#16852) @LukasTy
138
+
8
139
  ## 8.0.0-alpha.13
9
140
 
10
141
  _Feb 28, 2025_
@@ -0,0 +1,3 @@
1
+ import * as React from 'react';
2
+ import { GridToolbarProps } from '@mui/x-data-grid/internals';
3
+ export declare function GridPremiumToolbar(props: GridToolbarProps): React.JSX.Element;
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.GridPremiumToolbar = GridPremiumToolbar;
9
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
+ var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
11
+ var React = _interopRequireWildcard(require("react"));
12
+ var _internals = require("@mui/x-data-grid/internals");
13
+ var _export = require("./export");
14
+ var _useGridRootProps = require("../hooks/utils/useGridRootProps");
15
+ var _useGridApiContext = require("../hooks/utils/useGridApiContext");
16
+ var _jsxRuntime = require("react/jsx-runtime");
17
+ const _excluded = ["excelOptions"];
18
+ function GridPremiumToolbar(props) {
19
+ const rootProps = (0, _useGridRootProps.useGridRootProps)();
20
+ const apiRef = (0, _useGridApiContext.useGridApiContext)();
21
+ const other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
22
+ const additionalExportMenuItems = !props.excelOptions?.disableToolbarButton ? onMenuItemClick => /*#__PURE__*/(0, _jsxRuntime.jsx)(_export.ExportExcel, {
23
+ render: /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.baseMenuItem, (0, _extends2.default)({}, rootProps.slotProps?.baseMenuItem)),
24
+ options: props.excelOptions,
25
+ onClick: onMenuItemClick,
26
+ children: apiRef.current.getLocaleText('toolbarExportExcel')
27
+ }) : undefined;
28
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_internals.GridToolbar, (0, _extends2.default)({}, other, {
29
+ additionalExportMenuItems: additionalExportMenuItems
30
+ }));
31
+ }
@@ -0,0 +1,29 @@
1
+ import * as React from 'react';
2
+ import { GridSlotProps, RenderProp } from '@mui/x-data-grid';
3
+ import { GridExcelExportOptions } from "../../hooks/features/export/index.js";
4
+ export type ExportExcelProps = GridSlotProps['baseButton'] & {
5
+ /**
6
+ * A function to customize rendering of the component.
7
+ */
8
+ render?: RenderProp<GridSlotProps['baseButton']>;
9
+ /**
10
+ * The options to apply on the Excel export.
11
+ * @demos
12
+ * - [Excel export](/x/react-data-grid/export/#excel-export)
13
+ */
14
+ options?: GridExcelExportOptions;
15
+ };
16
+ /**
17
+ * A button that triggers an Excel export.
18
+ * It renders the `baseButton` slot.
19
+ *
20
+ * Demos:
21
+ *
22
+ * - [Export](https://mui.com/x/react-data-grid/components/export/)
23
+ *
24
+ * API:
25
+ *
26
+ * - [ExportExcel API](https://mui.com/x/api/data-grid/export-excel/)
27
+ */
28
+ declare const ExportExcel: React.ForwardRefExoticComponent<ExportExcelProps> | React.ForwardRefExoticComponent<Omit<ExportExcelProps, "ref"> & React.RefAttributes<HTMLButtonElement>>;
29
+ export { ExportExcel };
@@ -0,0 +1,198 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.ExportExcel = void 0;
9
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
+ var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
11
+ var React = _interopRequireWildcard(require("react"));
12
+ var _propTypes = _interopRequireDefault(require("prop-types"));
13
+ var _internals = require("@mui/x-data-grid/internals");
14
+ var _forwardRef = require("@mui/x-internals/forwardRef");
15
+ var _useGridApiContext = require("../../hooks/utils/useGridApiContext");
16
+ var _useGridRootProps = require("../../hooks/utils/useGridRootProps");
17
+ var _jsxRuntime = require("react/jsx-runtime");
18
+ const _excluded = ["render", "options", "onClick"];
19
+ /**
20
+ * A button that triggers an Excel export.
21
+ * It renders the `baseButton` slot.
22
+ *
23
+ * Demos:
24
+ *
25
+ * - [Export](https://mui.com/x/react-data-grid/components/export/)
26
+ *
27
+ * API:
28
+ *
29
+ * - [ExportExcel API](https://mui.com/x/api/data-grid/export-excel/)
30
+ */
31
+ const ExportExcel = exports.ExportExcel = (0, _forwardRef.forwardRef)(function ExportExcel(props, ref) {
32
+ const {
33
+ render,
34
+ options,
35
+ onClick
36
+ } = props,
37
+ other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
38
+ const rootProps = (0, _useGridRootProps.useGridRootProps)();
39
+ const apiRef = (0, _useGridApiContext.useGridApiContext)();
40
+ const handleClick = event => {
41
+ apiRef.current.exportDataAsExcel(options);
42
+ onClick?.(event);
43
+ };
44
+ const element = (0, _internals.useGridComponentRenderer)(rootProps.slots.baseButton, render, (0, _extends2.default)({
45
+ onClick: handleClick
46
+ }, rootProps.slotProps?.baseButton, other, {
47
+ ref
48
+ }));
49
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(React.Fragment, {
50
+ children: element
51
+ });
52
+ });
53
+ process.env.NODE_ENV !== "production" ? ExportExcel.propTypes = {
54
+ // ----------------------------- Warning --------------------------------
55
+ // | These PropTypes are generated from the TypeScript type definitions |
56
+ // | To update them edit the TypeScript types and run "pnpm proptypes" |
57
+ // ----------------------------------------------------------------------
58
+ /**
59
+ * A ref for imperative actions.
60
+ * It currently only supports `focusVisible()` action.
61
+ */
62
+ action: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.shape({
63
+ current: _propTypes.default.shape({
64
+ focusVisible: _propTypes.default.func.isRequired
65
+ })
66
+ })]),
67
+ /**
68
+ * If `true`, the ripples are centered.
69
+ * They won't start at the cursor interaction position.
70
+ * @default false
71
+ */
72
+ centerRipple: _propTypes.default.bool,
73
+ className: _propTypes.default.string,
74
+ /**
75
+ * The color of the component.
76
+ * It supports both default and custom theme colors, which can be added as shown in the
77
+ * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors).
78
+ * @default 'primary'
79
+ */
80
+ color: _propTypes.default.oneOf(['error', 'info', 'inherit', 'primary', 'secondary', 'success', 'warning']),
81
+ component: _propTypes.default.elementType,
82
+ /**
83
+ * If `true`, the component is disabled.
84
+ */
85
+ disabled: _propTypes.default.bool,
86
+ /**
87
+ * If `true`, no elevation is used.
88
+ * @default false
89
+ */
90
+ disableElevation: _propTypes.default.bool,
91
+ /**
92
+ * If `true`, the keyboard focus ripple is disabled.
93
+ * @default false
94
+ */
95
+ disableFocusRipple: _propTypes.default.bool,
96
+ /**
97
+ * If `true`, the ripple effect is disabled.
98
+ *
99
+ * ⚠️ Without a ripple there is no styling for :focus-visible by default. Be sure
100
+ * to highlight the element by applying separate styles with the `.Mui-focusVisible` class.
101
+ * @default false
102
+ */
103
+ disableRipple: _propTypes.default.bool,
104
+ /**
105
+ * If `true`, the touch ripple effect is disabled.
106
+ * @default false
107
+ */
108
+ disableTouchRipple: _propTypes.default.bool,
109
+ /**
110
+ * Element placed after the children.
111
+ */
112
+ endIcon: _propTypes.default.node,
113
+ /**
114
+ * If `true`, the base button will have a keyboard focus ripple.
115
+ * @default false
116
+ */
117
+ focusRipple: _propTypes.default.bool,
118
+ /**
119
+ * This prop can help identify which element has keyboard focus.
120
+ * The class name will be applied when the element gains the focus through keyboard interaction.
121
+ * It's a polyfill for the [CSS :focus-visible selector](https://drafts.csswg.org/selectors-4/#the-focus-visible-pseudo).
122
+ * The rationale for using this feature [is explained here](https://github.com/WICG/focus-visible/blob/HEAD/explainer.md).
123
+ * A [polyfill can be used](https://github.com/WICG/focus-visible) to apply a `focus-visible` class to other components
124
+ * if needed.
125
+ */
126
+ focusVisibleClassName: _propTypes.default.string,
127
+ /**
128
+ * If `true`, the button will take up the full width of its container.
129
+ * @default false
130
+ */
131
+ fullWidth: _propTypes.default.bool,
132
+ /**
133
+ * The URL to link to when the button is clicked.
134
+ * If defined, an `a` element will be used as the root node.
135
+ */
136
+ href: _propTypes.default.string,
137
+ /**
138
+ * The component used to render a link when the `href` prop is provided.
139
+ * @default 'a'
140
+ */
141
+ LinkComponent: _propTypes.default.elementType,
142
+ /**
143
+ * Callback fired when the component is focused with a keyboard.
144
+ * We trigger a `onFocus` callback too.
145
+ */
146
+ onFocusVisible: _propTypes.default.func,
147
+ /**
148
+ * The options to apply on the Excel export.
149
+ * @demos
150
+ * - [Excel export](/x/react-data-grid/export/#excel-export)
151
+ */
152
+ options: _propTypes.default.shape({
153
+ allColumns: _propTypes.default.bool,
154
+ columnsStyles: _propTypes.default.object,
155
+ escapeFormulas: _propTypes.default.bool,
156
+ exceljsPostProcess: _propTypes.default.func,
157
+ exceljsPreProcess: _propTypes.default.func,
158
+ fields: _propTypes.default.arrayOf(_propTypes.default.string),
159
+ fileName: _propTypes.default.string,
160
+ getRowsToExport: _propTypes.default.func,
161
+ includeColumnGroupsHeaders: _propTypes.default.bool,
162
+ includeHeaders: _propTypes.default.bool,
163
+ valueOptionsSheetName: _propTypes.default.string,
164
+ worker: _propTypes.default.func
165
+ }),
166
+ /**
167
+ * A function to customize rendering of the component.
168
+ */
169
+ render: _propTypes.default.oneOfType([_propTypes.default.element, _propTypes.default.func]),
170
+ /**
171
+ * The size of the component.
172
+ * `small` is equivalent to the dense button styling.
173
+ */
174
+ size: _propTypes.default.oneOf(['large', 'medium', 'small']),
175
+ /**
176
+ * Element placed before the children.
177
+ */
178
+ startIcon: _propTypes.default.node,
179
+ style: _propTypes.default.object,
180
+ /**
181
+ * The system prop that allows defining system overrides as well as additional CSS styles.
182
+ */
183
+ sx: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object, _propTypes.default.bool])), _propTypes.default.func, _propTypes.default.object]),
184
+ tabIndex: _propTypes.default.number,
185
+ /**
186
+ * Props applied to the `TouchRipple` element.
187
+ */
188
+ TouchRippleProps: _propTypes.default.object,
189
+ /**
190
+ * A ref that points to the `TouchRipple` element.
191
+ */
192
+ touchRippleRef: _propTypes.default.any,
193
+ /**
194
+ * The variant to use.
195
+ * @default 'text'
196
+ */
197
+ variant: _propTypes.default.oneOf(['contained', 'outlined', 'text'])
198
+ } : void 0;
@@ -0,0 +1 @@
1
+ export * from "./ExportExcel.js";
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ var _ExportExcel = require("./ExportExcel");
7
+ Object.keys(_ExportExcel).forEach(function (key) {
8
+ if (key === "default" || key === "__esModule") return;
9
+ if (key in exports && exports[key] === _ExportExcel[key]) return;
10
+ Object.defineProperty(exports, key, {
11
+ enumerable: true,
12
+ get: function () {
13
+ return _ExportExcel[key];
14
+ }
15
+ });
16
+ });
@@ -2,4 +2,5 @@ export * from "./GridExcelExportMenuItem.js";
2
2
  export * from "../material/icons.js";
3
3
  export * from "./GridColumnMenuAggregationItem.js";
4
4
  export * from "./promptControl/index.js";
5
- export { GridColumnMenuGroupingItem } from "./GridPremiumColumnMenu.js";
5
+ export { GridColumnMenuGroupingItem } from "./GridPremiumColumnMenu.js";
6
+ export * from "./export/index.js";
@@ -60,4 +60,16 @@ Object.keys(_promptControl).forEach(function (key) {
60
60
  }
61
61
  });
62
62
  });
63
- var _GridPremiumColumnMenu = require("./GridPremiumColumnMenu");
63
+ var _GridPremiumColumnMenu = require("./GridPremiumColumnMenu");
64
+ var _export = require("./export");
65
+ Object.keys(_export).forEach(function (key) {
66
+ if (key === "default" || key === "__esModule") return;
67
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
68
+ if (key in exports && exports[key] === _export[key]) return;
69
+ Object.defineProperty(exports, key, {
70
+ enumerable: true,
71
+ get: function () {
72
+ return _export[key];
73
+ }
74
+ });
75
+ });
@@ -10,7 +10,9 @@ var _internals = require("@mui/x-data-grid-pro/internals");
10
10
  var _GridPremiumColumnMenu = require("../components/GridPremiumColumnMenu");
11
11
  var _material = _interopRequireDefault(require("../material"));
12
12
  var _GridBottomContainer = require("../components/GridBottomContainer");
13
+ var _GridPremiumToolbar = require("../components/GridPremiumToolbar");
13
14
  const DATA_GRID_PREMIUM_DEFAULT_SLOTS_COMPONENTS = exports.DATA_GRID_PREMIUM_DEFAULT_SLOTS_COMPONENTS = (0, _extends2.default)({}, _internals.DATA_GRID_PRO_DEFAULT_SLOTS_COMPONENTS, _material.default, {
14
15
  columnMenu: _GridPremiumColumnMenu.GridPremiumColumnMenu,
15
- bottomContainer: _GridBottomContainer.GridBottomContainer
16
+ bottomContainer: _GridBottomContainer.GridBottomContainer,
17
+ toolbar: _GridPremiumToolbar.GridPremiumToolbar
16
18
  });
@@ -0,0 +1,3 @@
1
+ import * as React from 'react';
2
+ import { GridToolbarProps } from '@mui/x-data-grid/internals';
3
+ export declare function GridPremiumToolbar(props: GridToolbarProps): React.JSX.Element;
@@ -0,0 +1,23 @@
1
+ import _extends from "@babel/runtime/helpers/esm/extends";
2
+ import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
3
+ const _excluded = ["excelOptions"];
4
+ import * as React from 'react';
5
+ import { GridToolbar } from '@mui/x-data-grid/internals';
6
+ import { ExportExcel } from "./export/index.js";
7
+ import { useGridRootProps } from "../hooks/utils/useGridRootProps.js";
8
+ import { useGridApiContext } from "../hooks/utils/useGridApiContext.js";
9
+ import { jsx as _jsx } from "react/jsx-runtime";
10
+ export function GridPremiumToolbar(props) {
11
+ const rootProps = useGridRootProps();
12
+ const apiRef = useGridApiContext();
13
+ const other = _objectWithoutPropertiesLoose(props, _excluded);
14
+ const additionalExportMenuItems = !props.excelOptions?.disableToolbarButton ? onMenuItemClick => /*#__PURE__*/_jsx(ExportExcel, {
15
+ render: /*#__PURE__*/_jsx(rootProps.slots.baseMenuItem, _extends({}, rootProps.slotProps?.baseMenuItem)),
16
+ options: props.excelOptions,
17
+ onClick: onMenuItemClick,
18
+ children: apiRef.current.getLocaleText('toolbarExportExcel')
19
+ }) : undefined;
20
+ return /*#__PURE__*/_jsx(GridToolbar, _extends({}, other, {
21
+ additionalExportMenuItems: additionalExportMenuItems
22
+ }));
23
+ }
@@ -0,0 +1,29 @@
1
+ import * as React from 'react';
2
+ import { GridSlotProps, RenderProp } from '@mui/x-data-grid';
3
+ import { GridExcelExportOptions } from "../../hooks/features/export/index.js";
4
+ export type ExportExcelProps = GridSlotProps['baseButton'] & {
5
+ /**
6
+ * A function to customize rendering of the component.
7
+ */
8
+ render?: RenderProp<GridSlotProps['baseButton']>;
9
+ /**
10
+ * The options to apply on the Excel export.
11
+ * @demos
12
+ * - [Excel export](/x/react-data-grid/export/#excel-export)
13
+ */
14
+ options?: GridExcelExportOptions;
15
+ };
16
+ /**
17
+ * A button that triggers an Excel export.
18
+ * It renders the `baseButton` slot.
19
+ *
20
+ * Demos:
21
+ *
22
+ * - [Export](https://mui.com/x/react-data-grid/components/export/)
23
+ *
24
+ * API:
25
+ *
26
+ * - [ExportExcel API](https://mui.com/x/api/data-grid/export-excel/)
27
+ */
28
+ declare const ExportExcel: React.ForwardRefExoticComponent<ExportExcelProps> | React.ForwardRefExoticComponent<Omit<ExportExcelProps, "ref"> & React.RefAttributes<HTMLButtonElement>>;
29
+ export { ExportExcel };