109516ff841d4ca9beed01688d0cab7c077024491f8a07cbf09d00cfb6af78bec2f6ba06eec890c0908c08c2010a942e99489e05aa81f59728ba943adc2e2e 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. import Element from 'zrender/lib/Element.js';
  2. import Model from '../model/Model.js';
  3. import { AnimationOption, AnimationOptionMixin } from '../util/types.js';
  4. import { Dictionary } from 'zrender/lib/core/types.js';
  5. import { PathStyleProps } from 'zrender/lib/graphic/Path.js';
  6. import { TransformProp } from 'zrender/lib/core/Transformable.js';
  7. export declare const ELEMENT_ANIMATABLE_PROPS: readonly ["", "style", "shape", "extra"];
  8. export declare type TransitionProps = string | string[];
  9. export declare type ElementRootTransitionProp = TransformProp | 'shape' | 'extra' | 'style';
  10. export interface TransitionOptionMixin<T = Record<string, any>> {
  11. transition?: (keyof T & string) | ((keyof T & string)[]) | 'all';
  12. enterFrom?: T;
  13. leaveTo?: T;
  14. enterAnimation?: AnimationOption;
  15. updateAnimation?: AnimationOption;
  16. leaveAnimation?: AnimationOption;
  17. }
  18. declare type TransitionElementOption = Partial<Record<TransformProp, number>> & {
  19. shape?: Dictionary<any> & TransitionOptionMixin;
  20. style?: PathStyleProps & TransitionOptionMixin;
  21. extra?: Dictionary<any> & TransitionOptionMixin;
  22. invisible?: boolean;
  23. silent?: boolean;
  24. autoBatch?: boolean;
  25. ignore?: boolean;
  26. during?: (params: TransitionDuringAPI) => void;
  27. } & TransitionOptionMixin;
  28. export interface TransitionBaseDuringAPI {
  29. setTransform(key: TransformProp, val: number): this;
  30. getTransform(key: TransformProp): number;
  31. setExtra(key: string, val: unknown): this;
  32. getExtra(key: string): unknown;
  33. }
  34. export interface TransitionDuringAPI<StyleOpt extends any = any, ShapeOpt extends any = any> extends TransitionBaseDuringAPI {
  35. setShape<T extends keyof ShapeOpt>(key: T, val: ShapeOpt[T]): this;
  36. getShape<T extends keyof ShapeOpt>(key: T): ShapeOpt[T];
  37. setStyle<T extends keyof StyleOpt>(key: T, val: StyleOpt[T]): this;
  38. getStyle<T extends keyof StyleOpt>(key: T): StyleOpt[T];
  39. }
  40. export declare function applyUpdateTransition(el: Element, elOption: TransitionElementOption, animatableModel?: Model<AnimationOptionMixin>, opts?: {
  41. dataIndex?: number;
  42. isInit?: boolean;
  43. clearStyle?: boolean;
  44. }): void;
  45. export declare function updateLeaveTo(el: Element, elOption: TransitionElementOption): void;
  46. export declare function applyLeaveTransition(el: Element, elOption: TransitionElementOption, animatableModel: Model<AnimationOptionMixin>, onRemove?: () => void): void;
  47. export declare function isTransitionAll(transition: TransitionProps): transition is 'all';
  48. export {};