@mui/x-charts-pro 8.5.2 → 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 +203 -11
- package/ChartDataProviderPro/ChartDataProviderPro.js +1 -1
- package/ChartZoomSlider/internals/ChartAxisZoomSlider.js +1 -1
- package/ChartZoomSlider/internals/ChartAxisZoomSliderActiveTrack.js +20 -31
- package/ChartZoomSlider/internals/ChartAxisZoomSliderTrack.js +1 -8
- package/ChartZoomSlider/internals/zoom-utils.d.ts +3 -1
- package/ChartZoomSlider/internals/zoom-utils.js +19 -8
- 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/FunnelChart/FunnelPlot.js +56 -40
- package/FunnelChart/FunnelSection.js +2 -0
- package/FunnelChart/curves/bump.d.ts +3 -3
- package/FunnelChart/curves/bump.js +3 -0
- package/FunnelChart/curves/curve.types.d.ts +14 -1
- package/FunnelChart/curves/getFunnelCurve.d.ts +7 -2
- package/FunnelChart/curves/linear.d.ts +3 -3
- package/FunnelChart/curves/linear.js +23 -18
- package/FunnelChart/curves/pyramid.d.ts +3 -3
- package/FunnelChart/curves/pyramid.js +17 -12
- package/FunnelChart/curves/step-pyramid.d.ts +5 -5
- package/FunnelChart/curves/step-pyramid.js +20 -18
- package/FunnelChart/curves/step.d.ts +3 -3
- package/FunnelChart/curves/step.js +14 -12
- package/FunnelChart/funnelAxisPlugin/useChartFunnelAxisRendering.selectors.d.ts +18 -1444
- package/FunnelChart/labelUtils.d.ts +4 -12
- package/FunnelChart/labelUtils.js +43 -44
- package/esm/ChartDataProviderPro/ChartDataProviderPro.js +1 -1
- package/esm/ChartZoomSlider/internals/ChartAxisZoomSlider.js +1 -1
- package/esm/ChartZoomSlider/internals/ChartAxisZoomSliderActiveTrack.js +21 -32
- package/esm/ChartZoomSlider/internals/ChartAxisZoomSliderTrack.js +1 -8
- package/esm/ChartZoomSlider/internals/zoom-utils.d.ts +3 -1
- package/esm/ChartZoomSlider/internals/zoom-utils.js +19 -9
- 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/FunnelChart/FunnelPlot.js +56 -40
- package/esm/FunnelChart/FunnelSection.js +2 -0
- package/esm/FunnelChart/curves/bump.d.ts +3 -3
- package/esm/FunnelChart/curves/bump.js +3 -0
- package/esm/FunnelChart/curves/curve.types.d.ts +14 -1
- package/esm/FunnelChart/curves/getFunnelCurve.d.ts +7 -2
- package/esm/FunnelChart/curves/linear.d.ts +3 -3
- package/esm/FunnelChart/curves/linear.js +23 -18
- package/esm/FunnelChart/curves/pyramid.d.ts +3 -3
- package/esm/FunnelChart/curves/pyramid.js +17 -12
- package/esm/FunnelChart/curves/step-pyramid.d.ts +5 -5
- package/esm/FunnelChart/curves/step-pyramid.js +20 -18
- package/esm/FunnelChart/curves/step.d.ts +3 -3
- package/esm/FunnelChart/curves/step.js +14 -12
- package/esm/FunnelChart/funnelAxisPlugin/useChartFunnelAxisRendering.selectors.d.ts +18 -1444
- package/esm/FunnelChart/labelUtils.d.ts +4 -12
- package/esm/FunnelChart/labelUtils.js +43 -44
- 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/plugins/useChartProZoom/useChartProZoom.selectors.d.ts +16 -595
- package/esm/internals/plugins/useChartProZoom/useChartProZoom.selectors.js +2 -2
- 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/plugins/useChartProZoom/useChartProZoom.selectors.d.ts +16 -595
- package/internals/plugins/useChartProZoom/useChartProZoom.selectors.js +2 -2
- 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 +5 -5
- package/FunnelChart/positionGetter.d.ts +0 -1
- package/FunnelChart/positionGetter.js +0 -5
- package/esm/FunnelChart/positionGetter.d.ts +0 -1
- package/esm/FunnelChart/positionGetter.js +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,208 @@
|
|
|
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
|
+
|
|
115
|
+
## 8.5.3
|
|
116
|
+
|
|
117
|
+
_Jun 19, 2025_
|
|
118
|
+
|
|
119
|
+
We'd like to extend a big thank you to the 10 contributors who made this release possible. Here are some highlights ✨:
|
|
120
|
+
|
|
121
|
+
- 📚 Documentation improvements
|
|
122
|
+
- 🐞 Bugfixes
|
|
123
|
+
|
|
124
|
+
Special thanks go out to the community members for their valuable contributions:
|
|
125
|
+
@alisasanib, @arminmeh, @sai6855
|
|
126
|
+
|
|
127
|
+
The following are all team members who have contributed to this release:
|
|
128
|
+
@alexfauquette, @bernardobelchior, @flaviendelangle, @JCQuintas, @LukasTy, @MBilalShafi, @oliviertassinari
|
|
129
|
+
|
|
130
|
+
### Data Grid
|
|
131
|
+
|
|
132
|
+
#### `@mui/x-data-grid@8.5.3`
|
|
133
|
+
|
|
134
|
+
- [DataGrid] Fix export menu button tooltip being interactive when menu is open (#18327) @bernardobelchior
|
|
135
|
+
- [DataGrid] Fix column menu scroll close (#18065) @alisasanib
|
|
136
|
+
- [DataGrid] Fix page size issue with data source (#18419) @MBilalShafi
|
|
137
|
+
|
|
138
|
+
#### `@mui/x-data-grid-pro@8.5.3` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
139
|
+
|
|
140
|
+
Same changes as in `@mui/x-data-grid@8.5.3`, plus:
|
|
141
|
+
|
|
142
|
+
- [DataGridPro] Ignore missing `rowCount` response when new children are fetched with the data source (#17711) @arminmeh
|
|
143
|
+
|
|
144
|
+
#### `@mui/x-data-grid-premium@8.5.3` [](https://mui.com/r/x-premium-svg-link 'Premium plan')
|
|
145
|
+
|
|
146
|
+
Same changes as in `@mui/x-data-grid-pro@8.5.3`.
|
|
147
|
+
|
|
148
|
+
### Date and Time Pickers
|
|
149
|
+
|
|
150
|
+
#### `@mui/x-date-pickers@8.5.3`
|
|
151
|
+
|
|
152
|
+
- [pickers] Add `inputSizeSmall` to classes interface (#18242) @sai6855
|
|
153
|
+
|
|
154
|
+
#### `@mui/x-date-pickers-pro@8.5.3` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
155
|
+
|
|
156
|
+
Same changes as in `@mui/x-date-pickers@8.5.3`.
|
|
157
|
+
|
|
158
|
+
### Charts
|
|
159
|
+
|
|
160
|
+
#### `@mui/x-charts@8.5.3`
|
|
161
|
+
|
|
162
|
+
- [charts] Add item class to list item around each series in legend (#18411) @bernardobelchior
|
|
163
|
+
- [charts] Allow `tabIndex` in surface and legend (#18344) @JCQuintas
|
|
164
|
+
- [charts] Explore selector typing (#18362) @alexfauquette
|
|
165
|
+
- [charts] Fix highlight with number ids (#18423) @alexfauquette
|
|
166
|
+
- [charts] Make scatter chart use data attributes (#18048) @alexfauquette
|
|
167
|
+
|
|
168
|
+
#### `@mui/x-charts-pro@8.5.3` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
169
|
+
|
|
170
|
+
Same changes as in `@mui/x-charts@8.5.3`, plus:
|
|
171
|
+
|
|
172
|
+
- [charts-pro] Add data-series to elements of funnel chart (#18067) @JCQuintas
|
|
173
|
+
- [charts-pro] Hide values outside minStart and maxEnd in zoom slider (#18336) @bernardobelchior
|
|
174
|
+
- [charts-pro] Fix `FunnelChart` label positioning with different curves (#18354) @JCQuintas
|
|
175
|
+
|
|
176
|
+
### Tree View
|
|
177
|
+
|
|
178
|
+
#### `@mui/x-tree-view@8.5.3`
|
|
179
|
+
|
|
180
|
+
Internal changes.
|
|
181
|
+
|
|
182
|
+
#### `@mui/x-tree-view-pro@8.5.3` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
183
|
+
|
|
184
|
+
Same changes as in `@mui/x-tree-view@8.5.3`.
|
|
185
|
+
|
|
186
|
+
### Codemod
|
|
187
|
+
|
|
188
|
+
#### `@mui/x-codemod@8.5.3`
|
|
189
|
+
|
|
190
|
+
Internal changes.
|
|
191
|
+
|
|
192
|
+
### Docs
|
|
193
|
+
|
|
194
|
+
- [docs] Fix 404 in charts docs (#18440) @alexfauquette
|
|
195
|
+
- [docs][pickers] Fix adapter version resolving when opening demo to edit (#18363) @LukasTy
|
|
196
|
+
|
|
197
|
+
### Core
|
|
198
|
+
|
|
199
|
+
- [core] Fix pnpm valelint error (#18420) @oliviertassinari
|
|
200
|
+
|
|
201
|
+
### Miscellaneous
|
|
202
|
+
|
|
203
|
+
- [code-infra] Add back a `Playwright` renovate group (#18397) @LukasTy
|
|
204
|
+
- [code-infra] Setup `CODEOWNERS` for charts repositories (#18418) @JCQuintas
|
|
205
|
+
- [code-infra] Strengthen `URL` usage for test config (#18444) @LukasTy
|
|
206
|
+
- [code-infra] Use `vitest` bundled types (#17758) @JCQuintas
|
|
207
|
+
- [infra] Stabilise tests by removing babel and plugins from vitest (#18341) @JCQuintas
|
|
208
|
+
- [infra] Add automated release PR creation script (#18345) @michelengelen
|
|
209
|
+
|
|
8
210
|
## 8.5.2
|
|
9
211
|
|
|
10
212
|
_Jun 12, 2025_
|
|
@@ -94,7 +296,7 @@ Same changes as in `@mui/x-tree-view@8.5.2`.
|
|
|
94
296
|
- [code-infra] Revert `React` to `19.0.0` (#18265) @LukasTy
|
|
95
297
|
- [code-infra] Use `catalog` for reused dependencies (#18302) @LukasTy
|
|
96
298
|
- [infra] Remove unused karma/mocha deps and files (#18340) @JCQuintas
|
|
97
|
-
- [infra] Update
|
|
299
|
+
- [infra] Update GitHub label references to use 'scope' instead of 'component' (#18260) @michelengelen
|
|
98
300
|
- [infra] Use a single browser server in CI (#18230) @JCQuintas
|
|
99
301
|
|
|
100
302
|
## 8.5.1
|
|
@@ -189,15 +391,6 @@ Same changes as in `@mui/x-tree-view@8.5.1`.
|
|
|
189
391
|
|
|
190
392
|
### Core
|
|
191
393
|
|
|
192
|
-
- chore(deps): bump @next/eslint-plugin-next to 15.3.3 (#18155) @renovate[bot]
|
|
193
|
-
- chore(deps): bump @types/lodash to ^4.17.17 (#17990) @renovate[bot]
|
|
194
|
-
- chore(deps): bump babel (#18157) @renovate[bot]
|
|
195
|
-
- chore(deps): bump eslint to ^9.28.0 (#17352) @renovate[bot]
|
|
196
|
-
- chore(deps): bump material ui (#17802) @renovate[bot]
|
|
197
|
-
- chore(deps): bump next to ^15.3.3 (#18159) @renovate[bot]
|
|
198
|
-
- chore(deps): bump ossf/scorecard-action action to v2.4.2 (#18160) @renovate[bot]
|
|
199
|
-
- chore(deps): bump react-router to ^7.6.1 (#18162) @renovate[bot]
|
|
200
|
-
- chore(deps): bump yargs to ^18.0.0 (#18169) @renovate[bot]
|
|
201
394
|
- [code-infra] Different approach to console testing for `processRowUpdate` (#18213) @JCQuintas
|
|
202
395
|
- [code-infra] Fix act warnings in DataGrid/toolbar (#18207) @JCQuintas
|
|
203
396
|
- [code-infra] Remove `istanbul` references (#18194) @JCQuintas
|
|
@@ -4641,7 +4834,6 @@ No changes since `@mui/x-charts@7.22.2`.
|
|
|
4641
4834
|
- [docs] Add `next` version links (#15423) @LukasTy
|
|
4642
4835
|
- [docs] Use the `loading` state in the demos (#15538) @cherniavskii
|
|
4643
4836
|
- [docs] Add data caching to lazy loaded detail panel demo (#15506) @cherniavskii
|
|
4644
|
-
|
|
4645
4837
|
- [code-infra] Tentative fix for Argos flaky screenshot tests (#15399) @JCQuintas
|
|
4646
4838
|
- [docs-infra] Transpile `.ts` demo files (#15421) @KenanYusuf
|
|
4647
4839
|
- [core] Clarify release version bump strategy (#15536) @cherniavskii
|
|
@@ -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.
|
|
@@ -24,7 +24,7 @@ function ChartAxisZoomSlider({
|
|
|
24
24
|
}) {
|
|
25
25
|
const store = (0, _internals.useStore)();
|
|
26
26
|
const drawingArea = (0, _internals.useDrawingArea)();
|
|
27
|
-
const zoomData = (0, _internals.useSelector)(store, _useChartProZoom.selectorChartAxisZoomData, axisId);
|
|
27
|
+
const zoomData = (0, _internals.useSelector)(store, _useChartProZoom.selectorChartAxisZoomData, [axisId]);
|
|
28
28
|
const [showTooltip, setShowTooltip] = React.useState(false);
|
|
29
29
|
const {
|
|
30
30
|
xAxis
|
|
@@ -40,7 +40,7 @@ function ChartAxisZoomSliderActiveTrack({
|
|
|
40
40
|
svgRef
|
|
41
41
|
} = (0, _internals.useChartContext)();
|
|
42
42
|
const store = (0, _internals.useStore)();
|
|
43
|
-
const axis = (0, _internals.useSelector)(store, _internals.selectorChartAxis, axisId);
|
|
43
|
+
const axis = (0, _internals.useSelector)(store, _internals.selectorChartAxis, [axisId]);
|
|
44
44
|
const drawingArea = (0, _internals.useDrawingArea)();
|
|
45
45
|
const activePreviewRectRef = React.useRef(null);
|
|
46
46
|
const [startThumbEl, setStartThumbEl] = React.useState(null);
|
|
@@ -56,10 +56,6 @@ function ChartAxisZoomSliderActiveTrack({
|
|
|
56
56
|
if (!activePreviewRect) {
|
|
57
57
|
return;
|
|
58
58
|
}
|
|
59
|
-
|
|
60
|
-
/* min and max values of zoom to ensure the pointer anchor in the slider is maintained */
|
|
61
|
-
let pointerZoomMin;
|
|
62
|
-
let pointerZoomMax;
|
|
63
59
|
let prevPointerZoom = 0;
|
|
64
60
|
const onPointerMove = (0, _rafThrottle.rafThrottle)(event => {
|
|
65
61
|
const element = svgRef.current;
|
|
@@ -67,11 +63,10 @@ function ChartAxisZoomSliderActiveTrack({
|
|
|
67
63
|
return;
|
|
68
64
|
}
|
|
69
65
|
const point = (0, _internals.getSVGPoint)(element, event);
|
|
70
|
-
|
|
66
|
+
const pointerZoom = (0, _zoomUtils.calculateZoomFromPoint)(store.getSnapshot(), axisId, point);
|
|
71
67
|
if (pointerZoom === null) {
|
|
72
68
|
return;
|
|
73
69
|
}
|
|
74
|
-
pointerZoom = Math.max(pointerZoomMin, Math.min(pointerZoomMax, pointerZoom));
|
|
75
70
|
const deltaZoom = pointerZoom - prevPointerZoom;
|
|
76
71
|
prevPointerZoom = pointerZoom;
|
|
77
72
|
instance.moveZoomRange(axisId, deltaZoom);
|
|
@@ -95,8 +90,6 @@ function ChartAxisZoomSliderActiveTrack({
|
|
|
95
90
|
return;
|
|
96
91
|
}
|
|
97
92
|
prevPointerZoom = pointerDownZoom;
|
|
98
|
-
pointerZoomMin = pointerDownZoom - axisZoomData.start;
|
|
99
|
-
pointerZoomMax = 100 - (axisZoomData.end - pointerDownZoom);
|
|
100
93
|
document.addEventListener('pointerup', onPointerUp);
|
|
101
94
|
activePreviewRect.addEventListener('pointermove', onPointerMove);
|
|
102
95
|
};
|
|
@@ -137,23 +130,12 @@ function ChartAxisZoomSliderActiveTrack({
|
|
|
137
130
|
}
|
|
138
131
|
const point = (0, _internals.getSVGPoint)(element, event);
|
|
139
132
|
instance.setZoomData(prevZoomData => {
|
|
140
|
-
const {
|
|
141
|
-
left,
|
|
142
|
-
top,
|
|
143
|
-
width,
|
|
144
|
-
height
|
|
145
|
-
} = (0, _internals.selectorChartDrawingArea)(store.getSnapshot());
|
|
146
133
|
const zoomOptions = (0, _internals.selectorChartAxisZoomOptionsLookup)(store.getSnapshot(), axisId);
|
|
147
134
|
return prevZoomData.map(zoom => {
|
|
148
135
|
if (zoom.axisId === axisId) {
|
|
149
|
-
|
|
150
|
-
if (
|
|
151
|
-
|
|
152
|
-
} else {
|
|
153
|
-
newEnd = (top + height - point.y) / height * 100;
|
|
154
|
-
}
|
|
155
|
-
if (reverse) {
|
|
156
|
-
newEnd = 100 - newEnd;
|
|
136
|
+
const newEnd = (0, _zoomUtils.calculateZoomFromPoint)(store.getSnapshot(), axisId, point);
|
|
137
|
+
if (newEnd === null) {
|
|
138
|
+
return zoom;
|
|
157
139
|
}
|
|
158
140
|
return (0, _extends2.default)({}, zoom, {
|
|
159
141
|
end: (0, _zoomUtils.calculateZoomEnd)(newEnd, zoom, zoomOptions)
|
|
@@ -171,14 +153,21 @@ function ChartAxisZoomSliderActiveTrack({
|
|
|
171
153
|
let startThumbY;
|
|
172
154
|
let endThumbX;
|
|
173
155
|
let endThumbY;
|
|
156
|
+
const {
|
|
157
|
+
minStart,
|
|
158
|
+
maxEnd
|
|
159
|
+
} = (0, _internals.selectorChartAxisZoomOptionsLookup)(store.getSnapshot(), axisId);
|
|
160
|
+
const range = maxEnd - minStart;
|
|
161
|
+
const zoomStart = Math.max(minStart, zoomData.start);
|
|
162
|
+
const zoomEnd = Math.min(zoomData.end, maxEnd);
|
|
174
163
|
if (axisDirection === 'x') {
|
|
175
|
-
previewX =
|
|
164
|
+
previewX = (zoomStart - minStart) / range * drawingArea.width;
|
|
176
165
|
previewY = 0;
|
|
177
|
-
previewWidth = drawingArea.width * (
|
|
166
|
+
previewWidth = drawingArea.width * (zoomEnd - zoomStart) / range;
|
|
178
167
|
previewHeight = _constants.ZOOM_SLIDER_ACTIVE_TRACK_SIZE;
|
|
179
|
-
startThumbX =
|
|
168
|
+
startThumbX = (zoomStart - minStart) / range * drawingArea.width;
|
|
180
169
|
startThumbY = 0;
|
|
181
|
-
endThumbX =
|
|
170
|
+
endThumbX = (zoomEnd - minStart) / range * drawingArea.width;
|
|
182
171
|
endThumbY = 0;
|
|
183
172
|
if (reverse) {
|
|
184
173
|
previewX = drawingArea.width - previewX - previewWidth;
|
|
@@ -189,13 +178,13 @@ function ChartAxisZoomSliderActiveTrack({
|
|
|
189
178
|
endThumbX -= previewThumbWidth / 2;
|
|
190
179
|
} else {
|
|
191
180
|
previewX = 0;
|
|
192
|
-
previewY = drawingArea.height -
|
|
181
|
+
previewY = drawingArea.height - (zoomEnd - minStart) / range * drawingArea.height;
|
|
193
182
|
previewWidth = _constants.ZOOM_SLIDER_ACTIVE_TRACK_SIZE;
|
|
194
|
-
previewHeight = drawingArea.height * (
|
|
183
|
+
previewHeight = drawingArea.height * (zoomEnd - zoomStart) / range;
|
|
195
184
|
startThumbX = 0;
|
|
196
|
-
startThumbY = drawingArea.height -
|
|
185
|
+
startThumbY = drawingArea.height - (zoomStart - minStart) / range * drawingArea.height;
|
|
197
186
|
endThumbX = 0;
|
|
198
|
-
endThumbY = drawingArea.height -
|
|
187
|
+
endThumbY = drawingArea.height - (zoomEnd - minStart) / range * drawingArea.height;
|
|
199
188
|
if (reverse) {
|
|
200
189
|
previewY = drawingArea.height - previewY - previewHeight;
|
|
201
190
|
startThumbY = drawingArea.height - startThumbY;
|
|
@@ -63,17 +63,10 @@ function ChartAxisZoomSliderTrack(_ref) {
|
|
|
63
63
|
return;
|
|
64
64
|
}
|
|
65
65
|
const pointerDownPoint = (0, _internals.getSVGPoint)(element, event);
|
|
66
|
-
|
|
66
|
+
const zoomFromPointerDown = (0, _zoomUtils.calculateZoomFromPoint)(store.getSnapshot(), axisId, pointerDownPoint);
|
|
67
67
|
if (zoomFromPointerDown === null) {
|
|
68
68
|
return;
|
|
69
69
|
}
|
|
70
|
-
const {
|
|
71
|
-
minStart,
|
|
72
|
-
maxEnd
|
|
73
|
-
} = (0, _internals.selectorChartAxisZoomOptionsLookup)(store.getSnapshot(), axisId);
|
|
74
|
-
|
|
75
|
-
// Ensure the zoomFromPointerDown is within the min and max range
|
|
76
|
-
zoomFromPointerDown = Math.max(Math.min(zoomFromPointerDown, maxEnd), minStart);
|
|
77
70
|
const onPointerMove = (0, _rafThrottle.rafThrottle)(function onPointerMove(pointerMoveEvent) {
|
|
78
71
|
const pointerMovePoint = (0, _internals.getSVGPoint)(element, pointerMoveEvent);
|
|
79
72
|
const zoomFromPointerMove = (0, _zoomUtils.calculateZoomFromPoint)(store.getSnapshot(), axisId, pointerMovePoint);
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
import { AxisId, ChartState, DefaultizedZoomOptions, ZoomData } from '@mui/x-charts/internals';
|
|
1
|
+
import { AxisId, ChartState, DefaultedXAxis, DefaultedYAxis, DefaultizedZoomOptions, ZoomData } from '@mui/x-charts/internals';
|
|
2
|
+
import { ChartDrawingArea } from '@mui/x-charts/hooks';
|
|
2
3
|
export declare function calculateZoomFromPoint(state: ChartState<any>, axisId: AxisId, point: DOMPoint): number | null;
|
|
4
|
+
export declare function calculateZoomFromPointImpl(drawingArea: ChartDrawingArea, axis: Pick<DefaultedXAxis | DefaultedYAxis, 'position' | 'reverse'>, zoomOptions: Pick<DefaultizedZoomOptions, 'minStart' | 'maxEnd'>, point: Pick<DOMPoint, 'x' | 'y'>): number;
|
|
3
5
|
export declare function calculateZoomStart(newStart: number, currentZoom: ZoomData, options: Pick<DefaultizedZoomOptions, 'minStart' | 'minSpan' | 'maxSpan'>): number;
|
|
4
6
|
export declare function calculateZoomEnd(newEnd: number, currentZoom: ZoomData, options: Pick<DefaultizedZoomOptions, 'maxEnd' | 'minSpan' | 'maxSpan'>): number;
|
|
@@ -5,28 +5,39 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.calculateZoomEnd = calculateZoomEnd;
|
|
7
7
|
exports.calculateZoomFromPoint = calculateZoomFromPoint;
|
|
8
|
+
exports.calculateZoomFromPointImpl = calculateZoomFromPointImpl;
|
|
8
9
|
exports.calculateZoomStart = calculateZoomStart;
|
|
9
10
|
var _internals = require("@mui/x-charts/internals");
|
|
10
11
|
function calculateZoomFromPoint(state, axisId, point) {
|
|
12
|
+
const axis = (0, _internals.selectorChartRawAxis)(state, axisId);
|
|
13
|
+
if (!axis) {
|
|
14
|
+
return null;
|
|
15
|
+
}
|
|
16
|
+
return calculateZoomFromPointImpl((0, _internals.selectorChartDrawingArea)(state), axis, (0, _internals.selectorChartAxisZoomOptionsLookup)(state, axisId), point);
|
|
17
|
+
}
|
|
18
|
+
function calculateZoomFromPointImpl(drawingArea, axis, zoomOptions, point) {
|
|
11
19
|
const {
|
|
12
20
|
left,
|
|
13
21
|
top,
|
|
14
22
|
height,
|
|
15
23
|
width
|
|
16
|
-
} =
|
|
17
|
-
const
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
}
|
|
24
|
+
} = drawingArea;
|
|
25
|
+
const {
|
|
26
|
+
minStart,
|
|
27
|
+
maxEnd
|
|
28
|
+
} = zoomOptions;
|
|
21
29
|
const axisDirection = axis.position === 'right' || axis.position === 'left' ? 'y' : 'x';
|
|
30
|
+
const range = maxEnd - minStart;
|
|
22
31
|
let pointerZoom;
|
|
23
32
|
if (axisDirection === 'x') {
|
|
24
|
-
pointerZoom = (point.x - left) / width *
|
|
33
|
+
pointerZoom = (point.x - left) / width * range;
|
|
25
34
|
} else {
|
|
26
|
-
pointerZoom = (top + height - point.y) / height *
|
|
35
|
+
pointerZoom = (top + height - point.y) / height * range;
|
|
27
36
|
}
|
|
28
37
|
if (axis.reverse) {
|
|
29
|
-
pointerZoom =
|
|
38
|
+
pointerZoom = maxEnd - pointerZoom;
|
|
39
|
+
} else {
|
|
40
|
+
pointerZoom += minStart;
|
|
30
41
|
}
|
|
31
42
|
return pointerZoom;
|
|
32
43
|
}
|
|
@@ -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;
|