import Element from 'zrender/lib/Element.js';
|
import Model from '../model/Model.js';
|
import { AnimationOption, AnimationOptionMixin } from '../util/types.js';
|
import { Dictionary } from 'zrender/lib/core/types.js';
|
import { PathStyleProps } from 'zrender/lib/graphic/Path.js';
|
import { TransformProp } from 'zrender/lib/core/Transformable.js';
|
export declare const ELEMENT_ANIMATABLE_PROPS: readonly ["", "style", "shape", "extra"];
|
export declare type TransitionProps = string | string[];
|
export declare type ElementRootTransitionProp = TransformProp | 'shape' | 'extra' | 'style';
|
export interface TransitionOptionMixin<T = Record<string, any>> {
|
transition?: (keyof T & string) | ((keyof T & string)[]) | 'all';
|
enterFrom?: T;
|
leaveTo?: T;
|
enterAnimation?: AnimationOption;
|
updateAnimation?: AnimationOption;
|
leaveAnimation?: AnimationOption;
|
}
|
declare type TransitionElementOption = Partial<Record<TransformProp, number>> & {
|
shape?: Dictionary<any> & TransitionOptionMixin;
|
style?: PathStyleProps & TransitionOptionMixin;
|
extra?: Dictionary<any> & TransitionOptionMixin;
|
invisible?: boolean;
|
silent?: boolean;
|
autoBatch?: boolean;
|
ignore?: boolean;
|
during?: (params: TransitionDuringAPI) => void;
|
} & TransitionOptionMixin;
|
export interface TransitionBaseDuringAPI {
|
setTransform(key: TransformProp, val: number): this;
|
getTransform(key: TransformProp): number;
|
setExtra(key: string, val: unknown): this;
|
getExtra(key: string): unknown;
|
}
|
export interface TransitionDuringAPI<StyleOpt extends any = any, ShapeOpt extends any = any> extends TransitionBaseDuringAPI {
|
setShape<T extends keyof ShapeOpt>(key: T, val: ShapeOpt[T]): this;
|
getShape<T extends keyof ShapeOpt>(key: T): ShapeOpt[T];
|
setStyle<T extends keyof StyleOpt>(key: T, val: StyleOpt[T]): this;
|
getStyle<T extends keyof StyleOpt>(key: T): StyleOpt[T];
|
}
|
export declare function applyUpdateTransition(el: Element, elOption: TransitionElementOption, animatableModel?: Model<AnimationOptionMixin>, opts?: {
|
dataIndex?: number;
|
isInit?: boolean;
|
clearStyle?: boolean;
|
}): void;
|
export declare function updateLeaveTo(el: Element, elOption: TransitionElementOption): void;
|
export declare function applyLeaveTransition(el: Element, elOption: TransitionElementOption, animatableModel: Model<AnimationOptionMixin>, onRemove?: () => void): void;
|
export declare function isTransitionAll(transition: TransitionProps): transition is 'all';
|
export {};
|