diff options
Diffstat (limited to 'preact/src/jsx.d.ts')
-rw-r--r-- | preact/src/jsx.d.ts | 974 |
1 files changed, 974 insertions, 0 deletions
diff --git a/preact/src/jsx.d.ts b/preact/src/jsx.d.ts new file mode 100644 index 0000000..7533435 --- /dev/null +++ b/preact/src/jsx.d.ts @@ -0,0 +1,974 @@ +// Users who only use Preact for SSR might not specify "dom" in their lib in tsconfig.json +/// <reference lib="dom" /> + +import { + ClassAttributes, + Component, + PreactDOMAttributes, + VNode +} from './index'; + +type Defaultize<Props, Defaults> = + // Distribute over unions + Props extends any // Make any properties included in Default optional + ? Partial<Pick<Props, Extract<keyof Props, keyof Defaults>>> & // Include the remaining properties from Props + Pick<Props, Exclude<keyof Props, keyof Defaults>> + : never; + +export namespace JSXInternal { + export type LibraryManagedAttributes<Component, Props> = Component extends { + defaultProps: infer Defaults; + } + ? Defaultize<Props, Defaults> + : Props; + + export interface IntrinsicAttributes { + key?: any; + } + + export interface Element extends VNode<any> {} + + export interface ElementClass extends Component<any, any> {} + + export interface ElementAttributesProperty { + props: any; + } + + export interface ElementChildrenAttribute { + children: any; + } + + export type DOMCSSProperties = { + [key in keyof Omit< + CSSStyleDeclaration, + | 'item' + | 'setProperty' + | 'removeProperty' + | 'getPropertyValue' + | 'getPropertyPriority' + >]?: string | number | null | undefined; + }; + export type AllCSSProperties = { + [key: string]: string | number | null | undefined; + }; + export interface CSSProperties extends AllCSSProperties, DOMCSSProperties { + cssText?: string | null; + } + + export interface SVGAttributes<Target extends EventTarget = SVGElement> + extends HTMLAttributes<Target> { + accentHeight?: number | string; + accumulate?: 'none' | 'sum'; + additive?: 'replace' | 'sum'; + alignmentBaseline?: + | 'auto' + | 'baseline' + | 'before-edge' + | 'text-before-edge' + | 'middle' + | 'central' + | 'after-edge' + | 'text-after-edge' + | 'ideographic' + | 'alphabetic' + | 'hanging' + | 'mathematical' + | 'inherit'; + allowReorder?: 'no' | 'yes'; + alphabetic?: number | string; + amplitude?: number | string; + arabicForm?: 'initial' | 'medial' | 'terminal' | 'isolated'; + ascent?: number | string; + attributeName?: string; + attributeType?: string; + autoReverse?: number | string; + azimuth?: number | string; + baseFrequency?: number | string; + baselineShift?: number | string; + baseProfile?: number | string; + bbox?: number | string; + begin?: number | string; + bias?: number | string; + by?: number | string; + calcMode?: number | string; + capHeight?: number | string; + clip?: number | string; + clipPath?: string; + clipPathUnits?: number | string; + clipRule?: number | string; + colorInterpolation?: number | string; + colorInterpolationFilters?: 'auto' | 'sRGB' | 'linearRGB' | 'inherit'; + colorProfile?: number | string; + colorRendering?: number | string; + contentScriptType?: number | string; + contentStyleType?: number | string; + cursor?: number | string; + cx?: number | string; + cy?: number | string; + d?: string; + decelerate?: number | string; + descent?: number | string; + diffuseConstant?: number | string; + direction?: number | string; + display?: number | string; + divisor?: number | string; + dominantBaseline?: number | string; + dur?: number | string; + dx?: number | string; + dy?: number | string; + edgeMode?: number | string; + elevation?: number | string; + enableBackground?: number | string; + end?: number | string; + exponent?: number | string; + externalResourcesRequired?: number | string; + fill?: string; + fillOpacity?: number | string; + fillRule?: 'nonzero' | 'evenodd' | 'inherit'; + filter?: string; + filterRes?: number | string; + filterUnits?: number | string; + floodColor?: number | string; + floodOpacity?: number | string; + focusable?: number | string; + fontFamily?: string; + fontSize?: number | string; + fontSizeAdjust?: number | string; + fontStretch?: number | string; + fontStyle?: number | string; + fontVariant?: number | string; + fontWeight?: number | string; + format?: number | string; + from?: number | string; + fx?: number | string; + fy?: number | string; + g1?: number | string; + g2?: number | string; + glyphName?: number | string; + glyphOrientationHorizontal?: number | string; + glyphOrientationVertical?: number | string; + glyphRef?: number | string; + gradientTransform?: string; + gradientUnits?: string; + hanging?: number | string; + horizAdvX?: number | string; + horizOriginX?: number | string; + ideographic?: number | string; + imageRendering?: number | string; + in2?: number | string; + in?: string; + intercept?: number | string; + k1?: number | string; + k2?: number | string; + k3?: number | string; + k4?: number | string; + k?: number | string; + kernelMatrix?: number | string; + kernelUnitLength?: number | string; + kerning?: number | string; + keyPoints?: number | string; + keySplines?: number | string; + keyTimes?: number | string; + lengthAdjust?: number | string; + letterSpacing?: number | string; + lightingColor?: number | string; + limitingConeAngle?: number | string; + local?: number | string; + markerEnd?: string; + markerHeight?: number | string; + markerMid?: string; + markerStart?: string; + markerUnits?: number | string; + markerWidth?: number | string; + mask?: string; + maskContentUnits?: number | string; + maskUnits?: number | string; + mathematical?: number | string; + mode?: number | string; + numOctaves?: number | string; + offset?: number | string; + opacity?: number | string; + operator?: number | string; + order?: number | string; + orient?: number | string; + orientation?: number | string; + origin?: number | string; + overflow?: number | string; + overlinePosition?: number | string; + overlineThickness?: number | string; + paintOrder?: number | string; + panose1?: number | string; + pathLength?: number | string; + patternContentUnits?: string; + patternTransform?: number | string; + patternUnits?: string; + pointerEvents?: number | string; + points?: string; + pointsAtX?: number | string; + pointsAtY?: number | string; + pointsAtZ?: number | string; + preserveAlpha?: number | string; + preserveAspectRatio?: string; + primitiveUnits?: number | string; + r?: number | string; + radius?: number | string; + refX?: number | string; + refY?: number | string; + renderingIntent?: number | string; + repeatCount?: number | string; + repeatDur?: number | string; + requiredExtensions?: number | string; + requiredFeatures?: number | string; + restart?: number | string; + result?: string; + rotate?: number | string; + rx?: number | string; + ry?: number | string; + scale?: number | string; + seed?: number | string; + shapeRendering?: number | string; + slope?: number | string; + spacing?: number | string; + specularConstant?: number | string; + specularExponent?: number | string; + speed?: number | string; + spreadMethod?: string; + startOffset?: number | string; + stdDeviation?: number | string; + stemh?: number | string; + stemv?: number | string; + stitchTiles?: number | string; + stopColor?: string; + stopOpacity?: number | string; + strikethroughPosition?: number | string; + strikethroughThickness?: number | string; + string?: number | string; + stroke?: string; + strokeDasharray?: string | number; + strokeDashoffset?: string | number; + strokeLinecap?: 'butt' | 'round' | 'square' | 'inherit'; + strokeLinejoin?: 'miter' | 'round' | 'bevel' | 'inherit'; + strokeMiterlimit?: string | number; + strokeOpacity?: number | string; + strokeWidth?: number | string; + surfaceScale?: number | string; + systemLanguage?: number | string; + tableValues?: number | string; + targetX?: number | string; + targetY?: number | string; + textAnchor?: string; + textDecoration?: number | string; + textLength?: number | string; + textRendering?: number | string; + to?: number | string; + transform?: string; + u1?: number | string; + u2?: number | string; + underlinePosition?: number | string; + underlineThickness?: number | string; + unicode?: number | string; + unicodeBidi?: number | string; + unicodeRange?: number | string; + unitsPerEm?: number | string; + vAlphabetic?: number | string; + values?: string; + vectorEffect?: number | string; + version?: string; + vertAdvY?: number | string; + vertOriginX?: number | string; + vertOriginY?: number | string; + vHanging?: number | string; + vIdeographic?: number | string; + viewBox?: string; + viewTarget?: number | string; + visibility?: number | string; + vMathematical?: number | string; + widths?: number | string; + wordSpacing?: number | string; + writingMode?: number | string; + x1?: number | string; + x2?: number | string; + x?: number | string; + xChannelSelector?: string; + xHeight?: number | string; + xlinkActuate?: string; + xlinkArcrole?: string; + xlinkHref?: string; + xlinkRole?: string; + xlinkShow?: string; + xlinkTitle?: string; + xlinkType?: string; + xmlBase?: string; + xmlLang?: string; + xmlns?: string; + xmlnsXlink?: string; + xmlSpace?: string; + y1?: number | string; + y2?: number | string; + y?: number | string; + yChannelSelector?: string; + z?: number | string; + zoomAndPan?: string; + } + + export interface PathAttributes { + d: string; + } + + export type TargetedEvent< + Target extends EventTarget = EventTarget, + TypedEvent extends Event = Event + > = Omit<TypedEvent, 'currentTarget'> & { + readonly currentTarget: Target; + }; + + export type TargetedAnimationEvent< + Target extends EventTarget + > = TargetedEvent<Target, AnimationEvent>; + export type TargetedClipboardEvent< + Target extends EventTarget + > = TargetedEvent<Target, ClipboardEvent>; + export type TargetedCompositionEvent< + Target extends EventTarget + > = TargetedEvent<Target, CompositionEvent>; + export type TargetedDragEvent<Target extends EventTarget> = TargetedEvent< + Target, + DragEvent + >; + export type TargetedFocusEvent<Target extends EventTarget> = TargetedEvent< + Target, + FocusEvent + >; + export type TargetedKeyboardEvent<Target extends EventTarget> = TargetedEvent< + Target, + KeyboardEvent + >; + export type TargetedMouseEvent<Target extends EventTarget> = TargetedEvent< + Target, + MouseEvent + >; + export type TargetedPointerEvent<Target extends EventTarget> = TargetedEvent< + Target, + PointerEvent + >; + export type TargetedTouchEvent<Target extends EventTarget> = TargetedEvent< + Target, + TouchEvent + >; + export type TargetedTransitionEvent< + Target extends EventTarget + > = TargetedEvent<Target, TransitionEvent>; + export type TargetedUIEvent<Target extends EventTarget> = TargetedEvent< + Target, + UIEvent + >; + export type TargetedWheelEvent<Target extends EventTarget> = TargetedEvent< + Target, + WheelEvent + >; + + export interface EventHandler<E extends TargetedEvent> { + /** + * The `this` keyword always points to the DOM element the event handler + * 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 + */ + (this: never, event: E): void; + } + + export type AnimationEventHandler<Target extends EventTarget> = EventHandler< + TargetedAnimationEvent<Target> + >; + export type ClipboardEventHandler<Target extends EventTarget> = EventHandler< + TargetedClipboardEvent<Target> + >; + export type CompositionEventHandler< + Target extends EventTarget + > = EventHandler<TargetedCompositionEvent<Target>>; + export type DragEventHandler<Target extends EventTarget> = EventHandler< + TargetedDragEvent<Target> + >; + export type FocusEventHandler<Target extends EventTarget> = EventHandler< + TargetedFocusEvent<Target> + >; + export type GenericEventHandler<Target extends EventTarget> = EventHandler< + TargetedEvent<Target> + >; + export type KeyboardEventHandler<Target extends EventTarget> = EventHandler< + TargetedKeyboardEvent<Target> + >; + export type MouseEventHandler<Target extends EventTarget> = EventHandler< + TargetedMouseEvent<Target> + >; + export type PointerEventHandler<Target extends EventTarget> = EventHandler< + TargetedPointerEvent<Target> + >; + export type TouchEventHandler<Target extends EventTarget> = EventHandler< + TargetedTouchEvent<Target> + >; + export type TransitionEventHandler<Target extends EventTarget> = EventHandler< + TargetedTransitionEvent<Target> + >; + export type UIEventHandler<Target extends EventTarget> = EventHandler< + TargetedUIEvent<Target> + >; + export type WheelEventHandler<Target extends EventTarget> = EventHandler< + TargetedWheelEvent<Target> + >; + + export interface DOMAttributes<Target extends EventTarget> + extends PreactDOMAttributes { + // Image Events + onLoad?: GenericEventHandler<Target>; + onLoadCapture?: GenericEventHandler<Target>; + onError?: GenericEventHandler<Target>; + onErrorCapture?: GenericEventHandler<Target>; + + // Clipboard Events + onCopy?: ClipboardEventHandler<Target>; + onCopyCapture?: ClipboardEventHandler<Target>; + onCut?: ClipboardEventHandler<Target>; + onCutCapture?: ClipboardEventHandler<Target>; + onPaste?: ClipboardEventHandler<Target>; + onPasteCapture?: ClipboardEventHandler<Target>; + + // Composition Events + onCompositionEnd?: CompositionEventHandler<Target>; + onCompositionEndCapture?: CompositionEventHandler<Target>; + onCompositionStart?: CompositionEventHandler<Target>; + onCompositionStartCapture?: CompositionEventHandler<Target>; + onCompositionUpdate?: CompositionEventHandler<Target>; + onCompositionUpdateCapture?: CompositionEventHandler<Target>; + + // Details Events + onToggle?: GenericEventHandler<Target>; + + // Focus Events + onFocus?: FocusEventHandler<Target>; + onFocusCapture?: FocusEventHandler<Target>; + onBlur?: FocusEventHandler<Target>; + onBlurCapture?: FocusEventHandler<Target>; + + // Form Events + onChange?: GenericEventHandler<Target>; + onChangeCapture?: GenericEventHandler<Target>; + onInput?: GenericEventHandler<Target>; + onInputCapture?: GenericEventHandler<Target>; + onSearch?: GenericEventHandler<Target>; + onSearchCapture?: GenericEventHandler<Target>; + onSubmit?: GenericEventHandler<Target>; + onSubmitCapture?: GenericEventHandler<Target>; + onInvalid?: GenericEventHandler<Target>; + onInvalidCapture?: GenericEventHandler<Target>; + onReset?: GenericEventHandler<Target>; + onResetCapture?: GenericEventHandler<Target>; + onFormData?: GenericEventHandler<Target>; + onFormDataCapture?: GenericEventHandler<Target>; + + // Keyboard Events + onKeyDown?: KeyboardEventHandler<Target>; + onKeyDownCapture?: KeyboardEventHandler<Target>; + onKeyPress?: KeyboardEventHandler<Target>; + onKeyPressCapture?: KeyboardEventHandler<Target>; + onKeyUp?: KeyboardEventHandler<Target>; + onKeyUpCapture?: KeyboardEventHandler<Target>; + + // Media Events + onAbort?: GenericEventHandler<Target>; + onAbortCapture?: GenericEventHandler<Target>; + onCanPlay?: GenericEventHandler<Target>; + onCanPlayCapture?: GenericEventHandler<Target>; + onCanPlayThrough?: GenericEventHandler<Target>; + onCanPlayThroughCapture?: GenericEventHandler<Target>; + onDurationChange?: GenericEventHandler<Target>; + onDurationChangeCapture?: GenericEventHandler<Target>; + onEmptied?: GenericEventHandler<Target>; + onEmptiedCapture?: GenericEventHandler<Target>; + onEncrypted?: GenericEventHandler<Target>; + onEncryptedCapture?: GenericEventHandler<Target>; + onEnded?: GenericEventHandler<Target>; + onEndedCapture?: GenericEventHandler<Target>; + onLoadedData?: GenericEventHandler<Target>; + onLoadedDataCapture?: GenericEventHandler<Target>; + onLoadedMetadata?: GenericEventHandler<Target>; + onLoadedMetadataCapture?: GenericEventHandler<Target>; + onLoadStart?: GenericEventHandler<Target>; + onLoadStartCapture?: GenericEventHandler<Target>; + onPause?: GenericEventHandler<Target>; + onPauseCapture?: GenericEventHandler<Target>; + onPlay?: GenericEventHandler<Target>; + onPlayCapture?: GenericEventHandler<Target>; + onPlaying?: GenericEventHandler<Target>; + onPlayingCapture?: GenericEventHandler<Target>; + onProgress?: GenericEventHandler<Target>; + onProgressCapture?: GenericEventHandler<Target>; + onRateChange?: GenericEventHandler<Target>; + onRateChangeCapture?: GenericEventHandler<Target>; + onSeeked?: GenericEventHandler<Target>; + onSeekedCapture?: GenericEventHandler<Target>; + onSeeking?: GenericEventHandler<Target>; + onSeekingCapture?: GenericEventHandler<Target>; + onStalled?: GenericEventHandler<Target>; + onStalledCapture?: GenericEventHandler<Target>; + onSuspend?: GenericEventHandler<Target>; + onSuspendCapture?: GenericEventHandler<Target>; + onTimeUpdate?: GenericEventHandler<Target>; + onTimeUpdateCapture?: GenericEventHandler<Target>; + onVolumeChange?: GenericEventHandler<Target>; + onVolumeChangeCapture?: GenericEventHandler<Target>; + onWaiting?: GenericEventHandler<Target>; + onWaitingCapture?: GenericEventHandler<Target>; + + // MouseEvents + onClick?: MouseEventHandler<Target>; + onClickCapture?: MouseEventHandler<Target>; + onContextMenu?: MouseEventHandler<Target>; + onContextMenuCapture?: MouseEventHandler<Target>; + onDblClick?: MouseEventHandler<Target>; + onDblClickCapture?: MouseEventHandler<Target>; + onDrag?: DragEventHandler<Target>; + onDragCapture?: DragEventHandler<Target>; + onDragEnd?: DragEventHandler<Target>; + onDragEndCapture?: DragEventHandler<Target>; + onDragEnter?: DragEventHandler<Target>; + onDragEnterCapture?: DragEventHandler<Target>; + onDragExit?: DragEventHandler<Target>; + onDragExitCapture?: DragEventHandler<Target>; + onDragLeave?: DragEventHandler<Target>; + onDragLeaveCapture?: DragEventHandler<Target>; + onDragOver?: DragEventHandler<Target>; + onDragOverCapture?: DragEventHandler<Target>; + onDragStart?: DragEventHandler<Target>; + onDragStartCapture?: DragEventHandler<Target>; + onDrop?: DragEventHandler<Target>; + onDropCapture?: DragEventHandler<Target>; + onMouseDown?: MouseEventHandler<Target>; + onMouseDownCapture?: MouseEventHandler<Target>; + onMouseEnter?: MouseEventHandler<Target>; + onMouseEnterCapture?: MouseEventHandler<Target>; + onMouseLeave?: MouseEventHandler<Target>; + onMouseLeaveCapture?: MouseEventHandler<Target>; + onMouseMove?: MouseEventHandler<Target>; + onMouseMoveCapture?: MouseEventHandler<Target>; + onMouseOut?: MouseEventHandler<Target>; + onMouseOutCapture?: MouseEventHandler<Target>; + onMouseOver?: MouseEventHandler<Target>; + onMouseOverCapture?: MouseEventHandler<Target>; + onMouseUp?: MouseEventHandler<Target>; + onMouseUpCapture?: MouseEventHandler<Target>; + + // Selection Events + onSelect?: GenericEventHandler<Target>; + onSelectCapture?: GenericEventHandler<Target>; + + // Touch Events + onTouchCancel?: TouchEventHandler<Target>; + onTouchCancelCapture?: TouchEventHandler<Target>; + onTouchEnd?: TouchEventHandler<Target>; + onTouchEndCapture?: TouchEventHandler<Target>; + onTouchMove?: TouchEventHandler<Target>; + onTouchMoveCapture?: TouchEventHandler<Target>; + onTouchStart?: TouchEventHandler<Target>; + onTouchStartCapture?: TouchEventHandler<Target>; + + // Pointer Events + onPointerOver?: PointerEventHandler<Target>; + onPointerOverCapture?: PointerEventHandler<Target>; + onPointerEnter?: PointerEventHandler<Target>; + onPointerEnterCapture?: PointerEventHandler<Target>; + onPointerDown?: PointerEventHandler<Target>; + onPointerDownCapture?: PointerEventHandler<Target>; + onPointerMove?: PointerEventHandler<Target>; + onPointerMoveCapture?: PointerEventHandler<Target>; + onPointerUp?: PointerEventHandler<Target>; + onPointerUpCapture?: PointerEventHandler<Target>; + onPointerCancel?: PointerEventHandler<Target>; + onPointerCancelCapture?: PointerEventHandler<Target>; + onPointerOut?: PointerEventHandler<Target>; + onPointerOutCapture?: PointerEventHandler<Target>; + onPointerLeave?: PointerEventHandler<Target>; + onPointerLeaveCapture?: PointerEventHandler<Target>; + onGotPointerCapture?: PointerEventHandler<Target>; + onGotPointerCaptureCapture?: PointerEventHandler<Target>; + onLostPointerCapture?: PointerEventHandler<Target>; + onLostPointerCaptureCapture?: PointerEventHandler<Target>; + + // UI Events + onScroll?: UIEventHandler<Target>; + onScrollCapture?: UIEventHandler<Target>; + + // Wheel Events + onWheel?: WheelEventHandler<Target>; + onWheelCapture?: WheelEventHandler<Target>; + + // Animation Events + onAnimationStart?: AnimationEventHandler<Target>; + onAnimationStartCapture?: AnimationEventHandler<Target>; + onAnimationEnd?: AnimationEventHandler<Target>; + onAnimationEndCapture?: AnimationEventHandler<Target>; + onAnimationIteration?: AnimationEventHandler<Target>; + onAnimationIterationCapture?: AnimationEventHandler<Target>; + + // Transition Events + onTransitionEnd?: TransitionEventHandler<Target>; + onTransitionEndCapture?: TransitionEventHandler<Target>; + } + + export interface HTMLAttributes<RefType extends EventTarget = EventTarget> + extends ClassAttributes<RefType>, + DOMAttributes<RefType> { + // Standard HTML Attributes + accept?: string; + acceptCharset?: string; + accessKey?: string; + action?: string; + allowFullScreen?: boolean; + allowTransparency?: boolean; + alt?: string; + as?: string; + async?: boolean; + autocomplete?: string; + autoComplete?: string; + autocorrect?: string; + autoCorrect?: string; + autofocus?: boolean; + autoFocus?: boolean; + autoPlay?: boolean; + capture?: boolean | string; + cellPadding?: number | string; + cellSpacing?: number | string; + charSet?: string; + challenge?: string; + checked?: boolean; + class?: string; + className?: string; + cols?: number; + colSpan?: number; + content?: string; + contentEditable?: boolean; + contextMenu?: string; + controls?: boolean; + controlsList?: string; + coords?: string; + crossOrigin?: string; + data?: string; + dateTime?: string; + default?: boolean; + defer?: boolean; + dir?: 'auto' | 'rtl' | 'ltr'; + disabled?: boolean; + disableRemotePlayback?: boolean; + download?: any; + decoding?: 'sync' | 'async' | 'auto'; + draggable?: boolean; + encType?: string; + form?: string; + formAction?: string; + formEncType?: string; + formMethod?: string; + formNoValidate?: boolean; + formTarget?: string; + frameBorder?: number | string; + headers?: string; + height?: number | string; + hidden?: boolean; + high?: number; + href?: string; + hrefLang?: string; + for?: string; + htmlFor?: string; + httpEquiv?: string; + icon?: string; + id?: string; + inputMode?: string; + integrity?: string; + is?: string; + keyParams?: string; + keyType?: string; + kind?: string; + label?: string; + lang?: string; + list?: string; + loading?: 'eager' | 'lazy'; + loop?: boolean; + low?: number; + manifest?: string; + marginHeight?: number; + marginWidth?: number; + max?: number | string; + maxLength?: number; + media?: string; + mediaGroup?: string; + method?: string; + min?: number | string; + minLength?: number; + multiple?: boolean; + muted?: boolean; + name?: string; + nonce?: string; + noValidate?: boolean; + open?: boolean; + optimum?: number; + pattern?: string; + placeholder?: string; + playsInline?: boolean; + poster?: string; + preload?: string; + radioGroup?: string; + readonly?: boolean; + readOnly?: boolean; + rel?: string; + required?: boolean; + role?: string; + rows?: number; + rowSpan?: number; + sandbox?: string; + scope?: string; + scoped?: boolean; + scrolling?: string; + seamless?: boolean; + selected?: boolean; + shape?: string; + size?: number; + sizes?: string; + slot?: string; + span?: number; + spellcheck?: boolean; + spellCheck?: boolean; + src?: string; + srcset?: string; + srcDoc?: string; + srcLang?: string; + srcSet?: string; + start?: number; + step?: number | string; + style?: string | CSSProperties; + summary?: string; + tabIndex?: number; + target?: string; + title?: string; + type?: string; + useMap?: string; + value?: string | string[] | number; + volume?: string | number; + width?: number | string; + wmode?: string; + wrap?: string; + + // Non-standard Attributes + autocapitalize?: + | 'off' + | 'none' + | 'on' + | 'sentences' + | 'words' + | 'characters'; + autoCapitalize?: + | 'off' + | 'none' + | 'on' + | 'sentences' + | 'words' + | 'characters'; + + // RDFa Attributes + about?: string; + datatype?: string; + inlist?: any; + prefix?: string; + property?: string; + resource?: string; + typeof?: string; + vocab?: string; + + // Microdata Attributes + itemProp?: string; + itemScope?: boolean; + itemType?: string; + itemID?: string; + itemRef?: string; + } + + export interface HTMLMarqueeElement extends HTMLElement { + behavior?: 'scroll' | 'slide' | 'alternate'; + bgColor?: string; + direction?: 'left' | 'right' | 'up' | 'down'; + height?: number | string; + hspace?: number | string; + loop?: number | string; + scrollAmount?: number | string; + scrollDelay?: number | string; + trueSpeed?: boolean; + vspace?: number | string; + width?: number | string; + } + + export interface IntrinsicElements { + // HTML + a: HTMLAttributes<HTMLAnchorElement>; + abbr: HTMLAttributes<HTMLElement>; + address: HTMLAttributes<HTMLElement>; + area: HTMLAttributes<HTMLAreaElement>; + article: HTMLAttributes<HTMLElement>; + aside: HTMLAttributes<HTMLElement>; + audio: HTMLAttributes<HTMLAudioElement>; + b: HTMLAttributes<HTMLElement>; + base: HTMLAttributes<HTMLBaseElement>; + bdi: HTMLAttributes<HTMLElement>; + bdo: HTMLAttributes<HTMLElement>; + big: HTMLAttributes<HTMLElement>; + blockquote: HTMLAttributes<HTMLQuoteElement>; + body: HTMLAttributes<HTMLBodyElement>; + br: HTMLAttributes<HTMLBRElement>; + button: HTMLAttributes<HTMLButtonElement>; + canvas: HTMLAttributes<HTMLCanvasElement>; + caption: HTMLAttributes<HTMLTableCaptionElement>; + cite: HTMLAttributes<HTMLElement>; + code: HTMLAttributes<HTMLElement>; + col: HTMLAttributes<HTMLTableColElement>; + colgroup: HTMLAttributes<HTMLTableColElement>; + data: HTMLAttributes<HTMLDataElement>; + datalist: HTMLAttributes<HTMLDataListElement>; + dd: HTMLAttributes<HTMLElement>; + del: HTMLAttributes<HTMLModElement>; + details: HTMLAttributes<HTMLDetailsElement>; + dfn: HTMLAttributes<HTMLElement>; + dialog: HTMLAttributes<HTMLDialogElement>; + div: HTMLAttributes<HTMLDivElement>; + dl: HTMLAttributes<HTMLDListElement>; + dt: HTMLAttributes<HTMLElement>; + em: HTMLAttributes<HTMLElement>; + embed: HTMLAttributes<HTMLEmbedElement>; + fieldset: HTMLAttributes<HTMLFieldSetElement>; + figcaption: HTMLAttributes<HTMLElement>; + figure: HTMLAttributes<HTMLElement>; + footer: HTMLAttributes<HTMLElement>; + form: HTMLAttributes<HTMLFormElement>; + h1: HTMLAttributes<HTMLHeadingElement>; + h2: HTMLAttributes<HTMLHeadingElement>; + h3: HTMLAttributes<HTMLHeadingElement>; + h4: HTMLAttributes<HTMLHeadingElement>; + h5: HTMLAttributes<HTMLHeadingElement>; + h6: HTMLAttributes<HTMLHeadingElement>; + head: HTMLAttributes<HTMLHeadElement>; + header: HTMLAttributes<HTMLElement>; + hgroup: HTMLAttributes<HTMLElement>; + hr: HTMLAttributes<HTMLHRElement>; + html: HTMLAttributes<HTMLHtmlElement>; + i: HTMLAttributes<HTMLElement>; + iframe: HTMLAttributes<HTMLIFrameElement>; + img: HTMLAttributes<HTMLImageElement>; + input: HTMLAttributes<HTMLInputElement>; + ins: HTMLAttributes<HTMLModElement>; + kbd: HTMLAttributes<HTMLElement>; + keygen: HTMLAttributes<HTMLUnknownElement>; + label: HTMLAttributes<HTMLLabelElement>; + legend: HTMLAttributes<HTMLLegendElement>; + li: HTMLAttributes<HTMLLIElement>; + link: HTMLAttributes<HTMLLinkElement>; + main: HTMLAttributes<HTMLElement>; + map: HTMLAttributes<HTMLMapElement>; + mark: HTMLAttributes<HTMLElement>; + marquee: HTMLAttributes<HTMLMarqueeElement>; + menu: HTMLAttributes<HTMLMenuElement>; + menuitem: HTMLAttributes<HTMLUnknownElement>; + meta: HTMLAttributes<HTMLMetaElement>; + meter: HTMLAttributes<HTMLMeterElement>; + nav: HTMLAttributes<HTMLElement>; + noscript: HTMLAttributes<HTMLElement>; + object: HTMLAttributes<HTMLObjectElement>; + ol: HTMLAttributes<HTMLOListElement>; + optgroup: HTMLAttributes<HTMLOptGroupElement>; + option: HTMLAttributes<HTMLOptionElement>; + output: HTMLAttributes<HTMLOutputElement>; + p: HTMLAttributes<HTMLParagraphElement>; + param: HTMLAttributes<HTMLParamElement>; + picture: HTMLAttributes<HTMLPictureElement>; + pre: HTMLAttributes<HTMLPreElement>; + progress: HTMLAttributes<HTMLProgressElement>; + q: HTMLAttributes<HTMLQuoteElement>; + rp: HTMLAttributes<HTMLElement>; + rt: HTMLAttributes<HTMLElement>; + ruby: HTMLAttributes<HTMLElement>; + s: HTMLAttributes<HTMLElement>; + samp: HTMLAttributes<HTMLElement>; + script: HTMLAttributes<HTMLScriptElement>; + section: HTMLAttributes<HTMLElement>; + select: HTMLAttributes<HTMLSelectElement>; + slot: HTMLAttributes<HTMLSlotElement>; + small: HTMLAttributes<HTMLElement>; + source: HTMLAttributes<HTMLSourceElement>; + span: HTMLAttributes<HTMLSpanElement>; + strong: HTMLAttributes<HTMLElement>; + style: HTMLAttributes<HTMLStyleElement>; + sub: HTMLAttributes<HTMLElement>; + summary: HTMLAttributes<HTMLElement>; + sup: HTMLAttributes<HTMLElement>; + table: HTMLAttributes<HTMLTableElement>; + tbody: HTMLAttributes<HTMLTableSectionElement>; + td: HTMLAttributes<HTMLTableCellElement>; + textarea: HTMLAttributes<HTMLTextAreaElement>; + tfoot: HTMLAttributes<HTMLTableSectionElement>; + th: HTMLAttributes<HTMLTableCellElement>; + thead: HTMLAttributes<HTMLTableSectionElement>; + time: HTMLAttributes<HTMLTimeElement>; + title: HTMLAttributes<HTMLTitleElement>; + tr: HTMLAttributes<HTMLTableRowElement>; + track: HTMLAttributes<HTMLTrackElement>; + u: HTMLAttributes<HTMLElement>; + ul: HTMLAttributes<HTMLUListElement>; + var: HTMLAttributes<HTMLElement>; + video: HTMLAttributes<HTMLVideoElement>; + wbr: HTMLAttributes<HTMLElement>; + + //SVG + svg: SVGAttributes<SVGSVGElement>; + animate: SVGAttributes<SVGAnimateElement>; + circle: SVGAttributes<SVGCircleElement>; + animateTransform: SVGAttributes<SVGAnimateElement>; + clipPath: SVGAttributes<SVGClipPathElement>; + defs: SVGAttributes<SVGDefsElement>; + desc: SVGAttributes<SVGDescElement>; + ellipse: SVGAttributes<SVGEllipseElement>; + feBlend: SVGAttributes<SVGFEBlendElement>; + feColorMatrix: SVGAttributes<SVGFEColorMatrixElement>; + feComponentTransfer: SVGAttributes<SVGFEComponentTransferElement>; + feComposite: SVGAttributes<SVGFECompositeElement>; + feConvolveMatrix: SVGAttributes<SVGFEConvolveMatrixElement>; + feDiffuseLighting: SVGAttributes<SVGFEDiffuseLightingElement>; + feDisplacementMap: SVGAttributes<SVGFEDisplacementMapElement>; + feDropShadow: SVGAttributes<SVGFEDropShadowElement>; + feFlood: SVGAttributes<SVGFEFloodElement>; + feFuncA: SVGAttributes<SVGFEFuncAElement>; + feFuncB: SVGAttributes<SVGFEFuncBElement>; + feFuncG: SVGAttributes<SVGFEFuncGElement>; + feFuncR: SVGAttributes<SVGFEFuncRElement>; + feGaussianBlur: SVGAttributes<SVGFEGaussianBlurElement>; + feImage: SVGAttributes<SVGFEImageElement>; + feMerge: SVGAttributes<SVGFEMergeElement>; + feMergeNode: SVGAttributes<SVGFEMergeNodeElement>; + feMorphology: SVGAttributes<SVGFEMorphologyElement>; + feOffset: SVGAttributes<SVGFEOffsetElement>; + feSpecularLighting: SVGAttributes<SVGFESpecularLightingElement>; + feTile: SVGAttributes<SVGFETileElement>; + feTurbulence: SVGAttributes<SVGFETurbulenceElement>; + filter: SVGAttributes<SVGFilterElement>; + foreignObject: SVGAttributes<SVGForeignObjectElement>; + g: SVGAttributes<SVGGElement>; + image: SVGAttributes<SVGImageElement>; + line: SVGAttributes<SVGLineElement>; + linearGradient: SVGAttributes<SVGLinearGradientElement>; + marker: SVGAttributes<SVGMarkerElement>; + mask: SVGAttributes<SVGMaskElement>; + path: SVGAttributes<SVGPathElement>; + pattern: SVGAttributes<SVGPatternElement>; + polygon: SVGAttributes<SVGPolygonElement>; + polyline: SVGAttributes<SVGPolylineElement>; + radialGradient: SVGAttributes<SVGRadialGradientElement>; + rect: SVGAttributes<SVGRectElement>; + stop: SVGAttributes<SVGStopElement>; + symbol: SVGAttributes<SVGSymbolElement>; + text: SVGAttributes<SVGTextElement>; + tspan: SVGAttributes<SVGTSpanElement>; + use: SVGAttributes<SVGUseElement>; + } +} |