@eeue56/coed
Version:
Write HTML in pure TS
1,738 lines (1,329 loc) • 34.5 kB
Markdown
## type Tag
```javascript
export type Tag =
| "a"
| "abbr"
| "address"
| "area"
| "article"
| "aside"
| "audio"
| "b"
| "base"
| "bdi"
| "bdo"
| "blockquote"
| "body"
| "br"
| "button"
| "canvas"
| "caption"
| "cite"
| "code"
| "col"
| "colgroup"
| "data"
| "datalist"
| "dd"
| "del"
| "details"
| "dfn"
| "dialog"
| "div"
| "dl"
| "dt"
| "em"
| "embed"
| "fieldset"
| "figure"
| "footer"
| "form"
| "h1"
| "h2"
| "h3"
| "h4"
| "h5"
| "h6"
| "head"
| "header"
| "hgroup"
| "hr"
| "html"
| "i"
| "iframe"
| "img"
| "input"
| "ins"
| "kbd"
| "keygen"
| "label"
| "legend"
| "li"
| "link"
| "main"
| "map"
| "mark"
| "menu"
| "menuitem"
| "meta"
| "meter"
| "nav"
| "noscript"
| "object"
| "ol"
| "optgroup"
| "option"
| "output"
| "p"
| "param"
| "pre"
| "progress"
| "q"
| "rb"
| "rp"
| "rt"
| "rtc"
| "ruby"
| "s"
| "samp"
| "script"
| "section"
| "select"
| "small"
| "source"
| "span"
| "strong"
| "style"
| "sub"
| "summary"
| "sup"
| "table"
| "tbody"
| "td"
| "template"
| "textarea"
| "tfoot"
| "th"
| "thead"
| "time"
| "title"
| "tr"
| "track"
| "u"
| "ul"
| "var"
| "video"
| "wbr";
```
[View source](https://github.com/eeue56/coed/blob/main/src/coed.ts#L2-L116)
## type Attribute
```javascript
export type Attribute =
| None
| StringAttribute
| NumberAttribute
| StyleAttribute;
```
/\*_
Used to represent the different types of attributes possible.
_/
[View source](https://github.com/eeue56/coed/blob/main/src/coed.ts#L142-L147)
## class\_
```javascript
export function class_(str: string): Attribute {
```
/\*\*
Creates a class attribute - classes are combined by the html creator, so you can use it like:
```
html.div([ ], [ class_("one"), class_("two") ], [ ])
```
\*/
[View source](https://github.com/eeue56/coed/blob/main/src/coed.ts#L154-L154)
## style\_
```javascript
export function style_(key: string, value: string): Attribute {
```
/\*\*
Creates a style attribute - styles are combined by the html creator, so you can use it like:
```
html.div([ ], [ style_("color", "red"), style_("background-color", "blue") ], [ ])
```
\*/
[View source](https://github.com/eeue56/coed/blob/main/src/coed.ts#L168-L168)
## none
```javascript
export function none(): Attribute {
```
/\*\*
An empty attribute - filtered by the html creator on creation. This is useful if you have a tenary
operator, e.g:
```
html.div([ ], [ somethingTruthy ? none() : class_("something") ], [ ])
```
\*/
[View source](https://github.com/eeue56/coed/blob/main/src/coed.ts#L183-L183)
## attribute
```javascript
export function attribute(key: string, value: string): Attribute {
```
/\*_
Create an attribute with a given key and value. This is set via `setAttribute` at runtime.
_/
[View source](https://github.com/eeue56/coed/blob/main/src/coed.ts#L192-L192)
## type Event<Msg>
```javascript
export type Event<Msg> = {
name: string,
tagger(data: any): Msg,
};
```
/\*_
Every event has a `name`, like `click`, and a tagger which produces a message of the right type
_/
[View source](https://github.com/eeue56/coed/blob/main/src/coed.ts#L206-L210)
## on
```javascript
export function on<Msg>(name: string, tagger: (data: any) => Msg): Event<Msg> {
```
/\*_
Creates an event handler for passing to a html node
_/
[View source](https://github.com/eeue56/coed/blob/main/src/coed.ts#L214-L214)
## onInput
```javascript
export function onInput<Msg>(tagger: (data: string) => Msg): Event<Msg> {
```
/\*_
Special-cased input handler
_/
[View source](https://github.com/eeue56/coed/blob/main/src/coed.ts#L230-L230)
## type HtmlNode<Msg>
```javascript
export type HtmlNode<Msg> = TextNode | RegularNode<Msg> | VoidNode<Msg>;
```
/\*\*
A HtmlNode is either a text, like:
```
html.text("hello world")
```
Or html, like:
```
html.div([ ], [ ], [ ])
```
\*/
[View source](https://github.com/eeue56/coed/blob/main/src/coed.ts#L273-L274)
## text
```javascript
export function text(str: string): TextNode {
```
/\*_
Creates a text node
_/
[View source](https://github.com/eeue56/coed/blob/main/src/coed.ts#L278-L278)
## node
```javascript
export function node<Msg>(
tag: Tag,
events: Event<Msg>[],
attributes: Attribute[],
children: HtmlNode<Msg>[]
): RegularNode<Msg> {
```
/\*_
Creates a html node with a given tag name, any events, any attributes and any children.
_/
[View source](https://github.com/eeue56/coed/blob/main/src/coed.ts#L288-L293)
## voidNode
```javascript
export function voidNode<Msg>(
tag: Tag,
events: Event<Msg>[],
attributes: Attribute[]
): VoidNode<Msg> {
```
/\*_
Creates a void html node with a given tag name, any events, any attributes.
_/
[View source](https://github.com/eeue56/coed/blob/main/src/coed.ts#L307-L311)
## render
```javascript
export function render<Msg>(node: HtmlNode<Msg>, depth = 0): string {
```
/\*_
Renders a HtmlNode tree as a string.
_/
[View source](https://github.com/eeue56/coed/blob/main/src/coed.ts#L399-L399)
## buildTree
```javascript
export function buildTree<Msg>(
listener: (msg: Msg) => void,
node: HtmlNode<Msg>
): HTMLElement | Text {
```
/\*_
Builds a HTMLElement tree from a HtmlNode tree, with event triggers being sent to the runner via the listener
This function should not be needed by most usage.
_/
[View source](https://github.com/eeue56/coed/blob/main/src/coed.ts#L437-L440)
## triggerEvent
```javascript
export function triggerEvent<Msg>(
eventName: string,
payload: any,
node: HtmlNode<Msg>
): Maybe.Maybe<Msg> {
```
/\*_
Triggers the event by name, passing it the payload provided.
This function is useful for testing but not much else
_/
[View source](https://github.com/eeue56/coed/blob/main/src/coed.ts#L485-L489)
## map
```javascript
export function map<A, B>(tagger: (a: A) => B, tree: HtmlNode<A>): HtmlNode<B> {
```
/\*_
Converts a `HtmlNode` of type `A` to a `HtmlNode` of type `B`, including children.
_/
[View source](https://github.com/eeue56/coed/blob/main/src/coed.ts#L509-L509)
## type Program<Model, Msg>
```javascript
export type Program<Model, Msg> = {
initialModel: Model,
view(model: Model): HtmlNode<Msg>,
update(msg: Msg, model: Model, send?: (msg: Msg) => void): Model,
root: HTMLElement,
};
```
/\*_
Every Coed program follows the model-view-update (MVU) pattern made popular on the frontend by Elm.
An initial model is given, which is passed to the view function which then populates the `root` element.
Any events triggered within the view will use the `update` function to create a new model.
Async updates can be handled via the optional `send` callback within the update function.
_/
[View source](https://github.com/eeue56/coed/blob/main/src/coed.ts#L776-L782)
## type RunningProgram<Model, Msg>
```javascript
export type RunningProgram<Model, Msg> = {
program: Program<Model, Msg>,
send: (msg: Msg) => void,
};
```
/\*_
Every running program can be interacted with via `send`.
For example you may want to start a program but send some data to it after loading a network request.
_/
[View source](https://github.com/eeue56/coed/blob/main/src/coed.ts#L787-L791)
## program
```javascript
export function program<Model, Msg>(
program: Program<Model, Msg>
): RunningProgram<Model, Msg> {
```
/\*_
Takes in a program, sets it up and runs it as a main loop
_/
[View source](https://github.com/eeue56/coed/blob/main/src/coed.ts#L795-L797)
## a
```javascript
export function a<Msg>(
events: Event<Msg>[],
attributes: Attribute[],
children: HtmlNode<Msg>[]
): HtmlNode<Msg> {
```
[View source](https://github.com/eeue56/coed/blob/main/src/coed.ts#L820-L824)
## abbr
```javascript
export function abbr<Msg>(
events: Event<Msg>[],
attributes: Attribute[],
children: HtmlNode<Msg>[]
): HtmlNode<Msg> {
```
[View source](https://github.com/eeue56/coed/blob/main/src/coed.ts#L828-L832)
## address
```javascript
export function address<Msg>(
events: Event<Msg>[],
attributes: Attribute[],
children: HtmlNode<Msg>[]
): HtmlNode<Msg> {
```
[View source](https://github.com/eeue56/coed/blob/main/src/coed.ts#L836-L840)
## area
```javascript
export function area<Msg>(
events: Event<Msg>[],
attributes: Attribute[]
): HtmlNode<Msg> {
```
[View source](https://github.com/eeue56/coed/blob/main/src/coed.ts#L844-L847)
## article
```javascript
export function article<Msg>(
events: Event<Msg>[],
attributes: Attribute[],
children: HtmlNode<Msg>[]
): HtmlNode<Msg> {
```
[View source](https://github.com/eeue56/coed/blob/main/src/coed.ts#L851-L855)
## aside
```javascript
export function aside<Msg>(
events: Event<Msg>[],
attributes: Attribute[],
children: HtmlNode<Msg>[]
): HtmlNode<Msg> {
```
[View source](https://github.com/eeue56/coed/blob/main/src/coed.ts#L859-L863)
## audio
```javascript
export function audio<Msg>(
events: Event<Msg>[],
attributes: Attribute[],
children: HtmlNode<Msg>[]
): HtmlNode<Msg> {
```
[View source](https://github.com/eeue56/coed/blob/main/src/coed.ts#L867-L871)
## b
```javascript
export function b<Msg>(
events: Event<Msg>[],
attributes: Attribute[],
children: HtmlNode<Msg>[]
): HtmlNode<Msg> {
```
[View source](https://github.com/eeue56/coed/blob/main/src/coed.ts#L875-L879)
## base
```javascript
export function base<Msg>(
events: Event<Msg>[],
attributes: Attribute[]
): HtmlNode<Msg> {
```
[View source](https://github.com/eeue56/coed/blob/main/src/coed.ts#L883-L886)
## bdi
```javascript
export function bdi<Msg>(
events: Event<Msg>[],
attributes: Attribute[],
children: HtmlNode<Msg>[]
): HtmlNode<Msg> {
```
[View source](https://github.com/eeue56/coed/blob/main/src/coed.ts#L890-L894)
## bdo
```javascript
export function bdo<Msg>(
events: Event<Msg>[],
attributes: Attribute[],
children: HtmlNode<Msg>[]
): HtmlNode<Msg> {
```
[View source](https://github.com/eeue56/coed/blob/main/src/coed.ts#L898-L902)
## blockquote
```javascript
export function blockquote<Msg>(
events: Event<Msg>[],
attributes: Attribute[],
children: HtmlNode<Msg>[]
): HtmlNode<Msg> {
```
[View source](https://github.com/eeue56/coed/blob/main/src/coed.ts#L906-L910)
## body
```javascript
export function body<Msg>(
events: Event<Msg>[],
attributes: Attribute[],
children: HtmlNode<Msg>[]
): HtmlNode<Msg> {
```
[View source](https://github.com/eeue56/coed/blob/main/src/coed.ts#L914-L918)
## br
```javascript
export function br<Msg>(
events: Event<Msg>[],
attributes: Attribute[]
): HtmlNode<Msg> {
```
[View source](https://github.com/eeue56/coed/blob/main/src/coed.ts#L922-L925)
## button
```javascript
export function button<Msg>(
events: Event<Msg>[],
attributes: Attribute[],
children: HtmlNode<Msg>[]
): HtmlNode<Msg> {
```
[View source](https://github.com/eeue56/coed/blob/main/src/coed.ts#L929-L933)
## canvas
```javascript
export function canvas<Msg>(
events: Event<Msg>[],
attributes: Attribute[],
children: HtmlNode<Msg>[]
): HtmlNode<Msg> {
```
[View source](https://github.com/eeue56/coed/blob/main/src/coed.ts#L937-L941)
## caption
```javascript
export function caption<Msg>(
events: Event<Msg>[],
attributes: Attribute[],
children: HtmlNode<Msg>[]
): HtmlNode<Msg> {
```
[View source](https://github.com/eeue56/coed/blob/main/src/coed.ts#L945-L949)
## cite
```javascript
export function cite<Msg>(
events: Event<Msg>[],
attributes: Attribute[],
children: HtmlNode<Msg>[]
): HtmlNode<Msg> {
```
[View source](https://github.com/eeue56/coed/blob/main/src/coed.ts#L953-L957)
## code
```javascript
export function code<Msg>(
events: Event<Msg>[],
attributes: Attribute[],
children: HtmlNode<Msg>[]
): HtmlNode<Msg> {
```
[View source](https://github.com/eeue56/coed/blob/main/src/coed.ts#L961-L965)
## col
```javascript
export function col<Msg>(
events: Event<Msg>[],
attributes: Attribute[]
): HtmlNode<Msg> {
```
[View source](https://github.com/eeue56/coed/blob/main/src/coed.ts#L969-L972)
## colgroup
```javascript
export function colgroup<Msg>(
events: Event<Msg>[],
attributes: Attribute[],
children: HtmlNode<Msg>[]
): HtmlNode<Msg> {
```
[View source](https://github.com/eeue56/coed/blob/main/src/coed.ts#L976-L980)
## data
```javascript
export function data<Msg>(
events: Event<Msg>[],
attributes: Attribute[],
children: HtmlNode<Msg>[]
): HtmlNode<Msg> {
```
[View source](https://github.com/eeue56/coed/blob/main/src/coed.ts#L984-L988)
## datalist
```javascript
export function datalist<Msg>(
events: Event<Msg>[],
attributes: Attribute[],
children: HtmlNode<Msg>[]
): HtmlNode<Msg> {
```
[View source](https://github.com/eeue56/coed/blob/main/src/coed.ts#L992-L996)
## dd
```javascript
export function dd<Msg>(
events: Event<Msg>[],
attributes: Attribute[],
children: HtmlNode<Msg>[]
): HtmlNode<Msg> {
```
[View source](https://github.com/eeue56/coed/blob/main/src/coed.ts#L1000-L1004)
## del
```javascript
export function del<Msg>(
events: Event<Msg>[],
attributes: Attribute[],
children: HtmlNode<Msg>[]
): HtmlNode<Msg> {
```
[View source](https://github.com/eeue56/coed/blob/main/src/coed.ts#L1008-L1012)
## details
```javascript
export function details<Msg>(
events: Event<Msg>[],
attributes: Attribute[],
children: HtmlNode<Msg>[]
): HtmlNode<Msg> {
```
[View source](https://github.com/eeue56/coed/blob/main/src/coed.ts#L1016-L1020)
## dfn
```javascript
export function dfn<Msg>(
events: Event<Msg>[],
attributes: Attribute[],
children: HtmlNode<Msg>[]
): HtmlNode<Msg> {
```
[View source](https://github.com/eeue56/coed/blob/main/src/coed.ts#L1024-L1028)
## dialog
```javascript
export function dialog<Msg>(
events: Event<Msg>[],
attributes: Attribute[],
children: HtmlNode<Msg>[]
): HtmlNode<Msg> {
```
[View source](https://github.com/eeue56/coed/blob/main/src/coed.ts#L1032-L1036)
## div
```javascript
export function div<Msg>(
events: Event<Msg>[],
attributes: Attribute[],
children: HtmlNode<Msg>[]
): HtmlNode<Msg> {
```
[View source](https://github.com/eeue56/coed/blob/main/src/coed.ts#L1040-L1044)
## dl
```javascript
export function dl<Msg>(
events: Event<Msg>[],
attributes: Attribute[],
children: HtmlNode<Msg>[]
): HtmlNode<Msg> {
```
[View source](https://github.com/eeue56/coed/blob/main/src/coed.ts#L1048-L1052)
## dt
```javascript
export function dt<Msg>(
events: Event<Msg>[],
attributes: Attribute[],
children: HtmlNode<Msg>[]
): HtmlNode<Msg> {
```
[View source](https://github.com/eeue56/coed/blob/main/src/coed.ts#L1056-L1060)
## em
```javascript
export function em<Msg>(
events: Event<Msg>[],
attributes: Attribute[],
children: HtmlNode<Msg>[]
): HtmlNode<Msg> {
```
[View source](https://github.com/eeue56/coed/blob/main/src/coed.ts#L1064-L1068)
## embed
```javascript
export function embed<Msg>(
events: Event<Msg>[],
attributes: Attribute[]
): HtmlNode<Msg> {
```
[View source](https://github.com/eeue56/coed/blob/main/src/coed.ts#L1072-L1075)
## fieldset
```javascript
export function fieldset<Msg>(
events: Event<Msg>[],
attributes: Attribute[],
children: HtmlNode<Msg>[]
): HtmlNode<Msg> {
```
[View source](https://github.com/eeue56/coed/blob/main/src/coed.ts#L1079-L1083)
## figure
```javascript
export function figure<Msg>(
events: Event<Msg>[],
attributes: Attribute[],
children: HtmlNode<Msg>[]
): HtmlNode<Msg> {
```
[View source](https://github.com/eeue56/coed/blob/main/src/coed.ts#L1087-L1091)
## footer
```javascript
export function footer<Msg>(
events: Event<Msg>[],
attributes: Attribute[],
children: HtmlNode<Msg>[]
): HtmlNode<Msg> {
```
[View source](https://github.com/eeue56/coed/blob/main/src/coed.ts#L1095-L1099)
## form
```javascript
export function form<Msg>(
events: Event<Msg>[],
attributes: Attribute[],
children: HtmlNode<Msg>[]
): HtmlNode<Msg> {
```
[View source](https://github.com/eeue56/coed/blob/main/src/coed.ts#L1103-L1107)
## h1
```javascript
export function h1<Msg>(
events: Event<Msg>[],
attributes: Attribute[],
children: HtmlNode<Msg>[]
): HtmlNode<Msg> {
```
[View source](https://github.com/eeue56/coed/blob/main/src/coed.ts#L1111-L1115)
## h2
```javascript
export function h2<Msg>(
events: Event<Msg>[],
attributes: Attribute[],
children: HtmlNode<Msg>[]
): HtmlNode<Msg> {
```
[View source](https://github.com/eeue56/coed/blob/main/src/coed.ts#L1119-L1123)
## h3
```javascript
export function h3<Msg>(
events: Event<Msg>[],
attributes: Attribute[],
children: HtmlNode<Msg>[]
): HtmlNode<Msg> {
```
[View source](https://github.com/eeue56/coed/blob/main/src/coed.ts#L1127-L1131)
## h4
```javascript
export function h4<Msg>(
events: Event<Msg>[],
attributes: Attribute[],
children: HtmlNode<Msg>[]
): HtmlNode<Msg> {
```
[View source](https://github.com/eeue56/coed/blob/main/src/coed.ts#L1135-L1139)
## h5
```javascript
export function h5<Msg>(
events: Event<Msg>[],
attributes: Attribute[],
children: HtmlNode<Msg>[]
): HtmlNode<Msg> {
```
[View source](https://github.com/eeue56/coed/blob/main/src/coed.ts#L1143-L1147)
## h6
```javascript
export function h6<Msg>(
events: Event<Msg>[],
attributes: Attribute[],
children: HtmlNode<Msg>[]
): HtmlNode<Msg> {
```
[View source](https://github.com/eeue56/coed/blob/main/src/coed.ts#L1151-L1155)
## head
```javascript
export function head<Msg>(
events: Event<Msg>[],
attributes: Attribute[],
children: HtmlNode<Msg>[]
): HtmlNode<Msg> {
```
[View source](https://github.com/eeue56/coed/blob/main/src/coed.ts#L1159-L1163)
## header
```javascript
export function header<Msg>(
events: Event<Msg>[],
attributes: Attribute[],
children: HtmlNode<Msg>[]
): HtmlNode<Msg> {
```
[View source](https://github.com/eeue56/coed/blob/main/src/coed.ts#L1167-L1171)
## hgroup
```javascript
export function hgroup<Msg>(
events: Event<Msg>[],
attributes: Attribute[],
children: HtmlNode<Msg>[]
): HtmlNode<Msg> {
```
[View source](https://github.com/eeue56/coed/blob/main/src/coed.ts#L1175-L1179)
## hr
```javascript
export function hr<Msg>(
events: Event<Msg>[],
attributes: Attribute[]
): HtmlNode<Msg> {
```
[View source](https://github.com/eeue56/coed/blob/main/src/coed.ts#L1183-L1186)
## html
```javascript
export function html<Msg>(
events: Event<Msg>[],
attributes: Attribute[],
children: HtmlNode<Msg>[]
): HtmlNode<Msg> {
```
[View source](https://github.com/eeue56/coed/blob/main/src/coed.ts#L1190-L1194)
## i
```javascript
export function i<Msg>(
events: Event<Msg>[],
attributes: Attribute[],
children: HtmlNode<Msg>[]
): HtmlNode<Msg> {
```
[View source](https://github.com/eeue56/coed/blob/main/src/coed.ts#L1198-L1202)
## iframe
```javascript
export function iframe<Msg>(
events: Event<Msg>[],
attributes: Attribute[],
children: HtmlNode<Msg>[]
): HtmlNode<Msg> {
```
[View source](https://github.com/eeue56/coed/blob/main/src/coed.ts#L1206-L1210)
## img
```javascript
export function img<Msg>(
events: Event<Msg>[],
attributes: Attribute[]
): HtmlNode<Msg> {
```
[View source](https://github.com/eeue56/coed/blob/main/src/coed.ts#L1214-L1217)
## input
```javascript
export function input<Msg>(
events: Event<Msg>[],
attributes: Attribute[]
): HtmlNode<Msg> {
```
[View source](https://github.com/eeue56/coed/blob/main/src/coed.ts#L1221-L1224)
## ins
```javascript
export function ins<Msg>(
events: Event<Msg>[],
attributes: Attribute[],
children: HtmlNode<Msg>[]
): HtmlNode<Msg> {
```
[View source](https://github.com/eeue56/coed/blob/main/src/coed.ts#L1228-L1232)
## kbd
```javascript
export function kbd<Msg>(
events: Event<Msg>[],
attributes: Attribute[],
children: HtmlNode<Msg>[]
): HtmlNode<Msg> {
```
[View source](https://github.com/eeue56/coed/blob/main/src/coed.ts#L1236-L1240)
## keygen
```javascript
export function keygen<Msg>(
events: Event<Msg>[],
attributes: Attribute[],
children: HtmlNode<Msg>[]
): HtmlNode<Msg> {
```
[View source](https://github.com/eeue56/coed/blob/main/src/coed.ts#L1244-L1248)
## label
```javascript
export function label<Msg>(
events: Event<Msg>[],
attributes: Attribute[],
children: HtmlNode<Msg>[]
): HtmlNode<Msg> {
```
[View source](https://github.com/eeue56/coed/blob/main/src/coed.ts#L1252-L1256)
## legend
```javascript
export function legend<Msg>(
events: Event<Msg>[],
attributes: Attribute[],
children: HtmlNode<Msg>[]
): HtmlNode<Msg> {
```
[View source](https://github.com/eeue56/coed/blob/main/src/coed.ts#L1260-L1264)
## li
```javascript
export function li<Msg>(
events: Event<Msg>[],
attributes: Attribute[],
children: HtmlNode<Msg>[]
): HtmlNode<Msg> {
```
[View source](https://github.com/eeue56/coed/blob/main/src/coed.ts#L1268-L1272)
## link
```javascript
export function link<Msg>(
events: Event<Msg>[],
attributes: Attribute[]
): HtmlNode<Msg> {
```
[View source](https://github.com/eeue56/coed/blob/main/src/coed.ts#L1276-L1279)
## main
```javascript
export function main<Msg>(
events: Event<Msg>[],
attributes: Attribute[],
children: HtmlNode<Msg>[]
): HtmlNode<Msg> {
```
[View source](https://github.com/eeue56/coed/blob/main/src/coed.ts#L1283-L1287)
## map\_
```javascript
export function map_<Msg>(
events: Event<Msg>[],
attributes: Attribute[],
children: HtmlNode<Msg>[]
): HtmlNode<Msg> {
```
[View source](https://github.com/eeue56/coed/blob/main/src/coed.ts#L1291-L1295)
## mark
```javascript
export function mark<Msg>(
events: Event<Msg>[],
attributes: Attribute[],
children: HtmlNode<Msg>[]
): HtmlNode<Msg> {
```
[View source](https://github.com/eeue56/coed/blob/main/src/coed.ts#L1299-L1303)
## menu
```javascript
export function menu<Msg>(
events: Event<Msg>[],
attributes: Attribute[],
children: HtmlNode<Msg>[]
): HtmlNode<Msg> {
```
[View source](https://github.com/eeue56/coed/blob/main/src/coed.ts#L1307-L1311)
## menuitem
```javascript
export function menuitem<Msg>(
events: Event<Msg>[],
attributes: Attribute[],
children: HtmlNode<Msg>[]
): HtmlNode<Msg> {
```
[View source](https://github.com/eeue56/coed/blob/main/src/coed.ts#L1315-L1319)
## meta
```javascript
export function meta<Msg>(
events: Event<Msg>[],
attributes: Attribute[]
): HtmlNode<Msg> {
```
[View source](https://github.com/eeue56/coed/blob/main/src/coed.ts#L1323-L1326)
## meter
```javascript
export function meter<Msg>(
events: Event<Msg>[],
attributes: Attribute[],
children: HtmlNode<Msg>[]
): HtmlNode<Msg> {
```
[View source](https://github.com/eeue56/coed/blob/main/src/coed.ts#L1330-L1334)
## nav
```javascript
export function nav<Msg>(
events: Event<Msg>[],
attributes: Attribute[],
children: HtmlNode<Msg>[]
): HtmlNode<Msg> {
```
[View source](https://github.com/eeue56/coed/blob/main/src/coed.ts#L1338-L1342)
## noscript
```javascript
export function noscript<Msg>(
events: Event<Msg>[],
attributes: Attribute[],
children: HtmlNode<Msg>[]
): HtmlNode<Msg> {
```
[View source](https://github.com/eeue56/coed/blob/main/src/coed.ts#L1346-L1350)
## object
```javascript
export function object<Msg>(
events: Event<Msg>[],
attributes: Attribute[],
children: HtmlNode<Msg>[]
): HtmlNode<Msg> {
```
[View source](https://github.com/eeue56/coed/blob/main/src/coed.ts#L1354-L1358)
## ol
```javascript
export function ol<Msg>(
events: Event<Msg>[],
attributes: Attribute[],
children: HtmlNode<Msg>[]
): HtmlNode<Msg> {
```
[View source](https://github.com/eeue56/coed/blob/main/src/coed.ts#L1362-L1366)
## optgroup
```javascript
export function optgroup<Msg>(
events: Event<Msg>[],
attributes: Attribute[],
children: HtmlNode<Msg>[]
): HtmlNode<Msg> {
```
[View source](https://github.com/eeue56/coed/blob/main/src/coed.ts#L1370-L1374)
## option
```javascript
export function option<Msg>(
events: Event<Msg>[],
attributes: Attribute[],
children: HtmlNode<Msg>[]
): HtmlNode<Msg> {
```
[View source](https://github.com/eeue56/coed/blob/main/src/coed.ts#L1378-L1382)
## output
```javascript
export function output<Msg>(
events: Event<Msg>[],
attributes: Attribute[],
children: HtmlNode<Msg>[]
): HtmlNode<Msg> {
```
[View source](https://github.com/eeue56/coed/blob/main/src/coed.ts#L1386-L1390)
## p
```javascript
export function p<Msg>(
events: Event<Msg>[],
attributes: Attribute[],
children: HtmlNode<Msg>[]
): HtmlNode<Msg> {
```
[View source](https://github.com/eeue56/coed/blob/main/src/coed.ts#L1394-L1398)
## param
```javascript
export function param<Msg>(
events: Event<Msg>[],
attributes: Attribute[]
): HtmlNode<Msg> {
```
[View source](https://github.com/eeue56/coed/blob/main/src/coed.ts#L1402-L1405)
## pre
```javascript
export function pre<Msg>(
events: Event<Msg>[],
attributes: Attribute[],
children: HtmlNode<Msg>[]
): HtmlNode<Msg> {
```
[View source](https://github.com/eeue56/coed/blob/main/src/coed.ts#L1409-L1413)
## progress
```javascript
export function progress<Msg>(
events: Event<Msg>[],
attributes: Attribute[],
children: HtmlNode<Msg>[]
): HtmlNode<Msg> {
```
[View source](https://github.com/eeue56/coed/blob/main/src/coed.ts#L1417-L1421)
## q
```javascript
export function q<Msg>(
events: Event<Msg>[],
attributes: Attribute[],
children: HtmlNode<Msg>[]
): HtmlNode<Msg> {
```
[View source](https://github.com/eeue56/coed/blob/main/src/coed.ts#L1425-L1429)
## rb
```javascript
export function rb<Msg>(
events: Event<Msg>[],
attributes: Attribute[],
children: HtmlNode<Msg>[]
): HtmlNode<Msg> {
```
[View source](https://github.com/eeue56/coed/blob/main/src/coed.ts#L1433-L1437)
## rp
```javascript
export function rp<Msg>(
events: Event<Msg>[],
attributes: Attribute[],
children: HtmlNode<Msg>[]
): HtmlNode<Msg> {
```
[View source](https://github.com/eeue56/coed/blob/main/src/coed.ts#L1441-L1445)
## rt
```javascript
export function rt<Msg>(
events: Event<Msg>[],
attributes: Attribute[],
children: HtmlNode<Msg>[]
): HtmlNode<Msg> {
```
[View source](https://github.com/eeue56/coed/blob/main/src/coed.ts#L1449-L1453)
## rtc
```javascript
export function rtc<Msg>(
events: Event<Msg>[],
attributes: Attribute[],
children: HtmlNode<Msg>[]
): HtmlNode<Msg> {
```
[View source](https://github.com/eeue56/coed/blob/main/src/coed.ts#L1457-L1461)
## ruby
```javascript
export function ruby<Msg>(
events: Event<Msg>[],
attributes: Attribute[],
children: HtmlNode<Msg>[]
): HtmlNode<Msg> {
```
[View source](https://github.com/eeue56/coed/blob/main/src/coed.ts#L1465-L1469)
## s
```javascript
export function s<Msg>(
events: Event<Msg>[],
attributes: Attribute[],
children: HtmlNode<Msg>[]
): HtmlNode<Msg> {
```
[View source](https://github.com/eeue56/coed/blob/main/src/coed.ts#L1473-L1477)
## samp
```javascript
export function samp<Msg>(
events: Event<Msg>[],
attributes: Attribute[],
children: HtmlNode<Msg>[]
): HtmlNode<Msg> {
```
[View source](https://github.com/eeue56/coed/blob/main/src/coed.ts#L1481-L1485)
## script
```javascript
export function script<Msg>(
events: Event<Msg>[],
attributes: Attribute[],
children: HtmlNode<Msg>[]
): HtmlNode<Msg> {
```
[View source](https://github.com/eeue56/coed/blob/main/src/coed.ts#L1489-L1493)
## section
```javascript
export function section<Msg>(
events: Event<Msg>[],
attributes: Attribute[],
children: HtmlNode<Msg>[]
): HtmlNode<Msg> {
```
[View source](https://github.com/eeue56/coed/blob/main/src/coed.ts#L1497-L1501)
## select
```javascript
export function select<Msg>(
events: Event<Msg>[],
attributes: Attribute[],
children: HtmlNode<Msg>[]
): HtmlNode<Msg> {
```
[View source](https://github.com/eeue56/coed/blob/main/src/coed.ts#L1505-L1509)
## small
```javascript
export function small<Msg>(
events: Event<Msg>[],
attributes: Attribute[],
children: HtmlNode<Msg>[]
): HtmlNode<Msg> {
```
[View source](https://github.com/eeue56/coed/blob/main/src/coed.ts#L1513-L1517)
## source
```javascript
export function source<Msg>(
events: Event<Msg>[],
attributes: Attribute[]
): HtmlNode<Msg> {
```
[View source](https://github.com/eeue56/coed/blob/main/src/coed.ts#L1521-L1524)
## span
```javascript
export function span<Msg>(
events: Event<Msg>[],
attributes: Attribute[],
children: HtmlNode<Msg>[]
): HtmlNode<Msg> {
```
[View source](https://github.com/eeue56/coed/blob/main/src/coed.ts#L1528-L1532)
## strong
```javascript
export function strong<Msg>(
events: Event<Msg>[],
attributes: Attribute[],
children: HtmlNode<Msg>[]
): HtmlNode<Msg> {
```
[View source](https://github.com/eeue56/coed/blob/main/src/coed.ts#L1536-L1540)
## style
```javascript
export function style<Msg>(
events: Event<Msg>[],
attributes: Attribute[],
children: HtmlNode<Msg>[]
): HtmlNode<Msg> {
```
[View source](https://github.com/eeue56/coed/blob/main/src/coed.ts#L1544-L1548)
## sub
```javascript
export function sub<Msg>(
events: Event<Msg>[],
attributes: Attribute[],
children: HtmlNode<Msg>[]
): HtmlNode<Msg> {
```
[View source](https://github.com/eeue56/coed/blob/main/src/coed.ts#L1552-L1556)
## summary
```javascript
export function summary<Msg>(
events: Event<Msg>[],
attributes: Attribute[],
children: HtmlNode<Msg>[]
): HtmlNode<Msg> {
```
[View source](https://github.com/eeue56/coed/blob/main/src/coed.ts#L1560-L1564)
## sup
```javascript
export function sup<Msg>(
events: Event<Msg>[],
attributes: Attribute[],
children: HtmlNode<Msg>[]
): HtmlNode<Msg> {
```
[View source](https://github.com/eeue56/coed/blob/main/src/coed.ts#L1568-L1572)
## table
```javascript
export function table<Msg>(
events: Event<Msg>[],
attributes: Attribute[],
children: HtmlNode<Msg>[]
): HtmlNode<Msg> {
```
[View source](https://github.com/eeue56/coed/blob/main/src/coed.ts#L1576-L1580)
## tbody
```javascript
export function tbody<Msg>(
events: Event<Msg>[],
attributes: Attribute[],
children: HtmlNode<Msg>[]
): HtmlNode<Msg> {
```
[View source](https://github.com/eeue56/coed/blob/main/src/coed.ts#L1584-L1588)
## td
```javascript
export function td<Msg>(
events: Event<Msg>[],
attributes: Attribute[],
children: HtmlNode<Msg>[]
): HtmlNode<Msg> {
```
[View source](https://github.com/eeue56/coed/blob/main/src/coed.ts#L1592-L1596)
## template
```javascript
export function template<Msg>(
events: Event<Msg>[],
attributes: Attribute[],
children: HtmlNode<Msg>[]
): HtmlNode<Msg> {
```
[View source](https://github.com/eeue56/coed/blob/main/src/coed.ts#L1600-L1604)
## textarea
```javascript
export function textarea<Msg>(
events: Event<Msg>[],
attributes: Attribute[],
children: HtmlNode<Msg>[]
): HtmlNode<Msg> {
```
[View source](https://github.com/eeue56/coed/blob/main/src/coed.ts#L1608-L1612)
## tfoot
```javascript
export function tfoot<Msg>(
events: Event<Msg>[],
attributes: Attribute[],
children: HtmlNode<Msg>[]
): HtmlNode<Msg> {
```
[View source](https://github.com/eeue56/coed/blob/main/src/coed.ts#L1616-L1620)
## th
```javascript
export function th<Msg>(
events: Event<Msg>[],
attributes: Attribute[],
children: HtmlNode<Msg>[]
): HtmlNode<Msg> {
```
[View source](https://github.com/eeue56/coed/blob/main/src/coed.ts#L1624-L1628)
## thead
```javascript
export function thead<Msg>(
events: Event<Msg>[],
attributes: Attribute[],
children: HtmlNode<Msg>[]
): HtmlNode<Msg> {
```
[View source](https://github.com/eeue56/coed/blob/main/src/coed.ts#L1632-L1636)
## time
```javascript
export function time<Msg>(
events: Event<Msg>[],
attributes: Attribute[],
children: HtmlNode<Msg>[]
): HtmlNode<Msg> {
```
[View source](https://github.com/eeue56/coed/blob/main/src/coed.ts#L1640-L1644)
## title
```javascript
export function title<Msg>(
events: Event<Msg>[],
attributes: Attribute[],
children: HtmlNode<Msg>[]
): HtmlNode<Msg> {
```
[View source](https://github.com/eeue56/coed/blob/main/src/coed.ts#L1648-L1652)
## tr
```javascript
export function tr<Msg>(
events: Event<Msg>[],
attributes: Attribute[],
children: HtmlNode<Msg>[]
): HtmlNode<Msg> {
```
[View source](https://github.com/eeue56/coed/blob/main/src/coed.ts#L1656-L1660)
## track
```javascript
export function track<Msg>(
events: Event<Msg>[],
attributes: Attribute[]
): HtmlNode<Msg> {
```
[View source](https://github.com/eeue56/coed/blob/main/src/coed.ts#L1664-L1667)
## u
```javascript
export function u<Msg>(
events: Event<Msg>[],
attributes: Attribute[],
children: HtmlNode<Msg>[]
): HtmlNode<Msg> {
```
[View source](https://github.com/eeue56/coed/blob/main/src/coed.ts#L1671-L1675)
## ul
```javascript
export function ul<Msg>(
events: Event<Msg>[],
attributes: Attribute[],
children: HtmlNode<Msg>[]
): HtmlNode<Msg> {
```
[View source](https://github.com/eeue56/coed/blob/main/src/coed.ts#L1679-L1683)
## var\_
```javascript
export function var_<Msg>(
events: Event<Msg>[],
attributes: Attribute[],
children: HtmlNode<Msg>[]
): HtmlNode<Msg> {
```
[View source](https://github.com/eeue56/coed/blob/main/src/coed.ts#L1687-L1691)
## video
```javascript
export function video<Msg>(
events: Event<Msg>[],
attributes: Attribute[],
children: HtmlNode<Msg>[]
): HtmlNode<Msg> {
```
[View source](https://github.com/eeue56/coed/blob/main/src/coed.ts#L1695-L1699)
## wbr
```javascript
export function wbr<Msg>(
events: Event<Msg>[],
attributes: Attribute[]
): HtmlNode<Msg> {
```
[View source](https://github.com/eeue56/coed/blob/main/src/coed.ts#L1703-L1706)