@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.
- package/CHANGELOG.md +131 -0
- package/components/GridPremiumToolbar.d.ts +3 -0
- package/components/GridPremiumToolbar.js +31 -0
- package/components/export/ExportExcel.d.ts +29 -0
- package/components/export/ExportExcel.js +198 -0
- package/components/export/index.d.ts +1 -0
- package/components/export/index.js +16 -0
- package/components/index.d.ts +2 -1
- package/components/index.js +13 -1
- package/constants/dataGridPremiumDefaultSlotsComponents.js +3 -1
- package/esm/components/GridPremiumToolbar.d.ts +3 -0
- package/esm/components/GridPremiumToolbar.js +23 -0
- package/esm/components/export/ExportExcel.d.ts +29 -0
- package/esm/components/export/ExportExcel.js +191 -0
- package/esm/components/export/index.d.ts +1 -0
- package/esm/components/export/index.js +1 -0
- package/esm/components/index.d.ts +2 -1
- package/esm/components/index.js +2 -1
- package/esm/constants/dataGridPremiumDefaultSlotsComponents.js +3 -1
- package/esm/index.js +1 -1
- package/esm/utils/releaseInfo.js +1 -1
- package/index.js +1 -1
- package/modern/components/GridPremiumToolbar.d.ts +3 -0
- package/modern/components/GridPremiumToolbar.js +23 -0
- package/modern/components/export/ExportExcel.d.ts +29 -0
- package/modern/components/export/ExportExcel.js +191 -0
- package/modern/components/export/index.d.ts +1 -0
- package/modern/components/export/index.js +1 -0
- package/modern/components/index.d.ts +2 -1
- package/modern/components/index.js +2 -1
- package/modern/constants/dataGridPremiumDefaultSlotsComponents.js +3 -1
- package/modern/index.js +1 -1
- package/modern/utils/releaseInfo.js +1 -1
- package/package.json +4 -4
- package/tsconfig.build.tsbuildinfo +1 -1
- 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` [](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` [](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` [](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` [](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` [](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,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
|
+
});
|
package/components/index.d.ts
CHANGED
|
@@ -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";
|
package/components/index.js
CHANGED
|
@@ -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,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 };
|