UNPKG

@lume/element

Version:

Create Custom Elements with reactivity and automatic re-rendering.

89 lines (83 loc) 5.13 kB
import type {JSX} from './jsx-runtime.js' // These are for use in TypeScript to cast JSX to certain DOM types. They are // not needed in plain JavaScript. export const element = (e: JSX.Element) => elm<Element>(e) // HTML export const htmlElement = (e: JSX.Element) => elm<HTMLElement>(e) export const a = (e: JSX.Element) => elm<HTMLAnchorElement>(e) export const address = (e: JSX.Element) => elm<HTMLElement>(e) export const area = (e: JSX.Element) => elm<HTMLAreaElement>(e) export const audio = (e: JSX.Element) => elm<HTMLAudioElement>(e) export const bdi = (e: JSX.Element) => elm<HTMLElement>(e) export const bdo = (e: JSX.Element) => elm<HTMLElement>(e) export const blockquote = (e: JSX.Element) => elm<HTMLQuoteElement>(e) export const br = (e: JSX.Element) => elm<HTMLBRElement>(e) export const button = (e: JSX.Element) => elm<HTMLButtonElement>(e) export const canvas = (e: JSX.Element) => elm<HTMLCanvasElement>(e) export const caption = (e: JSX.Element) => elm<HTMLTableCaptionElement>(e) export const code = (e: JSX.Element) => elm<HTMLElement>(e) export const col = (e: JSX.Element) => elm<HTMLTableColElement>(e) export const colgroup = (e: JSX.Element) => elm<HTMLTableColElement>(e) export const details = (e: JSX.Element) => elm<HTMLDetailsElement>(e) export const dialog = (e: JSX.Element) => elm<HTMLDialogElement>(e) export const div = (e: JSX.Element) => elm<HTMLDivElement>(e) export const fieldset = (e: JSX.Element) => elm<HTMLFieldSetElement>(e) export const form = (e: JSX.Element) => elm<HTMLFormElement>(e) export const h1 = (e: JSX.Element) => elm<HTMLHeadingElement>(e) export const h2 = (e: JSX.Element) => elm<HTMLHeadingElement>(e) export const h3 = (e: JSX.Element) => elm<HTMLHeadingElement>(e) export const h4 = (e: JSX.Element) => elm<HTMLHeadingElement>(e) export const h5 = (e: JSX.Element) => elm<HTMLHeadingElement>(e) export const h6 = (e: JSX.Element) => elm<HTMLHeadingElement>(e) export const iframe = (e: JSX.Element) => elm<HTMLIFrameElement>(e) export const img = (e: JSX.Element) => elm<HTMLImageElement>(e) export const input = (e: JSX.Element) => elm<HTMLInputElement>(e) export const label = (e: JSX.Element) => elm<HTMLLabelElement>(e) export const legend = (e: JSX.Element) => elm<HTMLLegendElement>(e) export const li = (e: JSX.Element) => elm<HTMLLIElement>(e) export const link = (e: JSX.Element) => elm<HTMLLinkElement>(e) export const map = (e: JSX.Element) => elm<HTMLMapElement>(e) export const mark = (e: JSX.Element) => elm<HTMLElement>(e) export const menu = (e: JSX.Element) => elm<HTMLMenuElement>(e) export const meter = (e: JSX.Element) => elm<HTMLMeterElement>(e) export const object = (e: JSX.Element) => elm<HTMLVideoElement>(e) export const ol = (e: JSX.Element) => elm<HTMLOListElement>(e) export const option = (e: JSX.Element) => elm<HTMLOptionElement>(e) export const p = (e: JSX.Element) => elm<HTMLParagraphElement>(e) export const pre = (e: JSX.Element) => elm<HTMLPreElement>(e) export const progress = (e: JSX.Element) => elm<HTMLProgressElement>(e) export const q = (e: JSX.Element) => elm<HTMLQuoteElement>(e) export const script = (e: JSX.Element) => elm<HTMLScriptElement>(e) export const section = (e: JSX.Element) => elm<HTMLElement>(e) export const select = (e: JSX.Element) => elm<HTMLSelectElement>(e) export const slot = (e: JSX.Element) => elm<HTMLSlotElement>(e) export const span = (e: JSX.Element) => elm<HTMLSpanElement>(e) export const style = (e: JSX.Element) => elm<HTMLStyleElement>(e) export const summary = (e: JSX.Element) => elm<HTMLElement>(e) export const table = (e: JSX.Element) => elm<HTMLTableElement>(e) export const tbody = (e: JSX.Element) => elm<HTMLTableSectionElement>(e) export const td = (e: JSX.Element) => elm<HTMLTableCellElement>(e) export const template = (e: JSX.Element) => elm<HTMLTemplateElement>(e) export const tfoot = (e: JSX.Element) => elm<HTMLTableSectionElement>(e) export const th = (e: JSX.Element) => elm<HTMLTableCellElement>(e) export const thead = (e: JSX.Element) => elm<HTMLTableSectionElement>(e) export const time = (e: JSX.Element) => elm<HTMLElement>(e) export const tr = (e: JSX.Element) => elm<HTMLTableRowElement>(e) export const ul = (e: JSX.Element) => elm<HTMLUListElement>(e) export const video = (e: JSX.Element) => elm<HTMLVideoElement>(e) // SVG export const svgElement = (e: JSX.Element) => elm<SVGElement>(e) export const circle = (e: JSX.Element) => elm<SVGCircleElement>(e) export const defs = (e: JSX.Element) => elm<SVGDefsElement>(e) export const g = (e: JSX.Element) => elm<SVGGElement>(e) export const path = (e: JSX.Element) => elm<SVGPathElement>(e) export const rect = (e: JSX.Element) => elm<SVGRectElement>(e) export const svg = (e: JSX.Element) => elm<SVGSVGElement>(e) export const symbol = (e: JSX.Element) => elm<SVGSymbolElement>(e) export const text = (e: JSX.Element) => elm<SVGTextElement>(e) export const title = (e: JSX.Element) => elm<SVGTitleElement>(e) export const use = (e: JSX.Element) => elm<SVGUseElement>(e) export const view = (e: JSX.Element) => elm<SVGViewElement>(e) export function elm<T>(e: JSX.Element) { return e as any as T }