reblendjs
Version:
ReblendJs uses Reactjs pradigm to build UI components, with isolated state for each components.
265 lines (258 loc) • 18.3 kB
text/typescript
/* eslint-disable @typescript-eslint/no-empty-interface */
/* eslint-disable @typescript-eslint/no-explicit-any */
/* eslint-disable @typescript-eslint/no-namespace */
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-nocheck
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 = any
type Element = any
type ElementClass = any
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'
}
}
// eslint-disable-next-line @typescript-eslint/ban-types
class Reblend<P = {}, S = {}> extends BaseComponent<P, S> {
static ELEMENT_NAME = 'Fragment'
static version = '1.0.0'
constructor() {
super()
}
async html() {
return this?.props?.children
}
}
export { Reblend }