UNPKG

mostly-dom

Version:
742 lines (657 loc) 17.6 kB
// tslint:disable:max-file-line-count import * as hooks from './hooks' import { HtmlElementEvents, VNodeEvents } from './VNodeEventTypes' import { VNodeStyle } from './VirtualNode' import { VNode } from '../index' export interface NodeProperties { nodeValue?: string | null textContent?: string | null } export interface ElementProperties extends NodeProperties { className?: string id?: string innerHTML?: string scrollLeft?: number scrollTop?: number slot?: string } export interface HTMLElementProperties extends ElementProperties { accessKey?: string contentEditable?: string dir?: string draggable?: boolean hidden?: boolean hideFocus?: boolean innerText?: string lang?: string outerText?: string spellcheck?: boolean tabIndex?: boolean title?: string } export interface VNodeProperties< T extends HTMLElement, EventMap extends VNodeEvents<T, HTMLElementEventMap> = VNodeEvents<T, HTMLElementEventMap> > extends HTMLElementProperties { // key for dom diffing key?: string | number // classes class?: { [className: string]: Boolean } // attributes for setAttribute() attrs?: { [attributeName: string]: any } // styling style?: VNodeStyle // events on?: EventMap listener?: EventListener // declarative focusing focus?: boolean scope?: string // hooks init?: hooks.InitHook create?: hooks.CreateHook<T> update?: hooks.UpdateHook<T> insert?: hooks.InsertHook<T> remove?: hooks.RemoveHook<T> destroy?: hooks.DestroyHook<T> prepatch?: hooks.PrepatchHook<T> postpatch?: hooks.PostpatchHook<T> } export interface HTMLAnchorElementProperties extends VNodeProperties<HTMLAnchorElement, HtmlElementEvents<HTMLAnchorElement>> { Methods?: string charset?: string coords?: string download?: string hash?: string host?: string hostname?: string href?: string hreflang?: string name?: string pathname?: string port?: string protocol?: string rel?: string rev?: string search?: string shape?: string target?: string text?: string type?: string urn?: string } export interface HTMLAppletElementProperties extends VNodeProperties<HTMLAppletElement, HtmlElementEvents<HTMLAppletElement>> { align?: string alt?: string altHtml?: string archive?: string border?: string code?: string codeBase?: string codeType?: string data?: string declare?: boolean height?: string hspace?: number name?: string object?: string | null standby?: string type?: string vspace?: number width?: number } export interface HTMLAreaElementProperties extends VNodeProperties<HTMLAreaElement, HtmlElementEvents<HTMLAreaElement>> { alt?: string coords?: string download?: string hash?: string host?: string hostname?: string href?: string noHref?: string pathname?: string port?: string protocol?: string rel?: string search?: string shape?: string target?: string } export interface HTMLAudioElementProperties extends VNodeProperties<HTMLAudioElement, HtmlElementEvents<HTMLAudioElement>> {} export interface HTMLBRElementProperties extends VNodeProperties<HTMLBRElement, HtmlElementEvents<HTMLBRElement>> { clear?: string } export interface HTMLBaseElementProperties extends VNodeProperties<HTMLBaseElement, HtmlElementEvents<HTMLBaseElement>> { href?: string target?: string } export interface HTMLBaseFontElementProperties extends VNodeProperties<HTMLBaseFontElement, HtmlElementEvents<HTMLBaseFontElement>> { face?: string size?: number } export interface HTMLBodyElementProperties extends VNodeProperties<HTMLBodyElement, VNodeEvents<HTMLBodyElement, HTMLBodyElementEventMap>> { aLink?: any background?: string bgColor?: any bgProperties?: string link?: any noWrap?: boolean text?: any vLink?: any } export interface HTMLButtonElementProperties extends VNodeProperties<HTMLButtonElement, HtmlElementEvents<HTMLButtonElement>> { autofocus?: boolean disabled?: boolean formAction?: string formEnctype?: string formMethod?: string formNoValidate?: string formTarget?: string name?: string status?: any type?: string value?: string } export interface HTMLCanvasElementProperties extends VNodeProperties<HTMLCanvasElement, HtmlElementEvents<HTMLCanvasElement>> { height?: number width?: number } export interface HTMLDListElementProperties extends VNodeProperties<HTMLDListElement, HtmlElementEvents<HTMLDListElement>> { compact?: boolean } export interface HTMLDataElementProperties extends VNodeProperties<HTMLDataElement, HtmlElementEvents<HTMLDataElement>> { value?: string } export interface HTMLDataListElementProperties extends VNodeProperties<HTMLDataListElement, HtmlElementEvents<HTMLDataListElement>> { options?: HTMLCollectionOf<HTMLOptionElement> } export interface HTMLDirectoryElementProperties extends VNodeProperties<HTMLDirectoryElement> { compact?: boolean } export interface HTMLDivElementProperties extends VNodeProperties<HTMLDivElement> { align?: string noWrap?: boolean } export interface HTMLEmbedElementProperties extends VNodeProperties<HTMLEmbedElement> { height?: string hidden?: any msPlayToDisabled?: boolean msPlayToPreferredSourceUri?: string msPlayToPrimary?: boolean name?: string src?: string units?: string width?: string } export interface HTMLFieldSetElementProperties extends VNodeProperties<HTMLFieldSetElement> { align?: string disabled?: boolean name?: string } export interface HTMLFontElementProperties extends VNodeProperties<HTMLFontElement> { face?: string } export interface HTMLFormElementProperties extends VNodeProperties<HTMLFormElement> { acceptCharset?: string action?: string autocomplete?: string encoding?: string enctype?: string method?: string name?: string noValidate?: boolean target?: string } export interface HTMLFrameElementProperties extends VNodeProperties< HTMLFrameElement, VNodeEvents<HTMLFrameElement, HTMLFrameSetElementEventMap> > { border?: string borderColor?: any frameBorder?: string frameSpacing?: any height?: string | number longDesc?: string marginHeight?: string marginWidth?: string name?: string noResize?: boolean scrolling?: string src?: string width?: string | number } export interface HTMLFrameSetElementProperties extends VNodeProperties< HTMLFrameSetElement, VNodeEvents<HTMLFrameSetElement, HTMLFrameSetElementEventMap> > { border?: string borderColor?: string cols?: string frameBorder?: string frameSpacing?: any name?: string rows?: string } export interface HTMLHRElementProperties extends VNodeProperties<HTMLHRElement> { align?: string noShade?: boolean width?: number } export interface HTMLHeadElementProperties extends VNodeProperties<HTMLHeadElement> { profile?: string } export interface HTMLHeadingElementProperties extends VNodeProperties<HTMLHeadingElement> { align?: string } export interface HTMLHtmlElementProperties extends VNodeProperties<HTMLHtmlElement> { version?: string } export interface HTMLIFrameElementProperties extends VNodeProperties< HTMLIFrameElement, VNodeEvents<HTMLIFrameElement, HTMLFrameSetElementEventMap> > { align?: string allowFullscreen?: boolean allowPaymentRequest?: boolean border?: string frameBorder?: string frameSpacing?: any height?: string hspace?: number longDesc?: string marginHeight?: string marginWidth?: string name?: string noResize?: boolean scrolling?: string src?: string vspace?: number width?: string } export interface HTMLImageElementProperties extends VNodeProperties<HTMLImageElement> { align?: string alt?: string border?: string crossOrigin?: string | null height?: number hspace?: number isMap?: boolean longDesc?: string lowsrc?: string msPlayToDisabled?: boolean msPlayToPreferredSourceUri?: string msPlayToPrimary?: boolean name?: string sizes?: string src?: string srcset?: string useMap?: string vspace?: number width?: number } export interface HTMLInputElementProperties extends VNodeProperties<HTMLInputElement> { accept?: string align?: string alt?: string autocomplete?: string autofocus?: boolean border?: string checked?: boolean defaultChecked?: boolean defaultValue?: string disabled?: boolean formAction?: string formEnctype?: string formMethod?: string formNoValidate?: string formTarget?: string height?: string hspace?: number indeterminate?: boolean max?: string maxLength?: number min?: string minLength?: number multiple?: boolean name?: string pattern?: string placeholder?: string readOnly?: string required?: boolean selectionDirection?: string selectionEnd?: number selectionStart?: number size?: number src?: string status?: boolean step?: string type?: string useMap?: string value?: string valueAsDate?: Date valueAsNumber?: number vspace?: number webkitdirectory?: boolean width?: string } export interface HTMLLIElementProperties extends VNodeProperties<HTMLLIElement> { type?: string value?: number } export interface HTMLLabelElementProperties extends VNodeProperties<HTMLLabelElement> { htmlFor?: string } export interface HTMLLegendElementProperties extends VNodeProperties<HTMLLegendElement> { align?: string } export interface HTMLLinkElementProperties extends VNodeProperties<HTMLLinkElement> { charset?: string disabled?: boolean href?: string hreflang?: string media?: string rel?: string rev?: string target?: string type?: string import?: Document integrity?: string } export interface HTMLMapElementProperties extends VNodeProperties<HTMLMapElement> { name?: string } export interface HTMLMarqueeElementProperties extends VNodeProperties< HTMLMarqueeElement, VNodeEvents<HTMLMarqueeElement, HTMLMarqueeElementEventMap> > { behavior?: string bgColor?: any direction?: string height?: string hspace?: number loop?: number scrollAmount?: number scrollDelay?: number trueSpeed?: boolean vspace?: number width?: string } export interface HTMLMediaElementProperties extends VNodeProperties< HTMLMediaElement, VNodeEvents<HTMLMediaElement, HTMLMediaElementEventMap> > { autoplay?: boolean controls?: boolean crossOrigin?: string | null currentTime?: number defaultMuted?: boolean defaultPlaybackRate?: number loop?: boolean msAudioCategory?: string msAudioDeviceType?: string msPlayToDisabled?: boolean msPlayToPreferredSourceUri?: string msPlayToPrimary?: string msRealTime?: boolean muted?: boolean playbackRate?: number preload?: string readyState?: number src?: string srcObject?: MediaStream | null volume?: number } export interface HTMLMenuElementProperties extends VNodeProperties<HTMLMenuElement> { compact?: boolean type?: string } export interface HTMLMetaElementProperties extends VNodeProperties<HTMLMetaElement> { charset?: string content?: string httpEquiv?: string name?: string scheme?: string url?: string } export interface HTMLMeterElementProperties extends VNodeProperties<HTMLMeterElement> { high?: number low?: number max?: number min?: number optimum?: number value?: number } export interface HTMLModElementProperties extends VNodeProperties<HTMLModElement> { cite?: string dateTime?: string } export interface HTMLOListElementProperteis extends VNodeProperties<HTMLOListElement> { compact?: boolean start?: number type?: string } export interface HTMLObjectElementProperties extends VNodeProperties<HTMLObjectElement> { align?: string alt?: string altHtml?: string archive?: string border?: string code?: string codeBase?: string codeType?: string data?: string declare?: boolean height?: string hspace?: number msPlayToDisabled?: boolean msPlayToPreferredSourceUri?: string msPlayToPrimary?: boolean name?: string standby?: string type?: string useMap?: string vspace?: number width?: string } export interface HTMLOptGroupElementProperties extends VNodeProperties<HTMLOptGroupElement> { defaultSelected?: boolean disabled?: boolean label?: string selected?: boolean value?: string } export interface HTMLOptionElementProperties extends VNodeProperties<HTMLOptionElement> { defaultSelected?: boolean disabled?: boolean label?: string selected?: boolean text?: string value?: string } export interface HTMLOutputElementProperties extends VNodeProperties<HTMLOutputElement> { defaultValue?: string name?: string value?: string } export interface HTMLParagraphElementProperties extends VNodeProperties<HTMLParagraphElement> { align?: string clear?: string } export interface HTMLParamElementProperties extends VNodeProperties<HTMLParamElement> { name?: string type?: string value?: string valueType?: string } export interface HTMLPictureElementProperties extends VNodeProperties<HTMLPictureElement> {} export interface HTMLPreElementProperties extends VNodeProperties<HTMLPreElement> { width?: number } export interface HTMLProgressElementProperties extends VNodeProperties<HTMLProgressElement> { max?: number value?: number } export interface HTMLQuoteElementProperties extends VNodeProperties<HTMLQuoteElement> { cite?: string } export interface HTMLScriptElementProperties extends VNodeProperties<HTMLScriptElement> { async?: boolean charset?: string crossOrigin?: string | null defer?: boolean event?: string htmlFor?: string src?: string text?: string type?: string integrity?: string } export interface HTMLSelectElementProperties extends VNodeProperties<HTMLSelectElement> { autofocus?: boolean disabled?: boolean length?: number multiple?: boolean name?: string required?: boolean selectedIndex?: number selectedOptions?: HTMLCollectionOf<HTMLOptionElement> size?: number value?: string } export interface HTMLSourceElementProperties extends VNodeProperties<HTMLSourceElement> { media?: string msKeySystem?: string sizes?: string src?: string srcset?: string type?: string } export interface HTMLSpanElementProperties extends VNodeProperties<HTMLSpanElement> {} export interface HTMLStyleElementProperties extends VNodeProperties<HTMLStyleElement> { disabled?: boolean media?: string type?: string } export interface HTMLTableCaptionElementProperties extends VNodeProperties<HTMLTableCaptionElement> { align?: string vAlign?: string } export interface HTMLTableCellElementProperties extends VNodeProperties<HTMLTableCellElement> { abbr?: string align?: string axis?: string bgColor?: any colSpan?: number headers?: string height?: any noWrap?: boolean rowSpan?: number scope?: string width?: string } export interface HTMLTableColElementProperties extends VNodeProperties<HTMLTableColElement> { align?: string span?: number width?: any } export interface HTMLTableDataCellElementProperties extends VNodeProperties<HTMLTableDataCellElement> {} export interface HTMLTableElementProperties extends VNodeProperties<HTMLTableElement> { align?: string bgColor?: any border?: string borderColor?: any caption?: HTMLTableCaptionElement cellPadding?: string cellSpacing?: string cols?: number frame?: string height?: any rows?: HTMLCollectionOf<HTMLTableRowElement> rules?: string summary?: string tBodies?: HTMLCollectionOf<HTMLTableSectionElement> tFoot?: HTMLTableSectionElement tHead?: HTMLTableSectionElement width?: string } export interface HTMLTableHeaderCellElementProperties extends VNodeProperties<HTMLTableHeaderCellElement> { scope?: string } export interface HTMLTableRowElementProperties extends VNodeProperties<HTMLTableRowElement> { align?: string bgColor?: any cells?: HTMLCollectionOf<HTMLTableDataCellElement | HTMLTableHeaderCellElement> height?: any } export interface HTMLTableSectionElementProperties extends VNodeProperties<HTMLTableSectionElement> { align?: string rows?: HTMLCollectionOf<HTMLTableRowElement> } export interface HTMLTemplateElementProperties extends VNodeProperties<HTMLTemplateElement> {} export interface HTMLTextAreaElementProperties extends VNodeProperties<HTMLTextAreaElement> { autofocus?: boolean cols?: number defaultValue?: string disabled?: boolean maxLength?: number minLength?: number name?: string placeholder?: string readOnly?: boolean required?: boolean rows?: number selectionEnd?: number selectedStart?: number status?: any value?: string wrap?: string } export interface HTMLTimeElementProperties extends VNodeProperties<HTMLTimeElement> { dateTime?: string } export interface HTMLTitleElementProperties extends VNodeProperties<HTMLTitleElement> { text?: string } export interface HTMLTrackElementProperties extends VNodeProperties<HTMLTrackElement> { default?: boolean kind?: string label?: string src?: string srclang?: string } export interface HTMLUListElementProperties extends VNodeProperties<HTMLUListElement> { compact?: boolean type?: string } export interface HTMLUnknownElementProperties extends VNodeProperties<HTMLUnknownElement> {} export interface HTMLVideoElementProperties extends VNodeProperties<HTMLVideoElement> { height?: number msHorizontalMirror?: boolean msStereo3DPackingMode?: string msStereo3DRenderMode?: string msZoom?: boolean poster?: string width?: number }