web-animations-2.idl (4476B)
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 2 (https://drafts.csswg.org/web-animations-2/) 5 6 [Exposed=Window] 7 partial interface AnimationTimeline { 8 readonly attribute CSSNumberish? currentTime; 9 readonly attribute CSSNumberish? duration; 10 Animation play (optional AnimationEffect? effect = null); 11 }; 12 13 [Exposed=Window] 14 partial interface Animation { 15 attribute CSSNumberish? startTime; 16 attribute CSSNumberish? currentTime; 17 attribute AnimationTrigger? trigger; 18 readonly attribute double? overallProgress; 19 }; 20 21 [Exposed=Window] 22 partial interface AnimationEffect { 23 // Timing hierarchy 24 readonly attribute GroupEffect? parent; 25 readonly attribute AnimationEffect? previousSibling; 26 readonly attribute AnimationEffect? nextSibling; 27 28 undefined before (AnimationEffect... effects); 29 undefined after (AnimationEffect... effects); 30 undefined replace (AnimationEffect... effects); 31 undefined remove (); 32 }; 33 34 partial dictionary EffectTiming { 35 double delay; 36 double endDelay; 37 double playbackRate = 1.0; 38 (unrestricted double or CSSNumericValue or DOMString) duration = "auto"; 39 }; 40 41 partial dictionary OptionalEffectTiming { 42 double playbackRate; 43 }; 44 45 partial dictionary ComputedEffectTiming { 46 CSSNumberish startTime; 47 CSSNumberish endTime; 48 CSSNumberish activeDuration; 49 CSSNumberish? localTime; 50 }; 51 52 [Exposed=Window] 53 interface GroupEffect { 54 constructor(sequence<AnimationEffect>? children, 55 optional (unrestricted double or EffectTiming) timing = {}); 56 57 readonly attribute AnimationNodeList children; 58 readonly attribute AnimationEffect? firstChild; 59 readonly attribute AnimationEffect? lastChild; 60 GroupEffect clone (); 61 62 undefined prepend (AnimationEffect... effects); 63 undefined append (AnimationEffect... effects); 64 }; 65 66 [Exposed=Window] 67 interface AnimationNodeList { 68 readonly attribute unsigned long length; 69 getter AnimationEffect? item (unsigned long index); 70 }; 71 72 [Exposed=Window] 73 interface SequenceEffect : GroupEffect { 74 constructor(sequence<AnimationEffect>? children, 75 optional (unrestricted double or EffectTiming) timing = {}); 76 77 SequenceEffect clone (); 78 }; 79 80 partial interface KeyframeEffect { 81 attribute IterationCompositeOperation iterationComposite; 82 }; 83 84 partial dictionary KeyframeEffectOptions { 85 IterationCompositeOperation iterationComposite = "replace"; 86 }; 87 88 enum IterationCompositeOperation { "replace", "accumulate" }; 89 90 callback EffectCallback = undefined (double? progress, 91 (Element or CSSPseudoElement) currentTarget, 92 Animation animation); 93 94 dictionary TimelineRangeOffset { 95 CSSOMString? rangeName; 96 CSSNumericValue offset; 97 }; 98 99 partial dictionary KeyframeAnimationOptions { 100 (TimelineRangeOffset or CSSNumericValue or CSSKeywordValue or DOMString) rangeStart = "normal"; 101 (TimelineRangeOffset or CSSNumericValue or CSSKeywordValue or DOMString) rangeEnd = "normal"; 102 AnimationTrigger? trigger; 103 }; 104 105 [Exposed=Window] 106 interface AnimationPlaybackEvent : Event { 107 constructor(DOMString type, optional AnimationPlaybackEventInit 108 eventInitDict = {}); 109 readonly attribute CSSNumberish? currentTime; 110 readonly attribute CSSNumberish? timelineTime; 111 }; 112 dictionary AnimationPlaybackEventInit : EventInit { 113 CSSNumberish? currentTime = null; 114 CSSNumberish? timelineTime = null; 115 }; 116 117 [Exposed=Window] 118 interface AnimationTrigger { 119 constructor(optional AnimationTriggerOptions options = {}); 120 attribute AnimationTimeline timeline; 121 attribute AnimationTriggerBehavior behavior; 122 attribute any rangeStart; 123 attribute any rangeEnd; 124 attribute any exitRangeStart; 125 attribute any exitRangeEnd; 126 }; 127 128 dictionary AnimationTriggerOptions { 129 AnimationTimeline? timeline; 130 AnimationTriggerBehavior? behavior = "once"; 131 (TimelineRangeOffset or CSSNumericValue or CSSKeywordValue or DOMString) rangeStart = "normal"; 132 (TimelineRangeOffset or CSSNumericValue or CSSKeywordValue or DOMString) rangeEnd = "normal"; 133 (TimelineRangeOffset or CSSNumericValue or CSSKeywordValue or DOMString) exitRangeStart = "auto"; 134 (TimelineRangeOffset or CSSNumericValue or CSSKeywordValue or DOMString) exitRangeEnd = "auto"; 135 }; 136 137 enum AnimationTriggerBehavior { "once", "repeat", "alternate", "state" };