UNPKG

echarts

Version:

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

1,375 lines (1,341 loc) 350 kB
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(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_clone: typeof clone; 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, vector_d_clone 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): MatrixArray; declare function scale$1(out: MatrixArray, a: MatrixArray, v: VectorArray): MatrixArray; declare function invert(out: MatrixArray, a: MatrixArray): MatrixArray; declare function clone$1(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$1 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; }; 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 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'; 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 easingFunc = (percent: number) => number; declare type AnimationEasing = keyof typeof easing | easingFunc | 'spline'; declare const easing: { 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; }; declare type EventCallback<Ctx, Impl, EvtParam = unknown> = (this: CbThis<Ctx, Impl>, eventParam: EvtParam, ...args: unknown[]) => boolean | void; declare type EventQuery = string | Object; declare type CbThis<Ctx, Impl> = unknown extends Ctx ? Impl : Ctx; declare type DefaultEventDefinition = { [eventName: string]: unknown; }; interface EventProcessor<EvtDef = DefaultEventDefinition> { normalizeQuery?: (query: EventQuery) => EventQuery; filter?: (eventType: keyof EvtDef, query: EventQuery) => boolean; afterTrigger?: (eventType: keyof EvtDef) => void; } declare class Eventful<EvtDef = DefaultEventDefinition> { private _$handlers; protected _$eventProcessor: EventProcessor<EvtDef>; constructor(eventProcessors?: EventProcessor<EvtDef>); on<Ctx, EvtNm extends keyof EvtDef>(event: EvtNm, handler: EventCallback<Ctx, this, EvtDef[EvtNm]>, context?: Ctx): this; on<Ctx, EvtNm extends keyof EvtDef>(event: EvtNm, query: EventQuery, handler: EventCallback<Ctx, this, EvtDef[EvtNm]>, context?: Ctx): this; isSilent(eventName: keyof EvtDef): boolean; off(eventType?: keyof EvtDef, handler?: Function): this; trigger(eventType: keyof EvtDef, eventParam?: EvtDef[keyof EvtDef], ...args: any[]): this; triggerWithContext(type: keyof EvtDef): this; } interface Stage { update?: () => void; } declare type OnframeCallback = (deltaTime: number) => void; interface AnimationOption { stage?: Stage; onframe?: OnframeCallback; } declare class Animation extends Eventful { stage: Stage; onframe: OnframeCallback; private _clipsHead; private _clipsTail; 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$1 = (percent: number) => void; declare type ondestroyCallback = () => void; declare type onrestartCallback = () => void; interface ClipProps { life?: number; delay?: number; loop?: boolean; gap?: number; easing?: AnimationEasing; onframe?: OnframeCallback$1; ondestroy?: ondestroyCallback; onrestart?: onrestartCallback; } declare class Clip { private _life; private _delay; private _initialized; private _startTime; private _pausedTime; private _paused; animation: Animation; loop: boolean; gap: number; easing: AnimationEasing; next: Clip; prev: Clip; onframe: OnframeCallback$1; ondestroy: ondestroyCallback; onrestart: onrestartCallback; constructor(opts: ClipProps); step(globalTime: number, deltaTime: number): boolean; private _restart; pause(): void; resume(): void; } declare type Keyframe = { time: number; value: unknown; percent: number; additiveValue?: unknown; }; declare class Track { keyframes: Keyframe[]; maxTime: number; propName: string; useSpline: boolean; arrDim: number; isValueColor: boolean; interpolable: boolean; private _finished; private _needsSort; private _isAllValueEqual; private _additiveTrack; private _additiveValue; private _lastFrame; private _lastFramePercent; constructor(propName: string); isFinished(): boolean; setFinished(): void; needsAnimate(): boolean; getAdditiveTrack(): Track; addKeyframe(time: number, value: unknown): { time: number; value: unknown; percent: number; }; prepare(additiveTrack?: Track): void; step(target: any, percent: number): void; private _addToTarget; } declare type DoneCallback = () => void; declare type AbortCallback = () => void; declare type OnframeCallback$2<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 _paused; private _started; private _additiveAnimators; private _doneList; private _onframeList; private _abortedList; private _clip; constructor(target: T, loop: boolean, additiveTo?: Animator<any>[]); getTarget(): T; changeTarget(target: T): void; when(time: number, props: Dictionary<any>): this; whenWithKeys(time: number, props: Dictionary<any>, propNames: string[]): this; pause(): void; resume(): void; isPaused(): boolean; private _doneCallback; private _abortedCallback; private _setTracksFinished; private _getAdditiveTrack; start(easing?: AnimationEasing, forceAnimate?: boolean): this; stop(forwardToLast?: boolean): void; delay(time: number): this; during(cb: OnframeCallback$2<T>): this; done(cb: DoneCallback): this; aborted(cb: AbortCallback): this; getClip(): Clip; getTrack(propName: string): Track; stopTracks(propNames: string[], forwardToLast?: boolean): boolean; saveFinalToTarget(target: T, trackKeys?: readonly string[]): void; __changeFinalValue(finalProps: Dictionary<any>, trackKeys?: readonly string[]): void; } interface CommonStyleProps { shadowBlur?: number; shadowOffsetX?: number; shadowOffsetY?: number; shadowColor?: string; opacity?: number; blend?: string; } interface DisplayableProps extends ElementProps { style?: Dictionary<any>; zlevel?: number; z?: number; z2?: number; culling?: boolean; cursor?: string; rectHover?: boolean; progressive?: boolean; incremental?: boolean; batch?: boolean; invisible?: boolean; } declare type DisplayableKey = keyof DisplayableProps; declare type DisplayablePropertyType = PropType<DisplayableProps, DisplayableKey>; declare type DisplayableStatePropNames = ElementStatePropNames | 'style' | 'z' | 'z2' | 'invisible'; declare type DisplayableState = Pick<DisplayableProps, DisplayableStatePropNames> & ElementCommonState; interface Displayable<Props extends DisplayableProps = DisplayableProps> { animate(key?: '', loop?: boolean): Animator<this>; animate(key: 'style', loop?: boolean): Animator<this['style']>; getState(stateName: string): DisplayableState; ensureState(stateName: string): DisplayableState; states: Dictionary<DisplayableState>; stateProxy: (stateName: string) => DisplayableState; } declare class Displayable<Props extends DisplayableProps = DisplayableProps> extends Element<Props> { invisible: boolean; z: number; z2: number; zlevel: number; culling: boolean; cursor: string; rectHover: boolean; incremental: boolean; style: Dictionary<any>; protected _normalState: DisplayableState; protected _rect: BoundingRect; protected _paintRect: BoundingRect; protected _prevPaintRect: BoundingRect; dirtyRectTolerance: number; useHoverLayer?: boolean; __hoverStyle?: CommonStyleProps; __clipPaths?: Path[]; __canvasFillGradient: CanvasGradient; __canvasStrokeGradient: CanvasGradient; __canvasFillPattern: CanvasPattern; __canvasStrokePattern: CanvasPattern; __svgEl: SVGElement; constructor(props?: Props); protected _init(props?: Props): void; beforeBrush(): void; afterBrush(): void; innerBeforeBrush(): void; innerAfterBrush(): void; shouldBePainted(viewWidth: number, viewHeight: number, considerClipPath: boolean, considerAncestors: boolean): boolean; contain(x: number, y: number): boolean; traverse<Context>(cb: (this: Context, el: this) => void, context?: Context): void; rectContain(x: number, y: number): boolean; getPaintRect(): BoundingRect; setPrevPaintRect(paintRect: BoundingRect): void; getPrevPaintRect(): BoundingRect; animateStyle(loop: boolean): Animator<this["style"]>; updateDuringAnimation(targetKey: string): void; attrKV(key: DisplayableKey, value: DisplayablePropertyType): void; setStyle(obj: Props['style']): this; setStyle<T extends keyof Props['style']>(obj: T, value: Props['style'][T]): this; dirtyStyle(): void; dirty(): void; styleChanged(): boolean; styleUpdated(): void; createStyle(obj?: Props['style']): Props["style"]; useStyle(obj: Props['style']): void; isStyleObject(obj: Props['style']): any; protected _innerSaveToNormal(toState: DisplayableState): void; protected _applyStateObj(stateName: string, state: DisplayableState, normalState: DisplayableState, keepCurrentStates: boolean, transition: boolean, animationCfg: ElementAnimateConfig): void; protected _mergeStates(states: DisplayableState[]): DisplayableState; protected _mergeStyle(targetStyle: CommonStyleProps, sourceStyle: CommonStyleProps): CommonStyleProps; getAnimationStyleProps(): MapToType<DisplayableProps, boolean>; static STYLE_CHANGED_BIT: number; protected static initDefaultProps: void; } interface ExtendedCanvasRenderingContext2D extends CanvasRenderingContext2D { dpr?: number; } declare class PathProxy { dpr: number; data: number[] | Float32Array; private _version; private _saveData; private _ctx; private _xi; private _yi; private _x0; private _y0; private _len; private _pathSegLen; private _pathLen; private _ux; private _uy; private _lineDash; private _needsDash; private _dashOffset; private _dashIdx; private _dashSum; 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; setLineDash(lineDash: number[] | false): this; setLineDashOffset(offset: number): this; 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; _expandData(): void; _dashedLineTo(x1: number, y1: number): void; _dashedBezierTo(x1: number, y1: number, x2: number, y2: number, x3: number, y3: number): void; _dashedQuadraticTo(x1: number, y1: number, x2: number, y2: number): void; toStatic(): void; getBoundingRect(): BoundingRect; private _calculateLength; rebuildPath(ctx: PathRebuilder, percent: number): void; 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 CanvasPatternRepeat = 'repeat' | 'repeat-x' | 'repeat-y' | 'no-repeat'; interface PatternObject { id?: number; type: 'pattern'; image: ImageLike | string; svgElement: SVGElement; svgWidth: number; svgHeight: number; repeat: CanvasPatternRepeat; x?: number; y?: number; rotation?: number; scaleX?: number; scaleY?: number; __image?: ImageLike; } interface GradientObject { id?: number; type: string; colorStops: GradientColorStop[]; __canvasGradient: CanvasGradient; } interface GradientColorStop { offset: number; color: string; } declare class Gradient { id?: number; type: string; colorStops: GradientColorStop[]; __canvasGradient: CanvasGradient; constructor(colorStops: GradientColorStop[]); addColorStop(offset: number, color: string): void; } interface LinearGradientObject extends GradientObject { type: 'linear'; x: number; y: number; x2: number; y2: number; global: boolean; } declare class LinearGradient extends Gradient { type: 'linear'; x: number; y: number; x2: number; y2: number; global: boolean; constructor(x: number, y: number, x2: number, y2: number, colorStops?: GradientColorStop[], globalCoord?: boolean); } interface RadialGradientObject extends GradientObject { type: 'radial'; x: number; y: number; r: number; global: boolean; } declare class RadialGradient extends Gradient { type: 'radial'; x: number; y: number; r: number; global: boolean; constructor(x: number, y: number, r: number, colorStops?: GradientColorStop[], globalCoord?: boolean); } 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>, inBundle?: 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 _rectWithStroke; 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>, inBundle?: boolean): void; pathUpdated(): void; 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, inBundle?: boolean): void; init?(this: Path, opts: PathProps): void; }): { new (opts?: PathProps & { shape: Shape; }): Path; }; static SHAPE_CHANGED_BIT: number; protected static initDefaultProps: void; } declare class Transformable { parent: Transformable; x: number; y: number; scaleX: number; scaleY: number; rotation: number; originX: number; originY: number; globalScaleRatio: number; transform: MatrixArray; invTransform: MatrixArray; setPosition(arr: number[]): void; setScale(arr: number[]): void; setOrigin(arr: number[]): void; needLocalTransform(): boolean; updateTransform(): void; private _resolveGlobalScaleRatio; getLocalTransform(m?: MatrixArray): MatrixArray; 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; static getLocalTransform(target: Transformable, m?: MatrixArray): MatrixArray; private static initDefaultProps; } 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; } interface PainterBase { type: string; root: HTMLElement; resize(width?: number | string, height?: number | string): void; refresh(): void; clear(): void; getType: () => string; getWidth(): number; getHeight(): number; dispose(): void; getViewportRoot: () => HTMLElement; getViewportRootOffset: () => { offsetLeft: number; offsetTop: number; }; refreshHover(): void; pathToImage(e: Path, dpr: number): ZRImage; configLayer(zlevel: number, config: Dictionary<any>): void; setBackgroundColor(backgroundColor: string | GradientObject | PatternObject): void; } interface HandlerProxyInterface extends Eventful { handler: Handler; dispose: () => void; setCursor: (cursorStyle?: string) => void; } declare function shapeCompareFunc(a: Displayable, b: Displayable): number; declare class Storage { private _roots; private _displayList; private _displayListLen; traverse<T>(cb: (this: T, el: Element) => void, context?: T): void; getDisplayList(update?: boolean, includeIgnore?: boolean): Displayable[]; updateDisplayList(includeIgnore?: boolean): void; private _updateAndAddDisplayable; addRoot(el: Element): void; delRoot(el: Element | Element[]): void; delAllRoots(): void; getRoots(): Element<ElementProps>[]; dispose(): void; displayableSortFunc: typeof shapeCompareFunc; } declare class HoveredResult { x: number; y: number; target: Displayable; topTarget: Displayable; constructor(x?: number, y?: number); } declare type HandlerName = 'click' | 'dblclick' | 'mousewheel' | 'mouseout' | 'mouseup' | 'mousedown' | 'mousemove' | 'contextmenu'; declare class Handler extends Eventful { storage: Storage; painter: PainterBase; painterRoot: HTMLElement; proxy: HandlerProxyInterface; private _hovered; private _gestureMgr; private _draggingMgr; _downEl: Element; _upEl: Element; _downPoint: [number, number]; constructor(storage: Storage, painter: PainterBase, proxy: HandlerProxyInterface, painterRoot: HTMLElement); setHandlerProxy(proxy: HandlerProxyInterface): void; mousemove(event: ZRRawEvent): void; mouseout(event: ZRRawEvent): void; resize(): void; dispatch(eventName: HandlerName, eventArgs?: any): void; dispose(): void; setCursorStyle(cursorStyle: string): void; dispatchToElement(targetInfo: { target?: Element; topTarget?: Element; }, eventName: ElementEventName, event: ZRRawEvent): void; findHover(x: number, y: number, exclude?: Displayable): HoveredResult; processGesture(event: ZRRawEvent, stage?: 'start' | 'end' | 'change'): void; click: (event: ZRRawEvent) => void; mousedown: (event: ZRRawEvent) => void; mouseup: (event: ZRRawEvent) => void; mousewheel: (event: ZRRawEvent) => void; dblclick: (event: ZRRawEvent) => void; contextmenu: (event: ZRRawEvent) => void; } interface LayerConfig { clearColor?: string | GradientObject | PatternObject; motionBlur?: boolean; lastFrameAlpha?: number; } interface TSpanStyleProps extends PathStyleProps { x?: number; y?: number; text?: string; font?: 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; } /*! * ZRender, a high performance 2d drawing library. * * Copyright (c) 2013, Baidu Inc. * All rights reserved. * * LICENSE * https://github.com/ecomfe/zrender/blob/master/LICENSE.txt */ declare type PainterBaseCtor = { new (dom: HTMLElement, storage: Storage, ...args: any[]): PainterBase; }; declare class ZRender { dom: HTMLElement; id: number; storage: Storage; painter: PainterBase; handler: Handler; animation: Animation; private _sleepAfterStill; private _stillFrameAccum; private _needsRefresh; private _needsRefreshHover; private _darkMode; private _backgroundColor; constructor(id: number, dom: HTMLElement, opts?: ZRenderInitOpt); add(el: Element): void; remove(el: Element): void; configLayer(zLevel: number, config: LayerConfig): void; setBackgroundColor(backgroundColor: string | GradientObject | PatternObject): void; getBackgroundColor(): string | GradientObject | PatternObject; setDarkMode(darkMode: boolean): void; isDarkMode(): boolean; refreshImmediately(fromInside?: boolean): void; refresh(): void; flush(): void; private _flush; setSleepAfterStill(stillFramesCount: number): void; wakeUp(): void; addHover(el: Displayable): void; removeHover(el: Path | TSpan | ZRImage): void; clearHover(): void; refreshHover(): void; refreshHoverImmediately(): void; resize(opts?: { width?: number | string; height?: number | string; }): void; clearAnimation(): void; getWidth(): number; getHeight(): number; pathToImage(e: Path, dpr: number): ZRImage; setCursorStyle(cursorStyle: string): void; findHover(x: number, y: number): { target: Displayable; topTarget: Displayable; }; on<Ctx>(eventName: ElementEventName, eventHandler: ElementEventCallback<Ctx, unknown>, context?: Ctx): this; on<Ctx>(eventName: string, eventHandler: EventCallback<Ctx, unknown>, context?: Ctx): this; off(eventName?: string, eventHandler?: EventCallback<unknown, unknown> | EventCallback<unknown, unknown, ElementEvent>): void; trigger(eventName: string, event?: unknown): void; clear(): void; dispose(): void; } interface ZRenderInitOpt { renderer?: string; devicePixelRatio?: number; width?: number | string; height?: number | string; useDirtyRect?: boolean; } declare function init(dom: HTMLElement, opts?: ZRenderInitOpt): ZRender; declare function dispose(zr: ZRender): void; declare function disposeAll(): void; declare function getInstance(id: number): ZRender; declare function registerPainter(name: string, Ctor: PainterBaseCtor): void; declare const version = "5.0.4"; interface ZRenderType extends ZRender { } type zrender_d_ZRenderInitOpt = ZRenderInitOpt; declare const zrender_d_init: typeof init; declare const zrender_d_dispose: typeof dispose; declare const zrender_d_disposeAll: typeof disposeAll; declare const zrender_d_getInstance: typeof getInstance; declare const zrender_d_registerPainter: typeof registerPainter; declare const zrender_d_version: typeof version; type zrender_d_ZRenderType = ZRenderType; declare namespace zrender_d { export { zrender_d_ZRenderInitOpt as ZRenderInitOpt, zrender_d_init as init, zrender_d_dispose as dispose, zrender_d_disposeAll as disposeAll, zrender_d_getInstance as getInstance, zrender_d_registerPainter as registerPainter, zrender_d_version as version, zrender_d_ZRenderType as ZRenderType, }; } 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 TextStylePropsPart { text?: string; fill?: string; stroke?: string; opacity?: number; fillOpacity?: number; strokeOpacity?: number; lineWidth?: number; lineDash?: false | number[]; lineDashOffset?: number; borderDash?: false | number[]; borderDashOffset?: number; font?: string; textFont?: string; fontStyle?: 'normal' | 'italic' | 'oblique'; fontWeight?: 'normal' | 'bold' | 'bolder' | 'lighter' | number; 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'; 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> { type: string; style: TextStyleProps; overlap: 'hidden' | 'show' | 'blur'; attachedTransform: Transformable; private _children; private _childCursor; private _defaultStyle; constructor(opts?: TextProps); childrenRef(): (ZRImage | TSpan | Rect)[]; update(): void; 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 | 'spline'; 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> { name?: string; ignore?: boolean; isGroup?: boolean; draggable?: boolean | 'horizontal' | 'vertical'; silent?: boolean; ignoreClip?: boolean; x?: number; y?: number; scaleX?: number; scaleY?: number; originX?: number; originY?: number; rotation?: number; globalScaleRatio?: number; textConfig?: ElementTextConfig; textContent?: ZRText; clipPath?: Path; drift?: Element['drift']; extra?: Dictionary<unknown>; anid?: string; } declare const PRIMARY_STATES_KEYS: readonly ["x", "y", "scaleX", "scaleY", "originX", "originY", "rotation", "ignore"]; declare type ElementStatePropNames = (typeof PRIMARY_STATES_KEYS)[number] | 'textConfig'; declare type ElementState = Pick<ElementProps, ElementStatePropNames> & ElementCommonState; declare type ElementCommonState = { hoverLayer?: boolean; }; interface Element<Props extends ElementProps = ElementProps> extends Transformable, Eventful, ElementEventHandlerProps { on<Ctx>(event: ElementEventName, handler: ElementEventCallback<Ctx, this>, context?: Ctx): this; on<Ctx>(event: string, handler: EventCallback<Ctx, this>, context?: Ctx): this; on<Ctx>(event: ElementEventName, query: EventQuery, handler: ElementEventCallback<Ctx, this>, context?: Ctx): this; on<Ctx>(event: string, query: EventQuery, handler: EventCallback<Ctx, this>, context?: Ctx): this; } declare class Element<Props extends ElementProps = ElementProps> { id: number; type: string; name: string; ignore: boolean; silent: boolean; isGroup: boolean; draggable: boolean | 'horizontal' | 'vertical'; dragging: boolean; parent: Group; animators: Animator<any>[]; ignoreClip: boolean; __hostTarget: Element; __zr: ZRenderType; __dirty: number; __isRendered: boolean; __inHover: boolean; private _clipPath?; private _textContent?; private _textGuide?; textConfig?: ElementTextConfig; textGuideLineConfig?: ElementTextGuideLineConfig; anid: string; extra: Dictionary<unknown>; currentStates?: string[]; prevStates?: string[]; states: Dictionary<ElementState>; stateTransition: ElementAnimateConfig; stateProxy?: (stateName: string, targetStates?: string[]) => ElementState; protected _normalState: ElementState; private _innerTextDefaultStyle; constructor(props?: Props); protected _init(props?: Props): void; drift(dx: number, dy: number, e?: ElementEvent): void; beforeUpdate(): void; afterUpdate(): void; update(): void; updateInnerText(forceUpdate?: boolean): void; protected canBeInsideText(): boolean; protected getInsideTextFill(): string; protected getInsideTextStroke(textFill: string): string; protected getOutsideFill(): "#333" | "#ccc"; protected getOutsideStroke(textFill: string): string; traverse<Context>(cb: (this: Context, el: Element<Props>) => void, context?: Context): void; protected attrKV(key: string, value: unknown): void; hide(): void; show(): void; attr(keyOrObj: Props): this; attr<T extends keyof Props>(keyOrObj: T, value: Props[T]): this; saveCurrentToNormalState(toState: ElementState): void; protected _innerSaveToNormal(toState: ElementState): void; protected _savePrimaryToNormal(toState: Dictionary<any>, normalState: Dictionary<any>, primaryKeys: readonly string[]): void; hasState(): boolean; getState(name: string): ElementState; ensureState(name: string): ElementState; clearStates(noAnimation?: boolean): void; useState(stateName: string, keepCurrentStates?: boolean, noAnimation?: boolean): ElementState; useStates(states: string[], noAnimation?: boolean): void; private _updateAnimationTargets; removeState(state: string): void; replaceState(oldState: string, newState: string, forceAdd: boolean): void; toggleState(state: string, enable: boolean): void; protected _mergeStates(states: ElementState[]): ElementState; protected _applyStateObj(stateName: string, state: ElementState, normalState: ElementState, keepCurrentStates: boolean, transition: boolean, animationCfg: ElementAnimateConfig): void; private _attachComponent; private _detachComponent; getClipPath(): Path<PathProps>; setClipPath(clipPath: Path): void; removeClipPath(): void; getTextContent(): ZRText; setTextContent(textEl: ZRText): void; setTextConfig(cfg: ElementTextConfig): void; removeTextContent(): void; getTextGuideLine(): Polyline; setTextGuideLine(guideLine: Polyline): void; removeTextGuideLine(): void; markRedraw(): void; dirty(): void; private _toggleHoverLayerFlag; addSelfToZr(zr: ZRenderType): void; removeSelfFromZr(zr: ZRenderType): void; animate(key?: string, loop?: boolean): Animator<any>; addAnimator(animator: Animator<any>, key: string): void; updateDuringAnimation(key: string): void; stopAnimation(scope?: string, forwardToLast?: boolean): this; animateTo(target: Props, cfg?: ElementAnimateConfig, animationProps?: MapToType<Props, boolean>): void; animateFrom(target: Props, cfg: Omit<ElementAnimateConfig, 'setToFinal'>, animationProps?: MapToType<Props, boolean>): void; protected _transitionState(stateName: string, target: Props, cfg?: ElementAnimateConfig, animationProps?: MapToType<Props, boolean>): void; getBoundingRect(): BoundingRect; getPaintRect(): BoundingRect; calculateTextPosition: (out: TextPositionCalculationResult, style: ElementTextConfig, rect: RectL