UNPKG

@mui/x-charts

Version:

The community edition of MUI X Charts components.

78 lines (76 loc) 2.43 kB
"use strict"; 'use client'; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default; Object.defineProperty(exports, "__esModule", { value: true }); exports.useChartSeries = void 0; var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); var _useEffectAfterFirstRender = require("@mui/x-internals/useEffectAfterFirstRender"); var _useEventCallback = _interopRequireDefault(require("@mui/utils/useEventCallback")); var _colorPalettes = require("../../../../colorPalettes"); var _processSeries = require("./processSeries"); var _serializeIdentifier = require("./serializeIdentifier"); const useChartSeries = ({ params, store, seriesConfig }) => { const { series, dataset, theme, colors } = params; // The effect do not track any value defined synchronously during the 1st render by hooks called after `useChartSeries` // As a consequence, the state generated by the 1st run of this useEffect will always be equal to the initialization one (0, _useEffectAfterFirstRender.useEffectAfterFirstRender)(() => { store.set('series', (0, _extends2.default)({}, store.state.series, { defaultizedSeries: (0, _processSeries.defaultizeSeries)({ series, colors: typeof colors === 'function' ? colors(theme) : colors, seriesConfig }), dataset })); }, [colors, dataset, series, theme, seriesConfig, store]); const serializeIdentifier = (0, _useEventCallback.default)(identifier => (0, _serializeIdentifier.serializeIdentifier)(seriesConfig, identifier)); return { instance: { serializeIdentifier } }; }; exports.useChartSeries = useChartSeries; useChartSeries.params = { dataset: true, series: true, colors: true, theme: true }; const EMPTY_ARRAY = []; useChartSeries.getDefaultizedParams = ({ params }) => (0, _extends2.default)({}, params, { series: params.series?.length ? params.series : EMPTY_ARRAY, colors: params.colors ?? _colorPalettes.rainbowSurgePalette, theme: params.theme ?? 'light' }); useChartSeries.getInitialState = ({ series = [], colors, theme, dataset }, _, seriesConfig) => { return { series: { seriesConfig, defaultizedSeries: (0, _processSeries.defaultizeSeries)({ series, colors: typeof colors === 'function' ? colors(theme) : colors, seriesConfig }), dataset } }; };