import * as csstype from 'csstype'; /** * Based on JSX types for Surplus and Inferno and adapted for `dom-expressions`. * * https://github.com/adamhaile/surplus/blob/master/index.d.ts * https://github.com/infernojs/inferno/blob/master/packages/inferno/src/core/types.ts */ type DOMElement = Element; export namespace JSX { type FunctionMaybe = ({ (): T }) | T; type Element = | Node | ArrayElement | FunctionElement | (string & {}) | number | boolean | null | undefined; interface ArrayElement extends Array {} interface FunctionElement { (): Element; } interface ElementClass { // empty, libs can define requirements downstream } interface ElementAttributesProperty { // empty, libs can define requirements downstream } interface ElementChildrenAttribute { children: {}; } interface EventHandler { ( e: E & { currentTarget: T; target: DOMElement; } ): void; } interface BoundEventHandler { 0: ( data: any, e: E & { currentTarget: T; target: DOMElement; } ) => void; 1: any; } type EventHandlerUnion = EventHandler | BoundEventHandler; interface IntrinsicAttributes { ref?: unknown | ((e: unknown) => void); } interface CustomAttributes { ref?: T | ((el: T) => void); classList?: { [k: string]: boolean | undefined; }; $ServerOnly?: boolean; } type Accessor = () => T interface Directives {} interface DirectiveFunctions { [x: string]: (el: Element, accessor: Accessor) => void; } interface ExplicitProperties {} interface ExplicitAttributes {} interface CustomEvents {} interface CustomCaptureEvents {} type DirectiveAttributes = { [Key in keyof Directives as `use:${Key}`]?: Directives[Key]; }; type DirectiveFunctionAttributes = { [K in keyof DirectiveFunctions as string extends K ? never : `use:${K}`]?: DirectiveFunctions[K] extends ( el: infer E, // will be unknown if not provided ...rest: infer R // use rest so that we can check whether it's provided or not ) => void ? T extends E // everything extends unknown if E is unknown ? R extends [infer A] // check if has accessor provided ? A extends Accessor ? V // it's an accessor : never // it isn't, type error : true // no accessor provided : never // T is the wrong element : never; // it isn't a function }; type PropAttributes = { [Key in keyof ExplicitProperties as `prop:${Key}`]?: ExplicitProperties[Key]; }; type AttrAttributes = { [Key in keyof ExplicitAttributes as `attr:${Key}`]?: ExplicitAttributes[Key]; }; type OnAttributes = { [Key in keyof CustomEvents as `on:${Key}`]?: EventHandler; } type OnCaptureAttributes = { [Key in keyof CustomCaptureEvents as `oncapture:${Key}`]?: EventHandler; } interface DOMAttributes extends CustomAttributes, DirectiveAttributes, DirectiveFunctionAttributes, PropAttributes, AttrAttributes, OnAttributes, OnCaptureAttributes, CustomEventHandlersCamelCase, CustomEventHandlersLowerCase { children?: Element; innerHTML?: string; innerText?: string | number; textContent?: string | number; // camel case events onCopy?: EventHandlerUnion; onCut?: EventHandlerUnion; onPaste?: EventHandlerUnion; onCompositionEnd?: EventHandlerUnion; onCompositionStart?: EventHandlerUnion; onCompositionUpdate?: EventHandlerUnion; onFocusOut?: EventHandlerUnion; onFocusIn?: EventHandlerUnion; onEncrypted?: EventHandlerUnion; onDragExit?: EventHandlerUnion; // lower case events oncopy?: EventHandlerUnion; oncut?: EventHandlerUnion; onpaste?: EventHandlerUnion; oncompositionend?: EventHandlerUnion; oncompositionstart?: EventHandlerUnion; oncompositionupdate?: EventHandlerUnion; onfocusout?: EventHandlerUnion; onfocusin?: EventHandlerUnion; onencrypted?: EventHandlerUnion; ondragexit?: EventHandlerUnion; } interface CustomEventHandlersCamelCase { onAbort?: EventHandlerUnion; onAnimationEnd?: EventHandlerUnion; onAnimationIteration?: EventHandlerUnion; onAnimationStart?: EventHandlerUnion; onAuxClick?: EventHandlerUnion; onBeforeInput?: EventHandlerUnion; onBlur?: EventHandlerUnion; onCanPlay?: EventHandlerUnion; onCanPlayThrough?: EventHandlerUnion; onChange?: EventHandlerUnion; onClick?: EventHandlerUnion; onContextMenu?: EventHandlerUnion; onDblClick?: EventHandlerUnion; onDrag?: EventHandlerUnion; onDragEnd?: EventHandlerUnion; onDragEnter?: EventHandlerUnion; onDragLeave?: EventHandlerUnion; onDragOver?: EventHandlerUnion; onDragStart?: EventHandlerUnion; onDrop?: EventHandlerUnion; onDurationChange?: EventHandlerUnion; onEmptied?: EventHandlerUnion; onEnded?: EventHandlerUnion; onError?: EventHandlerUnion; onFocus?: EventHandlerUnion; onGotPointerCapture?: EventHandlerUnion; onInput?: EventHandlerUnion; onInvalid?: EventHandlerUnion; onKeyDown?: EventHandlerUnion; onKeyPress?: EventHandlerUnion; onKeyUp?: EventHandlerUnion; onLoad?: EventHandlerUnion; onLoadedData?: EventHandlerUnion; onLoadedMetadata?: EventHandlerUnion; onLoadStart?: EventHandlerUnion; onLostPointerCapture?: EventHandlerUnion; onMouseDown?: EventHandlerUnion; onMouseEnter?: EventHandlerUnion; onMouseLeave?: EventHandlerUnion; onMouseMove?: EventHandlerUnion; onMouseOut?: EventHandlerUnion; onMouseOver?: EventHandlerUnion; onMouseUp?: EventHandlerUnion; onPause?: EventHandlerUnion; onPlay?: EventHandlerUnion; onPlaying?: EventHandlerUnion; onPointerCancel?: EventHandlerUnion; onPointerDown?: EventHandlerUnion; onPointerEnter?: EventHandlerUnion; onPointerLeave?: EventHandlerUnion; onPointerMove?: EventHandlerUnion; onPointerOut?: EventHandlerUnion; onPointerOver?: EventHandlerUnion; onPointerUp?: EventHandlerUnion; onProgress?: EventHandlerUnion; onRateChange?: EventHandlerUnion; onReset?: EventHandlerUnion; onScroll?: EventHandlerUnion; onSeeked?: EventHandlerUnion; onSeeking?: EventHandlerUnion; onSelect?: EventHandlerUnion; onStalled?: EventHandlerUnion; onSubmit?: EventHandlerUnion< T, Event & { submitter: HTMLElement; } >; onSuspend?: EventHandlerUnion; onTimeUpdate?: EventHandlerUnion; onTouchCancel?: EventHandlerUnion; onTouchEnd?: EventHandlerUnion; onTouchMove?: EventHandlerUnion; onTouchStart?: EventHandlerUnion; onTransitionEnd?: EventHandlerUnion; onVolumeChange?: EventHandlerUnion; onWaiting?: EventHandlerUnion; onWheel?: EventHandlerUnion; } /** * @type {GlobalEventHandlers} */ interface CustomEventHandlersLowerCase { onabort?: EventHandlerUnion; onanimationend?: EventHandlerUnion; onanimationiteration?: EventHandlerUnion; onanimationstart?: EventHandlerUnion; onauxclick?: EventHandlerUnion; onbeforeinput?: EventHandlerUnion; onblur?: EventHandlerUnion; oncanplay?: EventHandlerUnion; oncanplaythrough?: EventHandlerUnion; onchange?: EventHandlerUnion; onclick?: EventHandlerUnion; oncontextmenu?: EventHandlerUnion; ondblclick?: EventHandlerUnion; ondrag?: EventHandlerUnion; ondragend?: EventHandlerUnion; ondragenter?: EventHandlerUnion; ondragleave?: EventHandlerUnion; ondragover?: EventHandlerUnion; ondragstart?: EventHandlerUnion; ondrop?: EventHandlerUnion; ondurationchange?: EventHandlerUnion; onemptied?: EventHandlerUnion; onended?: EventHandlerUnion; onerror?: EventHandlerUnion; onfocus?: EventHandlerUnion; ongotpointercapture?: EventHandlerUnion; oninput?: EventHandlerUnion; oninvalid?: EventHandlerUnion; onkeydown?: EventHandlerUnion; onkeypress?: EventHandlerUnion; onkeyup?: EventHandlerUnion; onload?: EventHandlerUnion; onloadeddata?: EventHandlerUnion; onloadedmetadata?: EventHandlerUnion; onloadstart?: EventHandlerUnion; onlostpointercapture?: EventHandlerUnion; onmousedown?: EventHandlerUnion; onmouseenter?: EventHandlerUnion; onmouseleave?: EventHandlerUnion; onmousemove?: EventHandlerUnion; onmouseout?: EventHandlerUnion; onmouseover?: EventHandlerUnion; onmouseup?: EventHandlerUnion; onpause?: EventHandlerUnion; onplay?: EventHandlerUnion; onplaying?: EventHandlerUnion; onpointercancel?: EventHandlerUnion; onpointerdown?: EventHandlerUnion; onpointerenter?: EventHandlerUnion; onpointerleave?: EventHandlerUnion; onpointermove?: EventHandlerUnion; onpointerout?: EventHandlerUnion; onpointerover?: EventHandlerUnion; onpointerup?: EventHandlerUnion; onprogress?: EventHandlerUnion; onratechange?: EventHandlerUnion; onreset?: EventHandlerUnion; onscroll?: EventHandlerUnion; onseeked?: EventHandlerUnion; onseeking?: EventHandlerUnion; onselect?: EventHandlerUnion; onstalled?: EventHandlerUnion; onsubmit?: EventHandlerUnion< T, Event & { submitter: HTMLElement; } >; onsuspend?: EventHandlerUnion; ontimeupdate?: EventHandlerUnion; ontouchcancel?: EventHandlerUnion; ontouchend?: EventHandlerUnion; ontouchmove?: EventHandlerUnion; ontouchstart?: EventHandlerUnion; ontransitionend?: EventHandlerUnion; onvolumechange?: EventHandlerUnion; onwaiting?: EventHandlerUnion; onwheel?: EventHandlerUnion; } interface CSSProperties extends csstype.PropertiesHyphen { // Override [key: `-${string}`]: string | number | undefined } type HTMLAutocapitalize = "off" | "none" | "on" | "sentences" | "words" | "characters"; type HTMLDir = "ltr" | "rtl" | "auto"; type HTMLFormEncType = "application/x-www-form-urlencoded" | "multipart/form-data" | "text/plain"; type HTMLFormMethod = "post" | "get" | "dialog"; type HTMLCrossorigin = "anonymous" | "use-credentials" | ""; type HTMLReferrerPolicy = | "no-referrer" | "no-referrer-when-downgrade" | "origin" | "origin-when-cross-origin" | "same-origin" | "strict-origin" | "strict-origin-when-cross-origin" | "unsafe-url"; type HTMLIframeSandbox = | "allow-downloads-without-user-activation" | "allow-downloads" | "allow-forms" | "allow-modals" | "allow-orientation-lock" | "allow-pointer-lock" | "allow-popups" | "allow-popups-to-escape-sandbox" | "allow-presentation" | "allow-same-origin" | "allow-scripts" | "allow-storage-access-by-user-activation" | "allow-top-navigation" | "allow-top-navigation-by-user-activation"; type HTMLLinkAs = | "audio" | "document" | "embed" | "fetch" | "font" | "image" | "object" | "script" | "style" | "track" | "video" | "worker"; // All the WAI-ARIA 1.1 attributes from https://www.w3.org/TR/wai-aria-1.1/ interface AriaAttributes { /** Identifies the currently active element when DOM focus is on a composite widget, textbox, group, or application. */ "aria-activedescendant"?: string; /** Indicates whether assistive technologies will present all, or only parts of, the changed region based on the change notifications defined by the aria-relevant attribute. */ "aria-atomic"?: boolean | "false" | "true"; /** * Indicates whether inputting text could trigger display of one or more predictions of the user's intended value for an input and specifies how predictions would be * presented if they are made. */ "aria-autocomplete"?: "none" | "inline" | "list" | "both"; /** Indicates an element is being modified and that assistive technologies MAY want to wait until the modifications are complete before exposing them to the user. */ "aria-busy"?: boolean | "false" | "true"; /** * Indicates the current "checked" state of checkboxes, radio buttons, and other widgets. * @see aria-pressed @see aria-selected. */ "aria-checked"?: boolean | "false" | "mixed" | "true"; /** * Defines the total number of columns in a table, grid, or treegrid. * @see aria-colindex. */ "aria-colcount"?: number | string; /** * Defines an element's column index or position with respect to the total number of columns within a table, grid, or treegrid. * @see aria-colcount @see aria-colspan. */ "aria-colindex"?: number | string; /** * Defines the number of columns spanned by a cell or gridcell within a table, grid, or treegrid. * @see aria-colindex @see aria-rowspan. */ "aria-colspan"?: number | string; /** * Identifies the element (or elements) whose contents or presence are controlled by the current element. * @see aria-owns. */ "aria-controls"?: string; /** Indicates the element that represents the current item within a container or set of related elements. */ "aria-current"?: boolean | "false" | "true" | "page" | "step" | "location" | "date" | "time"; /** * Identifies the element (or elements) that describes the object. * @see aria-labelledby */ "aria-describedby"?: string; /** * Identifies the element that provides a detailed, extended description for the object. * @see aria-describedby. */ "aria-details"?: string; /** * Indicates that the element is perceivable but disabled, so it is not editable or otherwise operable. * @see aria-hidden @see aria-readonly. */ "aria-disabled"?: boolean | "false" | "true"; /** * Indicates what functions can be performed when a dragged object is released on the drop target. * @deprecated in ARIA 1.1 */ "aria-dropeffect"?: "none" | "copy" | "execute" | "link" | "move" | "popup"; /** * Identifies the element that provides an error message for the object. * @see aria-invalid @see aria-describedby. */ "aria-errormessage"?: string; /** Indicates whether the element, or another grouping element it controls, is currently expanded or collapsed. */ "aria-expanded"?: boolean | "false" | "true"; /** * Identifies the next element (or elements) in an alternate reading order of content which, at the user's discretion, * allows assistive technology to override the general default of reading in document source order. */ "aria-flowto"?: string; /** * Indicates an element's "grabbed" state in a drag-and-drop operation. * @deprecated in ARIA 1.1 */ "aria-grabbed"?: boolean | "false" | "true"; /** Indicates the availability and type of interactive popup element, such as menu or dialog, that can be triggered by an element. */ "aria-haspopup"?: boolean | "false" | "true" | "menu" | "listbox" | "tree" | "grid" | "dialog"; /** * Indicates whether the element is exposed to an accessibility API. * @see aria-disabled. */ "aria-hidden"?: boolean | "false" | "true"; /** * Indicates the entered value does not conform to the format expected by the application. * @see aria-errormessage. */ "aria-invalid"?: boolean | "false" | "true" | "grammar" | "spelling"; /** Indicates keyboard shortcuts that an author has implemented to activate or give focus to an element. */ "aria-keyshortcuts"?: string; /** * Defines a string value that labels the current element. * @see aria-labelledby. */ "aria-label"?: string; /** * Identifies the element (or elements) that labels the current element. * @see aria-describedby. */ "aria-labelledby"?: string; /** Defines the hierarchical level of an element within a structure. */ "aria-level"?: number | string; /** Indicates that an element will be updated, and describes the types of updates the user agents, assistive technologies, and user can expect from the live region. */ "aria-live"?: "off" | "assertive" | "polite"; /** Indicates whether an element is modal when displayed. */ "aria-modal"?: boolean | "false" | "true"; /** Indicates whether a text box accepts multiple lines of input or only a single line. */ "aria-multiline"?: boolean | "false" | "true"; /** Indicates that the user may select more than one item from the current selectable descendants. */ "aria-multiselectable"?: boolean | "false" | "true"; /** Indicates whether the element's orientation is horizontal, vertical, or unknown/ambiguous. */ "aria-orientation"?: "horizontal" | "vertical"; /** * Identifies an element (or elements) in order to define a visual, functional, or contextual parent/child relationship * between DOM elements where the DOM hierarchy cannot be used to represent the relationship. * @see aria-controls. */ "aria-owns"?: string; /** * Defines a short hint (a word or short phrase) intended to aid the user with data entry when the control has no value. * A hint could be a sample value or a brief description of the expected format. */ "aria-placeholder"?: string; /** * Defines an element's number or position in the current set of listitems or treeitems. Not required if all elements in the set are present in the DOM. * @see aria-setsize. */ "aria-posinset"?: number | string; /** * Indicates the current "pressed" state of toggle buttons. * @see aria-checked @see aria-selected. */ "aria-pressed"?: boolean | "false" | "mixed" | "true"; /** * Indicates that the element is not editable, but is otherwise operable. * @see aria-disabled. */ "aria-readonly"?: boolean | "false" | "true"; /** * Indicates what notifications the user agent will trigger when the accessibility tree within a live region is modified. * @see aria-atomic. */ "aria-relevant"?: | "additions" | "additions removals" | "additions text" | "all" | "removals" | "removals additions" | "removals text" | "text" | "text additions" | "text removals"; /** Indicates that user input is required on the element before a form may be submitted. */ "aria-required"?: boolean | "false" | "true"; /** Defines a human-readable, author-localized description for the role of an element. */ "aria-roledescription"?: string; /** * Defines the total number of rows in a table, grid, or treegrid. * @see aria-rowindex. */ "aria-rowcount"?: number | string; /** * Defines an element's row index or position with respect to the total number of rows within a table, grid, or treegrid. * @see aria-rowcount @see aria-rowspan. */ "aria-rowindex"?: number | string; /** * Defines the number of rows spanned by a cell or gridcell within a table, grid, or treegrid. * @see aria-rowindex @see aria-colspan. */ "aria-rowspan"?: number | string; /** * Indicates the current "selected" state of various widgets. * @see aria-checked @see aria-pressed. */ "aria-selected"?: boolean | "false" | "true"; /** * Defines the number of items in the current set of listitems or treeitems. Not required if all elements in the set are present in the DOM. * @see aria-posinset. */ "aria-setsize"?: number | string; /** Indicates if items in a table or grid are sorted in ascending or descending order. */ "aria-sort"?: "none" | "ascending" | "descending" | "other"; /** Defines the maximum allowed value for a range widget. */ "aria-valuemax"?: number | string; /** Defines the minimum allowed value for a range widget. */ "aria-valuemin"?: number | string; /** * Defines the current value for a range widget. * @see aria-valuetext. */ "aria-valuenow"?: number | string; /** Defines the human readable text alternative of aria-valuenow for a range widget. */ "aria-valuetext"?: string; role?: FunctionMaybe< | "alert" | "alertdialog" | "application" | "article" | "banner" | "button" | "cell" | "checkbox" | "columnheader" | "combobox" | "complementary" | "contentinfo" | "definition" | "dialog" | "directory" | "document" | "feed" | "figure" | "form" | "grid" | "gridcell" | "group" | "heading" | "img" | "link" | "list" | "listbox" | "listitem" | "log" | "main" | "marquee" | "math" | "menu" | "menubar" | "menuitem" | "menuitemcheckbox" | "menuitemradio" | "meter" | "navigation" | "none" | "note" | "option" | "presentation" | "progressbar" | "radio" | "radiogroup" | "region" | "row" | "rowgroup" | "rowheader" | "scrollbar" | "search" | "searchbox" | "separator" | "slider" | "spinbutton" | "status" | "switch" | "tab" | "table" | "tablist" | "tabpanel" | "term" | "textbox" | "timer" | "toolbar" | "tooltip" | "tree" | "treegrid" | "treeitem">; } interface HTMLAttributes extends AriaAttributes, DOMAttributes { accessKey?: FunctionMaybe; class?: FunctionMaybe | undefined; contenteditable?: FunctionMaybe; contextmenu?: FunctionMaybe; dir?: FunctionMaybe; draggable?: FunctionMaybe; hidden?: FunctionMaybe; id?: FunctionMaybe; lang?: FunctionMaybe; spellcheck?: FunctionMaybe; style?: FunctionMaybe; tabindex?: FunctionMaybe; title?: FunctionMaybe; translate?: FunctionMaybe<"yes" | "no">; about?: FunctionMaybe; datatype?: FunctionMaybe; inlist?: FunctionMaybe; prefix?: FunctionMaybe; property?: FunctionMaybe; resource?: FunctionMaybe; typeof?: FunctionMaybe; vocab?: FunctionMaybe; autocapitalize?: FunctionMaybe; slot?: FunctionMaybe; color?: FunctionMaybe; itemprop?: FunctionMaybe; itemscope?: FunctionMaybe; itemtype?: FunctionMaybe; itemid?: FunctionMaybe; itemref?: FunctionMaybe; part?: FunctionMaybe; exportparts?: FunctionMaybe; inputmode?: FunctionMaybe<"none" | "text" | "tel" | "url" | "email" | "numeric" | "decimal" | "search">; contentEditable?: FunctionMaybe; contextMenu?: FunctionMaybe; tabIndex?: FunctionMaybe; autoCapitalize?: FunctionMaybe; itemProp?: FunctionMaybe; itemScope?: FunctionMaybe; itemType?: FunctionMaybe; itemId?: FunctionMaybe; itemRef?: FunctionMaybe; exportParts?: FunctionMaybe; inputMode?: FunctionMaybe<"none" | "text" | "tel" | "url" | "email" | "numeric" | "decimal" | "search">; } interface AnchorHTMLAttributes extends HTMLAttributes { download?: FunctionMaybe; href?: FunctionMaybe; hreflang?: FunctionMaybe; media?: FunctionMaybe; ping?: FunctionMaybe; referrerpolicy?: FunctionMaybe; rel?: FunctionMaybe; target?: FunctionMaybe; type?: FunctionMaybe; referrerPolicy?: FunctionMaybe; } interface AudioHTMLAttributes extends MediaHTMLAttributes {} interface AreaHTMLAttributes extends HTMLAttributes { alt?: FunctionMaybe; coords?: FunctionMaybe; download?: FunctionMaybe; href?: FunctionMaybe; hreflang?: FunctionMaybe; ping?: FunctionMaybe; referrerpolicy?: FunctionMaybe; rel?: FunctionMaybe; shape?: FunctionMaybe<"rect" | "circle" | "poly" | "default">; target?: FunctionMaybe; referrerPolicy?: FunctionMaybe; } interface BaseHTMLAttributes extends HTMLAttributes { href?: FunctionMaybe; target?: FunctionMaybe; } interface BlockquoteHTMLAttributes extends HTMLAttributes { cite?: FunctionMaybe; } interface ButtonHTMLAttributes extends HTMLAttributes { autofocus?: FunctionMaybe; disabled?: FunctionMaybe; form?: FunctionMaybe; formaction?: FunctionMaybe; formenctype?: FunctionMaybe; formmethod?: FunctionMaybe; formnovalidate?: FunctionMaybe; formtarget?: FunctionMaybe; name?: FunctionMaybe; type?: FunctionMaybe<"submit" | "reset" | "button">; value?: FunctionMaybe; formAction?: FunctionMaybe; formEnctype?: FunctionMaybe; formMethod?: FunctionMaybe; formNoValidate?: FunctionMaybe; formTarget?: FunctionMaybe; } interface CanvasHTMLAttributes extends HTMLAttributes { width?: FunctionMaybe; height?: FunctionMaybe; } interface ColHTMLAttributes extends HTMLAttributes { span?: FunctionMaybe; width?: FunctionMaybe; } interface ColgroupHTMLAttributes extends HTMLAttributes { span?: FunctionMaybe; } interface DataHTMLAttributes extends HTMLAttributes { value?: FunctionMaybe; } interface DetailsHtmlAttributes extends HTMLAttributes { open?: FunctionMaybe; onToggle?: EventHandlerUnion; ontoggle?: EventHandlerUnion; } interface DialogHtmlAttributes extends HTMLAttributes { open?: FunctionMaybe; } interface EmbedHTMLAttributes extends HTMLAttributes { height?: FunctionMaybe; src?: FunctionMaybe; type?: FunctionMaybe; width?: FunctionMaybe; } interface FieldsetHTMLAttributes extends HTMLAttributes { disabled?: FunctionMaybe; form?: FunctionMaybe; name?: FunctionMaybe; } interface FormHTMLAttributes extends HTMLAttributes { acceptcharset?: FunctionMaybe; action?: FunctionMaybe; autocomplete?: FunctionMaybe; encoding?: FunctionMaybe; enctype?: FunctionMaybe; method?: FunctionMaybe; name?: FunctionMaybe; novalidate?: FunctionMaybe; target?: FunctionMaybe; acceptCharset?: FunctionMaybe; noValidate?: FunctionMaybe; } interface IframeHTMLAttributes extends HTMLAttributes { allow?: FunctionMaybe; allowfullscreen?: FunctionMaybe; height?: FunctionMaybe; name?: FunctionMaybe; referrerpolicy?: FunctionMaybe; sandbox?: HTMLIframeSandbox | string; src?: FunctionMaybe; srcdoc?: FunctionMaybe; width?: FunctionMaybe; loading?: FunctionMaybe<"eager" | "lazy">; referrerPolicy?: FunctionMaybe; } interface ImgHTMLAttributes extends HTMLAttributes { alt?: FunctionMaybe; crossorigin?: FunctionMaybe; decoding?: FunctionMaybe<"sync" | "async" | "auto">; height?: FunctionMaybe; ismap?: FunctionMaybe; isMap?: FunctionMaybe; loading?: FunctionMaybe<"eager" | "lazy">; referrerpolicy?: FunctionMaybe; referrerPolicy?: FunctionMaybe; sizes?: FunctionMaybe; src?: FunctionMaybe; srcset?: FunctionMaybe; srcSet?: FunctionMaybe; usemap?: FunctionMaybe; useMap?: FunctionMaybe; width?: FunctionMaybe; crossOrigin?: FunctionMaybe; } interface InputHTMLAttributes extends HTMLAttributes { accept?: FunctionMaybe; alt?: FunctionMaybe; autocomplete?: FunctionMaybe; autofocus?: FunctionMaybe; capture?: FunctionMaybe; checked?: FunctionMaybe; crossorigin?: FunctionMaybe; disabled?: FunctionMaybe; form?: FunctionMaybe; formaction?: FunctionMaybe; formenctype?: FunctionMaybe; formmethod?: FunctionMaybe; formnovalidate?: FunctionMaybe; formtarget?: FunctionMaybe; height?: FunctionMaybe; list?: FunctionMaybe; max?: FunctionMaybe; maxlength?: FunctionMaybe; min?: FunctionMaybe; minlength?: FunctionMaybe; multiple?: FunctionMaybe; name?: FunctionMaybe; pattern?: FunctionMaybe; placeholder?: FunctionMaybe; readonly?: FunctionMaybe; required?: FunctionMaybe; size?: FunctionMaybe; src?: FunctionMaybe; step?: FunctionMaybe; type?: FunctionMaybe; value?: FunctionMaybe; width?: FunctionMaybe; crossOrigin?: FunctionMaybe; formAction?: FunctionMaybe; formEnctype?: FunctionMaybe; formMethod?: FunctionMaybe; formNoValidate?: FunctionMaybe; formTarget?: FunctionMaybe; maxLength?: FunctionMaybe; minLength?: FunctionMaybe; readOnly?: FunctionMaybe; } interface InsHTMLAttributes extends HTMLAttributes { cite?: FunctionMaybe; dateTime?: FunctionMaybe; } interface KeygenHTMLAttributes extends HTMLAttributes { autofocus?: FunctionMaybe; challenge?: FunctionMaybe; disabled?: FunctionMaybe; form?: FunctionMaybe; keytype?: FunctionMaybe; keyparams?: FunctionMaybe; name?: FunctionMaybe; } interface LabelHTMLAttributes extends HTMLAttributes { for?: FunctionMaybe; form?: FunctionMaybe; } interface LiHTMLAttributes extends HTMLAttributes { value?: FunctionMaybe; } interface LinkHTMLAttributes extends HTMLAttributes { as?: FunctionMaybe; crossorigin?: FunctionMaybe; disabled?: FunctionMaybe; href?: FunctionMaybe; hreflang?: FunctionMaybe; integrity?: FunctionMaybe; media?: FunctionMaybe; referrerpolicy?: FunctionMaybe; rel?: FunctionMaybe; sizes?: FunctionMaybe; type?: FunctionMaybe; crossOrigin?: FunctionMaybe; referrerPolicy?: FunctionMaybe; } interface MapHTMLAttributes extends HTMLAttributes { name?: FunctionMaybe; } interface MediaHTMLAttributes extends HTMLAttributes { autoplay?: FunctionMaybe; controls?: FunctionMaybe; crossorigin?: FunctionMaybe; loop?: FunctionMaybe; mediagroup?: FunctionMaybe; muted?: FunctionMaybe; preload?: FunctionMaybe<"none" | "metadata" | "auto" | "">; src?: FunctionMaybe; crossOrigin?: FunctionMaybe; mediaGroup?: FunctionMaybe; } interface MenuHTMLAttributes extends HTMLAttributes { label?: FunctionMaybe; type?: FunctionMaybe<"context" | "toolbar">; } interface MetaHTMLAttributes extends HTMLAttributes { charset?: FunctionMaybe; content?: FunctionMaybe; httpequiv?: FunctionMaybe; name?: FunctionMaybe; httpEquiv?: FunctionMaybe; } interface MeterHTMLAttributes extends HTMLAttributes { form?: FunctionMaybe; high?: FunctionMaybe; low?: FunctionMaybe; max?: FunctionMaybe; min?: FunctionMaybe; optimum?: FunctionMaybe; value?: FunctionMaybe; } interface QuoteHTMLAttributes extends HTMLAttributes { cite?: FunctionMaybe; } interface ObjectHTMLAttributes extends HTMLAttributes { data?: FunctionMaybe; form?: FunctionMaybe; height?: FunctionMaybe; name?: FunctionMaybe; type?: FunctionMaybe; usemap?: FunctionMaybe; width?: FunctionMaybe; useMap?: FunctionMaybe; } interface OlHTMLAttributes extends HTMLAttributes { reversed?: FunctionMaybe; start?: FunctionMaybe; type?: FunctionMaybe<"1" | "a" | "A" | "i" | "I">; } interface OptgroupHTMLAttributes extends HTMLAttributes { disabled?: FunctionMaybe; label?: FunctionMaybe; } interface OptionHTMLAttributes extends HTMLAttributes { disabled?: FunctionMaybe; label?: FunctionMaybe; selected?: FunctionMaybe; value?: FunctionMaybe; } interface OutputHTMLAttributes extends HTMLAttributes { form?: FunctionMaybe; for?: FunctionMaybe; name?: FunctionMaybe; } interface ParamHTMLAttributes extends HTMLAttributes { name?: FunctionMaybe; value?: FunctionMaybe; } interface ProgressHTMLAttributes extends HTMLAttributes { max?: FunctionMaybe; value?: FunctionMaybe; } interface ScriptHTMLAttributes extends HTMLAttributes { async?: FunctionMaybe; charset?: FunctionMaybe; crossorigin?: FunctionMaybe; defer?: FunctionMaybe; integrity?: FunctionMaybe; nomodule?: FunctionMaybe; nonce?: FunctionMaybe; referrerpolicy?: FunctionMaybe; src?: FunctionMaybe; type?: FunctionMaybe; crossOrigin?: FunctionMaybe; noModule?: FunctionMaybe; referrerPolicy?: FunctionMaybe; } interface SelectHTMLAttributes extends HTMLAttributes { autocomplete?: FunctionMaybe; autofocus?: FunctionMaybe; disabled?: FunctionMaybe; form?: FunctionMaybe; multiple?: FunctionMaybe; name?: FunctionMaybe; required?: FunctionMaybe; size?: FunctionMaybe; value?: FunctionMaybe; } interface HTMLSlotElementAttributes extends HTMLAttributes { name?: FunctionMaybe; } interface SourceHTMLAttributes extends HTMLAttributes { media?: FunctionMaybe; sizes?: FunctionMaybe; src?: FunctionMaybe; srcset?: FunctionMaybe; type?: FunctionMaybe; } interface StyleHTMLAttributes extends HTMLAttributes { media?: FunctionMaybe; nonce?: FunctionMaybe; scoped?: FunctionMaybe; type?: FunctionMaybe; } interface TdHTMLAttributes extends HTMLAttributes { colspan?: FunctionMaybe; headers?: FunctionMaybe; rowspan?: FunctionMaybe; colSpan?: FunctionMaybe; rowSpan?: FunctionMaybe; } interface TemplateHTMLAttributes extends HTMLAttributes { content?: FunctionMaybe; } interface TextareaHTMLAttributes extends HTMLAttributes { autocomplete?: FunctionMaybe; autofocus?: FunctionMaybe; cols?: FunctionMaybe; dirname?: FunctionMaybe; disabled?: FunctionMaybe; form?: FunctionMaybe; maxlength?: FunctionMaybe; minlength?: FunctionMaybe; name?: FunctionMaybe; placeholder?: FunctionMaybe; readonly?: FunctionMaybe; required?: FunctionMaybe; rows?: FunctionMaybe; value?: FunctionMaybe; wrap?: FunctionMaybe<"hard" | "soft" | "off">; maxLength?: FunctionMaybe; minLength?: FunctionMaybe; readOnly?: FunctionMaybe; } interface ThHTMLAttributes extends HTMLAttributes { colspan?: FunctionMaybe; headers?: FunctionMaybe; rowspan?: FunctionMaybe; colSpan?: FunctionMaybe; rowSpan?: FunctionMaybe; scope?: FunctionMaybe<'col' | 'row' | 'rowgroup' | 'colgroup'>; } interface TimeHTMLAttributes extends HTMLAttributes { datetime?: FunctionMaybe; dateTime?: FunctionMaybe; } interface TrackHTMLAttributes extends HTMLAttributes { default?: FunctionMaybe; kind?: FunctionMaybe<"subtitles" | "captions" | "descriptions" | "chapters" | "metadata">; label?: FunctionMaybe; src?: FunctionMaybe; srclang?: FunctionMaybe; } interface VideoHTMLAttributes extends MediaHTMLAttributes { height?: FunctionMaybe; playsinline?: FunctionMaybe; poster?: FunctionMaybe; width?: FunctionMaybe; } type SVGPreserveAspectRatio = | "none" | "xMinYMin" | "xMidYMin" | "xMaxYMin" | "xMinYMid" | "xMidYMid" | "xMaxYMid" | "xMinYMax" | "xMidYMax" | "xMaxYMax" | "xMinYMin meet" | "xMidYMin meet" | "xMaxYMin meet" | "xMinYMid meet" | "xMidYMid meet" | "xMaxYMid meet" | "xMinYMax meet" | "xMidYMax meet" | "xMaxYMax meet" | "xMinYMin slice" | "xMidYMin slice" | "xMaxYMin slice" | "xMinYMid slice" | "xMidYMid slice" | "xMaxYMid slice" | "xMinYMax slice" | "xMidYMax slice" | "xMaxYMax slice"; type ImagePreserveAspectRatio = | SVGPreserveAspectRatio | "defer none" | "defer xMinYMin" | "defer xMidYMin" | "defer xMaxYMin" | "defer xMinYMid" | "defer xMidYMid" | "defer xMaxYMid" | "defer xMinYMax" | "defer xMidYMax" | "defer xMaxYMax" | "defer xMinYMin meet" | "defer xMidYMin meet" | "defer xMaxYMin meet" | "defer xMinYMid meet" | "defer xMidYMid meet" | "defer xMaxYMid meet" | "defer xMinYMax meet" | "defer xMidYMax meet" | "defer xMaxYMax meet" | "defer xMinYMin slice" | "defer xMidYMin slice" | "defer xMaxYMin slice" | "defer xMinYMid slice" | "defer xMidYMid slice" | "defer xMaxYMid slice" | "defer xMinYMax slice" | "defer xMidYMax slice" | "defer xMaxYMax slice"; type SVGUnits = "userSpaceOnUse" | "objectBoundingBox"; interface CoreSVGAttributes extends AriaAttributes, DOMAttributes { id?: FunctionMaybe; lang?: FunctionMaybe; tabIndex?: FunctionMaybe; tabindex?: FunctionMaybe; } interface StylableSVGAttributes { class?: FunctionMaybe | undefined; style?: FunctionMaybe; } interface TransformableSVGAttributes { transform?: FunctionMaybe; } interface ConditionalProcessingSVGAttributes { requiredExtensions?: FunctionMaybe; requiredFeatures?: FunctionMaybe; systemLanguage?: FunctionMaybe; } interface ExternalResourceSVGAttributes { externalResourcesRequired?: FunctionMaybe<"true" | "false">; } interface AnimationTimingSVGAttributes { begin?: FunctionMaybe; dur?: FunctionMaybe; end?: FunctionMaybe; min?: FunctionMaybe; max?: FunctionMaybe; restart?: FunctionMaybe<"always" | "whenNotActive" | "never">; repeatCount?: FunctionMaybe; repeatDur?: FunctionMaybe; fill?: FunctionMaybe<"freeze" | "remove">; } interface AnimationValueSVGAttributes { calcMode?: FunctionMaybe<"discrete" | "linear" | "paced" | "spline">; values?: FunctionMaybe; keyTimes?: FunctionMaybe; keySplines?: FunctionMaybe; from?: FunctionMaybe; to?: FunctionMaybe; by?: FunctionMaybe; } interface AnimationAdditionSVGAttributes { attributeName?: FunctionMaybe; additive?: FunctionMaybe<"replace" | "sum">; accumulate?: FunctionMaybe<"none" | "sum">; } interface AnimationAttributeTargetSVGAttributes { attributeName?: FunctionMaybe; attributeType?: FunctionMaybe<"CSS" | "XML" | "auto">; } interface PresentationSVGAttributes { "alignment-baseline"?: | "auto" | "baseline" | "before-edge" | "text-before-edge" | "middle" | "central" | "after-edge" | "text-after-edge" | "ideographic" | "alphabetic" | "hanging" | "mathematical" | "inherit"; "baseline-shift"?: FunctionMaybe; clip?: FunctionMaybe; "clip-path"?: FunctionMaybe; "clip-rule"?: "nonzero" | "evenodd" | "inherit"; color?: FunctionMaybe; "color-interpolation"?: "auto" | "sRGB" | "linearRGB" | "inherit"; "color-interpolation-filters"?: "auto" | "sRGB" | "linearRGB" | "inherit"; "color-profile"?: FunctionMaybe; "color-rendering"?: "auto" | "optimizeSpeed" | "optimizeQuality" | "inherit"; cursor?: FunctionMaybe; direction?: "ltr" | "rtl" | "inherit"; display?: FunctionMaybe; "dominant-baseline"?: | "auto" | "text-bottom" | "alphabetic" | "ideographic" | "middle" | "central" | "mathematical" | "hanging" | "text-top" | "inherit"; "enable-background"?: FunctionMaybe; fill?: FunctionMaybe; "fill-opacity"?: FunctionMaybe; "fill-rule"?: FunctionMaybe<"nonzero" | "evenodd" | "inherit">; filter?: FunctionMaybe; "flood-color"?: FunctionMaybe; "flood-opacity"?: FunctionMaybe; "font-family"?: FunctionMaybe; "font-size"?: FunctionMaybe; "font-size-adjust"?: FunctionMaybe; "font-stretch"?: FunctionMaybe; "font-style"?: FunctionMaybe<"normal" | "italic" | "oblique" | "inherit">; "font-variant"?: FunctionMaybe; "font-weight"?: FunctionMaybe; "glyph-orientation-horizontal"?: FunctionMaybe; "glyph-orientation-vertical"?: FunctionMaybe; "image-rendering"?: FunctionMaybe<"auto" | "optimizeQuality" | "optimizeSpeed" | "inherit">; kerning?: FunctionMaybe; "letter-spacing"?: FunctionMaybe; "lighting-color"?: FunctionMaybe; "marker-end"?: FunctionMaybe; "marker-mid"?: FunctionMaybe; "marker-start"?: FunctionMaybe; mask?: FunctionMaybe; opacity?: FunctionMaybe; overflow?: FunctionMaybe<"visible" | "hidden" | "scroll" | "auto" | "inherit">; pathLength?: FunctionMaybe; "pointer-events"?: FunctionMaybe< | "bounding-box" | "visiblePainted" | "visibleFill" | "visibleStroke" | "visible" | "painted" | "color" | "fill" | "stroke" | "all" | "none" | "inherit">; "shape-rendering"?: FunctionMaybe<"auto" | "optimizeSpeed" | "crispEdges" | "geometricPrecision" | "inherit">; "stop-color"?: FunctionMaybe; "stop-opacity"?: FunctionMaybe; stroke?: FunctionMaybe; "stroke-dasharray"?: FunctionMaybe; "stroke-dashoffset"?: FunctionMaybe; "stroke-linecap"?: FunctionMaybe<"butt" | "round" | "square" | "inherit">; "stroke-linejoin"?: FunctionMaybe<"arcs" | "bevel" | "miter" | "miter-clip" | "round" | "inherit">; "stroke-miterlimit"?: FunctionMaybe; "stroke-opacity"?: FunctionMaybe; "stroke-width"?: FunctionMaybe; "text-anchor"?: FunctionMaybe<"start" | "middle" | "end" | "inherit">; "text-decoration"?: FunctionMaybe<"none" | "underline" | "overline" | "line-through" | "blink" | "inherit">; "text-rendering"?: FunctionMaybe< | "auto" | "optimizeSpeed" | "optimizeLegibility" | "geometricPrecision" | "inherit">; "unicode-bidi"?: FunctionMaybe; visibility?: FunctionMaybe<"visible" | "hidden" | "collapse" | "inherit">; "word-spacing"?: FunctionMaybe; "writing-mode"?: FunctionMaybe<"lr-tb" | "rl-tb" | "tb-rl" | "lr" | "rl" | "tb" | "inherit">; } interface AnimationElementSVGAttributes extends CoreSVGAttributes, ExternalResourceSVGAttributes, ConditionalProcessingSVGAttributes {} interface ContainerElementSVGAttributes extends CoreSVGAttributes, ShapeElementSVGAttributes, Pick< PresentationSVGAttributes, | "clip-path" | "mask" | "cursor" | "opacity" | "filter" | "enable-background" | "color-interpolation" | "color-rendering" > {} interface FilterPrimitiveElementSVGAttributes extends CoreSVGAttributes, Pick { x?: FunctionMaybe; y?: FunctionMaybe; width?: FunctionMaybe; height?: FunctionMaybe; result?: FunctionMaybe; } interface SingleInputFilterSVGAttributes { in?: FunctionMaybe; } interface DoubleInputFilterSVGAttributes { in?: FunctionMaybe; in2?: FunctionMaybe; } interface FitToViewBoxSVGAttributes { viewBox?: FunctionMaybe; preserveAspectRatio?: FunctionMaybe; } interface GradientElementSVGAttributes extends CoreSVGAttributes, ExternalResourceSVGAttributes, StylableSVGAttributes { gradientUnits?: FunctionMaybe; gradientTransform?: FunctionMaybe; spreadMethod?: FunctionMaybe<"pad" | "reflect" | "repeat">; href?: FunctionMaybe } interface GraphicsElementSVGAttributes extends CoreSVGAttributes, Pick< PresentationSVGAttributes, | "clip-rule" | "mask" | "pointer-events" | "cursor" | "opacity" | "filter" | "display" | "visibility" | "color-interpolation" | "color-rendering" > {} interface LightSourceElementSVGAttributes extends CoreSVGAttributes {} interface NewViewportSVGAttributes extends CoreSVGAttributes, Pick { viewBox?: FunctionMaybe; } interface ShapeElementSVGAttributes extends CoreSVGAttributes, Pick< PresentationSVGAttributes, | "color" | "fill" | "fill-rule" | "fill-opacity" | "stroke" | "stroke-width" | "stroke-linecap" | "stroke-linejoin" | "stroke-miterlimit" | "stroke-dasharray" | "stroke-dashoffset" | "stroke-opacity" | "shape-rendering" | "pathLength" > {} interface TextContentElementSVGAttributes extends CoreSVGAttributes, Pick< PresentationSVGAttributes, | "font-family" | "font-style" | "font-variant" | "font-weight" | "font-stretch" | "font-size" | "font-size-adjust" | "kerning" | "letter-spacing" | "word-spacing" | "text-decoration" | "glyph-orientation-horizontal" | "glyph-orientation-vertical" | "direction" | "unicode-bidi" | "text-anchor" | "dominant-baseline" | "color" | "fill" | "fill-rule" | "fill-opacity" | "stroke" | "stroke-width" | "stroke-linecap" | "stroke-linejoin" | "stroke-miterlimit" | "stroke-dasharray" | "stroke-dashoffset" | "stroke-opacity" > {} interface ZoomAndPanSVGAttributes { zoomAndPan?: FunctionMaybe<"disable" | "magnify">; } interface AnimateSVGAttributes extends AnimationElementSVGAttributes, AnimationAttributeTargetSVGAttributes, AnimationTimingSVGAttributes, AnimationValueSVGAttributes, AnimationAdditionSVGAttributes, Pick {} interface AnimateMotionSVGAttributes extends AnimationElementSVGAttributes, AnimationTimingSVGAttributes, AnimationValueSVGAttributes, AnimationAdditionSVGAttributes { path?: FunctionMaybe; keyPoints?: FunctionMaybe; rotate?: FunctionMaybe; origin?: FunctionMaybe<"default">; } interface AnimateTransformSVGAttributes extends AnimationElementSVGAttributes, AnimationAttributeTargetSVGAttributes, AnimationTimingSVGAttributes, AnimationValueSVGAttributes, AnimationAdditionSVGAttributes { type?: FunctionMaybe<"translate" | "scale" | "rotate" | "skewX" | "skewY">; } interface CircleSVGAttributes extends GraphicsElementSVGAttributes, ShapeElementSVGAttributes, ConditionalProcessingSVGAttributes, StylableSVGAttributes, TransformableSVGAttributes { cx?: FunctionMaybe; cy?: FunctionMaybe; r?: FunctionMaybe; } interface ClipPathSVGAttributes extends CoreSVGAttributes, ConditionalProcessingSVGAttributes, ExternalResourceSVGAttributes, StylableSVGAttributes, TransformableSVGAttributes, Pick { clipPathUnits?: FunctionMaybe; } interface DefsSVGAttributes extends ContainerElementSVGAttributes, ConditionalProcessingSVGAttributes, ExternalResourceSVGAttributes, StylableSVGAttributes, TransformableSVGAttributes {} interface DescSVGAttributes extends CoreSVGAttributes, StylableSVGAttributes {} interface EllipseSVGAttributes extends GraphicsElementSVGAttributes, ShapeElementSVGAttributes, ConditionalProcessingSVGAttributes, ExternalResourceSVGAttributes, StylableSVGAttributes, TransformableSVGAttributes { cx?: FunctionMaybe; cy?: FunctionMaybe; rx?: FunctionMaybe; ry?: FunctionMaybe; } interface FeBlendSVGAttributes extends FilterPrimitiveElementSVGAttributes, DoubleInputFilterSVGAttributes, StylableSVGAttributes { mode?: FunctionMaybe<"normal" | "multiply" | "screen" | "darken" | "lighten">; } interface FeColorMatrixSVGAttributes extends FilterPrimitiveElementSVGAttributes, SingleInputFilterSVGAttributes, StylableSVGAttributes { type?: FunctionMaybe<"matrix" | "saturate" | "hueRotate" | "luminanceToAlpha">; values?: FunctionMaybe; } interface FeComponentTransferSVGAttributes extends FilterPrimitiveElementSVGAttributes, SingleInputFilterSVGAttributes, StylableSVGAttributes {} interface FeCompositeSVGAttributes extends FilterPrimitiveElementSVGAttributes, DoubleInputFilterSVGAttributes, StylableSVGAttributes { operator?: FunctionMaybe<"over" | "in" | "out" | "atop" | "xor" | "arithmetic">; k1?: FunctionMaybe; k2?: FunctionMaybe; k3?: FunctionMaybe; k4?: FunctionMaybe; } interface FeConvolveMatrixSVGAttributes extends FilterPrimitiveElementSVGAttributes, SingleInputFilterSVGAttributes, StylableSVGAttributes { order?: FunctionMaybe; kernelMatrix?: FunctionMaybe; divisor?: FunctionMaybe; bias?: FunctionMaybe; targetX?: FunctionMaybe; targetY?: FunctionMaybe; edgeMode?: FunctionMaybe<"duplicate" | "wrap" | "none">; kernelUnitLength?: FunctionMaybe; preserveAlpha?: FunctionMaybe<"true" | "false">; } interface FeDiffuseLightingSVGAttributes extends FilterPrimitiveElementSVGAttributes, SingleInputFilterSVGAttributes, StylableSVGAttributes, Pick { surfaceScale?: FunctionMaybe; diffuseConstant?: FunctionMaybe; kernelUnitLength?: FunctionMaybe; } interface FeDisplacementMapSVGAttributes extends FilterPrimitiveElementSVGAttributes, DoubleInputFilterSVGAttributes, StylableSVGAttributes { scale?: FunctionMaybe; xChannelSelector?: FunctionMaybe<"R" | "G" | "B" | "A">; yChannelSelector?: FunctionMaybe<"R" | "G" | "B" | "A">; } interface FeDistantLightSVGAttributes extends LightSourceElementSVGAttributes { azimuth?: FunctionMaybe; elevation?: FunctionMaybe; } interface FeFloodSVGAttributes extends FilterPrimitiveElementSVGAttributes, StylableSVGAttributes, Pick {} interface FeFuncSVGAttributes extends CoreSVGAttributes { type?: "identity" | "table" | "discrete" | "linear" | "gamma"; tableValues?: FunctionMaybe; slope?: FunctionMaybe; intercept?: FunctionMaybe; amplitude?: FunctionMaybe; exponent?: FunctionMaybe; offset?: FunctionMaybe; } interface FeGaussianBlurSVGAttributes extends FilterPrimitiveElementSVGAttributes, SingleInputFilterSVGAttributes, StylableSVGAttributes { stdDeviation?: FunctionMaybe; } interface FeImageSVGAttributes extends FilterPrimitiveElementSVGAttributes, ExternalResourceSVGAttributes, StylableSVGAttributes { preserveAspectRatio?: FunctionMaybe; href?: FunctionMaybe; } interface FeMergeSVGAttributes extends FilterPrimitiveElementSVGAttributes, StylableSVGAttributes {} interface FeMergeNodeSVGAttributes extends CoreSVGAttributes, SingleInputFilterSVGAttributes {} interface FeMorphologySVGAttributes extends FilterPrimitiveElementSVGAttributes, SingleInputFilterSVGAttributes, StylableSVGAttributes { operator?: FunctionMaybe<"erode" | "dilate">; radius?: FunctionMaybe; } interface FeOffsetSVGAttributes extends FilterPrimitiveElementSVGAttributes, SingleInputFilterSVGAttributes, StylableSVGAttributes { dx?: FunctionMaybe; dy?: FunctionMaybe; } interface FePointLightSVGAttributes extends LightSourceElementSVGAttributes { x?: FunctionMaybe; y?: FunctionMaybe; z?: FunctionMaybe; } interface FeSpecularLightingSVGAttributes extends FilterPrimitiveElementSVGAttributes, SingleInputFilterSVGAttributes, StylableSVGAttributes, Pick { surfaceScale?: FunctionMaybe; specularConstant?: FunctionMaybe; specularExponent?: FunctionMaybe; kernelUnitLength?: FunctionMaybe; } interface FeSpotLightSVGAttributes extends LightSourceElementSVGAttributes { x?: FunctionMaybe; y?: FunctionMaybe; z?: FunctionMaybe; pointsAtX?: FunctionMaybe; pointsAtY?: FunctionMaybe; pointsAtZ?: FunctionMaybe; specularExponent?: FunctionMaybe; limitingConeAngle?: FunctionMaybe; } interface FeTileSVGAttributes extends FilterPrimitiveElementSVGAttributes, SingleInputFilterSVGAttributes, StylableSVGAttributes {} interface FeTurbulanceSVGAttributes extends FilterPrimitiveElementSVGAttributes, StylableSVGAttributes { baseFrequency?: FunctionMaybe; numOctaves?: FunctionMaybe; seed?: FunctionMaybe; stitchTiles?: FunctionMaybe<"stitch" | "noStitch">; type?: FunctionMaybe<"fractalNoise" | "turbulence">; } interface FilterSVGAttributes extends CoreSVGAttributes, ExternalResourceSVGAttributes, StylableSVGAttributes { filterUnits?: FunctionMaybe; primitiveUnits?: FunctionMaybe; x?: FunctionMaybe; y?: FunctionMaybe; width?: FunctionMaybe; height?: FunctionMaybe; filterRes?: FunctionMaybe; } interface ForeignObjectSVGAttributes extends NewViewportSVGAttributes, ConditionalProcessingSVGAttributes, ExternalResourceSVGAttributes, StylableSVGAttributes, TransformableSVGAttributes, Pick { x?: FunctionMaybe; y?: FunctionMaybe; width?: FunctionMaybe; height?: FunctionMaybe; } interface GSVGAttributes extends ContainerElementSVGAttributes, ConditionalProcessingSVGAttributes, ExternalResourceSVGAttributes, StylableSVGAttributes, TransformableSVGAttributes, Pick {} interface ImageSVGAttributes extends NewViewportSVGAttributes, GraphicsElementSVGAttributes, ConditionalProcessingSVGAttributes, StylableSVGAttributes, TransformableSVGAttributes, Pick { x?: FunctionMaybe; y?: FunctionMaybe; width?: FunctionMaybe; height?: FunctionMaybe; preserveAspectRatio?: FunctionMaybe; href?: FunctionMaybe; } interface LineSVGAttributes extends GraphicsElementSVGAttributes, ShapeElementSVGAttributes, ConditionalProcessingSVGAttributes, ExternalResourceSVGAttributes, StylableSVGAttributes, TransformableSVGAttributes, Pick { x1?: FunctionMaybe; y1?: FunctionMaybe; x2?: FunctionMaybe; y2?: FunctionMaybe; } interface LinearGradientSVGAttributes extends GradientElementSVGAttributes { x1?: FunctionMaybe; x2?: FunctionMaybe; y1?: FunctionMaybe; y2?: FunctionMaybe; } interface MarkerSVGAttributes extends ContainerElementSVGAttributes, ExternalResourceSVGAttributes, StylableSVGAttributes, FitToViewBoxSVGAttributes, Pick { markerUnits?: FunctionMaybe<"strokeWidth" | "userSpaceOnUse">; refX?: FunctionMaybe; refY?: FunctionMaybe; markerWidth?: FunctionMaybe; markerHeight?: FunctionMaybe; orient?: FunctionMaybe; } interface MaskSVGAttributes extends Omit, "opacity" | "filter">, ConditionalProcessingSVGAttributes, ExternalResourceSVGAttributes, StylableSVGAttributes { maskUnits?: FunctionMaybe; maskContentUnits?: FunctionMaybe; x?: FunctionMaybe; y?: FunctionMaybe; width?: FunctionMaybe; height?: FunctionMaybe; } interface MetadataSVGAttributes extends CoreSVGAttributes {} interface PathSVGAttributes extends GraphicsElementSVGAttributes, ShapeElementSVGAttributes, ConditionalProcessingSVGAttributes, ExternalResourceSVGAttributes, StylableSVGAttributes, TransformableSVGAttributes, Pick { d?: FunctionMaybe; pathLength?: FunctionMaybe; } interface PatternSVGAttributes extends ContainerElementSVGAttributes, ConditionalProcessingSVGAttributes, ExternalResourceSVGAttributes, StylableSVGAttributes, FitToViewBoxSVGAttributes, Pick { x?: FunctionMaybe; y?: FunctionMaybe; width?: FunctionMaybe; height?: FunctionMaybe; patternUnits?: FunctionMaybe; patternContentUnits?: FunctionMaybe; patternTransform?: FunctionMaybe; href?: string; } interface PolygonSVGAttributes extends GraphicsElementSVGAttributes, ShapeElementSVGAttributes, ConditionalProcessingSVGAttributes, ExternalResourceSVGAttributes, StylableSVGAttributes, TransformableSVGAttributes, Pick { points?: FunctionMaybe; } interface PolylineSVGAttributes extends GraphicsElementSVGAttributes, ShapeElementSVGAttributes, ConditionalProcessingSVGAttributes, ExternalResourceSVGAttributes, StylableSVGAttributes, TransformableSVGAttributes, Pick { points?: FunctionMaybe; } interface RadialGradientSVGAttributes extends GradientElementSVGAttributes { cx?: FunctionMaybe; cy?: FunctionMaybe; r?: FunctionMaybe; fx?: FunctionMaybe; fy?: FunctionMaybe; } interface RectSVGAttributes extends GraphicsElementSVGAttributes, ShapeElementSVGAttributes, ConditionalProcessingSVGAttributes, ExternalResourceSVGAttributes, StylableSVGAttributes, TransformableSVGAttributes { x?: FunctionMaybe; y?: FunctionMaybe; width?: FunctionMaybe; height?: FunctionMaybe; rx?: FunctionMaybe; ry?: FunctionMaybe; } interface StopSVGAttributes extends CoreSVGAttributes, StylableSVGAttributes, Pick { offset?: FunctionMaybe; } interface SvgSVGAttributes extends ContainerElementSVGAttributes, NewViewportSVGAttributes, ConditionalProcessingSVGAttributes, ExternalResourceSVGAttributes, StylableSVGAttributes, FitToViewBoxSVGAttributes, ZoomAndPanSVGAttributes, PresentationSVGAttributes { version?: FunctionMaybe; baseProfile?: FunctionMaybe; x?: FunctionMaybe; y?: FunctionMaybe; width?: FunctionMaybe; height?: FunctionMaybe; contentScriptType?: FunctionMaybe; contentStyleType?: FunctionMaybe; xmlns?: FunctionMaybe; } interface SwitchSVGAttributes extends ContainerElementSVGAttributes, ConditionalProcessingSVGAttributes, ExternalResourceSVGAttributes, StylableSVGAttributes, TransformableSVGAttributes, Pick {} interface SymbolSVGAttributes extends ContainerElementSVGAttributes, NewViewportSVGAttributes, ExternalResourceSVGAttributes, StylableSVGAttributes, FitToViewBoxSVGAttributes {} interface TextSVGAttributes extends TextContentElementSVGAttributes, GraphicsElementSVGAttributes, ConditionalProcessingSVGAttributes, ExternalResourceSVGAttributes, StylableSVGAttributes, TransformableSVGAttributes, Pick { x?: FunctionMaybe; y?: FunctionMaybe; dx?: FunctionMaybe; dy?: FunctionMaybe; rotate?: FunctionMaybe; textLength?: FunctionMaybe; lengthAdjust?: FunctionMaybe<"spacing" | "spacingAndGlyphs">; } interface TextPathSVGAttributes extends TextContentElementSVGAttributes, ConditionalProcessingSVGAttributes, ExternalResourceSVGAttributes, StylableSVGAttributes, Pick< PresentationSVGAttributes, "alignment-baseline" | "baseline-shift" | "display" | "visibility" > { startOffset?: FunctionMaybe; method?: FunctionMaybe<"align" | "stretch">; spacing?: FunctionMaybe<"auto" | "exact">; href?: FunctionMaybe; } interface TSpanSVGAttributes extends TextContentElementSVGAttributes, ConditionalProcessingSVGAttributes, ExternalResourceSVGAttributes, StylableSVGAttributes, Pick< PresentationSVGAttributes, "alignment-baseline" | "baseline-shift" | "display" | "visibility" > { x?: FunctionMaybe; y?: FunctionMaybe; dx?: FunctionMaybe; dy?: FunctionMaybe; rotate?: FunctionMaybe; textLength?: FunctionMaybe; lengthAdjust?: FunctionMaybe<"spacing" | "spacingAndGlyphs">; } interface UseSVGAttributes extends GraphicsElementSVGAttributes, ConditionalProcessingSVGAttributes, ExternalResourceSVGAttributes, StylableSVGAttributes, TransformableSVGAttributes { x?: FunctionMaybe; y?: FunctionMaybe; width?: FunctionMaybe; height?: FunctionMaybe; href?: FunctionMaybe; } interface ViewSVGAttributes extends CoreSVGAttributes, ExternalResourceSVGAttributes, FitToViewBoxSVGAttributes, ZoomAndPanSVGAttributes { viewTarget?: FunctionMaybe; } /** * @type {HTMLElementTagNameMap} */ interface HTMLElementTags { a: AnchorHTMLAttributes; abbr: HTMLAttributes; address: HTMLAttributes; area: AreaHTMLAttributes; article: HTMLAttributes; aside: HTMLAttributes; audio: AudioHTMLAttributes; b: HTMLAttributes; base: BaseHTMLAttributes; bdi: HTMLAttributes; bdo: HTMLAttributes; blockquote: BlockquoteHTMLAttributes; body: HTMLAttributes; br: HTMLAttributes; button: ButtonHTMLAttributes; canvas: CanvasHTMLAttributes; caption: HTMLAttributes; cite: HTMLAttributes; code: HTMLAttributes; col: ColHTMLAttributes; colgroup: ColgroupHTMLAttributes; data: DataHTMLAttributes; datalist: HTMLAttributes; dd: HTMLAttributes; del: HTMLAttributes; details: DetailsHtmlAttributes; dfn: HTMLAttributes; dialog: DialogHtmlAttributes; div: HTMLAttributes; dl: HTMLAttributes; dt: HTMLAttributes; em: HTMLAttributes; embed: EmbedHTMLAttributes; fieldset: FieldsetHTMLAttributes; figcaption: HTMLAttributes; figure: HTMLAttributes; footer: HTMLAttributes; form: FormHTMLAttributes; h1: HTMLAttributes; h2: HTMLAttributes; h3: HTMLAttributes; h4: HTMLAttributes; h5: HTMLAttributes; h6: HTMLAttributes; head: HTMLAttributes; header: HTMLAttributes; hgroup: HTMLAttributes; hr: HTMLAttributes; html: HTMLAttributes; i: HTMLAttributes; iframe: IframeHTMLAttributes; img: ImgHTMLAttributes; input: InputHTMLAttributes; ins: InsHTMLAttributes; kbd: HTMLAttributes; label: LabelHTMLAttributes; legend: HTMLAttributes; li: LiHTMLAttributes; link: LinkHTMLAttributes; main: HTMLAttributes; map: MapHTMLAttributes; mark: HTMLAttributes; menu: MenuHTMLAttributes; meta: MetaHTMLAttributes; meter: MeterHTMLAttributes; nav: HTMLAttributes; noscript: HTMLAttributes; object: ObjectHTMLAttributes; ol: OlHTMLAttributes; optgroup: OptgroupHTMLAttributes; option: OptionHTMLAttributes; output: OutputHTMLAttributes; p: HTMLAttributes; picture: HTMLAttributes; pre: HTMLAttributes; progress: ProgressHTMLAttributes; q: QuoteHTMLAttributes; rp: HTMLAttributes; rt: HTMLAttributes; ruby: HTMLAttributes; s: HTMLAttributes; samp: HTMLAttributes; script: ScriptHTMLAttributes; section: HTMLAttributes; select: SelectHTMLAttributes; slot: HTMLSlotElementAttributes; small: HTMLAttributes; source: SourceHTMLAttributes; span: HTMLAttributes; strong: HTMLAttributes; style: StyleHTMLAttributes; sub: HTMLAttributes; summary: HTMLAttributes; sup: HTMLAttributes; table: HTMLAttributes; tbody: HTMLAttributes; td: TdHTMLAttributes; template: TemplateHTMLAttributes; textarea: TextareaHTMLAttributes; tfoot: HTMLAttributes; th: ThHTMLAttributes; thead: HTMLAttributes; time: TimeHTMLAttributes; title: HTMLAttributes; tr: HTMLAttributes; track: TrackHTMLAttributes; u: HTMLAttributes; ul: HTMLAttributes; var: HTMLAttributes; video: VideoHTMLAttributes; wbr: HTMLAttributes; } /** * @type {HTMLElementDeprecatedTagNameMap} */ interface HTMLElementDeprecatedTags { big: HTMLAttributes; keygen: KeygenHTMLAttributes; menuitem: HTMLAttributes; noindex: HTMLAttributes; param: ParamHTMLAttributes; } /** * @type {SVGElementTagNameMap} */ interface SVGElementTags { animate: AnimateSVGAttributes; animateMotion: AnimateMotionSVGAttributes; animateTransform: AnimateTransformSVGAttributes; circle: CircleSVGAttributes; clipPath: ClipPathSVGAttributes; defs: DefsSVGAttributes; desc: DescSVGAttributes; ellipse: EllipseSVGAttributes; feBlend: FeBlendSVGAttributes; feColorMatrix: FeColorMatrixSVGAttributes; feComponentTransfer: FeComponentTransferSVGAttributes; feComposite: FeCompositeSVGAttributes; feConvolveMatrix: FeConvolveMatrixSVGAttributes; feDiffuseLighting: FeDiffuseLightingSVGAttributes; feDisplacementMap: FeDisplacementMapSVGAttributes; feDistantLight: FeDistantLightSVGAttributes; feDropShadow: Partial; feFlood: FeFloodSVGAttributes; feFuncA: FeFuncSVGAttributes; feFuncB: FeFuncSVGAttributes; feFuncG: FeFuncSVGAttributes; feFuncR: FeFuncSVGAttributes; feGaussianBlur: FeGaussianBlurSVGAttributes; feImage: FeImageSVGAttributes; feMerge: FeMergeSVGAttributes; feMergeNode: FeMergeNodeSVGAttributes; feMorphology: FeMorphologySVGAttributes; feOffset: FeOffsetSVGAttributes; fePointLight: FePointLightSVGAttributes; feSpecularLighting: FeSpecularLightingSVGAttributes; feSpotLight: FeSpotLightSVGAttributes; feTile: FeTileSVGAttributes; feTurbulence: FeTurbulanceSVGAttributes; filter: FilterSVGAttributes; foreignObject: ForeignObjectSVGAttributes; g: GSVGAttributes; image: ImageSVGAttributes; line: LineSVGAttributes; linearGradient: LinearGradientSVGAttributes; marker: MarkerSVGAttributes; mask: MaskSVGAttributes; metadata: MetadataSVGAttributes; mpath: Partial; path: PathSVGAttributes; pattern: PatternSVGAttributes; polygon: PolygonSVGAttributes; polyline: PolylineSVGAttributes; radialGradient: RadialGradientSVGAttributes; rect: RectSVGAttributes; set: Partial; stop: StopSVGAttributes; svg: SvgSVGAttributes; switch: SwitchSVGAttributes; symbol: SymbolSVGAttributes; text: TextSVGAttributes; textPath: TextPathSVGAttributes; tspan: TSpanSVGAttributes; use: UseSVGAttributes; view: ViewSVGAttributes; } interface IntrinsicElements extends HTMLElementTags, HTMLElementDeprecatedTags, SVGElementTags {} }