UNPKG

@soil/dom

Version:

Declaratively create type-safe HTML and SVG elements.

142 lines (141 loc) 6.49 kB
import { HTMLElementChildrenMap } from './HTMLElementChildrenMap'; import { Props } from '../../../shared/types/Props'; declare type H = { [T in keyof HTMLElementTagNameMap]: (props?: Props<HTMLElementTagNameMap[T]>, children?: HTMLElementChildrenMap[T]) => HTMLElementTagNameMap[T]; }; /** * Helpers to facilitate the concise creation of any HTML element. * * NOTE The following functions silently depend on the `document` variable * being globally available. Therefore, unit tests of components that use them * must be run inside a browser, or must expose `document` globally, e.g. * through PhantomJS or jsdom. * * TODO Missing: <rb>, <rtc>. */ export declare const h: H; /** * Nice-to-remember aliases for all HTML element interfaces. */ export declare namespace h { type A = HTMLElementTagNameMap['a']; type Abbr = HTMLElementTagNameMap['abbr']; type Address = HTMLElementTagNameMap['address']; type Applet = HTMLElementTagNameMap['applet']; type Area = HTMLElementTagNameMap['area']; type Article = HTMLElementTagNameMap['article']; type Aside = HTMLElementTagNameMap['aside']; type Audio = HTMLElementTagNameMap['audio']; type B = HTMLElementTagNameMap['b']; type Base = HTMLElementTagNameMap['base']; type Basefont = HTMLElementTagNameMap['basefont']; type Bdi = HTMLElementTagNameMap['bdi']; type Bdo = HTMLElementTagNameMap['bdo']; type Blockquote = HTMLElementTagNameMap['blockquote']; type Body = HTMLElementTagNameMap['body']; type Br = HTMLElementTagNameMap['br']; type Button = HTMLElementTagNameMap['button']; type Canvas = HTMLElementTagNameMap['canvas']; type Caption = HTMLElementTagNameMap['caption']; type Cite = HTMLElementTagNameMap['cite']; type Code = HTMLElementTagNameMap['code']; type Col = HTMLElementTagNameMap['col']; type Colgroup = HTMLElementTagNameMap['colgroup']; type Data = HTMLElementTagNameMap['data']; type Datalist = HTMLElementTagNameMap['datalist']; type Dd = HTMLElementTagNameMap['dd']; type Del = HTMLElementTagNameMap['del']; type Details = HTMLElementTagNameMap['details']; type Dfn = HTMLElementTagNameMap['dfn']; type Dialog = HTMLElementTagNameMap['dialog']; type Dir = HTMLElementTagNameMap['dir']; type Div = HTMLElementTagNameMap['div']; type Dl = HTMLElementTagNameMap['dl']; type Dt = HTMLElementTagNameMap['dt']; type Em = HTMLElementTagNameMap['em']; type Embed = HTMLElementTagNameMap['embed']; type Fieldset = HTMLElementTagNameMap['fieldset']; type Figcaption = HTMLElementTagNameMap['figcaption']; type Figure = HTMLElementTagNameMap['figure']; type Font = HTMLElementTagNameMap['font']; type Footer = HTMLElementTagNameMap['footer']; type Form = HTMLElementTagNameMap['form']; type Frame = HTMLElementTagNameMap['frame']; type Frameset = HTMLElementTagNameMap['frameset']; type H1 = HTMLElementTagNameMap['h1']; type H2 = HTMLElementTagNameMap['h2']; type H3 = HTMLElementTagNameMap['h3']; type H4 = HTMLElementTagNameMap['h4']; type H5 = HTMLElementTagNameMap['h5']; type H6 = HTMLElementTagNameMap['h6']; type Head = HTMLElementTagNameMap['head']; type Header = HTMLElementTagNameMap['header']; type Hgroup = HTMLElementTagNameMap['hgroup']; type Hr = HTMLElementTagNameMap['hr']; type Html = HTMLElementTagNameMap['html']; type I = HTMLElementTagNameMap['i']; type Iframe = HTMLElementTagNameMap['iframe']; type Img = HTMLElementTagNameMap['img']; type Input = HTMLElementTagNameMap['input']; type Ins = HTMLElementTagNameMap['ins']; type Kbd = HTMLElementTagNameMap['kbd']; type Label = HTMLElementTagNameMap['label']; type Legend = HTMLElementTagNameMap['legend']; type Li = HTMLElementTagNameMap['li']; type Link = HTMLElementTagNameMap['link']; type Main = HTMLElementTagNameMap['main']; type Map = HTMLElementTagNameMap['map']; type Mark = HTMLElementTagNameMap['mark']; type Marquee = HTMLElementTagNameMap['marquee']; type Menu = HTMLElementTagNameMap['menu']; type Meta = HTMLElementTagNameMap['meta']; type Meter = HTMLElementTagNameMap['meter']; type Nav = HTMLElementTagNameMap['nav']; type Noscript = HTMLElementTagNameMap['noscript']; type Object = HTMLElementTagNameMap['object']; type Ol = HTMLElementTagNameMap['ol']; type Optgroup = HTMLElementTagNameMap['optgroup']; type Option = HTMLElementTagNameMap['option']; type Output = HTMLElementTagNameMap['output']; type P = HTMLElementTagNameMap['p']; type Param = HTMLElementTagNameMap['param']; type Picture = HTMLElementTagNameMap['picture']; type Pre = HTMLElementTagNameMap['pre']; type Progress = HTMLElementTagNameMap['progress']; type Q = HTMLElementTagNameMap['q']; type Rp = HTMLElementTagNameMap['rp']; type Rt = HTMLElementTagNameMap['rt']; type Ruby = HTMLElementTagNameMap['ruby']; type S = HTMLElementTagNameMap['s']; type Samp = HTMLElementTagNameMap['samp']; type Script = HTMLElementTagNameMap['script']; type Section = HTMLElementTagNameMap['section']; type Select = HTMLElementTagNameMap['select']; type Slot = HTMLElementTagNameMap['slot']; type Small = HTMLElementTagNameMap['small']; type Source = HTMLElementTagNameMap['source']; type Span = HTMLElementTagNameMap['span']; type Strong = HTMLElementTagNameMap['strong']; type Style = HTMLElementTagNameMap['style']; type Sub = HTMLElementTagNameMap['sub']; type Summary = HTMLElementTagNameMap['summary']; type Sup = HTMLElementTagNameMap['sup']; type Table = HTMLElementTagNameMap['table']; type Tbody = HTMLElementTagNameMap['tbody']; type Td = HTMLElementTagNameMap['td']; type Template = HTMLElementTagNameMap['template']; type Textarea = HTMLElementTagNameMap['textarea']; type Tfoot = HTMLElementTagNameMap['tfoot']; type Th = HTMLElementTagNameMap['th']; type Thead = HTMLElementTagNameMap['thead']; type Time = HTMLElementTagNameMap['time']; type Title = HTMLElementTagNameMap['title']; type Tr = HTMLElementTagNameMap['tr']; type Track = HTMLElementTagNameMap['track']; type U = HTMLElementTagNameMap['u']; type Ul = HTMLElementTagNameMap['ul']; type Var = HTMLElementTagNameMap['var']; type Video = HTMLElementTagNameMap['video']; type Wbr = HTMLElementTagNameMap['wbr']; } export {};