@mui/x-charts
Version:
The community edition of MUI X Charts components.
36 lines (33 loc) • 2.2 kB
JavaScript
;
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;
});