UNPKG

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