UNPKG

@mui/x-charts

Version:

The community edition of MUI X Charts components.

36 lines (33 loc) 2.2 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.selectorChartYAxisDomainsForAutoSize = exports.selectorChartXAxisDomainsForAutoSize = void 0; var _store = require("@mui/x-internals/store"); var _useChartCartesianAxisLayout = require("./useChartCartesianAxisLayout.selectors"); var _useChartSeries = require("../../corePlugins/useChartSeries/useChartSeries.selectors"); var _useChartAxisExtrema = require("./useChartAxisExtrema.selectors"); var _domain = require("./domain"); /** * Default tick number used for auto-size domain computation. * We use a fixed value instead of deriving it from the drawing area * to avoid a circular dependency (auto-size → drawing area → axis sizes → auto-size). */ const DEFAULT_TICK_NUMBER = 8; const EMPTY_DOMAINS = {}; /** * Selector that computes niced domains for X axes. * Used by auto-size to get accurate tick labels that match what the chart actually displays. */ const selectorChartXAxisDomainsForAutoSize = exports.selectorChartXAxisDomainsForAutoSize = (0, _store.createSelectorMemoized)(_useChartCartesianAxisLayout.selectorChartRawXAxis, _useChartSeries.selectorChartSeriesProcessed, _useChartAxisExtrema.selectorChartXAxisExtrema, function selectorChartXAxisDomainsForAutoSize(axes, formattedSeries, extremaMap) { const domains = (0, _domain.computeAxisDomainsMap)(axes, formattedSeries, DEFAULT_TICK_NUMBER, extremaMap, 'x'); return Object.keys(domains).length > 0 ? domains : EMPTY_DOMAINS; }); /** * Selector that computes niced domains for Y axes. * Used by auto-size to get accurate tick labels that match what the chart actually displays. */ const selectorChartYAxisDomainsForAutoSize = exports.selectorChartYAxisDomainsForAutoSize = (0, _store.createSelectorMemoized)(_useChartCartesianAxisLayout.selectorChartRawYAxis, _useChartSeries.selectorChartSeriesProcessed, _useChartAxisExtrema.selectorChartYAxisExtrema, function selectorChartYAxisDomainsForAutoSize(axes, formattedSeries, extremaMap) { const domains = (0, _domain.computeAxisDomainsMap)(axes, formattedSeries, DEFAULT_TICK_NUMBER, extremaMap, 'y'); return Object.keys(domains).length > 0 ? domains : EMPTY_DOMAINS; });