| 
									
										
										
										
											2023-11-04 13:09:57 -07:00
										 |  |  | #import <Animations/AnimationEffect.idl> | 
					
						
							|  |  |  | #import <DOM/Element.idl> | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | // https://www.w3.org/TR/web-animations-1/#the-compositeoperation-enumeration | 
					
						
							|  |  |  | enum CompositeOperation { "replace", "add", "accumulate" }; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | // https://www.w3.org/TR/web-animations-1/#enumdef-compositeoperationorauto | 
					
						
							|  |  |  | enum CompositeOperationOrAuto { "replace", "add", "accumulate", "auto" }; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | // https://www.w3.org/TR/web-animations-1/#the-keyframeeffectoptions-dictionary | 
					
						
							|  |  |  | dictionary KeyframeEffectOptions : EffectTiming { | 
					
						
							|  |  |  |     CompositeOperation composite = "replace"; | 
					
						
							| 
									
										
										
										
											2024-01-17 21:03:20 +01:00
										 |  |  |     CSSOMString? pseudoElement = null; | 
					
						
							| 
									
										
										
										
											2023-11-04 13:09:57 -07:00
										 |  |  | }; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | // https://www.w3.org/TR/web-animations-1/#dictdef-basepropertyindexedkeyframe | 
					
						
							|  |  |  | dictionary BasePropertyIndexedKeyframe { | 
					
						
							| 
									
										
										
										
											2024-01-17 21:03:20 +01:00
										 |  |  |     (double? or sequence<double?>) offset = []; | 
					
						
							|  |  |  |     (DOMString or sequence<DOMString>) easing = []; | 
					
						
							| 
									
										
										
										
											2023-11-04 13:09:57 -07:00
										 |  |  |     (CompositeOperationOrAuto or sequence<CompositeOperationOrAuto>) composite = []; | 
					
						
							|  |  |  | }; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | // https://www.w3.org/TR/web-animations-1/#dictdef-basekeyframe | 
					
						
							|  |  |  | dictionary BaseKeyframe { | 
					
						
							| 
									
										
										
										
											2024-01-17 21:03:20 +01:00
										 |  |  |     double? offset = null; | 
					
						
							|  |  |  |     DOMString easing = "linear"; | 
					
						
							| 
									
										
										
										
											2023-11-04 13:09:57 -07:00
										 |  |  |     CompositeOperationOrAuto composite = "auto"; | 
					
						
							|  |  |  | }; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | // https://www.w3.org/TR/web-animations-1/#the-keyframeeffect-interface | 
					
						
							|  |  |  | [Exposed=Window] | 
					
						
							|  |  |  | interface KeyframeEffect : AnimationEffect { | 
					
						
							| 
									
										
										
										
											2024-01-17 21:03:20 +01:00
										 |  |  |     constructor(Element? target, object? keyframes, optional (unrestricted double or KeyframeEffectOptions) options = {}); | 
					
						
							| 
									
										
										
										
											2023-11-04 13:09:57 -07:00
										 |  |  |     constructor(KeyframeEffect source); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-01-17 21:03:20 +01:00
										 |  |  |     attribute Element? target; | 
					
						
							|  |  |  |     attribute CSSOMString? pseudoElement; | 
					
						
							| 
									
										
										
										
											2023-11-04 13:09:57 -07:00
										 |  |  |     attribute CompositeOperation composite; | 
					
						
							|  |  |  |     sequence<object> getKeyframes(); | 
					
						
							| 
									
										
										
										
											2024-01-17 21:03:20 +01:00
										 |  |  |     undefined setKeyframes(object? keyframes); | 
					
						
							| 
									
										
										
										
											2023-11-04 13:09:57 -07:00
										 |  |  | }; |