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.

32 lines (31 loc) 2.57 kB
import type { StackOptions } from './stack.js'; import { type TransformLineage, type TransformValue, type TransformValueOutput } from './transform.js'; import type { ChartKey, ChartValue } from './types.js'; export interface StackRowsYOptions<TDatum, TX extends TransformValue<TDatum, ChartValue> = TransformValue<TDatum, ChartValue>, TY extends TransformValue<TDatum, number | null | undefined> = TransformValue<TDatum, number | null | undefined>, TZ extends TransformValue<TDatum, ChartKey> | undefined = TransformValue<TDatum, ChartKey> | undefined> extends StackOptions { x: TX; y: TY; z?: TZ; } export interface StackRowsXOptions<TDatum, TX extends TransformValue<TDatum, number | null | undefined> = TransformValue<TDatum, number | null | undefined>, TY extends TransformValue<TDatum, ChartValue> = TransformValue<TDatum, ChartValue>, TZ extends TransformValue<TDatum, ChartKey> | undefined = TransformValue<TDatum, ChartKey> | undefined> extends StackOptions { x: TX; y: TY; z?: TZ; } export type StackRowsYDatum<TDatum, TXValue extends ChartValue, TZValue extends ChartKey> = TDatum & TransformLineage<TDatum> & { readonly x: TXValue; readonly y: number; readonly y1: number; readonly y2: number; readonly z: TZValue; }; export type StackRowsXDatum<TDatum, TYValue extends ChartValue, TZValue extends ChartKey> = TDatum & TransformLineage<TDatum> & { readonly x: number; readonly x1: number; readonly x2: number; readonly y: TYValue; readonly z: TZValue; }; type StackSeries<TDatum, TZ> = TZ extends TransformValue<TDatum, ChartKey> ? TransformValueOutput<TDatum, TZ> : 'value'; export declare function stackRowsY<TDatum extends object, const TX extends TransformValue<TDatum, ChartValue>, const TY extends TransformValue<TDatum, number | null | undefined>, const TZ extends TransformValue<TDatum, ChartKey> | undefined = undefined>(source: Iterable<TDatum>, options: StackRowsYOptions<TDatum, TX, TY, TZ>): StackRowsYDatum<TDatum, Extract<TransformValueOutput<TDatum, TX>, ChartValue>, Extract<StackSeries<TDatum, TZ>, ChartKey>>[]; export declare function stackRowsX<TDatum extends object, const TX extends TransformValue<TDatum, number | null | undefined>, const TY extends TransformValue<TDatum, ChartValue>, const TZ extends TransformValue<TDatum, ChartKey> | undefined = undefined>(source: Iterable<TDatum>, options: StackRowsXOptions<TDatum, TX, TY, TZ>): StackRowsXDatum<TDatum, Extract<TransformValueOutput<TDatum, TY>, ChartValue>, Extract<StackSeries<TDatum, TZ>, ChartKey>>[]; export {};