UNPKG

reblendjs

Version:

ReblendJs uses Reactjs pradigm to build UI components, with isolated state for each components.

218 lines (217 loc) 19.3 kB
import { IAny } from '../interface/IAny'; import { BaseComponent } from './BaseComponent'; import { HTMLWebViewElement } from 'reblend-typing'; import * as ReblendTyping from 'reblend-typing'; declare global { export namespace Reblend.JSX { type ElementType = string | ReblendTyping.JSXElementConstructor<any> | typeof BaseComponent<any, any>; type Element = ReblendTyping.ReblendElement; interface ElementClass<P = {}, S = {}> extends ReblendTyping.Component<P, S> { html?: () => Promise<ReblendTyping.ReblendNode> | ReblendTyping.ReblendNode; } interface ElementAttributesProperty { props: { children: ReblendTyping.ReblendElement[]; } & IAny; } interface ElementChildrenAttribute { children: { children: ReblendTyping.ReblendElement[]; } & IAny; } interface IntrinsicAttributes extends ReblendTyping.Attributes { } interface IntrinsicClassAttributes<T> extends ReblendTyping.ClassAttributes<T> { } interface IntrinsicElements { a: ReblendTyping.DetailedHTMLProps<ReblendTyping.AnchorHTMLAttributes<HTMLAnchorElement>, HTMLAnchorElement>; abbr: ReblendTyping.DetailedHTMLProps<ReblendTyping.HTMLAttributes<HTMLElement>, HTMLElement>; address: ReblendTyping.DetailedHTMLProps<ReblendTyping.HTMLAttributes<HTMLElement>, HTMLElement>; area: ReblendTyping.DetailedHTMLProps<ReblendTyping.AreaHTMLAttributes<HTMLAreaElement>, HTMLAreaElement>; article: ReblendTyping.DetailedHTMLProps<ReblendTyping.HTMLAttributes<HTMLElement>, HTMLElement>; aside: ReblendTyping.DetailedHTMLProps<ReblendTyping.HTMLAttributes<HTMLElement>, HTMLElement>; audio: ReblendTyping.DetailedHTMLProps<ReblendTyping.AudioHTMLAttributes<HTMLAudioElement>, HTMLAudioElement>; b: ReblendTyping.DetailedHTMLProps<ReblendTyping.HTMLAttributes<HTMLElement>, HTMLElement>; base: ReblendTyping.DetailedHTMLProps<ReblendTyping.BaseHTMLAttributes<HTMLBaseElement>, HTMLBaseElement>; bdi: ReblendTyping.DetailedHTMLProps<ReblendTyping.HTMLAttributes<HTMLElement>, HTMLElement>; bdo: ReblendTyping.DetailedHTMLProps<ReblendTyping.HTMLAttributes<HTMLElement>, HTMLElement>; big: ReblendTyping.DetailedHTMLProps<ReblendTyping.HTMLAttributes<HTMLElement>, HTMLElement>; blockquote: ReblendTyping.DetailedHTMLProps<ReblendTyping.BlockquoteHTMLAttributes<HTMLQuoteElement>, HTMLQuoteElement>; body: ReblendTyping.DetailedHTMLProps<ReblendTyping.HTMLAttributes<HTMLBodyElement>, HTMLBodyElement>; br: ReblendTyping.DetailedHTMLProps<ReblendTyping.HTMLAttributes<HTMLBRElement>, HTMLBRElement>; button: ReblendTyping.DetailedHTMLProps<ReblendTyping.ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>; canvas: ReblendTyping.DetailedHTMLProps<ReblendTyping.CanvasHTMLAttributes<HTMLCanvasElement>, HTMLCanvasElement>; caption: ReblendTyping.DetailedHTMLProps<ReblendTyping.HTMLAttributes<HTMLElement>, HTMLElement>; center: ReblendTyping.DetailedHTMLProps<ReblendTyping.HTMLAttributes<HTMLElement>, HTMLElement>; cite: ReblendTyping.DetailedHTMLProps<ReblendTyping.HTMLAttributes<HTMLElement>, HTMLElement>; code: ReblendTyping.DetailedHTMLProps<ReblendTyping.HTMLAttributes<HTMLElement>, HTMLElement>; col: ReblendTyping.DetailedHTMLProps<ReblendTyping.ColHTMLAttributes<HTMLTableColElement>, HTMLTableColElement>; colgroup: ReblendTyping.DetailedHTMLProps<ReblendTyping.ColgroupHTMLAttributes<HTMLTableColElement>, HTMLTableColElement>; data: ReblendTyping.DetailedHTMLProps<ReblendTyping.DataHTMLAttributes<HTMLDataElement>, HTMLDataElement>; datalist: ReblendTyping.DetailedHTMLProps<ReblendTyping.HTMLAttributes<HTMLDataListElement>, HTMLDataListElement>; dd: ReblendTyping.DetailedHTMLProps<ReblendTyping.HTMLAttributes<HTMLElement>, HTMLElement>; del: ReblendTyping.DetailedHTMLProps<ReblendTyping.DelHTMLAttributes<HTMLModElement>, HTMLModElement>; details: ReblendTyping.DetailedHTMLProps<ReblendTyping.DetailsHTMLAttributes<HTMLDetailsElement>, HTMLDetailsElement>; dfn: ReblendTyping.DetailedHTMLProps<ReblendTyping.HTMLAttributes<HTMLElement>, HTMLElement>; dialog: ReblendTyping.DetailedHTMLProps<ReblendTyping.DialogHTMLAttributes<HTMLDialogElement>, HTMLDialogElement>; div: ReblendTyping.DetailedHTMLProps<ReblendTyping.HTMLAttributes<HTMLDivElement>, HTMLDivElement>; dl: ReblendTyping.DetailedHTMLProps<ReblendTyping.HTMLAttributes<HTMLDListElement>, HTMLDListElement>; dt: ReblendTyping.DetailedHTMLProps<ReblendTyping.HTMLAttributes<HTMLElement>, HTMLElement>; em: ReblendTyping.DetailedHTMLProps<ReblendTyping.HTMLAttributes<HTMLElement>, HTMLElement>; embed: ReblendTyping.DetailedHTMLProps<ReblendTyping.EmbedHTMLAttributes<HTMLEmbedElement>, HTMLEmbedElement>; fieldset: ReblendTyping.DetailedHTMLProps<ReblendTyping.FieldsetHTMLAttributes<HTMLFieldSetElement>, HTMLFieldSetElement>; figcaption: ReblendTyping.DetailedHTMLProps<ReblendTyping.HTMLAttributes<HTMLElement>, HTMLElement>; figure: ReblendTyping.DetailedHTMLProps<ReblendTyping.HTMLAttributes<HTMLElement>, HTMLElement>; footer: ReblendTyping.DetailedHTMLProps<ReblendTyping.HTMLAttributes<HTMLElement>, HTMLElement>; form: ReblendTyping.DetailedHTMLProps<ReblendTyping.FormHTMLAttributes<HTMLFormElement>, HTMLFormElement>; h1: ReblendTyping.DetailedHTMLProps<ReblendTyping.HTMLAttributes<HTMLHeadingElement>, HTMLHeadingElement>; h2: ReblendTyping.DetailedHTMLProps<ReblendTyping.HTMLAttributes<HTMLHeadingElement>, HTMLHeadingElement>; h3: ReblendTyping.DetailedHTMLProps<ReblendTyping.HTMLAttributes<HTMLHeadingElement>, HTMLHeadingElement>; h4: ReblendTyping.DetailedHTMLProps<ReblendTyping.HTMLAttributes<HTMLHeadingElement>, HTMLHeadingElement>; h5: ReblendTyping.DetailedHTMLProps<ReblendTyping.HTMLAttributes<HTMLHeadingElement>, HTMLHeadingElement>; h6: ReblendTyping.DetailedHTMLProps<ReblendTyping.HTMLAttributes<HTMLHeadingElement>, HTMLHeadingElement>; head: ReblendTyping.DetailedHTMLProps<ReblendTyping.HTMLAttributes<HTMLHeadElement>, HTMLHeadElement>; header: ReblendTyping.DetailedHTMLProps<ReblendTyping.HTMLAttributes<HTMLElement>, HTMLElement>; hgroup: ReblendTyping.DetailedHTMLProps<ReblendTyping.HTMLAttributes<HTMLElement>, HTMLElement>; hr: ReblendTyping.DetailedHTMLProps<ReblendTyping.HTMLAttributes<HTMLHRElement>, HTMLHRElement>; html: ReblendTyping.DetailedHTMLProps<ReblendTyping.HtmlHTMLAttributes<HTMLHtmlElement>, HTMLHtmlElement>; i: ReblendTyping.DetailedHTMLProps<ReblendTyping.HTMLAttributes<HTMLElement>, HTMLElement>; iframe: ReblendTyping.DetailedHTMLProps<ReblendTyping.IframeHTMLAttributes<HTMLIFrameElement>, HTMLIFrameElement>; img: ReblendTyping.DetailedHTMLProps<ReblendTyping.ImgHTMLAttributes<HTMLImageElement>, HTMLImageElement>; input: ReblendTyping.DetailedHTMLProps<ReblendTyping.InputHTMLAttributes<HTMLInputElement>, HTMLInputElement>; ins: ReblendTyping.DetailedHTMLProps<ReblendTyping.InsHTMLAttributes<HTMLModElement>, HTMLModElement>; kbd: ReblendTyping.DetailedHTMLProps<ReblendTyping.HTMLAttributes<HTMLElement>, HTMLElement>; keygen: ReblendTyping.DetailedHTMLProps<ReblendTyping.KeygenHTMLAttributes<HTMLElement>, HTMLElement>; label: ReblendTyping.DetailedHTMLProps<ReblendTyping.LabelHTMLAttributes<HTMLLabelElement>, HTMLLabelElement>; legend: ReblendTyping.DetailedHTMLProps<ReblendTyping.HTMLAttributes<HTMLLegendElement>, HTMLLegendElement>; li: ReblendTyping.DetailedHTMLProps<ReblendTyping.LiHTMLAttributes<HTMLLIElement>, HTMLLIElement>; link: ReblendTyping.DetailedHTMLProps<ReblendTyping.LinkHTMLAttributes<HTMLLinkElement>, HTMLLinkElement>; main: ReblendTyping.DetailedHTMLProps<ReblendTyping.HTMLAttributes<HTMLElement>, HTMLElement>; map: ReblendTyping.DetailedHTMLProps<ReblendTyping.MapHTMLAttributes<HTMLMapElement>, HTMLMapElement>; mark: ReblendTyping.DetailedHTMLProps<ReblendTyping.HTMLAttributes<HTMLElement>, HTMLElement>; menu: ReblendTyping.DetailedHTMLProps<ReblendTyping.MenuHTMLAttributes<HTMLElement>, HTMLElement>; menuitem: ReblendTyping.DetailedHTMLProps<ReblendTyping.HTMLAttributes<HTMLElement>, HTMLElement>; meta: ReblendTyping.DetailedHTMLProps<ReblendTyping.MetaHTMLAttributes<HTMLMetaElement>, HTMLMetaElement>; meter: ReblendTyping.DetailedHTMLProps<ReblendTyping.MeterHTMLAttributes<HTMLMeterElement>, HTMLMeterElement>; nav: ReblendTyping.DetailedHTMLProps<ReblendTyping.HTMLAttributes<HTMLElement>, HTMLElement>; noindex: ReblendTyping.DetailedHTMLProps<ReblendTyping.HTMLAttributes<HTMLElement>, HTMLElement>; noscript: ReblendTyping.DetailedHTMLProps<ReblendTyping.HTMLAttributes<HTMLElement>, HTMLElement>; object: ReblendTyping.DetailedHTMLProps<ReblendTyping.ObjectHTMLAttributes<HTMLObjectElement>, HTMLObjectElement>; ol: ReblendTyping.DetailedHTMLProps<ReblendTyping.OlHTMLAttributes<HTMLOListElement>, HTMLOListElement>; optgroup: ReblendTyping.DetailedHTMLProps<ReblendTyping.OptgroupHTMLAttributes<HTMLOptGroupElement>, HTMLOptGroupElement>; option: ReblendTyping.DetailedHTMLProps<ReblendTyping.OptionHTMLAttributes<HTMLOptionElement>, HTMLOptionElement>; output: ReblendTyping.DetailedHTMLProps<ReblendTyping.OutputHTMLAttributes<HTMLOutputElement>, HTMLOutputElement>; p: ReblendTyping.DetailedHTMLProps<ReblendTyping.HTMLAttributes<HTMLParagraphElement>, HTMLParagraphElement>; param: ReblendTyping.DetailedHTMLProps<ReblendTyping.ParamHTMLAttributes<HTMLParamElement>, HTMLParamElement>; picture: ReblendTyping.DetailedHTMLProps<ReblendTyping.HTMLAttributes<HTMLElement>, HTMLElement>; pre: ReblendTyping.DetailedHTMLProps<ReblendTyping.HTMLAttributes<HTMLPreElement>, HTMLPreElement>; progress: ReblendTyping.DetailedHTMLProps<ReblendTyping.ProgressHTMLAttributes<HTMLProgressElement>, HTMLProgressElement>; q: ReblendTyping.DetailedHTMLProps<ReblendTyping.QuoteHTMLAttributes<HTMLQuoteElement>, HTMLQuoteElement>; rp: ReblendTyping.DetailedHTMLProps<ReblendTyping.HTMLAttributes<HTMLElement>, HTMLElement>; rt: ReblendTyping.DetailedHTMLProps<ReblendTyping.HTMLAttributes<HTMLElement>, HTMLElement>; ruby: ReblendTyping.DetailedHTMLProps<ReblendTyping.HTMLAttributes<HTMLElement>, HTMLElement>; s: ReblendTyping.DetailedHTMLProps<ReblendTyping.HTMLAttributes<HTMLElement>, HTMLElement>; samp: ReblendTyping.DetailedHTMLProps<ReblendTyping.HTMLAttributes<HTMLElement>, HTMLElement>; search: ReblendTyping.DetailedHTMLProps<ReblendTyping.HTMLAttributes<HTMLElement>, HTMLElement>; slot: ReblendTyping.DetailedHTMLProps<ReblendTyping.SlotHTMLAttributes<HTMLSlotElement>, HTMLSlotElement>; script: ReblendTyping.DetailedHTMLProps<ReblendTyping.ScriptHTMLAttributes<HTMLScriptElement>, HTMLScriptElement>; section: ReblendTyping.DetailedHTMLProps<ReblendTyping.HTMLAttributes<HTMLElement>, HTMLElement>; select: ReblendTyping.DetailedHTMLProps<ReblendTyping.SelectHTMLAttributes<HTMLSelectElement>, HTMLSelectElement>; small: ReblendTyping.DetailedHTMLProps<ReblendTyping.HTMLAttributes<HTMLElement>, HTMLElement>; source: ReblendTyping.DetailedHTMLProps<ReblendTyping.SourceHTMLAttributes<HTMLSourceElement>, HTMLSourceElement>; span: ReblendTyping.DetailedHTMLProps<ReblendTyping.HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>; strong: ReblendTyping.DetailedHTMLProps<ReblendTyping.HTMLAttributes<HTMLElement>, HTMLElement>; style: ReblendTyping.DetailedHTMLProps<ReblendTyping.StyleHTMLAttributes<HTMLStyleElement>, HTMLStyleElement>; sub: ReblendTyping.DetailedHTMLProps<ReblendTyping.HTMLAttributes<HTMLElement>, HTMLElement>; summary: ReblendTyping.DetailedHTMLProps<ReblendTyping.HTMLAttributes<HTMLElement>, HTMLElement>; sup: ReblendTyping.DetailedHTMLProps<ReblendTyping.HTMLAttributes<HTMLElement>, HTMLElement>; table: ReblendTyping.DetailedHTMLProps<ReblendTyping.TableHTMLAttributes<HTMLTableElement>, HTMLTableElement>; template: ReblendTyping.DetailedHTMLProps<ReblendTyping.HTMLAttributes<HTMLTemplateElement>, HTMLTemplateElement>; tbody: ReblendTyping.DetailedHTMLProps<ReblendTyping.HTMLAttributes<HTMLTableSectionElement>, HTMLTableSectionElement>; td: ReblendTyping.DetailedHTMLProps<ReblendTyping.TdHTMLAttributes<HTMLTableDataCellElement>, HTMLTableDataCellElement>; textarea: ReblendTyping.DetailedHTMLProps<ReblendTyping.TextareaHTMLAttributes<HTMLTextAreaElement>, HTMLTextAreaElement>; tfoot: ReblendTyping.DetailedHTMLProps<ReblendTyping.HTMLAttributes<HTMLTableSectionElement>, HTMLTableSectionElement>; th: ReblendTyping.DetailedHTMLProps<ReblendTyping.ThHTMLAttributes<HTMLTableHeaderCellElement>, HTMLTableHeaderCellElement>; thead: ReblendTyping.DetailedHTMLProps<ReblendTyping.HTMLAttributes<HTMLTableSectionElement>, HTMLTableSectionElement>; time: ReblendTyping.DetailedHTMLProps<ReblendTyping.TimeHTMLAttributes<HTMLTimeElement>, HTMLTimeElement>; title: ReblendTyping.DetailedHTMLProps<ReblendTyping.HTMLAttributes<HTMLTitleElement>, HTMLTitleElement>; tr: ReblendTyping.DetailedHTMLProps<ReblendTyping.HTMLAttributes<HTMLTableRowElement>, HTMLTableRowElement>; track: ReblendTyping.DetailedHTMLProps<ReblendTyping.TrackHTMLAttributes<HTMLTrackElement>, HTMLTrackElement>; u: ReblendTyping.DetailedHTMLProps<ReblendTyping.HTMLAttributes<HTMLElement>, HTMLElement>; ul: ReblendTyping.DetailedHTMLProps<ReblendTyping.HTMLAttributes<HTMLUListElement>, HTMLUListElement>; var: ReblendTyping.DetailedHTMLProps<ReblendTyping.HTMLAttributes<HTMLElement>, HTMLElement>; video: ReblendTyping.DetailedHTMLProps<ReblendTyping.VideoHTMLAttributes<HTMLVideoElement>, HTMLVideoElement>; wbr: ReblendTyping.DetailedHTMLProps<ReblendTyping.HTMLAttributes<HTMLElement>, HTMLElement>; webview: ReblendTyping.DetailedHTMLProps<ReblendTyping.WebViewHTMLAttributes<HTMLWebViewElement>, HTMLWebViewElement>; svg: ReblendTyping.SVGProps<SVGSVGElement>; animate: ReblendTyping.SVGProps<SVGElement>; animateMotion: ReblendTyping.SVGProps<SVGElement>; animateTransform: ReblendTyping.SVGProps<SVGElement>; circle: ReblendTyping.SVGProps<SVGCircleElement>; clipPath: ReblendTyping.SVGProps<SVGClipPathElement>; defs: ReblendTyping.SVGProps<SVGDefsElement>; desc: ReblendTyping.SVGProps<SVGDescElement>; ellipse: ReblendTyping.SVGProps<SVGEllipseElement>; feBlend: ReblendTyping.SVGProps<SVGFEBlendElement>; feColorMatrix: ReblendTyping.SVGProps<SVGFEColorMatrixElement>; feComponentTransfer: ReblendTyping.SVGProps<SVGFEComponentTransferElement>; feComposite: ReblendTyping.SVGProps<SVGFECompositeElement>; feConvolveMatrix: ReblendTyping.SVGProps<SVGFEConvolveMatrixElement>; feDiffuseLighting: ReblendTyping.SVGProps<SVGFEDiffuseLightingElement>; feDisplacementMap: ReblendTyping.SVGProps<SVGFEDisplacementMapElement>; feDistantLight: ReblendTyping.SVGProps<SVGFEDistantLightElement>; feDropShadow: ReblendTyping.SVGProps<SVGFEDropShadowElement>; feFlood: ReblendTyping.SVGProps<SVGFEFloodElement>; feFuncA: ReblendTyping.SVGProps<SVGFEFuncAElement>; feFuncB: ReblendTyping.SVGProps<SVGFEFuncBElement>; feFuncG: ReblendTyping.SVGProps<SVGFEFuncGElement>; feFuncR: ReblendTyping.SVGProps<SVGFEFuncRElement>; feGaussianBlur: ReblendTyping.SVGProps<SVGFEGaussianBlurElement>; feImage: ReblendTyping.SVGProps<SVGFEImageElement>; feMerge: ReblendTyping.SVGProps<SVGFEMergeElement>; feMergeNode: ReblendTyping.SVGProps<SVGFEMergeNodeElement>; feMorphology: ReblendTyping.SVGProps<SVGFEMorphologyElement>; feOffset: ReblendTyping.SVGProps<SVGFEOffsetElement>; fePointLight: ReblendTyping.SVGProps<SVGFEPointLightElement>; feSpecularLighting: ReblendTyping.SVGProps<SVGFESpecularLightingElement>; feSpotLight: ReblendTyping.SVGProps<SVGFESpotLightElement>; feTile: ReblendTyping.SVGProps<SVGFETileElement>; feTurbulence: ReblendTyping.SVGProps<SVGFETurbulenceElement>; filter: ReblendTyping.SVGProps<SVGFilterElement>; foreignObject: ReblendTyping.SVGProps<SVGForeignObjectElement>; g: ReblendTyping.SVGProps<SVGGElement>; image: ReblendTyping.SVGProps<SVGImageElement>; line: ReblendTyping.SVGLineElementAttributes<SVGLineElement>; linearGradient: ReblendTyping.SVGProps<SVGLinearGradientElement>; marker: ReblendTyping.SVGProps<SVGMarkerElement>; mask: ReblendTyping.SVGProps<SVGMaskElement>; metadata: ReblendTyping.SVGProps<SVGMetadataElement>; mpath: ReblendTyping.SVGProps<SVGElement>; path: ReblendTyping.SVGProps<SVGPathElement>; pattern: ReblendTyping.SVGProps<SVGPatternElement>; polygon: ReblendTyping.SVGProps<SVGPolygonElement>; polyline: ReblendTyping.SVGProps<SVGPolylineElement>; radialGradient: ReblendTyping.SVGProps<SVGRadialGradientElement>; rect: ReblendTyping.SVGProps<SVGRectElement>; set: ReblendTyping.SVGProps<SVGSetElement>; stop: ReblendTyping.SVGProps<SVGStopElement>; switch: ReblendTyping.SVGProps<SVGSwitchElement>; symbol: ReblendTyping.SVGProps<SVGSymbolElement>; text: ReblendTyping.SVGTextElementAttributes<SVGTextElement>; textPath: ReblendTyping.SVGProps<SVGTextPathElement>; tspan: ReblendTyping.SVGProps<SVGTSpanElement>; use: ReblendTyping.SVGProps<SVGUseElement>; view: ReblendTyping.SVGProps<SVGViewElement>; } } export namespace Reblend { export * from 'reblend-typing'; } } declare class Reblend<P = {}, S = {}> extends BaseComponent<P, S> { static ELEMENT_NAME: string; static version: string; constructor(); html(): Promise<any>; } export { Reblend };