@mui/x-charts 7.12.0 → 7.13.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.
Files changed (196) hide show
  1. package/BarChart/BarChart.js +2 -0
  2. package/BarChart/BarPlot.js +2 -2
  3. package/BarChart/extremums.d.ts +1 -1
  4. package/BarChart/extremums.js +5 -3
  5. package/BarChart/formatter.d.ts +2 -2
  6. package/BarChart/getColor.d.ts +3 -3
  7. package/BarChart/getColor.js +4 -3
  8. package/BarChart/legend.d.ts +1 -1
  9. package/BarChart/plugin.d.ts +2 -2
  10. package/CHANGELOG.md +151 -2
  11. package/ChartContainer/ChartContainer.d.ts +4 -15
  12. package/ChartContainer/ChartContainer.js +8 -6
  13. package/ChartContainer/useChartContainerProps.d.ts +10 -7
  14. package/ChartContainer/useChartContainerProps.js +16 -19
  15. package/ChartContainer/useDefaultizeAxis.d.ts +2 -1
  16. package/ChartsTooltip/ChartsAxisTooltipContent.js +2 -2
  17. package/ChartsTooltip/ChartsItemTooltipContent.js +2 -2
  18. package/ChartsTooltip/utils.js +4 -2
  19. package/ChartsXAxis/ChartsXAxis.js +11 -5
  20. package/ChartsYAxis/ChartsYAxis.js +11 -5
  21. package/LineChart/AreaPlot.js +11 -1
  22. package/LineChart/LineChart.js +2 -0
  23. package/LineChart/extremums.d.ts +1 -1
  24. package/LineChart/extremums.js +4 -15
  25. package/LineChart/formatter.d.ts +2 -2
  26. package/LineChart/getColor.d.ts +3 -3
  27. package/LineChart/getColor.js +4 -3
  28. package/LineChart/legend.d.ts +1 -1
  29. package/LineChart/plugin.d.ts +2 -2
  30. package/PieChart/PieChart.js +2 -0
  31. package/PieChart/formatter.d.ts +2 -2
  32. package/PieChart/getColor.d.ts +3 -2
  33. package/PieChart/getColor.js +4 -3
  34. package/PieChart/legend.d.ts +1 -1
  35. package/PieChart/plugin.d.ts +2 -2
  36. package/ResponsiveChartContainer/ResponsiveChartContainer.js +2 -0
  37. package/ResponsiveChartContainer/useResponsiveChartContainerProps.d.ts +1 -2
  38. package/ScatterChart/ScatterChart.js +2 -0
  39. package/ScatterChart/extremums.d.ts +1 -1
  40. package/ScatterChart/extremums.js +6 -14
  41. package/ScatterChart/formatter.d.ts +2 -2
  42. package/ScatterChart/getColor.d.ts +3 -4
  43. package/ScatterChart/getColor.js +4 -3
  44. package/ScatterChart/legend.d.ts +1 -1
  45. package/ScatterChart/plugin.d.ts +2 -2
  46. package/SparkLineChart/SparkLineChart.js +2 -0
  47. package/context/CartesianProvider/CartesianProvider.d.ts +3 -12
  48. package/context/CartesianProvider/CartesianProvider.js +6 -4
  49. package/context/CartesianProvider/computeValue.d.ts +2 -1
  50. package/context/CartesianProvider/defaultizeAxis.d.ts +2 -1
  51. package/context/CartesianProvider/getAxisExtremum.d.ts +2 -2
  52. package/context/CartesianProvider/getAxisExtremum.js +3 -10
  53. package/context/PluginProvider/ColorProcessor.types.d.ts +8 -0
  54. package/context/PluginProvider/ExtremumGetter.types.d.ts +14 -0
  55. package/context/PluginProvider/ExtremumGetter.types.js +5 -0
  56. package/context/PluginProvider/Plugin.types.d.ts +25 -0
  57. package/context/PluginProvider/Plugin.types.js +5 -0
  58. package/context/PluginProvider/PluginContext.d.ts +4 -0
  59. package/{hooks/useColor.js → context/PluginProvider/PluginContext.js} +11 -7
  60. package/context/PluginProvider/PluginProvider.d.ts +4 -0
  61. package/context/{ColorProvider.js → PluginProvider/PluginProvider.js} +12 -11
  62. package/context/PluginProvider/SeriesFormatter.types.d.ts +21 -0
  63. package/context/PluginProvider/SeriesFormatter.types.js +5 -0
  64. package/context/PluginProvider/index.d.ts +10 -0
  65. package/context/PluginProvider/index.js +115 -0
  66. package/context/PluginProvider/mergePlugins.d.ts +36 -0
  67. package/context/PluginProvider/mergePlugins.js +37 -0
  68. package/context/PluginProvider/useColorProcessor.d.ts +4 -0
  69. package/context/PluginProvider/useColorProcessor.js +23 -0
  70. package/context/PluginProvider/useSeriesFormatter.d.ts +4 -0
  71. package/context/PluginProvider/useSeriesFormatter.js +23 -0
  72. package/context/PluginProvider/useXExtremumGetter.d.ts +4 -0
  73. package/context/PluginProvider/useXExtremumGetter.js +23 -0
  74. package/context/PluginProvider/useYExtremumGetter.d.ts +4 -0
  75. package/context/PluginProvider/useYExtremumGetter.js +23 -0
  76. package/context/SeriesProvider/Series.types.d.ts +4 -10
  77. package/context/SeriesProvider/SeriesProvider.js +2 -1
  78. package/context/SeriesProvider/index.d.ts +1 -1
  79. package/context/SeriesProvider/processSeries.d.ts +2 -1
  80. package/esm/BarChart/BarChart.js +2 -0
  81. package/esm/BarChart/BarPlot.js +1 -2
  82. package/esm/BarChart/extremums.js +5 -3
  83. package/esm/BarChart/getColor.js +3 -2
  84. package/esm/ChartContainer/ChartContainer.js +9 -7
  85. package/esm/ChartContainer/useChartContainerProps.js +14 -19
  86. package/esm/ChartsTooltip/ChartsAxisTooltipContent.js +1 -1
  87. package/esm/ChartsTooltip/ChartsItemTooltipContent.js +1 -1
  88. package/esm/ChartsTooltip/utils.js +4 -2
  89. package/esm/ChartsXAxis/ChartsXAxis.js +11 -5
  90. package/esm/ChartsYAxis/ChartsYAxis.js +11 -5
  91. package/esm/LineChart/AreaPlot.js +11 -1
  92. package/esm/LineChart/LineChart.js +2 -0
  93. package/esm/LineChart/extremums.js +4 -15
  94. package/esm/LineChart/getColor.js +3 -2
  95. package/esm/PieChart/PieChart.js +2 -0
  96. package/esm/PieChart/getColor.js +3 -2
  97. package/esm/ResponsiveChartContainer/ResponsiveChartContainer.js +2 -0
  98. package/esm/ScatterChart/ScatterChart.js +2 -0
  99. package/esm/ScatterChart/extremums.js +6 -14
  100. package/esm/ScatterChart/getColor.js +3 -2
  101. package/esm/SparkLineChart/SparkLineChart.js +2 -0
  102. package/esm/context/CartesianProvider/CartesianProvider.js +6 -4
  103. package/esm/context/CartesianProvider/getAxisExtremum.js +3 -10
  104. package/esm/context/PluginProvider/Plugin.types.js +1 -0
  105. package/esm/context/PluginProvider/PluginContext.js +13 -0
  106. package/esm/context/PluginProvider/PluginProvider.js +19 -0
  107. package/esm/context/PluginProvider/SeriesFormatter.types.js +1 -0
  108. package/esm/context/PluginProvider/index.js +10 -0
  109. package/esm/context/PluginProvider/mergePlugins.js +30 -0
  110. package/esm/context/PluginProvider/useColorProcessor.js +15 -0
  111. package/esm/context/PluginProvider/useSeriesFormatter.js +15 -0
  112. package/esm/context/PluginProvider/useXExtremumGetter.js +15 -0
  113. package/esm/context/PluginProvider/useYExtremumGetter.js +15 -0
  114. package/esm/context/SeriesProvider/SeriesProvider.js +2 -1
  115. package/esm/hooks/useTicks.js +5 -2
  116. package/esm/internals/index.js +1 -1
  117. package/esm/internals/isInfinity.js +3 -0
  118. package/esm/models/index.js +0 -1
  119. package/hooks/useTicks.js +5 -2
  120. package/index.js +1 -1
  121. package/internals/colorScale.d.ts +1 -1
  122. package/internals/defaultizeColor.d.ts +1 -0
  123. package/internals/index.d.ts +1 -1
  124. package/internals/index.js +12 -12
  125. package/internals/isInfinity.d.ts +1 -0
  126. package/internals/isInfinity.js +9 -0
  127. package/models/axis.d.ts +2 -0
  128. package/models/index.d.ts +0 -1
  129. package/models/index.js +0 -11
  130. package/models/seriesType/config.d.ts +0 -26
  131. package/models/seriesType/line.d.ts +10 -0
  132. package/modern/BarChart/BarChart.js +2 -0
  133. package/modern/BarChart/BarPlot.js +1 -2
  134. package/modern/BarChart/extremums.js +5 -3
  135. package/modern/BarChart/getColor.js +3 -2
  136. package/modern/ChartContainer/ChartContainer.js +9 -7
  137. package/modern/ChartContainer/useChartContainerProps.js +14 -19
  138. package/modern/ChartsTooltip/ChartsAxisTooltipContent.js +1 -1
  139. package/modern/ChartsTooltip/ChartsItemTooltipContent.js +1 -1
  140. package/modern/ChartsTooltip/utils.js +4 -2
  141. package/modern/ChartsXAxis/ChartsXAxis.js +11 -5
  142. package/modern/ChartsYAxis/ChartsYAxis.js +11 -5
  143. package/modern/LineChart/AreaPlot.js +11 -1
  144. package/modern/LineChart/LineChart.js +2 -0
  145. package/modern/LineChart/extremums.js +4 -15
  146. package/modern/LineChart/getColor.js +3 -2
  147. package/modern/PieChart/PieChart.js +2 -0
  148. package/modern/PieChart/getColor.js +3 -2
  149. package/modern/ResponsiveChartContainer/ResponsiveChartContainer.js +2 -0
  150. package/modern/ScatterChart/ScatterChart.js +2 -0
  151. package/modern/ScatterChart/extremums.js +6 -14
  152. package/modern/ScatterChart/getColor.js +3 -2
  153. package/modern/SparkLineChart/SparkLineChart.js +2 -0
  154. package/modern/context/CartesianProvider/CartesianProvider.js +6 -4
  155. package/modern/context/CartesianProvider/getAxisExtremum.js +3 -10
  156. package/modern/context/PluginProvider/ColorProcessor.types.js +1 -0
  157. package/modern/context/PluginProvider/ExtremumGetter.types.js +1 -0
  158. package/modern/context/PluginProvider/Plugin.types.js +1 -0
  159. package/modern/context/PluginProvider/PluginContext.js +13 -0
  160. package/modern/context/PluginProvider/PluginProvider.js +19 -0
  161. package/modern/context/PluginProvider/SeriesFormatter.types.js +1 -0
  162. package/modern/context/PluginProvider/index.js +10 -0
  163. package/modern/context/PluginProvider/mergePlugins.js +30 -0
  164. package/modern/context/PluginProvider/useColorProcessor.js +15 -0
  165. package/modern/context/PluginProvider/useSeriesFormatter.js +15 -0
  166. package/modern/context/PluginProvider/useXExtremumGetter.js +15 -0
  167. package/modern/context/PluginProvider/useYExtremumGetter.js +15 -0
  168. package/modern/context/SeriesProvider/SeriesProvider.js +2 -1
  169. package/modern/hooks/useTicks.js +5 -2
  170. package/modern/index.js +1 -1
  171. package/modern/internals/index.js +1 -1
  172. package/modern/internals/isInfinity.js +3 -0
  173. package/modern/models/index.js +0 -1
  174. package/package.json +2 -2
  175. package/ChartContainer/defaultPlugins.d.ts +0 -2
  176. package/ChartContainer/defaultPlugins.js +0 -11
  177. package/ChartContainer/useChartContainerHooks.d.ts +0 -11
  178. package/ChartContainer/useChartContainerHooks.js +0 -34
  179. package/ChartContainer/usePluginsMerge.d.ts +0 -9
  180. package/ChartContainer/usePluginsMerge.js +0 -39
  181. package/context/ColorProvider.d.ts +0 -12
  182. package/esm/ChartContainer/defaultPlugins.js +0 -5
  183. package/esm/ChartContainer/useChartContainerHooks.js +0 -24
  184. package/esm/ChartContainer/usePluginsMerge.js +0 -31
  185. package/esm/context/ColorProvider.js +0 -16
  186. package/esm/hooks/useColor.js +0 -9
  187. package/hooks/useColor.d.ts +0 -4
  188. package/models/plugin.d.ts +0 -19
  189. package/modern/ChartContainer/defaultPlugins.js +0 -5
  190. package/modern/ChartContainer/useChartContainerHooks.js +0 -24
  191. package/modern/ChartContainer/usePluginsMerge.js +0 -31
  192. package/modern/context/ColorProvider.js +0 -16
  193. package/modern/hooks/useColor.js +0 -9
  194. /package/{models/plugin.js → context/PluginProvider/ColorProcessor.types.js} +0 -0
  195. /package/esm/{models/plugin.js → context/PluginProvider/ColorProcessor.types.js} +0 -0
  196. /package/{modern/models/plugin.js → esm/context/PluginProvider/ExtremumGetter.types.js} +0 -0
@@ -1,9 +0,0 @@
1
- import { ChartsPluginType, ColorProcessorsConfig, ExtremumGettersConfig } from '../models';
2
- import { ChartSeriesType } from '../models/seriesType/config';
3
- import { SeriesFormatterConfig } from '../context/SeriesProvider';
4
- export declare function usePluginsMerge<T extends ChartSeriesType>(plugins?: ChartsPluginType<T>[]): {
5
- seriesFormatters: SeriesFormatterConfig<keyof import("../models/seriesType/config").ChartsSeriesConfig>;
6
- colorProcessors: ColorProcessorsConfig<keyof import("../models/seriesType/config").ChartsSeriesConfig>;
7
- xExtremumGetters: ExtremumGettersConfig<keyof import("../models/seriesType/config").ChartsSeriesConfig>;
8
- yExtremumGetters: ExtremumGettersConfig<keyof import("../models/seriesType/config").ChartsSeriesConfig>;
9
- };
@@ -1,39 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.usePluginsMerge = usePluginsMerge;
7
- var React = _interopRequireWildcard(require("react"));
8
- var _defaultPlugins = require("./defaultPlugins");
9
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
10
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
11
- function usePluginsMerge(plugins) {
12
- const defaultizedPlugins = plugins ?? _defaultPlugins.defaultPlugins;
13
- return React.useMemo(() => {
14
- const seriesFormatters = {};
15
- const colorProcessors = {};
16
- const xExtremumGetters = {};
17
- const yExtremumGetters = {};
18
- for (let i = 0; i < defaultizedPlugins.length; i += 1) {
19
- const plugin = defaultizedPlugins[i];
20
-
21
- // To remove those any we will need to solve this union discrimination issue:
22
- // https://www.typescriptlang.org/play/?#code/FDAuE8AcFMAIDkCuBbARtATgYQPYDsAzASwHNYBeWAb2FlgGsi8ATALlgHI8V0MOBuWrBwwMAQ1A4M7ABQAPdtzSYAlBQB8sJb0EBfEBBiwAyqAxMSuQqQrUhjFuw4BnMxYFCRmCVNkLYruZ4JGrkmoEWeiAAxviuWqhWxCTsSMrY+Mm2VAxMbLAARNqYBQA0wqI+0rByGrAATLAAVDWw+rF48YFJpOymQZaZNpQ5DvkFEcFlFd6S1bVhsAAG9S0AJFRyukttMXGgsB3JzrYA2niJQyTl3VcAugZQcADylXPOALJikJAW2ULFDAAflSPEwPRIpw4XnEcw4d1KQkmJBBJjcwQhUJhVXhiN0gmAHXi2LmXx+FnYr1mUk+31+wWy+JABCksBkABtoAcjjYcARDldnGoaCA6AB6MWwADqUnoJxw9FgRH5AHc4L9ooroGJogALQ5iZxwPJEABuRGYiDE7PASJVRFAerZPJIADoxsKhHRooa4FwwXxWF66DNYVIyfTIS73Xk7rZoySpIIQyHUBhtfRkyGfUbOMiOEGU3RExgIxZTtGxnHKAm3kng8xoAQxIh2aBC0W0xms-pvftqLkWOUS2141chBLYABJDimuB4HBKxtiWBiVA4RAHXU4FWwSSwTkHAAqxlgiBYmFcYhYAusbrGq5vtepGFX6YPTHo0GYnjrpbp5ZVrYJZ6EAA
23
- seriesFormatters[plugin.seriesType] = plugin.seriesFormatter;
24
- colorProcessors[plugin.seriesType] = plugin.colorProcessor;
25
- if (plugin.xExtremumGetter) {
26
- xExtremumGetters[plugin.seriesType] = plugin.xExtremumGetter;
27
- }
28
- if (plugin.yExtremumGetter) {
29
- yExtremumGetters[plugin.seriesType] = plugin.yExtremumGetter;
30
- }
31
- }
32
- return {
33
- seriesFormatters,
34
- colorProcessors,
35
- xExtremumGetters,
36
- yExtremumGetters
37
- };
38
- }, [defaultizedPlugins]);
39
- }
@@ -1,12 +0,0 @@
1
- import * as React from 'react';
2
- import { ColorProcessorsConfig } from '../models';
3
- import { ChartSeriesType } from '../models/seriesType/config';
4
- export interface ColorProviderProps {
5
- children: React.ReactNode;
6
- /**
7
- * A mapping defining for each series type how to get item colors.
8
- */
9
- colorProcessors: ColorProcessorsConfig<ChartSeriesType>;
10
- }
11
- export declare const ColorContext: React.Context<ColorProcessorsConfig<keyof import("../models/seriesType/config").ChartsSeriesConfig>>;
12
- export declare function ColorProvider(props: ColorProviderProps): React.JSX.Element;
@@ -1,5 +0,0 @@
1
- import { plugin as barPlugin } from '../BarChart/plugin';
2
- import { plugin as scatterPlugin } from '../ScatterChart/plugin';
3
- import { plugin as linePlugin } from '../LineChart/plugin';
4
- import { plugin as piePlugin } from '../PieChart/plugin';
5
- export const defaultPlugins = [barPlugin, scatterPlugin, linePlugin, piePlugin];
@@ -1,24 +0,0 @@
1
- import useForkRef from '@mui/utils/useForkRef';
2
- import * as React from 'react';
3
- import { usePluginsMerge } from './usePluginsMerge';
4
- import { useReducedMotion } from '../hooks/useReducedMotion';
5
- export const useChartContainerHooks = (ref, plugins) => {
6
- const svgRef = React.useRef(null);
7
- const chartSurfaceRef = useForkRef(ref, svgRef);
8
- const {
9
- xExtremumGetters,
10
- yExtremumGetters,
11
- seriesFormatters,
12
- colorProcessors
13
- } = usePluginsMerge(plugins);
14
- useReducedMotion(); // a11y reduce motion (see: https://react-spring.dev/docs/utilities/use-reduced-motion)
15
-
16
- return {
17
- svgRef,
18
- chartSurfaceRef,
19
- xExtremumGetters,
20
- yExtremumGetters,
21
- seriesFormatters,
22
- colorProcessors
23
- };
24
- };
@@ -1,31 +0,0 @@
1
- import * as React from 'react';
2
- import { defaultPlugins } from './defaultPlugins';
3
- export function usePluginsMerge(plugins) {
4
- const defaultizedPlugins = plugins ?? defaultPlugins;
5
- return React.useMemo(() => {
6
- const seriesFormatters = {};
7
- const colorProcessors = {};
8
- const xExtremumGetters = {};
9
- const yExtremumGetters = {};
10
- for (let i = 0; i < defaultizedPlugins.length; i += 1) {
11
- const plugin = defaultizedPlugins[i];
12
-
13
- // To remove those any we will need to solve this union discrimination issue:
14
- // https://www.typescriptlang.org/play/?#code/FDAuE8AcFMAIDkCuBbARtATgYQPYDsAzASwHNYBeWAb2FlgGsi8ATALlgHI8V0MOBuWrBwwMAQ1A4M7ABQAPdtzSYAlBQB8sJb0EBfEBBiwAyqAxMSuQqQrUhjFuw4BnMxYFCRmCVNkLYruZ4JGrkmoEWeiAAxviuWqhWxCTsSMrY+Mm2VAxMbLAARNqYBQA0wqI+0rByGrAATLAAVDWw+rF48YFJpOymQZaZNpQ5DvkFEcFlFd6S1bVhsAAG9S0AJFRyukttMXGgsB3JzrYA2niJQyTl3VcAugZQcADylXPOALJikJAW2ULFDAAflSPEwPRIpw4XnEcw4d1KQkmJBBJjcwQhUJhVXhiN0gmAHXi2LmXx+FnYr1mUk+31+wWy+JABCksBkABtoAcjjYcARDldnGoaCA6AB6MWwADqUnoJxw9FgRH5AHc4L9ooroGJogALQ5iZxwPJEABuRGYiDE7PASJVRFAerZPJIADoxsKhHRooa4FwwXxWF66DNYVIyfTIS73Xk7rZoySpIIQyHUBhtfRkyGfUbOMiOEGU3RExgIxZTtGxnHKAm3kng8xoAQxIh2aBC0W0xms-pvftqLkWOUS2141chBLYABJDimuB4HBKxtiWBiVA4RAHXU4FWwSSwTkHAAqxlgiBYmFcYhYAusbrGq5vtepGFX6YPTHo0GYnjrpbp5ZVrYJZ6EAA
15
- seriesFormatters[plugin.seriesType] = plugin.seriesFormatter;
16
- colorProcessors[plugin.seriesType] = plugin.colorProcessor;
17
- if (plugin.xExtremumGetter) {
18
- xExtremumGetters[plugin.seriesType] = plugin.xExtremumGetter;
19
- }
20
- if (plugin.yExtremumGetter) {
21
- yExtremumGetters[plugin.seriesType] = plugin.yExtremumGetter;
22
- }
23
- }
24
- return {
25
- seriesFormatters,
26
- colorProcessors,
27
- xExtremumGetters,
28
- yExtremumGetters
29
- };
30
- }, [defaultizedPlugins]);
31
- }
@@ -1,16 +0,0 @@
1
- import * as React from 'react';
2
- import { jsx as _jsx } from "react/jsx-runtime";
3
- export const ColorContext = /*#__PURE__*/React.createContext({});
4
- if (process.env.NODE_ENV !== 'production') {
5
- ColorContext.displayName = 'ColorContext';
6
- }
7
- export function ColorProvider(props) {
8
- const {
9
- colorProcessors,
10
- children
11
- } = props;
12
- return /*#__PURE__*/_jsx(ColorContext.Provider, {
13
- value: colorProcessors,
14
- children: children
15
- });
16
- }
@@ -1,9 +0,0 @@
1
- import * as React from 'react';
2
- import { ColorContext } from '../context/ColorProvider';
3
- export function useColorProcessor(seriesType) {
4
- const colorProcessors = React.useContext(ColorContext);
5
- if (!seriesType) {
6
- return colorProcessors;
7
- }
8
- return colorProcessors[seriesType];
9
- }
@@ -1,4 +0,0 @@
1
- import { ChartSeriesType } from '../models/seriesType/config';
2
- import { ColorProcessorsConfig } from '../models/plugin';
3
- export declare function useColorProcessor<T extends ChartSeriesType>(seriesType: T): ColorProcessorsConfig<ChartSeriesType>;
4
- export declare function useColorProcessor(): ColorProcessorsConfig<ChartSeriesType>;
@@ -1,19 +0,0 @@
1
- import { CartesianChartSeriesType, ChartSeriesType, ExtremumGetter, Formatter } from './seriesType/config';
2
- import { AxisDefaultized } from './axis';
3
- import { DefaultizedSeriesType } from './seriesType';
4
- import { ZAxisDefaultized } from './z-axis';
5
- type ColorProcessor<T extends ChartSeriesType> = (series: DefaultizedSeriesType<T>, xAxis?: AxisDefaultized, yAxis?: AxisDefaultized, zAxis?: ZAxisDefaultized) => (dataIndex: number) => string;
6
- export type ColorProcessorsConfig<T extends ChartSeriesType> = {
7
- [Key in T]?: ColorProcessor<Key>;
8
- };
9
- export type ChartsPluginType<T> = T extends ChartSeriesType ? {
10
- seriesType: T;
11
- seriesFormatter: Formatter<T>;
12
- colorProcessor: ColorProcessor<T>;
13
- xExtremumGetter?: ExtremumGetter<T>;
14
- yExtremumGetter?: ExtremumGetter<T>;
15
- } : never;
16
- export type ExtremumGettersConfig<T extends ChartSeriesType = CartesianChartSeriesType> = {
17
- [K in T]?: ExtremumGetter<K>;
18
- };
19
- export {};
@@ -1,5 +0,0 @@
1
- import { plugin as barPlugin } from '../BarChart/plugin';
2
- import { plugin as scatterPlugin } from '../ScatterChart/plugin';
3
- import { plugin as linePlugin } from '../LineChart/plugin';
4
- import { plugin as piePlugin } from '../PieChart/plugin';
5
- export const defaultPlugins = [barPlugin, scatterPlugin, linePlugin, piePlugin];
@@ -1,24 +0,0 @@
1
- import useForkRef from '@mui/utils/useForkRef';
2
- import * as React from 'react';
3
- import { usePluginsMerge } from './usePluginsMerge';
4
- import { useReducedMotion } from '../hooks/useReducedMotion';
5
- export const useChartContainerHooks = (ref, plugins) => {
6
- const svgRef = React.useRef(null);
7
- const chartSurfaceRef = useForkRef(ref, svgRef);
8
- const {
9
- xExtremumGetters,
10
- yExtremumGetters,
11
- seriesFormatters,
12
- colorProcessors
13
- } = usePluginsMerge(plugins);
14
- useReducedMotion(); // a11y reduce motion (see: https://react-spring.dev/docs/utilities/use-reduced-motion)
15
-
16
- return {
17
- svgRef,
18
- chartSurfaceRef,
19
- xExtremumGetters,
20
- yExtremumGetters,
21
- seriesFormatters,
22
- colorProcessors
23
- };
24
- };
@@ -1,31 +0,0 @@
1
- import * as React from 'react';
2
- import { defaultPlugins } from './defaultPlugins';
3
- export function usePluginsMerge(plugins) {
4
- const defaultizedPlugins = plugins ?? defaultPlugins;
5
- return React.useMemo(() => {
6
- const seriesFormatters = {};
7
- const colorProcessors = {};
8
- const xExtremumGetters = {};
9
- const yExtremumGetters = {};
10
- for (let i = 0; i < defaultizedPlugins.length; i += 1) {
11
- const plugin = defaultizedPlugins[i];
12
-
13
- // To remove those any we will need to solve this union discrimination issue:
14
- // https://www.typescriptlang.org/play/?#code/FDAuE8AcFMAIDkCuBbARtATgYQPYDsAzASwHNYBeWAb2FlgGsi8ATALlgHI8V0MOBuWrBwwMAQ1A4M7ABQAPdtzSYAlBQB8sJb0EBfEBBiwAyqAxMSuQqQrUhjFuw4BnMxYFCRmCVNkLYruZ4JGrkmoEWeiAAxviuWqhWxCTsSMrY+Mm2VAxMbLAARNqYBQA0wqI+0rByGrAATLAAVDWw+rF48YFJpOymQZaZNpQ5DvkFEcFlFd6S1bVhsAAG9S0AJFRyukttMXGgsB3JzrYA2niJQyTl3VcAugZQcADylXPOALJikJAW2ULFDAAflSPEwPRIpw4XnEcw4d1KQkmJBBJjcwQhUJhVXhiN0gmAHXi2LmXx+FnYr1mUk+31+wWy+JABCksBkABtoAcjjYcARDldnGoaCA6AB6MWwADqUnoJxw9FgRH5AHc4L9ooroGJogALQ5iZxwPJEABuRGYiDE7PASJVRFAerZPJIADoxsKhHRooa4FwwXxWF66DNYVIyfTIS73Xk7rZoySpIIQyHUBhtfRkyGfUbOMiOEGU3RExgIxZTtGxnHKAm3kng8xoAQxIh2aBC0W0xms-pvftqLkWOUS2141chBLYABJDimuB4HBKxtiWBiVA4RAHXU4FWwSSwTkHAAqxlgiBYmFcYhYAusbrGq5vtepGFX6YPTHo0GYnjrpbp5ZVrYJZ6EAA
15
- seriesFormatters[plugin.seriesType] = plugin.seriesFormatter;
16
- colorProcessors[plugin.seriesType] = plugin.colorProcessor;
17
- if (plugin.xExtremumGetter) {
18
- xExtremumGetters[plugin.seriesType] = plugin.xExtremumGetter;
19
- }
20
- if (plugin.yExtremumGetter) {
21
- yExtremumGetters[plugin.seriesType] = plugin.yExtremumGetter;
22
- }
23
- }
24
- return {
25
- seriesFormatters,
26
- colorProcessors,
27
- xExtremumGetters,
28
- yExtremumGetters
29
- };
30
- }, [defaultizedPlugins]);
31
- }
@@ -1,16 +0,0 @@
1
- import * as React from 'react';
2
- import { jsx as _jsx } from "react/jsx-runtime";
3
- export const ColorContext = /*#__PURE__*/React.createContext({});
4
- if (process.env.NODE_ENV !== 'production') {
5
- ColorContext.displayName = 'ColorContext';
6
- }
7
- export function ColorProvider(props) {
8
- const {
9
- colorProcessors,
10
- children
11
- } = props;
12
- return /*#__PURE__*/_jsx(ColorContext.Provider, {
13
- value: colorProcessors,
14
- children: children
15
- });
16
- }
@@ -1,9 +0,0 @@
1
- import * as React from 'react';
2
- import { ColorContext } from '../context/ColorProvider';
3
- export function useColorProcessor(seriesType) {
4
- const colorProcessors = React.useContext(ColorContext);
5
- if (!seriesType) {
6
- return colorProcessors;
7
- }
8
- return colorProcessors[seriesType];
9
- }