@mui/x-charts-pro 8.5.3 → 8.6.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 +107 -0
- package/ChartDataProviderPro/ChartDataProviderPro.js +1 -1
- package/ChartsToolbarPro/ChartsToolbarImageExportTrigger.d.ts +27 -0
- package/ChartsToolbarPro/ChartsToolbarImageExportTrigger.js +77 -0
- package/ChartsToolbarPro/ChartsToolbarPrintExportTrigger.d.ts +33 -0
- package/ChartsToolbarPro/ChartsToolbarPrintExportTrigger.js +75 -0
- package/ChartsToolbarPro/ChartsToolbarPro.d.ts +16 -3
- package/ChartsToolbarPro/ChartsToolbarPro.js +118 -8
- package/ChartsToolbarPro/index.d.ts +3 -1
- package/ChartsToolbarPro/index.js +22 -0
- package/ChartsToolbarPro/internals/ChartsMenu.d.ts +14 -0
- package/ChartsToolbarPro/internals/ChartsMenu.js +73 -0
- package/ChartsToolbarPro/internals/ChartsToolbarDivider.d.ts +5 -0
- package/ChartsToolbarPro/internals/ChartsToolbarDivider.js +47 -0
- package/esm/ChartDataProviderPro/ChartDataProviderPro.js +1 -1
- package/esm/ChartsToolbarPro/ChartsToolbarImageExportTrigger.d.ts +27 -0
- package/esm/ChartsToolbarPro/ChartsToolbarImageExportTrigger.js +70 -0
- package/esm/ChartsToolbarPro/ChartsToolbarPrintExportTrigger.d.ts +33 -0
- package/esm/ChartsToolbarPro/ChartsToolbarPrintExportTrigger.js +68 -0
- package/esm/ChartsToolbarPro/ChartsToolbarPro.d.ts +16 -3
- package/esm/ChartsToolbarPro/ChartsToolbarPro.js +120 -8
- package/esm/ChartsToolbarPro/index.d.ts +3 -1
- package/esm/ChartsToolbarPro/index.js +3 -1
- package/esm/ChartsToolbarPro/internals/ChartsMenu.d.ts +14 -0
- package/esm/ChartsToolbarPro/internals/ChartsMenu.js +67 -0
- package/esm/ChartsToolbarPro/internals/ChartsToolbarDivider.d.ts +5 -0
- package/esm/ChartsToolbarPro/internals/ChartsToolbarDivider.js +40 -0
- package/esm/index.d.ts +2 -1
- package/esm/index.js +1 -1
- package/esm/internals/material/components/BaseMenuItem.d.ts +3 -0
- package/esm/internals/material/components/BaseMenuItem.js +27 -0
- package/esm/internals/material/components/BasePopper.d.ts +3 -0
- package/esm/internals/material/components/BasePopper.js +122 -0
- package/esm/internals/material/icons.d.ts +2 -1
- package/esm/internals/material/icons.js +4 -1
- package/esm/internals/material/index.d.ts +1 -0
- package/esm/internals/material/index.js +12 -3
- package/esm/internals/plugins/useChartProExport/print.js +1 -1
- package/esm/internals/plugins/useChartProExport/useChartProExport.types.d.ts +7 -6
- package/esm/internals/slots/chartBaseSlotProps.d.ts +50 -3
- package/esm/internals/slots/chartsBaseSlots.d.ts +5 -1
- package/esm/internals/slots/chartsIconSlots.d.ts +5 -0
- package/index.d.ts +2 -1
- package/index.js +1 -1
- package/internals/material/components/BaseMenuItem.d.ts +3 -0
- package/internals/material/components/BaseMenuItem.js +35 -0
- package/internals/material/components/BasePopper.d.ts +3 -0
- package/internals/material/components/BasePopper.js +130 -0
- package/internals/material/icons.d.ts +2 -1
- package/internals/material/icons.js +5 -2
- package/internals/material/index.d.ts +1 -0
- package/internals/material/index.js +11 -2
- package/internals/plugins/useChartProExport/print.js +1 -1
- package/internals/plugins/useChartProExport/useChartProExport.types.d.ts +7 -6
- package/internals/slots/chartBaseSlotProps.d.ts +50 -3
- package/internals/slots/chartsBaseSlots.d.ts +5 -1
- package/internals/slots/chartsIconSlots.d.ts +5 -0
- package/package.json +4 -4
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,113 @@
|
|
|
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.6.0
|
|
9
|
+
|
|
10
|
+
_Jun 27, 2025_
|
|
11
|
+
|
|
12
|
+
We'd like to extend a big thank you to the 12 contributors who made this release possible. Here are some highlights ✨:
|
|
13
|
+
|
|
14
|
+
- 📊 Add export menu to charts toolbar
|
|
15
|
+
- 📅 Add `usePickerAdapter` hook to access the date adapter.
|
|
16
|
+
|
|
17
|
+
You can use the adapter in your custom components if you need them to work with multiple date libraries — [Learn more](https://mui.com/x/react-date-pickers/custom-components/#access-date-adapter).
|
|
18
|
+
- 🌎 Improve Danish (da-DK) locale
|
|
19
|
+
- 🌎 Improve German (de-DE) locale
|
|
20
|
+
|
|
21
|
+
Special thanks go out to the community members for their valuable contributions:
|
|
22
|
+
@ShahrazH, @vadimka123
|
|
23
|
+
|
|
24
|
+
The following are all team members who have contributed to this release:
|
|
25
|
+
@arminmeh, @bernardobelchior, @JCQuintas, @KenanYusuf, @LukasTy, @MBilalShafi, @michelengelen, @noraleonte, @rita-codes, @sai6855
|
|
26
|
+
|
|
27
|
+
### Data Grid
|
|
28
|
+
|
|
29
|
+
#### `@mui/x-data-grid@8.6.0`
|
|
30
|
+
|
|
31
|
+
- [DataGrid] Fix `label` type in `GridActionsCellItem` type (#18175) @sai6855
|
|
32
|
+
- [DataGrid] Fix grid menu not closing when pressing escape/tab (#18300) @KenanYusuf
|
|
33
|
+
- [l10n] Improve Danish (da-DK) locale (#18428) @ShahrazH
|
|
34
|
+
- [l10n] Improve German (de-DE) locale (#18388) @omalyutin
|
|
35
|
+
|
|
36
|
+
#### `@mui/x-data-grid-pro@8.6.0` [](https://mui.com/r/x-pro-svg-link "Pro plan")
|
|
37
|
+
|
|
38
|
+
Same changes as in `@mui/x-data-grid@8.6.0`, plus:
|
|
39
|
+
|
|
40
|
+
- [DataGridPro] Fix lazy loading params calculated from rendering context (#18460) @arminmeh
|
|
41
|
+
|
|
42
|
+
#### `@mui/x-data-grid-premium@8.6.0` [](https://mui.com/r/x-premium-svg-link "Premium plan")
|
|
43
|
+
|
|
44
|
+
Same changes as in `@mui/x-data-grid-pro@8.6.0`.
|
|
45
|
+
|
|
46
|
+
### Date and Time Pickers
|
|
47
|
+
|
|
48
|
+
#### `@mui/x-date-pickers@8.6.0`
|
|
49
|
+
|
|
50
|
+
- [pickers] Add `usePickerAdapter` hook (#18457) @LukasTy
|
|
51
|
+
- [pickers] Fix to use latest `value` when updating `lastCommittedValue` in internal state (#18518) @LukasTy
|
|
52
|
+
- [pickers] Use `usePickerAdapter` hook internally instead of `useUtils` (#18465) @LukasTy
|
|
53
|
+
|
|
54
|
+
#### `@mui/x-date-pickers-pro@8.6.0` [](https://mui.com/r/x-pro-svg-link "Pro plan")
|
|
55
|
+
|
|
56
|
+
Same changes as in `@mui/x-date-pickers@8.6.0`.
|
|
57
|
+
|
|
58
|
+
### Charts
|
|
59
|
+
|
|
60
|
+
#### `@mui/x-charts@8.6.0`
|
|
61
|
+
|
|
62
|
+
- [charts] Add `data-series` to charts legend item (#18414) @bernardobelchior
|
|
63
|
+
- [charts] Add `data-series` to bar charts (#18413) @bernardobelchior
|
|
64
|
+
- [charts] Add `data-series` to elements of line chart (#18409) @bernardobelchior
|
|
65
|
+
- [charts] Add `data-series` to pie charts (#18432) @bernardobelchior
|
|
66
|
+
- [charts] Fix missing key in bar plot (#18502) @bernardobelchior
|
|
67
|
+
- [charts] Split axis utils from main file (#18517) @JCQuintas
|
|
68
|
+
- [charts] Improve touch behavior for polar axis (#18531) @JCQuintas
|
|
69
|
+
- [charts] Add `isElementInside` helper (#18530) @JCQuintas
|
|
70
|
+
|
|
71
|
+
#### `@mui/x-charts-pro@8.6.0` [](https://mui.com/r/x-pro-svg-link "Pro plan")
|
|
72
|
+
|
|
73
|
+
Same changes as in `@mui/x-charts@8.6.0`, plus:
|
|
74
|
+
|
|
75
|
+
- [charts-pro] Add export menu to charts toolbar (#18210) @bernardobelchior
|
|
76
|
+
- [charts-pro] Fix export docs mentioning tooltip instead of toolbar (#18490) @bernardobelchior
|
|
77
|
+
- [charts-pro] Fix iframe not being removed after print export (#18500) @bernardobelchior
|
|
78
|
+
|
|
79
|
+
### Tree View
|
|
80
|
+
|
|
81
|
+
#### `@mui/x-tree-view@8.6.0`
|
|
82
|
+
|
|
83
|
+
Internal changes.
|
|
84
|
+
|
|
85
|
+
#### `@mui/x-tree-view-pro@8.6.0` [](https://mui.com/r/x-pro-svg-link "Pro plan")
|
|
86
|
+
|
|
87
|
+
Same changes as in `@mui/x-tree-view@8.6.0`, plus:
|
|
88
|
+
|
|
89
|
+
- [tree view pro] Fix theme augmentation (#18437) @LukasTy
|
|
90
|
+
|
|
91
|
+
### Codemod
|
|
92
|
+
|
|
93
|
+
#### `@mui/x-codemod@8.6.0`
|
|
94
|
+
|
|
95
|
+
Internal changes.
|
|
96
|
+
|
|
97
|
+
### Docs
|
|
98
|
+
|
|
99
|
+
- [docs] Document `GridRenderContext` (#18492) @arminmeh
|
|
100
|
+
- [docs] Prevent stale rows to appear on sort and filter change in the lazy loading demo (#18461) @arminmeh
|
|
101
|
+
- [docs][pickers] Update action bar demo to use the `nextOrAccept` action (#18505) @LukasTy
|
|
102
|
+
- [docs] Update indeterminate checkbox section in migration guide (#18229) @michelengelen
|
|
103
|
+
- [docs] Data source nested pagination recipe (#14777) @MBilalShafi
|
|
104
|
+
|
|
105
|
+
### Core
|
|
106
|
+
|
|
107
|
+
- [core] Avoid json stringify whole window object (#18512) @vadimka123
|
|
108
|
+
|
|
109
|
+
### Miscellaneous
|
|
110
|
+
|
|
111
|
+
- [code-infra] Dynamically get pickers adapters dependencies versions (#18446) @JCQuintas
|
|
112
|
+
- [infra] Adjust inquirer version and usage (#18495) @michelengelen
|
|
113
|
+
- [infra] Use `String.raw` for creating the remote regex (#18462) @michelengelen
|
|
114
|
+
|
|
8
115
|
## 8.5.3
|
|
9
116
|
|
|
10
117
|
_Jun 19, 2025_
|
|
@@ -18,7 +18,7 @@ var _material = require("../internals/material");
|
|
|
18
18
|
var _allPlugins = require("../internals/plugins/allPlugins");
|
|
19
19
|
var _useChartDataProviderProProps = require("./useChartDataProviderProProps");
|
|
20
20
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
21
|
-
const releaseInfo = "
|
|
21
|
+
const releaseInfo = "MTc1MDk3NTIwMDAwMA==";
|
|
22
22
|
const packageIdentifier = 'x-charts-pro';
|
|
23
23
|
/**
|
|
24
24
|
* Orchestrates the data providers for the chart components and hooks.
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { RenderProp } from '@mui/x-internals/useComponentRenderer';
|
|
3
|
+
import { ChartImageExportOptions } from "../internals/plugins/useChartProExport/index.js";
|
|
4
|
+
import { ChartsSlotPropsPro } from "../internals/material/index.js";
|
|
5
|
+
export interface ChartsToolbarImageExportOptions extends Omit<ChartImageExportOptions, 'type'>, Required<Pick<ChartImageExportOptions, 'type'>> {}
|
|
6
|
+
export type ChartsToolbarImageExportTriggerProps = ChartsSlotPropsPro['baseButton'] & {
|
|
7
|
+
/**
|
|
8
|
+
* A function to customize the rendering of the component.
|
|
9
|
+
*/
|
|
10
|
+
render?: RenderProp<ChartsSlotPropsPro['baseButton']>;
|
|
11
|
+
/**
|
|
12
|
+
* The options to apply on the image export.
|
|
13
|
+
* @demos
|
|
14
|
+
* - [Export as Image](https://mui.com/x/react-charts/export/#export-as-image)
|
|
15
|
+
*/
|
|
16
|
+
options?: ChartsToolbarImageExportOptions;
|
|
17
|
+
};
|
|
18
|
+
/**
|
|
19
|
+
* A button that triggers an image export.
|
|
20
|
+
* It renders the `baseButton` slot.
|
|
21
|
+
*
|
|
22
|
+
* Demos:
|
|
23
|
+
*
|
|
24
|
+
* - [Export](https://mui.com/x/react-charts/export/)
|
|
25
|
+
*/
|
|
26
|
+
declare const ChartsToolbarImageExportTrigger: React.ForwardRefExoticComponent<ChartsToolbarImageExportTriggerProps> | React.ForwardRefExoticComponent<Omit<ChartsToolbarImageExportTriggerProps, "ref"> & React.RefAttributes<HTMLButtonElement>>;
|
|
27
|
+
export { ChartsToolbarImageExportTrigger };
|
|
@@ -0,0 +1,77 @@
|
|
|
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.ChartsToolbarImageExportTrigger = 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 _forwardRef = require("@mui/x-internals/forwardRef");
|
|
14
|
+
var _useComponentRenderer = require("@mui/x-internals/useComponentRenderer");
|
|
15
|
+
var _internals = require("@mui/x-charts/internals");
|
|
16
|
+
var _context = require("../context");
|
|
17
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
18
|
+
const _excluded = ["render", "options", "onClick"];
|
|
19
|
+
/**
|
|
20
|
+
* A button that triggers an image export.
|
|
21
|
+
* It renders the `baseButton` slot.
|
|
22
|
+
*
|
|
23
|
+
* Demos:
|
|
24
|
+
*
|
|
25
|
+
* - [Export](https://mui.com/x/react-charts/export/)
|
|
26
|
+
*/
|
|
27
|
+
const ChartsToolbarImageExportTrigger = exports.ChartsToolbarImageExportTrigger = (0, _forwardRef.forwardRef)(function ChartsToolbarImageExportTrigger(props, ref) {
|
|
28
|
+
const {
|
|
29
|
+
render,
|
|
30
|
+
options,
|
|
31
|
+
onClick
|
|
32
|
+
} = props,
|
|
33
|
+
other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
|
|
34
|
+
const {
|
|
35
|
+
slots,
|
|
36
|
+
slotProps
|
|
37
|
+
} = (0, _internals.useChartsSlots)();
|
|
38
|
+
const apiRef = (0, _context.useChartApiContext)();
|
|
39
|
+
const handleClick = event => {
|
|
40
|
+
apiRef.current.exportAsImage(options);
|
|
41
|
+
onClick?.(event);
|
|
42
|
+
};
|
|
43
|
+
const element = (0, _useComponentRenderer.useComponentRenderer)(slots.baseButton, render, (0, _extends2.default)({}, slotProps?.baseButton, {
|
|
44
|
+
onClick: handleClick
|
|
45
|
+
}, other, {
|
|
46
|
+
ref
|
|
47
|
+
}));
|
|
48
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(React.Fragment, {
|
|
49
|
+
children: element
|
|
50
|
+
});
|
|
51
|
+
});
|
|
52
|
+
if (process.env.NODE_ENV !== "production") ChartsToolbarImageExportTrigger.displayName = "ChartsToolbarImageExportTrigger";
|
|
53
|
+
process.env.NODE_ENV !== "production" ? ChartsToolbarImageExportTrigger.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
|
+
className: _propTypes.default.string,
|
|
59
|
+
disabled: _propTypes.default.bool,
|
|
60
|
+
id: _propTypes.default.string,
|
|
61
|
+
/**
|
|
62
|
+
* The options to apply on the image export.
|
|
63
|
+
* @demos
|
|
64
|
+
* - [Export as Image](https://mui.com/x/react-charts/export/#export-as-image)
|
|
65
|
+
*/
|
|
66
|
+
options: _propTypes.default.shape({
|
|
67
|
+
fileName: _propTypes.default.string,
|
|
68
|
+
quality: _propTypes.default.number,
|
|
69
|
+
type: _propTypes.default.string.isRequired
|
|
70
|
+
}),
|
|
71
|
+
/**
|
|
72
|
+
* A function to customize the rendering of the component.
|
|
73
|
+
*/
|
|
74
|
+
render: _propTypes.default.oneOfType([_propTypes.default.element, _propTypes.default.func]),
|
|
75
|
+
style: _propTypes.default.object,
|
|
76
|
+
tabIndex: _propTypes.default.number
|
|
77
|
+
} : void 0;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { RenderProp } from '@mui/x-internals/useComponentRenderer';
|
|
3
|
+
import { ChartPrintExportOptions } from "../internals/plugins/useChartProExport/index.js";
|
|
4
|
+
import { ChartsSlotPropsPro } from "../internals/material/index.js";
|
|
5
|
+
export interface ChartsToolbarPrintExportOptions extends ChartPrintExportOptions {
|
|
6
|
+
/**
|
|
7
|
+
* If `true`, this export option will be removed from the ChartsToolbarExport menu.
|
|
8
|
+
* @default false
|
|
9
|
+
*/
|
|
10
|
+
disableToolbarButton?: boolean;
|
|
11
|
+
}
|
|
12
|
+
export type ChartsToolbarPrintExportTriggerProps = ChartsSlotPropsPro['baseButton'] & {
|
|
13
|
+
/**
|
|
14
|
+
* A function to customize the rendering of the component.
|
|
15
|
+
*/
|
|
16
|
+
render?: RenderProp<ChartsSlotPropsPro['baseButton']>;
|
|
17
|
+
/**
|
|
18
|
+
* The options to apply on the Print export.
|
|
19
|
+
* @demos
|
|
20
|
+
* - [Print/Export as PDF](https://mui.com/x/react-charts/export/#print-export-as-pdf)
|
|
21
|
+
*/
|
|
22
|
+
options?: ChartPrintExportOptions;
|
|
23
|
+
};
|
|
24
|
+
/**
|
|
25
|
+
* A button that triggers a print export.
|
|
26
|
+
* It renders the `baseButton` slot.
|
|
27
|
+
*
|
|
28
|
+
* Demos:
|
|
29
|
+
*
|
|
30
|
+
* - [Export](https://mui.com/x/react-charts/export/)
|
|
31
|
+
*/
|
|
32
|
+
declare const ChartsToolbarPrintExportTrigger: React.ForwardRefExoticComponent<ChartsToolbarPrintExportTriggerProps> | React.ForwardRefExoticComponent<Omit<ChartsToolbarPrintExportTriggerProps, "ref"> & React.RefAttributes<HTMLButtonElement>>;
|
|
33
|
+
export { ChartsToolbarPrintExportTrigger };
|
|
@@ -0,0 +1,75 @@
|
|
|
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.ChartsToolbarPrintExportTrigger = 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 _forwardRef = require("@mui/x-internals/forwardRef");
|
|
14
|
+
var _useComponentRenderer = require("@mui/x-internals/useComponentRenderer");
|
|
15
|
+
var _internals = require("@mui/x-charts/internals");
|
|
16
|
+
var _context = require("../context");
|
|
17
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
18
|
+
const _excluded = ["render", "options", "onClick"];
|
|
19
|
+
/**
|
|
20
|
+
* A button that triggers a print export.
|
|
21
|
+
* It renders the `baseButton` slot.
|
|
22
|
+
*
|
|
23
|
+
* Demos:
|
|
24
|
+
*
|
|
25
|
+
* - [Export](https://mui.com/x/react-charts/export/)
|
|
26
|
+
*/
|
|
27
|
+
const ChartsToolbarPrintExportTrigger = exports.ChartsToolbarPrintExportTrigger = (0, _forwardRef.forwardRef)(function ChartsToolbarPrintExportTrigger(props, ref) {
|
|
28
|
+
const {
|
|
29
|
+
render,
|
|
30
|
+
options,
|
|
31
|
+
onClick
|
|
32
|
+
} = props,
|
|
33
|
+
other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
|
|
34
|
+
const {
|
|
35
|
+
slots,
|
|
36
|
+
slotProps
|
|
37
|
+
} = (0, _internals.useChartsSlots)();
|
|
38
|
+
const apiRef = (0, _context.useChartApiContext)();
|
|
39
|
+
const handleClick = event => {
|
|
40
|
+
apiRef.current.exportAsPrint(options);
|
|
41
|
+
onClick?.(event);
|
|
42
|
+
};
|
|
43
|
+
const element = (0, _useComponentRenderer.useComponentRenderer)(slots.baseButton, render, (0, _extends2.default)({}, slotProps?.baseButton, {
|
|
44
|
+
onClick: handleClick
|
|
45
|
+
}, other, {
|
|
46
|
+
ref
|
|
47
|
+
}));
|
|
48
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(React.Fragment, {
|
|
49
|
+
children: element
|
|
50
|
+
});
|
|
51
|
+
});
|
|
52
|
+
if (process.env.NODE_ENV !== "production") ChartsToolbarPrintExportTrigger.displayName = "ChartsToolbarPrintExportTrigger";
|
|
53
|
+
process.env.NODE_ENV !== "production" ? ChartsToolbarPrintExportTrigger.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
|
+
className: _propTypes.default.string,
|
|
59
|
+
disabled: _propTypes.default.bool,
|
|
60
|
+
id: _propTypes.default.string,
|
|
61
|
+
/**
|
|
62
|
+
* The options to apply on the Print export.
|
|
63
|
+
* @demos
|
|
64
|
+
* - [Print/Export as PDF](https://mui.com/x/react-charts/export/#print-export-as-pdf)
|
|
65
|
+
*/
|
|
66
|
+
options: _propTypes.default.shape({
|
|
67
|
+
fileName: _propTypes.default.string
|
|
68
|
+
}),
|
|
69
|
+
/**
|
|
70
|
+
* A function to customize the rendering of the component.
|
|
71
|
+
*/
|
|
72
|
+
render: _propTypes.default.oneOfType([_propTypes.default.element, _propTypes.default.func]),
|
|
73
|
+
style: _propTypes.default.object,
|
|
74
|
+
tabIndex: _propTypes.default.number
|
|
75
|
+
} : void 0;
|
|
@@ -1,7 +1,20 @@
|
|
|
1
|
-
import { ChartsToolbarProps } from '@mui/x-charts/Toolbar';
|
|
2
1
|
import * as React from 'react';
|
|
3
|
-
|
|
2
|
+
import { ChartsToolbarProps } from '@mui/x-charts/Toolbar';
|
|
3
|
+
import { ChartsToolbarPrintExportOptions } from "./ChartsToolbarPrintExportTrigger.js";
|
|
4
|
+
import { ChartsToolbarImageExportOptions } from "./ChartsToolbarImageExportTrigger.js";
|
|
5
|
+
export interface ChartsToolbarProProps extends ChartsToolbarProps {
|
|
6
|
+
printOptions?: ChartsToolbarPrintExportOptions;
|
|
7
|
+
imageExportOptions?: ChartsToolbarImageExportOptions[];
|
|
8
|
+
}
|
|
4
9
|
/**
|
|
5
10
|
* The chart toolbar component for the pro package.
|
|
6
11
|
*/
|
|
7
|
-
|
|
12
|
+
declare function ChartsToolbarPro({
|
|
13
|
+
printOptions,
|
|
14
|
+
imageExportOptions: rawImageExportOptions,
|
|
15
|
+
...other
|
|
16
|
+
}: ChartsToolbarProProps): React.JSX.Element | null;
|
|
17
|
+
declare namespace ChartsToolbarPro {
|
|
18
|
+
var propTypes: any;
|
|
19
|
+
}
|
|
20
|
+
export { ChartsToolbarPro };
|
|
@@ -1,24 +1,42 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
'use client';
|
|
2
3
|
|
|
3
|
-
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
4
4
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
5
|
+
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
5
6
|
Object.defineProperty(exports, "__esModule", {
|
|
6
7
|
value: true
|
|
7
8
|
});
|
|
8
9
|
exports.ChartsToolbarPro = ChartsToolbarPro;
|
|
9
10
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
10
|
-
var
|
|
11
|
+
var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
|
|
11
12
|
var React = _interopRequireWildcard(require("react"));
|
|
13
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
14
|
+
var _Toolbar = require("@mui/x-charts/Toolbar");
|
|
12
15
|
var _internals = require("@mui/x-charts/internals");
|
|
13
16
|
var _hooks = require("@mui/x-charts/hooks");
|
|
17
|
+
var _useId = _interopRequireDefault(require("@mui/utils/useId"));
|
|
18
|
+
var _ChartsToolbarDivider = require("./internals/ChartsToolbarDivider");
|
|
19
|
+
var _ChartsMenu = require("./internals/ChartsMenu");
|
|
14
20
|
var _useChartProZoom = require("../internals/plugins/useChartProZoom");
|
|
15
21
|
var _ChartsToolbarZoomInTrigger = require("./ChartsToolbarZoomInTrigger");
|
|
16
22
|
var _ChartsToolbarZoomOutTrigger = require("./ChartsToolbarZoomOutTrigger");
|
|
23
|
+
var _ChartsToolbarPrintExportTrigger = require("./ChartsToolbarPrintExportTrigger");
|
|
24
|
+
var _ChartsToolbarImageExportTrigger = require("./ChartsToolbarImageExportTrigger");
|
|
17
25
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
26
|
+
const _excluded = ["printOptions", "imageExportOptions"];
|
|
27
|
+
const DEFAULT_IMAGE_EXPORT_OPTIONS = [{
|
|
28
|
+
type: 'image/png'
|
|
29
|
+
}];
|
|
30
|
+
|
|
18
31
|
/**
|
|
19
32
|
* The chart toolbar component for the pro package.
|
|
20
33
|
*/
|
|
21
|
-
function ChartsToolbarPro(
|
|
34
|
+
function ChartsToolbarPro(_ref) {
|
|
35
|
+
let {
|
|
36
|
+
printOptions,
|
|
37
|
+
imageExportOptions: rawImageExportOptions
|
|
38
|
+
} = _ref,
|
|
39
|
+
other = (0, _objectWithoutPropertiesLoose2.default)(_ref, _excluded);
|
|
22
40
|
const {
|
|
23
41
|
slots,
|
|
24
42
|
slotProps
|
|
@@ -29,7 +47,13 @@ function ChartsToolbarPro(props) {
|
|
|
29
47
|
const {
|
|
30
48
|
localeText
|
|
31
49
|
} = (0, _hooks.useChartsLocalization)();
|
|
50
|
+
const [exportMenuOpen, setExportMenuOpen] = React.useState(false);
|
|
51
|
+
const exportMenuTriggerRef = React.useRef(null);
|
|
52
|
+
const exportMenuId = (0, _useId.default)();
|
|
53
|
+
const exportMenuTriggerId = (0, _useId.default)();
|
|
32
54
|
const isZoomEnabled = (0, _internals.useSelector)(store, _useChartProZoom.selectorChartZoomIsEnabled);
|
|
55
|
+
const imageExportOptionList = rawImageExportOptions ?? DEFAULT_IMAGE_EXPORT_OPTIONS;
|
|
56
|
+
const showExportMenu = !printOptions?.disableToolbarButton || imageExportOptionList.length > 0;
|
|
33
57
|
const children = [];
|
|
34
58
|
if (isZoomEnabled) {
|
|
35
59
|
const Tooltip = slots.baseTooltip;
|
|
@@ -38,22 +62,108 @@ function ChartsToolbarPro(props) {
|
|
|
38
62
|
children.push(/*#__PURE__*/(0, _jsxRuntime.jsx)(Tooltip, (0, _extends2.default)({}, slotProps.baseTooltip, {
|
|
39
63
|
title: localeText.zoomIn,
|
|
40
64
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsToolbarZoomInTrigger.ChartsToolbarZoomInTrigger, {
|
|
41
|
-
render: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Toolbar.ToolbarButton, {
|
|
42
|
-
|
|
65
|
+
render: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Toolbar.ToolbarButton, {
|
|
66
|
+
size: "small"
|
|
67
|
+
}),
|
|
68
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(ZoomInIcon, (0, _extends2.default)({
|
|
69
|
+
fontSize: "small"
|
|
70
|
+
}, slotProps.zoomInIcon))
|
|
43
71
|
})
|
|
44
72
|
}), "zoom-in"));
|
|
45
73
|
children.push(/*#__PURE__*/(0, _jsxRuntime.jsx)(Tooltip, (0, _extends2.default)({}, slotProps.baseTooltip, {
|
|
46
74
|
title: localeText.zoomOut,
|
|
47
75
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsToolbarZoomOutTrigger.ChartsToolbarZoomOutTrigger, {
|
|
48
|
-
render: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Toolbar.ToolbarButton, {
|
|
49
|
-
|
|
76
|
+
render: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Toolbar.ToolbarButton, {
|
|
77
|
+
size: "small"
|
|
78
|
+
}),
|
|
79
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(ZoomOutIcon, (0, _extends2.default)({
|
|
80
|
+
fontSize: "small"
|
|
81
|
+
}, slotProps.zoomOutIcon))
|
|
50
82
|
})
|
|
51
83
|
}), "zoom-out"));
|
|
52
84
|
}
|
|
85
|
+
if (showExportMenu) {
|
|
86
|
+
const Tooltip = slots.baseTooltip;
|
|
87
|
+
const MenuList = slots.baseMenuList;
|
|
88
|
+
const MenuItem = slots.baseMenuItem;
|
|
89
|
+
const ExportIcon = slots.exportIcon;
|
|
90
|
+
const closeExportMenu = () => setExportMenuOpen(false);
|
|
91
|
+
const handleListKeyDown = event => {
|
|
92
|
+
if (event.key === 'Tab') {
|
|
93
|
+
event.preventDefault();
|
|
94
|
+
}
|
|
95
|
+
if (isHideMenuKey(event.key)) {
|
|
96
|
+
closeExportMenu();
|
|
97
|
+
}
|
|
98
|
+
};
|
|
99
|
+
if (children.length > 0) {
|
|
100
|
+
children.push(/*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsToolbarDivider.ChartsToolbarDivider, {}, "divider"));
|
|
101
|
+
}
|
|
102
|
+
children.push(/*#__PURE__*/(0, _jsxRuntime.jsxs)(React.Fragment, {
|
|
103
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(Tooltip, {
|
|
104
|
+
title: localeText.toolbarExport,
|
|
105
|
+
disableInteractive: exportMenuOpen,
|
|
106
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Toolbar.ToolbarButton, {
|
|
107
|
+
ref: exportMenuTriggerRef,
|
|
108
|
+
id: exportMenuTriggerId,
|
|
109
|
+
"aria-controls": exportMenuId,
|
|
110
|
+
"aria-haspopup": "true",
|
|
111
|
+
"aria-expanded": exportMenuOpen ? 'true' : undefined,
|
|
112
|
+
onClick: () => setExportMenuOpen(!exportMenuOpen),
|
|
113
|
+
size: "small",
|
|
114
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(ExportIcon, {
|
|
115
|
+
fontSize: "small"
|
|
116
|
+
})
|
|
117
|
+
})
|
|
118
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsMenu.ChartsMenu, {
|
|
119
|
+
target: exportMenuTriggerRef.current,
|
|
120
|
+
open: exportMenuOpen,
|
|
121
|
+
onClose: closeExportMenu,
|
|
122
|
+
position: "bottom-end",
|
|
123
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(MenuList, (0, _extends2.default)({
|
|
124
|
+
id: exportMenuId,
|
|
125
|
+
"aria-labelledby": exportMenuTriggerId,
|
|
126
|
+
onKeyDown: handleListKeyDown,
|
|
127
|
+
autoFocusItem: true
|
|
128
|
+
}, slotProps?.baseMenuList, {
|
|
129
|
+
children: [!printOptions?.disableToolbarButton && /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsToolbarPrintExportTrigger.ChartsToolbarPrintExportTrigger, {
|
|
130
|
+
render: /*#__PURE__*/(0, _jsxRuntime.jsx)(MenuItem, (0, _extends2.default)({
|
|
131
|
+
dense: true
|
|
132
|
+
}, slotProps?.baseMenuItem)),
|
|
133
|
+
options: printOptions,
|
|
134
|
+
onClick: closeExportMenu,
|
|
135
|
+
children: localeText.toolbarExportPrint
|
|
136
|
+
}), imageExportOptionList.map(imageExportOptions => /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsToolbarImageExportTrigger.ChartsToolbarImageExportTrigger, {
|
|
137
|
+
render: /*#__PURE__*/(0, _jsxRuntime.jsx)(MenuItem, (0, _extends2.default)({
|
|
138
|
+
dense: true
|
|
139
|
+
}, slotProps?.baseMenuItem)),
|
|
140
|
+
options: imageExportOptions,
|
|
141
|
+
onClick: closeExportMenu,
|
|
142
|
+
children: localeText.toolbarExportImage(imageExportOptions.type)
|
|
143
|
+
}, imageExportOptions.type))]
|
|
144
|
+
}))
|
|
145
|
+
})]
|
|
146
|
+
}, "export-menu"));
|
|
147
|
+
}
|
|
53
148
|
if (children.length === 0) {
|
|
54
149
|
return null;
|
|
55
150
|
}
|
|
56
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Toolbar.Toolbar, (0, _extends2.default)({},
|
|
151
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Toolbar.Toolbar, (0, _extends2.default)({}, other, {
|
|
57
152
|
children: children
|
|
58
153
|
}));
|
|
154
|
+
}
|
|
155
|
+
process.env.NODE_ENV !== "production" ? ChartsToolbarPro.propTypes = {
|
|
156
|
+
// ----------------------------- Warning --------------------------------
|
|
157
|
+
// | These PropTypes are generated from the TypeScript type definitions |
|
|
158
|
+
// | To update them edit the TypeScript types and run "pnpm proptypes" |
|
|
159
|
+
// ----------------------------------------------------------------------
|
|
160
|
+
imageExportOptions: _propTypes.default.arrayOf(_propTypes.default.shape({
|
|
161
|
+
fileName: _propTypes.default.string,
|
|
162
|
+
quality: _propTypes.default.number,
|
|
163
|
+
type: _propTypes.default.string.isRequired
|
|
164
|
+
})),
|
|
165
|
+
printOptions: _propTypes.default.object
|
|
166
|
+
} : void 0;
|
|
167
|
+
function isHideMenuKey(key) {
|
|
168
|
+
return key === 'Tab' || key === 'Escape';
|
|
59
169
|
}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
1
|
export * from "./ChartsToolbarPro.js";
|
|
2
2
|
export * from "./ChartsToolbarZoomInTrigger.js";
|
|
3
|
-
export * from "./ChartsToolbarZoomOutTrigger.js";
|
|
3
|
+
export * from "./ChartsToolbarZoomOutTrigger.js";
|
|
4
|
+
export * from "./ChartsToolbarPrintExportTrigger.js";
|
|
5
|
+
export * from "./ChartsToolbarImageExportTrigger.js";
|
|
@@ -35,4 +35,26 @@ Object.keys(_ChartsToolbarZoomOutTrigger).forEach(function (key) {
|
|
|
35
35
|
return _ChartsToolbarZoomOutTrigger[key];
|
|
36
36
|
}
|
|
37
37
|
});
|
|
38
|
+
});
|
|
39
|
+
var _ChartsToolbarPrintExportTrigger = require("./ChartsToolbarPrintExportTrigger");
|
|
40
|
+
Object.keys(_ChartsToolbarPrintExportTrigger).forEach(function (key) {
|
|
41
|
+
if (key === "default" || key === "__esModule") return;
|
|
42
|
+
if (key in exports && exports[key] === _ChartsToolbarPrintExportTrigger[key]) return;
|
|
43
|
+
Object.defineProperty(exports, key, {
|
|
44
|
+
enumerable: true,
|
|
45
|
+
get: function () {
|
|
46
|
+
return _ChartsToolbarPrintExportTrigger[key];
|
|
47
|
+
}
|
|
48
|
+
});
|
|
49
|
+
});
|
|
50
|
+
var _ChartsToolbarImageExportTrigger = require("./ChartsToolbarImageExportTrigger");
|
|
51
|
+
Object.keys(_ChartsToolbarImageExportTrigger).forEach(function (key) {
|
|
52
|
+
if (key === "default" || key === "__esModule") return;
|
|
53
|
+
if (key in exports && exports[key] === _ChartsToolbarImageExportTrigger[key]) return;
|
|
54
|
+
Object.defineProperty(exports, key, {
|
|
55
|
+
enumerable: true,
|
|
56
|
+
get: function () {
|
|
57
|
+
return _ChartsToolbarImageExportTrigger[key];
|
|
58
|
+
}
|
|
59
|
+
});
|
|
38
60
|
});
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { ChartBasePopperProps, Placement } from "../../internals/slots/chartBaseSlotProps.js";
|
|
3
|
+
export interface ChartsMenuProps extends Pick<ChartBasePopperProps, 'className' | 'onExited'> {
|
|
4
|
+
open: boolean;
|
|
5
|
+
target: HTMLElement | null;
|
|
6
|
+
onClose: (event?: Event) => void;
|
|
7
|
+
position?: Placement;
|
|
8
|
+
children: React.ReactNode;
|
|
9
|
+
}
|
|
10
|
+
declare function ChartsMenu(props: ChartsMenuProps): React.JSX.Element;
|
|
11
|
+
declare namespace ChartsMenu {
|
|
12
|
+
var propTypes: any;
|
|
13
|
+
}
|
|
14
|
+
export { ChartsMenu };
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
'use client';
|
|
3
|
+
|
|
4
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
5
|
+
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
6
|
+
Object.defineProperty(exports, "__esModule", {
|
|
7
|
+
value: true
|
|
8
|
+
});
|
|
9
|
+
exports.ChartsMenu = ChartsMenu;
|
|
10
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
11
|
+
var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
|
|
12
|
+
var React = _interopRequireWildcard(require("react"));
|
|
13
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
14
|
+
var _useEnhancedEffect = _interopRequireDefault(require("@mui/utils/useEnhancedEffect"));
|
|
15
|
+
var _HTMLElementType = _interopRequireDefault(require("@mui/utils/HTMLElementType"));
|
|
16
|
+
var _internals = require("@mui/x-charts/internals");
|
|
17
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
18
|
+
const _excluded = ["open", "target", "onClose", "children", "position", "className", "onExited"];
|
|
19
|
+
function ChartsMenu(props) {
|
|
20
|
+
const {
|
|
21
|
+
open,
|
|
22
|
+
target,
|
|
23
|
+
onClose,
|
|
24
|
+
children,
|
|
25
|
+
position,
|
|
26
|
+
onExited
|
|
27
|
+
} = props,
|
|
28
|
+
other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
|
|
29
|
+
const {
|
|
30
|
+
slots,
|
|
31
|
+
slotProps
|
|
32
|
+
} = (0, _internals.useChartsSlots)();
|
|
33
|
+
const Popper = slots.basePopper;
|
|
34
|
+
const savedFocusRef = React.useRef(null);
|
|
35
|
+
(0, _useEnhancedEffect.default)(() => {
|
|
36
|
+
if (open) {
|
|
37
|
+
savedFocusRef.current = document.activeElement instanceof HTMLElement ? document.activeElement : null;
|
|
38
|
+
} else {
|
|
39
|
+
savedFocusRef.current?.focus?.();
|
|
40
|
+
savedFocusRef.current = null;
|
|
41
|
+
}
|
|
42
|
+
}, [open]);
|
|
43
|
+
const handleClickAway = event => {
|
|
44
|
+
if (event.target && (target === event.target || target?.contains(event.target))) {
|
|
45
|
+
return;
|
|
46
|
+
}
|
|
47
|
+
onClose(event);
|
|
48
|
+
};
|
|
49
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(Popper, (0, _extends2.default)({
|
|
50
|
+
open: open,
|
|
51
|
+
target: target,
|
|
52
|
+
transition: true,
|
|
53
|
+
placement: position,
|
|
54
|
+
onClickAway: handleClickAway,
|
|
55
|
+
onExited: onExited,
|
|
56
|
+
clickAwayMouseEvent: "onMouseDown"
|
|
57
|
+
}, other, slotProps?.basePopper, {
|
|
58
|
+
children: children
|
|
59
|
+
}));
|
|
60
|
+
}
|
|
61
|
+
process.env.NODE_ENV !== "production" ? ChartsMenu.propTypes = {
|
|
62
|
+
// ----------------------------- Warning --------------------------------
|
|
63
|
+
// | These PropTypes are generated from the TypeScript type definitions |
|
|
64
|
+
// | To update them edit the TypeScript types and run "pnpm proptypes" |
|
|
65
|
+
// ----------------------------------------------------------------------
|
|
66
|
+
children: _propTypes.default.node,
|
|
67
|
+
className: _propTypes.default.string,
|
|
68
|
+
onClose: _propTypes.default.func.isRequired,
|
|
69
|
+
onExited: _propTypes.default.func,
|
|
70
|
+
open: _propTypes.default.bool.isRequired,
|
|
71
|
+
position: _propTypes.default.oneOf(['bottom-end', 'bottom-start', 'bottom', 'left-end', 'left-start', 'left', 'right-end', 'right-start', 'right', 'top-end', 'top-start', 'top']),
|
|
72
|
+
target: _HTMLElementType.default
|
|
73
|
+
} : void 0;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { ChartBaseDividerProps } from "../../internals/slots/chartBaseSlotProps.js";
|
|
3
|
+
export interface ChartsToolbarDividerProps extends ChartBaseDividerProps {}
|
|
4
|
+
declare const ChartsToolbarDivider: React.ForwardRefExoticComponent<Omit<ChartsToolbarDividerProps, "ref"> & React.RefAttributes<HTMLHRElement>>;
|
|
5
|
+
export { ChartsToolbarDivider };
|