UNPKG

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