UNPKG

edgerender

Version:
406 lines (405 loc) 14 kB
import type { Properties as CssProperties } from 'csstype'; export { EdgeRender, EdgeRenderConfig, Views } from './handle'; export { AssetConfig } from './assets'; import { JsxChunk, classNameType } from './jsx'; declare type AttributeReferrerPolicy = '' | 'no-referrer' | 'no-referrer-when-downgrade' | 'origin' | 'origin-when-cross-origin' | 'same-origin' | 'strict-origin' | 'strict-origin-when-cross-origin' | 'unsafe-url'; declare type InputType = 'button' | 'checkbox' | 'color' | 'date' | 'datetime' | 'email' | 'file' | 'hidden' | 'image' | 'month' | 'number' | 'password' | 'radio' | 'range' | 'reset' | 'search' | 'submit' | 'tel' | 'text' | 'time' | 'url' | 'week'; declare global { namespace JSX { type Props = Record<string, any>; type Component = (props: Props) => Element; type ChildTypes = Component | HtmlTag | string | number | boolean; type Element = JsxChunk | Promise<JsxChunk>; interface TagChildrenAttribute { children: unknown; } interface BaseTag { accessKey?: string; className?: classNameType; contentEditable?: boolean | 'inherit'; contextMenu?: string; dir?: string; draggable?: boolean; hidden?: boolean; id?: string; lang?: string; placeholder?: string; slot?: string; spellCheck?: boolean; style?: CssProperties; tabIndex?: number; title?: string; translate?: 'yes' | 'no'; radioGroup?: string; role?: string; about?: string; datatype?: string; inlist?: any; prefix?: string; property?: string; resource?: string; typeof?: string; vocab?: string; autoCapitalize?: string; autoCorrect?: string; autoSave?: string; color?: string; itemProp?: string; itemScope?: boolean; itemType?: string; itemID?: string; itemRef?: string; results?: number; security?: string; unselectable?: 'on' | 'off'; /** * Hints at the type of data that might be entered by the user while editing the Tag or its contents * @see https://html.spec.whatwg.org/multipage/interaction.html#input-modalities:-the-inputmode-attribute */ inputMode?: 'none' | 'text' | 'tel' | 'url' | 'email' | 'numeric' | 'decimal' | 'search'; /** * Specify that a standard HTML Tag should behave like a defined custom built-in Tag * @see https://html.spec.whatwg.org/multipage/custom-Tags.html#attr-is */ is?: string; data?: Record<string, any>; hxGet?: string; hxPost?: string; hxPut?: string; hxPatch?: string; hxDelete?: string; hxSwap?: 'innerHTML' | 'outerHTML' | 'afterbegin' | 'beforebegin' | 'beforeend' | 'afterend'; hxSwapOob?: boolean; hxTarget?: string; hxTrigger?: string; hxSelect?: string; hxBoost?: boolean; hxPushUrl?: 'true'; hxPrompt?: string; hxConfirm?: string; hxIndicator?: string; } interface GenericTag extends BaseTag { children?: ChildTypes | ChildTypes[]; [key: string]: any; } interface EmptyTag extends BaseTag { children?: never; [key: string]: any; } interface AnchorTag extends BaseTag { download?: any; href?: string; hrefLang?: string; media?: string; ping?: string; rel?: string; target?: string; type?: string; referrerPolicy?: AttributeReferrerPolicy; children?: ChildTypes | ChildTypes[]; } interface ButtonTag extends BaseTag { autoFocus?: boolean; disabled?: boolean; form?: string; formAction?: string; formEncType?: string; formMethod?: string; formNoValidate?: boolean; formTarget?: string; name?: string; type?: 'submit' | 'reset' | 'button'; value?: string | ReadonlyArray<string> | number; children?: ChildTypes | ChildTypes[]; } interface FormTag extends BaseTag { acceptCharset?: string; action?: string; autoComplete?: string; encType?: string; method?: string; name?: string; noValidate?: boolean; target?: string; children?: ChildTypes | ChildTypes[]; } interface HtmlHtmlTag extends BaseTag { manifest?: string; children?: ChildTypes | ChildTypes[]; } interface IframeTag extends BaseTag { allow?: string; allowFullScreen?: boolean; allowTransparency?: boolean; /** @deprecated */ frameBorder?: number | string; height?: number | string; loading?: 'eager' | 'lazy'; /** @deprecated */ marginHeight?: number; /** @deprecated */ marginWidth?: number; name?: string; referrerPolicy?: AttributeReferrerPolicy; sandbox?: string; /** @deprecated */ scrolling?: string; seamless?: boolean; src?: string; srcDoc?: string; width?: number | string; children?: ChildTypes | ChildTypes[]; } interface ImageTag extends BaseTag { alt?: string; crossOrigin?: 'anonymous' | 'use-credentials' | ''; decoding?: 'async' | 'auto' | 'sync'; height?: number | string; loading?: 'eager' | 'lazy'; referrerPolicy?: AttributeReferrerPolicy; sizes?: string; src?: string; srcSet?: string; useMap?: string; width?: number | string; } interface InputTag extends BaseTag { accept?: string; alt?: string; autoComplete?: string; autoFocus?: boolean; capture?: boolean | string; checked?: boolean; dirname?: string; disabled?: boolean; enterKeyHint?: 'enter' | 'done' | 'go' | 'next' | 'previous' | 'search' | 'send'; form?: string; formAction?: string; formEncType?: string; formMethod?: string; formNoValidate?: boolean; formTarget?: string; height?: number | string; list?: string; max?: number | string; maxLength?: number; min?: number | string; minLength?: number; multiple?: boolean; name?: string; pattern?: string; placeholder?: string; readOnly?: boolean; required?: boolean; size?: number; src?: string; step?: number | string; type?: InputType; value?: string | ReadonlyArray<string> | number | null; width?: number | string; } interface LabelTag extends BaseTag { form?: string; htmlFor?: string; children?: ChildTypes | ChildTypes[]; } interface LinkTag extends BaseTag { as?: string; crossOrigin?: string; href?: string; hrefLang?: string; integrity?: string; media?: string; referrerPolicy?: AttributeReferrerPolicy; rel?: string; sizes?: string; type?: string; charSet?: string; } interface MetaTag extends BaseTag { charSet?: string; content?: string; httpEquiv?: string; name?: string; } type HtmlTag = GenericTag | EmptyTag | AnchorTag | ButtonTag | FormTag | HtmlHtmlTag | IframeTag | ImageTag | InputTag | LabelTag | LinkTag | MetaTag; interface IntrinsicElements { a: AnchorTag; abbr: GenericTag; address: GenericTag; area: EmptyTag; article: GenericTag; aside: GenericTag; audio: GenericTag; b: GenericTag; base: EmptyTag; bdi: GenericTag; bdo: GenericTag; big: GenericTag; blockquote: GenericTag; body: GenericTag; br: EmptyTag; button: ButtonTag; canvas: GenericTag; caption: GenericTag; cite: GenericTag; code: GenericTag; col: EmptyTag; colgroup: GenericTag; data: GenericTag; datalist: GenericTag; dd: GenericTag; del: GenericTag; details: GenericTag; dfn: GenericTag; dialog: GenericTag; div: GenericTag; dl: GenericTag; dt: GenericTag; em: GenericTag; embed: EmptyTag; fieldset: GenericTag; figcaption: GenericTag; figure: GenericTag; footer: GenericTag; form: FormTag; h1: GenericTag; h2: GenericTag; h3: GenericTag; h4: GenericTag; h5: GenericTag; h6: GenericTag; head: GenericTag; header: GenericTag; hgroup: GenericTag; hr: EmptyTag; html: HtmlHtmlTag; i: GenericTag; iframe: IframeTag; img: ImageTag; input: InputTag; ins: GenericTag; kbd: GenericTag; keygen: GenericTag; label: LabelTag; legend: GenericTag; li: GenericTag; link: LinkTag; main: GenericTag; map: GenericTag; mark: GenericTag; menu: GenericTag; menuitem: GenericTag; meta: MetaTag; meter: GenericTag; nav: GenericTag; noindex: GenericTag; noscript: GenericTag; object: GenericTag; ol: GenericTag; optgroup: GenericTag; option: GenericTag; output: GenericTag; p: GenericTag; param: EmptyTag; picture: GenericTag; pre: GenericTag; progress: GenericTag; q: GenericTag; rp: GenericTag; rt: GenericTag; ruby: GenericTag; s: GenericTag; samp: GenericTag; slot: GenericTag; script: GenericTag; section: GenericTag; select: GenericTag; small: GenericTag; source: EmptyTag; span: GenericTag; strong: GenericTag; style: GenericTag; sub: GenericTag; summary: GenericTag; sup: GenericTag; table: GenericTag; template: GenericTag; tbody: GenericTag; td: GenericTag; textarea: GenericTag; tfoot: GenericTag; th: GenericTag; thead: GenericTag; time: GenericTag; title: GenericTag; tr: GenericTag; track: EmptyTag; u: GenericTag; ul: GenericTag; var: GenericTag; video: GenericTag; wbr: EmptyTag; webview: GenericTag; svg: GenericTag; animate: GenericTag; animateMotion: GenericTag; animateTransform: GenericTag; circle: GenericTag; clipPath: GenericTag; defs: GenericTag; desc: GenericTag; ellipse: GenericTag; feBlend: GenericTag; feColorMatrix: GenericTag; feComponentTransfer: GenericTag; feComposite: GenericTag; feConvolveMatrix: GenericTag; feDiffuseLighting: GenericTag; feDisplacementMap: GenericTag; feDistantLight: GenericTag; feDropShadow: GenericTag; feFlood: GenericTag; feFuncA: GenericTag; feFuncB: GenericTag; feFuncG: GenericTag; feFuncR: GenericTag; feGaussianBlur: GenericTag; feImage: GenericTag; feMerge: GenericTag; feMergeNode: GenericTag; feMorphology: GenericTag; feOffset: GenericTag; fePointLight: GenericTag; feSpecularLighting: GenericTag; feSpotLight: GenericTag; feTile: GenericTag; feTurbulence: GenericTag; filter: GenericTag; foreignObject: GenericTag; g: GenericTag; image: GenericTag; line: GenericTag; linearGradient: GenericTag; marker: GenericTag; mask: GenericTag; metadata: GenericTag; mpath: GenericTag; path: GenericTag; pattern: GenericTag; polygon: GenericTag; polyline: GenericTag; radialGradient: GenericTag; rect: GenericTag; stop: GenericTag; switch: GenericTag; symbol: GenericTag; text: GenericTag; textPath: GenericTag; tspan: GenericTag; use: GenericTag; view: GenericTag; } } }