UNPKG

react-native-chart-kit

Version:

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

103 lines 4.69 kB
import { type ChartKitThemeContextValue } from "../../theme"; import type { LineChartProps, LineChartSelectionModel } from "./types"; import { type LineChartInteractionPoint } from "./interaction"; export declare const useChartModel: <TData extends Record<string, unknown>>({ data, xKey, yKey, yKeys, series, width, height, theme, preset, decimation, curve, connectNulls, area, areaFill, showDots, dots, selectedIndex, activeDot, crosshair, tooltip, referenceBands, referenceLines, showHorizontalGridLines, showVerticalGridLines, legend, labelStrategy, labelRotation, labelMinGap, edgeLabelPolicy, yDomain, yAxisLabelWidth, formatXLabel, formatYLabel, chartKitTheme, dataIndexOffset, selectionPointer, stableYAxisData }: LineChartProps<TData> & { chartKitTheme: ChartKitThemeContextValue; dataIndexOffset?: number; selectionPointer?: { index: number; x: number; y: number; } | undefined; stableYAxisData?: TData[] | undefined; }) => { boxes: import("../../../core/index").ChartBoxes; geometries: { style: { strokeWidth: number; strokeStyle: import("./options").ResolvedLineChartStrokeStyle; dot: import("./options").ResolvedLineChartDotConfig; color: string; areaFill: import("./options").ResolvedLineChartAreaFillConfig; threshold: import("./options").ResolvedLineChartThresholdStyle | undefined; }; geometry: import("../../../core/index").LineSeriesGeometry<TData>; }[]; interactionPoints: LineChartInteractionPoint<TData>[]; legendModel: { config: import("./types").ResolvedLineChartLegendConfig; renderProps: { x: number; y: number; width: number; height: number; position: import("./types").LineChartLegendPosition; align: import("./types").LineChartLegendAlign; theme: import("../../theme").ResolvedCartesianChartTheme; items: ({ labelColor: string; labelGap: number; paddingHorizontal: number; paddingVertical: number; strokeDasharray: readonly number[] | undefined; strokeLinecap: import("./options").LineChartStrokeLinecap; strokeOpacity: number; strokeWidth: number; fontFamily: string; index: number; key: string; label: string; color: string; x: number; y: number; width: number; height: number; contentX: number; contentY: number; contentWidth: number; contentHeight: number; markerSize: number; marker: import("./types").LineChartLegendMarker; fontSize: number; } | { labelColor: string; labelGap: number; paddingHorizontal: number; paddingVertical: number; strokeDasharray: readonly number[] | undefined; strokeLinecap: import("./options").LineChartStrokeLinecap; strokeOpacity: number; strokeWidth: number; fontFamily?: never; index: number; key: string; label: string; color: string; x: number; y: number; width: number; height: number; contentX: number; contentY: number; contentWidth: number; contentHeight: number; markerSize: number; marker: import("./types").LineChartLegendMarker; fontSize: number; })[]; }; } | undefined; referenceBandModels: import("./references").LineChartReferenceBandModel[]; referenceLineModels: import("./references").LineChartReferenceLineModel[]; resolvedTheme: import("../../theme").ResolvedCartesianChartTheme; showHorizontalGridLines: boolean; showVerticalGridLines: boolean; crosshairConfig: import("./options").ResolvedLineChartCrosshairConfig; selectionModel: LineChartSelectionModel<TData> | undefined; xLabelLayout: import("./xLabels").XLabelLayout; yScale: import("../../../core/index").LinearScale; yTicks: number[]; formatYLabel: (value: number) => string; }; export type LineChartModel<TData extends Record<string, unknown>> = ReturnType<typeof useChartModel<TData>>; //# sourceMappingURL=useChartModel.d.ts.map