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.

13 lines (12 loc) 1.28 kB
import type { ChartMark, ChartMarkDatum, ChartMarkMotionOptions, ChartMarkPointX, ChartMarkPointY } from './types.js'; type AnyChartMark = ChartMark<any, any, any, any, any, any, any>; type ChartMarkScaleIdX<TMark> = TMark extends ChartMark<any, any, any, any, any, infer TScaleId, any> ? TScaleId : never; type ChartMarkAnyScaleX<TMark> = TMark extends ChartMark<any, any, any, infer TValue, any, any, any> ? TValue : never; type ChartMarkAnyScaleY<TMark> = TMark extends ChartMark<any, any, any, any, infer TValue, any, any> ? TValue : never; type ChartMarkScaleIdY<TMark> = TMark extends ChartMark<any, any, any, any, any, any, infer TScaleId> ? TScaleId : never; export interface CompositeMarkOptions<TDatum = unknown> extends ChartMarkMotionOptions<TDatum> { id?: string; } /** Combines ordinary child marks into one namespaced chart mark. */ export declare function compositeMark<const TMarks extends readonly AnyChartMark[]>(marks: TMarks, options?: CompositeMarkOptions<ChartMarkDatum<TMarks[number]>>): ChartMark<ChartMarkDatum<TMarks[number]>, ChartMarkPointX<TMarks[number]>, ChartMarkPointY<TMarks[number]>, ChartMarkAnyScaleX<TMarks[number]>, ChartMarkAnyScaleY<TMarks[number]>, ChartMarkScaleIdX<TMarks[number]>, ChartMarkScaleIdY<TMarks[number]>>; export {};