UNPKG

44.8 kBTypeScriptView Raw
1// Users who only use Preact for SSR might not specify "dom" in their lib in tsconfig.json
2/// <reference lib="dom" />
3
4import {
5 ClassAttributes,
6 Component,
7 ComponentChild,
8 ComponentType,
9 FunctionComponent,
10 PreactDOMAttributes,
11 VNode
12} from './index';
13
14type Defaultize<Props, Defaults> =
15 // Distribute over unions
16 Props extends any // Make any properties included in Default optional
17 ? Partial<Pick<Props, Extract<keyof Props, keyof Defaults>>> & // Include the remaining properties from Props
18 Pick<Props, Exclude<keyof Props, keyof Defaults>>
19 : never;
20
21export namespace JSXInternal {
22 export type LibraryManagedAttributes<Component, Props> = Component extends {
23 defaultProps: infer Defaults;
24 }
25 ? Defaultize<Props, Defaults>
26 : Props;
27
28 export interface IntrinsicAttributes {
29 key?: any;
30 }
31
32 export type ElementType<P = any> =
33 | {
34 [K in keyof IntrinsicElements]: P extends IntrinsicElements[K]
35 ? K
36 : never;
37 }[keyof IntrinsicElements]
38 | ComponentType<P>;
39 export interface Element extends VNode<any> {}
40 export type ElementClass = Component<any, any> | FunctionComponent<any>;
41
42 export interface ElementAttributesProperty {
43 props: any;
44 }
45
46 export interface ElementChildrenAttribute {
47 children: any;
48 }
49
50 export type DOMCSSProperties = {
51 [key in keyof Omit<
52 CSSStyleDeclaration,
53 | 'item'
54 | 'setProperty'
55 | 'removeProperty'
56 | 'getPropertyValue'
57 | 'getPropertyPriority'
58 >]?: string | number | null | undefined;
59 };
60 export type AllCSSProperties = {
61 [key: string]: string | number | null | undefined;
62 };
63 export interface CSSProperties extends AllCSSProperties, DOMCSSProperties {
64 cssText?: string | null;
65 }
66
67 export interface SignalLike<T> {
68 value: T;
69 peek(): T;
70 subscribe(fn: (value: T) => void): () => void;
71 }
72
73 export interface SVGAttributes<Target extends EventTarget = SVGElement>
74 extends HTMLAttributes<Target> {
75 accentHeight?: number | string | SignalLike<number | string>;
76 accumulate?: 'none' | 'sum' | SignalLike<'none' | 'sum'>;
77 additive?: 'replace' | 'sum' | SignalLike<'replace' | 'sum'>;
78 alignmentBaseline?:
79 | 'auto'
80 | 'baseline'
81 | 'before-edge'
82 | 'text-before-edge'
83 | 'middle'
84 | 'central'
85 | 'after-edge'
86 | 'text-after-edge'
87 | 'ideographic'
88 | 'alphabetic'
89 | 'hanging'
90 | 'mathematical'
91 | 'inherit'
92 | SignalLike<
93 | 'auto'
94 | 'baseline'
95 | 'before-edge'
96 | 'text-before-edge'
97 | 'middle'
98 | 'central'
99 | 'after-edge'
100 | 'text-after-edge'
101 | 'ideographic'
102 | 'alphabetic'
103 | 'hanging'
104 | 'mathematical'
105 | 'inherit'
106 >;
107 allowReorder?: 'no' | 'yes' | SignalLike<'no' | 'yes'>;
108 alphabetic?: number | string | SignalLike<number | string>;
109 amplitude?: number | string | SignalLike<number | string>;
110 arabicForm?:
111 | 'initial'
112 | 'medial'
113 | 'terminal'
114 | 'isolated'
115 | SignalLike<'initial' | 'medial' | 'terminal' | 'isolated'>;
116 ascent?: number | string | SignalLike<number | string>;
117 attributeName?: string | SignalLike<string>;
118 attributeType?: string | SignalLike<string>;
119 autoReverse?: number | string | SignalLike<number | string>;
120 azimuth?: number | string | SignalLike<number | string>;
121 baseFrequency?: number | string | SignalLike<number | string>;
122 baselineShift?: number | string | SignalLike<number | string>;
123 baseProfile?: number | string | SignalLike<number | string>;
124 bbox?: number | string | SignalLike<number | string>;
125 begin?: number | string | SignalLike<number | string>;
126 bias?: number | string | SignalLike<number | string>;
127 by?: number | string | SignalLike<number | string>;
128 calcMode?: number | string | SignalLike<number | string>;
129 capHeight?: number | string | SignalLike<number | string>;
130 clip?: number | string | SignalLike<number | string>;
131 clipPath?: string | SignalLike<string>;
132 clipPathUnits?: number | string | SignalLike<number | string>;
133 clipRule?: number | string | SignalLike<number | string>;
134 colorInterpolation?: number | string | SignalLike<number | string>;
135 colorInterpolationFilters?:
136 | 'auto'
137 | 'sRGB'
138 | 'linearRGB'
139 | 'inherit'
140 | SignalLike<'auto' | 'sRGB' | 'linearRGB' | 'inherit'>;
141 colorProfile?: number | string | SignalLike<number | string>;
142 colorRendering?: number | string | SignalLike<number | string>;
143 contentScriptType?: number | string | SignalLike<number | string>;
144 contentStyleType?: number | string | SignalLike<number | string>;
145 cursor?: number | string | SignalLike<number | string>;
146 cx?: number | string | SignalLike<number | string>;
147 cy?: number | string | SignalLike<number | string>;
148 d?: string | SignalLike<string>;
149 decelerate?: number | string | SignalLike<number | string>;
150 descent?: number | string | SignalLike<number | string>;
151 diffuseConstant?: number | string | SignalLike<number | string>;
152 direction?: number | string | SignalLike<number | string>;
153 display?: number | string | SignalLike<number | string>;
154 divisor?: number | string | SignalLike<number | string>;
155 dominantBaseline?: number | string | SignalLike<number | string>;
156 dur?: number | string | SignalLike<number | string>;
157 dx?: number | string | SignalLike<number | string>;
158 dy?: number | string | SignalLike<number | string>;
159 edgeMode?: number | string | SignalLike<number | string>;
160 elevation?: number | string | SignalLike<number | string>;
161 enableBackground?: number | string | SignalLike<number | string>;
162 end?: number | string | SignalLike<number | string>;
163 exponent?: number | string | SignalLike<number | string>;
164 externalResourcesRequired?: number | string | SignalLike<number | string>;
165 fill?: string | SignalLike<string>;
166 fillOpacity?: number | string | SignalLike<number | string>;
167 fillRule?:
168 | 'nonzero'
169 | 'evenodd'
170 | 'inherit'
171 | SignalLike<'nonzero' | 'evenodd' | 'inherit'>;
172 filter?: string | SignalLike<string>;
173 filterRes?: number | string | SignalLike<number | string>;
174 filterUnits?: number | string | SignalLike<number | string>;
175 floodColor?: number | string | SignalLike<number | string>;
176 floodOpacity?: number | string | SignalLike<number | string>;
177 focusable?: number | string | SignalLike<number | string>;
178 fontFamily?: string | SignalLike<string>;
179 fontSize?: number | string | SignalLike<number | string>;
180 fontSizeAdjust?: number | string | SignalLike<number | string>;
181 fontStretch?: number | string | SignalLike<number | string>;
182 fontStyle?: number | string | SignalLike<number | string>;
183 fontVariant?: number | string | SignalLike<number | string>;
184 fontWeight?: number | string | SignalLike<number | string>;
185 format?: number | string | SignalLike<number | string>;
186 from?: number | string | SignalLike<number | string>;
187 fx?: number | string | SignalLike<number | string>;
188 fy?: number | string | SignalLike<number | string>;
189 g1?: number | string | SignalLike<number | string>;
190 g2?: number | string | SignalLike<number | string>;
191 glyphName?: number | string | SignalLike<number | string>;
192 glyphOrientationHorizontal?: number | string | SignalLike<number | string>;
193 glyphOrientationVertical?: number | string | SignalLike<number | string>;
194 glyphRef?: number | string | SignalLike<number | string>;
195 gradientTransform?: string | SignalLike<string>;
196 gradientUnits?: string | SignalLike<string>;
197 hanging?: number | string | SignalLike<number | string>;
198 horizAdvX?: number | string | SignalLike<number | string>;
199 horizOriginX?: number | string | SignalLike<number | string>;
200 ideographic?: number | string | SignalLike<number | string>;
201 imageRendering?: number | string | SignalLike<number | string>;
202 in2?: number | string | SignalLike<number | string>;
203 in?: string | SignalLike<string>;
204 intercept?: number | string | SignalLike<number | string>;
205 k1?: number | string | SignalLike<number | string>;
206 k2?: number | string | SignalLike<number | string>;
207 k3?: number | string | SignalLike<number | string>;
208 k4?: number | string | SignalLike<number | string>;
209 k?: number | string | SignalLike<number | string>;
210 kernelMatrix?: number | string | SignalLike<number | string>;
211 kernelUnitLength?: number | string | SignalLike<number | string>;
212 kerning?: number | string | SignalLike<number | string>;
213 keyPoints?: number | string | SignalLike<number | string>;
214 keySplines?: number | string | SignalLike<number | string>;
215 keyTimes?: number | string | SignalLike<number | string>;
216 lengthAdjust?: number | string | SignalLike<number | string>;
217 letterSpacing?: number | string | SignalLike<number | string>;
218 lightingColor?: number | string | SignalLike<number | string>;
219 limitingConeAngle?: number | string | SignalLike<number | string>;
220 local?: number | string | SignalLike<number | string>;
221 markerEnd?: string | SignalLike<string>;
222 markerHeight?: number | string | SignalLike<number | string>;
223 markerMid?: string | SignalLike<string>;
224 markerStart?: string | SignalLike<string>;
225 markerUnits?: number | string | SignalLike<number | string>;
226 markerWidth?: number | string | SignalLike<number | string>;
227 mask?: string | SignalLike<string>;
228 maskContentUnits?: number | string | SignalLike<number | string>;
229 maskUnits?: number | string | SignalLike<number | string>;
230 mathematical?: number | string | SignalLike<number | string>;
231 mode?: number | string | SignalLike<number | string>;
232 numOctaves?: number | string | SignalLike<number | string>;
233 offset?: number | string | SignalLike<number | string>;
234 opacity?: number | string | SignalLike<number | string>;
235 operator?: number | string | SignalLike<number | string>;
236 order?: number | string | SignalLike<number | string>;
237 orient?: number | string | SignalLike<number | string>;
238 orientation?: number | string | SignalLike<number | string>;
239 origin?: number | string | SignalLike<number | string>;
240 overflow?: number | string | SignalLike<number | string>;
241 overlinePosition?: number | string | SignalLike<number | string>;
242 overlineThickness?: number | string | SignalLike<number | string>;
243 paintOrder?: number | string | SignalLike<number | string>;
244 panose1?: number | string | SignalLike<number | string>;
245 pathLength?: number | string | SignalLike<number | string>;
246 patternContentUnits?: string | SignalLike<string>;
247 patternTransform?: number | string | SignalLike<number | string>;
248 patternUnits?: string | SignalLike<string>;
249 pointerEvents?: number | string | SignalLike<number | string>;
250 points?: string | SignalLike<string>;
251 pointsAtX?: number | string | SignalLike<number | string>;
252 pointsAtY?: number | string | SignalLike<number | string>;
253 pointsAtZ?: number | string | SignalLike<number | string>;
254 preserveAlpha?: number | string | SignalLike<number | string>;
255 preserveAspectRatio?: string | SignalLike<string>;
256 primitiveUnits?: number | string | SignalLike<number | string>;
257 r?: number | string | SignalLike<number | string>;
258 radius?: number | string | SignalLike<number | string>;
259 refX?: number | string | SignalLike<number | string>;
260 refY?: number | string | SignalLike<number | string>;
261 renderingIntent?: number | string | SignalLike<number | string>;
262 repeatCount?: number | string | SignalLike<number | string>;
263 repeatDur?: number | string | SignalLike<number | string>;
264 requiredExtensions?: number | string | SignalLike<number | string>;
265 requiredFeatures?: number | string | SignalLike<number | string>;
266 restart?: number | string | SignalLike<number | string>;
267 result?: string | SignalLike<string>;
268 rotate?: number | string | SignalLike<number | string>;
269 rx?: number | string | SignalLike<number | string>;
270 ry?: number | string | SignalLike<number | string>;
271 scale?: number | string | SignalLike<number | string>;
272 seed?: number | string | SignalLike<number | string>;
273 shapeRendering?: number | string | SignalLike<number | string>;
274 slope?: number | string | SignalLike<number | string>;
275 spacing?: number | string | SignalLike<number | string>;
276 specularConstant?: number | string | SignalLike<number | string>;
277 specularExponent?: number | string | SignalLike<number | string>;
278 speed?: number | string | SignalLike<number | string>;
279 spreadMethod?: string | SignalLike<string>;
280 startOffset?: number | string | SignalLike<number | string>;
281 stdDeviation?: number | string | SignalLike<number | string>;
282 stemh?: number | string | SignalLike<number | string>;
283 stemv?: number | string | SignalLike<number | string>;
284 stitchTiles?: number | string | SignalLike<number | string>;
285 stopColor?: string | SignalLike<string>;
286 stopOpacity?: number | string | SignalLike<number | string>;
287 strikethroughPosition?: number | string | SignalLike<number | string>;
288 strikethroughThickness?: number | string | SignalLike<number | string>;
289 string?: number | string | SignalLike<number | string>;
290 stroke?: string | SignalLike<string>;
291 strokeDasharray?: string | number | SignalLike<number | string>;
292 strokeDashoffset?: string | number | SignalLike<number | string>;
293 strokeLinecap?:
294 | 'butt'
295 | 'round'
296 | 'square'
297 | 'inherit'
298 | SignalLike<'butt' | 'round' | 'square' | 'inherit'>;
299 strokeLinejoin?:
300 | 'miter'
301 | 'round'
302 | 'bevel'
303 | 'inherit'
304 | SignalLike<'miter' | 'round' | 'bevel' | 'inherit'>;
305 strokeMiterlimit?: string | number | SignalLike<number | string>;
306 strokeOpacity?: number | string | SignalLike<number | string>;
307 strokeWidth?: number | string | SignalLike<number | string>;
308 surfaceScale?: number | string | SignalLike<number | string>;
309 systemLanguage?: number | string | SignalLike<number | string>;
310 tableValues?: number | string | SignalLike<number | string>;
311 targetX?: number | string | SignalLike<number | string>;
312 targetY?: number | string | SignalLike<number | string>;
313 textAnchor?: string | SignalLike<string>;
314 textDecoration?: number | string | SignalLike<number | string>;
315 textLength?: number | string | SignalLike<number | string>;
316 textRendering?: number | string | SignalLike<number | string>;
317 to?: number | string | SignalLike<number | string>;
318 transform?: string | SignalLike<string>;
319 u1?: number | string | SignalLike<number | string>;
320 u2?: number | string | SignalLike<number | string>;
321 underlinePosition?: number | string | SignalLike<number | string>;
322 underlineThickness?: number | string | SignalLike<number | string>;
323 unicode?: number | string | SignalLike<number | string>;
324 unicodeBidi?: number | string | SignalLike<number | string>;
325 unicodeRange?: number | string | SignalLike<number | string>;
326 unitsPerEm?: number | string | SignalLike<number | string>;
327 vAlphabetic?: number | string | SignalLike<number | string>;
328 values?: string | SignalLike<string>;
329 vectorEffect?: number | string | SignalLike<number | string>;
330 version?: string | SignalLike<string>;
331 vertAdvY?: number | string | SignalLike<number | string>;
332 vertOriginX?: number | string | SignalLike<number | string>;
333 vertOriginY?: number | string | SignalLike<number | string>;
334 vHanging?: number | string | SignalLike<number | string>;
335 vIdeographic?: number | string | SignalLike<number | string>;
336 viewBox?: string | SignalLike<string>;
337 viewTarget?: number | string | SignalLike<number | string>;
338 visibility?: number | string | SignalLike<number | string>;
339 vMathematical?: number | string | SignalLike<number | string>;
340 widths?: number | string | SignalLike<number | string>;
341 wordSpacing?: number | string | SignalLike<number | string>;
342 writingMode?: number | string | SignalLike<number | string>;
343 x1?: number | string | SignalLike<number | string>;
344 x2?: number | string | SignalLike<number | string>;
345 x?: number | string | SignalLike<number | string>;
346 xChannelSelector?: string | SignalLike<string>;
347 xHeight?: number | string | SignalLike<number | string>;
348 xlinkActuate?: string | SignalLike<string>;
349 xlinkArcrole?: string | SignalLike<string>;
350 xlinkHref?: string | SignalLike<string>;
351 xlinkRole?: string | SignalLike<string>;
352 xlinkShow?: string | SignalLike<string>;
353 xlinkTitle?: string | SignalLike<string>;
354 xlinkType?: string | SignalLike<string>;
355 xmlBase?: string | SignalLike<string>;
356 xmlLang?: string | SignalLike<string>;
357 xmlns?: string | SignalLike<string>;
358 xmlnsXlink?: string | SignalLike<string>;
359 xmlSpace?: string | SignalLike<string>;
360 y1?: number | string | SignalLike<number | string>;
361 y2?: number | string | SignalLike<number | string>;
362 y?: number | string | SignalLike<number | string>;
363 yChannelSelector?: string | SignalLike<string>;
364 z?: number | string | SignalLike<number | string>;
365 zoomAndPan?: string | SignalLike<string>;
366 }
367
368 export interface PathAttributes {
369 d: string;
370 }
371
372 export type TargetedEvent<
373 Target extends EventTarget = EventTarget,
374 TypedEvent extends Event = Event
375 > = Omit<TypedEvent, 'currentTarget'> & {
376 readonly currentTarget: Target;
377 };
378
379 export type TargetedAnimationEvent<Target extends EventTarget> =
380 TargetedEvent<Target, AnimationEvent>;
381 export type TargetedClipboardEvent<Target extends EventTarget> =
382 TargetedEvent<Target, ClipboardEvent>;
383 export type TargetedCompositionEvent<Target extends EventTarget> =
384 TargetedEvent<Target, CompositionEvent>;
385 export type TargetedDragEvent<Target extends EventTarget> = TargetedEvent<
386 Target,
387 DragEvent
388 >;
389 export type TargetedFocusEvent<Target extends EventTarget> = TargetedEvent<
390 Target,
391 FocusEvent
392 >;
393 export type TargetedKeyboardEvent<Target extends EventTarget> = TargetedEvent<
394 Target,
395 KeyboardEvent
396 >;
397 export type TargetedMouseEvent<Target extends EventTarget> = TargetedEvent<
398 Target,
399 MouseEvent
400 >;
401 export type TargetedPointerEvent<Target extends EventTarget> = TargetedEvent<
402 Target,
403 PointerEvent
404 >;
405 export type TargetedTouchEvent<Target extends EventTarget> = TargetedEvent<
406 Target,
407 TouchEvent
408 >;
409 export type TargetedTransitionEvent<Target extends EventTarget> =
410 TargetedEvent<Target, TransitionEvent>;
411 export type TargetedUIEvent<Target extends EventTarget> = TargetedEvent<
412 Target,
413 UIEvent
414 >;
415 export type TargetedWheelEvent<Target extends EventTarget> = TargetedEvent<
416 Target,
417 WheelEvent
418 >;
419
420 export interface EventHandler<E extends TargetedEvent> {
421 /**
422 * The `this` keyword always points to the DOM element the event handler
423 * was invoked on. See: https://developer.mozilla.org/en-US/docs/Web/Guide/Events/Event_handlers#Event_handlers_parameters_this_binding_and_the_return_value
424 */
425 (this: never, event: E): void;
426 }
427
428 export type AnimationEventHandler<Target extends EventTarget> = EventHandler<
429 TargetedAnimationEvent<Target>
430 >;
431 export type ClipboardEventHandler<Target extends EventTarget> = EventHandler<
432 TargetedClipboardEvent<Target>
433 >;
434 export type CompositionEventHandler<Target extends EventTarget> =
435 EventHandler<TargetedCompositionEvent<Target>>;
436 export type DragEventHandler<Target extends EventTarget> = EventHandler<
437 TargetedDragEvent<Target>
438 >;
439 export type FocusEventHandler<Target extends EventTarget> = EventHandler<
440 TargetedFocusEvent<Target>
441 >;
442 export type GenericEventHandler<Target extends EventTarget> = EventHandler<
443 TargetedEvent<Target>
444 >;
445 export type KeyboardEventHandler<Target extends EventTarget> = EventHandler<
446 TargetedKeyboardEvent<Target>
447 >;
448 export type MouseEventHandler<Target extends EventTarget> = EventHandler<
449 TargetedMouseEvent<Target>
450 >;
451 export type PointerEventHandler<Target extends EventTarget> = EventHandler<
452 TargetedPointerEvent<Target>
453 >;
454 export type TouchEventHandler<Target extends EventTarget> = EventHandler<
455 TargetedTouchEvent<Target>
456 >;
457 export type TransitionEventHandler<Target extends EventTarget> = EventHandler<
458 TargetedTransitionEvent<Target>
459 >;
460 export type UIEventHandler<Target extends EventTarget> = EventHandler<
461 TargetedUIEvent<Target>
462 >;
463 export type WheelEventHandler<Target extends EventTarget> = EventHandler<
464 TargetedWheelEvent<Target>
465 >;
466
467 export interface DOMAttributes<Target extends EventTarget>
468 extends PreactDOMAttributes {
469 // Image Events
470 onLoad?: GenericEventHandler<Target>;
471 onLoadCapture?: GenericEventHandler<Target>;
472 onError?: GenericEventHandler<Target>;
473 onErrorCapture?: GenericEventHandler<Target>;
474
475 // Clipboard Events
476 onCopy?: ClipboardEventHandler<Target>;
477 onCopyCapture?: ClipboardEventHandler<Target>;
478 onCut?: ClipboardEventHandler<Target>;
479 onCutCapture?: ClipboardEventHandler<Target>;
480 onPaste?: ClipboardEventHandler<Target>;
481 onPasteCapture?: ClipboardEventHandler<Target>;
482
483 // Composition Events
484 onCompositionEnd?: CompositionEventHandler<Target>;
485 onCompositionEndCapture?: CompositionEventHandler<Target>;
486 onCompositionStart?: CompositionEventHandler<Target>;
487 onCompositionStartCapture?: CompositionEventHandler<Target>;
488 onCompositionUpdate?: CompositionEventHandler<Target>;
489 onCompositionUpdateCapture?: CompositionEventHandler<Target>;
490
491 // Details Events
492 onToggle?: GenericEventHandler<Target>;
493
494 // Focus Events
495 onFocus?: FocusEventHandler<Target>;
496 onFocusCapture?: FocusEventHandler<Target>;
497 onfocusin?: FocusEventHandler<Target>;
498 onfocusinCapture?: FocusEventHandler<Target>;
499 onfocusout?: FocusEventHandler<Target>;
500 onfocusoutCapture?: FocusEventHandler<Target>;
501 onBlur?: FocusEventHandler<Target>;
502 onBlurCapture?: FocusEventHandler<Target>;
503
504 // Form Events
505 onChange?: GenericEventHandler<Target>;
506 onChangeCapture?: GenericEventHandler<Target>;
507 onInput?: GenericEventHandler<Target>;
508 onInputCapture?: GenericEventHandler<Target>;
509 onBeforeInput?: GenericEventHandler<Target>;
510 onBeforeInputCapture?: GenericEventHandler<Target>;
511 onSearch?: GenericEventHandler<Target>;
512 onSearchCapture?: GenericEventHandler<Target>;
513 onSubmit?: GenericEventHandler<Target>;
514 onSubmitCapture?: GenericEventHandler<Target>;
515 onInvalid?: GenericEventHandler<Target>;
516 onInvalidCapture?: GenericEventHandler<Target>;
517 onReset?: GenericEventHandler<Target>;
518 onResetCapture?: GenericEventHandler<Target>;
519 onFormData?: GenericEventHandler<Target>;
520 onFormDataCapture?: GenericEventHandler<Target>;
521
522 // Keyboard Events
523 onKeyDown?: KeyboardEventHandler<Target>;
524 onKeyDownCapture?: KeyboardEventHandler<Target>;
525 onKeyPress?: KeyboardEventHandler<Target>;
526 onKeyPressCapture?: KeyboardEventHandler<Target>;
527 onKeyUp?: KeyboardEventHandler<Target>;
528 onKeyUpCapture?: KeyboardEventHandler<Target>;
529
530 // Media Events
531 onAbort?: GenericEventHandler<Target>;
532 onAbortCapture?: GenericEventHandler<Target>;
533 onCanPlay?: GenericEventHandler<Target>;
534 onCanPlayCapture?: GenericEventHandler<Target>;
535 onCanPlayThrough?: GenericEventHandler<Target>;
536 onCanPlayThroughCapture?: GenericEventHandler<Target>;
537 onDurationChange?: GenericEventHandler<Target>;
538 onDurationChangeCapture?: GenericEventHandler<Target>;
539 onEmptied?: GenericEventHandler<Target>;
540 onEmptiedCapture?: GenericEventHandler<Target>;
541 onEncrypted?: GenericEventHandler<Target>;
542 onEncryptedCapture?: GenericEventHandler<Target>;
543 onEnded?: GenericEventHandler<Target>;
544 onEndedCapture?: GenericEventHandler<Target>;
545 onLoadedData?: GenericEventHandler<Target>;
546 onLoadedDataCapture?: GenericEventHandler<Target>;
547 onLoadedMetadata?: GenericEventHandler<Target>;
548 onLoadedMetadataCapture?: GenericEventHandler<Target>;
549 onLoadStart?: GenericEventHandler<Target>;
550 onLoadStartCapture?: GenericEventHandler<Target>;
551 onPause?: GenericEventHandler<Target>;
552 onPauseCapture?: GenericEventHandler<Target>;
553 onPlay?: GenericEventHandler<Target>;
554 onPlayCapture?: GenericEventHandler<Target>;
555 onPlaying?: GenericEventHandler<Target>;
556 onPlayingCapture?: GenericEventHandler<Target>;
557 onProgress?: GenericEventHandler<Target>;
558 onProgressCapture?: GenericEventHandler<Target>;
559 onRateChange?: GenericEventHandler<Target>;
560 onRateChangeCapture?: GenericEventHandler<Target>;
561 onSeeked?: GenericEventHandler<Target>;
562 onSeekedCapture?: GenericEventHandler<Target>;
563 onSeeking?: GenericEventHandler<Target>;
564 onSeekingCapture?: GenericEventHandler<Target>;
565 onStalled?: GenericEventHandler<Target>;
566 onStalledCapture?: GenericEventHandler<Target>;
567 onSuspend?: GenericEventHandler<Target>;
568 onSuspendCapture?: GenericEventHandler<Target>;
569 onTimeUpdate?: GenericEventHandler<Target>;
570 onTimeUpdateCapture?: GenericEventHandler<Target>;
571 onVolumeChange?: GenericEventHandler<Target>;
572 onVolumeChangeCapture?: GenericEventHandler<Target>;
573 onWaiting?: GenericEventHandler<Target>;
574 onWaitingCapture?: GenericEventHandler<Target>;
575
576 // MouseEvents
577 onClick?: MouseEventHandler<Target>;
578 onClickCapture?: MouseEventHandler<Target>;
579 onContextMenu?: MouseEventHandler<Target>;
580 onContextMenuCapture?: MouseEventHandler<Target>;
581 onDblClick?: MouseEventHandler<Target>;
582 onDblClickCapture?: MouseEventHandler<Target>;
583 onDrag?: DragEventHandler<Target>;
584 onDragCapture?: DragEventHandler<Target>;
585 onDragEnd?: DragEventHandler<Target>;
586 onDragEndCapture?: DragEventHandler<Target>;
587 onDragEnter?: DragEventHandler<Target>;
588 onDragEnterCapture?: DragEventHandler<Target>;
589 onDragExit?: DragEventHandler<Target>;
590 onDragExitCapture?: DragEventHandler<Target>;
591 onDragLeave?: DragEventHandler<Target>;
592 onDragLeaveCapture?: DragEventHandler<Target>;
593 onDragOver?: DragEventHandler<Target>;
594 onDragOverCapture?: DragEventHandler<Target>;
595 onDragStart?: DragEventHandler<Target>;
596 onDragStartCapture?: DragEventHandler<Target>;
597 onDrop?: DragEventHandler<Target>;
598 onDropCapture?: DragEventHandler<Target>;
599 onMouseDown?: MouseEventHandler<Target>;
600 onMouseDownCapture?: MouseEventHandler<Target>;
601 onMouseEnter?: MouseEventHandler<Target>;
602 onMouseEnterCapture?: MouseEventHandler<Target>;
603 onMouseLeave?: MouseEventHandler<Target>;
604 onMouseLeaveCapture?: MouseEventHandler<Target>;
605 onMouseMove?: MouseEventHandler<Target>;
606 onMouseMoveCapture?: MouseEventHandler<Target>;
607 onMouseOut?: MouseEventHandler<Target>;
608 onMouseOutCapture?: MouseEventHandler<Target>;
609 onMouseOver?: MouseEventHandler<Target>;
610 onMouseOverCapture?: MouseEventHandler<Target>;
611 onMouseUp?: MouseEventHandler<Target>;
612 onMouseUpCapture?: MouseEventHandler<Target>;
613
614 // Selection Events
615 onSelect?: GenericEventHandler<Target>;
616 onSelectCapture?: GenericEventHandler<Target>;
617
618 // Touch Events
619 onTouchCancel?: TouchEventHandler<Target>;
620 onTouchCancelCapture?: TouchEventHandler<Target>;
621 onTouchEnd?: TouchEventHandler<Target>;
622 onTouchEndCapture?: TouchEventHandler<Target>;
623 onTouchMove?: TouchEventHandler<Target>;
624 onTouchMoveCapture?: TouchEventHandler<Target>;
625 onTouchStart?: TouchEventHandler<Target>;
626 onTouchStartCapture?: TouchEventHandler<Target>;
627
628 // Pointer Events
629 onPointerOver?: PointerEventHandler<Target>;
630 onPointerOverCapture?: PointerEventHandler<Target>;
631 onPointerEnter?: PointerEventHandler<Target>;
632 onPointerEnterCapture?: PointerEventHandler<Target>;
633 onPointerDown?: PointerEventHandler<Target>;
634 onPointerDownCapture?: PointerEventHandler<Target>;
635 onPointerMove?: PointerEventHandler<Target>;
636 onPointerMoveCapture?: PointerEventHandler<Target>;
637 onPointerUp?: PointerEventHandler<Target>;
638 onPointerUpCapture?: PointerEventHandler<Target>;
639 onPointerCancel?: PointerEventHandler<Target>;
640 onPointerCancelCapture?: PointerEventHandler<Target>;
641 onPointerOut?: PointerEventHandler<Target>;
642 onPointerOutCapture?: PointerEventHandler<Target>;
643 onPointerLeave?: PointerEventHandler<Target>;
644 onPointerLeaveCapture?: PointerEventHandler<Target>;
645 onGotPointerCapture?: PointerEventHandler<Target>;
646 onGotPointerCaptureCapture?: PointerEventHandler<Target>;
647 onLostPointerCapture?: PointerEventHandler<Target>;
648 onLostPointerCaptureCapture?: PointerEventHandler<Target>;
649
650 // UI Events
651 onScroll?: UIEventHandler<Target>;
652 onScrollCapture?: UIEventHandler<Target>;
653
654 // Wheel Events
655 onWheel?: WheelEventHandler<Target>;
656 onWheelCapture?: WheelEventHandler<Target>;
657
658 // Animation Events
659 onAnimationStart?: AnimationEventHandler<Target>;
660 onAnimationStartCapture?: AnimationEventHandler<Target>;
661 onAnimationEnd?: AnimationEventHandler<Target>;
662 onAnimationEndCapture?: AnimationEventHandler<Target>;
663 onAnimationIteration?: AnimationEventHandler<Target>;
664 onAnimationIterationCapture?: AnimationEventHandler<Target>;
665
666 // Transition Events
667 onTransitionEnd?: TransitionEventHandler<Target>;
668 onTransitionEndCapture?: TransitionEventHandler<Target>;
669 }
670
671 export interface HTMLAttributes<RefType extends EventTarget = EventTarget>
672 extends ClassAttributes<RefType>,
673 DOMAttributes<RefType> {
674 // Standard HTML Attributes
675 accept?: string | SignalLike<string>;
676 acceptCharset?: string | SignalLike<string>;
677 accessKey?: string | SignalLike<string>;
678 action?: string | SignalLike<string>;
679 allow?: string | SignalLike<string>;
680 allowFullScreen?: boolean | SignalLike<boolean>;
681 allowTransparency?: boolean | SignalLike<boolean>;
682 alt?: string | SignalLike<string>;
683 as?: string | SignalLike<string>;
684 async?: boolean | SignalLike<boolean>;
685 autocomplete?: string | SignalLike<string>;
686 autoComplete?: string | SignalLike<string>;
687 autocorrect?: string | SignalLike<string>;
688 autoCorrect?: string | SignalLike<string>;
689 autofocus?: boolean | SignalLike<boolean>;
690 autoFocus?: boolean | SignalLike<boolean>;
691 autoPlay?: boolean | SignalLike<boolean>;
692 capture?: boolean | string | SignalLike<string>;
693 cellPadding?: number | string | SignalLike<string>;
694 cellSpacing?: number | string | SignalLike<string>;
695 charSet?: string | SignalLike<string>;
696 challenge?: string | SignalLike<string>;
697 checked?: boolean | SignalLike<boolean>;
698 cite?: string | SignalLike<string>;
699 class?: string | undefined | SignalLike<string | undefined>;
700 className?: string | undefined | SignalLike<string | undefined>;
701 cols?: number | SignalLike<number>;
702 colSpan?: number | SignalLike<number>;
703 content?: string | SignalLike<string>;
704 contentEditable?: boolean | SignalLike<boolean>;
705 contextMenu?: string | SignalLike<string>;
706 controls?: boolean | SignalLike<boolean>;
707 controlsList?: string | SignalLike<string>;
708 coords?: string | SignalLike<string>;
709 crossOrigin?: string | SignalLike<string>;
710 data?: string | SignalLike<string>;
711 dateTime?: string | SignalLike<string>;
712 default?: boolean | SignalLike<boolean>;
713 defaultChecked?: boolean | SignalLike<boolean>;
714 defaultValue?: string | SignalLike<string>;
715 defer?: boolean | SignalLike<boolean>;
716 dir?: 'auto' | 'rtl' | 'ltr' | SignalLike<'auto' | 'rtl' | 'ltr'>;
717 disabled?: boolean | SignalLike<boolean>;
718 disableRemotePlayback?: boolean | SignalLike<boolean>;
719 download?: any;
720 decoding?:
721 | 'sync'
722 | 'async'
723 | 'auto'
724 | SignalLike<'sync' | 'async' | 'auto'>;
725 draggable?: boolean | SignalLike<boolean>;
726 encType?: string | SignalLike<string>;
727 enterkeyhint?:
728 | 'enter'
729 | 'done'
730 | 'go'
731 | 'next'
732 | 'previous'
733 | 'search'
734 | 'send'
735 | SignalLike<
736 'enter' | 'done' | 'go' | 'next' | 'previous' | 'search' | 'send'
737 >;
738 form?: string | SignalLike<string>;
739 formAction?: string | SignalLike<string>;
740 formEncType?: string | SignalLike<string>;
741 formMethod?: string | SignalLike<string>;
742 formNoValidate?: boolean | SignalLike<boolean>;
743 formTarget?: string | SignalLike<string>;
744 frameBorder?: number | string | SignalLike<number | string>;
745 headers?: string | SignalLike<string>;
746 height?: number | string | SignalLike<number | string>;
747 hidden?: boolean | SignalLike<boolean>;
748 high?: number | SignalLike<number>;
749 href?: string | SignalLike<string>;
750 hrefLang?: string | SignalLike<string>;
751 for?: string | SignalLike<string>;
752 htmlFor?: string | SignalLike<string>;
753 httpEquiv?: string | SignalLike<string>;
754 icon?: string | SignalLike<string>;
755 id?: string | SignalLike<string>;
756 inputMode?: string | SignalLike<string>;
757 integrity?: string | SignalLike<string>;
758 is?: string | SignalLike<string>;
759 keyParams?: string | SignalLike<string>;
760 keyType?: string | SignalLike<string>;
761 kind?: string | SignalLike<string>;
762 label?: string | SignalLike<string>;
763 lang?: string | SignalLike<string>;
764 list?: string | SignalLike<string>;
765 loading?: 'eager' | 'lazy' | SignalLike<'eager' | 'lazy'>;
766 loop?: boolean | SignalLike<boolean>;
767 low?: number | SignalLike<number>;
768 manifest?: string | SignalLike<string>;
769 marginHeight?: number | SignalLike<number>;
770 marginWidth?: number | SignalLike<number>;
771 max?: number | string | SignalLike<string>;
772 maxLength?: number | SignalLike<number>;
773 media?: string | SignalLike<string>;
774 mediaGroup?: string | SignalLike<string>;
775 method?: string | SignalLike<string>;
776 min?: number | string | SignalLike<string>;
777 minLength?: number | SignalLike<number>;
778 multiple?: boolean | SignalLike<boolean>;
779 muted?: boolean | SignalLike<boolean>;
780 name?: string | SignalLike<string>;
781 nomodule?: boolean | SignalLike<boolean>;
782 nonce?: string | SignalLike<string>;
783 noValidate?: boolean | SignalLike<boolean>;
784 open?: boolean | SignalLike<boolean>;
785 optimum?: number | SignalLike<number>;
786 part?: string | SignalLike<string>;
787 pattern?: string | SignalLike<string>;
788 ping?: string | SignalLike<string>;
789 placeholder?: string | SignalLike<string>;
790 playsInline?: boolean | SignalLike<boolean>;
791 poster?: string | SignalLike<string>;
792 preload?: string | SignalLike<string>;
793 radioGroup?: string | SignalLike<string>;
794 readonly?: boolean | SignalLike<boolean>;
795 readOnly?: boolean | SignalLike<boolean>;
796 referrerpolicy?:
797 | 'no-referrer'
798 | 'no-referrer-when-downgrade'
799 | 'origin'
800 | 'origin-when-cross-origin'
801 | 'same-origin'
802 | 'strict-origin'
803 | 'strict-origin-when-cross-origin'
804 | 'unsafe-url'
805 | SignalLike<
806 | 'no-referrer'
807 | 'no-referrer-when-downgrade'
808 | 'origin'
809 | 'origin-when-cross-origin'
810 | 'same-origin'
811 | 'strict-origin'
812 | 'strict-origin-when-cross-origin'
813 | 'unsafe-url'
814 >;
815 rel?: string | SignalLike<string>;
816 required?: boolean | SignalLike<boolean>;
817 reversed?: boolean | SignalLike<boolean>;
818 role?: string | SignalLike<string>;
819 rows?: number | SignalLike<number>;
820 rowSpan?: number | SignalLike<number>;
821 sandbox?: string | SignalLike<string>;
822 scope?: string | SignalLike<string>;
823 scoped?: boolean | SignalLike<boolean>;
824 scrolling?: string | SignalLike<string>;
825 seamless?: boolean | SignalLike<boolean>;
826 selected?: boolean | SignalLike<boolean>;
827 shape?: string | SignalLike<string>;
828 size?: number | SignalLike<number>;
829 sizes?: string | SignalLike<string>;
830 slot?: string | SignalLike<string>;
831 span?: number | SignalLike<number>;
832 spellcheck?: boolean | SignalLike<boolean>;
833 spellCheck?: boolean | SignalLike<boolean>;
834 src?: string | SignalLike<string>;
835 srcset?: string | SignalLike<string>;
836 srcDoc?: string | SignalLike<string>;
837 srcLang?: string | SignalLike<string>;
838 srcSet?: string | SignalLike<string>;
839 start?: number | SignalLike<number>;
840 step?: number | string | SignalLike<number | string>;
841 style?: string | CSSProperties | SignalLike<string | CSSProperties>;
842 summary?: string | SignalLike<string>;
843 tabIndex?: number | SignalLike<number>;
844 target?: string | SignalLike<string>;
845 title?: string | SignalLike<string>;
846 type?: string | SignalLike<string>;
847 useMap?: string | SignalLike<string>;
848 value?: string | string[] | number | SignalLike<string | string[] | number>;
849 volume?: string | number | SignalLike<string | number>;
850 width?: number | string | SignalLike<number | string>;
851 wmode?: string | SignalLike<string>;
852 wrap?: string | SignalLike<string>;
853
854 // Non-standard Attributes
855 autocapitalize?:
856 | 'off'
857 | 'none'
858 | 'on'
859 | 'sentences'
860 | 'words'
861 | 'characters'
862 | SignalLike<
863 'off' | 'none' | 'on' | 'sentences' | 'words' | 'characters'
864 >;
865 autoCapitalize?:
866 | 'off'
867 | 'none'
868 | 'on'
869 | 'sentences'
870 | 'words'
871 | 'characters'
872 | SignalLike<
873 'off' | 'none' | 'on' | 'sentences' | 'words' | 'characters'
874 >;
875 disablePictureInPicture?: boolean | SignalLike<boolean>;
876 results?: number | SignalLike<number>;
877 translate?: 'yes' | 'no' | SignalLike<'yes' | 'no'>;
878
879 // RDFa Attributes
880 about?: string | SignalLike<string>;
881 datatype?: string | SignalLike<string>;
882 inlist?: any;
883 prefix?: string | SignalLike<string>;
884 property?: string | SignalLike<string>;
885 resource?: string | SignalLike<string>;
886 typeof?: string | SignalLike<string>;
887 vocab?: string | SignalLike<string>;
888
889 // Microdata Attributes
890 itemProp?: string | SignalLike<string>;
891 itemScope?: boolean | SignalLike<boolean>;
892 itemType?: string | SignalLike<string>;
893 itemID?: string | SignalLike<string>;
894 itemRef?: string | SignalLike<string>;
895 }
896
897 export type DetailedHTMLProps<
898 HA extends HTMLAttributes<RefType>,
899 RefType extends EventTarget = EventTarget
900 > = HA;
901
902 export interface HTMLMarqueeElement extends HTMLElement {
903 behavior?:
904 | 'scroll'
905 | 'slide'
906 | 'alternate'
907 | SignalLike<'scroll' | 'slide' | 'alternate'>;
908 bgColor?: string | SignalLike<string>;
909 direction?:
910 | 'left'
911 | 'right'
912 | 'up'
913 | 'down'
914 | SignalLike<'left' | 'right' | 'up' | 'down'>;
915 height?: number | string | SignalLike<number | string>;
916 hspace?: number | string | SignalLike<number | string>;
917 loop?: number | string | SignalLike<number | string>;
918 scrollAmount?: number | string | SignalLike<number | string>;
919 scrollDelay?: number | string | SignalLike<number | string>;
920 trueSpeed?: boolean | SignalLike<boolean>;
921 vspace?: number | string | SignalLike<number | string>;
922 width?: number | string | SignalLike<number | string>;
923 }
924
925 export interface IntrinsicElements {
926 // HTML
927 a: HTMLAttributes<HTMLAnchorElement>;
928 abbr: HTMLAttributes<HTMLElement>;
929 address: HTMLAttributes<HTMLElement>;
930 area: HTMLAttributes<HTMLAreaElement>;
931 article: HTMLAttributes<HTMLElement>;
932 aside: HTMLAttributes<HTMLElement>;
933 audio: HTMLAttributes<HTMLAudioElement>;
934 b: HTMLAttributes<HTMLElement>;
935 base: HTMLAttributes<HTMLBaseElement>;
936 bdi: HTMLAttributes<HTMLElement>;
937 bdo: HTMLAttributes<HTMLElement>;
938 big: HTMLAttributes<HTMLElement>;
939 blockquote: HTMLAttributes<HTMLQuoteElement>;
940 body: HTMLAttributes<HTMLBodyElement>;
941 br: HTMLAttributes<HTMLBRElement>;
942 button: HTMLAttributes<HTMLButtonElement>;
943 canvas: HTMLAttributes<HTMLCanvasElement>;
944 caption: HTMLAttributes<HTMLTableCaptionElement>;
945 cite: HTMLAttributes<HTMLElement>;
946 code: HTMLAttributes<HTMLElement>;
947 col: HTMLAttributes<HTMLTableColElement>;
948 colgroup: HTMLAttributes<HTMLTableColElement>;
949 data: HTMLAttributes<HTMLDataElement>;
950 datalist: HTMLAttributes<HTMLDataListElement>;
951 dd: HTMLAttributes<HTMLElement>;
952 del: HTMLAttributes<HTMLModElement>;
953 details: HTMLAttributes<HTMLDetailsElement>;
954 dfn: HTMLAttributes<HTMLElement>;
955 dialog: HTMLAttributes<HTMLDialogElement>;
956 div: HTMLAttributes<HTMLDivElement>;
957 dl: HTMLAttributes<HTMLDListElement>;
958 dt: HTMLAttributes<HTMLElement>;
959 em: HTMLAttributes<HTMLElement>;
960 embed: HTMLAttributes<HTMLEmbedElement>;
961 fieldset: HTMLAttributes<HTMLFieldSetElement>;
962 figcaption: HTMLAttributes<HTMLElement>;
963 figure: HTMLAttributes<HTMLElement>;
964 footer: HTMLAttributes<HTMLElement>;
965 form: HTMLAttributes<HTMLFormElement>;
966 h1: HTMLAttributes<HTMLHeadingElement>;
967 h2: HTMLAttributes<HTMLHeadingElement>;
968 h3: HTMLAttributes<HTMLHeadingElement>;
969 h4: HTMLAttributes<HTMLHeadingElement>;
970 h5: HTMLAttributes<HTMLHeadingElement>;
971 h6: HTMLAttributes<HTMLHeadingElement>;
972 head: HTMLAttributes<HTMLHeadElement>;
973 header: HTMLAttributes<HTMLElement>;
974 hgroup: HTMLAttributes<HTMLElement>;
975 hr: HTMLAttributes<HTMLHRElement>;
976 html: HTMLAttributes<HTMLHtmlElement>;
977 i: HTMLAttributes<HTMLElement>;
978 iframe: HTMLAttributes<HTMLIFrameElement>;
979 img: HTMLAttributes<HTMLImageElement>;
980 input: HTMLAttributes<HTMLInputElement>;
981 ins: HTMLAttributes<HTMLModElement>;
982 kbd: HTMLAttributes<HTMLElement>;
983 keygen: HTMLAttributes<HTMLUnknownElement>;
984 label: HTMLAttributes<HTMLLabelElement>;
985 legend: HTMLAttributes<HTMLLegendElement>;
986 li: HTMLAttributes<HTMLLIElement>;
987 link: HTMLAttributes<HTMLLinkElement>;
988 main: HTMLAttributes<HTMLElement>;
989 map: HTMLAttributes<HTMLMapElement>;
990 mark: HTMLAttributes<HTMLElement>;
991 marquee: HTMLAttributes<HTMLMarqueeElement>;
992 menu: HTMLAttributes<HTMLMenuElement>;
993 menuitem: HTMLAttributes<HTMLUnknownElement>;
994 meta: HTMLAttributes<HTMLMetaElement>;
995 meter: HTMLAttributes<HTMLMeterElement>;
996 nav: HTMLAttributes<HTMLElement>;
997 noscript: HTMLAttributes<HTMLElement>;
998 object: HTMLAttributes<HTMLObjectElement>;
999 ol: HTMLAttributes<HTMLOListElement>;
1000 optgroup: HTMLAttributes<HTMLOptGroupElement>;
1001 option: HTMLAttributes<HTMLOptionElement>;
1002 output: HTMLAttributes<HTMLOutputElement>;
1003 p: HTMLAttributes<HTMLParagraphElement>;
1004 param: HTMLAttributes<HTMLParamElement>;
1005 picture: HTMLAttributes<HTMLPictureElement>;
1006 pre: HTMLAttributes<HTMLPreElement>;
1007 progress: HTMLAttributes<HTMLProgressElement>;
1008 q: HTMLAttributes<HTMLQuoteElement>;
1009 rp: HTMLAttributes<HTMLElement>;
1010 rt: HTMLAttributes<HTMLElement>;
1011 ruby: HTMLAttributes<HTMLElement>;
1012 s: HTMLAttributes<HTMLElement>;
1013 samp: HTMLAttributes<HTMLElement>;
1014 script: HTMLAttributes<HTMLScriptElement>;
1015 section: HTMLAttributes<HTMLElement>;
1016 select: HTMLAttributes<HTMLSelectElement>;
1017 slot: HTMLAttributes<HTMLSlotElement>;
1018 small: HTMLAttributes<HTMLElement>;
1019 source: HTMLAttributes<HTMLSourceElement>;
1020 span: HTMLAttributes<HTMLSpanElement>;
1021 strong: HTMLAttributes<HTMLElement>;
1022 style: HTMLAttributes<HTMLStyleElement>;
1023 sub: HTMLAttributes<HTMLElement>;
1024 summary: HTMLAttributes<HTMLElement>;
1025 sup: HTMLAttributes<HTMLElement>;
1026 table: HTMLAttributes<HTMLTableElement>;
1027 tbody: HTMLAttributes<HTMLTableSectionElement>;
1028 td: HTMLAttributes<HTMLTableCellElement>;
1029 textarea: HTMLAttributes<HTMLTextAreaElement>;
1030 tfoot: HTMLAttributes<HTMLTableSectionElement>;
1031 th: HTMLAttributes<HTMLTableCellElement>;
1032 thead: HTMLAttributes<HTMLTableSectionElement>;
1033 time: HTMLAttributes<HTMLTimeElement>;
1034 title: HTMLAttributes<HTMLTitleElement>;
1035 tr: HTMLAttributes<HTMLTableRowElement>;
1036 track: HTMLAttributes<HTMLTrackElement>;
1037 u: HTMLAttributes<HTMLElement>;
1038 ul: HTMLAttributes<HTMLUListElement>;
1039 var: HTMLAttributes<HTMLElement>;
1040 video: HTMLAttributes<HTMLVideoElement>;
1041 wbr: HTMLAttributes<HTMLElement>;
1042
1043 //SVG
1044 svg: SVGAttributes<SVGSVGElement>;
1045 animate: SVGAttributes<SVGAnimateElement>;
1046 circle: SVGAttributes<SVGCircleElement>;
1047 animateTransform: SVGAttributes<SVGAnimateElement>;
1048 clipPath: SVGAttributes<SVGClipPathElement>;
1049 defs: SVGAttributes<SVGDefsElement>;
1050 desc: SVGAttributes<SVGDescElement>;
1051 ellipse: SVGAttributes<SVGEllipseElement>;
1052 feBlend: SVGAttributes<SVGFEBlendElement>;
1053 feColorMatrix: SVGAttributes<SVGFEColorMatrixElement>;
1054 feComponentTransfer: SVGAttributes<SVGFEComponentTransferElement>;
1055 feComposite: SVGAttributes<SVGFECompositeElement>;
1056 feConvolveMatrix: SVGAttributes<SVGFEConvolveMatrixElement>;
1057 feDiffuseLighting: SVGAttributes<SVGFEDiffuseLightingElement>;
1058 feDisplacementMap: SVGAttributes<SVGFEDisplacementMapElement>;
1059 feDropShadow: SVGAttributes<SVGFEDropShadowElement>;
1060 feFlood: SVGAttributes<SVGFEFloodElement>;
1061 feFuncA: SVGAttributes<SVGFEFuncAElement>;
1062 feFuncB: SVGAttributes<SVGFEFuncBElement>;
1063 feFuncG: SVGAttributes<SVGFEFuncGElement>;
1064 feFuncR: SVGAttributes<SVGFEFuncRElement>;
1065 feGaussianBlur: SVGAttributes<SVGFEGaussianBlurElement>;
1066 feImage: SVGAttributes<SVGFEImageElement>;
1067 feMerge: SVGAttributes<SVGFEMergeElement>;
1068 feMergeNode: SVGAttributes<SVGFEMergeNodeElement>;
1069 feMorphology: SVGAttributes<SVGFEMorphologyElement>;
1070 feOffset: SVGAttributes<SVGFEOffsetElement>;
1071 feSpecularLighting: SVGAttributes<SVGFESpecularLightingElement>;
1072 feTile: SVGAttributes<SVGFETileElement>;
1073 feTurbulence: SVGAttributes<SVGFETurbulenceElement>;
1074 filter: SVGAttributes<SVGFilterElement>;
1075 foreignObject: SVGAttributes<SVGForeignObjectElement>;
1076 g: SVGAttributes<SVGGElement>;
1077 image: SVGAttributes<SVGImageElement>;
1078 line: SVGAttributes<SVGLineElement>;
1079 linearGradient: SVGAttributes<SVGLinearGradientElement>;
1080 marker: SVGAttributes<SVGMarkerElement>;
1081 mask: SVGAttributes<SVGMaskElement>;
1082 path: SVGAttributes<SVGPathElement>;
1083 pattern: SVGAttributes<SVGPatternElement>;
1084 polygon: SVGAttributes<SVGPolygonElement>;
1085 polyline: SVGAttributes<SVGPolylineElement>;
1086 radialGradient: SVGAttributes<SVGRadialGradientElement>;
1087 rect: SVGAttributes<SVGRectElement>;
1088 stop: SVGAttributes<SVGStopElement>;
1089 symbol: SVGAttributes<SVGSymbolElement>;
1090 text: SVGAttributes<SVGTextElement>;
1091 textPath: SVGAttributes<SVGTextPathElement>;
1092 tspan: SVGAttributes<SVGTSpanElement>;
1093 use: SVGAttributes<SVGUseElement>;
1094 }
1095}