UNPKG

@antv/g2

Version:

the Grammar of Graphics in Javascript

57 lines (47 loc) 1.42 kB
import { Coordinate, Vector2 } from '@antv/coord'; import { Primitive } from 'd3-array'; import { Channel } from './common'; import { Scale } from './component'; import { TransformSpec } from './transform'; // @todo Remove any. export type MarkOptions = Record<string, any>; export type CompositeMarkOptions = Record<string, any>; export type MarkComponent<O extends MarkOptions = MarkOptions> = { (options?: O): Mark; props?: MarkProps; }; export type CompositeMarkComponent< O extends CompositeMarkOptions = CompositeMarkOptions, > = { (options?: O, context?: any): CompositeMark; props?: MarkProps; }; export type MarkProps = { defaultShape?: string; defaultLabelShape?: string; channels?: Channel[]; preInference?: TransformSpec[]; postInference?: TransformSpec[]; shape?: Record< string, { (...args: any[]): any; props?: Record<string, any> } >; composite?: boolean; interaction?: { shareTooltip?: boolean; seriesTooltip?: boolean; crosshairs?: boolean; }; }; export type Mark = CompositeMark | SingleMark; export type CompositeMark = | Promise<MarkOptions[] | MarkOptions> | MarkOptions[] | MarkOptions; export type SingleMark = ( I: number[], scale: Record<string, Scale>, channel: MarkChannel, coordinate: Coordinate, ) => [I: number[], point2d: Vector2[][], series?: number[][]]; export type MarkChannel = Record<string, Primitive[]>;