UNPKG

react-native-chart-kit

Version:

Beautiful React Native charts for dashboards, reports, and data-rich mobile apps.

36 lines (35 loc) 1.35 kB
import { useEffect, useMemo } from "react"; import { buildLineChartDebugLayoutModel } from "./debugLayout"; import { getFontFamilyProps, measureLineChartText } from "./text"; export const useLineChartDebugLayout = ({ enabled, model, onLayoutDebug, tooltip, yAxisLabels }) => { const { boxes, legendModel, resolvedTheme, xLabelLayout } = model; const debugLayoutModel = useMemo(() => enabled ? buildLineChartDebugLayoutModel({ boxes, legendItems: legendModel?.renderProps.items, measureYLabel: (text) => measureLineChartText(text, { fontSize: resolvedTheme.typography.axisLabelSize, ...getFontFamilyProps(resolvedTheme.typography.fontFamily) }), tooltip, xLabels: xLabelLayout.items, yAxisLabelFontSize: resolvedTheme.typography.axisLabelSize, yLabels: yAxisLabels }) : undefined, [ boxes, enabled, legendModel, resolvedTheme.typography.axisLabelSize, resolvedTheme.typography.fontFamily, tooltip, xLabelLayout.items, yAxisLabels ]); useEffect(() => { if (debugLayoutModel) { onLayoutDebug?.(debugLayoutModel); } }, [debugLayoutModel, onLayoutDebug]); return debugLayoutModel; };