UNPKG

ionicons

Version:

Premium icons for Ionic.

1,344 lines (1,234 loc) 41.3 kB
/** * This file gets copied to all distributions of stencil component collections. * - no imports */ export interface ComponentWillLoad { /** * The component is about to load and it has not * rendered yet. * * This is the best place to make any data updates * before the first render. * * componentWillLoad will only be called once. */ componentWillLoad: () => Promise<void> | void; } export interface ComponentDidLoad { /** * The component has loaded and has already rendered. * * Updating data in this method will cause the * component to re-render. * * componentDidLoad will only be called once. */ componentDidLoad: () => void; } export interface ComponentWillUpdate { /** * The component is about to update and re-render. * * Called multiple times throughout the life of * the component as it updates. * * componentWillUpdate is not called on the first render. */ componentWillUpdate: () => Promise<void> | void; } export interface ComponentDidUpdate { /** * The component has just re-rendered. * * Called multiple times throughout the life of * the component as it updates. * * componentWillUpdate is not called on the * first render. */ componentDidUpdate: () => void; } export interface ComponentDidUnload { /** * The component did unload and the element * will be destroyed. */ componentDidUnload: () => void; } export interface ComponentInstance { connectedCallback?: () => void; disconnectedCallback?: () => void; /** * The component is about to load and it has not * rendered yet. * * This is the best place to make any data updates * before the first render. * * componentWillLoad will only be called once. */ componentWillLoad?: () => Promise<void> | void; /** * The component has loaded and has already rendered. * * Updating data in this method will cause the * component to re-render. * * componentDidLoad will only be called once. */ componentDidLoad?: () => void; /** * The component is about to update and re-render. * * Called multiple times throughout the life of * the component as it updates. * * componentWillUpdate is not called on the first render. */ componentWillUpdate?: () => Promise<void> | void; /** * The component has just re-rendered. * * Called multiple times throughout the life of * the component as it updates. * * componentWillUpdate is not called on the * first render. */ componentDidUpdate?: () => void; /** * The component did unload and the element * will be destroyed. */ componentDidUnload?: () => void; render?: () => any; /** * Used to dynamically set host element attributes. * Should be placed directly above render() */ hostData?: () => { class?: {[className: string]: boolean}; style?: any; [attrName: string]: any; }; [memberName: string]: any; } /** * General types important to applications using stencil built components */ export interface EventEmitter<T= any> { emit: (data?: T) => CustomEvent<T>; } export interface QueueApi { tick: (cb: RafCallback) => void; read: (cb: RafCallback) => void; write: (cb: RafCallback) => void; clear?: () => void; flush?: (cb?: () => void) => void; } export interface RafCallback { (timeStamp: number): void; } export interface HTMLStencilElement extends HTMLElement { componentOnReady(): Promise<this>; forceUpdate(): void; } declare namespace LocalJSX { export interface Element {} export interface IntrinsicElements {} } export { LocalJSX as JSX }; export namespace JSXBase { export interface IntrinsicElements { // Stencil elements slot: JSXBase.SlotAttributes; // HTML a: JSXBase.AnchorHTMLAttributes<HTMLAnchorElement>; abbr: JSXBase.HTMLAttributes; address: JSXBase.HTMLAttributes; area: JSXBase.AreaHTMLAttributes<HTMLAreaElement>; article: JSXBase.HTMLAttributes; aside: JSXBase.HTMLAttributes; audio: JSXBase.AudioHTMLAttributes<HTMLAudioElement>; b: JSXBase.HTMLAttributes; base: JSXBase.BaseHTMLAttributes<HTMLBaseElement>; bdi: JSXBase.HTMLAttributes; bdo: JSXBase.HTMLAttributes; big: JSXBase.HTMLAttributes; blockquote: JSXBase.BlockquoteHTMLAttributes<HTMLQuoteElement>; body: JSXBase.HTMLAttributes<HTMLBodyElement>; br: JSXBase.HTMLAttributes<HTMLBRElement>; button: JSXBase.ButtonHTMLAttributes<HTMLButtonElement>; canvas: JSXBase.CanvasHTMLAttributes<HTMLCanvasElement>; caption: JSXBase.HTMLAttributes<HTMLTableCaptionElement>; cite: JSXBase.HTMLAttributes; code: JSXBase.HTMLAttributes; col: JSXBase.ColHTMLAttributes<HTMLTableColElement>; colgroup: JSXBase.ColgroupHTMLAttributes<HTMLTableColElement>; data: JSXBase.HTMLAttributes<HTMLDataElement>; datalist: JSXBase.HTMLAttributes<HTMLDataListElement>; dd: JSXBase.HTMLAttributes; del: JSXBase.DelHTMLAttributes<HTMLModElement>; details: JSXBase.DetailsHTMLAttributes<HTMLElement>; dfn: JSXBase.HTMLAttributes; dialog: JSXBase.DialogHTMLAttributes<HTMLDialogElement>; div: JSXBase.HTMLAttributes<HTMLDivElement>; dl: JSXBase.HTMLAttributes<HTMLDListElement>; dt: JSXBase.HTMLAttributes; em: JSXBase.HTMLAttributes; embed: JSXBase.EmbedHTMLAttributes<HTMLEmbedElement>; fieldset: JSXBase.FieldsetHTMLAttributes<HTMLFieldSetElement>; figcaption: JSXBase.HTMLAttributes; figure: JSXBase.HTMLAttributes; footer: JSXBase.HTMLAttributes; form: JSXBase.FormHTMLAttributes<HTMLFormElement>; h1: JSXBase.HTMLAttributes<HTMLHeadingElement>; h2: JSXBase.HTMLAttributes<HTMLHeadingElement>; h3: JSXBase.HTMLAttributes<HTMLHeadingElement>; h4: JSXBase.HTMLAttributes<HTMLHeadingElement>; h5: JSXBase.HTMLAttributes<HTMLHeadingElement>; h6: JSXBase.HTMLAttributes<HTMLHeadingElement>; head: JSXBase.HTMLAttributes<HTMLHeadElement>; header: JSXBase.HTMLAttributes; hgroup: JSXBase.HTMLAttributes; hr: JSXBase.HTMLAttributes<HTMLHRElement>; html: JSXBase.HTMLAttributes<HTMLHtmlElement>; i: JSXBase.HTMLAttributes; iframe: JSXBase.IframeHTMLAttributes<HTMLIFrameElement>; img: JSXBase.ImgHTMLAttributes<HTMLImageElement>; input: JSXBase.InputHTMLAttributes<HTMLInputElement>; ins: JSXBase.InsHTMLAttributes<HTMLModElement>; kbd: JSXBase.HTMLAttributes; keygen: JSXBase.KeygenHTMLAttributes<HTMLElement>; label: JSXBase.LabelHTMLAttributes<HTMLLabelElement>; legend: JSXBase.HTMLAttributes<HTMLLegendElement>; li: JSXBase.LiHTMLAttributes<HTMLLIElement>; link: JSXBase.LinkHTMLAttributes<HTMLLinkElement>; main: JSXBase.HTMLAttributes; map: JSXBase.MapHTMLAttributes<HTMLMapElement>; mark: JSXBase.HTMLAttributes; menu: JSXBase.MenuHTMLAttributes<HTMLMenuElement>; menuitem: JSXBase.HTMLAttributes; meta: JSXBase.MetaHTMLAttributes<HTMLMetaElement>; meter: JSXBase.MeterHTMLAttributes<HTMLMeterElement>; nav: JSXBase.HTMLAttributes; noscript: JSXBase.HTMLAttributes; object: JSXBase.ObjectHTMLAttributes<HTMLObjectElement>; ol: JSXBase.OlHTMLAttributes<HTMLOListElement>; optgroup: JSXBase.OptgroupHTMLAttributes<HTMLOptGroupElement>; option: JSXBase.OptionHTMLAttributes<HTMLOptionElement>; output: JSXBase.OutputHTMLAttributes<HTMLOutputElement>; p: JSXBase.HTMLAttributes<HTMLParagraphElement>; param: JSXBase.ParamHTMLAttributes<HTMLParamElement>; picture: JSXBase.HTMLAttributes<HTMLPictureElement>; pre: JSXBase.HTMLAttributes<HTMLPreElement>; progress: JSXBase.ProgressHTMLAttributes<HTMLProgressElement>; q: JSXBase.QuoteHTMLAttributes<HTMLQuoteElement>; rp: JSXBase.HTMLAttributes; rt: JSXBase.HTMLAttributes; ruby: JSXBase.HTMLAttributes; s: JSXBase.HTMLAttributes; samp: JSXBase.HTMLAttributes; script: JSXBase.ScriptHTMLAttributes<HTMLScriptElement>; section: JSXBase.HTMLAttributes; select: JSXBase.SelectHTMLAttributes<HTMLSelectElement>; small: JSXBase.HTMLAttributes; source: JSXBase.SourceHTMLAttributes<HTMLSourceElement>; span: JSXBase.HTMLAttributes<HTMLSpanElement>; strong: JSXBase.HTMLAttributes; style: JSXBase.StyleHTMLAttributes<HTMLStyleElement>; sub: JSXBase.HTMLAttributes; summary: JSXBase.HTMLAttributes; sup: JSXBase.HTMLAttributes; table: JSXBase.TableHTMLAttributes<HTMLTableElement>; tbody: JSXBase.HTMLAttributes<HTMLTableSectionElement>; td: JSXBase.TdHTMLAttributes<HTMLTableDataCellElement>; textarea: JSXBase.TextareaHTMLAttributes<HTMLTextAreaElement>; tfoot: JSXBase.HTMLAttributes<HTMLTableSectionElement>; th: JSXBase.ThHTMLAttributes<HTMLTableHeaderCellElement>; thead: JSXBase.HTMLAttributes<HTMLTableSectionElement>; time: JSXBase.TimeHTMLAttributes<HTMLTimeElement>; title: JSXBase.HTMLAttributes<HTMLTitleElement>; tr: JSXBase.HTMLAttributes<HTMLTableRowElement>; track: JSXBase.TrackHTMLAttributes<HTMLTrackElement>; u: JSXBase.HTMLAttributes; ul: JSXBase.HTMLAttributes<HTMLUListElement>; 'var': JSXBase.HTMLAttributes; video: JSXBase.VideoHTMLAttributes<HTMLVideoElement>; wbr: JSXBase.HTMLAttributes; // SVG animate: JSXBase.SVGAttributes; circle: JSXBase.SVGAttributes; clipPath: JSXBase.SVGAttributes; defs: JSXBase.SVGAttributes; desc: JSXBase.SVGAttributes; ellipse: JSXBase.SVGAttributes; feBlend: JSXBase.SVGAttributes; feColorMatrix: JSXBase.SVGAttributes; feComponentTransfer: JSXBase.SVGAttributes; feComposite: JSXBase.SVGAttributes; feConvolveMatrix: JSXBase.SVGAttributes; feDiffuseLighting: JSXBase.SVGAttributes; feDisplacementMap: JSXBase.SVGAttributes; feDistantLight: JSXBase.SVGAttributes; feDropShadow: JSXBase.SVGAttributes; feFlood: JSXBase.SVGAttributes; feFuncA: JSXBase.SVGAttributes; feFuncB: JSXBase.SVGAttributes; feFuncG: JSXBase.SVGAttributes; feFuncR: JSXBase.SVGAttributes; feGaussianBlur: JSXBase.SVGAttributes; feImage: JSXBase.SVGAttributes; feMerge: JSXBase.SVGAttributes; feMergeNode: JSXBase.SVGAttributes; feMorphology: JSXBase.SVGAttributes; feOffset: JSXBase.SVGAttributes; fePointLight: JSXBase.SVGAttributes; feSpecularLighting: JSXBase.SVGAttributes; feSpotLight: JSXBase.SVGAttributes; feTile: JSXBase.SVGAttributes; feTurbulence: JSXBase.SVGAttributes; filter: JSXBase.SVGAttributes; foreignObject: JSXBase.SVGAttributes; g: JSXBase.SVGAttributes; image: JSXBase.SVGAttributes; line: JSXBase.SVGAttributes; linearGradient: JSXBase.SVGAttributes; marker: JSXBase.SVGAttributes; mask: JSXBase.SVGAttributes; metadata: JSXBase.SVGAttributes; path: JSXBase.SVGAttributes; pattern: JSXBase.SVGAttributes; polygon: JSXBase.SVGAttributes; polyline: JSXBase.SVGAttributes; radialGradient: JSXBase.SVGAttributes; rect: JSXBase.SVGAttributes; stop: JSXBase.SVGAttributes; svg: JSXBase.SVGAttributes; switch: JSXBase.SVGAttributes; symbol: JSXBase.SVGAttributes; text: JSXBase.SVGAttributes; textPath: JSXBase.SVGAttributes; tspan: JSXBase.SVGAttributes; use: JSXBase.SVGAttributes; view: JSXBase.SVGAttributes; } export interface SlotAttributes { name?: string; slot?: string; } export interface AnchorHTMLAttributes<T> extends HTMLAttributes<T> { download?: any; href?: string; hrefLang?: string; hreflang?: string; media?: string; rel?: string; target?: string; } export interface AudioHTMLAttributes<T> extends MediaHTMLAttributes<T> {} export interface AreaHTMLAttributes<T> extends HTMLAttributes<T> { alt?: string; coords?: string; download?: any; href?: string; hrefLang?: string; hreflang?: string; media?: string; rel?: string; shape?: string; target?: string; } export interface BaseHTMLAttributes<T> extends HTMLAttributes<T> { href?: string; target?: string; } export interface BlockquoteHTMLAttributes<T> extends HTMLAttributes<T> { cite?: string; } export interface ButtonHTMLAttributes<T> extends HTMLAttributes<T> { autoFocus?: boolean; disabled?: boolean; form?: string; formAction?: string; formaction?: string; formEncType?: string; formenctype?: string; formMethod?: string; formmethod?: string; formNoValidate?: boolean; formnovalidate?: boolean; formTarget?: string; formtarget?: string; name?: string; type?: string; value?: string | string[] | number; } export interface CanvasHTMLAttributes<T> extends HTMLAttributes<T> { height?: number | string; width?: number | string; } export interface ColHTMLAttributes<T> extends HTMLAttributes<T> { span?: number; } export interface ColgroupHTMLAttributes<T> extends HTMLAttributes<T> { span?: number; } export interface DetailsHTMLAttributes<T> extends HTMLAttributes<T> { open?: boolean; } export interface DelHTMLAttributes<T> extends HTMLAttributes<T> { cite?: string; dateTime?: string; datetime?: string; } export interface DialogHTMLAttributes<T> extends HTMLAttributes<T> { onClose?: (event: Event) => void; open?: boolean; returnValue?: string; } export interface EmbedHTMLAttributes<T> extends HTMLAttributes<T> { height?: number | string; src?: string; type?: string; width?: number | string; } export interface FieldsetHTMLAttributes<T> extends HTMLAttributes<T> { disabled?: boolean; form?: string; name?: string; } export interface FormHTMLAttributes<T> extends HTMLAttributes<T> { acceptCharset?: string; acceptcharset?: string; action?: string; autoComplete?: string; autocomplete?: string; encType?: string; enctype?: string; method?: string; name?: string; noValidate?: boolean; novalidate?: boolean | string; target?: string; } export interface HtmlHTMLAttributes<T> extends HTMLAttributes<T> { manifest?: string; } export interface IframeHTMLAttributes<T> extends HTMLAttributes<T> { allowFullScreen?: boolean; allowfullScreen?: string | boolean; allowTransparency?: boolean; allowtransparency?: string | boolean; frameBorder?: number | string; frameborder?: number | string; importance?: 'low' | 'auto' | 'high'; height?: number | string; loading?: 'lazy' | 'auto' | 'eager'; marginHeight?: number; marginheight?: string | number; marginWidth?: number; marginwidth?: string | number; name?: string; sandbox?: string; scrolling?: string; seamless?: boolean; src?: string; srcDoc?: string; srcdoc?: string; width?: number | string; } export interface ImgHTMLAttributes<T> extends HTMLAttributes<T> { alt?: string; decoding?: 'async' | 'auto' | 'sync'; importance?: 'low' | 'auto' | 'high'; height?: number | string; loading?: 'lazy' | 'auto' | 'eager'; sizes?: string; src?: string; srcSet?: string; srcset?: string; useMap?: string; usemap?: string; width?: number | string; } export interface InsHTMLAttributes<T> extends HTMLAttributes<T> { cite?: string; dateTime?: string; datetime?: string; } export interface InputHTMLAttributes<T> extends HTMLAttributes<T> { accept?: string; alt?: string; autoComplete?: string; autocomplete?: string; autoFocus?: boolean; autofocus?: boolean | string; capture?: string; // https://www.w3.org/TR/html-media-capture/#the-capture-attribute checked?: boolean; crossOrigin?: string; crossorigin?: string; disabled?: boolean; form?: string; formAction?: string; formaction?: string; formEncType?: string; formenctype?: string; formMethod?: string; formmethod?: string; formNoValidate?: boolean; formnovalidate?: boolean; formTarget?: string; formtarget?: string; height?: number | string; list?: string; max?: number | string; maxLength?: number; maxlength?: number | string; min?: number | string; minLength?: number; minlength?: number | string; multiple?: boolean; name?: string; pattern?: string; placeholder?: string; readOnly?: boolean; readonly?: boolean | string; required?: boolean; size?: number; src?: string; step?: number | string; type?: string; value?: string | string[] | number; width?: number | string; } export interface KeygenHTMLAttributes<T> extends HTMLAttributes<T> { autoFocus?: boolean; autofocus?: boolean | string; challenge?: string; disabled?: boolean; form?: string; keyType?: string; keytype?: string; keyParams?: string; keyparams?: string; name?: string; } export interface LabelHTMLAttributes<T> extends HTMLAttributes<T> { form?: string; htmlFor?: string; htmlfor?: string; } export interface LiHTMLAttributes<T> extends HTMLAttributes<T> { value?: string | string[] | number; } export interface LinkHTMLAttributes<T> extends HTMLAttributes<T> { href?: string; hrefLang?: string; hreflang?: string; importance?: 'low' | 'auto' | 'high'; integrity?: string; media?: string; rel?: string; sizes?: string; type?: string; } export interface MapHTMLAttributes<T> extends HTMLAttributes<T> { name?: string; } export interface MenuHTMLAttributes<T> extends HTMLAttributes<T> { type?: string; } export interface MediaHTMLAttributes<T> extends HTMLAttributes<T> { autoPlay?: boolean; autoplay?: boolean | string; controls?: boolean; crossOrigin?: string; crossorigin?: string; loop?: boolean; mediaGroup?: string; mediagroup?: string; muted?: boolean; preload?: string; src?: string; // https://developer.mozilla.org/en-US/docs/Web/Guide/Events/Media_events onAbort?: (event: Event) => void; onCanPlay?: (event: Event) => void; onCanPlayThrough?: (event: Event) => void; onDurationChange?: (event: Event) => void; onEmptied?: (event: Event) => void; onEnded?: (event: Event) => void; onError?: (event: Event) => void; onInterruptBegin?: (event: Event) => void; onInterruptEnd?: (event: Event) => void; onLoadedData?: (event: Event) => void; onLoadedMetaData?: (event: Event) => void; onLoadStart?: (event: Event) => void; onMozAudioAvailable?: (event: Event) => void; onPause?: (event: Event) => void; onPlay?: (event: Event) => void; onPlaying?: (event: Event) => void; onProgress?: (event: Event) => void; onRateChange?: (event: Event) => void; onSeeked?: (event: Event) => void; onSeeking?: (event: Event) => void; onStalled?: (event: Event) => void; onSuspend?: (event: Event) => void; onTimeUpdate?: (event: Event) => void; onVolumeChange?: (event: Event) => void; onWaiting?: (event: Event) => void; } export interface MetaHTMLAttributes<T> extends HTMLAttributes<T> { charSet?: string; charset?: string; content?: string; httpEquiv?: string; httpequiv?: string; name?: string; } export interface MeterHTMLAttributes<T> extends HTMLAttributes<T> { form?: string; high?: number; low?: number; max?: number | string; min?: number | string; optimum?: number; value?: string | string[] | number; } export interface QuoteHTMLAttributes<T> extends HTMLAttributes<T> { cite?: string; } export interface ObjectHTMLAttributes<T> extends HTMLAttributes<T> { classID?: string; classid?: string; data?: string; form?: string; height?: number | string; name?: string; type?: string; useMap?: string; usemap?: string; width?: number | string; wmode?: string; } export interface OlHTMLAttributes<T> extends HTMLAttributes<T> { reversed?: boolean; start?: number; } export interface OptgroupHTMLAttributes<T> extends HTMLAttributes<T> { disabled?: boolean; label?: string; } export interface OptionHTMLAttributes<T> extends HTMLAttributes<T> { disabled?: boolean; label?: string; selected?: boolean; value?: string | string[] | number; } export interface OutputHTMLAttributes<T> extends HTMLAttributes<T> { form?: string; htmlFor?: string; htmlfor?: string; name?: string; } export interface ParamHTMLAttributes<T> extends HTMLAttributes<T> { name?: string; value?: string | string[] | number; } export interface ProgressHTMLAttributes<T> extends HTMLAttributes<T> { max?: number | string; value?: string | string[] | number; } export interface ScriptHTMLAttributes<T> extends HTMLAttributes<T> { async?: boolean; charSet?: string; charset?: string; crossOrigin?: string; crossorigin?: string; defer?: boolean; importance?: 'low' | 'auto' | 'high'; integrity?: string; nonce?: string; src?: string; type?: string; } export interface SelectHTMLAttributes<T> extends HTMLAttributes<T> { autoFocus?: boolean; disabled?: boolean; form?: string; multiple?: boolean; name?: string; required?: boolean; size?: number; } export interface SourceHTMLAttributes<T> extends HTMLAttributes<T> { media?: string; sizes?: string; src?: string; srcSet?: string; type?: string; } export interface StyleHTMLAttributes<T> extends HTMLAttributes<T> { media?: string; nonce?: string; scoped?: boolean; type?: string; } export interface TableHTMLAttributes<T> extends HTMLAttributes<T> { cellPadding?: number | string; cellpadding?: number | string; cellSpacing?: number | string; cellspacing?: number | string; summary?: string; } export interface TextareaHTMLAttributes<T> extends HTMLAttributes<T> { autoFocus?: boolean; autofocus?: boolean | string; cols?: number; disabled?: boolean; form?: string; maxLength?: number; maxlength?: number | string; minLength?: number; minlength?: number | string; name?: string; placeholder?: string; readOnly?: boolean; readonly?: boolean | string; required?: boolean; rows?: number; value?: string | string[] | number; wrap?: string; } export interface TdHTMLAttributes<T> extends HTMLAttributes<T> { colSpan?: number; headers?: string; rowSpan?: number; } export interface ThHTMLAttributes<T> extends HTMLAttributes<T> { colSpan?: number; headers?: string; rowSpan?: number; rowspan?: number | string; scope?: string; } export interface TimeHTMLAttributes<T> extends HTMLAttributes<T> { dateTime?: string; } export interface TrackHTMLAttributes<T> extends HTMLAttributes<T> { default?: boolean; kind?: string; label?: string; src?: string; srcLang?: string; srclang?: string; } export interface VideoHTMLAttributes<T> extends MediaHTMLAttributes<T> { height?: number | string; playsInline?: boolean; playsinline?: boolean | string; poster?: string; width?: number | string; } export interface HTMLAttributes<T = HTMLElement> extends DOMAttributes<T> { // vdom specific innerHTML?: string; key?: string | number; // Standard HTML Attributes accessKey?: string; class?: string | { [className: string]: boolean }; contentEditable?: boolean | string; contenteditable?: boolean | string; contextMenu?: string; contextmenu?: string; dir?: string; draggable?: boolean; hidden?: boolean; id?: string; lang?: string; slot?: string; spellCheck?: boolean; spellcheck?: boolean | string; style?: { [key: string]: string | undefined }; tabIndex?: number; tabindex?: number | string; title?: string; // Unknown inputMode?: string; inputmode?: string; is?: string; radioGroup?: string; // <command>, <menuitem> radiogroup?: string; part?: string; // WAI-ARIA role?: string; // RDFa Attributes about?: string; datatype?: string; inlist?: any; prefix?: string; property?: string; resource?: string; typeof?: string; vocab?: string; // Non-standard Attributes autoCapitalize?: string; autocapitalize?: string; autoCorrect?: string; autocorrect?: string; autoSave?: string; autosave?: string; color?: string; itemProp?: string; itemprop?: string; itemScope?: boolean; itemscope?: boolean; itemType?: string; itemtype?: string; itemID?: string; itemid?: string; itemRef?: string; itemref?: string; results?: number; security?: string; unselectable?: boolean; } export interface SVGAttributes<T = SVGElement> extends DOMAttributes<T> { // Attributes which also defined in HTMLAttributes // See comment in SVGDOMPropertyConfig.js class?: string | { [className: string]: boolean }; color?: string; height?: number | string; id?: string; lang?: string; max?: number | string; media?: string; method?: string; min?: number | string; name?: string; style?: { [key: string]: string | undefined }; target?: string; type?: string; width?: number | string; // Other HTML properties supported by SVG elements in browsers role?: string; tabIndex?: number; // SVG Specific attributes accentHeight?: number | string; accumulate?: 'none' | 'sum'; additive?: 'replace' | 'sum'; alignmentBaseline?: 'auto' | 'baseline' | 'before-edge' | 'text-before-edge' | 'middle' | 'central' | 'after-edge' | 'text-after-edge' | 'ideographic' | 'alphabetic' | 'hanging' | 'mathematical' | 'inherit'; allowReorder?: 'no' | 'yes'; alphabetic?: number | string; amplitude?: number | string; arabicForm?: 'initial' | 'medial' | 'terminal' | 'isolated'; ascent?: number | string; attributeName?: string; attributeType?: string; autoReverse?: number | string; azimuth?: number | string; baseFrequency?: number | string; baselineShift?: number | string; baseProfile?: number | string; bbox?: number | string; begin?: number | string; bias?: number | string; by?: number | string; calcMode?: number | string; capHeight?: number | string; clip?: number | string; clipPath?: string; clipPathUnits?: number | string; clipRule?: number | string; colorInterpolation?: number | string; colorInterpolationFilters?: 'auto' | 'sRGB' | 'linearRGB' | 'inherit'; colorProfile?: number | string; colorRendering?: number | string; contentScriptType?: number | string; contentStyleType?: number | string; cursor?: number | string; cx?: number | string; cy?: number | string; d?: string; decelerate?: number | string; descent?: number | string; diffuseConstant?: number | string; direction?: number | string; display?: number | string; divisor?: number | string; dominantBaseline?: number | string; dur?: number | string; dx?: number | string; dy?: number | string; edgeMode?: number | string; elevation?: number | string; enableBackground?: number | string; end?: number | string; exponent?: number | string; externalResourcesRequired?: number | string; fill?: string; fillOpacity?: number | string; fillRule?: 'nonzero' | 'evenodd' | 'inherit'; filter?: string; filterRes?: number | string; filterUnits?: number | string; floodColor?: number | string; floodOpacity?: number | string; focusable?: number | string; fontFamily?: string; fontSize?: number | string; fontSizeAdjust?: number | string; fontStretch?: number | string; fontStyle?: number | string; fontVariant?: number | string; fontWeight?: number | string; format?: number | string; from?: number | string; fx?: number | string; fy?: number | string; g1?: number | string; g2?: number | string; glyphName?: number | string; glyphOrientationHorizontal?: number | string; glyphOrientationVertical?: number | string; glyphRef?: number | string; gradientTransform?: string; gradientUnits?: string; hanging?: number | string; horizAdvX?: number | string; horizOriginX?: number | string; ideographic?: number | string; imageRendering?: number | string; in2?: number | string; in?: string; intercept?: number | string; k1?: number | string; k2?: number | string; k3?: number | string; k4?: number | string; k?: number | string; kernelMatrix?: number | string; kernelUnitLength?: number | string; kerning?: number | string; keyPoints?: number | string; keySplines?: number | string; keyTimes?: number | string; lengthAdjust?: number | string; letterSpacing?: number | string; lightingColor?: number | string; limitingConeAngle?: number | string; local?: number | string; markerEnd?: string; markerHeight?: number | string; markerMid?: string; markerStart?: string; markerUnits?: number | string; markerWidth?: number | string; mask?: string; maskContentUnits?: number | string; maskUnits?: number | string; mathematical?: number | string; mode?: number | string; numOctaves?: number | string; offset?: number | string; opacity?: number | string; operator?: number | string; order?: number | string; orient?: number | string; orientation?: number | string; origin?: number | string; overflow?: number | string; overlinePosition?: number | string; overlineThickness?: number | string; paintOrder?: number | string; panose1?: number | string; pathLength?: number | string; patternContentUnits?: string; patternTransform?: number | string; patternUnits?: string; pointerEvents?: number | string; points?: string; pointsAtX?: number | string; pointsAtY?: number | string; pointsAtZ?: number | string; preserveAlpha?: number | string; preserveAspectRatio?: string; primitiveUnits?: number | string; r?: number | string; radius?: number | string; refX?: number | string; refY?: number | string; renderingIntent?: number | string; repeatCount?: number | string; repeatDur?: number | string; requiredExtensions?: number | string; requiredFeatures?: number | string; restart?: number | string; result?: string; rotate?: number | string; rx?: number | string; ry?: number | string; scale?: number | string; seed?: number | string; shapeRendering?: number | string; slope?: number | string; spacing?: number | string; specularConstant?: number | string; specularExponent?: number | string; speed?: number | string; spreadMethod?: string; startOffset?: number | string; stdDeviation?: number | string; stemh?: number | string; stemv?: number | string; stitchTiles?: number | string; stopColor?: string; stopOpacity?: number | string; strikethroughPosition?: number | string; strikethroughThickness?: number | string; string?: number | string; stroke?: string; strokeDasharray?: string | number; strokeDashoffset?: string | number; strokeLinecap?: 'butt' | 'round' | 'square' | 'inherit'; strokeLinejoin?: 'miter' | 'round' | 'bevel' | 'inherit'; strokeMiterlimit?: string; strokeOpacity?: number | string; strokeWidth?: number | string; surfaceScale?: number | string; systemLanguage?: number | string; tableValues?: number | string; targetX?: number | string; targetY?: number | string; textAnchor?: string; textDecoration?: number | string; textLength?: number | string; textRendering?: number | string; to?: number | string; transform?: string; u1?: number | string; u2?: number | string; underlinePosition?: number | string; underlineThickness?: number | string; unicode?: number | string; unicodeBidi?: number | string; unicodeRange?: number | string; unitsPerEm?: number | string; vAlphabetic?: number | string; values?: string; vectorEffect?: number | string; version?: string; vertAdvY?: number | string; vertOriginX?: number | string; vertOriginY?: number | string; vHanging?: number | string; vIdeographic?: number | string; viewBox?: string; viewTarget?: number | string; visibility?: number | string; vMathematical?: number | string; widths?: number | string; wordSpacing?: number | string; writingMode?: number | string; x1?: number | string; x2?: number | string; x?: number | string; xChannelSelector?: string; xHeight?: number | string; xlinkActuate?: string; xlinkArcrole?: string; xlinkHref?: string; xlinkRole?: string; xlinkShow?: string; xlinkTitle?: string; xlinkType?: string; xmlBase?: string; xmlLang?: string; xmlns?: string; xmlnsXlink?: string; xmlSpace?: string; y1?: number | string; y2?: number | string; y?: number | string; yChannelSelector?: string; z?: number | string; zoomAndPan?: string; } export interface DOMAttributes<T = Element> { ref?: (elm?: T) => void; // Clipboard Events onCopy?: (event: ClipboardEvent) => void; onCopyCapture?: (event: ClipboardEvent) => void; onCut?: (event: ClipboardEvent) => void; onCutCapture?: (event: ClipboardEvent) => void; onPaste?: (event: ClipboardEvent) => void; onPasteCapture?: (event: ClipboardEvent) => void; // Composition Events onCompositionEnd?: (event: CompositionEvent) => void; onCompositionEndCapture?: (event: CompositionEvent) => void; onCompositionStart?: (event: CompositionEvent) => void; onCompositionStartCapture?: (event: CompositionEvent) => void; onCompositionUpdate?: (event: CompositionEvent) => void; onCompositionUpdateCapture?: (event: CompositionEvent) => void; // Focus Events onFocus?: (event: FocusEvent) => void; onFocusCapture?: (event: FocusEvent) => void; onBlur?: (event: FocusEvent) => void; onBlurCapture?: (event: FocusEvent) => void; // Form Events onChange?: (event: Event) => void; onChangeCapture?: (event: Event) => void; onInput?: (event: Event) => void; onInputCapture?: (event: Event) => void; onReset?: (event: Event) => void; onResetCapture?: (event: Event) => void; onSubmit?: (event: Event) => void; onSubmitCapture?: (event: Event) => void; onInvalid?: (event: Event) => void; onInvalidCapture?: (event: Event) => void; // Image Events onLoad?: (event: Event) => void; onLoadCapture?: (event: Event) => void; onError?: (event: Event) => void; // also a Media Event onErrorCapture?: (event: Event) => void; // also a Media Event // Keyboard Events onKeyDown?: (event: KeyboardEvent) => void; onKeyDownCapture?: (event: KeyboardEvent) => void; onKeyPress?: (event: KeyboardEvent) => void; onKeyPressCapture?: (event: KeyboardEvent) => void; onKeyUp?: (event: KeyboardEvent) => void; onKeyUpCapture?: (event: KeyboardEvent) => void; // MouseEvents onAuxClick?: (event: MouseEvent) => void; onClick?: (event: MouseEvent) => void; onClickCapture?: (event: MouseEvent) => void; onContextMenu?: (event: MouseEvent) => void; onContextMenuCapture?: (event: MouseEvent) => void; onDblClick?: (event: MouseEvent) => void; onDblClickCapture?: (event: MouseEvent) => void; onDrag?: (event: DragEvent) => void; onDragCapture?: (event: DragEvent) => void; onDragEnd?: (event: DragEvent) => void; onDragEndCapture?: (event: DragEvent) => void; onDragEnter?: (event: DragEvent) => void; onDragEnterCapture?: (event: DragEvent) => void; onDragExit?: (event: DragEvent) => void; onDragExitCapture?: (event: DragEvent) => void; onDragLeave?: (event: DragEvent) => void; onDragLeaveCapture?: (event: DragEvent) => void; onDragOver?: (event: DragEvent) => void; onDragOverCapture?: (event: DragEvent) => void; onDragStart?: (event: DragEvent) => void; onDragStartCapture?: (event: DragEvent) => void; onDrop?: (event: DragEvent) => void; onDropCapture?: (event: DragEvent) => void; onMouseDown?: (event: MouseEvent) => void; onMouseDownCapture?: (event: MouseEvent) => void; onMouseEnter?: (event: MouseEvent) => void; onMouseLeave?: (event: MouseEvent) => void; onMouseMove?: (event: MouseEvent) => void; onMouseMoveCapture?: (event: MouseEvent) => void; onMouseOut?: (event: MouseEvent) => void; onMouseOutCapture?: (event: MouseEvent) => void; onMouseOver?: (event: MouseEvent) => void; onMouseOverCapture?: (event: MouseEvent) => void; onMouseUp?: (event: MouseEvent) => void; onMouseUpCapture?: (event: MouseEvent) => void; // Touch Events onTouchCancel?: (event: TouchEvent) => void; onTouchCancelCapture?: (event: TouchEvent) => void; onTouchEnd?: (event: TouchEvent) => void; onTouchEndCapture?: (event: TouchEvent) => void; onTouchMove?: (event: TouchEvent) => void; onTouchMoveCapture?: (event: TouchEvent) => void; onTouchStart?: (event: TouchEvent) => void; onTouchStartCapture?: (event: TouchEvent) => void; // Pointer Events onPointerDown?: (event: PointerEvent) => void; onPointerDownCapture?: (event: PointerEvent) => void; onPointerMove?: (event: PointerEvent) => void; onPointerMoveCapture?: (event: PointerEvent) => void; onPointerUp?: (event: PointerEvent) => void; onPointerUpCapture?: (event: PointerEvent) => void; onPointerCancel?: (event: PointerEvent) => void; onPointerCancelCapture?: (event: PointerEvent) => void; onPointerEnter?: (event: PointerEvent) => void; onPointerEnterCapture?: (event: PointerEvent) => void; onPointerLeave?: (event: PointerEvent) => void; onPointerLeaveCapture?: (event: PointerEvent) => void; onPointerOver?: (event: PointerEvent) => void; onPointerOverCapture?: (event: PointerEvent) => void; onPointerOut?: (event: PointerEvent) => void; onPointerOutCapture?: (event: PointerEvent) => void; onGotPointerCapture?: (event: PointerEvent) => void; onGotPointerCaptureCapture?: (event: PointerEvent) => void; onLostPointerCapture?: (event: PointerEvent) => void; onLostPointerCaptureCapture?: (event: PointerEvent) => void; // UI Events onScroll?: (event: UIEvent) => void; onScrollCapture?: (event: UIEvent) => void; // Wheel Events onWheel?: (event: WheelEvent) => void; onWheelCapture?: (event: WheelEvent) => void; // Animation Events onAnimationStart?: (event: AnimationEvent) => void; onAnimationStartCapture?: (event: AnimationEvent) => void; onAnimationEnd?: (event: AnimationEvent) => void; onAnimationEndCapture?: (event: AnimationEvent) => void; onAnimationIteration?: (event: AnimationEvent) => void; onAnimationIterationCapture?: (event: AnimationEvent) => void; // Transition Events onTransitionEnd?: (event: TransitionEvent) => void; onTransitionEndCapture?: (event: TransitionEvent) => void; } } export interface Hyperscript { (sel: any): VNode; (sel: Node, data: VNodeData): VNode; (sel: any, data: VNodeData): VNode; (sel: any, text: string): VNode; (sel: any, children: Array<VNode | undefined | null>): VNode; (sel: any, data: VNodeData, text: string): VNode; (sel: any, data: VNodeData, children: Array<VNode | undefined | null>): VNode; (sel: any, data: VNodeData, children: VNode): VNode; } export interface VNodeData { class?: {[className: string]: boolean}; style?: any; [attrName: string]: any; } export type ChildType = VNode | number | string; export type PropsType = VNodeProdData | number | string | null; export interface VNodeProdData { key?: string | number; class?: {[className: string]: boolean} | string; className?: {[className: string]: boolean} | string; style?: any; [key: string]: any; } export interface FunctionalUtilities { forEach: (children: VNode[], cb: (vnode: ChildNode, index: number, array: ChildNode[]) => void) => void; map: (children: VNode[], cb: (vnode: ChildNode, index: number, array: ChildNode[]) => ChildNode) => VNode[]; } export interface FunctionalComponent<T = {}> { (props: T, children: VNode[], utils: FunctionalUtilities): VNode | VNode[]; } export interface VNode { $tag$?: string | number | Function; $key$?: string | number; $text$?: string; $children$?: VNode[]; $attrs$?: any; $name$?: string; $flags$: number; $elm$?: any; } export interface ChildNode { vtag?: string | number | Function; vkey?: string | number; vtext?: string; vchildren?: VNode[]; vattrs?: any; vname?: string; }