UNPKG

@tanstack/charts

Version:

A chart grammar for TypeScript and JavaScript. Marks consume your data directly, channels describe visual encodings, and the engine compiles them into a renderer-neutral keyed scene. TanStack's compact scales cover common numeric and categorical mappings.

26 lines (25 loc) 2.78 kB
import { type ChartCursorHostExtension } from './cursor-host-contract.js'; export { chartPointFromNavigationOrder, chartPointFromSceneOrder, resolveChartFocusStrategy, resolveChartPointerFocus, restoreChartFocusPoint, sameChartPointIdentity, } from './interaction.js'; import type { ChartCursorBinding, ChartCursorController, ChartCursorPresentation, ChartCursorState, ChartFocusSource, ChartFocusState, ChartFocusStrategy, ChartPoint, ChartScene, ChartValue } from './types.js'; /** Creates a framework-neutral cursor store that can be shared by many hosts. */ export declare function createChartCursor<TXValue extends ChartValue = ChartValue, TYValue extends ChartValue = ChartValue>(initialState?: ChartCursorState<TXValue, TYValue> | null): ChartCursorController<TXValue, TYValue>; /** Platform-neutral cursor behavior injected into chart hosts by a binding. */ export declare const cursorHost: ChartCursorHostExtension; /** Projects shared cursor state into one chart's plot and scales. */ export declare function resolveChartCursorPresentation<TDatum, TXValue extends ChartValue, TYValue extends ChartValue>(scene: ChartScene<TDatum, TXValue, TYValue>, binding: ChartCursorBinding<TDatum, TXValue, TYValue>, state: ChartCursorState<TXValue, TYValue> | null): ChartCursorPresentation<TXValue, TYValue> | null; /** Creates free-cursor state from a scene position without resolving a datum. */ export declare function createFreeChartCursorState<TDatum, TXValue extends ChartValue, TYValue extends ChartValue>(scene: ChartScene<TDatum, TXValue, TYValue>, binding: Extract<ChartCursorBinding<TDatum, TXValue, TYValue>, { mode: 'free'; }>, position: Readonly<{ x: number; y: number; }>, source?: ChartFocusSource, pinned?: boolean): ChartCursorState<TXValue, TYValue>; /** Creates a semantic cursor from focus selected by the existing focus engine. */ export declare function createFocusChartCursorState<TDatum, TXValue extends ChartValue, TYValue extends ChartValue>(scene: ChartScene<TDatum, TXValue, TYValue>, binding: Extract<ChartCursorBinding<TDatum, TXValue, TYValue>, { mode: 'focus'; }>, focus: ChartFocusState<TDatum, TXValue, TYValue>): ChartCursorState<TXValue, TYValue>; /** Resolves a semantic shared cursor to local points, then reuses focus grouping. */ export declare function resolveChartCursorFocus<TDatum, TXValue extends ChartValue, TYValue extends ChartValue>(points: readonly ChartPoint<TDatum, TXValue, TYValue>[], binding: Extract<ChartCursorBinding<TDatum, TXValue, TYValue>, { mode: 'focus'; }>, state: ChartCursorState<TXValue, TYValue> | null, strategy?: ChartFocusStrategy<TDatum, TXValue, TYValue>): readonly ChartPoint<TDatum, TXValue, TYValue>[]; export declare function sameChartValue(left: unknown, right: unknown): boolean;