| 
									
										
										
										
											2025-08-19 13:55:42 +01:00
										 |  |  | #import <CSS/CSSStyleValue.idl> | 
					
						
							| 
									
										
										
										
											2025-09-11 17:00:26 +01:00
										 |  |  | #import <CSS/CSSUnitValue.idl> | 
					
						
							| 
									
										
										
										
											2025-08-19 13:55:42 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | // https://drafts.css-houdini.org/css-typed-om-1/#enumdef-cssnumericbasetype | 
					
						
							|  |  |  | enum CSSNumericBaseType { | 
					
						
							|  |  |  |     "length", | 
					
						
							|  |  |  |     "angle", | 
					
						
							|  |  |  |     "time", | 
					
						
							|  |  |  |     "frequency", | 
					
						
							|  |  |  |     "resolution", | 
					
						
							|  |  |  |     "flex", | 
					
						
							|  |  |  |     "percent", | 
					
						
							|  |  |  | }; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | // https://drafts.css-houdini.org/css-typed-om-1/#dictdef-cssnumerictype | 
					
						
							|  |  |  | dictionary CSSNumericType { | 
					
						
							| 
									
										
										
										
											2025-08-22 12:02:52 +01:00
										 |  |  |     long length; | 
					
						
							|  |  |  |     long angle; | 
					
						
							|  |  |  |     long time; | 
					
						
							|  |  |  |     long frequency; | 
					
						
							|  |  |  |     long resolution; | 
					
						
							|  |  |  |     long flex; | 
					
						
							|  |  |  |     long percent; | 
					
						
							|  |  |  |     CSSNumericBaseType percentHint; | 
					
						
							| 
									
										
										
										
											2025-08-19 13:55:42 +01:00
										 |  |  | }; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | // https://drafts.css-houdini.org/css-typed-om-1/#cssnumericvalue | 
					
						
							|  |  |  | [Exposed=(Window, Worker, PaintWorklet, LayoutWorklet)] | 
					
						
							|  |  |  | interface CSSNumericValue : CSSStyleValue { | 
					
						
							|  |  |  |     [FIXME] CSSNumericValue add(CSSNumberish... values); | 
					
						
							|  |  |  |     [FIXME] CSSNumericValue sub(CSSNumberish... values); | 
					
						
							|  |  |  |     [FIXME] CSSNumericValue mul(CSSNumberish... values); | 
					
						
							|  |  |  |     [FIXME] CSSNumericValue div(CSSNumberish... values); | 
					
						
							|  |  |  |     [FIXME] CSSNumericValue min(CSSNumberish... values); | 
					
						
							|  |  |  |     [FIXME] CSSNumericValue max(CSSNumberish... values); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-08-22 12:53:15 +01:00
										 |  |  |     [ImplementedAs=equals_for_bindings] boolean equals(CSSNumberish... value); | 
					
						
							| 
									
										
										
										
											2025-08-19 13:55:42 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-09-11 17:00:26 +01:00
										 |  |  |     CSSUnitValue to(USVString unit); | 
					
						
							| 
									
										
										
										
											2025-08-19 13:55:42 +01:00
										 |  |  |     // FIXME: CSSMathSum toSum(USVString... units); | 
					
						
							|  |  |  |     [ImplementedAs=type_for_bindings] CSSNumericType type(); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-08-21 16:20:24 +01:00
										 |  |  |     [Exposed=Window] static CSSNumericValue parse(USVString cssText); | 
					
						
							| 
									
										
										
										
											2025-08-19 13:55:42 +01:00
										 |  |  | }; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | // https://drafts.css-houdini.org/css-typed-om-1/#typedefdef-cssnumberish | 
					
						
							|  |  |  | typedef (double or CSSNumericValue) CSSNumberish; |