UNPKG

echarts

Version:

Apache ECharts is a powerful, interactive charting and data visualization library for browser

1,259 lines (1,229 loc) 404 kB
interface GradientObject { id?: number; type: string; colorStops: GradientColorStop[]; global?: boolean; } interface GradientColorStop { offset: number; color: string; } declare class Gradient { id?: number; type: string; colorStops: GradientColorStop[]; global: boolean; constructor(colorStops: GradientColorStop[]); addColorStop(offset: number, color: string): void; } interface RadialGradientObject extends GradientObject { type: 'radial'; x: number; y: number; r: number; } declare class RadialGradient extends Gradient { type: 'radial'; x: number; y: number; r: number; constructor(x: number, y: number, r: number, colorStops?: GradientColorStop[], globalCoord?: boolean); } interface LinearGradientObject extends GradientObject { type: 'linear'; x: number; y: number; x2: number; y2: number; } declare class LinearGradient extends Gradient { type: 'linear'; x: number; y: number; x2: number; y2: number; constructor(x: number, y: number, x2: number, y2: number, colorStops?: GradientColorStop[], globalCoord?: boolean); } declare type Dictionary<T> = { [key: string]: T; }; declare type ArrayLike$1<T> = { [key: number]: T; length: number; }; declare type ImageLike = HTMLImageElement | HTMLCanvasElement | HTMLVideoElement; declare type TextVerticalAlign = 'top' | 'middle' | 'bottom'; declare type TextAlign = 'left' | 'center' | 'right'; declare type FontWeight = 'normal' | 'bold' | 'bolder' | 'lighter' | number; declare type FontStyle = 'normal' | 'italic' | 'oblique'; declare type BuiltinTextPosition = 'left' | 'right' | 'top' | 'bottom' | 'inside' | 'insideLeft' | 'insideRight' | 'insideTop' | 'insideBottom' | 'insideTopLeft' | 'insideTopRight' | 'insideBottomLeft' | 'insideBottomRight'; declare type ZREventProperties = { zrX: number; zrY: number; zrDelta: number; zrEventControl: 'no_globalout' | 'only_globalout'; zrByTouch: boolean; }; declare type ZRRawMouseEvent = MouseEvent & ZREventProperties; declare type ZRRawTouchEvent = TouchEvent & ZREventProperties; declare type ZRRawPointerEvent = TouchEvent & ZREventProperties; declare type ZRRawEvent = ZRRawMouseEvent | ZRRawTouchEvent | ZRRawPointerEvent; declare type ElementEventName = 'click' | 'dblclick' | 'mousewheel' | 'mouseout' | 'mouseover' | 'mouseup' | 'mousedown' | 'mousemove' | 'contextmenu' | 'drag' | 'dragstart' | 'dragend' | 'dragenter' | 'dragleave' | 'dragover' | 'drop' | 'globalout'; declare type ElementEventNameWithOn = 'onclick' | 'ondblclick' | 'onmousewheel' | 'onmouseout' | 'onmouseup' | 'onmousedown' | 'onmousemove' | 'oncontextmenu' | 'ondrag' | 'ondragstart' | 'ondragend' | 'ondragenter' | 'ondragleave' | 'ondragover' | 'ondrop'; declare type PropType<TObj, TProp extends keyof TObj> = TObj[TProp]; declare type FunctionPropertyNames<T> = { [K in keyof T]: T[K] extends Function ? K : never; }[keyof T]; declare type MapToType<T extends Dictionary<any>, S> = { [P in keyof T]: T[P] extends Dictionary<any> ? MapToType<T[P], S> : S; }; declare type KeyOfDistributive<T> = T extends unknown ? keyof T : never; declare type WithThisType<Func extends (...args: any) => any, This> = (this: This, ...args: Parameters<Func>) => ReturnType<Func>; declare type SVGVNodeAttrs = Record<string, string | number | undefined | boolean>; interface SVGVNode { tag: string; attrs: SVGVNodeAttrs; children?: SVGVNode[]; text?: string; elm?: Node; key: string; } declare type ImagePatternRepeat = 'repeat' | 'repeat-x' | 'repeat-y' | 'no-repeat'; interface PatternObjectBase { id?: number; type?: 'pattern'; x?: number; y?: number; rotation?: number; scaleX?: number; scaleY?: number; } interface ImagePatternObject extends PatternObjectBase { image: ImageLike | string; repeat?: ImagePatternRepeat; imageWidth?: number; imageHeight?: number; } interface SVGPatternObject extends PatternObjectBase { svgElement?: SVGVNode; svgWidth?: number; svgHeight?: number; } declare type PatternObject = ImagePatternObject | SVGPatternObject; declare const nativeSlice: (start?: number, end?: number) => any[]; declare function guid(): number; declare function logError(...args: any[]): void; declare function clone<T extends any>(source: T): T; declare function merge<T extends Dictionary<any>, S extends Dictionary<any>>(target: T, source: S, overwrite?: boolean): T & S; declare function merge<T extends any, S extends any>(target: T, source: S, overwrite?: boolean): T | S; declare function mergeAll(targetAndSources: any[], overwrite?: boolean): any; declare function extend<T extends Dictionary<any>, S extends Dictionary<any>>(target: T, source: S): T & S; declare function defaults<T extends Dictionary<any>, S extends Dictionary<any>>(target: T, source: S, overlay?: boolean): T & S; declare const createCanvas: () => HTMLCanvasElement; declare function indexOf<T>(array: T[] | readonly T[] | ArrayLike$1<T>, value: T): number; declare function inherits(clazz: Function, baseClazz: Function): void; declare function mixin<T, S>(target: T | Function, source: S | Function, override?: boolean): void; declare function isArrayLike(data: any): data is ArrayLike$1<any>; declare function each<I extends Dictionary<any> | any[] | readonly any[] | ArrayLike$1<any>, Context>(arr: I, cb: (this: Context, value: I extends (infer T)[] | readonly (infer T)[] | ArrayLike$1<infer T> ? T : I extends Dictionary<any> ? I extends Record<infer K, infer T> ? T : unknown : unknown, index?: I extends any[] | readonly any[] | ArrayLike$1<any> ? number : keyof I & string, arr?: I) => void, context?: Context): void; declare function map<T, R, Context>(arr: readonly T[], cb: (this: Context, val: T, index?: number, arr?: readonly T[]) => R, context?: Context): R[]; declare function reduce<T, S, Context>(arr: readonly T[], cb: (this: Context, previousValue: S, currentValue: T, currentIndex?: number, arr?: readonly T[]) => S, memo?: S, context?: Context): S; declare function filter<T, Context>(arr: readonly T[], cb: (this: Context, value: T, index: number, arr: readonly T[]) => boolean, context?: Context): T[]; declare function find<T, Context>(arr: readonly T[], cb: (this: Context, value: T, index?: number, arr?: readonly T[]) => boolean, context?: Context): T; declare function keys<T extends object>(obj: T): (KeyOfDistributive<T> & string)[]; declare type Bind1<F, Ctx> = F extends (this: Ctx, ...args: infer A) => infer R ? (...args: A) => R : unknown; declare type Bind2<F, Ctx, T1> = F extends (this: Ctx, a: T1, ...args: infer A) => infer R ? (...args: A) => R : unknown; declare type Bind3<F, Ctx, T1, T2> = F extends (this: Ctx, a: T1, b: T2, ...args: infer A) => infer R ? (...args: A) => R : unknown; declare type Bind4<F, Ctx, T1, T2, T3> = F extends (this: Ctx, a: T1, b: T2, c: T3, ...args: infer A) => infer R ? (...args: A) => R : unknown; declare type Bind5<F, Ctx, T1, T2, T3, T4> = F extends (this: Ctx, a: T1, b: T2, c: T3, d: T4, ...args: infer A) => infer R ? (...args: A) => R : unknown; declare type BindFunc<Ctx> = (this: Ctx, ...arg: any[]) => any; interface FunctionBind { <F extends BindFunc<Ctx>, Ctx>(func: F, ctx: Ctx): Bind1<F, Ctx>; <F extends BindFunc<Ctx>, Ctx, T1 extends Parameters<F>[0]>(func: F, ctx: Ctx, a: T1): Bind2<F, Ctx, T1>; <F extends BindFunc<Ctx>, Ctx, T1 extends Parameters<F>[0], T2 extends Parameters<F>[1]>(func: F, ctx: Ctx, a: T1, b: T2): Bind3<F, Ctx, T1, T2>; <F extends BindFunc<Ctx>, Ctx, T1 extends Parameters<F>[0], T2 extends Parameters<F>[1], T3 extends Parameters<F>[2]>(func: F, ctx: Ctx, a: T1, b: T2, c: T3): Bind4<F, Ctx, T1, T2, T3>; <F extends BindFunc<Ctx>, Ctx, T1 extends Parameters<F>[0], T2 extends Parameters<F>[1], T3 extends Parameters<F>[2], T4 extends Parameters<F>[3]>(func: F, ctx: Ctx, a: T1, b: T2, c: T3, d: T4): Bind5<F, Ctx, T1, T2, T3, T4>; } declare const bind: FunctionBind; declare type Curry1<F, T1> = F extends (a: T1, ...args: infer A) => infer R ? (...args: A) => R : unknown; declare type Curry2<F, T1, T2> = F extends (a: T1, b: T2, ...args: infer A) => infer R ? (...args: A) => R : unknown; declare type Curry3<F, T1, T2, T3> = F extends (a: T1, b: T2, c: T3, ...args: infer A) => infer R ? (...args: A) => R : unknown; declare type Curry4<F, T1, T2, T3, T4> = F extends (a: T1, b: T2, c: T3, d: T4, ...args: infer A) => infer R ? (...args: A) => R : unknown; declare type CurryFunc = (...arg: any[]) => any; declare function curry<F extends CurryFunc, T1 extends Parameters<F>[0]>(func: F, a: T1): Curry1<F, T1>; declare function curry<F extends CurryFunc, T1 extends Parameters<F>[0], T2 extends Parameters<F>[1]>(func: F, a: T1, b: T2): Curry2<F, T1, T2>; declare function curry<F extends CurryFunc, T1 extends Parameters<F>[0], T2 extends Parameters<F>[1], T3 extends Parameters<F>[2]>(func: F, a: T1, b: T2, c: T3): Curry3<F, T1, T2, T3>; declare function curry<F extends CurryFunc, T1 extends Parameters<F>[0], T2 extends Parameters<F>[1], T3 extends Parameters<F>[2], T4 extends Parameters<F>[3]>(func: F, a: T1, b: T2, c: T3, d: T4): Curry4<F, T1, T2, T3, T4>; declare function isArray(value: any): value is any[]; declare function isFunction(value: any): value is Function; declare function isString(value: any): value is string; declare function isStringSafe(value: any): value is string; declare function isNumber(value: any): value is number; declare function isObject<T = unknown>(value: T): value is (object & T); declare function isBuiltInObject(value: any): boolean; declare function isTypedArray(value: any): boolean; declare function isDom(value: any): value is HTMLElement; declare function isGradientObject(value: any): value is GradientObject; declare function isImagePatternObject(value: any): value is ImagePatternObject; declare function isRegExp(value: unknown): value is RegExp; declare function eqNaN(value: any): boolean; declare function retrieve<T>(...args: T[]): T; declare function retrieve2<T, R>(value0: T, value1: R): T | R; declare function retrieve3<T, R, W>(value0: T, value1: R, value2: W): T | R | W; declare type SliceParams = Parameters<typeof nativeSlice>; declare function slice<T>(arr: ArrayLike$1<T>, ...args: SliceParams): T[]; declare function normalizeCssArray(val: number | number[]): number[]; declare function assert(condition: any, message?: string): void; declare function trim(str: string): string; declare function setAsPrimitive(obj: any): void; declare function isPrimitive(obj: any): boolean; interface MapInterface<T, KEY extends string | number = string | number> { delete(key: KEY): boolean; has(key: KEY): boolean; get(key: KEY): T | undefined; set(key: KEY, value: T): this; keys(): KEY[]; forEach(callback: (value: T, key: KEY) => void): void; } declare class HashMap<T, KEY extends string | number = string | number> { data: MapInterface<T, KEY>; constructor(obj?: HashMap<T, KEY> | { [key in KEY]?: T; } | KEY[]); hasKey(key: KEY): boolean; get(key: KEY): T; set(key: KEY, value: T): T; each<Context>(cb: (this: Context, value?: T, key?: KEY) => void, context?: Context): void; keys(): KEY[]; removeKey(key: KEY): void; } declare function createHashMap<T, KEY extends string | number = string | number>(obj?: HashMap<T, KEY> | { [key in KEY]?: T; } | KEY[]): HashMap<T, KEY>; declare function concatArray<T, R>(a: ArrayLike$1<T>, b: ArrayLike$1<R>): ArrayLike$1<T | R>; declare function createObject<T>(proto?: object, properties?: T): T; declare function disableUserSelect(dom: HTMLElement): void; declare function hasOwn(own: object, prop: string): boolean; declare function noop(): void; declare const RADIAN_TO_DEGREE: number; declare const util_d_curry: typeof curry; declare const util_d_guid: typeof guid; declare const util_d_logError: typeof logError; declare const util_d_clone: typeof clone; declare const util_d_merge: typeof merge; declare const util_d_mergeAll: typeof mergeAll; declare const util_d_extend: typeof extend; declare const util_d_defaults: typeof defaults; declare const util_d_createCanvas: typeof createCanvas; declare const util_d_indexOf: typeof indexOf; declare const util_d_inherits: typeof inherits; declare const util_d_mixin: typeof mixin; declare const util_d_isArrayLike: typeof isArrayLike; declare const util_d_each: typeof each; declare const util_d_map: typeof map; declare const util_d_reduce: typeof reduce; declare const util_d_filter: typeof filter; declare const util_d_find: typeof find; declare const util_d_keys: typeof keys; type util_d_Bind1<F, Ctx> = Bind1<F, Ctx>; type util_d_Bind2<F, Ctx, T1> = Bind2<F, Ctx, T1>; type util_d_Bind3<F, Ctx, T1, T2> = Bind3<F, Ctx, T1, T2>; type util_d_Bind4<F, Ctx, T1, T2, T3> = Bind4<F, Ctx, T1, T2, T3>; type util_d_Bind5<F, Ctx, T1, T2, T3, T4> = Bind5<F, Ctx, T1, T2, T3, T4>; declare const util_d_bind: typeof bind; type util_d_Curry1<F, T1> = Curry1<F, T1>; type util_d_Curry2<F, T1, T2> = Curry2<F, T1, T2>; type util_d_Curry3<F, T1, T2, T3> = Curry3<F, T1, T2, T3>; type util_d_Curry4<F, T1, T2, T3, T4> = Curry4<F, T1, T2, T3, T4>; declare const util_d_isArray: typeof isArray; declare const util_d_isFunction: typeof isFunction; declare const util_d_isString: typeof isString; declare const util_d_isStringSafe: typeof isStringSafe; declare const util_d_isNumber: typeof isNumber; declare const util_d_isObject: typeof isObject; declare const util_d_isBuiltInObject: typeof isBuiltInObject; declare const util_d_isTypedArray: typeof isTypedArray; declare const util_d_isDom: typeof isDom; declare const util_d_isGradientObject: typeof isGradientObject; declare const util_d_isImagePatternObject: typeof isImagePatternObject; declare const util_d_isRegExp: typeof isRegExp; declare const util_d_eqNaN: typeof eqNaN; declare const util_d_retrieve: typeof retrieve; declare const util_d_retrieve2: typeof retrieve2; declare const util_d_retrieve3: typeof retrieve3; declare const util_d_slice: typeof slice; declare const util_d_normalizeCssArray: typeof normalizeCssArray; declare const util_d_assert: typeof assert; declare const util_d_trim: typeof trim; declare const util_d_setAsPrimitive: typeof setAsPrimitive; declare const util_d_isPrimitive: typeof isPrimitive; type util_d_HashMap<T, KEY extends string | number = string | number> = HashMap<T, KEY>; declare const util_d_HashMap: typeof HashMap; declare const util_d_createHashMap: typeof createHashMap; declare const util_d_concatArray: typeof concatArray; declare const util_d_createObject: typeof createObject; declare const util_d_disableUserSelect: typeof disableUserSelect; declare const util_d_hasOwn: typeof hasOwn; declare const util_d_noop: typeof noop; declare const util_d_RADIAN_TO_DEGREE: typeof RADIAN_TO_DEGREE; declare namespace util_d { export { util_d_curry as curry, util_d_guid as guid, util_d_logError as logError, util_d_clone as clone, util_d_merge as merge, util_d_mergeAll as mergeAll, util_d_extend as extend, util_d_defaults as defaults, util_d_createCanvas as createCanvas, util_d_indexOf as indexOf, util_d_inherits as inherits, util_d_mixin as mixin, util_d_isArrayLike as isArrayLike, util_d_each as each, util_d_map as map, util_d_reduce as reduce, util_d_filter as filter, util_d_find as find, util_d_keys as keys, util_d_Bind1 as Bind1, util_d_Bind2 as Bind2, util_d_Bind3 as Bind3, util_d_Bind4 as Bind4, util_d_Bind5 as Bind5, util_d_bind as bind, util_d_Curry1 as Curry1, util_d_Curry2 as Curry2, util_d_Curry3 as Curry3, util_d_Curry4 as Curry4, util_d_isArray as isArray, util_d_isFunction as isFunction, util_d_isString as isString, util_d_isStringSafe as isStringSafe, util_d_isNumber as isNumber, util_d_isObject as isObject, util_d_isBuiltInObject as isBuiltInObject, util_d_isTypedArray as isTypedArray, util_d_isDom as isDom, util_d_isGradientObject as isGradientObject, util_d_isImagePatternObject as isImagePatternObject, util_d_isRegExp as isRegExp, util_d_eqNaN as eqNaN, util_d_retrieve as retrieve, util_d_retrieve2 as retrieve2, util_d_retrieve3 as retrieve3, util_d_slice as slice, util_d_normalizeCssArray as normalizeCssArray, util_d_assert as assert, util_d_trim as trim, util_d_setAsPrimitive as setAsPrimitive, util_d_isPrimitive as isPrimitive, util_d_HashMap as HashMap, util_d_createHashMap as createHashMap, util_d_concatArray as concatArray, util_d_createObject as createObject, util_d_disableUserSelect as disableUserSelect, util_d_hasOwn as hasOwn, util_d_noop as noop, util_d_RADIAN_TO_DEGREE as RADIAN_TO_DEGREE, }; } declare type EventCallbackSingleParam<EvtParam = any> = EvtParam extends any ? (params: EvtParam) => boolean | void : never; declare type EventCallback<EvtParams = any[]> = EvtParams extends any[] ? (...args: EvtParams) => boolean | void : never; declare type EventQuery = string | Object; declare type CbThis<Ctx, Impl> = unknown extends Ctx ? Impl : Ctx; declare type DefaultEventDefinition = Dictionary<EventCallback<any[]>>; interface EventProcessor<EvtDef = DefaultEventDefinition> { normalizeQuery?: (query: EventQuery) => EventQuery; filter?: (eventType: keyof EvtDef, query: EventQuery) => boolean; afterTrigger?: (eventType: keyof EvtDef) => void; } declare class Eventful<EvtDef extends DefaultEventDefinition = DefaultEventDefinition> { private _$handlers; protected _$eventProcessor: EventProcessor<EvtDef>; constructor(eventProcessors?: EventProcessor<EvtDef>); on<Ctx, EvtNm extends keyof EvtDef>(event: EvtNm, handler: WithThisType<EvtDef[EvtNm], CbThis<Ctx, this>>, context?: Ctx): this; on<Ctx, EvtNm extends keyof EvtDef>(event: EvtNm, query: EventQuery, handler: WithThisType<EvtDef[EvtNm], CbThis<Ctx, this>>, context?: Ctx): this; isSilent(eventName: keyof EvtDef): boolean; off(eventType?: keyof EvtDef, handler?: Function): this; trigger<EvtNm extends keyof EvtDef>(eventType: EvtNm, ...args: Parameters<EvtDef[EvtNm]>): this; triggerWithContext(type: keyof EvtDef, ...args: any[]): this; } declare type VectorArray = number[]; declare function create(x?: number, y?: number): VectorArray; declare function copy<T extends VectorArray>(out: T, v: VectorArray): T; declare function clone$1(v: VectorArray): VectorArray; declare function set<T extends VectorArray>(out: T, a: number, b: number): T; declare function add<T extends VectorArray>(out: T, v1: VectorArray, v2: VectorArray): T; declare function scaleAndAdd<T extends VectorArray>(out: T, v1: VectorArray, v2: VectorArray, a: number): T; declare function sub<T extends VectorArray>(out: T, v1: VectorArray, v2: VectorArray): T; declare function len(v: VectorArray): number; declare const length: typeof len; declare function lenSquare(v: VectorArray): number; declare const lengthSquare: typeof lenSquare; declare function mul<T extends VectorArray>(out: T, v1: VectorArray, v2: VectorArray): T; declare function div<T extends VectorArray>(out: T, v1: VectorArray, v2: VectorArray): T; declare function dot(v1: VectorArray, v2: VectorArray): number; declare function scale<T extends VectorArray>(out: T, v: VectorArray, s: number): T; declare function normalize<T extends VectorArray>(out: T, v: VectorArray): T; declare function distance(v1: VectorArray, v2: VectorArray): number; declare const dist: typeof distance; declare function distanceSquare(v1: VectorArray, v2: VectorArray): number; declare const distSquare: typeof distanceSquare; declare function negate<T extends VectorArray>(out: T, v: VectorArray): T; declare function lerp<T extends VectorArray>(out: T, v1: VectorArray, v2: VectorArray, t: number): T; declare function applyTransform<T extends VectorArray>(out: T, v: VectorArray, m: MatrixArray): T; declare function min<T extends VectorArray>(out: T, v1: VectorArray, v2: VectorArray): T; declare function max<T extends VectorArray>(out: T, v1: VectorArray, v2: VectorArray): T; type vector_d_VectorArray = VectorArray; declare const vector_d_create: typeof create; declare const vector_d_copy: typeof copy; declare const vector_d_set: typeof set; declare const vector_d_add: typeof add; declare const vector_d_scaleAndAdd: typeof scaleAndAdd; declare const vector_d_sub: typeof sub; declare const vector_d_len: typeof len; declare const vector_d_length: typeof length; declare const vector_d_lenSquare: typeof lenSquare; declare const vector_d_lengthSquare: typeof lengthSquare; declare const vector_d_mul: typeof mul; declare const vector_d_div: typeof div; declare const vector_d_dot: typeof dot; declare const vector_d_scale: typeof scale; declare const vector_d_normalize: typeof normalize; declare const vector_d_distance: typeof distance; declare const vector_d_dist: typeof dist; declare const vector_d_distanceSquare: typeof distanceSquare; declare const vector_d_distSquare: typeof distSquare; declare const vector_d_negate: typeof negate; declare const vector_d_lerp: typeof lerp; declare const vector_d_applyTransform: typeof applyTransform; declare const vector_d_min: typeof min; declare const vector_d_max: typeof max; declare namespace vector_d { export { vector_d_VectorArray as VectorArray, vector_d_create as create, vector_d_copy as copy, clone$1 as clone, vector_d_set as set, vector_d_add as add, vector_d_scaleAndAdd as scaleAndAdd, vector_d_sub as sub, vector_d_len as len, vector_d_length as length, vector_d_lenSquare as lenSquare, vector_d_lengthSquare as lengthSquare, vector_d_mul as mul, vector_d_div as div, vector_d_dot as dot, vector_d_scale as scale, vector_d_normalize as normalize, vector_d_distance as distance, vector_d_dist as dist, vector_d_distanceSquare as distanceSquare, vector_d_distSquare as distSquare, vector_d_negate as negate, vector_d_lerp as lerp, vector_d_applyTransform as applyTransform, vector_d_min as min, vector_d_max as max, }; } declare type MatrixArray = number[]; declare function create$1(): MatrixArray; declare function identity(out: MatrixArray): MatrixArray; declare function copy$1(out: MatrixArray, m: MatrixArray): MatrixArray; declare function mul$1(out: MatrixArray, m1: MatrixArray, m2: MatrixArray): MatrixArray; declare function translate(out: MatrixArray, a: MatrixArray, v: VectorArray): MatrixArray; declare function rotate(out: MatrixArray, a: MatrixArray, rad: number, pivot?: VectorArray): MatrixArray; declare function scale$1(out: MatrixArray, a: MatrixArray, v: VectorArray): MatrixArray; declare function invert(out: MatrixArray, a: MatrixArray): MatrixArray | null; declare function clone$2(a: MatrixArray): MatrixArray; type matrix_d_MatrixArray = MatrixArray; declare const matrix_d_identity: typeof identity; declare const matrix_d_translate: typeof translate; declare const matrix_d_rotate: typeof rotate; declare const matrix_d_invert: typeof invert; declare namespace matrix_d { export { matrix_d_MatrixArray as MatrixArray, create$1 as create, matrix_d_identity as identity, copy$1 as copy, mul$1 as mul, matrix_d_translate as translate, matrix_d_rotate as rotate, scale$1 as scale, matrix_d_invert as invert, clone$2 as clone, }; } interface PointLike { x: number; y: number; } declare class Point { x: number; y: number; constructor(x?: number, y?: number); copy(other: PointLike): this; clone(): Point; set(x: number, y: number): this; equal(other: PointLike): boolean; add(other: PointLike): this; scale(scalar: number): void; scaleAndAdd(other: PointLike, scalar: number): void; sub(other: PointLike): this; dot(other: PointLike): number; len(): number; lenSquare(): number; normalize(): this; distance(other: PointLike): number; distanceSquare(other: Point): number; negate(): this; transform(m: MatrixArray): this; toArray(out: number[]): number[]; fromArray(input: number[]): void; static set(p: PointLike, x: number, y: number): void; static copy(p: PointLike, p2: PointLike): void; static len(p: PointLike): number; static lenSquare(p: PointLike): number; static dot(p0: PointLike, p1: PointLike): number; static add(out: PointLike, p0: PointLike, p1: PointLike): void; static sub(out: PointLike, p0: PointLike, p1: PointLike): void; static scale(out: PointLike, p0: PointLike, scalar: number): void; static scaleAndAdd(out: PointLike, p0: PointLike, p1: PointLike, scalar: number): void; static lerp(out: PointLike, p0: PointLike, p1: PointLike, t: number): void; } declare class BoundingRect { x: number; y: number; width: number; height: number; constructor(x: number, y: number, width: number, height: number); union(other: BoundingRect): void; applyTransform(m: MatrixArray): void; calculateTransform(b: RectLike): MatrixArray; intersect(b: RectLike, mtv?: PointLike): boolean; contain(x: number, y: number): boolean; clone(): BoundingRect; copy(other: RectLike): void; plain(): RectLike; isFinite(): boolean; isZero(): boolean; static create(rect: RectLike): BoundingRect; static copy(target: RectLike, source: RectLike): void; static applyTransform(target: RectLike, source: RectLike, m: MatrixArray): void; } declare type RectLike = { x: number; y: number; width: number; height: number; }; interface ExtendedCanvasRenderingContext2D extends CanvasRenderingContext2D { dpr?: number; } declare class PathProxy { dpr: number; data: number[] | Float32Array; private _version; private _saveData; private _pendingPtX; private _pendingPtY; private _pendingPtDist; private _ctx; private _xi; private _yi; private _x0; private _y0; private _len; private _pathSegLen; private _pathLen; private _ux; private _uy; static CMD: { M: number; L: number; C: number; Q: number; A: number; Z: number; R: number; }; constructor(notSaveData?: boolean); increaseVersion(): void; getVersion(): number; setScale(sx: number, sy: number, segmentIgnoreThreshold?: number): void; setDPR(dpr: number): void; setContext(ctx: ExtendedCanvasRenderingContext2D): void; getContext(): ExtendedCanvasRenderingContext2D; beginPath(): this; reset(): void; moveTo(x: number, y: number): this; lineTo(x: number, y: number): this; bezierCurveTo(x1: number, y1: number, x2: number, y2: number, x3: number, y3: number): this; quadraticCurveTo(x1: number, y1: number, x2: number, y2: number): this; arc(cx: number, cy: number, r: number, startAngle: number, endAngle: number, anticlockwise?: boolean): this; arcTo(x1: number, y1: number, x2: number, y2: number, radius: number): this; rect(x: number, y: number, w: number, h: number): this; closePath(): this; fill(ctx: CanvasRenderingContext2D): void; stroke(ctx: CanvasRenderingContext2D): void; len(): number; setData(data: Float32Array | number[]): void; appendPath(path: PathProxy | PathProxy[]): void; addData(cmd: number, a?: number, b?: number, c?: number, d?: number, e?: number, f?: number, g?: number, h?: number): void; private _drawPendingPt; private _expandData; toStatic(): void; getBoundingRect(): BoundingRect; private _calculateLength; rebuildPath(ctx: PathRebuilder, percent: number): void; clone(): PathProxy; private static initDefaultProps; } interface PathRebuilder { moveTo(x: number, y: number): void; lineTo(x: number, y: number): void; bezierCurveTo(x: number, y: number, x2: number, y2: number, x3: number, y3: number): void; quadraticCurveTo(x: number, y: number, x2: number, y2: number): void; arc(cx: number, cy: number, r: number, startAngle: number, endAngle: number, anticlockwise: boolean): void; ellipse(cx: number, cy: number, radiusX: number, radiusY: number, rotation: number, startAngle: number, endAngle: number, anticlockwise: boolean): void; rect(x: number, y: number, width: number, height: number): void; closePath(): void; } declare type easingFunc = (percent: number) => number; declare type AnimationEasing = keyof typeof easingFuncs | easingFunc; declare const easingFuncs: { linear(k: number): number; quadraticIn(k: number): number; quadraticOut(k: number): number; quadraticInOut(k: number): number; cubicIn(k: number): number; cubicOut(k: number): number; cubicInOut(k: number): number; quarticIn(k: number): number; quarticOut(k: number): number; quarticInOut(k: number): number; quinticIn(k: number): number; quinticOut(k: number): number; quinticInOut(k: number): number; sinusoidalIn(k: number): number; sinusoidalOut(k: number): number; sinusoidalInOut(k: number): number; exponentialIn(k: number): number; exponentialOut(k: number): number; exponentialInOut(k: number): number; circularIn(k: number): number; circularOut(k: number): number; circularInOut(k: number): number; elasticIn(k: number): number; elasticOut(k: number): number; elasticInOut(k: number): number; backIn(k: number): number; backOut(k: number): number; backInOut(k: number): number; bounceIn(k: number): number; bounceOut(k: number): number; bounceInOut(k: number): number; }; interface Stage { update?: () => void; } interface AnimationOption { stage?: Stage; } declare class Animation extends Eventful { stage: Stage; private _head; private _tail; private _running; private _time; private _pausedTime; private _pauseStart; private _paused; constructor(opts?: AnimationOption); addClip(clip: Clip): void; addAnimator(animator: Animator<any>): void; removeClip(clip: Clip): void; removeAnimator(animator: Animator<any>): void; update(notTriggerFrameAndStageUpdate?: boolean): void; _startLoop(): void; start(): void; stop(): void; pause(): void; resume(): void; clear(): void; isFinished(): boolean; animate<T>(target: T, options: { loop?: boolean; }): Animator<T>; } declare type OnframeCallback = (percent: number) => void; declare type ondestroyCallback = () => void; declare type onrestartCallback = () => void; interface ClipProps { life?: number; delay?: number; loop?: boolean; easing?: AnimationEasing; onframe?: OnframeCallback; ondestroy?: ondestroyCallback; onrestart?: onrestartCallback; } declare class Clip { private _life; private _delay; private _inited; private _startTime; private _pausedTime; private _paused; animation: Animation; loop: boolean; easing: AnimationEasing; easingFunc: (p: number) => number; next: Clip; prev: Clip; onframe: OnframeCallback; ondestroy: ondestroyCallback; onrestart: onrestartCallback; constructor(opts: ClipProps); step(globalTime: number, deltaTime: number): boolean; pause(): void; resume(): void; setEasing(easing: AnimationEasing): void; } declare type ValueType = 0 | 1 | 2 | 3 | 4 | 5 | 6; declare type Keyframe = { time: number; value: unknown; percent: number; rawValue: unknown; easing?: AnimationEasing; easingFunc?: (percent: number) => number; additiveValue?: unknown; }; declare class Track { keyframes: Keyframe[]; propName: string; valType: ValueType; discrete: boolean; _invalid: boolean; private _finished; private _needsSort; private _additiveTrack; private _additiveValue; private _lastFr; private _lastFrP; constructor(propName: string); isFinished(): boolean; setFinished(): void; needsAnimate(): boolean; getAdditiveTrack(): Track; addKeyframe(time: number, rawValue: unknown, easing?: AnimationEasing): Keyframe; prepare(maxTime: number, additiveTrack?: Track): void; step(target: any, percent: number): void; private _addToTarget; } declare type DoneCallback = () => void; declare type AbortCallback = () => void; declare type OnframeCallback$1<T> = (target: T, percent: number) => void; declare class Animator<T> { animation?: Animation; targetName?: string; scope?: string; __fromStateTransition?: string; private _tracks; private _trackKeys; private _target; private _loop; private _delay; private _maxTime; private _force; private _paused; private _started; private _allowDiscrete; private _additiveAnimators; private _doneCbs; private _onframeCbs; private _abortedCbs; private _clip; constructor(target: T, loop: boolean, allowDiscreteAnimation?: boolean, additiveTo?: Animator<any>[]); getMaxTime(): number; getDelay(): number; getLoop(): boolean; getTarget(): T; changeTarget(target: T): void; when(time: number, props: Dictionary<any>, easing?: AnimationEasing): this; whenWithKeys(time: number, props: Dictionary<any>, propNames: string[], easing?: AnimationEasing): this; pause(): void; resume(): void; isPaused(): boolean; duration(duration: number): this; private _doneCallback; private _abortedCallback; private _setTracksFinished; private _getAdditiveTrack; start(easing?: AnimationEasing): this; stop(forwardToLast?: boolean): void; delay(time: number): this; during(cb: OnframeCallback$1<T>): this; done(cb: DoneCallback): this; aborted(cb: AbortCallback): this; getClip(): Clip; getTrack(propName: string): Track; getTracks(): Track[]; stopTracks(propNames: string[], forwardToLast?: boolean): boolean; saveTo(target: T, trackKeys?: readonly string[], firstOrLast?: boolean): void; __changeFinalValue(finalProps: Dictionary<any>, trackKeys?: readonly string[]): void; } interface PathStyleProps extends CommonStyleProps { fill?: string | PatternObject | LinearGradientObject | RadialGradientObject; stroke?: string | PatternObject | LinearGradientObject | RadialGradientObject; decal?: PatternObject; strokePercent?: number; strokeNoScale?: boolean; fillOpacity?: number; strokeOpacity?: number; lineDash?: false | number[] | 'solid' | 'dashed' | 'dotted'; lineDashOffset?: number; lineWidth?: number; lineCap?: CanvasLineCap; lineJoin?: CanvasLineJoin; miterLimit?: number; strokeFirst?: boolean; } interface PathProps extends DisplayableProps { strokeContainThreshold?: number; segmentIgnoreThreshold?: number; subPixelOptimize?: boolean; style?: PathStyleProps; shape?: Dictionary<any>; autoBatch?: boolean; __value?: (string | number)[] | (string | number); buildPath?: (ctx: PathProxy | CanvasRenderingContext2D, shapeCfg: Dictionary<any>, inBatch?: boolean) => void; } declare type PathKey = keyof PathProps; declare type PathPropertyType = PropType<PathProps, PathKey>; declare type PathStatePropNames = DisplayableStatePropNames | 'shape'; declare type PathState = Pick<PathProps, PathStatePropNames> & { hoverLayer?: boolean; }; interface Path<Props extends PathProps = PathProps> { animate(key?: '', loop?: boolean): Animator<this>; animate(key: 'style', loop?: boolean): Animator<this['style']>; animate(key: 'shape', loop?: boolean): Animator<this['shape']>; getState(stateName: string): PathState; ensureState(stateName: string): PathState; states: Dictionary<PathState>; stateProxy: (stateName: string) => PathState; } declare class Path<Props extends PathProps = PathProps> extends Displayable<Props> { path: PathProxy; strokeContainThreshold: number; segmentIgnoreThreshold: number; subPixelOptimize: boolean; style: PathStyleProps; autoBatch: boolean; private _rectStroke; protected _normalState: PathState; protected _decalEl: Path; shape: Dictionary<any>; constructor(opts?: Props); update(): void; getDecalElement(): Path<PathProps>; protected _init(props?: Props): void; protected getDefaultStyle(): Props['style']; protected getDefaultShape(): {}; protected canBeInsideText(): boolean; protected getInsideTextFill(): "#333" | "#ccc" | "#eee"; protected getInsideTextStroke(textFill?: string): string; buildPath(ctx: PathProxy | CanvasRenderingContext2D, shapeCfg: Dictionary<any>, inBatch?: boolean): void; pathUpdated(): void; getUpdatedPathProxy(inBatch?: boolean): PathProxy; createPathProxy(): void; hasStroke(): boolean; hasFill(): boolean; getBoundingRect(): BoundingRect; contain(x: number, y: number): boolean; dirtyShape(): void; dirty(): void; animateShape(loop: boolean): Animator<this["shape"]>; updateDuringAnimation(targetKey: string): void; attrKV(key: PathKey, value: PathPropertyType): void; setShape(obj: Props['shape']): this; setShape<T extends keyof Props['shape']>(obj: T, value: Props['shape'][T]): this; shapeChanged(): boolean; createStyle(obj?: Props['style']): Props["style"]; protected _innerSaveToNormal(toState: PathState): void; protected _applyStateObj(stateName: string, state: PathState, normalState: PathState, keepCurrentStates: boolean, transition: boolean, animationCfg: ElementAnimateConfig): void; protected _mergeStates(states: PathState[]): PathState; getAnimationStyleProps(): MapToType<PathProps, boolean>; isZeroArea(): boolean; static extend<Shape extends Dictionary<any>>(defaultProps: { type?: string; shape?: Shape; style?: PathStyleProps; beforeBrush?: Displayable['beforeBrush']; afterBrush?: Displayable['afterBrush']; getBoundingRect?: Displayable['getBoundingRect']; calculateTextPosition?: Element['calculateTextPosition']; buildPath(this: Path, ctx: CanvasRenderingContext2D | PathProxy, shape: Shape, inBatch?: boolean): void; init?(this: Path, opts: PathProps): void; }): { new (opts?: PathProps & { shape: Shape; }): Path; }; protected static initDefaultProps: void; } declare class Transformable { parent: Transformable; x: number; y: number; scaleX: number; scaleY: number; skewX: number; skewY: number; rotation: number; anchorX: number; anchorY: number; originX: number; originY: number; globalScaleRatio: number; transform: MatrixArray; invTransform: MatrixArray; getLocalTransform(m?: MatrixArray): MatrixArray; setPosition(arr: number[]): void; setScale(arr: number[]): void; setSkew(arr: number[]): void; setOrigin(arr: number[]): void; needLocalTransform(): boolean; updateTransform(): void; private _resolveGlobalScaleRatio; getComputedTransform(): MatrixArray; setLocalTransform(m: VectorArray): void; decomposeTransform(): void; getGlobalScale(out?: VectorArray): VectorArray; transformCoordToLocal(x: number, y: number): number[]; transformCoordToGlobal(x: number, y: number): number[]; getLineScale(): number; copyTransform(source: Transformable): void; static getLocalTransform(target: Transformable, m?: MatrixArray): MatrixArray; private static initDefaultProps; } declare const TRANSFORMABLE_PROPS: readonly ["x", "y", "originX", "originY", "anchorX", "anchorY", "rotation", "scaleX", "scaleY", "skewX", "skewY"]; declare type TransformProp = (typeof TRANSFORMABLE_PROPS)[number]; interface TSpanStyleProps extends PathStyleProps { x?: number; y?: number; text?: string; font?: string; fontSize?: number; fontWeight?: FontWeight; fontStyle?: FontStyle; fontFamily?: string; textAlign?: CanvasTextAlign; textBaseline?: CanvasTextBaseline; } interface TSpanProps extends DisplayableProps { style?: TSpanStyleProps; } declare class TSpan extends Displayable<TSpanProps> { style: TSpanStyleProps; hasStroke(): boolean; hasFill(): boolean; createStyle(obj?: TSpanStyleProps): TSpanStyleProps; setBoundingRect(rect: BoundingRect): void; getBoundingRect(): BoundingRect; protected static initDefaultProps: void; } interface ImageStyleProps extends CommonStyleProps { image?: string | ImageLike; x?: number; y?: number; width?: number; height?: number; sx?: number; sy?: number; sWidth?: number; sHeight?: number; } interface ImageProps extends DisplayableProps { style?: ImageStyleProps; onload?: (image: ImageLike) => void; } declare class ZRImage extends Displayable<ImageProps> { style: ImageStyleProps; __image: ImageLike; __imageSrc: string; onload: (image: ImageLike) => void; createStyle(obj?: ImageStyleProps): ImageStyleProps; private _getSize; getWidth(): number; getHeight(): number; getAnimationStyleProps(): MapToType<ImageProps, boolean>; getBoundingRect(): BoundingRect; } declare class RectShape { r?: number | number[]; x: number; y: number; width: number; height: number; } interface RectProps extends PathProps { shape?: Partial<RectShape>; } declare class Rect extends Path<RectProps> { shape: RectShape; constructor(opts?: RectProps); getDefaultShape(): RectShape; buildPath(ctx: CanvasRenderingContext2D, shape: RectShape): void; isZeroArea(): boolean; } interface GroupProps extends ElementProps { } declare class Group extends Element<GroupProps> { readonly isGroup = true; private _children; constructor(opts?: GroupProps); childrenRef(): Element<ElementProps>[]; children(): Element<ElementProps>[]; childAt(idx: number): Element; childOfName(name: string): Element; childCount(): number; add(child: Element): Group; addBefore(child: Element, nextSibling: Element): this; replace(oldChild: Element, newChild: Element): this; replaceAt(child: Element, index: number): this; _doAdd(child: Element): void; remove(child: Element): this; removeAll(): this; eachChild<Context>(cb: (this: Context, el: Element, index?: number) => void, context?: Context): this; traverse<T>(cb: (this: T, el: Element) => boolean | void, context?: T): this; addSelfToZr(zr: ZRenderType): void; removeSelfFromZr(zr: ZRenderType): void; getBoundingRect(includeChildren?: Element[]): BoundingRect; } interface GroupLike extends Element { childrenRef(): Element[]; } interface TextStylePropsPart { text?: string; fill?: string; stroke?: string; strokeNoScale?: boolean; opacity?: number; fillOpacity?: number; strokeOpacity?: number; lineWidth?: number; lineDash?: false | number[]; lineDashOffset?: number; borderDash?: false | number[]; borderDashOffset?: number; font?: string; textFont?: string; fontStyle?: FontStyle; fontWeight?: FontWeight; fontFamily?: string; fontSize?: number | string; align?: TextAlign; verticalAlign?: TextVerticalAlign; lineHeight?: number; width?: number | string; height?: number; tag?: string; textShadowColor?: string; textShadowBlur?: number; textShadowOffsetX?: number; textShadowOffsetY?: number; backgroundColor?: string | { image: ImageLike | string; }; padding?: number | number[]; margin?: number; borderColor?: string; borderWidth?: number; borderRadius?: number | number[]; shadowColor?: string; shadowBlur?: number; shadowOffsetX?: number; shadowOffsetY?: number; } interface TextStyleProps extends TextStylePropsPart { text?: string; x?: number; y?: number; width?: number; rich?: Dictionary<TextStylePropsPart>; overflow?: 'break' | 'breakAll' | 'truncate' | 'none'; lineOverflow?: 'truncate'; ellipsis?: string; placeholder?: string; truncateMinChar?: number; } interface TextProps extends DisplayableProps { style?: TextStyleProps; zlevel?: number; z?: number; z2?: number; culling?: boolean; cursor?: string; } declare type TextState = Pick<TextProps, DisplayableStatePropNames> & ElementCommonState; declare type DefaultTextStyle = Pick<TextStyleProps, 'fill' | 'stroke' | 'align' | 'verticalAlign'> & { autoStroke?: boolean; }; interface ZRText { animate(key?: '', loop?: boolean): Animator<this>; animate(key: 'style', loop?: boolean): Animator<this['style']>; getState(stateName: string): TextState; ensureState(stateName: string): TextState; states: Dictionary<TextState>; stateProxy: (stateName: string) => TextState; } declare class ZRText extends Displayable<TextProps> implements GroupLike { type: string; style: TextStyleProps; overlap: 'hidden' | 'show' | 'blur'; innerTransformable: Transformable; isTruncated: boolean; private _children; private _childCursor; private _defaultStyle; constructor(opts?: TextProps); childrenRef(): (ZRImage | Rect | TSpan)[]; update(): void; updateTransform(): void; getLocalTransform(m?: MatrixArray): MatrixArray; getComputedTransform(): MatrixArray; private _updateSubTexts; addSelfToZr(zr: ZRenderType): void; removeSelfFromZr(zr: ZRenderType): void; getBoundingRect(): BoundingRect; setDefaultTextStyle(defaultTextStyle: DefaultTextStyle): void; setTextContent(textContent: never): void; protected _mergeStyle(targetStyle: TextStyleProps, sourceStyle: TextStyleProps): TextStyleProps; private _mergeRich; getAnimationStyleProps(): MapToType<TextProps, boolean>; private _getOrCreateChild; private _updatePlainTexts; private _updateRichTexts; private _placeToken; private _renderBackground; static makeFont(style: TextStylePropsPart): string; } interface TextPositionCalculationResult { x: number; y: number; align: TextAlign; verticalAlign: TextVerticalAlign; } declare class PolylineShape { points: VectorArray[]; percent?: number; smooth?: number; smoothConstraint?: VectorArray[]; } interface PolylineProps extends PathProps { shape?: Partial<PolylineShape>; } declare class Polyline extends Path<PolylineProps> { shape: PolylineShape; constructor(opts?: PolylineProps); getDefaultStyle(): { stroke: string; fill: string; }; getDefaultShape(): PolylineShape; buildPath(ctx: CanvasRenderingContext2D, shape: PolylineShape): void; } interface ElementAnimateConfig { duration?: number; delay?: number; easing?: AnimationEasing; during?: (percent: number) => void; done?: Function; aborted?: Function; scope?: string; force?: boolean; additive?: boolean; setToFinal?: boolean; } interface ElementTextConfig { position?: BuiltinTextPosition | (number | string)[]; rotation?: number; layoutRect?: RectLike; offset?: number[]; origin?: (number | string)[] | 'center'; distance?: number; local?: boolean; insideFill?: string; insideStroke?: string; outsideFill?: string; outsideStroke?: string; inside?: boolean; } interface ElementTextGuideLineConfig { anchor?: Point; showAbove?: boolean; candidates?: ('left' | 'top' | 'right' | 'bottom')[]; } interface ElementEvent { type: ElementEventName; event: ZRRawEvent; target: Element; topTarget: Element; cancelBubble: boolean; offsetX: number; offsetY: number; gestureEvent: string; pinchX: number; pinchY: number; pinchScale: number; wheelDelta: number; zrByTouch: boolean; which: number; stop: (this: ElementEvent) => void; } declare type ElementEventCallback<Ctx, Impl> = (this: CbThis$1<Ctx, Impl>, e: ElementEvent) => boolean | void; declare type CbThis$1<Ctx, Impl> = unknown extends Ctx ? Impl : Ctx; interface ElementEventHandlerProps { onclick: ElementEventCallback<unknown, unknown>; ondblclick: ElementEventCallback<unknown, unknown>; onmouseover: ElementEventCallback<unknown, unknown>; onmouseout: ElementEventCallback<unknown, unknown>; onmousemove: ElementEventCallback<unknown, unknown>; onmousewheel: ElementEventCallback<unknown, unknown>; onmousedown: ElementEventCallback<unknown, unknown>; onmouseup: ElementEventCallback<unknown, unknown>; oncontextmenu: ElementEventCallback<unknown, unknown>; ondrag: ElementEventCallback<unknown, unknown>; ondragstart: ElementEventCallback<unknown, unknown>; ondragend: ElementEventCallback<unknown, unknown>; ondragenter: ElementEventCallback<unknown, unknown>; ondragleave: ElementEventCallback<unknown, unknown>; ondragover: ElementEventCallback<unknown, unknown>; ondrop: ElementEventCallback<unknown, unknown>; } interface ElementProps extends Partial<ElementEventHandlerProps>, Partial<Pick<Transformable, TransformProp>> { name?: string; ignore?: boolean; isGroup?: boolean; draggable?: boolean | 'horizontal' | 'vertical'; silent?: boolean; ignoreClip?: boolean; globalScaleRatio?: number; textConfig?: ElementTextConfig; textContent?: ZRText; clipPath?: Path; drift?: Element['drift']; extra?: Dictionary<unknown>; anid?: string; } declare const PRIMARY_STATES_KEYS: ["x" | "y" | "originX" | "originY" | "anchorX" | "anchorY" | "rotation" | "scaleX" | "scaleY" | "skewX" | "skewY", "ignore"]; declare type ElementStatePropNames = (typeof PRIMARY_STATES_KEYS)[number] | 'textConfig'; declare type ElementState = Pick<ElementProps, ElementStatePropNames> & ElementCommonS