/** * Based on JSX types for Solid, Inferno, Surplus, and React * * https://github.com/ryansolid/solid/blob/master/packages/solid/src/rendering/jsx.ts * https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/types/react/index.d.ts * https://github.com/infernojs/inferno/blob/master/packages/inferno/src/core/types.ts * https://github.com/adamhaile/surplus/blob/master/index.d.ts */ export declare namespace JSX { type CSS = Partial & { [key: string]: Partial | string; }; type Element = | Node | ArrayElement | FunctionElement | string | number | boolean | null | undefined; interface ArrayElement extends Array {} interface FunctionElement { (): Element; } interface ElementClass { render(props: any): Element; } type LibraryManagedAttributes = Props; // Let TS know the name of the `children` property in order for it to be able to type check them. // https://github.com/Microsoft/TypeScript/issues/18357 interface ElementChildrenAttribute { children: {}; } interface EventHandler { (e: E & { currentTarget: T; target: T }): void; } interface BoundEventHandler { 0: (data: any, e: E & { currentTarget: T; target: T }) => void; 1: any; } type EventHandlerUnion = EventHandler | BoundEventHandler; // Intrinsic attributes enable us to define certain keys as attributes on an element, while // at the same time hiding them from the element's `props`. // https://github.com/Microsoft/TypeScript/issues/5478 interface IntrinsicAttributes { key?: string | number; ref?: HTMLElement | ((e: HTMLElement) => void); } // https://github.com/ryansolid/babel-plugin-jsx-dom-expressions#special-binding interface CustomAttributes { ref?: T | ((el: T) => void); classList?: { [k: string]: boolean | undefined }; className?: string; on?: { [key: string]: EventHandler }; onCapture?: { [key: string]: EventHandler }; $name?: string; $id?: string; } // https://github.com/ryansolid/babel-plugin-jsx-dom-expressions#oneventname interface DOMAttributes extends CustomAttributes { children?: Element | Element[] | string | undefined | false; innerHTML?: string; innerText?: string; textContent?: string; // Clipboard Events onCopy?: EventHandlerUnion; onCut?: EventHandlerUnion; onPaste?: EventHandlerUnion; // Composition Events onCompositionEnd?: EventHandlerUnion; onCompositionStart?: EventHandlerUnion; onCompositionUpdate?: EventHandlerUnion; // Focus Events onFocus?: EventHandlerUnion; onBlur?: EventHandlerUnion; // Form Events onChange?: EventHandlerUnion; onInput?: EventHandlerUnion; onReset?: EventHandlerUnion; onSubmit?: EventHandlerUnion; // Image Events onLoad?: EventHandlerUnion; onError?: EventHandlerUnion; // also a Media Event // Keyboard Events onKeyDown?: EventHandlerUnion; onKeyPress?: EventHandlerUnion; onKeyUp?: EventHandlerUnion; // Pointer Events onGotPointerCapture?: EventHandlerUnion; onLostPointerCapture?: EventHandlerUnion; onPointerCancel?: EventHandlerUnion; onPointerDown?: EventHandlerUnion; onPointerEnter?: EventHandlerUnion; onPointerLeave?: EventHandlerUnion; onPointerMove?: EventHandlerUnion; onPointerOver?: EventHandlerUnion; onPointerOut?: EventHandlerUnion; onPointerUp?: EventHandlerUnion; // Media Events onAbort?: EventHandlerUnion; onCanPlay?: EventHandlerUnion; onCanPlayThrough?: EventHandlerUnion; onDurationChange?: EventHandlerUnion; onEmptied?: EventHandlerUnion; onEncrypted?: EventHandlerUnion; onEnded?: EventHandlerUnion; onLoadedData?: EventHandlerUnion; onLoadedMetadata?: EventHandlerUnion; onLoadStart?: EventHandlerUnion; onPause?: EventHandlerUnion; onPlay?: EventHandlerUnion; onPlaying?: EventHandlerUnion; onProgress?: EventHandlerUnion; onRateChange?: EventHandlerUnion; onSeeked?: EventHandlerUnion; onSeeking?: EventHandlerUnion; onStalled?: EventHandlerUnion; onSuspend?: EventHandlerUnion; onTimeUpdate?: EventHandlerUnion; onVolumeChange?: EventHandlerUnion; onWaiting?: EventHandlerUnion; // MouseEvents onClick?: EventHandlerUnion; onContextMenu?: EventHandlerUnion; onDblClick?: EventHandlerUnion; onDrag?: EventHandlerUnion; onDragEnd?: EventHandlerUnion; onDragEnter?: EventHandlerUnion; onDragExit?: EventHandlerUnion; onDragLeave?: EventHandlerUnion; onDragOver?: EventHandlerUnion; onDragStart?: EventHandlerUnion; onDrop?: EventHandlerUnion; onMouseDown?: EventHandlerUnion; onMouseEnter?: EventHandlerUnion; onMouseLeave?: EventHandlerUnion; onMouseMove?: EventHandlerUnion; onMouseOut?: EventHandlerUnion; onMouseOver?: EventHandlerUnion; onMouseUp?: EventHandlerUnion; // Selection Events onSelect?: EventHandlerUnion; // Touch Events onTouchCancel?: EventHandlerUnion; onTouchEnd?: EventHandlerUnion; onTouchMove?: EventHandlerUnion; onTouchStart?: EventHandlerUnion; // UI Events onScroll?: EventHandlerUnion; // Wheel Events onWheel?: EventHandlerUnion; // Animation Events onAnimationStart?: EventHandlerUnion; onAnimationEnd?: EventHandlerUnion; onAnimationIteration?: EventHandlerUnion; // Transition Events onTransitionEnd?: EventHandlerUnion; } // See CSS 3 CSS-wide keywords https://www.w3.org/TR/css3-values/#common-keywords // See CSS 3 Explicit Defaulting https://www.w3.org/TR/css-cascade-3/#defaulting-keywords // "all CSS properties can accept these values" type CSSWideKeyword = 'initial' | 'inherit' | 'unset'; // See CSS 3 type https://drafts.csswg.org/css-values-3/#percentages type CSSPercentage = string; // See CSS 3 type https://drafts.csswg.org/css-values-3/#lengths type CSSLength = number | string; 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-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'; interface HTMLAttributes extends AriaAttributes, DOMAttributes { // Special attributes key?: string | boolean | number; // Standard HTML Attributes accessKey?: string; class?: string; contenteditable?: boolean | 'inherit'; contextmenu?: string; dir?: HTMLDir; draggable?: boolean; hidden?: boolean; id?: string; lang?: string; spellcheck?: boolean; style?: CSS; css?: CSS | { [key: string]: CSS | undefined }; tabindex?: number | string; title?: string; translate?: 'yes' | 'no'; // RDFa Attributes about?: string; datatype?: string; inlist?: any; prefix?: string; property?: string; resource?: string; typeof?: string; vocab?: string; // Non-standard Attributes autocapitalize?: HTMLAutocapitalize; color?: string; itemprop?: string; itemscope?: boolean; itemtype?: string; itemid?: string; itemref?: string; // others align?: 'start' | 'end' | 'center' | 'baseline' | 'stretch' | 'left' | 'right'; part?: string; exportparts?: string; inputmode?: 'none' | 'text' | 'tel' | 'url' | 'email' | 'numeric' | 'decimal' | 'search'; // camelcase contentEditable?: boolean | 'inherit'; contextMenu?: string; tabIndex?: number | string; autoCapitalize?: HTMLAutocapitalize; itemProp?: string; itemScope?: boolean; itemType?: string; itemId?: string; itemRef?: string; exportParts?: string; inputMode?: 'none' | 'text' | 'tel' | 'url' | 'email' | 'numeric' | 'decimal' | 'search'; // WAI-ARIA role?: AriaRole | undefined; } // HTML Elements interface AnchorHTMLAttributes extends HTMLAttributes { download?: any; href?: string; hreflang?: string; media?: string; ping?: string; referrerpolicy?: HTMLReferrerPolicy; rel?: string; target?: string; type?: string; // camelcase referrerPolicy?: HTMLReferrerPolicy; } interface AudioHTMLAttributes extends MediaHTMLAttributes {} interface AreaHTMLAttributes extends HTMLAttributes { alt?: string; coords?: string; download?: any; href?: string; hreflang?: string; ping?: string; referrerpolicy?: HTMLReferrerPolicy; rel?: string; shape?: 'rect' | 'circle' | 'poly' | 'default'; target?: string; // camelcase referrerPolicy?: HTMLReferrerPolicy; } interface BaseHTMLAttributes extends HTMLAttributes { href?: string; target?: string; } interface BlockquoteHTMLAttributes extends HTMLAttributes { cite?: string; } interface ButtonHTMLAttributes extends HTMLAttributes { autofocus?: boolean; disabled?: boolean; form?: string; formaction?: string; formenctype?: HTMLFormEncType; formmethod?: HTMLFormMethod; formnovalidate?: boolean; formtarget?: string; name?: string; type?: 'submit' | 'reset' | 'button'; value?: string; // camelcase formAction?: string; formEnctype?: HTMLFormEncType; formMethod?: HTMLFormMethod; formNoValidate?: boolean; formTarget?: string; } interface CanvasHTMLAttributes extends HTMLAttributes { width?: number | string; height?: number | string; } interface ColHTMLAttributes extends HTMLAttributes { span?: number | string; width?: number | string; } interface ColgroupHTMLAttributes extends HTMLAttributes { span?: number | string; } interface DataHTMLAttributes extends HTMLAttributes { value?: string | string[] | number; } interface DetailsHtmlAttributes extends HTMLAttributes { /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLDetailsElement/name) */ name?: string; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLDetailsElement/open) */ open?: boolean; } interface DialogHtmlAttributes extends HTMLAttributes { open?: boolean; } interface EmbedHTMLAttributes extends HTMLAttributes { height?: number | string; src?: string; type?: string; width?: number | string; } interface FieldsetHTMLAttributes extends HTMLAttributes { disabled?: boolean; form?: string; name?: string; } interface FormHTMLAttributes extends HTMLAttributes { acceptcharset?: string; action?: string; autocomplete?: string; encoding?: HTMLFormEncType; enctype?: HTMLFormEncType; method?: HTMLFormMethod; name?: string; novalidate?: boolean; target?: string; // camelcase acceptCharset?: string; noValidate?: boolean; } interface IframeHTMLAttributes extends HTMLAttributes { allow?: string; allowfullscreen?: boolean; height?: number | string; name?: string; referrerpolicy?: HTMLReferrerPolicy; sandbox?: HTMLIframeSandbox; src?: string; srcdoc?: string; width?: number | string; // camelcase referrerPolicy?: HTMLReferrerPolicy; } interface ImgHTMLAttributes extends HTMLAttributes { loading?: string; fetchpriority?: string; role?: string; alt?: string; crossorigin?: HTMLCrossorigin; decoding?: 'sync' | 'async' | 'auto'; height?: number | string; referrerpolicy?: HTMLReferrerPolicy; sizes?: string; src?: string; srcset?: string; width?: number | string; // camelcase crossOrigin?: HTMLCrossorigin; referrerPolicy?: HTMLReferrerPolicy; } interface InputHTMLAttributes extends HTMLAttributes { accept?: string; alt?: string; autocomplete?: string; autofocus?: boolean; capture?: boolean | string; checked?: boolean; crossorigin?: HTMLCrossorigin; disabled?: boolean; form?: string; formaction?: string; formenctype?: HTMLFormEncType; formmethod?: HTMLFormMethod; formnovalidate?: boolean; formtarget?: string; height?: number | string; list?: string; max?: number | string; maxlength?: number | string; min?: number | string; minlength?: number | string; multiple?: boolean; name?: string; pattern?: string; placeholder?: string; readonly?: boolean; required?: boolean; size?: number | string; src?: string; step?: number | string; type?: string; value?: string | string[] | number; width?: number | string; // camelcase crossOrigin?: HTMLCrossorigin; formAction?: string; autoComplete?: string; autoFocus?: boolean; formEnctype?: HTMLFormEncType; formMethod?: HTMLFormMethod; formNoValidate?: boolean; formTarget?: string; maxLength?: number | string; minLength?: number | string; readOnly?: boolean; } interface InsHTMLAttributes extends HTMLAttributes { cite?: string; dateTime?: string; } interface KeygenHTMLAttributes extends HTMLAttributes { autofocus?: boolean; challenge?: string; disabled?: boolean; form?: string; keytype?: string; keyparams?: string; name?: string; } interface LabelHTMLAttributes extends HTMLAttributes { htmlFor?: string; for?: string; form?: string; } interface LiHTMLAttributes extends HTMLAttributes { value?: number | string; } interface LinkHTMLAttributes extends HTMLAttributes { as?: HTMLLinkAs; crossorigin?: HTMLCrossorigin; disabled?: boolean; href?: string; hreflang?: string; integrity?: string; media?: string; referrerpolicy?: HTMLReferrerPolicy; rel?: string; sizes?: string; type?: string; // camelcase crossOrigin?: HTMLCrossorigin; referrerPolicy?: HTMLReferrerPolicy; } interface MapHTMLAttributes extends HTMLAttributes { name?: string; } interface MediaHTMLAttributes extends HTMLAttributes { autoplay?: boolean; controls?: boolean; crossorigin?: HTMLCrossorigin; loop?: boolean; mediagroup?: string; muted?: boolean; preload?: 'none' | 'metadata' | 'auto' | ''; src?: string; // camelcase crossOrigin?: HTMLCrossorigin; mediaGroup?: string; } interface MenuHTMLAttributes extends HTMLAttributes { label?: string; type?: 'context' | 'toolbar'; } interface MetaHTMLAttributes extends HTMLAttributes { charset?: string; content?: string; httpequiv?: string; name?: string; // camelcase httpEquiv?: string; } interface MeterHTMLAttributes extends HTMLAttributes { form?: string; high?: number | string; low?: number | string; max?: number | string; min?: number | string; optimum?: number | string; value?: string | string[] | number; } interface QuoteHTMLAttributes extends HTMLAttributes { cite?: string; } interface ObjectHTMLAttributes extends HTMLAttributes { data?: string; form?: string; height?: number | string; name?: string; type?: string; usemap?: string; width?: number | string; //camelcase useMap?: string; } interface OlHTMLAttributes extends HTMLAttributes { reversed?: boolean; start?: number | string; type?: '1' | 'a' | 'A' | 'i' | 'I'; } interface OptgroupHTMLAttributes extends HTMLAttributes { disabled?: boolean; label?: string; } interface OptionHTMLAttributes extends HTMLAttributes { disabled?: boolean; label?: string; selected?: boolean; value?: string | string[] | number; } interface OutputHTMLAttributes extends HTMLAttributes { form?: string; htmlFor?: string; for?: string; name?: string; } interface ParamHTMLAttributes extends HTMLAttributes { name?: string; value?: string | string[] | number; } interface ProgressHTMLAttributes extends HTMLAttributes { max?: number | string; value?: string | string[] | number; } interface ScriptHTMLAttributes extends HTMLAttributes { async?: boolean; charset?: string; crossorigin?: HTMLCrossorigin; defer?: boolean; integrity?: string; nomodule?: boolean; nonce?: string; referrerpolicy?: HTMLReferrerPolicy; src?: string; type?: string; // camelcase crossOrigin?: HTMLCrossorigin; noModule?: boolean; referrerPolicy?: HTMLReferrerPolicy; } interface SelectHTMLAttributes extends HTMLAttributes { autocomplete?: string; autofocus?: boolean; disabled?: boolean; form?: string; multiple?: boolean; name?: string; required?: boolean; size?: number | string; value?: string | string[] | number; } interface HTMLSlotElementAttributes extends HTMLAttributes { name?: string; } interface SourceHTMLAttributes extends HTMLAttributes { media?: string; sizes?: string; src?: string; srcset?: string; type?: string; } interface StyleHTMLAttributes extends HTMLAttributes { media?: string; nonce?: string; scoped?: boolean; type?: string; } interface TdHTMLAttributes extends HTMLAttributes { colspan?: number | string; headers?: string; rowspan?: number | string; // camelcase colSpan?: number | string; rowSpan?: number | string; } interface TextareaHTMLAttributes extends HTMLAttributes { autocomplete?: string; autofocus?: boolean; cols?: number | string; dirname?: string; disabled?: boolean; form?: string; maxlength?: number | string; minlength?: number | string; name?: string; placeholder?: string; readonly?: boolean; required?: boolean; rows?: number | string; value?: string | string[] | number; wrap?: 'hard' | 'soft' | 'off'; // camelcase maxLength?: number | string; minLength?: number | string; readOnly?: boolean; } interface ThHTMLAttributes extends HTMLAttributes { colspan?: number | string; headers?: string; rowspan?: number | string; // camelcase colSpan?: number | string; rowSpan?: number | string; } interface TimeHTMLAttributes extends HTMLAttributes { datetime?: string; dateTime?: string; } interface TrackHTMLAttributes extends HTMLAttributes { default?: boolean; kind?: 'subtitles' | 'captions' | 'descriptions' | 'chapters' | 'metadata'; label?: string; src?: string; srclang?: string; } interface VideoHTMLAttributes extends MediaHTMLAttributes { height?: number | string; playsinline?: boolean; poster?: string; width?: number | string; } // SVG Elements 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?: string; lang?: string; tabIndex?: number | string; tabindex?: number | string; // Other HTML properties supported by SVG elements in browsers role?: AriaRole | undefined; } interface StylableSVGAttributes { class?: string; style?: CSS; } interface TransformableSVGAttributes { transform?: string; } // Fix when namespaces introduced // interface XLinkSVGAttributes { // xlinkActuate?: string; // xlinkArcrole?: string; // xlinkHref?: string; // xlinkRole?: string; // xlinkShow?: string; // xlinkTitle?: string; // xlinkType?: string; // } interface ConditionalProcessingSVGAttributes { requiredExtensions?: string; requiredFeatures?: string; systemLanguage?: string; } interface ExternalResourceSVGAttributes { externalResourcesRequired?: 'true' | 'false'; } interface AnimationTimingSVGAttributes { begin?: string; dur?: string; end?: string; min?: string; max?: string; restart?: 'always' | 'whenNotActive' | 'never'; repeatCount?: number | 'indefinite'; repeatDur?: string; fill?: 'freeze' | 'remove'; } interface AnimationValueSVGAttributes { calcMode?: 'discrete' | 'linear' | 'paced' | 'spline'; values?: string; keyTimes?: string; keySplines?: string; from?: number | string; to?: number | string; by?: number | string; } interface AnimationAdditionSVGAttributes { attributeName?: string; additive?: 'replace' | 'sum'; accumulate?: 'none' | 'sum'; } interface AnimationAttributeTargetSVGAttributes { attributeName?: string; attributeType?: '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'?: number | string; clip?: string; 'clip-path'?: string; 'clip-rule'?: 'nonzero' | 'evenodd' | 'inherit'; color?: string; 'color-interpolation'?: 'auto' | 'sRGB' | 'linearRGB' | 'inherit'; 'color-interpolation-filters'?: 'auto' | 'sRGB' | 'linearRGB' | 'inherit'; 'color-profile'?: string; 'color-rendering'?: 'auto' | 'optimizeSpeed' | 'optimizeQuality' | 'inherit'; cursor?: string; direction?: 'ltr' | 'rtl' | 'inherit'; display?: string; 'dominant-baseline'?: | 'auto' | 'text-bottom' | 'alphabetic' | 'ideographic' | 'middle' | 'central' | 'mathematical' | 'hanging' | 'text-top' | 'inherit'; 'enable-background'?: string; fill?: string; 'fill-opacity'?: number | string | 'inherit'; 'fill-rule'?: 'nonzero' | 'evenodd' | 'inherit'; filter?: string; 'flood-color'?: string; 'flood-opacity'?: number | string | 'inherit'; 'font-family'?: string; 'font-size'?: string; 'font-size-adjust'?: number | string; 'font-stretch'?: string; 'font-style'?: 'normal' | 'italic' | 'oblique' | 'inherit'; 'font-variant'?: string; 'font-weight'?: number | string; 'glyph-orientation-horizontal'?: string; 'glyph-orientation-vertical'?: string; 'image-rendering'?: 'auto' | 'optimizeQuality' | 'optimizeSpeed' | 'inherit'; kerning?: string; 'letter-spacing'?: number | string; 'lighting-color'?: string; 'marker-end'?: string; 'marker-mid'?: string; 'marker-start'?: string; mask?: string; opacity?: number | string | 'inherit'; overflow?: 'visible' | 'hidden' | 'scroll' | 'auto' | 'inherit'; 'pointer-events'?: | 'bounding-box' | 'visiblePainted' | 'visibleFill' | 'visibleStroke' | 'visible' | 'painted' | 'color' | 'fill' | 'stroke' | 'all' | 'none' | 'inherit'; 'shape-rendering'?: 'auto' | 'optimizeSpeed' | 'crispEdges' | 'geometricPrecision' | 'inherit'; 'stop-color'?: string; 'stop-opacity'?: number | string | 'inherit'; stroke?: string; 'stroke-dasharray'?: string; 'stroke-dashoffset'?: number | string; 'stroke-linecap'?: 'butt' | 'round' | 'square' | 'inherit'; 'stroke-linejoin'?: 'arcs' | 'bevel' | 'miter' | 'miter-clip' | 'round' | 'inherit'; 'stroke-miterlimit'?: number | string | 'inherit'; 'stroke-opacity'?: number | string | 'inherit'; 'stroke-width'?: number | string; 'text-anchor'?: 'start' | 'middle' | 'end' | 'inherit'; 'text-decoration'?: 'none' | 'underline' | 'overline' | 'line-through' | 'blink' | 'inherit'; 'text-rendering'?: | 'auto' | 'optimizeSpeed' | 'optimizeLegibility' | 'geometricPrecision' | 'inherit'; 'unicode-bidi'?: string; visibility?: 'visible' | 'hidden' | 'collapse' | 'inherit'; 'word-spacing'?: number | string; 'writing-mode'?: '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?: number | string; y?: number | string; width?: number | string; height?: number | string; result?: string; } interface SingleInputFilterSVGAttributes { in?: string; } interface DoubleInputFilterSVGAttributes { in?: string; in2?: string; } interface FitToViewBoxSVGAttributes { viewBox?: string; preserveAspectRatio?: SVGPreserveAspectRatio; } interface GradientElementSVGAttributes extends CoreSVGAttributes, // XLinkSVGAttributes, ExternalResourceSVGAttributes, StylableSVGAttributes { gradientUnits?: SVGUnits; gradientTransform?: string; spreadMethod?: 'pad' | 'reflect' | 'repeat'; } 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?: string; } 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' > {} 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?: 'disable' | 'magnify'; } interface AnimateSVGAttributes extends AnimationElementSVGAttributes, // XLinkSVGAttributes, AnimationAttributeTargetSVGAttributes, AnimationTimingSVGAttributes, AnimationValueSVGAttributes, AnimationAdditionSVGAttributes, Pick {} interface AnimateMotionSVGAttributes extends AnimationElementSVGAttributes, // XLinkSVGAttributes, AnimationTimingSVGAttributes, AnimationValueSVGAttributes, AnimationAdditionSVGAttributes { path?: string; keyPoints?: string; rotate?: number | string | 'auto' | 'auto-reverse'; origin?: 'default'; } interface AnimateTransformSVGAttributes extends AnimationElementSVGAttributes, // XLinkSVGAttributes, AnimationAttributeTargetSVGAttributes, AnimationTimingSVGAttributes, AnimationValueSVGAttributes, AnimationAdditionSVGAttributes { type?: 'translate' | 'scale' | 'rotate' | 'skewX' | 'skewY'; } interface CircleSVGAttributes extends GraphicsElementSVGAttributes, ShapeElementSVGAttributes, ConditionalProcessingSVGAttributes, StylableSVGAttributes, TransformableSVGAttributes { cx?: number | string; cy?: number | string; r?: number | string; } interface ClipPathSVGAttributes extends CoreSVGAttributes, ConditionalProcessingSVGAttributes, ExternalResourceSVGAttributes, StylableSVGAttributes, TransformableSVGAttributes, Pick { clipPathUnits?: SVGUnits; } interface DefsSVGAttributes extends ContainerElementSVGAttributes, ConditionalProcessingSVGAttributes, ExternalResourceSVGAttributes, StylableSVGAttributes, TransformableSVGAttributes {} interface DescSVGAttributes extends CoreSVGAttributes, StylableSVGAttributes {} interface EllipseSVGAttributes extends GraphicsElementSVGAttributes, ShapeElementSVGAttributes, ConditionalProcessingSVGAttributes, ExternalResourceSVGAttributes, StylableSVGAttributes, TransformableSVGAttributes { cx?: number | string; cy?: number | string; rx?: number | string; ry?: number | string; } interface FeBlendSVGAttributes extends FilterPrimitiveElementSVGAttributes, DoubleInputFilterSVGAttributes, StylableSVGAttributes { mode?: 'normal' | 'multiply' | 'screen' | 'darken' | 'lighten'; } interface FeColorMatrixSVGAttributes extends FilterPrimitiveElementSVGAttributes, SingleInputFilterSVGAttributes, StylableSVGAttributes { type?: 'matrix' | 'saturate' | 'hueRotate' | 'luminanceToAlpha'; values?: string; } interface FeComponentTransferSVGAttributes extends FilterPrimitiveElementSVGAttributes, SingleInputFilterSVGAttributes, StylableSVGAttributes {} interface FeCompositeSVGAttributes extends FilterPrimitiveElementSVGAttributes, DoubleInputFilterSVGAttributes, StylableSVGAttributes { operator?: 'over' | 'in' | 'out' | 'atop' | 'xor' | 'arithmetic'; k1?: number | string; k2?: number | string; k3?: number | string; k4?: number | string; } interface FeConvolveMatrixSVGAttributes extends FilterPrimitiveElementSVGAttributes, SingleInputFilterSVGAttributes, StylableSVGAttributes { order?: number | string; kernelMatrix?: string; divisor?: number | string; bias?: number | string; targetX?: number | string; targetY?: number | string; edgeMode?: 'duplicate' | 'wrap' | 'none'; kernelUnitLength?: number | string; preserveAlpha?: 'true' | 'false'; } interface FeDiffuseLightingSVGAttributes extends FilterPrimitiveElementSVGAttributes, SingleInputFilterSVGAttributes, StylableSVGAttributes, Pick { surfaceScale?: number | string; diffuseConstant?: number | string; kernelUnitLength?: number | string; } interface FeDisplacementMapSVGAttributes extends FilterPrimitiveElementSVGAttributes, DoubleInputFilterSVGAttributes, StylableSVGAttributes { scale?: number | string; xChannelSelector?: 'R' | 'G' | 'B' | 'A'; yChannelSelector?: 'R' | 'G' | 'B' | 'A'; } interface FeDistantLightSVGAttributes extends LightSourceElementSVGAttributes { azimuth?: number | string; elevation?: number | string; } interface FeFloodSVGAttributes extends FilterPrimitiveElementSVGAttributes, StylableSVGAttributes, Pick {} interface FeFuncSVGAttributes extends CoreSVGAttributes { type?: 'identity' | 'table' | 'discrete' | 'linear' | 'gamma'; tableValues?: string; slope?: number | string; intercept?: number | string; amplitude?: number | string; exponent?: number | string; offset?: number | string; } interface FeGaussianBlurSVGAttributes extends FilterPrimitiveElementSVGAttributes, SingleInputFilterSVGAttributes, StylableSVGAttributes { stdDeviation?: number | string; } interface FeImageSVGAttributes extends FilterPrimitiveElementSVGAttributes, // XLinkSVGAttributes, ExternalResourceSVGAttributes, StylableSVGAttributes { preserveAspectRatio: SVGPreserveAspectRatio; } interface FeMergeSVGAttributes extends FilterPrimitiveElementSVGAttributes, StylableSVGAttributes {} interface FeMergeNodeSVGAttributes extends CoreSVGAttributes, SingleInputFilterSVGAttributes {} interface FeMorphologySVGAttributes extends FilterPrimitiveElementSVGAttributes, SingleInputFilterSVGAttributes, StylableSVGAttributes { operator?: 'erode' | 'dilate'; radius?: number | string; } interface FeOffsetSVGAttributes extends FilterPrimitiveElementSVGAttributes, SingleInputFilterSVGAttributes, StylableSVGAttributes { dx?: number | string; dy?: number | string; } interface FePointLightSVGAttributes extends LightSourceElementSVGAttributes { x?: number | string; y?: number | string; z?: number | string; } interface FeSpecularLightingSVGAttributes extends FilterPrimitiveElementSVGAttributes, SingleInputFilterSVGAttributes, StylableSVGAttributes, Pick { surfaceScale?: string; specularConstant?: string; specularExponent?: string; kernelUnitLength?: number | string; } interface FeSpotLightSVGAttributes extends LightSourceElementSVGAttributes { x?: number | string; y?: number | string; z?: number | string; pointsAtX?: number | string; pointsAtY?: number | string; pointsAtZ?: number | string; specularExponent?: number | string; limitingConeAngle?: number | string; } interface FeTileSVGAttributes extends FilterPrimitiveElementSVGAttributes, SingleInputFilterSVGAttributes, StylableSVGAttributes {} interface FeTurbulanceSVGAttributes extends FilterPrimitiveElementSVGAttributes, StylableSVGAttributes { baseFrequency?: number | string; numOctaves?: number | string; seed?: number | string; stitchTiles?: 'stitch' | 'noStitch'; type?: 'fractalNoise' | 'turbulence'; } interface FilterSVGAttributes extends CoreSVGAttributes, // XLinkSVGAttributes, ExternalResourceSVGAttributes, StylableSVGAttributes { filterUnits?: SVGUnits; primitiveUnits?: SVGUnits; x?: number | string; y?: number | string; width?: number | string; height?: number | string; filterRes?: number | string; } interface ForeignObjectSVGAttributes extends NewViewportSVGAttributes, ConditionalProcessingSVGAttributes, ExternalResourceSVGAttributes, StylableSVGAttributes, TransformableSVGAttributes, Pick { x?: number | string; y?: number | string; width?: number | string; height?: number | string; } interface GSVGAttributes extends ContainerElementSVGAttributes, ConditionalProcessingSVGAttributes, ExternalResourceSVGAttributes, StylableSVGAttributes, TransformableSVGAttributes, Pick {} interface ImageSVGAttributes extends NewViewportSVGAttributes, GraphicsElementSVGAttributes, ConditionalProcessingSVGAttributes, // XLinkSVGAttributes, StylableSVGAttributes, TransformableSVGAttributes, Pick { x?: number | string; y?: number | string; width?: number | string; height?: number | string; preserveAspectRatio?: ImagePreserveAspectRatio; } interface LineSVGAttributes extends GraphicsElementSVGAttributes, ShapeElementSVGAttributes, ConditionalProcessingSVGAttributes, ExternalResourceSVGAttributes, StylableSVGAttributes, TransformableSVGAttributes, Pick { x1?: number | string; y1?: number | string; x2?: number | string; y2?: number | string; } interface LinearGradientSVGAttributes extends GradientElementSVGAttributes { x1?: number | string; x2?: number | string; y1?: number | string; y2?: number | string; } interface MarkerSVGAttributes extends ContainerElementSVGAttributes, ExternalResourceSVGAttributes, StylableSVGAttributes, FitToViewBoxSVGAttributes, Pick { markerUnits?: 'strokeWidth' | 'userSpaceOnUse'; refX?: number | string; refY?: number | string; markerWidth?: number | string; markerHeight?: number | string; orient?: string; } interface MaskSVGAttributes extends Omit, 'opacity' | 'filter'>, ConditionalProcessingSVGAttributes, ExternalResourceSVGAttributes, StylableSVGAttributes { maskUnits?: SVGUnits; maskContentUnits?: SVGUnits; x?: number | string; y?: number | string; width?: number | string; height?: number | string; } interface MetadataSVGAttributes extends CoreSVGAttributes {} interface PathSVGAttributes extends GraphicsElementSVGAttributes, ShapeElementSVGAttributes, ConditionalProcessingSVGAttributes, ExternalResourceSVGAttributes, StylableSVGAttributes, TransformableSVGAttributes, Pick { d?: string; pathLength?: number | string; } interface PatternSVGAttributes extends ContainerElementSVGAttributes, ConditionalProcessingSVGAttributes, // XLinkSVGAttributes, ExternalResourceSVGAttributes, StylableSVGAttributes, FitToViewBoxSVGAttributes, Pick { x?: number | string; y?: number | string; width?: number | string; height?: number | string; patternUnits?: SVGUnits; patternContentUnits?: SVGUnits; patternTransform?: string; } interface PolygonSVGAttributes extends GraphicsElementSVGAttributes, ShapeElementSVGAttributes, ConditionalProcessingSVGAttributes, ExternalResourceSVGAttributes, StylableSVGAttributes, TransformableSVGAttributes, Pick { points?: string; } interface PolylineSVGAttributes extends GraphicsElementSVGAttributes, ShapeElementSVGAttributes, ConditionalProcessingSVGAttributes, ExternalResourceSVGAttributes, StylableSVGAttributes, TransformableSVGAttributes, Pick { points?: string; } interface RadialGradientSVGAttributes extends GradientElementSVGAttributes { cx?: number | string; cy?: number | string; r?: number | string; fx?: number | string; fy?: number | string; } interface RectSVGAttributes extends GraphicsElementSVGAttributes, ShapeElementSVGAttributes, ConditionalProcessingSVGAttributes, ExternalResourceSVGAttributes, StylableSVGAttributes, TransformableSVGAttributes { x?: number | string; y?: number | string; width?: number | string; height?: number | string; rx?: number | string; ry?: number | string; } interface StopSVGAttributes extends CoreSVGAttributes, StylableSVGAttributes, Pick { offset?: number | string; } interface SvgSVGAttributes extends ContainerElementSVGAttributes, NewViewportSVGAttributes, ConditionalProcessingSVGAttributes, ExternalResourceSVGAttributes, StylableSVGAttributes, FitToViewBoxSVGAttributes, ZoomAndPanSVGAttributes, Pick { xmlns?: string; version?: string; 'base-profile'?: string; x?: number | string; y?: number | string; width?: number | string; height?: number | string; contentScriptType?: string; contentStyleType?: string; } 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?: number | string; y?: number | string; dx?: number | string; dy?: number | string; rotate?: number | string; textLength?: number | string; lengthAdjust?: 'spacing' | 'spacingAndGlyphs'; } interface TextPathSVGAttributes extends TextContentElementSVGAttributes, ConditionalProcessingSVGAttributes, // XLinkSVGAttributes, ExternalResourceSVGAttributes, StylableSVGAttributes, Pick< PresentationSVGAttributes, 'alignment-baseline' | 'baseline-shift' | 'display' | 'visibility' > { startOffset?: number | string; method?: 'align' | 'stretch'; spacing?: 'auto' | 'exact'; } interface TSpanSVGAttributes extends TextContentElementSVGAttributes, ConditionalProcessingSVGAttributes, ExternalResourceSVGAttributes, StylableSVGAttributes, Pick< PresentationSVGAttributes, 'alignment-baseline' | 'baseline-shift' | 'display' | 'visibility' > { x?: number | string; y?: number | string; dx?: number | string; dy?: number | string; rotate?: number | string; textLength?: number | string; lengthAdjust?: 'spacing' | 'spacingAndGlyphs'; } interface UseSVGAttributes extends GraphicsElementSVGAttributes, ConditionalProcessingSVGAttributes, // XLinkSVGAttributes, ExternalResourceSVGAttributes, StylableSVGAttributes, TransformableSVGAttributes { x?: number | string; y?: number | string; width?: number | string; height?: number | string; fill?: number | string; } interface ViewSVGAttributes extends CoreSVGAttributes, ExternalResourceSVGAttributes, FitToViewBoxSVGAttributes, ZoomAndPanSVGAttributes { viewTarget?: string; } interface IntrinsicElements { // HTML a: AnchorHTMLAttributes; abbr: HTMLAttributes; address: HTMLAttributes; area: AreaHTMLAttributes; article: HTMLAttributes; aside: HTMLAttributes; audio: AudioHTMLAttributes; b: HTMLAttributes; base: BaseHTMLAttributes; bdi: HTMLAttributes; bdo: HTMLAttributes; big: 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; keygen: KeygenHTMLAttributes; label: LabelHTMLAttributes; legend: HTMLAttributes; li: LiHTMLAttributes; link: LinkHTMLAttributes; main: HTMLAttributes; map: MapHTMLAttributes; mark: HTMLAttributes; menu: MenuHTMLAttributes; menuitem: HTMLAttributes; meta: MetaHTMLAttributes; meter: MeterHTMLAttributes; nav: HTMLAttributes; noindex: HTMLAttributes; noscript: HTMLAttributes; object: ObjectHTMLAttributes; ol: OlHTMLAttributes; optgroup: OptgroupHTMLAttributes; option: OptionHTMLAttributes; output: OutputHTMLAttributes; p: HTMLAttributes; param: ParamHTMLAttributes; 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; 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; template: HTMLAttributes; // SVG svg: SvgSVGAttributes; 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; 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; path: PathSVGAttributes; pattern: PatternSVGAttributes; polygon: PolygonSVGAttributes; polyline: PolylineSVGAttributes; radialGradient: RadialGradientSVGAttributes; rect: RectSVGAttributes; stop: StopSVGAttributes; switch: SwitchSVGAttributes; symbol: SymbolSVGAttributes; text: TextSVGAttributes; textPath: TextPathSVGAttributes; tspan: TSpanSVGAttributes; use: UseSVGAttributes; view: ViewSVGAttributes; } type AriaRole = | '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' | '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' | (string & {}); type Booleanish = boolean | 'true' | 'false'; interface AriaAttributes { /** Identifies the currently active element when DOM focus is on a composite widget, textbox, group, or application. */ 'aria-activedescendant'?: string | undefined; /** 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'?: Booleanish | undefined; /** * 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' | undefined; /** 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'?: Booleanish | undefined; /** * Indicates the current "checked" state of checkboxes, radio buttons, and other widgets. * @see aria-pressed @see aria-selected. */ 'aria-checked'?: boolean | 'false' | 'mixed' | 'true' | undefined; /** * Defines the total number of columns in a table, grid, or treegrid. * @see aria-colindex. */ 'aria-colcount'?: number | undefined; /** * 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 | undefined; /** * 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 | undefined; /** * Identifies the element (or elements) whose contents or presence are controlled by the current element. * @see aria-owns. */ 'aria-controls'?: string | undefined; /** 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' | undefined; /** * Identifies the element (or elements) that describes the object. * @see aria-labelledby */ 'aria-describedby'?: string | undefined; /** * Identifies the element that provides a detailed, extended description for the object. * @see aria-describedby. */ 'aria-details'?: string | undefined; /** * Indicates that the element is perceivable but disabled, so it is not editable or otherwise operable. * @see aria-hidden @see aria-readonly. */ 'aria-disabled'?: Booleanish | undefined; /** * 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' | undefined; /** * Identifies the element that provides an error message for the object. * @see aria-invalid @see aria-describedby. */ 'aria-errormessage'?: string | undefined; /** Indicates whether the element, or another grouping element it controls, is currently expanded or collapsed. */ 'aria-expanded'?: Booleanish | undefined; /** * 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 | undefined; /** * Indicates an element's "grabbed" state in a drag-and-drop operation. * @deprecated in ARIA 1.1 */ 'aria-grabbed'?: Booleanish | undefined; /** 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' | undefined; /** * Indicates whether the element is exposed to an accessibility API. * @see aria-disabled. */ 'aria-hidden'?: Booleanish | undefined; /** * Indicates the entered value does not conform to the format expected by the application. * @see aria-errormessage. */ 'aria-invalid'?: boolean | 'false' | 'true' | 'grammar' | 'spelling' | undefined; /** Indicates keyboard shortcuts that an author has implemented to activate or give focus to an element. */ 'aria-keyshortcuts'?: string | undefined; /** * Defines a string value that labels the current element. * @see aria-labelledby. */ 'aria-label'?: string | undefined; /** * Identifies the element (or elements) that labels the current element. * @see aria-describedby. */ 'aria-labelledby'?: string | undefined; /** Defines the hierarchical level of an element within a structure. */ 'aria-level'?: number | undefined; /** 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' | undefined; /** Indicates whether an element is modal when displayed. */ 'aria-modal'?: Booleanish | undefined; /** Indicates whether a text box accepts multiple lines of input or only a single line. */ 'aria-multiline'?: Booleanish | undefined; /** Indicates that the user may select more than one item from the current selectable descendants. */ 'aria-multiselectable'?: Booleanish | undefined; /** Indicates whether the element's orientation is horizontal, vertical, or unknown/ambiguous. */ 'aria-orientation'?: 'horizontal' | 'vertical' | undefined; /** * 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 | undefined; /** * 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 | undefined; /** * 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 | undefined; /** * Indicates the current "pressed" state of toggle buttons. * @see aria-checked @see aria-selected. */ 'aria-pressed'?: boolean | 'false' | 'mixed' | 'true' | undefined; /** * Indicates that the element is not editable, but is otherwise operable. * @see aria-disabled. */ 'aria-readonly'?: Booleanish | undefined; /** * 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' | undefined; /** Indicates that user input is required on the element before a form may be submitted. */ 'aria-required'?: Booleanish | undefined; /** Defines a human-readable, author-localized description for the role of an element. */ 'aria-roledescription'?: string | undefined; /** * Defines the total number of rows in a table, grid, or treegrid. * @see aria-rowindex. */ 'aria-rowcount'?: number | undefined; /** * 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 | undefined; /** * 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 | undefined; /** * Indicates the current "selected" state of various widgets. * @see aria-checked @see aria-pressed. */ 'aria-selected'?: Booleanish | undefined; /** * 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 | undefined; /** Indicates if items in a table or grid are sorted in ascending or descending order. */ 'aria-sort'?: 'none' | 'ascending' | 'descending' | 'other' | undefined; /** Defines the maximum allowed value for a range widget. */ 'aria-valuemax'?: number | undefined; /** Defines the minimum allowed value for a range widget. */ 'aria-valuemin'?: number | undefined; /** * Defines the current value for a range widget. * @see aria-valuetext. */ 'aria-valuenow'?: number | undefined; /** Defines the human readable text alternative of aria-valuenow for a range widget. */ 'aria-valuetext'?: string | undefined; } } export {};