UNPKG

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