// GENERATED CONTENT - DO NOT EDIT // Content was automatically extracted by Reffy into webref // (https://github.com/w3c/webref) // Source: Web Animations Level 2 (https://drafts.csswg.org/web-animations-2/) [Exposed=Window] partial interface AnimationTimeline { readonly attribute CSSNumberish? currentTime; readonly attribute CSSNumberish? duration; Animation play (optional AnimationEffect? effect = null); }; [Exposed=Window] partial interface Animation { attribute CSSNumberish? startTime; attribute CSSNumberish? currentTime; readonly attribute double? progress; }; [Exposed=Window] partial interface AnimationEffect { // Timing hierarchy readonly attribute GroupEffect? parent; readonly attribute AnimationEffect? previousSibling; readonly attribute AnimationEffect? nextSibling; undefined before (AnimationEffect... effects); undefined after (AnimationEffect... effects); undefined replace (AnimationEffect... effects); undefined remove (); }; partial dictionary EffectTiming { double delay; double endDelay; double playbackRate = 1.0; (unrestricted double or CSSNumericValue or DOMString) duration = "auto"; }; partial dictionary OptionalEffectTiming { double playbackRate; }; partial dictionary ComputedEffectTiming { CSSNumberish startTime; CSSNumberish endTime; CSSNumberish activeDuration; CSSNumberish? localTime; }; [Exposed=Window] interface GroupEffect { constructor(sequence? children, optional (unrestricted double or EffectTiming) timing = {}); readonly attribute AnimationNodeList children; readonly attribute AnimationEffect? firstChild; readonly attribute AnimationEffect? lastChild; GroupEffect clone (); undefined prepend (AnimationEffect... effects); undefined append (AnimationEffect... effects); }; [Exposed=Window] interface AnimationNodeList { readonly attribute unsigned long length; getter AnimationEffect? item (unsigned long index); }; [Exposed=Window] interface SequenceEffect : GroupEffect { constructor(sequence? children, optional (unrestricted double or EffectTiming) timing = {}); SequenceEffect clone (); }; partial interface KeyframeEffect { attribute IterationCompositeOperation iterationComposite; }; partial dictionary KeyframeEffectOptions { IterationCompositeOperation iterationComposite = "replace"; }; enum IterationCompositeOperation { "replace", "accumulate" }; callback EffectCallback = undefined (double? progress, (Element or CSSPseudoElement) currentTarget, Animation animation); dictionary TimelineRangeOffset { CSSOMString? rangeName; CSSNumericValue offset; }; partial dictionary KeyframeAnimationOptions { (TimelineRangeOffset or CSSNumericValue or CSSKeywordValue or DOMString) rangeStart = "normal"; (TimelineRangeOffset or CSSNumericValue or CSSKeywordValue or DOMString) rangeEnd = "normal"; }; [Exposed=Window] interface AnimationPlaybackEvent : Event { constructor(DOMString type, optional AnimationPlaybackEventInit eventInitDict = {}); readonly attribute CSSNumberish? currentTime; readonly attribute CSSNumberish? timelineTime; }; dictionary AnimationPlaybackEventInit : EventInit { CSSNumberish? currentTime = null; CSSNumberish? timelineTime = null; };