web-animations.idl (5022B)
1 // GENERATED CONTENT - DO NOT EDIT 2 // Content was automatically extracted by Reffy into webref 3 // (https://github.com/w3c/webref) 4 // Source: Web Animations Module Level 1 (https://drafts.csswg.org/web-animations-1/) 5 6 [Exposed=Window] 7 interface AnimationTimeline { 8 }; 9 10 dictionary DocumentTimelineOptions { 11 DOMHighResTimeStamp originTime = 0; 12 }; 13 14 [Exposed=Window] 15 interface DocumentTimeline : AnimationTimeline { 16 constructor(optional DocumentTimelineOptions options = {}); 17 }; 18 19 [Exposed=Window] 20 interface Animation : EventTarget { 21 constructor(optional AnimationEffect? effect = null, 22 optional AnimationTimeline? timeline); 23 attribute DOMString id; 24 attribute AnimationEffect? effect; 25 attribute AnimationTimeline? timeline; 26 attribute double playbackRate; 27 readonly attribute AnimationPlayState playState; 28 readonly attribute AnimationReplaceState replaceState; 29 readonly attribute boolean pending; 30 readonly attribute Promise<Animation> ready; 31 readonly attribute Promise<Animation> finished; 32 attribute EventHandler onfinish; 33 attribute EventHandler oncancel; 34 attribute EventHandler onremove; 35 undefined cancel(); 36 undefined finish(); 37 undefined play(); 38 undefined pause(); 39 undefined updatePlaybackRate(double playbackRate); 40 undefined reverse(); 41 undefined persist(); 42 [CEReactions] 43 undefined commitStyles(); 44 }; 45 46 enum AnimationPlayState { "idle", "running", "paused", "finished" }; 47 48 enum AnimationReplaceState { "active", "removed", "persisted" }; 49 50 [Exposed=Window] 51 interface AnimationEffect { 52 EffectTiming getTiming(); 53 ComputedEffectTiming getComputedTiming(); 54 undefined updateTiming(optional OptionalEffectTiming timing = {}); 55 }; 56 57 dictionary EffectTiming { 58 FillMode fill = "auto"; 59 double iterationStart = 0.0; 60 unrestricted double iterations = 1.0; 61 PlaybackDirection direction = "normal"; 62 DOMString easing = "linear"; 63 }; 64 65 dictionary OptionalEffectTiming { 66 double delay; 67 double endDelay; 68 FillMode fill; 69 double iterationStart; 70 unrestricted double iterations; 71 (unrestricted double or DOMString) duration; 72 PlaybackDirection direction; 73 DOMString easing; 74 }; 75 76 enum FillMode { "none", "forwards", "backwards", "both", "auto" }; 77 78 enum PlaybackDirection { "normal", "reverse", "alternate", "alternate-reverse" }; 79 80 dictionary ComputedEffectTiming : EffectTiming { 81 double? progress; 82 unrestricted double? currentIteration; 83 }; 84 85 [Exposed=Window] 86 interface KeyframeEffect : AnimationEffect { 87 constructor(Element? target, 88 object? keyframes, 89 optional (unrestricted double or KeyframeEffectOptions) options = {}); 90 constructor(KeyframeEffect source); 91 attribute Element? target; 92 attribute CSSOMString? pseudoElement; 93 attribute CompositeOperation composite; 94 sequence<object> getKeyframes(); 95 undefined setKeyframes(object? keyframes); 96 }; 97 98 dictionary BaseComputedKeyframe { 99 double? offset = null; 100 double computedOffset; 101 DOMString easing = "linear"; 102 CompositeOperationOrAuto composite = "auto"; 103 }; 104 105 dictionary BasePropertyIndexedKeyframe { 106 (double? or sequence<double?>) offset = []; 107 (DOMString or sequence<DOMString>) easing = []; 108 (CompositeOperationOrAuto or sequence<CompositeOperationOrAuto>) composite = []; 109 }; 110 111 dictionary BaseKeyframe { 112 double? offset = null; 113 DOMString easing = "linear"; 114 CompositeOperationOrAuto composite = "auto"; 115 }; 116 117 dictionary KeyframeEffectOptions : EffectTiming { 118 CompositeOperation composite = "replace"; 119 CSSOMString? pseudoElement = null; 120 }; 121 122 enum CompositeOperation { "replace", "add", "accumulate" }; 123 124 enum CompositeOperationOrAuto { "replace", "add", "accumulate", "auto" }; 125 126 interface mixin Animatable { 127 Animation animate(object? keyframes, 128 optional (unrestricted double or KeyframeAnimationOptions) options = {}); 129 sequence<Animation> getAnimations(optional GetAnimationsOptions options = {}); 130 }; 131 132 dictionary KeyframeAnimationOptions : KeyframeEffectOptions { 133 DOMString id = ""; 134 AnimationTimeline? timeline; 135 }; 136 137 dictionary GetAnimationsOptions { 138 boolean subtree = false; 139 CSSOMString? pseudoElement = null; 140 }; 141 142 partial interface Document { 143 readonly attribute DocumentTimeline timeline; 144 }; 145 146 partial interface mixin DocumentOrShadowRoot { 147 sequence<Animation> getAnimations(); 148 }; 149 150 Element includes Animatable;