Blame view

天文台pc/tianwentai-ui/node_modules/framer-motion/dist/dom-mini.d.ts 2.81 KB
bc518174   王天杨   提交两个项目文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
  import { UnresolvedValueKeyframe, AnimationOptions, MotionValue, Transition, ElementOrSelector, DOMKeyframesDefinition, AnimationPlaybackOptions, GroupAnimationWithThen, AnimationPlaybackControlsWithThen } from 'motion-dom';
  
  /**
   * Lifecycle callbacks are not supported on individual sequence segments
   * because segments are consolidated into a single animation per subject.
   * Use sequence-level options (e.g. SequenceOptions.onComplete) instead.
   */
  type LifecycleCallbacks = "onUpdate" | "onPlay" | "onComplete" | "onRepeat" | "onStop";
  /**
   * Distributive Omit preserves union branches (unlike plain Omit).
   */
  type DistributiveOmit<T, K extends string> = T extends any ? Omit<T, K> : never;
  type SegmentTransitionOptions = DistributiveOmit<AnimationOptions, LifecycleCallbacks> & At;
  type SegmentValueTransitionOptions = DistributiveOmit<Transition, LifecycleCallbacks> & At;
  type ObjectTarget<O> = {
      [K in keyof O]?: O[K] | UnresolvedValueKeyframe[];
  };
  type SequenceTime = number | "<" | `+${number}` | `-${number}` | `${string}`;
  type SequenceLabel = string;
  interface SequenceLabelWithTime {
      name: SequenceLabel;
      at: SequenceTime;
  }
  interface At {
      at?: SequenceTime;
  }
  type MotionValueSegment = [
      MotionValue,
      UnresolvedValueKeyframe | UnresolvedValueKeyframe[]
  ];
  type MotionValueSegmentWithTransition = [
      MotionValue,
      UnresolvedValueKeyframe | UnresolvedValueKeyframe[],
      SegmentValueTransitionOptions
  ];
  type DOMSegment = [ElementOrSelector, DOMKeyframesDefinition];
  type DOMSegmentWithTransition = [
      ElementOrSelector,
      DOMKeyframesDefinition,
      SegmentTransitionOptions
  ];
  type ObjectSegment<O extends {} = {}> = [O, ObjectTarget<O>];
  type ObjectSegmentWithTransition<O extends {} = {}> = [
      O,
      ObjectTarget<O>,
      SegmentTransitionOptions
  ];
  type SequenceProgressCallback = (value: any) => void;
  type FunctionSegment = [SequenceProgressCallback] | [SequenceProgressCallback, SegmentTransitionOptions] | [
      SequenceProgressCallback,
      UnresolvedValueKeyframe | UnresolvedValueKeyframe[],
      SegmentTransitionOptions
  ];
  type Segment = ObjectSegment | ObjectSegmentWithTransition | SequenceLabel | SequenceLabelWithTime | MotionValueSegment | MotionValueSegmentWithTransition | DOMSegment | DOMSegmentWithTransition | FunctionSegment;
  type AnimationSequence = Segment[];
  interface SequenceOptions extends AnimationPlaybackOptions {
      delay?: number;
      duration?: number;
      defaultTransition?: Transition;
      reduceMotion?: boolean;
      onComplete?: () => void;
  }
  
  declare function animateSequence(definition: AnimationSequence, options?: SequenceOptions): GroupAnimationWithThen;
  
  declare const animateMini: (elementOrSelector: ElementOrSelector, keyframes: DOMKeyframesDefinition, options?: AnimationOptions) => AnimationPlaybackControlsWithThen;
  
  export { animateMini as animate, animateSequence };