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.

24 lines (23 loc) 1.9 kB
import type { Channel, ChartKey, ChartMark, ChartMarkMotionOptions, ChartMotionDefinition, ChartSpec, ChartSpecDatum, ChartValue, StaticChartDefinition } from './types.js'; export type FacetAxes = 'outer' | 'cell'; export interface FacetChartContext { key: ChartKey; } export interface FacetOptions<TDatum, TChildSpec extends ChartSpec = StaticChartDefinition<TDatum>> extends ChartMarkMotionOptions<ChartSpecDatum<TChildSpec>> { id?: string; by: Channel<TDatum, ChartKey>; chart: (data: readonly [TDatum, ...TDatum[]], context: FacetChartContext) => TChildSpec; columns?: number; minWidth?: number; gap?: number; label?: boolean | ((key: ChartKey) => string); axes?: FacetAxes; } type FacetChartInput<TDatum> = (data: readonly [TDatum, ...TDatum[]], context: FacetChartContext) => unknown; type FacetOptionsInput<TDatum, TChart extends FacetChartInput<TDatum>> = Omit<FacetOptions<TDatum>, 'chart' | 'motion'> & { chart: TChart; motion?: ChartMotionDefinition<ChartSpecDatum<Extract<ReturnType<TChart>, ChartSpec>>>; } & ([ReturnType<TChart>] extends [ChartSpec] ? unknown : never); export declare function facet<TDatum, TChart extends FacetChartInput<NoInfer<TDatum>> = (data: readonly [TDatum, ...TDatum[]], context: FacetChartContext) => StaticChartDefinition<TDatum>>(source: Iterable<TDatum>, options: FacetOptionsInput<NoInfer<TDatum>, TChart>): ChartMark<ChartSpecDatum<Extract<ReturnType<TChart>, ChartSpec>>, ChartValue, ChartValue, never, never>; export declare function facetChart<TDatum, TChart extends FacetChartInput<NoInfer<TDatum>> = (data: readonly [TDatum, ...TDatum[]], context: FacetChartContext) => StaticChartDefinition<TDatum>>(source: Iterable<TDatum>, options: FacetOptionsInput<NoInfer<TDatum>, TChart>): StaticChartDefinition<ChartSpecDatum<Extract<ReturnType<TChart>, ChartSpec>>, ChartValue, ChartValue, never>; export {};