// GENERATED CONTENT - DO NOT EDIT // Content was automatically extracted by Reffy into reffy-reports // (https://github.com/tidoust/reffy-reports) // Source: Web Animations (https://drafts.csswg.org/web-animations-1/) [Exposed=Window] interface AnimationTimeline { readonly attribute double? currentTime; }; dictionary DocumentTimelineOptions { DOMHighResTimeStamp originTime = 0; }; [Exposed=Window] interface DocumentTimeline : AnimationTimeline { constructor(optional DocumentTimelineOptions options = {}); }; [Exposed=Window] interface Animation : EventTarget { constructor(optional AnimationEffect? effect = null, optional AnimationTimeline? timeline); attribute DOMString id; attribute AnimationEffect? effect; readonly attribute AnimationTimeline? timeline; attribute double? startTime; attribute double? currentTime; attribute double playbackRate; readonly attribute AnimationPlayState playState; readonly attribute AnimationReplaceState replaceState; readonly attribute boolean pending; readonly attribute Promise ready; readonly attribute Promise finished; attribute EventHandler onfinish; attribute EventHandler oncancel; attribute EventHandler onremove; void cancel(); void finish(); void play(); void pause(); void updatePlaybackRate(double playbackRate); void reverse(); void persist(); void commitStyles(); }; enum AnimationPlayState { "idle", "running", "paused", "finished" }; enum AnimationReplaceState { "active", "removed", "persisted" }; [Exposed=Window] interface AnimationEffect { EffectTiming getTiming(); ComputedEffectTiming getComputedTiming(); void updateTiming(optional OptionalEffectTiming timing = {}); }; dictionary EffectTiming { double delay = 0; double endDelay = 0; FillMode fill = "auto"; double iterationStart = 0.0; unrestricted double iterations = 1.0; (unrestricted double or DOMString) duration = "auto"; PlaybackDirection direction = "normal"; DOMString easing = "linear"; }; dictionary OptionalEffectTiming { double delay; double endDelay; FillMode fill; double iterationStart; unrestricted double iterations; (unrestricted double or DOMString) duration; PlaybackDirection direction; DOMString easing; }; enum FillMode { "none", "forwards", "backwards", "both", "auto" }; enum PlaybackDirection { "normal", "reverse", "alternate", "alternate-reverse" }; dictionary ComputedEffectTiming : EffectTiming { unrestricted double endTime; unrestricted double activeDuration; double? localTime; double? progress; unrestricted double? currentIteration; }; [Exposed=Window] interface KeyframeEffect : AnimationEffect { constructor(Element? target, object? keyframes, optional (unrestricted double or KeyframeEffectOptions) options = {}); constructor(KeyframeEffect source); attribute Element? target; attribute CSSOMString? pseudoElement; attribute CompositeOperation composite; sequence getKeyframes(); void setKeyframes(object? keyframes); }; dictionary BaseComputedKeyframe { double? offset = null; double computedOffset; DOMString easing = "linear"; CompositeOperationOrAuto composite = "auto"; }; dictionary BasePropertyIndexedKeyframe { (double? or sequence) offset = []; (DOMString or sequence) easing = []; (CompositeOperationOrAuto or sequence) composite = []; }; dictionary BaseKeyframe { double? offset = null; DOMString easing = "linear"; CompositeOperationOrAuto composite = "auto"; }; dictionary KeyframeEffectOptions : EffectTiming { CompositeOperation composite = "replace"; CSSOMString? pseudoElement = null; }; enum CompositeOperation { "replace", "add", "accumulate" }; enum CompositeOperationOrAuto { "replace", "add", "accumulate", "auto" }; interface mixin Animatable { Animation animate(object? keyframes, optional (unrestricted double or KeyframeAnimationOptions) options = {}); sequence getAnimations(optional GetAnimationsOptions options = {}); }; dictionary KeyframeAnimationOptions : KeyframeEffectOptions { DOMString id = ""; }; dictionary GetAnimationsOptions { boolean subtree = false; }; partial interface Document { readonly attribute DocumentTimeline timeline; }; partial interface mixin DocumentOrShadowRoot { sequence getAnimations(); }; Element includes Animatable; [Exposed=Window] interface AnimationPlaybackEvent : Event { constructor(DOMString type, optional AnimationPlaybackEventInit eventInitDict = {}); readonly attribute double? currentTime; readonly attribute double? timelineTime; }; dictionary AnimationPlaybackEventInit : EventInit { double? currentTime = null; double? timelineTime = null; };